@techzyapp/ui-library 1.0.45 → 1.0.47
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 +1 -1
- package/dist/AdminRoot-BRN_MlHp.cjs +2 -0
- package/dist/AdminRoot-BRN_MlHp.cjs.map +1 -0
- package/dist/AdminRoot-CtqPtYxo.js +107 -0
- package/dist/AdminRoot-CtqPtYxo.js.map +1 -0
- package/dist/{Alert-BU7GlQna.js → Alert-Bo_XgY-A.js} +3 -3
- package/dist/{Alert-BU7GlQna.js.map → Alert-Bo_XgY-A.js.map} +1 -1
- package/dist/{Alert-CVQOjuEq.cjs → Alert-QvfNBhlU.cjs} +2 -2
- package/dist/{Alert-CVQOjuEq.cjs.map → Alert-QvfNBhlU.cjs.map} +1 -1
- package/dist/AuthGuard-CAaQZ2y7.cjs +2 -0
- package/dist/AuthGuard-CAaQZ2y7.cjs.map +1 -0
- package/dist/AuthGuard-vqKf2PF9.js +102 -0
- package/dist/AuthGuard-vqKf2PF9.js.map +1 -0
- package/dist/{Breadcrumbs-BMz_YVPa.js → Breadcrumbs-BEv57tuJ.js} +3 -3
- package/dist/{Breadcrumbs-BMz_YVPa.js.map → Breadcrumbs-BEv57tuJ.js.map} +1 -1
- package/dist/{Breadcrumbs-BbC0o4JE.cjs → Breadcrumbs-CqGS32x5.cjs} +2 -2
- package/dist/{Breadcrumbs-BbC0o4JE.cjs.map → Breadcrumbs-CqGS32x5.cjs.map} +1 -1
- package/dist/{Button-mBZOvgyZ.cjs → Button-BtiFpRie.cjs} +2 -2
- package/dist/{Button-mBZOvgyZ.cjs.map → Button-BtiFpRie.cjs.map} +1 -1
- package/dist/{Button-C415LPw_.js → Button-DZWYeAno.js} +2 -2
- package/dist/{Button-C415LPw_.js.map → Button-DZWYeAno.js.map} +1 -1
- package/dist/{Calendar-B0f6h9-A.js → Calendar-7W9xNVBZ.js} +3 -3
- package/dist/{Calendar-B0f6h9-A.js.map → Calendar-7W9xNVBZ.js.map} +1 -1
- package/dist/{Calendar-hO051hfk.cjs → Calendar-Bgh_3Vk2.cjs} +2 -2
- package/dist/{Calendar-hO051hfk.cjs.map → Calendar-Bgh_3Vk2.cjs.map} +1 -1
- package/dist/{Card-BdNr5row.cjs → Card-KfmWG9Uz.cjs} +2 -2
- package/dist/{Card-BdNr5row.cjs.map → Card-KfmWG9Uz.cjs.map} +1 -1
- package/dist/{Card-ssUNaOF_.js → Card-ckOd617g.js} +3 -3
- package/dist/{Card-ssUNaOF_.js.map → Card-ckOd617g.js.map} +1 -1
- package/dist/{Chip-BpJN4rzY.cjs → Chip-BDUsue_R.cjs} +2 -2
- package/dist/{Chip-BpJN4rzY.cjs.map → Chip-BDUsue_R.cjs.map} +1 -1
- package/dist/{Chip-C0x-6g2h.js → Chip-Crzm7Eux.js} +2 -2
- package/dist/{Chip-C0x-6g2h.js.map → Chip-Crzm7Eux.js.map} +1 -1
- package/dist/{CodeBlock-DKnWINdV.js → CodeBlock-CX8_dMPD.js} +3 -3
- package/dist/{CodeBlock-DKnWINdV.js.map → CodeBlock-CX8_dMPD.js.map} +1 -1
- package/dist/{CodeBlock-DTrzN95i.cjs → CodeBlock-rnGAu2DQ.cjs} +2 -2
- package/dist/{CodeBlock-DTrzN95i.cjs.map → CodeBlock-rnGAu2DQ.cjs.map} +1 -1
- package/dist/{ColorPicker-Doaegll4.cjs → ColorPicker-BaAdcqR9.cjs} +2 -2
- package/dist/{ColorPicker-Doaegll4.cjs.map → ColorPicker-BaAdcqR9.cjs.map} +1 -1
- package/dist/{ColorPicker-Bidev2DJ.js → ColorPicker-CwLivdAt.js} +3 -3
- package/dist/{ColorPicker-Bidev2DJ.js.map → ColorPicker-CwLivdAt.js.map} +1 -1
- package/dist/{ColorPickerPanel-DThSuUoz.js → ColorPickerPanel-CkrSIf35.js} +2 -2
- package/dist/{ColorPickerPanel-DThSuUoz.js.map → ColorPickerPanel-CkrSIf35.js.map} +1 -1
- package/dist/{ColorPickerPanel-048Fj7wv.cjs → ColorPickerPanel-IOhJJF1R.cjs} +2 -2
- package/dist/{ColorPickerPanel-048Fj7wv.cjs.map → ColorPickerPanel-IOhJJF1R.cjs.map} +1 -1
- package/dist/{ColorRamp-CGw4D9bf.cjs → ColorRamp-BCy8a7ks.cjs} +2 -2
- package/dist/{ColorRamp-CGw4D9bf.cjs.map → ColorRamp-BCy8a7ks.cjs.map} +1 -1
- package/dist/{ColorRamp-Reb0q69d.js → ColorRamp-DbFOsspz.js} +2 -2
- package/dist/{ColorRamp-Reb0q69d.js.map → ColorRamp-DbFOsspz.js.map} +1 -1
- package/dist/ConfigProvider-CYSpuSMJ.cjs +2 -0
- package/dist/ConfigProvider-CYSpuSMJ.cjs.map +1 -0
- package/dist/ConfigProvider-DtyUlWk6.js +394 -0
- package/dist/ConfigProvider-DtyUlWk6.js.map +1 -0
- package/dist/{CopyButton-Cnab62vt.cjs → CopyButton-DUG5s3TM.cjs} +2 -2
- package/dist/{CopyButton-Cnab62vt.cjs.map → CopyButton-DUG5s3TM.cjs.map} +1 -1
- package/dist/{CopyButton-Dm8-V4ku.js → CopyButton-LURMuaYw.js} +3 -3
- package/dist/{CopyButton-Dm8-V4ku.js.map → CopyButton-LURMuaYw.js.map} +1 -1
- package/dist/{DatePicker-CaGeW_-j.cjs → DatePicker-Bw9gLB8o.cjs} +2 -2
- package/dist/{DatePicker-CaGeW_-j.cjs.map → DatePicker-Bw9gLB8o.cjs.map} +1 -1
- package/dist/{DatePicker-C4MTCmDn.js → DatePicker-CSIBYSZt.js} +4 -4
- package/dist/{DatePicker-C4MTCmDn.js.map → DatePicker-CSIBYSZt.js.map} +1 -1
- package/dist/{DateTimePicker-B0CjHKPV.js → DateTimePicker-C9F2yJMf.js} +7 -7
- package/dist/{DateTimePicker-B0CjHKPV.js.map → DateTimePicker-C9F2yJMf.js.map} +1 -1
- package/dist/{DateTimePicker-DXKaAYey.cjs → DateTimePicker-kikKdt0F.cjs} +2 -2
- package/dist/{DateTimePicker-DXKaAYey.cjs.map → DateTimePicker-kikKdt0F.cjs.map} +1 -1
- package/dist/{DescriptionList-BSDwobDc.cjs → DescriptionList-DnGkHdzT.cjs} +2 -2
- package/dist/{DescriptionList-BSDwobDc.cjs.map → DescriptionList-DnGkHdzT.cjs.map} +1 -1
- package/dist/{DescriptionList-BkUS5egS.js → DescriptionList-kfNXbf_D.js} +4 -4
- package/dist/{DescriptionList-BkUS5egS.js.map → DescriptionList-kfNXbf_D.js.map} +1 -1
- package/dist/{EmptyState-CkkFHKrh.cjs → EmptyState-BM5LrRLq.cjs} +2 -2
- package/dist/{EmptyState-CkkFHKrh.cjs.map → EmptyState-BM5LrRLq.cjs.map} +1 -1
- package/dist/{EmptyState-DXoaPC7o.js → EmptyState-DrSj2XV_.js} +2 -2
- package/dist/{EmptyState-DXoaPC7o.js.map → EmptyState-DrSj2XV_.js.map} +1 -1
- package/dist/{ErrorBoundary-CSP_Ctg6.js → ErrorBoundary-DsP4hO_V.js} +3 -3
- package/dist/{ErrorBoundary-CSP_Ctg6.js.map → ErrorBoundary-DsP4hO_V.js.map} +1 -1
- package/dist/{ErrorBoundary-tZjKtO28.cjs → ErrorBoundary-yz669VEu.cjs} +2 -2
- package/dist/{ErrorBoundary-tZjKtO28.cjs.map → ErrorBoundary-yz669VEu.cjs.map} +1 -1
- package/dist/{ErrorState-JH4JdrTI.cjs → ErrorState-BThPIYaM.cjs} +2 -2
- package/dist/{ErrorState-JH4JdrTI.cjs.map → ErrorState-BThPIYaM.cjs.map} +1 -1
- package/dist/{ErrorState-WYsly5-i.js → ErrorState-DEngucdq.js} +7 -7
- package/dist/{ErrorState-WYsly5-i.js.map → ErrorState-DEngucdq.js.map} +1 -1
- package/dist/{FileCard-D4TB3qGG.js → FileCard-CmCESTQd.js} +3 -3
- package/dist/{FileCard-D4TB3qGG.js.map → FileCard-CmCESTQd.js.map} +1 -1
- package/dist/{FileCard-BIfPqeek.cjs → FileCard-wxDT2rj9.cjs} +2 -2
- package/dist/{FileCard-BIfPqeek.cjs.map → FileCard-wxDT2rj9.cjs.map} +1 -1
- package/dist/{FileUploader-YE_DfTNC.cjs → FileUploader-DBNRp5eT.cjs} +2 -2
- package/dist/{FileUploader-YE_DfTNC.cjs.map → FileUploader-DBNRp5eT.cjs.map} +1 -1
- package/dist/{FileUploader-DPVF76Ha.js → FileUploader-Dp1r4Sxc.js} +29 -29
- package/dist/{FileUploader-DPVF76Ha.js.map → FileUploader-Dp1r4Sxc.js.map} +1 -1
- package/dist/{FullscreenToggle-ipX55Nj4.cjs → FullscreenToggle-DVdQriWB.cjs} +2 -2
- package/dist/{FullscreenToggle-ipX55Nj4.cjs.map → FullscreenToggle-DVdQriWB.cjs.map} +1 -1
- package/dist/{FullscreenToggle-CxwGPLdd.js → FullscreenToggle-WGsbE3Op.js} +3 -3
- package/dist/{FullscreenToggle-CxwGPLdd.js.map → FullscreenToggle-WGsbE3Op.js.map} +1 -1
- package/dist/{IconButton-U_sr2Ahy.cjs → IconButton-DSPdv-oI.cjs} +2 -2
- package/dist/{IconButton-U_sr2Ahy.cjs.map → IconButton-DSPdv-oI.cjs.map} +1 -1
- package/dist/{IconButton-re6xITGO.js → IconButton-iWbUJAz7.js} +2 -2
- package/dist/{IconButton-re6xITGO.js.map → IconButton-iWbUJAz7.js.map} +1 -1
- package/dist/{ImageEditor-BwrG1fk7.js → ImageEditor-BDNys8pq.js} +5 -5
- package/dist/{ImageEditor-BwrG1fk7.js.map → ImageEditor-BDNys8pq.js.map} +1 -1
- package/dist/{ImageEditor-1n50vo_v.cjs → ImageEditor-C40dp2-V.cjs} +2 -2
- package/dist/{ImageEditor-1n50vo_v.cjs.map → ImageEditor-C40dp2-V.cjs.map} +1 -1
- package/dist/{Loader-7v1QBvHY.js → Loader-DD1vfqmN.js} +2 -2
- package/dist/{Loader-7v1QBvHY.js.map → Loader-DD1vfqmN.js.map} +1 -1
- package/dist/{Loader-BE3SQr7W.cjs → Loader-RyFTP2X5.cjs} +2 -2
- package/dist/{Loader-BE3SQr7W.cjs.map → Loader-RyFTP2X5.cjs.map} +1 -1
- package/dist/{LocationPicker-CVJ4jVn2.cjs → LocationPicker-B594f0bz.cjs} +2 -2
- package/dist/{LocationPicker-CVJ4jVn2.cjs.map → LocationPicker-B594f0bz.cjs.map} +1 -1
- package/dist/{LocationPicker-BvKtZFq0.js → LocationPicker-DpmYaYyd.js} +6 -6
- package/dist/{LocationPicker-BvKtZFq0.js.map → LocationPicker-DpmYaYyd.js.map} +1 -1
- package/dist/{Modal-CxODxl81.cjs → Modal-7cCok6fV.cjs} +2 -2
- package/dist/{Modal-CxODxl81.cjs.map → Modal-7cCok6fV.cjs.map} +1 -1
- package/dist/{Modal-DpoiMMM3.js → Modal-DVGTD2Ck.js} +3 -3
- package/dist/{Modal-DpoiMMM3.js.map → Modal-DVGTD2Ck.js.map} +1 -1
- package/dist/{MultiSelect-B7KwEhL5.js → MultiSelect-D-X833xt.js} +4 -4
- package/dist/{MultiSelect-B7KwEhL5.js.map → MultiSelect-D-X833xt.js.map} +1 -1
- package/dist/{MultiSelect-2GouMRTl.cjs → MultiSelect-DTKNjUDH.cjs} +2 -2
- package/dist/{MultiSelect-2GouMRTl.cjs.map → MultiSelect-DTKNjUDH.cjs.map} +1 -1
- package/dist/{NumberField-ThojS4K3.js → NumberField-OPOl0Yph.js} +3 -3
- package/dist/{NumberField-ThojS4K3.js.map → NumberField-OPOl0Yph.js.map} +1 -1
- package/dist/{NumberField-o2z2QNK1.cjs → NumberField-Xz4yQMlm.cjs} +2 -2
- package/dist/{NumberField-o2z2QNK1.cjs.map → NumberField-Xz4yQMlm.cjs.map} +1 -1
- package/dist/{OtpField-C3MlMZ2F.js → OtpField-CLrDMNtS.js} +2 -2
- package/dist/{OtpField-C3MlMZ2F.js.map → OtpField-CLrDMNtS.js.map} +1 -1
- package/dist/{OtpField-BhZq44vV.cjs → OtpField-kd0YghZq.cjs} +2 -2
- package/dist/{OtpField-BhZq44vV.cjs.map → OtpField-kd0YghZq.cjs.map} +1 -1
- package/dist/{PageError-63Gk6fVC.js → PageError-BIiZDzey.js} +5 -5
- package/dist/{PageError-63Gk6fVC.js.map → PageError-BIiZDzey.js.map} +1 -1
- package/dist/{PageError-CCKWbrc5.cjs → PageError-v6MAH_OL.cjs} +2 -2
- package/dist/{PageError-CCKWbrc5.cjs.map → PageError-v6MAH_OL.cjs.map} +1 -1
- package/dist/{PageLayout-BekkDBtT.js → PageLayout-BjaPfXvb.js} +4 -4
- package/dist/{PageLayout-BekkDBtT.js.map → PageLayout-BjaPfXvb.js.map} +1 -1
- package/dist/{PageLayout-CDPUYu6A.cjs → PageLayout-DH3jochw.cjs} +2 -2
- package/dist/{PageLayout-CDPUYu6A.cjs.map → PageLayout-DH3jochw.cjs.map} +1 -1
- package/dist/{PageNotFound-BD3zX3cd.js → PageNotFound-C1oSsMG-.js} +5 -5
- package/dist/{PageNotFound-BD3zX3cd.js.map → PageNotFound-C1oSsMG-.js.map} +1 -1
- package/dist/{PageNotFound-CTR6htwa.cjs → PageNotFound-Cse4bROv.cjs} +2 -2
- package/dist/{PageNotFound-CTR6htwa.cjs.map → PageNotFound-Cse4bROv.cjs.map} +1 -1
- package/dist/{Pagination-qKjISBJ9.js → Pagination-BNJdqcu4.js} +2 -2
- package/dist/{Pagination-qKjISBJ9.js.map → Pagination-BNJdqcu4.js.map} +1 -1
- package/dist/{Pagination-BJvLUjQ0.cjs → Pagination-DkmfEmgK.cjs} +2 -2
- package/dist/{Pagination-BJvLUjQ0.cjs.map → Pagination-DkmfEmgK.cjs.map} +1 -1
- package/dist/{PaletteField-y8KpR4Ap.js → PaletteField-Cdky6Zka.js} +3 -3
- package/dist/{PaletteField-y8KpR4Ap.js.map → PaletteField-Cdky6Zka.js.map} +1 -1
- package/dist/{PaletteField-CDS9CJW9.cjs → PaletteField-DqZl1mK0.cjs} +2 -2
- package/dist/{PaletteField-CDS9CJW9.cjs.map → PaletteField-DqZl1mK0.cjs.map} +1 -1
- package/dist/{PhoneField-OjsuevPx.js → PhoneField-DmFaJJEa.js} +4 -4
- package/dist/{PhoneField-OjsuevPx.js.map → PhoneField-DmFaJJEa.js.map} +1 -1
- package/dist/{PhoneField-Df3J6Hhg.cjs → PhoneField-jq-3_i_b.cjs} +2 -2
- package/dist/{PhoneField-Df3J6Hhg.cjs.map → PhoneField-jq-3_i_b.cjs.map} +1 -1
- package/dist/{Popconfirm-aCyniPnH.js → Popconfirm-D-8ZG2WR.js} +3 -3
- package/dist/{Popconfirm-aCyniPnH.js.map → Popconfirm-D-8ZG2WR.js.map} +1 -1
- package/dist/{Popconfirm-BKzJ_EZy.cjs → Popconfirm-KOE9gGi6.cjs} +2 -2
- package/dist/{Popconfirm-BKzJ_EZy.cjs.map → Popconfirm-KOE9gGi6.cjs.map} +1 -1
- package/dist/{Progress-DWOoLd8u.cjs → Progress-7EyhPtnu.cjs} +2 -2
- package/dist/{Progress-DWOoLd8u.cjs.map → Progress-7EyhPtnu.cjs.map} +1 -1
- package/dist/{Progress-DzxbkcaD.js → Progress-CdX666FP.js} +2 -2
- package/dist/{Progress-DzxbkcaD.js.map → Progress-CdX666FP.js.map} +1 -1
- package/dist/{QrCode-C8uAPiHq.cjs → QrCode-ClIJjjvF.cjs} +2 -2
- package/dist/{QrCode-C8uAPiHq.cjs.map → QrCode-ClIJjjvF.cjs.map} +1 -1
- package/dist/{QrCode-DaJYqBc1.js → QrCode-D7ocSDi7.js} +2 -2
- package/dist/{QrCode-DaJYqBc1.js.map → QrCode-D7ocSDi7.js.map} +1 -1
- package/dist/{RemoveDialog-MhEU5Zl3.js → RemoveDialog-DTzRPLaT.js} +5 -5
- package/dist/{RemoveDialog-MhEU5Zl3.js.map → RemoveDialog-DTzRPLaT.js.map} +1 -1
- package/dist/{RemoveDialog-BnOtR6-q.cjs → RemoveDialog-UsSX5z8Y.cjs} +2 -2
- package/dist/{RemoveDialog-BnOtR6-q.cjs.map → RemoveDialog-UsSX5z8Y.cjs.map} +1 -1
- package/dist/{RichTextEditor-zkoxujnO.js → RichTextEditor-BMctlkVC.js} +7 -7
- package/dist/{RichTextEditor-zkoxujnO.js.map → RichTextEditor-BMctlkVC.js.map} +1 -1
- package/dist/{RichTextEditor-Cnrnvv1f.cjs → RichTextEditor-Bh0Q3dIW.cjs} +2 -2
- package/dist/{RichTextEditor-Cnrnvv1f.cjs.map → RichTextEditor-Bh0Q3dIW.cjs.map} +1 -1
- package/dist/{RootLayout-Z9PuRfsa.cjs → RootLayout-BztZetpk.cjs} +2 -2
- package/dist/{RootLayout-Z9PuRfsa.cjs.map → RootLayout-BztZetpk.cjs.map} +1 -1
- package/dist/{RootLayout-C4r9i5Go.js → RootLayout-CTkv4iQJ.js} +14 -14
- package/dist/{RootLayout-C4r9i5Go.js.map → RootLayout-CTkv4iQJ.js.map} +1 -1
- package/dist/{Select-CylqFHce.cjs → Select-BzVyK6Ne.cjs} +2 -2
- package/dist/{Select-CylqFHce.cjs.map → Select-BzVyK6Ne.cjs.map} +1 -1
- package/dist/{Select-jT94L1vq.js → Select-CmonDIIU.js} +3 -3
- package/dist/{Select-jT94L1vq.js.map → Select-CmonDIIU.js.map} +1 -1
- package/dist/{Sidebar-B1O2RsbR.js → Sidebar-CLr-DyQ_.js} +3 -3
- package/dist/{Sidebar-B1O2RsbR.js.map → Sidebar-CLr-DyQ_.js.map} +1 -1
- package/dist/{Sidebar-Bcm0fgVm.cjs → Sidebar-CM-jZfj5.cjs} +2 -2
- package/dist/{Sidebar-Bcm0fgVm.cjs.map → Sidebar-CM-jZfj5.cjs.map} +1 -1
- package/dist/{Slider-DC-ugZwT.js → Slider-C7Wb3q_F.js} +2 -2
- package/dist/{Slider-DC-ugZwT.js.map → Slider-C7Wb3q_F.js.map} +1 -1
- package/dist/{Slider-CV7ug0WF.cjs → Slider-Oe9VSAdy.cjs} +2 -2
- package/dist/{Slider-CV7ug0WF.cjs.map → Slider-Oe9VSAdy.cjs.map} +1 -1
- package/dist/{SpeedDial-C6yiMUe8.js → SpeedDial-CCGQlwn2.js} +2 -2
- package/dist/{SpeedDial-C6yiMUe8.js.map → SpeedDial-CCGQlwn2.js.map} +1 -1
- package/dist/{SpeedDial-DOgm2DDX.cjs → SpeedDial-DpIXoYHB.cjs} +2 -2
- package/dist/{SpeedDial-DOgm2DDX.cjs.map → SpeedDial-DpIXoYHB.cjs.map} +1 -1
- package/dist/{Stepper-BZdYGpBN.js → Stepper-D_WKS1RG.js} +2 -2
- package/dist/{Stepper-BZdYGpBN.js.map → Stepper-D_WKS1RG.js.map} +1 -1
- package/dist/{Stepper-DqM86TGV.cjs → Stepper-PBDU60G_.cjs} +2 -2
- package/dist/{Stepper-DqM86TGV.cjs.map → Stepper-PBDU60G_.cjs.map} +1 -1
- package/dist/{Table-BgaCwRDQ.cjs → Table-CZ4n4-TN.cjs} +2 -2
- package/dist/{Table-BgaCwRDQ.cjs.map → Table-CZ4n4-TN.cjs.map} +1 -1
- package/dist/{Table-FZlVWoYi.js → Table-DZQVa_PE.js} +16 -16
- package/dist/{Table-FZlVWoYi.js.map → Table-DZQVa_PE.js.map} +1 -1
- package/dist/{Tabs-BqQPkorY.js → Tabs-B063mP-v.js} +12 -12
- package/dist/{Tabs-BqQPkorY.js.map → Tabs-B063mP-v.js.map} +1 -1
- package/dist/{Tabs-kGeyFhJ6.cjs → Tabs-Byhqm-TE.cjs} +2 -2
- package/dist/{Tabs-kGeyFhJ6.cjs.map → Tabs-Byhqm-TE.cjs.map} +1 -1
- package/dist/{TagsField-B_sjp48X.cjs → TagsField-g_LtwYgz.cjs} +2 -2
- package/dist/{TagsField-B_sjp48X.cjs.map → TagsField-g_LtwYgz.cjs.map} +1 -1
- package/dist/{TagsField-ByTx9JXK.js → TagsField-hQFYyNcM.js} +4 -4
- package/dist/{TagsField-ByTx9JXK.js.map → TagsField-hQFYyNcM.js.map} +1 -1
- package/dist/{TextField-CBYJIfau.cjs → TextField-D4s2hGSd.cjs} +2 -2
- package/dist/{TextField-CBYJIfau.cjs.map → TextField-D4s2hGSd.cjs.map} +1 -1
- package/dist/{TextField-CyKIx-d-.js → TextField-Dfpk0jOg.js} +3 -3
- package/dist/{TextField-CyKIx-d-.js.map → TextField-Dfpk0jOg.js.map} +1 -1
- package/dist/{ThemeToggle-Dg6IishB.js → ThemeToggle-BQQ3eswr.js} +7 -7
- package/dist/{ThemeToggle-Dg6IishB.js.map → ThemeToggle-BQQ3eswr.js.map} +1 -1
- package/dist/{ThemeToggle-D2dIqiBa.cjs → ThemeToggle-BTTI7Jz0.cjs} +2 -2
- package/dist/{ThemeToggle-D2dIqiBa.cjs.map → ThemeToggle-BTTI7Jz0.cjs.map} +1 -1
- package/dist/{TimeColumns-Cx8J5qzW.js → TimeColumns-BpjhrNCq.js} +2 -2
- package/dist/{TimeColumns-Cx8J5qzW.js.map → TimeColumns-BpjhrNCq.js.map} +1 -1
- package/dist/{TimeColumns-DVmK_T_P.cjs → TimeColumns-DZYGWWG_.cjs} +2 -2
- package/dist/{TimeColumns-DVmK_T_P.cjs.map → TimeColumns-DZYGWWG_.cjs.map} +1 -1
- package/dist/{TimePicker-0nZOPRKp.cjs → TimePicker-DChtZgBs.cjs} +2 -2
- package/dist/{TimePicker-0nZOPRKp.cjs.map → TimePicker-DChtZgBs.cjs.map} +1 -1
- package/dist/{TimePicker-sAhtvqQ4.js → TimePicker-mzoMIlpq.js} +5 -5
- package/dist/{TimePicker-sAhtvqQ4.js.map → TimePicker-mzoMIlpq.js.map} +1 -1
- package/dist/{Toaster-BOW9rzLq.js → Toaster-79DvOW80.js} +8 -8
- package/dist/{Toaster-BOW9rzLq.js.map → Toaster-79DvOW80.js.map} +1 -1
- package/dist/{Toaster-DYGo92ke.cjs → Toaster-lonArt-H.cjs} +2 -2
- package/dist/{Toaster-DYGo92ke.cjs.map → Toaster-lonArt-H.cjs.map} +1 -1
- package/dist/{TranslatedFields-C_DuLotV.cjs → TranslatedFields-BYpMrYaw.cjs} +2 -2
- package/dist/{TranslatedFields-C_DuLotV.cjs.map → TranslatedFields-BYpMrYaw.cjs.map} +1 -1
- package/dist/{TranslatedFields-CcE0td9p.js → TranslatedFields-CHHtXO_n.js} +9 -9
- package/dist/{TranslatedFields-CcE0td9p.js.map → TranslatedFields-CHHtXO_n.js.map} +1 -1
- package/dist/{UserCard-DeONbaKj.js → UserCard-BJFNP_nl.js} +3 -3
- package/dist/{UserCard-DeONbaKj.js.map → UserCard-BJFNP_nl.js.map} +1 -1
- package/dist/{UserCard-DLVptkLr.cjs → UserCard-SlkCgZS9.cjs} +2 -2
- package/dist/{UserCard-DLVptkLr.cjs.map → UserCard-SlkCgZS9.cjs.map} +1 -1
- package/dist/app/AdminRoot.d.cts +9 -4
- package/dist/app/AdminRoot.d.ts +9 -4
- package/dist/auth/AuthGuard.d.cts +9 -3
- package/dist/auth/AuthGuard.d.ts +9 -3
- package/dist/auth/authLayoutRoute.d.cts +11 -3
- package/dist/auth/authLayoutRoute.d.ts +11 -3
- package/dist/auth/authRedirect.d.cts +64 -0
- package/dist/auth/authRedirect.d.ts +64 -0
- package/dist/authLayoutRoute-DCG9gCZ8.cjs +2 -0
- package/dist/authLayoutRoute-DCG9gCZ8.cjs.map +1 -0
- package/dist/authLayoutRoute-TuEqVizw.js +15 -0
- package/dist/authLayoutRoute-TuEqVizw.js.map +1 -0
- package/dist/components/Alert/index.cjs +1 -1
- package/dist/components/Alert/index.js +1 -1
- package/dist/components/Breadcrumbs/index.cjs +1 -1
- package/dist/components/Breadcrumbs/index.js +1 -1
- package/dist/components/Button/index.cjs +1 -1
- package/dist/components/Button/index.js +1 -1
- package/dist/components/Card/index.cjs +1 -1
- package/dist/components/Card/index.js +1 -1
- package/dist/components/Chip/index.cjs +1 -1
- package/dist/components/Chip/index.js +1 -1
- package/dist/components/CodeBlock/index.cjs +1 -1
- package/dist/components/CodeBlock/index.js +1 -1
- package/dist/components/ColorPicker/index.cjs +1 -1
- package/dist/components/ColorPicker/index.js +1 -1
- package/dist/components/ColorRamp/index.cjs +1 -1
- package/dist/components/ColorRamp/index.js +1 -1
- package/dist/components/CopyButton/index.cjs +1 -1
- package/dist/components/CopyButton/index.js +1 -1
- package/dist/components/DatePicker/index.cjs +1 -1
- package/dist/components/DatePicker/index.js +1 -1
- package/dist/components/DateTimePicker/index.cjs +1 -1
- package/dist/components/DateTimePicker/index.js +1 -1
- package/dist/components/DescriptionList/index.cjs +1 -1
- package/dist/components/DescriptionList/index.js +1 -1
- package/dist/components/EmptyState/index.cjs +1 -1
- package/dist/components/EmptyState/index.js +1 -1
- package/dist/components/ErrorState/index.cjs +1 -1
- package/dist/components/ErrorState/index.js +2 -2
- package/dist/components/FileCard/index.cjs +1 -1
- package/dist/components/FileCard/index.js +1 -1
- package/dist/components/FileUploader/index.cjs +1 -1
- package/dist/components/FileUploader/index.js +1 -1
- package/dist/components/FullscreenToggle/index.cjs +1 -1
- package/dist/components/FullscreenToggle/index.js +1 -1
- package/dist/components/IconButton/index.cjs +1 -1
- package/dist/components/IconButton/index.js +1 -1
- package/dist/components/ImageEditor/index.cjs +1 -1
- package/dist/components/ImageEditor/index.js +1 -1
- package/dist/components/Loader/index.cjs +1 -1
- package/dist/components/Loader/index.js +1 -1
- package/dist/components/LocationPicker/index.cjs +1 -1
- package/dist/components/LocationPicker/index.js +1 -1
- package/dist/components/Modal/index.cjs +1 -1
- package/dist/components/Modal/index.js +1 -1
- package/dist/components/MultiSelect/index.cjs +1 -1
- package/dist/components/MultiSelect/index.js +1 -1
- package/dist/components/NumberField/index.cjs +1 -1
- package/dist/components/NumberField/index.js +1 -1
- package/dist/components/OtpField/index.cjs +1 -1
- package/dist/components/OtpField/index.js +1 -1
- package/dist/components/PageError/index.cjs +1 -1
- package/dist/components/PageError/index.js +1 -1
- package/dist/components/PageLayout/index.cjs +1 -1
- package/dist/components/PageLayout/index.js +1 -1
- package/dist/components/PageNotFound/index.cjs +1 -1
- package/dist/components/PageNotFound/index.js +1 -1
- package/dist/components/Pagination/index.cjs +1 -1
- package/dist/components/Pagination/index.js +1 -1
- package/dist/components/PaletteField/index.cjs +1 -1
- package/dist/components/PaletteField/index.js +1 -1
- package/dist/components/PhoneField/index.cjs +1 -1
- package/dist/components/PhoneField/index.js +1 -1
- package/dist/components/Popconfirm/index.cjs +1 -1
- package/dist/components/Popconfirm/index.js +1 -1
- package/dist/components/Progress/index.cjs +1 -1
- package/dist/components/Progress/index.js +1 -1
- package/dist/components/QrCode/index.cjs +1 -1
- package/dist/components/QrCode/index.js +1 -1
- package/dist/components/RemoveDialog/index.cjs +1 -1
- package/dist/components/RemoveDialog/index.js +1 -1
- package/dist/components/RichTextEditor/index.cjs +1 -1
- package/dist/components/RichTextEditor/index.js +1 -1
- package/dist/components/RootLayout/index.cjs +1 -1
- package/dist/components/RootLayout/index.js +1 -1
- package/dist/components/Select/index.cjs +1 -1
- package/dist/components/Select/index.js +1 -1
- package/dist/components/Sidebar/index.cjs +1 -1
- package/dist/components/Sidebar/index.js +1 -1
- package/dist/components/Slider/index.cjs +1 -1
- package/dist/components/Slider/index.js +1 -1
- package/dist/components/SpeedDial/index.cjs +1 -1
- package/dist/components/SpeedDial/index.js +1 -1
- package/dist/components/Stepper/index.cjs +1 -1
- package/dist/components/Stepper/index.js +1 -1
- package/dist/components/Table/index.cjs +1 -1
- package/dist/components/Table/index.js +1 -1
- package/dist/components/Tabs/index.cjs +1 -1
- package/dist/components/Tabs/index.js +1 -1
- package/dist/components/TagsField/index.cjs +1 -1
- package/dist/components/TagsField/index.js +1 -1
- package/dist/components/TextField/index.cjs +1 -1
- package/dist/components/TextField/index.js +1 -1
- package/dist/components/ThemeToggle/index.cjs +1 -1
- package/dist/components/ThemeToggle/index.js +1 -1
- package/dist/components/TimePicker/index.cjs +1 -1
- package/dist/components/TimePicker/index.js +1 -1
- package/dist/components/Toast/index.cjs +1 -1
- package/dist/components/Toast/index.js +1 -1
- package/dist/components/TranslatedFields/index.cjs +1 -1
- package/dist/components/TranslatedFields/index.js +1 -1
- package/dist/components/UserCard/index.cjs +1 -1
- package/dist/components/UserCard/index.js +1 -1
- package/dist/entries/app.cjs +1 -1
- package/dist/entries/app.js +1 -1
- package/dist/entries/auth.cjs +1 -1
- package/dist/entries/auth.d.cts +1 -0
- package/dist/entries/auth.d.ts +1 -0
- package/dist/entries/auth.js +7 -4
- package/dist/entries/components.cjs +1 -1
- package/dist/entries/components.js +52 -52
- package/dist/entries/i18n.cjs +1 -1
- package/dist/entries/i18n.js +1 -1
- package/dist/entries/theme.cjs +1 -1
- package/dist/entries/theme.d.cts +1 -1
- package/dist/entries/theme.d.ts +1 -1
- package/dist/entries/theme.js +20 -18
- package/dist/index.cjs +1 -1
- package/dist/index.js +259 -254
- package/dist/theme/ConfigProvider.d.cts +17 -0
- package/dist/theme/ConfigProvider.d.ts +17 -0
- package/dist/theme/index.d.cts +1 -1
- package/dist/theme/index.d.ts +1 -1
- package/dist/{useHomeTo-BL3e8Sc6.js → useHomeTo-BLSvhJd5.js} +2 -2
- package/dist/{useHomeTo-BL3e8Sc6.js.map → useHomeTo-BLSvhJd5.js.map} +1 -1
- package/dist/{useHomeTo-W1PDW5CU.cjs → useHomeTo-cXCg1tf0.cjs} +2 -2
- package/dist/{useHomeTo-W1PDW5CU.cjs.map → useHomeTo-cXCg1tf0.cjs.map} +1 -1
- package/dist/{useOptionMenu-CVl7VHXl.cjs → useOptionMenu-6ZffgbYG.cjs} +2 -2
- package/dist/{useOptionMenu-CVl7VHXl.cjs.map → useOptionMenu-6ZffgbYG.cjs.map} +1 -1
- package/dist/{useOptionMenu-BkKiZ6Ax.js → useOptionMenu-CxM6FHXL.js} +3 -3
- package/dist/{useOptionMenu-BkKiZ6Ax.js.map → useOptionMenu-CxM6FHXL.js.map} +1 -1
- package/package.json +1 -1
- package/dist/AdminRoot-BZ1v5vN9.js +0 -101
- package/dist/AdminRoot-BZ1v5vN9.js.map +0 -1
- package/dist/AdminRoot-DJ4-UMAB.cjs +0 -2
- package/dist/AdminRoot-DJ4-UMAB.cjs.map +0 -1
- package/dist/AuthGuard-CVklwDbj.js +0 -7
- package/dist/AuthGuard-CVklwDbj.js.map +0 -1
- package/dist/AuthGuard-kfOZviar.cjs +0 -2
- package/dist/AuthGuard-kfOZviar.cjs.map +0 -1
- package/dist/ConfigProvider-DBU6rOIA.cjs +0 -2
- package/dist/ConfigProvider-DBU6rOIA.cjs.map +0 -1
- package/dist/ConfigProvider-DVDGtCUc.js +0 -386
- package/dist/ConfigProvider-DVDGtCUc.js.map +0 -1
- package/dist/authLayoutRoute-B10sXioW.js +0 -11
- package/dist/authLayoutRoute-B10sXioW.js.map +0 -1
- package/dist/authLayoutRoute-BVQ4LhuU.cjs +0 -2
- package/dist/authLayoutRoute-BVQ4LhuU.cjs.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const o=require("react/jsx-runtime"),l=require("react"),g=require("clsx"),A=require("./useClearUrlOnUnmount-Cg7v2y5B.cjs"),y=require("./Icon-CBg21lKA.cjs"),Z=require("./ConfigProvider-
|
|
2
|
-
//# sourceMappingURL=Stepper-
|
|
1
|
+
"use strict";const o=require("react/jsx-runtime"),l=require("react"),g=require("clsx"),A=require("./useClearUrlOnUnmount-Cg7v2y5B.cjs"),y=require("./Icon-CBg21lKA.cjs"),Z=require("./ConfigProvider-CYSpuSMJ.cjs"),H="_root_1pvou_2",ee="_list_1pvou_5",ne="_horizontal_1pvou_11",te="_vertical_1pvou_24",oe="_sm_1pvou_29",re="_md_1pvou_34",se="_lg_1pvou_39",ce="_step_1pvou_47",le="_disabled_1pvou_64",ae="_main_1pvou_69",ie="_indicator_1pvou_100",ue="_number_1pvou_127",de="_completed_1pvou_132",_e="_active_1pvou_138",fe="_error_1pvou_146",me="_text_1pvou_153",pe="_label_1pvou_169",ve="_description_1pvou_183",he="_optional_1pvou_188",be="_connector_1pvou_195",we="_done_1pvou_200",xe="_panel_1pvou_226",Ne="_stepContent_1pvou_230",t={root:H,list:ee,horizontal:ne,vertical:te,sm:oe,md:re,lg:se,step:ce,disabled:le,main:ae,indicator:ie,number:ue,completed:de,active:_e,error:fe,text:me,label:pe,description:ve,optional:he,connector:be,done:we,panel:xe,stepContent:Ne},je=new Set(y.ICON_NAMES),ge=l.forwardRef(function({steps:i,activeStep:_,defaultStep:R,onStepChange:d,queryKey:I,pushHistory:E=!1,clearUrlOnUnmount:M=!0,orientation:f="horizontal",size:b="md",color:L="primary",onStepClick:m,"aria-label":B,className:K,style:T},W){var Q;const q=f==="vertical",k=m!=null,F=Z.useStepQueryKey(),r=I===!0?F:I||void 0,p=l.useCallback(e=>e!=null&&Number.isInteger(e)&&e>=0&&e<i.length&&!i[e].disabled,[i]),w=l.useCallback(()=>{if(!r||typeof window>"u")return null;const e=new URLSearchParams(window.location.search).get(r);return e!=null&&/^\d+$/.test(e)?Number(e)-1:null},[r]),D=Math.max(i.findIndex(e=>!e.disabled),0),[G,C]=l.useState(()=>{const e=w();return p(e)?e:p(R)?R:D}),z=_!==void 0,s=z?_:G,x=l.useRef(s);x.current=s;const v=l.useRef(d);v.current=d;const N=l.useRef(!1),U=l.useCallback((e,n)=>{if(!r||typeof window>"u")return;const c=new URLSearchParams(window.location.search),a=String(e+1);if(c.get(r)===a)return;c.set(r,a);const u=`${window.location.pathname}?${c.toString()}${window.location.hash}`;window.history[n?"pushState":"replaceState"](window.history.state,"",u)},[r]),J=e=>{e!==x.current&&(N.current=!0,z||C(e),d==null||d(e))};l.useEffect(()=>{if(!r||typeof window>"u"||!Number.isInteger(s)||s<0||s>=i.length)return;const e=N.current&&E;N.current=!1,U(s,e)},[r,s,E,U,i.length]),A.useClearUrlOnUnmount(r,M,()=>{r&&A.removeQueryParam(r)}),l.useEffect(()=>{if(!r||typeof window>"u")return;const e=()=>{var c;const n=w();p(n)&&n!==x.current&&(_===void 0&&C(n),(c=v.current)==null||c.call(v,n))};return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)},[r,w,p,_]);const $=(Q=i[s])==null?void 0:Q.content,P=l.useRef(null);l.useEffect(()=>{if(f==="vertical")return;const e=P.current,n=e==null?void 0:e.children[s];if(!e||!n)return;const c=e.getBoundingClientRect(),a=n.getBoundingClientRect(),u=a.left-c.left+e.scrollLeft,h=u+a.width;u<e.scrollLeft?e.scrollLeft=u:h>e.scrollLeft+e.clientWidth&&(e.scrollLeft=h-e.clientWidth)},[s,f]);const S=e=>typeof e=="string"&&je.has(e)?o.jsx(y.Icon,{name:e,size:b}):e;return o.jsxs("div",{ref:W,className:g.clsx(t.root,t[f],t[b],K),style:{"--tz-btn-rgb":`var(--tz-color-${L}-rgb)`,"--tz-btn-on":`var(--tz-color-${L}-contrast, #fff)`,...T},children:[o.jsx("ol",{ref:P,"aria-label":B,className:t.list,children:i.map((e,n)=>{const c=!!e.error,a=!c&&(e.completed||n<s),u=!c&&!a&&n===s,h=c?"error":a?"completed":u?"active":"upcoming",V=n===i.length-1,j=S(e.icon),X=j??(a?o.jsx(y.Icon,{name:"Check",size:b}):o.jsx("span",{className:t.number,children:n+1})),Y=e.label!=null||e.description!=null||e.optional!=null,O=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:t.indicator,"aria-hidden":j==null&&!a?void 0:!0,children:X}),Y&&o.jsxs("span",{className:t.text,children:[e.label!=null&&o.jsx("span",{className:t.label,children:e.label}),e.description!=null&&o.jsx("span",{className:t.description,children:e.description}),e.optional!=null&&o.jsx("span",{className:t.optional,children:e.optional})]})]});return o.jsxs("li",{className:g.clsx(t.step,t[h],e.disabled&&t.disabled),children:[k?o.jsx("button",{type:"button",className:t.main,disabled:e.disabled,"aria-current":u?"step":void 0,onClick:()=>{m==null||m(n),J(n)},children:O}):o.jsx("div",{className:t.main,"aria-current":u?"step":void 0,children:O}),!V&&o.jsx("span",{className:g.clsx(t.connector,n<s&&t.done),"aria-hidden":"true"}),q&&n===s&&e.content!=null&&o.jsx("div",{className:t.stepContent,children:e.content})]},n)})}),!q&&$!=null&&o.jsx("div",{className:t.panel,children:$})]})});exports.Stepper=ge;
|
|
2
|
+
//# sourceMappingURL=Stepper-PBDU60G_.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stepper-DqM86TGV.cjs","sources":["../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n type CSSProperties,\n type ReactNode,\n} from 'react'\nimport { clsx } from 'clsx'\nimport { removeQueryParam, useClearUrlOnUnmount } from '../../hooks/useClearUrlOnUnmount'\nimport { useStepQueryKey, type ThemeColor } from '../../theme'\nimport { ICON_NAMES, type IconName } from '../../icons/names'\nimport { Icon } from '../Icon'\nimport styles from './Stepper.module.css'\n\nconst ICON_NAME_SET = new Set<string>(ICON_NAMES)\n\nexport type StepperOrientation = 'horizontal' | 'vertical'\nexport type StepperSize = 'sm' | 'md' | 'lg'\n\nexport interface StepItem {\n /** Step label. */\n label?: ReactNode\n /** Muted secondary line under the label. */\n description?: ReactNode\n /** Muted caption under the label (e.g. `\"Optional\"`). */\n optional?: ReactNode\n /** Override the step's number indicator with an icon — a known `IconName` or any node. */\n icon?: IconName | ReactNode\n /** Force the **completed** look regardless of the active step (e.g. an already-saved step). */\n completed?: boolean\n /** Marks the step **invalid** — a red indicator + label (e.g. its form section failed validation). */\n error?: boolean\n /** Disables the step — dimmed, (when clickable) not selectable, and skipped by the URL restore. */\n disabled?: boolean\n /**\n * Panel content rendered while this step is active — **below the strip** in horizontal mode, and\n * **inline under the step** (indented beside the rail) in vertical mode. Optional.\n */\n content?: ReactNode\n}\n\nexport interface StepperProps {\n /** The steps, in order. */\n steps: StepItem[]\n /**\n * Controlled current step index (**0-based**). Steps before it read **completed**, the one at it is\n * **active**, and those after it are **upcoming**. Omit for uncontrolled (see `defaultStep`).\n */\n activeStep?: number\n /**\n * Initial step index (uncontrolled). A valid URL step (when URL sync is active) wins over it; with\n * neither, the first enabled step.\n */\n defaultStep?: number\n /**\n * Fires with the next step index whenever the stepper itself changes the step — a clicked step head,\n * or a Back/Forward `popstate` restore. In controlled mode apply it to your `activeStep` state.\n */\n onStepChange?: (index: number) => void\n /**\n * **Opt-in** URL sync — **off by default** (the URL is never touched when omitted). Pass the bare\n * prop (**`queryKey`** / `true`) to sync the active step under the configured `keys.stepQueryKey`\n * (else `'step'`), or a **string** for a custom param name. The URL value is **1-based**\n * (`?step=2` = index 1) and a page refresh restores it. Two synced steppers on one page need\n * distinct keys.\n */\n queryKey?: boolean | string\n /**\n * Push a history entry on each step change, so the browser **Back** button returns to the previous\n * step. Defaults to `false` — step changes **replace** the URL, so Back leaves the page instead of\n * stepping back through the wizard (and `popstate` still restores a step when one is in the query).\n */\n pushHistory?: boolean\n /**\n * With `queryKey` sync on, remove the step param when the stepper unmounts **on the same page** — a wizard\n * in a closing `Modal`, a finished flow swapped out — so `?step=3` doesn't outlive it. After a navigation to\n * another pathname nothing is touched. Defaults to `true`.\n */\n clearUrlOnUnmount?: boolean\n /**\n * Layout direction. `horizontal` (default) centers each label **under** its circle and **scrolls\n * sideways** when the steps don't fit (so it fits a phone as-is); `vertical` stacks the steps along\n * a rail connector.\n */\n orientation?: StepperOrientation\n /** Preset size. Defaults to `'md'`. */\n size?: StepperSize\n /** Theme palette token tinting the active / completed steps. Defaults to `'primary'`. */\n color?: ThemeColor\n /**\n * Makes steps **clickable** — each step head becomes a `<button>` that fires this with the step index\n * (a `disabled` step never fires); an uncontrolled stepper also selects the clicked step itself. Omit\n * for a display-only progress indicator.\n */\n onStepClick?: (index: number) => void\n /** Accessible label for the stepper list. */\n 'aria-label'?: string\n className?: string\n style?: CSSProperties\n}\n\n/**\n * A step progress indicator. Data-driven via `steps` (each: `label`, `description`, `optional`, `icon`,\n * `completed`, `error`, `disabled`, `content`) — controlled (`activeStep`, 0-based) or uncontrolled\n * (`defaultStep`). **Opt-in URL sync:** pass **`queryKey`** (bare/`true` = the configured\n * `keys.stepQueryKey`, else `'step'`; or a custom string) and the active step syncs to that query param\n * (**1-based** — `?step=2`) so a refresh restores it; with no `queryKey` the URL is never touched. A synced\n * stepper that unmounts on the same page removes its param again (`clearUrlOnUnmount`, default `true`).\n * Synced step changes **replace** the URL (Back doesn't walk the wizard); pass **`pushHistory`** to\n * step back with Back.\n * Horizontal (labels centered under the circles) or `vertical` (a rail); when the horizontal steps\n * don't fit, the strip **scrolls sideways** (scrollbar hidden, the active step kept in view) — so it\n * fits a phone as-is. The active step's **`content`** renders below the strip (horizontal) or inline\n * under the step (vertical). Pass **`onStepClick`** to make the steps navigable. Tinted by `color` via\n * the shared `--tz-btn-rgb` pattern; the list is an `<ol>` with `aria-current=\"step\"` on the active step.\n */\nexport const Stepper = forwardRef<HTMLDivElement, StepperProps>(function Stepper(\n {\n steps,\n activeStep,\n defaultStep,\n onStepChange,\n queryKey,\n pushHistory = false,\n clearUrlOnUnmount = true,\n orientation = 'horizontal',\n size = 'md',\n color = 'primary',\n onStepClick,\n 'aria-label': ariaLabel,\n className,\n style,\n },\n ref,\n) {\n const vertical = orientation === 'vertical'\n const clickable = onStepClick != null\n\n // resolve the URL-sync key — OPT-IN: omitted/false = no sync (URL untouched); the bare/`true` form\n // uses the configured default (`keys.stepQueryKey`, else 'step'); a string is a custom param name\n const stepQueryKey = useStepQueryKey()\n const syncKey = queryKey === true ? stepQueryKey : queryKey || undefined\n\n const isSelectable = useCallback(\n (i: number | null | undefined): i is number =>\n i != null && Number.isInteger(i) && i >= 0 && i < steps.length && !steps[i].disabled,\n [steps],\n )\n\n // the URL carries the step 1-based (`?step=2` = index 1) — human-friendly, like Table's page param\n const readQuery = useCallback((): number | null => {\n if (!syncKey || typeof window === 'undefined') return null\n const raw = new URLSearchParams(window.location.search).get(syncKey)\n return raw != null && /^\\d+$/.test(raw) ? Number(raw) - 1 : null\n }, [syncKey])\n\n const firstEnabled = Math.max(\n steps.findIndex((s) => !s.disabled),\n 0,\n )\n\n const [internal, setInternal] = useState<number>(() => {\n const q = readQuery()\n if (isSelectable(q)) return q\n return isSelectable(defaultStep) ? defaultStep : firstEnabled\n })\n const isControlled = activeStep !== undefined\n // controlled mode renders the given index verbatim (even past the last step — the \"all completed\"\n // pattern); only the URL/popstate restores are gated by `isSelectable`\n const active = isControlled ? activeStep : internal\n\n // keep the latest active / onStepChange / push-intent for the stable effects + popstate listener\n const activeRef = useRef(active)\n activeRef.current = active\n const onStepChangeRef = useRef(onStepChange)\n onStepChangeRef.current = onStepChange\n const pushIntent = useRef(false)\n\n const writeQuery = useCallback(\n (next: number, push: boolean) => {\n if (!syncKey || typeof window === 'undefined') return\n const params = new URLSearchParams(window.location.search)\n const value = String(next + 1)\n if (params.get(syncKey) === value) return\n params.set(syncKey, value)\n const url = `${window.location.pathname}?${params.toString()}${window.location.hash}`\n window.history[push ? 'pushState' : 'replaceState'](window.history.state, '', url)\n },\n [syncKey],\n )\n\n const select = (next: number) => {\n if (next === activeRef.current) return\n pushIntent.current = true\n if (!isControlled) setInternal(next)\n onStepChange?.(next)\n }\n\n // mirror the active step into the URL whenever it changes (and on mount = canonicalize). A\n // user-driven change `push`es when `pushHistory`; programmatic / popstate changes just `replace`.\n useEffect(() => {\n if (!syncKey || typeof window === 'undefined') return\n // an out-of-range active (e.g. `steps.length` = \"all done\") isn't a step — leave the URL alone\n if (!Number.isInteger(active) || active < 0 || active >= steps.length) return\n const push = pushIntent.current && pushHistory\n pushIntent.current = false\n writeQuery(active, push)\n }, [syncKey, active, pushHistory, writeQuery, steps.length])\n\n // unmount on the same page → drop the step param (shared rule: not after a navigation, StrictMode-safe)\n useClearUrlOnUnmount(syncKey, clearUrlOnUnmount, () => {\n if (syncKey) removeQueryParam(syncKey)\n })\n\n // Back/Forward → restore the step from the query\n useEffect(() => {\n if (!syncKey || typeof window === 'undefined') return\n const onPopState = () => {\n const q = readQuery()\n if (isSelectable(q) && q !== activeRef.current) {\n if (activeStep === undefined) setInternal(q)\n onStepChangeRef.current?.(q)\n }\n }\n window.addEventListener('popstate', onPopState)\n return () => window.removeEventListener('popstate', onPopState)\n }, [syncKey, readQuery, isSelectable, activeStep])\n\n const activeContent = steps[active]?.content\n\n // when the horizontal strip overflows (scrolls sideways), keep the active step in view — by moving\n // the strip's own scrollLeft only. (scrollIntoView would also scroll every scrollable ancestor —\n // i.e. the page itself — yanking the viewport down to the stepper on mount.)\n const listRef = useRef<HTMLOListElement | null>(null)\n useEffect(() => {\n if (orientation === 'vertical') return // the vertical rail never scrolls sideways\n const list = listRef.current\n const el = list?.children[active] as HTMLElement | undefined\n if (!list || !el) return\n const listRect = list.getBoundingClientRect()\n const elRect = el.getBoundingClientRect()\n const left = elRect.left - listRect.left + list.scrollLeft\n const right = left + elRect.width\n if (left < list.scrollLeft) list.scrollLeft = left\n else if (right > list.scrollLeft + list.clientWidth) list.scrollLeft = right - list.clientWidth\n }, [active, orientation])\n\n const renderIcon = (icon: StepItem['icon']) =>\n typeof icon === 'string' && ICON_NAME_SET.has(icon) ? (\n <Icon name={icon as IconName} size={size} />\n ) : (\n icon\n )\n\n return (\n <div\n ref={ref}\n className={clsx(styles.root, styles[orientation], styles[size], className)}\n style={\n {\n '--tz-btn-rgb': `var(--tz-color-${color}-rgb)`,\n '--tz-btn-on': `var(--tz-color-${color}-contrast, #fff)`,\n ...style,\n } as CSSProperties\n }\n >\n <ol ref={listRef} aria-label={ariaLabel} className={styles.list}>\n {steps.map((step, i) => {\n const isError = !!step.error\n const isCompleted = !isError && (step.completed || i < active)\n const isActive = !isError && !isCompleted && i === active\n const state = isError\n ? 'error'\n : isCompleted\n ? 'completed'\n : isActive\n ? 'active'\n : 'upcoming'\n const isLast = i === steps.length - 1\n\n const icon = renderIcon(step.icon)\n const indicator =\n icon != null ? (\n icon\n ) : isCompleted ? (\n <Icon name=\"Check\" size={size} />\n ) : (\n <span className={styles.number}>{i + 1}</span>\n )\n\n const hasText = step.label != null || step.description != null || step.optional != null\n const head = (\n <>\n <span\n className={styles.indicator}\n aria-hidden={icon == null && !isCompleted ? undefined : true}\n >\n {indicator}\n </span>\n {hasText && (\n <span className={styles.text}>\n {step.label != null && <span className={styles.label}>{step.label}</span>}\n {step.description != null && (\n <span className={styles.description}>{step.description}</span>\n )}\n {step.optional != null && (\n <span className={styles.optional}>{step.optional}</span>\n )}\n </span>\n )}\n </>\n )\n\n return (\n <li\n key={i}\n className={clsx(styles.step, styles[state], step.disabled && styles.disabled)}\n >\n {clickable ? (\n <button\n type=\"button\"\n className={styles.main}\n disabled={step.disabled}\n aria-current={isActive ? 'step' : undefined}\n onClick={() => {\n onStepClick?.(i)\n select(i)\n }}\n >\n {head}\n </button>\n ) : (\n <div className={styles.main} aria-current={isActive ? 'step' : undefined}>\n {head}\n </div>\n )}\n {!isLast && (\n <span\n className={clsx(styles.connector, i < active && styles.done)}\n aria-hidden=\"true\"\n />\n )}\n {/* vertical: the active step's content sits inline, indented beside the rail */}\n {vertical && i === active && step.content != null && (\n <div className={styles.stepContent}>{step.content}</div>\n )}\n </li>\n )\n })}\n </ol>\n {/* horizontal: the active step's content renders as a panel below the strip */}\n {!vertical && activeContent != null && <div className={styles.panel}>{activeContent}</div>}\n </div>\n )\n})\n"],"names":["ICON_NAME_SET","ICON_NAMES","Stepper","forwardRef","steps","activeStep","defaultStep","onStepChange","queryKey","pushHistory","clearUrlOnUnmount","orientation","size","color","onStepClick","ariaLabel","className","style","ref","vertical","clickable","stepQueryKey","useStepQueryKey","syncKey","isSelectable","useCallback","i","readQuery","raw","firstEnabled","s","internal","setInternal","useState","q","isControlled","active","activeRef","useRef","onStepChangeRef","pushIntent","writeQuery","next","push","params","value","url","select","useEffect","useClearUrlOnUnmount","onPopState","_a","activeContent","listRef","list","el","listRect","elRect","left","right","renderIcon","icon","jsx","Icon","jsxs","clsx","styles","step","isError","isCompleted","isActive","state","isLast","indicator","hasText","head","Fragment"],"mappings":"q8BAgBMA,GAAgB,IAAI,IAAYC,YAAU,EAsGnCC,GAAUC,EAAAA,WAAyC,SAC9D,CACE,MAAAC,EACA,WAAAC,EACA,YAAAC,EACA,aAAAC,EACA,SAAAC,EACA,YAAAC,EAAc,GACd,kBAAAC,EAAoB,GACpB,YAAAC,EAAc,aACd,KAAAC,EAAO,KACP,MAAAC,EAAQ,UACR,YAAAC,EACA,aAAcC,EACd,UAAAC,EACA,MAAAC,CACF,EACAC,EACA,OACA,MAAMC,EAAWR,IAAgB,WAC3BS,EAAYN,GAAe,KAI3BO,EAAeC,EAAAA,gBAAA,EACfC,EAAUf,IAAa,GAAOa,EAAeb,GAAY,OAEzDgB,EAAeC,EAAAA,YAClBC,GACCA,GAAK,MAAQ,OAAO,UAAUA,CAAC,GAAKA,GAAK,GAAKA,EAAItB,EAAM,QAAU,CAACA,EAAMsB,CAAC,EAAE,SAC9E,CAACtB,CAAK,CAAA,EAIFuB,EAAYF,EAAAA,YAAY,IAAqB,CACjD,GAAI,CAACF,GAAW,OAAO,OAAW,IAAa,OAAO,KACtD,MAAMK,EAAM,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAAE,IAAIL,CAAO,EACnE,OAAOK,GAAO,MAAQ,QAAQ,KAAKA,CAAG,EAAI,OAAOA,CAAG,EAAI,EAAI,IAC9D,EAAG,CAACL,CAAO,CAAC,EAENM,EAAe,KAAK,IACxBzB,EAAM,UAAW0B,GAAM,CAACA,EAAE,QAAQ,EAClC,CAAA,EAGI,CAACC,EAAUC,CAAW,EAAIC,EAAAA,SAAiB,IAAM,CACrD,MAAMC,EAAIP,EAAA,EACV,OAAIH,EAAaU,CAAC,EAAUA,EACrBV,EAAalB,CAAW,EAAIA,EAAcuB,CACnD,CAAC,EACKM,EAAe9B,IAAe,OAG9B+B,EAASD,EAAe9B,EAAa0B,EAGrCM,EAAYC,EAAAA,OAAOF,CAAM,EAC/BC,EAAU,QAAUD,EACpB,MAAMG,EAAkBD,EAAAA,OAAO/B,CAAY,EAC3CgC,EAAgB,QAAUhC,EAC1B,MAAMiC,EAAaF,EAAAA,OAAO,EAAK,EAEzBG,EAAahB,EAAAA,YACjB,CAACiB,EAAcC,IAAkB,CAC/B,GAAI,CAACpB,GAAW,OAAO,OAAW,IAAa,OAC/C,MAAMqB,EAAS,IAAI,gBAAgB,OAAO,SAAS,MAAM,EACnDC,EAAQ,OAAOH,EAAO,CAAC,EAC7B,GAAIE,EAAO,IAAIrB,CAAO,IAAMsB,EAAO,OACnCD,EAAO,IAAIrB,EAASsB,CAAK,EACzB,MAAMC,EAAM,GAAG,OAAO,SAAS,QAAQ,IAAIF,EAAO,SAAA,CAAU,GAAG,OAAO,SAAS,IAAI,GACnF,OAAO,QAAQD,EAAO,YAAc,cAAc,EAAE,OAAO,QAAQ,MAAO,GAAIG,CAAG,CACnF,EACA,CAACvB,CAAO,CAAA,EAGJwB,EAAUL,GAAiB,CAC3BA,IAASL,EAAU,UACvBG,EAAW,QAAU,GAChBL,GAAcH,EAAYU,CAAI,EACnCnC,GAAA,MAAAA,EAAemC,GACjB,EAIAM,EAAAA,UAAU,IAAM,CAGd,GAFI,CAACzB,GAAW,OAAO,OAAW,KAE9B,CAAC,OAAO,UAAUa,CAAM,GAAKA,EAAS,GAAKA,GAAUhC,EAAM,OAAQ,OACvE,MAAMuC,EAAOH,EAAW,SAAW/B,EACnC+B,EAAW,QAAU,GACrBC,EAAWL,EAAQO,CAAI,CACzB,EAAG,CAACpB,EAASa,EAAQ3B,EAAagC,EAAYrC,EAAM,MAAM,CAAC,EAG3D6C,uBAAqB1B,EAASb,EAAmB,IAAM,CACjDa,sBAA0BA,CAAO,CACvC,CAAC,EAGDyB,EAAAA,UAAU,IAAM,CACd,GAAI,CAACzB,GAAW,OAAO,OAAW,IAAa,OAC/C,MAAM2B,EAAa,IAAM,OACvB,MAAMhB,EAAIP,EAAA,EACNH,EAAaU,CAAC,GAAKA,IAAMG,EAAU,UACjChC,IAAe,QAAW2B,EAAYE,CAAC,GAC3CiB,EAAAZ,EAAgB,UAAhB,MAAAY,EAAA,KAAAZ,EAA0BL,GAE9B,EACA,cAAO,iBAAiB,WAAYgB,CAAU,EACvC,IAAM,OAAO,oBAAoB,WAAYA,CAAU,CAChE,EAAG,CAAC3B,EAASI,EAAWH,EAAcnB,CAAU,CAAC,EAEjD,MAAM+C,GAAgBD,EAAA/C,EAAMgC,CAAM,IAAZ,YAAAe,EAAe,QAK/BE,EAAUf,EAAAA,OAAgC,IAAI,EACpDU,EAAAA,UAAU,IAAM,CACd,GAAIrC,IAAgB,WAAY,OAChC,MAAM2C,EAAOD,EAAQ,QACfE,EAAKD,GAAA,YAAAA,EAAM,SAASlB,GAC1B,GAAI,CAACkB,GAAQ,CAACC,EAAI,OAClB,MAAMC,EAAWF,EAAK,sBAAA,EAChBG,EAASF,EAAG,sBAAA,EACZG,EAAOD,EAAO,KAAOD,EAAS,KAAOF,EAAK,WAC1CK,EAAQD,EAAOD,EAAO,MACxBC,EAAOJ,EAAK,WAAYA,EAAK,WAAaI,EACrCC,EAAQL,EAAK,WAAaA,EAAK,cAAaA,EAAK,WAAaK,EAAQL,EAAK,YACtF,EAAG,CAAClB,EAAQzB,CAAW,CAAC,EAExB,MAAMiD,EAAcC,GAClB,OAAOA,GAAS,UAAY7D,GAAc,IAAI6D,CAAI,EAChDC,EAAAA,IAACC,EAAAA,KAAA,CAAK,KAAMF,EAAkB,KAAAjD,EAAY,EAE1CiD,EAGJ,OACEG,EAAAA,KAAC,MAAA,CACC,IAAA9C,EACA,UAAW+C,EAAAA,KAAKC,EAAO,KAAMA,EAAOvD,CAAW,EAAGuD,EAAOtD,CAAI,EAAGI,CAAS,EACzE,MACE,CACE,eAAgB,kBAAkBH,CAAK,QACvC,cAAe,kBAAkBA,CAAK,mBACtC,GAAGI,CAAA,EAIP,SAAA,CAAA6C,EAAAA,IAAC,KAAA,CAAG,IAAKT,EAAS,aAAYtC,EAAW,UAAWmD,EAAO,KACxD,SAAA9D,EAAM,IAAI,CAAC+D,EAAMzC,IAAM,CACtB,MAAM0C,EAAU,CAAC,CAACD,EAAK,MACjBE,EAAc,CAACD,IAAYD,EAAK,WAAazC,EAAIU,GACjDkC,EAAW,CAACF,GAAW,CAACC,GAAe3C,IAAMU,EAC7CmC,EAAQH,EACV,QACAC,EACE,YACAC,EACE,SACA,WACFE,EAAS9C,IAAMtB,EAAM,OAAS,EAE9ByD,EAAOD,EAAWO,EAAK,IAAI,EAC3BM,EACJZ,IAEIQ,QACDN,EAAAA,KAAA,CAAK,KAAK,QAAQ,KAAAnD,CAAA,CAAY,EAE/BkD,EAAAA,IAAC,OAAA,CAAK,UAAWI,EAAO,OAAS,WAAI,EAAE,GAGrCQ,EAAUP,EAAK,OAAS,MAAQA,EAAK,aAAe,MAAQA,EAAK,UAAY,KAC7EQ,EACJX,EAAAA,KAAAY,EAAAA,SAAA,CACE,SAAA,CAAAd,EAAAA,IAAC,OAAA,CACC,UAAWI,EAAO,UAClB,cAAaL,GAAQ,MAAQ,CAACQ,EAAc,OAAY,GAEvD,SAAAI,CAAA,CAAA,EAEFC,GACCV,EAAAA,KAAC,OAAA,CAAK,UAAWE,EAAO,KACrB,SAAA,CAAAC,EAAK,OAAS,MAAQL,EAAAA,IAAC,OAAA,CAAK,UAAWI,EAAO,MAAQ,WAAK,KAAA,CAAM,EACjEC,EAAK,aAAe,MACnBL,EAAAA,IAAC,QAAK,UAAWI,EAAO,YAAc,SAAAC,EAAK,WAAA,CAAY,EAExDA,EAAK,UAAY,MAChBL,EAAAA,IAAC,QAAK,UAAWI,EAAO,SAAW,SAAAC,EAAK,QAAA,CAAS,CAAA,CAAA,CAErD,CAAA,EAEJ,EAGF,OACEH,EAAAA,KAAC,KAAA,CAEC,UAAWC,EAAAA,KAAKC,EAAO,KAAMA,EAAOK,CAAK,EAAGJ,EAAK,UAAYD,EAAO,QAAQ,EAE3E,SAAA,CAAA9C,EACC0C,EAAAA,IAAC,SAAA,CACC,KAAK,SACL,UAAWI,EAAO,KAClB,SAAUC,EAAK,SACf,eAAcG,EAAW,OAAS,OAClC,QAAS,IAAM,CACbxD,GAAA,MAAAA,EAAcY,GACdqB,EAAOrB,CAAC,CACV,EAEC,SAAAiD,CAAA,CAAA,EAGHb,EAAAA,IAAC,MAAA,CAAI,UAAWI,EAAO,KAAM,eAAcI,EAAW,OAAS,OAC5D,SAAAK,CAAA,CACH,EAED,CAACH,GACAV,EAAAA,IAAC,OAAA,CACC,UAAWG,EAAAA,KAAKC,EAAO,UAAWxC,EAAIU,GAAU8B,EAAO,IAAI,EAC3D,cAAY,MAAA,CAAA,EAIf/C,GAAYO,IAAMU,GAAU+B,EAAK,SAAW,MAC3CL,EAAAA,IAAC,MAAA,CAAI,UAAWI,EAAO,YAAc,SAAAC,EAAK,OAAA,CAAQ,CAAA,CAAA,EA7B/CzC,CAAA,CAiCX,CAAC,CAAA,CACH,EAEC,CAACP,GAAYiC,GAAiB,YAAS,MAAA,CAAI,UAAWc,EAAO,MAAQ,SAAAd,CAAA,CAAc,CAAA,CAAA,CAAA,CAG1F,CAAC"}
|
|
1
|
+
{"version":3,"file":"Stepper-PBDU60G_.cjs","sources":["../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n type CSSProperties,\n type ReactNode,\n} from 'react'\nimport { clsx } from 'clsx'\nimport { removeQueryParam, useClearUrlOnUnmount } from '../../hooks/useClearUrlOnUnmount'\nimport { useStepQueryKey, type ThemeColor } from '../../theme'\nimport { ICON_NAMES, type IconName } from '../../icons/names'\nimport { Icon } from '../Icon'\nimport styles from './Stepper.module.css'\n\nconst ICON_NAME_SET = new Set<string>(ICON_NAMES)\n\nexport type StepperOrientation = 'horizontal' | 'vertical'\nexport type StepperSize = 'sm' | 'md' | 'lg'\n\nexport interface StepItem {\n /** Step label. */\n label?: ReactNode\n /** Muted secondary line under the label. */\n description?: ReactNode\n /** Muted caption under the label (e.g. `\"Optional\"`). */\n optional?: ReactNode\n /** Override the step's number indicator with an icon — a known `IconName` or any node. */\n icon?: IconName | ReactNode\n /** Force the **completed** look regardless of the active step (e.g. an already-saved step). */\n completed?: boolean\n /** Marks the step **invalid** — a red indicator + label (e.g. its form section failed validation). */\n error?: boolean\n /** Disables the step — dimmed, (when clickable) not selectable, and skipped by the URL restore. */\n disabled?: boolean\n /**\n * Panel content rendered while this step is active — **below the strip** in horizontal mode, and\n * **inline under the step** (indented beside the rail) in vertical mode. Optional.\n */\n content?: ReactNode\n}\n\nexport interface StepperProps {\n /** The steps, in order. */\n steps: StepItem[]\n /**\n * Controlled current step index (**0-based**). Steps before it read **completed**, the one at it is\n * **active**, and those after it are **upcoming**. Omit for uncontrolled (see `defaultStep`).\n */\n activeStep?: number\n /**\n * Initial step index (uncontrolled). A valid URL step (when URL sync is active) wins over it; with\n * neither, the first enabled step.\n */\n defaultStep?: number\n /**\n * Fires with the next step index whenever the stepper itself changes the step — a clicked step head,\n * or a Back/Forward `popstate` restore. In controlled mode apply it to your `activeStep` state.\n */\n onStepChange?: (index: number) => void\n /**\n * **Opt-in** URL sync — **off by default** (the URL is never touched when omitted). Pass the bare\n * prop (**`queryKey`** / `true`) to sync the active step under the configured `keys.stepQueryKey`\n * (else `'step'`), or a **string** for a custom param name. The URL value is **1-based**\n * (`?step=2` = index 1) and a page refresh restores it. Two synced steppers on one page need\n * distinct keys.\n */\n queryKey?: boolean | string\n /**\n * Push a history entry on each step change, so the browser **Back** button returns to the previous\n * step. Defaults to `false` — step changes **replace** the URL, so Back leaves the page instead of\n * stepping back through the wizard (and `popstate` still restores a step when one is in the query).\n */\n pushHistory?: boolean\n /**\n * With `queryKey` sync on, remove the step param when the stepper unmounts **on the same page** — a wizard\n * in a closing `Modal`, a finished flow swapped out — so `?step=3` doesn't outlive it. After a navigation to\n * another pathname nothing is touched. Defaults to `true`.\n */\n clearUrlOnUnmount?: boolean\n /**\n * Layout direction. `horizontal` (default) centers each label **under** its circle and **scrolls\n * sideways** when the steps don't fit (so it fits a phone as-is); `vertical` stacks the steps along\n * a rail connector.\n */\n orientation?: StepperOrientation\n /** Preset size. Defaults to `'md'`. */\n size?: StepperSize\n /** Theme palette token tinting the active / completed steps. Defaults to `'primary'`. */\n color?: ThemeColor\n /**\n * Makes steps **clickable** — each step head becomes a `<button>` that fires this with the step index\n * (a `disabled` step never fires); an uncontrolled stepper also selects the clicked step itself. Omit\n * for a display-only progress indicator.\n */\n onStepClick?: (index: number) => void\n /** Accessible label for the stepper list. */\n 'aria-label'?: string\n className?: string\n style?: CSSProperties\n}\n\n/**\n * A step progress indicator. Data-driven via `steps` (each: `label`, `description`, `optional`, `icon`,\n * `completed`, `error`, `disabled`, `content`) — controlled (`activeStep`, 0-based) or uncontrolled\n * (`defaultStep`). **Opt-in URL sync:** pass **`queryKey`** (bare/`true` = the configured\n * `keys.stepQueryKey`, else `'step'`; or a custom string) and the active step syncs to that query param\n * (**1-based** — `?step=2`) so a refresh restores it; with no `queryKey` the URL is never touched. A synced\n * stepper that unmounts on the same page removes its param again (`clearUrlOnUnmount`, default `true`).\n * Synced step changes **replace** the URL (Back doesn't walk the wizard); pass **`pushHistory`** to\n * step back with Back.\n * Horizontal (labels centered under the circles) or `vertical` (a rail); when the horizontal steps\n * don't fit, the strip **scrolls sideways** (scrollbar hidden, the active step kept in view) — so it\n * fits a phone as-is. The active step's **`content`** renders below the strip (horizontal) or inline\n * under the step (vertical). Pass **`onStepClick`** to make the steps navigable. Tinted by `color` via\n * the shared `--tz-btn-rgb` pattern; the list is an `<ol>` with `aria-current=\"step\"` on the active step.\n */\nexport const Stepper = forwardRef<HTMLDivElement, StepperProps>(function Stepper(\n {\n steps,\n activeStep,\n defaultStep,\n onStepChange,\n queryKey,\n pushHistory = false,\n clearUrlOnUnmount = true,\n orientation = 'horizontal',\n size = 'md',\n color = 'primary',\n onStepClick,\n 'aria-label': ariaLabel,\n className,\n style,\n },\n ref,\n) {\n const vertical = orientation === 'vertical'\n const clickable = onStepClick != null\n\n // resolve the URL-sync key — OPT-IN: omitted/false = no sync (URL untouched); the bare/`true` form\n // uses the configured default (`keys.stepQueryKey`, else 'step'); a string is a custom param name\n const stepQueryKey = useStepQueryKey()\n const syncKey = queryKey === true ? stepQueryKey : queryKey || undefined\n\n const isSelectable = useCallback(\n (i: number | null | undefined): i is number =>\n i != null && Number.isInteger(i) && i >= 0 && i < steps.length && !steps[i].disabled,\n [steps],\n )\n\n // the URL carries the step 1-based (`?step=2` = index 1) — human-friendly, like Table's page param\n const readQuery = useCallback((): number | null => {\n if (!syncKey || typeof window === 'undefined') return null\n const raw = new URLSearchParams(window.location.search).get(syncKey)\n return raw != null && /^\\d+$/.test(raw) ? Number(raw) - 1 : null\n }, [syncKey])\n\n const firstEnabled = Math.max(\n steps.findIndex((s) => !s.disabled),\n 0,\n )\n\n const [internal, setInternal] = useState<number>(() => {\n const q = readQuery()\n if (isSelectable(q)) return q\n return isSelectable(defaultStep) ? defaultStep : firstEnabled\n })\n const isControlled = activeStep !== undefined\n // controlled mode renders the given index verbatim (even past the last step — the \"all completed\"\n // pattern); only the URL/popstate restores are gated by `isSelectable`\n const active = isControlled ? activeStep : internal\n\n // keep the latest active / onStepChange / push-intent for the stable effects + popstate listener\n const activeRef = useRef(active)\n activeRef.current = active\n const onStepChangeRef = useRef(onStepChange)\n onStepChangeRef.current = onStepChange\n const pushIntent = useRef(false)\n\n const writeQuery = useCallback(\n (next: number, push: boolean) => {\n if (!syncKey || typeof window === 'undefined') return\n const params = new URLSearchParams(window.location.search)\n const value = String(next + 1)\n if (params.get(syncKey) === value) return\n params.set(syncKey, value)\n const url = `${window.location.pathname}?${params.toString()}${window.location.hash}`\n window.history[push ? 'pushState' : 'replaceState'](window.history.state, '', url)\n },\n [syncKey],\n )\n\n const select = (next: number) => {\n if (next === activeRef.current) return\n pushIntent.current = true\n if (!isControlled) setInternal(next)\n onStepChange?.(next)\n }\n\n // mirror the active step into the URL whenever it changes (and on mount = canonicalize). A\n // user-driven change `push`es when `pushHistory`; programmatic / popstate changes just `replace`.\n useEffect(() => {\n if (!syncKey || typeof window === 'undefined') return\n // an out-of-range active (e.g. `steps.length` = \"all done\") isn't a step — leave the URL alone\n if (!Number.isInteger(active) || active < 0 || active >= steps.length) return\n const push = pushIntent.current && pushHistory\n pushIntent.current = false\n writeQuery(active, push)\n }, [syncKey, active, pushHistory, writeQuery, steps.length])\n\n // unmount on the same page → drop the step param (shared rule: not after a navigation, StrictMode-safe)\n useClearUrlOnUnmount(syncKey, clearUrlOnUnmount, () => {\n if (syncKey) removeQueryParam(syncKey)\n })\n\n // Back/Forward → restore the step from the query\n useEffect(() => {\n if (!syncKey || typeof window === 'undefined') return\n const onPopState = () => {\n const q = readQuery()\n if (isSelectable(q) && q !== activeRef.current) {\n if (activeStep === undefined) setInternal(q)\n onStepChangeRef.current?.(q)\n }\n }\n window.addEventListener('popstate', onPopState)\n return () => window.removeEventListener('popstate', onPopState)\n }, [syncKey, readQuery, isSelectable, activeStep])\n\n const activeContent = steps[active]?.content\n\n // when the horizontal strip overflows (scrolls sideways), keep the active step in view — by moving\n // the strip's own scrollLeft only. (scrollIntoView would also scroll every scrollable ancestor —\n // i.e. the page itself — yanking the viewport down to the stepper on mount.)\n const listRef = useRef<HTMLOListElement | null>(null)\n useEffect(() => {\n if (orientation === 'vertical') return // the vertical rail never scrolls sideways\n const list = listRef.current\n const el = list?.children[active] as HTMLElement | undefined\n if (!list || !el) return\n const listRect = list.getBoundingClientRect()\n const elRect = el.getBoundingClientRect()\n const left = elRect.left - listRect.left + list.scrollLeft\n const right = left + elRect.width\n if (left < list.scrollLeft) list.scrollLeft = left\n else if (right > list.scrollLeft + list.clientWidth) list.scrollLeft = right - list.clientWidth\n }, [active, orientation])\n\n const renderIcon = (icon: StepItem['icon']) =>\n typeof icon === 'string' && ICON_NAME_SET.has(icon) ? (\n <Icon name={icon as IconName} size={size} />\n ) : (\n icon\n )\n\n return (\n <div\n ref={ref}\n className={clsx(styles.root, styles[orientation], styles[size], className)}\n style={\n {\n '--tz-btn-rgb': `var(--tz-color-${color}-rgb)`,\n '--tz-btn-on': `var(--tz-color-${color}-contrast, #fff)`,\n ...style,\n } as CSSProperties\n }\n >\n <ol ref={listRef} aria-label={ariaLabel} className={styles.list}>\n {steps.map((step, i) => {\n const isError = !!step.error\n const isCompleted = !isError && (step.completed || i < active)\n const isActive = !isError && !isCompleted && i === active\n const state = isError\n ? 'error'\n : isCompleted\n ? 'completed'\n : isActive\n ? 'active'\n : 'upcoming'\n const isLast = i === steps.length - 1\n\n const icon = renderIcon(step.icon)\n const indicator =\n icon != null ? (\n icon\n ) : isCompleted ? (\n <Icon name=\"Check\" size={size} />\n ) : (\n <span className={styles.number}>{i + 1}</span>\n )\n\n const hasText = step.label != null || step.description != null || step.optional != null\n const head = (\n <>\n <span\n className={styles.indicator}\n aria-hidden={icon == null && !isCompleted ? undefined : true}\n >\n {indicator}\n </span>\n {hasText && (\n <span className={styles.text}>\n {step.label != null && <span className={styles.label}>{step.label}</span>}\n {step.description != null && (\n <span className={styles.description}>{step.description}</span>\n )}\n {step.optional != null && (\n <span className={styles.optional}>{step.optional}</span>\n )}\n </span>\n )}\n </>\n )\n\n return (\n <li\n key={i}\n className={clsx(styles.step, styles[state], step.disabled && styles.disabled)}\n >\n {clickable ? (\n <button\n type=\"button\"\n className={styles.main}\n disabled={step.disabled}\n aria-current={isActive ? 'step' : undefined}\n onClick={() => {\n onStepClick?.(i)\n select(i)\n }}\n >\n {head}\n </button>\n ) : (\n <div className={styles.main} aria-current={isActive ? 'step' : undefined}>\n {head}\n </div>\n )}\n {!isLast && (\n <span\n className={clsx(styles.connector, i < active && styles.done)}\n aria-hidden=\"true\"\n />\n )}\n {/* vertical: the active step's content sits inline, indented beside the rail */}\n {vertical && i === active && step.content != null && (\n <div className={styles.stepContent}>{step.content}</div>\n )}\n </li>\n )\n })}\n </ol>\n {/* horizontal: the active step's content renders as a panel below the strip */}\n {!vertical && activeContent != null && <div className={styles.panel}>{activeContent}</div>}\n </div>\n )\n})\n"],"names":["ICON_NAME_SET","ICON_NAMES","Stepper","forwardRef","steps","activeStep","defaultStep","onStepChange","queryKey","pushHistory","clearUrlOnUnmount","orientation","size","color","onStepClick","ariaLabel","className","style","ref","vertical","clickable","stepQueryKey","useStepQueryKey","syncKey","isSelectable","useCallback","i","readQuery","raw","firstEnabled","s","internal","setInternal","useState","q","isControlled","active","activeRef","useRef","onStepChangeRef","pushIntent","writeQuery","next","push","params","value","url","select","useEffect","useClearUrlOnUnmount","onPopState","_a","activeContent","listRef","list","el","listRect","elRect","left","right","renderIcon","icon","jsx","Icon","jsxs","clsx","styles","step","isError","isCompleted","isActive","state","isLast","indicator","hasText","head","Fragment"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const r=require("react/jsx-runtime"),p=require("react"),k=require("clsx"),ee=require("@tanstack/react-table"),W=require("@dnd-kit/core"),ne=require("@dnd-kit/sortable"),un=require("@dnd-kit/utilities"),fe=require("./table-CZRQGNdk.cjs"),Rt=require("./Badge-DVbe1rAI.cjs"),_t=require("./Button-mBZOvgyZ.cjs"),Fe=require("./DatePicker-CaGeW_-j.cjs"),qe=require("./DateTimePicker-DXKaAYey.cjs"),D=require("./Icon-CBg21lKA.cjs"),He=require("./IconButton-U_sr2Ahy.cjs"),fn=require("./Modal-CxODxl81.cjs"),mn=require("./MultiSelect-2GouMRTl.cjs"),Le=require("./NumberField-o2z2QNK1.cjs"),St=require("./RadioGroup-687BVZ7k.cjs"),Mt=require("./Select-CylqFHce.cjs"),gn=require("./Slider-CV7ug0WF.cjs"),Ct=require("./TextField-CBYJIfau.cjs"),Ae=require("./TimePicker-0nZOPRKp.cjs"),X=require("./Typography-d97DdbNd.cjs"),re=require("./ConfigProvider-DBU6rOIA.cjs"),wt=require("./Dropdown-C_y9_dVn.cjs"),pn=require("./EmptyState-CkkFHKrh.cjs"),jt=require("./ListItem-CguNjf-u.cjs"),hn=require("./Loader-BE3SQr7W.cjs"),xn=require("./Pagination-BJvLUjQ0.cjs"),$e=require("./Skeleton-DK0lAjS9.cjs"),yn=require("./errorMessage-C7N4KvUS.cjs");function Oe(t,n){if(n==null)return!1;switch(t){case"number":return typeof n=="number"&&!Number.isNaN(n);case"boolean":return typeof n=="boolean";case"multiSelect":return Array.isArray(n)&&n.length>0;case"numberRange":case"numberRangeSlider":return Array.isArray(n)&&(n[0]!=null||n[1]!=null);case"dateRange":case"timeRange":case"dateTimeRange":return Array.isArray(n)&&!!(n[0]||n[1]);default:return typeof n=="string"&&n.trim()!==""}}function bn(t,n){return t.reduce((s,a)=>Oe(a.type,n[a.key])?s+1:s,0)}const Y=t=>String(t).padStart(2,"0"),Pt=t=>`${t.getFullYear()}-${Y(t.getMonth()+1)}-${Y(t.getDate())}`,_n=t=>`${Pt(t)}T${Y(t.getHours())}:${Y(t.getMinutes())}`,Sn=t=>`${Y(t.getHours())}:${Y(t.getMinutes())}`,Qe=t=>{if(!t)return null;const n=/^\d{4}-\d{2}-\d{2}$/.test(t)?`${t}T00:00:00`:t,s=new Date(n);return Number.isNaN(s.getTime())?null:s},De=t=>{const n=Qe(t);return n?Pt(n):t.slice(0,10)},Ee=t=>{const n=Qe(t);return n?_n(n):t.slice(0,16)},te=t=>{if(/\d{4}-\d{2}-\d{2}/.test(t)){const n=Qe(t);if(n)return Sn(n)}return(t.includes("T")?t.slice(t.indexOf("T")+1):t).slice(0,5)};function wn(t,n,s){const a=String(n??"");switch(t){case"text":return a.toLowerCase().includes(String(s).toLowerCase());case"number":return Number(n)===s;case"numberRange":case"numberRangeSlider":{const[h,f]=s,m=Number(n);return(h==null||m>=h)&&(f==null||m<=f)}case"select":case"radio":return a===s;case"multiSelect":return s.includes(a);case"boolean":return!!n===s;case"date":return De(a)===De(String(s));case"dateTime":return Ee(a)===Ee(String(s));case"time":return te(a)===te(String(s));case"dateRange":case"dateTimeRange":{const h=t==="dateRange"?De:Ee,[f,m]=s,g=h(a);return(!f||g>=h(f))&&(!m||g<=h(m))}case"timeRange":{const[h,f]=s,m=te(a);return(!h||m>=te(h))&&(!f||m<=te(f))}default:return!0}}function jn(t,n,s){const a=n.filter(h=>Oe(h.type,s[h.key]));return a.length===0?t:t.filter(h=>a.every(f=>wn(f.type,h[f.key],s[f.key])))}function kt(t,n,s={}){const a=new URLSearchParams,h=s.rangeMinSuffix??"Min",f=s.rangeMaxSuffix??"Max",m=s.multiSelectFormat??"repeat";for(const g of t){const i=n[g.key];if(!Oe(g.type,i))continue;const l=g.queryKey??g.key;switch(g.type){case"multiSelect":{const d=i;m==="csv"?a.set(l,d.join(",")):m==="indexed"?d.forEach((y,b)=>a.set(`${l}[${b}]`,y)):d.forEach(y=>a.append(l,y));break}case"numberRange":case"numberRangeSlider":{const[d,y]=i;d!=null&&a.set(l+h,String(d)),y!=null&&a.set(l+f,String(y));break}case"dateRange":case"timeRange":case"dateTimeRange":{const[d,y]=i;d&&a.set(l+h,d),y&&a.set(l+f,y);break}default:a.set(l,String(i))}}return a}function vt(t,n,s={}){const a=s.rangeMinSuffix??"Min",h=s.rangeMaxSuffix??"Max",f=s.multiSelectFormat??"repeat",m={};for(const g of t){const i=g.queryKey??g.key;switch(g.type){case"multiSelect":{let l=[];if(f==="csv"){const d=n.get(i);d&&(l=d.split(",").filter(Boolean))}else if(f==="indexed")for(let d=0;n.has(`${i}[${d}]`);d++)l.push(n.get(`${i}[${d}]`));else l=n.getAll(i);l.length&&(m[g.key]=l);break}case"numberRange":case"numberRangeSlider":{const l=n.get(i+a),d=n.get(i+h);(l!=null||d!=null)&&(m[g.key]=[l!=null?Number(l):null,d!=null?Number(d):null]);break}case"dateRange":case"timeRange":case"dateTimeRange":{const l=n.get(i+a),d=n.get(i+h);(l!=null||d!=null)&&(m[g.key]=[l??"",d??""]);break}case"number":{const l=n.get(i);if(l!=null){const d=Number(l);Number.isNaN(d)||(m[g.key]=d)}break}case"boolean":{const l=n.get(i);l==="true"?m[g.key]=!0:l==="false"&&(m[g.key]=!1);break}default:{const l=n.get(i);l&&(m[g.key]=l)}}}return m}const kn="_fields_xa8i1_2",vn="_field_xa8i1_2",Tn="_rangeLabel_xa8i1_15",Nn="_row_xa8i1_20",Rn="_rangeSep_xa8i1_30",Mn="_stack_xa8i1_36",Cn="_footer_xa8i1_43",Pn="_footerEnd_xa8i1_50",$={fields:kn,field:vn,rangeLabel:Tn,row:Nn,rangeSep:Rn,stack:Mn,footer:Cn,footerEnd:Pn},zn=(t,n)=>[{value:"",label:(t==null?void 0:t.any)??n("common.any")},{value:"true",label:(t==null?void 0:t.yes)??n("common.yes")},{value:"false",label:(t==null?void 0:t.no)??n("common.no")}],In=t=>t===!0?"true":t===!1?"false":"",Fn=t=>t==="true"?!0:t==="false"?!1:null;function me({label:t,from:n,to:s,stacked:a}){return r.jsxs("div",{className:$.field,children:[r.jsx(X.Typography,{variant:"bodySmall",className:$.rangeLabel,children:t}),a?r.jsxs("div",{className:$.stack,children:[n,s]}):r.jsxs("div",{className:$.row,children:[n,r.jsx("span",{className:$.rangeSep,"aria-hidden":!0,children:"–"}),s]})]})}function qn({filter:t,value:n,onChange:s}){const a=re.useT(),{type:h,label:f,options:m=[],placeholder:g}=t;switch(h){case"text":return r.jsx(Ct.TextField,{label:f,placeholder:g,value:n??"",onChange:i=>s(i.target.value)});case"number":return r.jsx(Le.NumberField,{label:f,placeholder:g,value:n??null,onChange:i=>s(i)});case"numberRange":{const[i,l]=n??[null,null];return r.jsx(me,{label:f,from:r.jsx(Le.NumberField,{placeholder:a("common.min"),value:i,onChange:d=>s([d,l])}),to:r.jsx(Le.NumberField,{placeholder:a("common.max"),value:l,onChange:d=>s([i,d])})})}case"numberRangeSlider":{const i=t.min??0,l=t.max??100,[d,y]=n??[null,null];return r.jsx(gn.Slider,{range:!0,label:f,min:i,max:l,step:t.step??1,value:[d??i,y??l],valueLabel:b=>{const[R,M]=b;return`${R} – ${M}`},onChange:b=>{const[R,M]=b;s([R<=i?null:R,M>=l?null:M])}})}case"select":return r.jsx(Mt.Select,{label:f,placeholder:g,options:m,value:n??"",onChange:i=>s(i)});case"radio":return r.jsx(St.RadioGroup,{label:f,orientation:t.orientation??"vertical",options:[{value:"",label:t.anyLabel??a("common.any")},...m.map(({value:i,label:l,disabled:d})=>({value:i,label:l,disabled:d}))],value:n??"",onChange:i=>s(i)});case"multiSelect":return r.jsx(mn.MultiSelect,{label:f,placeholder:g,options:m,value:n??[],onChange:i=>s(i)});case"boolean":return r.jsx(St.RadioGroup,{label:f,orientation:"horizontal",options:zn(t.booleanLabels,a),value:In(n),onChange:i=>s(Fn(i))});case"date":return r.jsx(Fe.DatePicker,{label:f,value:n??"",onChange:i=>s(i??"")});case"dateRange":{const[i,l]=n??["",""];return r.jsx(me,{label:f,from:r.jsx(Fe.DatePicker,{placeholder:a("common.from"),value:i,onChange:d=>s([d??"",l])}),to:r.jsx(Fe.DatePicker,{placeholder:a("common.to"),value:l,onChange:d=>s([i,d??""])})})}case"time":return r.jsx(Ae.TimePicker,{label:f,value:n??"",onChange:i=>s(i??"")});case"timeRange":{const[i,l]=n??["",""];return r.jsx(me,{label:f,from:r.jsx(Ae.TimePicker,{placeholder:a("common.from"),value:i,onChange:d=>s([d??"",l])}),to:r.jsx(Ae.TimePicker,{placeholder:a("common.to"),value:l,onChange:d=>s([i,d??""])})})}case"dateTime":return r.jsx(qe.DateTimePicker,{label:f,value:n??"",onChange:i=>s(i??"")});case"dateTimeRange":{const[i,l]=n??["",""];return r.jsx(me,{label:f,stacked:!0,from:r.jsx(qe.DateTimePicker,{placeholder:a("common.from"),value:i,onChange:d=>s([d??"",l])}),to:r.jsx(qe.DateTimePicker,{placeholder:a("common.to"),value:l,onChange:d=>s([i,d??""])})})}default:return null}}function Ln({filters:t,value:n,onChange:s}){const a=re.useT(),[h,f]=p.useState(!1),[m,g]=p.useState(n),i=bn(t,n),l=p.useId(),d=()=>{g(n),f(!0)},y=()=>{s(m),f(!1)};return r.jsxs(r.Fragment,{children:[r.jsx(Rt.Badge,{content:i,color:"primary",children:r.jsx(He.IconButton,{variant:"filled",size:"sm","aria-label":a("table.filters"),onClick:d,children:r.jsx(D.Icon,{name:"Filter"})})}),r.jsx(fn.Modal,{open:h,onClose:()=>f(!1),placement:"right",size:"sm",icon:"Filter",title:a("table.filters"),description:a("table.filtersDescription"),footer:r.jsx("div",{className:$.footer,children:r.jsxs("div",{className:$.footerEnd,children:[r.jsx(_t.Button,{variant:"text",size:"sm",startIcon:r.jsx(D.Icon,{name:"Trash"}),onClick:()=>g({}),children:a("common.clear")}),r.jsx(_t.Button,{type:"submit",size:"sm",form:l,startIcon:r.jsx(D.Icon,{name:"Filter"}),children:a("common.apply")})]})}),children:r.jsx("form",{id:l,className:$.fields,onSubmit:b=>{b.preventDefault(),b.stopPropagation(),y()},children:t.map(b=>r.jsx(qn,{filter:b,value:m[b.key],onChange:R=>g(M=>({...M,[b.key]:R}))},b.key))})})]})}const An="_root_56of9_3",$n="_toolbar_56of9_17",Dn="_title_56of9_24",En="_toolbarStart_56of9_28",Bn="_toolbarEnd_56of9_35",Wn="_search_56of9_41",Hn="_scroll_56of9_9",On="_table_56of9_56",Qn="_th_56of9_63",Gn="_sticky_56of9_73",Un="_td_56of9_80",Kn="_tr_56of9_90",Xn="_wrapCell_56of9_97",Yn="_hoverable_56of9_102",Jn="_striped_56of9_106",Vn="_clickable_56of9_109",Zn="_empty_56of9_113",er="_menuTitle_56of9_120",tr="_skeletonCell_56of9_128",nr="_rowActions_56of9_132",rr="_skeletonActions_56of9_133",sr="_dragHandleCell_56of9_144",or="_dragHandle_56of9_144",ar="_dragging_56of9_175",ir="_pinnedLeft_56of9_183",cr="_pinnedRight_56of9_184",lr="_skeletonActionsCell_56of9_204",dr="_stateCell_56of9_245",ur="_loadingOverlay_56of9_249",fr="_footer_56of9_259",mr="_footerMain_56of9_265",gr="_pageSize_56of9_272",pr="_pageSizeSelect_56of9_278",hr="_rangeText_56of9_281",u={root:An,toolbar:$n,title:Dn,toolbarStart:En,toolbarEnd:Bn,search:Wn,scroll:Hn,table:On,th:Qn,sticky:Gn,td:Un,tr:Kn,wrapCell:Xn,hoverable:Yn,striped:Jn,clickable:Vn,empty:Zn,menuTitle:er,skeletonCell:tr,rowActions:nr,skeletonActions:rr,dragHandleCell:sr,dragHandle:or,dragging:ar,pinnedLeft:ir,pinnedRight:cr,skeletonActionsCell:lr,stateCell:dr,loadingOverlay:ur,footer:fr,footerMain:mr,pageSize:gr,pageSizeSelect:pr,rangeText:hr},ge=Number.MAX_SAFE_INTEGER,Tt=["8em","5.5em","7em","10em","4.5em","6.5em"],xr=280;function Be(t,n){return typeof t=="function"?t(n):t}function pe(t){return t.maxWidth??(t.wrap?xr:void 0)}function yr(t){return t==null||typeof t=="object"?"":String(t)}function br(t){return t==null||t===""||t===!1?r.jsx("span",{className:u.empty,"aria-hidden":!0,children:"—"}):t}function We(t){return t.toString().replace(/%2C/gi,",").replace(/%3A/gi,":").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Nt(t,n){const s={pageParam:"page",sizeParam:"size",searchParam:"search",sortParam:"sort",sortOrderParam:"order",...t},a=t.rangeMinSuffix??"Min",h=t.rangeMaxSuffix??"Max",f=[s.pageParam,s.sizeParam,s.searchParam,s.sortParam,s.sortOrderParam];for(const m of n??[]){const g=m.queryKey??m.key;f.push(g,g+a,g+h)}return m=>f.includes(m)||f.some(g=>m.startsWith(`${g}[`))}function _r(t,n,s){const a={...t};return n.top+t.y<=s.top?a.y=s.top-n.top:n.bottom+t.y>=s.top+s.height&&(a.y=s.top+s.height-n.bottom),n.left+t.x<=s.left?a.x=s.left-n.left:n.right+t.x>=s.left+s.width&&(a.x=s.left+s.width-n.right),a}const Sr=({transform:t})=>({...t,x:0}),wr=({containerNodeRect:t,draggingNodeRect:n,transform:s})=>n&&t?_r(s,n,t):s,jr=[Sr,wr];function kr({id:t,cells:n,clickable:s,onClick:a}){const h=re.useT(),{setNodeRef:f,transform:m,transition:g,isDragging:i,attributes:l,listeners:d}=ne.useSortable({id:t});return r.jsxs("tr",{ref:f,className:k.clsx(u.tr,s&&u.clickable,i&&u.dragging),style:{transform:un.CSS.Translate.toString(m),transition:g,position:i?"relative":void 0,zIndex:i?1:void 0},onClick:a,children:[r.jsx("td",{className:k.clsx(u.td,u.dragHandleCell),children:r.jsx("button",{type:"button",className:u.dragHandle,"aria-label":h("table.dragHandle"),...l,...d,onClick:y=>y.stopPropagation(),children:r.jsx(D.Icon,{name:"Menu",size:"sm"})})}),n]})}function vr({enabled:t,sensors:n,onDragEnd:s,children:a}){return t?r.jsx(W.DndContext,{sensors:n,collisionDetection:W.closestCenter,modifiers:jr,onDragEnd:s,children:a}):r.jsx(r.Fragment,{children:a})}const Tr=p.forwardRef(function({columns:n,data:s,getRowId:a,title:h,toolbar:f,searchable:m=!1,searchPlaceholder:g,defaultSearch:i="",debounceMs:l=300,defaultPage:d=1,defaultPageSize:y=10,pageSizeOptions:b=[10,20,50,100,200],allowAllRows:R=!0,showPageSize:M="auto",showFirstButton:zt=!1,showLastButton:It=!1,manualPagination:Ft=!1,rowCount:Ge,defaultSort:he=null,onChange:Ue,queryMapping:qt,onExportToEmail:se,filters:_,defaultFilters:Lt,onRowClick:E,actions:oe,reorderable:H=!1,onReorder:Ke,loading:ae=!1,loadingRows:At,empty:$t,urlSync:B=!0,clearUrlOnUnmount:Xe=!0,page:Ye,onPageChange:xe,pageSize:Je,onPageSizeChange:ye,search:J,onSearchChange:be,sort:V,onSortChange:_e,filterValues:Se,onFiltersChange:we,stickyHeader:Dt=!1,striped:Et=!1,hoverable:Bt=!0,className:Wt,...Ht},Ot){const v=re.useT(),Qt=re.useTableQueryConfig(),F=p.useRef({});F.current={...Qt,...qt};const ie=p.useRef(Ue);ie.current=Ue;const ce=p.useRef(_);ce.current=_;const Ve=p.useRef(null),je=p.useRef(null),[Ze,Gt]=p.useState({start:!1,end:!1}),[q]=p.useState(()=>{const e=B&&typeof window<"u"?new URLSearchParams(window.location.search):null;return e?{...fe.parseTableQuery(e,F.current),filters:_!=null&&_.length?vt(_,e,F.current):{}}:{page:null,size:null,search:"",sort:null,filters:{}}}),[et,Ut]=p.useState(()=>({pageIndex:(q.page??d)-1,pageSize:q.size??y})),[le,ke]=p.useState(q.search||i),[Kt,Xt]=p.useState(q.search||i),[tt,Yt]=p.useState(()=>q.sort?[{id:q.sort.key,desc:q.sort.direction==="desc"}]:he?[{id:he.key,desc:he.direction==="desc"}]:[]),[nt,Jt]=p.useState(()=>({...Lt,...q.filters})),T=Ft,rt=Ye!==void 0,st=Je!==void 0,ot=J!==void 0,ve=V!==void 0,Te=Se!==void 0,Ne={pageIndex:rt?Ye-1:et.pageIndex,pageSize:st?Je:et.pageSize},C=ot?J:Kt,L=p.useMemo(()=>ve?V?[{id:V.key,desc:V.direction==="desc"}]:[]:tt,[ve,V,tt]),A=p.useMemo(()=>Te?Se:nt,[Te,Se,nt]),O=e=>{const o=Ne,c=Be(e,o);c.pageIndex!==o.pageIndex&&(xe==null||xe(c.pageIndex+1)),c.pageSize!==o.pageSize&&(ye==null||ye(c.pageSize)),Ut(x=>({pageIndex:rt?x.pageIndex:c.pageIndex,pageSize:st?x.pageSize:c.pageSize}))},Re=()=>O(e=>e.pageIndex===0?e:{...e,pageIndex:0}),Me=(e,o=!0)=>{ot||Xt(e),be==null||be(e),o&&Re()},Ce=(e,o=!0)=>{const c=Be(e,L);ve||Yt(c),_e==null||_e(c[0]?{key:c[0].id,direction:c[0].desc?"desc":"asc"}:null),o&&Re()},at=(e,o=!0)=>{Te||Jt(e),we==null||we(e),o&&Re()},Vt=p.useMemo(()=>_&&_.length>0&&!T?jn(s,_,A):s,[_,T,s,A]),Zt=at,en=p.useMemo(()=>n.map(e=>({id:e.key,accessorFn:o=>o[e.key],enableSorting:!!e.sortable})),[n]),tn=p.useMemo(()=>{const e=b.map(o=>({value:String(o),label:String(o)}));return R?[...e,{value:"all",label:v("common.all")}]:e},[b,R]),de=p.useMemo(()=>{if(!oe)return n;const e={key:"__actions",header:"",align:"right",pinned:"right",cell:(o,c)=>r.jsx("div",{className:u.rowActions,onClick:x=>x.stopPropagation(),children:oe(o,c)})};return[...n,e]},[n,oe]),Pe=p.useMemo(()=>n.filter(e=>e.sortable),[n]),nn=e=>Ce(o=>{const c=o[0];return!c||c.id!==e?[{id:e,desc:!1}]:c.desc?[]:[{id:e,desc:!0}]}),ze=ee.useReactTable({data:Vt,columns:en,state:{pagination:Ne,globalFilter:C,sorting:L},onPaginationChange:O,onGlobalFilterChange:e=>Me(Be(e,C)),onSortingChange:Ce,globalFilterFn:"includesString",sortDescFirst:!1,getCoreRowModel:ee.getCoreRowModel(),getRowId:a,manualPagination:T,manualFiltering:T,manualSorting:T,...T?{rowCount:Ge??s.length}:{getPaginationRowModel:ee.getPaginationRowModel(),getFilteredRowModel:ee.getFilteredRowModel(),getSortedRowModel:ee.getSortedRowModel()}}),Q=ze.getRowModel().rows,rn=W.useSensors(W.useSensor(W.PointerSensor,{activationConstraint:{distance:5}}),W.useSensor(W.KeyboardSensor,{coordinateGetter:ne.sortableKeyboardCoordinates})),it=(e,o)=>a?a(e,o):String(o),sn=e=>{const{active:o,over:c}=e;if(!c||o.id===c.id||!Ke)return;const x=s.findIndex((I,w)=>it(I,w)===o.id),j=s.findIndex((I,w)=>it(I,w)===c.id);x<0||j<0||Ke(ne.arrayMove(s,x,j),{id:String(o.id),from:x,to:j})},P=T?Ge??s.length:ze.getFilteredRowModel().rows.length,{pageIndex:N,pageSize:S}=Ne,G=Math.max(1,Math.ceil(P/S)),on=Math.min(...b,...S<ge?[S]:[]),ct=M==="auto"?P>on:M,lt=N+1,an=P===0?0:N*S+1,cn=T?Math.min(P,N*S+Q.length):Math.min(P,lt*S);p.useEffect(()=>{J!==void 0&&ke(J)},[J]),p.useEffect(()=>{if(le===C)return;const e=setTimeout(()=>Me(le),l);return()=>clearTimeout(e)},[le,C,l]),p.useEffect(()=>{T&&P===0||N>0&&N>=G&&O(e=>({...e,pageIndex:G-1}))},[G,N,T,P]);const z=L[0]?{key:L[0].id,direction:L[0].desc?"desc":"asc"}:null,dt=()=>{const e=N+1,o=S,c=fe.buildTableQuery({page:e,size:o,search:C,sort:z},F.current);return _!=null&&_.length&&kt(_,A,F.current).forEach((x,j)=>c.append(j,x)),{page:e,size:o,search:C,sort:z,filters:A,params:c,query:We(c)}};p.useEffect(()=>{var e;(e=ie.current)==null||e.call(ie,dt())},[N,S,C,L,A]);const ut=se!=null,ft=_!=null&&_.length>0,Z=p.useRef(null),mt=p.useCallback((e,o,c,x,j)=>{if(typeof window>"u"||!B)return;Z.current=window.location.pathname;const I=F.current,w=ce.current,U=fe.buildTableQuery({page:e,size:o,search:c,sort:x},I);w!=null&&w.length&&kt(w,j,I).forEach((K,Ie)=>U.append(Ie,K));const dn=Nt(I,w),ue=new URLSearchParams(window.location.search);for(const K of[...ue.keys()])dn(K)&&ue.delete(K);U.forEach((K,Ie)=>ue.append(Ie,K));const yt=We(ue),bt=`${window.location.pathname}${yt?`?${yt}`:""}${window.location.hash}`;bt!==`${window.location.pathname}${window.location.search}${window.location.hash}`&&window.history.replaceState(window.history.state,"",bt)},[B]);p.useEffect(()=>{mt(N+1,S,C,z,A)},[N,S,C,L,A,mt]);const gt=p.useRef(B);gt.current=B;const pt=p.useRef(Xe);pt.current=Xe,p.useEffect(()=>{if(!(typeof window>"u"))return Z.current??(Z.current=window.location.pathname),()=>{if(!gt.current||!pt.current||window.location.pathname!==Z.current)return;const e=Nt(F.current,ce.current),o=new URLSearchParams(window.location.search),c=[...o.keys()].filter(e);if(c.length===0)return;for(const j of c)o.delete(j);const x=We(o);window.history.replaceState(window.history.state,"",`${window.location.pathname}${x?`?${x}`:""}${window.location.hash}`)}},[]);const ht=p.useRef(()=>{});ht.current=()=>{const e=new URLSearchParams(window.location.search),o=F.current,c=fe.parseTableQuery(e,o);O(()=>({pageIndex:(c.page??d)-1,pageSize:c.size??S})),ke(c.search),Me(c.search,!1),Ce(()=>c.sort?[{id:c.sort.key,desc:c.sort.direction==="desc"}]:[],!1);const x=ce.current;x!=null&&x.length&&at(vt(x,e,o),!1)},p.useEffect(()=>{if(typeof window>"u"||!B)return;const e=()=>ht.current();return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)},[B]),p.useEffect(()=>{yn.isDev()&&!a&&(E!=null||oe!=null||H)&&console.warn("[Table] No `getRowId` provided, so the row index is used as the React key. For a table with row interactions or changing / paged data, pass `getRowId` (e.g. `(row) => row.id`) so each row keeps its identity across sort / filter / refetch.")},[]),p.useEffect(()=>{const e=Ve.current;if(!e)return;const o=()=>{const x=e.scrollWidth>e.clientWidth+1,j=e.scrollLeft<=0,I=e.scrollLeft>=e.scrollWidth-e.clientWidth-1,w={start:x&&!j,end:x&&!I};Gt(U=>U.start===w.start&&U.end===w.end?U:w)};o(),e.addEventListener("scroll",o,{passive:!0});const c=typeof ResizeObserver<"u"?new ResizeObserver(o):null;return c==null||c.observe(e),c&&je.current&&c.observe(je.current),()=>{e.removeEventListener("scroll",o),c==null||c.disconnect()}},[]);const ln=h!=null||f!=null||m||ft||Pe.length>0||ut,xt=e=>de.map(o=>r.jsx("td",{className:k.clsx(u.td,o.pinned==="left"&&u.pinnedLeft,o.pinned==="right"&&u.pinnedRight,(o.wrap||o.maxWidth!=null)&&u.wrapCell),style:{width:o.width??(o.pinned?1:pe(o)),maxWidth:pe(o),textAlign:o.align},children:br(o.cell?o.cell(e.original,e.index):yr(e.getValue(o.key)))},o.key));return r.jsxs("div",{ref:Ot,className:k.clsx(u.root,Wt),...Ht,children:[ln&&r.jsxs("div",{className:u.toolbar,children:[r.jsxs("div",{className:u.toolbarStart,children:[h!=null&&r.jsx(X.Typography,{variant:"h4",as:"div",className:u.title,children:h}),m&&r.jsx(Ct.TextField,{className:u.search,fullWidth:!1,value:le,onChange:e=>ke(e.target.value),placeholder:g??v("common.search"),adornment:r.jsx(D.Icon,{name:"SearchNormal"}),"aria-label":v("common.search")})]}),r.jsxs("div",{className:u.toolbarEnd,children:[f,ut&&r.jsxs(wt.Dropdown,{placement:"bottom-end",trigger:r.jsx(He.IconButton,{variant:"filled",size:"sm","aria-label":v("table.export"),children:r.jsx(D.Icon,{name:"ExportArrow"})}),children:[r.jsx(X.Typography,{as:"div",variant:"caption",color:"muted",uppercase:!0,className:u.menuTitle,children:v("table.export")}),r.jsx(jt.ListItem,{clickable:!0,icon:"Sms",onClick:()=>se==null?void 0:se(dt()),children:v("table.sendOnEmail")})]}),Pe.length>0&&r.jsxs(wt.Dropdown,{placement:"bottom-end",closeOnSelect:!1,trigger:r.jsx(Rt.Badge,{dot:L.length>0,color:"primary",children:r.jsx(He.IconButton,{variant:"filled",size:"sm","aria-label":v("table.sort"),children:r.jsx(D.Icon,{name:"Sort"})})}),children:[r.jsx(X.Typography,{as:"div",variant:"caption",color:"muted",uppercase:!0,className:u.menuTitle,children:v("table.sortBy")}),Pe.map(e=>{const o=(z==null?void 0:z.key)===e.key;return r.jsx(jt.ListItem,{clickable:!0,selected:o,trailing:o?r.jsx(D.Icon,{name:(z==null?void 0:z.direction)==="desc"?"ArrowDown":"ArrowUp2"}):void 0,onClick:()=>nn(e.key),children:e.header},e.key)})]}),ft&&r.jsx(Ln,{filters:_,value:A,onChange:Zt})]})]}),r.jsx(vr,{enabled:H,sensors:rn,onDragEnd:sn,children:r.jsxs("div",{ref:Ve,className:u.scroll,"data-pin-start":Ze.start?"true":"false","data-pin-end":Ze.end?"true":"false",children:[r.jsxs("table",{ref:je,className:k.clsx(u.table,Et&&u.striped,Bt&&u.hoverable,Dt&&u.sticky),"aria-busy":ae||void 0,children:[r.jsx("thead",{children:r.jsxs("tr",{children:[H&&r.jsx("th",{className:k.clsx(u.th,u.dragHandleCell),scope:"col","aria-hidden":!0}),de.map(e=>{var c;const o=e.sortable&&((c=ze.getColumn(e.key))==null?void 0:c.getIsSorted())||!1;return r.jsx("th",{scope:"col",className:k.clsx(u.th,e.pinned==="left"&&u.pinnedLeft,e.pinned==="right"&&u.pinnedRight,(e.wrap||e.maxWidth!=null)&&u.wrapCell),style:{width:e.width??(e.pinned?1:pe(e)),maxWidth:pe(e),textAlign:e.align},"aria-sort":e.sortable?o==="asc"?"ascending":o==="desc"?"descending":"none":void 0,children:e.header},e.key)})]})}),r.jsx("tbody",{children:Q.length>0?H?r.jsx(ne.SortableContext,{items:Q.map(e=>e.id),strategy:ne.verticalListSortingStrategy,children:Q.map(e=>r.jsx(kr,{id:e.id,clickable:!!E,onClick:E?()=>E(e.original,e.index):void 0,cells:xt(e)},e.id))}):Q.map(e=>r.jsx("tr",{className:k.clsx(u.tr,E&&u.clickable),onClick:E?()=>E(e.original,e.index):void 0,children:xt(e)},e.id)):ae?Array.from({length:At??Math.min(S===ge?10:S,10)},(e,o)=>r.jsxs("tr",{className:u.tr,"aria-hidden":"true",children:[H&&r.jsx("td",{className:k.clsx(u.td,u.dragHandleCell)}),de.map((c,x)=>r.jsx("td",{className:k.clsx(u.td,c.pinned==="left"&&u.pinnedLeft,c.pinned==="right"&&u.pinnedRight,c.key==="__actions"&&u.skeletonActionsCell),style:{width:c.width,textAlign:c.align},children:c.key==="__actions"?r.jsxs("span",{className:k.clsx(u.rowActions,u.skeletonActions),children:[r.jsx($e.Skeleton,{variant:"rect",width:"calc(var(--tz-control-height-sm) - var(--tz-space-xs))",height:"calc(var(--tz-control-height-sm) - var(--tz-space-xs))",radius:"xs"}),r.jsx($e.Skeleton,{variant:"rect",width:"calc(var(--tz-control-height-sm) - var(--tz-space-xs))",height:"calc(var(--tz-control-height-sm) - var(--tz-space-xs))",radius:"xs"})]}):r.jsx($e.Skeleton,{width:Tt[(o*3+x)%Tt.length],className:u.skeletonCell})},c.key))]},o)):r.jsx("tr",{children:r.jsx("td",{colSpan:Math.max(1,de.length+(H?1:0)),className:u.stateCell,children:$t??r.jsx(pn.EmptyState,{})})})})]}),ae&&Q.length>0&&r.jsx("div",{className:u.loadingOverlay,children:r.jsx(hn.Loader,{size:"lg"})})]})}),P>0&&(ct||G>1)&&r.jsxs("div",{className:u.footer,children:[r.jsx(X.Typography,{variant:"bodySmall",color:"muted",as:"span",className:u.rangeText,children:v("table.range",{from:an,to:cn,total:P})}),r.jsxs("div",{className:u.footerMain,children:[ct&&r.jsxs("div",{className:u.pageSize,children:[r.jsx(X.Typography,{variant:"bodySmall",color:"muted",as:"span",children:v("table.rowsPerPage")}),r.jsx(Mt.Select,{className:u.pageSizeSelect,fullWidth:!1,clearable:!1,showSelectedTick:!1,value:S>=ge?"all":String(S),onChange:e=>O(()=>({pageIndex:0,pageSize:e==="all"?ge:Number(e)})),options:tn})]}),G>1&&r.jsx(xn.Pagination,{count:G,page:lt,onChange:e=>O(o=>({...o,pageIndex:e-1})),showFirstButton:zt,showLastButton:It,disabled:ae})]})]})]})});exports.Table=Tr;
|
|
2
|
-
//# sourceMappingURL=Table-
|
|
1
|
+
"use strict";const r=require("react/jsx-runtime"),p=require("react"),k=require("clsx"),ee=require("@tanstack/react-table"),W=require("@dnd-kit/core"),ne=require("@dnd-kit/sortable"),un=require("@dnd-kit/utilities"),fe=require("./table-CZRQGNdk.cjs"),Rt=require("./Badge-DVbe1rAI.cjs"),_t=require("./Button-BtiFpRie.cjs"),Fe=require("./DatePicker-Bw9gLB8o.cjs"),qe=require("./DateTimePicker-kikKdt0F.cjs"),D=require("./Icon-CBg21lKA.cjs"),He=require("./IconButton-DSPdv-oI.cjs"),fn=require("./Modal-7cCok6fV.cjs"),mn=require("./MultiSelect-DTKNjUDH.cjs"),Le=require("./NumberField-Xz4yQMlm.cjs"),St=require("./RadioGroup-687BVZ7k.cjs"),Mt=require("./Select-BzVyK6Ne.cjs"),gn=require("./Slider-Oe9VSAdy.cjs"),Ct=require("./TextField-D4s2hGSd.cjs"),Ae=require("./TimePicker-DChtZgBs.cjs"),X=require("./Typography-d97DdbNd.cjs"),re=require("./ConfigProvider-CYSpuSMJ.cjs"),wt=require("./Dropdown-C_y9_dVn.cjs"),pn=require("./EmptyState-BM5LrRLq.cjs"),jt=require("./ListItem-CguNjf-u.cjs"),hn=require("./Loader-RyFTP2X5.cjs"),xn=require("./Pagination-DkmfEmgK.cjs"),$e=require("./Skeleton-DK0lAjS9.cjs"),yn=require("./errorMessage-C7N4KvUS.cjs");function Oe(t,n){if(n==null)return!1;switch(t){case"number":return typeof n=="number"&&!Number.isNaN(n);case"boolean":return typeof n=="boolean";case"multiSelect":return Array.isArray(n)&&n.length>0;case"numberRange":case"numberRangeSlider":return Array.isArray(n)&&(n[0]!=null||n[1]!=null);case"dateRange":case"timeRange":case"dateTimeRange":return Array.isArray(n)&&!!(n[0]||n[1]);default:return typeof n=="string"&&n.trim()!==""}}function bn(t,n){return t.reduce((s,a)=>Oe(a.type,n[a.key])?s+1:s,0)}const Y=t=>String(t).padStart(2,"0"),Pt=t=>`${t.getFullYear()}-${Y(t.getMonth()+1)}-${Y(t.getDate())}`,_n=t=>`${Pt(t)}T${Y(t.getHours())}:${Y(t.getMinutes())}`,Sn=t=>`${Y(t.getHours())}:${Y(t.getMinutes())}`,Qe=t=>{if(!t)return null;const n=/^\d{4}-\d{2}-\d{2}$/.test(t)?`${t}T00:00:00`:t,s=new Date(n);return Number.isNaN(s.getTime())?null:s},De=t=>{const n=Qe(t);return n?Pt(n):t.slice(0,10)},Ee=t=>{const n=Qe(t);return n?_n(n):t.slice(0,16)},te=t=>{if(/\d{4}-\d{2}-\d{2}/.test(t)){const n=Qe(t);if(n)return Sn(n)}return(t.includes("T")?t.slice(t.indexOf("T")+1):t).slice(0,5)};function wn(t,n,s){const a=String(n??"");switch(t){case"text":return a.toLowerCase().includes(String(s).toLowerCase());case"number":return Number(n)===s;case"numberRange":case"numberRangeSlider":{const[h,f]=s,m=Number(n);return(h==null||m>=h)&&(f==null||m<=f)}case"select":case"radio":return a===s;case"multiSelect":return s.includes(a);case"boolean":return!!n===s;case"date":return De(a)===De(String(s));case"dateTime":return Ee(a)===Ee(String(s));case"time":return te(a)===te(String(s));case"dateRange":case"dateTimeRange":{const h=t==="dateRange"?De:Ee,[f,m]=s,g=h(a);return(!f||g>=h(f))&&(!m||g<=h(m))}case"timeRange":{const[h,f]=s,m=te(a);return(!h||m>=te(h))&&(!f||m<=te(f))}default:return!0}}function jn(t,n,s){const a=n.filter(h=>Oe(h.type,s[h.key]));return a.length===0?t:t.filter(h=>a.every(f=>wn(f.type,h[f.key],s[f.key])))}function kt(t,n,s={}){const a=new URLSearchParams,h=s.rangeMinSuffix??"Min",f=s.rangeMaxSuffix??"Max",m=s.multiSelectFormat??"repeat";for(const g of t){const i=n[g.key];if(!Oe(g.type,i))continue;const l=g.queryKey??g.key;switch(g.type){case"multiSelect":{const d=i;m==="csv"?a.set(l,d.join(",")):m==="indexed"?d.forEach((y,b)=>a.set(`${l}[${b}]`,y)):d.forEach(y=>a.append(l,y));break}case"numberRange":case"numberRangeSlider":{const[d,y]=i;d!=null&&a.set(l+h,String(d)),y!=null&&a.set(l+f,String(y));break}case"dateRange":case"timeRange":case"dateTimeRange":{const[d,y]=i;d&&a.set(l+h,d),y&&a.set(l+f,y);break}default:a.set(l,String(i))}}return a}function vt(t,n,s={}){const a=s.rangeMinSuffix??"Min",h=s.rangeMaxSuffix??"Max",f=s.multiSelectFormat??"repeat",m={};for(const g of t){const i=g.queryKey??g.key;switch(g.type){case"multiSelect":{let l=[];if(f==="csv"){const d=n.get(i);d&&(l=d.split(",").filter(Boolean))}else if(f==="indexed")for(let d=0;n.has(`${i}[${d}]`);d++)l.push(n.get(`${i}[${d}]`));else l=n.getAll(i);l.length&&(m[g.key]=l);break}case"numberRange":case"numberRangeSlider":{const l=n.get(i+a),d=n.get(i+h);(l!=null||d!=null)&&(m[g.key]=[l!=null?Number(l):null,d!=null?Number(d):null]);break}case"dateRange":case"timeRange":case"dateTimeRange":{const l=n.get(i+a),d=n.get(i+h);(l!=null||d!=null)&&(m[g.key]=[l??"",d??""]);break}case"number":{const l=n.get(i);if(l!=null){const d=Number(l);Number.isNaN(d)||(m[g.key]=d)}break}case"boolean":{const l=n.get(i);l==="true"?m[g.key]=!0:l==="false"&&(m[g.key]=!1);break}default:{const l=n.get(i);l&&(m[g.key]=l)}}}return m}const kn="_fields_xa8i1_2",vn="_field_xa8i1_2",Tn="_rangeLabel_xa8i1_15",Nn="_row_xa8i1_20",Rn="_rangeSep_xa8i1_30",Mn="_stack_xa8i1_36",Cn="_footer_xa8i1_43",Pn="_footerEnd_xa8i1_50",$={fields:kn,field:vn,rangeLabel:Tn,row:Nn,rangeSep:Rn,stack:Mn,footer:Cn,footerEnd:Pn},zn=(t,n)=>[{value:"",label:(t==null?void 0:t.any)??n("common.any")},{value:"true",label:(t==null?void 0:t.yes)??n("common.yes")},{value:"false",label:(t==null?void 0:t.no)??n("common.no")}],In=t=>t===!0?"true":t===!1?"false":"",Fn=t=>t==="true"?!0:t==="false"?!1:null;function me({label:t,from:n,to:s,stacked:a}){return r.jsxs("div",{className:$.field,children:[r.jsx(X.Typography,{variant:"bodySmall",className:$.rangeLabel,children:t}),a?r.jsxs("div",{className:$.stack,children:[n,s]}):r.jsxs("div",{className:$.row,children:[n,r.jsx("span",{className:$.rangeSep,"aria-hidden":!0,children:"–"}),s]})]})}function qn({filter:t,value:n,onChange:s}){const a=re.useT(),{type:h,label:f,options:m=[],placeholder:g}=t;switch(h){case"text":return r.jsx(Ct.TextField,{label:f,placeholder:g,value:n??"",onChange:i=>s(i.target.value)});case"number":return r.jsx(Le.NumberField,{label:f,placeholder:g,value:n??null,onChange:i=>s(i)});case"numberRange":{const[i,l]=n??[null,null];return r.jsx(me,{label:f,from:r.jsx(Le.NumberField,{placeholder:a("common.min"),value:i,onChange:d=>s([d,l])}),to:r.jsx(Le.NumberField,{placeholder:a("common.max"),value:l,onChange:d=>s([i,d])})})}case"numberRangeSlider":{const i=t.min??0,l=t.max??100,[d,y]=n??[null,null];return r.jsx(gn.Slider,{range:!0,label:f,min:i,max:l,step:t.step??1,value:[d??i,y??l],valueLabel:b=>{const[R,M]=b;return`${R} – ${M}`},onChange:b=>{const[R,M]=b;s([R<=i?null:R,M>=l?null:M])}})}case"select":return r.jsx(Mt.Select,{label:f,placeholder:g,options:m,value:n??"",onChange:i=>s(i)});case"radio":return r.jsx(St.RadioGroup,{label:f,orientation:t.orientation??"vertical",options:[{value:"",label:t.anyLabel??a("common.any")},...m.map(({value:i,label:l,disabled:d})=>({value:i,label:l,disabled:d}))],value:n??"",onChange:i=>s(i)});case"multiSelect":return r.jsx(mn.MultiSelect,{label:f,placeholder:g,options:m,value:n??[],onChange:i=>s(i)});case"boolean":return r.jsx(St.RadioGroup,{label:f,orientation:"horizontal",options:zn(t.booleanLabels,a),value:In(n),onChange:i=>s(Fn(i))});case"date":return r.jsx(Fe.DatePicker,{label:f,value:n??"",onChange:i=>s(i??"")});case"dateRange":{const[i,l]=n??["",""];return r.jsx(me,{label:f,from:r.jsx(Fe.DatePicker,{placeholder:a("common.from"),value:i,onChange:d=>s([d??"",l])}),to:r.jsx(Fe.DatePicker,{placeholder:a("common.to"),value:l,onChange:d=>s([i,d??""])})})}case"time":return r.jsx(Ae.TimePicker,{label:f,value:n??"",onChange:i=>s(i??"")});case"timeRange":{const[i,l]=n??["",""];return r.jsx(me,{label:f,from:r.jsx(Ae.TimePicker,{placeholder:a("common.from"),value:i,onChange:d=>s([d??"",l])}),to:r.jsx(Ae.TimePicker,{placeholder:a("common.to"),value:l,onChange:d=>s([i,d??""])})})}case"dateTime":return r.jsx(qe.DateTimePicker,{label:f,value:n??"",onChange:i=>s(i??"")});case"dateTimeRange":{const[i,l]=n??["",""];return r.jsx(me,{label:f,stacked:!0,from:r.jsx(qe.DateTimePicker,{placeholder:a("common.from"),value:i,onChange:d=>s([d??"",l])}),to:r.jsx(qe.DateTimePicker,{placeholder:a("common.to"),value:l,onChange:d=>s([i,d??""])})})}default:return null}}function Ln({filters:t,value:n,onChange:s}){const a=re.useT(),[h,f]=p.useState(!1),[m,g]=p.useState(n),i=bn(t,n),l=p.useId(),d=()=>{g(n),f(!0)},y=()=>{s(m),f(!1)};return r.jsxs(r.Fragment,{children:[r.jsx(Rt.Badge,{content:i,color:"primary",children:r.jsx(He.IconButton,{variant:"filled",size:"sm","aria-label":a("table.filters"),onClick:d,children:r.jsx(D.Icon,{name:"Filter"})})}),r.jsx(fn.Modal,{open:h,onClose:()=>f(!1),placement:"right",size:"sm",icon:"Filter",title:a("table.filters"),description:a("table.filtersDescription"),footer:r.jsx("div",{className:$.footer,children:r.jsxs("div",{className:$.footerEnd,children:[r.jsx(_t.Button,{variant:"text",size:"sm",startIcon:r.jsx(D.Icon,{name:"Trash"}),onClick:()=>g({}),children:a("common.clear")}),r.jsx(_t.Button,{type:"submit",size:"sm",form:l,startIcon:r.jsx(D.Icon,{name:"Filter"}),children:a("common.apply")})]})}),children:r.jsx("form",{id:l,className:$.fields,onSubmit:b=>{b.preventDefault(),b.stopPropagation(),y()},children:t.map(b=>r.jsx(qn,{filter:b,value:m[b.key],onChange:R=>g(M=>({...M,[b.key]:R}))},b.key))})})]})}const An="_root_56of9_3",$n="_toolbar_56of9_17",Dn="_title_56of9_24",En="_toolbarStart_56of9_28",Bn="_toolbarEnd_56of9_35",Wn="_search_56of9_41",Hn="_scroll_56of9_9",On="_table_56of9_56",Qn="_th_56of9_63",Gn="_sticky_56of9_73",Un="_td_56of9_80",Kn="_tr_56of9_90",Xn="_wrapCell_56of9_97",Yn="_hoverable_56of9_102",Jn="_striped_56of9_106",Vn="_clickable_56of9_109",Zn="_empty_56of9_113",er="_menuTitle_56of9_120",tr="_skeletonCell_56of9_128",nr="_rowActions_56of9_132",rr="_skeletonActions_56of9_133",sr="_dragHandleCell_56of9_144",or="_dragHandle_56of9_144",ar="_dragging_56of9_175",ir="_pinnedLeft_56of9_183",cr="_pinnedRight_56of9_184",lr="_skeletonActionsCell_56of9_204",dr="_stateCell_56of9_245",ur="_loadingOverlay_56of9_249",fr="_footer_56of9_259",mr="_footerMain_56of9_265",gr="_pageSize_56of9_272",pr="_pageSizeSelect_56of9_278",hr="_rangeText_56of9_281",u={root:An,toolbar:$n,title:Dn,toolbarStart:En,toolbarEnd:Bn,search:Wn,scroll:Hn,table:On,th:Qn,sticky:Gn,td:Un,tr:Kn,wrapCell:Xn,hoverable:Yn,striped:Jn,clickable:Vn,empty:Zn,menuTitle:er,skeletonCell:tr,rowActions:nr,skeletonActions:rr,dragHandleCell:sr,dragHandle:or,dragging:ar,pinnedLeft:ir,pinnedRight:cr,skeletonActionsCell:lr,stateCell:dr,loadingOverlay:ur,footer:fr,footerMain:mr,pageSize:gr,pageSizeSelect:pr,rangeText:hr},ge=Number.MAX_SAFE_INTEGER,Tt=["8em","5.5em","7em","10em","4.5em","6.5em"],xr=280;function Be(t,n){return typeof t=="function"?t(n):t}function pe(t){return t.maxWidth??(t.wrap?xr:void 0)}function yr(t){return t==null||typeof t=="object"?"":String(t)}function br(t){return t==null||t===""||t===!1?r.jsx("span",{className:u.empty,"aria-hidden":!0,children:"—"}):t}function We(t){return t.toString().replace(/%2C/gi,",").replace(/%3A/gi,":").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Nt(t,n){const s={pageParam:"page",sizeParam:"size",searchParam:"search",sortParam:"sort",sortOrderParam:"order",...t},a=t.rangeMinSuffix??"Min",h=t.rangeMaxSuffix??"Max",f=[s.pageParam,s.sizeParam,s.searchParam,s.sortParam,s.sortOrderParam];for(const m of n??[]){const g=m.queryKey??m.key;f.push(g,g+a,g+h)}return m=>f.includes(m)||f.some(g=>m.startsWith(`${g}[`))}function _r(t,n,s){const a={...t};return n.top+t.y<=s.top?a.y=s.top-n.top:n.bottom+t.y>=s.top+s.height&&(a.y=s.top+s.height-n.bottom),n.left+t.x<=s.left?a.x=s.left-n.left:n.right+t.x>=s.left+s.width&&(a.x=s.left+s.width-n.right),a}const Sr=({transform:t})=>({...t,x:0}),wr=({containerNodeRect:t,draggingNodeRect:n,transform:s})=>n&&t?_r(s,n,t):s,jr=[Sr,wr];function kr({id:t,cells:n,clickable:s,onClick:a}){const h=re.useT(),{setNodeRef:f,transform:m,transition:g,isDragging:i,attributes:l,listeners:d}=ne.useSortable({id:t});return r.jsxs("tr",{ref:f,className:k.clsx(u.tr,s&&u.clickable,i&&u.dragging),style:{transform:un.CSS.Translate.toString(m),transition:g,position:i?"relative":void 0,zIndex:i?1:void 0},onClick:a,children:[r.jsx("td",{className:k.clsx(u.td,u.dragHandleCell),children:r.jsx("button",{type:"button",className:u.dragHandle,"aria-label":h("table.dragHandle"),...l,...d,onClick:y=>y.stopPropagation(),children:r.jsx(D.Icon,{name:"Menu",size:"sm"})})}),n]})}function vr({enabled:t,sensors:n,onDragEnd:s,children:a}){return t?r.jsx(W.DndContext,{sensors:n,collisionDetection:W.closestCenter,modifiers:jr,onDragEnd:s,children:a}):r.jsx(r.Fragment,{children:a})}const Tr=p.forwardRef(function({columns:n,data:s,getRowId:a,title:h,toolbar:f,searchable:m=!1,searchPlaceholder:g,defaultSearch:i="",debounceMs:l=300,defaultPage:d=1,defaultPageSize:y=10,pageSizeOptions:b=[10,20,50,100,200],allowAllRows:R=!0,showPageSize:M="auto",showFirstButton:zt=!1,showLastButton:It=!1,manualPagination:Ft=!1,rowCount:Ge,defaultSort:he=null,onChange:Ue,queryMapping:qt,onExportToEmail:se,filters:_,defaultFilters:Lt,onRowClick:E,actions:oe,reorderable:H=!1,onReorder:Ke,loading:ae=!1,loadingRows:At,empty:$t,urlSync:B=!0,clearUrlOnUnmount:Xe=!0,page:Ye,onPageChange:xe,pageSize:Je,onPageSizeChange:ye,search:J,onSearchChange:be,sort:V,onSortChange:_e,filterValues:Se,onFiltersChange:we,stickyHeader:Dt=!1,striped:Et=!1,hoverable:Bt=!0,className:Wt,...Ht},Ot){const v=re.useT(),Qt=re.useTableQueryConfig(),F=p.useRef({});F.current={...Qt,...qt};const ie=p.useRef(Ue);ie.current=Ue;const ce=p.useRef(_);ce.current=_;const Ve=p.useRef(null),je=p.useRef(null),[Ze,Gt]=p.useState({start:!1,end:!1}),[q]=p.useState(()=>{const e=B&&typeof window<"u"?new URLSearchParams(window.location.search):null;return e?{...fe.parseTableQuery(e,F.current),filters:_!=null&&_.length?vt(_,e,F.current):{}}:{page:null,size:null,search:"",sort:null,filters:{}}}),[et,Ut]=p.useState(()=>({pageIndex:(q.page??d)-1,pageSize:q.size??y})),[le,ke]=p.useState(q.search||i),[Kt,Xt]=p.useState(q.search||i),[tt,Yt]=p.useState(()=>q.sort?[{id:q.sort.key,desc:q.sort.direction==="desc"}]:he?[{id:he.key,desc:he.direction==="desc"}]:[]),[nt,Jt]=p.useState(()=>({...Lt,...q.filters})),T=Ft,rt=Ye!==void 0,st=Je!==void 0,ot=J!==void 0,ve=V!==void 0,Te=Se!==void 0,Ne={pageIndex:rt?Ye-1:et.pageIndex,pageSize:st?Je:et.pageSize},C=ot?J:Kt,L=p.useMemo(()=>ve?V?[{id:V.key,desc:V.direction==="desc"}]:[]:tt,[ve,V,tt]),A=p.useMemo(()=>Te?Se:nt,[Te,Se,nt]),O=e=>{const o=Ne,c=Be(e,o);c.pageIndex!==o.pageIndex&&(xe==null||xe(c.pageIndex+1)),c.pageSize!==o.pageSize&&(ye==null||ye(c.pageSize)),Ut(x=>({pageIndex:rt?x.pageIndex:c.pageIndex,pageSize:st?x.pageSize:c.pageSize}))},Re=()=>O(e=>e.pageIndex===0?e:{...e,pageIndex:0}),Me=(e,o=!0)=>{ot||Xt(e),be==null||be(e),o&&Re()},Ce=(e,o=!0)=>{const c=Be(e,L);ve||Yt(c),_e==null||_e(c[0]?{key:c[0].id,direction:c[0].desc?"desc":"asc"}:null),o&&Re()},at=(e,o=!0)=>{Te||Jt(e),we==null||we(e),o&&Re()},Vt=p.useMemo(()=>_&&_.length>0&&!T?jn(s,_,A):s,[_,T,s,A]),Zt=at,en=p.useMemo(()=>n.map(e=>({id:e.key,accessorFn:o=>o[e.key],enableSorting:!!e.sortable})),[n]),tn=p.useMemo(()=>{const e=b.map(o=>({value:String(o),label:String(o)}));return R?[...e,{value:"all",label:v("common.all")}]:e},[b,R]),de=p.useMemo(()=>{if(!oe)return n;const e={key:"__actions",header:"",align:"right",pinned:"right",cell:(o,c)=>r.jsx("div",{className:u.rowActions,onClick:x=>x.stopPropagation(),children:oe(o,c)})};return[...n,e]},[n,oe]),Pe=p.useMemo(()=>n.filter(e=>e.sortable),[n]),nn=e=>Ce(o=>{const c=o[0];return!c||c.id!==e?[{id:e,desc:!1}]:c.desc?[]:[{id:e,desc:!0}]}),ze=ee.useReactTable({data:Vt,columns:en,state:{pagination:Ne,globalFilter:C,sorting:L},onPaginationChange:O,onGlobalFilterChange:e=>Me(Be(e,C)),onSortingChange:Ce,globalFilterFn:"includesString",sortDescFirst:!1,getCoreRowModel:ee.getCoreRowModel(),getRowId:a,manualPagination:T,manualFiltering:T,manualSorting:T,...T?{rowCount:Ge??s.length}:{getPaginationRowModel:ee.getPaginationRowModel(),getFilteredRowModel:ee.getFilteredRowModel(),getSortedRowModel:ee.getSortedRowModel()}}),Q=ze.getRowModel().rows,rn=W.useSensors(W.useSensor(W.PointerSensor,{activationConstraint:{distance:5}}),W.useSensor(W.KeyboardSensor,{coordinateGetter:ne.sortableKeyboardCoordinates})),it=(e,o)=>a?a(e,o):String(o),sn=e=>{const{active:o,over:c}=e;if(!c||o.id===c.id||!Ke)return;const x=s.findIndex((I,w)=>it(I,w)===o.id),j=s.findIndex((I,w)=>it(I,w)===c.id);x<0||j<0||Ke(ne.arrayMove(s,x,j),{id:String(o.id),from:x,to:j})},P=T?Ge??s.length:ze.getFilteredRowModel().rows.length,{pageIndex:N,pageSize:S}=Ne,G=Math.max(1,Math.ceil(P/S)),on=Math.min(...b,...S<ge?[S]:[]),ct=M==="auto"?P>on:M,lt=N+1,an=P===0?0:N*S+1,cn=T?Math.min(P,N*S+Q.length):Math.min(P,lt*S);p.useEffect(()=>{J!==void 0&&ke(J)},[J]),p.useEffect(()=>{if(le===C)return;const e=setTimeout(()=>Me(le),l);return()=>clearTimeout(e)},[le,C,l]),p.useEffect(()=>{T&&P===0||N>0&&N>=G&&O(e=>({...e,pageIndex:G-1}))},[G,N,T,P]);const z=L[0]?{key:L[0].id,direction:L[0].desc?"desc":"asc"}:null,dt=()=>{const e=N+1,o=S,c=fe.buildTableQuery({page:e,size:o,search:C,sort:z},F.current);return _!=null&&_.length&&kt(_,A,F.current).forEach((x,j)=>c.append(j,x)),{page:e,size:o,search:C,sort:z,filters:A,params:c,query:We(c)}};p.useEffect(()=>{var e;(e=ie.current)==null||e.call(ie,dt())},[N,S,C,L,A]);const ut=se!=null,ft=_!=null&&_.length>0,Z=p.useRef(null),mt=p.useCallback((e,o,c,x,j)=>{if(typeof window>"u"||!B)return;Z.current=window.location.pathname;const I=F.current,w=ce.current,U=fe.buildTableQuery({page:e,size:o,search:c,sort:x},I);w!=null&&w.length&&kt(w,j,I).forEach((K,Ie)=>U.append(Ie,K));const dn=Nt(I,w),ue=new URLSearchParams(window.location.search);for(const K of[...ue.keys()])dn(K)&&ue.delete(K);U.forEach((K,Ie)=>ue.append(Ie,K));const yt=We(ue),bt=`${window.location.pathname}${yt?`?${yt}`:""}${window.location.hash}`;bt!==`${window.location.pathname}${window.location.search}${window.location.hash}`&&window.history.replaceState(window.history.state,"",bt)},[B]);p.useEffect(()=>{mt(N+1,S,C,z,A)},[N,S,C,L,A,mt]);const gt=p.useRef(B);gt.current=B;const pt=p.useRef(Xe);pt.current=Xe,p.useEffect(()=>{if(!(typeof window>"u"))return Z.current??(Z.current=window.location.pathname),()=>{if(!gt.current||!pt.current||window.location.pathname!==Z.current)return;const e=Nt(F.current,ce.current),o=new URLSearchParams(window.location.search),c=[...o.keys()].filter(e);if(c.length===0)return;for(const j of c)o.delete(j);const x=We(o);window.history.replaceState(window.history.state,"",`${window.location.pathname}${x?`?${x}`:""}${window.location.hash}`)}},[]);const ht=p.useRef(()=>{});ht.current=()=>{const e=new URLSearchParams(window.location.search),o=F.current,c=fe.parseTableQuery(e,o);O(()=>({pageIndex:(c.page??d)-1,pageSize:c.size??S})),ke(c.search),Me(c.search,!1),Ce(()=>c.sort?[{id:c.sort.key,desc:c.sort.direction==="desc"}]:[],!1);const x=ce.current;x!=null&&x.length&&at(vt(x,e,o),!1)},p.useEffect(()=>{if(typeof window>"u"||!B)return;const e=()=>ht.current();return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)},[B]),p.useEffect(()=>{yn.isDev()&&!a&&(E!=null||oe!=null||H)&&console.warn("[Table] No `getRowId` provided, so the row index is used as the React key. For a table with row interactions or changing / paged data, pass `getRowId` (e.g. `(row) => row.id`) so each row keeps its identity across sort / filter / refetch.")},[]),p.useEffect(()=>{const e=Ve.current;if(!e)return;const o=()=>{const x=e.scrollWidth>e.clientWidth+1,j=e.scrollLeft<=0,I=e.scrollLeft>=e.scrollWidth-e.clientWidth-1,w={start:x&&!j,end:x&&!I};Gt(U=>U.start===w.start&&U.end===w.end?U:w)};o(),e.addEventListener("scroll",o,{passive:!0});const c=typeof ResizeObserver<"u"?new ResizeObserver(o):null;return c==null||c.observe(e),c&&je.current&&c.observe(je.current),()=>{e.removeEventListener("scroll",o),c==null||c.disconnect()}},[]);const ln=h!=null||f!=null||m||ft||Pe.length>0||ut,xt=e=>de.map(o=>r.jsx("td",{className:k.clsx(u.td,o.pinned==="left"&&u.pinnedLeft,o.pinned==="right"&&u.pinnedRight,(o.wrap||o.maxWidth!=null)&&u.wrapCell),style:{width:o.width??(o.pinned?1:pe(o)),maxWidth:pe(o),textAlign:o.align},children:br(o.cell?o.cell(e.original,e.index):yr(e.getValue(o.key)))},o.key));return r.jsxs("div",{ref:Ot,className:k.clsx(u.root,Wt),...Ht,children:[ln&&r.jsxs("div",{className:u.toolbar,children:[r.jsxs("div",{className:u.toolbarStart,children:[h!=null&&r.jsx(X.Typography,{variant:"h4",as:"div",className:u.title,children:h}),m&&r.jsx(Ct.TextField,{className:u.search,fullWidth:!1,value:le,onChange:e=>ke(e.target.value),placeholder:g??v("common.search"),adornment:r.jsx(D.Icon,{name:"SearchNormal"}),"aria-label":v("common.search")})]}),r.jsxs("div",{className:u.toolbarEnd,children:[f,ut&&r.jsxs(wt.Dropdown,{placement:"bottom-end",trigger:r.jsx(He.IconButton,{variant:"filled",size:"sm","aria-label":v("table.export"),children:r.jsx(D.Icon,{name:"ExportArrow"})}),children:[r.jsx(X.Typography,{as:"div",variant:"caption",color:"muted",uppercase:!0,className:u.menuTitle,children:v("table.export")}),r.jsx(jt.ListItem,{clickable:!0,icon:"Sms",onClick:()=>se==null?void 0:se(dt()),children:v("table.sendOnEmail")})]}),Pe.length>0&&r.jsxs(wt.Dropdown,{placement:"bottom-end",closeOnSelect:!1,trigger:r.jsx(Rt.Badge,{dot:L.length>0,color:"primary",children:r.jsx(He.IconButton,{variant:"filled",size:"sm","aria-label":v("table.sort"),children:r.jsx(D.Icon,{name:"Sort"})})}),children:[r.jsx(X.Typography,{as:"div",variant:"caption",color:"muted",uppercase:!0,className:u.menuTitle,children:v("table.sortBy")}),Pe.map(e=>{const o=(z==null?void 0:z.key)===e.key;return r.jsx(jt.ListItem,{clickable:!0,selected:o,trailing:o?r.jsx(D.Icon,{name:(z==null?void 0:z.direction)==="desc"?"ArrowDown":"ArrowUp2"}):void 0,onClick:()=>nn(e.key),children:e.header},e.key)})]}),ft&&r.jsx(Ln,{filters:_,value:A,onChange:Zt})]})]}),r.jsx(vr,{enabled:H,sensors:rn,onDragEnd:sn,children:r.jsxs("div",{ref:Ve,className:u.scroll,"data-pin-start":Ze.start?"true":"false","data-pin-end":Ze.end?"true":"false",children:[r.jsxs("table",{ref:je,className:k.clsx(u.table,Et&&u.striped,Bt&&u.hoverable,Dt&&u.sticky),"aria-busy":ae||void 0,children:[r.jsx("thead",{children:r.jsxs("tr",{children:[H&&r.jsx("th",{className:k.clsx(u.th,u.dragHandleCell),scope:"col","aria-hidden":!0}),de.map(e=>{var c;const o=e.sortable&&((c=ze.getColumn(e.key))==null?void 0:c.getIsSorted())||!1;return r.jsx("th",{scope:"col",className:k.clsx(u.th,e.pinned==="left"&&u.pinnedLeft,e.pinned==="right"&&u.pinnedRight,(e.wrap||e.maxWidth!=null)&&u.wrapCell),style:{width:e.width??(e.pinned?1:pe(e)),maxWidth:pe(e),textAlign:e.align},"aria-sort":e.sortable?o==="asc"?"ascending":o==="desc"?"descending":"none":void 0,children:e.header},e.key)})]})}),r.jsx("tbody",{children:Q.length>0?H?r.jsx(ne.SortableContext,{items:Q.map(e=>e.id),strategy:ne.verticalListSortingStrategy,children:Q.map(e=>r.jsx(kr,{id:e.id,clickable:!!E,onClick:E?()=>E(e.original,e.index):void 0,cells:xt(e)},e.id))}):Q.map(e=>r.jsx("tr",{className:k.clsx(u.tr,E&&u.clickable),onClick:E?()=>E(e.original,e.index):void 0,children:xt(e)},e.id)):ae?Array.from({length:At??Math.min(S===ge?10:S,10)},(e,o)=>r.jsxs("tr",{className:u.tr,"aria-hidden":"true",children:[H&&r.jsx("td",{className:k.clsx(u.td,u.dragHandleCell)}),de.map((c,x)=>r.jsx("td",{className:k.clsx(u.td,c.pinned==="left"&&u.pinnedLeft,c.pinned==="right"&&u.pinnedRight,c.key==="__actions"&&u.skeletonActionsCell),style:{width:c.width,textAlign:c.align},children:c.key==="__actions"?r.jsxs("span",{className:k.clsx(u.rowActions,u.skeletonActions),children:[r.jsx($e.Skeleton,{variant:"rect",width:"calc(var(--tz-control-height-sm) - var(--tz-space-xs))",height:"calc(var(--tz-control-height-sm) - var(--tz-space-xs))",radius:"xs"}),r.jsx($e.Skeleton,{variant:"rect",width:"calc(var(--tz-control-height-sm) - var(--tz-space-xs))",height:"calc(var(--tz-control-height-sm) - var(--tz-space-xs))",radius:"xs"})]}):r.jsx($e.Skeleton,{width:Tt[(o*3+x)%Tt.length],className:u.skeletonCell})},c.key))]},o)):r.jsx("tr",{children:r.jsx("td",{colSpan:Math.max(1,de.length+(H?1:0)),className:u.stateCell,children:$t??r.jsx(pn.EmptyState,{})})})})]}),ae&&Q.length>0&&r.jsx("div",{className:u.loadingOverlay,children:r.jsx(hn.Loader,{size:"lg"})})]})}),P>0&&(ct||G>1)&&r.jsxs("div",{className:u.footer,children:[r.jsx(X.Typography,{variant:"bodySmall",color:"muted",as:"span",className:u.rangeText,children:v("table.range",{from:an,to:cn,total:P})}),r.jsxs("div",{className:u.footerMain,children:[ct&&r.jsxs("div",{className:u.pageSize,children:[r.jsx(X.Typography,{variant:"bodySmall",color:"muted",as:"span",children:v("table.rowsPerPage")}),r.jsx(Mt.Select,{className:u.pageSizeSelect,fullWidth:!1,clearable:!1,showSelectedTick:!1,value:S>=ge?"all":String(S),onChange:e=>O(()=>({pageIndex:0,pageSize:e==="all"?ge:Number(e)})),options:tn})]}),G>1&&r.jsx(xn.Pagination,{count:G,page:lt,onChange:e=>O(o=>({...o,pageIndex:e-1})),showFirstButton:zt,showLastButton:It,disabled:ae})]})]})]})});exports.Table=Tr;
|
|
2
|
+
//# sourceMappingURL=Table-CZ4n4-TN.cjs.map
|