@techzyapp/ui-library 1.0.49 → 1.0.50
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/{Accordion-DOrTQJB9.js → Accordion-C6vW_OMd.js} +2 -2
- package/dist/{Accordion-DOrTQJB9.js.map → Accordion-C6vW_OMd.js.map} +1 -1
- package/dist/{Accordion-CFyeLfPT.cjs → Accordion-Icvl9S8c.cjs} +2 -2
- package/dist/{Accordion-CFyeLfPT.cjs.map → Accordion-Icvl9S8c.cjs.map} +1 -1
- package/dist/{AdminRoot-DYM9r25r.js → AdminRoot-C5l8PIyi.js} +9 -9
- package/dist/{AdminRoot-DYM9r25r.js.map → AdminRoot-C5l8PIyi.js.map} +1 -1
- package/dist/{AdminRoot-CGf-Q8Hs.cjs → AdminRoot-MEfy9xtz.cjs} +2 -2
- package/dist/{AdminRoot-CGf-Q8Hs.cjs.map → AdminRoot-MEfy9xtz.cjs.map} +1 -1
- package/dist/{Alert-QvfNBhlU.cjs → Alert--ZnlCjaL.cjs} +2 -2
- package/dist/{Alert-QvfNBhlU.cjs.map → Alert--ZnlCjaL.cjs.map} +1 -1
- package/dist/{Alert-Bo_XgY-A.js → Alert-BVs-GcZQ.js} +4 -4
- package/dist/{Alert-Bo_XgY-A.js.map → Alert-BVs-GcZQ.js.map} +1 -1
- package/dist/{AuthGuard-C2eA3mJA.cjs → AuthGuard-Cm-tqCto.cjs} +2 -2
- package/dist/{AuthGuard-C2eA3mJA.cjs.map → AuthGuard-Cm-tqCto.cjs.map} +1 -1
- package/dist/{AuthGuard-Ck31lvBA.js → AuthGuard-DJ_mMwfg.js} +2 -2
- package/dist/{AuthGuard-Ck31lvBA.js.map → AuthGuard-DJ_mMwfg.js.map} +1 -1
- package/dist/{AuthLayout-BI1wLuDl.js → AuthLayout-BDRJFSpi.js} +2 -2
- package/dist/{AuthLayout-BI1wLuDl.js.map → AuthLayout-BDRJFSpi.js.map} +1 -1
- package/dist/{AuthLayout-Bzlsvicf.cjs → AuthLayout-D7mSMdM4.cjs} +2 -2
- package/dist/{AuthLayout-Bzlsvicf.cjs.map → AuthLayout-D7mSMdM4.cjs.map} +1 -1
- package/dist/{Avatar-BBqX1732.cjs → Avatar-BwGJl-ru.cjs} +2 -2
- package/dist/{Avatar-BBqX1732.cjs.map → Avatar-BwGJl-ru.cjs.map} +1 -1
- package/dist/{Avatar-CaYyv5wk.js → Avatar-C4qgzth2.js} +2 -2
- package/dist/{Avatar-CaYyv5wk.js.map → Avatar-C4qgzth2.js.map} +1 -1
- package/dist/{AvatarGroup-DrkzAt1-.cjs → AvatarGroup-B8u8ONs5.cjs} +2 -2
- package/dist/{AvatarGroup-DrkzAt1-.cjs.map → AvatarGroup-B8u8ONs5.cjs.map} +1 -1
- package/dist/{AvatarGroup-6fhm-van.js → AvatarGroup-BqxTFzRc.js} +2 -2
- package/dist/{AvatarGroup-6fhm-van.js.map → AvatarGroup-BqxTFzRc.js.map} +1 -1
- package/dist/{Breadcrumbs-CqGS32x5.cjs → Breadcrumbs-D4wv2-T7.cjs} +2 -2
- package/dist/{Breadcrumbs-CqGS32x5.cjs.map → Breadcrumbs-D4wv2-T7.cjs.map} +1 -1
- package/dist/{Breadcrumbs-BEv57tuJ.js → Breadcrumbs-HGk4DKrc.js} +4 -4
- package/dist/{Breadcrumbs-BEv57tuJ.js.map → Breadcrumbs-HGk4DKrc.js.map} +1 -1
- package/dist/{Button-DZWYeAno.js → Button-7mgXcRdw.js} +2 -2
- package/dist/{Button-DZWYeAno.js.map → Button-7mgXcRdw.js.map} +1 -1
- package/dist/{Button-BtiFpRie.cjs → Button-DAvQCGIw.cjs} +2 -2
- package/dist/{Button-BtiFpRie.cjs.map → Button-DAvQCGIw.cjs.map} +1 -1
- package/dist/{Calendar-7W9xNVBZ.js → Calendar-B1ZJHqjB.js} +4 -4
- package/dist/{Calendar-7W9xNVBZ.js.map → Calendar-B1ZJHqjB.js.map} +1 -1
- package/dist/{Calendar-Bgh_3Vk2.cjs → Calendar-BPYjqBy9.cjs} +2 -2
- package/dist/{Calendar-Bgh_3Vk2.cjs.map → Calendar-BPYjqBy9.cjs.map} +1 -1
- package/dist/{Card-KfmWG9Uz.cjs → Card-B-Qso__1.cjs} +2 -2
- package/dist/{Card-KfmWG9Uz.cjs.map → Card-B-Qso__1.cjs.map} +1 -1
- package/dist/{Card-ckOd617g.js → Card-vFsIhkyR.js} +4 -4
- package/dist/{Card-ckOd617g.js.map → Card-vFsIhkyR.js.map} +1 -1
- package/dist/{Chip-Crzm7Eux.js → Chip-CU0J7HJa.js} +3 -3
- package/dist/{Chip-Crzm7Eux.js.map → Chip-CU0J7HJa.js.map} +1 -1
- package/dist/{Chip-BDUsue_R.cjs → Chip-CovsonP1.cjs} +2 -2
- package/dist/{Chip-BDUsue_R.cjs.map → Chip-CovsonP1.cjs.map} +1 -1
- package/dist/{ChoiceCardGroup-D37XREKV.js → ChoiceCardGroup-BBqUbFLS.js} +2 -2
- package/dist/{ChoiceCardGroup-D37XREKV.js.map → ChoiceCardGroup-BBqUbFLS.js.map} +1 -1
- package/dist/{ChoiceCardGroup-Cj_YFj6C.cjs → ChoiceCardGroup-bnKFPDYz.cjs} +2 -2
- package/dist/{ChoiceCardGroup-Cj_YFj6C.cjs.map → ChoiceCardGroup-bnKFPDYz.cjs.map} +1 -1
- package/dist/{CodeBlock-rnGAu2DQ.cjs → CodeBlock-B404V_cc.cjs} +2 -2
- package/dist/{CodeBlock-rnGAu2DQ.cjs.map → CodeBlock-B404V_cc.cjs.map} +1 -1
- package/dist/{CodeBlock-CX8_dMPD.js → CodeBlock-DvJ45qEp.js} +4 -4
- package/dist/{CodeBlock-CX8_dMPD.js.map → CodeBlock-DvJ45qEp.js.map} +1 -1
- package/dist/{ColorPicker-CwLivdAt.js → ColorPicker-C4slmEZC.js} +3 -3
- package/dist/{ColorPicker-CwLivdAt.js.map → ColorPicker-C4slmEZC.js.map} +1 -1
- package/dist/{ColorPicker-BaAdcqR9.cjs → ColorPicker-_RBW51XB.cjs} +2 -2
- package/dist/{ColorPicker-BaAdcqR9.cjs.map → ColorPicker-_RBW51XB.cjs.map} +1 -1
- package/dist/{ColorPickerPanel-IOhJJF1R.cjs → ColorPickerPanel-CNspBZre.cjs} +2 -2
- package/dist/{ColorPickerPanel-IOhJJF1R.cjs.map → ColorPickerPanel-CNspBZre.cjs.map} +1 -1
- package/dist/{ColorPickerPanel-CkrSIf35.js → ColorPickerPanel-CQNfIbgc.js} +3 -3
- package/dist/{ColorPickerPanel-CkrSIf35.js.map → ColorPickerPanel-CQNfIbgc.js.map} +1 -1
- package/dist/{ColorRamp-DbFOsspz.js → ColorRamp-DQZZiE5I.js} +2 -2
- package/dist/{ColorRamp-DbFOsspz.js.map → ColorRamp-DQZZiE5I.js.map} +1 -1
- package/dist/{ColorRamp-BCy8a7ks.cjs → ColorRamp-DuO7gkru.cjs} +2 -2
- package/dist/{ColorRamp-BCy8a7ks.cjs.map → ColorRamp-DuO7gkru.cjs.map} +1 -1
- package/dist/{ConfigProvider-CYSpuSMJ.cjs → ConfigProvider-BFhkb0BV.cjs} +2 -2
- package/dist/{ConfigProvider-CYSpuSMJ.cjs.map → ConfigProvider-BFhkb0BV.cjs.map} +1 -1
- package/dist/{ConfigProvider-DtyUlWk6.js → ConfigProvider-bXX8dnhY.js} +2 -2
- package/dist/{ConfigProvider-DtyUlWk6.js.map → ConfigProvider-bXX8dnhY.js.map} +1 -1
- package/dist/{CopyButton-DUG5s3TM.cjs → CopyButton-B2V6guZ0.cjs} +2 -2
- package/dist/{CopyButton-DUG5s3TM.cjs.map → CopyButton-B2V6guZ0.cjs.map} +1 -1
- package/dist/{CopyButton-LURMuaYw.js → CopyButton-DfYAslz-.js} +4 -4
- package/dist/{CopyButton-LURMuaYw.js.map → CopyButton-DfYAslz-.js.map} +1 -1
- package/dist/{DashedButton-BX8hfY1x.cjs → DashedButton-CZ2hjLxT.cjs} +2 -2
- package/dist/{DashedButton-BX8hfY1x.cjs.map → DashedButton-CZ2hjLxT.cjs.map} +1 -1
- package/dist/{DashedButton-wcmXTYBw.js → DashedButton-meJSIY61.js} +2 -2
- package/dist/{DashedButton-wcmXTYBw.js.map → DashedButton-meJSIY61.js.map} +1 -1
- package/dist/{DatePicker-CSIBYSZt.js → DatePicker-CNUDjOxA.js} +5 -5
- package/dist/{DatePicker-CSIBYSZt.js.map → DatePicker-CNUDjOxA.js.map} +1 -1
- package/dist/{DatePicker-Bw9gLB8o.cjs → DatePicker-DrIHa1j1.cjs} +2 -2
- package/dist/{DatePicker-Bw9gLB8o.cjs.map → DatePicker-DrIHa1j1.cjs.map} +1 -1
- package/dist/{DateTimePicker-kikKdt0F.cjs → DateTimePicker-BzwxaOPb.cjs} +2 -2
- package/dist/{DateTimePicker-kikKdt0F.cjs.map → DateTimePicker-BzwxaOPb.cjs.map} +1 -1
- package/dist/{DateTimePicker-C9F2yJMf.js → DateTimePicker-CvWNDbib.js} +8 -8
- package/dist/{DateTimePicker-C9F2yJMf.js.map → DateTimePicker-CvWNDbib.js.map} +1 -1
- package/dist/{DescriptionList-DnGkHdzT.cjs → DescriptionList-Bed1MHU8.cjs} +2 -2
- package/dist/{DescriptionList-DnGkHdzT.cjs.map → DescriptionList-Bed1MHU8.cjs.map} +1 -1
- package/dist/{DescriptionList-kfNXbf_D.js → DescriptionList-BgMNjHJQ.js} +5 -5
- package/dist/{DescriptionList-kfNXbf_D.js.map → DescriptionList-BgMNjHJQ.js.map} +1 -1
- package/dist/{Dropdown-C_y9_dVn.cjs → Dropdown-DNL7RWdL.cjs} +2 -2
- package/dist/{Dropdown-C_y9_dVn.cjs.map → Dropdown-DNL7RWdL.cjs.map} +1 -1
- package/dist/{Dropdown-D-D_Z1Jo.js → Dropdown-iWbHokT7.js} +2 -2
- package/dist/{Dropdown-D-D_Z1Jo.js.map → Dropdown-iWbHokT7.js.map} +1 -1
- package/dist/{EmptyState-BM5LrRLq.cjs → EmptyState-BzwrOICc.cjs} +2 -2
- package/dist/{EmptyState-BM5LrRLq.cjs.map → EmptyState-BzwrOICc.cjs.map} +1 -1
- package/dist/{EmptyState-DrSj2XV_.js → EmptyState-CmcjJl_K.js} +3 -3
- package/dist/{EmptyState-DrSj2XV_.js.map → EmptyState-CmcjJl_K.js.map} +1 -1
- package/dist/{ErrorBoundary-yz669VEu.cjs → ErrorBoundary-BcZgeSsu.cjs} +2 -2
- package/dist/{ErrorBoundary-yz669VEu.cjs.map → ErrorBoundary-BcZgeSsu.cjs.map} +1 -1
- package/dist/{ErrorBoundary-DsP4hO_V.js → ErrorBoundary-TfeJetWc.js} +3 -3
- package/dist/{ErrorBoundary-DsP4hO_V.js.map → ErrorBoundary-TfeJetWc.js.map} +1 -1
- package/dist/{ErrorState-BThPIYaM.cjs → ErrorState-CzWz5UcX.cjs} +2 -2
- package/dist/{ErrorState-BThPIYaM.cjs.map → ErrorState-CzWz5UcX.cjs.map} +1 -1
- package/dist/{ErrorState-DEngucdq.js → ErrorState-EjIhdq7S.js} +8 -8
- package/dist/{ErrorState-DEngucdq.js.map → ErrorState-EjIhdq7S.js.map} +1 -1
- package/dist/{FileCard-CmCESTQd.js → FileCard-CmMxVyk3.js} +5 -5
- package/dist/{FileCard-CmCESTQd.js.map → FileCard-CmMxVyk3.js.map} +1 -1
- package/dist/{FileCard-wxDT2rj9.cjs → FileCard-Cxr1_eF2.cjs} +2 -2
- package/dist/{FileCard-wxDT2rj9.cjs.map → FileCard-Cxr1_eF2.cjs.map} +1 -1
- package/dist/{FileUploader-Dp1r4Sxc.js → FileUploader-2cXBI4Nh.js} +7 -7
- package/dist/{FileUploader-Dp1r4Sxc.js.map → FileUploader-2cXBI4Nh.js.map} +1 -1
- package/dist/{FileUploader-DBNRp5eT.cjs → FileUploader-BkM1t2aE.cjs} +2 -2
- package/dist/{FileUploader-DBNRp5eT.cjs.map → FileUploader-BkM1t2aE.cjs.map} +1 -1
- package/dist/{Flag-B6OhgwZr.cjs → Flag-CWp81_zX.cjs} +2 -2
- package/dist/{Flag-B6OhgwZr.cjs.map → Flag-CWp81_zX.cjs.map} +1 -1
- package/dist/{Flag-Q3vI7cgt.js → Flag-IQolG3j6.js} +2 -2
- package/dist/{Flag-Q3vI7cgt.js.map → Flag-IQolG3j6.js.map} +1 -1
- package/dist/{FullscreenToggle-WGsbE3Op.js → FullscreenToggle-B1DH_-k3.js} +4 -4
- package/dist/{FullscreenToggle-WGsbE3Op.js.map → FullscreenToggle-B1DH_-k3.js.map} +1 -1
- package/dist/{FullscreenToggle-DVdQriWB.cjs → FullscreenToggle-DXVAeN3M.cjs} +2 -2
- package/dist/{FullscreenToggle-DVdQriWB.cjs.map → FullscreenToggle-DXVAeN3M.cjs.map} +1 -1
- package/dist/Icon-BoQmbW7j.cjs +2 -0
- package/dist/Icon-BoQmbW7j.cjs.map +1 -0
- package/dist/{Icon-B7DJn8Tw.js → Icon-DMMO32p6.js} +72 -71
- package/dist/Icon-DMMO32p6.js.map +1 -0
- package/dist/{IconButton-DSPdv-oI.cjs → IconButton-ChhZqleN.cjs} +2 -2
- package/dist/{IconButton-DSPdv-oI.cjs.map → IconButton-ChhZqleN.cjs.map} +1 -1
- package/dist/{IconButton-iWbUJAz7.js → IconButton-s5hohjxu.js} +2 -2
- package/dist/{IconButton-iWbUJAz7.js.map → IconButton-s5hohjxu.js.map} +1 -1
- package/dist/{ImageEditor-C40dp2-V.cjs → ImageEditor-C8tFTX4e.cjs} +2 -2
- package/dist/{ImageEditor-C40dp2-V.cjs.map → ImageEditor-C8tFTX4e.cjs.map} +1 -1
- package/dist/{ImageEditor-BDNys8pq.js → ImageEditor-DWbWjGQ8.js} +8 -8
- package/dist/{ImageEditor-BDNys8pq.js.map → ImageEditor-DWbWjGQ8.js.map} +1 -1
- package/dist/{List-DS91CZUt.js → List-DQlEG_S5.js} +2 -2
- package/dist/{List-DS91CZUt.js.map → List-DQlEG_S5.js.map} +1 -1
- package/dist/{List-CLUXeaXS.cjs → List-Dfa7mlSZ.cjs} +2 -2
- package/dist/{List-CLUXeaXS.cjs.map → List-Dfa7mlSZ.cjs.map} +1 -1
- package/dist/{ListItem-Ezmdk7q-.js → ListItem-CLmg9xKQ.js} +2 -2
- package/dist/{ListItem-Ezmdk7q-.js.map → ListItem-CLmg9xKQ.js.map} +1 -1
- package/dist/{ListItem-CguNjf-u.cjs → ListItem-CWM2fUS2.cjs} +2 -2
- package/dist/{ListItem-CguNjf-u.cjs.map → ListItem-CWM2fUS2.cjs.map} +1 -1
- package/dist/{Loader-RyFTP2X5.cjs → Loader-BCrMy9NU.cjs} +2 -2
- package/dist/{Loader-RyFTP2X5.cjs.map → Loader-BCrMy9NU.cjs.map} +1 -1
- package/dist/{Loader-DD1vfqmN.js → Loader-CShIWNfG.js} +2 -2
- package/dist/{Loader-DD1vfqmN.js.map → Loader-CShIWNfG.js.map} +1 -1
- package/dist/{LocationPicker-B594f0bz.cjs → LocationPicker-8Tt0zJU4.cjs} +2 -2
- package/dist/{LocationPicker-B594f0bz.cjs.map → LocationPicker-8Tt0zJU4.cjs.map} +1 -1
- package/dist/{LocationPicker-DpmYaYyd.js → LocationPicker-DsV_s2Ur.js} +8 -8
- package/dist/{LocationPicker-DpmYaYyd.js.map → LocationPicker-DsV_s2Ur.js.map} +1 -1
- package/dist/{Modal-DVGTD2Ck.js → Modal-BO7fHn0r.js} +4 -4
- package/dist/{Modal-DVGTD2Ck.js.map → Modal-BO7fHn0r.js.map} +1 -1
- package/dist/{Modal-7cCok6fV.cjs → Modal-yj92WLay.cjs} +2 -2
- package/dist/{Modal-7cCok6fV.cjs.map → Modal-yj92WLay.cjs.map} +1 -1
- package/dist/{MultiSelect-DTKNjUDH.cjs → MultiSelect-B6JZb_5N.cjs} +2 -2
- package/dist/{MultiSelect-DTKNjUDH.cjs.map → MultiSelect-B6JZb_5N.cjs.map} +1 -1
- package/dist/{MultiSelect-D-X833xt.js → MultiSelect-D-QWlfwD.js} +5 -5
- package/dist/{MultiSelect-D-X833xt.js.map → MultiSelect-D-QWlfwD.js.map} +1 -1
- package/dist/{NumberField-Xz4yQMlm.cjs → NumberField-CS5VMnk4.cjs} +2 -2
- package/dist/{NumberField-Xz4yQMlm.cjs.map → NumberField-CS5VMnk4.cjs.map} +1 -1
- package/dist/{NumberField-OPOl0Yph.js → NumberField-D_UxKjVN.js} +4 -4
- package/dist/{NumberField-OPOl0Yph.js.map → NumberField-D_UxKjVN.js.map} +1 -1
- package/dist/{OtpField-kd0YghZq.cjs → OtpField-BuS_8j9L.cjs} +2 -2
- package/dist/{OtpField-kd0YghZq.cjs.map → OtpField-BuS_8j9L.cjs.map} +1 -1
- package/dist/{OtpField-CLrDMNtS.js → OtpField-CpjDid5_.js} +2 -2
- package/dist/{OtpField-CLrDMNtS.js.map → OtpField-CpjDid5_.js.map} +1 -1
- package/dist/{PageError-v6MAH_OL.cjs → PageError-CTEOASeb.cjs} +2 -2
- package/dist/{PageError-v6MAH_OL.cjs.map → PageError-CTEOASeb.cjs.map} +1 -1
- package/dist/{PageError-BIiZDzey.js → PageError-DjyJrGmR.js} +5 -5
- package/dist/{PageError-BIiZDzey.js.map → PageError-DjyJrGmR.js.map} +1 -1
- package/dist/{PageLayout-DH3jochw.cjs → PageLayout-BYKRmCAL.cjs} +2 -2
- package/dist/{PageLayout-DH3jochw.cjs.map → PageLayout-BYKRmCAL.cjs.map} +1 -1
- package/dist/{PageLayout-BjaPfXvb.js → PageLayout-Cz1OhQZ7.js} +5 -5
- package/dist/{PageLayout-BjaPfXvb.js.map → PageLayout-Cz1OhQZ7.js.map} +1 -1
- package/dist/{PageNotFound-C1oSsMG-.js → PageNotFound-CwBtrllo.js} +5 -5
- package/dist/{PageNotFound-C1oSsMG-.js.map → PageNotFound-CwBtrllo.js.map} +1 -1
- package/dist/{PageNotFound-Cse4bROv.cjs → PageNotFound-u9Q4KG6B.cjs} +2 -2
- package/dist/{PageNotFound-Cse4bROv.cjs.map → PageNotFound-u9Q4KG6B.cjs.map} +1 -1
- package/dist/{Pagination-BNJdqcu4.js → Pagination-CLjNwqie.js} +3 -3
- package/dist/{Pagination-BNJdqcu4.js.map → Pagination-CLjNwqie.js.map} +1 -1
- package/dist/{Pagination-DkmfEmgK.cjs → Pagination-HtS5gPnd.cjs} +2 -2
- package/dist/{Pagination-DkmfEmgK.cjs.map → Pagination-HtS5gPnd.cjs.map} +1 -1
- package/dist/{PaletteField-DqZl1mK0.cjs → PaletteField-BSgx5pxh.cjs} +2 -2
- package/dist/{PaletteField-DqZl1mK0.cjs.map → PaletteField-BSgx5pxh.cjs.map} +1 -1
- package/dist/{PaletteField-Cdky6Zka.js → PaletteField-Bk7cnSla.js} +3 -3
- package/dist/{PaletteField-Cdky6Zka.js.map → PaletteField-Bk7cnSla.js.map} +1 -1
- package/dist/{PhoneField-jq-3_i_b.cjs → PhoneField-CzFv2Vci.cjs} +2 -2
- package/dist/{PhoneField-jq-3_i_b.cjs.map → PhoneField-CzFv2Vci.cjs.map} +1 -1
- package/dist/{PhoneField-DmFaJJEa.js → PhoneField-DhoumZNG.js} +5 -5
- package/dist/{PhoneField-DmFaJJEa.js.map → PhoneField-DhoumZNG.js.map} +1 -1
- package/dist/{Popconfirm-KOE9gGi6.cjs → Popconfirm-Cb9LlmZb.cjs} +2 -2
- package/dist/{Popconfirm-KOE9gGi6.cjs.map → Popconfirm-Cb9LlmZb.cjs.map} +1 -1
- package/dist/{Popconfirm-D-8ZG2WR.js → Popconfirm-D7J5JbF-.js} +4 -4
- package/dist/{Popconfirm-D-8ZG2WR.js.map → Popconfirm-D7J5JbF-.js.map} +1 -1
- package/dist/{Progress-CdX666FP.js → Progress-Bt2LDqbD.js} +2 -2
- package/dist/{Progress-CdX666FP.js.map → Progress-Bt2LDqbD.js.map} +1 -1
- package/dist/{Progress-7EyhPtnu.cjs → Progress-dAtQ2BN-.cjs} +2 -2
- package/dist/{Progress-7EyhPtnu.cjs.map → Progress-dAtQ2BN-.cjs.map} +1 -1
- package/dist/{QrCode-ClIJjjvF.cjs → QrCode-FHUAxI8u.cjs} +2 -2
- package/dist/{QrCode-ClIJjjvF.cjs.map → QrCode-FHUAxI8u.cjs.map} +1 -1
- package/dist/{QrCode-D7ocSDi7.js → QrCode-jaDZxZkv.js} +2 -2
- package/dist/{QrCode-D7ocSDi7.js.map → QrCode-jaDZxZkv.js.map} +1 -1
- package/dist/{RemoveDialog-DTzRPLaT.js → RemoveDialog-DdO5E3Wl.js} +6 -6
- package/dist/{RemoveDialog-DTzRPLaT.js.map → RemoveDialog-DdO5E3Wl.js.map} +1 -1
- package/dist/{RemoveDialog-UsSX5z8Y.cjs → RemoveDialog-eGNxdyoO.cjs} +2 -2
- package/dist/{RemoveDialog-UsSX5z8Y.cjs.map → RemoveDialog-eGNxdyoO.cjs.map} +1 -1
- package/dist/{RichTextEditor-Bh0Q3dIW.cjs → RichTextEditor-CoYuQurR.cjs} +2 -2
- package/dist/{RichTextEditor-Bh0Q3dIW.cjs.map → RichTextEditor-CoYuQurR.cjs.map} +1 -1
- package/dist/{RichTextEditor-BMctlkVC.js → RichTextEditor-DHRiJchI.js} +10 -10
- package/dist/{RichTextEditor-BMctlkVC.js.map → RichTextEditor-DHRiJchI.js.map} +1 -1
- package/dist/{RootLayout-BztZetpk.cjs → RootLayout-CEplIlVR.cjs} +2 -2
- package/dist/{RootLayout-BztZetpk.cjs.map → RootLayout-CEplIlVR.cjs.map} +1 -1
- package/dist/{RootLayout-CTkv4iQJ.js → RootLayout-pd66MZtI.js} +21 -21
- package/dist/{RootLayout-CTkv4iQJ.js.map → RootLayout-pd66MZtI.js.map} +1 -1
- package/dist/{Select-CmonDIIU.js → Select-C2iiQLMh.js} +4 -4
- package/dist/{Select-CmonDIIU.js.map → Select-C2iiQLMh.js.map} +1 -1
- package/dist/{Select-BzVyK6Ne.cjs → Select-CvW_T9R-.cjs} +2 -2
- package/dist/{Select-BzVyK6Ne.cjs.map → Select-CvW_T9R-.cjs.map} +1 -1
- package/dist/Sidebar-CqGCazeA.cjs +2 -0
- package/dist/Sidebar-CqGCazeA.cjs.map +1 -0
- package/dist/Sidebar-DuUhzQBi.js +543 -0
- package/dist/Sidebar-DuUhzQBi.js.map +1 -0
- package/dist/{Slider-Oe9VSAdy.cjs → Slider-DlPMPdHA.cjs} +2 -2
- package/dist/{Slider-Oe9VSAdy.cjs.map → Slider-DlPMPdHA.cjs.map} +1 -1
- package/dist/{Slider-C7Wb3q_F.js → Slider-UY29adRu.js} +2 -2
- package/dist/{Slider-C7Wb3q_F.js.map → Slider-UY29adRu.js.map} +1 -1
- package/dist/{SpeedDial-DpIXoYHB.cjs → SpeedDial-Cms5pJ9t.cjs} +2 -2
- package/dist/{SpeedDial-DpIXoYHB.cjs.map → SpeedDial-Cms5pJ9t.cjs.map} +1 -1
- package/dist/{SpeedDial-CCGQlwn2.js → SpeedDial-DOWefQgo.js} +3 -3
- package/dist/{SpeedDial-CCGQlwn2.js.map → SpeedDial-DOWefQgo.js.map} +1 -1
- package/dist/{Stepper-PBDU60G_.cjs → Stepper-4wCyTnwi.cjs} +2 -2
- package/dist/{Stepper-PBDU60G_.cjs.map → Stepper-4wCyTnwi.cjs.map} +1 -1
- package/dist/{Stepper-D_WKS1RG.js → Stepper-yQEJkbUJ.js} +3 -3
- package/dist/{Stepper-D_WKS1RG.js.map → Stepper-yQEJkbUJ.js.map} +1 -1
- package/dist/{SwatchPicker-DS4WY2eM.js → SwatchPicker-BI0XHphv.js} +2 -2
- package/dist/{SwatchPicker-DS4WY2eM.js.map → SwatchPicker-BI0XHphv.js.map} +1 -1
- package/dist/{SwatchPicker-DCjE0T80.cjs → SwatchPicker-QYtqEUxX.cjs} +2 -2
- package/dist/{SwatchPicker-DCjE0T80.cjs.map → SwatchPicker-QYtqEUxX.cjs.map} +1 -1
- package/dist/{Table-DZQVa_PE.js → Table-CNrt1EWm.js} +19 -19
- package/dist/{Table-DZQVa_PE.js.map → Table-CNrt1EWm.js.map} +1 -1
- package/dist/{Table-CZ4n4-TN.cjs → Table-D4pqLNtE.cjs} +2 -2
- package/dist/{Table-CZ4n4-TN.cjs.map → Table-D4pqLNtE.cjs.map} +1 -1
- package/dist/{Tabs-Byhqm-TE.cjs → Tabs-D6qrgZTM.cjs} +2 -2
- package/dist/{Tabs-Byhqm-TE.cjs.map → Tabs-D6qrgZTM.cjs.map} +1 -1
- package/dist/{Tabs-B063mP-v.js → Tabs-lezN63jW.js} +3 -3
- package/dist/{Tabs-B063mP-v.js.map → Tabs-lezN63jW.js.map} +1 -1
- package/dist/{TagsField-g_LtwYgz.cjs → TagsField-BIJEDyfz.cjs} +2 -2
- package/dist/{TagsField-g_LtwYgz.cjs.map → TagsField-BIJEDyfz.cjs.map} +1 -1
- package/dist/{TagsField-hQFYyNcM.js → TagsField-D_a2I8eU.js} +5 -5
- package/dist/{TagsField-hQFYyNcM.js.map → TagsField-D_a2I8eU.js.map} +1 -1
- package/dist/{TextField-Dfpk0jOg.js → TextField-BsC2zoHI.js} +4 -4
- package/dist/{TextField-Dfpk0jOg.js.map → TextField-BsC2zoHI.js.map} +1 -1
- package/dist/{TextField-D4s2hGSd.cjs → TextField-CXDBlP-8.cjs} +2 -2
- package/dist/{TextField-D4s2hGSd.cjs.map → TextField-CXDBlP-8.cjs.map} +1 -1
- package/dist/{ThemeToggle-BQQ3eswr.js → ThemeToggle-Dh6XxqM7.js} +4 -4
- package/dist/{ThemeToggle-BQQ3eswr.js.map → ThemeToggle-Dh6XxqM7.js.map} +1 -1
- package/dist/{ThemeToggle-BTTI7Jz0.cjs → ThemeToggle-zbKf4ph5.cjs} +2 -2
- package/dist/{ThemeToggle-BTTI7Jz0.cjs.map → ThemeToggle-zbKf4ph5.cjs.map} +1 -1
- package/dist/{TimeColumns-BpjhrNCq.js → TimeColumns-CR__2LXh.js} +2 -2
- package/dist/{TimeColumns-BpjhrNCq.js.map → TimeColumns-CR__2LXh.js.map} +1 -1
- package/dist/{TimeColumns-DZYGWWG_.cjs → TimeColumns-CjBeUPtV.cjs} +2 -2
- package/dist/{TimeColumns-DZYGWWG_.cjs.map → TimeColumns-CjBeUPtV.cjs.map} +1 -1
- package/dist/{TimePicker-mzoMIlpq.js → TimePicker-BakQ-wPd.js} +6 -6
- package/dist/{TimePicker-mzoMIlpq.js.map → TimePicker-BakQ-wPd.js.map} +1 -1
- package/dist/{TimePicker-DChtZgBs.cjs → TimePicker-DtqmD2bH.cjs} +2 -2
- package/dist/{TimePicker-DChtZgBs.cjs.map → TimePicker-DtqmD2bH.cjs.map} +1 -1
- package/dist/{Timeline-DOojNvLG.cjs → Timeline-CFKbPpAV.cjs} +2 -2
- package/dist/{Timeline-DOojNvLG.cjs.map → Timeline-CFKbPpAV.cjs.map} +1 -1
- package/dist/{Timeline-Dg03dwTN.js → Timeline-zCHcq7Ra.js} +2 -2
- package/dist/{Timeline-Dg03dwTN.js.map → Timeline-zCHcq7Ra.js.map} +1 -1
- package/dist/{Toaster-lonArt-H.cjs → Toaster-BpXPWJ_n.cjs} +2 -2
- package/dist/{Toaster-lonArt-H.cjs.map → Toaster-BpXPWJ_n.cjs.map} +1 -1
- package/dist/{Toaster-79DvOW80.js → Toaster-C5jWNL-o.js} +3 -3
- package/dist/{Toaster-79DvOW80.js.map → Toaster-C5jWNL-o.js.map} +1 -1
- package/dist/{ToggleButtonGroup-CGNRLxjg.cjs → ToggleButtonGroup-CbKtjm8O.cjs} +2 -2
- package/dist/{ToggleButtonGroup-CGNRLxjg.cjs.map → ToggleButtonGroup-CbKtjm8O.cjs.map} +1 -1
- package/dist/{ToggleButtonGroup-K6ZcrTZT.js → ToggleButtonGroup-D3Jltv0z.js} +2 -2
- package/dist/{ToggleButtonGroup-K6ZcrTZT.js.map → ToggleButtonGroup-D3Jltv0z.js.map} +1 -1
- package/dist/{TranslatedFields-CHHtXO_n.js → TranslatedFields-C8oxlGIQ.js} +5 -5
- package/dist/{TranslatedFields-CHHtXO_n.js.map → TranslatedFields-C8oxlGIQ.js.map} +1 -1
- package/dist/{TranslatedFields-BYpMrYaw.cjs → TranslatedFields-Che_ZPHk.cjs} +2 -2
- package/dist/{TranslatedFields-BYpMrYaw.cjs.map → TranslatedFields-Che_ZPHk.cjs.map} +1 -1
- package/dist/{UserCard-SlkCgZS9.cjs → UserCard-DlrdIJHW.cjs} +2 -2
- package/dist/{UserCard-SlkCgZS9.cjs.map → UserCard-DlrdIJHW.cjs.map} +1 -1
- package/dist/{UserCard-BJFNP_nl.js → UserCard-Dr1A_bdA.js} +5 -5
- package/dist/{UserCard-BJFNP_nl.js.map → UserCard-Dr1A_bdA.js.map} +1 -1
- package/dist/{authLayoutRoute-CgSQIDD5.cjs → authLayoutRoute-CPLqQVvx.cjs} +2 -2
- package/dist/{authLayoutRoute-CgSQIDD5.cjs.map → authLayoutRoute-CPLqQVvx.cjs.map} +1 -1
- package/dist/{authLayoutRoute-CEFmEYy7.js → authLayoutRoute-nSZq8JYA.js} +2 -2
- package/dist/{authLayoutRoute-CEFmEYy7.js.map → authLayoutRoute-nSZq8JYA.js.map} +1 -1
- package/dist/chunks/icons/{62-Bfupp-0A.js → 62-9nuZO-ct.js} +9 -10
- package/dist/chunks/icons/{62-CZZzM1ev.cjs → 62-DQQ1U3IB.cjs} +1 -1
- package/dist/components/Accordion/index.cjs +1 -1
- package/dist/components/Accordion/index.js +1 -1
- 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/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/index.cjs +1 -1
- package/dist/components/Card/index.js +1 -1
- package/dist/components/Chip/index.cjs +1 -1
- package/dist/components/Chip/index.js +1 -1
- package/dist/components/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/DashedButton/index.cjs +1 -1
- package/dist/components/DashedButton/index.js +1 -1
- package/dist/components/DatePicker/index.cjs +1 -1
- package/dist/components/DatePicker/index.js +1 -1
- package/dist/components/DateTimePicker/index.cjs +1 -1
- package/dist/components/DateTimePicker/index.js +1 -1
- package/dist/components/DescriptionList/index.cjs +1 -1
- package/dist/components/DescriptionList/index.js +1 -1
- package/dist/components/Dropdown/index.cjs +1 -1
- package/dist/components/Dropdown/index.js +1 -1
- package/dist/components/EmptyState/index.cjs +1 -1
- package/dist/components/EmptyState/index.js +1 -1
- package/dist/components/ErrorState/index.cjs +1 -1
- package/dist/components/ErrorState/index.js +2 -2
- package/dist/components/FileCard/index.cjs +1 -1
- package/dist/components/FileCard/index.js +1 -1
- package/dist/components/FileUploader/index.cjs +1 -1
- package/dist/components/FileUploader/index.js +1 -1
- package/dist/components/Flag/index.cjs +1 -1
- package/dist/components/Flag/index.js +1 -1
- package/dist/components/FullscreenToggle/index.cjs +1 -1
- package/dist/components/FullscreenToggle/index.js +1 -1
- package/dist/components/Icon/index.cjs +1 -1
- package/dist/components/Icon/index.js +1 -1
- package/dist/components/IconButton/index.cjs +1 -1
- package/dist/components/IconButton/index.js +1 -1
- package/dist/components/ImageEditor/index.cjs +1 -1
- package/dist/components/ImageEditor/index.js +1 -1
- package/dist/components/List/index.cjs +1 -1
- package/dist/components/List/index.js +2 -2
- package/dist/components/Loader/index.cjs +1 -1
- package/dist/components/Loader/index.js +1 -1
- package/dist/components/LocationPicker/index.cjs +1 -1
- package/dist/components/LocationPicker/index.js +1 -1
- package/dist/components/Modal/index.cjs +1 -1
- package/dist/components/Modal/index.js +1 -1
- package/dist/components/MultiSelect/index.cjs +1 -1
- package/dist/components/MultiSelect/index.js +1 -1
- package/dist/components/NumberField/index.cjs +1 -1
- package/dist/components/NumberField/index.js +1 -1
- package/dist/components/OtpField/index.cjs +1 -1
- package/dist/components/OtpField/index.js +1 -1
- package/dist/components/PageError/index.cjs +1 -1
- package/dist/components/PageError/index.js +1 -1
- package/dist/components/PageLayout/index.cjs +1 -1
- package/dist/components/PageLayout/index.js +1 -1
- package/dist/components/PageNotFound/index.cjs +1 -1
- package/dist/components/PageNotFound/index.js +1 -1
- package/dist/components/Pagination/index.cjs +1 -1
- package/dist/components/Pagination/index.js +1 -1
- package/dist/components/PaletteField/index.cjs +1 -1
- package/dist/components/PaletteField/index.js +1 -1
- package/dist/components/PhoneField/index.cjs +1 -1
- package/dist/components/PhoneField/index.js +1 -1
- package/dist/components/Popconfirm/index.cjs +1 -1
- package/dist/components/Popconfirm/index.js +1 -1
- package/dist/components/Progress/index.cjs +1 -1
- package/dist/components/Progress/index.js +1 -1
- package/dist/components/QrCode/index.cjs +1 -1
- package/dist/components/QrCode/index.js +1 -1
- package/dist/components/RemoveDialog/index.cjs +1 -1
- package/dist/components/RemoveDialog/index.js +1 -1
- package/dist/components/RichTextEditor/index.cjs +1 -1
- package/dist/components/RichTextEditor/index.js +1 -1
- package/dist/components/RootLayout/index.cjs +1 -1
- package/dist/components/RootLayout/index.js +1 -1
- package/dist/components/Select/index.cjs +1 -1
- package/dist/components/Select/index.js +1 -1
- package/dist/components/Sidebar/Sidebar.d.cts +40 -4
- package/dist/components/Sidebar/Sidebar.d.ts +40 -4
- package/dist/components/Sidebar/index.cjs +1 -1
- package/dist/components/Sidebar/index.d.cts +2 -1
- package/dist/components/Sidebar/index.d.ts +2 -1
- package/dist/components/Sidebar/index.js +5 -4
- 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/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/Timeline/index.cjs +1 -1
- package/dist/components/Timeline/index.js +1 -1
- package/dist/components/Toast/index.cjs +1 -1
- package/dist/components/Toast/index.js +1 -1
- package/dist/components/ToggleButton/index.cjs +1 -1
- package/dist/components/ToggleButton/index.js +1 -1
- package/dist/components/TranslatedFields/index.cjs +1 -1
- package/dist/components/TranslatedFields/index.js +1 -1
- package/dist/components/UserCard/index.cjs +1 -1
- package/dist/components/UserCard/index.js +1 -1
- package/dist/entries/app.cjs +1 -1
- package/dist/entries/app.js +1 -1
- package/dist/entries/auth.cjs +1 -1
- package/dist/entries/auth.js +2 -2
- package/dist/entries/components.cjs +1 -1
- package/dist/entries/components.js +157 -156
- package/dist/entries/i18n.cjs +1 -1
- package/dist/entries/i18n.js +2 -2
- package/dist/entries/icons.cjs +1 -1
- package/dist/entries/icons.js +1 -1
- package/dist/entries/theme.cjs +1 -1
- package/dist/entries/theme.js +1 -1
- package/dist/i18n/messages.d.cts +4 -0
- package/dist/i18n/messages.d.ts +4 -0
- package/dist/index.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +173 -172
- package/dist/{messages-DeQuvGln.js → messages-CZbb1xNN.js} +29 -15
- package/dist/messages-CZbb1xNN.js.map +1 -0
- package/dist/messages-D4ooXnUr.cjs +36 -0
- package/dist/messages-D4ooXnUr.cjs.map +1 -0
- package/dist/useHomeTo---51HTJ0.cjs +2 -0
- package/dist/useHomeTo---51HTJ0.cjs.map +1 -0
- package/dist/useHomeTo-CJj94TdV.js +10 -0
- package/dist/useHomeTo-CJj94TdV.js.map +1 -0
- package/dist/{useOptionMenu-6ZffgbYG.cjs → useOptionMenu-DS___46k.cjs} +2 -2
- package/dist/{useOptionMenu-6ZffgbYG.cjs.map → useOptionMenu-DS___46k.cjs.map} +1 -1
- package/dist/{useOptionMenu-CxM6FHXL.js → useOptionMenu-Sp2d3Bzi.js} +6 -6
- package/dist/{useOptionMenu-CxM6FHXL.js.map → useOptionMenu-Sp2d3Bzi.js.map} +1 -1
- package/package.json +1 -1
- package/dist/Icon-B7DJn8Tw.js.map +0 -1
- package/dist/Icon-CBg21lKA.cjs +0 -2
- package/dist/Icon-CBg21lKA.cjs.map +0 -1
- package/dist/Sidebar-CLr-DyQ_.js +0 -522
- package/dist/Sidebar-CLr-DyQ_.js.map +0 -1
- package/dist/Sidebar-CM-jZfj5.cjs +0 -2
- package/dist/Sidebar-CM-jZfj5.cjs.map +0 -1
- package/dist/messages-DeQuvGln.js.map +0 -1
- package/dist/messages-dL9MkVze.cjs +0 -36
- package/dist/messages-dL9MkVze.cjs.map +0 -1
- package/dist/useHomeTo-BLSvhJd5.js +0 -25
- package/dist/useHomeTo-BLSvhJd5.js.map +0 -1
- package/dist/useHomeTo-cXCg1tf0.cjs +0 -2
- package/dist/useHomeTo-cXCg1tf0.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QrCode-
|
|
1
|
+
{"version":3,"file":"QrCode-jaDZxZkv.js","sources":["../src/components/QrCode/QrCode.tsx"],"sourcesContent":["import { forwardRef, type CSSProperties, type HTMLAttributes, type ReactNode } from 'react'\nimport { clsx } from 'clsx'\nimport type * as QrLibModule from 'qrcode.react'\nimport { optionalPeer, useOptionalPeer } from '../../hooks/useOptionalPeer'\nimport { Skeleton } from '../Skeleton'\nimport { useT, type ThemeColor } from '../../theme'\nimport { Typography } from '../Typography'\nimport styles from './QrCode.module.css'\n\nexport type QrCodeLevel = 'L' | 'M' | 'Q' | 'H'\n\nexport interface QrCodeProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {\n /** The encoded text (URL, `otpauth://…` URI, plain string). Required. */\n value: string\n /** Rendered edge length in px. Default `180`. */\n size?: number\n /** Error-correction level. Default `'M'` (`'H'` when `image` is set, so the logo can cover the middle). */\n level?: QrCodeLevel\n /** Module (foreground) tint — a theme token. Default `'text'` (so it follows light/dark). */\n color?: ThemeColor | 'text'\n /** Quiet zone in modules. Default `2`. */\n margin?: number\n /**\n * Optional centre image (a brand mark), as a URL or `{ src, width?, height?, excavate? }`.\n * `excavate` clears the modules under it (default `true`). Sizes default to ~22% of `size`.\n */\n image?: string | { src: string; width?: number; height?: number; excavate?: boolean }\n /** Caption rendered under the code (muted, centred) — e.g. \"Scan with your authenticator app\". */\n caption?: ReactNode\n /**\n * Wrap the code in a soft `surface` frame with padding and radius, so it sits cleanly on the\n * page `background`. Default `true`. Pass `false` for a bare SVG.\n */\n framed?: boolean\n /**\n * Accessible name. Defaults to the localized `qrCode.label` (\"QR code\"). The `value` is never exposed\n * as text by this component.\n */\n 'aria-label'?: string\n}\n\n/**\n * A QR code, rendered as a crisp **SVG** — wraps the optional peer **`qrcode.react`** (`npm i\n * qrcode.react`) so apps don't pull in their own encoder. The modules take a theme `color` token\n * (default `text`) via the `--tz-qr-fg` var; `framed` (default) wraps the code in a soft, elevated card.\n *\n * **Scannability:** a framed code always sits on a **white** card in both light and dark mode, and its\n * default modules stay **dark** in both — a QR must be dark-on-light to read reliably, so the frame is\n * kept white even in dark mode (a deliberate literal-color exception, like `CodeBlock`'s dark surface).\n * A custom `color` is honored as-is (pick one dark enough to scan). The wrapper is `role=\"img\"` with an\n * `aria-label`; the SVG itself is `aria-hidden`, so the encoded `value` is never read out as text.\n */\n/** @internal — exported for tests */\nexport const qrPeer = optionalPeer<typeof QrLibModule>(\n 'qrcode.react',\n 'QrCode',\n () => import('qrcode.react'),\n)\n\nexport const QrCode = forwardRef<HTMLDivElement, QrCodeProps>(function QrCode(\n {\n value,\n size = 180,\n level,\n color = 'text',\n margin = 2,\n image,\n caption,\n framed = true,\n className,\n style,\n 'aria-label': ariaLabelProp,\n ...props\n },\n ref,\n) {\n const t = useT()\n const ariaLabel = ariaLabelProp ?? t('qrCode.label')\n // `qrcode.react` is an optional peer, loaded lazily (never imported statically — apps without it must\n // still build + run from the barrel). Until it's ready a same-size skeleton holds the spot; if it isn't\n // installed the spot stays empty and an install hint is logged.\n const { module: qrLib, failed } = useOptionalPeer(qrPeer)\n const QRCodeSVG = qrLib?.QRCodeSVG\n\n // 'H' error correction by default when a centre image is present, so the logo can cover the middle\n // without breaking the code; otherwise 'M'. An explicit `level` always wins.\n const resolvedLevel: QrCodeLevel = level ?? (image ? 'H' : 'M')\n\n const imageSettings =\n image != null\n ? (() => {\n const img = typeof image === 'string' ? { src: image } : image\n const dim = Math.round(size * 0.22)\n return {\n src: img.src,\n width: img.width ?? dim,\n height: img.height ?? dim,\n excavate: img.excavate ?? true,\n }\n })()\n : undefined\n\n // The foreground (modules) follows the `color` token via `--tz-qr-fg`. The default `text` is left to\n // CSS (so `.framed` can force dark modules on the white card in dark mode); a custom token is pinned\n // inline, so it wins over that CSS fallback and is rendered exactly as asked.\n const fgVar = color === 'text' ? undefined : { '--tz-qr-fg': `var(--tz-color-${color})` }\n\n return (\n <div\n ref={ref}\n role=\"img\"\n aria-label={ariaLabel}\n className={clsx(styles.root, framed && styles.framed, className)}\n style={{ ...fgVar, ...style } as CSSProperties}\n {...props}\n >\n {QRCodeSVG ? (\n <QRCodeSVG\n className={styles.code}\n value={value}\n size={size}\n level={resolvedLevel}\n marginSize={margin}\n // colors flow through CSS vars so `.framed` can guarantee contrast per theme (see the module)\n fgColor=\"var(--tz-qr-fg)\"\n bgColor=\"var(--tz-qr-bg)\"\n imageSettings={imageSettings}\n aria-hidden\n />\n ) : (\n <Skeleton\n variant=\"rect\"\n width={size}\n height={size}\n animation={failed ? false : 'shimmer'}\n className={styles.code}\n />\n )}\n {caption != null && (\n <Typography variant=\"caption\" color=\"muted\" className={styles.caption}>\n {caption}\n </Typography>\n )}\n </div>\n )\n})\n"],"names":["qrPeer","optionalPeer","QrCode","forwardRef","value","size","level","color","margin","image","caption","framed","className","style","ariaLabelProp","props","ref","t","useT","ariaLabel","qrLib","failed","useOptionalPeer","QRCodeSVG","resolvedLevel","imageSettings","img","dim","fgVar","jsxs","clsx","styles","jsx","Skeleton","Typography"],"mappings":";;;;;;;;;;;;GAqDaA,IAASC;AAAA,EACpB;AAAA,EACA;AAAA,EACA,MAAM,OAAO,cAAc;AAC7B,GAEaC,IAASC,EAAwC,SAC5D;AAAA,EACE,OAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,QAAAC,IAAS;AAAA,EACT,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,cAAcC;AAAA,EACd,GAAGC;AACL,GACAC,GACA;AACA,QAAMC,IAAIC,EAAA,GACJC,IAAYL,KAAiBG,EAAE,cAAc,GAI7C,EAAE,QAAQG,GAAO,QAAAC,EAAA,IAAWC,EAAgBtB,CAAM,GAClDuB,IAAYH,KAAA,gBAAAA,EAAO,WAInBI,IAA6BlB,MAAUG,IAAQ,MAAM,MAErDgB,IACJhB,KAAS,QACJ,MAAM;AACL,UAAMiB,IAAM,OAAOjB,KAAU,WAAW,EAAE,KAAKA,MAAUA,GACnDkB,IAAM,KAAK,MAAMtB,IAAO,IAAI;AAClC,WAAO;AAAA,MACL,KAAKqB,EAAI;AAAA,MACT,OAAOA,EAAI,SAASC;AAAA,MACpB,QAAQD,EAAI,UAAUC;AAAA,MACtB,UAAUD,EAAI,YAAY;AAAA,IAAA;AAAA,EAE9B,OACA,QAKAE,IAAQrB,MAAU,SAAS,SAAY,EAAE,cAAc,kBAAkBA,CAAK,IAAA;AAEpF,SACE,gBAAAsB;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAb;AAAA,MACA,MAAK;AAAA,MACL,cAAYG;AAAA,MACZ,WAAWW,EAAKC,EAAO,MAAMpB,KAAUoB,EAAO,QAAQnB,CAAS;AAAA,MAC/D,OAAO,EAAE,GAAGgB,GAAO,GAAGf,EAAA;AAAA,MACrB,GAAGE;AAAA,MAEH,UAAA;AAAA,QAAAQ,IACC,gBAAAS;AAAA,UAACT;AAAA,UAAA;AAAA,YACC,WAAWQ,EAAO;AAAA,YAClB,OAAA3B;AAAA,YACA,MAAAC;AAAA,YACA,OAAOmB;AAAA,YACP,YAAYhB;AAAA,YAEZ,SAAQ;AAAA,YACR,SAAQ;AAAA,YACR,eAAAiB;AAAA,YACA,eAAW;AAAA,UAAA;AAAA,QAAA,IAGb,gBAAAO;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,OAAO5B;AAAA,YACP,QAAQA;AAAA,YACR,WAAWgB,IAAS,KAAQ;AAAA,YAC5B,WAAWU,EAAO;AAAA,UAAA;AAAA,QAAA;AAAA,QAGrBrB,KAAW,QACV,gBAAAsB,EAACE,GAAA,EAAW,SAAQ,WAAU,OAAM,SAAQ,WAAWH,EAAO,SAC3D,UAAArB,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR,CAAC;"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsx as o, jsxs as l, Fragment as T } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef as R, useState as _, useRef as E, useId as I } from "react";
|
|
3
3
|
import { B as O } from "./Blockquote-Ma-2naET.js";
|
|
4
|
-
import { B as v } from "./Button-
|
|
4
|
+
import { B as v } from "./Button-7mgXcRdw.js";
|
|
5
5
|
import { C as S } from "./Code-DaEpXHfF.js";
|
|
6
|
-
import { b as B } from "./Icon-
|
|
7
|
-
import { M as j } from "./Modal-
|
|
8
|
-
import { T as F } from "./TextField-
|
|
6
|
+
import { b as B } from "./Icon-DMMO32p6.js";
|
|
7
|
+
import { M as j } from "./Modal-BO7fHn0r.js";
|
|
8
|
+
import { T as F } from "./TextField-BsC2zoHI.js";
|
|
9
9
|
import { T as L } from "./Typography-ChSuxgkc.js";
|
|
10
|
-
import { a as k } from "./ConfigProvider-
|
|
10
|
+
import { a as k } from "./ConfigProvider-bXX8dnhY.js";
|
|
11
11
|
const M = "_modalBody_1nqut_5", K = "_body_1nqut_4", P = "_iconBox_1nqut_20", A = "_confirm_1nqut_37", G = "_phrase_1nqut_45", a = {
|
|
12
12
|
modalBody: M,
|
|
13
13
|
body: K,
|
|
@@ -106,4 +106,4 @@ function H({ text: u }) {
|
|
|
106
106
|
export {
|
|
107
107
|
eo as R
|
|
108
108
|
};
|
|
109
|
-
//# sourceMappingURL=RemoveDialog-
|
|
109
|
+
//# sourceMappingURL=RemoveDialog-DdO5E3Wl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveDialog-
|
|
1
|
+
{"version":3,"file":"RemoveDialog-DdO5E3Wl.js","sources":["../src/components/RemoveDialog/RemoveDialog.tsx"],"sourcesContent":["import { forwardRef, useId, useRef, useState, type KeyboardEvent, type ReactNode } from 'react'\nimport { useT } from '../../theme'\nimport { Blockquote } from '../Blockquote'\nimport { Button } from '../Button'\nimport { Code } from '../Code'\nimport { Icon } from '../Icon'\nimport { Modal } from '../Modal'\nimport { TextField } from '../TextField'\nimport { Typography } from '../Typography'\nimport styles from './RemoveDialog.module.css'\n\nexport interface RemoveDialogProps {\n /** Whether the dialog is open. */\n open: boolean\n /** Called on Cancel, the × button, backdrop, or Escape (ignored while a confirm is in flight). */\n onClose: () => void\n /**\n * The destructive action. May be async — while its promise is pending the Delete button shows a\n * loader and the dialog locks (no dismiss); on success the dialog **auto-closes**, on rejection it\n * stays open so the user can retry (surface the error yourself, e.g. a toast).\n */\n onConfirm: () => void | Promise<void>\n /** Header title. Defaults to `\"Remove\"`. */\n title?: ReactNode\n /** Body prompt shown under the icon. Defaults to `\"Are you sure you want to delete?\"`. */\n message?: ReactNode\n /** Confirm (destructive) button label. Defaults to `\"Delete\"`. */\n confirmLabel?: string\n /** Cancel button label. Defaults to `\"Cancel\"`. */\n cancelLabel?: string\n /** External loading override — combined with the internal async-confirm state. */\n loading?: boolean\n /**\n * **Type-to-confirm** for high-risk deletes: the user must type this exact text (e.g. `\"remove user\"`)\n * into a field before Delete enables. Case-sensitive; surrounding whitespace is ignored. The field is\n * focused on open, cleared on every open, and Enter confirms once it matches.\n */\n confirmText?: string\n}\n\n/**\n * A ready-made delete confirmation — a thin convenience wrapper over `Modal` for the ubiquitous\n * \"Are you sure you want to delete?\" prompt. Hardcodes the destructive flavor (a `Trash` glyph in a\n * soft error circle + an `error` Delete button); just wire `open` / `onClose` / `onConfirm`. An async\n * `onConfirm` drives the button loader and locks dismissal, then auto-closes on success. `confirmText`\n * adds **type-to-confirm**: Delete stays disabled until the user types that exact text. Built on\n * `Modal`, so it inherits the portal, scroll-lock, focus-trap, and backdrop/Escape dismissal.\n *\n * @example\n * const { isOpen, open, close } = useDisclosure()\n * <RemoveDialog open={isOpen} onClose={close} onConfirm={() => deleteItem(id)} />\n */\nexport const RemoveDialog = forwardRef<HTMLDivElement, RemoveDialogProps>(function RemoveDialog(\n {\n open,\n onClose,\n onConfirm,\n title,\n message,\n confirmLabel,\n cancelLabel,\n loading = false,\n confirmText,\n },\n ref,\n) {\n const t = useT()\n const [submitting, setSubmitting] = useState(false)\n const busy = loading || submitting\n\n // type-to-confirm — cleared every time the dialog opens (\"adjust state on prop change\", no effect)\n const [typed, setTyped] = useState('')\n const wasOpen = useRef(open)\n if (wasOpen.current !== open) {\n wasOpen.current = open\n if (open) setTyped('')\n }\n const matches = confirmText == null || typed.trim() === confirmText.trim()\n const promptId = useId()\n\n // dismissal is blocked while the confirm is running (so the delete can't be abandoned mid-flight)\n const handleClose = () => {\n if (!busy) onClose()\n }\n\n const handleConfirm = async () => {\n if (!matches || busy) return\n try {\n setSubmitting(true)\n await onConfirm()\n onClose() // auto-close on success\n } catch {\n // keep the dialog open on failure so the user can retry; the consumer surfaces the error\n } finally {\n setSubmitting(false)\n }\n }\n\n return (\n <Modal\n ref={ref}\n open={open}\n onClose={handleClose}\n size=\"sm\"\n bodyClassName={styles.modalBody}\n title={title ?? t('removeDialog.title')}\n showCloseButton={!busy}\n closeOnBackdrop={!busy}\n closeOnEscape={!busy}\n footer={\n <>\n <Button variant=\"text\" size=\"sm\" onClick={handleClose} disabled={busy}>\n {cancelLabel ?? t('common.cancel')}\n </Button>\n <Button\n color=\"error\"\n variant=\"filled\"\n size=\"sm\"\n onClick={handleConfirm}\n loading={busy}\n disabled={!matches}\n >\n {confirmLabel ?? t('common.delete')}\n </Button>\n </>\n }\n >\n <div className={styles.body}>\n <div className={styles.iconBox} aria-hidden>\n <Icon name=\"Trash\" />\n </div>\n <Typography align=\"center\">{message ?? t('removeDialog.message')}</Typography>\n {confirmText != null && (\n <div className={styles.confirm}>\n {/* the instruction, as an error-tinted quote — it also names the field (aria-labelledby) */}\n <Blockquote id={promptId} size=\"sm\" color=\"error\">\n <TypeToConfirmLabel text={confirmText} />\n </Blockquote>\n <TextField\n aria-labelledby={promptId}\n placeholder={confirmText}\n value={typed}\n onChange={(event) => setTyped(event.target.value)}\n onKeyDown={(event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault()\n void handleConfirm()\n }\n }}\n // a green tick once the phrase matches — the field confirms itself before Delete does\n adornment={typed && matches ? <Icon name=\"TickCircle\" color=\"success\" /> : undefined}\n adornmentPosition=\"right\"\n disabled={busy}\n size=\"sm\"\n autoComplete=\"off\"\n autoCapitalize=\"off\"\n autoCorrect=\"off\"\n spellCheck={false}\n />\n </div>\n )}\n </div>\n </Modal>\n )\n})\n\n/** \"Type {text} to confirm\" with the text set as inline `Code`, so the exact phrase stands out. */\nfunction TypeToConfirmLabel({ text }: { text: string }) {\n const t = useT()\n // translate with a sentinel in place of {text}, then split around it to slot the Code element in\n const SENTINEL = '\\u0000'\n const [before, after = ''] = t('removeDialog.typeToConfirm', { text: SENTINEL }).split(SENTINEL)\n return (\n <>\n {before}\n <Code size=\"sm\" color=\"error\" className={styles.phrase}>\n {text}\n </Code>\n {after}\n </>\n )\n}\n"],"names":["RemoveDialog","forwardRef","open","onClose","onConfirm","title","message","confirmLabel","cancelLabel","loading","confirmText","ref","t","useT","submitting","setSubmitting","useState","busy","typed","setTyped","wasOpen","useRef","matches","promptId","useId","handleClose","handleConfirm","jsx","Modal","styles","jsxs","Fragment","Button","Icon","Typography","Blockquote","TypeToConfirmLabel","TextField","event","text","SENTINEL","before","after","Code"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("react/jsx-runtime"),r=require("react"),z=require("./Blockquote-BWGxIL_V.cjs"),C=require("./Button-
|
|
2
|
-
//# sourceMappingURL=RemoveDialog-
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),r=require("react"),z=require("./Blockquote-BWGxIL_V.cjs"),C=require("./Button-DAvQCGIw.cjs"),N=require("./Code-CUdpWlY5.cjs"),j=require("./Icon-BoQmbW7j.cjs"),I=require("./Modal-yj92WLay.cjs"),R=require("./TextField-CXDBlP-8.cjs"),w=require("./Typography-d97DdbNd.cjs"),v=require("./ConfigProvider-BFhkb0BV.cjs"),E="_modalBody_1nqut_5",F="_body_1nqut_4",S="_iconBox_1nqut_20",O="_confirm_1nqut_37",L="_phrase_1nqut_45",i={modalBody:E,body:F,iconBox:S,confirm:O,phrase:L},M=r.forwardRef(function({open:s,onClose:t,onConfirm:l,title:d,message:b,confirmLabel:B,cancelLabel:_,loading:T=!1,confirmText:n},k){const c=v.useT(),[D,h]=r.useState(!1),o=T||D,[u,y]=r.useState(""),x=r.useRef(s);x.current!==s&&(x.current=s,s&&y(""));const m=n==null||u.trim()===n.trim(),g=r.useId(),p=()=>{o||t()},q=async()=>{if(!(!m||o))try{h(!0),await l(),t()}catch{}finally{h(!1)}};return e.jsx(I.Modal,{ref:k,open:s,onClose:p,size:"sm",bodyClassName:i.modalBody,title:d??c("removeDialog.title"),showCloseButton:!o,closeOnBackdrop:!o,closeOnEscape:!o,footer:e.jsxs(e.Fragment,{children:[e.jsx(C.Button,{variant:"text",size:"sm",onClick:p,disabled:o,children:_??c("common.cancel")}),e.jsx(C.Button,{color:"error",variant:"filled",size:"sm",onClick:q,loading:o,disabled:!m,children:B??c("common.delete")})]}),children:e.jsxs("div",{className:i.body,children:[e.jsx("div",{className:i.iconBox,"aria-hidden":!0,children:e.jsx(j.Icon,{name:"Trash"})}),e.jsx(w.Typography,{align:"center",children:b??c("removeDialog.message")}),n!=null&&e.jsxs("div",{className:i.confirm,children:[e.jsx(z.Blockquote,{id:g,size:"sm",color:"error",children:e.jsx(P,{text:n})}),e.jsx(R.TextField,{"aria-labelledby":g,placeholder:n,value:u,onChange:a=>y(a.target.value),onKeyDown:a=>{a.key==="Enter"&&(a.preventDefault(),q())},adornment:u&&m?e.jsx(j.Icon,{name:"TickCircle",color:"success"}):void 0,adornmentPosition:"right",disabled:o,size:"sm",autoComplete:"off",autoCapitalize:"off",autoCorrect:"off",spellCheck:!1})]})]})})});function P({text:f}){const s=v.useT(),t="\0",[l,d=""]=s("removeDialog.typeToConfirm",{text:t}).split(t);return e.jsxs(e.Fragment,{children:[l,e.jsx(N.Code,{size:"sm",color:"error",className:i.phrase,children:f}),d]})}exports.RemoveDialog=M;
|
|
2
|
+
//# sourceMappingURL=RemoveDialog-eGNxdyoO.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveDialog-
|
|
1
|
+
{"version":3,"file":"RemoveDialog-eGNxdyoO.cjs","sources":["../src/components/RemoveDialog/RemoveDialog.tsx"],"sourcesContent":["import { forwardRef, useId, useRef, useState, type KeyboardEvent, type ReactNode } from 'react'\nimport { useT } from '../../theme'\nimport { Blockquote } from '../Blockquote'\nimport { Button } from '../Button'\nimport { Code } from '../Code'\nimport { Icon } from '../Icon'\nimport { Modal } from '../Modal'\nimport { TextField } from '../TextField'\nimport { Typography } from '../Typography'\nimport styles from './RemoveDialog.module.css'\n\nexport interface RemoveDialogProps {\n /** Whether the dialog is open. */\n open: boolean\n /** Called on Cancel, the × button, backdrop, or Escape (ignored while a confirm is in flight). */\n onClose: () => void\n /**\n * The destructive action. May be async — while its promise is pending the Delete button shows a\n * loader and the dialog locks (no dismiss); on success the dialog **auto-closes**, on rejection it\n * stays open so the user can retry (surface the error yourself, e.g. a toast).\n */\n onConfirm: () => void | Promise<void>\n /** Header title. Defaults to `\"Remove\"`. */\n title?: ReactNode\n /** Body prompt shown under the icon. Defaults to `\"Are you sure you want to delete?\"`. */\n message?: ReactNode\n /** Confirm (destructive) button label. Defaults to `\"Delete\"`. */\n confirmLabel?: string\n /** Cancel button label. Defaults to `\"Cancel\"`. */\n cancelLabel?: string\n /** External loading override — combined with the internal async-confirm state. */\n loading?: boolean\n /**\n * **Type-to-confirm** for high-risk deletes: the user must type this exact text (e.g. `\"remove user\"`)\n * into a field before Delete enables. Case-sensitive; surrounding whitespace is ignored. The field is\n * focused on open, cleared on every open, and Enter confirms once it matches.\n */\n confirmText?: string\n}\n\n/**\n * A ready-made delete confirmation — a thin convenience wrapper over `Modal` for the ubiquitous\n * \"Are you sure you want to delete?\" prompt. Hardcodes the destructive flavor (a `Trash` glyph in a\n * soft error circle + an `error` Delete button); just wire `open` / `onClose` / `onConfirm`. An async\n * `onConfirm` drives the button loader and locks dismissal, then auto-closes on success. `confirmText`\n * adds **type-to-confirm**: Delete stays disabled until the user types that exact text. Built on\n * `Modal`, so it inherits the portal, scroll-lock, focus-trap, and backdrop/Escape dismissal.\n *\n * @example\n * const { isOpen, open, close } = useDisclosure()\n * <RemoveDialog open={isOpen} onClose={close} onConfirm={() => deleteItem(id)} />\n */\nexport const RemoveDialog = forwardRef<HTMLDivElement, RemoveDialogProps>(function RemoveDialog(\n {\n open,\n onClose,\n onConfirm,\n title,\n message,\n confirmLabel,\n cancelLabel,\n loading = false,\n confirmText,\n },\n ref,\n) {\n const t = useT()\n const [submitting, setSubmitting] = useState(false)\n const busy = loading || submitting\n\n // type-to-confirm — cleared every time the dialog opens (\"adjust state on prop change\", no effect)\n const [typed, setTyped] = useState('')\n const wasOpen = useRef(open)\n if (wasOpen.current !== open) {\n wasOpen.current = open\n if (open) setTyped('')\n }\n const matches = confirmText == null || typed.trim() === confirmText.trim()\n const promptId = useId()\n\n // dismissal is blocked while the confirm is running (so the delete can't be abandoned mid-flight)\n const handleClose = () => {\n if (!busy) onClose()\n }\n\n const handleConfirm = async () => {\n if (!matches || busy) return\n try {\n setSubmitting(true)\n await onConfirm()\n onClose() // auto-close on success\n } catch {\n // keep the dialog open on failure so the user can retry; the consumer surfaces the error\n } finally {\n setSubmitting(false)\n }\n }\n\n return (\n <Modal\n ref={ref}\n open={open}\n onClose={handleClose}\n size=\"sm\"\n bodyClassName={styles.modalBody}\n title={title ?? t('removeDialog.title')}\n showCloseButton={!busy}\n closeOnBackdrop={!busy}\n closeOnEscape={!busy}\n footer={\n <>\n <Button variant=\"text\" size=\"sm\" onClick={handleClose} disabled={busy}>\n {cancelLabel ?? t('common.cancel')}\n </Button>\n <Button\n color=\"error\"\n variant=\"filled\"\n size=\"sm\"\n onClick={handleConfirm}\n loading={busy}\n disabled={!matches}\n >\n {confirmLabel ?? t('common.delete')}\n </Button>\n </>\n }\n >\n <div className={styles.body}>\n <div className={styles.iconBox} aria-hidden>\n <Icon name=\"Trash\" />\n </div>\n <Typography align=\"center\">{message ?? t('removeDialog.message')}</Typography>\n {confirmText != null && (\n <div className={styles.confirm}>\n {/* the instruction, as an error-tinted quote — it also names the field (aria-labelledby) */}\n <Blockquote id={promptId} size=\"sm\" color=\"error\">\n <TypeToConfirmLabel text={confirmText} />\n </Blockquote>\n <TextField\n aria-labelledby={promptId}\n placeholder={confirmText}\n value={typed}\n onChange={(event) => setTyped(event.target.value)}\n onKeyDown={(event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault()\n void handleConfirm()\n }\n }}\n // a green tick once the phrase matches — the field confirms itself before Delete does\n adornment={typed && matches ? <Icon name=\"TickCircle\" color=\"success\" /> : undefined}\n adornmentPosition=\"right\"\n disabled={busy}\n size=\"sm\"\n autoComplete=\"off\"\n autoCapitalize=\"off\"\n autoCorrect=\"off\"\n spellCheck={false}\n />\n </div>\n )}\n </div>\n </Modal>\n )\n})\n\n/** \"Type {text} to confirm\" with the text set as inline `Code`, so the exact phrase stands out. */\nfunction TypeToConfirmLabel({ text }: { text: string }) {\n const t = useT()\n // translate with a sentinel in place of {text}, then split around it to slot the Code element in\n const SENTINEL = '\\u0000'\n const [before, after = ''] = t('removeDialog.typeToConfirm', { text: SENTINEL }).split(SENTINEL)\n return (\n <>\n {before}\n <Code size=\"sm\" color=\"error\" className={styles.phrase}>\n {text}\n </Code>\n {after}\n </>\n )\n}\n"],"names":["RemoveDialog","forwardRef","open","onClose","onConfirm","title","message","confirmLabel","cancelLabel","loading","confirmText","ref","t","useT","submitting","setSubmitting","useState","busy","typed","setTyped","wasOpen","useRef","matches","promptId","useId","handleClose","handleConfirm","jsx","Modal","styles","jsxs","Fragment","Button","Icon","Typography","Blockquote","TypeToConfirmLabel","TextField","event","text","SENTINEL","before","after","Code"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const t=require("react/jsx-runtime"),d=require("react"),pe=require("clsx"),a=require("lexical"),Ve=require("@lexical/react/LexicalComposer"),he=require("@lexical/react/LexicalComposerContext"),Ge=require("@lexical/react/LexicalRichTextPlugin"),Ke=require("@lexical/react/LexicalContentEditable"),We=require("@lexical/react/LexicalErrorBoundary"),Ye=require("@lexical/react/LexicalHistoryPlugin"),Xe=require("@lexical/react/LexicalListPlugin"),Je=require("@lexical/react/LexicalCheckListPlugin"),Qe=require("@lexical/react/LexicalLinkPlugin"),Ze=require("@lexical/react/LexicalMarkdownShortcutPlugin"),ue=require("@lexical/markdown"),F=require("@lexical/rich-text"),D=require("@lexical/list"),V=require("@lexical/link"),Re=require("@lexical/html"),et=require("./formContext-bTWrqdEV.cjs"),ve=require("./Typography-d97DdbNd.cjs"),tt=require("./toastStore-B4Tk2Xk7.cjs"),O=require("@lexical/selection"),Q=require("@lexical/utils"),B=require("./Button-BtiFpRie.cjs"),Ee=require("./ColorPickerPanel-IOhJJF1R.cjs"),w=require("./Divider-CzbhdCiD.cjs"),Z=require("./Dropdown-C_y9_dVn.cjs"),nt=require("./FloatingPanel-tGCG2nhA.cjs"),L=require("./Icon-CBg21lKA.cjs"),q=require("./IconButton-DSPdv-oI.cjs"),z=require("./ListItem-CguNjf-u.cjs"),Me=require("./Modal-7cCok6fV.cjs"),Ae=require("./TextField-D4s2hGSd.cjs"),rt=require("@lexical/react/useLexicalEditable"),te=require("./ConfigProvider-CYSpuSMJ.cjs"),ot=/^(?:https?:|mailto:|tel:|ftp:|#|\/|\?|\.)/i,it=/^[a-z][a-z0-9+.-]*:/i;function fe(o){const e=o.trim();return e===""?"":ot.test(e)||!it.test(e)?e:"#"}function Oe(o){const e=o.trim();if(/^data:(?:image|video)\//i.test(e)||/^blob:/i.test(e))return e;const i=fe(e);return i==="#"?"":i}const st="_editor_ynman_1",at="_label_ynman_9",lt="_required_ynman_15",ct="_helper_ynman_18",ut="_control_ynman_24",dt="_error_ynman_38",mt="_disabled_ynman_45",pt="_toolbar_ynman_51",ht="_sm_ynman_67",ft="_md_ynman_71",gt="_lg_ynman_75",_t="_colorGlyph_ynman_81",xt="_colorBar_ynman_89",yt="_shell_ynman_107",Tt="_content_ynman_110",bt="_placeholder_ynman_125",Lt="_paragraph_ynman_148",vt="_h1_ynman_154",Et="_h2_ynman_155",Nt="_h3_ynman_156",St="_h4_ynman_157",Ct="_h5_ynman_158",jt="_h6_ynman_159",kt="_quote_ynman_178",It="_ul_ynman_187",Rt="_ol_ynman_193",Mt="_li_ynman_199",At="_nestedLi_ynman_202",Ot="_liChecked_ynman_206",Dt="_liUnchecked_ynman_207",$t="_link_ynman_244",wt="_bold_ynman_251",qt="_italic_ynman_254",Ft="_underline_ynman_257",Bt="_strike_ynman_260",Pt="_codeInline_ynman_266",Ut="_imageFrame_ynman_284",Ht="_imageFrame_left_ynman_298",zt="_imageFrame_right_ynman_303",Vt="_imageFrame_center_ynman_308",Gt="_imageTools_ynman_317",Kt="_imageToolButton_ynman_326",Wt="_imageToolIcon_ynman_348",c={editor:st,label:at,required:lt,helper:ct,control:ut,error:dt,disabled:mt,toolbar:pt,sm:ht,md:ft,lg:gt,colorGlyph:_t,colorBar:xt,shell:yt,content:Tt,placeholder:bt,paragraph:Lt,h1:vt,h2:Et,h3:Nt,h4:St,h5:Ct,h6:jt,quote:kt,ul:It,ol:Rt,li:Mt,nestedLi:At,liChecked:Ot,liUnchecked:Dt,link:$t,bold:wt,italic:qt,underline:Ft,strike:Bt,codeInline:Pt,imageFrame:Ut,imageFrame_left:Ht,imageFrame_right:zt,imageFrame_center:Vt,imageTools:Gt,imageToolButton:Kt,imageToolIcon:Wt},Yt={inline:"",left:"float: left; margin: 0 16px 8px 0; max-width: 50%;",right:"float: right; margin: 0 0 8px 16px; max-width: 50%;",center:"display: block; margin: 8px auto;"};function Xt(o){const{float:e,display:i,marginLeft:r,marginRight:u}=o.style;return e==="left"?"left":e==="right"?"right":i==="block"&&r==="auto"&&u==="auto"?"center":"inline"}function Jt(o){return o instanceof HTMLImageElement&&o.src?{node:ee(o.getAttribute("src")??o.src,o.alt,Xt(o))}:null}class G extends a.DecoratorNode{static getType(){return"tz-image"}static clone(e){return new G(e.__src,e.__alt,e.__layout,e.__key)}constructor(e,i="",r="inline",u){super(u),this.__src=Oe(e),this.__alt=i,this.__layout=r}static importJSON(e){return ee(e.src,e.alt,e.layout??"inline")}exportJSON(){return{...super.exportJSON(),type:"tz-image",version:1,src:this.__src,alt:this.__alt,layout:this.__layout}}static importDOM(){return{img:()=>({conversion:Jt,priority:0})}}exportDOM(){const e=document.createElement("img");e.setAttribute("src",this.__src),e.setAttribute("alt",this.__alt);const i=Yt[this.__layout];return i&&e.setAttribute("style",i),{element:e}}createDOM(){const e=document.createElement("div");return e.style.display="contents",e}updateDOM(){return!1}getSrc(){return this.__src}getAltText(){return this.__alt}setAltText(e){this.getWritable().__alt=e}getLayout(){return this.__layout}setLayout(e){this.getWritable().__layout=e}decorate(){return t.jsx(en,{nodeKey:this.getKey(),src:this.__src,alt:this.__alt,layout:this.__layout})}}const Qt=["inline","left","right","center"],Zt={inline:"rte.layoutInline",left:"rte.layoutLeft",right:"rte.layoutRight",center:"rte.layoutCenter"};function Ne({layout:o}){const e=(r,u,s)=>t.jsx("rect",{x:r,y:u,width:s,height:1.5,rx:.75},`${r}-${u}`),i={inline:[t.jsx("rect",{x:1,y:4,width:7,height:7,rx:1.5},"img"),e(9.5,9.5,5.5)],left:[t.jsx("rect",{x:1,y:2,width:6,height:6,rx:1.5},"img"),e(8.5,2.5,6.5),e(8.5,5.5,6.5),e(1,10,14),e(1,13,10)],right:[t.jsx("rect",{x:9,y:2,width:6,height:6,rx:1.5},"img"),e(1,2.5,6.5),e(1,5.5,6.5),e(1,10,14),e(1,13,10)],center:[e(3,1.5,10),t.jsx("rect",{x:4.5,y:4.5,width:7,height:7,rx:1.5},"img"),e(3,13,10)]};return t.jsx("svg",{viewBox:"0 0 16 16",width:16,height:16,fill:"currentColor","aria-hidden":"true",children:i[o]})}function en({nodeKey:o,src:e,alt:i,layout:r}){const[u]=he.useLexicalComposerContext(),s=rt.useLexicalEditable(),m=te.useT(),T=d.useId(),[h,f]=d.useState(!1),[v,_]=d.useState(i),y=d.useRef(null);d.useEffect(()=>{const l=y.current;if(!l)return;const g=E=>E.stopPropagation();return l.addEventListener("keydown",g),()=>l.removeEventListener("keydown",g)},[s]);const b=d.useRef(null);d.useEffect(()=>{const l=b.current;if(!l)return;const g=E=>{["Enter"," ","Backspace","Delete"].includes(E.key)&&E.stopPropagation()};return l.addEventListener("keydown",g),()=>l.removeEventListener("keydown",g)},[s]);const N=()=>{u.update(()=>{const l=a.$getNodeByKey(o);Se(l)&&l.setAltText(v.trim())}),f(!1)},P=l=>u.update(()=>{const g=a.$getNodeByKey(o);Se(g)&&g.setLayout(l)});return t.jsxs("span",{className:pe.clsx(c.imageFrame,r!=="inline"&&c[`imageFrame_${r}`]),contentEditable:!1,onMouseDown:l=>{if(!s||l.button!==0||!l.currentTarget.contains(l.target)||l.target.closest("button"))return;l.preventDefault();const g=l.currentTarget.getBoundingClientRect(),E=l.clientX<g.left+g.width/2;u.update(()=>{const k=a.$getNodeByKey(o);k&&(E?k.selectPrevious():k.selectNext(0,0))}),u.focus()},children:[t.jsx("img",{src:e,alt:i,draggable:!1}),s&&t.jsxs("span",{className:c.imageTools,children:[t.jsx(Z.Dropdown,{placement:"bottom-end",size:"sm",trigger:t.jsx("button",{ref:b,type:"button",className:pe.clsx(c.imageToolButton,c.imageToolIcon),"aria-label":m("rte.imageLayout"),title:m("rte.imageLayout"),onMouseDown:l=>{l.preventDefault(),l.stopPropagation()},children:t.jsx(Ne,{layout:r})}),children:Qt.map(l=>t.jsx(z.ListItem,{clickable:!0,selected:l===r,icon:t.jsx(Ne,{layout:l}),onClick:()=>P(l),children:m(Zt[l])},l))}),t.jsxs("button",{ref:y,type:"button",className:c.imageToolButton,"aria-label":m("rte.editAlt"),title:i||m("rte.editAlt"),onMouseDown:l=>{l.preventDefault(),l.stopPropagation()},onClick:()=>{_(i),f(!0)},children:[t.jsx(L.Icon,{name:"Text",size:"sm"}),t.jsx("span",{children:m("rte.altText")})]})]}),t.jsx(Me.Modal,{open:h,onClose:()=>f(!1),size:"sm",icon:"Text",title:m("rte.altText"),footer:t.jsxs(t.Fragment,{children:[t.jsx(B.Button,{variant:"text",size:"sm",onClick:()=>f(!1),children:m("common.cancel")}),t.jsx(B.Button,{type:"submit",size:"sm",form:T,children:m("common.save")})]}),children:t.jsx("form",{id:T,onSubmit:l=>{l.preventDefault(),l.stopPropagation(),N()},children:t.jsx(Ae.TextField,{label:m("rte.altText"),placeholder:m("rte.altPlaceholder"),value:v,onChange:l=>_(l.target.value),autoFocus:!0})})})]})}function ee(o,e="",i="inline"){return a.$applyNodeReplacement(new G(o,e,i))}function Se(o){return o instanceof G}function Ce(o){return/\.(mp4|webm|ogg|ogv|mov|m4v)(\?.*)?$/i.test(o)}function tn(o){const e=o.match(/(?:youtube\.com\/(?:watch\?(?:.*&)?v=|embed\/|shorts\/)|youtu\.be\/)([\w-]{11})/);if(e)return`https://www.youtube.com/embed/${e[1]}`;const i=o.match(/vimeo\.com\/(?:video\/)?(\d+)/);return i?`https://player.vimeo.com/video/${i[1]}`:o}function je(o){var i;const e=o.getAttribute("src")||((i=o.querySelector("source"))==null?void 0:i.getAttribute("src"));return e?{node:ge(e)}:null}class ne extends a.DecoratorNode{static getType(){return"tz-video"}static clone(e){return new ne(e.__src,e.__key)}constructor(e,i){super(i),this.__src=Oe(e)}static importJSON(e){return ge(e.src)}exportJSON(){return{...super.exportJSON(),type:"tz-video",version:1,src:this.__src}}static importDOM(){return{iframe:()=>({conversion:je,priority:0}),video:()=>({conversion:je,priority:0})}}exportDOM(){if(Ce(this.__src)){const i=document.createElement("video");return i.setAttribute("src",this.__src),i.setAttribute("controls","true"),{element:i}}const e=document.createElement("iframe");return e.setAttribute("src",this.__src),e.setAttribute("frameborder","0"),e.setAttribute("allowfullscreen","true"),e.setAttribute("allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"),{element:e}}createDOM(){const e=document.createElement("div");return e.style.display="contents",e}updateDOM(){return!1}getSrc(){return this.__src}decorate(){return Ce(this.__src)?t.jsx("video",{src:this.__src,controls:!0}):t.jsx(nn,{src:this.__src})}}function nn({src:o}){const e=te.useT();return t.jsx("div",{className:"tz-rte-embed",children:t.jsx("iframe",{src:o,title:e("rte.embeddedVideo"),frameBorder:0,allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})})}function ge(o){return a.$applyNodeReplacement(new ne(tn(o)))}const rn={paragraph:"Paragraph",h1:"Heading 1",h2:"Heading 2",h3:"Heading 3",quote:"Quote",bullet:"Bullet List",number:"Numbered List",check:"Check List"},on=[{type:"paragraph",icon:"Text"},{type:"h1",icon:"Hashtag"},{type:"h2",icon:"Hashtag"},{type:"h3",icon:"Hashtag"}],sn=[{value:"left",labelKey:"rte.alignLeft",icon:"TextalignLeft"},{value:"center",labelKey:"rte.alignCenter",icon:"TextalignCenter"},{value:"right",labelKey:"rte.alignRight",icon:"TextalignRight"}],an=["10px","12px","13px","14px","16px","18px","20px"],ln={sm:"12px",md:"13px",lg:"16px"};function cn({color:o,size:e}){return t.jsxs("span",{className:c.colorGlyph,children:[t.jsx(L.Icon,{name:"Brush",size:e}),t.jsx("span",{className:c.colorBar,style:{borderColor:`transparent transparent ${o||"currentColor"} transparent`},"aria-hidden":"true"})]})}function un({size:o,disabled:e,onImageUpload:i}){const r=te.useT(),u=n=>rn[n]??n,[s]=he.useLexicalComposerContext(),m=d.useRef(null),[T,h]=d.useState(!1),[f,v]=d.useState(!1),[_,y]=d.useState(!1),[b,N]=d.useState(!1),[P,l]=d.useState(""),[g,E]=d.useState("paragraph"),[k,re]=d.useState("left"),[j,S]=d.useState(""),[$,U]=d.useState(""),[K,W]=d.useState(!1),H=d.useRef(null),[oe,Y]=d.useState(!1),[ie,C]=d.useState(!1),[x,se]=d.useState(null),[_e,xe]=d.useState(""),ae=d.useCallback(()=>{const n=a.$getSelection();if(!a.$isRangeSelection(n))return;h(n.hasFormat("bold")),v(n.hasFormat("italic")),y(n.hasFormat("underline")),U(O.$getSelectionStyleValueForProperty(n,"color","")),S(O.$getSelectionStyleValueForProperty(n,"font-size",""));const p=n.anchor.getNode(),M=p.getParent(),R=V.$isLinkNode(p)?p:V.$isLinkNode(M)?M:null;N(R!==null),l((R==null?void 0:R.getURL())??"");const A=p.getKey()==="root"?p:Q.$findMatchingParent(p,ze=>{const Le=ze.getParent();return Le===null||Le.getKey()==="root"})??p.getTopLevelElement();re(a.$isElementNode(A)&&A.getFormatType()||"left");const J=Q.$getNearestNodeOfType(p,D.ListNode);J?E(J.getListType()):F.$isHeadingNode(A)?E(A.getTag()):F.$isQuoteNode(A)?E("quote"):E("paragraph")},[]);d.useEffect(()=>Q.mergeRegister(s.registerUpdateListener(({editorState:n})=>n.read(ae)),s.registerCommand(a.SELECTION_CHANGE_COMMAND,()=>(ae(),!1),a.COMMAND_PRIORITY_LOW),s.registerCommand(a.CAN_UNDO_COMMAND,n=>(Y(n),!1),a.COMMAND_PRIORITY_LOW),s.registerCommand(a.CAN_REDO_COMMAND,n=>(C(n),!1),a.COMMAND_PRIORITY_LOW)),[s,ae]);const le=n=>s.dispatchCommand(a.FORMAT_TEXT_COMMAND,n),De=n=>s.dispatchCommand(a.FORMAT_ELEMENT_COMMAND,n),$e=n=>{U(n),s.update(()=>{const p=a.$getSelection();a.$isRangeSelection(p)&&O.$patchStyleText(p,{color:n||null})})},we=n=>{S(n),s.update(()=>{const p=a.$getSelection();a.$isRangeSelection(p)&&O.$patchStyleText(p,{"font-size":n||null})})},X=n=>{if(n==="bullet"||n==="number"||n==="check"){if(g===n)s.dispatchCommand(D.REMOVE_LIST_COMMAND,void 0);else{const p=n==="bullet"?D.INSERT_UNORDERED_LIST_COMMAND:n==="number"?D.INSERT_ORDERED_LIST_COMMAND:D.INSERT_CHECK_LIST_COMMAND;s.dispatchCommand(p,void 0)}return}s.update(()=>{const p=a.$getSelection();a.$isRangeSelection(p)&&(n==="paragraph"?O.$setBlocksType(p,()=>a.$createParagraphNode()):n==="quote"?O.$setBlocksType(p,()=>F.$createQuoteNode()):O.$setBlocksType(p,()=>F.$createHeadingNode(n)))})},qe=()=>X(g==="quote"?"paragraph":"quote"),ce=(n,p="")=>{xe(p),se(n)},ye=()=>se(null),Fe=()=>{x==null||x.onConfirm(_e.trim()),se(null)},Be=()=>ce({icon:"Link2",title:r("rte.linkTitle"),label:r("rte.linkUrl"),placeholder:"https://example.com",confirmLabel:r(b?"common.update":"common.insert"),onConfirm:n=>s.dispatchCommand(V.TOGGLE_LINK_COMMAND,n===""?null:fe(n))},P),Pe=()=>ce({icon:"GalleryAdd",title:r("rte.imageTitle"),label:r("rte.imageUrl"),placeholder:"https://example.com/image.jpg",confirmLabel:r("common.insert"),onConfirm:n=>{n&&s.update(()=>de(ee(n)))}}),Ue=async n=>{var M;const p=(M=n.target.files)==null?void 0:M[0];if(n.target.value="",!!p)try{const R=i?await i(p):await dn(p);s.update(()=>de(ee(R)))}catch{tt.toast.error(r("rte.imageError"))}},He=()=>ce({icon:"VideoSquare",title:r("rte.videoTitle"),label:r("rte.videoUrl"),placeholder:r("rte.videoUrlPlaceholder"),confirmLabel:r("common.insert"),onConfirm:n=>{n&&s.update(()=>de(ge(n)))}}),I=(n,p,M,R,A)=>t.jsx(q.IconButton,{variant:n?"filled":"text",color:"primary",size:o,disabled:e,"aria-label":p,"aria-pressed":n,onMouseDown:J=>J.preventDefault(),onClick:M,children:R},A),Te=g.startsWith("h")?g:"paragraph",be=j||ln[o];return t.jsxs("div",{className:c.toolbar,role:"toolbar","aria-label":r("rte.formatting"),"aria-orientation":"horizontal",children:[t.jsx(q.IconButton,{variant:"text",color:"primary",size:o,disabled:e||!oe,"aria-label":r("rte.undo"),onMouseDown:n=>n.preventDefault(),onClick:()=>s.dispatchCommand(a.UNDO_COMMAND,void 0),children:t.jsx(L.Icon,{name:"UndoArrow"})}),t.jsx(q.IconButton,{variant:"text",color:"primary",size:o,disabled:e||!ie,"aria-label":r("rte.redo"),onMouseDown:n=>n.preventDefault(),onClick:()=>s.dispatchCommand(a.REDO_COMMAND,void 0),children:t.jsx(L.Icon,{name:"RedoArrow"})}),t.jsx(w.Divider,{orientation:"vertical"}),t.jsx(Z.Dropdown,{size:o,disabled:e,minWidth:!1,trigger:t.jsx(B.Button,{variant:"text",color:"primary",size:o,disabled:e,endIcon:t.jsx(L.Icon,{name:"ArrowDown4"}),"aria-label":r("rte.fontSize"),onMouseDown:n=>n.preventDefault(),children:be}),children:an.map(n=>t.jsx(z.ListItem,{clickable:!0,selected:n===be,onClick:()=>we(n),children:n},n))}),t.jsx(w.Divider,{orientation:"vertical"}),t.jsx(Z.Dropdown,{size:o,disabled:e,trigger:t.jsx(B.Button,{variant:"text",color:"primary",size:o,disabled:e,endIcon:t.jsx(L.Icon,{name:"ArrowDown4"}),onMouseDown:n=>n.preventDefault(),children:u(Te)}),children:on.map(n=>t.jsx(z.ListItem,{clickable:!0,selected:Te===n.type,icon:n.icon,onClick:()=>X(n.type),children:u(n.type)},n.type))}),t.jsx(w.Divider,{orientation:"vertical"}),I(T,r("rte.bold"),()=>le("bold"),t.jsx(L.Icon,{name:"TextBold"})),I(f,r("rte.italic"),()=>le("italic"),t.jsx(L.Icon,{name:"TextItalic"})),I(_,r("rte.underline"),()=>le("underline"),t.jsx(L.Icon,{name:"TextUnderline"})),t.jsx(w.Divider,{orientation:"vertical"}),I(g==="bullet",r("rte.bulletList"),()=>X("bullet"),t.jsx(L.Icon,{name:"ListBullet"})),I(g==="number",r("rte.numberedList"),()=>X("number"),t.jsx(L.Icon,{name:"ListNumber"})),I(g==="quote",r("rte.quote"),qe,t.jsx(L.Icon,{name:"QuoteUp"})),t.jsx(w.Divider,{orientation:"vertical"}),sn.map(n=>I(k===n.value,r(n.labelKey),()=>De(n.value),t.jsx(L.Icon,{name:n.icon}),n.value)),t.jsx(w.Divider,{orientation:"vertical"}),t.jsx(q.IconButton,{ref:H,variant:"text",color:"primary",size:o,disabled:e,"aria-label":r("rte.textColor"),"aria-expanded":K,onMouseDown:n=>n.preventDefault(),onClick:()=>W(n=>!n),children:t.jsx(cn,{color:$})}),t.jsx(nt.FloatingPanel,{open:K,triggerRef:H,onClose:n=>{var p;W(!1),n&&((p=H.current)==null||p.focus())},role:"dialog",ariaLabel:r("rte.textColor"),width:232,children:t.jsx(Ee.ColorPickerPanel,{value:$||Ee.DEFAULT_SWATCHES[0],onChange:$e,clearable:!1})}),I(b,r("rte.link"),Be,t.jsx(L.Icon,{name:"Link2"})),t.jsxs(Z.Dropdown,{size:o,disabled:e,minWidth:!1,trigger:t.jsx(q.IconButton,{variant:"text",color:"primary",size:o,disabled:e,"aria-label":r("rte.insertImage"),children:t.jsx(L.Icon,{name:"GalleryAdd"})}),children:[t.jsx(z.ListItem,{clickable:!0,icon:"GalleryImport",onClick:()=>{var n;return(n=m.current)==null?void 0:n.click()},children:r("rte.uploadImage")}),t.jsx(z.ListItem,{clickable:!0,icon:"Link",onClick:Pe,children:r("rte.imageByUrl")})]}),t.jsx(q.IconButton,{variant:"text",color:"primary",size:o,disabled:e,"aria-label":r("rte.insertVideo"),onClick:He,children:t.jsx(L.Icon,{name:"VideoSquare"})}),t.jsx("input",{ref:m,type:"file",accept:"image/*",hidden:!0,onChange:Ue,"aria-hidden":"true",tabIndex:-1}),t.jsx(Me.Modal,{open:x!==null,onClose:ye,size:"sm",icon:x==null?void 0:x.icon,title:x==null?void 0:x.title,footer:t.jsxs(t.Fragment,{children:[t.jsx(B.Button,{variant:"text",size:"sm",onClick:ye,children:r("common.cancel")}),t.jsx(B.Button,{type:"submit",size:"sm",form:"rte-url-form",children:(x==null?void 0:x.confirmLabel)??r("common.insert")})]}),children:t.jsx("form",{id:"rte-url-form",onSubmit:n=>{n.preventDefault(),n.stopPropagation(),Fe()},children:t.jsx(Ae.TextField,{label:x==null?void 0:x.label,placeholder:x==null?void 0:x.placeholder,value:_e,onChange:n=>xe(n.target.value)})})})]})}function de(o){const e=a.$getSelection(),i=a.$isRangeSelection(e)?e.anchor.getNode().getTopLevelElement():a.$getRoot().getLastChild();if(a.$isParagraphNode(i)&&i.isEmpty()){i.append(o),i.selectEnd();return}const r=a.$createParagraphNode();r.append(o),Q.$insertNodeToNearestRoot(r);const u=r.getNextSibling();a.$isElementNode(u)&&u.isEmpty()&&(u.remove(),r.selectEnd());const s=r.getPreviousSibling();a.$isElementNode(s)&&s.isEmpty()&&s.remove()}function dn(o){return new Promise((e,i)=>{const r=new FileReader;r.onload=()=>e(r.result),r.onerror=()=>i(r.error),r.readAsDataURL(o)})}const mn={paragraph:c.paragraph,heading:{h1:c.h1,h2:c.h2,h3:c.h3,h4:c.h4,h5:c.h5,h6:c.h6},quote:c.quote,list:{ul:c.ul,ol:c.ol,listitem:c.li,listitemChecked:c.liChecked,listitemUnchecked:c.liUnchecked,nested:{listitem:c.nestedLi}},link:c.link,text:{bold:c.bold,italic:c.italic,underline:c.underline,strikethrough:c.strike,code:c.codeInline}},pn=[F.HeadingNode,F.QuoteNode,D.ListNode,D.ListItemNode,V.LinkNode,G,ne],hn=[...ue.ELEMENT_TRANSFORMERS,...ue.TEXT_FORMAT_TRANSFORMERS,...ue.TEXT_MATCH_TRANSFORMERS],fn=["color","font-size"],gn={span:o=>{var i,r;const e=(r=(i=a.TextNode.importDOM())==null?void 0:i.span)==null?void 0:r.call(i,o);return{priority:1,conversion:u=>{const s=(e==null?void 0:e.conversion(u))??{node:null},m=fn.flatMap(h=>{const f=u.style.getPropertyValue(h);return f?[[h,f]]:[]});if(m.length===0)return s;const T=s.forChild;return{...s,forChild:(h,f)=>{const v=T?T(h,f):h;if(a.$isTextNode(v)){const _={...a.getStyleObjectFromCSS(v.getStyle())};for(const[y,b]of m)_[y]=b;v.setStyle(Object.entries(_).map(([y,b])=>`${y}: ${b};`).join(" "))}return v}}}}}},_n=new Set(["A","B","CODE","EM","I","MARK","S","SPAN","STRONG","SUB","SUP","U"]);function xn(o){const e=o.split(";").map(i=>i.trim()).filter(i=>i&&!/^white-space\s*:\s*pre-wrap$/i.test(i));return e.length?`${e.join("; ")};`:null}function yn(o){const e=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT);let i=!0,r=!1,u=null;const s=()=>{u&&u.data.endsWith(" ")&&(u.data=`${u.data.slice(0,-1)} `),u=null,i=!0,r=!1};for(let m=e.nextNode();m;m=e.nextNode()){if(m.nodeType===Node.ELEMENT_NODE){_n.has(m.tagName)||s();continue}const T=m;if(!T.data)continue;let h="";for(const f of T.data)f===" "&&(i||r)?(h+=" ",r=!1):(h+=f,r=f===" "),i=!1;T.data=h,u=T}s()}function Tn(o){if(typeof document>"u")return o;const e=document.createElement("template");e.innerHTML=o;const i=e.content;return i.querySelectorAll("[class]").forEach(r=>r.removeAttribute("class")),i.querySelectorAll("[style]").forEach(r=>{var s;if((s=r.textContent)!=null&&s.includes(" "))return;const u=xn(r.getAttribute("style")??"");u?r.setAttribute("style",u):r.removeAttribute("style")}),i.querySelectorAll("span").forEach(r=>{r.attributes.length===0&&r.replaceWith(...r.childNodes)}),i.normalize(),yn(i),e.innerHTML}function bn(){const o=a.$getRoot(),e=o.getFirstChild();return o.getChildrenSize()<=1&&(e===null||a.$isParagraphNode(e)&&e.getChildrenSize()===0)}function ke(o,e){const i=a.$getRoot();if(i.clear(),e){const r=new DOMParser().parseFromString(e,"text/html"),u=Re.$generateNodesFromDOM(o,r);i.select(),a.$insertNodes(u)}i.getChildrenSize()===0&&i.append(a.$createParagraphNode()),a.$setSelection(null)}const me="tz-external-value";function Ie(o){return bn()?"":Tn(Re.$generateHtmlFromNodes(o,null))}function Ln({value:o,defaultValue:e,onChange:i,onReady:r,disabled:u}){const[s]=he.useLexicalComposerContext(),m=d.useRef(void 0),T=d.useRef(i);T.current=i;const h=d.useRef(r);h.current=r;const f=d.useRef(!1),v=_=>{var y;f.current||(f.current=!0,(y=h.current)==null||y.call(h,_))};return d.useEffect(()=>s.setEditable(!u),[s,u]),d.useEffect(()=>s.registerNodeTransform(V.LinkNode,_=>{const y=_.getURL(),b=fe(y);b!==y&&_.setURL(b)}),[s]),d.useEffect(()=>{if(o===void 0){if(!e){m.current="",v("");return}m.current=e,s.update(()=>ke(s,e),{tag:["history-merge",me]})}},[]),d.useEffect(()=>{o===void 0||o===m.current||(m.current=o,s.update(()=>ke(s,o),{tag:["history-merge",me]}))},[s,o]),d.useEffect(()=>s.registerUpdateListener(({dirtyElements:_,dirtyLeaves:y,tags:b})=>{if(b.has(me)){s.read(()=>{const N=Ie(s);m.current=N,v(N)});return}_.size===0&&y.size===0||s.read(()=>{const N=Ie(s);N!==m.current&&(m.current=N,T.current(N))})}),[s]),null}const vn=d.forwardRef(function({label:e,size:i="md",error:r,helperText:u,required:s=!1,disabled:m=!1,placeholder:T,name:h,value:f,defaultValue:v,onChange:_,onReady:y,onImageUpload:b,minHeight:N=220,"aria-label":P,className:l,style:g},E){const k=te.useT(),re=P??k("rte.label"),j=et.useFormContext(),S=j&&h?j.field(h):void 0,$=r??(S==null?void 0:S.error)??!1,U=u??(S==null?void 0:S.helperText),K=j&&h?j.values[h]:void 0,W=f!==void 0?f:j&&h?String(K??""):void 0,H=d.useCallback(C=>{j&&h&&j.setValue(h,C),_==null||_(C)},[j,h,_]),oe=C=>S==null?void 0:S.onBlur(C),Y=d.useRef(null);d.useEffect(()=>{const C=Y.current;C&&(h?C.setAttribute("name",h):C.removeAttribute("name"))},[h]);const ie={namespace:"tz-rich-text-editor",theme:mn,nodes:pn,html:{import:gn},editable:!m,onError:C=>{throw C}};return t.jsxs("div",{ref:E,className:pe.clsx(c.editor,c[i],$&&c.error,m&&c.disabled,l),style:{"--tz-rte-min-height":`${N}px`,...g},children:[e!=null&&t.jsxs("div",{className:c.label,children:[t.jsx(ve.Typography,{as:"span",variant:"bodySmall",color:"muted",children:e}),s&&t.jsx("span",{className:c.required,"aria-hidden":"true",children:"*"})]}),t.jsx("div",{className:c.control,children:t.jsxs(Ve.LexicalComposer,{initialConfig:ie,children:[t.jsx(un,{size:i,disabled:m,onImageUpload:b}),t.jsx("div",{className:c.shell,children:t.jsx(Ge.RichTextPlugin,{contentEditable:t.jsx(Ke.ContentEditable,{ref:Y,className:c.content,"aria-label":re,"aria-invalid":$||void 0,onBlur:oe}),placeholder:t.jsx("div",{className:c.placeholder,children:T??k("rte.placeholder")}),ErrorBoundary:We.LexicalErrorBoundary})}),t.jsx(Ye.HistoryPlugin,{}),t.jsx(Xe.ListPlugin,{}),t.jsx(Je.CheckListPlugin,{}),t.jsx(Qe.LinkPlugin,{}),t.jsx(Ze.MarkdownShortcutPlugin,{transformers:hn}),t.jsx(Ln,{value:W,defaultValue:v,onChange:H,onReady:y,disabled:m})]})}),U!=null&&t.jsx(ve.Typography,{as:"span",variant:"bodySmall",color:$?"error":"muted",className:c.helper,children:U})]})});exports.RichTextEditor=vn;
|
|
2
|
-
//# sourceMappingURL=RichTextEditor-
|
|
1
|
+
"use strict";const t=require("react/jsx-runtime"),d=require("react"),pe=require("clsx"),a=require("lexical"),Ve=require("@lexical/react/LexicalComposer"),he=require("@lexical/react/LexicalComposerContext"),Ge=require("@lexical/react/LexicalRichTextPlugin"),Ke=require("@lexical/react/LexicalContentEditable"),We=require("@lexical/react/LexicalErrorBoundary"),Ye=require("@lexical/react/LexicalHistoryPlugin"),Xe=require("@lexical/react/LexicalListPlugin"),Je=require("@lexical/react/LexicalCheckListPlugin"),Qe=require("@lexical/react/LexicalLinkPlugin"),Ze=require("@lexical/react/LexicalMarkdownShortcutPlugin"),ue=require("@lexical/markdown"),F=require("@lexical/rich-text"),D=require("@lexical/list"),V=require("@lexical/link"),Re=require("@lexical/html"),et=require("./formContext-bTWrqdEV.cjs"),ve=require("./Typography-d97DdbNd.cjs"),tt=require("./toastStore-B4Tk2Xk7.cjs"),O=require("@lexical/selection"),Q=require("@lexical/utils"),B=require("./Button-DAvQCGIw.cjs"),Ee=require("./ColorPickerPanel-CNspBZre.cjs"),w=require("./Divider-CzbhdCiD.cjs"),Z=require("./Dropdown-DNL7RWdL.cjs"),nt=require("./FloatingPanel-tGCG2nhA.cjs"),L=require("./Icon-BoQmbW7j.cjs"),q=require("./IconButton-ChhZqleN.cjs"),z=require("./ListItem-CWM2fUS2.cjs"),Me=require("./Modal-yj92WLay.cjs"),Ae=require("./TextField-CXDBlP-8.cjs"),rt=require("@lexical/react/useLexicalEditable"),te=require("./ConfigProvider-BFhkb0BV.cjs"),ot=/^(?:https?:|mailto:|tel:|ftp:|#|\/|\?|\.)/i,it=/^[a-z][a-z0-9+.-]*:/i;function fe(o){const e=o.trim();return e===""?"":ot.test(e)||!it.test(e)?e:"#"}function Oe(o){const e=o.trim();if(/^data:(?:image|video)\//i.test(e)||/^blob:/i.test(e))return e;const i=fe(e);return i==="#"?"":i}const st="_editor_ynman_1",at="_label_ynman_9",lt="_required_ynman_15",ct="_helper_ynman_18",ut="_control_ynman_24",dt="_error_ynman_38",mt="_disabled_ynman_45",pt="_toolbar_ynman_51",ht="_sm_ynman_67",ft="_md_ynman_71",gt="_lg_ynman_75",_t="_colorGlyph_ynman_81",xt="_colorBar_ynman_89",yt="_shell_ynman_107",Tt="_content_ynman_110",bt="_placeholder_ynman_125",Lt="_paragraph_ynman_148",vt="_h1_ynman_154",Et="_h2_ynman_155",Nt="_h3_ynman_156",St="_h4_ynman_157",Ct="_h5_ynman_158",jt="_h6_ynman_159",kt="_quote_ynman_178",It="_ul_ynman_187",Rt="_ol_ynman_193",Mt="_li_ynman_199",At="_nestedLi_ynman_202",Ot="_liChecked_ynman_206",Dt="_liUnchecked_ynman_207",$t="_link_ynman_244",wt="_bold_ynman_251",qt="_italic_ynman_254",Ft="_underline_ynman_257",Bt="_strike_ynman_260",Pt="_codeInline_ynman_266",Ut="_imageFrame_ynman_284",Ht="_imageFrame_left_ynman_298",zt="_imageFrame_right_ynman_303",Vt="_imageFrame_center_ynman_308",Gt="_imageTools_ynman_317",Kt="_imageToolButton_ynman_326",Wt="_imageToolIcon_ynman_348",c={editor:st,label:at,required:lt,helper:ct,control:ut,error:dt,disabled:mt,toolbar:pt,sm:ht,md:ft,lg:gt,colorGlyph:_t,colorBar:xt,shell:yt,content:Tt,placeholder:bt,paragraph:Lt,h1:vt,h2:Et,h3:Nt,h4:St,h5:Ct,h6:jt,quote:kt,ul:It,ol:Rt,li:Mt,nestedLi:At,liChecked:Ot,liUnchecked:Dt,link:$t,bold:wt,italic:qt,underline:Ft,strike:Bt,codeInline:Pt,imageFrame:Ut,imageFrame_left:Ht,imageFrame_right:zt,imageFrame_center:Vt,imageTools:Gt,imageToolButton:Kt,imageToolIcon:Wt},Yt={inline:"",left:"float: left; margin: 0 16px 8px 0; max-width: 50%;",right:"float: right; margin: 0 0 8px 16px; max-width: 50%;",center:"display: block; margin: 8px auto;"};function Xt(o){const{float:e,display:i,marginLeft:r,marginRight:u}=o.style;return e==="left"?"left":e==="right"?"right":i==="block"&&r==="auto"&&u==="auto"?"center":"inline"}function Jt(o){return o instanceof HTMLImageElement&&o.src?{node:ee(o.getAttribute("src")??o.src,o.alt,Xt(o))}:null}class G extends a.DecoratorNode{static getType(){return"tz-image"}static clone(e){return new G(e.__src,e.__alt,e.__layout,e.__key)}constructor(e,i="",r="inline",u){super(u),this.__src=Oe(e),this.__alt=i,this.__layout=r}static importJSON(e){return ee(e.src,e.alt,e.layout??"inline")}exportJSON(){return{...super.exportJSON(),type:"tz-image",version:1,src:this.__src,alt:this.__alt,layout:this.__layout}}static importDOM(){return{img:()=>({conversion:Jt,priority:0})}}exportDOM(){const e=document.createElement("img");e.setAttribute("src",this.__src),e.setAttribute("alt",this.__alt);const i=Yt[this.__layout];return i&&e.setAttribute("style",i),{element:e}}createDOM(){const e=document.createElement("div");return e.style.display="contents",e}updateDOM(){return!1}getSrc(){return this.__src}getAltText(){return this.__alt}setAltText(e){this.getWritable().__alt=e}getLayout(){return this.__layout}setLayout(e){this.getWritable().__layout=e}decorate(){return t.jsx(en,{nodeKey:this.getKey(),src:this.__src,alt:this.__alt,layout:this.__layout})}}const Qt=["inline","left","right","center"],Zt={inline:"rte.layoutInline",left:"rte.layoutLeft",right:"rte.layoutRight",center:"rte.layoutCenter"};function Ne({layout:o}){const e=(r,u,s)=>t.jsx("rect",{x:r,y:u,width:s,height:1.5,rx:.75},`${r}-${u}`),i={inline:[t.jsx("rect",{x:1,y:4,width:7,height:7,rx:1.5},"img"),e(9.5,9.5,5.5)],left:[t.jsx("rect",{x:1,y:2,width:6,height:6,rx:1.5},"img"),e(8.5,2.5,6.5),e(8.5,5.5,6.5),e(1,10,14),e(1,13,10)],right:[t.jsx("rect",{x:9,y:2,width:6,height:6,rx:1.5},"img"),e(1,2.5,6.5),e(1,5.5,6.5),e(1,10,14),e(1,13,10)],center:[e(3,1.5,10),t.jsx("rect",{x:4.5,y:4.5,width:7,height:7,rx:1.5},"img"),e(3,13,10)]};return t.jsx("svg",{viewBox:"0 0 16 16",width:16,height:16,fill:"currentColor","aria-hidden":"true",children:i[o]})}function en({nodeKey:o,src:e,alt:i,layout:r}){const[u]=he.useLexicalComposerContext(),s=rt.useLexicalEditable(),m=te.useT(),T=d.useId(),[h,f]=d.useState(!1),[v,_]=d.useState(i),y=d.useRef(null);d.useEffect(()=>{const l=y.current;if(!l)return;const g=E=>E.stopPropagation();return l.addEventListener("keydown",g),()=>l.removeEventListener("keydown",g)},[s]);const b=d.useRef(null);d.useEffect(()=>{const l=b.current;if(!l)return;const g=E=>{["Enter"," ","Backspace","Delete"].includes(E.key)&&E.stopPropagation()};return l.addEventListener("keydown",g),()=>l.removeEventListener("keydown",g)},[s]);const N=()=>{u.update(()=>{const l=a.$getNodeByKey(o);Se(l)&&l.setAltText(v.trim())}),f(!1)},P=l=>u.update(()=>{const g=a.$getNodeByKey(o);Se(g)&&g.setLayout(l)});return t.jsxs("span",{className:pe.clsx(c.imageFrame,r!=="inline"&&c[`imageFrame_${r}`]),contentEditable:!1,onMouseDown:l=>{if(!s||l.button!==0||!l.currentTarget.contains(l.target)||l.target.closest("button"))return;l.preventDefault();const g=l.currentTarget.getBoundingClientRect(),E=l.clientX<g.left+g.width/2;u.update(()=>{const k=a.$getNodeByKey(o);k&&(E?k.selectPrevious():k.selectNext(0,0))}),u.focus()},children:[t.jsx("img",{src:e,alt:i,draggable:!1}),s&&t.jsxs("span",{className:c.imageTools,children:[t.jsx(Z.Dropdown,{placement:"bottom-end",size:"sm",trigger:t.jsx("button",{ref:b,type:"button",className:pe.clsx(c.imageToolButton,c.imageToolIcon),"aria-label":m("rte.imageLayout"),title:m("rte.imageLayout"),onMouseDown:l=>{l.preventDefault(),l.stopPropagation()},children:t.jsx(Ne,{layout:r})}),children:Qt.map(l=>t.jsx(z.ListItem,{clickable:!0,selected:l===r,icon:t.jsx(Ne,{layout:l}),onClick:()=>P(l),children:m(Zt[l])},l))}),t.jsxs("button",{ref:y,type:"button",className:c.imageToolButton,"aria-label":m("rte.editAlt"),title:i||m("rte.editAlt"),onMouseDown:l=>{l.preventDefault(),l.stopPropagation()},onClick:()=>{_(i),f(!0)},children:[t.jsx(L.Icon,{name:"Text",size:"sm"}),t.jsx("span",{children:m("rte.altText")})]})]}),t.jsx(Me.Modal,{open:h,onClose:()=>f(!1),size:"sm",icon:"Text",title:m("rte.altText"),footer:t.jsxs(t.Fragment,{children:[t.jsx(B.Button,{variant:"text",size:"sm",onClick:()=>f(!1),children:m("common.cancel")}),t.jsx(B.Button,{type:"submit",size:"sm",form:T,children:m("common.save")})]}),children:t.jsx("form",{id:T,onSubmit:l=>{l.preventDefault(),l.stopPropagation(),N()},children:t.jsx(Ae.TextField,{label:m("rte.altText"),placeholder:m("rte.altPlaceholder"),value:v,onChange:l=>_(l.target.value),autoFocus:!0})})})]})}function ee(o,e="",i="inline"){return a.$applyNodeReplacement(new G(o,e,i))}function Se(o){return o instanceof G}function Ce(o){return/\.(mp4|webm|ogg|ogv|mov|m4v)(\?.*)?$/i.test(o)}function tn(o){const e=o.match(/(?:youtube\.com\/(?:watch\?(?:.*&)?v=|embed\/|shorts\/)|youtu\.be\/)([\w-]{11})/);if(e)return`https://www.youtube.com/embed/${e[1]}`;const i=o.match(/vimeo\.com\/(?:video\/)?(\d+)/);return i?`https://player.vimeo.com/video/${i[1]}`:o}function je(o){var i;const e=o.getAttribute("src")||((i=o.querySelector("source"))==null?void 0:i.getAttribute("src"));return e?{node:ge(e)}:null}class ne extends a.DecoratorNode{static getType(){return"tz-video"}static clone(e){return new ne(e.__src,e.__key)}constructor(e,i){super(i),this.__src=Oe(e)}static importJSON(e){return ge(e.src)}exportJSON(){return{...super.exportJSON(),type:"tz-video",version:1,src:this.__src}}static importDOM(){return{iframe:()=>({conversion:je,priority:0}),video:()=>({conversion:je,priority:0})}}exportDOM(){if(Ce(this.__src)){const i=document.createElement("video");return i.setAttribute("src",this.__src),i.setAttribute("controls","true"),{element:i}}const e=document.createElement("iframe");return e.setAttribute("src",this.__src),e.setAttribute("frameborder","0"),e.setAttribute("allowfullscreen","true"),e.setAttribute("allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"),{element:e}}createDOM(){const e=document.createElement("div");return e.style.display="contents",e}updateDOM(){return!1}getSrc(){return this.__src}decorate(){return Ce(this.__src)?t.jsx("video",{src:this.__src,controls:!0}):t.jsx(nn,{src:this.__src})}}function nn({src:o}){const e=te.useT();return t.jsx("div",{className:"tz-rte-embed",children:t.jsx("iframe",{src:o,title:e("rte.embeddedVideo"),frameBorder:0,allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})})}function ge(o){return a.$applyNodeReplacement(new ne(tn(o)))}const rn={paragraph:"Paragraph",h1:"Heading 1",h2:"Heading 2",h3:"Heading 3",quote:"Quote",bullet:"Bullet List",number:"Numbered List",check:"Check List"},on=[{type:"paragraph",icon:"Text"},{type:"h1",icon:"Hashtag"},{type:"h2",icon:"Hashtag"},{type:"h3",icon:"Hashtag"}],sn=[{value:"left",labelKey:"rte.alignLeft",icon:"TextalignLeft"},{value:"center",labelKey:"rte.alignCenter",icon:"TextalignCenter"},{value:"right",labelKey:"rte.alignRight",icon:"TextalignRight"}],an=["10px","12px","13px","14px","16px","18px","20px"],ln={sm:"12px",md:"13px",lg:"16px"};function cn({color:o,size:e}){return t.jsxs("span",{className:c.colorGlyph,children:[t.jsx(L.Icon,{name:"Brush",size:e}),t.jsx("span",{className:c.colorBar,style:{borderColor:`transparent transparent ${o||"currentColor"} transparent`},"aria-hidden":"true"})]})}function un({size:o,disabled:e,onImageUpload:i}){const r=te.useT(),u=n=>rn[n]??n,[s]=he.useLexicalComposerContext(),m=d.useRef(null),[T,h]=d.useState(!1),[f,v]=d.useState(!1),[_,y]=d.useState(!1),[b,N]=d.useState(!1),[P,l]=d.useState(""),[g,E]=d.useState("paragraph"),[k,re]=d.useState("left"),[j,S]=d.useState(""),[$,U]=d.useState(""),[K,W]=d.useState(!1),H=d.useRef(null),[oe,Y]=d.useState(!1),[ie,C]=d.useState(!1),[x,se]=d.useState(null),[_e,xe]=d.useState(""),ae=d.useCallback(()=>{const n=a.$getSelection();if(!a.$isRangeSelection(n))return;h(n.hasFormat("bold")),v(n.hasFormat("italic")),y(n.hasFormat("underline")),U(O.$getSelectionStyleValueForProperty(n,"color","")),S(O.$getSelectionStyleValueForProperty(n,"font-size",""));const p=n.anchor.getNode(),M=p.getParent(),R=V.$isLinkNode(p)?p:V.$isLinkNode(M)?M:null;N(R!==null),l((R==null?void 0:R.getURL())??"");const A=p.getKey()==="root"?p:Q.$findMatchingParent(p,ze=>{const Le=ze.getParent();return Le===null||Le.getKey()==="root"})??p.getTopLevelElement();re(a.$isElementNode(A)&&A.getFormatType()||"left");const J=Q.$getNearestNodeOfType(p,D.ListNode);J?E(J.getListType()):F.$isHeadingNode(A)?E(A.getTag()):F.$isQuoteNode(A)?E("quote"):E("paragraph")},[]);d.useEffect(()=>Q.mergeRegister(s.registerUpdateListener(({editorState:n})=>n.read(ae)),s.registerCommand(a.SELECTION_CHANGE_COMMAND,()=>(ae(),!1),a.COMMAND_PRIORITY_LOW),s.registerCommand(a.CAN_UNDO_COMMAND,n=>(Y(n),!1),a.COMMAND_PRIORITY_LOW),s.registerCommand(a.CAN_REDO_COMMAND,n=>(C(n),!1),a.COMMAND_PRIORITY_LOW)),[s,ae]);const le=n=>s.dispatchCommand(a.FORMAT_TEXT_COMMAND,n),De=n=>s.dispatchCommand(a.FORMAT_ELEMENT_COMMAND,n),$e=n=>{U(n),s.update(()=>{const p=a.$getSelection();a.$isRangeSelection(p)&&O.$patchStyleText(p,{color:n||null})})},we=n=>{S(n),s.update(()=>{const p=a.$getSelection();a.$isRangeSelection(p)&&O.$patchStyleText(p,{"font-size":n||null})})},X=n=>{if(n==="bullet"||n==="number"||n==="check"){if(g===n)s.dispatchCommand(D.REMOVE_LIST_COMMAND,void 0);else{const p=n==="bullet"?D.INSERT_UNORDERED_LIST_COMMAND:n==="number"?D.INSERT_ORDERED_LIST_COMMAND:D.INSERT_CHECK_LIST_COMMAND;s.dispatchCommand(p,void 0)}return}s.update(()=>{const p=a.$getSelection();a.$isRangeSelection(p)&&(n==="paragraph"?O.$setBlocksType(p,()=>a.$createParagraphNode()):n==="quote"?O.$setBlocksType(p,()=>F.$createQuoteNode()):O.$setBlocksType(p,()=>F.$createHeadingNode(n)))})},qe=()=>X(g==="quote"?"paragraph":"quote"),ce=(n,p="")=>{xe(p),se(n)},ye=()=>se(null),Fe=()=>{x==null||x.onConfirm(_e.trim()),se(null)},Be=()=>ce({icon:"Link2",title:r("rte.linkTitle"),label:r("rte.linkUrl"),placeholder:"https://example.com",confirmLabel:r(b?"common.update":"common.insert"),onConfirm:n=>s.dispatchCommand(V.TOGGLE_LINK_COMMAND,n===""?null:fe(n))},P),Pe=()=>ce({icon:"GalleryAdd",title:r("rte.imageTitle"),label:r("rte.imageUrl"),placeholder:"https://example.com/image.jpg",confirmLabel:r("common.insert"),onConfirm:n=>{n&&s.update(()=>de(ee(n)))}}),Ue=async n=>{var M;const p=(M=n.target.files)==null?void 0:M[0];if(n.target.value="",!!p)try{const R=i?await i(p):await dn(p);s.update(()=>de(ee(R)))}catch{tt.toast.error(r("rte.imageError"))}},He=()=>ce({icon:"VideoSquare",title:r("rte.videoTitle"),label:r("rte.videoUrl"),placeholder:r("rte.videoUrlPlaceholder"),confirmLabel:r("common.insert"),onConfirm:n=>{n&&s.update(()=>de(ge(n)))}}),I=(n,p,M,R,A)=>t.jsx(q.IconButton,{variant:n?"filled":"text",color:"primary",size:o,disabled:e,"aria-label":p,"aria-pressed":n,onMouseDown:J=>J.preventDefault(),onClick:M,children:R},A),Te=g.startsWith("h")?g:"paragraph",be=j||ln[o];return t.jsxs("div",{className:c.toolbar,role:"toolbar","aria-label":r("rte.formatting"),"aria-orientation":"horizontal",children:[t.jsx(q.IconButton,{variant:"text",color:"primary",size:o,disabled:e||!oe,"aria-label":r("rte.undo"),onMouseDown:n=>n.preventDefault(),onClick:()=>s.dispatchCommand(a.UNDO_COMMAND,void 0),children:t.jsx(L.Icon,{name:"UndoArrow"})}),t.jsx(q.IconButton,{variant:"text",color:"primary",size:o,disabled:e||!ie,"aria-label":r("rte.redo"),onMouseDown:n=>n.preventDefault(),onClick:()=>s.dispatchCommand(a.REDO_COMMAND,void 0),children:t.jsx(L.Icon,{name:"RedoArrow"})}),t.jsx(w.Divider,{orientation:"vertical"}),t.jsx(Z.Dropdown,{size:o,disabled:e,minWidth:!1,trigger:t.jsx(B.Button,{variant:"text",color:"primary",size:o,disabled:e,endIcon:t.jsx(L.Icon,{name:"ArrowDown4"}),"aria-label":r("rte.fontSize"),onMouseDown:n=>n.preventDefault(),children:be}),children:an.map(n=>t.jsx(z.ListItem,{clickable:!0,selected:n===be,onClick:()=>we(n),children:n},n))}),t.jsx(w.Divider,{orientation:"vertical"}),t.jsx(Z.Dropdown,{size:o,disabled:e,trigger:t.jsx(B.Button,{variant:"text",color:"primary",size:o,disabled:e,endIcon:t.jsx(L.Icon,{name:"ArrowDown4"}),onMouseDown:n=>n.preventDefault(),children:u(Te)}),children:on.map(n=>t.jsx(z.ListItem,{clickable:!0,selected:Te===n.type,icon:n.icon,onClick:()=>X(n.type),children:u(n.type)},n.type))}),t.jsx(w.Divider,{orientation:"vertical"}),I(T,r("rte.bold"),()=>le("bold"),t.jsx(L.Icon,{name:"TextBold"})),I(f,r("rte.italic"),()=>le("italic"),t.jsx(L.Icon,{name:"TextItalic"})),I(_,r("rte.underline"),()=>le("underline"),t.jsx(L.Icon,{name:"TextUnderline"})),t.jsx(w.Divider,{orientation:"vertical"}),I(g==="bullet",r("rte.bulletList"),()=>X("bullet"),t.jsx(L.Icon,{name:"ListBullet"})),I(g==="number",r("rte.numberedList"),()=>X("number"),t.jsx(L.Icon,{name:"ListNumber"})),I(g==="quote",r("rte.quote"),qe,t.jsx(L.Icon,{name:"QuoteUp"})),t.jsx(w.Divider,{orientation:"vertical"}),sn.map(n=>I(k===n.value,r(n.labelKey),()=>De(n.value),t.jsx(L.Icon,{name:n.icon}),n.value)),t.jsx(w.Divider,{orientation:"vertical"}),t.jsx(q.IconButton,{ref:H,variant:"text",color:"primary",size:o,disabled:e,"aria-label":r("rte.textColor"),"aria-expanded":K,onMouseDown:n=>n.preventDefault(),onClick:()=>W(n=>!n),children:t.jsx(cn,{color:$})}),t.jsx(nt.FloatingPanel,{open:K,triggerRef:H,onClose:n=>{var p;W(!1),n&&((p=H.current)==null||p.focus())},role:"dialog",ariaLabel:r("rte.textColor"),width:232,children:t.jsx(Ee.ColorPickerPanel,{value:$||Ee.DEFAULT_SWATCHES[0],onChange:$e,clearable:!1})}),I(b,r("rte.link"),Be,t.jsx(L.Icon,{name:"Link2"})),t.jsxs(Z.Dropdown,{size:o,disabled:e,minWidth:!1,trigger:t.jsx(q.IconButton,{variant:"text",color:"primary",size:o,disabled:e,"aria-label":r("rte.insertImage"),children:t.jsx(L.Icon,{name:"GalleryAdd"})}),children:[t.jsx(z.ListItem,{clickable:!0,icon:"GalleryImport",onClick:()=>{var n;return(n=m.current)==null?void 0:n.click()},children:r("rte.uploadImage")}),t.jsx(z.ListItem,{clickable:!0,icon:"Link",onClick:Pe,children:r("rte.imageByUrl")})]}),t.jsx(q.IconButton,{variant:"text",color:"primary",size:o,disabled:e,"aria-label":r("rte.insertVideo"),onClick:He,children:t.jsx(L.Icon,{name:"VideoSquare"})}),t.jsx("input",{ref:m,type:"file",accept:"image/*",hidden:!0,onChange:Ue,"aria-hidden":"true",tabIndex:-1}),t.jsx(Me.Modal,{open:x!==null,onClose:ye,size:"sm",icon:x==null?void 0:x.icon,title:x==null?void 0:x.title,footer:t.jsxs(t.Fragment,{children:[t.jsx(B.Button,{variant:"text",size:"sm",onClick:ye,children:r("common.cancel")}),t.jsx(B.Button,{type:"submit",size:"sm",form:"rte-url-form",children:(x==null?void 0:x.confirmLabel)??r("common.insert")})]}),children:t.jsx("form",{id:"rte-url-form",onSubmit:n=>{n.preventDefault(),n.stopPropagation(),Fe()},children:t.jsx(Ae.TextField,{label:x==null?void 0:x.label,placeholder:x==null?void 0:x.placeholder,value:_e,onChange:n=>xe(n.target.value)})})})]})}function de(o){const e=a.$getSelection(),i=a.$isRangeSelection(e)?e.anchor.getNode().getTopLevelElement():a.$getRoot().getLastChild();if(a.$isParagraphNode(i)&&i.isEmpty()){i.append(o),i.selectEnd();return}const r=a.$createParagraphNode();r.append(o),Q.$insertNodeToNearestRoot(r);const u=r.getNextSibling();a.$isElementNode(u)&&u.isEmpty()&&(u.remove(),r.selectEnd());const s=r.getPreviousSibling();a.$isElementNode(s)&&s.isEmpty()&&s.remove()}function dn(o){return new Promise((e,i)=>{const r=new FileReader;r.onload=()=>e(r.result),r.onerror=()=>i(r.error),r.readAsDataURL(o)})}const mn={paragraph:c.paragraph,heading:{h1:c.h1,h2:c.h2,h3:c.h3,h4:c.h4,h5:c.h5,h6:c.h6},quote:c.quote,list:{ul:c.ul,ol:c.ol,listitem:c.li,listitemChecked:c.liChecked,listitemUnchecked:c.liUnchecked,nested:{listitem:c.nestedLi}},link:c.link,text:{bold:c.bold,italic:c.italic,underline:c.underline,strikethrough:c.strike,code:c.codeInline}},pn=[F.HeadingNode,F.QuoteNode,D.ListNode,D.ListItemNode,V.LinkNode,G,ne],hn=[...ue.ELEMENT_TRANSFORMERS,...ue.TEXT_FORMAT_TRANSFORMERS,...ue.TEXT_MATCH_TRANSFORMERS],fn=["color","font-size"],gn={span:o=>{var i,r;const e=(r=(i=a.TextNode.importDOM())==null?void 0:i.span)==null?void 0:r.call(i,o);return{priority:1,conversion:u=>{const s=(e==null?void 0:e.conversion(u))??{node:null},m=fn.flatMap(h=>{const f=u.style.getPropertyValue(h);return f?[[h,f]]:[]});if(m.length===0)return s;const T=s.forChild;return{...s,forChild:(h,f)=>{const v=T?T(h,f):h;if(a.$isTextNode(v)){const _={...a.getStyleObjectFromCSS(v.getStyle())};for(const[y,b]of m)_[y]=b;v.setStyle(Object.entries(_).map(([y,b])=>`${y}: ${b};`).join(" "))}return v}}}}}},_n=new Set(["A","B","CODE","EM","I","MARK","S","SPAN","STRONG","SUB","SUP","U"]);function xn(o){const e=o.split(";").map(i=>i.trim()).filter(i=>i&&!/^white-space\s*:\s*pre-wrap$/i.test(i));return e.length?`${e.join("; ")};`:null}function yn(o){const e=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT);let i=!0,r=!1,u=null;const s=()=>{u&&u.data.endsWith(" ")&&(u.data=`${u.data.slice(0,-1)} `),u=null,i=!0,r=!1};for(let m=e.nextNode();m;m=e.nextNode()){if(m.nodeType===Node.ELEMENT_NODE){_n.has(m.tagName)||s();continue}const T=m;if(!T.data)continue;let h="";for(const f of T.data)f===" "&&(i||r)?(h+=" ",r=!1):(h+=f,r=f===" "),i=!1;T.data=h,u=T}s()}function Tn(o){if(typeof document>"u")return o;const e=document.createElement("template");e.innerHTML=o;const i=e.content;return i.querySelectorAll("[class]").forEach(r=>r.removeAttribute("class")),i.querySelectorAll("[style]").forEach(r=>{var s;if((s=r.textContent)!=null&&s.includes(" "))return;const u=xn(r.getAttribute("style")??"");u?r.setAttribute("style",u):r.removeAttribute("style")}),i.querySelectorAll("span").forEach(r=>{r.attributes.length===0&&r.replaceWith(...r.childNodes)}),i.normalize(),yn(i),e.innerHTML}function bn(){const o=a.$getRoot(),e=o.getFirstChild();return o.getChildrenSize()<=1&&(e===null||a.$isParagraphNode(e)&&e.getChildrenSize()===0)}function ke(o,e){const i=a.$getRoot();if(i.clear(),e){const r=new DOMParser().parseFromString(e,"text/html"),u=Re.$generateNodesFromDOM(o,r);i.select(),a.$insertNodes(u)}i.getChildrenSize()===0&&i.append(a.$createParagraphNode()),a.$setSelection(null)}const me="tz-external-value";function Ie(o){return bn()?"":Tn(Re.$generateHtmlFromNodes(o,null))}function Ln({value:o,defaultValue:e,onChange:i,onReady:r,disabled:u}){const[s]=he.useLexicalComposerContext(),m=d.useRef(void 0),T=d.useRef(i);T.current=i;const h=d.useRef(r);h.current=r;const f=d.useRef(!1),v=_=>{var y;f.current||(f.current=!0,(y=h.current)==null||y.call(h,_))};return d.useEffect(()=>s.setEditable(!u),[s,u]),d.useEffect(()=>s.registerNodeTransform(V.LinkNode,_=>{const y=_.getURL(),b=fe(y);b!==y&&_.setURL(b)}),[s]),d.useEffect(()=>{if(o===void 0){if(!e){m.current="",v("");return}m.current=e,s.update(()=>ke(s,e),{tag:["history-merge",me]})}},[]),d.useEffect(()=>{o===void 0||o===m.current||(m.current=o,s.update(()=>ke(s,o),{tag:["history-merge",me]}))},[s,o]),d.useEffect(()=>s.registerUpdateListener(({dirtyElements:_,dirtyLeaves:y,tags:b})=>{if(b.has(me)){s.read(()=>{const N=Ie(s);m.current=N,v(N)});return}_.size===0&&y.size===0||s.read(()=>{const N=Ie(s);N!==m.current&&(m.current=N,T.current(N))})}),[s]),null}const vn=d.forwardRef(function({label:e,size:i="md",error:r,helperText:u,required:s=!1,disabled:m=!1,placeholder:T,name:h,value:f,defaultValue:v,onChange:_,onReady:y,onImageUpload:b,minHeight:N=220,"aria-label":P,className:l,style:g},E){const k=te.useT(),re=P??k("rte.label"),j=et.useFormContext(),S=j&&h?j.field(h):void 0,$=r??(S==null?void 0:S.error)??!1,U=u??(S==null?void 0:S.helperText),K=j&&h?j.values[h]:void 0,W=f!==void 0?f:j&&h?String(K??""):void 0,H=d.useCallback(C=>{j&&h&&j.setValue(h,C),_==null||_(C)},[j,h,_]),oe=C=>S==null?void 0:S.onBlur(C),Y=d.useRef(null);d.useEffect(()=>{const C=Y.current;C&&(h?C.setAttribute("name",h):C.removeAttribute("name"))},[h]);const ie={namespace:"tz-rich-text-editor",theme:mn,nodes:pn,html:{import:gn},editable:!m,onError:C=>{throw C}};return t.jsxs("div",{ref:E,className:pe.clsx(c.editor,c[i],$&&c.error,m&&c.disabled,l),style:{"--tz-rte-min-height":`${N}px`,...g},children:[e!=null&&t.jsxs("div",{className:c.label,children:[t.jsx(ve.Typography,{as:"span",variant:"bodySmall",color:"muted",children:e}),s&&t.jsx("span",{className:c.required,"aria-hidden":"true",children:"*"})]}),t.jsx("div",{className:c.control,children:t.jsxs(Ve.LexicalComposer,{initialConfig:ie,children:[t.jsx(un,{size:i,disabled:m,onImageUpload:b}),t.jsx("div",{className:c.shell,children:t.jsx(Ge.RichTextPlugin,{contentEditable:t.jsx(Ke.ContentEditable,{ref:Y,className:c.content,"aria-label":re,"aria-invalid":$||void 0,onBlur:oe}),placeholder:t.jsx("div",{className:c.placeholder,children:T??k("rte.placeholder")}),ErrorBoundary:We.LexicalErrorBoundary})}),t.jsx(Ye.HistoryPlugin,{}),t.jsx(Xe.ListPlugin,{}),t.jsx(Je.CheckListPlugin,{}),t.jsx(Qe.LinkPlugin,{}),t.jsx(Ze.MarkdownShortcutPlugin,{transformers:hn}),t.jsx(Ln,{value:W,defaultValue:v,onChange:H,onReady:y,disabled:m})]})}),U!=null&&t.jsx(ve.Typography,{as:"span",variant:"bodySmall",color:$?"error":"muted",className:c.helper,children:U})]})});exports.RichTextEditor=vn;
|
|
2
|
+
//# sourceMappingURL=RichTextEditor-CoYuQurR.cjs.map
|