@techzyapp/ui-library 1.0.27 → 1.0.28
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-BTvmassR.js +55 -0
- package/dist/AdminRoot-BTvmassR.js.map +1 -0
- package/dist/AdminRoot-DM-cZCpN.cjs +2 -0
- package/dist/AdminRoot-DM-cZCpN.cjs.map +1 -0
- package/dist/{Alert-DeGgilkH.cjs → Alert-CFm6MU0u.cjs} +2 -2
- package/dist/{Alert-DeGgilkH.cjs.map → Alert-CFm6MU0u.cjs.map} +1 -1
- package/dist/{Alert-rNjfqj2Z.js → Alert-v-lelDih.js} +3 -3
- package/dist/{Alert-rNjfqj2Z.js.map → Alert-v-lelDih.js.map} +1 -1
- package/dist/{AuthLayout-zAS3jlYc.js → AuthLayout-DOFYw_z5.js} +3 -3
- package/dist/{AuthLayout-zAS3jlYc.js.map → AuthLayout-DOFYw_z5.js.map} +1 -1
- package/dist/{AuthLayout-ChILVWZ-.cjs → AuthLayout-QAtW2GAT.cjs} +2 -2
- package/dist/{AuthLayout-ChILVWZ-.cjs.map → AuthLayout-QAtW2GAT.cjs.map} +1 -1
- package/dist/Avatar-DXNPg23a.js +90 -0
- package/dist/Avatar-DXNPg23a.js.map +1 -0
- package/dist/Avatar-DrV_F7Ex.cjs +2 -0
- package/dist/Avatar-DrV_F7Ex.cjs.map +1 -0
- package/dist/{AvatarGroup-Bnf_RSc9.cjs → AvatarGroup-CHesdo-M.cjs} +2 -2
- package/dist/{AvatarGroup-Bnf_RSc9.cjs.map → AvatarGroup-CHesdo-M.cjs.map} +1 -1
- package/dist/{AvatarGroup-Difz4lLR.js → AvatarGroup-CwlYqDCI.js} +2 -2
- package/dist/{AvatarGroup-Difz4lLR.js.map → AvatarGroup-CwlYqDCI.js.map} +1 -1
- package/dist/{Breadcrumbs-CGcpMlxm.cjs → Breadcrumbs-3wHPNa0P.cjs} +2 -2
- package/dist/{Breadcrumbs-CGcpMlxm.cjs.map → Breadcrumbs-3wHPNa0P.cjs.map} +1 -1
- package/dist/{Breadcrumbs-BJHKk0Sn.js → Breadcrumbs-Cgd-u3aK.js} +3 -3
- package/dist/{Breadcrumbs-BJHKk0Sn.js.map → Breadcrumbs-Cgd-u3aK.js.map} +1 -1
- package/dist/{Button-obe6rono.js → Button-BLW9yV8W.js} +2 -2
- package/dist/{Button-obe6rono.js.map → Button-BLW9yV8W.js.map} +1 -1
- package/dist/{Button-BZ_o-akc.cjs → Button-KRGjJdMV.cjs} +2 -2
- package/dist/{Button-BZ_o-akc.cjs.map → Button-KRGjJdMV.cjs.map} +1 -1
- package/dist/{Calendar-lfpNwivC.cjs → Calendar-CoTCOOUu.cjs} +2 -2
- package/dist/{Calendar-lfpNwivC.cjs.map → Calendar-CoTCOOUu.cjs.map} +1 -1
- package/dist/{Calendar-SCih0NtS.js → Calendar-sLA-xa0B.js} +3 -3
- package/dist/{Calendar-SCih0NtS.js.map → Calendar-sLA-xa0B.js.map} +1 -1
- package/dist/Card-6fiSEC0z.js +121 -0
- package/dist/Card-6fiSEC0z.js.map +1 -0
- package/dist/Card-zTkvreQu.cjs +2 -0
- package/dist/Card-zTkvreQu.cjs.map +1 -0
- package/dist/Checkbox-CTp1xFW7.cjs +2 -0
- package/dist/{Checkbox-fzJCwe0j.cjs.map → Checkbox-CTp1xFW7.cjs.map} +1 -1
- package/dist/Checkbox-DyKBIgVT.js +98 -0
- package/dist/{Checkbox-ZYOSBYRt.js.map → Checkbox-DyKBIgVT.js.map} +1 -1
- package/dist/{Chip-CQ4cYVl_.js → Chip-C-5Z5wsC.js} +2 -2
- package/dist/{Chip-CQ4cYVl_.js.map → Chip-C-5Z5wsC.js.map} +1 -1
- package/dist/{Chip-CYz4vxHm.cjs → Chip-CqOqfafx.cjs} +2 -2
- package/dist/{Chip-CYz4vxHm.cjs.map → Chip-CqOqfafx.cjs.map} +1 -1
- package/dist/{ChoiceCardGroup-pIOKIUI0.cjs → ChoiceCardGroup-BSagRbPI.cjs} +2 -2
- package/dist/{ChoiceCardGroup-pIOKIUI0.cjs.map → ChoiceCardGroup-BSagRbPI.cjs.map} +1 -1
- package/dist/{ChoiceCardGroup-D3HL7dHj.js → ChoiceCardGroup-CEniY_HJ.js} +2 -2
- package/dist/{ChoiceCardGroup-D3HL7dHj.js.map → ChoiceCardGroup-CEniY_HJ.js.map} +1 -1
- package/dist/{CodeBlock-H75dbOvg.cjs → CodeBlock-DFiHDZXh.cjs} +2 -2
- package/dist/{CodeBlock-H75dbOvg.cjs.map → CodeBlock-DFiHDZXh.cjs.map} +1 -1
- package/dist/{CodeBlock-DddGTLu1.js → CodeBlock-rPaqO7yD.js} +3 -3
- package/dist/{CodeBlock-DddGTLu1.js.map → CodeBlock-rPaqO7yD.js.map} +1 -1
- package/dist/{ColorPicker-CKc8k-Dp.cjs → ColorPicker-Bqypsy5E.cjs} +2 -2
- package/dist/{ColorPicker-CKc8k-Dp.cjs.map → ColorPicker-Bqypsy5E.cjs.map} +1 -1
- package/dist/{ColorPicker-Cw-2X6u9.js → ColorPicker-DXDAXvlA.js} +5 -5
- package/dist/{ColorPicker-Cw-2X6u9.js.map → ColorPicker-DXDAXvlA.js.map} +1 -1
- package/dist/{ColorPickerPanel-PYaF5wPL.js → ColorPickerPanel-6lQC1URc.js} +2 -2
- package/dist/{ColorPickerPanel-PYaF5wPL.js.map → ColorPickerPanel-6lQC1URc.js.map} +1 -1
- package/dist/{ColorPickerPanel-DQ4CFnGa.cjs → ColorPickerPanel-C9ARc_uD.cjs} +2 -2
- package/dist/{ColorPickerPanel-DQ4CFnGa.cjs.map → ColorPickerPanel-C9ARc_uD.cjs.map} +1 -1
- package/dist/{ColorRamp-AkY9gq6Y.cjs → ColorRamp-B9OWxCOK.cjs} +2 -2
- package/dist/{ColorRamp-AkY9gq6Y.cjs.map → ColorRamp-B9OWxCOK.cjs.map} +1 -1
- package/dist/{ColorRamp-DnlJNKfy.js → ColorRamp-DQ8wkgvF.js} +3 -3
- package/dist/{ColorRamp-DnlJNKfy.js.map → ColorRamp-DQ8wkgvF.js.map} +1 -1
- package/dist/{ConfigProvider-BicoaBLj.cjs → ConfigProvider-BElY0HuV.cjs} +2 -2
- package/dist/{ConfigProvider-BicoaBLj.cjs.map → ConfigProvider-BElY0HuV.cjs.map} +1 -1
- package/dist/{ConfigProvider-DL9fylMo.js → ConfigProvider-B_RSn9bb.js} +2 -2
- package/dist/{ConfigProvider-DL9fylMo.js.map → ConfigProvider-B_RSn9bb.js.map} +1 -1
- package/dist/{CopyButton-BqFGC-Ca.cjs → CopyButton-B5aicGl3.cjs} +2 -2
- package/dist/{CopyButton-BqFGC-Ca.cjs.map → CopyButton-B5aicGl3.cjs.map} +1 -1
- package/dist/{CopyButton-D6-kcVCA.js → CopyButton-BplPYm8i.js} +3 -3
- package/dist/{CopyButton-D6-kcVCA.js.map → CopyButton-BplPYm8i.js.map} +1 -1
- package/dist/{DatePicker-BvGFP2AL.cjs → DatePicker-Cdl2JYBd.cjs} +2 -2
- package/dist/{DatePicker-BvGFP2AL.cjs.map → DatePicker-Cdl2JYBd.cjs.map} +1 -1
- package/dist/{DatePicker-DP7yASzq.js → DatePicker-U5TJ9FYM.js} +6 -6
- package/dist/{DatePicker-DP7yASzq.js.map → DatePicker-U5TJ9FYM.js.map} +1 -1
- package/dist/{DateTimePicker-DOzft9kg.cjs → DateTimePicker-DUFtddxJ.cjs} +2 -2
- package/dist/{DateTimePicker-DOzft9kg.cjs.map → DateTimePicker-DUFtddxJ.cjs.map} +1 -1
- package/dist/{DateTimePicker-CzRduOFz.js → DateTimePicker-laJsZYJX.js} +9 -9
- package/dist/{DateTimePicker-CzRduOFz.js.map → DateTimePicker-laJsZYJX.js.map} +1 -1
- package/dist/DescriptionList-BCvOX8fg.cjs +2 -0
- package/dist/DescriptionList-BCvOX8fg.cjs.map +1 -0
- package/dist/DescriptionList-Y9jF_4L0.js +176 -0
- package/dist/DescriptionList-Y9jF_4L0.js.map +1 -0
- package/dist/{Dropdown-FfkmluRu.js → Dropdown--1mNTVZJ.js} +2 -2
- package/dist/{Dropdown-FfkmluRu.js.map → Dropdown--1mNTVZJ.js.map} +1 -1
- package/dist/{Dropdown-Ui7h2TGd.cjs → Dropdown-DNZ9S_zQ.cjs} +2 -2
- package/dist/{Dropdown-Ui7h2TGd.cjs.map → Dropdown-DNZ9S_zQ.cjs.map} +1 -1
- package/dist/EmptyState-BtwuzX9Z.js +58 -0
- package/dist/EmptyState-BtwuzX9Z.js.map +1 -0
- package/dist/EmptyState-CO_NRZ6w.cjs +2 -0
- package/dist/EmptyState-CO_NRZ6w.cjs.map +1 -0
- package/dist/ErrorBoundary-DJ6R1M9k.js +126 -0
- package/dist/ErrorBoundary-DJ6R1M9k.js.map +1 -0
- package/dist/ErrorBoundary-unvC1vZQ.cjs +2 -0
- package/dist/ErrorBoundary-unvC1vZQ.cjs.map +1 -0
- package/dist/FileCard-C3a2yDhK.js +149 -0
- package/dist/FileCard-C3a2yDhK.js.map +1 -0
- package/dist/FileCard-DKjDQRzZ.cjs +2 -0
- package/dist/FileCard-DKjDQRzZ.cjs.map +1 -0
- package/dist/FileUploader-CuOHWkiG.js +707 -0
- package/dist/FileUploader-CuOHWkiG.js.map +1 -0
- package/dist/FileUploader-VIOg03pl.cjs +2 -0
- package/dist/FileUploader-VIOg03pl.cjs.map +1 -0
- package/dist/{Flag-BM_2VJ1v.cjs → Flag-aOQncoEZ.cjs} +2 -2
- package/dist/{Flag-BM_2VJ1v.cjs.map → Flag-aOQncoEZ.cjs.map} +1 -1
- package/dist/{Flag-CzCEpB8E.js → Flag-kpUfmrwC.js} +2 -2
- package/dist/{Flag-CzCEpB8E.js.map → Flag-kpUfmrwC.js.map} +1 -1
- package/dist/FloatingPanel-BIC4WrFa.cjs +2 -0
- package/dist/FloatingPanel-BIC4WrFa.cjs.map +1 -0
- package/dist/FloatingPanel-CeSOtE_D.js +135 -0
- package/dist/FloatingPanel-CeSOtE_D.js.map +1 -0
- package/dist/{FullscreenToggle-BL0nBrsL.cjs → FullscreenToggle-BSwxQEaG.cjs} +2 -2
- package/dist/{FullscreenToggle-BL0nBrsL.cjs.map → FullscreenToggle-BSwxQEaG.cjs.map} +1 -1
- package/dist/{FullscreenToggle-HZQOIa21.js → FullscreenToggle-CMifmPD3.js} +3 -3
- package/dist/{FullscreenToggle-HZQOIa21.js.map → FullscreenToggle-CMifmPD3.js.map} +1 -1
- package/dist/{IconButton-B87ipBK3.cjs → IconButton-A2B0bqC-.cjs} +2 -2
- package/dist/{IconButton-B87ipBK3.cjs.map → IconButton-A2B0bqC-.cjs.map} +1 -1
- package/dist/{IconButton-CBp8QuTO.js → IconButton-Dq17Fekm.js} +2 -2
- package/dist/{IconButton-CBp8QuTO.js.map → IconButton-Dq17Fekm.js.map} +1 -1
- package/dist/List-9lUjapQ5.cjs +2 -0
- package/dist/List-9lUjapQ5.cjs.map +1 -0
- package/dist/List-CZwNGxuP.js +107 -0
- package/dist/List-CZwNGxuP.js.map +1 -0
- package/dist/{Loader-fffFnQqS.js → Loader-CwyoKoWY.js} +2 -2
- package/dist/{Loader-fffFnQqS.js.map → Loader-CwyoKoWY.js.map} +1 -1
- package/dist/{Loader-0Imnbael.cjs → Loader-D9nteBXt.cjs} +2 -2
- package/dist/{Loader-0Imnbael.cjs.map → Loader-D9nteBXt.cjs.map} +1 -1
- package/dist/Modal-CQDcYS-Y.cjs +2 -0
- package/dist/Modal-CQDcYS-Y.cjs.map +1 -0
- package/dist/Modal-cz6JIsZn.js +196 -0
- package/dist/Modal-cz6JIsZn.js.map +1 -0
- package/dist/MultiSelect-BIwE6wb7.cjs +2 -0
- package/dist/MultiSelect-BIwE6wb7.cjs.map +1 -0
- package/dist/MultiSelect-C6l0LpIs.js +219 -0
- package/dist/MultiSelect-C6l0LpIs.js.map +1 -0
- package/dist/{MultilineTextField-Dz6Fg8RJ.cjs → MultilineTextField-B6EYAdik.cjs} +2 -2
- package/dist/{MultilineTextField-Dz6Fg8RJ.cjs.map → MultilineTextField-B6EYAdik.cjs.map} +1 -1
- package/dist/{MultilineTextField-CwNCJ9lZ.js → MultilineTextField-BgfBFeeF.js} +2 -2
- package/dist/{MultilineTextField-CwNCJ9lZ.js.map → MultilineTextField-BgfBFeeF.js.map} +1 -1
- package/dist/{NumberField-DYGVQdL5.js → NumberField-BpUTV_Qn.js} +4 -4
- package/dist/{NumberField-DYGVQdL5.js.map → NumberField-BpUTV_Qn.js.map} +1 -1
- package/dist/{NumberField-C_HZXBuw.cjs → NumberField-IyhO4OpJ.cjs} +2 -2
- package/dist/{NumberField-C_HZXBuw.cjs.map → NumberField-IyhO4OpJ.cjs.map} +1 -1
- package/dist/{OtpField-CpQr_ZqL.js → OtpField-BoLxbGtY.js} +3 -3
- package/dist/{OtpField-CpQr_ZqL.js.map → OtpField-BoLxbGtY.js.map} +1 -1
- package/dist/{OtpField-DKbUP0F6.cjs → OtpField-HMrxkdiy.cjs} +2 -2
- package/dist/{OtpField-DKbUP0F6.cjs.map → OtpField-HMrxkdiy.cjs.map} +1 -1
- package/dist/{PageLayout-CuWXukUv.cjs → PageLayout-DtWG-6dn.cjs} +2 -2
- package/dist/{PageLayout-CuWXukUv.cjs.map → PageLayout-DtWG-6dn.cjs.map} +1 -1
- package/dist/{PageLayout-CCcPCfJF.js → PageLayout-G8F1WgC-.js} +2 -2
- package/dist/{PageLayout-CCcPCfJF.js.map → PageLayout-G8F1WgC-.js.map} +1 -1
- package/dist/{PageNotFound-LWH2tU5E.js → PageNotFound-CeKIMZ55.js} +5 -5
- package/dist/PageNotFound-CeKIMZ55.js.map +1 -0
- package/dist/{PageNotFound-JKOnpyHD.cjs → PageNotFound-DG8xXPL3.cjs} +2 -2
- package/dist/PageNotFound-DG8xXPL3.cjs.map +1 -0
- package/dist/{Pagination-M7njqOUt.cjs → Pagination-Br8P3KwE.cjs} +2 -2
- package/dist/{Pagination-M7njqOUt.cjs.map → Pagination-Br8P3KwE.cjs.map} +1 -1
- package/dist/{Pagination-BwtbmITJ.js → Pagination-CE1uKrR4.js} +2 -2
- package/dist/{Pagination-BwtbmITJ.js.map → Pagination-CE1uKrR4.js.map} +1 -1
- package/dist/{PaletteField-CUyzLrny.js → PaletteField-BBPbkDcp.js} +3 -3
- package/dist/{PaletteField-CUyzLrny.js.map → PaletteField-BBPbkDcp.js.map} +1 -1
- package/dist/{PaletteField-iBIvOvNi.cjs → PaletteField-DwvSn6V6.cjs} +2 -2
- package/dist/{PaletteField-iBIvOvNi.cjs.map → PaletteField-DwvSn6V6.cjs.map} +1 -1
- package/dist/PhoneField-B-L0xAtD.js +372 -0
- package/dist/PhoneField-B-L0xAtD.js.map +1 -0
- package/dist/PhoneField-BclMbl7L.cjs +2 -0
- package/dist/PhoneField-BclMbl7L.cjs.map +1 -0
- package/dist/Popconfirm-BgpvCBy1.js +113 -0
- package/dist/Popconfirm-BgpvCBy1.js.map +1 -0
- package/dist/Popconfirm-DD8F8SXn.cjs +2 -0
- package/dist/Popconfirm-DD8F8SXn.cjs.map +1 -0
- package/dist/{Popover-CgIU4Rhg.js → Popover-B82Id9Ut.js} +2 -2
- package/dist/{Popover-CgIU4Rhg.js.map → Popover-B82Id9Ut.js.map} +1 -1
- package/dist/{Popover-CBI1icIM.cjs → Popover-DAT6DcM9.cjs} +2 -2
- package/dist/{Popover-CBI1icIM.cjs.map → Popover-DAT6DcM9.cjs.map} +1 -1
- package/dist/Progress-L5koRRJp.js +119 -0
- package/dist/Progress-L5koRRJp.js.map +1 -0
- package/dist/Progress-_aZ8XOJr.cjs +2 -0
- package/dist/Progress-_aZ8XOJr.cjs.map +1 -0
- package/dist/QrCode-BQ1eUiAJ.cjs +2 -0
- package/dist/QrCode-BQ1eUiAJ.cjs.map +1 -0
- package/dist/QrCode-osD23Vkt.js +80 -0
- package/dist/QrCode-osD23Vkt.js.map +1 -0
- package/dist/QueryError-BMH8X69O.cjs +2 -0
- package/dist/QueryError-BMH8X69O.cjs.map +1 -0
- package/dist/QueryError-tBuIQRgv.js +19 -0
- package/dist/QueryError-tBuIQRgv.js.map +1 -0
- package/dist/RadioGroup-BcFBdFhh.cjs +2 -0
- package/dist/{RadioGroup-Byy-eSY3.cjs.map → RadioGroup-BcFBdFhh.cjs.map} +1 -1
- package/dist/RadioGroup-dVx_hMCY.js +141 -0
- package/dist/{RadioGroup-D_1_Heta.js.map → RadioGroup-dVx_hMCY.js.map} +1 -1
- package/dist/RemoveDialog-C9_UzFBf.js +109 -0
- package/dist/RemoveDialog-C9_UzFBf.js.map +1 -0
- package/dist/RemoveDialog-DBKYnTYU.cjs +2 -0
- package/dist/RemoveDialog-DBKYnTYU.cjs.map +1 -0
- package/dist/RichTextEditor-DTz7Qcn_.cjs +2 -0
- package/dist/{RichTextEditor-mpMCG8jX.cjs.map → RichTextEditor-DTz7Qcn_.cjs.map} +1 -1
- package/dist/{RichTextEditor-CG6LoNiw.js → RichTextEditor-fXcbUjTl.js} +11 -11
- package/dist/{RichTextEditor-CG6LoNiw.js.map → RichTextEditor-fXcbUjTl.js.map} +1 -1
- package/dist/RootLayout-DG2dXhXn.cjs +2 -0
- package/dist/{RootLayout-CPxDqfGb.cjs.map → RootLayout-DG2dXhXn.cjs.map} +1 -1
- package/dist/{RootLayout-D3K-pAMO.js → RootLayout-p8ArA6wA.js} +19 -19
- package/dist/{RootLayout-D3K-pAMO.js.map → RootLayout-p8ArA6wA.js.map} +1 -1
- package/dist/Select-BAR_aVSz.js +199 -0
- package/dist/Select-BAR_aVSz.js.map +1 -0
- package/dist/Select-BuVfUiw-.cjs +2 -0
- package/dist/Select-BuVfUiw-.cjs.map +1 -0
- package/dist/{Sidebar-CsPnv4mu.js → Sidebar-CsWcjSTx.js} +173 -163
- package/dist/Sidebar-CsWcjSTx.js.map +1 -0
- package/dist/Sidebar-NI5HGGYF.cjs +2 -0
- package/dist/Sidebar-NI5HGGYF.cjs.map +1 -0
- package/dist/Skeleton-DK0lAjS9.cjs +2 -0
- package/dist/Skeleton-DK0lAjS9.cjs.map +1 -0
- package/dist/Skeleton-_-uGax2j.js +56 -0
- package/dist/Skeleton-_-uGax2j.js.map +1 -0
- package/dist/{Slider-D3dbEOQY.cjs → Slider-Cu1FhxR2.cjs} +2 -2
- package/dist/{Slider-D3dbEOQY.cjs.map → Slider-Cu1FhxR2.cjs.map} +1 -1
- package/dist/{Slider-D7SvowmM.js → Slider-DoQJWgGU.js} +2 -2
- package/dist/{Slider-D7SvowmM.js.map → Slider-DoQJWgGU.js.map} +1 -1
- package/dist/{SpeedDial-CZ22T8GL.cjs → SpeedDial-C_rZkHmF.cjs} +2 -2
- package/dist/{SpeedDial-CZ22T8GL.cjs.map → SpeedDial-C_rZkHmF.cjs.map} +1 -1
- package/dist/{SpeedDial-B8XMUATN.js → SpeedDial-DF-ILheU.js} +2 -2
- package/dist/{SpeedDial-B8XMUATN.js.map → SpeedDial-DF-ILheU.js.map} +1 -1
- package/dist/{Stepper-B_e_PGZE.js → Stepper-B39Ax_w6.js} +2 -2
- package/dist/{Stepper-B_e_PGZE.js.map → Stepper-B39Ax_w6.js.map} +1 -1
- package/dist/{Stepper-BjkkWawQ.cjs → Stepper-CT7n113R.cjs} +2 -2
- package/dist/{Stepper-BjkkWawQ.cjs.map → Stepper-CT7n113R.cjs.map} +1 -1
- package/dist/{SwatchPicker-C8amdDnA.cjs → SwatchPicker-BWXqgsEy.cjs} +2 -2
- package/dist/{SwatchPicker-C8amdDnA.cjs.map → SwatchPicker-BWXqgsEy.cjs.map} +1 -1
- package/dist/{SwatchPicker-DXEE9xqY.js → SwatchPicker-Bpxk0IOe.js} +2 -2
- package/dist/{SwatchPicker-DXEE9xqY.js.map → SwatchPicker-Bpxk0IOe.js.map} +1 -1
- package/dist/Switch-DSs2Y0IR.cjs +2 -0
- package/dist/{Switch-CodRZD3y.cjs.map → Switch-DSs2Y0IR.cjs.map} +1 -1
- package/dist/Switch-Jh2Ch8GO.js +85 -0
- package/dist/{Switch-ESrhkpJC.js.map → Switch-Jh2Ch8GO.js.map} +1 -1
- package/dist/Table-CH_oiEP3.js +1170 -0
- package/dist/Table-CH_oiEP3.js.map +1 -0
- package/dist/Table-DD_uysnY.cjs +2 -0
- package/dist/Table-DD_uysnY.cjs.map +1 -0
- package/dist/{Tabs-v1GEGUDQ.js → Tabs-By86Cmpw.js} +2 -2
- package/dist/{Tabs-v1GEGUDQ.js.map → Tabs-By86Cmpw.js.map} +1 -1
- package/dist/{Tabs-CZDX7BN-.cjs → Tabs-C1N9FgAq.cjs} +2 -2
- package/dist/{Tabs-CZDX7BN-.cjs.map → Tabs-C1N9FgAq.cjs.map} +1 -1
- package/dist/{TagsField-B389eDp4.js → TagsField-BiOyAadf.js} +5 -5
- package/dist/{TagsField-B389eDp4.js.map → TagsField-BiOyAadf.js.map} +1 -1
- package/dist/{TagsField-OfrpyHZO.cjs → TagsField-RX-x45-j.cjs} +2 -2
- package/dist/{TagsField-OfrpyHZO.cjs.map → TagsField-RX-x45-j.cjs.map} +1 -1
- package/dist/{TextField-B785pRgK.cjs → TextField-CdbanZuk.cjs} +2 -2
- package/dist/{TextField-B785pRgK.cjs.map → TextField-CdbanZuk.cjs.map} +1 -1
- package/dist/{TextField-7MobCad5.js → TextField-CkronCRC.js} +4 -4
- package/dist/{TextField-7MobCad5.js.map → TextField-CkronCRC.js.map} +1 -1
- package/dist/{ThemeToggle-BGdvqXad.js → ThemeToggle-BYUEH6be.js} +3 -3
- package/dist/{ThemeToggle-BGdvqXad.js.map → ThemeToggle-BYUEH6be.js.map} +1 -1
- package/dist/{ThemeToggle-BkmZ7s_u.cjs → ThemeToggle-C4QhDd76.cjs} +2 -2
- package/dist/{ThemeToggle-BkmZ7s_u.cjs.map → ThemeToggle-C4QhDd76.cjs.map} +1 -1
- package/dist/{TimeColumns-B-xm1DGM.cjs → TimeColumns-Cl0_IRf0.cjs} +2 -2
- package/dist/{TimeColumns-B-xm1DGM.cjs.map → TimeColumns-Cl0_IRf0.cjs.map} +1 -1
- package/dist/{TimeColumns-BRlDKx_i.js → TimeColumns-yzjScNU8.js} +2 -2
- package/dist/{TimeColumns-BRlDKx_i.js.map → TimeColumns-yzjScNU8.js.map} +1 -1
- package/dist/{TimePicker-DvEIdE4v.cjs → TimePicker-CJGVGETl.cjs} +2 -2
- package/dist/{TimePicker-DvEIdE4v.cjs.map → TimePicker-CJGVGETl.cjs.map} +1 -1
- package/dist/{TimePicker-B_3Ubip0.js → TimePicker-CoIdMv1S.js} +7 -7
- package/dist/{TimePicker-B_3Ubip0.js.map → TimePicker-CoIdMv1S.js.map} +1 -1
- package/dist/{Toaster-DuzcRbio.js → Toaster-Dhz2mYq_.js} +2 -2
- package/dist/{Toaster-DuzcRbio.js.map → Toaster-Dhz2mYq_.js.map} +1 -1
- package/dist/{Toaster-BIFRuqbC.cjs → Toaster-lv5cJhib.cjs} +2 -2
- package/dist/{Toaster-BIFRuqbC.cjs.map → Toaster-lv5cJhib.cjs.map} +1 -1
- package/dist/{TranslatedFields-D_a0NVKI.cjs → TranslatedFields-BCJ86Tqp.cjs} +2 -2
- package/dist/{TranslatedFields-D_a0NVKI.cjs.map → TranslatedFields-BCJ86Tqp.cjs.map} +1 -1
- package/dist/{TranslatedFields-HmP0Mg5t.js → TranslatedFields-BtNUAyrY.js} +5 -5
- package/dist/{TranslatedFields-HmP0Mg5t.js.map → TranslatedFields-BtNUAyrY.js.map} +1 -1
- package/dist/Typography-B6ASPrzT.cjs +2 -0
- package/dist/Typography-B6ASPrzT.cjs.map +1 -0
- package/dist/Typography-CJv5AnRP.js +70 -0
- package/dist/Typography-CJv5AnRP.js.map +1 -0
- package/dist/UserCard-B-eNyZuT.js +78 -0
- package/dist/UserCard-B-eNyZuT.js.map +1 -0
- package/dist/UserCard-CiQUrZjb.cjs +2 -0
- package/dist/UserCard-CiQUrZjb.cjs.map +1 -0
- package/dist/app/AdminRoot.d.cts +10 -3
- package/dist/app/AdminRoot.d.ts +10 -3
- package/dist/components/Alert/index.cjs +1 -1
- package/dist/components/Alert/index.js +1 -1
- package/dist/components/AuthLayout/index.cjs +1 -1
- package/dist/components/AuthLayout/index.js +1 -1
- package/dist/components/Avatar/Avatar.d.cts +7 -1
- package/dist/components/Avatar/Avatar.d.ts +7 -1
- package/dist/components/Avatar/index.cjs +1 -1
- package/dist/components/Avatar/index.js +2 -2
- 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/Card.d.cts +2 -0
- package/dist/components/Card/Card.d.ts +2 -0
- package/dist/components/Card/index.cjs +1 -1
- package/dist/components/Card/index.js +1 -1
- package/dist/components/Checkbox/index.cjs +1 -1
- package/dist/components/Checkbox/index.js +1 -1
- package/dist/components/Chip/index.cjs +1 -1
- package/dist/components/Chip/index.js +1 -1
- package/dist/components/ChoiceCard/index.cjs +1 -1
- package/dist/components/ChoiceCard/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/DescriptionList.d.cts +76 -0
- package/dist/components/DescriptionList/DescriptionList.d.ts +76 -0
- package/dist/components/DescriptionList/index.cjs +2 -0
- package/dist/components/DescriptionList/index.cjs.map +1 -0
- package/dist/components/DescriptionList/index.d.cts +2 -0
- package/dist/components/DescriptionList/index.d.ts +2 -0
- package/dist/components/DescriptionList/index.js +6 -0
- package/dist/components/DescriptionList/index.js.map +1 -0
- package/dist/components/Dropdown/index.cjs +1 -1
- package/dist/components/Dropdown/index.js +1 -1
- package/dist/components/EmptyState/EmptyState.d.cts +4 -1
- package/dist/components/EmptyState/EmptyState.d.ts +4 -1
- package/dist/components/EmptyState/index.cjs +1 -1
- package/dist/components/EmptyState/index.js +1 -1
- package/dist/components/ErrorState/ErrorBoundary.d.cts +35 -0
- package/dist/components/ErrorState/ErrorBoundary.d.ts +35 -0
- package/dist/components/ErrorState/ErrorState.d.cts +36 -0
- package/dist/components/ErrorState/ErrorState.d.ts +36 -0
- package/dist/components/ErrorState/QueryError.d.cts +18 -0
- package/dist/components/ErrorState/QueryError.d.ts +18 -0
- package/dist/components/ErrorState/errorMessage.d.cts +14 -0
- package/dist/components/ErrorState/errorMessage.d.ts +14 -0
- package/dist/components/ErrorState/index.cjs +2 -0
- package/dist/components/ErrorState/index.cjs.map +1 -0
- package/dist/components/ErrorState/index.d.cts +7 -0
- package/dist/components/ErrorState/index.d.ts +7 -0
- package/dist/components/ErrorState/index.js +11 -0
- package/dist/components/ErrorState/index.js.map +1 -0
- 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/FloatingPanel/FloatingPanel.d.cts +4 -0
- package/dist/components/FloatingPanel/FloatingPanel.d.ts +4 -0
- 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/List/List.d.cts +13 -3
- package/dist/components/List/List.d.ts +13 -3
- package/dist/components/List/ListItem.d.cts +5 -0
- package/dist/components/List/ListItem.d.ts +5 -0
- package/dist/components/List/index.cjs +1 -1
- package/dist/components/List/index.js +4 -5
- package/dist/components/List/index.js.map +1 -1
- package/dist/components/List/listContext.d.cts +9 -3
- package/dist/components/List/listContext.d.ts +9 -3
- package/dist/components/Loader/index.cjs +1 -1
- package/dist/components/Loader/index.js +1 -1
- package/dist/components/Modal/Modal.d.cts +2 -0
- package/dist/components/Modal/Modal.d.ts +2 -0
- 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/MultilineTextField/index.cjs +1 -1
- package/dist/components/MultilineTextField/index.js +1 -1
- package/dist/components/NumberField/index.cjs +1 -1
- package/dist/components/NumberField/index.js +1 -1
- package/dist/components/OptionMenu/OptionMenu.d.cts +40 -0
- package/dist/components/OptionMenu/OptionMenu.d.ts +40 -0
- package/dist/components/OptionMenu/useOptionMenu.d.cts +81 -0
- package/dist/components/OptionMenu/useOptionMenu.d.ts +81 -0
- 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/PageNotFound.d.cts +1 -1
- package/dist/components/PageNotFound/PageNotFound.d.ts +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/PhoneField.d.cts +54 -0
- package/dist/components/PhoneField/PhoneField.d.ts +54 -0
- package/dist/components/PhoneField/index.cjs +2 -0
- package/dist/components/PhoneField/index.cjs.map +1 -0
- package/dist/components/PhoneField/index.d.cts +4 -0
- package/dist/components/PhoneField/index.d.ts +4 -0
- package/dist/components/PhoneField/index.js +7 -0
- package/dist/components/PhoneField/index.js.map +1 -0
- package/dist/components/PhoneField/phone.d.cts +50 -0
- package/dist/components/PhoneField/phone.d.ts +50 -0
- package/dist/components/Popconfirm/Popconfirm.d.cts +53 -0
- package/dist/components/Popconfirm/Popconfirm.d.ts +53 -0
- package/dist/components/Popconfirm/index.cjs +2 -0
- package/dist/components/Popconfirm/index.cjs.map +1 -0
- package/dist/components/Popconfirm/index.d.cts +2 -0
- package/dist/components/Popconfirm/index.d.ts +2 -0
- package/dist/components/Popconfirm/index.js +6 -0
- package/dist/components/Popconfirm/index.js.map +1 -0
- package/dist/components/Popover/index.cjs +1 -1
- package/dist/components/Popover/index.js +1 -1
- package/dist/components/Progress/Progress.d.cts +50 -0
- package/dist/components/Progress/Progress.d.ts +50 -0
- package/dist/components/Progress/index.cjs +2 -0
- package/dist/components/Progress/index.cjs.map +1 -0
- package/dist/components/Progress/index.d.cts +2 -0
- package/dist/components/Progress/index.d.ts +2 -0
- package/dist/components/Progress/index.js +6 -0
- package/dist/components/Progress/index.js.map +1 -0
- package/dist/components/QrCode/QrCode.d.cts +3 -0
- package/dist/components/QrCode/QrCode.d.ts +3 -0
- package/dist/components/QrCode/index.cjs +1 -1
- package/dist/components/QrCode/index.js +1 -1
- package/dist/components/Radio/index.cjs +1 -1
- package/dist/components/Radio/index.js +1 -1
- package/dist/components/RemoveDialog/RemoveDialog.d.cts +8 -1
- package/dist/components/RemoveDialog/RemoveDialog.d.ts +8 -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/Select.d.cts +2 -12
- package/dist/components/Select/Select.d.ts +2 -12
- 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/Skeleton/Skeleton.d.cts +31 -0
- package/dist/components/Skeleton/Skeleton.d.ts +31 -0
- package/dist/components/Skeleton/index.cjs +2 -0
- package/dist/components/Skeleton/index.cjs.map +1 -0
- package/dist/components/Skeleton/index.d.cts +2 -0
- package/dist/components/Skeleton/index.d.ts +2 -0
- package/dist/components/Skeleton/index.js +6 -0
- package/dist/components/Skeleton/index.js.map +1 -0
- 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/SwatchPicker/index.cjs +1 -1
- package/dist/components/SwatchPicker/index.js +1 -1
- package/dist/components/Switch/index.cjs +1 -1
- package/dist/components/Switch/index.js +1 -1
- package/dist/components/Table/Table.d.cts +7 -1
- package/dist/components/Table/Table.d.ts +7 -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/Typography/Typography.d.cts +10 -3
- package/dist/components/Typography/Typography.d.ts +10 -3
- package/dist/components/Typography/index.cjs +1 -1
- package/dist/components/Typography/index.js +1 -1
- package/dist/components/UserCard/UserCard.d.cts +3 -1
- package/dist/components/UserCard/UserCard.d.ts +3 -1
- package/dist/components/UserCard/index.cjs +1 -1
- package/dist/components/UserCard/index.js +1 -1
- package/dist/components/index.d.cts +6 -0
- package/dist/components/index.d.ts +6 -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 +169 -152
- 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/hooks/useOptionalPeer.d.cts +21 -0
- package/dist/hooks/useOptionalPeer.d.ts +21 -0
- package/dist/i18n/messages.d.cts +13 -0
- package/dist/i18n/messages.d.ts +13 -0
- package/dist/index.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +183 -166
- package/dist/index.js.map +1 -1
- package/dist/{messages-B06Kl5rI.js → messages-BF2ft7yD.js} +120 -29
- package/dist/messages-BF2ft7yD.js.map +1 -0
- package/dist/messages-ihnE1jVG.cjs +36 -0
- package/dist/messages-ihnE1jVG.cjs.map +1 -0
- package/dist/useOptionMenu-C0xSaZ4t.cjs +2 -0
- package/dist/useOptionMenu-C0xSaZ4t.cjs.map +1 -0
- package/dist/useOptionMenu-Cq_eHdab.js +286 -0
- package/dist/useOptionMenu-Cq_eHdab.js.map +1 -0
- package/dist/useOptionalPeer-49f3XcO5.js +28 -0
- package/dist/useOptionalPeer-49f3XcO5.js.map +1 -0
- package/dist/useOptionalPeer-9Fkx5Leb.cjs +2 -0
- package/dist/useOptionalPeer-9Fkx5Leb.cjs.map +1 -0
- package/package.json +6 -1
- package/dist/AdminRoot-C4OyuOIr.js +0 -50
- package/dist/AdminRoot-C4OyuOIr.js.map +0 -1
- package/dist/AdminRoot-bHywlbML.cjs +0 -2
- package/dist/AdminRoot-bHywlbML.cjs.map +0 -1
- package/dist/Avatar-BGPGxry2.js +0 -60
- package/dist/Avatar-BGPGxry2.js.map +0 -1
- package/dist/Avatar-D_YivyqV.cjs +0 -2
- package/dist/Avatar-D_YivyqV.cjs.map +0 -1
- package/dist/Card-BRJV2JZE.js +0 -118
- package/dist/Card-BRJV2JZE.js.map +0 -1
- package/dist/Card-KvvNlchc.cjs +0 -2
- package/dist/Card-KvvNlchc.cjs.map +0 -1
- package/dist/Checkbox-ZYOSBYRt.js +0 -98
- package/dist/Checkbox-fzJCwe0j.cjs +0 -2
- package/dist/EmptyState-A5nPGnHA.js +0 -38
- package/dist/EmptyState-A5nPGnHA.js.map +0 -1
- package/dist/EmptyState-CTTOy9aY.cjs +0 -2
- package/dist/EmptyState-CTTOy9aY.cjs.map +0 -1
- package/dist/FileCard-BmPEEcue.js +0 -148
- package/dist/FileCard-BmPEEcue.js.map +0 -1
- package/dist/FileCard-C4BkGMtK.cjs +0 -2
- package/dist/FileCard-C4BkGMtK.cjs.map +0 -1
- package/dist/FileUploader-D_F64mob.cjs +0 -2
- package/dist/FileUploader-D_F64mob.cjs.map +0 -1
- package/dist/FileUploader-Dv_3bjZA.js +0 -684
- package/dist/FileUploader-Dv_3bjZA.js.map +0 -1
- package/dist/FloatingPanel-BG9Uag__.js +0 -131
- package/dist/FloatingPanel-BG9Uag__.js.map +0 -1
- package/dist/FloatingPanel-U6sGYiSK.cjs +0 -2
- package/dist/FloatingPanel-U6sGYiSK.cjs.map +0 -1
- package/dist/List-ChXO0Hz-.cjs +0 -2
- package/dist/List-ChXO0Hz-.cjs.map +0 -1
- package/dist/List-LqbfF6gU.js +0 -26
- package/dist/List-LqbfF6gU.js.map +0 -1
- package/dist/ListItem-Cn15lJBr.js +0 -74
- package/dist/ListItem-Cn15lJBr.js.map +0 -1
- package/dist/ListItem-yXXjtepZ.cjs +0 -2
- package/dist/ListItem-yXXjtepZ.cjs.map +0 -1
- package/dist/Modal--e2qGisF.cjs +0 -2
- package/dist/Modal--e2qGisF.cjs.map +0 -1
- package/dist/Modal-DJljaPqV.js +0 -195
- package/dist/Modal-DJljaPqV.js.map +0 -1
- package/dist/MultiSelect-CvecZeMU.cjs +0 -2
- package/dist/MultiSelect-CvecZeMU.cjs.map +0 -1
- package/dist/MultiSelect-DLoS04lZ.js +0 -350
- package/dist/MultiSelect-DLoS04lZ.js.map +0 -1
- package/dist/PageNotFound-JKOnpyHD.cjs.map +0 -1
- package/dist/PageNotFound-LWH2tU5E.js.map +0 -1
- package/dist/QrCode-Bcj9_Emc.js +0 -70
- package/dist/QrCode-Bcj9_Emc.js.map +0 -1
- package/dist/QrCode-DfDfGhG-.cjs +0 -2
- package/dist/QrCode-DfDfGhG-.cjs.map +0 -1
- package/dist/RadioGroup-Byy-eSY3.cjs +0 -2
- package/dist/RadioGroup-D_1_Heta.js +0 -141
- package/dist/RemoveDialog-DUrD2Em8.js +0 -47
- package/dist/RemoveDialog-DUrD2Em8.js.map +0 -1
- package/dist/RemoveDialog-FZWYAxRy.cjs +0 -2
- package/dist/RemoveDialog-FZWYAxRy.cjs.map +0 -1
- package/dist/RichTextEditor-mpMCG8jX.cjs +0 -2
- package/dist/RootLayout-CPxDqfGb.cjs +0 -2
- package/dist/Select-BB9oOoWZ.js +0 -338
- package/dist/Select-BB9oOoWZ.js.map +0 -1
- package/dist/Select-iP2p5jad.cjs +0 -2
- package/dist/Select-iP2p5jad.cjs.map +0 -1
- package/dist/Sidebar-Boi7UgHV.cjs +0 -2
- package/dist/Sidebar-Boi7UgHV.cjs.map +0 -1
- package/dist/Sidebar-CsPnv4mu.js.map +0 -1
- package/dist/Switch-CodRZD3y.cjs +0 -2
- package/dist/Switch-ESrhkpJC.js +0 -85
- package/dist/Table-Cr1zUtNQ.cjs +0 -2
- package/dist/Table-Cr1zUtNQ.cjs.map +0 -1
- package/dist/Table-DdoUcZoN.js +0 -1099
- package/dist/Table-DdoUcZoN.js.map +0 -1
- package/dist/Typography-BFatE1_A.cjs +0 -2
- package/dist/Typography-BFatE1_A.cjs.map +0 -1
- package/dist/Typography-Cta6Rg4L.js +0 -51
- package/dist/Typography-Cta6Rg4L.js.map +0 -1
- package/dist/UserCard-B1phOVKj.js +0 -74
- package/dist/UserCard-B1phOVKj.js.map +0 -1
- package/dist/UserCard-BvOcDm5W.cjs +0 -2
- package/dist/UserCard-BvOcDm5W.cjs.map +0 -1
- package/dist/messages-B06Kl5rI.js.map +0 -1
- package/dist/messages-CJqxqL3t.cjs +0 -36
- package/dist/messages-CJqxqL3t.cjs.map +0 -1
package/dist/Card-BRJV2JZE.js
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { jsx as o, jsxs as l } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as B, useState as O, useId as F } from "react";
|
|
3
|
-
import { clsx as v } from "clsx";
|
|
4
|
-
import { I as x } from "./Icon-DaTvzLBu.js";
|
|
5
|
-
import { a as H } from "./names-r21QPjcU.js";
|
|
6
|
-
import { I as E } from "./IconButton-CBp8QuTO.js";
|
|
7
|
-
const R = "_card_voi4g_3", U = "_flat_voi4g_14", q = "_header_voi4g_18", G = "_headerDivided_voi4g_27", J = "_headerMain_voi4g_31", K = "_icon_voi4g_39", L = "_headerText_voi4g_43", P = "_title_voi4g_51", Q = "_subtitle_voi4g_64", V = "_actions_voi4g_78", W = "_chevron_voi4g_85", X = "_collapsible_voi4g_93", Y = "_collapsed_voi4g_98", Z = "_collapsibleInner_voi4g_101", $ = "_foldable_voi4g_110", ee = "_body_voi4g_114", oe = "_footer_voi4g_118", ae = "_footerStart_voi4g_127", le = "_footerEnd_voi4g_128", e = {
|
|
8
|
-
card: R,
|
|
9
|
-
flat: U,
|
|
10
|
-
header: q,
|
|
11
|
-
headerDivided: G,
|
|
12
|
-
headerMain: J,
|
|
13
|
-
icon: K,
|
|
14
|
-
headerText: L,
|
|
15
|
-
title: P,
|
|
16
|
-
subtitle: Q,
|
|
17
|
-
actions: V,
|
|
18
|
-
chevron: W,
|
|
19
|
-
collapsible: X,
|
|
20
|
-
collapsed: Y,
|
|
21
|
-
collapsibleInner: Z,
|
|
22
|
-
foldable: $,
|
|
23
|
-
body: ee,
|
|
24
|
-
footer: oe,
|
|
25
|
-
footerStart: ae,
|
|
26
|
-
footerEnd: le
|
|
27
|
-
}, ne = new Set(H), ve = B(function({
|
|
28
|
-
title: t,
|
|
29
|
-
subtitle: i,
|
|
30
|
-
icon: n,
|
|
31
|
-
color: y = "accent",
|
|
32
|
-
flat: S = !1,
|
|
33
|
-
actions: r,
|
|
34
|
-
footer: h,
|
|
35
|
-
footerStart: f,
|
|
36
|
-
collapsible: s = !1,
|
|
37
|
-
collapsed: m,
|
|
38
|
-
defaultCollapsed: M = !1,
|
|
39
|
-
onCollapsedChange: c,
|
|
40
|
-
className: D,
|
|
41
|
-
children: d,
|
|
42
|
-
...T
|
|
43
|
-
}, C) {
|
|
44
|
-
const u = m !== void 0, [w, A] = O(M), a = s && (u ? m : w), p = F(), j = () => {
|
|
45
|
-
const I = !a;
|
|
46
|
-
u || A(I), c == null || c(I);
|
|
47
|
-
}, _ = n == null ? null : typeof n == "string" && ne.has(n) ? /* @__PURE__ */ o(x, { name: n }) : n, k = t != null || i != null || _ != null || r != null || s, N = d != null && d !== "", g = h != null || f != null, b = N || g, z = b && !a;
|
|
48
|
-
return /* @__PURE__ */ l(
|
|
49
|
-
"div",
|
|
50
|
-
{
|
|
51
|
-
ref: C,
|
|
52
|
-
className: v(e.card, S && e.flat, a && e.collapsed, D),
|
|
53
|
-
...T,
|
|
54
|
-
children: [
|
|
55
|
-
k && /* @__PURE__ */ l("div", { className: v(e.header, z && e.headerDivided), children: [
|
|
56
|
-
/* @__PURE__ */ l("div", { className: e.headerMain, children: [
|
|
57
|
-
_ != null && /* @__PURE__ */ o(
|
|
58
|
-
E,
|
|
59
|
-
{
|
|
60
|
-
variant: "filled",
|
|
61
|
-
size: "sm",
|
|
62
|
-
color: y,
|
|
63
|
-
nonClickable: !0,
|
|
64
|
-
"aria-hidden": !0,
|
|
65
|
-
className: e.icon,
|
|
66
|
-
children: _
|
|
67
|
-
}
|
|
68
|
-
),
|
|
69
|
-
(t != null || i != null) && /* @__PURE__ */ l("div", { className: e.headerText, children: [
|
|
70
|
-
t != null && /* @__PURE__ */ o("div", { className: e.title, children: t }),
|
|
71
|
-
i != null && /* @__PURE__ */ o("div", { className: e.subtitle, children: i })
|
|
72
|
-
] })
|
|
73
|
-
] }),
|
|
74
|
-
(r != null || s) && /* @__PURE__ */ l("div", { className: e.actions, children: [
|
|
75
|
-
!a && r,
|
|
76
|
-
s && /* @__PURE__ */ o(
|
|
77
|
-
E,
|
|
78
|
-
{
|
|
79
|
-
variant: "text",
|
|
80
|
-
size: "sm",
|
|
81
|
-
"aria-label": a ? "Expand" : "Collapse",
|
|
82
|
-
"aria-expanded": !a,
|
|
83
|
-
"aria-controls": p,
|
|
84
|
-
onClick: j,
|
|
85
|
-
children: /* @__PURE__ */ o(
|
|
86
|
-
x,
|
|
87
|
-
{
|
|
88
|
-
name: "ArrowUp3",
|
|
89
|
-
className: e.chevron,
|
|
90
|
-
"data-collapsed": a ? "true" : "false"
|
|
91
|
-
}
|
|
92
|
-
)
|
|
93
|
-
}
|
|
94
|
-
)
|
|
95
|
-
] })
|
|
96
|
-
] }),
|
|
97
|
-
b && /* @__PURE__ */ o(
|
|
98
|
-
"div",
|
|
99
|
-
{
|
|
100
|
-
id: p,
|
|
101
|
-
className: v(e.collapsible, s && e.foldable),
|
|
102
|
-
children: /* @__PURE__ */ l("div", { className: e.collapsibleInner, children: [
|
|
103
|
-
N && /* @__PURE__ */ o("div", { className: e.body, children: d }),
|
|
104
|
-
g && /* @__PURE__ */ l("div", { className: e.footer, children: [
|
|
105
|
-
/* @__PURE__ */ o("div", { className: e.footerStart, children: f }),
|
|
106
|
-
/* @__PURE__ */ o("div", { className: e.footerEnd, children: h })
|
|
107
|
-
] })
|
|
108
|
-
] })
|
|
109
|
-
}
|
|
110
|
-
)
|
|
111
|
-
]
|
|
112
|
-
}
|
|
113
|
-
);
|
|
114
|
-
});
|
|
115
|
-
export {
|
|
116
|
-
ve as C
|
|
117
|
-
};
|
|
118
|
-
//# sourceMappingURL=Card-BRJV2JZE.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Card-BRJV2JZE.js","sources":["../src/components/Card/Card.tsx"],"sourcesContent":["import { forwardRef, useId, useState, type HTMLAttributes, type ReactNode } from 'react'\nimport { clsx } from 'clsx'\nimport { Icon } from '../Icon'\nimport { IconButton } from '../IconButton'\nimport type { ThemeColor } from '../../theme'\nimport { ICON_NAMES, type IconName } from '../../icons/names'\nimport styles from './Card.module.css'\n\nconst ICON_NAME_SET = new Set<string>(ICON_NAMES)\n\nexport interface CardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'color'> {\n /** Header title (left, next to the icon). */\n title?: ReactNode\n /** Secondary muted line shown under the `title` (e.g. a short description). */\n subtitle?: ReactNode\n /** Leading header icon — a known `IconName` or any node. */\n icon?: IconName | ReactNode\n /** Theme color that tints the leading icon box. Defaults to `accent`. */\n color?: ThemeColor\n /** Marks the card flat (used by `PageLayout`). Cards are shadowless, so this currently adds no visual difference — it's a styling hook, not a distinct look. */\n flat?: boolean\n /** Header actions, placed at the end of the header row (before the collapse toggle). */\n actions?: ReactNode\n /** Footer content (e.g. actions), pinned to the **right** of the footer row. */\n footer?: ReactNode\n /** Footer content pinned to the **left** of the footer row (opposite `footer`). */\n footerStart?: ReactNode\n /** Adds a collapse/expand toggle to the header that folds the body + footer. */\n collapsible?: boolean\n /** Controlled collapsed state. */\n collapsed?: boolean\n /** Initial collapsed state for uncontrolled use. Defaults to `false`. */\n defaultCollapsed?: boolean\n /** Fires with the next collapsed state when the toggle is clicked. */\n onCollapsedChange?: (collapsed: boolean) => void\n /** Card body. */\n children?: ReactNode\n}\n\n/**\n * A surface card with an optional header (icon + title + actions), a body, and a footer for actions.\n * `collapsible` adds a chevron that smoothly folds the body + footer (controlled via `collapsed`/\n * `onCollapsedChange`, or uncontrolled via `defaultCollapsed`). Token-only styling.\n */\nexport const Card = forwardRef<HTMLDivElement, CardProps>(function Card(\n {\n title,\n subtitle,\n icon,\n color = 'accent',\n flat = false,\n actions,\n footer,\n footerStart,\n collapsible = false,\n collapsed,\n defaultCollapsed = false,\n onCollapsedChange,\n className,\n children,\n ...props\n },\n ref,\n) {\n const isControlled = collapsed !== undefined\n const [internal, setInternal] = useState(defaultCollapsed)\n const isCollapsed = collapsible && (isControlled ? collapsed! : internal)\n const collapsibleId = useId() // ties the toggle to the fold region via aria-controls\n\n const toggle = () => {\n const next = !isCollapsed\n if (!isControlled) setInternal(next)\n onCollapsedChange?.(next)\n }\n\n const renderedIcon =\n icon == null ? null : typeof icon === 'string' && ICON_NAME_SET.has(icon) ? (\n <Icon name={icon as IconName} />\n ) : (\n icon\n )\n\n const hasHeader =\n title != null || subtitle != null || renderedIcon != null || actions != null || collapsible\n const hasBody = children != null && children !== ''\n const hasFooter = footer != null || footerStart != null\n const hasCollapsibleContent = hasBody || hasFooter\n // The header is separated by a divider only while content is visible beneath it.\n const headerDivided = hasCollapsibleContent && !isCollapsed\n\n return (\n <div\n ref={ref}\n className={clsx(styles.card, flat && styles.flat, isCollapsed && styles.collapsed, className)}\n {...props}\n >\n {hasHeader && (\n <div className={clsx(styles.header, headerDivided && styles.headerDivided)}>\n <div className={styles.headerMain}>\n {renderedIcon != null && (\n <IconButton\n variant=\"filled\"\n size=\"sm\"\n color={color}\n nonClickable\n aria-hidden\n className={styles.icon}\n >\n {renderedIcon}\n </IconButton>\n )}\n {(title != null || subtitle != null) && (\n <div className={styles.headerText}>\n {title != null && <div className={styles.title}>{title}</div>}\n {subtitle != null && <div className={styles.subtitle}>{subtitle}</div>}\n </div>\n )}\n </div>\n {(actions != null || collapsible) && (\n <div className={styles.actions}>\n {!isCollapsed && actions}\n {collapsible && (\n <IconButton\n variant=\"text\"\n size=\"sm\"\n aria-label={isCollapsed ? 'Expand' : 'Collapse'}\n aria-expanded={!isCollapsed}\n aria-controls={collapsibleId}\n onClick={toggle}\n >\n <Icon\n name=\"ArrowUp3\"\n className={styles.chevron}\n data-collapsed={isCollapsed ? 'true' : 'false'}\n />\n </IconButton>\n )}\n </div>\n )}\n </div>\n )}\n {hasCollapsibleContent && (\n <div\n id={collapsibleId}\n className={clsx(styles.collapsible, collapsible && styles.foldable)}\n >\n <div className={styles.collapsibleInner}>\n {hasBody && <div className={styles.body}>{children}</div>}\n {hasFooter && (\n <div className={styles.footer}>\n <div className={styles.footerStart}>{footerStart}</div>\n <div className={styles.footerEnd}>{footer}</div>\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n )\n})\n"],"names":["ICON_NAME_SET","ICON_NAMES","Card","forwardRef","title","subtitle","icon","color","flat","actions","footer","footerStart","collapsible","collapsed","defaultCollapsed","onCollapsedChange","className","children","props","ref","isControlled","internal","setInternal","useState","isCollapsed","collapsibleId","useId","toggle","next","renderedIcon","jsx","Icon","hasHeader","hasBody","hasFooter","hasCollapsibleContent","headerDivided","jsxs","clsx","styles","IconButton"],"mappings":"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"}
|
package/dist/Card-KvvNlchc.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const s=require("react/jsx-runtime"),_=require("react"),v=require("clsx"),I=require("./Icon-BVULqOJD.cjs"),k=require("./names-BJnFU_5m.cjs"),p=require("./IconButton-B87ipBK3.cjs"),z="_card_voi4g_3",O="_flat_voi4g_14",R="_header_voi4g_18",F="_headerDivided_voi4g_27",H="_headerMain_voi4g_31",U="_icon_voi4g_39",G="_headerText_voi4g_43",J="_title_voi4g_51",K="_subtitle_voi4g_64",L="_actions_voi4g_78",P="_chevron_voi4g_85",Q="_collapsible_voi4g_93",V="_collapsed_voi4g_98",W="_collapsibleInner_voi4g_101",X="_foldable_voi4g_110",Y="_body_voi4g_114",Z="_footer_voi4g_118",$="_footerStart_voi4g_127",ee="_footerEnd_voi4g_128",e={card:z,flat:O,header:R,headerDivided:F,headerMain:H,icon:U,headerText:G,title:J,subtitle:K,actions:L,chevron:P,collapsible:Q,collapsed:V,collapsibleInner:W,foldable:X,body:Y,footer:Z,footerStart:$,footerEnd:ee},se=new Set(k.ICON_NAMES),oe=_.forwardRef(function({title:a,subtitle:t,icon:n,color:E="accent",flat:y=!1,actions:c,footer:h,footerStart:u,collapsible:l=!1,collapsed:x,defaultCollapsed:S=!1,onCollapsedChange:i,className:q,children:r,...M},D){const f=x!==void 0,[T,B]=_.useState(S),o=l&&(f?x:T),m=_.useId(),C=()=>{const b=!o;f||B(b),i==null||i(b)},d=n==null?null:typeof n=="string"&&se.has(n)?s.jsx(I.Icon,{name:n}):n,w=a!=null||t!=null||d!=null||c!=null||l,N=r!=null&&r!=="",g=h!=null||u!=null,j=N||g,A=j&&!o;return s.jsxs("div",{ref:D,className:v.clsx(e.card,y&&e.flat,o&&e.collapsed,q),...M,children:[w&&s.jsxs("div",{className:v.clsx(e.header,A&&e.headerDivided),children:[s.jsxs("div",{className:e.headerMain,children:[d!=null&&s.jsx(p.IconButton,{variant:"filled",size:"sm",color:E,nonClickable:!0,"aria-hidden":!0,className:e.icon,children:d}),(a!=null||t!=null)&&s.jsxs("div",{className:e.headerText,children:[a!=null&&s.jsx("div",{className:e.title,children:a}),t!=null&&s.jsx("div",{className:e.subtitle,children:t})]})]}),(c!=null||l)&&s.jsxs("div",{className:e.actions,children:[!o&&c,l&&s.jsx(p.IconButton,{variant:"text",size:"sm","aria-label":o?"Expand":"Collapse","aria-expanded":!o,"aria-controls":m,onClick:C,children:s.jsx(I.Icon,{name:"ArrowUp3",className:e.chevron,"data-collapsed":o?"true":"false"})})]})]}),j&&s.jsx("div",{id:m,className:v.clsx(e.collapsible,l&&e.foldable),children:s.jsxs("div",{className:e.collapsibleInner,children:[N&&s.jsx("div",{className:e.body,children:r}),g&&s.jsxs("div",{className:e.footer,children:[s.jsx("div",{className:e.footerStart,children:u}),s.jsx("div",{className:e.footerEnd,children:h})]})]})})]})});exports.Card=oe;
|
|
2
|
-
//# sourceMappingURL=Card-KvvNlchc.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Card-KvvNlchc.cjs","sources":["../src/components/Card/Card.tsx"],"sourcesContent":["import { forwardRef, useId, useState, type HTMLAttributes, type ReactNode } from 'react'\nimport { clsx } from 'clsx'\nimport { Icon } from '../Icon'\nimport { IconButton } from '../IconButton'\nimport type { ThemeColor } from '../../theme'\nimport { ICON_NAMES, type IconName } from '../../icons/names'\nimport styles from './Card.module.css'\n\nconst ICON_NAME_SET = new Set<string>(ICON_NAMES)\n\nexport interface CardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'color'> {\n /** Header title (left, next to the icon). */\n title?: ReactNode\n /** Secondary muted line shown under the `title` (e.g. a short description). */\n subtitle?: ReactNode\n /** Leading header icon — a known `IconName` or any node. */\n icon?: IconName | ReactNode\n /** Theme color that tints the leading icon box. Defaults to `accent`. */\n color?: ThemeColor\n /** Marks the card flat (used by `PageLayout`). Cards are shadowless, so this currently adds no visual difference — it's a styling hook, not a distinct look. */\n flat?: boolean\n /** Header actions, placed at the end of the header row (before the collapse toggle). */\n actions?: ReactNode\n /** Footer content (e.g. actions), pinned to the **right** of the footer row. */\n footer?: ReactNode\n /** Footer content pinned to the **left** of the footer row (opposite `footer`). */\n footerStart?: ReactNode\n /** Adds a collapse/expand toggle to the header that folds the body + footer. */\n collapsible?: boolean\n /** Controlled collapsed state. */\n collapsed?: boolean\n /** Initial collapsed state for uncontrolled use. Defaults to `false`. */\n defaultCollapsed?: boolean\n /** Fires with the next collapsed state when the toggle is clicked. */\n onCollapsedChange?: (collapsed: boolean) => void\n /** Card body. */\n children?: ReactNode\n}\n\n/**\n * A surface card with an optional header (icon + title + actions), a body, and a footer for actions.\n * `collapsible` adds a chevron that smoothly folds the body + footer (controlled via `collapsed`/\n * `onCollapsedChange`, or uncontrolled via `defaultCollapsed`). Token-only styling.\n */\nexport const Card = forwardRef<HTMLDivElement, CardProps>(function Card(\n {\n title,\n subtitle,\n icon,\n color = 'accent',\n flat = false,\n actions,\n footer,\n footerStart,\n collapsible = false,\n collapsed,\n defaultCollapsed = false,\n onCollapsedChange,\n className,\n children,\n ...props\n },\n ref,\n) {\n const isControlled = collapsed !== undefined\n const [internal, setInternal] = useState(defaultCollapsed)\n const isCollapsed = collapsible && (isControlled ? collapsed! : internal)\n const collapsibleId = useId() // ties the toggle to the fold region via aria-controls\n\n const toggle = () => {\n const next = !isCollapsed\n if (!isControlled) setInternal(next)\n onCollapsedChange?.(next)\n }\n\n const renderedIcon =\n icon == null ? null : typeof icon === 'string' && ICON_NAME_SET.has(icon) ? (\n <Icon name={icon as IconName} />\n ) : (\n icon\n )\n\n const hasHeader =\n title != null || subtitle != null || renderedIcon != null || actions != null || collapsible\n const hasBody = children != null && children !== ''\n const hasFooter = footer != null || footerStart != null\n const hasCollapsibleContent = hasBody || hasFooter\n // The header is separated by a divider only while content is visible beneath it.\n const headerDivided = hasCollapsibleContent && !isCollapsed\n\n return (\n <div\n ref={ref}\n className={clsx(styles.card, flat && styles.flat, isCollapsed && styles.collapsed, className)}\n {...props}\n >\n {hasHeader && (\n <div className={clsx(styles.header, headerDivided && styles.headerDivided)}>\n <div className={styles.headerMain}>\n {renderedIcon != null && (\n <IconButton\n variant=\"filled\"\n size=\"sm\"\n color={color}\n nonClickable\n aria-hidden\n className={styles.icon}\n >\n {renderedIcon}\n </IconButton>\n )}\n {(title != null || subtitle != null) && (\n <div className={styles.headerText}>\n {title != null && <div className={styles.title}>{title}</div>}\n {subtitle != null && <div className={styles.subtitle}>{subtitle}</div>}\n </div>\n )}\n </div>\n {(actions != null || collapsible) && (\n <div className={styles.actions}>\n {!isCollapsed && actions}\n {collapsible && (\n <IconButton\n variant=\"text\"\n size=\"sm\"\n aria-label={isCollapsed ? 'Expand' : 'Collapse'}\n aria-expanded={!isCollapsed}\n aria-controls={collapsibleId}\n onClick={toggle}\n >\n <Icon\n name=\"ArrowUp3\"\n className={styles.chevron}\n data-collapsed={isCollapsed ? 'true' : 'false'}\n />\n </IconButton>\n )}\n </div>\n )}\n </div>\n )}\n {hasCollapsibleContent && (\n <div\n id={collapsibleId}\n className={clsx(styles.collapsible, collapsible && styles.foldable)}\n >\n <div className={styles.collapsibleInner}>\n {hasBody && <div className={styles.body}>{children}</div>}\n {hasFooter && (\n <div className={styles.footer}>\n <div className={styles.footerStart}>{footerStart}</div>\n <div className={styles.footerEnd}>{footer}</div>\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n )\n})\n"],"names":["ICON_NAME_SET","ICON_NAMES","Card","forwardRef","title","subtitle","icon","color","flat","actions","footer","footerStart","collapsible","collapsed","defaultCollapsed","onCollapsedChange","className","children","props","ref","isControlled","internal","setInternal","useState","isCollapsed","collapsibleId","useId","toggle","next","renderedIcon","jsx","Icon","hasHeader","hasBody","hasFooter","hasCollapsibleContent","headerDivided","jsxs","clsx","styles","IconButton"],"mappings":"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"}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { jsx as n, jsxs as f } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as A, useId as D, useRef as G, useCallback as H, useLayoutEffect as J, useState as K } from "react";
|
|
3
|
-
import { clsx as N } from "clsx";
|
|
4
|
-
import { u as M } from "./formContext-B7ln1Miy.js";
|
|
5
|
-
const O = "_field_mfk7r_1", P = "_row_mfk7r_9", Q = "_disabled_mfk7r_17", T = "_input_mfk7r_23", U = "_box_mfk7r_37", W = "_check_mfk7r_64", X = "_dash_mfk7r_79", Y = "_error_mfk7r_101", Z = "_label_mfk7r_105", ee = "_required_mfk7r_110", se = "_sm_mfk7r_116", re = "_md_mfk7r_121", te = "_lg_mfk7r_126", e = {
|
|
6
|
-
field: O,
|
|
7
|
-
row: P,
|
|
8
|
-
disabled: Q,
|
|
9
|
-
input: T,
|
|
10
|
-
box: U,
|
|
11
|
-
check: W,
|
|
12
|
-
dash: X,
|
|
13
|
-
error: Y,
|
|
14
|
-
label: Z,
|
|
15
|
-
required: ee,
|
|
16
|
-
sm: se,
|
|
17
|
-
md: re,
|
|
18
|
-
lg: te
|
|
19
|
-
}, ie = A(function({
|
|
20
|
-
label: _,
|
|
21
|
-
color: m = "accent",
|
|
22
|
-
size: C = "md",
|
|
23
|
-
error: w,
|
|
24
|
-
required: y = !1,
|
|
25
|
-
indeterminate: u = !1,
|
|
26
|
-
checked: k,
|
|
27
|
-
defaultChecked: g = !1,
|
|
28
|
-
onChange: l,
|
|
29
|
-
name: r,
|
|
30
|
-
onBlur: a,
|
|
31
|
-
disabled: h = !1,
|
|
32
|
-
id: q,
|
|
33
|
-
className: z,
|
|
34
|
-
style: R,
|
|
35
|
-
...I
|
|
36
|
-
}, c) {
|
|
37
|
-
const j = D(), B = q ?? j, i = G(null), E = H(
|
|
38
|
-
(s) => {
|
|
39
|
-
i.current = s, typeof c == "function" ? c(s) : c && (c.current = s);
|
|
40
|
-
},
|
|
41
|
-
[c]
|
|
42
|
-
);
|
|
43
|
-
J(() => {
|
|
44
|
-
i.current && (i.current.indeterminate = u);
|
|
45
|
-
}, [u]);
|
|
46
|
-
const o = M(), p = !!(o && r), t = o && r ? o.field(r) : void 0, b = k !== void 0 ? k : p ? !!o.values[r] : void 0, x = b !== void 0, [F, $] = K(g), L = x ? b : F, v = w ?? (t == null ? void 0 : t.error) ?? !1, S = (s) => {
|
|
47
|
-
const d = s.target.checked;
|
|
48
|
-
x || $(d), p && o.setValue(r, d), l == null || l(d);
|
|
49
|
-
}, V = (s) => {
|
|
50
|
-
t == null || t.onBlur(s), a == null || a(s);
|
|
51
|
-
};
|
|
52
|
-
return /* @__PURE__ */ n(
|
|
53
|
-
"div",
|
|
54
|
-
{
|
|
55
|
-
className: N(
|
|
56
|
-
e.field,
|
|
57
|
-
v && e.error,
|
|
58
|
-
h && e.disabled,
|
|
59
|
-
z
|
|
60
|
-
),
|
|
61
|
-
style: {
|
|
62
|
-
"--tz-btn-rgb": `var(--tz-color-${m}-rgb)`,
|
|
63
|
-
"--tz-btn-on": `var(--tz-color-${m}-contrast, #fff)`,
|
|
64
|
-
...R
|
|
65
|
-
},
|
|
66
|
-
children: /* @__PURE__ */ f("label", { className: N(e.row, e[C]), children: [
|
|
67
|
-
/* @__PURE__ */ n(
|
|
68
|
-
"input",
|
|
69
|
-
{
|
|
70
|
-
ref: E,
|
|
71
|
-
id: B,
|
|
72
|
-
name: r,
|
|
73
|
-
type: "checkbox",
|
|
74
|
-
className: e.input,
|
|
75
|
-
checked: L,
|
|
76
|
-
onChange: S,
|
|
77
|
-
onBlur: V,
|
|
78
|
-
disabled: h,
|
|
79
|
-
"aria-invalid": v || void 0,
|
|
80
|
-
...I
|
|
81
|
-
}
|
|
82
|
-
),
|
|
83
|
-
/* @__PURE__ */ f("span", { className: e.box, "aria-hidden": "true", children: [
|
|
84
|
-
/* @__PURE__ */ n("span", { className: e.check }),
|
|
85
|
-
/* @__PURE__ */ n("span", { className: e.dash })
|
|
86
|
-
] }),
|
|
87
|
-
_ != null && /* @__PURE__ */ f("span", { className: e.label, children: [
|
|
88
|
-
_,
|
|
89
|
-
y && /* @__PURE__ */ n("span", { className: e.required, "aria-hidden": "true", children: "*" })
|
|
90
|
-
] })
|
|
91
|
-
] })
|
|
92
|
-
}
|
|
93
|
-
);
|
|
94
|
-
});
|
|
95
|
-
export {
|
|
96
|
-
ie as C
|
|
97
|
-
};
|
|
98
|
-
//# sourceMappingURL=Checkbox-ZYOSBYRt.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const r=require("react/jsx-runtime"),o=require("react"),j=require("clsx"),A=require("./formContext-bTWrqdEV.cjs"),D="_field_mfk7r_1",G="_row_mfk7r_9",H="_disabled_mfk7r_17",J="_input_mfk7r_23",K="_box_mfk7r_37",M="_check_mfk7r_64",O="_dash_mfk7r_79",P="_error_mfk7r_101",Q="_label_mfk7r_105",T="_required_mfk7r_110",U="_sm_mfk7r_116",W="_md_mfk7r_121",X="_lg_mfk7r_126",s={field:D,row:G,disabled:H,input:J,box:K,check:M,dash:O,error:P,label:Q,required:T,sm:U,md:W,lg:X},Y=o.forwardRef(function({label:_,color:u="accent",size:q="md",error:N,required:C=!1,indeterminate:m=!1,checked:k,defaultChecked:w=!1,onChange:a,name:t,onBlur:i,disabled:x=!1,id:y,className:R,style:g,...z},n){const I=o.useId(),B=y??I,d=o.useRef(null),E=o.useCallback(e=>{d.current=e,typeof n=="function"?n(e):n&&(n.current=e)},[n]);o.useLayoutEffect(()=>{d.current&&(d.current.indeterminate=m)},[m]);const l=A.useFormContext(),h=!!(l&&t),c=l&&t?l.field(t):void 0,b=k!==void 0?k:h?!!l.values[t]:void 0,p=b!==void 0,[F,$]=o.useState(w),L=p?b:F,v=N??(c==null?void 0:c.error)??!1,S=e=>{const f=e.target.checked;p||$(f),h&&l.setValue(t,f),a==null||a(f)},V=e=>{c==null||c.onBlur(e),i==null||i(e)};return r.jsx("div",{className:j.clsx(s.field,v&&s.error,x&&s.disabled,R),style:{"--tz-btn-rgb":`var(--tz-color-${u}-rgb)`,"--tz-btn-on":`var(--tz-color-${u}-contrast, #fff)`,...g},children:r.jsxs("label",{className:j.clsx(s.row,s[q]),children:[r.jsx("input",{ref:E,id:B,name:t,type:"checkbox",className:s.input,checked:L,onChange:S,onBlur:V,disabled:x,"aria-invalid":v||void 0,...z}),r.jsxs("span",{className:s.box,"aria-hidden":"true",children:[r.jsx("span",{className:s.check}),r.jsx("span",{className:s.dash})]}),_!=null&&r.jsxs("span",{className:s.label,children:[_,C&&r.jsx("span",{className:s.required,"aria-hidden":"true",children:"*"})]})]})})});exports.Checkbox=Y;
|
|
2
|
-
//# sourceMappingURL=Checkbox-fzJCwe0j.cjs.map
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { jsx as n, jsxs as u } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as S } from "react";
|
|
3
|
-
import { clsx as k } from "clsx";
|
|
4
|
-
import { I as l } from "./Icon-DaTvzLBu.js";
|
|
5
|
-
import { a as y } from "./names-r21QPjcU.js";
|
|
6
|
-
import { a as N } from "./ConfigProvider-DL9fylMo.js";
|
|
7
|
-
const h = "_emptyState_rk3vd_3", E = "_sm_rk3vd_17", I = "_md_rk3vd_23", g = "_lg_rk3vd_29", x = "_icon_rk3vd_37", O = "_title_rk3vd_55", T = "_description_rk3vd_61", j = "_action_rk3vd_70", w = "_pattern_rk3vd_77", t = {
|
|
8
|
-
emptyState: h,
|
|
9
|
-
sm: E,
|
|
10
|
-
md: I,
|
|
11
|
-
lg: g,
|
|
12
|
-
icon: x,
|
|
13
|
-
title: O,
|
|
14
|
-
description: T,
|
|
15
|
-
action: j,
|
|
16
|
-
pattern: w
|
|
17
|
-
}, A = new Set(y), B = S(function({ icon: e, title: c, description: r, action: s, size: i = "md", pattern: d = !0, className: m, children: _, ...p }, v) {
|
|
18
|
-
const f = N(), o = c ?? f("emptyState.title"), a = e === !1 ? null : e == null ? /* @__PURE__ */ n(l, { name: "FolderOpen" }) : typeof e == "string" && A.has(e) ? /* @__PURE__ */ n(l, { name: e }) : e;
|
|
19
|
-
return /* @__PURE__ */ u(
|
|
20
|
-
"div",
|
|
21
|
-
{
|
|
22
|
-
ref: v,
|
|
23
|
-
className: k(t.emptyState, t[i], d && t.pattern, m),
|
|
24
|
-
...p,
|
|
25
|
-
children: [
|
|
26
|
-
a != null && /* @__PURE__ */ n("div", { className: t.icon, "aria-hidden": !0, children: a }),
|
|
27
|
-
o != null && /* @__PURE__ */ n("div", { className: t.title, children: o }),
|
|
28
|
-
r != null && /* @__PURE__ */ n("div", { className: t.description, children: r }),
|
|
29
|
-
s != null && /* @__PURE__ */ n("div", { className: t.action, children: s }),
|
|
30
|
-
_
|
|
31
|
-
]
|
|
32
|
-
}
|
|
33
|
-
);
|
|
34
|
-
});
|
|
35
|
-
export {
|
|
36
|
-
B as E
|
|
37
|
-
};
|
|
38
|
-
//# sourceMappingURL=EmptyState-A5nPGnHA.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyState-A5nPGnHA.js","sources":["../src/components/EmptyState/EmptyState.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes, type ReactNode } from 'react'\nimport { clsx } from 'clsx'\nimport { useT } from '../../theme'\nimport { Icon } from '../Icon'\nimport { ICON_NAMES, type IconName } from '../../icons/names'\nimport styles from './EmptyState.module.css'\n\nexport type EmptyStateSize = 'sm' | 'md' | 'lg'\n\nconst ICON_NAME_SET = new Set<string>(ICON_NAMES)\n\nexport interface EmptyStateProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n /** Leading glyph shown in a soft circle — an `IconName`, any node, or `false` to hide it. Defaults to `FolderOpen`. */\n icon?: IconName | ReactNode | false\n /** Heading line. Defaults to `\"No Results Found\"`. */\n title?: ReactNode\n /** Muted description under the title (e.g. a hint on what to do next). */\n description?: ReactNode\n /** Action slot under the text — e.g. an \"Add Item\" or \"Clear Filters\" button. */\n action?: ReactNode\n /** Size — scales the icon, text, and vertical padding. Defaults to `md`. */\n size?: EmptyStateSize\n /**\n * Polished \"hero\" look: a faded grid backdrop (fades out toward the edges) + an elevated icon\n * (gradient + drop shadow). Defaults to `true`; pass `pattern={false}` for the flat, compact placeholder.\n */\n pattern?: boolean\n /** Extra content rendered below the action. */\n children?: ReactNode\n}\n\n/**\n * The empty-state placeholder — drop it in wherever a page, table, list, or gallery has nothing to\n * show (no records yet, no search matches). A centered, muted glyph in a soft circle + a `title` +\n * an optional `description` and `action` (e.g. a \"Add Item\" / \"Clear Filters\" button). Neutral by\n * design; pass a custom `icon` node for a tinted glyph. Token-only styling.\n */\nexport const EmptyState = forwardRef<HTMLDivElement, EmptyStateProps>(function EmptyState(\n { icon, title, description, action, size = 'md', pattern = true, className, children, ...props },\n ref,\n) {\n const t = useT()\n const resolvedTitle = title ?? t('emptyState.title')\n const renderedIcon =\n icon === false ? null : icon == null ? (\n <Icon name=\"FolderOpen\" />\n ) : typeof icon === 'string' && ICON_NAME_SET.has(icon) ? (\n <Icon name={icon as IconName} />\n ) : (\n icon\n )\n\n return (\n <div\n ref={ref}\n className={clsx(styles.emptyState, styles[size], pattern && styles.pattern, className)}\n {...props}\n >\n {renderedIcon != null && (\n <div className={styles.icon} aria-hidden>\n {renderedIcon}\n </div>\n )}\n {resolvedTitle != null && <div className={styles.title}>{resolvedTitle}</div>}\n {description != null && <div className={styles.description}>{description}</div>}\n {action != null && <div className={styles.action}>{action}</div>}\n {children}\n </div>\n )\n})\n"],"names":["ICON_NAME_SET","ICON_NAMES","EmptyState","forwardRef","icon","title","description","action","size","pattern","className","children","props","ref","t","useT","resolvedTitle","renderedIcon","jsx","Icon","jsxs","clsx","styles"],"mappings":";;;;;;;;;;;;;;;;GASMA,IAAgB,IAAI,IAAYC,CAAU,GA4BnCC,IAAaC,EAA4C,SACpE,EAAE,MAAAC,GAAM,OAAAC,GAAO,aAAAC,GAAa,QAAAC,GAAQ,MAAAC,IAAO,MAAM,SAAAC,IAAU,IAAM,WAAAC,GAAW,UAAAC,GAAU,GAAGC,EAAA,GACzFC,GACA;AACA,QAAMC,IAAIC,EAAA,GACJC,IAAgBX,KAASS,EAAE,kBAAkB,GAC7CG,IACJb,MAAS,KAAQ,OAAOA,KAAQ,OAC9B,gBAAAc,EAACC,GAAA,EAAK,MAAK,aAAA,CAAa,IACtB,OAAOf,KAAS,YAAYJ,EAAc,IAAII,CAAI,IACpD,gBAAAc,EAACC,GAAA,EAAK,MAAMf,EAAA,CAAkB,IAE9BA;AAGJ,SACE,gBAAAgB;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAP;AAAA,MACA,WAAWQ,EAAKC,EAAO,YAAYA,EAAOd,CAAI,GAAGC,KAAWa,EAAO,SAASZ,CAAS;AAAA,MACpF,GAAGE;AAAA,MAEH,UAAA;AAAA,QAAAK,KAAgB,0BACd,OAAA,EAAI,WAAWK,EAAO,MAAM,eAAW,IACrC,UAAAL,EAAA,CACH;AAAA,QAEDD,KAAiB,QAAQ,gBAAAE,EAAC,SAAI,WAAWI,EAAO,OAAQ,UAAAN,GAAc;AAAA,QACtEV,KAAe,QAAQ,gBAAAY,EAAC,SAAI,WAAWI,EAAO,aAAc,UAAAhB,GAAY;AAAA,QACxEC,KAAU,QAAQ,gBAAAW,EAAC,SAAI,WAAWI,EAAO,QAAS,UAAAf,GAAO;AAAA,QACzDI;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const t=require("react/jsx-runtime"),S=require("react"),x=require("clsx"),l=require("./Icon-BVULqOJD.cjs"),y=require("./names-BJnFU_5m.cjs"),k=require("./ConfigProvider-BicoaBLj.cjs"),N="_emptyState_rk3vd_3",j="_sm_rk3vd_17",h="_md_rk3vd_23",f="_lg_rk3vd_29",q="_icon_rk3vd_37",E="_title_rk3vd_55",I="_description_rk3vd_61",g="_action_rk3vd_70",C="_pattern_rk3vd_77",e={emptyState:N,sm:j,md:h,lg:f,icon:q,title:E,description:I,action:g,pattern:C},O=new Set(y.ICON_NAMES),T=S.forwardRef(function({icon:n,title:o,description:s,action:r,size:a="md",pattern:d=!0,className:_,children:m,...u},p){const v=k.useT(),c=o??v("emptyState.title"),i=n===!1?null:n==null?t.jsx(l.Icon,{name:"FolderOpen"}):typeof n=="string"&&O.has(n)?t.jsx(l.Icon,{name:n}):n;return t.jsxs("div",{ref:p,className:x.clsx(e.emptyState,e[a],d&&e.pattern,_),...u,children:[i!=null&&t.jsx("div",{className:e.icon,"aria-hidden":!0,children:i}),c!=null&&t.jsx("div",{className:e.title,children:c}),s!=null&&t.jsx("div",{className:e.description,children:s}),r!=null&&t.jsx("div",{className:e.action,children:r}),m]})});exports.EmptyState=T;
|
|
2
|
-
//# sourceMappingURL=EmptyState-CTTOy9aY.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyState-CTTOy9aY.cjs","sources":["../src/components/EmptyState/EmptyState.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes, type ReactNode } from 'react'\nimport { clsx } from 'clsx'\nimport { useT } from '../../theme'\nimport { Icon } from '../Icon'\nimport { ICON_NAMES, type IconName } from '../../icons/names'\nimport styles from './EmptyState.module.css'\n\nexport type EmptyStateSize = 'sm' | 'md' | 'lg'\n\nconst ICON_NAME_SET = new Set<string>(ICON_NAMES)\n\nexport interface EmptyStateProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n /** Leading glyph shown in a soft circle — an `IconName`, any node, or `false` to hide it. Defaults to `FolderOpen`. */\n icon?: IconName | ReactNode | false\n /** Heading line. Defaults to `\"No Results Found\"`. */\n title?: ReactNode\n /** Muted description under the title (e.g. a hint on what to do next). */\n description?: ReactNode\n /** Action slot under the text — e.g. an \"Add Item\" or \"Clear Filters\" button. */\n action?: ReactNode\n /** Size — scales the icon, text, and vertical padding. Defaults to `md`. */\n size?: EmptyStateSize\n /**\n * Polished \"hero\" look: a faded grid backdrop (fades out toward the edges) + an elevated icon\n * (gradient + drop shadow). Defaults to `true`; pass `pattern={false}` for the flat, compact placeholder.\n */\n pattern?: boolean\n /** Extra content rendered below the action. */\n children?: ReactNode\n}\n\n/**\n * The empty-state placeholder — drop it in wherever a page, table, list, or gallery has nothing to\n * show (no records yet, no search matches). A centered, muted glyph in a soft circle + a `title` +\n * an optional `description` and `action` (e.g. a \"Add Item\" / \"Clear Filters\" button). Neutral by\n * design; pass a custom `icon` node for a tinted glyph. Token-only styling.\n */\nexport const EmptyState = forwardRef<HTMLDivElement, EmptyStateProps>(function EmptyState(\n { icon, title, description, action, size = 'md', pattern = true, className, children, ...props },\n ref,\n) {\n const t = useT()\n const resolvedTitle = title ?? t('emptyState.title')\n const renderedIcon =\n icon === false ? null : icon == null ? (\n <Icon name=\"FolderOpen\" />\n ) : typeof icon === 'string' && ICON_NAME_SET.has(icon) ? (\n <Icon name={icon as IconName} />\n ) : (\n icon\n )\n\n return (\n <div\n ref={ref}\n className={clsx(styles.emptyState, styles[size], pattern && styles.pattern, className)}\n {...props}\n >\n {renderedIcon != null && (\n <div className={styles.icon} aria-hidden>\n {renderedIcon}\n </div>\n )}\n {resolvedTitle != null && <div className={styles.title}>{resolvedTitle}</div>}\n {description != null && <div className={styles.description}>{description}</div>}\n {action != null && <div className={styles.action}>{action}</div>}\n {children}\n </div>\n )\n})\n"],"names":["ICON_NAME_SET","ICON_NAMES","EmptyState","forwardRef","icon","title","description","action","size","pattern","className","children","props","ref","t","useT","resolvedTitle","renderedIcon","jsx","Icon","jsxs","clsx","styles"],"mappings":"4cASMA,EAAgB,IAAI,IAAYC,YAAU,EA4BnCC,EAAaC,EAAAA,WAA4C,SACpE,CAAE,KAAAC,EAAM,MAAAC,EAAO,YAAAC,EAAa,OAAAC,EAAQ,KAAAC,EAAO,KAAM,QAAAC,EAAU,GAAM,UAAAC,EAAW,SAAAC,EAAU,GAAGC,CAAA,EACzFC,EACA,CACA,MAAMC,EAAIC,EAAAA,KAAA,EACJC,EAAgBX,GAASS,EAAE,kBAAkB,EAC7CG,EACJb,IAAS,GAAQ,KAAOA,GAAQ,KAC9Bc,MAACC,EAAAA,KAAA,CAAK,KAAK,YAAA,CAAa,EACtB,OAAOf,GAAS,UAAYJ,EAAc,IAAII,CAAI,EACpDc,MAACC,EAAAA,KAAA,CAAK,KAAMf,CAAA,CAAkB,EAE9BA,EAGJ,OACEgB,EAAAA,KAAC,MAAA,CACC,IAAAP,EACA,UAAWQ,EAAAA,KAAKC,EAAO,WAAYA,EAAOd,CAAI,EAAGC,GAAWa,EAAO,QAASZ,CAAS,EACpF,GAAGE,EAEH,SAAA,CAAAK,GAAgB,YACd,MAAA,CAAI,UAAWK,EAAO,KAAM,cAAW,GACrC,SAAAL,CAAA,CACH,EAEDD,GAAiB,MAAQE,EAAAA,IAAC,OAAI,UAAWI,EAAO,MAAQ,SAAAN,EAAc,EACtEV,GAAe,MAAQY,EAAAA,IAAC,OAAI,UAAWI,EAAO,YAAc,SAAAhB,EAAY,EACxEC,GAAU,MAAQW,EAAAA,IAAC,OAAI,UAAWI,EAAO,OAAS,SAAAf,EAAO,EACzDI,CAAA,CAAA,CAAA,CAGP,CAAC"}
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
import { jsxs as i, jsx as c } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as O, useState as S, useEffect as L } from "react";
|
|
3
|
-
import { clsx as $ } from "clsx";
|
|
4
|
-
import { A as V } from "./Avatar-BGPGxry2.js";
|
|
5
|
-
import { I as k } from "./IconButton-CBp8QuTO.js";
|
|
6
|
-
import { I as G } from "./Icon-DaTvzLBu.js";
|
|
7
|
-
import { a as y } from "./ConfigProvider-DL9fylMo.js";
|
|
8
|
-
const H = "_fileCard_1382m_3", K = "_avatar_1382m_24", R = "_body_1382m_29", U = "_name_1382m_38", W = "_nameBase_1382m_45", X = "_nameExt_1382m_51", z = "_type_1382m_56", J = "_download_1382m_63", P = "_sm_1382m_68", Q = "_md_1382m_79", Y = "_lg_1382m_83", o = {
|
|
9
|
-
fileCard: H,
|
|
10
|
-
avatar: K,
|
|
11
|
-
body: R,
|
|
12
|
-
name: U,
|
|
13
|
-
nameBase: W,
|
|
14
|
-
nameExt: X,
|
|
15
|
-
type: z,
|
|
16
|
-
download: J,
|
|
17
|
-
sm: P,
|
|
18
|
-
md: Q,
|
|
19
|
-
lg: Y
|
|
20
|
-
}, Z = /* @__PURE__ */ new Set([
|
|
21
|
-
"png",
|
|
22
|
-
"jpg",
|
|
23
|
-
"jpeg",
|
|
24
|
-
"webp",
|
|
25
|
-
"svg",
|
|
26
|
-
"gif",
|
|
27
|
-
"avif",
|
|
28
|
-
"bmp",
|
|
29
|
-
"ico",
|
|
30
|
-
"heic"
|
|
31
|
-
]), ee = {
|
|
32
|
-
pdf: "DocumentText",
|
|
33
|
-
doc: "DocumentText",
|
|
34
|
-
docx: "DocumentText",
|
|
35
|
-
txt: "DocumentText",
|
|
36
|
-
rtf: "DocumentText",
|
|
37
|
-
md: "DocumentText",
|
|
38
|
-
csv: "DocumentText",
|
|
39
|
-
xls: "DocumentText",
|
|
40
|
-
xlsx: "DocumentText",
|
|
41
|
-
json: "DocumentCode",
|
|
42
|
-
xml: "DocumentCode",
|
|
43
|
-
zip: "Folder",
|
|
44
|
-
rar: "Folder",
|
|
45
|
-
"7z": "Folder",
|
|
46
|
-
mp4: "VideoSquare",
|
|
47
|
-
mov: "VideoSquare",
|
|
48
|
-
webm: "VideoSquare",
|
|
49
|
-
mp3: "MusicSquare",
|
|
50
|
-
wav: "MusicSquare"
|
|
51
|
-
};
|
|
52
|
-
function te(n, e) {
|
|
53
|
-
const t = n.lastIndexOf(".");
|
|
54
|
-
return t > 0 && n.length - t <= 7 ? n.slice(t + 1).toLowerCase() : e && e.includes("/") ? e.slice(e.indexOf("/") + 1).toLowerCase() : "";
|
|
55
|
-
}
|
|
56
|
-
function ne(n) {
|
|
57
|
-
const e = n.lastIndexOf(".");
|
|
58
|
-
return e > 0 && n.length - e <= 7 ? { base: n.slice(0, e), ext: n.slice(e) } : { base: n, ext: "" };
|
|
59
|
-
}
|
|
60
|
-
function v(n) {
|
|
61
|
-
if (!Number.isFinite(n) || n < 0) return "";
|
|
62
|
-
if (n < 1024) return `${n} B`;
|
|
63
|
-
const e = ["KB", "MB", "GB", "TB"];
|
|
64
|
-
let t = n / 1024, a = 0;
|
|
65
|
-
for (; t >= 1024 && a < e.length - 1; )
|
|
66
|
-
t /= 1024, a += 1;
|
|
67
|
-
return `${t < 10 ? t.toFixed(1) : Math.round(t)} ${e[a]}`;
|
|
68
|
-
}
|
|
69
|
-
const de = O(function({
|
|
70
|
-
name: e,
|
|
71
|
-
src: t,
|
|
72
|
-
type: a,
|
|
73
|
-
image: w,
|
|
74
|
-
fileSize: r,
|
|
75
|
-
fetchSize: u = !1,
|
|
76
|
-
meta: C,
|
|
77
|
-
color: f = "accent",
|
|
78
|
-
size: m = "md",
|
|
79
|
-
downloadable: b = !0,
|
|
80
|
-
onDownload: d,
|
|
81
|
-
className: T,
|
|
82
|
-
style: B,
|
|
83
|
-
...D
|
|
84
|
-
}, N) {
|
|
85
|
-
const E = y(), l = te(e, a), _ = w ?? ((a == null ? void 0 : a.startsWith("image/")) || Z.has(l)), { base: I, ext: x } = ne(e), [h, F] = S(null);
|
|
86
|
-
L(() => {
|
|
87
|
-
if (!u || r != null || !t || typeof fetch > "u") return;
|
|
88
|
-
let s = !1;
|
|
89
|
-
return fetch(t, { method: "HEAD" }).then((A) => {
|
|
90
|
-
const g = A.headers.get("content-length");
|
|
91
|
-
!s && g && F(Number(g));
|
|
92
|
-
}).catch(() => {
|
|
93
|
-
}), () => {
|
|
94
|
-
s = !0;
|
|
95
|
-
};
|
|
96
|
-
}, [u, r, t]);
|
|
97
|
-
const j = r != null ? typeof r == "number" ? v(r) : r : h != null ? v(h) : "", q = [l ? l.toUpperCase() : "", j].filter(Boolean).join(" · "), p = C ?? (q || null), M = () => {
|
|
98
|
-
if (d) return d();
|
|
99
|
-
if (!t) return;
|
|
100
|
-
const s = document.createElement("a");
|
|
101
|
-
s.href = t, s.download = e, s.rel = "noopener", s.click();
|
|
102
|
-
};
|
|
103
|
-
return /* @__PURE__ */ i(
|
|
104
|
-
"div",
|
|
105
|
-
{
|
|
106
|
-
ref: N,
|
|
107
|
-
className: $(o.fileCard, o[m], T),
|
|
108
|
-
style: { "--tz-btn-rgb": `var(--tz-color-${f}-rgb)`, ...B },
|
|
109
|
-
...D,
|
|
110
|
-
children: [
|
|
111
|
-
/* @__PURE__ */ c(
|
|
112
|
-
V,
|
|
113
|
-
{
|
|
114
|
-
className: o.avatar,
|
|
115
|
-
src: _ ? t : void 0,
|
|
116
|
-
icon: _ ? void 0 : ee[l] ?? "Document",
|
|
117
|
-
name: e,
|
|
118
|
-
shape: "square",
|
|
119
|
-
size: m,
|
|
120
|
-
color: f
|
|
121
|
-
}
|
|
122
|
-
),
|
|
123
|
-
/* @__PURE__ */ i("div", { className: o.body, children: [
|
|
124
|
-
/* @__PURE__ */ i("span", { className: o.name, title: e, children: [
|
|
125
|
-
/* @__PURE__ */ c("span", { className: o.nameBase, children: I }),
|
|
126
|
-
x && /* @__PURE__ */ c("span", { className: o.nameExt, children: x })
|
|
127
|
-
] }),
|
|
128
|
-
p != null && /* @__PURE__ */ c("span", { className: o.type, children: p })
|
|
129
|
-
] }),
|
|
130
|
-
b && (t || d) && /* @__PURE__ */ c(
|
|
131
|
-
k,
|
|
132
|
-
{
|
|
133
|
-
variant: "filled",
|
|
134
|
-
size: m === "lg" ? "md" : "sm",
|
|
135
|
-
className: o.download,
|
|
136
|
-
"aria-label": E("fileCard.download", { name: e }),
|
|
137
|
-
onClick: M,
|
|
138
|
-
children: /* @__PURE__ */ c(G, { name: "ImportArrow" })
|
|
139
|
-
}
|
|
140
|
-
)
|
|
141
|
-
]
|
|
142
|
-
}
|
|
143
|
-
);
|
|
144
|
-
});
|
|
145
|
-
export {
|
|
146
|
-
de as F
|
|
147
|
-
};
|
|
148
|
-
//# sourceMappingURL=FileCard-BmPEEcue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FileCard-BmPEEcue.js","sources":["../src/components/FileCard/FileCard.tsx"],"sourcesContent":["import {\n forwardRef,\n useEffect,\n useState,\n type CSSProperties,\n type HTMLAttributes,\n type ReactNode,\n} from 'react'\nimport { clsx } from 'clsx'\nimport { useT, type ThemeColor } from '../../theme'\nimport { Avatar, type AvatarSize } from '../Avatar'\nimport { IconButton } from '../IconButton'\nimport { Icon } from '../Icon'\nimport type { IconName } from '../../icons/names'\nimport styles from './FileCard.module.css'\n\nexport type FileCardSize = AvatarSize\n\nconst IMAGE_EXTS = new Set([\n 'png',\n 'jpg',\n 'jpeg',\n 'webp',\n 'svg',\n 'gif',\n 'avif',\n 'bmp',\n 'ico',\n 'heic',\n])\n\n// a leading icon per file family (non-image); everything else gets the generic document icon\nconst FILE_ICONS: Record<string, IconName> = {\n pdf: 'DocumentText',\n doc: 'DocumentText',\n docx: 'DocumentText',\n txt: 'DocumentText',\n rtf: 'DocumentText',\n md: 'DocumentText',\n csv: 'DocumentText',\n xls: 'DocumentText',\n xlsx: 'DocumentText',\n json: 'DocumentCode',\n xml: 'DocumentCode',\n zip: 'Folder',\n rar: 'Folder',\n '7z': 'Folder',\n mp4: 'VideoSquare',\n mov: 'VideoSquare',\n webm: 'VideoSquare',\n mp3: 'MusicSquare',\n wav: 'MusicSquare',\n}\n\n/** The lowercased extension from a file name, else the subtype from a MIME `type` (`image/png` → `png`). */\nfunction extensionOf(name: string, type?: string): string {\n const dot = name.lastIndexOf('.')\n if (dot > 0 && name.length - dot <= 7) return name.slice(dot + 1).toLowerCase()\n if (type && type.includes('/')) return type.slice(type.indexOf('/') + 1).toLowerCase()\n return ''\n}\n\n/** Split `report.pdf` into `{ base: 'report', ext: '.pdf' }` so the base can ellipsize and the type stays. */\nfunction splitName(name: string): { base: string; ext: string } {\n const dot = name.lastIndexOf('.')\n return dot > 0 && name.length - dot <= 7\n ? { base: name.slice(0, dot), ext: name.slice(dot) }\n : { base: name, ext: '' }\n}\n\n/** Human-readable byte size — `2411724` → `\"2.3 MB\"`. */\nfunction formatBytes(bytes: number): string {\n if (!Number.isFinite(bytes) || bytes < 0) return ''\n if (bytes < 1024) return `${bytes} B`\n const units = ['KB', 'MB', 'GB', 'TB']\n let value = bytes / 1024\n let i = 0\n while (value >= 1024 && i < units.length - 1) {\n value /= 1024\n i += 1\n }\n return `${value < 10 ? value.toFixed(1) : Math.round(value)} ${units[i]}`\n}\n\nexport interface FileCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'color'> {\n /** File name — shown middle-truncated (`test-file-na….pdf`) so the extension always stays visible. */\n name: string\n /** File URL — the download target and, for an image, the thumbnail `src`. */\n src?: string\n /** File type — an extension (`'pdf'`) or MIME (`'image/png'`). Derived from `name` when omitted. */\n type?: string\n /** Force image vs. file rendering. Inferred from `type` / `name` / `src` when omitted. */\n image?: boolean\n /** File size — a **bytes** number (auto-formatted to `\"2.3 MB\"`) or a preformatted string. Shown after the type. */\n fileSize?: number | string\n /**\n * When no `fileSize` is given, fetch it from `src` via a `HEAD` request (reads `Content-Length`). Off\n * by default — it's a network call and needs CORS to expose the header; prefer passing `fileSize` from\n * the backend. Fails silently (no size shown) when unavailable.\n */\n fetchSize?: boolean\n /** Meta line under the name — overrides the derived `TYPE · size`. */\n meta?: ReactNode\n /** Theme token tinting the avatar / file-icon box. Defaults to `accent`. */\n color?: ThemeColor\n /** Size — scales the avatar, text and padding. Defaults to `md`. */\n size?: FileCardSize\n /** Show the download control (only when there's a `src` or `onDownload`). Defaults to `true`. */\n downloadable?: boolean\n /** Custom download handler — replaces the default (a download of `src`). */\n onDownload?: () => void\n}\n\n/**\n * A compact, read-only **file card** for displaying a file that already exists (e.g. from the backend) —\n * an image or a document (`pdf` / `docx` / `csv` / `svg` / …). Shows a leading **`Avatar`** (the image\n * thumbnail via `src`, or a type-based file icon in a tinted square), the **name** middle-truncated so\n * the extension is never lost, the **type** underneath, and a **download** control. Simple to drop in —\n * pass `name` (+ `src` for the thumbnail/download). Not to be confused with `FileUploader` (which\n * *collects* files to upload); this only *displays* one. Token-only styling.\n *\n * @example\n * <FileCard name=\"annual-report.pdf\" src=\"/files/annual-report.pdf\" />\n * <FileCard name=\"avatar.png\" src={url} meta=\"240 KB\" />\n */\nexport const FileCard = forwardRef<HTMLDivElement, FileCardProps>(function FileCard(\n {\n name,\n src,\n type,\n image,\n fileSize,\n fetchSize = false,\n meta,\n color = 'accent',\n size = 'md',\n downloadable = true,\n onDownload,\n className,\n style,\n ...props\n },\n ref,\n) {\n const t = useT()\n const ext = extensionOf(name, type)\n const isImage = image ?? (type?.startsWith('image/') || IMAGE_EXTS.has(ext))\n const { base, ext: nameExt } = splitName(name)\n\n // optional auto size via a HEAD request (only when opted in and no explicit fileSize)\n const [fetchedSize, setFetchedSize] = useState<number | null>(null)\n useEffect(() => {\n if (!fetchSize || fileSize != null || !src || typeof fetch === 'undefined') return\n let cancelled = false\n fetch(src, { method: 'HEAD' })\n .then((res) => {\n const len = res.headers.get('content-length')\n if (!cancelled && len) setFetchedSize(Number(len))\n })\n .catch(() => {})\n return () => {\n cancelled = true\n }\n }, [fetchSize, fileSize, src])\n\n const sizeText =\n fileSize != null\n ? typeof fileSize === 'number'\n ? formatBytes(fileSize)\n : fileSize\n : fetchedSize != null\n ? formatBytes(fetchedSize)\n : ''\n // \"TYPE · 2.3 MB\" (either part optional) — overridden wholesale by `meta`\n const derivedMeta = [ext ? ext.toUpperCase() : '', sizeText].filter(Boolean).join(' · ')\n const metaLine = meta ?? (derivedMeta || null)\n\n const handleDownload = () => {\n if (onDownload) return onDownload()\n if (!src) return\n const a = document.createElement('a')\n a.href = src\n a.download = name\n a.rel = 'noopener'\n a.click()\n }\n\n return (\n <div\n ref={ref}\n className={clsx(styles.fileCard, styles[size], className)}\n style={{ '--tz-btn-rgb': `var(--tz-color-${color}-rgb)`, ...style } as CSSProperties}\n {...props}\n >\n <Avatar\n className={styles.avatar}\n src={isImage ? src : undefined}\n icon={isImage ? undefined : (FILE_ICONS[ext] ?? 'Document')}\n name={name}\n shape=\"square\"\n size={size}\n color={color}\n />\n <div className={styles.body}>\n <span className={styles.name} title={name}>\n <span className={styles.nameBase}>{base}</span>\n {nameExt && <span className={styles.nameExt}>{nameExt}</span>}\n </span>\n {metaLine != null && <span className={styles.type}>{metaLine}</span>}\n </div>\n {downloadable && (src || onDownload) && (\n <IconButton\n variant=\"filled\"\n size={size === 'lg' ? 'md' : 'sm'}\n className={styles.download}\n aria-label={t('fileCard.download', { name })}\n onClick={handleDownload}\n >\n <Icon name=\"ImportArrow\" />\n </IconButton>\n )}\n </div>\n )\n})\n"],"names":["IMAGE_EXTS","FILE_ICONS","extensionOf","name","type","dot","splitName","formatBytes","bytes","units","value","i","FileCard","forwardRef","src","image","fileSize","fetchSize","meta","color","size","downloadable","onDownload","className","style","props","ref","t","useT","ext","isImage","base","nameExt","fetchedSize","setFetchedSize","useState","useEffect","cancelled","res","len","sizeText","derivedMeta","metaLine","handleDownload","a","jsxs","clsx","styles","jsx","Avatar","IconButton","Icon"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const o=require("react/jsx-runtime"),u=require("react"),O=require("clsx"),S=require("./Avatar-D_YivyqV.cjs"),L=require("./IconButton-B87ipBK3.cjs"),$=require("./Icon-BVULqOJD.cjs"),V=require("./ConfigProvider-BicoaBLj.cjs"),k="_fileCard_1382m_3",G="_avatar_1382m_24",R="_body_1382m_29",y="_name_1382m_38",H="_nameBase_1382m_45",K="_nameExt_1382m_51",P="_type_1382m_56",U="_download_1382m_63",W="_sm_1382m_68",X="_md_1382m_79",z="_lg_1382m_83",s={fileCard:k,avatar:G,body:R,name:y,nameBase:H,nameExt:K,type:P,download:U,sm:W,md:X,lg:z},J=new Set(["png","jpg","jpeg","webp","svg","gif","avif","bmp","ico","heic"]),Q={pdf:"DocumentText",doc:"DocumentText",docx:"DocumentText",txt:"DocumentText",rtf:"DocumentText",md:"DocumentText",csv:"DocumentText",xls:"DocumentText",xlsx:"DocumentText",json:"DocumentCode",xml:"DocumentCode",zip:"Folder",rar:"Folder","7z":"Folder",mp4:"VideoSquare",mov:"VideoSquare",webm:"VideoSquare",mp3:"MusicSquare",wav:"MusicSquare"};function Y(n,e){const t=n.lastIndexOf(".");return t>0&&n.length-t<=7?n.slice(t+1).toLowerCase():e&&e.includes("/")?e.slice(e.indexOf("/")+1).toLowerCase():""}function Z(n){const e=n.lastIndexOf(".");return e>0&&n.length-e<=7?{base:n.slice(0,e),ext:n.slice(e)}:{base:n,ext:""}}function p(n){if(!Number.isFinite(n)||n<0)return"";if(n<1024)return`${n} B`;const e=["KB","MB","GB","TB"];let t=n/1024,a=0;for(;t>=1024&&a<e.length-1;)t/=1024,a+=1;return`${t<10?t.toFixed(1):Math.round(t)} ${e[a]}`}const ee=u.forwardRef(function({name:e,src:t,type:a,image:C,fileSize:r,fetchSize:m=!1,meta:j,color:x="accent",size:d="md",downloadable:w=!0,onDownload:i,className:b,style:q,...B},T){const D=V.useT(),l=Y(e,a),f=C??((a==null?void 0:a.startsWith("image/"))||J.has(l)),{base:N,ext:_}=Z(e),[h,E]=u.useState(null);u.useEffect(()=>{if(!m||r!=null||!t||typeof fetch>"u")return;let c=!1;return fetch(t,{method:"HEAD"}).then(A=>{const g=A.headers.get("content-length");!c&&g&&E(Number(g))}).catch(()=>{}),()=>{c=!0}},[m,r,t]);const I=r!=null?typeof r=="number"?p(r):r:h!=null?p(h):"",F=[l?l.toUpperCase():"",I].filter(Boolean).join(" · "),v=j??(F||null),M=()=>{if(i)return i();if(!t)return;const c=document.createElement("a");c.href=t,c.download=e,c.rel="noopener",c.click()};return o.jsxs("div",{ref:T,className:O.clsx(s.fileCard,s[d],b),style:{"--tz-btn-rgb":`var(--tz-color-${x}-rgb)`,...q},...B,children:[o.jsx(S.Avatar,{className:s.avatar,src:f?t:void 0,icon:f?void 0:Q[l]??"Document",name:e,shape:"square",size:d,color:x}),o.jsxs("div",{className:s.body,children:[o.jsxs("span",{className:s.name,title:e,children:[o.jsx("span",{className:s.nameBase,children:N}),_&&o.jsx("span",{className:s.nameExt,children:_})]}),v!=null&&o.jsx("span",{className:s.type,children:v})]}),w&&(t||i)&&o.jsx(L.IconButton,{variant:"filled",size:d==="lg"?"md":"sm",className:s.download,"aria-label":D("fileCard.download",{name:e}),onClick:M,children:o.jsx($.Icon,{name:"ImportArrow"})})]})});exports.FileCard=ee;
|
|
2
|
-
//# sourceMappingURL=FileCard-C4BkGMtK.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FileCard-C4BkGMtK.cjs","sources":["../src/components/FileCard/FileCard.tsx"],"sourcesContent":["import {\n forwardRef,\n useEffect,\n useState,\n type CSSProperties,\n type HTMLAttributes,\n type ReactNode,\n} from 'react'\nimport { clsx } from 'clsx'\nimport { useT, type ThemeColor } from '../../theme'\nimport { Avatar, type AvatarSize } from '../Avatar'\nimport { IconButton } from '../IconButton'\nimport { Icon } from '../Icon'\nimport type { IconName } from '../../icons/names'\nimport styles from './FileCard.module.css'\n\nexport type FileCardSize = AvatarSize\n\nconst IMAGE_EXTS = new Set([\n 'png',\n 'jpg',\n 'jpeg',\n 'webp',\n 'svg',\n 'gif',\n 'avif',\n 'bmp',\n 'ico',\n 'heic',\n])\n\n// a leading icon per file family (non-image); everything else gets the generic document icon\nconst FILE_ICONS: Record<string, IconName> = {\n pdf: 'DocumentText',\n doc: 'DocumentText',\n docx: 'DocumentText',\n txt: 'DocumentText',\n rtf: 'DocumentText',\n md: 'DocumentText',\n csv: 'DocumentText',\n xls: 'DocumentText',\n xlsx: 'DocumentText',\n json: 'DocumentCode',\n xml: 'DocumentCode',\n zip: 'Folder',\n rar: 'Folder',\n '7z': 'Folder',\n mp4: 'VideoSquare',\n mov: 'VideoSquare',\n webm: 'VideoSquare',\n mp3: 'MusicSquare',\n wav: 'MusicSquare',\n}\n\n/** The lowercased extension from a file name, else the subtype from a MIME `type` (`image/png` → `png`). */\nfunction extensionOf(name: string, type?: string): string {\n const dot = name.lastIndexOf('.')\n if (dot > 0 && name.length - dot <= 7) return name.slice(dot + 1).toLowerCase()\n if (type && type.includes('/')) return type.slice(type.indexOf('/') + 1).toLowerCase()\n return ''\n}\n\n/** Split `report.pdf` into `{ base: 'report', ext: '.pdf' }` so the base can ellipsize and the type stays. */\nfunction splitName(name: string): { base: string; ext: string } {\n const dot = name.lastIndexOf('.')\n return dot > 0 && name.length - dot <= 7\n ? { base: name.slice(0, dot), ext: name.slice(dot) }\n : { base: name, ext: '' }\n}\n\n/** Human-readable byte size — `2411724` → `\"2.3 MB\"`. */\nfunction formatBytes(bytes: number): string {\n if (!Number.isFinite(bytes) || bytes < 0) return ''\n if (bytes < 1024) return `${bytes} B`\n const units = ['KB', 'MB', 'GB', 'TB']\n let value = bytes / 1024\n let i = 0\n while (value >= 1024 && i < units.length - 1) {\n value /= 1024\n i += 1\n }\n return `${value < 10 ? value.toFixed(1) : Math.round(value)} ${units[i]}`\n}\n\nexport interface FileCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'color'> {\n /** File name — shown middle-truncated (`test-file-na….pdf`) so the extension always stays visible. */\n name: string\n /** File URL — the download target and, for an image, the thumbnail `src`. */\n src?: string\n /** File type — an extension (`'pdf'`) or MIME (`'image/png'`). Derived from `name` when omitted. */\n type?: string\n /** Force image vs. file rendering. Inferred from `type` / `name` / `src` when omitted. */\n image?: boolean\n /** File size — a **bytes** number (auto-formatted to `\"2.3 MB\"`) or a preformatted string. Shown after the type. */\n fileSize?: number | string\n /**\n * When no `fileSize` is given, fetch it from `src` via a `HEAD` request (reads `Content-Length`). Off\n * by default — it's a network call and needs CORS to expose the header; prefer passing `fileSize` from\n * the backend. Fails silently (no size shown) when unavailable.\n */\n fetchSize?: boolean\n /** Meta line under the name — overrides the derived `TYPE · size`. */\n meta?: ReactNode\n /** Theme token tinting the avatar / file-icon box. Defaults to `accent`. */\n color?: ThemeColor\n /** Size — scales the avatar, text and padding. Defaults to `md`. */\n size?: FileCardSize\n /** Show the download control (only when there's a `src` or `onDownload`). Defaults to `true`. */\n downloadable?: boolean\n /** Custom download handler — replaces the default (a download of `src`). */\n onDownload?: () => void\n}\n\n/**\n * A compact, read-only **file card** for displaying a file that already exists (e.g. from the backend) —\n * an image or a document (`pdf` / `docx` / `csv` / `svg` / …). Shows a leading **`Avatar`** (the image\n * thumbnail via `src`, or a type-based file icon in a tinted square), the **name** middle-truncated so\n * the extension is never lost, the **type** underneath, and a **download** control. Simple to drop in —\n * pass `name` (+ `src` for the thumbnail/download). Not to be confused with `FileUploader` (which\n * *collects* files to upload); this only *displays* one. Token-only styling.\n *\n * @example\n * <FileCard name=\"annual-report.pdf\" src=\"/files/annual-report.pdf\" />\n * <FileCard name=\"avatar.png\" src={url} meta=\"240 KB\" />\n */\nexport const FileCard = forwardRef<HTMLDivElement, FileCardProps>(function FileCard(\n {\n name,\n src,\n type,\n image,\n fileSize,\n fetchSize = false,\n meta,\n color = 'accent',\n size = 'md',\n downloadable = true,\n onDownload,\n className,\n style,\n ...props\n },\n ref,\n) {\n const t = useT()\n const ext = extensionOf(name, type)\n const isImage = image ?? (type?.startsWith('image/') || IMAGE_EXTS.has(ext))\n const { base, ext: nameExt } = splitName(name)\n\n // optional auto size via a HEAD request (only when opted in and no explicit fileSize)\n const [fetchedSize, setFetchedSize] = useState<number | null>(null)\n useEffect(() => {\n if (!fetchSize || fileSize != null || !src || typeof fetch === 'undefined') return\n let cancelled = false\n fetch(src, { method: 'HEAD' })\n .then((res) => {\n const len = res.headers.get('content-length')\n if (!cancelled && len) setFetchedSize(Number(len))\n })\n .catch(() => {})\n return () => {\n cancelled = true\n }\n }, [fetchSize, fileSize, src])\n\n const sizeText =\n fileSize != null\n ? typeof fileSize === 'number'\n ? formatBytes(fileSize)\n : fileSize\n : fetchedSize != null\n ? formatBytes(fetchedSize)\n : ''\n // \"TYPE · 2.3 MB\" (either part optional) — overridden wholesale by `meta`\n const derivedMeta = [ext ? ext.toUpperCase() : '', sizeText].filter(Boolean).join(' · ')\n const metaLine = meta ?? (derivedMeta || null)\n\n const handleDownload = () => {\n if (onDownload) return onDownload()\n if (!src) return\n const a = document.createElement('a')\n a.href = src\n a.download = name\n a.rel = 'noopener'\n a.click()\n }\n\n return (\n <div\n ref={ref}\n className={clsx(styles.fileCard, styles[size], className)}\n style={{ '--tz-btn-rgb': `var(--tz-color-${color}-rgb)`, ...style } as CSSProperties}\n {...props}\n >\n <Avatar\n className={styles.avatar}\n src={isImage ? src : undefined}\n icon={isImage ? undefined : (FILE_ICONS[ext] ?? 'Document')}\n name={name}\n shape=\"square\"\n size={size}\n color={color}\n />\n <div className={styles.body}>\n <span className={styles.name} title={name}>\n <span className={styles.nameBase}>{base}</span>\n {nameExt && <span className={styles.nameExt}>{nameExt}</span>}\n </span>\n {metaLine != null && <span className={styles.type}>{metaLine}</span>}\n </div>\n {downloadable && (src || onDownload) && (\n <IconButton\n variant=\"filled\"\n size={size === 'lg' ? 'md' : 'sm'}\n className={styles.download}\n aria-label={t('fileCard.download', { name })}\n onClick={handleDownload}\n >\n <Icon name=\"ImportArrow\" />\n </IconButton>\n )}\n </div>\n )\n})\n"],"names":["IMAGE_EXTS","FILE_ICONS","extensionOf","name","type","dot","splitName","formatBytes","bytes","units","value","i","FileCard","forwardRef","src","image","fileSize","fetchSize","meta","color","size","downloadable","onDownload","className","style","props","ref","t","useT","ext","isImage","base","nameExt","fetchedSize","setFetchedSize","useState","useEffect","cancelled","res","len","sizeText","derivedMeta","metaLine","handleDownload","a","jsxs","clsx","styles","jsx","Avatar","IconButton","Icon"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const t=require("react/jsx-runtime"),d=require("react"),H=require("clsx"),W=require("@dnd-kit/core"),se=require("@dnd-kit/sortable"),Nt=require("@dnd-kit/utilities"),kt=require("@formkit/auto-animate/react"),zt=require("react-dropzone"),Ft=require("./formContext-bTWrqdEV.cjs"),He=require("./toastStore-B4Tk2Xk7.cjs"),C=require("./Icon-BVULqOJD.cjs"),ae=require("./Typography-BFatE1_A.cjs"),Rt=require("react-image-crop"),Ke=require("./Button-BZ_o-akc.cjs"),Ve=require("./Modal--e2qGisF.cjs"),Ct=require("./TextField-B785pRgK.cjs"),ie=require("./ConfigProvider-BicoaBLj.cjs"),Se=require("./TextField.module-DsNCo8vN.cjs"),Dt="_cropSection_1j2zs_4",Mt="_cropHead_1j2zs_10",Pt="_cropStage_1j2zs_16",qt="_crop_1j2zs_4",Bt="_cropImg_1j2zs_30",$t="_altFields_1j2zs_35",Y={cropSection:Dt,cropHead:Mt,cropStage:Pt,crop:qt,cropImg:Bt,altFields:$t};function Ot({mode:n,name:o,imageUrl:u,mimeType:h,editLocales:v,initialDraft:U,onClose:I,onSave:D}){const g=ie.useT(),k=d.useRef(null),[_,M]=d.useState(),[a,P]=d.useState(null),[q,K]=d.useState(null),[V,B]=d.useState(U),[$,J]=d.useState(null),[E,y]=d.useState(!1),Q=(i,w)=>{M(w);const f=k.current;if(f&&f.width>0&&i.width>=1&&i.height>=1){const O=f.naturalWidth/f.width,G=f.naturalHeight/f.height;P({x:Math.round(i.x*O),y:Math.round(i.y*G),width:Math.round(i.width*O),height:Math.round(i.height*G)})}else P(null)},S=async()=>{const i=k.current;if(!i||!a||a.width<1||a.height<1)return;const w=document.createElement("canvas");w.width=a.width,w.height=a.height;const f=w.getContext("2d");if(!f)return;f.imageSmoothingEnabled=!1,f.drawImage(i,a.x,a.y,a.width,a.height,0,0,a.width,a.height);const O=await new Promise(G=>w.toBlob(G,h,1));if(!O)throw new Error("canvas.toBlob returned null");return new File([O],o,{type:h,lastModified:Date.now()})},X=async()=>{if(n==="altText"){D({draft:V});return}y(!0);try{const i=a&&a.width>=1&&a.height>=1?await S():void 0;D({croppedFile:i})}catch{J(g("fileUploader.cropError")),y(!1)}};return t.jsx(Ve.Modal,{open:!0,onClose:I,size:n==="crop"?"lg":"sm",icon:n==="crop"?"Crop":"Text",title:g(n==="crop"?"fileUploader.cropTitle":"fileUploader.altTitle"),description:o,footer:t.jsxs(t.Fragment,{children:[t.jsx(Ke.Button,{variant:"text",color:"accent",size:"sm",onClick:I,disabled:E,children:g("common.cancel")}),t.jsx(Ke.Button,{size:"sm",onClick:X,loading:E,children:g("common.save")})]}),children:n==="crop"?t.jsxs("div",{className:Y.cropSection,children:[t.jsxs("div",{className:Y.cropHead,children:[t.jsx(ae.Typography,{variant:"bodySmall",color:"muted",children:g("fileUploader.cropHint")}),t.jsx(ae.Typography,{variant:"bodySmall",color:a?"text":"muted",children:a?`${a.width} × ${a.height} px`:q?`${q.w} × ${q.h} px`:""})]}),t.jsx("div",{className:Y.cropStage,children:t.jsx(Rt,{crop:_,onChange:Q,className:Y.crop,children:t.jsx("img",{ref:k,src:u??void 0,alt:"",className:Y.cropImg,onLoad:i=>K({w:i.currentTarget.naturalWidth,h:i.currentTarget.naturalHeight})})})}),$&&t.jsx(ae.Typography,{variant:"bodySmall",color:"error",children:$})]}):t.jsx("div",{className:Y.altFields,children:v.map(i=>t.jsx(Ct.TextField,{label:i.label??(i.code||g("fileUploader.altTitle")),placeholder:g("fileUploader.altPlaceholder"),value:V[i.code]??"",onChange:w=>B(f=>({...f,[i.code]:w.target.value}))},i.code))})})}const Lt="_backdrop_uqdv2_5",At="_media_uqdv2_9",Wt="_mediaSvg_uqdv2_19",Ht="_close_uqdv2_27",re={backdrop:Lt,media:At,mediaSvg:Wt,close:Ht};function Kt({url:n,isVideo:o,isSvg:u,name:h,onClose:v}){const U=ie.useT();return t.jsxs(Ve.Overlay,{open:!0,onClose:v,dim:.85,className:re.backdrop,role:"dialog","aria-modal":"true","aria-label":U("fileUploader.preview",{name:h}),children:[t.jsx("button",{type:"button",className:re.close,"aria-label":U("fileUploader.closePreview"),onClick:v,autoFocus:!0,children:t.jsx(C.Icon,{name:"Close",size:"lg"})}),o?t.jsx("video",{src:n,className:re.media,controls:!0,playsInline:!0}):t.jsx("img",{src:n,alt:h,className:H.clsx(re.media,u&&re.mediaSvg)})]})}const Vt="_root_1tj39_4",Gt="_fullWidth_1tj39_9",Yt="_disabled_1tj39_14",Jt="_dropzone_1tj39_17",Qt="_dropText_1tj39_41",Xt="_dropping_1tj39_56",Zt="_error_1tj39_61",eo="_dropIcon_1tj39_65",to="_prompt_1tj39_77",oo="_accent_1tj39_82",no="_hint_1tj39_87",ro="_list_1tj39_93",so="_populated_1tj39_102",lo="_tile_1tj39_120",ao="_grabbable_1tj39_129",io="_entering_1tj39_138",co="_dragging_1tj39_141",uo="_tileError_1tj39_147",fo="_tileImg_1tj39_152",po="_tileFallback_1tj39_159",ho="_tilePlay_1tj39_169",go="_tileTop_1tj39_188",mo="_tileBottom_1tj39_198",_o="_tileRemove_1tj39_208",xo="_tileAction_1tj39_209",jo="_tileActionEnd_1tj39_244",bo="_tileText_1tj39_247",vo="_name_1tj39_254",yo="_nameBase_1tj39_261",So="_nameExt_1tj39_267",wo="_tileMeta_1tj39_271",To="_metaError_1tj39_275",s={root:Vt,fullWidth:Gt,disabled:Yt,dropzone:Jt,dropText:Qt,dropping:Xt,error:Zt,dropIcon:eo,prompt:to,accent:oo,hint:no,list:ro,populated:so,tile:lo,grabbable:ao,entering:io,dragging:co,tileError:uo,tileImg:fo,tileFallback:po,tilePlay:ho,tileTop:go,tileBottom:mo,tileRemove:_o,tileAction:xo,tileActionEnd:jo,tileText:bo,name:vo,nameBase:yo,nameExt:So,tileMeta:wo,metaError:To},Ge=()=>typeof URL<"u"&&typeof URL.createObjectURL=="function",Uo=300,Io=(n,o,u,h)=>{let v=[{},{}],U=Uo;if(o==="add")U=0;else if(o==="remove")v=[{opacity:1,transform:"translateY(0)"},{opacity:0,transform:"translateY(-8px)"}];else if(u&&h){const I=u.left-h.left,D=u.top-h.top;v=[{transform:`translate(${I}px, ${D}px)`},{transform:"translate(0, 0)"}]}return new KeyframeEffect(n,v,{duration:U,easing:"ease-out"})},le=n=>{if(n<1024)return`${n} B`;const o=["KB","MB","GB","TB"];let u=n/1024,h=0;for(;u>=1024&&h<o.length-1;)u/=1024,h+=1;return`${u.toFixed(u<10?1:0)} ${o[h]}`},Eo=n=>{if(typeof n=="number")return n;const o=/^\s*([\d.]+)\s*(b|kb|mb|gb|tb)?\s*$/i.exec(n);if(!o)return;const u={b:1,kb:1024,mb:1024**2,gb:1024**3,tb:1024**4};return parseFloat(o[1])*(u[(o[2]||"b").toLowerCase()]??1)},Ye=n=>`f:${n.name}:${n.size}:${n.lastModified}`,No=n=>n.file?Ye(n.file):`s:${n.source??""}`,pe=n=>n.file?n.file.name:n.source?/^(data|blob):/i.test(n.source)?"File":n.source.split(/[?#]/)[0].split("/").pop()||"File":"File",we=n=>{if(n.file)return n.file.type.startsWith("image/");const o=n.source;return o?/^data:image\//i.test(o)?!0:/^data:/i.test(o)?!1:/\.(png|jpe?g|gif|webp|avif|svg|bmp|ico|heic|heif)(?:[?#]|$)/i.test(o)||!/\.[a-z0-9]{1,8}(?:[?#]|$)/i.test(o):!1},Te=n=>{if(n.file)return n.file.type.startsWith("video/");const o=n.source;return o?/^data:video\//i.test(o)||/\.(mp4|webm|ogg|ogv|mov|m4v|avi|mkv)(?:[?#]|$)/i.test(o):!1},ko=n=>{if(typeof document>"u")return;const o=document.createElement("a");if(o.style.display="none",n.file){if(!Ge())return;const u=URL.createObjectURL(n.file);o.href=u,o.download=n.file.name,document.body.appendChild(o),o.click(),o.remove(),setTimeout(()=>URL.revokeObjectURL(u),1e3)}else n.source&&(o.href=n.source,o.download=pe(n),o.target="_blank",o.rel="noopener",document.body.appendChild(o),o.click(),o.remove())},zo=n=>{const o=n.lastIndexOf(".");return o>0&&n.length-o<=7?{base:n.slice(0,o),ext:n.slice(o)}:{base:n,ext:""}};function Fo({id:n,item:o,preview:u,sortable:h,entering:v,disabled:U,error:I,onRemove:D,onCrop:g,onAltText:k,onDownload:_,onView:M,onPreviewError:a}){const{attributes:P,listeners:q,setNodeRef:K,transform:V,transition:B,isDragging:$}=se.useSortable({id:n,disabled:!h}),J={transform:Nt.CSS.Transform.toString(V),transition:B},E=ie.useT(),y=pe(o),{base:Q,ext:S}=zo(y),X=o.file?le(o.file.size):E("fileUploader.uploaded"),i=Te(o),w=_?t.jsx("button",{type:"button",className:s.tileAction,"aria-label":E("fileUploader.download",{name:y}),onClick:_,onPointerDown:f=>f.stopPropagation(),children:t.jsx(C.Icon,{name:"DocumentDownload",size:"sm"})}):null;return t.jsxs("div",{ref:K,style:J,className:H.clsx(s.tile,h&&s.grabbable,v&&s.entering,$&&s.dragging,I&&s.tileError),...P,...q,children:[u?i?t.jsxs(t.Fragment,{children:[t.jsx("video",{src:u,className:s.tileImg,muted:!0,playsInline:!0,preload:"metadata",draggable:!1,onError:a}),t.jsx("span",{className:s.tilePlay,"aria-hidden":"true",children:t.jsx(C.Icon,{name:"Play",size:"lg"})})]}):t.jsx("img",{src:u,alt:"",className:s.tileImg,draggable:!1,onError:a}):t.jsx("span",{className:s.tileFallback,"aria-hidden":"true",children:t.jsx(C.Icon,{name:"Document",size:"lg"})}),t.jsxs("div",{className:s.tileTop,children:[t.jsxs("span",{className:s.tileText,children:[t.jsxs("span",{className:s.name,title:y,children:[t.jsx("span",{className:s.nameBase,children:Q}),S&&t.jsx("span",{className:s.nameExt,children:S})]}),t.jsx("span",{className:H.clsx(s.tileMeta,I&&s.metaError),children:I??X})]}),!U&&t.jsx("button",{type:"button",className:s.tileRemove,"aria-label":E("fileUploader.remove",{name:y}),onClick:D,onPointerDown:f=>f.stopPropagation(),children:t.jsx(C.Icon,{name:"Close",size:"sm"})})]}),(g||k||_||M)&&t.jsxs("div",{className:s.tileBottom,children:[g&&t.jsx("button",{type:"button",className:s.tileAction,"aria-label":E("fileUploader.crop",{name:y}),onClick:g,onPointerDown:f=>f.stopPropagation(),children:t.jsx(C.Icon,{name:"Crop",size:"sm"})}),k&&t.jsx("button",{type:"button",className:s.tileAction,"aria-label":E("fileUploader.editAlt",{name:y}),onClick:k,onPointerDown:f=>f.stopPropagation(),children:t.jsx(C.Icon,{name:"Text",size:"sm"})}),w,M&&t.jsx("button",{type:"button",className:H.clsx(s.tileAction,s.tileActionEnd),"aria-label":E("fileUploader.preview",{name:y}),onClick:M,onPointerDown:f=>f.stopPropagation(),children:t.jsx(C.Icon,{name:"Eye",size:"sm"})})]})]})}const Ro=d.forwardRef(function({multiple:o=!1,allowDrop:u=!0,allowReorder:h=!0,allowDownload:v=!0,allowPreview:U=!0,allowAltText:I=!0,altTextLocales:D,localizedAltText:g=!0,allowDuplicates:k=!1,disabled:_=!1,accept:M,maxFiles:a,maxFileSize:P,itemInsertLocation:q="end",value:K,defaultValue:V,onChange:B,label:$,error:J,helperText:E,required:y=!1,fullWidth:Q=!0,name:S,id:X,onBlur:i,className:w,style:f,...O},G){var Le;const Je=d.useId(),Ue=X??Je,Ie=`${Ue}-helper`,z=P!=null?Eo(P):void 0,[ce,he]=d.useState(null);d.useEffect(()=>{if(!ce)return;const e=window.setTimeout(()=>he(null),4e3);return()=>window.clearTimeout(e)},[ce]);const Z=Ft.useFormContext(),Ee=!!(Z&&S),F=Z&&S?Z.field(S):void 0,Ne=o?[]:null,ke=K!==void 0?K:Ee?Z.values[S]??Ne:void 0,ze=ke!==void 0,[Qe,Xe]=d.useState(V??Ne),ee=ze?ke:Qe,m=ee==null?[]:Array.isArray(ee)?ee:[ee],ge=J??(F==null?void 0:F.error)??!1,Ze=E??(F==null?void 0:F.helperText),me=ce??Ze,et=!!ce||ge,de=h&&o&&!_,Fe=d.useRef(new WeakMap),Re=d.useRef(0),tt=(e,r)=>{if(e.file){let l=Fe.current.get(e.file);return l||(Re.current+=1,l=`f${Re.current}`,Fe.current.set(e.file,l)),l}return e.source?`s:${e.source}`:`i:${r}`},T=m.map((e,r)=>tt(e,r)),Ce=d.useRef(new Set),ot=new Set(T.filter(e=>!Ce.current.has(e)));d.useEffect(()=>{Ce.current=new Set(T)});const[nt,De]=d.useState(()=>new Set),rt=e=>De(r=>r.has(e)?r:new Set(r).add(e)),[st,lt]=d.useState(()=>new Set),at=e=>lt(r=>r.has(e)?r:new Set(r).add(e)),ue=d.useRef(new Map),fe=e=>{if(e.file){const r=e.file.type;if(!r.startsWith("image/")&&!r.startsWith("video/")||!Ge()||st.has(e.file))return null;let l=ue.current.get(e.file);return l||(l=URL.createObjectURL(e.file),ue.current.set(e.file,l)),l}return e.source&&!nt.has(e.source)?e.source:null},[R,Me]=d.useState(null);d.useEffect(()=>{const e=ue.current,r=new Set(m.map(c=>c.file).filter(Boolean)),l=new Set(m.filter(c=>!c.file&&c.source).map(c=>c.source));for(const[c,p]of e)!r.has(c)&&p!==(R==null?void 0:R.url)&&(URL.revokeObjectURL(p),e.delete(c));De(c=>{if(c.size===0)return c;const p=new Set([...c].filter(j=>l.has(j)));return p.size===c.size?c:p})},[ee,R]),d.useEffect(()=>{const e=ue.current;return()=>{for(const r of e.values())URL.revokeObjectURL(r);e.clear()}},[]);const it=e=>e.map((r,l)=>r.sortIndex===l?r:{...r,sortIndex:l}),te=e=>{const r=it(e),l=o?r:r[0]??null;ze||Xe(l),Ee&&Z.setValue(S,l),B==null||B(l)},_e=()=>F==null?void 0:F.onBlur({}),x=ie.useT(),ct=ie.useLocales(),Pe=D??ct,dt=g&&Pe.length>0?Pe:[{code:""}],[oe,xe]=d.useState(null),[qe,Be]=d.useState("altText"),je=oe!=null?T.indexOf(oe):-1,N=je!==-1?m[je]:null,ut=e=>{Be("crop"),xe(T[e]??null)},ft=e=>{Be("altText"),xe(T[e]??null)},be=()=>xe(null),pt=e=>{const r=fe(e);if(!r)return;const l=e.file?e.file.type==="image/svg+xml":/^data:image\/svg/i.test(e.source??"")||/\.svg(?:[?#]|$)/i.test(e.source??"");Me({url:r,isVideo:Te(e),isSvg:l,name:pe(e)})},ht=N?g?N.altText&&typeof N.altText=="object"?{...N.altText}:{}:{"":typeof N.altText=="string"?N.altText:""}:{},gt=({draft:e,croppedFile:r})=>{if(je===-1)return be();te(m.map((l,c)=>{if(T[c]!==oe)return l;const p={...l};if(e!==void 0)if(g){const j=Object.fromEntries(Object.entries(e).map(([L,b])=>[L,b.trim()]).filter(([,L])=>L!==""));p.altText=Object.keys(j).length>0?j:void 0}else p.altText=(e[""]??"").trim()||void 0;return r&&(p.file=r,p.source=""),p})),be()},mt=(e,r=[])=>{const l=r.filter(b=>b.errors.some(A=>A.code==="file-invalid-type")),c=r.filter(b=>b.errors.some(A=>A.code==="file-too-large"));l.length>0&&He.toast.error(l.length===1?x("fileUploader.wrongTypeOne",{name:l[0].file.name}):x("fileUploader.wrongTypeMany",{count:l.length})),c.length>0&&z!=null&&He.toast.error(c.length===1?x("fileUploader.tooLargeOne",{name:c[0].file.name,size:le(z)}):x("fileUploader.tooLargeMany",{count:c.length,size:le(z)}));const p=[];let j=e;if(o&&!k){const b=new Set(m.map(No)),A=[];for(const Ae of j){const We=Ye(Ae);b.has(We)||(b.add(We),A.push(Ae))}A.length<j.length&&p.push(x("fileUploader.duplicate")),j=A}if(o&&a!=null){const b=Math.max(0,a-m.length);j.length>b&&(j=j.slice(0,b),p.push(a===1?x("fileUploader.hintUpToOne",{count:a}):x("fileUploader.hintUpToMany",{count:a})))}if(he(p.length>0?p.join(" · "):null),j.length===0)return;const L=j.map(b=>({file:b,source:"",sortIndex:0}));if(!o){te([L[0]]);return}te(q==="start"?[...L,...m]:[...m,...L])},_t=e=>{he(null),te(m.filter((r,l)=>l!==e)),_e()},[xt,ve]=kt.useAutoAnimate(Io),$e=()=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>ve(!0)):ve(!0)},jt=()=>ve(!1),bt=()=>$e(),vt=e=>{const{active:r,over:l}=e;if(l&&r.id!==l.id){const c=T.indexOf(String(r.id)),p=T.indexOf(String(l.id));c!==-1&&p!==-1&&te(se.arrayMove(m,c,p))}$e()},yt=W.useSensors(W.useSensor(W.PointerSensor,{activationConstraint:{distance:5}}),W.useSensor(W.KeyboardSensor,{coordinateGetter:se.sortableKeyboardCoordinates})),ne=d.useRef(!1),{getRootProps:St,getInputProps:wt,isDragActive:Tt}=zt.useDropzone({multiple:o,accept:M,maxSize:z,disabled:_,noKeyboard:!1,noDrag:!u,onFileDialogOpen:()=>{ne.current=!0},onFileDialogCancel:()=>{ne.current=!1,_e()},onDrop:(e,r)=>{ne.current=!1,mt(e,r)}}),Ut=o||m.length===0,ye=[];o&&a!=null&&ye.push(a===1?x("fileUploader.hintUpToOne",{count:a}):x("fileUploader.hintUpToMany",{count:a})),z!=null&&ye.push(x("fileUploader.hintMax",{size:le(z)}));const Oe=ye.join(" · "),It=u?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:s.accent,children:x("fileUploader.choose")})," ",x("fileUploader.dropSuffix")]}):t.jsx("span",{className:s.accent,children:x("fileUploader.choose")}),Et=e=>{if(i==null||i(e),!e.currentTarget.contains(e.relatedTarget)&&oe==null){if(ne.current){ne.current=!1;return}_e()}};return t.jsxs("div",{ref:G,id:Ue,className:H.clsx(s.root,Q&&s.fullWidth,ge&&s.error,_&&s.disabled,w),style:f,"aria-invalid":ge||void 0,"aria-describedby":me!=null?Ie:void 0,onBlur:Et,...O,...S?{name:S,tabIndex:-1}:{},children:[$!=null&&t.jsxs("label",{className:Se.fieldStyles.label,children:[t.jsx(ae.Typography,{as:"span",variant:"bodySmall",color:"muted",children:$}),y&&t.jsx("span",{className:Se.fieldStyles.required,"aria-hidden":"true",children:"*"})]}),Ut&&t.jsxs("div",{...St({className:H.clsx(s.dropzone,Tt&&s.dropping)}),children:[t.jsx("input",{...wt()}),t.jsx("span",{className:s.dropIcon,"aria-hidden":"true",children:t.jsx(C.Icon,{name:"DocumentUpload",size:"lg"})}),t.jsxs("span",{className:s.dropText,children:[t.jsx("span",{className:s.prompt,children:It}),Oe&&t.jsx("span",{className:s.hint,children:Oe})]})]}),t.jsx(W.DndContext,{sensors:yt,collisionDetection:W.closestCenter,onDragStart:de?jt:void 0,onDragEnd:de?vt:void 0,onDragCancel:de?bt:void 0,children:t.jsx(se.SortableContext,{items:T,strategy:se.rectSortingStrategy,children:t.jsx("div",{ref:xt,className:H.clsx(s.list,m.length>0&&s.populated),children:m.map((e,r)=>t.jsx(Fo,{id:T[r],item:e,preview:fe(e),sortable:de&&m.length>1,entering:ot.has(T[r]),disabled:_,error:e.file&&z!=null&&e.file.size>z?x("fileUploader.exceedsLimit",{size:le(z)}):void 0,onRemove:()=>_t(r),onCrop:I&&!_&&we(e)?()=>ut(r):void 0,onAltText:I&&!_&&we(e)?()=>ft(r):void 0,onDownload:v&&!_?()=>ko(e):void 0,onView:U&&!_&&fe(e)!=null&&(we(e)||Te(e))?()=>pt(e):void 0,onPreviewError:e.file?()=>at(e.file):e.source?()=>rt(e.source):void 0},T[r]))})})}),me!=null&&t.jsx(ae.Typography,{as:"span",id:Ie,variant:"bodySmall",color:et?"error":"muted",className:Se.fieldStyles.helper,role:"status","aria-live":"polite",children:me}),N&&t.jsx(Ot,{mode:qe,name:pe(N),imageUrl:fe(N),mimeType:((Le=N.file)==null?void 0:Le.type)||"image/png",editLocales:dt,initialDraft:ht,onClose:be,onSave:gt},`${oe}:${qe}`),R&&t.jsx(Kt,{url:R.url,isVideo:R.isVideo,isSvg:R.isSvg,name:R.name,onClose:()=>Me(null)})]})});exports.FileUploader=Ro;
|
|
2
|
-
//# sourceMappingURL=FileUploader-D_F64mob.cjs.map
|