@customafk/lunas-ui 0.2.4 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -9
- package/ai-docs.md +419 -0
- package/dist/alert-5MxGtf3j.d.mts +88 -0
- package/dist/alert-DIC1_ymv.cjs +2 -0
- package/dist/alert-DIC1_ymv.cjs.map +1 -0
- package/dist/alert-DwdUOFaC.d.cts +88 -0
- package/dist/alert-VP3giy31.mjs +2 -0
- package/dist/alert-VP3giy31.mjs.map +1 -0
- package/dist/avatar-CTS9-raY.cjs +2 -0
- package/dist/avatar-CTS9-raY.cjs.map +1 -0
- package/dist/avatar-DbxqvCjT.mjs +2 -0
- package/dist/avatar-DbxqvCjT.mjs.map +1 -0
- package/dist/badge-B8bw2UEY.mjs +2 -0
- package/dist/badge-B8bw2UEY.mjs.map +1 -0
- package/dist/badge-BFTGDsBm.d.cts +42 -0
- package/dist/badge-sL8O2yfv.d.mts +42 -0
- package/dist/badge-uQ0pIZbQ.cjs +2 -0
- package/dist/badge-uQ0pIZbQ.cjs.map +1 -0
- package/dist/button-BlQb81It.d.mts +174 -0
- package/dist/button-C6ybzxxj.mjs +2 -0
- package/dist/button-C6ybzxxj.mjs.map +1 -0
- package/dist/button-CEOQ3-82.d.cts +174 -0
- package/dist/button-CwDT3m4m.cjs +2 -0
- package/dist/button-CwDT3m4m.cjs.map +1 -0
- package/dist/button.variants-DeCyas1F.mjs +2 -0
- package/dist/button.variants-DeCyas1F.mjs.map +1 -0
- package/dist/button.variants-tnhb123u.cjs +2 -0
- package/dist/button.variants-tnhb123u.cjs.map +1 -0
- package/dist/{calendar-CG-WMM8e.cjs → calendar-CyAPpT2m.cjs} +2 -2
- package/dist/calendar-CyAPpT2m.cjs.map +1 -0
- package/dist/calendar-JKxWM6AF.mjs +2 -0
- package/dist/calendar-JKxWM6AF.mjs.map +1 -0
- package/dist/cards/grid-product-card.cjs +1 -1
- package/dist/cards/grid-product-card.cjs.map +1 -1
- package/dist/cards/grid-product-card.d.cts +23 -0
- package/dist/cards/grid-product-card.d.mts +23 -0
- package/dist/cards/grid-product-card.mjs +1 -1
- package/dist/cards/grid-product-card.mjs.map +1 -1
- package/dist/cards/product-card.cjs +1 -1
- package/dist/cards/product-card.cjs.map +1 -1
- package/dist/cards/product-card.d.cts +23 -0
- package/dist/cards/product-card.d.mts +23 -0
- package/dist/cards/product-card.mjs +1 -1
- package/dist/cards/product-card.mjs.map +1 -1
- package/dist/cards/simple-card.cjs +1 -1
- package/dist/cards/simple-card.cjs.map +1 -1
- package/dist/cards/simple-card.d.cts +16 -0
- package/dist/cards/simple-card.d.mts +16 -0
- package/dist/cards/simple-card.mjs +1 -1
- package/dist/cards/simple-card.mjs.map +1 -1
- package/dist/{checkbox-Bg2FiuQw.mjs → checkbox-DJEdYOjA.mjs} +2 -2
- package/dist/checkbox-DJEdYOjA.mjs.map +1 -0
- package/dist/{checkbox-C0fSWwmD.cjs → checkbox-RZrRNYP2.cjs} +2 -2
- package/dist/checkbox-RZrRNYP2.cjs.map +1 -0
- package/dist/close-BU0kWRVo.mjs +2 -0
- package/dist/{close-DfuHB7kq.mjs.map → close-BU0kWRVo.mjs.map} +1 -1
- package/dist/close-DXk_H3Gt.cjs +2 -0
- package/dist/{close-D_Ge7gnP.cjs.map → close-DXk_H3Gt.cjs.map} +1 -1
- package/dist/cms-layout-Dc4moos1.cjs +2 -0
- package/dist/cms-layout-Dc4moos1.cjs.map +1 -0
- package/dist/cms-layout-HfnOQS16.mjs +2 -0
- package/dist/cms-layout-HfnOQS16.mjs.map +1 -0
- package/dist/{command-_zpTaaIk.cjs → command-SHd-d_o0.cjs} +2 -2
- package/dist/command-SHd-d_o0.cjs.map +1 -0
- package/dist/{command-DhBTNTqz.mjs → command-bpcnKEbR.mjs} +2 -2
- package/dist/command-bpcnKEbR.mjs.map +1 -0
- package/dist/data-display/country.cjs +1 -1
- package/dist/data-display/country.cjs.map +1 -1
- package/dist/data-display/country.d.cts +15 -3
- package/dist/data-display/country.d.mts +15 -3
- package/dist/data-display/country.mjs +1 -1
- package/dist/data-display/country.mjs.map +1 -1
- package/dist/data-display/data-list.cjs +1 -1
- package/dist/data-display/data-list.cjs.map +1 -1
- package/dist/data-display/data-list.d.cts +31 -2
- package/dist/data-display/data-list.d.mts +31 -2
- package/dist/data-display/data-list.mjs +1 -1
- package/dist/data-display/data-list.mjs.map +1 -1
- package/dist/data-display/date-tooltip.cjs +1 -1
- package/dist/data-display/date-tooltip.cjs.map +1 -1
- package/dist/data-display/date-tooltip.d.cts +13 -2
- package/dist/data-display/date-tooltip.d.mts +13 -2
- package/dist/data-display/date-tooltip.mjs +1 -1
- package/dist/data-display/date-tooltip.mjs.map +1 -1
- package/dist/data-display/date.cjs +1 -1
- package/dist/data-display/date.d.cts +28 -2
- package/dist/data-display/date.d.mts +28 -2
- package/dist/data-display/date.mjs +1 -1
- package/dist/data-display/empty.cjs +1 -1
- package/dist/data-display/empty.cjs.map +1 -1
- package/dist/data-display/empty.d.cts +17 -3
- package/dist/data-display/empty.d.mts +17 -3
- package/dist/data-display/empty.mjs +1 -1
- package/dist/data-display/empty.mjs.map +1 -1
- package/dist/data-display/name.cjs +1 -1
- package/dist/data-display/name.cjs.map +1 -1
- package/dist/data-display/name.d.cts +12 -1
- package/dist/data-display/name.d.mts +12 -1
- package/dist/data-display/name.mjs +1 -1
- package/dist/data-display/name.mjs.map +1 -1
- package/dist/data-display/phone-number.cjs +1 -1
- package/dist/data-display/phone-number.cjs.map +1 -1
- package/dist/data-display/phone-number.d.cts +14 -2
- package/dist/data-display/phone-number.d.mts +14 -2
- package/dist/data-display/phone-number.mjs +1 -1
- package/dist/data-display/phone-number.mjs.map +1 -1
- package/dist/data-display/role-badge.cjs +1 -1
- package/dist/data-display/role-badge.cjs.map +1 -1
- package/dist/data-display/role-badge.d.cts +15 -3
- package/dist/data-display/role-badge.d.mts +15 -3
- package/dist/data-display/role-badge.mjs +1 -1
- package/dist/data-display/role-badge.mjs.map +1 -1
- package/dist/data-display/statistic.cjs +1 -1
- package/dist/data-display/statistic.cjs.map +1 -1
- package/dist/data-display/statistic.d.cts +35 -6
- package/dist/data-display/statistic.d.mts +35 -6
- package/dist/data-display/statistic.mjs +1 -1
- package/dist/data-display/statistic.mjs.map +1 -1
- package/dist/data-display/user.cjs +1 -2
- package/dist/data-display/user.d.cts +14 -1
- package/dist/data-display/user.d.mts +14 -1
- package/dist/data-display/user.mjs +1 -2
- package/dist/date-CVz9xdCg.mjs +2 -0
- package/dist/date-CVz9xdCg.mjs.map +1 -0
- package/dist/date-a3RI5Pwo.cjs +2 -0
- package/dist/date-a3RI5Pwo.cjs.map +1 -0
- package/dist/dialog-Bah7jLoO.d.cts +90 -0
- package/dist/dialog-BchwY6-N.mjs +2 -0
- package/dist/dialog-BchwY6-N.mjs.map +1 -0
- package/dist/dialog-DSg5IKmb.d.mts +90 -0
- package/dist/dialog-o_68LQXd.cjs +2 -0
- package/dist/dialog-o_68LQXd.cjs.map +1 -0
- package/dist/dialogs/confirm-dialog.cjs +1 -1
- package/dist/dialogs/confirm-dialog.cjs.map +1 -1
- package/dist/dialogs/confirm-dialog.d.cts +129 -3
- package/dist/dialogs/confirm-dialog.d.mts +129 -3
- package/dist/dialogs/confirm-dialog.mjs +1 -1
- package/dist/dialogs/confirm-dialog.mjs.map +1 -1
- package/dist/dialogs/detail-dialog/components/sidebar.cjs +1 -2
- package/dist/dialogs/detail-dialog/components/sidebar.d.cts +71 -24
- package/dist/dialogs/detail-dialog/components/sidebar.d.mts +71 -24
- package/dist/dialogs/detail-dialog/components/sidebar.mjs +1 -2
- package/dist/dialogs/detail-dialog/index.cjs +1 -1
- package/dist/dialogs/detail-dialog/index.cjs.map +1 -1
- package/dist/dialogs/detail-dialog/index.d.cts +37 -8
- package/dist/dialogs/detail-dialog/index.d.mts +37 -8
- package/dist/dialogs/detail-dialog/index.mjs +1 -1
- package/dist/dialogs/detail-dialog/index.mjs.map +1 -1
- package/dist/dialogs/error-dialog.cjs +1 -1
- package/dist/dialogs/error-dialog.cjs.map +1 -1
- package/dist/dialogs/error-dialog.d.cts +18 -4
- package/dist/dialogs/error-dialog.d.mts +18 -4
- package/dist/dialogs/error-dialog.mjs +1 -1
- package/dist/dialogs/error-dialog.mjs.map +1 -1
- package/dist/dialogs/loading-dialog.cjs +1 -1
- package/dist/dialogs/loading-dialog.cjs.map +1 -1
- package/dist/dialogs/loading-dialog.d.cts +15 -3
- package/dist/dialogs/loading-dialog.d.mts +15 -3
- package/dist/dialogs/loading-dialog.mjs +1 -1
- package/dist/dialogs/loading-dialog.mjs.map +1 -1
- package/dist/{dist-CvmzZ_6C.mjs → dist-CIN9T2FB.mjs} +1 -1
- package/dist/{dist-CvmzZ_6C.mjs.map → dist-CIN9T2FB.mjs.map} +1 -1
- package/dist/{dist-BudM04oj.cjs → dist-Dh8WwRa8.cjs} +1 -1
- package/dist/{dist-BudM04oj.cjs.map → dist-Dh8WwRa8.cjs.map} +1 -1
- package/dist/dropdown-menu-Ct9BLGfa.cjs +2 -0
- package/dist/dropdown-menu-Ct9BLGfa.cjs.map +1 -0
- package/dist/dropdown-menu-DWSfXhHo.mjs +2 -0
- package/dist/dropdown-menu-DWSfXhHo.mjs.map +1 -0
- package/dist/features/descriptions/index.cjs +1 -1
- package/dist/features/descriptions/index.cjs.map +1 -1
- package/dist/features/descriptions/index.d.cts +158 -19
- package/dist/features/descriptions/index.d.mts +158 -19
- package/dist/features/descriptions/index.mjs +1 -1
- package/dist/features/descriptions/index.mjs.map +1 -1
- package/dist/features/search-modal/index.cjs +1 -2
- package/dist/features/search-modal/index.d.cts +12 -2
- package/dist/features/search-modal/index.d.mts +12 -2
- package/dist/features/search-modal/index.mjs +1 -2
- package/dist/features/tables/index.cjs +1 -2
- package/dist/features/tables/index.d.cts +746 -24
- package/dist/features/tables/index.d.mts +742 -20
- package/dist/features/tables/index.mjs +1 -2
- package/dist/features/tanstack-form/index.cjs +1 -2
- package/dist/features/tanstack-form/index.d.cts +2 -1786
- package/dist/features/tanstack-form/index.d.mts +2 -1786
- package/dist/features/tanstack-form/index.mjs +1 -2
- package/dist/field-CXVnw75a.mjs +2 -0
- package/dist/field-CXVnw75a.mjs.map +1 -0
- package/dist/field-CppNvoxV.cjs +2 -0
- package/dist/field-CppNvoxV.cjs.map +1 -0
- package/dist/{flex-BP8sTi70.mjs → flex-BLMTj7Ev.mjs} +2 -2
- package/dist/flex-BLMTj7Ev.mjs.map +1 -0
- package/dist/{flex-twCgWyx1.cjs → flex-BbbogTsZ.cjs} +2 -2
- package/dist/flex-BbbogTsZ.cjs.map +1 -0
- package/dist/heading-AKz5ewy-.cjs +2 -0
- package/dist/heading-AKz5ewy-.cjs.map +1 -0
- package/dist/heading-DN67djxs.mjs +2 -0
- package/dist/heading-DN67djxs.mjs.map +1 -0
- package/dist/{image-DuFv8sPr.cjs → image-B1Dm5LWk.cjs} +2 -2
- package/dist/image-B1Dm5LWk.cjs.map +1 -0
- package/dist/{image-CS_Q0WA7.mjs → image-BlzrSaoE.mjs} +2 -2
- package/dist/image-BlzrSaoE.mjs.map +1 -0
- package/dist/index-D4shnfqM.d.cts +2030 -0
- package/dist/index-Dktb6D35.d.mts +2030 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.cts +90 -0
- package/dist/index.d.mts +90 -0
- package/dist/index.mjs +1 -0
- package/dist/{input-DBtIgQB6.mjs → input-Cd0G5y-9.mjs} +2 -2
- package/dist/input-Cd0G5y-9.mjs.map +1 -0
- package/dist/{input-BFWWaN-v.cjs → input-Cl5VkKQh.cjs} +2 -2
- package/dist/input-Cl5VkKQh.cjs.map +1 -0
- package/dist/input-DAGzv97v.d.mts +44 -0
- package/dist/input-DPLvx5x8.d.cts +44 -0
- package/dist/{label-BzfsTrVt.cjs → label-DkMTQ3Ch.cjs} +2 -2
- package/dist/label-DkMTQ3Ch.cjs.map +1 -0
- package/dist/label-OmlGaZ5h.mjs +2 -0
- package/dist/label-OmlGaZ5h.mjs.map +1 -0
- package/dist/layouts/cms-layout/index.cjs +1 -2
- package/dist/layouts/cms-layout/index.d.cts +66 -13
- package/dist/layouts/cms-layout/index.d.mts +66 -13
- package/dist/layouts/cms-layout/index.mjs +1 -2
- package/dist/layouts/flex.cjs +1 -1
- package/dist/layouts/flex.d.cts +90 -6
- package/dist/layouts/flex.d.mts +93 -9
- package/dist/layouts/flex.mjs +1 -1
- package/dist/layouts/grid.cjs +1 -1
- package/dist/layouts/grid.cjs.map +1 -1
- package/dist/layouts/grid.d.cts +14 -0
- package/dist/layouts/grid.d.mts +14 -0
- package/dist/layouts/grid.mjs +1 -1
- package/dist/layouts/grid.mjs.map +1 -1
- package/dist/layouts/payment-layout/index.cjs +1 -2
- package/dist/layouts/payment-layout/index.d.cts +35 -0
- package/dist/layouts/payment-layout/index.d.mts +35 -0
- package/dist/layouts/payment-layout/index.mjs +1 -2
- package/dist/pages/FeatureDeveloping.cjs +1 -1
- package/dist/pages/FeatureDeveloping.cjs.map +1 -1
- package/dist/pages/FeatureDeveloping.d.cts +21 -3
- package/dist/pages/FeatureDeveloping.d.mts +21 -3
- package/dist/pages/FeatureDeveloping.mjs +1 -1
- package/dist/pages/FeatureDeveloping.mjs.map +1 -1
- package/dist/pages/FeatureFixing.cjs +1 -1
- package/dist/pages/FeatureFixing.cjs.map +1 -1
- package/dist/pages/FeatureFixing.d.cts +21 -3
- package/dist/pages/FeatureFixing.d.mts +21 -3
- package/dist/pages/FeatureFixing.mjs +1 -1
- package/dist/pages/FeatureFixing.mjs.map +1 -1
- package/dist/pages/NotAuthorized.cjs +1 -1
- package/dist/pages/NotAuthorized.cjs.map +1 -1
- package/dist/pages/NotAuthorized.d.cts +21 -3
- package/dist/pages/NotAuthorized.d.mts +21 -3
- package/dist/pages/NotAuthorized.mjs +1 -1
- package/dist/pages/NotAuthorized.mjs.map +1 -1
- package/dist/pages/NotFound.cjs +1 -1
- package/dist/pages/NotFound.cjs.map +1 -1
- package/dist/pages/NotFound.d.cts +21 -3
- package/dist/pages/NotFound.d.mts +21 -3
- package/dist/pages/NotFound.mjs +1 -1
- package/dist/pages/NotFound.mjs.map +1 -1
- package/dist/paragraph-Ch5TvEqL.mjs +2 -0
- package/dist/paragraph-Ch5TvEqL.mjs.map +1 -0
- package/dist/paragraph-DN85Huc4.cjs +2 -0
- package/dist/paragraph-DN85Huc4.cjs.map +1 -0
- package/dist/payment-layout-Da29dHJe.cjs +2 -0
- package/dist/payment-layout-Da29dHJe.cjs.map +1 -0
- package/dist/payment-layout-wN5c7MCM.mjs +2 -0
- package/dist/payment-layout-wN5c7MCM.mjs.map +1 -0
- package/dist/{popover-DzDrgttC.cjs → popover-AEt-aSy3.cjs} +2 -2
- package/dist/popover-AEt-aSy3.cjs.map +1 -0
- package/dist/popover-OJXFbqJi.mjs +2 -0
- package/dist/popover-OJXFbqJi.mjs.map +1 -0
- package/dist/{radio-group-CBhRsUjN.cjs → radio-group-BWLdQw7M.cjs} +2 -2
- package/dist/radio-group-BWLdQw7M.cjs.map +1 -0
- package/dist/{radio-group-Cem8O6BK.mjs → radio-group-CAgfOr7-.mjs} +2 -2
- package/dist/radio-group-CAgfOr7-.mjs.map +1 -0
- package/dist/{resizable-mlGS6Zto.cjs → resizable-D6UKwvFa.cjs} +2 -2
- package/dist/resizable-D6UKwvFa.cjs.map +1 -0
- package/dist/{resizable-DXHfkbaz.mjs → resizable-DWh_mp5P.mjs} +2 -2
- package/dist/resizable-DWh_mp5P.mjs.map +1 -0
- package/dist/search-modal-BxjKY8I7.mjs +2 -0
- package/dist/search-modal-BxjKY8I7.mjs.map +1 -0
- package/dist/search-modal-C-jNqQI1.cjs +2 -0
- package/dist/search-modal-C-jNqQI1.cjs.map +1 -0
- package/dist/{select-2CgwiefV.cjs → select-Py_t2nX1.cjs} +2 -2
- package/dist/select-Py_t2nX1.cjs.map +1 -0
- package/dist/{select-CivtMKTM.mjs → select-Ze8Fq88G.mjs} +2 -2
- package/dist/select-Ze8Fq88G.mjs.map +1 -0
- package/dist/separator-BMsbHAVt.mjs +2 -0
- package/dist/separator-BMsbHAVt.mjs.map +1 -0
- package/dist/{separator-C3ip6sbh.cjs → separator-BwZb12bh.cjs} +2 -2
- package/dist/separator-BwZb12bh.cjs.map +1 -0
- package/dist/{sheet-5MJRtrfG.cjs → sheet-CaDXTx7n.cjs} +2 -2
- package/dist/sheet-CaDXTx7n.cjs.map +1 -0
- package/dist/{sheet-oadGRiie.mjs → sheet-DMIqn1iv.mjs} +2 -2
- package/dist/sheet-DMIqn1iv.mjs.map +1 -0
- package/dist/sidebar-C27_pwLR.cjs +2 -0
- package/dist/sidebar-C27_pwLR.cjs.map +1 -0
- package/dist/sidebar-meLttL0V.mjs +2 -0
- package/dist/sidebar-meLttL0V.mjs.map +1 -0
- package/dist/skeleton-BPxcW2yu.mjs +2 -0
- package/dist/skeleton-BPxcW2yu.mjs.map +1 -0
- package/dist/skeleton-BfMCjXYM.cjs +2 -0
- package/dist/skeleton-BfMCjXYM.cjs.map +1 -0
- package/dist/spinner-EgMJOaQi.mjs +2 -0
- package/dist/spinner-EgMJOaQi.mjs.map +1 -0
- package/dist/spinner-MKXqwF9G.cjs +2 -0
- package/dist/spinner-MKXqwF9G.cjs.map +1 -0
- package/dist/systems/google.cjs.map +1 -1
- package/dist/systems/google.d.cts +36 -0
- package/dist/systems/google.d.mts +36 -0
- package/dist/systems/google.mjs.map +1 -1
- package/dist/tables-CmOVrvXM.cjs +2 -0
- package/dist/tables-CmOVrvXM.cjs.map +1 -0
- package/dist/tables-cBo0_szt.mjs +2 -0
- package/dist/tables-cBo0_szt.mjs.map +1 -0
- package/dist/tanstack-form-BmV2BXDz.cjs +2 -0
- package/dist/tanstack-form-BmV2BXDz.cjs.map +1 -0
- package/dist/tanstack-form-CJ43hVb_.mjs +2 -0
- package/dist/tanstack-form-CJ43hVb_.mjs.map +1 -0
- package/dist/{textarea-COQoSVSc.cjs → textarea-BsgmN4jy.cjs} +2 -2
- package/dist/textarea-BsgmN4jy.cjs.map +1 -0
- package/dist/{textarea-bLtmb71c.mjs → textarea-CdGSEkZB.mjs} +2 -2
- package/dist/textarea-CdGSEkZB.mjs.map +1 -0
- package/dist/tooltip-Bj0iOG4s.mjs +2 -0
- package/dist/tooltip-Bj0iOG4s.mjs.map +1 -0
- package/dist/{tooltip-DC6i1A25.cjs → tooltip-itUmYz9k.cjs} +2 -2
- package/dist/tooltip-itUmYz9k.cjs.map +1 -0
- package/dist/{types-Bd0JePtp.d.cts → types-B_32Ieia.d.mts} +1 -1
- package/dist/{types-BpHcqlOI.d.mts → types-CDYHkcOk.d.cts} +1 -1
- package/dist/{types-DBD4LOem.mjs → types-DNphnTW-.mjs} +1 -1
- package/dist/{types-DBD4LOem.mjs.map → types-DNphnTW-.mjs.map} +1 -1
- package/dist/typography/paragraph.cjs +1 -1
- package/dist/typography/paragraph.d.cts +40 -20
- package/dist/typography/paragraph.d.mts +40 -20
- package/dist/typography/paragraph.mjs +1 -1
- package/dist/typography/title.cjs +1 -1
- package/dist/typography/title.cjs.map +1 -1
- package/dist/typography/title.d.cts +33 -5
- package/dist/typography/title.d.mts +33 -5
- package/dist/typography/title.mjs +1 -1
- package/dist/typography/title.mjs.map +1 -1
- package/dist/ui/alert-dialog.cjs +1 -1
- package/dist/ui/alert-dialog.cjs.map +1 -1
- package/dist/ui/alert-dialog.d.cts +54 -12
- package/dist/ui/alert-dialog.d.mts +54 -12
- package/dist/ui/alert-dialog.mjs +1 -1
- package/dist/ui/alert-dialog.mjs.map +1 -1
- package/dist/ui/alert.cjs +1 -2
- package/dist/ui/alert.d.cts +2 -69
- package/dist/ui/alert.d.mts +2 -69
- package/dist/ui/alert.mjs +1 -2
- package/dist/ui/aspect-ratio.cjs +1 -1
- package/dist/ui/aspect-ratio.cjs.map +1 -1
- package/dist/ui/aspect-ratio.d.cts +15 -2
- package/dist/ui/aspect-ratio.d.mts +15 -2
- package/dist/ui/aspect-ratio.mjs +1 -1
- package/dist/ui/aspect-ratio.mjs.map +1 -1
- package/dist/ui/avatar.cjs +1 -1
- package/dist/ui/avatar.d.cts +20 -4
- package/dist/ui/avatar.d.mts +20 -4
- package/dist/ui/avatar.mjs +1 -1
- package/dist/ui/badge.cjs +1 -1
- package/dist/ui/badge.d.cts +2 -21
- package/dist/ui/badge.d.mts +2 -21
- package/dist/ui/badge.mjs +1 -1
- package/dist/ui/breadcrumb.cjs +1 -1
- package/dist/ui/breadcrumb.cjs.map +1 -1
- package/dist/ui/breadcrumb.d.cts +38 -25
- package/dist/ui/breadcrumb.d.mts +38 -25
- package/dist/ui/breadcrumb.mjs +1 -1
- package/dist/ui/breadcrumb.mjs.map +1 -1
- package/dist/ui/button-group.cjs +1 -1
- package/dist/ui/button-group.cjs.map +1 -1
- package/dist/ui/button-group.d.cts +27 -6
- package/dist/ui/button-group.d.mts +27 -6
- package/dist/ui/button-group.mjs +1 -1
- package/dist/ui/button-group.mjs.map +1 -1
- package/dist/ui/button.cjs +1 -1
- package/dist/ui/button.d.cts +1 -1
- package/dist/ui/button.d.mts +1 -1
- package/dist/ui/button.mjs +1 -1
- package/dist/ui/buttons/add-new.cjs +1 -1
- package/dist/ui/buttons/add-new.cjs.map +1 -1
- package/dist/ui/buttons/add-new.d.cts +9 -0
- package/dist/ui/buttons/add-new.d.mts +9 -0
- package/dist/ui/buttons/add-new.mjs +1 -1
- package/dist/ui/buttons/add-new.mjs.map +1 -1
- package/dist/ui/buttons/edit.cjs +1 -1
- package/dist/ui/buttons/edit.cjs.map +1 -1
- package/dist/ui/buttons/edit.d.cts +9 -0
- package/dist/ui/buttons/edit.d.mts +9 -0
- package/dist/ui/buttons/edit.mjs +1 -1
- package/dist/ui/buttons/edit.mjs.map +1 -1
- package/dist/ui/buttons/refresh.cjs +1 -1
- package/dist/ui/buttons/refresh.cjs.map +1 -1
- package/dist/ui/buttons/refresh.d.cts +9 -0
- package/dist/ui/buttons/refresh.d.mts +9 -0
- package/dist/ui/buttons/refresh.mjs +1 -1
- package/dist/ui/buttons/refresh.mjs.map +1 -1
- package/dist/ui/buttons/trash.cjs +1 -1
- package/dist/ui/buttons/trash.cjs.map +1 -1
- package/dist/ui/buttons/trash.d.cts +9 -0
- package/dist/ui/buttons/trash.d.mts +9 -0
- package/dist/ui/buttons/trash.mjs +1 -1
- package/dist/ui/buttons/trash.mjs.map +1 -1
- package/dist/ui/buttons/upload-image.cjs +1 -1
- package/dist/ui/buttons/upload-image.cjs.map +1 -1
- package/dist/ui/buttons/upload-image.d.cts +13 -0
- package/dist/ui/buttons/upload-image.d.mts +13 -0
- package/dist/ui/buttons/upload-image.mjs +1 -1
- package/dist/ui/buttons/upload-image.mjs.map +1 -1
- package/dist/ui/calendar.cjs +1 -1
- package/dist/ui/calendar.d.cts +22 -4
- package/dist/ui/calendar.d.mts +22 -4
- package/dist/ui/calendar.mjs +1 -1
- package/dist/ui/card.cjs +1 -1
- package/dist/ui/card.cjs.map +1 -1
- package/dist/ui/card.d.cts +37 -8
- package/dist/ui/card.d.mts +37 -8
- package/dist/ui/card.mjs +1 -1
- package/dist/ui/card.mjs.map +1 -1
- package/dist/ui/carousel.cjs +1 -1
- package/dist/ui/carousel.cjs.map +1 -1
- package/dist/ui/carousel.d.cts +31 -7
- package/dist/ui/carousel.d.mts +31 -7
- package/dist/ui/carousel.mjs +1 -1
- package/dist/ui/carousel.mjs.map +1 -1
- package/dist/ui/checkbox.cjs +1 -1
- package/dist/ui/checkbox.d.cts +17 -2
- package/dist/ui/checkbox.d.mts +17 -2
- package/dist/ui/checkbox.mjs +1 -1
- package/dist/ui/collapsible.cjs.map +1 -1
- package/dist/ui/collapsible.d.cts +22 -4
- package/dist/ui/collapsible.d.mts +22 -4
- package/dist/ui/collapsible.mjs.map +1 -1
- package/dist/ui/command.cjs +1 -1
- package/dist/ui/command.d.cts +48 -11
- package/dist/ui/command.d.mts +48 -11
- package/dist/ui/command.mjs +1 -1
- package/dist/ui/context-menu.cjs +1 -1
- package/dist/ui/context-menu.cjs.map +1 -1
- package/dist/ui/context-menu.d.cts +65 -16
- package/dist/ui/context-menu.d.mts +65 -16
- package/dist/ui/context-menu.mjs +1 -1
- package/dist/ui/context-menu.mjs.map +1 -1
- package/dist/ui/dialog.cjs +1 -1
- package/dist/ui/dialog.d.cts +1 -1
- package/dist/ui/dialog.d.mts +1 -1
- package/dist/ui/dialog.mjs +1 -1
- package/dist/ui/drawer.cjs +1 -1
- package/dist/ui/drawer.cjs.map +1 -1
- package/dist/ui/drawer.d.cts +39 -11
- package/dist/ui/drawer.d.mts +39 -11
- package/dist/ui/drawer.mjs +1 -1
- package/dist/ui/drawer.mjs.map +1 -1
- package/dist/ui/dropdown-menu.cjs +1 -1
- package/dist/ui/dropdown-menu.d.cts +65 -16
- package/dist/ui/dropdown-menu.d.mts +65 -16
- package/dist/ui/dropdown-menu.mjs +1 -1
- package/dist/ui/empty.cjs +1 -1
- package/dist/ui/empty.cjs.map +1 -1
- package/dist/ui/empty.d.cts +41 -9
- package/dist/ui/empty.d.mts +41 -9
- package/dist/ui/empty.mjs +1 -1
- package/dist/ui/empty.mjs.map +1 -1
- package/dist/ui/field.cjs +1 -2
- package/dist/ui/field.d.cts +13 -13
- package/dist/ui/field.d.mts +24 -24
- package/dist/ui/field.mjs +1 -2
- package/dist/ui/file-uploader.cjs +2 -2
- package/dist/ui/file-uploader.cjs.map +1 -1
- package/dist/ui/file-uploader.d.cts +27 -2
- package/dist/ui/file-uploader.d.mts +27 -2
- package/dist/ui/file-uploader.mjs +2 -2
- package/dist/ui/file-uploader.mjs.map +1 -1
- package/dist/ui/form.cjs +1 -1
- package/dist/ui/form.cjs.map +1 -1
- package/dist/ui/form.d.cts +51 -7
- package/dist/ui/form.d.mts +55 -11
- package/dist/ui/form.mjs +1 -1
- package/dist/ui/form.mjs.map +1 -1
- package/dist/ui/hover-card.cjs +1 -1
- package/dist/ui/hover-card.cjs.map +1 -1
- package/dist/ui/hover-card.d.cts +22 -4
- package/dist/ui/hover-card.d.mts +22 -4
- package/dist/ui/hover-card.mjs +1 -1
- package/dist/ui/hover-card.mjs.map +1 -1
- package/dist/ui/image.cjs +1 -1
- package/dist/ui/image.d.cts +20 -0
- package/dist/ui/image.d.mts +20 -0
- package/dist/ui/image.mjs +1 -1
- package/dist/ui/input-otp.cjs +1 -1
- package/dist/ui/input-otp.cjs.map +1 -1
- package/dist/ui/input-otp.d.cts +36 -5
- package/dist/ui/input-otp.d.mts +36 -5
- package/dist/ui/input-otp.mjs +1 -1
- package/dist/ui/input-otp.mjs.map +1 -1
- package/dist/ui/input.cjs +1 -1
- package/dist/ui/input.d.cts +1 -1
- package/dist/ui/input.d.mts +1 -1
- package/dist/ui/input.mjs +1 -1
- package/dist/ui/inputs/search-input.cjs +1 -1
- package/dist/ui/inputs/search-input.cjs.map +1 -1
- package/dist/ui/inputs/search-input.d.cts +20 -3
- package/dist/ui/inputs/search-input.d.mts +20 -3
- package/dist/ui/inputs/search-input.mjs +1 -1
- package/dist/ui/inputs/search-input.mjs.map +1 -1
- package/dist/ui/item.cjs +1 -1
- package/dist/ui/item.cjs.map +1 -1
- package/dist/ui/item.d.cts +56 -16
- package/dist/ui/item.d.mts +56 -16
- package/dist/ui/item.mjs +1 -1
- package/dist/ui/item.mjs.map +1 -1
- package/dist/ui/label.cjs +1 -1
- package/dist/ui/label.d.cts +15 -2
- package/dist/ui/label.d.mts +15 -2
- package/dist/ui/label.mjs +1 -1
- package/dist/ui/menubar.cjs +1 -1
- package/dist/ui/menubar.cjs.map +1 -1
- package/dist/ui/menubar.d.cts +68 -17
- package/dist/ui/menubar.d.mts +68 -17
- package/dist/ui/menubar.mjs +1 -1
- package/dist/ui/menubar.mjs.map +1 -1
- package/dist/ui/multi-select.cjs +1 -1
- package/dist/ui/multi-select.cjs.map +1 -1
- package/dist/ui/multi-select.d.cts +39 -2
- package/dist/ui/multi-select.d.mts +40 -3
- package/dist/ui/multi-select.mjs +1 -1
- package/dist/ui/multi-select.mjs.map +1 -1
- package/dist/ui/navigation-menu.cjs +1 -1
- package/dist/ui/navigation-menu.cjs.map +1 -1
- package/dist/ui/navigation-menu.d.cts +42 -11
- package/dist/ui/navigation-menu.d.mts +42 -11
- package/dist/ui/navigation-menu.mjs +1 -1
- package/dist/ui/navigation-menu.mjs.map +1 -1
- package/dist/ui/pagination.cjs +1 -1
- package/dist/ui/pagination.cjs.map +1 -1
- package/dist/ui/pagination.d.cts +37 -9
- package/dist/ui/pagination.d.mts +37 -9
- package/dist/ui/pagination.mjs +1 -1
- package/dist/ui/pagination.mjs.map +1 -1
- package/dist/ui/popover.cjs +1 -1
- package/dist/ui/popover.d.cts +32 -6
- package/dist/ui/popover.d.mts +32 -6
- package/dist/ui/popover.mjs +1 -1
- package/dist/ui/progress.cjs +1 -1
- package/dist/ui/progress.cjs.map +1 -1
- package/dist/ui/progress.d.cts +13 -2
- package/dist/ui/progress.d.mts +13 -2
- package/dist/ui/progress.mjs +1 -1
- package/dist/ui/progress.mjs.map +1 -1
- package/dist/ui/radio-group.cjs +1 -1
- package/dist/ui/radio-group.d.cts +25 -3
- package/dist/ui/radio-group.d.mts +25 -3
- package/dist/ui/radio-group.mjs +1 -1
- package/dist/ui/resizable.cjs +1 -1
- package/dist/ui/resizable.d.cts +29 -9
- package/dist/ui/resizable.d.mts +29 -9
- package/dist/ui/resizable.mjs +1 -1
- package/dist/ui/scroll-area.cjs +1 -1
- package/dist/ui/scroll-area.cjs.map +1 -1
- package/dist/ui/scroll-area.d.cts +24 -6
- package/dist/ui/scroll-area.d.mts +24 -6
- package/dist/ui/scroll-area.mjs +1 -1
- package/dist/ui/scroll-area.mjs.map +1 -1
- package/dist/ui/select.cjs +1 -1
- package/dist/ui/select.d.cts +43 -9
- package/dist/ui/select.d.mts +43 -9
- package/dist/ui/select.mjs +1 -1
- package/dist/ui/separator.cjs +1 -1
- package/dist/ui/separator.d.cts +23 -2
- package/dist/ui/separator.d.mts +23 -2
- package/dist/ui/separator.mjs +1 -1
- package/dist/ui/sheet.cjs +1 -1
- package/dist/ui/sheet.d.cts +38 -9
- package/dist/ui/sheet.d.mts +38 -9
- package/dist/ui/sheet.mjs +1 -1
- package/dist/ui/sidebar.cjs +1 -1
- package/dist/ui/sidebar.cjs.map +1 -1
- package/dist/ui/sidebar.d.cts +125 -28
- package/dist/ui/sidebar.d.mts +123 -26
- package/dist/ui/sidebar.mjs +1 -1
- package/dist/ui/sidebar.mjs.map +1 -1
- package/dist/ui/skeleton.cjs +1 -1
- package/dist/ui/skeleton.d.cts +19 -2
- package/dist/ui/skeleton.d.mts +19 -2
- package/dist/ui/skeleton.mjs +1 -1
- package/dist/ui/slider.cjs +1 -1
- package/dist/ui/slider.cjs.map +1 -1
- package/dist/ui/slider.d.cts +13 -2
- package/dist/ui/slider.d.mts +13 -2
- package/dist/ui/slider.mjs +1 -1
- package/dist/ui/slider.mjs.map +1 -1
- package/dist/ui/sonner.cjs +1 -1
- package/dist/ui/sonner.cjs.map +1 -1
- package/dist/ui/sonner.d.cts +18 -2
- package/dist/ui/sonner.d.mts +18 -2
- package/dist/ui/sonner.mjs +1 -1
- package/dist/ui/sonner.mjs.map +1 -1
- package/dist/ui/spinner.cjs +1 -1
- package/dist/ui/spinner.d.cts +17 -2
- package/dist/ui/spinner.d.mts +17 -2
- package/dist/ui/spinner.mjs +1 -1
- package/dist/ui/switch.cjs +1 -1
- package/dist/ui/switch.cjs.map +1 -1
- package/dist/ui/switch.d.cts +17 -2
- package/dist/ui/switch.d.mts +17 -2
- package/dist/ui/switch.mjs +1 -1
- package/dist/ui/switch.mjs.map +1 -1
- package/dist/ui/table.cjs +1 -1
- package/dist/ui/table.cjs.map +1 -1
- package/dist/ui/table.d.cts +44 -9
- package/dist/ui/table.d.mts +53 -18
- package/dist/ui/table.mjs +1 -1
- package/dist/ui/table.mjs.map +1 -1
- package/dist/ui/tabs.cjs +1 -1
- package/dist/ui/tabs.cjs.map +1 -1
- package/dist/ui/tabs.d.cts +26 -5
- package/dist/ui/tabs.d.mts +26 -5
- package/dist/ui/tabs.mjs +1 -1
- package/dist/ui/tabs.mjs.map +1 -1
- package/dist/ui/textarea.cjs +1 -1
- package/dist/ui/textarea.d.cts +18 -2
- package/dist/ui/textarea.d.mts +18 -2
- package/dist/ui/textarea.mjs +1 -1
- package/dist/ui/toggle-group.cjs +1 -1
- package/dist/ui/toggle-group.cjs.map +1 -1
- package/dist/ui/toggle-group.d.cts +19 -3
- package/dist/ui/toggle-group.d.mts +19 -3
- package/dist/ui/toggle-group.mjs +1 -1
- package/dist/ui/toggle-group.mjs.map +1 -1
- package/dist/ui/toggle.cjs +1 -1
- package/dist/ui/toggle.cjs.map +1 -1
- package/dist/ui/toggle.d.cts +15 -2
- package/dist/ui/toggle.d.mts +17 -4
- package/dist/ui/toggle.mjs +1 -1
- package/dist/ui/toggle.mjs.map +1 -1
- package/dist/ui/tooltip.cjs +1 -1
- package/dist/ui/tooltip.d.cts +37 -5
- package/dist/ui/tooltip.d.mts +37 -5
- package/dist/ui/tooltip.mjs +1 -1
- package/dist/user-BEyYLDNK.cjs +2 -0
- package/dist/user-BEyYLDNK.cjs.map +1 -0
- package/dist/user-DONsffqr.mjs +2 -0
- package/dist/user-DONsffqr.mjs.map +1 -0
- package/package.json +14 -5
- package/styles/theme.css +44 -23
- package/dist/avatar-DReNH6rV.mjs +0 -2
- package/dist/avatar-DReNH6rV.mjs.map +0 -1
- package/dist/avatar-aVxo69zP.cjs +0 -2
- package/dist/avatar-aVxo69zP.cjs.map +0 -1
- package/dist/badge-B4Fa7-J3.mjs +0 -2
- package/dist/badge-B4Fa7-J3.mjs.map +0 -1
- package/dist/badge-cvLJyaCA.cjs +0 -2
- package/dist/badge-cvLJyaCA.cjs.map +0 -1
- package/dist/button-BFcXpjqF.cjs +0 -2
- package/dist/button-BFcXpjqF.cjs.map +0 -1
- package/dist/button-BQTNG97Y.mjs +0 -2
- package/dist/button-BQTNG97Y.mjs.map +0 -1
- package/dist/button-BX8Kz9y6.d.cts +0 -59
- package/dist/button-Bo4oQsyD.d.mts +0 -59
- package/dist/button.variants-CS-Cmarr.cjs +0 -2
- package/dist/button.variants-CS-Cmarr.cjs.map +0 -1
- package/dist/button.variants-DRWf66hR.mjs +0 -2
- package/dist/button.variants-DRWf66hR.mjs.map +0 -1
- package/dist/calendar-CG-WMM8e.cjs.map +0 -1
- package/dist/calendar-CfOkrubO.mjs +0 -2
- package/dist/calendar-CfOkrubO.mjs.map +0 -1
- package/dist/checkbox-Bg2FiuQw.mjs.map +0 -1
- package/dist/checkbox-C0fSWwmD.cjs.map +0 -1
- package/dist/close-D_Ge7gnP.cjs +0 -2
- package/dist/close-DfuHB7kq.mjs +0 -2
- package/dist/command-DhBTNTqz.mjs.map +0 -1
- package/dist/command-_zpTaaIk.cjs.map +0 -1
- package/dist/data-display/user.cjs.map +0 -1
- package/dist/data-display/user.mjs.map +0 -1
- package/dist/date-By93kONr.mjs +0 -2
- package/dist/date-By93kONr.mjs.map +0 -1
- package/dist/date-em5f7hCx.cjs +0 -2
- package/dist/date-em5f7hCx.cjs.map +0 -1
- package/dist/dialog-CxELDK98.mjs +0 -2
- package/dist/dialog-CxELDK98.mjs.map +0 -1
- package/dist/dialog-DjRiV5vR.cjs +0 -2
- package/dist/dialog-DjRiV5vR.cjs.map +0 -1
- package/dist/dialog-PWeGBpsm.d.mts +0 -47
- package/dist/dialog-aSu9xFOW.d.cts +0 -47
- package/dist/dialogs/detail-dialog/components/sidebar.cjs.map +0 -1
- package/dist/dialogs/detail-dialog/components/sidebar.mjs.map +0 -1
- package/dist/dropdown-menu-B8GUTfTp.mjs +0 -2
- package/dist/dropdown-menu-B8GUTfTp.mjs.map +0 -1
- package/dist/dropdown-menu-BuyuU6uF.cjs +0 -2
- package/dist/dropdown-menu-BuyuU6uF.cjs.map +0 -1
- package/dist/features/search-modal/index.cjs.map +0 -1
- package/dist/features/search-modal/index.mjs.map +0 -1
- package/dist/features/tables/index.cjs.map +0 -1
- package/dist/features/tables/index.mjs.map +0 -1
- package/dist/features/tanstack-form/index.cjs.map +0 -1
- package/dist/features/tanstack-form/index.mjs.map +0 -1
- package/dist/flex-BP8sTi70.mjs.map +0 -1
- package/dist/flex-twCgWyx1.cjs.map +0 -1
- package/dist/heading--VmdIi7C.mjs +0 -2
- package/dist/heading--VmdIi7C.mjs.map +0 -1
- package/dist/heading-BEm5CCSE.cjs +0 -2
- package/dist/heading-BEm5CCSE.cjs.map +0 -1
- package/dist/image-CS_Q0WA7.mjs.map +0 -1
- package/dist/image-DuFv8sPr.cjs.map +0 -1
- package/dist/input-BFWWaN-v.cjs.map +0 -1
- package/dist/input-BgHvD7zf.d.mts +0 -25
- package/dist/input-DBtIgQB6.mjs.map +0 -1
- package/dist/input-DhQmoNrK.d.cts +0 -25
- package/dist/label-BzfsTrVt.cjs.map +0 -1
- package/dist/label-Dqr8nxWi.mjs +0 -2
- package/dist/label-Dqr8nxWi.mjs.map +0 -1
- package/dist/layouts/cms-layout/index.cjs.map +0 -1
- package/dist/layouts/cms-layout/index.mjs.map +0 -1
- package/dist/layouts/payment-layout/index.cjs.map +0 -1
- package/dist/layouts/payment-layout/index.mjs.map +0 -1
- package/dist/paragraph-B72bHMf7.cjs +0 -2
- package/dist/paragraph-B72bHMf7.cjs.map +0 -1
- package/dist/paragraph-moBSTPmT.mjs +0 -2
- package/dist/paragraph-moBSTPmT.mjs.map +0 -1
- package/dist/popover-BckwBuuD.mjs +0 -2
- package/dist/popover-BckwBuuD.mjs.map +0 -1
- package/dist/popover-DzDrgttC.cjs.map +0 -1
- package/dist/radio-group-CBhRsUjN.cjs.map +0 -1
- package/dist/radio-group-Cem8O6BK.mjs.map +0 -1
- package/dist/resizable-DXHfkbaz.mjs.map +0 -1
- package/dist/resizable-mlGS6Zto.cjs.map +0 -1
- package/dist/select-2CgwiefV.cjs.map +0 -1
- package/dist/select-CivtMKTM.mjs.map +0 -1
- package/dist/separator-Bf0gymN4.mjs +0 -2
- package/dist/separator-Bf0gymN4.mjs.map +0 -1
- package/dist/separator-C3ip6sbh.cjs.map +0 -1
- package/dist/sheet-5MJRtrfG.cjs.map +0 -1
- package/dist/sheet-oadGRiie.mjs.map +0 -1
- package/dist/skeleton-Ba6koCVf.mjs +0 -2
- package/dist/skeleton-Ba6koCVf.mjs.map +0 -1
- package/dist/skeleton-CHympz8k.cjs +0 -2
- package/dist/skeleton-CHympz8k.cjs.map +0 -1
- package/dist/spinner-Chm_2fLr.cjs +0 -2
- package/dist/spinner-Chm_2fLr.cjs.map +0 -1
- package/dist/spinner-D1v3Bard.mjs +0 -2
- package/dist/spinner-D1v3Bard.mjs.map +0 -1
- package/dist/textarea-COQoSVSc.cjs.map +0 -1
- package/dist/textarea-bLtmb71c.mjs.map +0 -1
- package/dist/tooltip-B3dTcgcc.mjs +0 -2
- package/dist/tooltip-B3dTcgcc.mjs.map +0 -1
- package/dist/tooltip-DC6i1A25.cjs.map +0 -1
- package/dist/ui/alert.cjs.map +0 -1
- package/dist/ui/alert.mjs.map +0 -1
- package/dist/ui/field.cjs.map +0 -1
- package/dist/ui/field.mjs.map +0 -1
|
@@ -1,79 +1,219 @@
|
|
|
1
|
-
import { t as AnyEntity } from "../../types-
|
|
2
|
-
import { t as Input } from "../../input-
|
|
3
|
-
import * as
|
|
4
|
-
import * as
|
|
1
|
+
import { t as AnyEntity } from "../../types-CDYHkcOk.cjs";
|
|
2
|
+
import { t as Input } from "../../input-DPLvx5x8.cjs";
|
|
3
|
+
import * as react_jsx_runtime332 from "react/jsx-runtime";
|
|
4
|
+
import * as react273 from "react";
|
|
5
5
|
import { AccessorKeyColumnDef, CellContext, Column, ColumnPinningPosition, ColumnPinningState, Header, HeaderGroup, Row, RowSelectionState, Table } from "@tanstack/react-table";
|
|
6
6
|
import { VirtualItem, Virtualizer } from "@tanstack/react-virtual";
|
|
7
7
|
|
|
8
8
|
//#region packages/components/features/tables/components/atoms/badge-display.d.ts
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Renders a pill-shaped badge for a table cell that optionally supports a click
|
|
12
|
+
* action and an inline remove button; falls back to {@link UITableEmpty} when
|
|
13
|
+
* `label` is falsy.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* import { UITableBadgeDisplay } from '@customafk/lunas-ui/features/tables';
|
|
17
|
+
*
|
|
18
|
+
* <UITableBadgeDisplay
|
|
19
|
+
* label="Active"
|
|
20
|
+
* onClick={() => console.log('badge clicked')}
|
|
21
|
+
* onRemove={() => console.log('remove clicked')}
|
|
22
|
+
* />
|
|
23
|
+
*/
|
|
9
24
|
declare const UITableBadgeDisplay: React.FC<{
|
|
25
|
+
/** The text or number to display inside the badge. */
|
|
10
26
|
label: string | number | null | undefined;
|
|
27
|
+
/** Optional callback fired when the badge itself is clicked. */
|
|
11
28
|
onClick?: () => void;
|
|
29
|
+
/** When provided, renders a remove (×) button and fires this callback on click. */
|
|
12
30
|
onRemove?: () => void;
|
|
13
31
|
}>;
|
|
14
32
|
//#endregion
|
|
15
33
|
//#region packages/components/features/tables/components/atoms/boolean-display.d.ts
|
|
34
|
+
/**
|
|
35
|
+
* Displays a green check icon for `true`, a red X icon for `false`, and a
|
|
36
|
+
* double-dash placeholder via {@link UITableEmpty} when the value is
|
|
37
|
+
* `null` or `undefined`.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* import { UITableBooleanDisplay } from '@customafk/lunas-ui/features/tables';
|
|
41
|
+
*
|
|
42
|
+
* <UITableBooleanDisplay value={isActive} />
|
|
43
|
+
*/
|
|
16
44
|
declare const UITableBooleanDisplay: React.FC<{
|
|
45
|
+
/** The boolean value to visualise; `null`/`undefined` renders an empty state. */
|
|
17
46
|
value: boolean | null | undefined;
|
|
18
47
|
}>;
|
|
19
48
|
//#endregion
|
|
20
49
|
//#region packages/components/features/tables/components/atoms/date-display.d.ts
|
|
50
|
+
/** Props for the {@link UITableDateDisplay} component. */
|
|
21
51
|
type Props$2 = {
|
|
52
|
+
/** The date value to format and display; `null`/`undefined` renders an empty state. */
|
|
22
53
|
date: Date | string | number | null | undefined;
|
|
23
54
|
};
|
|
55
|
+
/**
|
|
56
|
+
* Displays a date as a compact badge in a table cell with a tooltip that shows
|
|
57
|
+
* the full date and time on hover; renders {@link UITableEmpty} when `date` is
|
|
58
|
+
* `null` or `undefined`.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* import { UITableDateDisplay } from '@customafk/lunas-ui/features/tables';
|
|
62
|
+
*
|
|
63
|
+
* <UITableDateDisplay date={new Date('2024-06-15T10:30:00Z')} />
|
|
64
|
+
*/
|
|
24
65
|
declare const UITableDateDisplay: React.FC<Props$2>;
|
|
25
66
|
//#endregion
|
|
26
67
|
//#region packages/components/features/tables/components/atoms/description-display.d.ts
|
|
68
|
+
/**
|
|
69
|
+
* Renders a two-line-clamped description in a table cell with a tooltip that
|
|
70
|
+
* reveals the full text and its character count; falls back to
|
|
71
|
+
* {@link UITableEmpty} when `content` is `null` or `undefined`.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* import { UITableDescriptionDisplay } from '@customafk/lunas-ui/features/tables';
|
|
75
|
+
*
|
|
76
|
+
* <UITableDescriptionDisplay content="A detailed description of this record." />
|
|
77
|
+
*/
|
|
27
78
|
declare const UITableDescriptionDisplay: React.FC<{
|
|
79
|
+
/** The text or numeric value to display; `null`/`undefined` renders an empty state. */
|
|
28
80
|
content: string | null | undefined | number;
|
|
29
81
|
}>;
|
|
30
82
|
//#endregion
|
|
31
83
|
//#region packages/components/features/tables/components/atoms/more-button.d.ts
|
|
84
|
+
/**
|
|
85
|
+
* A vertical-ellipsis icon button that opens a dropdown menu populated from the
|
|
86
|
+
* `items` array; intended for use in table row action columns.
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* import { UITableMoreButton } from '@customafk/lunas-ui/features/tables';
|
|
90
|
+
*
|
|
91
|
+
* <UITableMoreButton
|
|
92
|
+
* items={[
|
|
93
|
+
* { id: 'edit', label: 'Edit', onClick: (id) => console.log(id) },
|
|
94
|
+
* { id: 'delete', label: 'Delete', onClick: (id) => console.log(id) },
|
|
95
|
+
* ]}
|
|
96
|
+
* />
|
|
97
|
+
*/
|
|
32
98
|
declare const UITableMoreButton: React.FC<{
|
|
99
|
+
/**
|
|
100
|
+
* List of menu items to render inside the dropdown.
|
|
101
|
+
* Each item must have a unique `id`, a display `label`, and an `onClick`
|
|
102
|
+
* handler that receives the item's `id`.
|
|
103
|
+
*/
|
|
33
104
|
items?: {
|
|
34
105
|
id: string;
|
|
35
106
|
label: string;
|
|
36
107
|
onClick: (id: string) => void;
|
|
37
108
|
}[];
|
|
109
|
+
/** Reserved for future use; currently unused by the component. */
|
|
38
110
|
onClick?: () => void;
|
|
39
111
|
}>;
|
|
40
112
|
//#endregion
|
|
41
113
|
//#region packages/components/features/tables/components/atoms/name-display.d.ts
|
|
114
|
+
/** Props for the {@link UITableNameDisplay} component. */
|
|
42
115
|
type NameDisplayProps = {
|
|
116
|
+
/** The name string to display; renders an empty placeholder when falsy. */
|
|
43
117
|
name?: string | null | undefined;
|
|
44
118
|
};
|
|
119
|
+
/**
|
|
120
|
+
* Renders a clamped, truncated name string inside a tooltip that shows the full
|
|
121
|
+
* text and character count on hover; falls back to {@link UITableEmpty} when the
|
|
122
|
+
* value is absent.
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* import { UITableNameDisplay } from '@customafk/lunas-ui/features/tables';
|
|
126
|
+
*
|
|
127
|
+
* <UITableNameDisplay name="John Doe" />
|
|
128
|
+
*/
|
|
45
129
|
declare const UITableNameDisplay: React.FC<NameDisplayProps>;
|
|
46
130
|
//#endregion
|
|
47
131
|
//#region packages/components/features/tables/components/atoms/permalink.d.ts
|
|
132
|
+
/**
|
|
133
|
+
* Renders an external-link anchor with an icon for use in table cells, opening
|
|
134
|
+
* the target URL in a new tab with safe `rel` attributes.
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* import { UITablePermalink } from '@customafk/lunas-ui/features/tables';
|
|
138
|
+
*
|
|
139
|
+
* <UITablePermalink href="https://example.com/records/42" label="View record" />
|
|
140
|
+
*/
|
|
48
141
|
declare const UITablePermalink: React.FC<{
|
|
142
|
+
/** The destination URL the anchor navigates to. */
|
|
49
143
|
href: string;
|
|
144
|
+
/** Optional display text; falls back to the raw `href` when omitted. */
|
|
50
145
|
label?: string;
|
|
51
146
|
}>;
|
|
52
147
|
//#endregion
|
|
53
148
|
//#region packages/components/features/tables/components/atoms/phone-number.d.ts
|
|
149
|
+
/**
|
|
150
|
+
* Formats and displays a phone number string in a table cell using the
|
|
151
|
+
* `(NXX) NXX-XXXX` pattern, with a tooltip that shows the full international
|
|
152
|
+
* dialling representation.
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* import { UITablePhoneNumberDisplay } from '@customafk/lunas-ui/features/tables';
|
|
156
|
+
*
|
|
157
|
+
* <UITablePhoneNumberDisplay value="0843456789" />
|
|
158
|
+
*/
|
|
54
159
|
declare const UITablePhoneNumberDisplay: React.FC<React.PropsWithChildren<{
|
|
160
|
+
/** The raw phone number string to format and display. */
|
|
55
161
|
value: string;
|
|
56
162
|
}>>;
|
|
57
163
|
//#endregion
|
|
58
164
|
//#region packages/components/features/tables/components/atoms/remove-button.d.ts
|
|
165
|
+
/**
|
|
166
|
+
* A ghost danger icon button with a trash icon that triggers an async removal
|
|
167
|
+
* handler; displays a descriptive tooltip on hover to confirm the action intent.
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
* import { UITableRemoveButton } from '@customafk/lunas-ui/features/tables';
|
|
171
|
+
*
|
|
172
|
+
* <UITableRemoveButton
|
|
173
|
+
* title="Remove member from project"
|
|
174
|
+
* onClick={async () => await deleteRow(rowId)}
|
|
175
|
+
* />
|
|
176
|
+
*/
|
|
59
177
|
declare const UITableRemoveButton: React.FC<{
|
|
178
|
+
/** Tooltip label describing what will be removed; defaults to a generic message. */
|
|
60
179
|
title?: string;
|
|
180
|
+
/** Async-compatible callback invoked when the button is clicked. */
|
|
61
181
|
onClick?: () => void | Promise<void>;
|
|
62
182
|
}>;
|
|
63
183
|
//#endregion
|
|
64
184
|
//#region packages/components/features/tables/components/atoms/statistic.d.ts
|
|
185
|
+
/** Props for the {@link UITableStatisticDisplay} component. */
|
|
65
186
|
type Props$1 = {
|
|
187
|
+
/** Character used to separate the integer and fractional parts (default: `'.'`). */
|
|
66
188
|
decimalSeparator?: string;
|
|
189
|
+
/** Character used to separate thousands groups (default: `','`). */
|
|
67
190
|
groupSeparator?: string;
|
|
191
|
+
/** Optional node rendered before the formatted number (e.g. a currency symbol). */
|
|
68
192
|
prefix?: React.ReactNode;
|
|
193
|
+
/** Optional node rendered after the formatted number (e.g. a unit label). */
|
|
69
194
|
suffix?: React.ReactNode;
|
|
195
|
+
/** Number of decimal digits to display. */
|
|
70
196
|
precision?: number;
|
|
197
|
+
/** Rounding strategy applied before formatting (default: `'round'`). */
|
|
71
198
|
roundingMode?: 'round' | 'floor' | 'ceil';
|
|
199
|
+
/** When `true`, pads the fractional part with trailing zeros up to `precision` digits. */
|
|
72
200
|
showTrailingZeros?: boolean;
|
|
201
|
+
/** Font-size variant for the displayed number (default: `'lg'`). */
|
|
73
202
|
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
203
|
+
/** The numeric or string value to format; falsy / invalid values render an empty state. */
|
|
74
204
|
value: number | string | null | undefined;
|
|
75
205
|
};
|
|
76
|
-
|
|
206
|
+
/**
|
|
207
|
+
* A memoized table-cell component that formats a numeric value with configurable
|
|
208
|
+
* separators, precision, rounding, and size; renders {@link UITableEmpty} when
|
|
209
|
+
* the value is zero, invalid, or absent.
|
|
210
|
+
*
|
|
211
|
+
* @example
|
|
212
|
+
* import { UITableStatisticDisplay } from '@customafk/lunas-ui/features/tables';
|
|
213
|
+
*
|
|
214
|
+
* <UITableStatisticDisplay value={1234567.89} precision={2} prefix="$" size="md" />
|
|
215
|
+
*/
|
|
216
|
+
declare const UITableStatisticDisplay: react273.MemoExoticComponent<({
|
|
77
217
|
decimalSeparator,
|
|
78
218
|
groupSeparator,
|
|
79
219
|
prefix: Prefix,
|
|
@@ -83,183 +223,711 @@ declare const UITableStatisticDisplay: react267.MemoExoticComponent<({
|
|
|
83
223
|
showTrailingZeros,
|
|
84
224
|
size,
|
|
85
225
|
value
|
|
86
|
-
}: Props$1) =>
|
|
226
|
+
}: Props$1) => react_jsx_runtime332.JSX.Element>;
|
|
87
227
|
//#endregion
|
|
88
228
|
//#region packages/components/features/tables/components/atoms/user.d.ts
|
|
229
|
+
/** Props for the {@link UITableUserDataDisplay} component. */
|
|
89
230
|
type Props = {
|
|
231
|
+
/** Unique identifier used to deterministically generate the avatar background colour. */
|
|
90
232
|
uuid?: string | null | undefined;
|
|
233
|
+
/** Display name shown below the avatar; falls back to `'Unknown User'` when absent. */
|
|
91
234
|
username?: string | null | undefined;
|
|
235
|
+
/** Email address shown as secondary text beneath the username. */
|
|
92
236
|
email?: string | null | undefined;
|
|
93
237
|
};
|
|
238
|
+
/**
|
|
239
|
+
* Renders a user avatar paired with username and email for use in table cells;
|
|
240
|
+
* derives a consistent avatar background colour from the user's `uuid` via a
|
|
241
|
+
* colour-hash utility.
|
|
242
|
+
*
|
|
243
|
+
* @example
|
|
244
|
+
* import { UITableUserDataDisplay } from '@customafk/lunas-ui/features/tables';
|
|
245
|
+
*
|
|
246
|
+
* <UITableUserDataDisplay
|
|
247
|
+
* uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890"
|
|
248
|
+
* username="Jane Smith"
|
|
249
|
+
* email="jane@example.com"
|
|
250
|
+
* />
|
|
251
|
+
*/
|
|
94
252
|
declare const UITableUserDataDisplay: React.FC<Props>;
|
|
95
253
|
//#endregion
|
|
96
254
|
//#region packages/components/features/tables/types.d.ts
|
|
255
|
+
/**
|
|
256
|
+
* Base constraint for all row data objects used with UITable.
|
|
257
|
+
*
|
|
258
|
+
* Any property key is allowed so that generic column definitions remain
|
|
259
|
+
* flexible, but the optional `subRows` field is the well-known expansion
|
|
260
|
+
* hook understood by TanStack Table's grouped-row model.
|
|
261
|
+
*/
|
|
97
262
|
type RowData<TData extends RowData<AnyEntity>> = {
|
|
263
|
+
/** Allows any property key so column `accessorKey` values type-check. */
|
|
98
264
|
[x: string | number | symbol]: AnyEntity;
|
|
265
|
+
/** Nested child rows used by the grouped/expanded row model. */
|
|
99
266
|
subRows?: TData[] | undefined;
|
|
100
267
|
};
|
|
268
|
+
/** Props for `UITableEmptyDisplay` — controls which placeholder state is shown. */
|
|
101
269
|
type TUITableEmptyDisplay = {
|
|
270
|
+
/** When `true` a loading spinner is shown instead of the empty-box illustration. */
|
|
102
271
|
isFetching?: boolean;
|
|
272
|
+
/** When `true` (and `isFetching` is `false`) the "No data available" illustration is shown. */
|
|
103
273
|
isEmpty?: boolean;
|
|
104
274
|
};
|
|
275
|
+
/** Props for `UITableWrapper` — all native `<div>` attributes are forwarded. */
|
|
105
276
|
type TUITableWrapper = React.PropsWithChildren<React.ComponentProps<'div'>>;
|
|
277
|
+
/** Props for `UITableInnerWrapper` — all native `<div>` attributes are forwarded. */
|
|
106
278
|
type TUITableInnerWrapper = React.PropsWithChildren<React.ComponentProps<'div'>>;
|
|
279
|
+
/** Props for `UITableInnerTable` — all native `<table>` attributes are forwarded. */
|
|
107
280
|
type TUITableInnerTable = React.PropsWithChildren<React.ComponentProps<'table'>>;
|
|
281
|
+
/** Props for `UITableHead` — all native `<thead>` attributes are forwarded. */
|
|
108
282
|
type TUITableHead = React.PropsWithChildren<React.ComponentProps<'thead'>>;
|
|
283
|
+
/** Props for `UITableHeadCellOption` — the pin/unpin dropdown on a header cell. */
|
|
109
284
|
type TUITableHeadCellOption = {
|
|
285
|
+
/** Current pinning position of the column (`'left'`, `'right'`, or `false`). */
|
|
110
286
|
isPinned?: ColumnPinningPosition;
|
|
287
|
+
/** Whether the column is currently visible; reserved for future hide/show actions. */
|
|
111
288
|
isVisible?: boolean;
|
|
289
|
+
/** Additional CSS classes applied to the dropdown trigger button. */
|
|
112
290
|
className?: string;
|
|
291
|
+
/** Called with `'left'` when the user selects "Pin to Left". */
|
|
113
292
|
onLeftPin?: (pos: ColumnPinningPosition) => void;
|
|
293
|
+
/** Called with `'right'` when the user selects "Pin to Right". */
|
|
114
294
|
onRightPin?: (pos: ColumnPinningPosition) => void;
|
|
295
|
+
/** Called with `false` when the user selects "Unpin". */
|
|
115
296
|
onUnpin?: (pos: ColumnPinningPosition) => void;
|
|
297
|
+
/** Called when the user toggles column visibility via the dropdown. */
|
|
116
298
|
onToggleVisibility?: (props: AnyEntity) => void;
|
|
117
299
|
};
|
|
300
|
+
/** Props for `UITableHeadCellSelect` — the "select all rows" header checkbox cell. */
|
|
118
301
|
type TUITableHeadCellSelect = React.ComponentProps<'th'> & {
|
|
302
|
+
/** Whether the column is pinned to a side (the select cell is always sticky). */
|
|
119
303
|
isPinned?: ColumnPinningPosition;
|
|
304
|
+
/** Reflects `table.getIsAllRowsSelected()` to set the checkbox state. */
|
|
120
305
|
isAllRowsSelected?: boolean;
|
|
306
|
+
/** Calls `table.toggleAllRowsSelected` when the checkbox value changes. */
|
|
121
307
|
onToggleAllRowsSelected?: (value?: boolean) => void;
|
|
122
308
|
};
|
|
309
|
+
/** Props for `UITableHeadRow` — a single header `<tr>` built from a TanStack `HeaderGroup`. */
|
|
123
310
|
type TUITableHeadRow = React.PropsWithChildren<React.ComponentProps<'tr'> & {
|
|
311
|
+
/** The TanStack `HeaderGroup` whose `headers` are rendered as `<th>` cells. */
|
|
124
312
|
headerGroup: HeaderGroup<unknown>;
|
|
313
|
+
/** Forwarded to `UITableHeadCellSelect`; toggles all-row selection. */
|
|
125
314
|
onToggleAllRowsSelected?: (value?: boolean) => void;
|
|
126
315
|
}>;
|
|
316
|
+
/** Props for `UITableHeadCell` — a single data `<th>` with pinning and resize support. */
|
|
127
317
|
type TUITableHeadCell = React.PropsWithChildren<React.ComponentProps<'th'> & {
|
|
318
|
+
/** Whether the column is currently visible (used for future hide/show UI). */
|
|
128
319
|
isVisible?: boolean;
|
|
320
|
+
/** Current pinning position (`'left'`, `'right'`, or `false`). */
|
|
129
321
|
isPinned?: ColumnPinningPosition;
|
|
322
|
+
/** `true` when this is the first cell in the right-pinned group (adds a left border). */
|
|
130
323
|
isFirstCell?: boolean;
|
|
324
|
+
/** `true` when this is the last cell in the left-pinned group (adds a right border). */
|
|
131
325
|
isLastCell?: boolean;
|
|
326
|
+
/** When `false` the pin/unpin option dropdown is hidden (e.g. `actions` column). */
|
|
132
327
|
isOptionsVisible?: boolean;
|
|
328
|
+
/** Column id used to look up the CSS custom property `--header-<id>-size`. */
|
|
133
329
|
headerId?: string;
|
|
330
|
+
/** TanStack `Column` instance used to derive `left`/`right` sticky offsets and size constraints. */
|
|
134
331
|
headerColumn?: Column<unknown, unknown>;
|
|
332
|
+
/** Calls `column.pin` with the chosen `ColumnPinningPosition`. */
|
|
135
333
|
onColumnPin?: (pos: ColumnPinningPosition) => void;
|
|
334
|
+
/** Calls `column.toggleVisibility` when hide/show is triggered from the dropdown. */
|
|
136
335
|
onToggleVisibility?: (value?: boolean) => void;
|
|
137
336
|
}>;
|
|
337
|
+
/** Props for `UITableBody` — the virtual-scroll `<tbody>` container. */
|
|
138
338
|
type TUITableBody = React.PropsWithChildren<React.ComponentProps<'tbody'> & {
|
|
339
|
+
/** When `true` the body renders `null` (loading state is handled by `UITableEmptyDisplay`). */
|
|
139
340
|
isFetching?: boolean;
|
|
341
|
+
/** When `true` the body renders `null` (empty state is handled by `UITableEmptyDisplay`). */
|
|
140
342
|
isEmpty?: boolean;
|
|
343
|
+
/** CSS string for the total virtual height of all rows, e.g. `"4200px"`. */
|
|
141
344
|
height: string;
|
|
142
345
|
}>;
|
|
346
|
+
/** Props for `UITableRow` — a single virtualised data `<tr>`. */
|
|
143
347
|
type TUITableRow = React.ComponentProps<'tr'> & {
|
|
348
|
+
/** The TanStack `Row` object whose visible cells are iterated. */
|
|
144
349
|
row: Row<AnyEntity>;
|
|
350
|
+
/** Whether this row is currently selected (drives `data-selected` attribute). */
|
|
145
351
|
isSelected?: boolean;
|
|
352
|
+
/** Zero-based virtual row index used for `data-index` and passed to `onClickRow`. */
|
|
146
353
|
virtualRowIndex: number;
|
|
354
|
+
/** Pixel offset from the top of the scroll container for the CSS `translateY`. */
|
|
147
355
|
virtualRowStart: number;
|
|
148
356
|
};
|
|
357
|
+
/** Props for `UITableCellSelect` — the per-row selection checkbox `<td>`. */
|
|
149
358
|
type TUITableCellSelect = React.ComponentProps<'td'> & {
|
|
359
|
+
/** Pinning position; the select cell is always rendered sticky regardless. */
|
|
150
360
|
isPinned?: ColumnPinningPosition;
|
|
361
|
+
/** Whether the checkbox should appear checked. */
|
|
151
362
|
isSelected?: boolean;
|
|
363
|
+
/** Calls `row.toggleSelected` when the checkbox value changes. */
|
|
152
364
|
onToggleRowSelected?: (value?: boolean) => void;
|
|
153
365
|
};
|
|
366
|
+
/** Props for `UITableCellActions` — the sticky right-edge actions `<td>`. */
|
|
154
367
|
type TUITableCellActions = React.ComponentProps<'td'> & {
|
|
368
|
+
/** Virtual row index forwarded to the cell renderer via `data-cell`. */
|
|
155
369
|
virtualRowIndex: number;
|
|
370
|
+
/** TanStack `Column` whose `columnDef.cell` is rendered inside the `<td>`. */
|
|
156
371
|
column?: Column<unknown, unknown>;
|
|
372
|
+
/** Returns the `CellContext` passed to `flexRender`. */
|
|
157
373
|
getContext: () => CellContext<unknown, unknown>;
|
|
158
374
|
};
|
|
375
|
+
/** Props for `UITableCell` — a standard data `<td>` with pinning and sizing support. */
|
|
159
376
|
type TUITableCell = React.ComponentProps<'td'> & {
|
|
377
|
+
/** Current pinning position of the column. */
|
|
160
378
|
isPinned?: ColumnPinningPosition;
|
|
379
|
+
/** `true` when this is the first cell in the right-pinned group (adds a left border separator). */
|
|
161
380
|
isFirstCell?: boolean;
|
|
381
|
+
/** `true` when this is the last cell in the left-pinned group (adds a right border separator). */
|
|
162
382
|
isLastCell?: boolean;
|
|
383
|
+
/** Column id used to read `--col-<id>-size` CSS custom property for width. */
|
|
163
384
|
colId?: string;
|
|
385
|
+
/** Unused reserved field for a future per-cell identifier. */
|
|
164
386
|
cellId?: string;
|
|
387
|
+
/** Horizontal alignment of the cell content (`'start'` is the default). */
|
|
165
388
|
position?: 'start' | 'center' | 'end';
|
|
389
|
+
/** TanStack `Column` instance used to derive sticky offsets and content-fit sizing. */
|
|
166
390
|
column?: Column<unknown, unknown>;
|
|
391
|
+
/** Returns the `CellContext` passed to `flexRender`. */
|
|
167
392
|
getContext: () => CellContext<unknown, unknown>;
|
|
168
393
|
};
|
|
394
|
+
/** Props for `UITableFooter` — all native `<tfoot>` attributes are forwarded. */
|
|
169
395
|
type TUITableFooter = React.PropsWithChildren<React.ComponentProps<'tfoot'>>;
|
|
396
|
+
/** Props for `UITableLoadMore` — the append-row "load more" trigger. */
|
|
170
397
|
type TUITableLoadMore = React.PropsWithChildren<React.ComponentProps<'tr'> & {
|
|
398
|
+
/** Virtual index of this synthetic row (appended after the last data row). */
|
|
171
399
|
virtualRowIndex: number;
|
|
400
|
+
/** Pixel offset used for the CSS `translateY` to position the row correctly. */
|
|
172
401
|
virtualRowStart: number;
|
|
402
|
+
/**
|
|
403
|
+
* Async callback that fetches the next page of data.
|
|
404
|
+
* When omitted the component renders `null`.
|
|
405
|
+
*/
|
|
173
406
|
fetchMoreData?: () => void | Promise<void>;
|
|
174
407
|
}>;
|
|
408
|
+
/**
|
|
409
|
+
* Typed column definition accepted by `UITableProvider`.
|
|
410
|
+
*
|
|
411
|
+
* Extends TanStack's `AccessorKeyColumnDef` with a typed `meta` block so that
|
|
412
|
+
* the alignment and auto-fit behaviour can be specified in a type-safe manner.
|
|
413
|
+
*/
|
|
175
414
|
type TUITableColumn<TData extends RowData<TData>> = Pick<AccessorKeyColumnDef<TData, AnyEntity>, 'id' | 'accessorKey' | 'size' | 'maxSize' | 'minSize' | 'header' | 'cell' | 'meta'> & {
|
|
176
415
|
meta?: {
|
|
416
|
+
/** Horizontal alignment of the column's cells and header. Defaults to `'start'`. */
|
|
177
417
|
position?: 'start' | 'center' | 'end';
|
|
418
|
+
/** When `true`, the cell auto-expands to fit its rendered content width. */
|
|
178
419
|
fitContent?: boolean;
|
|
179
420
|
};
|
|
180
421
|
};
|
|
422
|
+
/**
|
|
423
|
+
* Value shape of the root `TableContext` consumed by toolbar and body
|
|
424
|
+
* components via `useUITableContext`.
|
|
425
|
+
*/
|
|
181
426
|
type TTableContext<TData extends RowData<TData>> = {
|
|
427
|
+
/** Human-readable table title rendered in `UITableTooltip`. */
|
|
182
428
|
title: string;
|
|
429
|
+
/** The TanStack `Table` instance for the current dataset. */
|
|
183
430
|
table: Table<TData>;
|
|
431
|
+
/** `true` when no rows exist after a successful (non-loading) fetch. */
|
|
184
432
|
isEmpty: boolean;
|
|
433
|
+
/** `true` while the initial data fetch is in-flight. */
|
|
185
434
|
isFetching?: boolean;
|
|
435
|
+
/** `true` while a background refetch is running (data is already present). */
|
|
186
436
|
isRefetching?: boolean;
|
|
437
|
+
/** Total number of rows in the remote dataset, used for virtual scroll height. */
|
|
187
438
|
totalRows?: number;
|
|
439
|
+
/** Callback that loads the next page; forwarded to `UITableLoadMore`. */
|
|
188
440
|
fetchMoreData?: () => void | Promise<void>;
|
|
189
441
|
};
|
|
442
|
+
/** Context value provided by `UITableInnerWrapperProvider`. */
|
|
190
443
|
type TTableInnerWrapperContext = {
|
|
444
|
+
/** Stable `useId`-generated id on the scrollable inner wrapper `<div>`. */
|
|
191
445
|
innerWrapperId: string;
|
|
192
446
|
};
|
|
447
|
+
/** Context value provided by `UITableInnerTableProvider`. */
|
|
193
448
|
type TTableInnerTableContext = {
|
|
449
|
+
/** The TanStack `Table` instance (typed as `AnyEntity` for the context boundary). */
|
|
194
450
|
table: Table<AnyEntity>;
|
|
451
|
+
/** Stable `useId`-generated id on the `<table>` element. */
|
|
195
452
|
innerTableId: string;
|
|
453
|
+
/** Pre-computed sum of all column sizes used as the `<table>` `minWidth`. */
|
|
196
454
|
totalSize: number;
|
|
197
455
|
};
|
|
456
|
+
/** Context value provided by `UITableHeadRowProvider`. */
|
|
198
457
|
type TTableHeadRowContext = {
|
|
458
|
+
/** Whether every visible row is currently selected. */
|
|
199
459
|
isAllRowsSelected: boolean;
|
|
460
|
+
/** The current `{ left, right }` column pinning map. */
|
|
200
461
|
columnPinningState: ColumnPinningState;
|
|
462
|
+
/** Ordered list of `Header` objects in the left-pinned group. */
|
|
201
463
|
leftPinnedHeaders: Header<AnyEntity, unknown>[];
|
|
464
|
+
/** Ordered list of `Header` objects in the right-pinned group. */
|
|
202
465
|
rightPinnedHeaders: Header<AnyEntity, unknown>[];
|
|
466
|
+
/** Toggles all-row selection; delegates to `table.toggleAllRowsSelected`. */
|
|
203
467
|
onToggleAllRowsSelected?: (value?: boolean) => void;
|
|
204
468
|
};
|
|
469
|
+
/** Context value provided by `UITableBodyProvider`. */
|
|
205
470
|
type TTableBodyContext = {
|
|
471
|
+
/** `true` while data is loading; causes `UITableBody` to render `null`. */
|
|
206
472
|
isFetching: boolean;
|
|
473
|
+
/** `true` when there are no rows after a successful fetch. */
|
|
207
474
|
isEmpty: boolean;
|
|
475
|
+
/** The current `Record<rowId, boolean>` row-selection map from TanStack state. */
|
|
208
476
|
rowSelectionState: RowSelectionState;
|
|
209
477
|
};
|
|
478
|
+
/** Context value provided by `UITableRowProvider`, consumed by individual `UITableRow` renders. */
|
|
210
479
|
type TTableRowContext<TData extends RowData<TData> = RowData<AnyEntity>, TKey extends keyof TData = keyof TData> = {
|
|
480
|
+
/** The data key whose value is passed as the second argument to `onClickRow`. */
|
|
211
481
|
keyOfClickRow?: TKey;
|
|
482
|
+
/** Whether all rows are selected (drives the select cell's checked state). */
|
|
212
483
|
isAllRowsSelected?: boolean;
|
|
484
|
+
/** The current `{ left, right }` column pinning map used by each cell. */
|
|
213
485
|
columnPinningState: ColumnPinningState;
|
|
486
|
+
/** Called with the virtual row index and the extracted `keyOfClickRow` value. */
|
|
214
487
|
onClickRow?: (rowIndex: number, rowId?: AnyEntity) => void;
|
|
488
|
+
/** Left-pinned headers used to determine border separator placement. */
|
|
215
489
|
leftPinnedHeaders?: Header<TData, unknown>[];
|
|
490
|
+
/** Right-pinned headers used to determine border separator placement. */
|
|
216
491
|
rightPinnedHeaders?: Header<TData, unknown>[];
|
|
217
492
|
};
|
|
493
|
+
/** Context value for the virtualiser, shared between the body and the load-more row. */
|
|
218
494
|
type TTableVirtualizerContext = {
|
|
495
|
+
/** The TanStack Virtual `Virtualizer` instance driving row windowing. */
|
|
219
496
|
rowVirtualizer: Virtualizer<HTMLDivElement, HTMLTableRowElement>;
|
|
497
|
+
/** The currently visible `VirtualItem` slice (index + start offset for each row). */
|
|
220
498
|
virtualItems: VirtualItem[];
|
|
221
499
|
};
|
|
500
|
+
/**
|
|
501
|
+
* Props accepted by `UITableProvider` — the single entry point for configuring
|
|
502
|
+
* a UITable instance.
|
|
503
|
+
*
|
|
504
|
+
* @example
|
|
505
|
+
* ```tsx
|
|
506
|
+
* import { UITableProvider } from '@customafk/lunas-ui/features/tables';
|
|
507
|
+
*
|
|
508
|
+
* <UITableProvider<User>
|
|
509
|
+
* title="Users"
|
|
510
|
+
* data={users}
|
|
511
|
+
* columns={columns}
|
|
512
|
+
* totalRows={total}
|
|
513
|
+
* isFetching={isLoading}
|
|
514
|
+
* leftPinnedColumns={['name']}
|
|
515
|
+
* onClickRow={(index, id) => openDetail(id)}
|
|
516
|
+
* onRowSelection={sel => setSelected(sel)}
|
|
517
|
+
* fetchMoreData={fetchNextPage}
|
|
518
|
+
* >
|
|
519
|
+
* <UITable />
|
|
520
|
+
* </UITableProvider>
|
|
521
|
+
* ```
|
|
522
|
+
*/
|
|
222
523
|
type TableProviderProps<TData extends RowData<TData>, TKey extends keyof TData = keyof TData, TColumns extends ReadonlyArray<TUITableColumn<TData>> = TUITableColumn<TData>[]> = {
|
|
524
|
+
/** Human-readable label shown in `UITableTooltip`. */
|
|
223
525
|
title: string;
|
|
526
|
+
/** Pass `true` while the initial page of data is being fetched. */
|
|
224
527
|
isFetching?: boolean;
|
|
528
|
+
/** Pass `true` while a background refetch is running (stale data remains visible). */
|
|
225
529
|
isRefetching?: boolean;
|
|
530
|
+
/** The current page / slice of row data. */
|
|
226
531
|
data: TData[];
|
|
532
|
+
/** Typed column definitions; use `TUITableColumn<TData>` for full type safety. */
|
|
227
533
|
columns: TColumns;
|
|
534
|
+
/** Total number of rows in the remote dataset; required for accurate virtual-scroll height. */
|
|
228
535
|
totalRows?: number;
|
|
536
|
+
/**
|
|
537
|
+
* Async callback invoked by `UITableLoadMore` when the user scrolls to the
|
|
538
|
+
* bottom or clicks "Load More". Omit to hide the load-more row entirely.
|
|
539
|
+
*/
|
|
229
540
|
fetchMoreData?: () => void | Promise<void>;
|
|
541
|
+
/** Column accessor keys to pin on the left (the `select` column is always pinned left). */
|
|
230
542
|
leftPinnedColumns?: Array<TColumns[number]['accessorKey']>;
|
|
543
|
+
/** Column accessor keys (or plain string ids) to pin on the right. */
|
|
231
544
|
rightPinnedColumns?: Array<TColumns[number]['accessorKey']> | string[];
|
|
545
|
+
/** Data key whose value is extracted and passed as the second argument of `onClickRow`. */
|
|
232
546
|
keyOfClickRow?: TTableRowContext<TData, TKey>['keyOfClickRow'];
|
|
547
|
+
/** Called with the virtual row index and the value of `keyOfClickRow` when a row is clicked. */
|
|
233
548
|
onClickRow?: TTableRowContext<TData, TKey>['onClickRow'];
|
|
549
|
+
/** Called with the updated row-selection map after each selection change. */
|
|
234
550
|
onRowSelection?: (rowSelection: RowSelectionState) => void;
|
|
551
|
+
/** Called with the updated column-pinning state after each pin/unpin action. */
|
|
235
552
|
onColumnPinning?: (columnPinning: ColumnPinningState) => void;
|
|
236
553
|
};
|
|
237
554
|
//#endregion
|
|
238
555
|
//#region packages/components/features/tables/components/common.d.ts
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
556
|
+
/**
|
|
557
|
+
* Ellipsis dropdown menu attached to a header cell that lets the user pin the
|
|
558
|
+
* column to the left, pin it to the right, or unpin it.
|
|
559
|
+
*
|
|
560
|
+
* The trigger button is invisible until the parent `<th>` is hovered
|
|
561
|
+
* (`group-hover:opacity-100`), keeping the header clean by default.
|
|
562
|
+
*
|
|
563
|
+
* @example
|
|
564
|
+
* ```tsx
|
|
565
|
+
* import { UITableHeadCellOption } from '@customafk/lunas-ui/features/tables';
|
|
566
|
+
*
|
|
567
|
+
* <UITableHeadCellOption
|
|
568
|
+
* isPinned="left"
|
|
569
|
+
* onLeftPin={col.pin}
|
|
570
|
+
* onRightPin={col.pin}
|
|
571
|
+
* onUnpin={col.pin}
|
|
572
|
+
* />
|
|
573
|
+
* ```
|
|
574
|
+
*/
|
|
575
|
+
declare const UITableHeadCellOption: react273.NamedExoticComponent<TUITableHeadCellOption>;
|
|
576
|
+
/**
|
|
577
|
+
* Sticky `<th>` cell that renders a "select all rows" checkbox in the leftmost
|
|
578
|
+
* header position.
|
|
579
|
+
*
|
|
580
|
+
* The cell is always pinned at `left: 0` and uses a fixed width of
|
|
581
|
+
* `SELECT_WIDTH` to align with the corresponding body select cells.
|
|
582
|
+
*
|
|
583
|
+
* @example
|
|
584
|
+
* ```tsx
|
|
585
|
+
* import { UITableHeadCellSelect } from '@customafk/lunas-ui/features/tables';
|
|
586
|
+
*
|
|
587
|
+
* <UITableHeadCellSelect
|
|
588
|
+
* isPinned="left"
|
|
589
|
+
* isAllRowsSelected={table.getIsAllRowsSelected()}
|
|
590
|
+
* onToggleAllRowsSelected={table.toggleAllRowsSelected}
|
|
591
|
+
* />
|
|
592
|
+
* ```
|
|
593
|
+
*/
|
|
594
|
+
declare const UITableHeadCellSelect: react273.NamedExoticComponent<TUITableHeadCellSelect>;
|
|
595
|
+
/**
|
|
596
|
+
* Overlay displayed in place of table rows when the table is loading data or
|
|
597
|
+
* when the dataset is empty after a successful fetch.
|
|
598
|
+
*
|
|
599
|
+
* Returns `null` when neither `isEmpty` nor `isFetching` is true, so it adds
|
|
600
|
+
* zero DOM overhead during normal rendering.
|
|
601
|
+
*
|
|
602
|
+
* @example
|
|
603
|
+
* ```tsx
|
|
604
|
+
* import { UITableEmptyDisplay } from '@customafk/lunas-ui/features/tables';
|
|
605
|
+
*
|
|
606
|
+
* <UITableEmptyDisplay isFetching={isLoading} isEmpty={data.length === 0} />
|
|
607
|
+
* ```
|
|
608
|
+
*/
|
|
609
|
+
declare const UITableEmptyDisplay: react273.NamedExoticComponent<TUITableEmptyDisplay>;
|
|
610
|
+
/**
|
|
611
|
+
* Outermost layout container for the entire UITable composition.
|
|
612
|
+
*
|
|
613
|
+
* Renders a full-width, full-height flex column that positions the toolbar,
|
|
614
|
+
* the scrollable table area, and the footer in a single stack.
|
|
615
|
+
*
|
|
616
|
+
* @example
|
|
617
|
+
* ```tsx
|
|
618
|
+
* import { UITableWrapper } from '@customafk/lunas-ui/features/tables';
|
|
619
|
+
*
|
|
620
|
+
* <UITableWrapper className="h-[600px]">
|
|
621
|
+
* {children}
|
|
622
|
+
* </UITableWrapper>
|
|
623
|
+
* ```
|
|
624
|
+
*/
|
|
625
|
+
declare const UITableWrapper: react273.NamedExoticComponent<TUITableWrapper>;
|
|
626
|
+
/**
|
|
627
|
+
* Scrollable `<div>` that wraps the `<table>` element and acts as the
|
|
628
|
+
* viewport for both horizontal and vertical virtual scrolling.
|
|
629
|
+
*
|
|
630
|
+
* Reads its stable id from `UITableInnerWrapperContext` so that other
|
|
631
|
+
* components (e.g. `UITableLoadMore`) can reference the DOM node via
|
|
632
|
+
* `document.querySelector` without prop-drilling.
|
|
633
|
+
*
|
|
634
|
+
* @example
|
|
635
|
+
* ```tsx
|
|
636
|
+
* import { UITableInnerWrapper } from '@customafk/lunas-ui/features/tables';
|
|
637
|
+
*
|
|
638
|
+
* <UITableInnerWrapper>
|
|
639
|
+
* <UITableInnerTable>…</UITableInnerTable>
|
|
640
|
+
* </UITableInnerWrapper>
|
|
641
|
+
* ```
|
|
642
|
+
*/
|
|
643
|
+
declare const UITableInnerWrapper: react273.NamedExoticComponent<TUITableInnerWrapper>;
|
|
644
|
+
/**
|
|
645
|
+
* The actual `<table>` element that drives the UITable layout.
|
|
646
|
+
*
|
|
647
|
+
* Attaches a `ResizeObserver` to the table element and calculates per-column
|
|
648
|
+
* CSS custom properties (`--header-<id>-size`, `--col-<id>-size`) in a single
|
|
649
|
+
* pass on every resize, avoiding expensive per-cell `column.getSize()` calls.
|
|
650
|
+
* Flexible columns share the remaining width equally; fixed-size and pinned
|
|
651
|
+
* columns are excluded from the distribution.
|
|
652
|
+
*
|
|
653
|
+
* @example
|
|
654
|
+
* ```tsx
|
|
655
|
+
* import { UITableInnerTable } from '@customafk/lunas-ui/features/tables';
|
|
656
|
+
*
|
|
657
|
+
* <UITableInnerTable>
|
|
658
|
+
* <UITableHead>…</UITableHead>
|
|
659
|
+
* <UITableBody height="600px">…</UITableBody>
|
|
660
|
+
* </UITableInnerTable>
|
|
661
|
+
* ```
|
|
662
|
+
*/
|
|
663
|
+
declare const UITableInnerTable: react273.NamedExoticComponent<TUITableInnerTable>;
|
|
664
|
+
/**
|
|
665
|
+
* Sticky `<thead>` element that stays fixed at the top of the scrollable
|
|
666
|
+
* table area while the body scrolls beneath it.
|
|
667
|
+
*
|
|
668
|
+
* Applies column-border, background, and font styling uniformly to all
|
|
669
|
+
* descendant `<th>` elements via Tailwind child selectors.
|
|
670
|
+
*
|
|
671
|
+
* @example
|
|
672
|
+
* ```tsx
|
|
673
|
+
* import { UITableHead } from '@customafk/lunas-ui/features/tables';
|
|
674
|
+
*
|
|
675
|
+
* <UITableHead>
|
|
676
|
+
* {table.getHeaderGroups().map(hg => (
|
|
677
|
+
* <UITableHeadRow key={hg.id} headerGroup={hg} />
|
|
678
|
+
* ))}
|
|
679
|
+
* </UITableHead>
|
|
680
|
+
* ```
|
|
681
|
+
*/
|
|
682
|
+
declare const UITableHead: react273.NamedExoticComponent<TUITableHead>;
|
|
683
|
+
/**
|
|
684
|
+
* Renders a single `<tr>` for a TanStack `HeaderGroup`, mapping each header
|
|
685
|
+
* to either `UITableHeadCellSelect` (for the `select` column) or
|
|
686
|
+
* `UITableHeadCell` (for all other columns).
|
|
687
|
+
*
|
|
688
|
+
* Reads pinning state and "select all" handler from `UITableHeadRowContext`
|
|
689
|
+
* so the row itself does not need to receive those as props.
|
|
690
|
+
*
|
|
691
|
+
* @example
|
|
692
|
+
* ```tsx
|
|
693
|
+
* import { UITableHeadRow } from '@customafk/lunas-ui/features/tables';
|
|
694
|
+
*
|
|
695
|
+
* {table.getHeaderGroups().map(hg => (
|
|
696
|
+
* <UITableHeadRow key={hg.id} headerGroup={hg} />
|
|
697
|
+
* ))}
|
|
698
|
+
* ```
|
|
699
|
+
*/
|
|
700
|
+
declare const UITableHeadRow: react273.NamedExoticComponent<TUITableHeadRow>;
|
|
701
|
+
/**
|
|
702
|
+
* Individual `<th>` cell that supports left/right sticky pinning, dynamic
|
|
703
|
+
* CSS-variable-driven width, min/max size constraints, and an optional
|
|
704
|
+
* `UITableHeadCellOption` pin/unpin dropdown.
|
|
705
|
+
*
|
|
706
|
+
* Width is driven by the CSS custom property `--header-<headerId>-size` set
|
|
707
|
+
* by `UITableInnerTable`, avoiding per-cell `column.getSize()` calls.
|
|
708
|
+
*
|
|
709
|
+
* @example
|
|
710
|
+
* ```tsx
|
|
711
|
+
* import { UITableHeadCell } from '@customafk/lunas-ui/features/tables';
|
|
712
|
+
*
|
|
713
|
+
* <UITableHeadCell
|
|
714
|
+
* headerId={header.id}
|
|
715
|
+
* headerColumn={header.column}
|
|
716
|
+
* isPinned="left"
|
|
717
|
+
* isLastCell
|
|
718
|
+
* onColumnPin={header.column.pin}
|
|
719
|
+
* >
|
|
720
|
+
* {flexRender(header.column.columnDef.header, header.getContext())}
|
|
721
|
+
* </UITableHeadCell>
|
|
722
|
+
* ```
|
|
723
|
+
*/
|
|
724
|
+
declare const UITableHeadCell: react273.NamedExoticComponent<TUITableHeadCell>;
|
|
725
|
+
/**
|
|
726
|
+
* `<tbody>` element that acts as the virtual-scroll container.
|
|
727
|
+
*
|
|
728
|
+
* Renders `null` while data is loading or the table is empty (the
|
|
729
|
+
* `UITableEmptyDisplay` overlay handles those states instead). The `height`
|
|
730
|
+
* prop must be supplied as the total height of all virtual rows so that the
|
|
731
|
+
* scroll track reflects the full dataset length.
|
|
732
|
+
*
|
|
733
|
+
* @example
|
|
734
|
+
* ```tsx
|
|
735
|
+
* import { UITableBody } from '@customafk/lunas-ui/features/tables';
|
|
736
|
+
*
|
|
737
|
+
* <UITableBody height={`${rowVirtualizer.getTotalSize()}px`}>
|
|
738
|
+
* {virtualItems.map(vRow => (
|
|
739
|
+
* <UITableRow key={vRow.index} … />
|
|
740
|
+
* ))}
|
|
741
|
+
* </UITableBody>
|
|
742
|
+
* ```
|
|
743
|
+
*/
|
|
744
|
+
declare const UITableBody: react273.NamedExoticComponent<TUITableBody>;
|
|
745
|
+
/**
|
|
746
|
+
* Virtualised `<tr>` that renders a single data row by translating itself to
|
|
747
|
+
* the correct vertical position via a CSS `transform`.
|
|
748
|
+
*
|
|
749
|
+
* Iterates the row's visible cells and delegates to `UITableCellActions`,
|
|
750
|
+
* `UITableCellSelect`, or `UITableCell` based on the column id. Click
|
|
751
|
+
* handling, pinning state, and the "select all" flag are sourced from
|
|
752
|
+
* `UITableRowContext`.
|
|
753
|
+
*
|
|
754
|
+
* @example
|
|
755
|
+
* ```tsx
|
|
756
|
+
* import { UITableRow } from '@customafk/lunas-ui/features/tables';
|
|
757
|
+
*
|
|
758
|
+
* {virtualItems.map(vRow => {
|
|
759
|
+
* const row = rows[vRow.index];
|
|
760
|
+
* return (
|
|
761
|
+
* <UITableRow
|
|
762
|
+
* key={row.id}
|
|
763
|
+
* row={row}
|
|
764
|
+
* isSelected={row.getIsSelected()}
|
|
765
|
+
* virtualRowIndex={vRow.index}
|
|
766
|
+
* virtualRowStart={vRow.start}
|
|
767
|
+
* />
|
|
768
|
+
* );
|
|
769
|
+
* })}
|
|
770
|
+
* ```
|
|
771
|
+
*/
|
|
772
|
+
declare const UITableRow: react273.NamedExoticComponent<TUITableRow>;
|
|
773
|
+
/**
|
|
774
|
+
* Sticky `<td>` cell in the leftmost column that renders a per-row selection
|
|
775
|
+
* checkbox.
|
|
776
|
+
*
|
|
777
|
+
* The cell stops click-event propagation so that selecting a row does not also
|
|
778
|
+
* trigger the row's `onClickRow` handler.
|
|
779
|
+
*
|
|
780
|
+
* @example
|
|
781
|
+
* ```tsx
|
|
782
|
+
* import { UITableCellSelect } from '@customafk/lunas-ui/features/tables';
|
|
783
|
+
*
|
|
784
|
+
* <UITableCellSelect
|
|
785
|
+
* isPinned="left"
|
|
786
|
+
* isSelected={row.getIsSelected()}
|
|
787
|
+
* onToggleRowSelected={row.toggleSelected}
|
|
788
|
+
* />
|
|
789
|
+
* ```
|
|
790
|
+
*/
|
|
791
|
+
declare const UITableCellSelect: react273.NamedExoticComponent<TUITableCellSelect>;
|
|
792
|
+
/**
|
|
793
|
+
* Sticky `<td>` cell pinned to the right edge of each row that renders the
|
|
794
|
+
* column's custom `cell` renderer (typically a row-action menu).
|
|
795
|
+
*
|
|
796
|
+
* The cell is always sticky (`right: 0`, `z-index: 50`) and gains a hover
|
|
797
|
+
* background via the `group-hover` Tailwind variant on the parent `<tr>`.
|
|
798
|
+
*
|
|
799
|
+
* @example
|
|
800
|
+
* ```tsx
|
|
801
|
+
* import { UITableCellActions } from '@customafk/lunas-ui/features/tables';
|
|
802
|
+
*
|
|
803
|
+
* <UITableCellActions
|
|
804
|
+
* virtualRowIndex={vRow.index}
|
|
805
|
+
* column={cell.column}
|
|
806
|
+
* getContext={cell.getContext}
|
|
807
|
+
* />
|
|
808
|
+
* ```
|
|
809
|
+
*/
|
|
810
|
+
declare const UITableCellActions: react273.NamedExoticComponent<TUITableCellActions>;
|
|
811
|
+
/**
|
|
812
|
+
* Standard `<td>` data cell with support for left/right sticky pinning,
|
|
813
|
+
* CSS-variable-driven width, content-fit auto-sizing, and configurable
|
|
814
|
+
* horizontal alignment (`start` | `center` | `end`).
|
|
815
|
+
*
|
|
816
|
+
* A `ResizeObserver` on the inner content div measures actual rendered content
|
|
817
|
+
* width and calls `table.setColumnSizing` when the content overflows the
|
|
818
|
+
* column's current size, but only when the column definition has
|
|
819
|
+
* `meta.fitContent: true`.
|
|
820
|
+
*
|
|
821
|
+
* @example
|
|
822
|
+
* ```tsx
|
|
823
|
+
* import { UITableCell } from '@customafk/lunas-ui/features/tables';
|
|
824
|
+
*
|
|
825
|
+
* <UITableCell
|
|
826
|
+
* colId={cell.column.id}
|
|
827
|
+
* isPinned="left"
|
|
828
|
+
* position="start"
|
|
829
|
+
* column={cell.column}
|
|
830
|
+
* getContext={cell.getContext}
|
|
831
|
+
* />
|
|
832
|
+
* ```
|
|
833
|
+
*/
|
|
834
|
+
declare const UITableCell: react273.NamedExoticComponent<TUITableCell>;
|
|
835
|
+
/**
|
|
836
|
+
* `<tfoot>` element rendered below the table body, typically used for
|
|
837
|
+
* summary rows or pagination controls.
|
|
838
|
+
*
|
|
839
|
+
* @example
|
|
840
|
+
* ```tsx
|
|
841
|
+
* import { UITableFooter } from '@customafk/lunas-ui/features/tables';
|
|
842
|
+
*
|
|
843
|
+
* <UITableFooter>
|
|
844
|
+
* <tr><td>Total: {totalRows}</td></tr>
|
|
845
|
+
* </UITableFooter>
|
|
846
|
+
* ```
|
|
847
|
+
*/
|
|
848
|
+
declare const UITableFooter: react273.NamedExoticComponent<TUITableFooter>;
|
|
849
|
+
/**
|
|
850
|
+
* Virtualised `<tr>` appended after the last data row that renders a
|
|
851
|
+
* "Load More" / "Loading…" / "Error! Retry?" button.
|
|
852
|
+
*
|
|
853
|
+
* Returns `null` when `fetchMoreData` is not provided, making it safe to
|
|
854
|
+
* include unconditionally in the row list. A `ResizeObserver` on the inner
|
|
855
|
+
* wrapper ensures the row always matches the current table width.
|
|
856
|
+
*
|
|
857
|
+
* @example
|
|
858
|
+
* ```tsx
|
|
859
|
+
* import { UITableLoadMore } from '@customafk/lunas-ui/features/tables';
|
|
860
|
+
*
|
|
861
|
+
* <UITableLoadMore
|
|
862
|
+
* virtualRowIndex={rows.length}
|
|
863
|
+
* virtualRowStart={rowVirtualizer.getTotalSize()}
|
|
864
|
+
* fetchMoreData={fetchNextPage}
|
|
865
|
+
* />
|
|
866
|
+
* ```
|
|
867
|
+
*/
|
|
868
|
+
declare const UITableLoadMore: react273.NamedExoticComponent<TUITableLoadMore>;
|
|
255
869
|
//#endregion
|
|
256
870
|
//#region packages/components/features/tables/components/table.d.ts
|
|
257
871
|
declare const UITableContainer: React.FC<React.PropsWithChildren>;
|
|
258
872
|
//#endregion
|
|
259
873
|
//#region packages/components/features/tables/components/table/filter.d.ts
|
|
260
|
-
|
|
874
|
+
/**
|
|
875
|
+
* Collapsible side-panel that lets users toggle column visibility and (in
|
|
876
|
+
* future) add row filters without leaving the table view.
|
|
877
|
+
*
|
|
878
|
+
* The panel collapses to a narrow icon strip when no tab is active and expands
|
|
879
|
+
* to at least 64 units when the "Columns" or "Filters" tab is selected. The
|
|
880
|
+
* `select` and `actions` columns are excluded from the visibility list.
|
|
881
|
+
*
|
|
882
|
+
* @example
|
|
883
|
+
* ```tsx
|
|
884
|
+
* import { UITableFilter } from '@customafk/lunas-ui/features/tables';
|
|
885
|
+
*
|
|
886
|
+
* // Render inside a ResizablePanelGroup alongside UITable
|
|
887
|
+
* <ResizablePanelGroup direction="horizontal">
|
|
888
|
+
* <ResizablePanel>
|
|
889
|
+
* <UITable />
|
|
890
|
+
* </ResizablePanel>
|
|
891
|
+
* <ResizableHandle />
|
|
892
|
+
* <UITableFilter />
|
|
893
|
+
* </ResizablePanelGroup>
|
|
894
|
+
* ```
|
|
895
|
+
*/
|
|
896
|
+
declare const UITableFilter: () => react_jsx_runtime332.JSX.Element;
|
|
261
897
|
//#endregion
|
|
262
898
|
//#region packages/components/features/tables/components/table/provider.d.ts
|
|
899
|
+
/**
|
|
900
|
+
* Root context provider for the UITable component family.
|
|
901
|
+
*
|
|
902
|
+
* Instantiates a TanStack Table instance with virtualisation-friendly settings
|
|
903
|
+
* (column pinning, row selection, row grouping, row expansion) and propagates
|
|
904
|
+
* all derived state through a nested set of memoised context providers so that
|
|
905
|
+
* each layer only re-renders when its own slice of state changes.
|
|
906
|
+
*
|
|
907
|
+
* @example
|
|
908
|
+
* ```tsx
|
|
909
|
+
* import { UITableProvider } from '@customafk/lunas-ui/features/tables';
|
|
910
|
+
*
|
|
911
|
+
* const columns = [
|
|
912
|
+
* { accessorKey: 'name', header: 'Name' },
|
|
913
|
+
* { accessorKey: 'email', header: 'Email' },
|
|
914
|
+
* ];
|
|
915
|
+
*
|
|
916
|
+
* function MyPage() {
|
|
917
|
+
* return (
|
|
918
|
+
* <UITableProvider
|
|
919
|
+
* title="Users"
|
|
920
|
+
* data={users}
|
|
921
|
+
* columns={columns}
|
|
922
|
+
* isFetching={isLoading}
|
|
923
|
+
* onClickRow={(index, id) => console.log(index, id)}
|
|
924
|
+
* >
|
|
925
|
+
* <UITable />
|
|
926
|
+
* </UITableProvider>
|
|
927
|
+
* );
|
|
928
|
+
* }
|
|
929
|
+
* ```
|
|
930
|
+
*/
|
|
263
931
|
declare const UITableProvider: <TData extends RowData<TData> = RowData<AnyEntity>, TKey extends keyof TData = keyof TData, TColumns extends ReadonlyArray<TUITableColumn<TData>> = TUITableColumn<TData>[]>({
|
|
264
932
|
title,
|
|
265
933
|
isFetching,
|
|
@@ -275,17 +943,71 @@ declare const UITableProvider: <TData extends RowData<TData> = RowData<AnyEntity
|
|
|
275
943
|
onColumnPinning,
|
|
276
944
|
fetchMoreData,
|
|
277
945
|
children
|
|
278
|
-
}: React.PropsWithChildren<TableProviderProps<TData, TKey, TColumns>>) =>
|
|
946
|
+
}: React.PropsWithChildren<TableProviderProps<TData, TKey, TColumns>>) => react_jsx_runtime332.JSX.Element;
|
|
279
947
|
//#endregion
|
|
280
948
|
//#region packages/components/features/tables/components/table/tooltip.d.ts
|
|
949
|
+
/**
|
|
950
|
+
* Debounced search input rendered inside the table toolbar.
|
|
951
|
+
*
|
|
952
|
+
* Fires `onSearch` 500 ms after the user stops typing and delegates all other
|
|
953
|
+
* native input events via the spread `props`.
|
|
954
|
+
*
|
|
955
|
+
* @example
|
|
956
|
+
* ```tsx
|
|
957
|
+
* import { UITableTooltipFilter } from '@customafk/lunas-ui/features/tables';
|
|
958
|
+
*
|
|
959
|
+
* <UITableTooltipFilter
|
|
960
|
+
* placeholder="Search users…"
|
|
961
|
+
* onSearch={value => setQuery(value)}
|
|
962
|
+
* />
|
|
963
|
+
* ```
|
|
964
|
+
*/
|
|
281
965
|
declare const UITableTooltipFilter: React.FC<Omit<React.ComponentProps<typeof Input>, 'className'> & {
|
|
282
966
|
onSearch?: (value: string) => void;
|
|
283
967
|
}>;
|
|
968
|
+
/**
|
|
969
|
+
* Grouped action buttons (create, refresh, download) displayed in the table
|
|
970
|
+
* toolbar.
|
|
971
|
+
*
|
|
972
|
+
* Each button is disabled automatically when the corresponding handler prop is
|
|
973
|
+
* omitted, so only the actions relevant to a given table need to be provided.
|
|
974
|
+
*
|
|
975
|
+
* @example
|
|
976
|
+
* ```tsx
|
|
977
|
+
* import { UITableTooltipActions } from '@customafk/lunas-ui/features/tables';
|
|
978
|
+
*
|
|
979
|
+
* <UITableTooltipActions
|
|
980
|
+
* onCreate={() => setOpenCreate(true)}
|
|
981
|
+
* onRefresh={() => refetch()}
|
|
982
|
+
* />
|
|
983
|
+
* ```
|
|
984
|
+
*/
|
|
284
985
|
declare const UITableTooltipActions: React.FC<{
|
|
285
986
|
onCreate?: () => void;
|
|
286
987
|
onRefresh?: () => void;
|
|
287
988
|
onDownload?: () => void;
|
|
288
989
|
}>;
|
|
990
|
+
/**
|
|
991
|
+
* Outer toolbar shell for the UITable component.
|
|
992
|
+
*
|
|
993
|
+
* Reads the table `title` from `UITableContext` and renders it as a heading
|
|
994
|
+
* above the `children` slot, which typically contains a
|
|
995
|
+
* `UITableTooltipFilter` and/or `UITableTooltipActions`.
|
|
996
|
+
*
|
|
997
|
+
* @example
|
|
998
|
+
* ```tsx
|
|
999
|
+
* import {
|
|
1000
|
+
* UITableTooltip,
|
|
1001
|
+
* UITableTooltipFilter,
|
|
1002
|
+
* UITableTooltipActions,
|
|
1003
|
+
* } from '@customafk/lunas-ui/features/tables';
|
|
1004
|
+
*
|
|
1005
|
+
* <UITableTooltip>
|
|
1006
|
+
* <UITableTooltipFilter onSearch={setQuery} />
|
|
1007
|
+
* <UITableTooltipActions onCreate={handleCreate} onRefresh={refetch} />
|
|
1008
|
+
* </UITableTooltip>
|
|
1009
|
+
* ```
|
|
1010
|
+
*/
|
|
289
1011
|
declare const UITableTooltip: React.FC<React.PropsWithChildren>;
|
|
290
1012
|
//#endregion
|
|
291
1013
|
export { RowData, TTableBodyContext, TTableContext, TTableHeadRowContext, TTableInnerTableContext, TTableInnerWrapperContext, TTableRowContext, TTableVirtualizerContext, TUITableBody, TUITableCell, TUITableCellActions, TUITableCellSelect, TUITableColumn, TUITableEmptyDisplay, TUITableFooter, TUITableHead, TUITableHeadCell, TUITableHeadCellOption, TUITableHeadCellSelect, TUITableHeadRow, TUITableInnerTable, TUITableInnerWrapper, TUITableLoadMore, TUITableRow, TUITableWrapper, TableProviderProps, UITableBadgeDisplay, UITableBody, UITableBooleanDisplay, UITableCell, UITableCellActions, UITableCellSelect, UITableContainer, UITableDateDisplay, UITableDescriptionDisplay, UITableEmptyDisplay, UITableFilter, UITableFooter, UITableHead, UITableHeadCell, UITableHeadCellOption, UITableHeadCellSelect, UITableHeadRow, UITableInnerTable, UITableInnerWrapper, UITableLoadMore, UITableMoreButton, UITableNameDisplay, UITablePermalink, UITablePhoneNumberDisplay, UITableProvider, UITableRemoveButton, UITableRow, UITableStatisticDisplay, UITableTooltip, UITableTooltipActions, UITableTooltipFilter, UITableUserDataDisplay, UITableWrapper };
|