@techzyapp/ui-library 1.0.50 → 1.0.51
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/dist/{AdminRoot-MEfy9xtz.cjs → AdminRoot-CFDMjB1A.cjs} +2 -2
- package/dist/{AdminRoot-MEfy9xtz.cjs.map → AdminRoot-CFDMjB1A.cjs.map} +1 -1
- package/dist/{AdminRoot-C5l8PIyi.js → AdminRoot-D4GGvprQ.js} +8 -8
- package/dist/{AdminRoot-C5l8PIyi.js.map → AdminRoot-D4GGvprQ.js.map} +1 -1
- package/dist/{Alert--ZnlCjaL.cjs → Alert-CC4gxX9w.cjs} +2 -2
- package/dist/{Alert--ZnlCjaL.cjs.map → Alert-CC4gxX9w.cjs.map} +1 -1
- package/dist/{Alert-BVs-GcZQ.js → Alert-D56N-LeR.js} +3 -3
- package/dist/{Alert-BVs-GcZQ.js.map → Alert-D56N-LeR.js.map} +1 -1
- package/dist/{AuthGuard-DJ_mMwfg.js → AuthGuard-D6_sTASu.js} +2 -2
- package/dist/{AuthGuard-DJ_mMwfg.js.map → AuthGuard-D6_sTASu.js.map} +1 -1
- package/dist/{AuthGuard-Cm-tqCto.cjs → AuthGuard-DM1nDTE5.cjs} +2 -2
- package/dist/{AuthGuard-Cm-tqCto.cjs.map → AuthGuard-DM1nDTE5.cjs.map} +1 -1
- package/dist/BottomSheet-0oqSWjBx.js +646 -0
- package/dist/BottomSheet-0oqSWjBx.js.map +1 -0
- package/dist/BottomSheet-BWTYMGOU.cjs +2 -0
- package/dist/BottomSheet-BWTYMGOU.cjs.map +1 -0
- package/dist/{Breadcrumbs-HGk4DKrc.js → Breadcrumbs-BEcEVdRt.js} +3 -3
- package/dist/{Breadcrumbs-HGk4DKrc.js.map → Breadcrumbs-BEcEVdRt.js.map} +1 -1
- package/dist/{Breadcrumbs-D4wv2-T7.cjs → Breadcrumbs-DGyb8ntF.cjs} +2 -2
- package/dist/{Breadcrumbs-D4wv2-T7.cjs.map → Breadcrumbs-DGyb8ntF.cjs.map} +1 -1
- package/dist/{Button-7mgXcRdw.js → Button-CwwuhATn.js} +2 -2
- package/dist/{Button-7mgXcRdw.js.map → Button-CwwuhATn.js.map} +1 -1
- package/dist/{Button-DAvQCGIw.cjs → Button-D6f4SooD.cjs} +2 -2
- package/dist/{Button-DAvQCGIw.cjs.map → Button-D6f4SooD.cjs.map} +1 -1
- package/dist/{Calendar-B1ZJHqjB.js → Calendar-CGLl3HmM.js} +3 -3
- package/dist/{Calendar-B1ZJHqjB.js.map → Calendar-CGLl3HmM.js.map} +1 -1
- package/dist/{Calendar-BPYjqBy9.cjs → Calendar-CjHLOfVw.cjs} +2 -2
- package/dist/{Calendar-BPYjqBy9.cjs.map → Calendar-CjHLOfVw.cjs.map} +1 -1
- package/dist/{Card-B-Qso__1.cjs → Card-BbfesgrZ.cjs} +2 -2
- package/dist/{Card-B-Qso__1.cjs.map → Card-BbfesgrZ.cjs.map} +1 -1
- package/dist/{Card-vFsIhkyR.js → Card-DTmvoxKG.js} +3 -3
- package/dist/{Card-vFsIhkyR.js.map → Card-DTmvoxKG.js.map} +1 -1
- package/dist/{Chip-CovsonP1.cjs → Chip-CguuQYqY.cjs} +2 -2
- package/dist/{Chip-CovsonP1.cjs.map → Chip-CguuQYqY.cjs.map} +1 -1
- package/dist/{Chip-CU0J7HJa.js → Chip-DRwzCG96.js} +2 -2
- package/dist/{Chip-CU0J7HJa.js.map → Chip-DRwzCG96.js.map} +1 -1
- package/dist/{CodeBlock-DvJ45qEp.js → CodeBlock-C-8MTy4V.js} +3 -3
- package/dist/{CodeBlock-DvJ45qEp.js.map → CodeBlock-C-8MTy4V.js.map} +1 -1
- package/dist/{CodeBlock-B404V_cc.cjs → CodeBlock-Dv7hXdPl.cjs} +2 -2
- package/dist/{CodeBlock-B404V_cc.cjs.map → CodeBlock-Dv7hXdPl.cjs.map} +1 -1
- package/dist/{ColorPicker-_RBW51XB.cjs → ColorPicker-B4UqiIvG.cjs} +2 -2
- package/dist/{ColorPicker-_RBW51XB.cjs.map → ColorPicker-B4UqiIvG.cjs.map} +1 -1
- package/dist/{ColorPicker-C4slmEZC.js → ColorPicker-Rva-0w3d.js} +3 -3
- package/dist/{ColorPicker-C4slmEZC.js.map → ColorPicker-Rva-0w3d.js.map} +1 -1
- package/dist/{ColorPickerPanel-CNspBZre.cjs → ColorPickerPanel-DRJzClGA.cjs} +2 -2
- package/dist/{ColorPickerPanel-CNspBZre.cjs.map → ColorPickerPanel-DRJzClGA.cjs.map} +1 -1
- package/dist/{ColorPickerPanel-CQNfIbgc.js → ColorPickerPanel-Dx_TIReY.js} +2 -2
- package/dist/{ColorPickerPanel-CQNfIbgc.js.map → ColorPickerPanel-Dx_TIReY.js.map} +1 -1
- package/dist/{ColorRamp-DuO7gkru.cjs → ColorRamp-C5KkZS8L.cjs} +2 -2
- package/dist/{ColorRamp-DuO7gkru.cjs.map → ColorRamp-C5KkZS8L.cjs.map} +1 -1
- package/dist/{ColorRamp-DQZZiE5I.js → ColorRamp-CBkbpBHf.js} +2 -2
- package/dist/{ColorRamp-DQZZiE5I.js.map → ColorRamp-CBkbpBHf.js.map} +1 -1
- package/dist/{ConfigProvider-bXX8dnhY.js → ConfigProvider-BOcVBt4M.js} +2 -2
- package/dist/{ConfigProvider-bXX8dnhY.js.map → ConfigProvider-BOcVBt4M.js.map} +1 -1
- package/dist/{ConfigProvider-BFhkb0BV.cjs → ConfigProvider-DPk0aHDG.cjs} +2 -2
- package/dist/{ConfigProvider-BFhkb0BV.cjs.map → ConfigProvider-DPk0aHDG.cjs.map} +1 -1
- package/dist/{CopyButton-DfYAslz-.js → CopyButton-BjNknp73.js} +3 -3
- package/dist/{CopyButton-DfYAslz-.js.map → CopyButton-BjNknp73.js.map} +1 -1
- package/dist/{CopyButton-B2V6guZ0.cjs → CopyButton-BxOhFQiM.cjs} +2 -2
- package/dist/{CopyButton-B2V6guZ0.cjs.map → CopyButton-BxOhFQiM.cjs.map} +1 -1
- package/dist/{DatePicker-DrIHa1j1.cjs → DatePicker-DCCq8OCQ.cjs} +2 -2
- package/dist/{DatePicker-DrIHa1j1.cjs.map → DatePicker-DCCq8OCQ.cjs.map} +1 -1
- package/dist/{DatePicker-CNUDjOxA.js → DatePicker-UCzOaIUQ.js} +4 -4
- package/dist/{DatePicker-CNUDjOxA.js.map → DatePicker-UCzOaIUQ.js.map} +1 -1
- package/dist/{DateTimePicker-CvWNDbib.js → DateTimePicker-1716FCsy.js} +7 -7
- package/dist/{DateTimePicker-CvWNDbib.js.map → DateTimePicker-1716FCsy.js.map} +1 -1
- package/dist/{DateTimePicker-BzwxaOPb.cjs → DateTimePicker-nN9Okf1Y.cjs} +2 -2
- package/dist/{DateTimePicker-BzwxaOPb.cjs.map → DateTimePicker-nN9Okf1Y.cjs.map} +1 -1
- package/dist/{DescriptionList-BgMNjHJQ.js → DescriptionList-BTdmaD1T.js} +4 -4
- package/dist/{DescriptionList-BgMNjHJQ.js.map → DescriptionList-BTdmaD1T.js.map} +1 -1
- package/dist/{DescriptionList-Bed1MHU8.cjs → DescriptionList-BbLVh3eI.cjs} +2 -2
- package/dist/{DescriptionList-Bed1MHU8.cjs.map → DescriptionList-BbLVh3eI.cjs.map} +1 -1
- package/dist/{Dropdown-iWbHokT7.js → Dropdown-CmEWQTdx.js} +2 -2
- package/dist/{Dropdown-iWbHokT7.js.map → Dropdown-CmEWQTdx.js.map} +1 -1
- package/dist/{Dropdown-DNL7RWdL.cjs → Dropdown-DC0Cl9Tb.cjs} +2 -2
- package/dist/{Dropdown-DNL7RWdL.cjs.map → Dropdown-DC0Cl9Tb.cjs.map} +1 -1
- package/dist/{EmptyState-CmcjJl_K.js → EmptyState-Cd1IxApj.js} +2 -2
- package/dist/{EmptyState-CmcjJl_K.js.map → EmptyState-Cd1IxApj.js.map} +1 -1
- package/dist/{EmptyState-BzwrOICc.cjs → EmptyState-DQJ1JswD.cjs} +2 -2
- package/dist/{EmptyState-BzwrOICc.cjs.map → EmptyState-DQJ1JswD.cjs.map} +1 -1
- package/dist/{ErrorBoundary-BcZgeSsu.cjs → ErrorBoundary-CXhzkfEl.cjs} +2 -2
- package/dist/{ErrorBoundary-BcZgeSsu.cjs.map → ErrorBoundary-CXhzkfEl.cjs.map} +1 -1
- package/dist/{ErrorBoundary-TfeJetWc.js → ErrorBoundary-DUbPB1_a.js} +3 -3
- package/dist/{ErrorBoundary-TfeJetWc.js.map → ErrorBoundary-DUbPB1_a.js.map} +1 -1
- package/dist/{ErrorState-EjIhdq7S.js → ErrorState-CbKuo8cI.js} +7 -7
- package/dist/{ErrorState-EjIhdq7S.js.map → ErrorState-CbKuo8cI.js.map} +1 -1
- package/dist/{ErrorState-CzWz5UcX.cjs → ErrorState-URYycye9.cjs} +2 -2
- package/dist/{ErrorState-CzWz5UcX.cjs.map → ErrorState-URYycye9.cjs.map} +1 -1
- package/dist/{FileCard-CmMxVyk3.js → FileCard-DxwKSMN1.js} +3 -3
- package/dist/{FileCard-CmMxVyk3.js.map → FileCard-DxwKSMN1.js.map} +1 -1
- package/dist/{FileCard-Cxr1_eF2.cjs → FileCard-o7zymUXi.cjs} +2 -2
- package/dist/{FileCard-Cxr1_eF2.cjs.map → FileCard-o7zymUXi.cjs.map} +1 -1
- package/dist/{FileUploader-2cXBI4Nh.js → FileUploader-CS5HbKW3.js} +6 -6
- package/dist/{FileUploader-2cXBI4Nh.js.map → FileUploader-CS5HbKW3.js.map} +1 -1
- package/dist/{FileUploader-BkM1t2aE.cjs → FileUploader-uaTl82eB.cjs} +2 -2
- package/dist/{FileUploader-BkM1t2aE.cjs.map → FileUploader-uaTl82eB.cjs.map} +1 -1
- package/dist/{Flag-CWp81_zX.cjs → Flag-BodaDmHB.cjs} +2 -2
- package/dist/{Flag-CWp81_zX.cjs.map → Flag-BodaDmHB.cjs.map} +1 -1
- package/dist/{Flag-IQolG3j6.js → Flag-CS4SH1Nt.js} +2 -2
- package/dist/{Flag-IQolG3j6.js.map → Flag-CS4SH1Nt.js.map} +1 -1
- package/dist/{FullscreenToggle-DXVAeN3M.cjs → FullscreenToggle--qqOi3Bw.cjs} +2 -2
- package/dist/{FullscreenToggle-DXVAeN3M.cjs.map → FullscreenToggle--qqOi3Bw.cjs.map} +1 -1
- package/dist/{FullscreenToggle-B1DH_-k3.js → FullscreenToggle-CI3fmt9Q.js} +3 -3
- package/dist/{FullscreenToggle-B1DH_-k3.js.map → FullscreenToggle-CI3fmt9Q.js.map} +1 -1
- package/dist/{IconButton-s5hohjxu.js → IconButton-CCxNWwlu.js} +2 -2
- package/dist/{IconButton-s5hohjxu.js.map → IconButton-CCxNWwlu.js.map} +1 -1
- package/dist/{IconButton-ChhZqleN.cjs → IconButton-DOlCOuKu.cjs} +2 -2
- package/dist/{IconButton-ChhZqleN.cjs.map → IconButton-DOlCOuKu.cjs.map} +1 -1
- package/dist/{ImageEditor-DWbWjGQ8.js → ImageEditor-CKfaHNGz.js} +7 -7
- package/dist/{ImageEditor-DWbWjGQ8.js.map → ImageEditor-CKfaHNGz.js.map} +1 -1
- package/dist/{ImageEditor-C8tFTX4e.cjs → ImageEditor-CWISFJ1J.cjs} +2 -2
- package/dist/{ImageEditor-C8tFTX4e.cjs.map → ImageEditor-CWISFJ1J.cjs.map} +1 -1
- package/dist/{List-Dfa7mlSZ.cjs → List-4VSERgRp.cjs} +2 -2
- package/dist/{List-Dfa7mlSZ.cjs.map → List-4VSERgRp.cjs.map} +1 -1
- package/dist/{List-DQlEG_S5.js → List-H70lnOLB.js} +2 -2
- package/dist/{List-DQlEG_S5.js.map → List-H70lnOLB.js.map} +1 -1
- package/dist/ListItem-DRzwCAvN.js +79 -0
- package/dist/ListItem-DRzwCAvN.js.map +1 -0
- package/dist/ListItem-wMTmx1yX.cjs +2 -0
- package/dist/ListItem-wMTmx1yX.cjs.map +1 -0
- package/dist/{Loader-BCrMy9NU.cjs → Loader-DUp5O6pO.cjs} +2 -2
- package/dist/{Loader-BCrMy9NU.cjs.map → Loader-DUp5O6pO.cjs.map} +1 -1
- package/dist/{Loader-CShIWNfG.js → Loader-Dj_lwZT2.js} +2 -2
- package/dist/{Loader-CShIWNfG.js.map → Loader-Dj_lwZT2.js.map} +1 -1
- package/dist/{LocationPicker-DsV_s2Ur.js → LocationPicker-CB2vrhu0.js} +7 -7
- package/dist/{LocationPicker-DsV_s2Ur.js.map → LocationPicker-CB2vrhu0.js.map} +1 -1
- package/dist/{LocationPicker-8Tt0zJU4.cjs → LocationPicker-DzCmt8Xb.cjs} +2 -2
- package/dist/{LocationPicker-8Tt0zJU4.cjs.map → LocationPicker-DzCmt8Xb.cjs.map} +1 -1
- package/dist/{Modal-yj92WLay.cjs → Modal-C5sKj4UK.cjs} +2 -2
- package/dist/{Modal-yj92WLay.cjs.map → Modal-C5sKj4UK.cjs.map} +1 -1
- package/dist/{Modal-BO7fHn0r.js → Modal-Cr1aqYgb.js} +3 -3
- package/dist/{Modal-BO7fHn0r.js.map → Modal-Cr1aqYgb.js.map} +1 -1
- package/dist/{MultiSelect-D-QWlfwD.js → MultiSelect-DgrL23Nr.js} +4 -4
- package/dist/{MultiSelect-D-QWlfwD.js.map → MultiSelect-DgrL23Nr.js.map} +1 -1
- package/dist/{MultiSelect-B6JZb_5N.cjs → MultiSelect-mY7X3O7V.cjs} +2 -2
- package/dist/{MultiSelect-B6JZb_5N.cjs.map → MultiSelect-mY7X3O7V.cjs.map} +1 -1
- package/dist/{NumberField-CS5VMnk4.cjs → NumberField-CnsHPDuN.cjs} +2 -2
- package/dist/{NumberField-CS5VMnk4.cjs.map → NumberField-CnsHPDuN.cjs.map} +1 -1
- package/dist/{NumberField-D_UxKjVN.js → NumberField-GxQeV07e.js} +3 -3
- package/dist/{NumberField-D_UxKjVN.js.map → NumberField-GxQeV07e.js.map} +1 -1
- package/dist/{OtpField-BuS_8j9L.cjs → OtpField-Dt71t0PF.cjs} +2 -2
- package/dist/{OtpField-BuS_8j9L.cjs.map → OtpField-Dt71t0PF.cjs.map} +1 -1
- package/dist/{OtpField-CpjDid5_.js → OtpField-b31rUMV1.js} +2 -2
- package/dist/{OtpField-CpjDid5_.js.map → OtpField-b31rUMV1.js.map} +1 -1
- package/dist/{PageError-DjyJrGmR.js → PageError-0it6u2r9.js} +5 -5
- package/dist/{PageError-DjyJrGmR.js.map → PageError-0it6u2r9.js.map} +1 -1
- package/dist/{PageError-CTEOASeb.cjs → PageError-BYIkzEfs.cjs} +2 -2
- package/dist/{PageError-CTEOASeb.cjs.map → PageError-BYIkzEfs.cjs.map} +1 -1
- package/dist/{PageLayout-BYKRmCAL.cjs → PageLayout-8ZHBwDeC.cjs} +2 -2
- package/dist/{PageLayout-BYKRmCAL.cjs.map → PageLayout-8ZHBwDeC.cjs.map} +1 -1
- package/dist/{PageLayout-Cz1OhQZ7.js → PageLayout-Cqb2pczH.js} +4 -4
- package/dist/{PageLayout-Cz1OhQZ7.js.map → PageLayout-Cqb2pczH.js.map} +1 -1
- package/dist/{PageNotFound-u9Q4KG6B.cjs → PageNotFound-BCX-XQLA.cjs} +2 -2
- package/dist/{PageNotFound-u9Q4KG6B.cjs.map → PageNotFound-BCX-XQLA.cjs.map} +1 -1
- package/dist/{PageNotFound-CwBtrllo.js → PageNotFound-ChpqEtgV.js} +5 -5
- package/dist/{PageNotFound-CwBtrllo.js.map → PageNotFound-ChpqEtgV.js.map} +1 -1
- package/dist/{Pagination-HtS5gPnd.cjs → Pagination-DSdcF9UF.cjs} +2 -2
- package/dist/{Pagination-HtS5gPnd.cjs.map → Pagination-DSdcF9UF.cjs.map} +1 -1
- package/dist/{Pagination-CLjNwqie.js → Pagination-Du6tATTZ.js} +2 -2
- package/dist/{Pagination-CLjNwqie.js.map → Pagination-Du6tATTZ.js.map} +1 -1
- package/dist/{PaletteField-BSgx5pxh.cjs → PaletteField-D_wYeYEx.cjs} +2 -2
- package/dist/{PaletteField-BSgx5pxh.cjs.map → PaletteField-D_wYeYEx.cjs.map} +1 -1
- package/dist/{PaletteField-Bk7cnSla.js → PaletteField-F-6hF1Ly.js} +3 -3
- package/dist/{PaletteField-Bk7cnSla.js.map → PaletteField-F-6hF1Ly.js.map} +1 -1
- package/dist/{PhoneField-CzFv2Vci.cjs → PhoneField-BdRlvj7L.cjs} +2 -2
- package/dist/{PhoneField-CzFv2Vci.cjs.map → PhoneField-BdRlvj7L.cjs.map} +1 -1
- package/dist/{PhoneField-DhoumZNG.js → PhoneField-D99W6Abz.js} +4 -4
- package/dist/{PhoneField-DhoumZNG.js.map → PhoneField-D99W6Abz.js.map} +1 -1
- package/dist/{Popconfirm-Cb9LlmZb.cjs → Popconfirm-B4506C47.cjs} +2 -2
- package/dist/{Popconfirm-Cb9LlmZb.cjs.map → Popconfirm-B4506C47.cjs.map} +1 -1
- package/dist/{Popconfirm-D7J5JbF-.js → Popconfirm-C5ldh11s.js} +3 -3
- package/dist/{Popconfirm-D7J5JbF-.js.map → Popconfirm-C5ldh11s.js.map} +1 -1
- package/dist/{Progress-Bt2LDqbD.js → Progress-C71Yo8Mw.js} +2 -2
- package/dist/{Progress-Bt2LDqbD.js.map → Progress-C71Yo8Mw.js.map} +1 -1
- package/dist/{Progress-dAtQ2BN-.cjs → Progress-sa-c4iAK.cjs} +2 -2
- package/dist/{Progress-dAtQ2BN-.cjs.map → Progress-sa-c4iAK.cjs.map} +1 -1
- package/dist/{QrCode-jaDZxZkv.js → QrCode-CMLPHVUN.js} +2 -2
- package/dist/{QrCode-jaDZxZkv.js.map → QrCode-CMLPHVUN.js.map} +1 -1
- package/dist/{QrCode-FHUAxI8u.cjs → QrCode-lWfNmqL8.cjs} +2 -2
- package/dist/{QrCode-FHUAxI8u.cjs.map → QrCode-lWfNmqL8.cjs.map} +1 -1
- package/dist/{RemoveDialog-eGNxdyoO.cjs → RemoveDialog-C6XRG1SG.cjs} +2 -2
- package/dist/{RemoveDialog-eGNxdyoO.cjs.map → RemoveDialog-C6XRG1SG.cjs.map} +1 -1
- package/dist/{RemoveDialog-DdO5E3Wl.js → RemoveDialog-D01OLxbj.js} +5 -5
- package/dist/{RemoveDialog-DdO5E3Wl.js.map → RemoveDialog-D01OLxbj.js.map} +1 -1
- package/dist/{RichTextEditor-DHRiJchI.js → RichTextEditor-BFzWo8Ih.js} +9 -9
- package/dist/{RichTextEditor-DHRiJchI.js.map → RichTextEditor-BFzWo8Ih.js.map} +1 -1
- package/dist/{RichTextEditor-CoYuQurR.cjs → RichTextEditor-JpvFdJMa.cjs} +2 -2
- package/dist/{RichTextEditor-CoYuQurR.cjs.map → RichTextEditor-JpvFdJMa.cjs.map} +1 -1
- package/dist/{RootLayout-pd66MZtI.js → RootLayout-Dbika05Y.js} +17 -17
- package/dist/{RootLayout-pd66MZtI.js.map → RootLayout-Dbika05Y.js.map} +1 -1
- package/dist/{RootLayout-CEplIlVR.cjs → RootLayout-IwlWqYVL.cjs} +2 -2
- package/dist/{RootLayout-CEplIlVR.cjs.map → RootLayout-IwlWqYVL.cjs.map} +1 -1
- package/dist/{Select-CvW_T9R-.cjs → Select-CioU7fV7.cjs} +2 -2
- package/dist/{Select-CvW_T9R-.cjs.map → Select-CioU7fV7.cjs.map} +1 -1
- package/dist/{Select-C2iiQLMh.js → Select-DKaKdvG0.js} +3 -3
- package/dist/{Select-C2iiQLMh.js.map → Select-DKaKdvG0.js.map} +1 -1
- package/dist/{Sidebar-CqGCazeA.cjs → Sidebar-B7mCqEkl.cjs} +2 -2
- package/dist/{Sidebar-CqGCazeA.cjs.map → Sidebar-B7mCqEkl.cjs.map} +1 -1
- package/dist/{Sidebar-DuUhzQBi.js → Sidebar-D0pNTtIb.js} +6 -6
- package/dist/{Sidebar-DuUhzQBi.js.map → Sidebar-D0pNTtIb.js.map} +1 -1
- package/dist/{Slider-UY29adRu.js → Slider-BVM_MXjM.js} +2 -2
- package/dist/{Slider-UY29adRu.js.map → Slider-BVM_MXjM.js.map} +1 -1
- package/dist/{Slider-DlPMPdHA.cjs → Slider-RpFfWXLX.cjs} +2 -2
- package/dist/{Slider-DlPMPdHA.cjs.map → Slider-RpFfWXLX.cjs.map} +1 -1
- package/dist/{SpeedDial-DOWefQgo.js → SpeedDial-BMd4lvc6.js} +2 -2
- package/dist/{SpeedDial-DOWefQgo.js.map → SpeedDial-BMd4lvc6.js.map} +1 -1
- package/dist/{SpeedDial-Cms5pJ9t.cjs → SpeedDial-BpHZ09TN.cjs} +2 -2
- package/dist/{SpeedDial-Cms5pJ9t.cjs.map → SpeedDial-BpHZ09TN.cjs.map} +1 -1
- package/dist/{Stepper-4wCyTnwi.cjs → Stepper-BhtP1FgK.cjs} +2 -2
- package/dist/{Stepper-4wCyTnwi.cjs.map → Stepper-BhtP1FgK.cjs.map} +1 -1
- package/dist/{Stepper-yQEJkbUJ.js → Stepper-CedGw8c6.js} +2 -2
- package/dist/{Stepper-yQEJkbUJ.js.map → Stepper-CedGw8c6.js.map} +1 -1
- package/dist/{Table-D4pqLNtE.cjs → Table-C-s1M3ZJ.cjs} +2 -2
- package/dist/{Table-D4pqLNtE.cjs.map → Table-C-s1M3ZJ.cjs.map} +1 -1
- package/dist/{Table-CNrt1EWm.js → Table-CEIZw6O7.js} +18 -18
- package/dist/{Table-CNrt1EWm.js.map → Table-CEIZw6O7.js.map} +1 -1
- package/dist/{Tabs-lezN63jW.js → Tabs-BryFjibj.js} +2 -2
- package/dist/{Tabs-lezN63jW.js.map → Tabs-BryFjibj.js.map} +1 -1
- package/dist/{Tabs-D6qrgZTM.cjs → Tabs-DXb1phlV.cjs} +2 -2
- package/dist/{Tabs-D6qrgZTM.cjs.map → Tabs-DXb1phlV.cjs.map} +1 -1
- package/dist/{TagsField-BIJEDyfz.cjs → TagsField-BG7ianZI.cjs} +2 -2
- package/dist/{TagsField-BIJEDyfz.cjs.map → TagsField-BG7ianZI.cjs.map} +1 -1
- package/dist/{TagsField-D_a2I8eU.js → TagsField-Dju_vk92.js} +4 -4
- package/dist/{TagsField-D_a2I8eU.js.map → TagsField-Dju_vk92.js.map} +1 -1
- package/dist/{TextField-CXDBlP-8.cjs → TextField-D5NDKrbU.cjs} +2 -2
- package/dist/{TextField-CXDBlP-8.cjs.map → TextField-D5NDKrbU.cjs.map} +1 -1
- package/dist/{TextField-BsC2zoHI.js → TextField-DATNsTzX.js} +3 -3
- package/dist/{TextField-BsC2zoHI.js.map → TextField-DATNsTzX.js.map} +1 -1
- package/dist/{ThemeToggle-Dh6XxqM7.js → ThemeToggle-CCSi6b_Z.js} +3 -3
- package/dist/{ThemeToggle-Dh6XxqM7.js.map → ThemeToggle-CCSi6b_Z.js.map} +1 -1
- package/dist/{ThemeToggle-zbKf4ph5.cjs → ThemeToggle-or27hawd.cjs} +2 -2
- package/dist/{ThemeToggle-zbKf4ph5.cjs.map → ThemeToggle-or27hawd.cjs.map} +1 -1
- package/dist/{TimeColumns-CR__2LXh.js → TimeColumns-B5LAStb0.js} +2 -2
- package/dist/{TimeColumns-CR__2LXh.js.map → TimeColumns-B5LAStb0.js.map} +1 -1
- package/dist/{TimeColumns-CjBeUPtV.cjs → TimeColumns-BNmC-5do.cjs} +2 -2
- package/dist/{TimeColumns-CjBeUPtV.cjs.map → TimeColumns-BNmC-5do.cjs.map} +1 -1
- package/dist/{TimePicker-DtqmD2bH.cjs → TimePicker-CKNymi90.cjs} +2 -2
- package/dist/{TimePicker-DtqmD2bH.cjs.map → TimePicker-CKNymi90.cjs.map} +1 -1
- package/dist/{TimePicker-BakQ-wPd.js → TimePicker-D43aa4JA.js} +5 -5
- package/dist/{TimePicker-BakQ-wPd.js.map → TimePicker-D43aa4JA.js.map} +1 -1
- package/dist/{Toaster-C5jWNL-o.js → Toaster-BmH9V76v.js} +3 -3
- package/dist/{Toaster-C5jWNL-o.js.map → Toaster-BmH9V76v.js.map} +1 -1
- package/dist/{Toaster-BpXPWJ_n.cjs → Toaster-CvtKx3FV.cjs} +2 -2
- package/dist/{Toaster-BpXPWJ_n.cjs.map → Toaster-CvtKx3FV.cjs.map} +1 -1
- package/dist/{TranslatedFields-C8oxlGIQ.js → TranslatedFields-Bn0cR47v.js} +5 -5
- package/dist/{TranslatedFields-C8oxlGIQ.js.map → TranslatedFields-Bn0cR47v.js.map} +1 -1
- package/dist/{TranslatedFields-Che_ZPHk.cjs → TranslatedFields-U1cjZKWn.cjs} +2 -2
- package/dist/{TranslatedFields-Che_ZPHk.cjs.map → TranslatedFields-U1cjZKWn.cjs.map} +1 -1
- package/dist/{UserCard-Dr1A_bdA.js → UserCard-BNKMs48t.js} +3 -3
- package/dist/{UserCard-Dr1A_bdA.js.map → UserCard-BNKMs48t.js.map} +1 -1
- package/dist/{UserCard-DlrdIJHW.cjs → UserCard-D0RokNh8.cjs} +2 -2
- package/dist/{UserCard-DlrdIJHW.cjs.map → UserCard-D0RokNh8.cjs.map} +1 -1
- package/dist/{authLayoutRoute-CPLqQVvx.cjs → authLayoutRoute-23XOJ9q9.cjs} +2 -2
- package/dist/{authLayoutRoute-CPLqQVvx.cjs.map → authLayoutRoute-23XOJ9q9.cjs.map} +1 -1
- package/dist/{authLayoutRoute-nSZq8JYA.js → authLayoutRoute-BE0nGH_N.js} +2 -2
- package/dist/{authLayoutRoute-nSZq8JYA.js.map → authLayoutRoute-BE0nGH_N.js.map} +1 -1
- package/dist/components/Alert/index.cjs +1 -1
- package/dist/components/Alert/index.js +1 -1
- package/dist/components/BottomSheet/BottomSheet.d.cts +59 -0
- package/dist/components/BottomSheet/BottomSheet.d.ts +59 -0
- package/dist/components/BottomSheet/gesture.d.cts +51 -0
- package/dist/components/BottomSheet/gesture.d.ts +51 -0
- package/dist/components/BottomSheet/index.cjs +2 -0
- package/dist/components/BottomSheet/index.cjs.map +1 -0
- package/dist/components/BottomSheet/index.d.cts +2 -0
- package/dist/components/BottomSheet/index.d.ts +2 -0
- package/dist/components/BottomSheet/index.js +6 -0
- package/dist/components/BottomSheet/index.js.map +1 -0
- package/dist/components/BottomSheet/motion.d.cts +47 -0
- package/dist/components/BottomSheet/motion.d.ts +47 -0
- 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/Dropdown/index.cjs +1 -1
- package/dist/components/Dropdown/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/Flag/index.cjs +1 -1
- package/dist/components/Flag/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/List/ListItem.d.cts +9 -1
- package/dist/components/List/ListItem.d.ts +9 -1
- package/dist/components/List/index.cjs +1 -1
- package/dist/components/List/index.d.cts +1 -1
- package/dist/components/List/index.d.ts +1 -1
- package/dist/components/List/index.js +2 -2
- 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/components/index.d.cts +1 -0
- package/dist/components/index.d.ts +1 -0
- 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.js +2 -2
- package/dist/entries/components.cjs +1 -1
- package/dist/entries/components.js +186 -184
- package/dist/entries/components.js.map +1 -1
- package/dist/entries/i18n.cjs +1 -1
- package/dist/entries/i18n.js +2 -2
- package/dist/entries/theme.cjs +1 -1
- package/dist/entries/theme.js +1 -1
- package/dist/i18n/messages.d.cts +2 -0
- package/dist/i18n/messages.d.ts +2 -0
- package/dist/index.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +193 -191
- package/dist/index.js.map +1 -1
- package/dist/messages-C2DUaZkS.cjs +36 -0
- package/dist/messages-C2DUaZkS.cjs.map +1 -0
- package/dist/{messages-CZbb1xNN.js → messages-DWL0ZaKa.js} +8 -1
- package/dist/messages-DWL0ZaKa.js.map +1 -0
- package/dist/{useHomeTo---51HTJ0.cjs → useHomeTo-Ao53ZjWz.cjs} +2 -2
- package/dist/{useHomeTo---51HTJ0.cjs.map → useHomeTo-Ao53ZjWz.cjs.map} +1 -1
- package/dist/{useHomeTo-CJj94TdV.js → useHomeTo-DG69efNE.js} +2 -2
- package/dist/{useHomeTo-CJj94TdV.js.map → useHomeTo-DG69efNE.js.map} +1 -1
- package/dist/{useOptionMenu-DS___46k.cjs → useOptionMenu-B9zQfGTN.cjs} +2 -2
- package/dist/{useOptionMenu-DS___46k.cjs.map → useOptionMenu-B9zQfGTN.cjs.map} +1 -1
- package/dist/{useOptionMenu-Sp2d3Bzi.js → useOptionMenu-C8SEMVFV.js} +5 -5
- package/dist/{useOptionMenu-Sp2d3Bzi.js.map → useOptionMenu-C8SEMVFV.js.map} +1 -1
- package/package.json +1 -1
- package/dist/ListItem-CLmg9xKQ.js +0 -76
- package/dist/ListItem-CLmg9xKQ.js.map +0 -1
- package/dist/ListItem-CWM2fUS2.cjs +0 -2
- package/dist/ListItem-CWM2fUS2.cjs.map +0 -1
- package/dist/messages-CZbb1xNN.js.map +0 -1
- package/dist/messages-D4ooXnUr.cjs +0 -36
- package/dist/messages-D4ooXnUr.cjs.map +0 -1
|
@@ -3,7 +3,7 @@ import { forwardRef as tn, useCallback as x, useState as en, useRef as b, useEff
|
|
|
3
3
|
import { clsx as R } from "clsx";
|
|
4
4
|
import { u as on, r as rn } from "./useClearUrlOnUnmount-DOeh6CUN.js";
|
|
5
5
|
import { b as K, a as cn } from "./Icon-DMMO32p6.js";
|
|
6
|
-
import { o as ln } from "./ConfigProvider-
|
|
6
|
+
import { o as ln } from "./ConfigProvider-BOcVBt4M.js";
|
|
7
7
|
const sn = "_root_1pvou_2", an = "_list_1pvou_5", dn = "_horizontal_1pvou_11", un = "_vertical_1pvou_24", _n = "_sm_1pvou_29", mn = "_md_1pvou_34", pn = "_lg_1pvou_39", fn = "_step_1pvou_47", vn = "_disabled_1pvou_64", hn = "_main_1pvou_69", bn = "_indicator_1pvou_100", wn = "_number_1pvou_127", Nn = "_completed_1pvou_132", yn = "_active_1pvou_138", gn = "_error_1pvou_146", Ln = "_text_1pvou_153", xn = "_label_1pvou_169", In = "_description_1pvou_183", Rn = "_optional_1pvou_188", En = "_connector_1pvou_195", zn = "_done_1pvou_200", $n = "_panel_1pvou_226", Qn = "_stepContent_1pvou_230", e = {
|
|
8
8
|
root: sn,
|
|
9
9
|
list: an,
|
|
@@ -165,4 +165,4 @@ const sn = "_root_1pvou_2", an = "_list_1pvou_5", dn = "_horizontal_1pvou_11", u
|
|
|
165
165
|
export {
|
|
166
166
|
Kn as S
|
|
167
167
|
};
|
|
168
|
-
//# sourceMappingURL=Stepper-
|
|
168
|
+
//# sourceMappingURL=Stepper-CedGw8c6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stepper-yQEJkbUJ.js","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
|
+
{"version":3,"file":"Stepper-CedGw8c6.js","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-DAvQCGIw.cjs"),Fe=require("./DatePicker-DrIHa1j1.cjs"),qe=require("./DateTimePicker-BzwxaOPb.cjs"),D=require("./Icon-BoQmbW7j.cjs"),He=require("./IconButton-ChhZqleN.cjs"),fn=require("./Modal-yj92WLay.cjs"),mn=require("./MultiSelect-B6JZb_5N.cjs"),Le=require("./NumberField-CS5VMnk4.cjs"),St=require("./RadioGroup-687BVZ7k.cjs"),Mt=require("./Select-CvW_T9R-.cjs"),gn=require("./Slider-DlPMPdHA.cjs"),Ct=require("./TextField-CXDBlP-8.cjs"),Ae=require("./TimePicker-DtqmD2bH.cjs"),X=require("./Typography-d97DdbNd.cjs"),re=require("./ConfigProvider-BFhkb0BV.cjs"),wt=require("./Dropdown-DNL7RWdL.cjs"),pn=require("./EmptyState-BzwrOICc.cjs"),jt=require("./ListItem-CWM2fUS2.cjs"),hn=require("./Loader-BCrMy9NU.cjs"),xn=require("./Pagination-HtS5gPnd.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-D6f4SooD.cjs"),Fe=require("./DatePicker-DCCq8OCQ.cjs"),qe=require("./DateTimePicker-nN9Okf1Y.cjs"),D=require("./Icon-BoQmbW7j.cjs"),He=require("./IconButton-DOlCOuKu.cjs"),fn=require("./Modal-C5sKj4UK.cjs"),mn=require("./MultiSelect-mY7X3O7V.cjs"),Le=require("./NumberField-CnsHPDuN.cjs"),St=require("./RadioGroup-687BVZ7k.cjs"),Mt=require("./Select-CioU7fV7.cjs"),gn=require("./Slider-RpFfWXLX.cjs"),Ct=require("./TextField-D5NDKrbU.cjs"),Ae=require("./TimePicker-CKNymi90.cjs"),X=require("./Typography-d97DdbNd.cjs"),re=require("./ConfigProvider-DPk0aHDG.cjs"),wt=require("./Dropdown-DC0Cl9Tb.cjs"),pn=require("./EmptyState-DQJ1JswD.cjs"),jt=require("./ListItem-wMTmx1yX.cjs"),hn=require("./Loader-DUp5O6pO.cjs"),xn=require("./Pagination-DSdcF9UF.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-C-s1M3ZJ.cjs.map
|