{"_id":"@canvas-components/pivot-table","_rev":"9-efec536a98112e8d8e600d32666b29b9","name":"@canvas-components/pivot-table","dist-tags":{"latest":"0.2.6"},"versions":{"0.1.7":{"name":"@canvas-components/pivot-table","version":"0.1.7","license":"MIT","_id":"@canvas-components/pivot-table@0.1.7","maintainers":[{"name":"anycloud666","email":"1264174856@qq.com"}],"dist":{"shasum":"bd54e3a39e63e6f40a9dcbdc271be3633bdf8112","tarball":"https://registry.npmjs.org/@canvas-components/pivot-table/-/pivot-table-0.1.7.tgz","fileCount":9,"integrity":"sha512-Bu5oijsqp99QxRDfj5Lh3Lx+UW15txgvMSA5NCjRAqCdquCVGHAVbdath2h3RFLeJBDnI7/xg+oibet9yaBYGA==","signatures":[{"sig":"MEYCIQCVQeEly0SMuDuOScCEeejYAZSuitGAe/2p+u/oq5SrpgIhAOuJ5nFTREsGD7t8bLJcAfZyIgyWLu2jJxHSNttmK69f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1308372},"main":"./dist/index.cjs","type":"module","_from":"file:canvas-components-pivot-table-0.1.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.12.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup --config tsup.config.ts"},"_npmUser":{"name":"anycloud666","email":"1264174856@qq.com"},"_resolved":"C:\\Users\\12641\\AppData\\Local\\Temp\\b9d1775b5bb72756659cda8a11bbe081\\canvas-components-pivot-table-0.1.7.tgz","_integrity":"sha512-Bu5oijsqp99QxRDfj5Lh3Lx+UW15txgvMSA5NCjRAqCdquCVGHAVbdath2h3RFLeJBDnI7/xg+oibet9yaBYGA==","_npmVersion":"10.9.0","description":"Framework-agnostic pivot table core engine.","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"xlsx":"^0.18.5","@canvas-components/utils":"0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pivot-table_0.1.7_1787138618530_0.9106439070317973","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@canvas-components/pivot-table","version":"0.1.8","license":"MIT","_id":"@canvas-components/pivot-table@0.1.8","maintainers":[{"name":"anycloud666","email":"1264174856@qq.com"}],"dist":{"shasum":"fb09acaae7761dc44ce3dc5aab824b96314b2c19","tarball":"https://registry.npmjs.org/@canvas-components/pivot-table/-/pivot-table-0.1.8.tgz","fileCount":9,"integrity":"sha512-Ps1Oa5nGdQst5O0afoJlLatIfqztbDAZzRkoYVtmx+jT3RMiA2I2Qd+vMdv6myz1WR0zM6YE6+VPoJEfpzNnrw==","signatures":[{"sig":"MEQCIDeosEuGHqKVYOvpokJjTKabEdOWbgzYJI/WRS6wyi+tAiA4gZqK22R4qH+AjmDX2ZA2V5WzmxTZw+p1OmpTrmlS+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1409089},"main":"./dist/index.cjs","type":"module","_from":"file:canvas-components-pivot-table-0.1.8.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.12.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup --config tsup.config.ts"},"_npmUser":{"name":"anycloud666","email":"1264174856@qq.com"},"_resolved":"C:\\Users\\12641\\AppData\\Local\\Temp\\096be5fdd71918e0170a023347496a43\\canvas-components-pivot-table-0.1.8.tgz","_integrity":"sha512-Ps1Oa5nGdQst5O0afoJlLatIfqztbDAZzRkoYVtmx+jT3RMiA2I2Qd+vMdv6myz1WR0zM6YE6+VPoJEfpzNnrw==","_npmVersion":"10.9.0","description":"Framework-agnostic pivot table core engine.","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"xlsx":"^0.18.5","@canvas-components/utils":"0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pivot-table_0.1.8_1787538565558_0.7408934422885869","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@canvas-components/pivot-table","version":"0.1.9","license":"MIT","_id":"@canvas-components/pivot-table@0.1.9","maintainers":[{"name":"anycloud666","email":"1264174856@qq.com"}],"dist":{"shasum":"ef0a3f0fcc758c5706722a4fb1030b4f58fbf839","tarball":"https://registry.npmjs.org/@canvas-components/pivot-table/-/pivot-table-0.1.9.tgz","fileCount":9,"integrity":"sha512-RfC2j4kb/Cm8yr2fJ6ylI6wyJndCI9EjiMdZy3lEA/KbWO4PU3+5wN00caKEk9mb+W5+Y2ew9dlAf7DzyN2KRQ==","signatures":[{"sig":"MEUCIQCkvYRON8BkmrNDFTwtqm2xt4LDisN4oJlZ2qrXYrZ8XgIgUe5ALWZgDWORhejnST9Ro6xHaO6KemXxXAWyoWFd7Sg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1434355},"main":"./dist/index.cjs","type":"module","_from":"file:canvas-components-pivot-table-0.1.9.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.12.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup --config tsup.config.ts"},"_npmUser":{"name":"anycloud666","email":"1264174856@qq.com"},"_resolved":"C:\\Users\\12641\\AppData\\Local\\Temp\\4ef41ee23cae76fc602a51c3cb414212\\canvas-components-pivot-table-0.1.9.tgz","_integrity":"sha512-RfC2j4kb/Cm8yr2fJ6ylI6wyJndCI9EjiMdZy3lEA/KbWO4PU3+5wN00caKEk9mb+W5+Y2ew9dlAf7DzyN2KRQ==","_npmVersion":"10.9.0","description":"Framework-agnostic pivot table core engine.","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"xlsx":"^0.18.5","@canvas-components/utils":"0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pivot-table_0.1.9_1787893821467_0.1077375427214875","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@canvas-components/pivot-table","version":"0.2.1","license":"MIT","_id":"@canvas-components/pivot-table@0.2.1","maintainers":[{"name":"anycloud666","email":"1264174856@qq.com"}],"dist":{"shasum":"d782615f0dbfb9c55c854e3a3dd93876b9b47b32","tarball":"https://registry.npmjs.org/@canvas-components/pivot-table/-/pivot-table-0.2.1.tgz","fileCount":9,"integrity":"sha512-U55ola25GGkSy7gvqlU28uxPjcoDhBu1hzX5LsN3NfWfAZLY++osmiPRzVWiIFxaM9qy5+twc3/y5Qwcbsig4A==","signatures":[{"sig":"MEUCIQCJGKU3sMEctlUUDyVHvlbvYxaabXgGRPsjZoXZxdA0eAIgbTOKXSDQdPjVXP3kzI4OCAId39OltWWZVu68oX7ugeI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1476347},"main":"./dist/index.cjs","type":"module","_from":"file:canvas-components-pivot-table-0.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.12.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup --config tsup.config.ts"},"_npmUser":{"name":"anycloud666","email":"1264174856@qq.com"},"_resolved":"C:\\Users\\12641\\AppData\\Local\\Temp\\8ec1613b8399d8ab26d2fdbaf9e5475e\\canvas-components-pivot-table-0.2.1.tgz","_integrity":"sha512-U55ola25GGkSy7gvqlU28uxPjcoDhBu1hzX5LsN3NfWfAZLY++osmiPRzVWiIFxaM9qy5+twc3/y5Qwcbsig4A==","_npmVersion":"10.9.0","description":"Framework-agnostic pivot table core engine.","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"xlsx":"^0.18.5","@canvas-components/utils":"0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pivot-table_0.2.1_1789528903673_0.2483060394191432","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@canvas-components/pivot-table","version":"0.2.2","license":"MIT","_id":"@canvas-components/pivot-table@0.2.2","maintainers":[{"name":"anycloud666","email":"1264174856@qq.com"}],"dist":{"shasum":"2fbd205b79f34e22bb974b0441d639d02528cf45","tarball":"https://registry.npmjs.org/@canvas-components/pivot-table/-/pivot-table-0.2.2.tgz","fileCount":9,"integrity":"sha512-KQDRRq7nnnsNj03BI4Vc25sBWaiYO4fGUuonSzllkQZAdxlfs/lFsVf6GbhjWDHCnaJtHeP1Lfy0x5AuBR0E7w==","signatures":[{"sig":"MEUCIHJbsOnAbBrK6R30l+boaeEUW6iM1ohySWZH21fWOctUAiEAnyj4FlNJsqA8DHKXs1cuUqx0hm3RI6vdnk5xi45Krjk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1513500},"main":"./dist/index.cjs","type":"module","_from":"file:canvas-components-pivot-table-0.2.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.12.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup --config tsup.config.ts"},"_npmUser":{"name":"anycloud666","email":"1264174856@qq.com"},"_resolved":"C:\\Users\\12641\\AppData\\Local\\Temp\\4c65696214fe05578ef5e4765e76b376\\canvas-components-pivot-table-0.2.2.tgz","_integrity":"sha512-KQDRRq7nnnsNj03BI4Vc25sBWaiYO4fGUuonSzllkQZAdxlfs/lFsVf6GbhjWDHCnaJtHeP1Lfy0x5AuBR0E7w==","_npmVersion":"10.9.0","description":"Framework-agnostic pivot table core engine.","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"xlsx":"^0.18.5","@canvas-components/utils":"0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pivot-table_0.2.2_1789630589844_0.5465564909083038","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@canvas-components/pivot-table","version":"0.2.3","license":"MIT","_id":"@canvas-components/pivot-table@0.2.3","maintainers":[{"name":"anycloud666","email":"1264174856@qq.com"}],"dist":{"shasum":"e3344d4ddccc4a7a24bdf974c98915741d886300","tarball":"https://registry.npmjs.org/@canvas-components/pivot-table/-/pivot-table-0.2.3.tgz","fileCount":9,"integrity":"sha512-2+b5gS7hfVkRmwQGlgaYDKLYO58wWkWLnaIxbEwp7v6OKPODWVA8SYBg1EKk/c5yJR2AwZC3uny+xRqtswwj2w==","signatures":[{"sig":"MEUCIETVPS/3YTRTciW4mnexr/+3mqJuudygqA7KYYuIZQH0AiEA0WdeYorfk+jDGhqcMOuCjW4WtAgGsgNmYaE8yaJAMUc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIB4gT9o9GGCQU9DejOVk2fC29pXN6CcWl8Gpnej2LioFAiAN64FC1UuPfBYlgjKjNTxQj3tnv16KKb3PLX2ZqBS2Kg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1595175},"main":"./dist/index.cjs","type":"module","_from":"file:canvas-components-pivot-table-0.2.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.12.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup --config tsup.config.ts"},"_npmUser":{"name":"anycloud666","email":"1264174856@qq.com"},"_resolved":"C:\\Users\\12641\\AppData\\Local\\Temp\\63b78d1bdd68de3576374914a929edc3\\canvas-components-pivot-table-0.2.3.tgz","_integrity":"sha512-2+b5gS7hfVkRmwQGlgaYDKLYO58wWkWLnaIxbEwp7v6OKPODWVA8SYBg1EKk/c5yJR2AwZC3uny+xRqtswwj2w==","_npmVersion":"10.9.0","description":"Framework-agnostic pivot table core engine.","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"xlsx":"^0.18.5","@canvas-components/utils":"0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pivot-table_0.2.3_1789873292358_0.9775671774717134","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@canvas-components/pivot-table","version":"0.2.4","license":"MIT","_id":"@canvas-components/pivot-table@0.2.4","maintainers":[{"name":"anycloud666","email":"1264174856@qq.com"}],"dist":{"shasum":"9997ad872fcfe51ec07b1355d6c4a958bde59749","tarball":"https://registry.npmjs.org/@canvas-components/pivot-table/-/pivot-table-0.2.4.tgz","fileCount":9,"integrity":"sha512-PYAw1aDoigu9uh2iwiYURzIQy6Tm7Lpm8t41GRc6lDdFtR3h+22vp6FnYIQ+0vXEPdzSSfDSp3Ecmg/DlMLXnw==","signatures":[{"sig":"MEQCIH+b6YAbPQvNzB8ddk5DuSobgxUR2ItB4vFZYmdBcvzqAiBTel1Ek/piI/yPcs/BfQoBB/ZaA61t/GsfrgFh9b7jZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICDiKapz2Qew7Le4ziCmFdJK1ncaXEk9S4BlABA5jONAAiBYBUs+0P5LcCU8ZZz0tagBPXXDRc5C+gEDoqQm/wtTxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1720944},"main":"./dist/index.cjs","type":"module","_from":"file:canvas-components-pivot-table-0.2.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.12.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup --config tsup.config.ts"},"_npmUser":{"name":"anycloud666","email":"1264174856@qq.com"},"_resolved":"C:\\Users\\12641\\AppData\\Local\\Temp\\c8c3cfc313254da0dafedb4f427477cf\\canvas-components-pivot-table-0.2.4.tgz","_integrity":"sha512-PYAw1aDoigu9uh2iwiYURzIQy6Tm7Lpm8t41GRc6lDdFtR3h+22vp6FnYIQ+0vXEPdzSSfDSp3Ecmg/DlMLXnw==","_npmVersion":"10.9.0","description":"Framework-agnostic pivot table core engine.","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"xlsx":"^0.18.5","@canvas-components/stats":"0.1.2","@canvas-components/utils":"0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pivot-table_0.2.4_1789980055279_0.4692683843445091","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@canvas-components/pivot-table","version":"0.2.5","license":"MIT","_id":"@canvas-components/pivot-table@0.2.5","maintainers":[{"name":"anycloud666","email":"1264174856@qq.com"}],"dist":{"shasum":"8a0f7793cda94712d4372732f127ae98c1a21c07","tarball":"https://registry.npmjs.org/@canvas-components/pivot-table/-/pivot-table-0.2.5.tgz","fileCount":9,"integrity":"sha512-thGawLCnSY5WAsnalWVbpZtH6kVON+l8xJefsUSUrcFs/H3Wax8G0hJZ6ZJx9DaCj9KLfSskgy6eTjXyg8v93w==","signatures":[{"sig":"MEUCICvgXr3LLMGVWcjZ3CP29QWmEjlNn9S+uTYqwsKGFkx9AiEAyNyUL82W0obNkQOG0vUnBRpYTENqrka0IaWLws8GjYY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC1Om0Kt+kG4iq3x+LDSGgAWCASwg2bwe3cXW6A26u33gIgAuICkDvjdI55Qqjvp00Ie939MeoBJMgV2Gig5I/m/7s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1720944},"main":"./dist/index.cjs","type":"module","_from":"file:canvas-components-pivot-table-0.2.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.12.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup --config tsup.config.ts"},"_npmUser":{"name":"anycloud666","email":"1264174856@qq.com"},"_resolved":"C:\\Users\\12641\\AppData\\Local\\Temp\\5ded261f7c9d732a42e7658682543a1d\\canvas-components-pivot-table-0.2.5.tgz","_integrity":"sha512-thGawLCnSY5WAsnalWVbpZtH6kVON+l8xJefsUSUrcFs/H3Wax8G0hJZ6ZJx9DaCj9KLfSskgy6eTjXyg8v93w==","_npmVersion":"10.9.0","description":"Framework-agnostic pivot table core engine.","directories":{},"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"xlsx":"^0.18.5","@canvas-components/stats":"0.1.2","@canvas-components/utils":"0.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pivot-table_0.2.5_1790134145834_0.3530328026354017","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"_id":"@canvas-components/pivot-table@0.2.6","dist":{"shasum":"353fb4e8fe043171bac7fa0f302e13f9e1662f71","tarball":"https://registry.npmjs.org/@canvas-components/pivot-table/-/pivot-table-0.2.6.tgz","fileCount":9,"integrity":"sha512-3CnG3JaxNEdZeb837KM+A3g4OJZLZuj6w1a8xMoat9KxP32Jb+s1Ckwu5laJNkhPNHapl0YLPDkldi70Eg/n8A==","signatures":[{"sig":"MEUCIDMHEHOCKkmDCXYo/8PKu30yHsB7O9Fo7H50kfEuKpkIAiEA5Oy9oW+v6H1eWbO/weePh1gKvJiBphI4DAtuADtWvt4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIG4DYu1RVzpTna+P0nr66W68joGjkm+PwpkWVDl1f51UAiEAvBHyu4bI2vfhQGBr/VthagDUVz5Ind5geLKjQaJX3TY="}],"unpackedSize":1730436},"main":"./dist/index.cjs","name":"@canvas-components/pivot-table","type":"module","_from":"file:canvas-components-pivot-table-0.2.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.12.0","pnpm":">=9.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"license":"MIT","scripts":{"build":"tsup --config tsup.config.ts"},"version":"0.2.6","_npmUser":{"name":"anycloud666","email":"1264174856@qq.com"},"_resolved":"C:\\Users\\12641\\AppData\\Local\\Temp\\bac576f6d861b1eecce635a79dc0b41d\\canvas-components-pivot-table-0.2.6.tgz","_integrity":"sha512-3CnG3JaxNEdZeb837KM+A3g4OJZLZuj6w1a8xMoat9KxP32Jb+s1Ckwu5laJNkhPNHapl0YLPDkldi70Eg/n8A==","_npmVersion":"10.9.0","description":"Framework-agnostic pivot table core engine.","directories":{},"maintainers":[{"name":"anycloud666","email":"1264174856@qq.com"}],"sideEffects":false,"_nodeVersion":"22.12.0","dependencies":{"xlsx":"^0.18.5","@canvas-components/stats":"0.1.2","@canvas-components/utils":"0.2.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pivot-table_0.2.6_1790137671638_0.8271508294169887"}}},"time":{"created":"2026-08-19T11:23:38.315Z","modified":"2026-09-23T04:27:51.988Z","0.1.7":"2026-08-19T11:23:38.681Z","0.1.8":"2026-08-24T02:29:25.708Z","0.1.9":"2026-08-28T05:10:21.635Z","0.2.1":"2026-09-16T03:21:43.836Z","0.2.2":"2026-09-17T07:36:29.993Z","0.2.3":"2026-09-20T03:01:32.462Z","0.2.4":"2026-09-21T08:40:55.367Z","0.2.5":"2026-09-23T03:29:05.919Z","0.2.6":"2026-09-23T04:27:51.752Z"},"license":"MIT","description":"Framework-agnostic pivot table core engine.","maintainers":[{"name":"anycloud666","email":"1264174856@qq.com"}],"readme":"# @canvas-components/pivot-table\n\n独立于 `list-table` 的纯原生数据透视表内核。包内不依赖 React，React 接入由 `@canvas-components/react-pivot-table` 提供。\n\n## 能力\n\n- 双轴多级维度树与稳定节点 ID\n- `sum`、`avg`、`count`、`distinctCount`、`min`、`max` 和自定义聚合器\n- 稀疏聚合、小计、总计和多指标行列布局\n- 四区 Canvas、虚拟滚动、展开收起、拖拽矩形选区和下钻\n- 支持单元格、矩形选区与指标整列复制\n- 维度成员排序、聚合前过滤和共享表头过滤面板\n- CSV/XLSX 导出与版本化状态快照\n\n## React 示例\n\n```tsx\nimport { ReactPivotTable } from \"@canvas-components/react-pivot-table\";\n\n<ReactPivotTable\n  dataSource={records}\n  rows={[{ dataIndex: \"region\", allowFilter: true }]}\n  columns={[{ key: \"year\", dataIndex: \"year\" }]}\n  indicators={[{ key: \"sales\", dataIndex: \"sales\", aggregator: \"sum\" }]}\n/>;\n```\n\n`rows` 与 `columns` 的字段命名、`render` 回调及排序过滤配置与\n`ListTableColumn` 保持一致，可以从 ListTable 列配置中直接选取维度列。\nPivotTable 会在未提供 `key` 时使用 `dataIndex` 生成稳定维度标识；\n`defaultExpandDepth` 是透视维度额外支持的展开配置。\n\n过滤发生在聚合前。`filters`、`sorts`、`selection` 和 `expandedRowKeys`/`expandedColumnKeys` 可受控；不传时由实例维护。\n\n## 原生实例 API\n\n```ts\nimport { PivotTable } from \"@canvas-components/pivot-table\";\n\nconst table = new PivotTable(container, options);\ntable.mount();\n\ntable.getPivotModel();\ntable.getVisibleRowNodes();\ntable.getVisibleColumnNodes();\ntable.selectCell(address);\ntable.selectNode(\"row\", nodeId);\ntable.scrollToCell(address);\ntable.setDimensionFilter(\"row\", \"region\", filter);\ntable.setDimensionSort(\"row\", \"region\", \"asc\");\ntable.setIndicatorSort({\n  axis: \"row\",\n  dimensionKey: \"region\",\n  indicatorKey: \"sales\",\n  direction: \"desc\",\n});\ntable.getCellRecords(cellContext);\ntable.exportCsv({ mode: \"visible\" });\ntable.exportXlsx({ mode: \"all\", sheetName: \"销售透视\" });\ntable.getState();\ntable.restoreState(snapshot);\ntable.getDebugSnapshot();\n\ntable.destroy();\n```\n\n`ReactPivotTable` 的 ref 透传选择、筛选、排序、导出、状态快照和调试方法，不在 React 层复制聚合或布局逻辑。\n\n## 调试模式\n\n传入 `debug: true` 会显示表头、表体、视口和当前命中单元格的调试边框。也可以按需控制覆盖层、输出绘制或状态日志，并接收布局和绘制耗时：\n\n```ts\nconst table = new PivotTable(container, {\n  ...options,\n  debug: {\n    enabled: true,\n    showHeaderBounds: true,\n    showBodyBounds: true,\n    showViewportBounds: true,\n    showHitTarget: true,\n    onPerformance: (metric) => console.info(metric),\n  },\n});\n\ntable.getDebugSnapshot();\n```\n\n`getDebugSnapshot()` 同时返回聚合缓存指标、最近一次布局、滚动、选区、命中结果和绘制统计。\n\n## 自定义聚合器\n\n```ts\nconst weightedAverage = {\n  create: () => ({ weightedValue: 0, weight: 0 }),\n  add: (state, value, context) => {\n    const weight = Number(context.record.weight ?? 0);\n    state.weightedValue += Number(value ?? 0) * weight;\n    state.weight += weight;\n  },\n  finalize: (state) =>\n    state.weight === 0 ? null : state.weightedValue / state.weight,\n};\n\nconst indicators = [\n  {\n    key: \"weightedPrice\",\n    dataIndex: \"price\",\n    aggregator: weightedAverage,\n  },\n];\n```\n\n聚合器状态按维度组合隔离。`add` 不得复用其他单元格状态；需要大数据分块时可实现 `merge`。\n\n## 滚动条配置\n\n`scrollbar` 同时适用于原生表格与 React 适配组件。通用配置由 `horizontal`、`vertical` 单独覆盖；不配置时保留原有外观。\n\n```ts\nscrollbar: {\n  thickness: 10,\n  thumbColor: '#8793a5',\n  trackColor: '#f1f5f9',\n  buttonColor: '#475569',\n  thumbRadius: 4,\n  horizontal: { thickness: 8, thumbColor: '#1677ff' },\n  vertical: { thickness: 14, trackColor: '#e2e8f0' },\n}\n```\n\n- `thickness`：横向滚动条高度、纵向滚动条宽度，单位 px，默认 10，最小 6。\n- `thumbColor` / `trackColor` / `buttonColor`：滑块、滚动槽、两端箭头颜色。\n- `thumbRadius`：滑块圆角，`0` 为直角；不传时保持胶囊形状。\n- `horizontal: false` 或 `vertical: false`：单独隐藏某一轴，也可设置该轴的 `visible: false`。\n- `visible: false`：同时隐藏两轴，优先于单轴设置。隐藏后释放对应槽位，仍可通过滚轮或程序滚动。\n\n配置仅作用于当前 Canvas 表格，不修改全局浏览器滚动条样式。\n","readmeFilename":"README.md"}