{"_id":"@astroapps/datagrid-fluent-ui","_rev":"8-18433fd27bed0687a484040e72181521","name":"@astroapps/datagrid-fluent-ui","dist-tags":{"latest":"1.1.0"},"versions":{"0.1.0":{"name":"@astroapps/datagrid-fluent-ui","version":"0.1.0","keywords":["react","datagrid","fluent-ui","fluentui"],"author":{"name":"Astrolabe Enterprises"},"license":"ISC","_id":"@astroapps/datagrid-fluent-ui@0.1.0","maintainers":[{"name":"doolse","email":"doolse@gmail.com"},{"name":"connorz","email":"connorzhao97@gmail.com"},{"name":"instagibb","email":"instagibb@gmail.com"}],"homepage":"https://github.com/astrolabe-apps/astrolabe-common#readme","bugs":{"url":"https://github.com/astrolabe-apps/astrolabe-common/issues"},"dist":{"shasum":"d89e82cfc5c77996fdf9c23459494522efd08796","tarball":"https://registry.npmjs.org/@astroapps/datagrid-fluent-ui/-/datagrid-fluent-ui-0.1.0.tgz","fileCount":34,"integrity":"sha512-wjGmE/1r68lJzZHyd6QBlvzGIP6JJRmzHkq3sltKcZqm3AuDaOK+EcfXFHpcJvizJQLv/0+zEDeezzeNuAOFjA==","signatures":[{"sig":"MEYCIQDMe+bJY4zsAPeRTBEi8MFjBsQScaCuaB6dmw6z9qnNKgIhAPemRZ3FCwbDGS91bYcRy4omWxIdDkDcqr0BCOsEEI08","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":256918},"main":"lib/index.cjs","type":"module","_from":"file:astroapps-datagrid-fluent-ui-0.1.0.tgz","types":"lib/index.d.ts","module":"lib/index.js","exports":{"types":"./lib/index.d.ts","default":"./lib/index.js","require":"./lib/index.cjs"},"gitHead":"0a65049f88d9244d49815c9dc5007bb0486f1873","scripts":{"test":"jest --coverage","build":"rimraf lib/ node_modules/.cache && microbundle -f modern,cjs --jsx React.createElement --jsxFragment React.Fragment","watch":"microbundle -f modern,cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment"},"_npmUser":{"name":"doolse","email":"doolse@gmail.com"},"_resolved":"/tmp/90977dc33de8d906d55f847d40d458de/astroapps-datagrid-fluent-ui-0.1.0.tgz","_integrity":"sha512-wjGmE/1r68lJzZHyd6QBlvzGIP6JJRmzHkq3sltKcZqm3AuDaOK+EcfXFHpcJvizJQLv/0+zEDeezzeNuAOFjA==","_npmVersion":"11.6.2","description":"Style @astroapps/datagrid to match the FluentUI v9 DataGrid","directories":{},"_nodeVersion":"24.11.1","dependencies":{"clsx":"^1 || ^2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","react":"^18.2.0 || ^19","rimraf":"^3.0.2","ts-jest":"^29.2.5","prettier":"^3.0.3","typescript":"^5.6.2","microbundle":"^0.15.1","@types/react":"^18.2.37","@jest/globals":"^29.7.0","@astroapps/datagrid":"1.2.0","@fluentui/react-icons":"^2.0.270","@astroapps/searchstate":"2.1.0","@testing-library/react":"^16.0.0","jest-environment-jsdom":"^29.7.0","@react-typed-forms/core":"^4.6.0","@astroapps/datagrid-search":"0.1.0","@fluentui/react-components":"^9.69.0","@react-typed-forms/transform":"^0.4.0"},"peerDependencies":{"react":"^18.2.0 || ^19","@astroapps/datagrid":"^1.2.0","@fluentui/react-icons":"^2.0.270","@astroapps/searchstate":"^2.1.0","@react-typed-forms/core":"^4.6.0","@astroapps/datagrid-search":"^0.1.0","@fluentui/react-components":"^9.69.0"},"_npmOperationalInternal":{"tmp":"tmp/datagrid-fluent-ui_0.1.0_1785911384502_0.14716450447399576","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@astroapps/datagrid-fluent-ui","version":"0.2.0","keywords":["react","datagrid","fluent-ui","fluentui"],"author":{"name":"Astrolabe Enterprises"},"license":"ISC","_id":"@astroapps/datagrid-fluent-ui@0.2.0","maintainers":[{"name":"doolse","email":"doolse@gmail.com"},{"name":"connorz","email":"connorzhao97@gmail.com"},{"name":"instagibb","email":"instagibb@gmail.com"}],"homepage":"https://github.com/astrolabe-apps/astrolabe-common#readme","bugs":{"url":"https://github.com/astrolabe-apps/astrolabe-common/issues"},"dist":{"shasum":"04be018c21efa740a0d969effde6fd52b9d0d9db","tarball":"https://registry.npmjs.org/@astroapps/datagrid-fluent-ui/-/datagrid-fluent-ui-0.2.0.tgz","fileCount":31,"integrity":"sha512-A9pZpxZDV6peiYLkIetDBUC3oAUU9cpmijgkdMFcA0bGXVGwquUOz5T7TUL8FHenFKzwJYZccmbyFNrjeTp2wg==","signatures":[{"sig":"MEUCIQDdC1giKU+E0uQmJ/X2n6sjgxilCpBC72K6T7mdKKwwuAIgfrtiOfi96G7wLkyURu3SvpeZC0tFVtdTmlrYgO/CEmg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233400},"main":"lib/index.cjs","type":"module","_from":"file:astroapps-datagrid-fluent-ui-0.2.0.tgz","types":"lib/index.d.ts","module":"lib/index.js","exports":{"types":"./lib/index.d.ts","default":"./lib/index.js","require":"./lib/index.cjs"},"gitHead":"26e9d16b61e1ac1aa0c3d73a662f0703174c7ead","scripts":{"test":"jest --coverage","build":"rimraf lib/ node_modules/.cache && microbundle -f modern,cjs --jsx React.createElement --jsxFragment React.Fragment","watch":"microbundle -f modern,cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment"},"_npmUser":{"name":"doolse","email":"doolse@gmail.com"},"_resolved":"/tmp/d7aeebb8043694efd07ba9873a67254e/astroapps-datagrid-fluent-ui-0.2.0.tgz","_integrity":"sha512-A9pZpxZDV6peiYLkIetDBUC3oAUU9cpmijgkdMFcA0bGXVGwquUOz5T7TUL8FHenFKzwJYZccmbyFNrjeTp2wg==","_npmVersion":"11.6.2","description":"Style @astroapps/datagrid to match the FluentUI v9 DataGrid","directories":{},"_nodeVersion":"24.11.1","dependencies":{"clsx":"^1 || ^2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","react":"^18.2.0 || ^19","rimraf":"^3.0.2","ts-jest":"^29.2.5","prettier":"^3.0.3","typescript":"^5.6.2","microbundle":"^0.15.1","@types/react":"^18.2.37","@jest/globals":"^29.7.0","@astroapps/datagrid":"1.2.0","@fluentui/react-icons":"^2.0.270","@astroapps/searchstate":"2.1.0","@testing-library/react":"^16.0.0","jest-environment-jsdom":"^29.7.0","@react-typed-forms/core":"^4.6.0","@astroapps/datagrid-search":"0.2.0","@fluentui/react-components":"^9.69.0","@react-typed-forms/transform":"^0.4.0"},"peerDependencies":{"react":"^18.2.0 || ^19","@astroapps/datagrid":"^1.2.0","@fluentui/react-icons":"^2.0.270","@astroapps/searchstate":"^2.1.0","@react-typed-forms/core":"^4.6.0","@astroapps/datagrid-search":"^0.2.0","@fluentui/react-components":"^9.69.0"},"_npmOperationalInternal":{"tmp":"tmp/datagrid-fluent-ui_0.2.0_1785995882399_0.8496356266664524","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@astroapps/datagrid-fluent-ui","version":"0.3.0","keywords":["react","datagrid","fluent-ui","fluentui"],"author":{"name":"Astrolabe Enterprises"},"license":"ISC","_id":"@astroapps/datagrid-fluent-ui@0.3.0","maintainers":[{"name":"doolse","email":"doolse@gmail.com"},{"name":"connorz","email":"connorzhao97@gmail.com"},{"name":"instagibb","email":"instagibb@gmail.com"}],"homepage":"https://github.com/astrolabe-apps/astrolabe-common#readme","bugs":{"url":"https://github.com/astrolabe-apps/astrolabe-common/issues"},"dist":{"shasum":"ea6a04ac7669f5ed8a268c2781cc4602cdbaa7a4","tarball":"https://registry.npmjs.org/@astroapps/datagrid-fluent-ui/-/datagrid-fluent-ui-0.3.0.tgz","fileCount":31,"integrity":"sha512-DRhgyVwIbhck0VzCrjowNrrf8CWkVd4yC9BPY+A3mjwjfXyZpPxy8Ij7qJzcb1//KrYzj5FXt+emC/fMueYRYQ==","signatures":[{"sig":"MEUCIQDZlGKc7pitLyLmmNz1p8P5WiHhpryDb8VjrJ3qCs+VmgIgF8+01Lr/ZJ/UGhpVRK0hvkOtnbM3bTIIQtBfMlmuUlU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":238698},"main":"lib/index.cjs","type":"module","_from":"file:astroapps-datagrid-fluent-ui-0.3.0.tgz","types":"lib/index.d.ts","module":"lib/index.js","exports":{"types":"./lib/index.d.ts","default":"./lib/index.js","require":"./lib/index.cjs"},"gitHead":"e75b4ff209f701521c96258aef969dc901edac45","scripts":{"test":"jest --coverage","build":"rimraf lib/ node_modules/.cache && microbundle -f modern,cjs --jsx React.createElement --jsxFragment React.Fragment","watch":"microbundle -f modern,cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment"},"_npmUser":{"name":"doolse","email":"doolse@gmail.com"},"_resolved":"/tmp/d75447d10d6d90efd764f622374d5ca1/astroapps-datagrid-fluent-ui-0.3.0.tgz","_integrity":"sha512-DRhgyVwIbhck0VzCrjowNrrf8CWkVd4yC9BPY+A3mjwjfXyZpPxy8Ij7qJzcb1//KrYzj5FXt+emC/fMueYRYQ==","_npmVersion":"11.6.2","description":"Style @astroapps/datagrid to match the FluentUI v9 DataGrid","directories":{},"_nodeVersion":"24.11.1","dependencies":{"clsx":"^1 || ^2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","react":"^18.2.0 || ^19","rimraf":"^3.0.2","ts-jest":"^29.2.5","prettier":"^3.0.3","typescript":"^5.6.2","microbundle":"^0.15.1","@types/react":"^18.2.37","@jest/globals":"^29.7.0","@astroapps/datagrid":"1.2.0","@fluentui/react-icons":"^2.0.270","@astroapps/searchstate":"2.1.0","@testing-library/react":"^16.0.0","jest-environment-jsdom":"^29.7.0","@react-typed-forms/core":"^4.6.0","@astroapps/datagrid-search":"0.2.0","@fluentui/react-components":"^9.69.0","@react-typed-forms/transform":"^0.4.0"},"peerDependencies":{"react":"^18.2.0 || ^19","@astroapps/datagrid":"^1.2.0","@fluentui/react-icons":"^2.0.270","@astroapps/searchstate":"^2.1.0","@react-typed-forms/core":"^4.6.0","@astroapps/datagrid-search":"^0.2.0","@fluentui/react-components":"^9.69.0"},"_npmOperationalInternal":{"tmp":"tmp/datagrid-fluent-ui_0.3.0_1788393813469_0.651920969172588","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@astroapps/datagrid-fluent-ui","version":"0.4.0","keywords":["react","datagrid","fluent-ui","fluentui"],"author":{"name":"Astrolabe Enterprises"},"license":"ISC","_id":"@astroapps/datagrid-fluent-ui@0.4.0","maintainers":[{"name":"doolse","email":"doolse@gmail.com"},{"name":"connorz","email":"connorzhao97@gmail.com"},{"name":"instagibb","email":"instagibb@gmail.com"}],"homepage":"https://github.com/astrolabe-apps/astrolabe-common#readme","bugs":{"url":"https://github.com/astrolabe-apps/astrolabe-common/issues"},"dist":{"shasum":"65cabb71b3d590f9c6b6c8ce0345db894e2d32e7","tarball":"https://registry.npmjs.org/@astroapps/datagrid-fluent-ui/-/datagrid-fluent-ui-0.4.0.tgz","fileCount":31,"integrity":"sha512-A5fcuseHbtCn1elwSe63prw+Q/0tg+Tm4wX+BoVabk9HXzUUeDwUNWJtdgdMfza20/epPtO0o0EeA1oWQag7ww==","signatures":[{"sig":"MEUCIQCx4jWTeJ2Y5PGn6Sui94BE/QMAIAVNxq50fgu5u2rTywIgSEBUEHCTKcrrNXvsTzl59qIO36XIVrYA5fu0e52YhVg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":250945},"main":"lib/index.cjs","type":"module","_from":"file:astroapps-datagrid-fluent-ui-0.4.0.tgz","types":"lib/index.d.ts","module":"lib/index.js","exports":{"types":"./lib/index.d.ts","default":"./lib/index.js","require":"./lib/index.cjs"},"gitHead":"f086278fa23bab53bab37166d032ce531cbdb046","scripts":{"test":"jest --coverage","build":"rimraf lib/ node_modules/.cache && microbundle -f modern,cjs --jsx React.createElement --jsxFragment React.Fragment","watch":"microbundle -f modern,cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment"},"_npmUser":{"name":"doolse","email":"doolse@gmail.com"},"_resolved":"/tmp/bf713ae0c7bac1bb063efba5c4db6626/astroapps-datagrid-fluent-ui-0.4.0.tgz","_integrity":"sha512-A5fcuseHbtCn1elwSe63prw+Q/0tg+Tm4wX+BoVabk9HXzUUeDwUNWJtdgdMfza20/epPtO0o0EeA1oWQag7ww==","_npmVersion":"11.6.2","description":"Style @astroapps/datagrid to match the FluentUI v9 DataGrid","directories":{},"_nodeVersion":"24.11.1","dependencies":{"clsx":"^1 || ^2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","react":"^18.2.0 || ^19","rimraf":"^3.0.2","ts-jest":"^29.2.5","prettier":"^3.0.3","typescript":"^5.6.2","microbundle":"^0.15.1","@types/react":"^18.2.37","@jest/globals":"^29.7.0","@astroapps/datagrid":"1.3.0","@fluentui/react-icons":"^2.0.270","@astroapps/searchstate":"2.1.0","@testing-library/react":"^16.0.0","jest-environment-jsdom":"^29.7.0","@react-typed-forms/core":"^4.6.0","@astroapps/datagrid-search":"0.2.1","@fluentui/react-components":"^9.69.0","@react-typed-forms/transform":"^0.4.0"},"peerDependencies":{"react":"^18.2.0 || ^19","@astroapps/datagrid":"^1.3.0","@fluentui/react-icons":"^2.0.270","@astroapps/searchstate":"^2.1.0","@react-typed-forms/core":"^4.6.0","@astroapps/datagrid-search":"^0.2.1","@fluentui/react-components":"^9.69.0"},"_npmOperationalInternal":{"tmp":"tmp/datagrid-fluent-ui_0.4.0_1788398240624_0.48592543128402155","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@astroapps/datagrid-fluent-ui","version":"0.5.0","keywords":["react","datagrid","fluent-ui","fluentui"],"author":{"name":"Astrolabe Enterprises"},"license":"ISC","_id":"@astroapps/datagrid-fluent-ui@0.5.0","maintainers":[{"name":"doolse","email":"doolse@gmail.com"},{"name":"connorz","email":"connorzhao97@gmail.com"},{"name":"instagibb","email":"instagibb@gmail.com"}],"homepage":"https://github.com/astrolabe-apps/astrolabe-common#readme","bugs":{"url":"https://github.com/astrolabe-apps/astrolabe-common/issues"},"dist":{"shasum":"03b316dda9392cfed0585da30eaf7ec1154e9284","tarball":"https://registry.npmjs.org/@astroapps/datagrid-fluent-ui/-/datagrid-fluent-ui-0.5.0.tgz","fileCount":31,"integrity":"sha512-TmnOTxWel5b+ewWyNaAi6V8Z2fwCjnCqNig7bVfKDmBQH9My4MyL9Y1IzQ0CW6TJvI0CMEvyDnVoEP2jvPdQ4A==","signatures":[{"sig":"MEYCIQDsZGeraI6rgv+FtE9bgx52u/bXDNn8grbFpaqgYUd9UQIhALepM+j/dWsMRomRvG+nGfEkMGRJ4KqzHETNkhXzZAbU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":266570},"main":"lib/index.cjs","type":"module","_from":"file:astroapps-datagrid-fluent-ui-0.5.0.tgz","types":"lib/index.d.ts","module":"lib/index.js","exports":{"types":"./lib/index.d.ts","default":"./lib/index.js","require":"./lib/index.cjs"},"gitHead":"027e98eb659b6d2b98c296ec934ee8782197dfed","scripts":{"test":"jest --coverage","build":"rimraf lib/ node_modules/.cache && microbundle -f modern,cjs --jsx React.createElement --jsxFragment React.Fragment","watch":"microbundle -f modern,cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment"},"_npmUser":{"name":"doolse","email":"doolse@gmail.com"},"_resolved":"/tmp/eb930296cb47749fff933504dd3a0382/astroapps-datagrid-fluent-ui-0.5.0.tgz","_integrity":"sha512-TmnOTxWel5b+ewWyNaAi6V8Z2fwCjnCqNig7bVfKDmBQH9My4MyL9Y1IzQ0CW6TJvI0CMEvyDnVoEP2jvPdQ4A==","_npmVersion":"11.6.2","description":"Style @astroapps/datagrid to match the FluentUI v9 DataGrid","directories":{},"_nodeVersion":"24.11.1","dependencies":{"clsx":"^1 || ^2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","react":"^18.2.0 || ^19","rimraf":"^3.0.2","ts-jest":"^29.2.5","prettier":"^3.0.3","typescript":"^5.6.2","microbundle":"^0.15.1","@types/react":"^18.2.37","@jest/globals":"^29.7.0","@astroapps/datagrid":"1.3.0","@fluentui/react-icons":"^2.0.270","@astroapps/searchstate":"2.1.0","@testing-library/react":"^16.0.0","jest-environment-jsdom":"^29.7.0","@react-typed-forms/core":"^4.6.0","@astroapps/datagrid-search":"0.3.0","@fluentui/react-components":"^9.69.0","@react-typed-forms/transform":"^0.4.0"},"peerDependencies":{"react":"^18.2.0 || ^19","@astroapps/datagrid":"^1.3.0","@fluentui/react-icons":"^2.0.270","@astroapps/searchstate":"^2.1.0","@react-typed-forms/core":"^4.6.0","@astroapps/datagrid-search":"^0.3.0","@fluentui/react-components":"^9.69.0"},"_npmOperationalInternal":{"tmp":"tmp/datagrid-fluent-ui_0.5.0_1788421027148_0.017058808273197057","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@astroapps/datagrid-fluent-ui","version":"0.5.1","keywords":["react","datagrid","fluent-ui","fluentui"],"author":{"name":"Astrolabe Enterprises"},"license":"ISC","_id":"@astroapps/datagrid-fluent-ui@0.5.1","maintainers":[{"name":"doolse","email":"doolse@gmail.com"},{"name":"connorz","email":"connorzhao97@gmail.com"},{"name":"instagibb","email":"instagibb@gmail.com"}],"homepage":"https://github.com/astrolabe-apps/astrolabe-common#readme","bugs":{"url":"https://github.com/astrolabe-apps/astrolabe-common/issues"},"dist":{"shasum":"5c1b5d55d0122cf69cfd8babdcbc3f42dfb44bed","tarball":"https://registry.npmjs.org/@astroapps/datagrid-fluent-ui/-/datagrid-fluent-ui-0.5.1.tgz","fileCount":31,"integrity":"sha512-2tVUA4gOreuJ72mGL0PsMvHMUykM7YcdFEVFs+KiQDvXQ1kCaXQSuWrd0W5tDRWVq/XDSGv4ZnQWxhSRLHh9dw==","signatures":[{"sig":"MEUCIQCjWKahget9CJyr5leGEzdeb7GloJl0ffn9H5jD0CDdiwIgA13KP04NLvpl+/lfWNFrxm6tSr0roCoRj0vwxzuPhUI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268917},"main":"lib/index.cjs","type":"module","_from":"file:astroapps-datagrid-fluent-ui-0.5.1.tgz","types":"lib/index.d.ts","module":"lib/index.js","exports":{"types":"./lib/index.d.ts","default":"./lib/index.js","require":"./lib/index.cjs"},"gitHead":"8be16434cce0a02ba331f889fa31eea8b55e7da0","scripts":{"test":"jest --coverage","build":"rimraf lib/ node_modules/.cache && microbundle -f modern,cjs --jsx React.createElement --jsxFragment React.Fragment","watch":"microbundle -f modern,cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment"},"_npmUser":{"name":"doolse","email":"doolse@gmail.com"},"_resolved":"/tmp/cab2649e0baf35f4e39118cbb604c733/astroapps-datagrid-fluent-ui-0.5.1.tgz","_integrity":"sha512-2tVUA4gOreuJ72mGL0PsMvHMUykM7YcdFEVFs+KiQDvXQ1kCaXQSuWrd0W5tDRWVq/XDSGv4ZnQWxhSRLHh9dw==","_npmVersion":"11.6.2","description":"Style @astroapps/datagrid to match the FluentUI v9 DataGrid","directories":{},"_nodeVersion":"24.11.1","dependencies":{"clsx":"^1 || ^2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","react":"^18.2.0 || ^19","rimraf":"^3.0.2","ts-jest":"^29.2.5","prettier":"^3.0.3","typescript":"^5.6.2","microbundle":"^0.15.1","@types/react":"^18.2.37","@jest/globals":"^29.7.0","@astroapps/datagrid":"1.3.0","@fluentui/react-icons":"^2.0.270","@astroapps/searchstate":"2.1.0","@testing-library/react":"^16.0.0","jest-environment-jsdom":"^29.7.0","@react-typed-forms/core":"^4.6.0","@astroapps/datagrid-search":"0.3.0","@fluentui/react-components":"^9.69.0","@react-typed-forms/transform":"^0.4.0"},"peerDependencies":{"react":"^18.2.0 || ^19","@astroapps/datagrid":"^1.3.0","@fluentui/react-icons":"^2.0.270","@astroapps/searchstate":"^2.1.0","@react-typed-forms/core":"^4.6.0","@astroapps/datagrid-search":"^0.3.0","@fluentui/react-components":"^9.69.0"},"_npmOperationalInternal":{"tmp":"tmp/datagrid-fluent-ui_0.5.1_1788751119600_0.049079674809102025","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@astroapps/datagrid-fluent-ui","version":"1.0.0","keywords":["react","datagrid","fluent-ui","fluentui"],"author":{"name":"Astrolabe Enterprises"},"license":"ISC","_id":"@astroapps/datagrid-fluent-ui@1.0.0","maintainers":[{"name":"doolse","email":"doolse@gmail.com"},{"name":"connorz","email":"connorzhao97@gmail.com"},{"name":"instagibb","email":"instagibb@gmail.com"}],"homepage":"https://github.com/astrolabe-apps/astrolabe-common#readme","bugs":{"url":"https://github.com/astrolabe-apps/astrolabe-common/issues"},"dist":{"shasum":"70c1754488263d0fecafe5120304726a26794dbb","tarball":"https://registry.npmjs.org/@astroapps/datagrid-fluent-ui/-/datagrid-fluent-ui-1.0.0.tgz","fileCount":66,"integrity":"sha512-p9NI63hBm706sOGesjCyuuGmq4PKIFUy6TtWo9mb0YV6jdsVahQn7hF6RDIfsT+bDh7B4OXBWAcaBSNpu5b+Bw==","signatures":[{"sig":"MEUCIF5e5eKwAy8LaA48RJbfW6GHQtRWOfNZBc1UKWc9SyReAiEAi2ScSMfUkHqeVFmEXGWWrjeptPC4VTLOUo22ntBM6vo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCtD0LkShWOj9Hdiy8POYzvYWCePujjDKxKXObxHbC3PAIgc+PlmZdC72S3zz/1GhzoA/by8+0RsGlgf7OrtO0Egkk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":837364},"main":"lib/index.cjs","type":"module","_from":"file:astroapps-datagrid-fluent-ui-1.0.0.tgz","types":"lib/index.d.ts","module":"lib/index.js","exports":{"types":"./lib/index.d.ts","default":"./lib/index.js","require":"./lib/index.cjs"},"gitHead":"53c623dc38a2e9ed167751ed99ea67f93c981bba","scripts":{"test":"jest --coverage","build":"rimraf lib/ node_modules/.cache && microbundle -f modern,cjs --jsx React.createElement --jsxFragment React.Fragment","watch":"microbundle -f modern,cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment"},"_npmUser":{"name":"doolse","email":"doolse@gmail.com"},"_resolved":"/tmp/c03dda30c56870b74a58c6decd1af18c/astroapps-datagrid-fluent-ui-1.0.0.tgz","_integrity":"sha512-p9NI63hBm706sOGesjCyuuGmq4PKIFUy6TtWo9mb0YV6jdsVahQn7hF6RDIfsT+bDh7B4OXBWAcaBSNpu5b+Bw==","_npmVersion":"11.6.2","description":"Style @astroapps/datagrid to match the FluentUI v9 DataGrid","directories":{},"_nodeVersion":"24.11.1","dependencies":{"clsx":"^1 || ^2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","react":"^18.2.0 || ^19","rimraf":"^3.0.2","ts-jest":"^29.2.5","prettier":"^3.0.3","babel-jest":"^29.7.0","typescript":"^5.6.2","microbundle":"^0.15.1","@types/react":"^18.2.37","@jest/globals":"^29.7.0","@babel/preset-env":"^7.26.0","@astroapps/datagrid":"1.3.0","@fluentui/react-icons":"^2.0.270","@astroapps/searchstate":"2.1.0","@testing-library/react":"^16.0.0","jest-environment-jsdom":"^29.7.0","@react-typed-forms/core":"^5.0.0","@astroapps/datagrid-search":"1.0.0","@fluentui/react-components":"^9.69.0","@react-typed-forms/transform":"^0.4.0"},"peerDependencies":{"react":"^18.2.0 || ^19","@astroapps/datagrid":"^1.3.0","@fluentui/react-icons":"^2.0.270","@astroapps/searchstate":"^2.1.0","@react-typed-forms/core":"^5.0.0","@astroapps/datagrid-search":"^1.0.0","@fluentui/react-components":"^9.69.0"},"_npmOperationalInternal":{"tmp":"tmp/datagrid-fluent-ui_1.0.0_1790229955033_0.7730841860532267","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"_id":"@astroapps/datagrid-fluent-ui@1.1.0","bugs":{"url":"https://github.com/astrolabe-apps/astrolabe-common/issues"},"dist":{"shasum":"d4fea71d729240fcef072f33e71f8444254bcbdf","tarball":"https://registry.npmjs.org/@astroapps/datagrid-fluent-ui/-/datagrid-fluent-ui-1.1.0.tgz","fileCount":66,"integrity":"sha512-Efsi2cmvfmF+XKiLkUgO2V2sLVtUorQzLfkjmemnpTwZ4h5WlMGAYynEWIcTZVg7IEUjiqNZ9VrXzHhW78KAxA==","signatures":[{"sig":"MEQCIFKnm10+PZqWd/PRpN3slbdhB7ofx62lOL5wNEDF9HFMAiBELah/QDT83Ql6ksQ21ZfWXBCQ2L/OP7JSkFh875vVlA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDkJjjQV2vVUTTvPXHu4Pp5UeqoJWyADilTvFDTfLyDqAiBI2uf8Y/BZdBIsd2yOFwcfS8mQO7Cgs26ftle5lZZWwg=="}],"unpackedSize":850543},"main":"lib/index.cjs","name":"@astroapps/datagrid-fluent-ui","type":"module","_from":"file:astroapps-datagrid-fluent-ui-1.1.0.tgz","types":"lib/index.d.ts","author":{"name":"Astrolabe Enterprises"},"module":"lib/index.js","exports":{"types":"./lib/index.d.ts","default":"./lib/index.js","require":"./lib/index.cjs"},"gitHead":"77a11b2e17064f4749d481bbd90239414fbb986d","license":"ISC","scripts":{"test":"jest --coverage","build":"rimraf lib/ node_modules/.cache && microbundle -f modern,cjs --jsx React.createElement --jsxFragment React.Fragment","watch":"microbundle -f modern,cjs --no-compress --jsx React.createElement --jsxFragment React.Fragment"},"version":"1.1.0","_npmUser":{"name":"doolse","email":"doolse@gmail.com"},"homepage":"https://github.com/astrolabe-apps/astrolabe-common#readme","keywords":["react","datagrid","fluent-ui","fluentui"],"_resolved":"/tmp/009e8c705b5b17d95f82f0d94204de0b/astroapps-datagrid-fluent-ui-1.1.0.tgz","_integrity":"sha512-Efsi2cmvfmF+XKiLkUgO2V2sLVtUorQzLfkjmemnpTwZ4h5WlMGAYynEWIcTZVg7IEUjiqNZ9VrXzHhW78KAxA==","_npmVersion":"11.6.2","description":"Style @astroapps/datagrid to match the FluentUI v9 DataGrid","directories":{},"maintainers":[{"name":"doolse","email":"doolse@gmail.com"},{"name":"connorz","email":"connorzhao97@gmail.com"},{"name":"instagibb","email":"instagibb@gmail.com"}],"_nodeVersion":"24.11.1","dependencies":{"clsx":"^1 || ^2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","react":"^18.2.0 || ^19","rimraf":"^3.0.2","ts-jest":"^29.2.5","prettier":"^3.0.3","babel-jest":"^29.7.0","typescript":"^5.6.2","microbundle":"^0.15.1","@types/react":"^18.2.37","@jest/globals":"^29.7.0","@babel/preset-env":"^7.26.0","@astroapps/datagrid":"1.3.0","@fluentui/react-icons":"^2.0.270","@astroapps/searchstate":"2.1.0","@testing-library/react":"^16.0.0","jest-environment-jsdom":"^29.7.0","@react-typed-forms/core":"^5.0.0","@astroapps/datagrid-search":"1.1.0","@fluentui/react-components":"^9.69.0","@react-typed-forms/transform":"^0.4.0"},"peerDependencies":{"react":"^18.2.0 || ^19","@astroapps/datagrid":"^1.3.0","@fluentui/react-icons":"^2.0.270","@astroapps/searchstate":"^2.1.0","@react-typed-forms/core":"^5.0.0","@astroapps/datagrid-search":"^1.1.0","@fluentui/react-components":"^9.69.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/datagrid-fluent-ui_1.1.0_1790564322866_0.029333091877443707"}}},"time":{"created":"2026-08-05T06:29:44.317Z","modified":"2026-09-28T02:58:43.157Z","0.1.0":"2026-08-05T06:29:44.674Z","0.2.0":"2026-08-06T05:58:02.580Z","0.3.0":"2026-09-03T00:03:33.595Z","0.4.0":"2026-09-03T01:17:20.815Z","0.5.0":"2026-09-03T07:37:07.294Z","0.5.1":"2026-09-07T03:18:39.747Z","1.0.0":"2026-09-24T06:05:55.133Z","1.1.0":"2026-09-28T02:58:42.956Z"},"bugs":{"url":"https://github.com/astrolabe-apps/astrolabe-common/issues"},"author":{"name":"Astrolabe Enterprises"},"license":"ISC","homepage":"https://github.com/astrolabe-apps/astrolabe-common#readme","keywords":["react","datagrid","fluent-ui","fluentui"],"description":"Style @astroapps/datagrid to match the FluentUI v9 DataGrid","maintainers":[{"name":"doolse","email":"doolse@gmail.com"},{"name":"connorz","email":"connorzhao97@gmail.com"},{"name":"instagibb","email":"instagibb@gmail.com"}],"readme":"# @astroapps/datagrid-fluent-ui\n\nStyles [`@astroapps/datagrid`](../astrolabe-datagrid) to look like the\n[FluentUI v9](https://react.fluentui.dev) `DataGrid`, and wires up the row-level\nbehaviour Fluent gets from its row elements.\n\nThe searching — sort, filter, paging, filter options, client vs server — belongs\nto [`@astroapps/datagrid-search`](../datagrid-search), as does anything else a\nsecond renderer would need: row selection, and the rules for which row clicks\ncount and when a pager is worth showing. This package renders what that gives it\nand adds no logic of its own. Read its README for how the state works; this one\ncovers the Fluent side.\n\nEvery metric here was measured against a live Fluent v9 `DataGrid` rather than\ncopied from docs — see `src/app/fluentgrid/page.tsx` in the `formServer` site for\nthe harness that diffs the two grids' computed styles, and\n`src/app/fluentgrid/features/page.tsx` for a tour of the search features.\n\n```bash\nnpm i @astroapps/datagrid-search @astroapps/datagrid-fluent-ui\n```\n\n## A whole grid\n\n```tsx\nconst state = useControl<SearchRequest>({\n  ...defaultSearchOptions,\n  length: 25,\n});\nconst data = useClientData(state, { rows, columns }); // or useServerData\nconst search = useGridSearch(state, { columns, data });\n\n<FluentDataGrid search={search} size=\"medium\" rowKey={(r) => r.id} />;\n```\n\nThat's a sortable, filterable, paged grid. Everything it renders follows from the\nsearch rather than a flag:\n\n| Affordance       | Appears when                                                    |\n| ---------------- | --------------------------------------------------------------- |\n| Sort arrow       | the column has a `sortField`                                    |\n| Multi-sort badge | sort `mode` isn't `\"single\"` and more than one column is sorted |\n| Filter funnel    | the column's filter options resolve (see datagrid-search)       |\n| Pager            | there's a page before or after this one, or `pageSizes` is set   |\n| Selection column | a `selection` is passed                                         |\n\nSo a grid whose columns carry none of that renders as a plain table. Grid-wide\noff switches exist for the blunt cases: `sortable={false}`, `filterable={false}`,\n`pager={false}`.\n\nMust be rendered inside a `FluentProvider`.\n\n### Props beyond the search\n\n```tsx\n<FluentDataGrid\n  search={search}\n  size=\"medium\" // \"medium\" | \"small\" | \"extra-small\"\n  rowKey={(r) => r.id}\n  selection={selection}\n  noData=\"Nothing here\"\n  pager // false to suppress, or a node to replace\n  pageSizes={[10, 25, 50]}\n  renderFilterPopup={(props) => <MyBody {...props} />}\n  renderFilterControl={(column, search) => <MyInlineFilter />}\n  renderHeaderExtra={(column) => <ColumnInfo column={column} />}\n/>\n```\n\n`DataGridClasses` props (`className`, `cellClass`, …) pass through and win over\nthe Fluent defaults.\n\n## Composing it yourself\n\nWhen you need to own the `<DataGrid>` call — extra header rows, a custom body\nwrapper — use the hook and spread its parts:\n\n```tsx\nconst fluent = useFluentDataGrid(search, { size, selection, rowKey });\n\n<DataGrid\n  {...fluent.gridProps}\n  columns={fluent.columns} // selection column already prepended\n  bodyRows={search.data.rowProps.bodyRows}\n  getBodyRow={search.data.rowProps.getBodyRow}\n/>;\n```\n\n`gridProps` carries the classes, `renderHeaderContent`, the row wrapper and the\nper-cell `RenderControl` wrapper. `fluent.parts` exposes the part classes, for\nbuilding custom cells that still look like Fluent's.\n\nThe pieces are also exported individually — `useFluentDataGridStyles`,\n`fluentHeaderContent`, `fluentRowWrapper`, `fluentSelectionColumn`,\n`FluentFilterPopover`, `FilterOptionList`, `FluentPager` — for grids that need to\ncompose them differently.\n\n## Selection\n\n**Page-scoped**: the header checkbox reflects and acts on the rows currently\nrendered, and never disturbs a selection made on another page.\n\n```tsx\nconst selectedIds = useControl<string[]>([]);\nconst selection = makeGridSelection({\n  selected: selectedIds,\n  rows: data.rows, // the current page\n  getId: (r) => r.id,\n});\n```\n\n`arraySelection` is the same thing over plain state. Neither is a hook, despite\ntaking a control — they read `.value` when called, so call them during render.\n\nCross-page \"select all N matching\" is deliberately not supported: it needs the\nfiltered total, the live search, and a way to fetch every matching id, at which\npoint selection stops being a renderer concern.\n\n## Adding to a header\n\n`renderHeaderExtra` renders after the filter funnel, for anything a column wants\nin its header that sorting and filtering don't cover:\n\n```tsx\nrenderHeaderExtra={(column) =>\n  column.id === \"margin\" ? (\n    <InfoTip className=\"shrink-0\" text=\"Gross margin, ex-GST\" />\n  ) : undefined\n}\n```\n\nIt is a sibling of the sort button, not a child, so it can hold interactive\ncontent — nesting a button inside the sort button would be invalid HTML. The sort\nbutton fills the cell, so an extra that must stay visible needs `flexShrink: 0`.\n\nTo wrap the *whole* cell instead — a tooltip covering the title, arrow and funnel\ntogether — use the column's own `renderHeader` from `@astroapps/datagrid`, going\nthrough `defaultRenderCell` so the cell keeps its grid placement.\n\n## Custom filter popups\n\nThree levels, most specific first:\n\n1. `getColumnFilter(column).render` — replaces one column's popup **body**,\n   keeping the standard funnel and the loading/error/empty shell.\n2. `renderFilterPopup` on the grid — the same, as the default for every column.\n3. `renderFilterControl` on the grid — replaces the funnel **and** popup, for a\n   column that wants an inline control instead.\n\nThe body receives `FilterPopupProps`, whose whole contract is a\n`Control<string[] | undefined>` for that column. `FilterOptionList` is exported so\na custom body can keep the standard checkbox list and just add a header.\n\nThe body is a separate component mounted only while the popover is open, which is\nwhat makes an async option source lazy.\n\n## Finding rows and cells in tests\n\nThe grid is a single flat CSS grid: there's no `<table>`, and the row wrapper is\n`display: contents`, which takes it out of the accessibility tree — so neither\n`getByRole(\"row\")` nor DOM walking gets you a cell. Address them by data\nattribute instead:\n\n| Attribute        | Where                | Value                                      |\n| ---------------- | -------------------- | ------------------------------------------ |\n| `data-column`    | every cell           | the column's `id` (its `title` by default) |\n| `data-row-index` | body cells, rows     | 0-based index within the page              |\n| `data-row-key`   | row wrapper          | your `rowKey`, else the index              |\n\n```ts\n// By identity — survives sorting and paging, given a `rowKey`.\npage.locator('[data-row-key=\"42\"] [data-column=\"status\"]');\n// By position.\npage.locator('[data-row-index=\"2\"] [data-column=\"status\"]');\n// A whole column, header included.\npage.locator('[data-column=\"status\"]');\n// The header cell alone.\npage.locator('[data-column=\"status\"]:not([data-row-index])');\n```\n\n`data-row-key` needs a `rowKey`, which is worth passing anyway — React reorders\nrather than rebuilds rows on sort:\n\n```tsx\n<FluentDataGrid search={search} rowKey={(r) => r.id} />\n```\n\nSort buttons and filter funnels are reachable through the same attributes, and\neach funnel is named after its column — `Filter (Kind)`, or\n`Filter (Kind, filtered)` once something is applied:\n\n```ts\npage.locator('[data-column=\"status\"] button').first(); // the sort button\npage.getByLabel(\"Filter (Status)\");\n```\n\nRow checkboxes are labelled `\"Select row\"` by default, which makes every row's\ncheckbox identical to `getByLabelText`. Name the row instead:\n\n```tsx\n<FluentDataGrid\n  search={search}\n  selection={selection}\n  selectionColumn={{ rowAriaLabel: (r) => `Select ${r.name}` }}\n/>\n```\n\n## Excel-mode filtering\n\n`filterMode` is a `useGridSearch` option, not a prop on this component — the\nfunnels read it off the search. Set it to `\"excel\"` and every filter popup opens\nwith each value ticked when the column is unfiltered, above a `(Select All)` row:\n\n```tsx\nconst search = useGridSearch(state, { columns, data, filterMode: \"excel\" });\n```\n\nApplying with everything ticked stores no filter at all, so the funnel goes back\nto idle; applying with nothing ticked is refused, and the Apply button is\ndisabled to say so. Clear re-ticks everything, which is the way back out of an\nempty selection. The rules, and why the empty selection can't be stored, are in\nthe datagrid-search README.\n\n`FilterOptionList` takes the row as a `selectAll` prop, so a custom popup body\ncan keep it:\n\n```tsx\n<FilterOptionList\n  options={options}\n  selected={values}\n  onToggle={draft.toggle}\n  selectAll={{ checked, indeterminate, onToggle }}\n/>\n```\n\n## Styling\n\n`useFluentDataGridStyles` returns the classes; the grid contributes no CSS of its\nown beyond them. Stable class names are on `fluentDataGridClassNames`, for CSS\noverrides and for tests that measure rendered cells.\n\nSizes match Fluent's: body rows are 44/34/32px of content, the header row is 32px\nat every size, and `extra-small` drops the row divider and uses 12px text.\n\nTwo structural differences from Fluent worth knowing:\n\n- **No row box.** The row wrapper is `display: contents`, so cells stay direct\n  grid items and keep their explicit placement. Hover and selection are painted on\n  the cells rather than the row — `:hover` still resolves up the ancestor chain.\n- **Column widths.** Fluent's resizable column sizing reserves a constant ~48px of\n  the container and gives the slack to the last column, which a CSS grid template\n  won't reproduce. Set the widths you want explicitly rather than letting either\n  side distribute slack.\n\n## Pager\n\nFluent v9 ships no pagination component, so `FluentPager` is built from its\nprimitives rather than matching a reference. It renders prev/next over\n`offset`/`length` with an optional page-size selector, and hides itself when\neverything fits on one page — unless `pageSizes` is set, since that selector is\nthe only way back from a size that fits every row. Then it stays, with prev/next\ndisabled.\n\nIt copes with a source that doesn't count: without a total it shows `1-10` instead\nof `1-10 of 42`, and enables Next while the page comes back full. See\n`pageInfo` in datagrid-search for why counting is optional.\n","readmeFilename":"README.md"}