@commercetools/nimbus 3.2.0 → 3.3.0
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/avatar-demo.jpg +0 -0
- package/dist/chunks/Autocomplete-B2oKBPFp.cjs +2 -0
- package/dist/chunks/Autocomplete-B2oKBPFp.cjs.map +1 -0
- package/dist/chunks/Autocomplete-CdgicXR5.esm.js +7 -0
- package/dist/chunks/Autocomplete-CdgicXR5.esm.js.map +1 -0
- package/dist/chunks/Button-FcraQeen.esm.js +69 -0
- package/dist/chunks/Button-FcraQeen.esm.js.map +1 -0
- package/dist/chunks/Button-z5JjDtpy.cjs +2 -0
- package/dist/chunks/Button-z5JjDtpy.cjs.map +1 -0
- package/dist/chunks/Calendar-1qYv3Pn9.cjs +2 -0
- package/dist/chunks/Calendar-1qYv3Pn9.cjs.map +1 -0
- package/dist/chunks/Calendar-oiqHeWzY.esm.js +1523 -0
- package/dist/chunks/Calendar-oiqHeWzY.esm.js.map +1 -0
- package/dist/chunks/CollectionBuilder-B70iQy5A.cjs +2 -0
- package/dist/chunks/CollectionBuilder-B70iQy5A.cjs.map +1 -0
- package/dist/chunks/CollectionBuilder-CrO7xw2e.esm.js +559 -0
- package/dist/chunks/CollectionBuilder-CrO7xw2e.esm.js.map +1 -0
- package/dist/chunks/DateField-DI1RhZqo.cjs +2 -0
- package/dist/chunks/DateField-DI1RhZqo.cjs.map +1 -0
- package/dist/chunks/DateField-DUetJOyf.esm.js +2738 -0
- package/dist/chunks/DateField-DUetJOyf.esm.js.map +1 -0
- package/dist/chunks/DatePicker-DRwvjTID.cjs +2 -0
- package/dist/chunks/DatePicker-DRwvjTID.cjs.map +1 -0
- package/dist/chunks/DatePicker-DeVufONT.esm.js +627 -0
- package/dist/chunks/DatePicker-DeVufONT.esm.js.map +1 -0
- package/dist/chunks/Dialog-s5tFTj72.cjs +6 -0
- package/dist/chunks/Dialog-s5tFTj72.cjs.map +1 -0
- package/dist/chunks/Dialog-tQOfG_On.esm.js +1498 -0
- package/dist/chunks/Dialog-tQOfG_On.esm.js.map +1 -0
- package/dist/chunks/FieldError-D4OJyjip.esm.js +7 -0
- package/dist/chunks/FieldError-D4OJyjip.esm.js.map +1 -0
- package/dist/chunks/FieldError-rO3Pwcre.cjs +2 -0
- package/dist/chunks/FieldError-rO3Pwcre.cjs.map +1 -0
- package/dist/chunks/FocusScope-CFQQWfNO.esm.js +411 -0
- package/dist/chunks/FocusScope-CFQQWfNO.esm.js.map +1 -0
- package/dist/chunks/FocusScope-gFMtdkh7.cjs +2 -0
- package/dist/chunks/FocusScope-gFMtdkh7.cjs.map +1 -0
- package/dist/chunks/Form-lxOCK7Ln.esm.js +7 -0
- package/dist/chunks/Form-lxOCK7Ln.esm.js.map +1 -0
- package/dist/chunks/Form-rO3Pwcre.cjs +2 -0
- package/dist/chunks/Form-rO3Pwcre.cjs.map +1 -0
- package/dist/chunks/Group-Bw1Y-fMh.cjs +2 -0
- package/dist/chunks/Group-Bw1Y-fMh.cjs.map +1 -0
- package/dist/chunks/Group-D4Vbo9q9.esm.js +44 -0
- package/dist/chunks/Group-D4Vbo9q9.esm.js.map +1 -0
- package/dist/chunks/Header-CdFIlJp5.esm.js +27 -0
- package/dist/chunks/Header-CdFIlJp5.esm.js.map +1 -0
- package/dist/chunks/Header-Cmmm6XZs.cjs +2 -0
- package/dist/chunks/Header-Cmmm6XZs.cjs.map +1 -0
- package/dist/chunks/Heading-DKP6fK9r.cjs +2 -0
- package/dist/chunks/Heading-DKP6fK9r.cjs.map +1 -0
- package/dist/chunks/Heading-nZpHPDFS.esm.js +16 -0
- package/dist/chunks/Heading-nZpHPDFS.esm.js.map +1 -0
- package/dist/chunks/Hidden-CBt_qKQ-.esm.js +44 -0
- package/dist/chunks/Hidden-CBt_qKQ-.esm.js.map +1 -0
- package/dist/chunks/Hidden-CvjfwKvN.cjs +2 -0
- package/dist/chunks/Hidden-CvjfwKvN.cjs.map +1 -0
- package/dist/chunks/I18nProvider-CQLy1CBO.cjs +2 -0
- package/dist/chunks/I18nProvider-CQLy1CBO.cjs.map +1 -0
- package/dist/chunks/I18nProvider-Cw-VVV-e.esm.js +102 -0
- package/dist/chunks/I18nProvider-Cw-VVV-e.esm.js.map +1 -0
- package/dist/chunks/Input-C_pdDok9.esm.js +44 -0
- package/dist/chunks/Input-C_pdDok9.esm.js.map +1 -0
- package/dist/chunks/Input-Co7TAEH7.cjs +2 -0
- package/dist/chunks/Input-Co7TAEH7.cjs.map +1 -0
- package/dist/chunks/Keyboard-BjN_JUjN.cjs +2 -0
- package/dist/chunks/Keyboard-BjN_JUjN.cjs.map +1 -0
- package/dist/chunks/Keyboard-HBSaYYdH.esm.js +7 -0
- package/dist/chunks/Keyboard-HBSaYYdH.esm.js.map +1 -0
- package/dist/chunks/Label-CMtaxHxv.esm.js +17 -0
- package/dist/chunks/Label-CMtaxHxv.esm.js.map +1 -0
- package/dist/chunks/Label-h-tVaoGm.cjs +2 -0
- package/dist/chunks/Label-h-tVaoGm.cjs.map +1 -0
- package/dist/chunks/ListBox-CXgfDQSn.cjs +2 -0
- package/dist/chunks/ListBox-CXgfDQSn.cjs.map +1 -0
- package/dist/chunks/ListBox-DlI6zwM7.esm.js +445 -0
- package/dist/chunks/ListBox-DlI6zwM7.esm.js.map +1 -0
- package/dist/chunks/LiveAnnouncer-BpUqqFJD.cjs.map +1 -1
- package/dist/chunks/LiveAnnouncer-CfMovuHV.esm.js +50 -0
- package/dist/chunks/LiveAnnouncer-CfMovuHV.esm.js.map +1 -0
- package/dist/chunks/LocalizedStringDictionary-BRsSD8qf.esm.js.map +1 -1
- package/dist/chunks/LocalizedStringDictionary-BdoiiCd8.cjs.map +1 -1
- package/dist/chunks/Modal-B5d_4wBp.cjs +2 -0
- package/dist/chunks/Modal-B5d_4wBp.cjs.map +1 -0
- package/dist/chunks/Modal-BG58sEN8.esm.js +174 -0
- package/dist/chunks/Modal-BG58sEN8.esm.js.map +1 -0
- package/dist/chunks/NumberFormatter-1AXKF-bk.cjs.map +1 -1
- package/dist/chunks/NumberFormatter-BmTXoobv.esm.js.map +1 -1
- package/dist/chunks/PressResponder-BfGkkalL.cjs +2 -0
- package/dist/chunks/PressResponder-BfGkkalL.cjs.map +1 -0
- package/dist/chunks/PressResponder-BnRzlTCg.esm.js +25 -0
- package/dist/chunks/PressResponder-BnRzlTCg.esm.js.map +1 -0
- package/dist/chunks/ProgressBar-BleovkZ3.esm.js +38 -0
- package/dist/chunks/ProgressBar-BleovkZ3.esm.js.map +1 -0
- package/dist/chunks/ProgressBar-DAbyWfVX.cjs +2 -0
- package/dist/chunks/ProgressBar-DAbyWfVX.cjs.map +1 -0
- package/dist/chunks/SSRProvider-CM04-CXZ.cjs +2 -0
- package/dist/chunks/SSRProvider-CM04-CXZ.cjs.map +1 -0
- package/dist/chunks/SSRProvider-qW5ljGlU.esm.js +48 -0
- package/dist/chunks/SSRProvider-qW5ljGlU.esm.js.map +1 -0
- package/dist/chunks/SelectionIndicator-0x-yjCVE.esm.js +7 -0
- package/dist/chunks/SelectionIndicator-0x-yjCVE.esm.js.map +1 -0
- package/dist/chunks/SelectionIndicator-Cek1g_er.cjs +2 -0
- package/dist/chunks/SelectionIndicator-Cek1g_er.cjs.map +1 -0
- package/dist/chunks/Separator-BIVu9cMV.esm.js +41 -0
- package/dist/chunks/Separator-BIVu9cMV.esm.js.map +1 -0
- package/dist/chunks/Separator-Dor9WwSH.cjs +2 -0
- package/dist/chunks/Separator-Dor9WwSH.cjs.map +1 -0
- package/dist/chunks/ShadowTreeWalker-BdE9xs6J.esm.js +104 -0
- package/dist/chunks/ShadowTreeWalker-BdE9xs6J.esm.js.map +1 -0
- package/dist/chunks/ShadowTreeWalker-uhSNvGKH.cjs +2 -0
- package/dist/chunks/ShadowTreeWalker-uhSNvGKH.cjs.map +1 -0
- package/dist/chunks/SharedElementTransition-DOCV83-e.esm.js +12 -0
- package/dist/chunks/SharedElementTransition-DOCV83-e.esm.js.map +1 -0
- package/dist/chunks/SharedElementTransition-o02_6FrB.cjs +2 -0
- package/dist/chunks/SharedElementTransition-o02_6FrB.cjs.map +1 -0
- package/dist/chunks/Text-B7tENZ_I.esm.js +16 -0
- package/dist/chunks/Text-B7tENZ_I.esm.js.map +1 -0
- package/dist/chunks/Text-CJwD_Rm8.cjs +2 -0
- package/dist/chunks/Text-CJwD_Rm8.cjs.map +1 -0
- package/dist/chunks/ToggleButton-C47eO6Qn.cjs +2 -0
- package/dist/chunks/ToggleButton-C47eO6Qn.cjs.map +1 -0
- package/dist/chunks/ToggleButton-Cqnh3HRX.esm.js +141 -0
- package/dist/chunks/ToggleButton-Cqnh3HRX.esm.js.map +1 -0
- package/dist/chunks/TreeDropTargetDelegate-Dv2-Vz2T.cjs +2 -0
- package/dist/chunks/TreeDropTargetDelegate-Dv2-Vz2T.cjs.map +1 -0
- package/dist/chunks/TreeDropTargetDelegate-cHIrlzs2.esm.js +111 -0
- package/dist/chunks/TreeDropTargetDelegate-cHIrlzs2.esm.js.map +1 -0
- package/dist/chunks/VisuallyHidden-C5SfYuNh.esm.js +37 -0
- package/dist/chunks/VisuallyHidden-C5SfYuNh.esm.js.map +1 -0
- package/dist/chunks/VisuallyHidden-CtikuHFk.cjs +2 -0
- package/dist/chunks/VisuallyHidden-CtikuHFk.cjs.map +1 -0
- package/dist/chunks/accordion-BYfM5qEG.cjs +2 -0
- package/dist/chunks/accordion-BYfM5qEG.cjs.map +1 -0
- package/dist/chunks/accordion-BqlBCwmN.esm.js +13 -0
- package/dist/chunks/accordion-BqlBCwmN.esm.js.map +1 -0
- package/dist/chunks/activity-indicator-CmGp3H_M.cjs +2 -0
- package/dist/chunks/activity-indicator-CmGp3H_M.cjs.map +1 -0
- package/dist/chunks/activity-indicator-SMeTxJxm.esm.js +44 -0
- package/dist/chunks/activity-indicator-SMeTxJxm.esm.js.map +1 -0
- package/dist/chunks/alert-BeQzAjMf.cjs +2 -0
- package/dist/chunks/alert-BeQzAjMf.cjs.map +1 -0
- package/dist/chunks/alert-C4J2fv__.esm.js +78 -0
- package/dist/chunks/alert-C4J2fv__.esm.js.map +1 -0
- package/dist/chunks/animation-9tP0T4MX.esm.js +57 -0
- package/dist/chunks/animation-9tP0T4MX.esm.js.map +1 -0
- package/dist/chunks/animation-uBkHqg44.cjs +2 -0
- package/dist/chunks/animation-uBkHqg44.cjs.map +1 -0
- package/dist/chunks/ariaHideOutside-BY1vw1EM.esm.js +100 -0
- package/dist/chunks/ariaHideOutside-BY1vw1EM.esm.js.map +1 -0
- package/dist/chunks/ariaHideOutside-DQhRRlyr.cjs +2 -0
- package/dist/chunks/ariaHideOutside-DQhRRlyr.cjs.map +1 -0
- package/dist/chunks/avatar-9QAY7VNI.esm.js +58 -0
- package/dist/chunks/avatar-9QAY7VNI.esm.js.map +1 -0
- package/dist/chunks/avatar-CYZYJBfO.cjs +2 -0
- package/dist/chunks/avatar-CYZYJBfO.cjs.map +1 -0
- package/dist/chunks/badge-BtYdLSvg.cjs +2 -0
- package/dist/chunks/badge-BtYdLSvg.cjs.map +1 -0
- package/dist/chunks/badge-Dd0LsXLP.esm.js +19 -0
- package/dist/chunks/badge-Dd0LsXLP.esm.js.map +1 -0
- package/dist/chunks/box-B6vF0vdN.cjs.map +1 -1
- package/dist/chunks/button-BhvlZrT2.esm.js +68 -0
- package/dist/chunks/button-BhvlZrT2.esm.js.map +1 -0
- package/dist/chunks/button-Dc_J_PNN.cjs +2 -0
- package/dist/chunks/button-Dc_J_PNN.cjs.map +1 -0
- package/dist/chunks/calendar-C5GZoGge.esm.js +199 -0
- package/dist/chunks/calendar-C5GZoGge.esm.js.map +1 -0
- package/dist/chunks/calendar-DS0rNrhj.cjs +2 -0
- package/dist/chunks/calendar-DS0rNrhj.cjs.map +1 -0
- package/dist/chunks/card-Cs2Z5Nrc.cjs +2 -0
- package/dist/chunks/card-Cs2Z5Nrc.cjs.map +1 -0
- package/dist/chunks/card-DbBguIa0.esm.js +75 -0
- package/dist/chunks/card-DbBguIa0.esm.js.map +1 -0
- package/dist/chunks/chat-message-CDLvkgaw.esm.js +83 -0
- package/dist/chunks/chat-message-CDLvkgaw.esm.js.map +1 -0
- package/dist/chunks/chat-message-DW8IO5YJ.cjs +2 -0
- package/dist/chunks/chat-message-DW8IO5YJ.cjs.map +1 -0
- package/dist/chunks/chat-message-list-BhWZEg4l.esm.js +83 -0
- package/dist/chunks/chat-message-list-BhWZEg4l.esm.js.map +1 -0
- package/dist/chunks/chat-message-list-BvzHnJHs.cjs +2 -0
- package/dist/chunks/chat-message-list-BvzHnJHs.cjs.map +1 -0
- package/dist/chunks/checkbox-Bto3lCdU.esm.js +186 -0
- package/dist/chunks/checkbox-Bto3lCdU.esm.js.map +1 -0
- package/dist/chunks/checkbox-CZCLSrFV.cjs +2 -0
- package/dist/chunks/checkbox-CZCLSrFV.cjs.map +1 -0
- package/dist/chunks/code-CYzW0wgO.cjs.map +1 -1
- package/dist/chunks/collapsible-motion-5Y-srpM4.esm.js +97 -0
- package/dist/chunks/collapsible-motion-5Y-srpM4.esm.js.map +1 -0
- package/dist/chunks/collapsible-motion-C5-B_qO-.cjs +2 -0
- package/dist/chunks/collapsible-motion-C5-B_qO-.cjs.map +1 -0
- package/dist/chunks/combobox-BW_VrIHV.esm.js +1225 -0
- package/dist/chunks/combobox-BW_VrIHV.esm.js.map +1 -0
- package/dist/chunks/combobox-ot7fVTI7.cjs +2 -0
- package/dist/chunks/combobox-ot7fVTI7.cjs.map +1 -0
- package/dist/chunks/components-BaZ6iHgw.esm.js +193 -0
- package/dist/chunks/components-BaZ6iHgw.esm.js.map +1 -0
- package/dist/chunks/components-DHYEVZM_.cjs +2 -0
- package/dist/chunks/components-DHYEVZM_.cjs.map +1 -0
- package/dist/chunks/confirmation-dialog-CHUQLqNJ.esm.js +74 -0
- package/dist/chunks/confirmation-dialog-CHUQLqNJ.esm.js.map +1 -0
- package/dist/chunks/confirmation-dialog-JqWYM_7U.cjs +2 -0
- package/dist/chunks/confirmation-dialog-JqWYM_7U.cjs.map +1 -0
- package/dist/chunks/context-BsxsjmRn.esm.js +8 -0
- package/dist/chunks/context-BsxsjmRn.esm.js.map +1 -0
- package/dist/chunks/context-Cryypr93.cjs +2 -0
- package/dist/chunks/context-Cryypr93.cjs.map +1 -0
- package/dist/chunks/data-table-CHpJecej.cjs +2 -0
- package/dist/chunks/data-table-CHpJecej.cjs.map +1 -0
- package/dist/chunks/data-table-LoaR2VL5.esm.js +3956 -0
- package/dist/chunks/data-table-LoaR2VL5.esm.js.map +1 -0
- package/dist/chunks/date-input-B5yBTSm8.cjs +2 -0
- package/dist/chunks/date-input-B5yBTSm8.cjs.map +1 -0
- package/dist/chunks/date-input-BfCEzDBX.esm.js +33 -0
- package/dist/chunks/date-input-BfCEzDBX.esm.js.map +1 -0
- package/dist/chunks/date-picker-BYUOjbCN.cjs +2 -0
- package/dist/chunks/date-picker-BYUOjbCN.cjs.map +1 -0
- package/dist/chunks/date-picker-CcmAJYux.esm.js +183 -0
- package/dist/chunks/date-picker-CcmAJYux.esm.js.map +1 -0
- package/dist/chunks/date-range-picker-BladYzh3.cjs +2 -0
- package/dist/chunks/date-range-picker-BladYzh3.cjs.map +1 -0
- package/dist/chunks/date-range-picker-CD6CmAlq.esm.js +302 -0
- package/dist/chunks/date-range-picker-CD6CmAlq.esm.js.map +1 -0
- package/dist/chunks/default-page-B5bFn9gJ.cjs +2 -0
- package/dist/chunks/default-page-B5bFn9gJ.cjs.map +1 -0
- package/dist/chunks/default-page-De3ZyX7n.esm.js +116 -0
- package/dist/chunks/default-page-De3ZyX7n.esm.js.map +1 -0
- package/dist/chunks/dialog-XeM4qOa_.esm.js +181 -0
- package/dist/chunks/dialog-XeM4qOa_.esm.js.map +1 -0
- package/dist/chunks/dialog-Y4HKBxUr.cjs +2 -0
- package/dist/chunks/dialog-Y4HKBxUr.cjs.map +1 -0
- package/dist/chunks/draggable-list-C5aulsay.esm.js +653 -0
- package/dist/chunks/draggable-list-C5aulsay.esm.js.map +1 -0
- package/dist/chunks/draggable-list-CKKl6A_a.cjs +2 -0
- package/dist/chunks/draggable-list-CKKl6A_a.cjs.map +1 -0
- package/dist/chunks/drawer-BKPP4f5K.cjs +2 -0
- package/dist/chunks/drawer-BKPP4f5K.cjs.map +1 -0
- package/dist/chunks/drawer-I6J9g1l4.esm.js +189 -0
- package/dist/chunks/drawer-I6J9g1l4.esm.js.map +1 -0
- package/dist/chunks/drop-zone-Dr4VzY5B.cjs +2 -0
- package/dist/chunks/drop-zone-Dr4VzY5B.cjs.map +1 -0
- package/dist/chunks/drop-zone-vRl7IFzc.esm.js +157 -0
- package/dist/chunks/drop-zone-vRl7IFzc.esm.js.map +1 -0
- package/dist/chunks/extract-padding-props-C-IyriM4.cjs.map +1 -1
- package/dist/chunks/extract-padding-props-DigwT-nT.esm.js +84 -0
- package/dist/chunks/extract-padding-props-DigwT-nT.esm.js.map +1 -0
- package/dist/chunks/extract-style-props-BPnHKmWR.esm.js +12 -0
- package/dist/chunks/extract-style-props-BPnHKmWR.esm.js.map +1 -0
- package/dist/chunks/extract-style-props-CA1O0IF2.cjs +2 -0
- package/dist/chunks/extract-style-props-CA1O0IF2.cjs.map +1 -0
- package/dist/chunks/field-errors-D_EXr1kO.esm.js +170 -0
- package/dist/chunks/field-errors-D_EXr1kO.esm.js.map +1 -0
- package/dist/chunks/field-errors-j8Gxj0gP.cjs +2 -0
- package/dist/chunks/field-errors-j8Gxj0gP.cjs.map +1 -0
- package/dist/chunks/file-trigger-Dr6KI-mN.cjs +2 -0
- package/dist/chunks/file-trigger-Dr6KI-mN.cjs.map +1 -0
- package/dist/chunks/file-trigger-KEP7ou5i.esm.js +36 -0
- package/dist/chunks/file-trigger-KEP7ou5i.esm.js.map +1 -0
- package/dist/chunks/filterDOMProps-Dk-4zxhC.esm.js +30 -0
- package/dist/chunks/filterDOMProps-Dk-4zxhC.esm.js.map +1 -0
- package/dist/chunks/filterDOMProps-DnOwsDRm.cjs.map +1 -1
- package/dist/chunks/flex-D_rZ56ps.cjs.map +1 -1
- package/dist/chunks/focusSafely-CFQKWZUk.cjs +2 -0
- package/dist/chunks/focusSafely-CFQKWZUk.cjs.map +1 -0
- package/dist/chunks/focusSafely-MANMjqQu.esm.js +19 -0
- package/dist/chunks/focusSafely-MANMjqQu.esm.js.map +1 -0
- package/dist/chunks/form-action-bar-C8wkuLiF.esm.js +85 -0
- package/dist/chunks/form-action-bar-C8wkuLiF.esm.js.map +1 -0
- package/dist/chunks/form-action-bar-C_pQubyB.cjs +2 -0
- package/dist/chunks/form-action-bar-C_pQubyB.cjs.map +1 -0
- package/dist/chunks/form-dialog-BaD03TZo.esm.js +74 -0
- package/dist/chunks/form-dialog-BaD03TZo.esm.js.map +1 -0
- package/dist/chunks/form-dialog-D14UuUnS.cjs +2 -0
- package/dist/chunks/form-dialog-D14UuUnS.cjs.map +1 -0
- package/dist/chunks/form-field-CrSE8x3q.cjs +2 -0
- package/dist/chunks/form-field-CrSE8x3q.cjs.map +1 -0
- package/dist/chunks/form-field-DRhB7O5k.esm.js +231 -0
- package/dist/chunks/form-field-DRhB7O5k.esm.js.map +1 -0
- package/dist/chunks/getScrollParent-C1Ls5EVW.cjs +2 -0
- package/dist/chunks/getScrollParent-C1Ls5EVW.cjs.map +1 -0
- package/dist/chunks/getScrollParent-DH0xzs6v.esm.js +11 -0
- package/dist/chunks/getScrollParent-DH0xzs6v.esm.js.map +1 -0
- package/dist/chunks/grid-BVn1K-vy.cjs.map +1 -1
- package/dist/chunks/group-BdWGHf4v.esm.js +16 -0
- package/dist/chunks/group-BdWGHf4v.esm.js.map +1 -0
- package/dist/chunks/group-CXRp7_JB.cjs +2 -0
- package/dist/chunks/group-CXRp7_JB.cjs.map +1 -0
- package/dist/chunks/heading-COgniVU1.cjs +2 -0
- package/dist/chunks/heading-COgniVU1.cjs.map +1 -0
- package/dist/chunks/heading-DA_lAqus.esm.js +19 -0
- package/dist/chunks/heading-DA_lAqus.esm.js.map +1 -0
- package/dist/chunks/hooks-A_gbGlsD.esm.js +63 -0
- package/dist/chunks/hooks-A_gbGlsD.esm.js.map +1 -0
- package/dist/chunks/hooks-C_oe-t36.cjs +2 -0
- package/dist/chunks/hooks-C_oe-t36.cjs.map +1 -0
- package/dist/chunks/icon-DjrMssEK.cjs.map +1 -1
- package/dist/chunks/icon-button-6dtfz6Yf.esm.js +33 -0
- package/dist/chunks/icon-button-6dtfz6Yf.esm.js.map +1 -0
- package/dist/chunks/icon-button-CSlFdpjB.cjs +2 -0
- package/dist/chunks/icon-button-CSlFdpjB.cjs.map +1 -0
- package/dist/chunks/icon-toggle-button-Cesx6J1H.esm.js +16 -0
- package/dist/chunks/icon-toggle-button-Cesx6J1H.esm.js.map +1 -0
- package/dist/chunks/icon-toggle-button-DJbu9dBg.cjs +2 -0
- package/dist/chunks/icon-toggle-button-DJbu9dBg.cjs.map +1 -0
- package/dist/chunks/icon.recipe-zbIuKCdv.cjs.map +1 -1
- package/dist/chunks/image-BbaK1P_m.cjs.map +1 -1
- package/dist/chunks/inertValue-BpTB_Nl7.esm.js +10 -0
- package/dist/chunks/inertValue-BpTB_Nl7.esm.js.map +1 -0
- package/dist/chunks/inertValue-D98bUss5.cjs +2 -0
- package/dist/chunks/inertValue-D98bUss5.cjs.map +1 -0
- package/dist/chunks/inline-svg-B4Q1TFiC.cjs +4 -0
- package/dist/chunks/inline-svg-B4Q1TFiC.cjs.map +1 -0
- package/dist/chunks/inline-svg-CEN4o4ri.esm.js +850 -0
- package/dist/chunks/inline-svg-CEN4o4ri.esm.js.map +1 -0
- package/dist/chunks/intlStrings-BpyCH0Lk.cjs.map +1 -1
- package/dist/chunks/intlStrings-DTJ9HMKY.esm.js +348 -0
- package/dist/chunks/intlStrings-DTJ9HMKY.esm.js.map +1 -0
- package/dist/chunks/kbd-C7rPWsrB.cjs +2 -0
- package/dist/chunks/kbd-C7rPWsrB.cjs.map +1 -0
- package/dist/chunks/kbd-Diggqr-I.esm.js +21 -0
- package/dist/chunks/kbd-Diggqr-I.esm.js.map +1 -0
- package/dist/chunks/link-CIcl_FH2.cjs +2 -0
- package/dist/chunks/link-CIcl_FH2.cjs.map +1 -0
- package/dist/chunks/link-CqRjpR61.esm.js +27 -0
- package/dist/chunks/link-CqRjpR61.esm.js.map +1 -0
- package/dist/chunks/list-CuA_gr8m.esm.js +33 -0
- package/dist/chunks/list-CuA_gr8m.esm.js.map +1 -0
- package/dist/chunks/list-DpS1s3Ww.cjs +2 -0
- package/dist/chunks/list-DpS1s3Ww.cjs.map +1 -0
- package/dist/chunks/loading-spinner-CTPm1sYC.esm.js +47 -0
- package/dist/chunks/loading-spinner-CTPm1sYC.esm.js.map +1 -0
- package/dist/chunks/loading-spinner-DAZGwhe6.cjs +2 -0
- package/dist/chunks/loading-spinner-DAZGwhe6.cjs.map +1 -0
- package/dist/chunks/localized-field-rPZczTNY.esm.js +347 -0
- package/dist/chunks/localized-field-rPZczTNY.esm.js.map +1 -0
- package/dist/chunks/localized-field-tpT6376o.cjs +2 -0
- package/dist/chunks/localized-field-tpT6376o.cjs.map +1 -0
- package/dist/chunks/make-element-focusable-BuHQPO7h.cjs +2 -0
- package/dist/chunks/make-element-focusable-BuHQPO7h.cjs.map +1 -0
- package/dist/chunks/make-element-focusable-OSQcKuJr.esm.js +15 -0
- package/dist/chunks/make-element-focusable-OSQcKuJr.esm.js.map +1 -0
- package/dist/chunks/markdown-CxE72YNo.esm.js +8824 -0
- package/dist/chunks/markdown-CxE72YNo.esm.js.map +1 -0
- package/dist/chunks/markdown-Dvf4iLu2.cjs +55 -0
- package/dist/chunks/markdown-Dvf4iLu2.cjs.map +1 -0
- package/dist/chunks/menu-WFLbN6in.cjs +2 -0
- package/dist/chunks/menu-WFLbN6in.cjs.map +1 -0
- package/dist/chunks/menu-tAepHyH2.esm.js +174 -0
- package/dist/chunks/menu-tAepHyH2.esm.js.map +1 -0
- package/dist/chunks/mergeProps-B4zz6EqI.cjs +2 -0
- package/dist/chunks/mergeProps-B4zz6EqI.cjs.map +1 -0
- package/dist/chunks/mergeProps-BJ6-Ao_L.esm.js +123 -0
- package/dist/chunks/mergeProps-BJ6-Ao_L.esm.js.map +1 -0
- package/dist/chunks/modal-page-BRDY8JIO.cjs +2 -0
- package/dist/chunks/modal-page-BRDY8JIO.cjs.map +1 -0
- package/dist/chunks/modal-page-CH6Dlz-D.esm.js +151 -0
- package/dist/chunks/modal-page-CH6Dlz-D.esm.js.map +1 -0
- package/dist/chunks/money-input-CKNrFSKT.esm.js +480 -0
- package/dist/chunks/money-input-CKNrFSKT.esm.js.map +1 -0
- package/dist/chunks/money-input-D-h6tlpV.cjs +2 -0
- package/dist/chunks/money-input-D-h6tlpV.cjs.map +1 -0
- package/dist/chunks/money-input-field-DeajMPme.cjs +2 -0
- package/dist/chunks/money-input-field-DeajMPme.cjs.map +1 -0
- package/dist/chunks/money-input-field-Dy6VCxeQ.esm.js +35 -0
- package/dist/chunks/money-input-field-Dy6VCxeQ.esm.js.map +1 -0
- package/dist/chunks/multiline-text-input-BZU8t53J.esm.js +98 -0
- package/dist/chunks/multiline-text-input-BZU8t53J.esm.js.map +1 -0
- package/dist/chunks/multiline-text-input-field-DDzHc9t0.cjs +2 -0
- package/dist/chunks/multiline-text-input-field-DDzHc9t0.cjs.map +1 -0
- package/dist/chunks/multiline-text-input-field-Dj3yuO2D.esm.js +37 -0
- package/dist/chunks/multiline-text-input-field-Dj3yuO2D.esm.js.map +1 -0
- package/dist/chunks/multiline-text-input-ipy-1vwz.cjs +2 -0
- package/dist/chunks/multiline-text-input-ipy-1vwz.cjs.map +1 -0
- package/dist/chunks/nimbus-i18n-provider-CRTJjLu8.esm.js +12 -0
- package/dist/chunks/nimbus-i18n-provider-CRTJjLu8.esm.js.map +1 -0
- package/dist/chunks/nimbus-i18n-provider-a5OH9xre.cjs +2 -0
- package/dist/chunks/nimbus-i18n-provider-a5OH9xre.cjs.map +1 -0
- package/dist/chunks/nimbus-provider-DcYjdMwh.cjs +2 -0
- package/dist/chunks/nimbus-provider-DcYjdMwh.cjs.map +1 -0
- package/dist/chunks/nimbus-provider-qYnfenns.esm.js +172 -0
- package/dist/chunks/nimbus-provider-qYnfenns.esm.js.map +1 -0
- package/dist/chunks/nimbus-runtime-re-Ccqgzrvz.cjs.map +1 -1
- package/dist/chunks/nimbus-runtime-re-DX3VNj9h.esm.js.map +1 -1
- package/dist/chunks/normalize-messages-BMq9y_ae.cjs +2 -0
- package/dist/chunks/normalize-messages-BMq9y_ae.cjs.map +1 -0
- package/dist/chunks/normalize-messages-B_f-0I5n.esm.js +50 -0
- package/dist/chunks/normalize-messages-B_f-0I5n.esm.js.map +1 -0
- package/dist/chunks/number-DoiQZAPu.cjs.map +1 -1
- package/dist/chunks/number-gnUrLNNy.esm.js +26 -0
- package/dist/chunks/number-gnUrLNNy.esm.js.map +1 -0
- package/dist/chunks/number-input-D5jL0iW-.esm.js +762 -0
- package/dist/chunks/number-input-D5jL0iW-.esm.js.map +1 -0
- package/dist/chunks/number-input-DU3522fK.cjs +2 -0
- package/dist/chunks/number-input-DU3522fK.cjs.map +1 -0
- package/dist/chunks/number-input-field-BKAb5VQ2.esm.js +35 -0
- package/dist/chunks/number-input-field-BKAb5VQ2.esm.js.map +1 -0
- package/dist/chunks/number-input-field-C5DhaRwc.cjs +2 -0
- package/dist/chunks/number-input-field-C5DhaRwc.cjs.map +1 -0
- package/dist/chunks/page-content-B-ph7XeC.esm.js.map +1 -1
- package/dist/chunks/page-content-DjHWkJgx.cjs.map +1 -1
- package/dist/chunks/pagination-CmXQNDbp.cjs +2 -0
- package/dist/chunks/pagination-CmXQNDbp.cjs.map +1 -0
- package/dist/chunks/pagination-ZSf9r9bz.esm.js +235 -0
- package/dist/chunks/pagination-ZSf9r9bz.esm.js.map +1 -0
- package/dist/chunks/password-input-B2OHc-gn.esm.js +52 -0
- package/dist/chunks/password-input-B2OHc-gn.esm.js.map +1 -0
- package/dist/chunks/password-input-DMJGpUt6.cjs +2 -0
- package/dist/chunks/password-input-DMJGpUt6.cjs.map +1 -0
- package/dist/chunks/password-input-field-BFj95JMU.esm.js +37 -0
- package/dist/chunks/password-input-field-BFj95JMU.esm.js.map +1 -0
- package/dist/chunks/password-input-field-Cf-zBu2O.cjs +2 -0
- package/dist/chunks/password-input-field-Cf-zBu2O.cjs.map +1 -0
- package/dist/chunks/popover-CwdOyGHr.esm.js +13 -0
- package/dist/chunks/popover-CwdOyGHr.esm.js.map +1 -0
- package/dist/chunks/popover-eUvkAe8L.cjs +2 -0
- package/dist/chunks/popover-eUvkAe8L.cjs.map +1 -0
- package/dist/chunks/progress-bar-Be7o97DL.esm.js +63 -0
- package/dist/chunks/progress-bar-Be7o97DL.esm.js.map +1 -0
- package/dist/chunks/progress-bar-DhZVJqY_.cjs +2 -0
- package/dist/chunks/progress-bar-DhZVJqY_.cjs.map +1 -0
- package/dist/chunks/public-page-layout-2SG_YHdv.esm.js +68 -0
- package/dist/chunks/public-page-layout-2SG_YHdv.esm.js.map +1 -0
- package/dist/chunks/public-page-layout-LW1MEoPD.cjs +2 -0
- package/dist/chunks/public-page-layout-LW1MEoPD.cjs.map +1 -0
- package/dist/chunks/radio-input-Cj03oX72.esm.js +318 -0
- package/dist/chunks/radio-input-Cj03oX72.esm.js.map +1 -0
- package/dist/chunks/radio-input-_eEv0K2W.cjs +2 -0
- package/dist/chunks/radio-input-_eEv0K2W.cjs.map +1 -0
- package/dist/chunks/range-calendar-B0U51wMd.cjs +2 -0
- package/dist/chunks/range-calendar-B0U51wMd.cjs.map +1 -0
- package/dist/chunks/range-calendar-DA5hJpYL.esm.js +201 -0
- package/dist/chunks/range-calendar-DA5hJpYL.esm.js.map +1 -0
- package/dist/chunks/region.provider-5EyBYWeJ.cjs.map +1 -1
- package/dist/chunks/region.provider-CobXE1H5.esm.js.map +1 -1
- package/dist/chunks/resolve-variant-alias-23u-qALe.esm.js +48 -0
- package/dist/chunks/resolve-variant-alias-23u-qALe.esm.js.map +1 -0
- package/dist/chunks/resolve-variant-alias-cAzNvR5B.cjs +2 -0
- package/dist/chunks/resolve-variant-alias-cAzNvR5B.cjs.map +1 -0
- package/dist/chunks/rich-text-input-C0UU1Uoq.cjs +4 -0
- package/dist/chunks/rich-text-input-C0UU1Uoq.cjs.map +1 -0
- package/dist/chunks/rich-text-input-PYMjw5DQ.esm.js +1110 -0
- package/dist/chunks/rich-text-input-PYMjw5DQ.esm.js.map +1 -0
- package/dist/chunks/rolldown-runtime-Dqa2HsxW.esm.js +20 -0
- package/dist/chunks/runAfterTransition-DbnR-qEQ.esm.js +37 -0
- package/dist/chunks/runAfterTransition-DbnR-qEQ.esm.js.map +1 -0
- package/dist/chunks/runAfterTransition-DnbsLeRv.cjs +2 -0
- package/dist/chunks/runAfterTransition-DnbsLeRv.cjs.map +1 -0
- package/dist/chunks/scoped-search-input-D80PFOdN.esm.js +129 -0
- package/dist/chunks/scoped-search-input-D80PFOdN.esm.js.map +1 -0
- package/dist/chunks/scoped-search-input-Kj-JJpvo.cjs +2 -0
- package/dist/chunks/scoped-search-input-Kj-JJpvo.cjs.map +1 -0
- package/dist/chunks/scrollIntoView-BHYrUAMu.cjs +2 -0
- package/dist/chunks/scrollIntoView-BHYrUAMu.cjs.map +1 -0
- package/dist/chunks/scrollIntoView-Tm8PcLU5.esm.js +76 -0
- package/dist/chunks/scrollIntoView-Tm8PcLU5.esm.js.map +1 -0
- package/dist/chunks/search-input-BMq6pRov.esm.js +355 -0
- package/dist/chunks/search-input-BMq6pRov.esm.js.map +1 -0
- package/dist/chunks/search-input-yUmma36U.cjs +2 -0
- package/dist/chunks/search-input-yUmma36U.cjs.map +1 -0
- package/dist/chunks/select-D39rm0xA.esm.js +610 -0
- package/dist/chunks/select-D39rm0xA.esm.js.map +1 -0
- package/dist/chunks/select-DdeLYdJ3.cjs +2 -0
- package/dist/chunks/select-DdeLYdJ3.cjs.map +1 -0
- package/dist/chunks/separator-AUEVwjXs.esm.js +29 -0
- package/dist/chunks/separator-AUEVwjXs.esm.js.map +1 -0
- package/dist/chunks/separator-CRFMcKYe.cjs +2 -0
- package/dist/chunks/separator-CRFMcKYe.cjs.map +1 -0
- package/dist/chunks/simple-grid-knz6g2rW.cjs.map +1 -1
- package/dist/chunks/spacer-C-F_oMDC.cjs.map +1 -1
- package/dist/chunks/split-button-C9MIlSe4.esm.js +93 -0
- package/dist/chunks/split-button-C9MIlSe4.esm.js.map +1 -0
- package/dist/chunks/split-button-DelUgBth.cjs +2 -0
- package/dist/chunks/split-button-DelUgBth.cjs.map +1 -0
- package/dist/chunks/stack-MlK9aGs9.cjs.map +1 -1
- package/dist/chunks/steps-BLrpE2PL.cjs +2 -0
- package/dist/chunks/steps-BLrpE2PL.cjs.map +1 -0
- package/dist/chunks/steps-OnZi-T9x.esm.js +253 -0
- package/dist/chunks/steps-OnZi-T9x.esm.js.map +1 -0
- package/dist/chunks/switch-BPk30JYZ.cjs +2 -0
- package/dist/chunks/switch-BPk30JYZ.cjs.map +1 -0
- package/dist/chunks/switch-D1rdYruG.esm.js +71 -0
- package/dist/chunks/switch-D1rdYruG.esm.js.map +1 -0
- package/dist/chunks/tab-nav-CunrpVeV.cjs +2 -0
- package/dist/chunks/tab-nav-CunrpVeV.cjs.map +1 -0
- package/dist/chunks/tab-nav-EHnsfeUM.esm.js +99 -0
- package/dist/chunks/tab-nav-EHnsfeUM.esm.js.map +1 -0
- package/dist/chunks/table-DEKXq5nE.cjs +2 -0
- package/dist/chunks/table-DEKXq5nE.cjs.map +1 -0
- package/dist/chunks/table-O8T8871k.esm.js +62 -0
- package/dist/chunks/table-O8T8871k.esm.js.map +1 -0
- package/dist/chunks/tabs-BbC8to5L.cjs +2 -0
- package/dist/chunks/tabs-BbC8to5L.cjs.map +1 -0
- package/dist/chunks/tabs-IjuTjmW5.esm.js +493 -0
- package/dist/chunks/tabs-IjuTjmW5.esm.js.map +1 -0
- package/dist/chunks/tag-group-DJ2Eyzr6.esm.js +559 -0
- package/dist/chunks/tag-group-DJ2Eyzr6.esm.js.map +1 -0
- package/dist/chunks/tag-group-t9CCZs9w.cjs +2 -0
- package/dist/chunks/tag-group-t9CCZs9w.cjs.map +1 -0
- package/dist/chunks/text-B6GuUYfw.cjs +2 -0
- package/dist/chunks/text-B6GuUYfw.cjs.map +1 -0
- package/dist/chunks/text-B8bxcVHh.esm.js +18 -0
- package/dist/chunks/text-B8bxcVHh.esm.js.map +1 -0
- package/dist/chunks/text-input-Bc2XftOM.cjs +2 -0
- package/dist/chunks/text-input-Bc2XftOM.cjs.map +1 -0
- package/dist/chunks/text-input-DzHnlufM.esm.js +55 -0
- package/dist/chunks/text-input-DzHnlufM.esm.js.map +1 -0
- package/dist/chunks/textSelection-B2bIcuHP.cjs +2 -0
- package/dist/chunks/textSelection-B2bIcuHP.cjs.map +1 -0
- package/dist/chunks/textSelection-BgiQGpGl.esm.js +37 -0
- package/dist/chunks/textSelection-BgiQGpGl.esm.js.map +1 -0
- package/dist/chunks/theme-BR3bc6tH.esm.js +6067 -0
- package/dist/chunks/theme-BR3bc6tH.esm.js.map +1 -0
- package/dist/chunks/theme-tOoHVZZ6.cjs +34 -0
- package/dist/chunks/theme-tOoHVZZ6.cjs.map +1 -0
- package/dist/chunks/time-input--A7teyZm.esm.js +33 -0
- package/dist/chunks/time-input--A7teyZm.esm.js.map +1 -0
- package/dist/chunks/time-input-CnqA54LG.cjs +2 -0
- package/dist/chunks/time-input-CnqA54LG.cjs.map +1 -0
- package/dist/chunks/toast.manager-BzHzyuxg.esm.js.map +1 -1
- package/dist/chunks/toast.manager-CC9sI9jg.cjs.map +1 -1
- package/dist/chunks/toast.outlet-CiElRAMb.cjs +2 -0
- package/dist/chunks/toast.outlet-CiElRAMb.cjs.map +1 -0
- package/dist/chunks/toast.outlet-DfFHdsij.esm.js +99 -0
- package/dist/chunks/toast.outlet-DfFHdsij.esm.js.map +1 -0
- package/dist/chunks/toast.toasters-CPst40gE.esm.js.map +1 -1
- package/dist/chunks/toast.toasters-DP9ZNFzk.cjs.map +1 -1
- package/dist/chunks/toggle-button-DnjpkkaG.esm.js +30 -0
- package/dist/chunks/toggle-button-DnjpkkaG.esm.js.map +1 -0
- package/dist/chunks/toggle-button-group-CTzzGLVs.esm.js +34 -0
- package/dist/chunks/toggle-button-group-CTzzGLVs.esm.js.map +1 -0
- package/dist/chunks/toggle-button-group-CX1M7CQN.cjs +2 -0
- package/dist/chunks/toggle-button-group-CX1M7CQN.cjs.map +1 -0
- package/dist/chunks/toggle-button-szYkDbB4.cjs +2 -0
- package/dist/chunks/toggle-button-szYkDbB4.cjs.map +1 -0
- package/dist/chunks/toolbar-BTl4PMN6.esm.js +45 -0
- package/dist/chunks/toolbar-BTl4PMN6.esm.js.map +1 -0
- package/dist/chunks/toolbar-CDuqJw86.cjs +2 -0
- package/dist/chunks/toolbar-CDuqJw86.cjs.map +1 -0
- package/dist/chunks/tooltip-BeOLEOf6.cjs +2 -0
- package/dist/chunks/tooltip-BeOLEOf6.cjs.map +1 -0
- package/dist/chunks/tooltip-BuWKSmHt.esm.js +243 -0
- package/dist/chunks/tooltip-BuWKSmHt.esm.js.map +1 -0
- package/dist/chunks/use-focus-input-on-field-click-C9Dn-bdo.cjs.map +1 -1
- package/dist/chunks/use-region-DAQ1j-8C.cjs.map +1 -1
- package/dist/chunks/use-responsive-splitter-sizes-CO-POrVJ.esm.js +582 -0
- package/dist/chunks/use-responsive-splitter-sizes-CO-POrVJ.esm.js.map +1 -0
- package/dist/chunks/use-responsive-splitter-sizes-DApY1vey.cjs +2 -0
- package/dist/chunks/use-responsive-splitter-sizes-DApY1vey.cjs.map +1 -0
- package/dist/chunks/use-tree-CrwSJhB8.cjs +2 -0
- package/dist/chunks/use-tree-CrwSJhB8.cjs.map +1 -0
- package/dist/chunks/use-tree-wsHR3c7J.esm.js +1170 -0
- package/dist/chunks/use-tree-wsHR3c7J.esm.js.map +1 -0
- package/dist/chunks/useButton-BlKLz88_.esm.js +56 -0
- package/dist/chunks/useButton-BlKLz88_.esm.js.map +1 -0
- package/dist/chunks/useButton-DisIwqgE.cjs +2 -0
- package/dist/chunks/useButton-DisIwqgE.cjs.map +1 -0
- package/dist/chunks/useCollator-Ys5a7Eeu.cjs +2 -0
- package/dist/chunks/useCollator-Ys5a7Eeu.cjs.map +1 -0
- package/dist/chunks/useCollator-duIsyVP8.esm.js +13 -0
- package/dist/chunks/useCollator-duIsyVP8.esm.js.map +1 -0
- package/dist/chunks/useCollection-C04LezXC.cjs +2 -0
- package/dist/chunks/useCollection-C04LezXC.cjs.map +1 -0
- package/dist/chunks/useCollection-CGf4ZguH.esm.js +957 -0
- package/dist/chunks/useCollection-CGf4ZguH.esm.js.map +1 -0
- package/dist/chunks/useControlledState-C-8MHM79.cjs +2 -0
- package/dist/chunks/useControlledState-C-8MHM79.cjs.map +1 -0
- package/dist/chunks/useControlledState-DH1pZlhP.esm.js +23 -0
- package/dist/chunks/useControlledState-DH1pZlhP.esm.js.map +1 -0
- package/dist/chunks/useDateFormatter-BqyWVuA8.esm.js +1405 -0
- package/dist/chunks/useDateFormatter-BqyWVuA8.esm.js.map +1 -0
- package/dist/chunks/useDateFormatter-DAqs5IhH.cjs +2 -0
- package/dist/chunks/useDateFormatter-DAqs5IhH.cjs.map +1 -0
- package/dist/chunks/useDescription-DVMDlByk.cjs +2 -0
- package/dist/chunks/useDescription-DVMDlByk.cjs.map +1 -0
- package/dist/chunks/useDescription-DwU8yKYN.esm.js +28 -0
- package/dist/chunks/useDescription-DwU8yKYN.esm.js.map +1 -0
- package/dist/chunks/useDisclosureState-DbHrEpMo.esm.js +75 -0
- package/dist/chunks/useDisclosureState-DbHrEpMo.esm.js.map +1 -0
- package/dist/chunks/useDisclosureState-De70oqxM.cjs +2 -0
- package/dist/chunks/useDisclosureState-De70oqxM.cjs.map +1 -0
- package/dist/chunks/useDragAndDrop-CoNOA7E9.cjs +2 -0
- package/dist/chunks/useDragAndDrop-CoNOA7E9.cjs.map +1 -0
- package/dist/chunks/useDragAndDrop-D_i3CWeg.esm.js +1146 -0
- package/dist/chunks/useDragAndDrop-D_i3CWeg.esm.js.map +1 -0
- package/dist/chunks/useDrop-DYmvIAou.cjs +3 -0
- package/dist/chunks/useDrop-DYmvIAou.cjs.map +1 -0
- package/dist/chunks/useDrop-DfEAeAm0.esm.js +2185 -0
- package/dist/chunks/useDrop-DfEAeAm0.esm.js.map +1 -0
- package/dist/chunks/useEffectEvent-B628M4bY.cjs +2 -0
- package/dist/chunks/useEffectEvent-B628M4bY.cjs.map +1 -0
- package/dist/chunks/useEffectEvent-DhwN6xRx.esm.js +17 -0
- package/dist/chunks/useEffectEvent-DhwN6xRx.esm.js.map +1 -0
- package/dist/chunks/useEvent-B9CQhtnX.esm.js +22 -0
- package/dist/chunks/useEvent-B9CQhtnX.esm.js.map +1 -0
- package/dist/chunks/useEvent-DsNlySg0.cjs +2 -0
- package/dist/chunks/useEvent-DsNlySg0.cjs.map +1 -0
- package/dist/chunks/useField-BODQaE6H.esm.js +30 -0
- package/dist/chunks/useField-BODQaE6H.esm.js.map +1 -0
- package/dist/chunks/useField-dHbFxjk0.cjs +2 -0
- package/dist/chunks/useField-dHbFxjk0.cjs.map +1 -0
- package/dist/chunks/useFocus-Cw03jXPe.cjs +2 -0
- package/dist/chunks/useFocus-Cw03jXPe.cjs.map +1 -0
- package/dist/chunks/useFocus-O8KJn42a.esm.js +23 -0
- package/dist/chunks/useFocus-O8KJn42a.esm.js.map +1 -0
- package/dist/chunks/useFocusRing-Bx86kFi9.cjs +2 -0
- package/dist/chunks/useFocusRing-Bx86kFi9.cjs.map +1 -0
- package/dist/chunks/useFocusRing-CgvZuPOT.esm.js +35 -0
- package/dist/chunks/useFocusRing-CgvZuPOT.esm.js.map +1 -0
- package/dist/chunks/useFocusVisible-DnadRym0.cjs +2 -0
- package/dist/chunks/useFocusVisible-DnadRym0.cjs.map +1 -0
- package/dist/chunks/useFocusVisible-vN0uP_2v.esm.js +236 -0
- package/dist/chunks/useFocusVisible-vN0uP_2v.esm.js.map +1 -0
- package/dist/chunks/useFocusWithin-B6T1SSdj.esm.js +47 -0
- package/dist/chunks/useFocusWithin-B6T1SSdj.esm.js.map +1 -0
- package/dist/chunks/useFocusWithin-COLRI8S5.cjs +2 -0
- package/dist/chunks/useFocusWithin-COLRI8S5.cjs.map +1 -0
- package/dist/chunks/useFocusable-CzgpEOAv.esm.js +70 -0
- package/dist/chunks/useFocusable-CzgpEOAv.esm.js.map +1 -0
- package/dist/chunks/useFocusable-OFsWUWgb.cjs +2 -0
- package/dist/chunks/useFocusable-OFsWUWgb.cjs.map +1 -0
- package/dist/chunks/useFormValidationState-B5e8EeJ8.cjs +2 -0
- package/dist/chunks/useFormValidationState-B5e8EeJ8.cjs.map +1 -0
- package/dist/chunks/useFormValidationState-rjMRhdnd.esm.js +182 -0
- package/dist/chunks/useFormValidationState-rjMRhdnd.esm.js.map +1 -0
- package/dist/chunks/useGlobalListeners-CJS_GBKG.cjs.map +1 -1
- package/dist/chunks/useGlobalListeners-W2IDQRTw.esm.js +31 -0
- package/dist/chunks/useGlobalListeners-W2IDQRTw.esm.js.map +1 -0
- package/dist/chunks/useGridListItem-DVNb2d76.esm.js +857 -0
- package/dist/chunks/useGridListItem-DVNb2d76.esm.js.map +1 -0
- package/dist/chunks/useGridListItem-d-i-pqAt.cjs +2 -0
- package/dist/chunks/useGridListItem-d-i-pqAt.cjs.map +1 -0
- package/dist/chunks/useHasTabbableChild-B1cAY13A.esm.js +31 -0
- package/dist/chunks/useHasTabbableChild-B1cAY13A.esm.js.map +1 -0
- package/dist/chunks/useHasTabbableChild-LaeOLvjz.cjs +2 -0
- package/dist/chunks/useHasTabbableChild-LaeOLvjz.cjs.map +1 -0
- package/dist/chunks/useHover-FP8QRkFh.esm.js +81 -0
- package/dist/chunks/useHover-FP8QRkFh.esm.js.map +1 -0
- package/dist/chunks/useHover-JjQ5Tf8X.cjs +2 -0
- package/dist/chunks/useHover-JjQ5Tf8X.cjs.map +1 -0
- package/dist/chunks/useLabel-B3auy9mS.esm.js +25 -0
- package/dist/chunks/useLabel-B3auy9mS.esm.js.map +1 -0
- package/dist/chunks/useLabel-CFppLvdq.cjs +2 -0
- package/dist/chunks/useLabel-CFppLvdq.cjs.map +1 -0
- package/dist/chunks/useLabels-B-4HgOQw.cjs +2 -0
- package/dist/chunks/useLabels-B-4HgOQw.cjs.map +1 -0
- package/dist/chunks/useLabels-Buc4v9mJ.esm.js +14 -0
- package/dist/chunks/useLabels-Buc4v9mJ.esm.js.map +1 -0
- package/dist/chunks/useLink-Ce3SRFua.esm.js +37 -0
- package/dist/chunks/useLink-Ce3SRFua.esm.js.map +1 -0
- package/dist/chunks/useLink-CmQ7I9Ho.cjs +2 -0
- package/dist/chunks/useLink-CmQ7I9Ho.cjs.map +1 -0
- package/dist/chunks/useListData-Cz1rI8dv.cjs.map +1 -1
- package/dist/chunks/useListData-DuxgfYcG.esm.js +194 -0
- package/dist/chunks/useListData-DuxgfYcG.esm.js.map +1 -0
- package/dist/chunks/useListState-6F4go-kc.cjs +2 -0
- package/dist/chunks/useListState-6F4go-kc.cjs.map +1 -0
- package/dist/chunks/useListState-BiT-W669.esm.js +100 -0
- package/dist/chunks/useListState-BiT-W669.esm.js.map +1 -0
- package/dist/chunks/useLoadMoreSentinel-CAqWAkgX.cjs +2 -0
- package/dist/chunks/useLoadMoreSentinel-CAqWAkgX.cjs.map +1 -0
- package/dist/chunks/useLoadMoreSentinel-DEjOHrGE.esm.js +61 -0
- package/dist/chunks/useLoadMoreSentinel-DEjOHrGE.esm.js.map +1 -0
- package/dist/chunks/useLocalizedStringFormatter-C0lcQbF_.cjs +2 -0
- package/dist/chunks/useLocalizedStringFormatter-C0lcQbF_.cjs.map +1 -0
- package/dist/chunks/useLocalizedStringFormatter-DnGagN_9.esm.js +42 -0
- package/dist/chunks/useLocalizedStringFormatter-DnGagN_9.esm.js.map +1 -0
- package/dist/chunks/useMove-ChmDyWlE.cjs +2 -0
- package/dist/chunks/useMove-ChmDyWlE.cjs.map +1 -0
- package/dist/chunks/useMove-DshCmF8x.esm.js +157 -0
- package/dist/chunks/useMove-DshCmF8x.esm.js.map +1 -0
- package/dist/chunks/useObjectRef-B_3vY5-Q.esm.js +26 -0
- package/dist/chunks/useObjectRef-B_3vY5-Q.esm.js.map +1 -0
- package/dist/chunks/useObjectRef-B_VeQHvx.cjs.map +1 -1
- package/dist/chunks/useOverlayTriggerState-Bnf7l3Bn.esm.js +383 -0
- package/dist/chunks/useOverlayTriggerState-Bnf7l3Bn.esm.js.map +1 -0
- package/dist/chunks/useOverlayTriggerState-BxHzXkkN.cjs +2 -0
- package/dist/chunks/useOverlayTriggerState-BxHzXkkN.cjs.map +1 -0
- package/dist/chunks/usePress-BC0lMVus.esm.js +401 -0
- package/dist/chunks/usePress-BC0lMVus.esm.js.map +1 -0
- package/dist/chunks/usePress-gQardcsX.cjs +8 -0
- package/dist/chunks/usePress-gQardcsX.cjs.map +1 -0
- package/dist/chunks/useProgressBar-DDrlZQv4.cjs +2 -0
- package/dist/chunks/useProgressBar-DDrlZQv4.cjs.map +1 -0
- package/dist/chunks/useProgressBar-DmcvqOjq.esm.js +41 -0
- package/dist/chunks/useProgressBar-DmcvqOjq.esm.js.map +1 -0
- package/dist/chunks/useSelectableList-DDytBtRR.cjs +2 -0
- package/dist/chunks/useSelectableList-DDytBtRR.cjs.map +1 -0
- package/dist/chunks/useSelectableList-umEtkxYN.esm.js +198 -0
- package/dist/chunks/useSelectableList-umEtkxYN.esm.js.map +1 -0
- package/dist/chunks/useSeparator-C9gYJRve.esm.js +14 -0
- package/dist/chunks/useSeparator-C9gYJRve.esm.js.map +1 -0
- package/dist/chunks/useSeparator-FDsuBxyu.cjs.map +1 -1
- package/dist/chunks/useSlot-DGFlNPB7.cjs +2 -0
- package/dist/chunks/useSlot-DGFlNPB7.cjs.map +1 -0
- package/dist/chunks/useSlot-DouWjYNV.esm.js +22 -0
- package/dist/chunks/useSlot-DouWjYNV.esm.js.map +1 -0
- package/dist/chunks/useSpinButton-BgtZBsGy.cjs +2 -0
- package/dist/chunks/useSpinButton-BgtZBsGy.cjs.map +1 -0
- package/dist/chunks/useSpinButton-D6GxEZxj.esm.js +423 -0
- package/dist/chunks/useSpinButton-D6GxEZxj.esm.js.map +1 -0
- package/dist/chunks/useSyncRef-D6qBr82T.esm.js +13 -0
- package/dist/chunks/useSyncRef-D6qBr82T.esm.js.map +1 -0
- package/dist/chunks/useSyncRef-DpHTtOb-.cjs +2 -0
- package/dist/chunks/useSyncRef-DpHTtOb-.cjs.map +1 -0
- package/dist/chunks/useTextField-CdCrgSsV.esm.js +70 -0
- package/dist/chunks/useTextField-CdCrgSsV.esm.js.map +1 -0
- package/dist/chunks/useTextField-CzF6gZ6-.cjs +2 -0
- package/dist/chunks/useTextField-CzF6gZ6-.cjs.map +1 -0
- package/dist/chunks/useToggle-DOG2OJN_.cjs +2 -0
- package/dist/chunks/useToggle-DOG2OJN_.cjs.map +1 -0
- package/dist/chunks/useToggle-oUUHIEEp.esm.js +101 -0
- package/dist/chunks/useToggle-oUUHIEEp.esm.js.map +1 -0
- package/dist/chunks/useToggleState-F4WGjSdP.esm.js +22 -0
- package/dist/chunks/useToggleState-F4WGjSdP.esm.js.map +1 -0
- package/dist/chunks/useToggleState-qNV7GBG-.cjs +2 -0
- package/dist/chunks/useToggleState-qNV7GBG-.cjs.map +1 -0
- package/dist/chunks/useToolbar-B2Jrsbc3.cjs +2 -0
- package/dist/chunks/useToolbar-B2Jrsbc3.cjs.map +1 -0
- package/dist/chunks/useToolbar-CUXWLDMj.esm.js +42 -0
- package/dist/chunks/useToolbar-CUXWLDMj.esm.js.map +1 -0
- package/dist/chunks/useTreeState-Bi7rvUKr.cjs +2 -0
- package/dist/chunks/useTreeState-Bi7rvUKr.cjs.map +1 -0
- package/dist/chunks/useTreeState-BlJtuLmC.esm.js +71 -0
- package/dist/chunks/useTreeState-BlJtuLmC.esm.js.map +1 -0
- package/dist/chunks/useUpdateEffect-CovTHXnI.cjs +2 -0
- package/dist/chunks/useUpdateEffect-CovTHXnI.cjs.map +1 -0
- package/dist/chunks/useUpdateEffect-Dg5Voi0b.esm.js +16 -0
- package/dist/chunks/useUpdateEffect-Dg5Voi0b.esm.js.map +1 -0
- package/dist/chunks/utils-BYIK8Yf2.esm.js +108 -0
- package/dist/chunks/utils-BYIK8Yf2.esm.js.map +1 -0
- package/dist/chunks/utils-Bxhiv9E-.esm.js +209 -0
- package/dist/chunks/utils-Bxhiv9E-.esm.js.map +1 -0
- package/dist/chunks/utils-Clf3FzjT.cjs +2 -0
- package/dist/chunks/utils-Clf3FzjT.cjs.map +1 -0
- package/dist/chunks/utils-DdbD74Lh.esm.js.map +1 -1
- package/dist/chunks/utils-igUjp_4h.cjs +2 -0
- package/dist/chunks/utils-igUjp_4h.cjs.map +1 -0
- package/dist/chunks/utils-vrw_4e5N.cjs.map +1 -1
- package/dist/chunks/visually-hidden-C0SJSQ9z.esm.js +15 -0
- package/dist/chunks/visually-hidden-C0SJSQ9z.esm.js.map +1 -0
- package/dist/chunks/visually-hidden-CnOICq5t.cjs +2 -0
- package/dist/chunks/visually-hidden-CnOICq5t.cjs.map +1 -0
- package/dist/components/accordion.cjs +1 -1
- package/dist/components/accordion.es.js +2 -2
- package/dist/components/actions.cjs +1 -1
- package/dist/components/actions.es.js +1 -1
- package/dist/components/activity-indicator/activity-indicator.d.ts +24 -0
- package/dist/components/activity-indicator/activity-indicator.figma.d.ts +1 -0
- package/dist/components/activity-indicator/activity-indicator.recipe.d.ts +50 -0
- package/dist/components/activity-indicator/activity-indicator.slots.d.ts +6 -0
- package/dist/components/activity-indicator/activity-indicator.types.d.ts +50 -0
- package/dist/components/activity-indicator/index.d.ts +2 -0
- package/dist/components/activity-indicator.cjs +1 -0
- package/dist/components/activity-indicator.es.js +2 -0
- package/dist/components/alert.cjs +1 -1
- package/dist/components/alert.es.js +1 -1
- package/dist/components/avatar/avatar.recipe.d.ts +23 -7
- package/dist/components/avatar/avatar.slots.d.ts +2 -1
- package/dist/components/avatar/avatar.types.d.ts +10 -1
- package/dist/components/avatar.cjs +1 -1
- package/dist/components/avatar.es.js +1 -1
- package/dist/components/badge.cjs +1 -1
- package/dist/components/badge.es.js +1 -1
- package/dist/components/button/button.recipe.d.ts +11 -0
- package/dist/components/button/button.types.d.ts +16 -0
- package/dist/components/button.cjs +1 -1
- package/dist/components/button.es.js +1 -1
- package/dist/components/buttons.cjs +1 -0
- package/dist/components/buttons.es.js +2 -0
- package/dist/components/calendar.cjs +1 -1
- package/dist/components/calendar.es.js +1 -1
- package/dist/components/card.cjs +1 -1
- package/dist/components/card.es.js +1 -1
- package/dist/components/chat-message/chat-message.context.d.ts +15 -0
- package/dist/components/chat-message/chat-message.d.ts +161 -0
- package/dist/components/chat-message/chat-message.figma.d.ts +1 -0
- package/dist/components/chat-message/chat-message.recipe.d.ts +77 -0
- package/dist/components/chat-message/chat-message.slots.d.ts +30 -0
- package/dist/components/chat-message/chat-message.types.d.ts +116 -0
- package/dist/components/chat-message/components/chat-message.actions.d.ts +12 -0
- package/dist/components/chat-message/components/chat-message.avatar.d.ts +31 -0
- package/dist/components/chat-message/components/chat-message.body.d.ts +14 -0
- package/dist/components/chat-message/components/chat-message.meta.d.ts +15 -0
- package/dist/components/chat-message/components/chat-message.root.d.ts +22 -0
- package/dist/components/chat-message/components/chat-message.typing.d.ts +20 -0
- package/dist/components/chat-message/components/index.d.ts +6 -0
- package/dist/components/chat-message/index.d.ts +2 -0
- package/dist/components/chat-message-list/chat-message-list.d.ts +79 -0
- package/dist/components/chat-message-list/chat-message-list.i18n.d.ts +12 -0
- package/dist/components/chat-message-list/chat-message-list.messages.d.ts +6 -0
- package/dist/components/chat-message-list/chat-message-list.recipe.d.ts +22 -0
- package/dist/components/chat-message-list/chat-message-list.slots.d.ts +27 -0
- package/dist/components/chat-message-list/chat-message-list.types.d.ts +80 -0
- package/dist/components/chat-message-list/components/chat-message-list.item.d.ts +20 -0
- package/dist/components/chat-message-list/components/chat-message-list.root.d.ts +22 -0
- package/dist/components/chat-message-list/components/index.d.ts +2 -0
- package/dist/components/chat-message-list/hooks/index.d.ts +2 -0
- package/dist/components/chat-message-list/hooks/use-stick-to-bottom.d.ts +47 -0
- package/dist/components/chat-message-list/index.d.ts +2 -0
- package/dist/components/chat-message-list/intl/de.d.ts +10 -0
- package/dist/components/chat-message-list/intl/en.d.ts +10 -0
- package/dist/components/chat-message-list/intl/es.d.ts +10 -0
- package/dist/components/chat-message-list/intl/fr-FR.d.ts +10 -0
- package/dist/components/chat-message-list/intl/pt-BR.d.ts +10 -0
- package/dist/components/chat-message-list.cjs +1 -0
- package/dist/components/chat-message-list.es.js +2 -0
- package/dist/components/chat-message.cjs +1 -0
- package/dist/components/chat-message.es.js +2 -0
- package/dist/components/checkbox.cjs +1 -1
- package/dist/components/checkbox.es.js +1 -1
- package/dist/components/collapsible-motion.cjs +1 -1
- package/dist/components/collapsible-motion.es.js +1 -1
- package/dist/components/combobox/combobox.recipe.d.ts +1 -1
- package/dist/components/combobox.cjs +1 -1
- package/dist/components/combobox.es.js +1 -1
- package/dist/components/components.cjs +1 -1
- package/dist/components/components.es.js +1 -1
- package/dist/components/confirmation-dialog.cjs +1 -1
- package/dist/components/confirmation-dialog.es.js +1 -1
- package/dist/components/data-table/data-table.types.d.ts +1 -0
- package/dist/components/data-table.cjs +1 -1
- package/dist/components/data-table.es.js +1 -1
- package/dist/components/date-input.cjs +1 -1
- package/dist/components/date-input.es.js +1 -1
- package/dist/components/date-picker.cjs +1 -1
- package/dist/components/date-picker.es.js +1 -1
- package/dist/components/date-range-picker-field.cjs +1 -1
- package/dist/components/date-range-picker-field.cjs.map +1 -1
- package/dist/components/date-range-picker-field.es.js +3 -3
- package/dist/components/date-range-picker-field.es.js.map +1 -1
- package/dist/components/date-range-picker.cjs +1 -1
- package/dist/components/date-range-picker.es.js +1 -1
- package/dist/components/default-page.cjs +1 -1
- package/dist/components/default-page.es.js +1 -1
- package/dist/components/dialog.cjs +1 -1
- package/dist/components/dialog.es.js +1 -1
- package/dist/components/dialogs.cjs +1 -1
- package/dist/components/dialogs.es.js +2 -2
- package/dist/components/draggable-list.cjs +1 -1
- package/dist/components/draggable-list.es.js +1 -1
- package/dist/components/drawer.cjs +1 -1
- package/dist/components/drawer.es.js +1 -1
- package/dist/components/drop-zone/drop-zone.d.ts +30 -0
- package/dist/components/drop-zone/drop-zone.figma.d.ts +1 -0
- package/dist/components/drop-zone/drop-zone.i18n.d.ts +7 -0
- package/dist/components/drop-zone/drop-zone.messages.d.ts +6 -0
- package/dist/components/drop-zone/drop-zone.recipe.d.ts +5 -0
- package/dist/components/drop-zone/drop-zone.slots.d.ts +1 -0
- package/dist/components/drop-zone/drop-zone.types.d.ts +30 -0
- package/dist/components/drop-zone/index.d.ts +2 -0
- package/dist/components/drop-zone/intl/de.d.ts +9 -0
- package/dist/components/drop-zone/intl/en.d.ts +9 -0
- package/dist/components/drop-zone/intl/es.d.ts +9 -0
- package/dist/components/drop-zone/intl/fr-FR.d.ts +9 -0
- package/dist/components/drop-zone/intl/pt-BR.d.ts +9 -0
- package/dist/components/drop-zone/utils/index.d.ts +1 -0
- package/dist/components/drop-zone.cjs +1 -0
- package/dist/components/drop-zone.es.js +2 -0
- package/dist/components/field-errors.cjs +1 -1
- package/dist/components/field-errors.es.js +1 -1
- package/dist/components/fields.cjs +1 -1
- package/dist/components/fields.es.js +4 -4
- package/dist/components/file-trigger/file-trigger.d.ts +15 -0
- package/dist/components/file-trigger/file-trigger.types.d.ts +54 -0
- package/dist/components/file-trigger/index.d.ts +2 -0
- package/dist/components/file-trigger.cjs +1 -0
- package/dist/components/file-trigger.es.js +2 -0
- package/dist/components/floating-action-button.cjs +2 -0
- package/dist/components/floating-action-button.cjs.map +1 -0
- package/dist/components/floating-action-button.es.js +18 -0
- package/dist/components/floating-action-button.es.js.map +1 -0
- package/dist/components/form-action-bar.cjs +1 -1
- package/dist/components/form-action-bar.es.js +1 -1
- package/dist/components/form-dialog.cjs +1 -1
- package/dist/components/form-dialog.es.js +1 -1
- package/dist/components/form-field.cjs +1 -1
- package/dist/components/form-field.es.js +1 -1
- package/dist/components/group.cjs +1 -1
- package/dist/components/group.es.js +1 -1
- package/dist/components/heading.cjs +1 -1
- package/dist/components/heading.es.js +1 -1
- package/dist/components/hooks.cjs +1 -1
- package/dist/components/hooks.es.js +2 -2
- package/dist/components/icon-button.cjs +1 -1
- package/dist/components/icon-button.es.js +1 -1
- package/dist/components/icon-toggle-button.cjs +1 -1
- package/dist/components/icon-toggle-button.es.js +1 -1
- package/dist/components/index.d.ts +7 -0
- package/dist/components/info-dialog.cjs +1 -1
- package/dist/components/info-dialog.cjs.map +1 -1
- package/dist/components/info-dialog.es.js +1 -1
- package/dist/components/inline-svg.cjs +1 -1
- package/dist/components/inline-svg.es.js +1 -1
- package/dist/components/kbd.cjs +1 -1
- package/dist/components/kbd.es.js +1 -1
- package/dist/components/link.cjs +1 -1
- package/dist/components/link.es.js +1 -1
- package/dist/components/list.cjs +1 -1
- package/dist/components/list.es.js +1 -1
- package/dist/components/loading-spinner.cjs +1 -1
- package/dist/components/loading-spinner.es.js +1 -1
- package/dist/components/localized-field.cjs +1 -1
- package/dist/components/localized-field.es.js +1 -1
- package/dist/components/markdown/components/index.d.ts +2 -0
- package/dist/components/markdown/components/markdown.renderers.d.ts +22 -0
- package/dist/components/markdown/components/markdown.streaming.d.ts +13 -0
- package/dist/components/markdown/constants/index.d.ts +12 -0
- package/dist/components/markdown/hooks/use-heading-skip-warning.d.ts +6 -0
- package/dist/components/markdown/index.d.ts +2 -0
- package/dist/components/markdown/intl/de.d.ts +17 -0
- package/dist/components/markdown/intl/en.d.ts +17 -0
- package/dist/components/markdown/intl/es.d.ts +17 -0
- package/dist/components/markdown/intl/fr-FR.d.ts +17 -0
- package/dist/components/markdown/intl/pt-BR.d.ts +17 -0
- package/dist/components/markdown/markdown.d.ts +22 -0
- package/dist/components/markdown/markdown.i18n.d.ts +47 -0
- package/dist/components/markdown/markdown.internal-types.d.ts +29 -0
- package/dist/components/markdown/markdown.messages.d.ts +6 -0
- package/dist/components/markdown/markdown.types.d.ts +86 -0
- package/dist/components/markdown/utils/hast-node.d.ts +28 -0
- package/dist/components/markdown/utils/heading-levels.d.ts +18 -0
- package/dist/components/markdown/utils/index.d.ts +7 -0
- package/dist/components/markdown/utils/is-external-url.d.ts +5 -0
- package/dist/components/markdown/utils/parse-tag-attributes.d.ts +1 -0
- package/dist/components/markdown/utils/remark-custom-component-tags.d.ts +50 -0
- package/dist/components/markdown/utils/remark-github-alerts.d.ts +40 -0
- package/dist/components/markdown/utils/split-blocks.d.ts +24 -0
- package/dist/components/markdown.cjs +1 -0
- package/dist/components/markdown.es.js +2 -0
- package/dist/components/modal-page.cjs +1 -1
- package/dist/components/modal-page.es.js +1 -1
- package/dist/components/money-input-field.cjs +1 -1
- package/dist/components/money-input-field.es.js +1 -1
- package/dist/components/money-input.cjs +1 -1
- package/dist/components/money-input.es.js +1 -1
- package/dist/components/multiline-text-input-field.cjs +1 -1
- package/dist/components/multiline-text-input-field.es.js +1 -1
- package/dist/components/multiline-text-input.cjs +1 -1
- package/dist/components/multiline-text-input.es.js +1 -1
- package/dist/components/nimbus-i18n-provider.cjs +1 -1
- package/dist/components/nimbus-i18n-provider.es.js +1 -1
- package/dist/components/nimbus-provider.cjs +1 -1
- package/dist/components/nimbus-provider.es.js +1 -1
- package/dist/components/number-input-field.cjs +1 -1
- package/dist/components/number-input-field.es.js +1 -1
- package/dist/components/number-input.cjs +1 -1
- package/dist/components/number-input.es.js +1 -1
- package/dist/components/pages.cjs +1 -1
- package/dist/components/pages.es.js +1 -1
- package/dist/components/pagination.cjs +1 -1
- package/dist/components/pagination.es.js +1 -1
- package/dist/components/password-input-field.cjs +1 -1
- package/dist/components/password-input-field.es.js +1 -1
- package/dist/components/password-input.cjs +1 -1
- package/dist/components/password-input.es.js +1 -1
- package/dist/components/patterns.cjs +1 -1
- package/dist/components/patterns.es.js +14 -13
- package/dist/components/popover.cjs +1 -1
- package/dist/components/popover.es.js +1 -1
- package/dist/components/progress-bar.cjs +1 -1
- package/dist/components/progress-bar.es.js +1 -1
- package/dist/components/public-page-layout.cjs +1 -1
- package/dist/components/public-page-layout.es.js +1 -1
- package/dist/components/radio-input.cjs +1 -1
- package/dist/components/radio-input.es.js +1 -1
- package/dist/components/range-calendar.cjs +1 -1
- package/dist/components/range-calendar.es.js +1 -1
- package/dist/components/rich-text-input.cjs +1 -1
- package/dist/components/rich-text-input.es.js +1 -1
- package/dist/components/scoped-search-input.cjs +1 -1
- package/dist/components/scoped-search-input.es.js +1 -1
- package/dist/components/scroll-area.es.js +3 -2
- package/dist/components/search-input/search-input.recipe.d.ts +1 -1
- package/dist/components/search-input-field.cjs +1 -1
- package/dist/components/search-input-field.cjs.map +1 -1
- package/dist/components/search-input-field.es.js +3 -3
- package/dist/components/search-input-field.es.js.map +1 -1
- package/dist/components/search-input.cjs +1 -1
- package/dist/components/search-input.es.js +1 -1
- package/dist/components/select.cjs +1 -1
- package/dist/components/select.es.js +1 -1
- package/dist/components/separator.cjs +1 -1
- package/dist/components/separator.es.js +1 -1
- package/dist/components/split-button/split-button.types.d.ts +8 -3
- package/dist/components/split-button.cjs +1 -1
- package/dist/components/split-button.es.js +1 -1
- package/dist/components/splitter.cjs +1 -1
- package/dist/components/splitter.es.js +1 -1
- package/dist/components/steps.cjs +1 -1
- package/dist/components/steps.es.js +1 -1
- package/dist/components/switch.cjs +1 -1
- package/dist/components/switch.es.js +1 -1
- package/dist/components/tab-nav/tab-nav.d.ts +2 -2
- package/dist/components/tab-nav/tab-nav.recipe.d.ts +80 -18
- package/dist/components/tab-nav/tab-nav.slots.d.ts +7 -1
- package/dist/components/tab-nav/tab-nav.types.d.ts +16 -3
- package/dist/components/tab-nav.cjs +1 -1
- package/dist/components/tab-nav.es.js +1 -1
- package/dist/components/table.cjs +1 -1
- package/dist/components/table.es.js +1 -1
- package/dist/components/tabs/components/tabs.root.d.ts +2 -1
- package/dist/components/tabs/tabs.recipe.d.ts +72 -16
- package/dist/components/tabs/tabs.slots.d.ts +7 -1
- package/dist/components/tabs/tabs.types.d.ts +15 -2
- package/dist/components/tabs.cjs +1 -1
- package/dist/components/tabs.es.js +1 -1
- package/dist/components/tag-group.cjs +1 -1
- package/dist/components/tag-group.es.js +1 -1
- package/dist/components/text-input/text-input.recipe.d.ts +1 -1
- package/dist/components/text-input-field.cjs +1 -1
- package/dist/components/text-input-field.cjs.map +1 -1
- package/dist/components/text-input-field.es.js +3 -3
- package/dist/components/text-input-field.es.js.map +1 -1
- package/dist/components/text-input.cjs +1 -1
- package/dist/components/text-input.es.js +1 -1
- package/dist/components/text.cjs +1 -1
- package/dist/components/text.es.js +1 -1
- package/dist/components/time-input.cjs +1 -1
- package/dist/components/time-input.es.js +1 -1
- package/dist/components/toast.cjs +1 -1
- package/dist/components/toast.es.js +1 -1
- package/dist/components/toggle-button/toggle-button.recipe.d.ts +11 -0
- package/dist/components/toggle-button-group.cjs +1 -1
- package/dist/components/toggle-button-group.es.js +1 -1
- package/dist/components/toggle-button.cjs +1 -1
- package/dist/components/toggle-button.es.js +1 -1
- package/dist/components/toolbar.cjs +1 -1
- package/dist/components/toolbar.es.js +1 -1
- package/dist/components/tooltip/components/tooltip.root.d.ts +1 -1
- package/dist/components/tooltip/tooltip.d.ts +1 -0
- package/dist/components/tooltip.cjs +1 -1
- package/dist/components/tooltip.es.js +2 -2
- package/dist/components/tree/components/index.d.ts +5 -0
- package/dist/components/tree/components/tree.indicator.d.ts +15 -0
- package/dist/components/tree/components/tree.item-content.d.ts +16 -0
- package/dist/components/tree/components/tree.item.d.ts +14 -0
- package/dist/components/tree/components/tree.root.d.ts +14 -0
- package/dist/components/tree/components/tree.sub-tree.d.ts +17 -0
- package/dist/components/tree/hooks/use-tree.d.ts +65 -0
- package/dist/components/tree/index.d.ts +4 -0
- package/dist/components/tree/tree.d.ts +138 -0
- package/dist/components/tree/tree.recipe.d.ts +34 -0
- package/dist/components/tree/tree.slots.d.ts +19 -0
- package/dist/components/tree/tree.types.d.ts +118 -0
- package/dist/components/tree.cjs +1 -0
- package/dist/components/tree.es.js +2 -0
- package/dist/components/visually-hidden.cjs +1 -1
- package/dist/components/visually-hidden.es.js +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/use-sliding-indicator/index.d.ts +2 -0
- package/dist/hooks/use-sliding-indicator/use-sliding-indicator.d.ts +80 -0
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.es.js +174 -158
- package/dist/index.es.js.map +1 -1
- package/dist/patterns/buttons/floating-action-button/floating-action-button.d.ts +20 -0
- package/dist/patterns/buttons/floating-action-button/floating-action-button.figma.d.ts +1 -0
- package/dist/patterns/buttons/floating-action-button/floating-action-button.types.d.ts +8 -0
- package/dist/patterns/buttons/floating-action-button/index.d.ts +2 -0
- package/dist/patterns/buttons/index.d.ts +1 -0
- package/dist/patterns/index.d.ts +1 -0
- package/dist/plugins/webpack.cjs.map +1 -1
- package/dist/plugins/webpack.es.js.map +1 -1
- package/dist/theme/keyframes.d.ts +10 -0
- package/dist/theme/recipes/index.d.ts +86 -7
- package/dist/theme/slot-recipes/index.d.ts +233 -10
- package/dist/theme/tokens/index.d.ts +6 -0
- package/dist/theme/tokens/z-index.d.ts +3 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/resolve-variant-alias.d.ts +17 -0
- package/package.json +38 -32
- package/dist/chunks/Autocomplete-Dc9c_bvo.esm.js +0 -7
- package/dist/chunks/Autocomplete-Dc9c_bvo.esm.js.map +0 -1
- package/dist/chunks/Autocomplete-DzFDRpHC.cjs +0 -2
- package/dist/chunks/Autocomplete-DzFDRpHC.cjs.map +0 -1
- package/dist/chunks/Button-1hWj0x5_.cjs +0 -2
- package/dist/chunks/Button-1hWj0x5_.cjs.map +0 -1
- package/dist/chunks/Button-BS6XRDWw.esm.js +0 -69
- package/dist/chunks/Button-BS6XRDWw.esm.js.map +0 -1
- package/dist/chunks/Calendar-D0Q4KgVl.cjs +0 -2
- package/dist/chunks/Calendar-D0Q4KgVl.cjs.map +0 -1
- package/dist/chunks/Calendar-rp_CLsUN.esm.js +0 -1522
- package/dist/chunks/Calendar-rp_CLsUN.esm.js.map +0 -1
- package/dist/chunks/CollectionBuilder-BXfGeCji.esm.js +0 -567
- package/dist/chunks/CollectionBuilder-BXfGeCji.esm.js.map +0 -1
- package/dist/chunks/CollectionBuilder-DnB4IFcy.cjs +0 -2
- package/dist/chunks/CollectionBuilder-DnB4IFcy.cjs.map +0 -1
- package/dist/chunks/DateField-CiRd3cLQ.cjs +0 -2
- package/dist/chunks/DateField-CiRd3cLQ.cjs.map +0 -1
- package/dist/chunks/DateField-DnencyBr.esm.js +0 -2734
- package/dist/chunks/DateField-DnencyBr.esm.js.map +0 -1
- package/dist/chunks/DatePicker-BKVEEwtB.esm.js +0 -626
- package/dist/chunks/DatePicker-BKVEEwtB.esm.js.map +0 -1
- package/dist/chunks/DatePicker-CWP6H_nf.cjs +0 -2
- package/dist/chunks/DatePicker-CWP6H_nf.cjs.map +0 -1
- package/dist/chunks/Dialog-Bz1VofkM.esm.js +0 -1672
- package/dist/chunks/Dialog-Bz1VofkM.esm.js.map +0 -1
- package/dist/chunks/Dialog-CKEw-ul4.cjs +0 -6
- package/dist/chunks/Dialog-CKEw-ul4.cjs.map +0 -1
- package/dist/chunks/FocusScope-B-MNRaDi.esm.js +0 -510
- package/dist/chunks/FocusScope-B-MNRaDi.esm.js.map +0 -1
- package/dist/chunks/FocusScope-F_MRHvRx.cjs +0 -2
- package/dist/chunks/FocusScope-F_MRHvRx.cjs.map +0 -1
- package/dist/chunks/Form-BqCVTKex.esm.js +0 -7
- package/dist/chunks/Form-BqCVTKex.esm.js.map +0 -1
- package/dist/chunks/Form-DzFDRpHC.cjs +0 -2
- package/dist/chunks/Form-DzFDRpHC.cjs.map +0 -1
- package/dist/chunks/Group-bGyT9mW_.cjs +0 -2
- package/dist/chunks/Group-bGyT9mW_.cjs.map +0 -1
- package/dist/chunks/Group-sJdOMsgH.esm.js +0 -44
- package/dist/chunks/Group-sJdOMsgH.esm.js.map +0 -1
- package/dist/chunks/Header-W166BKKR.esm.js +0 -202
- package/dist/chunks/Header-W166BKKR.esm.js.map +0 -1
- package/dist/chunks/Header-lS9SYRu4.cjs +0 -2
- package/dist/chunks/Header-lS9SYRu4.cjs.map +0 -1
- package/dist/chunks/Heading-C72bGhoe.esm.js +0 -16
- package/dist/chunks/Heading-C72bGhoe.esm.js.map +0 -1
- package/dist/chunks/Heading-CqmBUmd4.cjs +0 -2
- package/dist/chunks/Heading-CqmBUmd4.cjs.map +0 -1
- package/dist/chunks/Hidden-6VVHjge8.cjs +0 -2
- package/dist/chunks/Hidden-6VVHjge8.cjs.map +0 -1
- package/dist/chunks/Hidden-D6B5oH9U.esm.js +0 -44
- package/dist/chunks/Hidden-D6B5oH9U.esm.js.map +0 -1
- package/dist/chunks/I18nProvider-BwhNFoRj.esm.js +0 -102
- package/dist/chunks/I18nProvider-BwhNFoRj.esm.js.map +0 -1
- package/dist/chunks/I18nProvider-ChvyDHT0.cjs +0 -2
- package/dist/chunks/I18nProvider-ChvyDHT0.cjs.map +0 -1
- package/dist/chunks/Input-BTvzRaMs.cjs +0 -2
- package/dist/chunks/Input-BTvzRaMs.cjs.map +0 -1
- package/dist/chunks/Input-DlsE3S8K.esm.js +0 -44
- package/dist/chunks/Input-DlsE3S8K.esm.js.map +0 -1
- package/dist/chunks/Keyboard-BxnTJ58S.cjs +0 -2
- package/dist/chunks/Keyboard-BxnTJ58S.cjs.map +0 -1
- package/dist/chunks/Keyboard-tsF4DvAf.esm.js +0 -7
- package/dist/chunks/Keyboard-tsF4DvAf.esm.js.map +0 -1
- package/dist/chunks/Label-BUx4xalI.cjs +0 -2
- package/dist/chunks/Label-BUx4xalI.cjs.map +0 -1
- package/dist/chunks/Label-Xh7702HT.esm.js +0 -17
- package/dist/chunks/Label-Xh7702HT.esm.js.map +0 -1
- package/dist/chunks/ListBox-2xpkm-sE.cjs +0 -2
- package/dist/chunks/ListBox-2xpkm-sE.cjs.map +0 -1
- package/dist/chunks/ListBox-CJuSujjc.esm.js +0 -497
- package/dist/chunks/ListBox-CJuSujjc.esm.js.map +0 -1
- package/dist/chunks/LiveAnnouncer-DshvpsBx.esm.js +0 -50
- package/dist/chunks/LiveAnnouncer-DshvpsBx.esm.js.map +0 -1
- package/dist/chunks/Modal-CEjlYSfY.esm.js +0 -173
- package/dist/chunks/Modal-CEjlYSfY.esm.js.map +0 -1
- package/dist/chunks/Modal-wR2INhB2.cjs +0 -2
- package/dist/chunks/Modal-wR2INhB2.cjs.map +0 -1
- package/dist/chunks/ProgressBar-DHMdCYLc.esm.js +0 -38
- package/dist/chunks/ProgressBar-DHMdCYLc.esm.js.map +0 -1
- package/dist/chunks/ProgressBar-L7nx92g2.cjs +0 -2
- package/dist/chunks/ProgressBar-L7nx92g2.cjs.map +0 -1
- package/dist/chunks/SSRProvider-DhWENAYq.esm.js +0 -48
- package/dist/chunks/SSRProvider-DhWENAYq.esm.js.map +0 -1
- package/dist/chunks/SSRProvider-z3ddXNrm.cjs +0 -2
- package/dist/chunks/SSRProvider-z3ddXNrm.cjs.map +0 -1
- package/dist/chunks/SelectionIndicator-BnS5MhcP.esm.js +0 -15
- package/dist/chunks/SelectionIndicator-BnS5MhcP.esm.js.map +0 -1
- package/dist/chunks/SelectionIndicator-DNzzSPPr.cjs +0 -2
- package/dist/chunks/SelectionIndicator-DNzzSPPr.cjs.map +0 -1
- package/dist/chunks/Separator-BIgTWW8f.esm.js +0 -41
- package/dist/chunks/Separator-BIgTWW8f.esm.js.map +0 -1
- package/dist/chunks/Separator-OCbVuZ5H.cjs +0 -2
- package/dist/chunks/Separator-OCbVuZ5H.cjs.map +0 -1
- package/dist/chunks/Text-BFxO9Dri.esm.js +0 -7
- package/dist/chunks/Text-BFxO9Dri.esm.js.map +0 -1
- package/dist/chunks/Text-BxnTJ58S.cjs +0 -2
- package/dist/chunks/Text-BxnTJ58S.cjs.map +0 -1
- package/dist/chunks/ToggleButton-C2hHETb0.esm.js +0 -140
- package/dist/chunks/ToggleButton-C2hHETb0.esm.js.map +0 -1
- package/dist/chunks/ToggleButton-Do0NWYnw.cjs +0 -2
- package/dist/chunks/ToggleButton-Do0NWYnw.cjs.map +0 -1
- package/dist/chunks/VisuallyHidden-AGyNNjry.cjs +0 -2
- package/dist/chunks/VisuallyHidden-AGyNNjry.cjs.map +0 -1
- package/dist/chunks/VisuallyHidden-D96gv7Fv.esm.js +0 -37
- package/dist/chunks/VisuallyHidden-D96gv7Fv.esm.js.map +0 -1
- package/dist/chunks/accordion-D6qcmh0J.cjs +0 -2
- package/dist/chunks/accordion-D6qcmh0J.cjs.map +0 -1
- package/dist/chunks/accordion-DdhAoYXL.esm.js +0 -13
- package/dist/chunks/accordion-DdhAoYXL.esm.js.map +0 -1
- package/dist/chunks/alert-BLA16Ct3.cjs +0 -2
- package/dist/chunks/alert-BLA16Ct3.cjs.map +0 -1
- package/dist/chunks/alert-CzQEgomS.esm.js +0 -78
- package/dist/chunks/alert-CzQEgomS.esm.js.map +0 -1
- package/dist/chunks/animation-C-L_empp.esm.js +0 -57
- package/dist/chunks/animation-C-L_empp.esm.js.map +0 -1
- package/dist/chunks/animation-e6IdT0H3.cjs +0 -2
- package/dist/chunks/animation-e6IdT0H3.cjs.map +0 -1
- package/dist/chunks/avatar-DsTOgK1A.esm.js +0 -55
- package/dist/chunks/avatar-DsTOgK1A.esm.js.map +0 -1
- package/dist/chunks/avatar-h9eDHPIr.cjs +0 -2
- package/dist/chunks/avatar-h9eDHPIr.cjs.map +0 -1
- package/dist/chunks/badge-7LuAUqmG.cjs +0 -2
- package/dist/chunks/badge-7LuAUqmG.cjs.map +0 -1
- package/dist/chunks/badge-CfHYaYkR.esm.js +0 -19
- package/dist/chunks/badge-CfHYaYkR.esm.js.map +0 -1
- package/dist/chunks/button-D5CV52ux.esm.js +0 -52
- package/dist/chunks/button-D5CV52ux.esm.js.map +0 -1
- package/dist/chunks/button-DDlet23P.cjs +0 -2
- package/dist/chunks/button-DDlet23P.cjs.map +0 -1
- package/dist/chunks/calendar-Ci_VqqKd.cjs +0 -2
- package/dist/chunks/calendar-Ci_VqqKd.cjs.map +0 -1
- package/dist/chunks/calendar-ILmCMbfo.esm.js +0 -199
- package/dist/chunks/calendar-ILmCMbfo.esm.js.map +0 -1
- package/dist/chunks/card-BzCs5Slj.cjs +0 -2
- package/dist/chunks/card-BzCs5Slj.cjs.map +0 -1
- package/dist/chunks/card-CqFuODvG.esm.js +0 -75
- package/dist/chunks/card-CqFuODvG.esm.js.map +0 -1
- package/dist/chunks/checkbox-2xfBhos6.cjs +0 -2
- package/dist/chunks/checkbox-2xfBhos6.cjs.map +0 -1
- package/dist/chunks/checkbox-CHDkSMEP.esm.js +0 -186
- package/dist/chunks/checkbox-CHDkSMEP.esm.js.map +0 -1
- package/dist/chunks/collapsible-motion-DFZiAulP.cjs +0 -2
- package/dist/chunks/collapsible-motion-DFZiAulP.cjs.map +0 -1
- package/dist/chunks/collapsible-motion-DnWdKrME.esm.js +0 -97
- package/dist/chunks/collapsible-motion-DnWdKrME.esm.js.map +0 -1
- package/dist/chunks/combobox-DwiuJXhD.cjs +0 -2
- package/dist/chunks/combobox-DwiuJXhD.cjs.map +0 -1
- package/dist/chunks/combobox-lTVdJTc3.esm.js +0 -1221
- package/dist/chunks/combobox-lTVdJTc3.esm.js.map +0 -1
- package/dist/chunks/components-CrwFSMII.cjs +0 -2
- package/dist/chunks/components-CrwFSMII.cjs.map +0 -1
- package/dist/chunks/components-z7MLRzO-.esm.js +0 -193
- package/dist/chunks/components-z7MLRzO-.esm.js.map +0 -1
- package/dist/chunks/confirmation-dialog-B7wfR9o0.cjs +0 -2
- package/dist/chunks/confirmation-dialog-B7wfR9o0.cjs.map +0 -1
- package/dist/chunks/confirmation-dialog-nDasu7DU.esm.js +0 -74
- package/dist/chunks/confirmation-dialog-nDasu7DU.esm.js.map +0 -1
- package/dist/chunks/data-table-CP5yy4K1.esm.js +0 -4049
- package/dist/chunks/data-table-CP5yy4K1.esm.js.map +0 -1
- package/dist/chunks/data-table-uLZL2ylc.cjs +0 -2
- package/dist/chunks/data-table-uLZL2ylc.cjs.map +0 -1
- package/dist/chunks/date-input-B8sNo25V.cjs +0 -2
- package/dist/chunks/date-input-B8sNo25V.cjs.map +0 -1
- package/dist/chunks/date-input-BkWTwqKJ.esm.js +0 -33
- package/dist/chunks/date-input-BkWTwqKJ.esm.js.map +0 -1
- package/dist/chunks/date-picker-BNC2CCa3.cjs +0 -2
- package/dist/chunks/date-picker-BNC2CCa3.cjs.map +0 -1
- package/dist/chunks/date-picker-Dt9mO8Za.esm.js +0 -183
- package/dist/chunks/date-picker-Dt9mO8Za.esm.js.map +0 -1
- package/dist/chunks/date-range-picker-14j0nLXq.esm.js +0 -302
- package/dist/chunks/date-range-picker-14j0nLXq.esm.js.map +0 -1
- package/dist/chunks/date-range-picker-CQh-cE2m.cjs +0 -2
- package/dist/chunks/date-range-picker-CQh-cE2m.cjs.map +0 -1
- package/dist/chunks/default-page-CTRRrw_R.esm.js +0 -116
- package/dist/chunks/default-page-CTRRrw_R.esm.js.map +0 -1
- package/dist/chunks/default-page-CcRsREFi.cjs +0 -2
- package/dist/chunks/default-page-CcRsREFi.cjs.map +0 -1
- package/dist/chunks/dialog-BbknnPiL.esm.js +0 -181
- package/dist/chunks/dialog-BbknnPiL.esm.js.map +0 -1
- package/dist/chunks/dialog-XLoAxfTo.cjs +0 -2
- package/dist/chunks/dialog-XLoAxfTo.cjs.map +0 -1
- package/dist/chunks/draggable-list-DyatW4FZ.cjs +0 -3
- package/dist/chunks/draggable-list-DyatW4FZ.cjs.map +0 -1
- package/dist/chunks/draggable-list-aLbi1jAp.esm.js +0 -3951
- package/dist/chunks/draggable-list-aLbi1jAp.esm.js.map +0 -1
- package/dist/chunks/drawer-bxGNjfqv.cjs +0 -2
- package/dist/chunks/drawer-bxGNjfqv.cjs.map +0 -1
- package/dist/chunks/drawer-kupvdMWj.esm.js +0 -189
- package/dist/chunks/drawer-kupvdMWj.esm.js.map +0 -1
- package/dist/chunks/extract-padding-props-erREJ5xh.esm.js +0 -84
- package/dist/chunks/extract-padding-props-erREJ5xh.esm.js.map +0 -1
- package/dist/chunks/extract-style-props-4RoFSvGV.esm.js +0 -12
- package/dist/chunks/extract-style-props-4RoFSvGV.esm.js.map +0 -1
- package/dist/chunks/extract-style-props-CVl34XLj.cjs +0 -2
- package/dist/chunks/extract-style-props-CVl34XLj.cjs.map +0 -1
- package/dist/chunks/field-errors-D4_oFvCt.cjs +0 -2
- package/dist/chunks/field-errors-D4_oFvCt.cjs.map +0 -1
- package/dist/chunks/field-errors-DQnCYbwh.esm.js +0 -170
- package/dist/chunks/field-errors-DQnCYbwh.esm.js.map +0 -1
- package/dist/chunks/filterDOMProps-CIO9R_wo.esm.js +0 -30
- package/dist/chunks/filterDOMProps-CIO9R_wo.esm.js.map +0 -1
- package/dist/chunks/focusSafely-DlCJ7xX4.esm.js +0 -19
- package/dist/chunks/focusSafely-DlCJ7xX4.esm.js.map +0 -1
- package/dist/chunks/focusSafely-DqSHUxBv.cjs +0 -2
- package/dist/chunks/focusSafely-DqSHUxBv.cjs.map +0 -1
- package/dist/chunks/form-action-bar-BH-mQEJB.cjs +0 -2
- package/dist/chunks/form-action-bar-BH-mQEJB.cjs.map +0 -1
- package/dist/chunks/form-action-bar-BkzK1DIP.esm.js +0 -85
- package/dist/chunks/form-action-bar-BkzK1DIP.esm.js.map +0 -1
- package/dist/chunks/form-dialog-DWbkty9b.cjs +0 -2
- package/dist/chunks/form-dialog-DWbkty9b.cjs.map +0 -1
- package/dist/chunks/form-dialog-_Y9tb_dm.esm.js +0 -74
- package/dist/chunks/form-dialog-_Y9tb_dm.esm.js.map +0 -1
- package/dist/chunks/form-field-BqR6tlhi.cjs +0 -2
- package/dist/chunks/form-field-BqR6tlhi.cjs.map +0 -1
- package/dist/chunks/form-field-BxbNX6MU.esm.js +0 -231
- package/dist/chunks/form-field-BxbNX6MU.esm.js.map +0 -1
- package/dist/chunks/getScrollParent-CdSli2iO.cjs +0 -2
- package/dist/chunks/getScrollParent-CdSli2iO.cjs.map +0 -1
- package/dist/chunks/getScrollParent-DUGmEclV.esm.js +0 -11
- package/dist/chunks/getScrollParent-DUGmEclV.esm.js.map +0 -1
- package/dist/chunks/group-Bmr5g5Rl.cjs +0 -2
- package/dist/chunks/group-Bmr5g5Rl.cjs.map +0 -1
- package/dist/chunks/group-CjQwewA5.esm.js +0 -16
- package/dist/chunks/group-CjQwewA5.esm.js.map +0 -1
- package/dist/chunks/heading-Bf0XwaRf.esm.js +0 -19
- package/dist/chunks/heading-Bf0XwaRf.esm.js.map +0 -1
- package/dist/chunks/heading-BiA2hLSk.cjs +0 -2
- package/dist/chunks/heading-BiA2hLSk.cjs.map +0 -1
- package/dist/chunks/hooks-BDfmlNt_.cjs +0 -4
- package/dist/chunks/hooks-BDfmlNt_.cjs.map +0 -1
- package/dist/chunks/hooks-BjqA_jfh.esm.js +0 -795
- package/dist/chunks/hooks-BjqA_jfh.esm.js.map +0 -1
- package/dist/chunks/icon-button-D0cEzjex.esm.js +0 -33
- package/dist/chunks/icon-button-D0cEzjex.esm.js.map +0 -1
- package/dist/chunks/icon-button-DJxT-1uM.cjs +0 -2
- package/dist/chunks/icon-button-DJxT-1uM.cjs.map +0 -1
- package/dist/chunks/icon-toggle-button-BKkz4_Cf.esm.js +0 -16
- package/dist/chunks/icon-toggle-button-BKkz4_Cf.esm.js.map +0 -1
- package/dist/chunks/icon-toggle-button-CqHuaLDB.cjs +0 -2
- package/dist/chunks/icon-toggle-button-CqHuaLDB.cjs.map +0 -1
- package/dist/chunks/inline-svg-CBPeYaXW.esm.js +0 -24
- package/dist/chunks/inline-svg-CBPeYaXW.esm.js.map +0 -1
- package/dist/chunks/inline-svg-Dj-aVgpS.cjs +0 -2
- package/dist/chunks/inline-svg-Dj-aVgpS.cjs.map +0 -1
- package/dist/chunks/intlStrings-Ciwo6tCh.esm.js +0 -348
- package/dist/chunks/intlStrings-Ciwo6tCh.esm.js.map +0 -1
- package/dist/chunks/kbd-Dk3AokiG.esm.js +0 -21
- package/dist/chunks/kbd-Dk3AokiG.esm.js.map +0 -1
- package/dist/chunks/kbd-Dz483siQ.cjs +0 -2
- package/dist/chunks/kbd-Dz483siQ.cjs.map +0 -1
- package/dist/chunks/link-Bv3W3fUU.cjs +0 -2
- package/dist/chunks/link-Bv3W3fUU.cjs.map +0 -1
- package/dist/chunks/link-BzVwlusK.esm.js +0 -27
- package/dist/chunks/link-BzVwlusK.esm.js.map +0 -1
- package/dist/chunks/list-Bdkxklxj.cjs +0 -2
- package/dist/chunks/list-Bdkxklxj.cjs.map +0 -1
- package/dist/chunks/list-jEcdociv.esm.js +0 -33
- package/dist/chunks/list-jEcdociv.esm.js.map +0 -1
- package/dist/chunks/loading-spinner-DZJpaT8b.esm.js +0 -47
- package/dist/chunks/loading-spinner-DZJpaT8b.esm.js.map +0 -1
- package/dist/chunks/loading-spinner-dBrg6bRi.cjs +0 -2
- package/dist/chunks/loading-spinner-dBrg6bRi.cjs.map +0 -1
- package/dist/chunks/localized-field-Be4zyHxn.cjs +0 -2
- package/dist/chunks/localized-field-Be4zyHxn.cjs.map +0 -1
- package/dist/chunks/localized-field-CrI-hxso.esm.js +0 -347
- package/dist/chunks/localized-field-CrI-hxso.esm.js.map +0 -1
- package/dist/chunks/make-element-focusable-7aEYoh_8.esm.js +0 -15
- package/dist/chunks/make-element-focusable-7aEYoh_8.esm.js.map +0 -1
- package/dist/chunks/make-element-focusable-C9gMsJ9U.cjs +0 -2
- package/dist/chunks/make-element-focusable-C9gMsJ9U.cjs.map +0 -1
- package/dist/chunks/menu-CiBPW0cA.esm.js +0 -174
- package/dist/chunks/menu-CiBPW0cA.esm.js.map +0 -1
- package/dist/chunks/menu-DcD4YVSh.cjs +0 -2
- package/dist/chunks/menu-DcD4YVSh.cjs.map +0 -1
- package/dist/chunks/mergeProps-CGu7R6EG.esm.js +0 -123
- package/dist/chunks/mergeProps-CGu7R6EG.esm.js.map +0 -1
- package/dist/chunks/mergeProps-CiOPEjJs.cjs +0 -2
- package/dist/chunks/mergeProps-CiOPEjJs.cjs.map +0 -1
- package/dist/chunks/modal-page-BHekWb9M.esm.js +0 -151
- package/dist/chunks/modal-page-BHekWb9M.esm.js.map +0 -1
- package/dist/chunks/modal-page-CPcmx5Zo.cjs +0 -2
- package/dist/chunks/modal-page-CPcmx5Zo.cjs.map +0 -1
- package/dist/chunks/money-input-CAvYKnf8.cjs +0 -2
- package/dist/chunks/money-input-CAvYKnf8.cjs.map +0 -1
- package/dist/chunks/money-input-CkW9kE5Z.esm.js +0 -480
- package/dist/chunks/money-input-CkW9kE5Z.esm.js.map +0 -1
- package/dist/chunks/money-input-field-CJkGRsh0.cjs +0 -2
- package/dist/chunks/money-input-field-CJkGRsh0.cjs.map +0 -1
- package/dist/chunks/money-input-field-Dng7nJjd.esm.js +0 -35
- package/dist/chunks/money-input-field-Dng7nJjd.esm.js.map +0 -1
- package/dist/chunks/multiline-text-input-CEptJEY1.esm.js +0 -98
- package/dist/chunks/multiline-text-input-CEptJEY1.esm.js.map +0 -1
- package/dist/chunks/multiline-text-input-CM9370iC.cjs +0 -2
- package/dist/chunks/multiline-text-input-CM9370iC.cjs.map +0 -1
- package/dist/chunks/multiline-text-input-field-BwmsKmWz.esm.js +0 -37
- package/dist/chunks/multiline-text-input-field-BwmsKmWz.esm.js.map +0 -1
- package/dist/chunks/multiline-text-input-field-DaIvyQr4.cjs +0 -2
- package/dist/chunks/multiline-text-input-field-DaIvyQr4.cjs.map +0 -1
- package/dist/chunks/nimbus-i18n-provider-BzNhcePu.esm.js +0 -12
- package/dist/chunks/nimbus-i18n-provider-BzNhcePu.esm.js.map +0 -1
- package/dist/chunks/nimbus-i18n-provider-i_2kAfCT.cjs +0 -2
- package/dist/chunks/nimbus-i18n-provider-i_2kAfCT.cjs.map +0 -1
- package/dist/chunks/nimbus-provider-Bo2EkmYr.cjs +0 -2
- package/dist/chunks/nimbus-provider-Bo2EkmYr.cjs.map +0 -1
- package/dist/chunks/nimbus-provider-C7XWdSdh.esm.js +0 -171
- package/dist/chunks/nimbus-provider-C7XWdSdh.esm.js.map +0 -1
- package/dist/chunks/normalize-messages-BMIBfw4v.cjs +0 -2
- package/dist/chunks/normalize-messages-BMIBfw4v.cjs.map +0 -1
- package/dist/chunks/normalize-messages-CKl8ms10.esm.js +0 -50
- package/dist/chunks/normalize-messages-CKl8ms10.esm.js.map +0 -1
- package/dist/chunks/number-Boo7zwut.esm.js +0 -26
- package/dist/chunks/number-Boo7zwut.esm.js.map +0 -1
- package/dist/chunks/number-input-DI0LHK18.cjs +0 -2
- package/dist/chunks/number-input-DI0LHK18.cjs.map +0 -1
- package/dist/chunks/number-input-field-CX0E494u.esm.js +0 -35
- package/dist/chunks/number-input-field-CX0E494u.esm.js.map +0 -1
- package/dist/chunks/number-input-field-P2yAGiZq.cjs +0 -2
- package/dist/chunks/number-input-field-P2yAGiZq.cjs.map +0 -1
- package/dist/chunks/number-input-rDHYPEC8.esm.js +0 -762
- package/dist/chunks/number-input-rDHYPEC8.esm.js.map +0 -1
- package/dist/chunks/pagination-CQhi3fKT.cjs +0 -2
- package/dist/chunks/pagination-CQhi3fKT.cjs.map +0 -1
- package/dist/chunks/pagination-gHrrzE7d.esm.js +0 -235
- package/dist/chunks/pagination-gHrrzE7d.esm.js.map +0 -1
- package/dist/chunks/password-input-C2o6Hi_C.esm.js +0 -52
- package/dist/chunks/password-input-C2o6Hi_C.esm.js.map +0 -1
- package/dist/chunks/password-input-V3cDyAaf.cjs +0 -2
- package/dist/chunks/password-input-V3cDyAaf.cjs.map +0 -1
- package/dist/chunks/password-input-field-BzN_3jEi.esm.js +0 -37
- package/dist/chunks/password-input-field-BzN_3jEi.esm.js.map +0 -1
- package/dist/chunks/password-input-field-XfPuq47b.cjs +0 -2
- package/dist/chunks/password-input-field-XfPuq47b.cjs.map +0 -1
- package/dist/chunks/popover-DPUnwEvL.esm.js +0 -13
- package/dist/chunks/popover-DPUnwEvL.esm.js.map +0 -1
- package/dist/chunks/popover-YNJ3lRWA.cjs +0 -2
- package/dist/chunks/popover-YNJ3lRWA.cjs.map +0 -1
- package/dist/chunks/progress-bar-vrLe0Wzn.esm.js +0 -63
- package/dist/chunks/progress-bar-vrLe0Wzn.esm.js.map +0 -1
- package/dist/chunks/progress-bar-x54Gfzpo.cjs +0 -2
- package/dist/chunks/progress-bar-x54Gfzpo.cjs.map +0 -1
- package/dist/chunks/public-page-layout-B5WuR4MJ.esm.js +0 -68
- package/dist/chunks/public-page-layout-B5WuR4MJ.esm.js.map +0 -1
- package/dist/chunks/public-page-layout-DK6-Xl7Z.cjs +0 -2
- package/dist/chunks/public-page-layout-DK6-Xl7Z.cjs.map +0 -1
- package/dist/chunks/radio-input-6W0nx5iA.cjs +0 -2
- package/dist/chunks/radio-input-6W0nx5iA.cjs.map +0 -1
- package/dist/chunks/radio-input-BoH5enRY.esm.js +0 -317
- package/dist/chunks/radio-input-BoH5enRY.esm.js.map +0 -1
- package/dist/chunks/range-calendar-Bhtk9PRp.esm.js +0 -201
- package/dist/chunks/range-calendar-Bhtk9PRp.esm.js.map +0 -1
- package/dist/chunks/range-calendar-w5kL2l9V.cjs +0 -2
- package/dist/chunks/range-calendar-w5kL2l9V.cjs.map +0 -1
- package/dist/chunks/rich-text-input-Bti8ZaLa.cjs +0 -4
- package/dist/chunks/rich-text-input-Bti8ZaLa.cjs.map +0 -1
- package/dist/chunks/rich-text-input-DFQ0I2Uw.esm.js +0 -1109
- package/dist/chunks/rich-text-input-DFQ0I2Uw.esm.js.map +0 -1
- package/dist/chunks/runAfterTransition-CqDsKK7h.esm.js +0 -37
- package/dist/chunks/runAfterTransition-CqDsKK7h.esm.js.map +0 -1
- package/dist/chunks/runAfterTransition-PjvUI1Dc.cjs +0 -2
- package/dist/chunks/runAfterTransition-PjvUI1Dc.cjs.map +0 -1
- package/dist/chunks/scoped-search-input-C7xRhLcT.esm.js +0 -129
- package/dist/chunks/scoped-search-input-C7xRhLcT.esm.js.map +0 -1
- package/dist/chunks/scoped-search-input-Dk4Fv3IP.cjs +0 -2
- package/dist/chunks/scoped-search-input-Dk4Fv3IP.cjs.map +0 -1
- package/dist/chunks/search-input-B8x2RfaD.esm.js +0 -354
- package/dist/chunks/search-input-B8x2RfaD.esm.js.map +0 -1
- package/dist/chunks/search-input-CKPkr04J.cjs +0 -2
- package/dist/chunks/search-input-CKPkr04J.cjs.map +0 -1
- package/dist/chunks/select-CGaE3Evf.cjs +0 -2
- package/dist/chunks/select-CGaE3Evf.cjs.map +0 -1
- package/dist/chunks/select-y9rE7u48.esm.js +0 -600
- package/dist/chunks/select-y9rE7u48.esm.js.map +0 -1
- package/dist/chunks/separator-3CE8vnut.cjs +0 -2
- package/dist/chunks/separator-3CE8vnut.cjs.map +0 -1
- package/dist/chunks/separator-suOMmYFe.esm.js +0 -29
- package/dist/chunks/separator-suOMmYFe.esm.js.map +0 -1
- package/dist/chunks/split-button-BtOKNbI9.esm.js +0 -93
- package/dist/chunks/split-button-BtOKNbI9.esm.js.map +0 -1
- package/dist/chunks/split-button-DUSfwx1H.cjs +0 -2
- package/dist/chunks/split-button-DUSfwx1H.cjs.map +0 -1
- package/dist/chunks/steps-CUDfUFsh.esm.js +0 -253
- package/dist/chunks/steps-CUDfUFsh.esm.js.map +0 -1
- package/dist/chunks/steps-TX4yfyHD.cjs +0 -2
- package/dist/chunks/steps-TX4yfyHD.cjs.map +0 -1
- package/dist/chunks/switch-Cc8w5qPH.esm.js +0 -71
- package/dist/chunks/switch-Cc8w5qPH.esm.js.map +0 -1
- package/dist/chunks/switch-D-FTyV4o.cjs +0 -2
- package/dist/chunks/switch-D-FTyV4o.cjs.map +0 -1
- package/dist/chunks/tab-nav-4E44NBVt.cjs +0 -2
- package/dist/chunks/tab-nav-4E44NBVt.cjs.map +0 -1
- package/dist/chunks/tab-nav-BeDNF8EC.esm.js +0 -66
- package/dist/chunks/tab-nav-BeDNF8EC.esm.js.map +0 -1
- package/dist/chunks/table-Ca0nIwcN.cjs +0 -2
- package/dist/chunks/table-Ca0nIwcN.cjs.map +0 -1
- package/dist/chunks/table-s-QRSKUl.esm.js +0 -62
- package/dist/chunks/table-s-QRSKUl.esm.js.map +0 -1
- package/dist/chunks/tabs-B50Cmf5h.cjs +0 -2
- package/dist/chunks/tabs-B50Cmf5h.cjs.map +0 -1
- package/dist/chunks/tabs-DomV4co7.esm.js +0 -444
- package/dist/chunks/tabs-DomV4co7.esm.js.map +0 -1
- package/dist/chunks/tag-group-BO8mQ1Qf.esm.js +0 -557
- package/dist/chunks/tag-group-BO8mQ1Qf.esm.js.map +0 -1
- package/dist/chunks/tag-group-BR3LcQYM.cjs +0 -2
- package/dist/chunks/tag-group-BR3LcQYM.cjs.map +0 -1
- package/dist/chunks/text-BMfRfxWU.esm.js +0 -18
- package/dist/chunks/text-BMfRfxWU.esm.js.map +0 -1
- package/dist/chunks/text-DfLr2yJS.cjs +0 -2
- package/dist/chunks/text-DfLr2yJS.cjs.map +0 -1
- package/dist/chunks/text-input-BonnwXw4.cjs +0 -2
- package/dist/chunks/text-input-BonnwXw4.cjs.map +0 -1
- package/dist/chunks/text-input-Da6L5AwL.esm.js +0 -55
- package/dist/chunks/text-input-Da6L5AwL.esm.js.map +0 -1
- package/dist/chunks/textSelection-BAo1yL40.cjs +0 -2
- package/dist/chunks/textSelection-BAo1yL40.cjs.map +0 -1
- package/dist/chunks/textSelection-DLP-sam7.esm.js +0 -37
- package/dist/chunks/textSelection-DLP-sam7.esm.js.map +0 -1
- package/dist/chunks/theme-COAfGfIg.cjs +0 -34
- package/dist/chunks/theme-COAfGfIg.cjs.map +0 -1
- package/dist/chunks/theme-CwhQYvW9.esm.js +0 -5493
- package/dist/chunks/theme-CwhQYvW9.esm.js.map +0 -1
- package/dist/chunks/time-input-BLYoCrZH.esm.js +0 -33
- package/dist/chunks/time-input-BLYoCrZH.esm.js.map +0 -1
- package/dist/chunks/time-input-DV-1pekk.cjs +0 -2
- package/dist/chunks/time-input-DV-1pekk.cjs.map +0 -1
- package/dist/chunks/toast.outlet-7YvQdNf_.cjs +0 -2
- package/dist/chunks/toast.outlet-7YvQdNf_.cjs.map +0 -1
- package/dist/chunks/toast.outlet-CrnB4Dsg.esm.js +0 -99
- package/dist/chunks/toast.outlet-CrnB4Dsg.esm.js.map +0 -1
- package/dist/chunks/toggle-button-BAIsUjKm.cjs +0 -2
- package/dist/chunks/toggle-button-BAIsUjKm.cjs.map +0 -1
- package/dist/chunks/toggle-button-D8K1JATa.esm.js +0 -30
- package/dist/chunks/toggle-button-D8K1JATa.esm.js.map +0 -1
- package/dist/chunks/toggle-button-group-B5vV-_5v.esm.js +0 -34
- package/dist/chunks/toggle-button-group-B5vV-_5v.esm.js.map +0 -1
- package/dist/chunks/toggle-button-group-BHnNsAKE.cjs +0 -2
- package/dist/chunks/toggle-button-group-BHnNsAKE.cjs.map +0 -1
- package/dist/chunks/toolbar-CSwGqSf8.esm.js +0 -45
- package/dist/chunks/toolbar-CSwGqSf8.esm.js.map +0 -1
- package/dist/chunks/toolbar-DIHORWTk.cjs +0 -2
- package/dist/chunks/toolbar-DIHORWTk.cjs.map +0 -1
- package/dist/chunks/tooltip-BRcJaG5T.cjs +0 -2
- package/dist/chunks/tooltip-BRcJaG5T.cjs.map +0 -1
- package/dist/chunks/tooltip-CIrPCE0d.esm.js +0 -242
- package/dist/chunks/tooltip-CIrPCE0d.esm.js.map +0 -1
- package/dist/chunks/use-responsive-splitter-sizes-HQ-JjaLl.esm.js +0 -583
- package/dist/chunks/use-responsive-splitter-sizes-HQ-JjaLl.esm.js.map +0 -1
- package/dist/chunks/use-responsive-splitter-sizes-ljEz_rSy.cjs +0 -2
- package/dist/chunks/use-responsive-splitter-sizes-ljEz_rSy.cjs.map +0 -1
- package/dist/chunks/useButton-BW5Hm1Lk.cjs +0 -2
- package/dist/chunks/useButton-BW5Hm1Lk.cjs.map +0 -1
- package/dist/chunks/useButton-Q3SL2MMB.esm.js +0 -56
- package/dist/chunks/useButton-Q3SL2MMB.esm.js.map +0 -1
- package/dist/chunks/useCollator-BLTsHy-N.esm.js +0 -13
- package/dist/chunks/useCollator-BLTsHy-N.esm.js.map +0 -1
- package/dist/chunks/useCollator-DGizUsNS.cjs +0 -2
- package/dist/chunks/useCollator-DGizUsNS.cjs.map +0 -1
- package/dist/chunks/useCollection-3FMH6gXV.cjs +0 -2
- package/dist/chunks/useCollection-3FMH6gXV.cjs.map +0 -1
- package/dist/chunks/useCollection-Il_NOy4O.esm.js +0 -932
- package/dist/chunks/useCollection-Il_NOy4O.esm.js.map +0 -1
- package/dist/chunks/useControlledState-C0Hu0UZe.esm.js +0 -23
- package/dist/chunks/useControlledState-C0Hu0UZe.esm.js.map +0 -1
- package/dist/chunks/useControlledState-CvFKqlKF.cjs +0 -2
- package/dist/chunks/useControlledState-CvFKqlKF.cjs.map +0 -1
- package/dist/chunks/useDateFormatter-BZAoSJEK.esm.js +0 -1405
- package/dist/chunks/useDateFormatter-BZAoSJEK.esm.js.map +0 -1
- package/dist/chunks/useDateFormatter-ueAk9rf0.cjs +0 -2
- package/dist/chunks/useDateFormatter-ueAk9rf0.cjs.map +0 -1
- package/dist/chunks/useDescription-DYd2bXlK.cjs +0 -2
- package/dist/chunks/useDescription-DYd2bXlK.cjs.map +0 -1
- package/dist/chunks/useDescription-DtTUgX2f.esm.js +0 -101
- package/dist/chunks/useDescription-DtTUgX2f.esm.js.map +0 -1
- package/dist/chunks/useDisclosureState-B3oMKVWN.esm.js +0 -75
- package/dist/chunks/useDisclosureState-B3oMKVWN.esm.js.map +0 -1
- package/dist/chunks/useDisclosureState-XqLBb8kS.cjs +0 -2
- package/dist/chunks/useDisclosureState-XqLBb8kS.cjs.map +0 -1
- package/dist/chunks/useEffectEvent-__NAuLiF.esm.js +0 -17
- package/dist/chunks/useEffectEvent-__NAuLiF.esm.js.map +0 -1
- package/dist/chunks/useEffectEvent-bX2W39zo.cjs +0 -2
- package/dist/chunks/useEffectEvent-bX2W39zo.cjs.map +0 -1
- package/dist/chunks/useEvent-CYf8J0Yj.cjs +0 -2
- package/dist/chunks/useEvent-CYf8J0Yj.cjs.map +0 -1
- package/dist/chunks/useEvent-DozzThJr.esm.js +0 -22
- package/dist/chunks/useEvent-DozzThJr.esm.js.map +0 -1
- package/dist/chunks/useField-04OWsUUE.cjs +0 -2
- package/dist/chunks/useField-04OWsUUE.cjs.map +0 -1
- package/dist/chunks/useField-BQAwZwby.esm.js +0 -30
- package/dist/chunks/useField-BQAwZwby.esm.js.map +0 -1
- package/dist/chunks/useFocus-CH-n4vw2.cjs +0 -2
- package/dist/chunks/useFocus-CH-n4vw2.cjs.map +0 -1
- package/dist/chunks/useFocus-PPA7G9fj.esm.js +0 -23
- package/dist/chunks/useFocus-PPA7G9fj.esm.js.map +0 -1
- package/dist/chunks/useFocusRing-BjpUESSi.cjs +0 -2
- package/dist/chunks/useFocusRing-BjpUESSi.cjs.map +0 -1
- package/dist/chunks/useFocusRing-CYpmjNkh.esm.js +0 -35
- package/dist/chunks/useFocusRing-CYpmjNkh.esm.js.map +0 -1
- package/dist/chunks/useFocusVisible-7g2cOT5-.esm.js +0 -228
- package/dist/chunks/useFocusVisible-7g2cOT5-.esm.js.map +0 -1
- package/dist/chunks/useFocusVisible-ITPc1gyS.cjs +0 -2
- package/dist/chunks/useFocusVisible-ITPc1gyS.cjs.map +0 -1
- package/dist/chunks/useFocusWithin-CawnmVM8.cjs +0 -2
- package/dist/chunks/useFocusWithin-CawnmVM8.cjs.map +0 -1
- package/dist/chunks/useFocusWithin-D-_t0s2q.esm.js +0 -45
- package/dist/chunks/useFocusWithin-D-_t0s2q.esm.js.map +0 -1
- package/dist/chunks/useFocusable-0u660rHW.esm.js +0 -70
- package/dist/chunks/useFocusable-0u660rHW.esm.js.map +0 -1
- package/dist/chunks/useFocusable-C3WI18Kj.cjs +0 -2
- package/dist/chunks/useFocusable-C3WI18Kj.cjs.map +0 -1
- package/dist/chunks/useFormValidationState-BCssrskM.esm.js +0 -182
- package/dist/chunks/useFormValidationState-BCssrskM.esm.js.map +0 -1
- package/dist/chunks/useFormValidationState-DKLfndVx.cjs +0 -2
- package/dist/chunks/useFormValidationState-DKLfndVx.cjs.map +0 -1
- package/dist/chunks/useGlobalListeners-CeXfCdVC.esm.js +0 -31
- package/dist/chunks/useGlobalListeners-CeXfCdVC.esm.js.map +0 -1
- package/dist/chunks/useGridListItem-0BYZMEak.cjs +0 -2
- package/dist/chunks/useGridListItem-0BYZMEak.cjs.map +0 -1
- package/dist/chunks/useGridListItem-aU1Ilm3K.esm.js +0 -832
- package/dist/chunks/useGridListItem-aU1Ilm3K.esm.js.map +0 -1
- package/dist/chunks/useHasTabbableChild-BmB2okeE.cjs +0 -2
- package/dist/chunks/useHasTabbableChild-BmB2okeE.cjs.map +0 -1
- package/dist/chunks/useHasTabbableChild-ChQZo-HF.esm.js +0 -28
- package/dist/chunks/useHasTabbableChild-ChQZo-HF.esm.js.map +0 -1
- package/dist/chunks/useHover-BwdOjvC_.cjs +0 -2
- package/dist/chunks/useHover-BwdOjvC_.cjs.map +0 -1
- package/dist/chunks/useHover-OVjBfGuT.esm.js +0 -81
- package/dist/chunks/useHover-OVjBfGuT.esm.js.map +0 -1
- package/dist/chunks/useLabel-BofNw0Z3.cjs +0 -2
- package/dist/chunks/useLabel-BofNw0Z3.cjs.map +0 -1
- package/dist/chunks/useLabel-C6AUvnTc.esm.js +0 -25
- package/dist/chunks/useLabel-C6AUvnTc.esm.js.map +0 -1
- package/dist/chunks/useLabels-CGHVTMNY.esm.js +0 -14
- package/dist/chunks/useLabels-CGHVTMNY.esm.js.map +0 -1
- package/dist/chunks/useLabels-kj_TvH40.cjs +0 -2
- package/dist/chunks/useLabels-kj_TvH40.cjs.map +0 -1
- package/dist/chunks/useLink-BYUu9Lzo.cjs +0 -2
- package/dist/chunks/useLink-BYUu9Lzo.cjs.map +0 -1
- package/dist/chunks/useLink-CK8-XRCI.esm.js +0 -37
- package/dist/chunks/useLink-CK8-XRCI.esm.js.map +0 -1
- package/dist/chunks/useListData-Dgj6sx-m.esm.js +0 -194
- package/dist/chunks/useListData-Dgj6sx-m.esm.js.map +0 -1
- package/dist/chunks/useListState-Bjjf4Lqp.esm.js +0 -106
- package/dist/chunks/useListState-Bjjf4Lqp.esm.js.map +0 -1
- package/dist/chunks/useListState-DYc-FJ3x.cjs +0 -2
- package/dist/chunks/useListState-DYc-FJ3x.cjs.map +0 -1
- package/dist/chunks/useLocalizedStringFormatter-CxsqGu8w.esm.js +0 -42
- package/dist/chunks/useLocalizedStringFormatter-CxsqGu8w.esm.js.map +0 -1
- package/dist/chunks/useLocalizedStringFormatter-DctPgj2i.cjs +0 -2
- package/dist/chunks/useLocalizedStringFormatter-DctPgj2i.cjs.map +0 -1
- package/dist/chunks/useMove-BCbuxYxv.esm.js +0 -153
- package/dist/chunks/useMove-BCbuxYxv.esm.js.map +0 -1
- package/dist/chunks/useMove-DcvciUy5.cjs +0 -2
- package/dist/chunks/useMove-DcvciUy5.cjs.map +0 -1
- package/dist/chunks/useObjectRef-ClgudS2C.esm.js +0 -26
- package/dist/chunks/useObjectRef-ClgudS2C.esm.js.map +0 -1
- package/dist/chunks/useOverlayTriggerState-BXU8m17F.cjs +0 -2
- package/dist/chunks/useOverlayTriggerState-BXU8m17F.cjs.map +0 -1
- package/dist/chunks/useOverlayTriggerState-DMSFiNAW.esm.js +0 -382
- package/dist/chunks/useOverlayTriggerState-DMSFiNAW.esm.js.map +0 -1
- package/dist/chunks/usePress-CcNxuIXb.esm.js +0 -404
- package/dist/chunks/usePress-CcNxuIXb.esm.js.map +0 -1
- package/dist/chunks/usePress-DtaoTo7M.cjs +0 -8
- package/dist/chunks/usePress-DtaoTo7M.cjs.map +0 -1
- package/dist/chunks/useProgressBar-DEnCvplr.esm.js +0 -41
- package/dist/chunks/useProgressBar-DEnCvplr.esm.js.map +0 -1
- package/dist/chunks/useProgressBar-E-pwWHSo.cjs +0 -2
- package/dist/chunks/useProgressBar-E-pwWHSo.cjs.map +0 -1
- package/dist/chunks/useSeparator-BARleHFH.esm.js +0 -14
- package/dist/chunks/useSeparator-BARleHFH.esm.js.map +0 -1
- package/dist/chunks/useSlot-CNGU4fMJ.esm.js +0 -22
- package/dist/chunks/useSlot-CNGU4fMJ.esm.js.map +0 -1
- package/dist/chunks/useSlot-CjycLOWb.cjs +0 -2
- package/dist/chunks/useSlot-CjycLOWb.cjs.map +0 -1
- package/dist/chunks/useSpinButton-CZd3Zopc.esm.js +0 -423
- package/dist/chunks/useSpinButton-CZd3Zopc.esm.js.map +0 -1
- package/dist/chunks/useSpinButton-eoK8_EPd.cjs +0 -2
- package/dist/chunks/useSpinButton-eoK8_EPd.cjs.map +0 -1
- package/dist/chunks/useSyncRef-4Nx6CSs1.cjs +0 -2
- package/dist/chunks/useSyncRef-4Nx6CSs1.cjs.map +0 -1
- package/dist/chunks/useSyncRef-BqTlRFiY.esm.js +0 -13
- package/dist/chunks/useSyncRef-BqTlRFiY.esm.js.map +0 -1
- package/dist/chunks/useTextField-DFlZ_0BJ.esm.js +0 -70
- package/dist/chunks/useTextField-DFlZ_0BJ.esm.js.map +0 -1
- package/dist/chunks/useTextField-Db7UUGTw.cjs +0 -2
- package/dist/chunks/useTextField-Db7UUGTw.cjs.map +0 -1
- package/dist/chunks/useToggle-C6k0NP0h.esm.js +0 -101
- package/dist/chunks/useToggle-C6k0NP0h.esm.js.map +0 -1
- package/dist/chunks/useToggle-CCMwoTvV.cjs +0 -2
- package/dist/chunks/useToggle-CCMwoTvV.cjs.map +0 -1
- package/dist/chunks/useToggleState-CH_DketV.cjs +0 -2
- package/dist/chunks/useToggleState-CH_DketV.cjs.map +0 -1
- package/dist/chunks/useToggleState-fFEY17Yw.esm.js +0 -22
- package/dist/chunks/useToggleState-fFEY17Yw.esm.js.map +0 -1
- package/dist/chunks/useToolbar-DFj53OpL.esm.js +0 -42
- package/dist/chunks/useToolbar-DFj53OpL.esm.js.map +0 -1
- package/dist/chunks/useToolbar-LlZ2XF9s.cjs +0 -2
- package/dist/chunks/useToolbar-LlZ2XF9s.cjs.map +0 -1
- package/dist/chunks/useUpdateEffect-CQ-3G34M.esm.js +0 -16
- package/dist/chunks/useUpdateEffect-CQ-3G34M.esm.js.map +0 -1
- package/dist/chunks/useUpdateEffect-DNYf0Qd3.cjs +0 -2
- package/dist/chunks/useUpdateEffect-DNYf0Qd3.cjs.map +0 -1
- package/dist/chunks/utils-41EYzidf.esm.js +0 -108
- package/dist/chunks/utils-41EYzidf.esm.js.map +0 -1
- package/dist/chunks/utils-F6cW7ajh.cjs +0 -2
- package/dist/chunks/utils-F6cW7ajh.cjs.map +0 -1
- package/dist/chunks/utils-x6XjD0Nv.esm.js +0 -209
- package/dist/chunks/utils-x6XjD0Nv.esm.js.map +0 -1
- package/dist/chunks/utils-yFMw0myV.cjs +0 -2
- package/dist/chunks/utils-yFMw0myV.cjs.map +0 -1
- package/dist/chunks/visually-hidden-B_WKNGZW.esm.js +0 -15
- package/dist/chunks/visually-hidden-B_WKNGZW.esm.js.map +0 -1
- package/dist/chunks/visually-hidden-BtBohnIk.cjs +0 -2
- package/dist/chunks/visually-hidden-BtBohnIk.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"region.provider-CobXE1H5.esm.js","names":[],"sources":["../../src/components/region/region.registry.ts","../../src/components/region/region.provider.tsx"],"sourcesContent":["import { createContext } from \"react\";\nimport type { RegionRecord, RegionRegistry } from \"./region.types\";\n\ndeclare const process: { env: Record<string, string | undefined> } | undefined;\n\n/** Whether to emit single-occupancy collision warnings (dev only). */\nconst isDev =\n typeof process !== \"undefined\" && process.env.NODE_ENV !== \"production\";\n\n/** Create a fresh, stable {@link RegionRegistry}. */\nexport const createRegionRegistry = (): RegionRegistry => {\n const records = new Map<string, RegionRecord>();\n const listeners = new Map<string, Set<() => void>>();\n // Live participant counts per name, used only to detect competing occupants.\n const claims = new Map<string, { target: number; filler: number }>();\n\n const emit = (name: string) =>\n listeners.get(name)?.forEach((listener) => listener());\n\n // Replace the record with a new object (so `get` snapshots change identity\n // only on real change) and notify. Drops the entry once both halves are empty.\n const update = (name: string, patch: Partial<RegionRecord>) => {\n const existing = records.get(name);\n const prev = existing ?? { node: null, value: null };\n const next = { ...prev, ...patch };\n if (\n existing &&\n next.node === existing.node &&\n next.value === existing.value\n )\n return;\n if (next.node === null && next.value === null) {\n if (!existing) return;\n records.delete(name);\n } else {\n records.set(name, next);\n }\n emit(name);\n };\n\n return {\n get: (name) => records.get(name) ?? null,\n setNode: (name, node) => update(name, { node }),\n clearNode: (name, node) => {\n // Owner-checked: only the target that currently holds the slot may clear\n // it. A stale duplicate unmounting after a newer target took over (or a\n // target moving, where the new node attaches before the old detaches) is\n // then a no-op, instead of wiping a live region out from under it.\n if (records.get(name)?.node === node) update(name, { node: null });\n },\n setValue: (name, value) => update(name, { value }),\n clearValue: (name, expectedValue) => {\n if (records.get(name)?.value === expectedValue)\n update(name, { value: null });\n },\n claim: (name, role) => {\n let count = claims.get(name);\n if (!count) {\n count = { target: 0, filler: 0 };\n claims.set(name, count);\n }\n count[role] += 1;\n if (isDev && count[role] > 1) {\n if (role === \"target\")\n console.error(\n `[Nimbus Region] Two <Region name=\"${name}\"> targets are mounted at ` +\n `once. A region name must have exactly one target; the extra one is ` +\n `orphaned and projection becomes order-dependent. Use a unique name ` +\n `per target.`\n );\n else\n console.error(\n `[Nimbus Region] Two consumers are projecting into region \"${name}\" via ` +\n `useRegion(\"${name}\"). A region accepts a single filler; competing ` +\n `content stacks into the target in an undefined order. Give each its ` +\n `own region name.`\n );\n }\n return () => {\n count![role] -= 1;\n if (count!.target === 0 && count!.filler === 0) claims.delete(name);\n };\n },\n subscribe: (name, listener) => {\n let set = listeners.get(name);\n if (!set) {\n set = new Set();\n listeners.set(name, set);\n }\n set.add(listener);\n return () => {\n set.delete(listener);\n if (set.size === 0) listeners.delete(name);\n };\n },\n };\n};\n\n/**\n * Context carrying the {@link RegionRegistry}. The outermost `Region.Provider`\n * (the first with no provider above it) creates and provides the registry;\n * nested providers reuse it. `null` when no `Region.Provider` is an ancestor.\n */\nexport const RegionRegistryContext = createContext<RegionRegistry | null>(null);\n","import { useContext, useRef } from \"react\";\nimport { createRegionRegistry, RegionRegistryContext } from \"./region.registry\";\nimport type { RegionProviderProps, RegionRegistry } from \"./region.types\";\n\n/**\n * Establishes a named-region scope. Outlets within it register by name; consumers\n * within it project into those outlets. Reuse-or-create: if a `Region.Provider` is\n * already above this one, its registry is reused (so the namespace is shared\n * across nesting); otherwise this provider creates and hosts the registry.\n *\n * Wrap it around any subtree that should share a set of regions — e.g. around a\n * `Splitter` so a consumer can project into a pane.\n */\nexport const RegionProvider = ({ children }: RegionProviderProps) => {\n const parent = useContext(RegionRegistryContext);\n const ownRef = useRef<RegionRegistry | null>(null);\n if (!parent && !ownRef.current) ownRef.current = createRegionRegistry();\n const registry = parent ?? ownRef.current!;\n\n // Reuse the ancestor registry as-is when present (it is already in context).\n if (parent) return <>{children}</>;\n return (\n <RegionRegistryContext.Provider value={registry}>\n {children}\n </RegionRegistryContext.Provider>\n );\n};\n\nRegionProvider.displayName = \"Region.Provider\";\n"],"mappings":";;;AAMA,IAAM,IACJ,OAAO,UAAY,OAAA,QAAA,IAAA,aAAwC,cAGhD,UAA6C;CACxD,IAAM,oBAAU,IAAI,IAA0B,GACxC,oBAAY,IAAI,IAA6B,GAE7C,oBAAS,IAAI,IAAgD,GAE7D,KAAQ,MACZ,EAAU,IAAI,CAAI,
|
|
1
|
+
{"version":3,"file":"region.provider-CobXE1H5.esm.js","names":[],"sources":["../../src/components/region/region.registry.ts","../../src/components/region/region.provider.tsx"],"sourcesContent":["import { createContext } from \"react\";\nimport type { RegionRecord, RegionRegistry } from \"./region.types\";\n\ndeclare const process: { env: Record<string, string | undefined> } | undefined;\n\n/** Whether to emit single-occupancy collision warnings (dev only). */\nconst isDev =\n typeof process !== \"undefined\" && process.env.NODE_ENV !== \"production\";\n\n/** Create a fresh, stable {@link RegionRegistry}. */\nexport const createRegionRegistry = (): RegionRegistry => {\n const records = new Map<string, RegionRecord>();\n const listeners = new Map<string, Set<() => void>>();\n // Live participant counts per name, used only to detect competing occupants.\n const claims = new Map<string, { target: number; filler: number }>();\n\n const emit = (name: string) =>\n listeners.get(name)?.forEach((listener) => listener());\n\n // Replace the record with a new object (so `get` snapshots change identity\n // only on real change) and notify. Drops the entry once both halves are empty.\n const update = (name: string, patch: Partial<RegionRecord>) => {\n const existing = records.get(name);\n const prev = existing ?? { node: null, value: null };\n const next = { ...prev, ...patch };\n if (\n existing &&\n next.node === existing.node &&\n next.value === existing.value\n )\n return;\n if (next.node === null && next.value === null) {\n if (!existing) return;\n records.delete(name);\n } else {\n records.set(name, next);\n }\n emit(name);\n };\n\n return {\n get: (name) => records.get(name) ?? null,\n setNode: (name, node) => update(name, { node }),\n clearNode: (name, node) => {\n // Owner-checked: only the target that currently holds the slot may clear\n // it. A stale duplicate unmounting after a newer target took over (or a\n // target moving, where the new node attaches before the old detaches) is\n // then a no-op, instead of wiping a live region out from under it.\n if (records.get(name)?.node === node) update(name, { node: null });\n },\n setValue: (name, value) => update(name, { value }),\n clearValue: (name, expectedValue) => {\n if (records.get(name)?.value === expectedValue)\n update(name, { value: null });\n },\n claim: (name, role) => {\n let count = claims.get(name);\n if (!count) {\n count = { target: 0, filler: 0 };\n claims.set(name, count);\n }\n count[role] += 1;\n if (isDev && count[role] > 1) {\n if (role === \"target\")\n console.error(\n `[Nimbus Region] Two <Region name=\"${name}\"> targets are mounted at ` +\n `once. A region name must have exactly one target; the extra one is ` +\n `orphaned and projection becomes order-dependent. Use a unique name ` +\n `per target.`\n );\n else\n console.error(\n `[Nimbus Region] Two consumers are projecting into region \"${name}\" via ` +\n `useRegion(\"${name}\"). A region accepts a single filler; competing ` +\n `content stacks into the target in an undefined order. Give each its ` +\n `own region name.`\n );\n }\n return () => {\n count![role] -= 1;\n if (count!.target === 0 && count!.filler === 0) claims.delete(name);\n };\n },\n subscribe: (name, listener) => {\n let set = listeners.get(name);\n if (!set) {\n set = new Set();\n listeners.set(name, set);\n }\n set.add(listener);\n return () => {\n set.delete(listener);\n if (set.size === 0) listeners.delete(name);\n };\n },\n };\n};\n\n/**\n * Context carrying the {@link RegionRegistry}. The outermost `Region.Provider`\n * (the first with no provider above it) creates and provides the registry;\n * nested providers reuse it. `null` when no `Region.Provider` is an ancestor.\n */\nexport const RegionRegistryContext = createContext<RegionRegistry | null>(null);\n","import { useContext, useRef } from \"react\";\nimport { createRegionRegistry, RegionRegistryContext } from \"./region.registry\";\nimport type { RegionProviderProps, RegionRegistry } from \"./region.types\";\n\n/**\n * Establishes a named-region scope. Outlets within it register by name; consumers\n * within it project into those outlets. Reuse-or-create: if a `Region.Provider` is\n * already above this one, its registry is reused (so the namespace is shared\n * across nesting); otherwise this provider creates and hosts the registry.\n *\n * Wrap it around any subtree that should share a set of regions — e.g. around a\n * `Splitter` so a consumer can project into a pane.\n */\nexport const RegionProvider = ({ children }: RegionProviderProps) => {\n const parent = useContext(RegionRegistryContext);\n const ownRef = useRef<RegionRegistry | null>(null);\n if (!parent && !ownRef.current) ownRef.current = createRegionRegistry();\n const registry = parent ?? ownRef.current!;\n\n // Reuse the ancestor registry as-is when present (it is already in context).\n if (parent) return <>{children}</>;\n return (\n <RegionRegistryContext.Provider value={registry}>\n {children}\n </RegionRegistryContext.Provider>\n );\n};\n\nRegionProvider.displayName = \"Region.Provider\";\n"],"mappings":";;;AAMA,IAAM,IACJ,OAAO,UAAY,OAAA,QAAA,IAAA,aAAwC,cAGhD,UAA6C;CACxD,IAAM,oBAAU,IAAI,IAA0B,GACxC,oBAAY,IAAI,IAA6B,GAE7C,oBAAS,IAAI,IAAgD,GAE7D,KAAQ,MACZ,EAAU,IAAI,CAAI,CAAC,EAAE,SAAS,MAAa,EAAS,CAAC,GAIjD,KAAU,GAAc,MAAiC;EAC7D,IAAM,IAAW,EAAQ,IAAI,CAAI,GAE3B,IAAO;GAAE,GADF,KAAY;IAAE,MAAM;IAAM,OAAO;GAAK;GAC3B,GAAG;EAAM;EAE/B,WACA,EAAK,SAAS,EAAS,QACvB,EAAK,UAAU,EAAS,QAG1B;OAAI,EAAK,SAAS,QAAQ,EAAK,UAAU,MAAM;IAC7C,IAAI,CAAC,GAAU;IACf,EAAQ,OAAO,CAAI;GACrB,OACE,EAAQ,IAAI,GAAM,CAAI;GAExB,EAAK,CAAI;EAFe;CAG1B;CAEA,OAAO;EACL,MAAM,MAAS,EAAQ,IAAI,CAAI,KAAK;EACpC,UAAU,GAAM,MAAS,EAAO,GAAM,EAAE,QAAK,CAAC;EAC9C,YAAY,GAAM,MAAS;GAKzB,AAAI,EAAQ,IAAI,CAAI,CAAC,EAAE,SAAS,KAAM,EAAO,GAAM,EAAE,MAAM,KAAK,CAAC;EACnE;EACA,WAAW,GAAM,MAAU,EAAO,GAAM,EAAE,SAAM,CAAC;EACjD,aAAa,GAAM,MAAkB;GACnC,AAAI,EAAQ,IAAI,CAAI,CAAC,EAAE,UAAU,KAC/B,EAAO,GAAM,EAAE,OAAO,KAAK,CAAC;EAChC;EACA,QAAQ,GAAM,MAAS;GACrB,IAAI,IAAQ,EAAO,IAAI,CAAI;GAsB3B,OArBK,MACH,IAAQ;IAAE,QAAQ;IAAG,QAAQ;GAAE,GAC/B,EAAO,IAAI,GAAM,CAAK,IAExB,EAAM,MAAS,GACX,KAAS,EAAM,KAAQ,KAEvB,QAAQ,MADN,MAAS,WAET,qCAAqC,EAAK,+KAO1C,6DAA6D,EAAK,mBAClD,EAAK,qIAGvB,SAES;IAEX,AADA,IAAO,IACH,EAAO,WAAW,KAAK,EAAO,WAAW,KAAG,EAAO,OAAO,CAAI;GACpE;EACF;EACA,YAAY,GAAM,MAAa;GAC7B,IAAI,IAAM,EAAU,IAAI,CAAI;GAM5B,OALK,MACH,oBAAM,IAAI,IAAI,GACd,EAAU,IAAI,GAAM,CAAG,IAEzB,EAAI,IAAI,CAAQ,SACH;IAEX,AADA,EAAI,OAAO,CAAQ,GACf,EAAI,SAAS,KAAG,EAAU,OAAO,CAAI;GAC3C;EACF;CACF;AACF,GAOa,IAAwB,EAAqC,IAAI,GC1FjE,KAAkB,EAAE,kBAAoC;CACnE,IAAM,IAAS,EAAW,CAAqB,GACzC,IAAS,EAA8B,IAAI;CACjD,AAAI,CAAC,KAAU,CAAC,EAAO,YAAS,EAAO,UAAU,EAAqB;CACtE,IAAM,IAAW,KAAU,EAAO;CAIlC,OADI,IAAe,kBAAA,GAAA,EAAG,YAAW,CAAA,IAE/B,kBAAC,EAAsB,UAAvB;EAAgC,OAAO;EACpC;CAC6B,CAAA;AAEpC;AAEA,EAAe,cAAc"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { useLayoutEffect as e } from "react";
|
|
2
|
+
//#region src/hooks/use-sliding-indicator/use-sliding-indicator.ts
|
|
3
|
+
function t({ enabled: t, indicatorRef: n, activeSelector: r, watchAttributes: i, itemSelector: a, getGeometry: o, deps: s = [] }) {
|
|
4
|
+
e(() => {
|
|
5
|
+
if (!t) return;
|
|
6
|
+
let e = n.current, s = e?.parentElement;
|
|
7
|
+
if (!e || !s) return;
|
|
8
|
+
s.setAttribute("data-animated", "true");
|
|
9
|
+
let c = !1, l = () => {
|
|
10
|
+
let t = s.querySelector(r);
|
|
11
|
+
if (!t) {
|
|
12
|
+
e.style.opacity = "0";
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
let n = o({
|
|
16
|
+
container: s.getBoundingClientRect(),
|
|
17
|
+
active: t.getBoundingClientRect()
|
|
18
|
+
}), i = e.style.transition;
|
|
19
|
+
c || (e.style.transition = "none"), e.style.opacity = "1", n.width != null && (e.style.width = `${n.width}px`), n.height != null && (e.style.height = `${n.height}px`), e.style.transform = `translate(${n.x}px, ${n.y}px)`, c ||= (e.offsetWidth, e.style.transition = i, !0);
|
|
20
|
+
};
|
|
21
|
+
l();
|
|
22
|
+
let u = new MutationObserver(l);
|
|
23
|
+
u.observe(s, {
|
|
24
|
+
attributes: !0,
|
|
25
|
+
subtree: !0,
|
|
26
|
+
attributeFilter: i
|
|
27
|
+
});
|
|
28
|
+
let d = new ResizeObserver(l);
|
|
29
|
+
return d.observe(s), a && s.querySelectorAll(a).forEach((e) => d.observe(e)), () => {
|
|
30
|
+
u.disconnect(), d.disconnect(), s.removeAttribute("data-animated");
|
|
31
|
+
};
|
|
32
|
+
}, [
|
|
33
|
+
t,
|
|
34
|
+
n,
|
|
35
|
+
r,
|
|
36
|
+
a,
|
|
37
|
+
...s
|
|
38
|
+
]);
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region src/utils/resolve-variant-alias.ts
|
|
42
|
+
function n(e, t) {
|
|
43
|
+
return typeof e == "string" && t[e] ? t[e] : e;
|
|
44
|
+
}
|
|
45
|
+
//#endregion
|
|
46
|
+
export { t as n, n as t };
|
|
47
|
+
|
|
48
|
+
//# sourceMappingURL=resolve-variant-alias-23u-qALe.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-variant-alias-23u-qALe.esm.js","names":[],"sources":["../../src/hooks/use-sliding-indicator/use-sliding-indicator.ts","../../src/utils/resolve-variant-alias.ts"],"sourcesContent":["import { useLayoutEffect } from \"react\";\nimport type { RefObject } from \"react\";\n\n/**\n * Bounding rectangles passed to {@link SlidingIndicatorOptions.getGeometry}.\n */\nexport interface SlidingIndicatorRects {\n /** Bounding rect of the positioned container the indicator lives in. */\n container: DOMRect;\n /** Bounding rect of the currently active item. */\n active: DOMRect;\n}\n\n/**\n * Geometry the indicator should adopt, in pixels, relative to the container's\n * top-left. `width` / `height` are optional — omit one to leave it controlled\n * by CSS (e.g. a fixed-thickness bar).\n */\nexport interface SlidingIndicatorGeometry {\n x: number;\n y: number;\n width?: number;\n height?: number;\n}\n\nexport interface SlidingIndicatorOptions {\n /**\n * Whether the indicator is active. When `false` the hook is a complete no-op:\n * it does not measure, observe, or mutate the indicator.\n */\n enabled: boolean;\n /**\n * Ref to the indicator element. Its positioned parent\n * (`indicator.parentElement`) is used as the measurement container, so the\n * indicator must be `position: absolute` inside a positioned ancestor.\n */\n indicatorRef: RefObject<HTMLElement | null>;\n /** CSS selector (queried within the container) for the active item. */\n activeSelector: string;\n /**\n * Attribute names whose mutation anywhere in the container should trigger a\n * re-measure (e.g. `[\"aria-selected\"]` or `[\"aria-current\"]`).\n */\n watchAttributes: string[];\n /**\n * CSS selector for the items to observe for size changes (in addition to the\n * container). Defaults to {@link activeSelector}'s tag-agnostic siblings via\n * the container only when omitted.\n */\n itemSelector?: string;\n /** Maps the container + active rects to the indicator's geometry. */\n getGeometry: (rects: SlidingIndicatorRects) => SlidingIndicatorGeometry;\n /**\n * Extra dependencies that should tear down and re-run the effect (e.g. a\n * changed orientation or variant that alters `getGeometry`).\n */\n deps?: unknown[];\n}\n\n/**\n * Positions an absolutely-placed \"indicator\" element over the active item inside\n * a container and keeps it in sync.\n *\n * The hook is DOM-driven: it measures with `getBoundingClientRect` inside\n * `useLayoutEffect` (so the indicator is placed before paint — no first-frame\n * flash), re-measures when the active item changes (`MutationObserver` on\n * {@link SlidingIndicatorOptions.watchAttributes}) and when the layout changes\n * (`ResizeObserver`), and hides the indicator (opacity 0) when there is no\n * active item. The caller owns the indicator's appearance and transition; this\n * hook only writes `opacity`, `width`/`height` (per `getGeometry`), and\n * `transform`. The very first placement is applied with the transition\n * momentarily suppressed so the indicator snaps to the active item instead of\n * sliding in from the container corner on initial render.\n *\n * Note: scroll is **not** tracked. Geometry is computed in container\n * coordinates, so if the container is itself scrollable the indicator only\n * re-aligns on the next selection change or resize, not on scroll. Today's\n * callers (`Tabs`/`TabNav`) don't scroll their item strip, so this is a\n * non-issue; a future scrollable caller would need to observe scroll itself.\n *\n * Used to drive the animated active-highlight on `Tabs` and `TabNav`, where\n * `getGeometry` encodes whether the indicator is an edge bar (bottom or inner\n * side) or a filled highlight.\n */\nexport function useSlidingIndicator({\n enabled,\n indicatorRef,\n activeSelector,\n watchAttributes,\n itemSelector,\n getGeometry,\n deps = [],\n}: SlidingIndicatorOptions): void {\n useLayoutEffect(() => {\n if (!enabled) return;\n const indicator = indicatorRef.current;\n const container = indicator?.parentElement;\n if (!indicator || !container) return;\n\n // Mark the container as JS-enhanced so the recipe suppresses its static\n // marker and lets the sliding indicator own the highlight. Setting this on\n // mount (not in server markup) keeps the static marker as the SSR /\n // pre-hydration / no-JS fallback; the swap happens before paint, so there\n // is no flash.\n container.setAttribute(\"data-animated\", \"true\");\n\n // The indicator is authored at the container's top-left (`top/left: 0`, no\n // transform). The *first* placement must jump straight to the active item:\n // without this, the caller's `transition` would animate the indicator in\n // from the corner (translate(0,0) → target) on initial render. Subsequent\n // updates slide normally. Because this lives in the effect closure, a\n // re-run (e.g. a variant/orientation change via `deps`) also snaps rather\n // than sliding from a now-stale position.\n let hasPositioned = false;\n\n const update = () => {\n const active = container.querySelector<HTMLElement>(activeSelector);\n if (!active) {\n // No active item — hide the highlight entirely.\n indicator.style.opacity = \"0\";\n return;\n }\n const containerRect = container.getBoundingClientRect();\n const activeRect = active.getBoundingClientRect();\n const geometry = getGeometry({\n container: containerRect,\n active: activeRect,\n });\n\n // Suppress the transition for the initial jump, restoring whatever inline\n // transition was set (normally none — the caller's transition is a class).\n const prevTransition = indicator.style.transition;\n if (!hasPositioned) indicator.style.transition = \"none\";\n\n indicator.style.opacity = \"1\";\n if (geometry.width != null) indicator.style.width = `${geometry.width}px`;\n if (geometry.height != null) {\n indicator.style.height = `${geometry.height}px`;\n }\n indicator.style.transform = `translate(${geometry.x}px, ${geometry.y}px)`;\n\n if (!hasPositioned) {\n // Force a synchronous reflow to commit the jump, then re-enable the\n // transition so the next selection change slides.\n void indicator.offsetWidth;\n indicator.style.transition = prevTransition;\n hasPositioned = true;\n }\n };\n\n // Measure synchronously before paint so the highlight appears in place.\n update();\n\n // Re-measure when the active item changes (watched attribute toggles).\n const mutationObserver = new MutationObserver(update);\n mutationObserver.observe(container, {\n attributes: true,\n subtree: true,\n attributeFilter: watchAttributes,\n });\n\n // Re-measure when the container or its items change size.\n const resizeObserver = new ResizeObserver(update);\n resizeObserver.observe(container);\n if (itemSelector) {\n container\n .querySelectorAll<HTMLElement>(itemSelector)\n .forEach((item) => resizeObserver.observe(item));\n }\n\n return () => {\n mutationObserver.disconnect();\n resizeObserver.disconnect();\n container.removeAttribute(\"data-animated\");\n };\n // `getGeometry` is intentionally excluded — callers pass an inline closure;\n // `deps` is the explicit re-run signal for geometry-affecting inputs.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [enabled, indicatorRef, activeSelector, itemSelector, ...deps]);\n}\n","/**\n * Resolve a deprecated string variant alias to its replacement.\n *\n * A `variant` prop can be a concrete string or a responsive object/array; only\n * plain-string values are remapped (via `aliases`), while unknown strings and\n * responsive values pass through untouched. Used by components that keep a\n * deprecated variant name working as a non-breaking alias for its replacement\n * (e.g. Tabs `pills` → `pill`, TabNav `tabs` → `line`) so the recipe only ever\n * sees real variant keys.\n *\n * @example\n * ```ts\n * resolveVariantAlias(\"pills\", { pills: \"pill\" }); // \"pill\"\n * resolveVariantAlias(\"line\", { pills: \"pill\" }); // \"line\" (pass-through)\n * ```\n */\nexport function resolveVariantAlias<T>(\n value: T,\n aliases: Record<string, string>\n): T {\n return typeof value === \"string\" && aliases[value]\n ? (aliases[value] as T)\n : value;\n}\n"],"mappings":";;AAoFA,SAAgB,EAAoB,EAClC,YACA,iBACA,mBACA,oBACA,iBACA,gBACA,UAAO,CAAC,KACwB;CAChC,QAAsB;EACpB,IAAI,CAAC,GAAS;EACd,IAAM,IAAY,EAAa,SACzB,IAAY,GAAW;EAC7B,IAAI,CAAC,KAAa,CAAC,GAAW;EAO9B,EAAU,aAAa,iBAAiB,MAAM;EAS9C,IAAI,IAAgB,IAEd,UAAe;GACnB,IAAM,IAAS,EAAU,cAA2B,CAAc;GAClE,IAAI,CAAC,GAAQ;IAEX,EAAU,MAAM,UAAU;IAC1B;GACF;GAGA,IAAM,IAAW,EAAY;IAC3B,WAHoB,EAAU,sBAGnB;IACX,QAHiB,EAAO,sBAGhB;GACV,CAAC,GAIK,IAAiB,EAAU,MAAM;GAUvC,AATK,MAAe,EAAU,MAAM,aAAa,SAEjD,EAAU,MAAM,UAAU,KACtB,EAAS,SAAS,SAAM,EAAU,MAAM,QAAQ,GAAG,EAAS,MAAM,MAClE,EAAS,UAAU,SACrB,EAAU,MAAM,SAAS,GAAG,EAAS,OAAO,MAE9C,EAAU,MAAM,YAAY,aAAa,EAAS,EAAE,MAAM,EAAS,EAAE,MAErE,AAKE,OAFA,EAAe,aACf,EAAU,MAAM,aAAa,GACb;EAEpB;EAGA,EAAO;EAGP,IAAM,IAAmB,IAAI,iBAAiB,CAAM;EACpD,EAAiB,QAAQ,GAAW;GAClC,YAAY;GACZ,SAAS;GACT,iBAAiB;EACnB,CAAC;EAGD,IAAM,IAAiB,IAAI,eAAe,CAAM;EAQhD,OAPA,EAAe,QAAQ,CAAS,GAC5B,KACF,EACG,iBAA8B,CAAY,CAAC,CAC3C,SAAS,MAAS,EAAe,QAAQ,CAAI,CAAC,SAGtC;GAGX,AAFA,EAAiB,WAAW,GAC5B,EAAe,WAAW,GAC1B,EAAU,gBAAgB,eAAe;EAC3C;CAIF,GAAG;EAAC;EAAS;EAAc;EAAgB;EAAc,GAAG;CAAI,CAAC;AACnE;;;ACnKA,SAAgB,EACd,GACA,GACG;CACH,OAAO,OAAO,KAAU,YAAY,EAAQ,KACvC,EAAQ,KACT;AACN"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
let e=require("react");function t({enabled:t,indicatorRef:n,activeSelector:r,watchAttributes:i,itemSelector:a,getGeometry:o,deps:s=[]}){(0,e.useLayoutEffect)(()=>{if(!t)return;let e=n.current,s=e?.parentElement;if(!e||!s)return;s.setAttribute(`data-animated`,`true`);let c=!1,l=()=>{let t=s.querySelector(r);if(!t){e.style.opacity=`0`;return}let n=o({container:s.getBoundingClientRect(),active:t.getBoundingClientRect()}),i=e.style.transition;c||(e.style.transition=`none`),e.style.opacity=`1`,n.width!=null&&(e.style.width=`${n.width}px`),n.height!=null&&(e.style.height=`${n.height}px`),e.style.transform=`translate(${n.x}px, ${n.y}px)`,c||=(e.offsetWidth,e.style.transition=i,!0)};l();let u=new MutationObserver(l);u.observe(s,{attributes:!0,subtree:!0,attributeFilter:i});let d=new ResizeObserver(l);return d.observe(s),a&&s.querySelectorAll(a).forEach(e=>d.observe(e)),()=>{u.disconnect(),d.disconnect(),s.removeAttribute(`data-animated`)}},[t,n,r,a,...s])}function n(e,t){return typeof e==`string`&&t[e]?t[e]:e}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return n}});
|
|
2
|
+
//# sourceMappingURL=resolve-variant-alias-cAzNvR5B.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-variant-alias-cAzNvR5B.cjs.js","names":[],"sources":["../../src/hooks/use-sliding-indicator/use-sliding-indicator.ts","../../src/utils/resolve-variant-alias.ts"],"sourcesContent":["import { useLayoutEffect } from \"react\";\nimport type { RefObject } from \"react\";\n\n/**\n * Bounding rectangles passed to {@link SlidingIndicatorOptions.getGeometry}.\n */\nexport interface SlidingIndicatorRects {\n /** Bounding rect of the positioned container the indicator lives in. */\n container: DOMRect;\n /** Bounding rect of the currently active item. */\n active: DOMRect;\n}\n\n/**\n * Geometry the indicator should adopt, in pixels, relative to the container's\n * top-left. `width` / `height` are optional — omit one to leave it controlled\n * by CSS (e.g. a fixed-thickness bar).\n */\nexport interface SlidingIndicatorGeometry {\n x: number;\n y: number;\n width?: number;\n height?: number;\n}\n\nexport interface SlidingIndicatorOptions {\n /**\n * Whether the indicator is active. When `false` the hook is a complete no-op:\n * it does not measure, observe, or mutate the indicator.\n */\n enabled: boolean;\n /**\n * Ref to the indicator element. Its positioned parent\n * (`indicator.parentElement`) is used as the measurement container, so the\n * indicator must be `position: absolute` inside a positioned ancestor.\n */\n indicatorRef: RefObject<HTMLElement | null>;\n /** CSS selector (queried within the container) for the active item. */\n activeSelector: string;\n /**\n * Attribute names whose mutation anywhere in the container should trigger a\n * re-measure (e.g. `[\"aria-selected\"]` or `[\"aria-current\"]`).\n */\n watchAttributes: string[];\n /**\n * CSS selector for the items to observe for size changes (in addition to the\n * container). Defaults to {@link activeSelector}'s tag-agnostic siblings via\n * the container only when omitted.\n */\n itemSelector?: string;\n /** Maps the container + active rects to the indicator's geometry. */\n getGeometry: (rects: SlidingIndicatorRects) => SlidingIndicatorGeometry;\n /**\n * Extra dependencies that should tear down and re-run the effect (e.g. a\n * changed orientation or variant that alters `getGeometry`).\n */\n deps?: unknown[];\n}\n\n/**\n * Positions an absolutely-placed \"indicator\" element over the active item inside\n * a container and keeps it in sync.\n *\n * The hook is DOM-driven: it measures with `getBoundingClientRect` inside\n * `useLayoutEffect` (so the indicator is placed before paint — no first-frame\n * flash), re-measures when the active item changes (`MutationObserver` on\n * {@link SlidingIndicatorOptions.watchAttributes}) and when the layout changes\n * (`ResizeObserver`), and hides the indicator (opacity 0) when there is no\n * active item. The caller owns the indicator's appearance and transition; this\n * hook only writes `opacity`, `width`/`height` (per `getGeometry`), and\n * `transform`. The very first placement is applied with the transition\n * momentarily suppressed so the indicator snaps to the active item instead of\n * sliding in from the container corner on initial render.\n *\n * Note: scroll is **not** tracked. Geometry is computed in container\n * coordinates, so if the container is itself scrollable the indicator only\n * re-aligns on the next selection change or resize, not on scroll. Today's\n * callers (`Tabs`/`TabNav`) don't scroll their item strip, so this is a\n * non-issue; a future scrollable caller would need to observe scroll itself.\n *\n * Used to drive the animated active-highlight on `Tabs` and `TabNav`, where\n * `getGeometry` encodes whether the indicator is an edge bar (bottom or inner\n * side) or a filled highlight.\n */\nexport function useSlidingIndicator({\n enabled,\n indicatorRef,\n activeSelector,\n watchAttributes,\n itemSelector,\n getGeometry,\n deps = [],\n}: SlidingIndicatorOptions): void {\n useLayoutEffect(() => {\n if (!enabled) return;\n const indicator = indicatorRef.current;\n const container = indicator?.parentElement;\n if (!indicator || !container) return;\n\n // Mark the container as JS-enhanced so the recipe suppresses its static\n // marker and lets the sliding indicator own the highlight. Setting this on\n // mount (not in server markup) keeps the static marker as the SSR /\n // pre-hydration / no-JS fallback; the swap happens before paint, so there\n // is no flash.\n container.setAttribute(\"data-animated\", \"true\");\n\n // The indicator is authored at the container's top-left (`top/left: 0`, no\n // transform). The *first* placement must jump straight to the active item:\n // without this, the caller's `transition` would animate the indicator in\n // from the corner (translate(0,0) → target) on initial render. Subsequent\n // updates slide normally. Because this lives in the effect closure, a\n // re-run (e.g. a variant/orientation change via `deps`) also snaps rather\n // than sliding from a now-stale position.\n let hasPositioned = false;\n\n const update = () => {\n const active = container.querySelector<HTMLElement>(activeSelector);\n if (!active) {\n // No active item — hide the highlight entirely.\n indicator.style.opacity = \"0\";\n return;\n }\n const containerRect = container.getBoundingClientRect();\n const activeRect = active.getBoundingClientRect();\n const geometry = getGeometry({\n container: containerRect,\n active: activeRect,\n });\n\n // Suppress the transition for the initial jump, restoring whatever inline\n // transition was set (normally none — the caller's transition is a class).\n const prevTransition = indicator.style.transition;\n if (!hasPositioned) indicator.style.transition = \"none\";\n\n indicator.style.opacity = \"1\";\n if (geometry.width != null) indicator.style.width = `${geometry.width}px`;\n if (geometry.height != null) {\n indicator.style.height = `${geometry.height}px`;\n }\n indicator.style.transform = `translate(${geometry.x}px, ${geometry.y}px)`;\n\n if (!hasPositioned) {\n // Force a synchronous reflow to commit the jump, then re-enable the\n // transition so the next selection change slides.\n void indicator.offsetWidth;\n indicator.style.transition = prevTransition;\n hasPositioned = true;\n }\n };\n\n // Measure synchronously before paint so the highlight appears in place.\n update();\n\n // Re-measure when the active item changes (watched attribute toggles).\n const mutationObserver = new MutationObserver(update);\n mutationObserver.observe(container, {\n attributes: true,\n subtree: true,\n attributeFilter: watchAttributes,\n });\n\n // Re-measure when the container or its items change size.\n const resizeObserver = new ResizeObserver(update);\n resizeObserver.observe(container);\n if (itemSelector) {\n container\n .querySelectorAll<HTMLElement>(itemSelector)\n .forEach((item) => resizeObserver.observe(item));\n }\n\n return () => {\n mutationObserver.disconnect();\n resizeObserver.disconnect();\n container.removeAttribute(\"data-animated\");\n };\n // `getGeometry` is intentionally excluded — callers pass an inline closure;\n // `deps` is the explicit re-run signal for geometry-affecting inputs.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [enabled, indicatorRef, activeSelector, itemSelector, ...deps]);\n}\n","/**\n * Resolve a deprecated string variant alias to its replacement.\n *\n * A `variant` prop can be a concrete string or a responsive object/array; only\n * plain-string values are remapped (via `aliases`), while unknown strings and\n * responsive values pass through untouched. Used by components that keep a\n * deprecated variant name working as a non-breaking alias for its replacement\n * (e.g. Tabs `pills` → `pill`, TabNav `tabs` → `line`) so the recipe only ever\n * sees real variant keys.\n *\n * @example\n * ```ts\n * resolveVariantAlias(\"pills\", { pills: \"pill\" }); // \"pill\"\n * resolveVariantAlias(\"line\", { pills: \"pill\" }); // \"line\" (pass-through)\n * ```\n */\nexport function resolveVariantAlias<T>(\n value: T,\n aliases: Record<string, string>\n): T {\n return typeof value === \"string\" && aliases[value]\n ? (aliases[value] as T)\n : value;\n}\n"],"mappings":"uBAoFA,SAAgB,EAAoB,CAClC,UACA,eACA,iBACA,kBACA,eACA,cACA,OAAO,CAAC,GACwB,EAChC,EAAA,EAAA,gBAAA,KAAsB,CACpB,GAAI,CAAC,EAAS,OACd,IAAM,EAAY,EAAa,QACzB,EAAY,GAAW,cAC7B,GAAI,CAAC,GAAa,CAAC,EAAW,OAO9B,EAAU,aAAa,gBAAiB,MAAM,EAS9C,IAAI,EAAgB,GAEd,MAAe,CACnB,IAAM,EAAS,EAAU,cAA2B,CAAc,EAClE,GAAI,CAAC,EAAQ,CAEX,EAAU,MAAM,QAAU,IAC1B,MACF,CAGA,IAAM,EAAW,EAAY,CAC3B,UAHoB,EAAU,sBAGnB,EACX,OAHiB,EAAO,sBAGhB,CACV,CAAC,EAIK,EAAiB,EAAU,MAAM,WAClC,IAAe,EAAU,MAAM,WAAa,QAEjD,EAAU,MAAM,QAAU,IACtB,EAAS,OAAS,OAAM,EAAU,MAAM,MAAQ,GAAG,EAAS,MAAM,KAClE,EAAS,QAAU,OACrB,EAAU,MAAM,OAAS,GAAG,EAAS,OAAO,KAE9C,EAAU,MAAM,UAAY,aAAa,EAAS,EAAE,MAAM,EAAS,EAAE,KAErE,AAKE,KAFA,EAAe,YACf,EAAU,MAAM,WAAa,EACb,GAEpB,EAGA,EAAO,EAGP,IAAM,EAAmB,IAAI,iBAAiB,CAAM,EACpD,EAAiB,QAAQ,EAAW,CAClC,WAAY,GACZ,QAAS,GACT,gBAAiB,CACnB,CAAC,EAGD,IAAM,EAAiB,IAAI,eAAe,CAAM,EAQhD,OAPA,EAAe,QAAQ,CAAS,EAC5B,GACF,EACG,iBAA8B,CAAY,CAAC,CAC3C,QAAS,GAAS,EAAe,QAAQ,CAAI,CAAC,MAGtC,CACX,EAAiB,WAAW,EAC5B,EAAe,WAAW,EAC1B,EAAU,gBAAgB,eAAe,CAC3C,CAIF,EAAG,CAAC,EAAS,EAAc,EAAgB,EAAc,GAAG,CAAI,CAAC,CACnE,CCnKA,SAAgB,EACd,EACA,EACG,CACH,OAAO,OAAO,GAAU,UAAY,EAAQ,GACvC,EAAQ,GACT,CACN"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const e=require("./SSRProvider-CM04-CXZ.cjs.js"),t=require("./useObjectRef-B_VeQHvx.cjs.js"),n=require("./tooltip-BeOLEOf6.cjs.js"),r=require("./toolbar-CDuqJw86.cjs.js"),i=require("./icon-button-CSlFdpjB.cjs.js"),a=require("./box-B6vF0vdN.cjs.js"),o=require("./normalize-messages-BMq9y_ae.cjs.js"),s=require("./group-CXRp7_JB.cjs.js"),c=require("./theme-tOoHVZZ6.cjs.js"),l=require("./icon-toggle-button-DJbu9dBg.cjs.js"),u=require("./visually-hidden-CnOICq5t.cjs.js"),d=require("./text-B6GuUYfw.cjs.js"),f=require("./separator-CRFMcKYe.cjs.js"),p=require("./menu-WFLbN6in.cjs.js"),m=require("./toggle-button-group-CX1M7CQN.cjs.js"),h=require("./extract-style-props-CA1O0IF2.cjs.js"),g=require("./merge-refs-DjTl2ATo.cjs.js");let _=require("react"),v=require("react/jsx-runtime"),y=require("@commercetools/nimbus-icons"),b=require("@chakra-ui/react/styled-system"),x=require("slate"),S=require("slate-react"),C=require("slate-history");var{withProvider:w,withContext:T}=(0,b.createSlotRecipeContext)({key:`nimbusRichTextInput`}),E=w(`div`,`root`),D=T(`div`,`toolbar`),O=T(`div`,`editable`),k=e=>(0,_.useCallback)(t=>()=>{let{selection:n}=e;t(),n&&!e.selection&&x.Transforms.select(e,n),S.ReactEditor.isFocused(e)||S.ReactEditor.focus(e)},[e]),A={"mod+b":`bold`,"mod+i":`italic`,"mod+u":`underline`,"mod+`":`code`},j={placeholder:`Start typing...`,isDisabled:!1,isReadOnly:!1,autoFocus:!1},M={blockquote:`block-quote`,p:`paragraph`,pre:`code`,h1:`heading-one`,h2:`heading-two`,h3:`heading-three`,h4:`heading-four`,h5:`heading-five`,ul:`bulleted-list`,ol:`numbered-list`,li:`list-item`,a:`link`},N={strong:`bold`,b:`bold`,em:`italic`,i:`italic`,u:`underline`,code:`code`,sup:`superscript`,sub:`subscript`,del:`strikethrough`,s:`strikethrough`},P={STRIKETHROUGH:`strikethrough`,CODE:`code`,SUPERSCRIPT:`superscript`,SUBSCRIPT:`subscript`},ee=[P.STRIKETHROUGH,P.CODE],te=[P.SUPERSCRIPT,P.SUBSCRIPT];P.SUPERSCRIPT,P.SUBSCRIPT;var ne=e=>[{id:`paragraph`,label:e(`paragraph`),props:{textStyle:`md`,fontWeight:`500`}},{id:`heading-one`,label:e(`headingOne`),props:{textStyle:`2xl`,fontWeight:`500`}},{id:`heading-two`,label:e(`headingTwo`),props:{textStyle:`xl`,fontWeight:`500`}},{id:`heading-three`,label:e(`headingThree`),props:{textStyle:`lg`,fontWeight:`500`}},{id:`heading-four`,label:e(`headingFour`),props:{textStyle:`md`,fontWeight:`500`}},{id:`heading-five`,label:e(`headingFive`),props:{textStyle:`xs`,fontWeight:`500`}},{id:`block-quote`,label:e(`quote`),props:{textStyle:`md`,fontWeight:`400`}}],re=[`heading-one`,`heading-two`,`heading-three`,`heading-four`,`heading-five`,`block-quote`],ie=e.r(((e,t)=>{var n=/["'&<>]/;t.exports=r;function r(e){var t=``+e,r=n.exec(t);if(!r)return t;var i,a=``,o=0,s=0;for(o=r.index;o<t.length;o++){switch(t.charCodeAt(o)){case 34:i=`"`;break;case 38:i=`&`;break;case 39:i=`'`;break;case 60:i=`<`;break;case 62:i=`>`;break;default:continue}s!==o&&(a+=t.substring(s,o)),s=o+1,a+=i}return s===o?a:a+t.substring(s,o)}})),F=e.a(ie(),1),I=`
|
|
2
|
+
`,L=()=>[{type:`paragraph`,children:[{text:``}]}],ae=e=>e.map(R).join(``),R=e=>{if(x.Text.isText(e)){let t=e,n=(0,F.default)(t.text);return t.bold&&(n=`<strong>${n}</strong>`),t.code&&(n=`<code>${n}</code>`),t.italic&&(n=`<em>${n}</em>`),t.underline&&(n=`<u>${n}</u>`),t.superscript&&(n=`<sup>${n}</sup>`),t.subscript&&(n=`<sub>${n}</sub>`),t.strikethrough&&(n=`<del>${n}</del>`),n=n.replace(new RegExp(I,`g`),`<br>`),n}let t=e.children.map(R).join(``),n=e;switch(n.type){case`block-quote`:return`<blockquote>${t}</blockquote>`;case`paragraph`:return`<p>${t}</p>`;case`code`:return`<pre><code>${t}</code></pre>`;case`bulleted-list`:return`<ul>${t}</ul>`;case`numbered-list`:return`<ol>${t}</ol>`;case`list-item`:return`<li>${t}</li>`;case`heading-one`:return`<h1>${t}</h1>`;case`heading-two`:return`<h2>${t}</h2>`;case`heading-three`:return`<h3>${t}</h3>`;case`heading-four`:return`<h4>${t}</h4>`;case`heading-five`:return`<h5>${t}</h5>`;case`link`:{let e=``;n.url&&(e=` href="${(0,F.default)(se(n.url))}"`);let r=``;if(n.htmlAttributes&&typeof n.htmlAttributes==`object`)for(let[e,t]of Object.entries(n.htmlAttributes))e.toLowerCase().startsWith(`on`)||(r+=` ${(0,F.default)(e)}="${(0,F.default)(String(t))}"`);return`<a${e}${r}>${t}</a>`}default:return t}},z=e=>{if(!e||e.trim()===``)return L();try{if(e.includes(`<p>`)||e.includes(`<h`)||e.includes(`<div>`)||e.includes(`<blockquote>`)||e.includes(`<ul>`)||e.includes(`<ol>`)){let t=new DOMParser().parseFromString(e,`text/html`).body;return U(Array.from(t.childNodes).map(B).filter(Boolean))}else return[{type:`paragraph`,children:[{text:e}]}]}catch(e){return console.warn(`Failed to parse HTML:`,e),L()}},B=e=>{if(e.nodeType===Node.TEXT_NODE)return(e.textContent||``).replace(/<br\s*\/?>/gi,I);if(e.nodeType!==Node.ELEMENT_NODE)return null;let t=e,n=t.tagName.toLowerCase(),r=Array.from(t.childNodes).map(B).filter(Boolean);if(n in M){let e=M[n],i={type:e,children:[]};if(e===`link`){let e=t.getAttribute(`href`);e&&(i.url=e);let n={};Array.from(t.attributes).forEach(e=>{e.name!==`href`&&!e.name.toLowerCase().startsWith(`on`)&&(n[e.name]=e.value)}),Object.keys(n).length>0&&(i.htmlAttributes=n)}return i.children=oe(r),i}if(n in N){let e=N[n];return{text:H(r),[e]:!0}}return{text:H(r)}},oe=e=>{let t=[];for(let n of e)typeof n==`string`?n.trim()&&t.push({text:n}):(n&&x.Text.isText(n)||n&&x.Element.isElement(n))&&t.push(n);return t.length===0&&t.push({text:``}),t},V=e=>e.children.map(e=>x.Text.isText(e)?e.text:x.Element.isElement(e)?V(e):``).join(``),H=e=>e.filter(Boolean).map(e=>typeof e==`string`?e:e&&typeof e==`object`&&`text`in e?e.text:e&&typeof e==`object`&&`children`in e?V(e):String(e||``)).join(``),se=e=>{let t=String(e).trim().toLowerCase();return t.startsWith(`javascript:`)||t.startsWith(`data:`)||t.startsWith(`vbscript:`)?`#`:String(e)},U=e=>!Array.isArray(e)||e.length===0?L():e.map(e=>x.Element.isElement(e)?!e.children||e.children.length===0?{...e,children:[{text:``}]}:e:{type:`paragraph`,children:[{text:String(e)}]}),W=e=>{try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}},G=[`bulleted-list`,`numbered-list`],ce=[`bold`,`code`,`italic`,`underline`,`superscript`,`subscript`,`strikethrough`],K=e=>ce.includes(e),le=(e,t)=>K(t)?e[t]===!0:!1,q=(e,t)=>{let{selection:n}=e;if(!n||x.Range.isCollapsed(n)){let r=x.Editor.marks(e);if(r&&K(t))return r[t]===!0;if(!n&&e.children.length>0){let n=e.children[0];if(n.children&&n.children.length>0){let e=n.children[0];if(x.Text.isText(e)&&K(t))return e[t]===!0}}return!1}try{let r=Array.from(x.Editor.nodes(e,{at:n,match:e=>x.Text.isText(e)}));if(r.length===0){let n=x.Editor.marks(e);return!n||!K(t)?!1:n[t]===!0}return r.every(([e])=>le(e,t))}catch{let n=x.Editor.marks(e);return!n||!K(t)?!1:n[t]===!0}},J=(e,t)=>{let{selection:n}=e;if(n){let[r]=Array.from(x.Editor.nodes(e,{at:x.Editor.unhangRange(e,n),match:e=>!x.Editor.isEditor(e)&&x.Element.isElement(e)&&e.type===t}));return!!r}return e.children.length>0&&e.children[0].type===t},Y=(e,t)=>{q(e,t)?x.Editor.removeMark(e,t):x.Editor.addMark(e,t,!0)},X=(e,t)=>{let n=J(e,t),r=G.includes(t);x.Transforms.unwrapNodes(e,{match:e=>!x.Editor.isEditor(e)&&x.Element.isElement(e)&&G.includes(e.type),split:!0});let i;if(i=n?{type:`paragraph`}:r?{type:`list-item`}:{type:t},x.Transforms.setNodes(e,i),!n&&r){let n={type:t,children:[]};x.Transforms.wrapNodes(e,n)}},ue=e=>{S.ReactEditor.focus(e)},de=(e,t)=>{let n=z(t);x.Transforms.delete(e,{at:{anchor:x.Editor.start(e,[]),focus:x.Editor.end(e,[])}}),x.Transforms.insertNodes(e,n),x.Transforms.select(e,x.Editor.start(e,[]))},fe=e=>{let{insertData:t,insertText:n,isInline:r}=e;return e.isInline=e=>e.type===`link`||r(e),e.insertText=t=>{t&&W(t)?Z(e,t):n(t)},e.insertData=n=>{let r=n.getData(`text/plain`);r&&W(r)?Z(e,r):t(n)},e},pe=e=>{x.Transforms.unwrapNodes(e,{match:e=>!x.Editor.isEditor(e)&&x.Element.isElement(e)&&e.type===`link`})},Z=(e,t)=>{J(e,`link`)&&pe(e);let{selection:n}=e,r=n&&x.Range.isCollapsed(n),i={type:`link`,url:t,children:r?[{text:t}]:[]};r?x.Transforms.insertNodes(e,i):(x.Transforms.wrapNodes(e,i,{split:!0}),x.Transforms.collapse(e,{edge:`end`}))},me=({attributes:e,children:t,element:n})=>{let r=n,i={textAlign:r.align};switch(r.type){case`block-quote`:return(0,v.jsx)(`blockquote`,{style:i,...e,children:t});case`bulleted-list`:return(0,v.jsx)(`ul`,{style:i,...e,children:t});case`heading-one`:return(0,v.jsx)(`h1`,{style:i,...e,children:t});case`heading-two`:return(0,v.jsx)(`h2`,{style:i,...e,children:t});case`heading-three`:return(0,v.jsx)(`h3`,{style:i,...e,children:t});case`heading-four`:return(0,v.jsx)(`h4`,{style:i,...e,children:t});case`heading-five`:return(0,v.jsx)(`h5`,{style:i,...e,children:t});case`list-item`:return(0,v.jsx)(`li`,{style:i,...e,children:t});case`numbered-list`:return(0,v.jsx)(`ol`,{style:i,...e,children:t});case`link`:return(0,v.jsx)(`a`,{...e,href:r.url,rel:`noopener noreferrer`,style:i,children:t});default:return(0,v.jsx)(`p`,{style:i,...e,children:t})}},he=({attributes:e,children:t,leaf:n})=>{let r=n;return r.bold&&(t=(0,v.jsx)(`strong`,{children:t})),r.code&&(t=(0,v.jsx)(`code`,{children:t})),r.italic&&(t=(0,v.jsx)(`em`,{children:t})),r.underline&&(t=(0,v.jsx)(`u`,{children:t})),r.strikethrough&&(t=(0,v.jsx)(`del`,{children:t})),r.superscript&&(t=(0,v.jsx)(`sup`,{children:t})),r.subscript&&(t=(0,v.jsx)(`sub`,{children:t})),(0,v.jsx)(`span`,{...e,children:t})},Q={placeholderCharacter:`
|
|
3
|
+
`,serialize:e=>e.replace(new RegExp(Q.placeholderCharacter,`g`),`<br>`),deserialize:e=>e.replace(/<br\s*\/?>/gi,Q.placeholderCharacter)},ge=({withPreservedSelection:e})=>{let t=(0,S.useSlate)(),n=(0,S.useSlateSelection)(),r=(0,_.useMemo)(()=>{let e=[];return ee.forEach(n=>{q(t,n)&&e.push(n)}),new Set(e)},[n,t.children,x.Editor.marks(t)]),i=(0,_.useMemo)(()=>{let e=[];return te.forEach(n=>{q(t,n)&&e.push(n)}),new Set(e)},[n,t.children,x.Editor.marks(t)]),a=(0,_.useMemo)(()=>new Set([...Array.from(r),...Array.from(i)]),[r,i]);return{selectedKeys:r,selectedScriptKeys:i,allSelectedKeys:a,handleAllSelectionChange:(0,_.useCallback)(n=>{if(n===`all`)return;let r=Array.from(n),i=Array.from(a),o=r.filter(e=>!i.includes(e)),s=i.filter(e=>!r.includes(e));[...o,...s].forEach(n=>{n===`superscript`||n===`subscript`?e(()=>{let e=q(t,`superscript`)?`superscript`:q(t,`subscript`)?`subscript`:null;o.includes(n)&&e&&e!==n&&Y(t,e),Y(t,n)})():e(()=>Y(t,n))()})},[t,a,e])}},$={en:o.t({bold:`Bold`,bulletedList:`Bulleted list`,code:`Code`,headingFive:`Heading 5`,headingFour:`Heading 4`,headingOne:`Heading 1`,headingThree:`Heading 3`,headingTwo:`Heading 2`,italic:`Italic`,listFormatting:`List formatting`,moreFormattingOptions:`More formatting options`,moreStyles:`More styles`,numberedList:`Numbered list`,paragraph:`Paragraph`,quote:`Quote`,redo:`Redo`,strikethrough:`Strikethrough`,subscript:`Subscript`,superscript:`Superscript`,textFormatting:`Text formatting`,textStyle:`Text style`,textStyleMenu:`Text style menu`,underline:`Underline`,undo:`Undo`}),de:o.t({bold:`Fett`,bulletedList:`Aufzählungsliste`,code:`Code`,headingFive:`Überschrift 5`,headingFour:`Überschrift 4`,headingOne:`Überschrift 1`,headingThree:`Überschrift 3`,headingTwo:`Überschrift 2`,italic:`Kursiv`,listFormatting:`Listenformatierung`,moreFormattingOptions:`Weitere Formatierungsoptionen`,moreStyles:`Weitere Stile`,numberedList:`Nummerierte Liste`,paragraph:`Paragraph`,quote:`Zitat`,redo:`Wiederherstellen`,strikethrough:`Durchstreichen`,subscript:`Tiefgestellt`,superscript:`Hochgestellt`,textFormatting:`Textformatierung`,textStyle:`Textstil`,textStyleMenu:`Textstilmenü`,underline:`Unterstreichen`,undo:`Rückgängig machen`}),es:o.t({bold:`Negrita`,bulletedList:`Lista no numerada`,code:`Código`,headingFive:`Encabezamiento 5`,headingFour:`Encabezamiento 4`,headingOne:`Encabezamiento 1`,headingThree:`Encabezamiento 3`,headingTwo:`Encabezamiento 2`,italic:`Cursiva`,listFormatting:`Formatear lista`,moreFormattingOptions:`Más opciones de formato`,moreStyles:`Más estilos`,numberedList:`Lista numerada`,paragraph:`Párrafo`,quote:`Presupuesto`,redo:`Repetir`,strikethrough:`Tachado`,subscript:`Subíndice`,superscript:`Índice superior`,textFormatting:`Formatear texto`,textStyle:`Estilo de texto`,textStyleMenu:`Menú de estilo de texto`,underline:`Subrayar`,undo:`Deshacer`}),"fr-FR":o.t({bold:`Gras`,bulletedList:`Liste à puces`,code:`Code`,headingFive:`En-tête 5`,headingFour:`En-tête 4`,headingOne:`En-tête 1`,headingThree:`En-tête 3`,headingTwo:`En-tête 2`,italic:`Italique`,listFormatting:`Formatage de la liste`,moreFormattingOptions:`Plus d'options de formatage`,moreStyles:`Plus de styles`,numberedList:`Liste numérotée`,paragraph:`Paragraphe`,quote:`Citation`,redo:`Rétablir`,strikethrough:`Barré`,subscript:`Indice`,superscript:`Exposant`,textFormatting:`Formatage du texte`,textStyle:`Style de texte`,textStyleMenu:`Menu style de texte`,underline:`Souligné`,undo:`Annuler`}),"pt-BR":o.t({bold:`Negrito`,bulletedList:`Lista com marcadores`,code:`Código`,headingFive:`Cabeçalho 5`,headingFour:`Cabeçalho 4`,headingOne:`Cabeçalho 1`,headingThree:`Cabeçalho 3`,headingTwo:`Cabeçalho 2`,italic:`Itálico`,listFormatting:`Formatação de lista`,moreFormattingOptions:`Mais opções de formatação`,moreStyles:`Mais estilos`,numberedList:`Lista numerada`,paragraph:`Parágrafo`,quote:`Cotação`,redo:`Refazer`,strikethrough:`Tachado`,subscript:`Subscrito`,superscript:`Sobrescrito`,textFormatting:`Formatação de texto`,textStyle:`Estilo de texto`,textStyleMenu:`Menu de estilo de texto`,underline:`Sublinhado`,undo:`Desfazer`})},_e=({isDisabled:e=!1})=>{let t=o.n($),{allSelectedKeys:r,handleAllSelectionChange:s}=ge({withPreservedSelection:k((0,S.useSlate)())});return(0,v.jsxs)(p.t.Root,{selectionMode:`multiple`,selectedKeys:r,onSelectionChange:s,children:[(0,v.jsxs)(n.t.Root,{delay:0,closeDelay:0,children:[(0,v.jsx)(p.t.Trigger,{asChild:!0,children:(0,v.jsx)(i.t,{size:`xs`,variant:`ghost`,"aria-label":t.format(`moreFormattingOptions`),isDisabled:e,onMouseDown:e=>e.preventDefault(),children:(0,v.jsx)(y.MoreHoriz,{})})}),(0,v.jsx)(n.t.Content,{placement:`top`,children:t.format(`moreStyles`)})]}),(0,v.jsxs)(p.t.Content,{children:[(0,v.jsx)(p.t.Item,{id:`strikethrough`,children:(0,v.jsxs)(a.t,{slot:`label`,display:`flex`,alignItems:`center`,gap:`200`,children:[(0,v.jsx)(y.FormatStrikethrough,{}),(0,v.jsx)(d.t,{textStyle:`sm`,children:t.format(`strikethrough`)})]})}),(0,v.jsx)(p.t.Item,{id:`code`,children:(0,v.jsxs)(a.t,{slot:`label`,display:`flex`,alignItems:`center`,gap:`200`,children:[(0,v.jsx)(y.Code,{}),(0,v.jsx)(d.t,{textStyle:`sm`,children:t.format(`code`)})]})}),(0,v.jsx)(p.t.Item,{id:`superscript`,children:(0,v.jsxs)(a.t,{slot:`label`,display:`flex`,alignItems:`center`,gap:`200`,children:[(0,v.jsx)(d.t,{children:`X²`}),(0,v.jsx)(d.t,{textStyle:`sm`,children:t.format(`superscript`)})]})}),(0,v.jsx)(p.t.Item,{id:`subscript`,children:(0,v.jsxs)(a.t,{slot:`label`,display:`flex`,alignItems:`center`,gap:`200`,children:[(0,v.jsx)(d.t,{children:`X₂`}),(0,v.jsx)(d.t,{textStyle:`sm`,children:t.format(`subscript`)})]})})]})]})},ve=e.r((e=>{Object.defineProperty(e,"__esModule",{value:!0});for(var t=typeof window<`u`&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform),n={alt:`altKey`,control:`ctrlKey`,meta:`metaKey`,shift:`shiftKey`},r={add:`+`,break:`pause`,cmd:`meta`,command:`meta`,ctl:`control`,ctrl:`control`,del:`delete`,down:`arrowdown`,esc:`escape`,ins:`insert`,left:`arrowleft`,mod:t?`meta`:`control`,opt:`alt`,option:`alt`,return:`enter`,right:`arrowright`,space:` `,spacebar:` `,up:`arrowup`,win:`meta`,windows:`meta`},i={backspace:8,tab:9,enter:13,shift:16,control:17,alt:18,pause:19,capslock:20,escape:27," ":32,pageup:33,pagedown:34,end:35,home:36,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,insert:45,delete:46,meta:91,numlock:144,scrolllock:145,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},a=1;a<20;a++)i[`f`+a]=111+a;function o(e,t,n){t&&!(`byKey`in t)&&(n=t,t=null),Array.isArray(e)||(e=[e]);var r=e.map(function(e){return s(e,t)}),i=function(e){return r.some(function(t){return c(t,e)})};return n==null?i:i(n)}function s(e,t){var a=t&&t.byKey,o={};e=e.replace(`++`,`+add`);var s=e.split(`+`),c=s.length;for(var d in n)o[n[d]]=!1;var f=!0,p=!1,m=void 0;try{for(var h=s[Symbol.iterator](),g;!(f=(g=h.next()).done);f=!0){var _=g.value,v=_.endsWith(`?`)&&_.length>1;v&&(_=_.slice(0,-1));var y=u(_),b=n[y];if(_.length>1&&!b&&!r[_]&&!i[y])throw TypeError(`Unknown modifier: "`+_+`"`);(c===1||!b)&&(a?o.key=y:o.which=l(_)),b&&(o[b]=!v||null)}}catch(e){p=!0,m=e}finally{try{!f&&h.return&&h.return()}finally{if(p)throw m}}return o}function c(e,t){for(var n in e){var r=e[n],i=void 0;if(r!=null&&(i=n===`key`&&t.key!=null?t.key.toLowerCase():n===`which`?r===91&&t.which===93?91:t.which:t[n],!(i==null&&r===!1)&&i!==r))return!1}return!0}function l(e){return e=u(e),i[e]||e.toUpperCase().charCodeAt(0)}function u(e){return e=e.toLowerCase(),e=r[e]||e,e}e.isHotkey=o}))(),ye=({editor:e})=>({handleKeyDown:(0,_.useCallback)(t=>{if((t.metaKey||t.ctrlKey)&&t.key===`z`){t.preventDefault(),t.shiftKey?e.redo():e.undo();return}for(let n in A)if((0,ve.isHotkey)(n,t)){t.preventDefault();let r=A[n];Y(e,r);return}if(t.shiftKey&&t.key===`Enter`){t.preventDefault(),e.insertText(Q.placeholderCharacter);return}},[e])}),be=function({ref:e,editor:n,initialValue:r,onChange:i,onFocus:a,onBlur:o,placeholder:s=j.placeholder,isDisabled:c=j.isDisabled,isReadOnly:l=j.isReadOnly,autoFocus:u=j.autoFocus,toolbar:d}){let f=t.t(g.t((0,_.useRef)(null),e)),{handleKeyDown:p}=ye({editor:n}),m=(0,_.useCallback)(e=>{a&&a(e)},[a]),h=(0,_.useCallback)(e=>{o&&o(e)},[o]);(0,_.useImperativeHandle)(f,()=>({focus:()=>ue(n),resetValue:e=>de(n,e)}),[n]);let y=(0,_.useCallback)(e=>(0,v.jsx)(me,{...e}),[]),b=(0,_.useCallback)(e=>(0,v.jsx)(he,{...e}),[]),x=L();return(0,v.jsxs)(S.Slate,{editor:n,initialValue:Array.isArray(r)&&r.length>0?r:x,onChange:i,children:[d&&(0,v.jsx)(D,{children:d}),(0,v.jsx)(O,{asChild:!0,children:(0,v.jsx)(S.Editable,{renderElement:y,renderLeaf:b,placeholder:s,autoFocus:u,readOnly:l||c,onKeyDown:p,onFocus:m,onBlur:h,"aria-label":`Rich text editor`,role:`textbox`,"aria-multiline":`true`})})]})};be.displayName=`RichTextEditor`;var xe=({withPreservedSelection:e,textStyles:t})=>{let n=(0,S.useSlate)(),r=(0,S.useSlateSelection)(),i=(0,_.useMemo)(()=>re.find(e=>J(n,e))||`paragraph`,[r,n.children]),a=t.find(e=>e.id===i);return{currentTextStyle:i,selectedTextStyle:a,selectedTextStyleLabel:a?.label||``,handleTextStyleChange:(0,_.useCallback)(t=>{e(()=>{X(n,t)})()},[n,e]),handleListToggle:(0,_.useCallback)(t=>{e(()=>{let e=Array.from(t)[0],r=J(n,`bulleted-list`)?`bulleted-list`:J(n,`numbered-list`)?`numbered-list`:null;e?X(n,e):r&&X(n,r)})()},[n,e]),selectedFormatKeys:(0,_.useMemo)(()=>{let e=[];return q(n,`bold`)&&e.push(`bold`),q(n,`italic`)&&e.push(`italic`),q(n,`underline`)&&e.push(`underline`),new Set(e)},[r,n.children,x.Editor.marks(n)]),selectedListKeys:(0,_.useMemo)(()=>{let e=[];return J(n,`bulleted-list`)&&e.push(`bulleted-list`),J(n,`numbered-list`)&&e.push(`numbered-list`),new Set(e)},[r,n.children]),hasUndos:(0,_.useMemo)(()=>n.history&&n.history.undos.length>0,[r,n.children]),hasRedos:(0,_.useMemo)(()=>n.history&&n.history.redos.length>0,[r,n.children])}},Se=({isDisabled:e=!1})=>{let t=o.n($),c=(0,S.useSlate)(),h=k(c),g=ne(t.format),{currentTextStyle:_,selectedTextStyleLabel:b,handleTextStyleChange:x,handleListToggle:C,selectedFormatKeys:w,selectedListKeys:T,hasUndos:E,hasRedos:D}=xe({withPreservedSelection:h,textStyles:g});return(0,v.jsxs)(r.t,{orientation:`horizontal`,"aria-label":t.format(`textFormatting`),width:`full`,overflow:`hidden`,size:`xs`,children:[(0,v.jsx)(s.t,{children:(0,v.jsxs)(p.t.Root,{onAction:e=>x(String(e)),children:[(0,v.jsxs)(n.t.Root,{delay:0,closeDelay:0,children:[(0,v.jsx)(p.t.Trigger,{height:`800`,width:`4000`,bg:`primary.1`,borderRadius:`200`,_hover:{bg:`primary.2`},isDisabled:e,onMouseDown:e=>e.preventDefault(),"aria-label":t.format(`textStyleMenu`),children:(0,v.jsxs)(a.t,{display:`flex`,alignItems:`center`,gap:`200`,px:`200`,children:[(0,v.jsx)(a.t,{display:`flex`,alignItems:`center`,gap:`200`,flexGrow:`1`,children:(0,v.jsx)(d.t,{my:`auto`,textStyle:`sm`,fontWeight:`500`,children:b})}),(0,v.jsx)(y.KeyboardArrowDown,{})]})}),(0,v.jsx)(n.t.Content,{placement:`top`,children:t.format(`textStyle`)})]}),(0,v.jsx)(p.t.Content,{children:g.map(e=>(0,v.jsx)(p.t.Item,{id:e.id,..._===e.id&&{"data-state":`checked`},children:(0,v.jsx)(d.t,{...e.props,children:e.label})},e.id))})]})}),(0,v.jsx)(f.t,{orientation:`vertical`}),(0,v.jsxs)(m.t.Root,{selectionMode:`multiple`,selectedKeys:w,isDisabled:e,children:[(0,v.jsxs)(n.t.Root,{delay:0,closeDelay:0,children:[(0,v.jsxs)(l.t,{id:`bold`,size:`xs`,variant:`ghost`,"aria-label":t.format(`bold`),isDisabled:e,onMouseDown:e=>e.preventDefault(),onPress:h(()=>Y(c,`bold`)),children:[(0,v.jsx)(y.FormatBold,{}),(0,v.jsx)(u.t,{children:t.format(`bold`)})]}),(0,v.jsx)(n.t.Content,{placement:`top`,children:t.format(`bold`)})]}),(0,v.jsxs)(n.t.Root,{delay:0,closeDelay:0,children:[(0,v.jsxs)(l.t,{id:`italic`,size:`xs`,variant:`ghost`,"aria-label":t.format(`italic`),isDisabled:e,onMouseDown:e=>e.preventDefault(),onPress:h(()=>Y(c,`italic`)),children:[(0,v.jsx)(y.FormatItalic,{}),(0,v.jsx)(u.t,{children:t.format(`italic`)})]}),(0,v.jsx)(n.t.Content,{placement:`top`,children:t.format(`italic`)})]}),(0,v.jsxs)(n.t.Root,{delay:0,closeDelay:0,children:[(0,v.jsxs)(l.t,{id:`underline`,size:`xs`,variant:`ghost`,"aria-label":t.format(`underline`),isDisabled:e,onMouseDown:e=>e.preventDefault(),onPress:h(()=>Y(c,`underline`)),children:[(0,v.jsx)(y.FormatUnderlined,{}),(0,v.jsx)(u.t,{children:t.format(`underline`)})]}),(0,v.jsx)(n.t.Content,{placement:`top`,children:t.format(`underline`)})]})]}),(0,v.jsx)(_e,{isDisabled:e}),(0,v.jsx)(f.t,{orientation:`vertical`}),(0,v.jsxs)(m.t.Root,{selectionMode:`single`,selectedKeys:T,onSelectionChange:C,"aria-label":t.format(`listFormatting`),isDisabled:e,children:[(0,v.jsxs)(n.t.Root,{delay:0,closeDelay:0,children:[(0,v.jsx)(l.t,{id:`bulleted-list`,size:`xs`,variant:`ghost`,"aria-label":t.format(`bulletedList`),isDisabled:e,onMouseDown:e=>e.preventDefault(),children:(0,v.jsx)(y.FormatListBulleted,{})}),(0,v.jsx)(n.t.Content,{placement:`top`,children:t.format(`bulletedList`)})]}),(0,v.jsxs)(n.t.Root,{delay:0,closeDelay:0,children:[(0,v.jsx)(l.t,{id:`numbered-list`,size:`xs`,variant:`ghost`,"aria-label":t.format(`numberedList`),isDisabled:e,onMouseDown:e=>e.preventDefault(),children:(0,v.jsx)(y.FormatListNumbered,{})}),(0,v.jsx)(n.t.Content,{placement:`top`,children:t.format(`numberedList`)})]})]}),(0,v.jsx)(a.t,{flexGrow:`1`}),(0,v.jsxs)(s.t,{children:[(0,v.jsxs)(n.t.Root,{delay:0,closeDelay:0,children:[(0,v.jsxs)(i.t,{size:`xs`,variant:`ghost`,"aria-label":t.format(`undo`),isDisabled:!E||e,onPress:h(()=>c.undo()),onMouseDown:e=>e.preventDefault(),children:[(0,v.jsx)(y.Undo,{}),(0,v.jsx)(u.t,{children:t.format(`undo`)})]}),(0,v.jsx)(n.t.Content,{placement:`top`,children:t.format(`undo`)})]}),(0,v.jsxs)(n.t.Root,{delay:0,closeDelay:0,children:[(0,v.jsxs)(i.t,{size:`xs`,variant:`ghost`,"aria-label":t.format(`redo`),isDisabled:!D||e,onPress:h(()=>c.redo()),onMouseDown:e=>e.preventDefault(),children:[(0,v.jsx)(y.Redo,{}),(0,v.jsx)(u.t,{children:t.format(`redo`)})]}),(0,v.jsx)(n.t.Content,{placement:`top`,children:t.format(`redo`)})]})]})]})};Se.displayName=`RichTextToolbar`;var Ce=e=>{let{ref:t,value:n,defaultValue:r,onChange:i,onFocus:a,onBlur:o,placeholder:s=``,isDisabled:l=!1,isReadOnly:u=!1,isInvalid:d=!1,autoFocus:f=!1,...p}=e,[m,g]=(0,b.useSlotRecipe)({recipe:c.c}).splitVariantProps({...p}),[y,w]=h.t(g),T={"data-disabled":l?`true`:void 0,"data-invalid":d?`true`:void 0,"data-readonly":u?`true`:void 0},D=(0,_.useMemo)(()=>fe((0,C.withHistory)((0,S.withReact)((0,x.createEditor)()))),[]),O=(0,_.useMemo)(()=>{let e=n??r??``;try{return e?z(e):L()}catch(e){return console.warn(`Failed to parse initial HTML, using empty value:`,e),L()}},[]),[k,A]=(0,_.useState)(()=>n??r??``),j=(0,_.useRef)(!1),M=(0,_.useRef)(null);(0,_.useEffect)(()=>{if(j.current||n===void 0||n===k){j.current=!1;return}let e=U(n?z(n):L());D.children=e,D.selection=null,D.history&&(D.history.undos=[],D.history.redos=[]),A(n),D.onChange()},[n,k,D]);let N=(0,_.useCallback)(e=>{let t=ae(e);t!==k&&(j.current=!0,A(t),i&&i(t))},[k,i]),P=U(O);return(0,v.jsx)(E,{role:`group`,...m,...y,...w,...T,ref:t,children:(0,v.jsx)(be,{ref:M,editor:D,initialValue:P,onChange:N,onFocus:a,onBlur:o,placeholder:s,isDisabled:l,isReadOnly:u,autoFocus:f,toolbar:u?null:(0,v.jsx)(Se,{isDisabled:l})})})};Ce.displayName=`RichTextInput`,Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Ce}});
|
|
4
|
+
//# sourceMappingURL=rich-text-input-C0UU1Uoq.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rich-text-input-C0UU1Uoq.cjs.js","names":[],"sources":["../../src/components/rich-text-input/rich-text-input.slots.tsx","../../src/components/rich-text-input/hooks/use-preserved-selection.ts","../../src/components/rich-text-input/constants/editor-constants.ts","../../src/components/rich-text-input/constants/text-styles.ts","../../../../node_modules/.pnpm/escape-html@1.0.3/node_modules/escape-html/index.js","../../src/components/rich-text-input/utils/html-serialization.ts","../../src/components/rich-text-input/utils/slate-helpers.tsx","../../src/components/rich-text-input/hooks/use-formatting-state.ts","../../src/components/rich-text-input/intl/en.ts","../../src/components/rich-text-input/intl/de.ts","../../src/components/rich-text-input/intl/es.ts","../../src/components/rich-text-input/intl/fr-FR.ts","../../src/components/rich-text-input/intl/pt-BR.ts","../../src/components/rich-text-input/rich-text-input.messages.ts","../../src/components/rich-text-input/components/formatting-menu.tsx","../../../../node_modules/.pnpm/is-hotkey@0.2.0/node_modules/is-hotkey/lib/index.js","../../src/components/rich-text-input/hooks/use-keyboard-shortcuts.ts","../../src/components/rich-text-input/components/rich-text-editor.tsx","../../src/components/rich-text-input/hooks/use-toolbar-state.ts","../../src/components/rich-text-input/components/rich-text-toolbar.tsx","../../src/components/rich-text-input/rich-text-input.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react/styled-system\";\nimport type { SlotComponent } from \"@/type-utils\";\nimport type {\n RichTextInputRootSlotProps,\n RichTextInputToolbarSlotProps,\n RichTextInputEditableSlotProps,\n} from \"./rich-text-input.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"nimbusRichTextInput\",\n});\n\n// Root slot\nexport const RichTextInputRootSlot: SlotComponent<\n HTMLDivElement,\n RichTextInputRootSlotProps\n> = withProvider<HTMLDivElement, RichTextInputRootSlotProps>(\"div\", \"root\");\n\n// Toolbar slot\nexport const RichTextInputToolbarSlot = withContext<\n HTMLDivElement,\n RichTextInputToolbarSlotProps\n>(\"div\", \"toolbar\");\n\n// Editable slot\nexport const RichTextInputEditableSlot = withContext<\n HTMLDivElement,\n RichTextInputEditableSlotProps\n>(\"div\", \"editable\");\n","import { useCallback } from \"react\";\nimport { Editor, Transforms } from \"slate\";\nimport { ReactEditor } from \"slate-react\";\n\n/**\n * Hook that provides a helper function to preserve selection when toolbar actions are executed.\n * This prevents losing text selection when interacting with toolbar buttons and menus.\n *\n * TODO: This works for toggle buttons, but not for menus.\n *\n * @param editor - The Slate editor instance\n * @returns A function that wraps actions to preserve selection and focus\n */\nexport const usePreservedSelection = (editor: Editor) => {\n return useCallback(\n (action: () => void) => {\n return () => {\n // Save the current selection\n const { selection } = editor;\n\n // Execute the action\n action();\n\n // Restore selection if it was lost\n if (selection && !editor.selection) {\n Transforms.select(editor, selection);\n }\n\n // Ensure editor stays focused\n if (!ReactEditor.isFocused(editor)) {\n ReactEditor.focus(editor);\n }\n };\n },\n [editor]\n );\n};\n","/**\n * Constants for the rich text editor component\n *\n * This file consolidates all the configuration constants used by the rich text editor.\n * Previously split across multiple files, now consolidated for better maintainability.\n */\n\n// Keyboard shortcuts for formatting\nexport const HOTKEYS = {\n \"mod+b\": \"bold\",\n \"mod+i\": \"italic\",\n \"mod+u\": \"underline\",\n \"mod+`\": \"code\",\n} as const;\n\n// Default configuration values\nexport const EDITOR_DEFAULTS = {\n placeholder: \"Start typing...\",\n isDisabled: false,\n isReadOnly: false,\n autoFocus: false,\n} as const;\n\n// HTML to Slate element mapping for serialization\nexport const BLOCK_TAGS = {\n blockquote: \"block-quote\",\n p: \"paragraph\",\n pre: \"code\",\n h1: \"heading-one\",\n h2: \"heading-two\",\n h3: \"heading-three\",\n h4: \"heading-four\",\n h5: \"heading-five\",\n ul: \"bulleted-list\",\n ol: \"numbered-list\",\n li: \"list-item\",\n a: \"link\",\n} as const;\n\nexport const MARK_TAGS = {\n strong: \"bold\",\n b: \"bold\",\n em: \"italic\",\n i: \"italic\",\n u: \"underline\",\n code: \"code\",\n sup: \"superscript\",\n sub: \"subscript\",\n del: \"strikethrough\",\n s: \"strikethrough\",\n} as const;\n\n// Formatting options for the \"More Options\" menu\nexport const FORMATTING_OPTIONS = {\n STRIKETHROUGH: \"strikethrough\",\n CODE: \"code\",\n SUPERSCRIPT: \"superscript\",\n SUBSCRIPT: \"subscript\",\n} as const;\n\nexport const BASIC_FORMATTING = [\n FORMATTING_OPTIONS.STRIKETHROUGH,\n FORMATTING_OPTIONS.CODE,\n] as const;\n\nexport const SCRIPT_FORMATTING = [\n FORMATTING_OPTIONS.SUPERSCRIPT,\n FORMATTING_OPTIONS.SUBSCRIPT,\n] as const;\n\n// Mutual exclusion groups - superscript and subscript cannot both be active\nexport const MUTUALLY_EXCLUSIVE_GROUPS = {\n script: [FORMATTING_OPTIONS.SUPERSCRIPT, FORMATTING_OPTIONS.SUBSCRIPT],\n} as const;\n\n// Type definitions\nexport type HotkeyType = typeof HOTKEYS;\nexport type HotkeyKey = keyof HotkeyType;\nexport type HotkeyValue = HotkeyType[HotkeyKey];\nexport type BlockTagKey = keyof typeof BLOCK_TAGS;\nexport type MarkTagKey = keyof typeof MARK_TAGS;\nexport type BlockTagValue = (typeof BLOCK_TAGS)[BlockTagKey];\nexport type MarkTagValue = (typeof MARK_TAGS)[MarkTagKey];\nexport type FormattingType =\n (typeof FORMATTING_OPTIONS)[keyof typeof FORMATTING_OPTIONS];\nexport type BasicFormattingType = (typeof BASIC_FORMATTING)[number];\nexport type ScriptFormattingType = (typeof SCRIPT_FORMATTING)[number];\n","/**\n * Text style definitions for rich text editor block formatting\n *\n * Used by:\n * - components/rich-text-toolbar.tsx: Renders text style dropdown menu with these options\n * - hooks/useToolbarState.ts: Manages current text style state and selection logic\n * - utils/text-style-utils.ts: Helper functions for text style operations\n * - utils/validation-utils.ts: Validates if block types are supported\n *\n * Purpose:\n * - Centralizes all available text styles and their visual properties\n * - Maps block type IDs to user-friendly labels and Chakra UI styling props\n * - Ensures consistent styling across the editor and UI controls\n */\nexport type TextStyleDefinition = {\n id: string;\n label: string;\n props: {\n textStyle: string;\n fontWeight: string;\n };\n};\n\n/**\n * Returns text style definitions with localized labels\n * @param format - Format function from useLocalizedStringFormatter\n */\nexport const getTextStyles = (\n format: (key: string) => string\n): TextStyleDefinition[] => [\n {\n id: \"paragraph\",\n label: format(\"paragraph\"),\n props: {\n textStyle: \"md\",\n fontWeight: \"500\",\n },\n },\n {\n id: \"heading-one\",\n label: format(\"headingOne\"),\n props: {\n textStyle: \"2xl\",\n fontWeight: \"500\",\n },\n },\n {\n id: \"heading-two\",\n label: format(\"headingTwo\"),\n props: {\n textStyle: \"xl\",\n fontWeight: \"500\",\n },\n },\n {\n id: \"heading-three\",\n label: format(\"headingThree\"),\n props: {\n textStyle: \"lg\",\n fontWeight: \"500\",\n },\n },\n {\n id: \"heading-four\",\n label: format(\"headingFour\"),\n props: {\n textStyle: \"md\",\n fontWeight: \"500\",\n },\n },\n {\n id: \"heading-five\",\n label: format(\"headingFive\"),\n props: {\n textStyle: \"xs\",\n fontWeight: \"500\",\n },\n },\n {\n id: \"block-quote\",\n label: format(\"quote\"),\n props: {\n textStyle: \"md\",\n fontWeight: \"400\",\n },\n },\n];\n\n/**\n * Available block types for text style detection\n *\n * Used by:\n * - hooks/useToolbarState.ts: Detects currently active block type in editor\n * - Excludes \"paragraph\" as it's the default/fallback type\n */\nexport const blockTypes = [\n \"heading-one\",\n \"heading-two\",\n \"heading-three\",\n \"heading-four\",\n \"heading-five\",\n \"block-quote\",\n] as const;\n\nexport type BlockType = (typeof blockTypes)[number] | \"paragraph\";\n","/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","import escapeHtml from \"escape-html\";\nimport {\n Text,\n Element as SlateElement,\n type Descendant,\n type Node as SlateNode,\n} from \"slate\";\nimport { BLOCK_TAGS, MARK_TAGS } from \"../constants\";\nimport type { CustomElement, CustomText } from \"./types\";\nimport { validSlateStateAdapter } from \"./slate-helpers\";\n\n// Soft line break placeholder character\nconst SOFT_BREAK_PLACEHOLDER = \"\\u200B\\n\";\n\n// Default empty state for the editor\nexport const createEmptyValue = (): Descendant[] => [\n {\n type: \"paragraph\",\n children: [{ text: \"\" }],\n } as CustomElement,\n];\n\n// Serialize Slate value to HTML\nexport const toHTML = (value: Descendant[]): string => {\n return value.map(serializeNode).join(\"\");\n};\n\nconst serializeNode = (node: SlateNode): string => {\n if (Text.isText(node)) {\n const textNode = node as CustomText;\n let string = escapeHtml(textNode.text);\n\n // Apply text formatting\n if (textNode.bold) {\n string = `<strong>${string}</strong>`;\n }\n if (textNode.code) {\n string = `<code>${string}</code>`;\n }\n if (textNode.italic) {\n string = `<em>${string}</em>`;\n }\n if (textNode.underline) {\n string = `<u>${string}</u>`;\n }\n if (textNode.superscript) {\n string = `<sup>${string}</sup>`;\n }\n if (textNode.subscript) {\n string = `<sub>${string}</sub>`;\n }\n if (textNode.strikethrough) {\n string = `<del>${string}</del>`;\n }\n\n // Replace soft line breaks with <br> tags\n string = string.replace(new RegExp(SOFT_BREAK_PLACEHOLDER, \"g\"), \"<br>\");\n\n return string;\n }\n\n const children = node.children.map(serializeNode).join(\"\");\n const element = node as CustomElement;\n\n switch (element.type) {\n case \"block-quote\":\n return `<blockquote>${children}</blockquote>`;\n case \"paragraph\":\n return `<p>${children}</p>`;\n case \"code\":\n return `<pre><code>${children}</code></pre>`;\n case \"bulleted-list\":\n return `<ul>${children}</ul>`;\n case \"numbered-list\":\n return `<ol>${children}</ol>`;\n case \"list-item\":\n return `<li>${children}</li>`;\n case \"heading-one\":\n return `<h1>${children}</h1>`;\n case \"heading-two\":\n return `<h2>${children}</h2>`;\n case \"heading-three\":\n return `<h3>${children}</h3>`;\n case \"heading-four\":\n return `<h4>${children}</h4>`;\n case \"heading-five\":\n return `<h5>${children}</h5>`;\n case \"link\": {\n let hrefAttr = \"\";\n if (element.url) {\n // Sanitize href to prevent XSS\n const sanitizedUrl = sanitizeUrl(element.url);\n hrefAttr = ` href=\"${escapeHtml(sanitizedUrl)}\"`;\n }\n\n let otherAttrsString = \"\";\n if (\n element.htmlAttributes &&\n typeof element.htmlAttributes === \"object\"\n ) {\n for (const [key, value] of Object.entries(element.htmlAttributes)) {\n // Filter out event handlers to prevent XSS\n if (!key.toLowerCase().startsWith(\"on\")) {\n otherAttrsString += ` ${escapeHtml(key)}=\"${escapeHtml(String(value))}\"`;\n }\n }\n }\n\n return `<a${hrefAttr}${otherAttrsString}>${children}</a>`;\n }\n default:\n return children;\n }\n};\n\n// Parse HTML string to Slate value\nexport const fromHTML = (html: string): Descendant[] => {\n if (!html || html.trim() === \"\") {\n return createEmptyValue();\n }\n\n try {\n // Simple HTML parsing - for now just handle basic cases\n if (\n html.includes(\"<p>\") ||\n html.includes(\"<h\") ||\n html.includes(\"<div>\") ||\n html.includes(\"<blockquote>\") ||\n html.includes(\"<ul>\") ||\n html.includes(\"<ol>\")\n ) {\n const document = new DOMParser().parseFromString(html, \"text/html\");\n const body = document.body;\n\n const nodes = Array.from(body.childNodes)\n .map(deserializeNode)\n .filter(Boolean) as Descendant[];\n\n // Use validSlateStateAdapter to ensure all nodes are valid Slate elements\n return validSlateStateAdapter(nodes);\n } else {\n // Simple text content\n return [\n {\n type: \"paragraph\",\n children: [{ text: html }],\n } as CustomElement,\n ];\n }\n } catch (error) {\n console.warn(\"Failed to parse HTML:\", error);\n return createEmptyValue();\n }\n};\n\nconst deserializeNode = (node: Node): Descendant | string | null => {\n if (node.nodeType === Node.TEXT_NODE) {\n const text = node.textContent || \"\";\n // Replace <br> tags with soft line breaks\n return text.replace(/<br\\s*\\/?>/gi, SOFT_BREAK_PLACEHOLDER);\n }\n\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return null;\n }\n\n const element = node as Element;\n const tagName = element.tagName.toLowerCase();\n const children = Array.from(element.childNodes)\n .map(deserializeNode)\n .filter(Boolean);\n\n // Handle block elements\n if (tagName in BLOCK_TAGS) {\n const type = BLOCK_TAGS[tagName as keyof typeof BLOCK_TAGS];\n const slateElement: CustomElement = { type, children: [] };\n\n // Special handling for links\n if (type === \"link\") {\n const href = element.getAttribute(\"href\");\n if (href) {\n slateElement.url = href;\n }\n\n // Store other attributes\n const attrs: Record<string, string> = {};\n Array.from(element.attributes).forEach((attr) => {\n if (attr.name !== \"href\" && !attr.name.toLowerCase().startsWith(\"on\")) {\n attrs[attr.name] = attr.value;\n }\n });\n if (Object.keys(attrs).length > 0) {\n slateElement.htmlAttributes = attrs;\n }\n }\n\n // Process children\n slateElement.children = processChildren(children);\n return slateElement;\n }\n\n // Handle inline/mark elements - simplified without jsx\n if (tagName in MARK_TAGS) {\n const markType = MARK_TAGS[tagName as keyof typeof MARK_TAGS];\n const textContent = extractTextFromChildren(children);\n return { text: textContent, [markType]: true } as CustomText;\n }\n\n // Handle spans and other inline elements\n if (tagName === \"span\") {\n const textContent = extractTextFromChildren(children);\n return { text: textContent } as CustomText;\n }\n\n // For unknown elements, just return their text content\n const textContent = extractTextFromChildren(children);\n return { text: textContent } as CustomText;\n};\n\nconst processChildren = (\n children: (Descendant | string | null)[]\n): (CustomText | CustomElement)[] => {\n const processed: (CustomText | CustomElement)[] = [];\n\n for (const child of children) {\n if (typeof child === \"string\") {\n if (child.trim()) {\n processed.push({ text: child });\n }\n } else if (child && Text.isText(child)) {\n processed.push(child as CustomText);\n } else if (child && SlateElement.isElement(child)) {\n // Keep block elements (like li) as elements\n processed.push(child as CustomElement);\n }\n }\n\n // For list containers, ensure we have valid children\n // For other containers, ensure we always have at least one text node\n if (processed.length === 0) {\n processed.push({ text: \"\" });\n }\n\n return processed;\n};\n\nconst extractTextContent = (element: SlateElement): string => {\n return element.children\n .map((child) => {\n if (Text.isText(child)) {\n return child.text;\n } else if (SlateElement.isElement(child)) {\n return extractTextContent(child);\n }\n return \"\";\n })\n .join(\"\");\n};\n\nconst extractTextFromChildren = (\n children: (Descendant | string | null)[]\n): string => {\n return children\n .filter(Boolean)\n .map((child) => {\n if (typeof child === \"string\") {\n return child;\n } else if (child && typeof child === \"object\" && \"text\" in child) {\n return child.text;\n } else if (child && typeof child === \"object\" && \"children\" in child) {\n return extractTextContent(child as SlateElement);\n }\n return String(child || \"\");\n })\n .join(\"\");\n};\n\nconst sanitizeUrl = (url: string): string => {\n const trimmed = String(url).trim().toLowerCase();\n if (\n trimmed.startsWith(\"javascript:\") ||\n trimmed.startsWith(\"data:\") ||\n trimmed.startsWith(\"vbscript:\")\n ) {\n return \"#\";\n }\n return String(url);\n};\n","import { type ReactElement } from \"react\";\nimport {\n Editor,\n Transforms,\n Element as SlateElement,\n Range,\n Text,\n type Editor as SlateEditor,\n} from \"slate\";\nimport {\n ReactEditor,\n type RenderElementProps,\n type RenderLeafProps,\n} from \"slate-react\";\nimport type { CustomElement, CustomText, ElementFormat } from \"./types\";\nimport { fromHTML, createEmptyValue } from \"./html-serialization\";\nimport type { Descendant } from \"slate\";\n\n// Validate and normalize Slate state\nexport const validSlateStateAdapter = (value: unknown): Descendant[] => {\n if (!Array.isArray(value)) {\n return createEmptyValue();\n }\n\n if (value.length === 0) {\n return createEmptyValue();\n }\n\n return value.map((node) => {\n if (!SlateElement.isElement(node)) {\n return {\n type: \"paragraph\",\n children: [{ text: String(node) }],\n } as CustomElement;\n }\n\n if (!node.children || node.children.length === 0) {\n return { ...node, children: [{ text: \"\" }] } as CustomElement;\n }\n\n return node as CustomElement;\n });\n};\n\n// Simple URL validation function\nconst isUrl = (text: string): boolean => {\n try {\n const url = new URL(text);\n return url.protocol === \"http:\" || url.protocol === \"https:\";\n } catch {\n return false;\n }\n};\n\nconst LIST_TYPES = [\"bulleted-list\", \"numbered-list\"];\n\n// Define valid mark formats that can be checked\nconst VALID_MARK_FORMATS = [\n \"bold\",\n \"code\",\n \"italic\",\n \"underline\",\n \"superscript\",\n \"subscript\",\n \"strikethrough\",\n] as const;\n\ntype ValidMarkFormat = (typeof VALID_MARK_FORMATS)[number];\n\n// Type guard to check if a format is a valid mark format\nconst isValidMarkFormat = (format: string): format is ValidMarkFormat => {\n return VALID_MARK_FORMATS.includes(format as ValidMarkFormat);\n};\n\n// Type-safe function to check if a mark is active on a text node\nconst hasMarkFormat = (textNode: CustomText, format: string): boolean => {\n if (!isValidMarkFormat(format)) {\n return false;\n }\n return textNode[format] === true;\n};\n\n// Check if a mark is currently active\nexport const isMarkActive = (editor: SlateEditor, format: string): boolean => {\n const { selection } = editor;\n\n // For collapsed selection (cursor position), use the standard approach\n if (!selection || Range.isCollapsed(selection)) {\n const marks = Editor.marks(editor);\n if (marks && isValidMarkFormat(format)) {\n return (marks as CustomText)[format] === true;\n }\n\n // If no selection/marks (e.g., programmatically set content), check first text node\n if (!selection && editor.children.length > 0) {\n const firstNode = editor.children[0] as CustomElement;\n if (firstNode.children && firstNode.children.length > 0) {\n const firstText = firstNode.children[0];\n if (Text.isText(firstText) && isValidMarkFormat(format)) {\n return (firstText as CustomText)[format] === true;\n }\n }\n }\n\n return false;\n }\n\n // For text selection, check if any selected text has the mark\n // This provides better mixed formatting detection\n try {\n const textNodes = Array.from(\n Editor.nodes(editor, {\n at: selection,\n match: (n) => Text.isText(n),\n })\n );\n\n if (textNodes.length === 0) {\n const marks = Editor.marks(editor);\n if (!marks || !isValidMarkFormat(format)) {\n return false;\n }\n return (marks as CustomText)[format] === true;\n }\n\n // Show as active only if all selected text has this mark\n // Prioritizes unformatted text - if any text is unformatted, button shows inactive\n return textNodes.every(([node]) => {\n const textNode = node as CustomText;\n return hasMarkFormat(textNode, format);\n });\n } catch {\n // Fallback to original approach if node traversal fails\n const marks = Editor.marks(editor);\n if (!marks || !isValidMarkFormat(format)) {\n return false;\n }\n return (marks as CustomText)[format] === true;\n }\n};\n\n// Check if a block type is currently active\nexport const isBlockActive = (\n editor: SlateEditor,\n format: ElementFormat\n): boolean => {\n const { selection } = editor;\n\n // If there's a selection, use it to determine active block\n if (selection) {\n const [match] = Array.from(\n Editor.nodes(editor, {\n at: Editor.unhangRange(editor, selection),\n match: (n) =>\n !Editor.isEditor(n) &&\n SlateElement.isElement(n) &&\n (n as CustomElement).type === format,\n })\n );\n return !!match;\n }\n\n // If no selection, check the first block in the editor\n // This handles cases where content is set programmatically without focus\n if (editor.children.length > 0) {\n const firstNode = editor.children[0] as CustomElement;\n return firstNode.type === format;\n }\n\n return false;\n};\n\n// Toggle a text mark (bold, italic, etc.)\nexport const toggleMark = (editor: SlateEditor, format: string): void => {\n const isActive = isMarkActive(editor, format);\n\n if (isActive) {\n Editor.removeMark(editor, format);\n } else {\n Editor.addMark(editor, format, true);\n }\n};\n\n// Toggle a block type (heading, list, etc.)\nexport const toggleBlock = (\n editor: SlateEditor,\n format: ElementFormat\n): void => {\n const isActive = isBlockActive(editor, format);\n const isList = LIST_TYPES.includes(format);\n\n Transforms.unwrapNodes(editor, {\n match: (n) =>\n !Editor.isEditor(n) &&\n SlateElement.isElement(n) &&\n LIST_TYPES.includes((n as CustomElement).type),\n split: true,\n });\n\n let newProperties: Partial<CustomElement>;\n if (isActive) {\n newProperties = { type: \"paragraph\" };\n } else if (isList) {\n newProperties = { type: \"list-item\" };\n } else {\n newProperties = { type: format };\n }\n\n Transforms.setNodes<CustomElement>(editor, newProperties);\n\n if (!isActive && isList) {\n const block: CustomElement = { type: format, children: [] };\n Transforms.wrapNodes(editor, block);\n }\n};\n\n// Focus the editor\nexport const focusEditor = (editor: SlateEditor): void => {\n ReactEditor.focus(editor);\n};\n\n// Reset the editor to a specific value\nexport const resetEditor = (editor: SlateEditor, value: string): void => {\n const newValue = fromHTML(value);\n\n // Clear current content\n Transforms.delete(editor, {\n at: {\n anchor: Editor.start(editor, []),\n focus: Editor.end(editor, []),\n },\n });\n\n // Insert new content\n Transforms.insertNodes(editor, newValue);\n\n // Focus at the start\n Transforms.select(editor, Editor.start(editor, []));\n};\n\n// Link plugin\nexport const withLinks = (editor: SlateEditor): SlateEditor => {\n const { insertData, insertText, isInline } = editor;\n\n editor.isInline = (element: CustomElement) => {\n return element.type === \"link\" ? true : isInline(element);\n };\n\n editor.insertText = (text: string) => {\n if (text && isUrl(text)) {\n wrapLink(editor, text);\n } else {\n insertText(text);\n }\n };\n\n editor.insertData = (data: DataTransfer) => {\n const text = data.getData(\"text/plain\");\n\n if (text && isUrl(text)) {\n wrapLink(editor, text);\n } else {\n insertData(data);\n }\n };\n\n return editor;\n};\n\nconst unwrapLink = (editor: SlateEditor): void => {\n Transforms.unwrapNodes(editor, {\n match: (n) =>\n !Editor.isEditor(n) &&\n SlateElement.isElement(n) &&\n (n as CustomElement).type === \"link\",\n });\n};\n\nconst wrapLink = (editor: SlateEditor, url: string): void => {\n if (isBlockActive(editor, \"link\")) {\n unwrapLink(editor);\n }\n\n const { selection } = editor;\n const isCollapsed = selection && Range.isCollapsed(selection);\n const link: CustomElement = {\n type: \"link\",\n url,\n children: isCollapsed ? [{ text: url }] : [],\n };\n\n if (isCollapsed) {\n Transforms.insertNodes(editor, link);\n } else {\n Transforms.wrapNodes(editor, link, { split: true });\n Transforms.collapse(editor, { edge: \"end\" });\n }\n};\n\n// Render element component\nexport const Element = ({\n attributes,\n children,\n element,\n}: RenderElementProps): ReactElement => {\n const customElement = element as CustomElement;\n const style = { textAlign: customElement.align } as React.CSSProperties;\n\n switch (customElement.type) {\n case \"block-quote\":\n return (\n <blockquote style={style} {...attributes}>\n {children}\n </blockquote>\n );\n case \"bulleted-list\":\n return (\n <ul style={style} {...attributes}>\n {children}\n </ul>\n );\n case \"heading-one\":\n return (\n <h1 style={style} {...attributes}>\n {children}\n </h1>\n );\n case \"heading-two\":\n return (\n <h2 style={style} {...attributes}>\n {children}\n </h2>\n );\n case \"heading-three\":\n return (\n <h3 style={style} {...attributes}>\n {children}\n </h3>\n );\n case \"heading-four\":\n return (\n <h4 style={style} {...attributes}>\n {children}\n </h4>\n );\n case \"heading-five\":\n return (\n <h5 style={style} {...attributes}>\n {children}\n </h5>\n );\n case \"list-item\":\n return (\n <li style={style} {...attributes}>\n {children}\n </li>\n );\n case \"numbered-list\":\n return (\n <ol style={style} {...attributes}>\n {children}\n </ol>\n );\n case \"link\":\n return (\n <a\n {...attributes}\n href={customElement.url}\n rel=\"noopener noreferrer\"\n style={style}\n >\n {children}\n </a>\n );\n default:\n return (\n <p style={style} {...attributes}>\n {children}\n </p>\n );\n }\n};\n\n// Render leaf component\nexport const Leaf = ({\n attributes,\n children,\n leaf,\n}: RenderLeafProps): ReactElement => {\n const customLeaf = leaf as CustomText;\n if (customLeaf.bold) {\n children = <strong>{children}</strong>;\n }\n\n if (customLeaf.code) {\n children = <code>{children}</code>;\n }\n\n if (customLeaf.italic) {\n children = <em>{children}</em>;\n }\n\n if (customLeaf.underline) {\n children = <u>{children}</u>;\n }\n\n if (customLeaf.strikethrough) {\n children = <del>{children}</del>;\n }\n\n if (customLeaf.superscript) {\n children = <sup>{children}</sup>;\n }\n\n if (customLeaf.subscript) {\n children = <sub>{children}</sub>;\n }\n\n return <span {...attributes}>{children}</span>;\n};\n\n// Soft line break handling\nexport const Softbreaker = {\n placeholderCharacter: \"\\u200B\\n\",\n serialize: (string: string): string =>\n string.replace(new RegExp(Softbreaker.placeholderCharacter, \"g\"), \"<br>\"),\n deserialize: (string: string): string =>\n string.replace(/<br\\s*\\/?>/gi, Softbreaker.placeholderCharacter),\n};\n","/**\n * Hook for managing formatting menu state with mutual exclusion logic\n *\n * Used by:\n * - components/formatting-menu.tsx: Manages complex formatting state and interactions\n *\n * Purpose:\n * - Handles mutual exclusion between superscript and subscript formatting\n * - Manages state for all formatting options in the \"More Options\" menu\n * - Processes complex selection changes with custom logic\n * - Extracted from formatting-menu.tsx to improve organization and testability\n * - Separates complex business logic from UI rendering\n *\n * @param withPreservedSelection - Function for preserving editor selection during operations\n * @returns Object containing formatting state and selection change handler\n */\nimport { useMemo, useCallback } from \"react\";\nimport { Editor } from \"slate\";\nimport { useSlate, useSlateSelection } from \"slate-react\";\nimport type { Key } from \"react-aria\";\nimport { BASIC_FORMATTING, SCRIPT_FORMATTING } from \"../constants\";\nimport { isMarkActive, toggleMark } from \"../utils/slate-helpers\";\n\nexport type UseFormattingStateProps = {\n withPreservedSelection: (fn: () => void) => () => void;\n};\n\nexport const useFormattingState = ({\n withPreservedSelection,\n}: UseFormattingStateProps) => {\n const editor = useSlate();\n // Subscribe to selection changes properly\n const selection = useSlateSelection();\n\n // Get currently selected formatting keys (strikethrough and code)\n const selectedKeys = useMemo(() => {\n const keys: string[] = [];\n BASIC_FORMATTING.forEach((format) => {\n if (isMarkActive(editor, format)) keys.push(format);\n });\n return new Set(keys);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selection, editor.children, Editor.marks(editor)]);\n\n // Get currently selected script formatting key (superscript or subscript - mutually exclusive)\n const selectedScriptKeys = useMemo(() => {\n const keys: string[] = [];\n SCRIPT_FORMATTING.forEach((format) => {\n if (isMarkActive(editor, format)) keys.push(format);\n });\n return new Set(keys);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selection, editor.children, Editor.marks(editor)]);\n\n // Combine all selected keys for display purposes\n const allSelectedKeys = useMemo(() => {\n return new Set([\n ...Array.from(selectedKeys),\n ...Array.from(selectedScriptKeys),\n ]);\n }, [selectedKeys, selectedScriptKeys]);\n\n // Handle all selection changes with custom logic for mutual exclusion\n const handleAllSelectionChange = useCallback(\n (keys: \"all\" | Set<Key>) => {\n if (keys === \"all\") return;\n\n const keyArray = Array.from(keys) as string[];\n const currentKeys = Array.from(allSelectedKeys);\n\n // Find newly selected keys (toggle on)\n const newlySelected = keyArray.filter(\n (key) => !currentKeys.includes(key)\n );\n // Find newly deselected keys (toggle off)\n const newlyDeselected = currentKeys.filter(\n (key) => !keyArray.includes(key)\n );\n\n // Handle changes for each key\n [...newlySelected, ...newlyDeselected].forEach((key) => {\n if (key === \"superscript\" || key === \"subscript\") {\n // Handle script formatting with mutual exclusion\n withPreservedSelection(() => {\n const currentlyActive = isMarkActive(editor, \"superscript\")\n ? \"superscript\"\n : isMarkActive(editor, \"subscript\")\n ? \"subscript\"\n : null;\n\n if (newlySelected.includes(key)) {\n // If selecting a script format, deactivate the other one first\n if (currentlyActive && currentlyActive !== key) {\n toggleMark(editor, currentlyActive);\n }\n toggleMark(editor, key);\n } else {\n // Deselecting\n toggleMark(editor, key);\n }\n })();\n } else {\n // Handle regular formatting (strikethrough, code)\n withPreservedSelection(() => toggleMark(editor, key))();\n }\n });\n },\n [editor, allSelectedKeys, withPreservedSelection]\n );\n\n return {\n selectedKeys,\n selectedScriptKeys,\n allSelectedKeys,\n handleAllSelectionChange,\n };\n};\n","/**\n * Pre-compiled en messages for RichTextInput\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n bold: `Bold`,\n bulletedList: `Bulleted list`,\n code: `Code`,\n headingFive: `Heading 5`,\n headingFour: `Heading 4`,\n headingOne: `Heading 1`,\n headingThree: `Heading 3`,\n headingTwo: `Heading 2`,\n italic: `Italic`,\n listFormatting: `List formatting`,\n moreFormattingOptions: `More formatting options`,\n moreStyles: `More styles`,\n numberedList: `Numbered list`,\n paragraph: `Paragraph`,\n quote: `Quote`,\n redo: `Redo`,\n strikethrough: `Strikethrough`,\n subscript: `Subscript`,\n superscript: `Superscript`,\n textFormatting: `Text formatting`,\n textStyle: `Text style`,\n textStyleMenu: `Text style menu`,\n underline: `Underline`,\n undo: `Undo`,\n};\n","/**\n * Pre-compiled de messages for RichTextInput\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n bold: `Fett`,\n bulletedList: `Aufzählungsliste`,\n code: `Code`,\n headingFive: `Überschrift 5`,\n headingFour: `Überschrift 4`,\n headingOne: `Überschrift 1`,\n headingThree: `Überschrift 3`,\n headingTwo: `Überschrift 2`,\n italic: `Kursiv`,\n listFormatting: `Listenformatierung`,\n moreFormattingOptions: `Weitere Formatierungsoptionen`,\n moreStyles: `Weitere Stile`,\n numberedList: `Nummerierte Liste`,\n paragraph: `Paragraph`,\n quote: `Zitat`,\n redo: `Wiederherstellen`,\n strikethrough: `Durchstreichen`,\n subscript: `Tiefgestellt`,\n superscript: `Hochgestellt`,\n textFormatting: `Textformatierung`,\n textStyle: `Textstil`,\n textStyleMenu: `Textstilmenü`,\n underline: `Unterstreichen`,\n undo: `Rückgängig machen`,\n};\n","/**\n * Pre-compiled es messages for RichTextInput\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n bold: `Negrita`,\n bulletedList: `Lista no numerada`,\n code: `Código`,\n headingFive: `Encabezamiento 5`,\n headingFour: `Encabezamiento 4`,\n headingOne: `Encabezamiento 1`,\n headingThree: `Encabezamiento 3`,\n headingTwo: `Encabezamiento 2`,\n italic: `Cursiva`,\n listFormatting: `Formatear lista`,\n moreFormattingOptions: `Más opciones de formato`,\n moreStyles: `Más estilos`,\n numberedList: `Lista numerada`,\n paragraph: `Párrafo`,\n quote: `Presupuesto`,\n redo: `Repetir`,\n strikethrough: `Tachado`,\n subscript: `Subíndice`,\n superscript: `Índice superior`,\n textFormatting: `Formatear texto`,\n textStyle: `Estilo de texto`,\n textStyleMenu: `Menú de estilo de texto`,\n underline: `Subrayar`,\n undo: `Deshacer`,\n};\n","/**\n * Pre-compiled fr-FR messages for RichTextInput\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n bold: `Gras`,\n bulletedList: `Liste à puces`,\n code: `Code`,\n headingFive: `En-tête 5`,\n headingFour: `En-tête 4`,\n headingOne: `En-tête 1`,\n headingThree: `En-tête 3`,\n headingTwo: `En-tête 2`,\n italic: `Italique`,\n listFormatting: `Formatage de la liste`,\n moreFormattingOptions: `Plus d'options de formatage`,\n moreStyles: `Plus de styles`,\n numberedList: `Liste numérotée`,\n paragraph: `Paragraphe`,\n quote: `Citation`,\n redo: `Rétablir`,\n strikethrough: `Barré`,\n subscript: `Indice`,\n superscript: `Exposant`,\n textFormatting: `Formatage du texte`,\n textStyle: `Style de texte`,\n textStyleMenu: `Menu style de texte`,\n underline: `Souligné`,\n undo: `Annuler`,\n};\n","/**\n * Pre-compiled pt-BR messages for RichTextInput\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n bold: `Negrito`,\n bulletedList: `Lista com marcadores`,\n code: `Código`,\n headingFive: `Cabeçalho 5`,\n headingFour: `Cabeçalho 4`,\n headingOne: `Cabeçalho 1`,\n headingThree: `Cabeçalho 3`,\n headingTwo: `Cabeçalho 2`,\n italic: `Itálico`,\n listFormatting: `Formatação de lista`,\n moreFormattingOptions: `Mais opções de formatação`,\n moreStyles: `Mais estilos`,\n numberedList: `Lista numerada`,\n paragraph: `Parágrafo`,\n quote: `Cotação`,\n redo: `Refazer`,\n strikethrough: `Tachado`,\n subscript: `Subscrito`,\n superscript: `Sobrescrito`,\n textFormatting: `Formatação de texto`,\n textStyle: `Estilo de texto`,\n textStyleMenu: `Menu de estilo de texto`,\n underline: `Sublinhado`,\n undo: `Desfazer`,\n};\n","/**\n * Pre-compiled localized messages for RichTextInput component\n *\n * Generated by scripts/generate-dictionaries.ts\n * DO NOT EDIT MANUALLY\n *\n * @see https://react-spectrum.adobe.com/react-aria/internationalization.html\n */\n\nimport {\n type LocalizedString,\n type LocalizedStrings,\n} from \"@internationalized/string\";\nimport { normalizeMessages } from \"../../utils/normalize-messages\";\n\n// Pre-compiled message functions\nimport richTextInputMessages_en from \"./intl/en\";\nimport richTextInputMessages_de from \"./intl/de\";\nimport richTextInputMessages_es from \"./intl/es\";\nimport richTextInputMessages_fr from \"./intl/fr-FR\";\nimport richTextInputMessages_pt from \"./intl/pt-BR\";\n\n// Raw LocalizedStrings object for use with useLocalizedStringFormatter hook\nexport const richTextInputMessagesStrings: LocalizedStrings<\n string,\n LocalizedString\n> = {\n en: normalizeMessages(richTextInputMessages_en),\n de: normalizeMessages(richTextInputMessages_de),\n es: normalizeMessages(richTextInputMessages_es),\n \"fr-FR\": normalizeMessages(richTextInputMessages_fr),\n \"pt-BR\": normalizeMessages(richTextInputMessages_pt),\n} as LocalizedStrings<string, LocalizedString>;\n\n/**\n * Available message keys for RichTextInput component\n */\nexport type RichTextInputMessageKey =\n | \"bold\"\n | \"bulletedList\"\n | \"code\"\n | \"headingFive\"\n | \"headingFour\"\n | \"headingOne\"\n | \"headingThree\"\n | \"headingTwo\"\n | \"italic\"\n | \"listFormatting\"\n | \"moreFormattingOptions\"\n | \"moreStyles\"\n | \"numberedList\"\n | \"paragraph\"\n | \"quote\"\n | \"redo\"\n | \"strikethrough\"\n | \"subscript\"\n | \"superscript\"\n | \"textFormatting\"\n | \"textStyle\"\n | \"textStyleMenu\"\n | \"underline\"\n | \"undo\";\n","import { useSlate } from \"slate-react\";\nimport { Menu, IconButton, Text, Box, Tooltip } from \"@/components\";\nimport {\n MoreHoriz,\n FormatStrikethrough,\n Code,\n} from \"@commercetools/nimbus-icons\";\nimport { usePreservedSelection } from \"../hooks/use-preserved-selection\";\nimport { useFormattingState } from \"../hooks/use-formatting-state\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { richTextInputMessagesStrings } from \"../rich-text-input.messages\";\n\nexport type FormattingMenuProps = {\n isDisabled?: boolean;\n};\n\nexport const FormattingMenu = ({ isDisabled = false }: FormattingMenuProps) => {\n const msg = useLocalizedStringFormatter(richTextInputMessagesStrings);\n const editor = useSlate();\n const withPreservedSelection = usePreservedSelection(editor);\n\n // Use the formatting state hook for all state management\n const { allSelectedKeys, handleAllSelectionChange } = useFormattingState({\n withPreservedSelection,\n });\n\n return (\n <Menu.Root\n selectionMode=\"multiple\"\n selectedKeys={allSelectedKeys}\n onSelectionChange={handleAllSelectionChange}\n >\n <Tooltip.Root delay={0} closeDelay={0}>\n <Menu.Trigger asChild>\n <IconButton\n size=\"xs\"\n variant=\"ghost\"\n aria-label={msg.format(\"moreFormattingOptions\")}\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n >\n <MoreHoriz />\n </IconButton>\n </Menu.Trigger>\n <Tooltip.Content placement=\"top\">\n {msg.format(\"moreStyles\")}\n </Tooltip.Content>\n </Tooltip.Root>\n <Menu.Content>\n <Menu.Item id=\"strikethrough\">\n <Box slot=\"label\" display=\"flex\" alignItems=\"center\" gap=\"200\">\n <FormatStrikethrough />\n <Text textStyle=\"sm\">{msg.format(\"strikethrough\")}</Text>\n </Box>\n </Menu.Item>\n <Menu.Item id=\"code\">\n <Box slot=\"label\" display=\"flex\" alignItems=\"center\" gap=\"200\">\n <Code />\n <Text textStyle=\"sm\">{msg.format(\"code\")}</Text>\n </Box>\n </Menu.Item>\n <Menu.Item id=\"superscript\">\n <Box slot=\"label\" display=\"flex\" alignItems=\"center\" gap=\"200\">\n <Text>X²</Text>\n <Text textStyle=\"sm\">{msg.format(\"superscript\")}</Text>\n </Box>\n </Menu.Item>\n <Menu.Item id=\"subscript\">\n <Box slot=\"label\" display=\"flex\" alignItems=\"center\" gap=\"200\">\n <Text>X₂</Text>\n <Text textStyle=\"sm\">{msg.format(\"subscript\")}</Text>\n </Box>\n </Menu.Item>\n </Menu.Content>\n </Menu.Root>\n );\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * Constants.\n */\n\nvar IS_MAC = typeof window != 'undefined' && /Mac|iPod|iPhone|iPad/.test(window.navigator.platform);\n\nvar MODIFIERS = {\n alt: 'altKey',\n control: 'ctrlKey',\n meta: 'metaKey',\n shift: 'shiftKey'\n};\n\nvar ALIASES = {\n add: '+',\n break: 'pause',\n cmd: 'meta',\n command: 'meta',\n ctl: 'control',\n ctrl: 'control',\n del: 'delete',\n down: 'arrowdown',\n esc: 'escape',\n ins: 'insert',\n left: 'arrowleft',\n mod: IS_MAC ? 'meta' : 'control',\n opt: 'alt',\n option: 'alt',\n return: 'enter',\n right: 'arrowright',\n space: ' ',\n spacebar: ' ',\n up: 'arrowup',\n win: 'meta',\n windows: 'meta'\n};\n\nvar CODES = {\n backspace: 8,\n tab: 9,\n enter: 13,\n shift: 16,\n control: 17,\n alt: 18,\n pause: 19,\n capslock: 20,\n escape: 27,\n ' ': 32,\n pageup: 33,\n pagedown: 34,\n end: 35,\n home: 36,\n arrowleft: 37,\n arrowup: 38,\n arrowright: 39,\n arrowdown: 40,\n insert: 45,\n delete: 46,\n meta: 91,\n numlock: 144,\n scrolllock: 145,\n ';': 186,\n '=': 187,\n ',': 188,\n '-': 189,\n '.': 190,\n '/': 191,\n '`': 192,\n '[': 219,\n '\\\\': 220,\n ']': 221,\n '\\'': 222\n};\n\nfor (var f = 1; f < 20; f++) {\n CODES['f' + f] = 111 + f;\n}\n\n/**\n * Is hotkey?\n */\n\nfunction isHotkey(hotkey, options, event) {\n if (options && !('byKey' in options)) {\n event = options;\n options = null;\n }\n\n if (!Array.isArray(hotkey)) {\n hotkey = [hotkey];\n }\n\n var array = hotkey.map(function (string) {\n return parseHotkey(string, options);\n });\n var check = function check(e) {\n return array.some(function (object) {\n return compareHotkey(object, e);\n });\n };\n var ret = event == null ? check : check(event);\n return ret;\n}\n\nfunction isCodeHotkey(hotkey, event) {\n return isHotkey(hotkey, event);\n}\n\nfunction isKeyHotkey(hotkey, event) {\n return isHotkey(hotkey, { byKey: true }, event);\n}\n\n/**\n * Parse.\n */\n\nfunction parseHotkey(hotkey, options) {\n var byKey = options && options.byKey;\n var ret = {};\n\n // Special case to handle the `+` key since we use it as a separator.\n hotkey = hotkey.replace('++', '+add');\n var values = hotkey.split('+');\n var length = values.length;\n\n // Ensure that all the modifiers are set to false unless the hotkey has them.\n\n for (var k in MODIFIERS) {\n ret[MODIFIERS[k]] = false;\n }\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = values[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var value = _step.value;\n\n var optional = value.endsWith('?') && value.length > 1;\n\n if (optional) {\n value = value.slice(0, -1);\n }\n\n var name = toKeyName(value);\n var modifier = MODIFIERS[name];\n\n if (value.length > 1 && !modifier && !ALIASES[value] && !CODES[name]) {\n throw new TypeError('Unknown modifier: \"' + value + '\"');\n }\n\n if (length === 1 || !modifier) {\n if (byKey) {\n ret.key = name;\n } else {\n ret.which = toKeyCode(value);\n }\n }\n\n if (modifier) {\n ret[modifier] = optional ? null : true;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return ret;\n}\n\n/**\n * Compare.\n */\n\nfunction compareHotkey(object, event) {\n for (var key in object) {\n var expected = object[key];\n var actual = void 0;\n\n if (expected == null) {\n continue;\n }\n\n if (key === 'key' && event.key != null) {\n actual = event.key.toLowerCase();\n } else if (key === 'which') {\n actual = expected === 91 && event.which === 93 ? 91 : event.which;\n } else {\n actual = event[key];\n }\n\n if (actual == null && expected === false) {\n continue;\n }\n\n if (actual !== expected) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Utils.\n */\n\nfunction toKeyCode(name) {\n name = toKeyName(name);\n var code = CODES[name] || name.toUpperCase().charCodeAt(0);\n return code;\n}\n\nfunction toKeyName(name) {\n name = name.toLowerCase();\n name = ALIASES[name] || name;\n return name;\n}\n\n/**\n * Export.\n */\n\nexports.default = isHotkey;\nexports.isHotkey = isHotkey;\nexports.isCodeHotkey = isCodeHotkey;\nexports.isKeyHotkey = isKeyHotkey;\nexports.parseHotkey = parseHotkey;\nexports.compareHotkey = compareHotkey;\nexports.toKeyCode = toKeyCode;\nexports.toKeyName = toKeyName;","/**\n * Hook for handling keyboard shortcuts in the rich text editor\n *\n * Used by:\n * - components/rich-text-editor.tsx: Attaches keyboard event handler to the editor\n *\n * Purpose:\n * - Centralizes all keyboard shortcut logic for the editor\n * - Handles formatting shortcuts (Cmd+B, Cmd+I, etc.)\n * - Manages undo/redo keyboard combinations\n * - Processes soft line breaks (Shift+Enter)\n * - Extracted from rich-text-editor.tsx to improve organization and testability\n *\n * @param editor - The Slate editor instance for applying changes\n * @returns Object containing the keyboard event handler\n */\nimport { useCallback } from \"react\";\nimport { Editor } from \"slate\";\nimport { isHotkey } from \"is-hotkey\";\nimport { HOTKEYS } from \"../constants\";\nimport { toggleMark } from \"../utils/slate-helpers\";\nimport { Softbreaker } from \"../utils/slate-helpers\";\n\nexport type UseKeyboardShortcutsProps = {\n editor: Editor;\n};\n\nexport const useKeyboardShortcuts = ({ editor }: UseKeyboardShortcutsProps) => {\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n // Handle undo/redo shortcuts\n if ((event.metaKey || event.ctrlKey) && event.key === \"z\") {\n event.preventDefault();\n if (event.shiftKey) {\n editor.redo();\n } else {\n editor.undo();\n }\n return;\n }\n\n // Handle formatting shortcuts\n for (const hotkey in HOTKEYS) {\n if (isHotkey(hotkey, event)) {\n event.preventDefault();\n const mark = HOTKEYS[hotkey as keyof typeof HOTKEYS];\n toggleMark(editor, mark);\n return;\n }\n }\n\n // Handle soft line breaks (Shift+Enter)\n if (event.shiftKey && event.key === \"Enter\") {\n event.preventDefault();\n editor.insertText(Softbreaker.placeholderCharacter);\n return;\n }\n },\n [editor]\n );\n\n return { handleKeyDown };\n};\n","import {\n useCallback,\n useImperativeHandle,\n useRef,\n type FocusEventHandler,\n type ReactNode,\n} from \"react\";\nimport { useObjectRef } from \"react-aria\";\nimport { mergeRefs } from \"@/utils\";\nimport { type Descendant, type Editor } from \"slate\";\nimport { Slate, Editable } from \"slate-react\";\nimport {\n RichTextInputEditableSlot,\n RichTextInputToolbarSlot,\n} from \"../rich-text-input.slots\";\nimport {\n Element,\n Leaf,\n focusEditor,\n resetEditor,\n} from \"../utils/slate-helpers\";\nimport { createEmptyValue } from \"../utils/html-serialization\";\nimport { useKeyboardShortcuts } from \"../hooks/use-keyboard-shortcuts\";\nimport { EDITOR_DEFAULTS } from \"../constants\";\n\nexport type RichTextEditorProps = {\n /**\n * The Slate editor instance - created by parent for controlled value support\n */\n editor: Editor;\n /**\n * Initial value for the editor\n */\n initialValue: Descendant[];\n onChange: (value: Descendant[]) => void;\n onFocus?: FocusEventHandler<HTMLDivElement>;\n onBlur?: FocusEventHandler<HTMLDivElement>;\n placeholder?: string;\n isDisabled?: boolean;\n isReadOnly?: boolean;\n autoFocus?: boolean;\n toolbar?: ReactNode;\n /**\n * React ref to be forwarded to the editor\n */\n ref?: React.Ref<RichTextEditorRef>;\n};\n\nexport type RichTextEditorRef = {\n focus: () => void;\n resetValue: (html: string) => void;\n};\n\nexport const RichTextEditor = function RichTextEditor({\n ref: forwardedRef,\n editor,\n initialValue,\n onChange,\n onFocus,\n onBlur,\n placeholder = EDITOR_DEFAULTS.placeholder,\n isDisabled = EDITOR_DEFAULTS.isDisabled,\n isReadOnly = EDITOR_DEFAULTS.isReadOnly,\n autoFocus = EDITOR_DEFAULTS.autoFocus,\n toolbar,\n}: RichTextEditorProps) {\n const localRef = useRef<RichTextEditorRef>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n\n // Handle keyboard shortcuts using hook\n const { handleKeyDown } = useKeyboardShortcuts({ editor });\n\n // Handle focus\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n if (onFocus) {\n onFocus(event);\n }\n },\n [onFocus]\n );\n\n // Handle blur\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n if (onBlur) {\n onBlur(event);\n }\n },\n [onBlur]\n );\n\n // Expose methods through ref\n useImperativeHandle(\n ref,\n () => ({\n focus: () => focusEditor(editor),\n resetValue: (html: string) => resetEditor(editor, html),\n }),\n [editor]\n );\n\n // Render element\n const renderElement = useCallback(\n (props: Parameters<typeof Element>[0]) => <Element {...props} />,\n []\n );\n\n // Render leaf\n const renderLeaf = useCallback(\n (props: Parameters<typeof Leaf>[0]) => <Leaf {...props} />,\n []\n );\n\n // Ensure we always have a valid initial value\n const defaultValue = createEmptyValue();\n const safeInitialValue =\n Array.isArray(initialValue) && initialValue.length > 0\n ? initialValue\n : defaultValue;\n\n return (\n <Slate editor={editor} initialValue={safeInitialValue} onChange={onChange}>\n {toolbar && (\n <RichTextInputToolbarSlot>{toolbar}</RichTextInputToolbarSlot>\n )}\n <RichTextInputEditableSlot asChild>\n <Editable\n renderElement={renderElement}\n renderLeaf={renderLeaf}\n placeholder={placeholder}\n autoFocus={autoFocus}\n readOnly={isReadOnly || isDisabled}\n onKeyDown={handleKeyDown}\n onFocus={handleFocus}\n onBlur={handleBlur}\n aria-label=\"Rich text editor\"\n role=\"textbox\"\n aria-multiline=\"true\"\n />\n </RichTextInputEditableSlot>\n </Slate>\n );\n};\n\nRichTextEditor.displayName = \"RichTextEditor\";\n","/**\n * Hook for managing rich text toolbar state and interactions\n *\n * Used by:\n * - components/rich-text-toolbar.tsx: Manages all toolbar state and event handlers\n *\n * Purpose:\n * - Centralizes complex toolbar state management logic\n * - Handles text style changes, list toggling, format detection\n * - Manages undo/redo button states\n * - Extracted from rich-text-toolbar.tsx to improve organization and testability\n * - Provides clean separation between UI and business logic\n *\n * @param withPreservedSelection - Function for preserving editor selection during operations\n * @returns Object containing all toolbar state and event handlers\n */\nimport { useMemo, useCallback } from \"react\";\nimport { Editor } from \"slate\";\nimport { useSlate, useSlateSelection } from \"slate-react\";\nimport type { Key } from \"react-aria\";\nimport {\n blockTypes,\n type BlockType,\n type TextStyleDefinition,\n} from \"../constants\";\nimport {\n isMarkActive,\n isBlockActive,\n toggleBlock,\n} from \"../utils/slate-helpers\";\nimport type { CustomElement } from \"../utils/types\";\n\nexport type UseToolbarStateProps = {\n withPreservedSelection: (fn: () => void) => () => void;\n textStyles: TextStyleDefinition[];\n};\n\nexport const useToolbarState = ({\n withPreservedSelection,\n textStyles,\n}: UseToolbarStateProps) => {\n const editor = useSlate();\n // Subscribe to selection changes properly\n const selection = useSlateSelection();\n\n // Get current block type - using useSlateSelection() means this automatically updates\n const currentTextStyle = useMemo(() => {\n return (\n blockTypes.find((type) =>\n isBlockActive(editor, type as CustomElement[\"type\"])\n ) || \"paragraph\"\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selection, editor.children]);\n\n const selectedTextStyle = textStyles.find((v) => v.id === currentTextStyle);\n const selectedTextStyleLabel = selectedTextStyle?.label || \"\";\n\n // Handle text style changes\n const handleTextStyleChange = useCallback(\n (styleId: string) => {\n withPreservedSelection(() => {\n toggleBlock(editor, styleId as BlockType);\n })();\n },\n [editor, withPreservedSelection]\n );\n\n // Handle list formatting\n const handleListToggle = useCallback(\n (selectedKeys: Set<Key>) => {\n withPreservedSelection(() => {\n const selected = Array.from(selectedKeys)[0] as BlockType | undefined;\n const currentlyActive = isBlockActive(editor, \"bulleted-list\")\n ? \"bulleted-list\"\n : isBlockActive(editor, \"numbered-list\")\n ? \"numbered-list\"\n : null;\n\n if (selected) {\n toggleBlock(editor, selected);\n } else if (currentlyActive) {\n toggleBlock(editor, currentlyActive);\n }\n })();\n },\n [editor, withPreservedSelection]\n );\n\n // Get currently selected formatting keys - simplified deps\n const selectedFormatKeys = useMemo(() => {\n const keys: string[] = [];\n if (isMarkActive(editor, \"bold\")) keys.push(\"bold\");\n if (isMarkActive(editor, \"italic\")) keys.push(\"italic\");\n if (isMarkActive(editor, \"underline\")) keys.push(\"underline\");\n return new Set(keys);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selection, editor.children, Editor.marks(editor)]);\n\n // Get currently selected list formatting key\n const selectedListKeys = useMemo(() => {\n const keys: string[] = [];\n if (isBlockActive(editor, \"bulleted-list\")) keys.push(\"bulleted-list\");\n if (isBlockActive(editor, \"numbered-list\")) keys.push(\"numbered-list\");\n return new Set(keys);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selection, editor.children]);\n\n // Check history state for undo/redo buttons\n const hasUndos = useMemo(() => {\n return editor.history && editor.history.undos.length > 0;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selection, editor.children]);\n\n const hasRedos = useMemo(() => {\n return editor.history && editor.history.redos.length > 0;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selection, editor.children]);\n\n return {\n currentTextStyle,\n selectedTextStyle,\n selectedTextStyleLabel,\n handleTextStyleChange,\n handleListToggle,\n selectedFormatKeys,\n selectedListKeys,\n hasUndos,\n hasRedos,\n };\n};\n","import { useSlate } from \"slate-react\";\nimport {\n Toolbar,\n Menu,\n VisuallyHidden,\n Separator,\n ToggleButtonGroup,\n IconButton,\n Text,\n Box,\n Tooltip,\n} from \"@/components\";\nimport { IconToggleButton } from \"@/components/icon-toggle-button/icon-toggle-button\";\nimport { Group } from \"@/components/group/group\";\nimport {\n FormatBold,\n FormatItalic,\n FormatUnderlined,\n FormatListBulleted,\n FormatListNumbered,\n KeyboardArrowDown,\n Undo,\n Redo,\n} from \"@commercetools/nimbus-icons\";\nimport { toggleMark } from \"../utils/slate-helpers\";\nimport { usePreservedSelection } from \"../hooks/use-preserved-selection\";\nimport { useToolbarState } from \"../hooks/use-toolbar-state\";\nimport { getTextStyles } from \"../constants\";\nimport { FormattingMenu } from \"./formatting-menu\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { richTextInputMessagesStrings } from \"../rich-text-input.messages\";\n\nexport type RichTextToolbarProps = {\n isDisabled?: boolean;\n};\n\nexport const RichTextToolbar = ({\n isDisabled = false,\n}: RichTextToolbarProps) => {\n const msg = useLocalizedStringFormatter(richTextInputMessagesStrings);\n const editor = useSlate();\n const withPreservedSelection = usePreservedSelection(editor);\n\n // Get localized text styles\n const textStyles = getTextStyles(msg.format);\n\n // Use the toolbar state hook for all state management\n const {\n currentTextStyle,\n selectedTextStyleLabel,\n handleTextStyleChange,\n handleListToggle,\n selectedFormatKeys,\n selectedListKeys,\n hasUndos,\n hasRedos,\n } = useToolbarState({ withPreservedSelection, textStyles });\n\n return (\n <Toolbar\n orientation=\"horizontal\"\n aria-label={msg.format(\"textFormatting\")}\n width=\"full\"\n overflow=\"hidden\"\n size=\"xs\"\n >\n {/* Text Style Menu */}\n <Group>\n <Menu.Root\n onAction={(styleId) => handleTextStyleChange(String(styleId))}\n >\n <Tooltip.Root delay={0} closeDelay={0}>\n {/* Menu trigger styles mimic the Select component */}\n <Menu.Trigger\n height=\"800\"\n width=\"4000\"\n bg=\"primary.1\"\n borderRadius=\"200\"\n _hover={{ bg: \"primary.2\" }}\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n aria-label={msg.format(\"textStyleMenu\")}\n >\n <Box display=\"flex\" alignItems=\"center\" gap=\"200\" px=\"200\">\n <Box display=\"flex\" alignItems=\"center\" gap=\"200\" flexGrow=\"1\">\n <Text my=\"auto\" textStyle=\"sm\" fontWeight=\"500\">\n {selectedTextStyleLabel}\n </Text>\n </Box>\n <KeyboardArrowDown />\n </Box>\n </Menu.Trigger>\n <Tooltip.Content placement=\"top\">\n {msg.format(\"textStyle\")}\n </Tooltip.Content>\n </Tooltip.Root>\n <Menu.Content>\n {textStyles.map((style) => (\n <Menu.Item\n key={style.id}\n id={style.id}\n {...(currentTextStyle === style.id && {\n \"data-state\": \"checked\",\n })}\n >\n <Text {...style.props}>{style.label}</Text>\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu.Root>\n </Group>\n\n <Separator orientation=\"vertical\" />\n\n {/* Text Formatting Toggles */}\n <ToggleButtonGroup.Root\n selectionMode=\"multiple\"\n selectedKeys={selectedFormatKeys}\n isDisabled={isDisabled}\n >\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconToggleButton\n id=\"bold\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label={msg.format(\"bold\")}\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n onPress={withPreservedSelection(() => toggleMark(editor, \"bold\"))}\n >\n <FormatBold />\n <VisuallyHidden>{msg.format(\"bold\")}</VisuallyHidden>\n </IconToggleButton>\n <Tooltip.Content placement=\"top\">\n {msg.format(\"bold\")}\n </Tooltip.Content>\n </Tooltip.Root>\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconToggleButton\n id=\"italic\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label={msg.format(\"italic\")}\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n onPress={withPreservedSelection(() => toggleMark(editor, \"italic\"))}\n >\n <FormatItalic />\n <VisuallyHidden>{msg.format(\"italic\")}</VisuallyHidden>\n </IconToggleButton>\n <Tooltip.Content placement=\"top\">\n {msg.format(\"italic\")}\n </Tooltip.Content>\n </Tooltip.Root>\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconToggleButton\n id=\"underline\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label={msg.format(\"underline\")}\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n onPress={withPreservedSelection(() =>\n toggleMark(editor, \"underline\")\n )}\n >\n <FormatUnderlined />\n <VisuallyHidden>{msg.format(\"underline\")}</VisuallyHidden>\n </IconToggleButton>\n <Tooltip.Content placement=\"top\">\n {msg.format(\"underline\")}\n </Tooltip.Content>\n </Tooltip.Root>\n </ToggleButtonGroup.Root>\n\n {/* Formatting Menu for additional options */}\n <FormattingMenu isDisabled={isDisabled} />\n\n <Separator orientation=\"vertical\" />\n\n {/* Lists & Indentation */}\n <ToggleButtonGroup.Root\n selectionMode=\"single\"\n selectedKeys={selectedListKeys}\n onSelectionChange={handleListToggle}\n aria-label={msg.format(\"listFormatting\")}\n isDisabled={isDisabled}\n >\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconToggleButton\n id=\"bulleted-list\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label={msg.format(\"bulletedList\")}\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n >\n <FormatListBulleted />\n </IconToggleButton>\n <Tooltip.Content placement=\"top\">\n {msg.format(\"bulletedList\")}\n </Tooltip.Content>\n </Tooltip.Root>\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconToggleButton\n id=\"numbered-list\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label={msg.format(\"numberedList\")}\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n >\n <FormatListNumbered />\n </IconToggleButton>\n <Tooltip.Content placement=\"top\">\n {msg.format(\"numberedList\")}\n </Tooltip.Content>\n </Tooltip.Root>\n </ToggleButtonGroup.Root>\n\n {/* Spacer to push undo/redo buttons to the right */}\n <Box flexGrow=\"1\" />\n\n <Group>\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconButton\n size=\"xs\"\n variant=\"ghost\"\n aria-label={msg.format(\"undo\")}\n isDisabled={!hasUndos || isDisabled}\n onPress={withPreservedSelection(() => editor.undo())}\n onMouseDown={(event) => event.preventDefault()}\n >\n <Undo />\n <VisuallyHidden>{msg.format(\"undo\")}</VisuallyHidden>\n </IconButton>\n <Tooltip.Content placement=\"top\">\n {msg.format(\"undo\")}\n </Tooltip.Content>\n </Tooltip.Root>\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconButton\n size=\"xs\"\n variant=\"ghost\"\n aria-label={msg.format(\"redo\")}\n isDisabled={!hasRedos || isDisabled}\n onPress={withPreservedSelection(() => editor.redo())}\n onMouseDown={(event) => event.preventDefault()}\n >\n <Redo />\n <VisuallyHidden>{msg.format(\"redo\")}</VisuallyHidden>\n </IconButton>\n <Tooltip.Content placement=\"top\">\n {msg.format(\"redo\")}\n </Tooltip.Content>\n </Tooltip.Root>\n </Group>\n </Toolbar>\n );\n};\n\nRichTextToolbar.displayName = \"RichTextToolbar\";\n","import { useState, useCallback, useRef, useEffect, useMemo } from \"react\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { createEditor } from \"slate\";\nimport { withReact } from \"slate-react\";\nimport { withHistory } from \"slate-history\";\nimport { extractStyleProps } from \"@/utils\";\nimport { RichTextInputRootSlot } from \"./rich-text-input.slots\";\nimport {\n RichTextEditor,\n RichTextToolbar,\n type RichTextEditorRef,\n} from \"./components\";\nimport type { RichTextInputProps } from \"./rich-text-input.types\";\nimport {\n toHTML,\n fromHTML,\n createEmptyValue,\n validSlateStateAdapter,\n withLinks,\n} from \"./utils\";\nimport { richTextInputRecipe } from \"./rich-text-input.recipe\";\n\n/**\n RichTextInput - A rich text input component with formatting capabilities.\n */\nexport const RichTextInput = (props: RichTextInputProps) => {\n const {\n ref: forwardedRef,\n value,\n defaultValue,\n onChange,\n onFocus,\n onBlur,\n placeholder = \"\",\n isDisabled = false,\n isReadOnly = false,\n isInvalid = false,\n autoFocus = false,\n ...restProps\n } = props;\n\n const recipe = useSlotRecipe({ recipe: richTextInputRecipe });\n const [recipeProps, remainingProps] = recipe.splitVariantProps({\n // Only semantic variants go here (none currently defined)\n ...restProps,\n });\n const [styleProps, functionalProps] = extractStyleProps(remainingProps);\n\n // Data attributes for state-based styling\n const dataAttributes = {\n \"data-disabled\": isDisabled ? \"true\" : undefined,\n \"data-invalid\": isInvalid ? \"true\" : undefined,\n \"data-readonly\": isReadOnly ? \"true\" : undefined,\n };\n\n // Create editor instance - lifted from RichTextEditor for controlled value support\n // In Slate, the editor is uncontrolled and initialValue is only used on mount.\n // By owning the editor here, we can directly update editor.children for controlled updates.\n const editor = useMemo(() => {\n const baseEditor = createEditor();\n return withLinks(withHistory(withReact(baseEditor)));\n }, []);\n\n // Compute initial value once for the Slate component's initialValue prop\n const initialSlateValue = useMemo(() => {\n const initialHtml = value ?? defaultValue ?? \"\";\n try {\n return initialHtml ? fromHTML(initialHtml) : createEmptyValue();\n } catch (error) {\n console.warn(\"Failed to parse initial HTML, using empty value:\", error);\n return createEmptyValue();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []); // Empty deps - only compute once on mount\n\n // Track the current serialized value for change detection\n const [serializedValue, setSerializedValue] = useState(() => {\n return value ?? defaultValue ?? \"\";\n });\n\n // Track if we're in the middle of an internal change to avoid loops\n const isInternalChangeRef = useRef(false);\n\n const editorRef = useRef<RichTextEditorRef>(null);\n\n // Handle controlled value changes from parent\n // In Slate, we must directly update editor.children since the component is uncontrolled\n useEffect(() => {\n // Skip if this is an internal change (user typing) or if value matches\n if (\n isInternalChangeRef.current ||\n value === undefined ||\n value === serializedValue\n ) {\n isInternalChangeRef.current = false;\n return;\n }\n\n // External value change - update editor content directly\n const newSlateValue = value ? fromHTML(value) : createEmptyValue();\n const validatedValue = validSlateStateAdapter(newSlateValue);\n\n // Replace editor content directly (Slate pattern)\n // Set children and selection atomically before triggering onChange\n editor.children = validatedValue;\n\n // Reset selection to null first, then set to start after DOM sync\n // This avoids \"Cannot resolve a DOM point\" errors\n editor.selection = null;\n\n // Clear history since this is an external reset - preserves clean undo state\n if (editor.history) {\n editor.history.undos = [];\n editor.history.redos = [];\n }\n\n // Update our tracked value\n setSerializedValue(value);\n\n // Trigger a re-render to sync DOM with new state\n editor.onChange();\n }, [value, serializedValue, editor]);\n\n const handleChange = useCallback(\n (slateValue: ReturnType<typeof createEmptyValue>) => {\n const newHtml = toHTML(slateValue);\n const hasSerializedValueChanged = newHtml !== serializedValue;\n\n // Mark this as an internal change to prevent useEffect from overwriting\n if (hasSerializedValueChanged) {\n isInternalChangeRef.current = true;\n setSerializedValue(newHtml);\n\n // Call onChange if the serialized HTML actually changed\n if (onChange) {\n onChange(newHtml);\n }\n }\n },\n [serializedValue, onChange]\n );\n\n // Safety check: ensure we always have a valid Slate value for initial render\n const safeInitialValue = validSlateStateAdapter(initialSlateValue);\n\n return (\n <RichTextInputRootSlot\n role=\"group\"\n {...recipeProps}\n {...styleProps}\n {...functionalProps}\n {...dataAttributes}\n ref={forwardedRef}\n >\n <RichTextEditor\n ref={editorRef}\n editor={editor}\n initialValue={safeInitialValue}\n onChange={handleChange}\n onFocus={onFocus}\n onBlur={onBlur}\n placeholder={placeholder}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n autoFocus={autoFocus}\n toolbar={\n !isReadOnly ? <RichTextToolbar isDisabled={isDisabled} /> : null\n }\n />\n </RichTextInputRootSlot>\n );\n};\n\nRichTextInput.displayName = \"RichTextInput\";\n"],"x_google_ignoreList":[4,15],"mappings":"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"}
|