@techzyapp/ui-library 1.0.21 → 1.0.23
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-BDRLuMX6.cjs → AdminRoot-C7Idu7FQ.cjs} +2 -2
- package/dist/AdminRoot-C7Idu7FQ.cjs.map +1 -0
- package/dist/{AdminRoot-DvF0js0q.js → AdminRoot-aDy6rNqI.js} +4 -4
- package/dist/AdminRoot-aDy6rNqI.js.map +1 -0
- package/dist/{Alert-CwoRkKq4.cjs → Alert-Cl1zxmX9.cjs} +2 -2
- package/dist/{Alert-CwoRkKq4.cjs.map → Alert-Cl1zxmX9.cjs.map} +1 -1
- package/dist/{Alert-DPYmdaWs.js → Alert-D6VL2C-E.js} +3 -3
- package/dist/{Alert-DPYmdaWs.js.map → Alert-D6VL2C-E.js.map} +1 -1
- package/dist/{Breadcrumbs-CknDBLMw.cjs → Breadcrumbs-BnFW4LgK.cjs} +2 -2
- package/dist/{Breadcrumbs-CknDBLMw.cjs.map → Breadcrumbs-BnFW4LgK.cjs.map} +1 -1
- package/dist/{Breadcrumbs-l0PlUpQ4.js → Breadcrumbs-CicfjfIu.js} +3 -3
- package/dist/{Breadcrumbs-l0PlUpQ4.js.map → Breadcrumbs-CicfjfIu.js.map} +1 -1
- package/dist/{Button-RljTGqHl.js → Button-Cfxd7qhd.js} +2 -2
- package/dist/{Button-RljTGqHl.js.map → Button-Cfxd7qhd.js.map} +1 -1
- package/dist/{Button-BdihbLYJ.cjs → Button-ZplrHYKw.cjs} +2 -2
- package/dist/{Button-BdihbLYJ.cjs.map → Button-ZplrHYKw.cjs.map} +1 -1
- package/dist/{Calendar-CKCikOQL.js → Calendar-DTxCT-ki.js} +3 -3
- package/dist/{Calendar-CKCikOQL.js.map → Calendar-DTxCT-ki.js.map} +1 -1
- package/dist/{Calendar-DVg1uQuj.cjs → Calendar-S9vyp-qv.cjs} +2 -2
- package/dist/{Calendar-DVg1uQuj.cjs.map → Calendar-S9vyp-qv.cjs.map} +1 -1
- package/dist/{Card-BYFuYD-a.cjs → Card-BeE2ohcn.cjs} +2 -2
- package/dist/{Card-BYFuYD-a.cjs.map → Card-BeE2ohcn.cjs.map} +1 -1
- package/dist/{Card-B0bYi4g2.js → Card-eXJfA4rU.js} +2 -2
- package/dist/{Card-B0bYi4g2.js.map → Card-eXJfA4rU.js.map} +1 -1
- package/dist/{Chip-CdKUtUGE.cjs → Chip-B4XERWb_.cjs} +2 -2
- package/dist/{Chip-CdKUtUGE.cjs.map → Chip-B4XERWb_.cjs.map} +1 -1
- package/dist/{Chip-BiqfnRUi.js → Chip-BOXXdzap.js} +2 -2
- package/dist/{Chip-BiqfnRUi.js.map → Chip-BOXXdzap.js.map} +1 -1
- package/dist/{CodeBlock-CAAggVXS.cjs → CodeBlock-C7_A6CTT.cjs} +2 -2
- package/dist/{CodeBlock-CAAggVXS.cjs.map → CodeBlock-C7_A6CTT.cjs.map} +1 -1
- package/dist/{CodeBlock-BX_0tpk3.js → CodeBlock-D_PRiWMq.js} +3 -3
- package/dist/{CodeBlock-BX_0tpk3.js.map → CodeBlock-D_PRiWMq.js.map} +1 -1
- package/dist/{ColorPicker-BCSaT1A-.cjs → ColorPicker-ClVpWf77.cjs} +2 -2
- package/dist/{ColorPicker-BCSaT1A-.cjs.map → ColorPicker-ClVpWf77.cjs.map} +1 -1
- package/dist/{ColorPicker-DhSlvwNj.js → ColorPicker-DAjs7PmR.js} +3 -3
- package/dist/{ColorPicker-DhSlvwNj.js.map → ColorPicker-DAjs7PmR.js.map} +1 -1
- package/dist/{ColorPickerPanel-D4t3b9bB.js → ColorPickerPanel-BGzm2had.js} +2 -2
- package/dist/{ColorPickerPanel-D4t3b9bB.js.map → ColorPickerPanel-BGzm2had.js.map} +1 -1
- package/dist/{ColorPickerPanel-BOGYXXF1.cjs → ColorPickerPanel-Dk6bI0Xy.cjs} +2 -2
- package/dist/{ColorPickerPanel-BOGYXXF1.cjs.map → ColorPickerPanel-Dk6bI0Xy.cjs.map} +1 -1
- package/dist/{ConfigProvider-DT0yrgmd.js → ConfigProvider-Blhvj6UQ.js} +2 -2
- package/dist/ConfigProvider-Blhvj6UQ.js.map +1 -0
- package/dist/{ConfigProvider-C7DUWHrb.cjs → ConfigProvider-CUG8Mfy2.cjs} +2 -2
- package/dist/ConfigProvider-CUG8Mfy2.cjs.map +1 -0
- package/dist/{CopyButton-BEY1gJzK.js → CopyButton-Bv7L4xJf.js} +3 -3
- package/dist/{CopyButton-BEY1gJzK.js.map → CopyButton-Bv7L4xJf.js.map} +1 -1
- package/dist/{CopyButton-3585thVM.cjs → CopyButton-COF3hIV-.cjs} +2 -2
- package/dist/{CopyButton-3585thVM.cjs.map → CopyButton-COF3hIV-.cjs.map} +1 -1
- package/dist/{DatePicker-CEFGgXLF.js → DatePicker-DZfOvxUR.js} +4 -4
- package/dist/{DatePicker-CEFGgXLF.js.map → DatePicker-DZfOvxUR.js.map} +1 -1
- package/dist/{DatePicker-Dyj2halw.cjs → DatePicker-kA-xn5ET.cjs} +2 -2
- package/dist/{DatePicker-Dyj2halw.cjs.map → DatePicker-kA-xn5ET.cjs.map} +1 -1
- package/dist/{DateTimePicker-hmYBEuUM.js → DateTimePicker-BxBXhSN_.js} +7 -7
- package/dist/{DateTimePicker-hmYBEuUM.js.map → DateTimePicker-BxBXhSN_.js.map} +1 -1
- package/dist/{DateTimePicker-CjX4-8PP.cjs → DateTimePicker-DEGmn5UX.cjs} +2 -2
- package/dist/{DateTimePicker-CjX4-8PP.cjs.map → DateTimePicker-DEGmn5UX.cjs.map} +1 -1
- package/dist/{EmptyState-Bj-vX_UV.cjs → EmptyState-DlX-BLLI.cjs} +2 -2
- package/dist/{EmptyState-Bj-vX_UV.cjs.map → EmptyState-DlX-BLLI.cjs.map} +1 -1
- package/dist/{EmptyState-DJDNLKT7.js → EmptyState-Du4vA3bC.js} +2 -2
- package/dist/{EmptyState-DJDNLKT7.js.map → EmptyState-Du4vA3bC.js.map} +1 -1
- package/dist/{FileCard-C9Ncifnu.js → FileCard-juQ1fWbG.js} +3 -3
- package/dist/{FileCard-C9Ncifnu.js.map → FileCard-juQ1fWbG.js.map} +1 -1
- package/dist/{FileCard-Dr5-z1R3.cjs → FileCard-zyCpTrJ-.cjs} +2 -2
- package/dist/{FileCard-Dr5-z1R3.cjs.map → FileCard-zyCpTrJ-.cjs.map} +1 -1
- package/dist/{FileUploader-XFmBNkA0.js → FileUploader-DL9atihI.js} +5 -5
- package/dist/{FileUploader-XFmBNkA0.js.map → FileUploader-DL9atihI.js.map} +1 -1
- package/dist/{FileUploader-DeyZENqq.cjs → FileUploader-DOe3CyJB.cjs} +2 -2
- package/dist/{FileUploader-DeyZENqq.cjs.map → FileUploader-DOe3CyJB.cjs.map} +1 -1
- package/dist/{Flag-Bs0xNP-P.js → Flag-BxRrjCTB.js} +2 -2
- package/dist/{Flag-Bs0xNP-P.js.map → Flag-BxRrjCTB.js.map} +1 -1
- package/dist/{Flag-Bxnx26DM.cjs → Flag-DFKHYnqk.cjs} +2 -2
- package/dist/{Flag-Bxnx26DM.cjs.map → Flag-DFKHYnqk.cjs.map} +1 -1
- package/dist/{FullscreenToggle-DMlp05UN.js → FullscreenToggle-BMCNsyzb.js} +3 -3
- package/dist/{FullscreenToggle-DMlp05UN.js.map → FullscreenToggle-BMCNsyzb.js.map} +1 -1
- package/dist/{FullscreenToggle-BncatGKj.cjs → FullscreenToggle-BNK7RcRq.cjs} +2 -2
- package/dist/{FullscreenToggle-BncatGKj.cjs.map → FullscreenToggle-BNK7RcRq.cjs.map} +1 -1
- package/dist/{IconButton-Lv0sDDR9.cjs → IconButton-B9eVM18U.cjs} +2 -2
- package/dist/{IconButton-Lv0sDDR9.cjs.map → IconButton-B9eVM18U.cjs.map} +1 -1
- package/dist/{IconButton-DXMmtuLA.js → IconButton-CfvsE_p3.js} +2 -2
- package/dist/{IconButton-DXMmtuLA.js.map → IconButton-CfvsE_p3.js.map} +1 -1
- package/dist/Link-BQlvsu9V.js +48 -0
- package/dist/Link-BQlvsu9V.js.map +1 -0
- package/dist/Link-GZT51mKx.cjs +2 -0
- package/dist/Link-GZT51mKx.cjs.map +1 -0
- package/dist/{Loader-53HFNMVX.cjs → Loader-CxLrhAz9.cjs} +2 -2
- package/dist/{Loader-53HFNMVX.cjs.map → Loader-CxLrhAz9.cjs.map} +1 -1
- package/dist/{Loader-WsjQFl4p.js → Loader-DwmyJFwG.js} +2 -2
- package/dist/{Loader-WsjQFl4p.js.map → Loader-DwmyJFwG.js.map} +1 -1
- package/dist/{Modal-DBYcoCbJ.js → Modal-Cx0JEQ-j.js} +3 -3
- package/dist/{Modal-DBYcoCbJ.js.map → Modal-Cx0JEQ-j.js.map} +1 -1
- package/dist/{Modal-V6eyGSzW.cjs → Modal-DXZdMmJh.cjs} +2 -2
- package/dist/{Modal-V6eyGSzW.cjs.map → Modal-DXZdMmJh.cjs.map} +1 -1
- package/dist/{MultiSelect-DS2DRpaP.cjs → MultiSelect-DfhyGxDU.cjs} +2 -2
- package/dist/{MultiSelect-DS2DRpaP.cjs.map → MultiSelect-DfhyGxDU.cjs.map} +1 -1
- package/dist/{MultiSelect-BsYPr3LD.js → MultiSelect-yGlvweEq.js} +4 -4
- package/dist/{MultiSelect-BsYPr3LD.js.map → MultiSelect-yGlvweEq.js.map} +1 -1
- package/dist/{NumberField-DC3TdGTt.cjs → NumberField-B7yPXIw_.cjs} +2 -2
- package/dist/{NumberField-DC3TdGTt.cjs.map → NumberField-B7yPXIw_.cjs.map} +1 -1
- package/dist/{NumberField-mFb9pKCx.js → NumberField-cAjPU1P5.js} +3 -3
- package/dist/{NumberField-mFb9pKCx.js.map → NumberField-cAjPU1P5.js.map} +1 -1
- package/dist/{OtpField-BYj9SDHb.cjs → OtpField-BujZAy2A.cjs} +2 -2
- package/dist/{OtpField-BYj9SDHb.cjs.map → OtpField-BujZAy2A.cjs.map} +1 -1
- package/dist/{OtpField-1ullIIZQ.js → OtpField-D0eTOLtg.js} +2 -2
- package/dist/{OtpField-1ullIIZQ.js.map → OtpField-D0eTOLtg.js.map} +1 -1
- package/dist/{PageLayout-pYL43wI9.cjs → PageLayout-BSHyKoQ4.cjs} +2 -2
- package/dist/{PageLayout-pYL43wI9.cjs.map → PageLayout-BSHyKoQ4.cjs.map} +1 -1
- package/dist/{PageLayout-qf0H_EmS.js → PageLayout-C9Je7kfF.js} +2 -2
- package/dist/{PageLayout-qf0H_EmS.js.map → PageLayout-C9Je7kfF.js.map} +1 -1
- package/dist/{PageNotFound-YGVMVvyG.js → PageNotFound-CUN2OntP.js} +5 -5
- package/dist/{PageNotFound-YGVMVvyG.js.map → PageNotFound-CUN2OntP.js.map} +1 -1
- package/dist/{PageNotFound-D1795gJ7.cjs → PageNotFound-voB9ylPF.cjs} +2 -2
- package/dist/{PageNotFound-D1795gJ7.cjs.map → PageNotFound-voB9ylPF.cjs.map} +1 -1
- package/dist/{Pagination-WJq_7QNi.cjs → Pagination-BUGaylZa.cjs} +2 -2
- package/dist/{Pagination-WJq_7QNi.cjs.map → Pagination-BUGaylZa.cjs.map} +1 -1
- package/dist/{Pagination-BTvUJiee.js → Pagination-BaVHgIWT.js} +2 -2
- package/dist/{Pagination-BTvUJiee.js.map → Pagination-BaVHgIWT.js.map} +1 -1
- package/dist/QrCode-Bcj9_Emc.js +70 -0
- package/dist/QrCode-Bcj9_Emc.js.map +1 -0
- package/dist/QrCode-DfDfGhG-.cjs +2 -0
- package/dist/QrCode-DfDfGhG-.cjs.map +1 -0
- package/dist/{RemoveDialog-BSQ6EMW-.js → RemoveDialog-BpL2-gnz.js} +4 -4
- package/dist/{RemoveDialog-BSQ6EMW-.js.map → RemoveDialog-BpL2-gnz.js.map} +1 -1
- package/dist/{RemoveDialog-BhcwsY0q.cjs → RemoveDialog-DGt_72we.cjs} +2 -2
- package/dist/{RemoveDialog-BhcwsY0q.cjs.map → RemoveDialog-DGt_72we.cjs.map} +1 -1
- package/dist/{RichTextEditor-Bc1fhvzn.cjs → RichTextEditor-BuoywqBu.cjs} +2 -2
- package/dist/{RichTextEditor-Bc1fhvzn.cjs.map → RichTextEditor-BuoywqBu.cjs.map} +1 -1
- package/dist/{RichTextEditor-CaGPtwXe.js → RichTextEditor-C_6pzqYY.js} +7 -7
- package/dist/{RichTextEditor-CaGPtwXe.js.map → RichTextEditor-C_6pzqYY.js.map} +1 -1
- package/dist/RootLayout-1am1CwPQ.cjs +2 -0
- package/dist/RootLayout-1am1CwPQ.cjs.map +1 -0
- package/dist/RootLayout-x7qWzXPc.js +479 -0
- package/dist/RootLayout-x7qWzXPc.js.map +1 -0
- package/dist/{Select-Cx1Yl8nq.cjs → Select-CVy5BnKe.cjs} +2 -2
- package/dist/{Select-Cx1Yl8nq.cjs.map → Select-CVy5BnKe.cjs.map} +1 -1
- package/dist/{Select-vKZzS9K4.js → Select-ChT-6_bM.js} +3 -3
- package/dist/{Select-vKZzS9K4.js.map → Select-ChT-6_bM.js.map} +1 -1
- package/dist/Sidebar-D2MsR33k.cjs +2 -0
- package/dist/Sidebar-D2MsR33k.cjs.map +1 -0
- package/dist/Sidebar-ZA1wxCez.js +553 -0
- package/dist/Sidebar-ZA1wxCez.js.map +1 -0
- package/dist/{SpeedDial-D6sO-9ES.cjs → SpeedDial-B9JTNNUU.cjs} +2 -2
- package/dist/{SpeedDial-D6sO-9ES.cjs.map → SpeedDial-B9JTNNUU.cjs.map} +1 -1
- package/dist/{SpeedDial-Bb0ioXaO.js → SpeedDial-DUYQMDCY.js} +2 -2
- package/dist/{SpeedDial-Bb0ioXaO.js.map → SpeedDial-DUYQMDCY.js.map} +1 -1
- package/dist/{Stepper-CVY8NJEI.cjs → Stepper-BaC934rb.cjs} +2 -2
- package/dist/{Stepper-CVY8NJEI.cjs.map → Stepper-BaC934rb.cjs.map} +1 -1
- package/dist/{Stepper-BaEOUnYe.js → Stepper-D89I17pC.js} +2 -2
- package/dist/{Stepper-BaEOUnYe.js.map → Stepper-D89I17pC.js.map} +1 -1
- package/dist/{Table-wn-B7iLj.js → Table-CdIQ5Wfh.js} +15 -15
- package/dist/{Table-wn-B7iLj.js.map → Table-CdIQ5Wfh.js.map} +1 -1
- package/dist/{Table-AQ7yJhtW.cjs → Table-DvgBWTLx.cjs} +2 -2
- package/dist/{Table-AQ7yJhtW.cjs.map → Table-DvgBWTLx.cjs.map} +1 -1
- package/dist/{Tabs-DJMfAUni.js → Tabs-8-klG-y-.js} +2 -2
- package/dist/{Tabs-DJMfAUni.js.map → Tabs-8-klG-y-.js.map} +1 -1
- package/dist/{Tabs-BtcJ2jBl.cjs → Tabs-CejCwV3O.cjs} +2 -2
- package/dist/{Tabs-BtcJ2jBl.cjs.map → Tabs-CejCwV3O.cjs.map} +1 -1
- package/dist/{TagsField-Bvh6Fm5Y.js → TagsField-BQLqUckB.js} +4 -4
- package/dist/{TagsField-Bvh6Fm5Y.js.map → TagsField-BQLqUckB.js.map} +1 -1
- package/dist/{TagsField-4x3RmGwt.cjs → TagsField-BSAd4eUr.cjs} +2 -2
- package/dist/{TagsField-4x3RmGwt.cjs.map → TagsField-BSAd4eUr.cjs.map} +1 -1
- package/dist/{TextField-DcdwUA9d.js → TextField-B4YtjNUs.js} +3 -3
- package/dist/{TextField-DcdwUA9d.js.map → TextField-B4YtjNUs.js.map} +1 -1
- package/dist/{TextField-DNqnpAWB.cjs → TextField-DzYGA_St.cjs} +2 -2
- package/dist/{TextField-DNqnpAWB.cjs.map → TextField-DzYGA_St.cjs.map} +1 -1
- package/dist/{ThemeToggle-BVQmSMsj.js → ThemeToggle-B4_zRHJY.js} +3 -3
- package/dist/{ThemeToggle-BVQmSMsj.js.map → ThemeToggle-B4_zRHJY.js.map} +1 -1
- package/dist/{ThemeToggle-isboxfZk.cjs → ThemeToggle-BKk0eFiB.cjs} +2 -2
- package/dist/{ThemeToggle-isboxfZk.cjs.map → ThemeToggle-BKk0eFiB.cjs.map} +1 -1
- package/dist/{TimeColumns-DxFjjtc7.cjs → TimeColumns-BAzRrkqY.cjs} +2 -2
- package/dist/{TimeColumns-DxFjjtc7.cjs.map → TimeColumns-BAzRrkqY.cjs.map} +1 -1
- package/dist/{TimeColumns-CFy_PynH.js → TimeColumns-CAPyli9V.js} +2 -2
- package/dist/{TimeColumns-CFy_PynH.js.map → TimeColumns-CAPyli9V.js.map} +1 -1
- package/dist/{TimePicker-v1yA7Igl.cjs → TimePicker-BUnXYR5g.cjs} +2 -2
- package/dist/{TimePicker-v1yA7Igl.cjs.map → TimePicker-BUnXYR5g.cjs.map} +1 -1
- package/dist/{TimePicker-ZO7jOJVa.js → TimePicker-BebBSlQF.js} +5 -5
- package/dist/{TimePicker-ZO7jOJVa.js.map → TimePicker-BebBSlQF.js.map} +1 -1
- package/dist/{Toaster-Qnsq3guQ.cjs → Toaster-B2rO4BkG.cjs} +2 -2
- package/dist/{Toaster-Qnsq3guQ.cjs.map → Toaster-B2rO4BkG.cjs.map} +1 -1
- package/dist/{Toaster-C6UK_2TB.js → Toaster-ywqAKP8s.js} +2 -2
- package/dist/{Toaster-C6UK_2TB.js.map → Toaster-ywqAKP8s.js.map} +1 -1
- package/dist/{TranslatedFields-Bo5rZ7so.js → TranslatedFields-C-wlh51E.js} +5 -5
- package/dist/{TranslatedFields-Bo5rZ7so.js.map → TranslatedFields-C-wlh51E.js.map} +1 -1
- package/dist/{TranslatedFields-CLMvRpJi.cjs → TranslatedFields-DQQUb0RD.cjs} +2 -2
- package/dist/{TranslatedFields-CLMvRpJi.cjs.map → TranslatedFields-DQQUb0RD.cjs.map} +1 -1
- package/dist/{UserCard-CIjZz5xd.cjs → UserCard-Be1kl0TZ.cjs} +2 -2
- package/dist/{UserCard-CIjZz5xd.cjs.map → UserCard-Be1kl0TZ.cjs.map} +1 -1
- package/dist/{UserCard-454Kc7JS.js → UserCard-BqWt0S-c.js} +3 -3
- package/dist/{UserCard-454Kc7JS.js.map → UserCard-BqWt0S-c.js.map} +1 -1
- package/dist/app/AdminRoot.d.cts +4 -1
- package/dist/app/AdminRoot.d.ts +4 -1
- package/dist/components/Alert/index.cjs +1 -1
- package/dist/components/Alert/index.js +1 -1
- package/dist/components/Breadcrumbs/index.cjs +1 -1
- package/dist/components/Breadcrumbs/index.js +1 -1
- package/dist/components/Button/index.cjs +1 -1
- package/dist/components/Button/index.js +1 -1
- package/dist/components/Card/index.cjs +1 -1
- package/dist/components/Card/index.js +1 -1
- package/dist/components/Chip/index.cjs +1 -1
- package/dist/components/Chip/index.js +1 -1
- package/dist/components/CodeBlock/index.cjs +1 -1
- package/dist/components/CodeBlock/index.js +1 -1
- package/dist/components/ColorPicker/index.cjs +1 -1
- package/dist/components/ColorPicker/index.js +1 -1
- package/dist/components/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/EmptyState/index.cjs +1 -1
- package/dist/components/EmptyState/index.js +1 -1
- 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/Link/Link.d.cts +44 -0
- package/dist/components/Link/Link.d.ts +44 -0
- package/dist/components/Link/index.cjs +2 -0
- package/dist/components/Link/index.cjs.map +1 -0
- package/dist/components/Link/index.d.cts +3 -0
- package/dist/components/Link/index.d.ts +3 -0
- package/dist/components/Link/index.js +6 -0
- package/dist/components/Link/index.js.map +1 -0
- package/dist/components/Loader/index.cjs +1 -1
- package/dist/components/Loader/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/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/QrCode/QrCode.d.cts +46 -0
- package/dist/components/QrCode/QrCode.d.ts +46 -0
- package/dist/components/QrCode/index.cjs +2 -0
- package/dist/components/QrCode/index.cjs.map +1 -0
- package/dist/components/QrCode/index.d.cts +2 -0
- package/dist/components/QrCode/index.d.ts +2 -0
- package/dist/components/QrCode/index.js +6 -0
- package/dist/components/QrCode/index.js.map +1 -0
- 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/ActionSet.d.cts +27 -0
- package/dist/components/RootLayout/ActionSet.d.ts +27 -0
- 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/Sidebar.d.cts +55 -3
- package/dist/components/Sidebar/Sidebar.d.ts +55 -3
- package/dist/components/Sidebar/index.cjs +1 -1
- package/dist/components/Sidebar/index.d.cts +1 -0
- package/dist/components/Sidebar/index.d.ts +1 -0
- package/dist/components/Sidebar/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 +2 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/entries/app.cjs +1 -1
- package/dist/entries/app.js +1 -1
- package/dist/entries/components.cjs +1 -1
- package/dist/entries/components.js +112 -108
- 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.d.cts +1 -1
- package/dist/entries/theme.d.ts +1 -1
- package/dist/entries/theme.js +1 -1
- package/dist/i18n/messages.d.cts +1 -0
- package/dist/i18n/messages.d.ts +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +115 -111
- package/dist/index.js.map +1 -1
- package/dist/{messages-CGHhwf6F.js → messages-CL8uoIRj.js} +8 -1
- package/dist/messages-CL8uoIRj.js.map +1 -0
- package/dist/messages-Dvn_tEp0.cjs +36 -0
- package/dist/messages-Dvn_tEp0.cjs.map +1 -0
- package/dist/theme/ConfigProvider.d.cts +22 -1
- package/dist/theme/ConfigProvider.d.ts +22 -1
- package/dist/theme/index.d.cts +1 -1
- package/dist/theme/index.d.ts +1 -1
- package/package.json +6 -1
- package/dist/AdminRoot-BDRLuMX6.cjs.map +0 -1
- package/dist/AdminRoot-DvF0js0q.js.map +0 -1
- package/dist/ConfigProvider-C7DUWHrb.cjs.map +0 -1
- package/dist/ConfigProvider-DT0yrgmd.js.map +0 -1
- package/dist/RootLayout-BNwHsuhC.js +0 -422
- package/dist/RootLayout-BNwHsuhC.js.map +0 -1
- package/dist/RootLayout-CB-3FgOp.cjs +0 -2
- package/dist/RootLayout-CB-3FgOp.cjs.map +0 -1
- package/dist/Sidebar-CJ7DtOqb.js +0 -513
- package/dist/Sidebar-CJ7DtOqb.js.map +0 -1
- package/dist/Sidebar-Cv95DJxZ.cjs +0 -2
- package/dist/Sidebar-Cv95DJxZ.cjs.map +0 -1
- package/dist/messages-CGHhwf6F.js.map +0 -1
- package/dist/messages-DZJyiaf9.cjs +0 -36
- package/dist/messages-DZJyiaf9.cjs.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const e=require("react/jsx-runtime"),S=require("react"),O=require("@tanstack/react-router"),P=require("clsx"),K=require("./useMediaQuery-CHMrI6Dy.cjs"),V=require("./useLockBodyScroll-CIXHZo-Q.cjs"),H=require("./Avatar-Dgf04PBC.cjs"),E=require("./Col-BdQeyKEX.cjs"),N=require("./Divider-CzbhdCiD.cjs"),G=require("./Dropdown-Ui7h2TGd.cjs"),p=require("./Icon-BVULqOJD.cjs"),T=require("./IconButton-Lv0sDDR9.cjs"),Q=require("./ListItem-yXXjtepZ.cjs"),X=require("./FullscreenToggle-BncatGKj.cjs"),Z=require("./ThemeToggle-isboxfZk.cjs"),c=require("./Typography-BFatE1_A.cjs"),$=require("./Breadcrumbs-CknDBLMw.cjs"),ee=require("./Toaster-Qnsq3guQ.cjs"),f=require("./Sidebar-Cv95DJxZ.cjs"),se=require("./Flag-Bxnx26DM.cjs"),te=require("./Modal-V6eyGSzW.cjs"),U=require("./ChoiceCardGroup-d0VVTUi5.cjs"),ae=require("./Select-Cx1Yl8nq.cjs"),ne=require("./SwatchPicker-CCJltwHI.cjs"),i=require("./ConfigProvider-C7DUWHrb.cjs"),re={light:["#dc2626","#ea580c","#d97706","#ca8a04","#65a30d","#16a34a","#059669","#0891b2","#0284c7","#2563eb","#4f46e5","#7c3aed","#c026d3","#db2777","#475569"],dark:["#f87171","#fb923c","#fbbf24","#facc15","#a3e635","#4ade80","#34d399","#22d3ee","#38bdf8","#60a5fa","#818cf8","#a78bfa","#e879f9","#f472b6","#94a3b8"]};function oe({open:C,onClose:k,showTheme:F=!0}){const{mode:h,setMode:q,accentColors:b,defaultAccentColors:j,setAccentColor:I,headerSticky:z,setHeaderSticky:D,fontFamily:g,setFontFamily:d}=i.useTheme(),s=i.useT(),[o,x]=S.useState(""),_=o.trim(),m=g!==i.DEFAULT_FONT_FAMILY?[i.DEFAULT_FONT_FAMILY,g]:[i.DEFAULT_FONT_FAMILY],B=(_.length>0&&!m.some(a=>a.toLowerCase()===_.toLowerCase())?[_,...m]:m).map(a=>({value:a,label:a===i.DEFAULT_FONT_FAMILY?s("settings.fontDefault",{font:a}):a})),v=(a,w)=>{const u=j[a],n=[u,...re[a].filter(l=>l.toLowerCase()!==u.toLowerCase())];return e.jsx(ne.SwatchPicker,{label:w,colors:n,value:b[a]??u,onChange:l=>I(l.toLowerCase()===u.toLowerCase()?null:l,a),labels:{[u]:s("settings.accentDefault",{color:u})},"aria-label":String(w)})};return e.jsxs(te.Modal,{open:C,onClose:k,placement:"right",size:"sm",title:s("settings.label"),icon:"Setting5",children:[F&&e.jsxs(e.Fragment,{children:[e.jsx(c.Typography,{variant:"subtitle",as:"h3",children:s("settings.themeTitle")}),e.jsx(c.Typography,{variant:"bodySmall",color:"muted",as:"p",style:{marginTop:"var(--tz-space-xxs)"},children:s("settings.themeDesc")}),e.jsx(U.ChoiceCardGroup,{exclusive:!0,color:"accent",minCardWidth:130,value:h,onChange:a=>{typeof a=="string"&&q(a)},options:[{value:"light",label:s("settings.light"),description:s("settings.lightDesc"),icon:"Sun"},{value:"dark",label:s("settings.dark"),description:s("settings.darkDesc"),icon:"Moon"}],"aria-label":s("settings.themeTitle"),style:{marginTop:"var(--tz-space-sm)"}}),e.jsx(N.Divider,{style:{margin:"var(--tz-space-md) 0"}})]}),e.jsx(c.Typography,{variant:"subtitle",as:"h3",children:s("settings.accentTitle")}),e.jsx(c.Typography,{variant:"bodySmall",color:"muted",as:"p",style:{marginTop:"var(--tz-space-xxs)"},children:s("settings.accentDesc")}),e.jsx(E.Col,{gap:"md",style:{marginTop:"var(--tz-space-sm)"},children:F?e.jsxs(e.Fragment,{children:[v("light",s("settings.lightTheme")),v("dark",s("settings.darkTheme"))]}):v(h,s(h==="light"?"settings.lightTheme":"settings.darkTheme"))}),e.jsx(N.Divider,{style:{margin:"var(--tz-space-md) 0"}}),e.jsx(c.Typography,{variant:"subtitle",as:"h3",children:s("settings.fontTitle")}),e.jsx(c.Typography,{variant:"bodySmall",color:"muted",as:"p",style:{marginTop:"var(--tz-space-xxs)"},children:s("settings.fontDesc")}),e.jsx(ae.Select,{label:s("settings.fontFamily"),searchable:!0,searchPlaceholder:s("settings.fontSearch"),value:g,options:B,onSearchChange:x,onChange:a=>{d(a),x("")},"aria-label":s("settings.fontFamily"),style:{marginTop:"var(--tz-space-sm)"}}),e.jsx(N.Divider,{style:{margin:"var(--tz-space-md) 0"}}),e.jsx(c.Typography,{variant:"subtitle",as:"h3",children:s("settings.headerTitle")}),e.jsx(c.Typography,{variant:"bodySmall",color:"muted",as:"p",style:{marginTop:"var(--tz-space-xxs)"},children:s("settings.headerDesc")}),e.jsx(U.ChoiceCardGroup,{exclusive:!0,color:"accent",minCardWidth:130,value:z?"fixed":"static",onChange:a=>{typeof a=="string"&&D(a==="fixed")},options:[{value:"static",label:s("settings.scrollable"),description:s("settings.scrollableDesc")},{value:"fixed",label:s("settings.fixed"),description:s("settings.fixedDesc")}],"aria-label":s("settings.headerTitle"),style:{marginTop:"var(--tz-space-sm)"}})]})}const ce="_shell_1529j_5",le="_shellCollapsed_1529j_21",ie="_sidebar_1529j_21",de="_sidebarInner_1529j_49",ue="_sidebarClose_1529j_58",he="_backdrop_1529j_65",ge="_brand_1529j_70",me="_sidebarSearch_1529j_86",pe="_navScroll_1529j_99",be="_sidebarFooter_1529j_108",je="_headerSearch_1529j_115",xe="_main_1529j_119",_e="_topbar_1529j_126",ve="_topbarSticky_1529j_139",ye="_headerStart_1529j_150",Te="_headerEnd_1529j_159",fe="_account_1529j_166",Se="_content_1529j_182",Ce="_pageTitleRow_1529j_189",ke="_pageTitle_1529j_189",Fe="_settings_1529j_211",t={shell:ce,shellCollapsed:le,sidebar:ie,sidebarInner:de,sidebarClose:ue,backdrop:he,brand:ge,sidebarSearch:me,navScroll:pe,sidebarFooter:be,headerSearch:je,main:xe,topbar:_e,topbarSticky:ve,headerStart:ye,headerEnd:Te,account:fe,content:Se,pageTitleRow:Ce,pageTitle:ke,settings:Fe};function we({logo:C,sidebarFooter:k,header:F,toaster:h=!0,children:q}){const b=f.usePageTitle(),j=f.usePageBack(),{headerSticky:I}=i.useTheme(),{language:z,setLanguage:D,languages:g}=i.useLanguage(),d=i.useT(),o={...i.useHeaderConfig(),...F},x=o.theme??!0,_=o.fullscreen??!1,m=o.settings??!0,A=o.search??!0,B=o.languages??!0,v=o.breadcrumbs??!0,a=typeof h=="object"?h:void 0,w=o.pageTitle??!0,u=o.onLogout,n=o.user,l=K.useMediaQuery("md"),[L,y]=S.useState(l);S.useEffect(()=>{y(l)},[l]),V.useLockBodyScroll(l&&!L);const Y=O.useRouterState({select:r=>r.location.pathname});S.useEffect(()=>{l&&y(!0)},[Y]);const M=O.useRouterState({select:r=>r.statusCode===404||r.matches.some(J=>J.status==="notFound")}),[W,R]=S.useState(!1);return e.jsxs("div",{className:P.clsx(t.shell,L&&t.shellCollapsed),children:[e.jsx("aside",{className:t.sidebar,children:e.jsxs("div",{className:t.sidebarInner,children:[C?e.jsxs("div",{className:t.brand,children:[C,e.jsx(T.IconButton,{variant:"filled",size:"sm",className:t.sidebarClose,"aria-label":d("common.close"),onClick:()=>y(!0),children:e.jsx(p.Icon,{name:"Close"})})]}):null,A?e.jsx("div",{className:t.sidebarSearch,children:e.jsx(f.NavSearch,{})}):null,e.jsx("div",{className:t.navScroll,children:e.jsx(f.Sidebar,{})}),k?e.jsx("div",{className:t.sidebarFooter,children:k}):null]})}),e.jsx("div",{className:t.backdrop,onClick:()=>y(!0),"aria-hidden":"true"}),e.jsxs("div",{className:t.main,children:[e.jsxs("header",{className:P.clsx(t.topbar,I&&t.topbarSticky),children:[e.jsxs("div",{className:t.headerStart,children:[e.jsx(T.IconButton,{"aria-label":L?"Show sidebar":"Hide sidebar","aria-expanded":!L,variant:"filled",size:"sm",onClick:()=>y(r=>!r),children:e.jsx(p.Icon,{name:"Menu"})}),A?e.jsx("div",{className:t.headerSearch,children:e.jsx(f.NavSearch,{})}):null]}),e.jsxs("div",{className:t.headerEnd,children:[_?e.jsx(X.FullscreenToggle,{variant:"filled",size:"sm"}):null,x?e.jsx(Z.ThemeToggle,{variant:"filled",size:"sm"}):null,B&&g.length>1?e.jsx(G.Dropdown,{placement:"bottom-end",trigger:e.jsx(T.IconButton,{variant:"filled",size:"sm","aria-label":d("language.label"),children:e.jsx(p.Icon,{name:"Global"})}),children:g.map(r=>e.jsx(Q.ListItem,{clickable:!0,selected:r.code===z,onClick:()=>D(r.code),icon:e.jsx(se.Flag,{code:r.code}),children:r.label??r.code},r.code))}):null,m?e.jsx(T.IconButton,{"aria-label":d("settings.label"),variant:"text",size:"sm",className:t.settings,onClick:()=>R(!0),children:e.jsx(p.Icon,{name:"Setting5"})}):null,u?e.jsxs(G.Dropdown,{placement:"bottom-end",trigger:e.jsx("button",{type:"button",className:t.account,"aria-label":d("account.label"),children:e.jsx(H.Avatar,{size:"md",name:n==null?void 0:n.name,src:n==null?void 0:n.avatar,color:"primary"})}),children:[n?e.jsxs(e.Fragment,{children:[e.jsxs(E.Row,{gap:8,align:"center",padding:"var(--tz-space-xxs) var(--tz-space-sm)",children:[e.jsx(H.Avatar,{size:"sm",name:n.name,src:n.avatar,color:"primary"}),e.jsxs(E.Col,{gap:2,children:[e.jsx(c.Typography,{variant:"bodySmall",children:n.name??d("userCard.welcome")}),n.email?e.jsx(c.Typography,{variant:"caption",color:"muted",children:n.email}):null]})]}),e.jsx(N.Divider,{})]}):null,e.jsx(Q.ListItem,{icon:e.jsx(p.Icon,{name:"Logout2",color:"error"}),clickable:!0,onClick:u,children:d("userCard.signOut")})]}):null]})]}),e.jsxs("main",{className:t.content,children:[v&&!M?e.jsx($.Breadcrumbs,{}):null,w&&!M&&(b||j)?e.jsxs("div",{className:t.pageTitleRow,children:[j?e.jsx(T.IconButton,{"aria-label":d("pageTitle.back"),variant:"filled",color:"accent",className:t.backButton,onClick:j,size:"sm",children:e.jsx(p.Icon,{name:"ArrowLeft"})}):null,b?e.jsx(c.Typography,{variant:"h2",className:t.pageTitle,children:b}):null]}):null,q]})]}),h!==!1&&e.jsx(ee.Toaster,{...a}),m?e.jsx(oe,{open:W,onClose:()=>R(!1),showTheme:x}):null]})}exports.RootLayout=we;
|
|
2
|
-
//# sourceMappingURL=RootLayout-CB-3FgOp.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RootLayout-CB-3FgOp.cjs","sources":["../src/components/RootLayout/SettingsDrawer.tsx","../src/components/RootLayout/RootLayout.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { DEFAULT_FONT_FAMILY, useT, useTheme } from '../../theme'\nimport { Col } from '../Flex'\nimport { Divider } from '../Divider'\nimport { Modal } from '../Modal'\nimport { ChoiceCardGroup } from '../ChoiceCard'\nimport { Select } from '../Select'\nimport { SwatchPicker } from '../SwatchPicker'\nimport { Typography } from '../Typography'\n\n// Accent choices offered alongside the provider's default (which leads each list) — 15 per mode, so\n// each theme shows 16 total. Tuned PER MODE (deeper tones for light, brighter for dark) and paired by\n// hue (red → violet + a neutral) so a color keeps its identity across themes.\nconst ALT_SWATCHES: Record<'light' | 'dark', string[]> = {\n light: [\n '#dc2626', // red\n '#ea580c', // orange\n '#d97706', // amber\n '#ca8a04', // yellow\n '#65a30d', // lime\n '#16a34a', // green\n '#059669', // emerald\n '#0891b2', // cyan\n '#0284c7', // sky\n '#2563eb', // blue\n '#4f46e5', // indigo\n '#7c3aed', // violet\n '#c026d3', // fuchsia\n '#db2777', // pink\n '#475569', // slate\n ],\n dark: [\n '#f87171', // red\n '#fb923c', // orange\n '#fbbf24', // amber\n '#facc15', // yellow\n '#a3e635', // lime\n '#4ade80', // green\n '#34d399', // emerald\n '#22d3ee', // cyan\n '#38bdf8', // sky\n '#60a5fa', // blue\n '#818cf8', // indigo\n '#a78bfa', // violet\n '#e879f9', // fuchsia\n '#f472b6', // pink\n '#94a3b8', // slate\n ],\n}\n\nexport interface SettingsDrawerProps {\n /** Whether the drawer is open. */\n open: boolean\n /** Close handler. */\n onClose: () => void\n /** Show the light/dark **Theme** section (gated by the shell's `header.theme`, the same flag as the header toggle). */\n showTheme?: boolean\n}\n\n/**\n * The header user-menu **Settings** drawer (a right-side `Modal`), top to bottom: a **Theme** section — an\n * exclusive `ChoiceCardGroup` (**Light** / **Dark** cards) driving `useTheme().setMode`, shown only when\n * **`showTheme`** (the shell's `header.theme`, so the header toggle + this section appear/disappear\n * together); **Accent Color** — **two `SwatchPicker`s** (Light + Dark) so both accents are chosen\n * independently, each with a per-mode set (deeper tones for light, brighter for dark), calling\n * `setAccentColor(color, mode)` and persisting it — each list leads with the provider's default for that\n * mode (`defaultAccentColors[mode]`), selected when there's no override (picking it clears the override).\n * When `showTheme` is off the panel is locked to one mode, so **only the active mode's accent picker**\n * shows (the other is pointless without a theme switch);\n * a **Font** section (a searchable `Select` — Inter preset + type any Google Font — driving\n * `setFontFamily`); and a **Header** section (an exclusive `ChoiceCardGroup` **Scrollable** / **Fixed**\n * driving `setHeaderSticky`). Internal to the admin shell — not a public export.\n */\nexport function SettingsDrawer({ open, onClose, showTheme = true }: SettingsDrawerProps) {\n const {\n mode,\n setMode,\n accentColors,\n defaultAccentColors,\n setAccentColor,\n headerSticky,\n setHeaderSticky,\n fontFamily,\n setFontFamily,\n } = useTheme()\n const t = useT()\n\n // One searchable Select doubles as a \"type any Google Font\" field. Base = Inter (the only preset) +\n // the active font (so a custom pick stays visible/selectable). While searching, the typed query is\n // offered as its own option — picking it applies + loads that family. Base is always kept in the\n // list (never filtered out) so `value` always resolves in the trigger, even mid-search.\n const [fontQuery, setFontQuery] = useState('')\n const q = fontQuery.trim()\n const base =\n fontFamily !== DEFAULT_FONT_FAMILY ? [DEFAULT_FONT_FAMILY, fontFamily] : [DEFAULT_FONT_FAMILY]\n const showTyped = q.length > 0 && !base.some((f) => f.toLowerCase() === q.toLowerCase())\n const fontOptions = (showTyped ? [q, ...base] : base).map((f) => ({\n value: f,\n label: f === DEFAULT_FONT_FAMILY ? t('settings.fontDefault', { font: f }) : f,\n }))\n\n const picker = (mode: 'light' | 'dark', label: string) => {\n const def = defaultAccentColors[mode]\n // the provider's default (per mode) leads the list; then the mode's alts (minus any collision)\n const colors = [def, ...ALT_SWATCHES[mode].filter((c) => c.toLowerCase() !== def.toLowerCase())]\n return (\n <SwatchPicker\n label={label}\n colors={colors}\n // with no override, this mode's default swatch reads as selected\n value={accentColors[mode] ?? def}\n // the default swatch clears this mode's override; the rest set it\n onChange={(color) =>\n setAccentColor(color.toLowerCase() === def.toLowerCase() ? null : color, mode)\n }\n labels={{ [def]: t('settings.accentDefault', { color: def }) }}\n aria-label={String(label)}\n />\n )\n }\n\n return (\n <Modal\n open={open}\n onClose={onClose}\n placement=\"right\"\n size=\"sm\"\n title={t('settings.label')}\n icon=\"Setting5\"\n >\n {showTheme && (\n <>\n <Typography variant=\"subtitle\" as=\"h3\">\n {t('settings.themeTitle')}\n </Typography>\n <Typography\n variant=\"bodySmall\"\n color=\"muted\"\n as=\"p\"\n style={{ marginTop: 'var(--tz-space-xxs)' }}\n >\n {t('settings.themeDesc')}\n </Typography>\n <ChoiceCardGroup\n exclusive\n color=\"accent\"\n minCardWidth={130}\n value={mode}\n onChange={(v) => {\n if (typeof v === 'string') setMode(v as 'light' | 'dark')\n }}\n options={[\n {\n value: 'light',\n label: t('settings.light'),\n description: t('settings.lightDesc'),\n icon: 'Sun',\n },\n {\n value: 'dark',\n label: t('settings.dark'),\n description: t('settings.darkDesc'),\n icon: 'Moon',\n },\n ]}\n aria-label={t('settings.themeTitle')}\n style={{ marginTop: 'var(--tz-space-sm)' }}\n />\n\n <Divider style={{ margin: 'var(--tz-space-md) 0' }} />\n </>\n )}\n\n <Typography variant=\"subtitle\" as=\"h3\">\n {t('settings.accentTitle')}\n </Typography>\n <Typography\n variant=\"bodySmall\"\n color=\"muted\"\n as=\"p\"\n style={{ marginTop: 'var(--tz-space-xxs)' }}\n >\n {t('settings.accentDesc')}\n </Typography>\n <Col gap=\"md\" style={{ marginTop: 'var(--tz-space-sm)' }}>\n {showTheme ? (\n <>\n {picker('light', t('settings.lightTheme'))}\n {picker('dark', t('settings.darkTheme'))}\n </>\n ) : (\n // theme switching is off → the panel stays in one mode, so only that mode's accent matters\n picker(mode, mode === 'light' ? t('settings.lightTheme') : t('settings.darkTheme'))\n )}\n </Col>\n\n <Divider style={{ margin: 'var(--tz-space-md) 0' }} />\n\n <Typography variant=\"subtitle\" as=\"h3\">\n {t('settings.fontTitle')}\n </Typography>\n <Typography\n variant=\"bodySmall\"\n color=\"muted\"\n as=\"p\"\n style={{ marginTop: 'var(--tz-space-xxs)' }}\n >\n {t('settings.fontDesc')}\n </Typography>\n <Select\n label={t('settings.fontFamily')}\n searchable\n searchPlaceholder={t('settings.fontSearch')}\n value={fontFamily}\n options={fontOptions}\n onSearchChange={setFontQuery}\n onChange={(v) => {\n setFontFamily(v)\n setFontQuery('')\n }}\n aria-label={t('settings.fontFamily')}\n style={{ marginTop: 'var(--tz-space-sm)' }}\n />\n\n <Divider style={{ margin: 'var(--tz-space-md) 0' }} />\n\n <Typography variant=\"subtitle\" as=\"h3\">\n {t('settings.headerTitle')}\n </Typography>\n <Typography\n variant=\"bodySmall\"\n color=\"muted\"\n as=\"p\"\n style={{ marginTop: 'var(--tz-space-xxs)' }}\n >\n {t('settings.headerDesc')}\n </Typography>\n <ChoiceCardGroup\n exclusive\n color=\"accent\"\n minCardWidth={130}\n value={headerSticky ? 'fixed' : 'static'}\n // exclusive (radio) → always a string; set sticky from the picked card\n onChange={(v) => {\n if (typeof v === 'string') setHeaderSticky(v === 'fixed')\n }}\n options={[\n {\n value: 'static',\n label: t('settings.scrollable'),\n description: t('settings.scrollableDesc'),\n },\n { value: 'fixed', label: t('settings.fixed'), description: t('settings.fixedDesc') },\n ]}\n aria-label={t('settings.headerTitle')}\n style={{ marginTop: 'var(--tz-space-sm)' }}\n />\n </Modal>\n )\n}\n","import { useEffect, useState, type ReactNode } from 'react'\nimport { useRouterState } from '@tanstack/react-router'\nimport { clsx } from 'clsx'\nimport { useMediaQuery } from '../../hooks/useMediaQuery'\nimport { useLockBodyScroll } from '../../hooks/useLockBodyScroll'\nimport {\n useHeaderConfig,\n useLanguage,\n useT,\n useTheme,\n type HeaderConfig,\n type HeaderUser,\n} from '../../theme'\nimport { Avatar } from '../Avatar'\nimport { Col, Row } from '../Flex'\nimport { Divider } from '../Divider'\nimport { Dropdown } from '../Dropdown'\nimport { Icon } from '../Icon'\nimport { IconButton } from '../IconButton'\nimport { ListItem } from '../List'\nimport { FullscreenToggle } from '../FullscreenToggle'\nimport { ThemeToggle } from '../ThemeToggle'\nimport { Typography } from '../Typography'\nimport { Breadcrumbs } from '../Breadcrumbs'\nimport { Toaster, type ToasterProps } from '../Toast'\nimport { NavSearch, Sidebar, usePageBack, usePageTitle } from '../Sidebar/Sidebar'\nimport { Flag } from '../Flag'\nimport { SettingsDrawer } from './SettingsDrawer'\nimport styles from './RootLayout.module.css'\n\n/**\n * The shell header config + its user shape now live in the theme layer (so `config.header` can carry\n * them app-wide). These aliases keep the historical `RootLayout*` names importable.\n */\nexport type RootLayoutUser = HeaderUser\nexport type RootLayoutHeader = HeaderConfig\n\nexport interface RootLayoutProps {\n /** Brand logo at the top of the sidebar card — pass an `<img>`, an `<Icon>`, or any node. */\n logo?: ReactNode\n /** Optional content pinned to the **bottom of the sidebar** (e.g. a promo / \"Need help?\" card). */\n sidebarFooter?: ReactNode\n /**\n * Header config for **this** shell — merged **over** the app-wide `config.header` (the prop wins).\n * Fields: the built-in `theme` / `search` / `settings` / `languages` toggles (default `true`),\n * `fullscreen` (default `false`), `breadcrumbs` (default `true`), `pageTitle` (default `true`), and the\n * account (`onLogout` / `user`).\n */\n header?: RootLayoutHeader\n /**\n * The built-in toast viewport, mounted for you so `toast.*()` works app-wide with no extra setup.\n * Defaults to `true` (a `<Toaster>` with its defaults). Pass `ToasterProps` to configure it\n * (`{ position, duration }`), or `false` to opt out — e.g. when you mount your own `<Toaster>`.\n */\n toaster?: boolean | ToasterProps\n /** Routed content — the consumer passes `<Outlet />`. */\n children: ReactNode\n}\n\n/**\n * The admin-panel shell — a **floating** layout: the whole app sits on a soft `--tz-color-background`\n * canvas, with a rounded, elevated `--tz-color-surface` **sidebar card** (`logo` + auto-generated `Sidebar` + an optional\n * `sidebarFooter`) beside the header + content. Set it as the root route's component and pass\n * `<Outlet />` as `children`; the `Sidebar` builds itself from the routes' `staticData`. The header\n * holds an optional `ThemeToggle` (on by default), a **Settings** button (opens a right-side drawer to\n * pick + persist the `accent` color), plus an account `Avatar` whose menu has a **Sign out** item when\n * `header.onLogout` is given. The content area stacks\n * **`Breadcrumbs` → the page title (the active route's `staticData.name`) → `children`**; pages wrap\n * their own body in `PageLayout`. Set `header.pageTitle = false` to drop the auto `h2` when pages\n * carry their own heading inside their `PageLayout` header. On a 404 the auto title + breadcrumbs are\n * suppressed automatically (a partial route match would otherwise show a stale section), regardless of\n * the `header.pageTitle` / `header.breadcrumbs` props. A `<Toaster>` is **mounted by default** so\n * `toast.*()` works app-wide with no extra setup (configure via `toaster`, or `toaster={false}` to opt\n * out). Styling is token-based, so it follows the active `ConfigProvider` mode. Requires\n * `@tanstack/react-router` (peer).\n */\nexport function RootLayout({\n logo,\n sidebarFooter,\n header,\n toaster = true,\n children,\n}: RootLayoutProps) {\n const title = usePageTitle()\n const onBack = usePageBack() // set by the current route's `staticData.back` (opt-in) — else undefined\n // header sticky/static — the user's persisted choice (seeded from config.header.sticky)\n const { headerSticky } = useTheme()\n const { language, setLanguage, languages } = useLanguage()\n const t = useT()\n // app-wide header config (config.header) as the base; this shell's `header` prop wins over it\n const configHeader = useHeaderConfig()\n const h: HeaderConfig = { ...configHeader, ...header }\n const showTheme = h.theme ?? true\n const showFullscreen = h.fullscreen ?? false\n const showSettings = h.settings ?? true\n const showSearch = h.search ?? true\n const showLanguages = h.languages ?? true\n const showBreadcrumbs = h.breadcrumbs ?? true\n const toasterProps = typeof toaster === 'object' ? toaster : undefined\n const showPageTitle = h.pageTitle ?? true\n const onLogout = h.onLogout\n const user = h.user\n // below 1280px the sidebar auto-collapses (and auto-expands again above it); a manual toggle holds\n // until the next breakpoint cross. `useMediaQuery` is correct on the first client render, so no flash.\n const isNarrow = useMediaQuery('md') // ≤ 1279.98px — the shared `md` breakpoint\n const [collapsed, setCollapsed] = useState(isNarrow)\n useEffect(() => {\n setCollapsed(isNarrow)\n }, [isNarrow])\n // while the sidebar overlays the content (narrow + open), lock page scroll so scrolling inside the\n // drawer doesn't scroll the content behind it\n useLockBodyScroll(isNarrow && !collapsed)\n // navigating from the overlay drawer (a nav link or a search suggestion — both change the route) auto-\n // closes it, so you land on the page instead of the still-open sidebar; desktop navigation is untouched\n const pathname = useRouterState({ select: (s) => s.location.pathname })\n useEffect(() => {\n if (isNarrow) setCollapsed(true)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pathname])\n // on a 404 the URL often partially matches a named layout route (e.g. `/core/xxx` still resolves\n // \"Core\" as the active section), so the auto page title + breadcrumbs would show a stale, wrong trail.\n // suppress both when the router is in a notFound state — automatic, no opt-out needed. `statusCode ===\n // 404` is the primary signal; a `notFound` match status is the fallback.\n const isNotFound = useRouterState({\n select: (s) => s.statusCode === 404 || s.matches.some((m) => m.status === 'notFound'),\n })\n const [settingsOpen, setSettingsOpen] = useState(false)\n\n return (\n <div className={clsx(styles.shell, collapsed && styles.shellCollapsed)}>\n <aside className={styles.sidebar}>\n {/* fixed-width inner: the outer <aside> animates its width to 0 (and clips via overflow),\n while this keeps the sidebar's real width so the content never reflows mid-collapse */}\n <div className={styles.sidebarInner}>\n {logo ? (\n <div className={styles.brand}>\n {logo}\n {/* in-drawer close — only shown when the sidebar overlays (narrow), where the header\n toggle is behind the backdrop; closes the drawer */}\n <IconButton\n variant=\"filled\"\n size=\"sm\"\n className={styles.sidebarClose}\n aria-label={t('common.close')}\n onClick={() => setCollapsed(true)}\n >\n <Icon name=\"Close\" />\n </IconButton>\n </div>\n ) : null}\n {/* the search lives in the header on desktop; below 576px (full-width drawer) it moves here,\n between the logo and the menu (CSS toggles which instance shows) */}\n {showSearch ? (\n <div className={styles.sidebarSearch}>\n <NavSearch />\n </div>\n ) : null}\n <div className={styles.navScroll}>\n <Sidebar />\n </div>\n {sidebarFooter ? <div className={styles.sidebarFooter}>{sidebarFooter}</div> : null}\n </div>\n </aside>\n {/* dim backdrop behind the overlay sidebar — a sibling of the sidebar (same stacking context, so the\n sidebar reliably sits above it, unlike a body-portaled Overlay). Only shown/interactive below\n 1280px while open (CSS); clicking it closes the drawer. On desktop the sidebar is a grid column. */}\n <div className={styles.backdrop} onClick={() => setCollapsed(true)} aria-hidden=\"true\" />\n <div className={styles.main}>\n <header className={clsx(styles.topbar, headerSticky && styles.topbarSticky)}>\n <div className={styles.headerStart}>\n <IconButton\n aria-label={collapsed ? 'Show sidebar' : 'Hide sidebar'}\n aria-expanded={!collapsed}\n variant=\"filled\"\n size=\"sm\"\n onClick={() => setCollapsed((c) => !c)}\n >\n <Icon name=\"Menu\" />\n </IconButton>\n {showSearch ? (\n <div className={styles.headerSearch}>\n <NavSearch />\n </div>\n ) : null}\n </div>\n <div className={styles.headerEnd}>\n {showFullscreen ? <FullscreenToggle variant=\"filled\" size=\"sm\" /> : null}\n {showTheme ? <ThemeToggle variant=\"filled\" size=\"sm\" /> : null}\n {showLanguages && languages.length > 1 ? (\n <Dropdown\n placement=\"bottom-end\"\n trigger={\n <IconButton variant=\"filled\" size=\"sm\" aria-label={t('language.label')}>\n <Icon name=\"Global\" />\n </IconButton>\n }\n >\n {languages.map((l) => (\n <ListItem\n key={l.code}\n clickable\n selected={l.code === language}\n onClick={() => setLanguage(l.code)}\n icon={<Flag code={l.code} />}\n >\n {l.label ?? l.code}\n </ListItem>\n ))}\n </Dropdown>\n ) : null}\n {showSettings ? (\n <IconButton\n aria-label={t('settings.label')}\n variant=\"text\"\n size=\"sm\"\n className={styles.settings}\n onClick={() => setSettingsOpen(true)}\n >\n <Icon name=\"Setting5\" />\n </IconButton>\n ) : null}\n {onLogout ? (\n <Dropdown\n placement=\"bottom-end\"\n trigger={\n <button type=\"button\" className={styles.account} aria-label={t('account.label')}>\n <Avatar size=\"md\" name={user?.name} src={user?.avatar} color=\"primary\" />\n </button>\n }\n >\n {user ? (\n <>\n <Row gap={8} align=\"center\" padding=\"var(--tz-space-xxs) var(--tz-space-sm)\">\n <Avatar size=\"sm\" name={user.name} src={user.avatar} color=\"primary\" />\n <Col gap={2}>\n {/* name, or a \"Welcome\" greeting fallback when no name is given */}\n <Typography variant=\"bodySmall\">\n {user.name ?? t('userCard.welcome')}\n </Typography>\n {user.email ? (\n <Typography variant=\"caption\" color=\"muted\">\n {user.email}\n </Typography>\n ) : null}\n </Col>\n </Row>\n <Divider />\n </>\n ) : null}\n <ListItem icon={<Icon name=\"Logout2\" color=\"error\" />} clickable onClick={onLogout}>\n {t('userCard.signOut')}\n </ListItem>\n </Dropdown>\n ) : null}\n </div>\n </header>\n <main className={styles.content}>\n {showBreadcrumbs && !isNotFound ? <Breadcrumbs /> : null}\n {showPageTitle && !isNotFound && (title || onBack) ? (\n <div className={styles.pageTitleRow}>\n {onBack ? (\n <IconButton\n aria-label={t('pageTitle.back')}\n variant=\"filled\"\n color=\"accent\"\n className={styles.backButton}\n onClick={onBack}\n size=\"sm\"\n >\n <Icon name=\"ArrowLeft\" />\n </IconButton>\n ) : null}\n {title ? (\n <Typography variant=\"h2\" className={styles.pageTitle}>\n {title}\n </Typography>\n ) : null}\n </div>\n ) : null}\n {children}\n </main>\n </div>\n {toaster !== false && <Toaster {...toasterProps} />}\n {showSettings ? (\n <SettingsDrawer\n open={settingsOpen}\n onClose={() => setSettingsOpen(false)}\n showTheme={showTheme}\n />\n ) : null}\n </div>\n )\n}\n"],"names":["ALT_SWATCHES","SettingsDrawer","open","onClose","showTheme","mode","setMode","accentColors","defaultAccentColors","setAccentColor","headerSticky","setHeaderSticky","fontFamily","setFontFamily","useTheme","t","useT","fontQuery","setFontQuery","useState","q","base","DEFAULT_FONT_FAMILY","fontOptions","f","picker","label","def","colors","c","jsx","SwatchPicker","color","jsxs","Modal","Fragment","Typography","ChoiceCardGroup","v","Divider","Col","Select","RootLayout","logo","sidebarFooter","header","toaster","children","title","usePageTitle","onBack","usePageBack","language","setLanguage","languages","useLanguage","h","useHeaderConfig","showFullscreen","showSettings","showSearch","showLanguages","showBreadcrumbs","toasterProps","showPageTitle","onLogout","user","isNarrow","useMediaQuery","collapsed","setCollapsed","useEffect","useLockBodyScroll","pathname","useRouterState","s","isNotFound","m","settingsOpen","setSettingsOpen","clsx","styles","IconButton","Icon","NavSearch","Sidebar","FullscreenToggle","ThemeToggle","Dropdown","l","ListItem","Flag","Avatar","Row","Breadcrumbs","Toaster"],"mappings":"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"}
|
package/dist/Sidebar-CJ7DtOqb.js
DELETED
|
@@ -1,513 +0,0 @@
|
|
|
1
|
-
import { jsx as u, jsxs as P, Fragment as A } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo as L, useState as T, useRef as Y, useEffect as k } from "react";
|
|
3
|
-
import { Navigate as U, useRouterState as N, Link as y, useRouter as M, useNavigate as F } from "@tanstack/react-router";
|
|
4
|
-
import { clsx as W } from "clsx";
|
|
5
|
-
import { I as O } from "./Icon-DaTvzLBu.js";
|
|
6
|
-
import { L as w } from "./List-LqbfF6gU.js";
|
|
7
|
-
import { L as E } from "./ListItem-Cn15lJBr.js";
|
|
8
|
-
import { T as q } from "./TextField-DcdwUA9d.js";
|
|
9
|
-
import { u as H, h as G } from "./access-Db4knwyR.js";
|
|
10
|
-
import { a as Q } from "./ConfigProvider-DT0yrgmd.js";
|
|
11
|
-
const X = "_nav_a1zzi_4", J = "_module_a1zzi_17", Z = "_search_a1zzi_25", ee = "_searchPanel_a1zzi_31", te = "_moduleLabel_a1zzi_46", oe = "_leaves_a1zzi_61", ne = "_navBadge_a1zzi_66", ae = "_navDot_a1zzi_78", se = "_leafDot_a1zzi_86", le = "_collapsible_a1zzi_95", re = "_collapsibleClosed_a1zzi_100", ce = "_collapsibleInner_a1zzi_103", ie = "_chevron_a1zzi_109", ue = "_chevronButton_a1zzi_119", b = {
|
|
12
|
-
nav: X,
|
|
13
|
-
module: J,
|
|
14
|
-
search: Z,
|
|
15
|
-
searchPanel: ee,
|
|
16
|
-
moduleLabel: te,
|
|
17
|
-
leaves: oe,
|
|
18
|
-
navBadge: ne,
|
|
19
|
-
navDot: ae,
|
|
20
|
-
leafDot: se,
|
|
21
|
-
collapsible: le,
|
|
22
|
-
collapsibleClosed: re,
|
|
23
|
-
collapsibleInner: ce,
|
|
24
|
-
chevron: ie,
|
|
25
|
-
chevronButton: ue
|
|
26
|
-
}, C = E, de = (e) => e.split("-").map((o) => o.charAt(0).toUpperCase() + o.slice(1)).join(" "), R = (e) => e.replace(/^\/+|\/+$/g, ""), B = (e) => e.length > 1 && e.endsWith("/") ? e.slice(0, -1) : e, D = (e, o) => e.order - o.order || e.label.localeCompare(o.label);
|
|
27
|
-
function fe(e) {
|
|
28
|
-
const o = [];
|
|
29
|
-
for (const a of e) {
|
|
30
|
-
const r = a.staticData, s = R(a.fullPath);
|
|
31
|
-
!(r != null && r.name) || !s || o.push({ path: s, name: r.name, sd: r });
|
|
32
|
-
}
|
|
33
|
-
const t = new Map(o.map((a) => [a.path, a])), n = o.map((a) => a.path), l = (a) => n.some((r) => {
|
|
34
|
-
var s;
|
|
35
|
-
return r !== a && r.startsWith(`${a}/`) && !((s = t.get(r)) != null && s.sd.hidden);
|
|
36
|
-
}), i = new Set(e.map((a) => a.fullPath)), h = (a) => i.has(`/${a}/`), m = (a, r) => {
|
|
37
|
-
const s = t.get(a);
|
|
38
|
-
return {
|
|
39
|
-
label: (s == null ? void 0 : s.name) ?? de(r),
|
|
40
|
-
icon: s == null ? void 0 : s.sd.icon,
|
|
41
|
-
badge: s == null ? void 0 : s.sd.badge,
|
|
42
|
-
dot: s == null ? void 0 : s.sd.dot,
|
|
43
|
-
order: (s == null ? void 0 : s.sd.order) ?? Number.POSITIVE_INFINITY
|
|
44
|
-
};
|
|
45
|
-
}, p = /* @__PURE__ */ new Map(), f = (a) => {
|
|
46
|
-
let r = p.get(a);
|
|
47
|
-
if (!r) {
|
|
48
|
-
const s = m(a, a);
|
|
49
|
-
r = { label: s.label, icon: s.icon, order: s.order, groups: /* @__PURE__ */ new Map() }, p.set(a, r);
|
|
50
|
-
}
|
|
51
|
-
return r;
|
|
52
|
-
}, g = [];
|
|
53
|
-
for (const { path: a, name: r, sd: s } of o) {
|
|
54
|
-
const _ = a.split("/");
|
|
55
|
-
if (_.length <= 2 && l(a) || s.hidden) continue;
|
|
56
|
-
if (_.length === 1) {
|
|
57
|
-
g.push({
|
|
58
|
-
label: r,
|
|
59
|
-
to: `/${a}`,
|
|
60
|
-
icon: s.icon,
|
|
61
|
-
badge: s.badge,
|
|
62
|
-
dot: s.dot,
|
|
63
|
-
order: s.order ?? Number.POSITIVE_INFINITY
|
|
64
|
-
});
|
|
65
|
-
continue;
|
|
66
|
-
}
|
|
67
|
-
const c = f(_[0]);
|
|
68
|
-
if (_.length === 2)
|
|
69
|
-
c.groups.set(a, {
|
|
70
|
-
label: r,
|
|
71
|
-
icon: s.icon,
|
|
72
|
-
to: `/${a}`,
|
|
73
|
-
badge: s.badge,
|
|
74
|
-
dot: s.dot,
|
|
75
|
-
order: s.order ?? Number.POSITIVE_INFINITY,
|
|
76
|
-
leaves: [],
|
|
77
|
-
isContainer: !1
|
|
78
|
-
});
|
|
79
|
-
else {
|
|
80
|
-
const d = _.slice(0, 2).join("/");
|
|
81
|
-
let v = c.groups.get(d);
|
|
82
|
-
if (!v) {
|
|
83
|
-
const z = m(d, _[1]);
|
|
84
|
-
v = {
|
|
85
|
-
label: z.label,
|
|
86
|
-
icon: z.icon,
|
|
87
|
-
badge: z.badge,
|
|
88
|
-
dot: z.dot,
|
|
89
|
-
order: z.order,
|
|
90
|
-
to: h(d) ? `/${d}` : void 0,
|
|
91
|
-
leaves: [],
|
|
92
|
-
isContainer: !0
|
|
93
|
-
}, c.groups.set(d, v);
|
|
94
|
-
}
|
|
95
|
-
v.leaves.push({
|
|
96
|
-
label: r,
|
|
97
|
-
to: `/${a}`,
|
|
98
|
-
icon: s.icon,
|
|
99
|
-
badge: s.badge,
|
|
100
|
-
dot: s.dot,
|
|
101
|
-
order: s.order ?? Number.POSITIVE_INFINITY
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
return {
|
|
106
|
-
links: g.sort(D).map((a) => ({ label: a.label, to: a.to, icon: a.icon, badge: a.badge, dot: a.dot })),
|
|
107
|
-
modules: [...p.values()].sort(D).map(
|
|
108
|
-
(a) => ({
|
|
109
|
-
module: a.label,
|
|
110
|
-
icon: a.icon,
|
|
111
|
-
groups: [...a.groups.values()].sort(D).map(
|
|
112
|
-
(r) => ({
|
|
113
|
-
label: r.label,
|
|
114
|
-
icon: r.icon,
|
|
115
|
-
to: r.to,
|
|
116
|
-
badge: r.badge,
|
|
117
|
-
dot: r.dot,
|
|
118
|
-
children: r.isContainer ? r.leaves.sort(D).map((s) => ({
|
|
119
|
-
label: s.label,
|
|
120
|
-
to: s.to,
|
|
121
|
-
icon: s.icon,
|
|
122
|
-
badge: s.badge,
|
|
123
|
-
dot: s.dot
|
|
124
|
-
})) : void 0
|
|
125
|
-
})
|
|
126
|
-
)
|
|
127
|
-
})
|
|
128
|
-
)
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
function S() {
|
|
132
|
-
const e = M(), o = H();
|
|
133
|
-
return L(
|
|
134
|
-
() => fe(
|
|
135
|
-
Object.values(e.looseRoutesById).map((t) => {
|
|
136
|
-
var n;
|
|
137
|
-
return {
|
|
138
|
-
fullPath: t.fullPath,
|
|
139
|
-
staticData: (n = t.options) == null ? void 0 : n.staticData
|
|
140
|
-
};
|
|
141
|
-
}).filter((t) => {
|
|
142
|
-
var n;
|
|
143
|
-
return G((n = t.staticData) == null ? void 0 : n.roles);
|
|
144
|
-
})
|
|
145
|
-
),
|
|
146
|
-
[e, o]
|
|
147
|
-
);
|
|
148
|
-
}
|
|
149
|
-
function j(e) {
|
|
150
|
-
var o;
|
|
151
|
-
if (e.links[0]) return e.links[0].to;
|
|
152
|
-
for (const t of e.modules)
|
|
153
|
-
for (const n of t.groups) {
|
|
154
|
-
if (n.to) return n.to;
|
|
155
|
-
const l = (o = n.children) == null ? void 0 : o[0];
|
|
156
|
-
if (l) return l.to;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
function he() {
|
|
160
|
-
return j(S());
|
|
161
|
-
}
|
|
162
|
-
function me(e) {
|
|
163
|
-
var t;
|
|
164
|
-
const o = /* @__PURE__ */ new Map();
|
|
165
|
-
for (const n of e) {
|
|
166
|
-
const l = (t = n.staticData) == null ? void 0 : t.name;
|
|
167
|
-
if (!l) continue;
|
|
168
|
-
const i = B(n.fullPath);
|
|
169
|
-
o.has(i) || o.set(i, l);
|
|
170
|
-
}
|
|
171
|
-
return o;
|
|
172
|
-
}
|
|
173
|
-
function K(e, o) {
|
|
174
|
-
const t = [];
|
|
175
|
-
let n = "";
|
|
176
|
-
for (const l of R(e).split("/").filter(Boolean)) {
|
|
177
|
-
n += `/${l}`;
|
|
178
|
-
const i = o.get(n);
|
|
179
|
-
i && t.push({ name: i, to: n });
|
|
180
|
-
}
|
|
181
|
-
return t;
|
|
182
|
-
}
|
|
183
|
-
function V() {
|
|
184
|
-
const e = M();
|
|
185
|
-
return L(
|
|
186
|
-
() => me(
|
|
187
|
-
Object.values(e.looseRoutesById).map((o) => {
|
|
188
|
-
var t;
|
|
189
|
-
return {
|
|
190
|
-
fullPath: o.fullPath,
|
|
191
|
-
staticData: (t = o.options) == null ? void 0 : t.staticData
|
|
192
|
-
};
|
|
193
|
-
})
|
|
194
|
-
),
|
|
195
|
-
[e]
|
|
196
|
-
);
|
|
197
|
-
}
|
|
198
|
-
function $(e, o) {
|
|
199
|
-
if (e != null)
|
|
200
|
-
return typeof e == "function" ? e(o) : e;
|
|
201
|
-
}
|
|
202
|
-
function be(e, o, t) {
|
|
203
|
-
return $(e, t) ?? $(o, t);
|
|
204
|
-
}
|
|
205
|
-
function pe() {
|
|
206
|
-
var o;
|
|
207
|
-
const e = N({ select: (t) => t.matches });
|
|
208
|
-
for (let t = e.length - 1; t >= 0; t--) {
|
|
209
|
-
const n = $(
|
|
210
|
-
(o = e[t].staticData) == null ? void 0 : o.title,
|
|
211
|
-
e[t].params ?? {}
|
|
212
|
-
);
|
|
213
|
-
if (n) return n;
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
function ve(e, o) {
|
|
217
|
-
if (!(e == null || e === !1))
|
|
218
|
-
return e === !0 ? { kind: "history" } : { kind: "navigate", to: typeof e == "function" ? e(o) : e };
|
|
219
|
-
}
|
|
220
|
-
function Ae() {
|
|
221
|
-
var n;
|
|
222
|
-
const e = M(), o = F(), t = N({ select: (l) => l.matches });
|
|
223
|
-
for (let l = t.length - 1; l >= 0; l--) {
|
|
224
|
-
const i = (n = t[l].staticData) == null ? void 0 : n.back;
|
|
225
|
-
if (i == null) continue;
|
|
226
|
-
const h = ve(i, t[l].params ?? {});
|
|
227
|
-
return h ? h.kind === "history" ? () => e.history.back() : () => o({ to: h.to }) : void 0;
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
function ge() {
|
|
231
|
-
const e = N({ select: (o) => o.matches });
|
|
232
|
-
for (let o = e.length - 1; o >= 0; o--) {
|
|
233
|
-
const t = e[o].staticData, n = be(
|
|
234
|
-
t == null ? void 0 : t.breadcrumb,
|
|
235
|
-
t == null ? void 0 : t.title,
|
|
236
|
-
e[o].params ?? {}
|
|
237
|
-
);
|
|
238
|
-
if (n) return n;
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
function Fe() {
|
|
242
|
-
const e = pe(), o = V(), t = N({ select: (l) => l.location.pathname });
|
|
243
|
-
if (e != null) return e;
|
|
244
|
-
const n = K(t, o);
|
|
245
|
-
return n.length > 0 ? n[n.length - 1].name : void 0;
|
|
246
|
-
}
|
|
247
|
-
function _e(e) {
|
|
248
|
-
const o = /* @__PURE__ */ new Set();
|
|
249
|
-
for (const t of e.links) o.add(t.to);
|
|
250
|
-
for (const t of e.modules)
|
|
251
|
-
for (const n of t.groups) {
|
|
252
|
-
n.to && o.add(n.to);
|
|
253
|
-
for (const l of n.children ?? []) o.add(l.to);
|
|
254
|
-
}
|
|
255
|
-
return o;
|
|
256
|
-
}
|
|
257
|
-
function Ne(e, o) {
|
|
258
|
-
const { leafPath: t, leafTitle: n, navigable: l } = o, i = e.map(({ name: h, to: m }) => ({
|
|
259
|
-
label: h,
|
|
260
|
-
to: m !== t && l.has(m) ? m : void 0
|
|
261
|
-
}));
|
|
262
|
-
return n && (e.length > 0 && e[e.length - 1].to === t ? i[i.length - 1] = { label: n } : i.push({ label: n })), i;
|
|
263
|
-
}
|
|
264
|
-
function Oe() {
|
|
265
|
-
const e = S(), o = V(), t = N({ select: (h) => h.location.pathname }), n = ge(), l = j(e), i = Ne(K(t, o), {
|
|
266
|
-
leafPath: B(t),
|
|
267
|
-
leafTitle: n,
|
|
268
|
-
navigable: _e(e)
|
|
269
|
-
});
|
|
270
|
-
return { homeTo: l, items: i };
|
|
271
|
-
}
|
|
272
|
-
function Re() {
|
|
273
|
-
const e = he();
|
|
274
|
-
return e ? /* @__PURE__ */ u(U, { to: e }) : null;
|
|
275
|
-
}
|
|
276
|
-
function je() {
|
|
277
|
-
const { links: e, modules: o } = S(), t = N({ select: (n) => n.location.pathname });
|
|
278
|
-
return /* @__PURE__ */ P("nav", { className: b.nav, children: [
|
|
279
|
-
e.length > 0 ? /* @__PURE__ */ u(w, { children: e.map((n) => /* @__PURE__ */ u(
|
|
280
|
-
C,
|
|
281
|
-
{
|
|
282
|
-
as: y,
|
|
283
|
-
to: n.to,
|
|
284
|
-
icon: n.icon,
|
|
285
|
-
selected: x(t, n.to),
|
|
286
|
-
clickable: !0,
|
|
287
|
-
trailing: I(n.badge, n.dot),
|
|
288
|
-
children: n.label
|
|
289
|
-
},
|
|
290
|
-
n.to
|
|
291
|
-
)) }) : null,
|
|
292
|
-
o.map((n) => /* @__PURE__ */ P("div", { className: b.module, children: [
|
|
293
|
-
/* @__PURE__ */ u("div", { className: b.moduleLabel, children: n.module }),
|
|
294
|
-
/* @__PURE__ */ u(w, { children: n.groups.map((l) => /* @__PURE__ */ u(ke, { group: l, pathname: t }, l.label)) })
|
|
295
|
-
] }, n.module))
|
|
296
|
-
] });
|
|
297
|
-
}
|
|
298
|
-
function ze(e) {
|
|
299
|
-
const o = [];
|
|
300
|
-
for (const t of e.links) o.push({ label: t.label, to: t.to });
|
|
301
|
-
for (const t of e.modules)
|
|
302
|
-
for (const n of t.groups) {
|
|
303
|
-
n.to && o.push({ label: n.label, to: n.to, context: t.module });
|
|
304
|
-
for (const l of n.children ?? [])
|
|
305
|
-
o.push({
|
|
306
|
-
label: l.label,
|
|
307
|
-
to: l.to,
|
|
308
|
-
context: `${t.module} · ${n.label}`
|
|
309
|
-
});
|
|
310
|
-
}
|
|
311
|
-
return o;
|
|
312
|
-
}
|
|
313
|
-
const Ie = 8;
|
|
314
|
-
function Ke() {
|
|
315
|
-
const e = Q(), o = S(), t = F(), n = L(() => ze(o), [o]), [l, i] = T(""), [h, m] = T(!1), [p, f] = T(0), g = Y(null), a = L(() => {
|
|
316
|
-
const c = l.trim().toLowerCase();
|
|
317
|
-
return c ? n.filter(
|
|
318
|
-
(d) => {
|
|
319
|
-
var v;
|
|
320
|
-
return d.label.toLowerCase().includes(c) || (((v = d.context) == null ? void 0 : v.toLowerCase().includes(c)) ?? !1);
|
|
321
|
-
}
|
|
322
|
-
).slice(0, Ie) : [];
|
|
323
|
-
}, [n, l]), r = h && a.length > 0;
|
|
324
|
-
k(() => f(0), [l]), k(() => {
|
|
325
|
-
f((c) => c > a.length - 1 ? Math.max(0, a.length - 1) : c);
|
|
326
|
-
}, [a.length]), k(() => {
|
|
327
|
-
if (!h) return;
|
|
328
|
-
const c = (d) => {
|
|
329
|
-
g.current && !g.current.contains(d.target) && m(!1);
|
|
330
|
-
};
|
|
331
|
-
return document.addEventListener("pointerdown", c), () => document.removeEventListener("pointerdown", c);
|
|
332
|
-
}, [h]);
|
|
333
|
-
const s = (c) => {
|
|
334
|
-
t({ to: c }), i(""), m(!1);
|
|
335
|
-
}, _ = (c) => {
|
|
336
|
-
if (r)
|
|
337
|
-
if (c.key === "ArrowDown")
|
|
338
|
-
c.preventDefault(), f((d) => (d + 1) % a.length);
|
|
339
|
-
else if (c.key === "ArrowUp")
|
|
340
|
-
c.preventDefault(), f((d) => (d - 1 + a.length) % a.length);
|
|
341
|
-
else if (c.key === "Enter") {
|
|
342
|
-
c.preventDefault();
|
|
343
|
-
const d = a[p];
|
|
344
|
-
d && s(d.to);
|
|
345
|
-
} else c.key === "Escape" && m(!1);
|
|
346
|
-
};
|
|
347
|
-
return /* @__PURE__ */ P(
|
|
348
|
-
"div",
|
|
349
|
-
{
|
|
350
|
-
ref: g,
|
|
351
|
-
className: b.search,
|
|
352
|
-
role: "combobox",
|
|
353
|
-
"aria-expanded": r,
|
|
354
|
-
"aria-haspopup": "listbox",
|
|
355
|
-
children: [
|
|
356
|
-
/* @__PURE__ */ u(
|
|
357
|
-
q,
|
|
358
|
-
{
|
|
359
|
-
value: l,
|
|
360
|
-
onChange: (c) => {
|
|
361
|
-
i(c.target.value), m(!0);
|
|
362
|
-
},
|
|
363
|
-
onFocus: () => m(!0),
|
|
364
|
-
onKeyDown: _,
|
|
365
|
-
adornment: /* @__PURE__ */ u(O, { name: "SearchNormal" }),
|
|
366
|
-
placeholder: e("sidebar.searchPages"),
|
|
367
|
-
"aria-label": e("sidebar.searchPages"),
|
|
368
|
-
autoComplete: "off"
|
|
369
|
-
}
|
|
370
|
-
),
|
|
371
|
-
r ? /* @__PURE__ */ u("div", { className: b.searchPanel, children: /* @__PURE__ */ u(w, { role: "listbox", children: a.map((c, d) => /* @__PURE__ */ u(
|
|
372
|
-
E,
|
|
373
|
-
{
|
|
374
|
-
description: c.context,
|
|
375
|
-
clickable: !0,
|
|
376
|
-
selected: d === p,
|
|
377
|
-
onMouseDown: (v) => v.preventDefault(),
|
|
378
|
-
onMouseEnter: () => f(d),
|
|
379
|
-
onClick: () => s(c.to),
|
|
380
|
-
children: c.label
|
|
381
|
-
},
|
|
382
|
-
c.to
|
|
383
|
-
)) }) }) : null
|
|
384
|
-
]
|
|
385
|
-
}
|
|
386
|
-
);
|
|
387
|
-
}
|
|
388
|
-
function x(e, o) {
|
|
389
|
-
const t = B(e), n = B(o);
|
|
390
|
-
return n === "/" ? t === "/" : t === n || t.startsWith(n + "/");
|
|
391
|
-
}
|
|
392
|
-
function Pe(e, o) {
|
|
393
|
-
var t;
|
|
394
|
-
return e.to && x(o, e.to) ? !0 : ((t = e.children) == null ? void 0 : t.some((n) => x(o, n.to))) ?? !1;
|
|
395
|
-
}
|
|
396
|
-
function De(e) {
|
|
397
|
-
return e ? /* @__PURE__ */ u("span", { className: b.navBadge, children: e }) : null;
|
|
398
|
-
}
|
|
399
|
-
function Te(e) {
|
|
400
|
-
return e ? /* @__PURE__ */ u("span", { className: b.navDot, style: { background: `var(--tz-color-${e})` } }) : null;
|
|
401
|
-
}
|
|
402
|
-
function I(e, o, t) {
|
|
403
|
-
if (!(e == null && o == null && t == null))
|
|
404
|
-
return /* @__PURE__ */ P(A, { children: [
|
|
405
|
-
De(e),
|
|
406
|
-
Te(o),
|
|
407
|
-
t
|
|
408
|
-
] });
|
|
409
|
-
}
|
|
410
|
-
function ke({ group: e, pathname: o }) {
|
|
411
|
-
var m, p;
|
|
412
|
-
const t = Pe(e, o), n = !!((m = e.children) != null && m.length), [l, i] = T(t);
|
|
413
|
-
if (k(() => {
|
|
414
|
-
t && i(!0);
|
|
415
|
-
}, [t]), !n && e.to)
|
|
416
|
-
return /* @__PURE__ */ u(
|
|
417
|
-
C,
|
|
418
|
-
{
|
|
419
|
-
as: y,
|
|
420
|
-
to: e.to,
|
|
421
|
-
icon: e.icon,
|
|
422
|
-
selected: t,
|
|
423
|
-
clickable: !0,
|
|
424
|
-
trailing: I(e.badge, e.dot),
|
|
425
|
-
children: e.label
|
|
426
|
-
}
|
|
427
|
-
);
|
|
428
|
-
const h = /* @__PURE__ */ u(
|
|
429
|
-
O,
|
|
430
|
-
{
|
|
431
|
-
name: "ArrowDown4",
|
|
432
|
-
size: "sm",
|
|
433
|
-
className: b.chevron,
|
|
434
|
-
"data-open": l ? "true" : "false"
|
|
435
|
-
}
|
|
436
|
-
);
|
|
437
|
-
return /* @__PURE__ */ P(A, { children: [
|
|
438
|
-
n && e.to ? (
|
|
439
|
-
// "Case B": the row navigates (and expands); a separate chevron only toggles.
|
|
440
|
-
/* @__PURE__ */ u(
|
|
441
|
-
C,
|
|
442
|
-
{
|
|
443
|
-
as: y,
|
|
444
|
-
to: e.to,
|
|
445
|
-
icon: e.icon,
|
|
446
|
-
selected: t,
|
|
447
|
-
clickable: !0,
|
|
448
|
-
onClick: () => i(!0),
|
|
449
|
-
trailing: I(
|
|
450
|
-
e.badge,
|
|
451
|
-
e.dot,
|
|
452
|
-
/* @__PURE__ */ u(
|
|
453
|
-
"button",
|
|
454
|
-
{
|
|
455
|
-
type: "button",
|
|
456
|
-
className: b.chevronButton,
|
|
457
|
-
"aria-label": `${l ? "Collapse" : "Expand"} ${e.label}`,
|
|
458
|
-
"aria-expanded": l,
|
|
459
|
-
onClick: (f) => {
|
|
460
|
-
f.preventDefault(), f.stopPropagation(), i((g) => !g);
|
|
461
|
-
},
|
|
462
|
-
children: h
|
|
463
|
-
}
|
|
464
|
-
)
|
|
465
|
-
),
|
|
466
|
-
children: e.label
|
|
467
|
-
}
|
|
468
|
-
)
|
|
469
|
-
) : (
|
|
470
|
-
// a pure container — the whole row toggles its children
|
|
471
|
-
/* @__PURE__ */ u(
|
|
472
|
-
E,
|
|
473
|
-
{
|
|
474
|
-
icon: e.icon,
|
|
475
|
-
selected: t,
|
|
476
|
-
clickable: !0,
|
|
477
|
-
"aria-expanded": l,
|
|
478
|
-
onClick: () => i((f) => !f),
|
|
479
|
-
trailing: I(e.badge, e.dot, h),
|
|
480
|
-
children: e.label
|
|
481
|
-
}
|
|
482
|
-
)
|
|
483
|
-
),
|
|
484
|
-
n ? (
|
|
485
|
-
// smooth collapse, same grid-template-rows technique as Card
|
|
486
|
-
/* @__PURE__ */ u("div", { className: W(b.collapsible, !l && b.collapsibleClosed), children: /* @__PURE__ */ u("div", { className: b.collapsibleInner, children: /* @__PURE__ */ u(w, { className: b.leaves, children: (p = e.children) == null ? void 0 : p.map((f) => /* @__PURE__ */ u(
|
|
487
|
-
C,
|
|
488
|
-
{
|
|
489
|
-
as: y,
|
|
490
|
-
to: f.to,
|
|
491
|
-
icon: /* @__PURE__ */ u("span", { className: b.leafDot }),
|
|
492
|
-
selected: x(o, f.to),
|
|
493
|
-
size: "md",
|
|
494
|
-
clickable: !0,
|
|
495
|
-
trailing: I(f.badge, f.dot),
|
|
496
|
-
children: f.label
|
|
497
|
-
},
|
|
498
|
-
f.to
|
|
499
|
-
)) }) }) })
|
|
500
|
-
) : null
|
|
501
|
-
] });
|
|
502
|
-
}
|
|
503
|
-
export {
|
|
504
|
-
Re as F,
|
|
505
|
-
Ke as N,
|
|
506
|
-
je as S,
|
|
507
|
-
Fe as a,
|
|
508
|
-
fe as b,
|
|
509
|
-
Ae as c,
|
|
510
|
-
j as f,
|
|
511
|
-
Oe as u
|
|
512
|
-
};
|
|
513
|
-
//# sourceMappingURL=Sidebar-CJ7DtOqb.js.map
|