@ryuzaki13/react-foundation-ui 3.1.6 → 3.1.8
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/chunks/{TextEditorLexicalClient-C5AV8Fcu.js → TextEditorLexicalClient-C8nSoz85.js} +321 -266
- package/dist/chunks/TextEditorLexicalClient-C8nSoz85.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/text-editor/LinkDialog.d.ts.map +1 -1
- package/dist/text-editor/SemanticDialog.d.ts.map +1 -1
- package/dist/text-editor/TextEditorDialogs.d.ts +7 -6
- package/dist/text-editor/TextEditorDialogs.d.ts.map +1 -1
- package/dist/text-editor/TimeDialog.d.ts +1 -6
- package/dist/text-editor/TimeDialog.d.ts.map +1 -1
- package/dist/text-editor/index.js +1 -1
- package/dist/text-editor/lib/selection/findSelectedInlineNode.d.ts +4 -0
- package/dist/text-editor/lib/selection/findSelectedInlineNode.d.ts.map +1 -0
- package/dist/text-editor/lib/selection/{restoreLinkDialogSelection.d.ts → restoreEditorDialogSelection.d.ts} +4 -4
- package/dist/text-editor/lib/selection/restoreEditorDialogSelection.d.ts.map +1 -0
- package/dist/text-editor/lib/semantic/getTimeDialogInitialState.d.ts +4 -0
- package/dist/text-editor/lib/semantic/getTimeDialogInitialState.d.ts.map +1 -0
- package/dist/text-editor/lib/semantic/isSemanticDateTime.d.ts +3 -0
- package/dist/text-editor/lib/semantic/isSemanticDateTime.d.ts.map +1 -0
- package/dist/text-editor/model/hooks/useTextEditorLexicalActions.d.ts +3 -2
- package/dist/text-editor/model/hooks/useTextEditorLexicalActions.d.ts.map +1 -1
- package/dist/text-editor/model/semanticDialogState.d.ts +6 -0
- package/dist/text-editor/model/semanticDialogState.d.ts.map +1 -0
- package/dist/text-editor/model/timeDialogState.d.ts +8 -0
- package/dist/text-editor/model/timeDialogState.d.ts.map +1 -0
- package/dist/text-editor/semanticTagConfigs.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/styles/_tone-derived.scss +2 -2
- package/src/styles/mixins/controls.test.ts +2 -2
- package/src/styles/themes/theme.test.ts +2 -2
- package/storybook-static/assets/{Badge-B6Og6UVE.js → Badge-CGKgoaOT.js} +1 -1
- package/storybook-static/assets/{Badge.stories-Y8jQ6xzf.js → Badge.stories-i9aNoJyv.js} +1 -1
- package/storybook-static/assets/{BadgeList-ByEklYYB.js → BadgeList-DGuIP0LP.js} +1 -1
- package/storybook-static/assets/{BarcodeScannerDialog.stories-Bohjc03J.js → BarcodeScannerDialog.stories-DoBmeXbI.js} +1 -1
- package/storybook-static/assets/{Button-WGHCMmFV.js → Button-BRUZ_IGh.js} +1 -1
- package/storybook-static/assets/{Button-CzfvYVN0.js → Button-DiJ6oS7B.js} +1 -1
- package/storybook-static/assets/{Button.stories-HOlQaweN.js → Button.stories-C61UJ0UZ.js} +1 -1
- package/storybook-static/assets/{CalendarView-B_Hp-F98.js → CalendarView-RAiUoboD.js} +1 -1
- package/storybook-static/assets/{CheckBox-CTyR-Jte.js → CheckBox-C5a-2KKy.js} +1 -1
- package/storybook-static/assets/{CheckBox-D9lGwSZb.js → CheckBox-D0uqOjIv.js} +1 -1
- package/storybook-static/assets/{CheckBox.stories-BAha9LgP.js → CheckBox.stories-C0T2kCPz.js} +1 -1
- package/storybook-static/assets/{Color-6AOWCN3U-CO-MGWvo.js → Color-6AOWCN3U-CvYJNQrT.js} +1 -1
- package/storybook-static/assets/{ContextMenu-CodHmHry.js → ContextMenu-DqvtEW9u.js} +1 -1
- package/storybook-static/assets/{ContextMenu-DwXeX2wk.js → ContextMenu-Iv5pmyEC.js} +1 -1
- package/storybook-static/assets/{ContextMenu.stories-CqKP9h3l.js → ContextMenu.stories-B5Ht0lJ2.js} +1 -1
- package/storybook-static/assets/{CustomOptionButton-CXaosofW.js → CustomOptionButton-3GcvPdc2.js} +1 -1
- package/storybook-static/assets/{DateInput-DNXvE6xA.js → DateInput-CHcIWgKG.js} +1 -1
- package/storybook-static/assets/{DateInput-BHWcWr2E.js → DateInput-by2R6A6q.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-5u7LIIaJ.js → DateInput.stories-D70t88Sg.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-C111lspF.js → DateRangePresetSelect-DUJN_TNv.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-BKRTKqXH.js → DateRangePresetSelect-Dh-v2Qkl.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect.stories-DFOrdKQc.js → DateRangePresetSelect.stories-BeLMGpM0.js} +1 -1
- package/storybook-static/assets/{Detail-4sDMdWLS.js → Detail-Th1wT04G.js} +1 -1
- package/storybook-static/assets/{Detail.stories-BGxbxX91.js → Detail.stories-BbSMHAPR.js} +1 -1
- package/storybook-static/assets/{Dialog-CuAhkinq.js → Dialog-CxRQ69iW.js} +1 -1
- package/storybook-static/assets/{Dialog-CRs_GL2B.js → Dialog-DzGq_rLA.js} +1 -1
- package/storybook-static/assets/{Dialog.stories-B5jkUlLt.js → Dialog.stories-B3GuNpQj.js} +1 -1
- package/storybook-static/assets/{Disclosure-BQ_rrNV9.js → Disclosure-CYksrXLX.js} +1 -1
- package/storybook-static/assets/{Disclosure.stories-BuUjHyiq.js → Disclosure.stories-CKcR0hTV.js} +1 -1
- package/storybook-static/assets/{DisclosureGroup-Cly4iJnf.js → DisclosureGroup-C5D7hPT1.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-JROSPFPF-B01x7Kl9.js → DocsRenderer-JROSPFPF-BWC3spk3.js} +1 -1
- package/storybook-static/assets/{DropZone-C6k3XOJF.js → DropZone-CPNBiUzj.js} +1 -1
- package/storybook-static/assets/{DropZone-DL_yIXuD.js → DropZone-Crt0HKOd.js} +1 -1
- package/storybook-static/assets/{DropZone.stories-BFH3dEEm.js → DropZone.stories-D5NyRYy2.js} +1 -1
- package/storybook-static/assets/{DropdownMenu-CU7X8sLE.js → DropdownMenu-D2e_ccAs.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel-CzFhZDYx.js → ExpandableActionPanel-BM0P1W9f.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel.stories-XniCmcZW.js → ExpandableActionPanel.stories-BFSoZUxl.js} +1 -1
- package/storybook-static/assets/{Flex-BrBESVUB.js → Flex-QsiLUb9i.js} +1 -1
- package/storybook-static/assets/{Flex.stories-dJgIXHb_.js → Flex.stories-pn6ASHJz.js} +1 -1
- package/storybook-static/assets/{FloatingPopover-C1u_9mzp.js → FloatingPopover-BtDieyRu.js} +1 -1
- package/storybook-static/assets/{FormattedTableCell-C9M4dCzX.js → FormattedTableCell-BbWhFlYw.js} +1 -1
- package/storybook-static/assets/{Grid-sQskx6CV.js → Grid-Dm6QeLBk.js} +1 -1
- package/storybook-static/assets/{Grid.stories-CBoKs38A.js → Grid.stories-D4nnxkIL.js} +1 -1
- package/storybook-static/assets/{ImageCropper.stories-Cn0-GFGo.js → ImageCropper.stories-coYi48Mc.js} +1 -1
- package/storybook-static/assets/{ImageRenderer-Ct9NBJEo.js → ImageRenderer-B1Trwu0E.js} +1 -1
- package/storybook-static/assets/{ImageRenderer.stories-C3eIpIWW.js → ImageRenderer.stories-CsOTPsZO.js} +1 -1
- package/storybook-static/assets/{ImageView.stories-CALbllxz.js → ImageView.stories-wc6BsWWh.js} +1 -1
- package/storybook-static/assets/{ImageViewer.stories-CiK-JNEX.js → ImageViewer.stories-Sy88ikfh.js} +2 -2
- package/storybook-static/assets/{ImageViewerRuntime-Vq-2fqO1.js → ImageViewerRuntime-sy7ps8-7.js} +1 -1
- package/storybook-static/assets/{Input-BV2d-48g.js → Input-BUVF08VR.js} +1 -1
- package/storybook-static/assets/{Input-1MkfDi8C.js → Input-CT9sLrCJ.js} +1 -1
- package/storybook-static/assets/{Input.stories-D4Uqkpu1.js → Input.stories-8kUFLjlM.js} +1 -1
- package/storybook-static/assets/{InputDateTime-DaVUT9Y2.js → InputDateTime-2Nauz9MM.js} +1 -1
- package/storybook-static/assets/{InputDateTime.stories-D3q91R_Y.js → InputDateTime.stories-BMyb52Xd.js} +1 -1
- package/storybook-static/assets/{InputFile-DIEJKcQ2.js → InputFile-DPKTxgu5.js} +1 -1
- package/storybook-static/assets/{InputFile-BM2EvGBY.js → InputFile-DujqGE1f.js} +1 -1
- package/storybook-static/assets/{InputFile.stories-CFLKVlAb.js → InputFile.stories-BE6y42w-.js} +1 -1
- package/storybook-static/assets/{InputFiles-Dymha-s4.js → InputFiles-BGDkGF82.js} +1 -1
- package/storybook-static/assets/{InputFiles-SVU716qz.js → InputFiles-CMKKDgOp.js} +1 -1
- package/storybook-static/assets/{InputFiles.stories-876z6fUa.js → InputFiles.stories-BXiiB_vN.js} +1 -1
- package/storybook-static/assets/{InputFilesList-Dfz6D0Yp.js → InputFilesList-Ct4wyqhc.js} +1 -1
- package/storybook-static/assets/{InputImage-DuwVh84j.js → InputImage-B9T9DRvO.js} +1 -1
- package/storybook-static/assets/{InputImage-CchKi_x0.js → InputImage-Cq0HuN_r.js} +1 -1
- package/storybook-static/assets/{InputImage.stories-KM1cyyGm.js → InputImage.stories-CxUEJeEk.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents-BFxnZcvy.js → InteractiveComponents-BTJQRW4N.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents.stories-CNQboF-0.js → InteractiveComponents.stories-DP2zq7AQ.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-CKHxuOwF.js → LayoutPicker-BYaNFZ7r.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-DyhWfa3w.js → LayoutPicker-C0VV2U3U.js} +1 -1
- package/storybook-static/assets/{LayoutPicker.stories-BDk-kRGJ.js → LayoutPicker.stories-BTeQtDNX.js} +1 -1
- package/storybook-static/assets/{Listbox-MHXc4s4I.js → Listbox-Ccn3QRv2.js} +1 -1
- package/storybook-static/assets/{Listbox-C3xrWD3i.js → Listbox-DmN74-p1.js} +1 -1
- package/storybook-static/assets/{Listbox.stories-SdjQVldm.js → Listbox.stories-D-uh5Nn_.js} +1 -1
- package/storybook-static/assets/{Modal-C_SwnkB6.js → Modal-BNhb1SS7.js} +1 -1
- package/storybook-static/assets/{Modal-mbyMEEh_.js → Modal-O8LKBLnY.js} +1 -1
- package/storybook-static/assets/{Modal.stories-B7cBI2g8.js → Modal.stories-St9IEb_s.js} +1 -1
- package/storybook-static/assets/{ModalManagerProvider-D72G8f1_.js → ModalManagerProvider-B2vDDcbl.js} +1 -1
- package/storybook-static/assets/{MultiSelect-CsS8yuhH.js → MultiSelect-Cxld2Hu4.js} +1 -1
- package/storybook-static/assets/{MultiSelect-DiLAnCV1.js → MultiSelect-DCnAlvuc.js} +1 -1
- package/storybook-static/assets/{MultiSelect.stories-GX-PsmlW.js → MultiSelect.stories-DY7gdIj8.js} +1 -1
- package/storybook-static/assets/{NoData-DhfGsq0Y.js → NoData-DzxXkKzF.js} +1 -1
- package/storybook-static/assets/{NotificationsHost-F7miHRxj.js → NotificationsHost-BMit8cBh.js} +1 -1
- package/storybook-static/assets/{NotificationsHost.stories-BSNlr-Zf.js → NotificationsHost.stories-CBNjvTz8.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect-BrEDJ--q.js → ODataMultiSelect-BNqAqnqH.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect.stories-CKSvFkQe.js → ODataMultiSelect.stories-DeNeHZqJ.js} +1 -1
- package/storybook-static/assets/{ODataSelect-CDWkvQGy.js → ODataSelect-BvZOTc8b.js} +1 -1
- package/storybook-static/assets/{ODataSelect.stories-KDMPXIed.js → ODataSelect.stories-B0Sqy2-f.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect-Dqd3POrC.js → ODataTreeMultiSelect-Bte_2QXh.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect.stories-G3CDA58x.js → ODataTreeMultiSelect.stories-CrgIg1HR.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect-abQ-Z9Wi.js → ODataTreeSelect-BjyH-uB-.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect.stories-Dcpo7VgR.js → ODataTreeSelect.stories-BSIyG21o.js} +1 -1
- package/storybook-static/assets/{OneStepScroller-DXCGrPxK.js → OneStepScroller-CJHeiy3o.js} +1 -1
- package/storybook-static/assets/{Option-DI4jcP42.js → Option-CK-LHNXk.js} +1 -1
- package/storybook-static/assets/{OptionButton-BaA-6nte.js → OptionButton-DPqMza2z.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-2uoyFczC.js → PeriodSelect-CKHLTmIk.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-CQp79Sdm.js → PeriodSelect-S5Czecu2.js} +1 -1
- package/storybook-static/assets/{PeriodSelect.stories-DJYlwiH7.js → PeriodSelect.stories-BOBLCzVf.js} +1 -1
- package/storybook-static/assets/{PickerField-B433sVF7.js → PickerField-TUtQIm63.js} +1 -1
- package/storybook-static/assets/{PickerTriggerActions-CBptTVo6.js → PickerTriggerActions-wMALj9-p.js} +1 -1
- package/storybook-static/assets/{Popover-CBROhzfx.js → Popover-5ne8M-Zd.js} +1 -1
- package/storybook-static/assets/{Popover-CRqET776.js → Popover-BdclceiF.js} +1 -1
- package/storybook-static/assets/{Popover.stories-CIkEONQ4.js → Popover.stories-C51wGati.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-RIoY1cHq.js → PresetRangeDateInput-BXnxuAmk.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-C-2VuGT9.js → PresetRangeDateInput-B_-CDJon.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput.stories-BpBvzatt.js → PresetRangeDateInput.stories-BUjmXD68.js} +1 -1
- package/storybook-static/assets/{PresetSelect-aAiJLFsL.js → PresetSelect-Bd4FUHIi.js} +1 -1
- package/storybook-static/assets/{README-D2LpyhiU.js → README-45v65tgb.js} +1 -1
- package/storybook-static/assets/{README-BR7sRCP1.js → README-5KE99TF2.js} +1 -1
- package/storybook-static/assets/{README-5-GNdZN9.js → README-BL0yiwEU.js} +1 -1
- package/storybook-static/assets/{README-2lecZnV9.js → README-BSVseuTL.js} +1 -1
- package/storybook-static/assets/{README-BXMF4ZE9.js → README-BefKCPhg.js} +1 -1
- package/storybook-static/assets/{README-CmJE6c2e.js → README-BiAx5NSA.js} +1 -1
- package/storybook-static/assets/{README-CQ3ZW01_.js → README-BkkUFzXi.js} +1 -1
- package/storybook-static/assets/{README-Gv0W7tN2.js → README-BwOKJQXr.js} +1 -1
- package/storybook-static/assets/{README-BUVbZp60.js → README-C0Me54f2.js} +1 -1
- package/storybook-static/assets/{README-D9cZ1q9L.js → README-C98k-qzm.js} +1 -1
- package/storybook-static/assets/{README-X3aQ25Ja.js → README-CAIBz2Pu.js} +1 -1
- package/storybook-static/assets/{README-BkAReINf.js → README-CDTtRpZD.js} +1 -1
- package/storybook-static/assets/{README-EMJonmbz.js → README-CHLnNblC.js} +1 -1
- package/storybook-static/assets/{README-CMoDXR2t.js → README-CIDXaDcb.js} +1 -1
- package/storybook-static/assets/{README-DxMh3v08.js → README-CIendGsK.js} +1 -1
- package/storybook-static/assets/{README-DTvo1Jxx.js → README-CIvbWbRp.js} +1 -1
- package/storybook-static/assets/{README-CDvy-REx.js → README-CJFJvC1n.js} +1 -1
- package/storybook-static/assets/{README-Do6lAlYD.js → README-CQhQk1LE.js} +1 -1
- package/storybook-static/assets/{README-CnrFV8xO.js → README-CUyldYwH.js} +1 -1
- package/storybook-static/assets/{README-D5iLJXLn.js → README-C__cHg9V.js} +1 -1
- package/storybook-static/assets/{README-DapO9fbC.js → README-CbrUszxE.js} +1 -1
- package/storybook-static/assets/{README-CVd04gqJ.js → README-Cc3HEb4Y.js} +1 -1
- package/storybook-static/assets/{README-DBnGLmhY.js → README-CdJril4I.js} +1 -1
- package/storybook-static/assets/{README-B0DO0m2g.js → README-Cg_7RN5U.js} +1 -1
- package/storybook-static/assets/{README-Fhe8SOlO.js → README-CjRdw4MT.js} +1 -1
- package/storybook-static/assets/{README-AVlSVj_Z.js → README-CmXresuq.js} +1 -1
- package/storybook-static/assets/{README-2w2pQmxD.js → README-Cr6jZrGX.js} +1 -1
- package/storybook-static/assets/{README-C8MRNC5G.js → README-D48E1qmm.js} +1 -1
- package/storybook-static/assets/{README-2Ac43H-c.js → README-D9XuOQkQ.js} +1 -1
- package/storybook-static/assets/{README-XmvtpKdS.js → README-DIoZ6_Nt.js} +1 -1
- package/storybook-static/assets/{README-C87VzSk1.js → README-DMHOfLH5.js} +1 -1
- package/storybook-static/assets/{README-BEBv_90m.js → README-DMLYR9xF.js} +1 -1
- package/storybook-static/assets/{README-D7H6t-P0.js → README-DQ__Q7Ey.js} +1 -1
- package/storybook-static/assets/{README-CDAy6HYa.js → README-DRUmaTJT.js} +1 -1
- package/storybook-static/assets/{README-DDEkpntE.js → README-DRfAs-wk.js} +1 -1
- package/storybook-static/assets/{README-Dexv1ecP.js → README-DS24mdf2.js} +1 -1
- package/storybook-static/assets/{README-BArOMr3S.js → README-DUipcgoY.js} +1 -1
- package/storybook-static/assets/{README-DoAN09zf.js → README-DW4XJxBH.js} +1 -1
- package/storybook-static/assets/{README-CEj1mj3K.js → README-DaQkCBRs.js} +1 -1
- package/storybook-static/assets/{README-CHOiATdO.js → README-DdgLvBsx.js} +1 -1
- package/storybook-static/assets/{README-DkDDP_XY.js → README-DiemVtPJ.js} +1 -1
- package/storybook-static/assets/{README-PC3vsfeN.js → README-DklY30z7.js} +1 -1
- package/storybook-static/assets/{README-BylmgCQA.js → README-DmLvQmWp.js} +1 -1
- package/storybook-static/assets/{README-_oaNj1TQ.js → README-IGC3se8f.js} +1 -1
- package/storybook-static/assets/{README-CTpVa1A5.js → README-OiHYHOl_.js} +1 -1
- package/storybook-static/assets/{README-BFqiL-st.js → README-SlTaZ2xs.js} +1 -1
- package/storybook-static/assets/{README-BeGOjXCc.js → README-e4yZUXj6.js} +1 -1
- package/storybook-static/assets/{README-Dl-nRC5G.js → README-mQnpOAU8.js} +1 -1
- package/storybook-static/assets/{README-D3jtLyto.js → README-qj4Gd-W-.js} +1 -1
- package/storybook-static/assets/{README-DJRXA1w-.js → README-rUdZkaA1.js} +1 -1
- package/storybook-static/assets/{README-B5B_gBov.js → README-v2tTAEez.js} +1 -1
- package/storybook-static/assets/{README-DDcI1o2v.js → README-vYsEhLrp.js} +1 -1
- package/storybook-static/assets/{README-BYLzFZiB.js → README-y_Ddsi4l.js} +1 -1
- package/storybook-static/assets/{RadioButton-CulVUtkx.js → RadioButton-BDM8BzFQ.js} +1 -1
- package/storybook-static/assets/{RadioButton-DbMyIVkS.js → RadioButton-QuMmeBZH.js} +1 -1
- package/storybook-static/assets/{RadioButton.stories-SPV2hhcz.js → RadioButton.stories-BeqREYcm.js} +1 -1
- package/storybook-static/assets/{RadioGroup-CBfQb6uC.js → RadioGroup-BbbewnoI.js} +1 -1
- package/storybook-static/assets/{RadioGroup-Qet11128.js → RadioGroup-D8dI118U.js} +1 -1
- package/storybook-static/assets/{RadioGroup.stories-CMB3tT6Z.js → RadioGroup.stories-Ddq5l2jE.js} +1 -1
- package/storybook-static/assets/{Scrollable-SSbAuXUH.js → Scrollable-EZ9ebrsL.js} +1 -1
- package/storybook-static/assets/{Select-Ddq3-1GC.js → Select-BU63Qvsd.js} +1 -1
- package/storybook-static/assets/{Select-C683dQIw.js → Select-CUfuYdMM.js} +1 -1
- package/storybook-static/assets/{Select.stories-DUBMNRfp.js → Select.stories-B44LsEJc.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-D4OzMlwC.js → SerializableSelect-CZezimfR.js} +1 -1
- package/storybook-static/assets/{SerializableSelect.stories-DudrF2Zl.js → SerializableSelect.stories-v-Cy4wXF.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-C9hxKyag.js → SingleDateTimeInput-D8BjD3KJ.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-hSJ1Ffqd.js → SingleDateTimeInput-DQsZg3ir.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput.stories-B2O1oeR2.js → SingleDateTimeInput.stories-BoAa-w6A.js} +1 -1
- package/storybook-static/assets/{Slider-CH1lsEoT.js → Slider-BsZcj3de.js} +1 -1
- package/storybook-static/assets/{Slider-Bhx_qKx1.js → Slider-CzVEaZ28.js} +1 -1
- package/storybook-static/assets/{Slider.stories-n_Uewpd7.js → Slider.stories-rCGq72D5.js} +1 -1
- package/storybook-static/assets/{SliderInput-qOGNQ6wt.js → SliderInput-BA25fKid.js} +1 -1
- package/storybook-static/assets/{SliderInput-AJK1i53n.js → SliderInput-ByuiRYq-.js} +1 -1
- package/storybook-static/assets/{SliderInput.stories-DRdrZ_11.js → SliderInput.stories-C9YMDv4u.js} +1 -1
- package/storybook-static/assets/{Sortable-BjikUb43.js → Sortable-wc6ia9-O.js} +1 -1
- package/storybook-static/assets/{Sortable.stories-D9uC2BOm.js → Sortable.stories-Ck4ldBYa.js} +1 -1
- package/storybook-static/assets/{Splitter-D-I6CbNK.js → Splitter-CYpgvy19.js} +1 -1
- package/storybook-static/assets/{Splitter.stories-DA7x1dbm.js → Splitter.stories-B946w9ZI.js} +1 -1
- package/storybook-static/assets/{StateSelect-CK6fx6mL.js → StateSelect-BN5YEuPs.js} +1 -1
- package/storybook-static/assets/{StateSelect-DUhisgB3.js → StateSelect-Ci3jE-ct.js} +1 -1
- package/storybook-static/assets/{StateSelect.stories-DmwUBwT6.js → StateSelect.stories-CNhTn2Cz.js} +1 -1
- package/storybook-static/assets/{StatusIndicator-CvqZAnq8.js → StatusIndicator-BuMfqi1u.js} +1 -1
- package/storybook-static/assets/{StatusIndicator.stories-BBss3xjd.js → StatusIndicator.stories-DzxeAwiN.js} +1 -1
- package/storybook-static/assets/{StringToggle.stories-CjPRc5nZ.js → StringToggle.stories-Deadq_Ls.js} +1 -1
- package/storybook-static/assets/{Switch-D-WTEAqm.js → Switch-BFYG_WKE.js} +1 -1
- package/storybook-static/assets/{Switch-CJGXFN20.js → Switch-YwxYXJTM.js} +1 -1
- package/storybook-static/assets/{Switch.stories-Dz6Xj63W.js → Switch.stories-NJITAhqS.js} +1 -1
- package/storybook-static/assets/{Table-CHPnpWOM.js → Table-DbNz25Cw.js} +1 -1
- package/storybook-static/assets/{Table.stories-DcGlYguv.js → Table.stories-C_D5lF-r.js} +1 -1
- package/storybook-static/assets/{TableEditor.stories-UqsrXnkP.js → TableEditor.stories-DY8bnNmE.js} +1 -1
- package/storybook-static/assets/{Tabs-Ch_RrThQ.js → Tabs-CyUUot0Z.js} +1 -1
- package/storybook-static/assets/{Tabs.stories-Cc0RxB9-.js → Tabs.stories-DVP5hAtb.js} +1 -1
- package/storybook-static/assets/{TabsBox-lqTeIwh1.js → TabsBox-Cr256gqh.js} +1 -1
- package/storybook-static/assets/{TagInput-Cxmbre63.js → TagInput-8u-Uqj6U.js} +1 -1
- package/storybook-static/assets/{TagInput.stories-BJuhoSO0.js → TagInput.stories-DkGtiXYT.js} +1 -1
- package/storybook-static/assets/{Text-BdKZiDEl.js → Text-DNniRzyg.js} +1 -1
- package/storybook-static/assets/{Textarea-BD_9CeQm.js → Textarea-B35HiX_5.js} +1 -1
- package/storybook-static/assets/{Textarea-CMtbCxFq.js → Textarea-Des9OzN2.js} +1 -1
- package/storybook-static/assets/{Textarea.stories-ChzSqf1-.js → Textarea.stories-DjZpaa7v.js} +1 -1
- package/storybook-static/assets/{TimePanel-CTjjJfCr.js → TimePanel-Bn7j0COY.js} +1 -1
- package/storybook-static/assets/{TimePanel.stories-CzWgmLsH.js → TimePanel.stories-DyE2b3rT.js} +1 -1
- package/storybook-static/assets/{Toggle-B5EbJPMF.js → Toggle-BwMUAyJ1.js} +1 -1
- package/storybook-static/assets/{Toggle-Tc2UvrN0.js → Toggle-DEZVxAUT.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-CHGzWAUI.js → Toggle.stories-CSA1M-Rk.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-COodQQLS.js → TreeMultiSelect-BkdyhB5h.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-Bu1z05EW.js → TreeMultiSelect-DVU4eyct.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect.stories-WBnJdUIB.js → TreeMultiSelect.stories-DNXLQ6AI.js} +1 -1
- package/storybook-static/assets/{TreePickerBase-BPXx8J1k.js → TreePickerBase-BdcMGcih.js} +1 -1
- package/storybook-static/assets/{TreeSelect-EpDbS70Z.js → TreeSelect-6ppKxxsm.js} +1 -1
- package/storybook-static/assets/{TreeSelect-CNkQx47y.js → TreeSelect-Db0euK3o.js} +1 -1
- package/storybook-static/assets/{TreeSelect.stories-CDq4EtLQ.js → TreeSelect.stories-CSyuSzu3.js} +1 -1
- package/storybook-static/assets/{TreeTable-Dex4OtmI.js → TreeTable-BoHkmEek.js} +1 -1
- package/storybook-static/assets/{TreeTable.stories-Bmr_slIT.js → TreeTable.stories-CyIiIbvQ.js} +1 -1
- package/storybook-static/assets/{blocks-AnVv5mi5.js → blocks-CwQtiknB.js} +3 -3
- package/storybook-static/assets/{check-BWbYhp2h.js → check-yyiWhN4R.js} +1 -1
- package/storybook-static/assets/{chevron-down-DHSKwwL5.js → chevron-down-D4IkLqEW.js} +1 -1
- package/storybook-static/assets/{chevron-left-D7ULg2f8.js → chevron-left-UNLm4Da9.js} +1 -1
- package/storybook-static/assets/{chevron-right-CIfu4Hza.js → chevron-right-B5GJn-EI.js} +1 -1
- package/storybook-static/assets/{chunk-W22LQPXL-D1u-G9rK.js → chunk-W22LQPXL-B41qNp-A.js} +1 -1
- package/storybook-static/assets/{circle-alert-BmaFho5J.js → circle-alert-Brsq6PwN.js} +1 -1
- package/storybook-static/assets/{circle-check-DCAf0hgW.js → circle-check-fqVfpv7F.js} +1 -1
- package/storybook-static/assets/{components-BHxFCUzA.js → components-J99iJoYh.js} +3 -3
- package/storybook-static/assets/{contextMenu-CjpvLcy3.js → contextMenu-BX57n-PU.js} +1 -1
- package/storybook-static/assets/{download-hB0PcJYd.js → download-lJE1ywiU.js} +1 -1
- package/storybook-static/assets/{floating-ui.react-Ynst0dn3.js → floating-ui.react-C-VmYdHj.js} +1 -1
- package/storybook-static/assets/{foundationApi-Bhu_7Z5q.js → foundationApi-BqI9blJ6.js} +1 -1
- package/storybook-static/assets/{foundationLib-DtzDZyj3.js → foundationLib-p2ar8jpg.js} +1 -1
- package/storybook-static/assets/{hooks-Bgj6g1n1.js → hooks-DiCw5pD1.js} +1 -1
- package/storybook-static/assets/{iframe-CZMuDAv2.css → iframe-CT3ppous.css} +1 -1
- package/storybook-static/assets/iframe-Cpjz8S9A.js +1 -0
- package/storybook-static/assets/{iframe-DDvQ4m7Z.js → iframe-TCiPQfyU.js} +3 -3
- package/storybook-static/assets/{info-Bxo9TQJd.js → info-CFEXTNzF.js} +1 -1
- package/storybook-static/assets/{odata-C4ufWrfy.js → odata-D489EHOE.js} +1 -1
- package/storybook-static/assets/{odataStoryFixtures-B7UV1KqY.js → odataStoryFixtures-CafTJzup.js} +1 -1
- package/storybook-static/assets/{react-ZNNQVBvW.js → react-amiS04cs.js} +1 -1
- package/storybook-static/assets/{refresh-cw-79o4mPbt.js → refresh-cw-Czxt9fW4.js} +1 -1
- package/storybook-static/assets/{settings-2-BwNUEXUH.js → settings-2-4HvlFCuc.js} +1 -1
- package/storybook-static/assets/{sortable-BTHctCN0.js → sortable-6vA6sgYr.js} +1 -1
- package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-LmZpfpMy.js → syntaxhighlighter-QEQV7K2Y-DZZSX2Qc.js} +1 -1
- package/storybook-static/assets/{trash-2-CsmaUF7X.js → trash-2-Dn-ATsbs.js} +1 -1
- package/storybook-static/assets/{triangle-alert-Cq-Lcv3d.js → triangle-alert-uQuwfpAB.js} +1 -1
- package/storybook-static/assets/{ui-CnaY89Wl.css → ui-C7MMruCB.css} +1 -1
- package/storybook-static/assets/{uiClasses-Cv6hlbzz.js → uiClasses-DROmzfa9.js} +1 -1
- package/storybook-static/assets/{useODataSelectBase-BJFNRp49.js → useODataSelectBase-DSz_GEHP.js} +1 -1
- package/storybook-static/assets/{useODataTreeData-CKAMSwbG.js → useODataTreeData-BSjVKhMe.js} +1 -1
- package/storybook-static/assets/{usePickerQuery-CVjOQGyS.js → usePickerQuery-ivq6xAU-.js} +1 -1
- package/storybook-static/assets/{usePickerTriggerController-AwB9DbP-.js → usePickerTriggerController-C3jPyuwu.js} +1 -1
- package/storybook-static/assets/{x-DbD1usRi.js → x-CEk3emXH.js} +1 -1
- package/storybook-static/iframe.html +3 -3
- package/storybook-static/project.json +1 -1
- package/dist/chunks/TextEditorLexicalClient-C5AV8Fcu.js.map +0 -1
- package/dist/text-editor/lib/selection/restoreLinkDialogSelection.d.ts.map +0 -1
- package/storybook-static/assets/iframe-CMmaLh19.js +0 -1
- /package/storybook-static/assets/{ui.module-CoywZ8xe.js → ui.module-Ci4WdQwm.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{a as r,i,t as a}from"./chunk-IMSF75WX-CGYlPTyG.js";import{i as o,n as s,r as c,t as l}from"./chunk-W22LQPXL-
|
|
1
|
+
import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{a as r,i,t as a}from"./chunk-IMSF75WX-CGYlPTyG.js";import{i as o,n as s,r as c,t as l}from"./chunk-W22LQPXL-B41qNp-A.js";import{a as u,u as d,w as f}from"./theming-BgT2grXK.js";import{n as p,t as m}from"./chunk-DRQKCCAG-DvsmU7ha.js";import{t as h}from"./chunk-242VQQM5-bHL6qIJq.js";function g(e){"@babel/helpers - typeof";return g=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},g(e)}function _(e,t){if(g(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(g(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function v(e){var t=_(e,`string`);return g(t)==`symbol`?t:t+``}function ee(e,t,n){return(t=v(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function te(e,t){if(e==null)return{};var n,r,i=h(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function y(){return(y=t((()=>{})))()}function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function x(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?b(Object(n),!0).forEach(function(t){ee(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):b(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function S(e){var t=e.length;if(t===0||t===1)return e;if(t===2)return[e[0],e[1],`${e[0]}.${e[1]}`,`${e[1]}.${e[0]}`];if(t===3)return[e[0],e[1],e[2],`${e[0]}.${e[1]}`,`${e[0]}.${e[2]}`,`${e[1]}.${e[0]}`,`${e[1]}.${e[2]}`,`${e[2]}.${e[0]}`,`${e[2]}.${e[1]}`,`${e[0]}.${e[1]}.${e[2]}`,`${e[0]}.${e[2]}.${e[1]}`,`${e[1]}.${e[0]}.${e[2]}`,`${e[1]}.${e[2]}.${e[0]}`,`${e[2]}.${e[0]}.${e[1]}`,`${e[2]}.${e[1]}.${e[0]}`];if(t>=4)return[e[0],e[1],e[2],e[3],`${e[0]}.${e[1]}`,`${e[0]}.${e[2]}`,`${e[0]}.${e[3]}`,`${e[1]}.${e[0]}`,`${e[1]}.${e[2]}`,`${e[1]}.${e[3]}`,`${e[2]}.${e[0]}`,`${e[2]}.${e[1]}`,`${e[2]}.${e[3]}`,`${e[3]}.${e[0]}`,`${e[3]}.${e[1]}`,`${e[3]}.${e[2]}`,`${e[0]}.${e[1]}.${e[2]}`,`${e[0]}.${e[1]}.${e[3]}`,`${e[0]}.${e[2]}.${e[1]}`,`${e[0]}.${e[2]}.${e[3]}`,`${e[0]}.${e[3]}.${e[1]}`,`${e[0]}.${e[3]}.${e[2]}`,`${e[1]}.${e[0]}.${e[2]}`,`${e[1]}.${e[0]}.${e[3]}`,`${e[1]}.${e[2]}.${e[0]}`,`${e[1]}.${e[2]}.${e[3]}`,`${e[1]}.${e[3]}.${e[0]}`,`${e[1]}.${e[3]}.${e[2]}`,`${e[2]}.${e[0]}.${e[1]}`,`${e[2]}.${e[0]}.${e[3]}`,`${e[2]}.${e[1]}.${e[0]}`,`${e[2]}.${e[1]}.${e[3]}`,`${e[2]}.${e[3]}.${e[0]}`,`${e[2]}.${e[3]}.${e[1]}`,`${e[3]}.${e[0]}.${e[1]}`,`${e[3]}.${e[0]}.${e[2]}`,`${e[3]}.${e[1]}.${e[0]}`,`${e[3]}.${e[1]}.${e[2]}`,`${e[3]}.${e[2]}.${e[0]}`,`${e[3]}.${e[2]}.${e[1]}`,`${e[0]}.${e[1]}.${e[2]}.${e[3]}`,`${e[0]}.${e[1]}.${e[3]}.${e[2]}`,`${e[0]}.${e[2]}.${e[1]}.${e[3]}`,`${e[0]}.${e[2]}.${e[3]}.${e[1]}`,`${e[0]}.${e[3]}.${e[1]}.${e[2]}`,`${e[0]}.${e[3]}.${e[2]}.${e[1]}`,`${e[1]}.${e[0]}.${e[2]}.${e[3]}`,`${e[1]}.${e[0]}.${e[3]}.${e[2]}`,`${e[1]}.${e[2]}.${e[0]}.${e[3]}`,`${e[1]}.${e[2]}.${e[3]}.${e[0]}`,`${e[1]}.${e[3]}.${e[0]}.${e[2]}`,`${e[1]}.${e[3]}.${e[2]}.${e[0]}`,`${e[2]}.${e[0]}.${e[1]}.${e[3]}`,`${e[2]}.${e[0]}.${e[3]}.${e[1]}`,`${e[2]}.${e[1]}.${e[0]}.${e[3]}`,`${e[2]}.${e[1]}.${e[3]}.${e[0]}`,`${e[2]}.${e[3]}.${e[0]}.${e[1]}`,`${e[2]}.${e[3]}.${e[1]}.${e[0]}`,`${e[3]}.${e[0]}.${e[1]}.${e[2]}`,`${e[3]}.${e[0]}.${e[2]}.${e[1]}`,`${e[3]}.${e[1]}.${e[0]}.${e[2]}`,`${e[3]}.${e[1]}.${e[2]}.${e[0]}`,`${e[3]}.${e[2]}.${e[0]}.${e[1]}`,`${e[3]}.${e[2]}.${e[1]}.${e[0]}`]}function C(e){if(e.length===0||e.length===1)return e;var t=e.join(`.`);return qe[t]||(qe[t]=S(e)),qe[t]}function w(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return C(e.filter(function(e){return e!==`token`})).reduce(function(e,t){return x(x({},e),n[t])},t)}function T(e){return e.join(` `)}function E(e,t){var n=0;return function(r){return n+=1,r.map(function(r,i){return D({node:r,stylesheet:e,useInlineStyles:t,key:`code-segment-${n}-${i}`})})}}function D(e){var t=e.node,n=e.stylesheet,r=e.style,i=r===void 0?{}:r,a=e.useInlineStyles,o=e.key,s=t.properties,c=t.type,l=t.tagName,u=t.value;if(c===`text`)return u;if(l){var d=E(n,a),p;if(!a)p=x(x({},s),{},{className:T(s.className)});else{var m=Object.keys(n).reduce(function(e,t){return t.split(`.`).forEach(function(t){e.includes(t)||e.push(t)}),e},[]),h=s.className&&s.className.includes(`token`)?[`token`]:[],g=s.className&&h.concat(s.className.filter(function(e){return!m.includes(e)}));p=x(x({},s),{},{className:T(g)||void 0,style:w(s.className,Object.assign({},s.style,i),n)})}var _=d(t.children);return pe.createElement(l,f({key:o},p),_)}}function O(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function k(e){if(Array.isArray(e))return O(e)}function A(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function ne(e,t){if(e){if(typeof e==`string`)return O(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?O(e,t):void 0}}function j(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
2
2
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function M(e){return k(e)||A(e)||ne(e)||j()}function N(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function P(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?N(Object(n),!0).forEach(function(t){ee(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):N(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function re(e){return e.match(st)}function ie(e){var t=e.lines,n=e.startingLineNumber,r=e.style;return t.map(function(e,t){var i=t+n;return z.createElement(`span`,{key:`line-${t}`,className:`react-syntax-highlighter-line-number`,style:typeof r==`function`?r(i):r},`${i}
|
|
3
3
|
`)})}function ae(e){var t=e.codeString,n=e.codeStyle,r=e.containerStyle,i=r===void 0?{float:`left`,paddingRight:`10px`}:r,a=e.numberStyle,o=a===void 0?{}:a,s=e.startingLineNumber;return z.createElement(`code`,{style:Object.assign({},n,i)},ie({lines:t.replace(/\n$/,``).split(`
|
|
4
4
|
`),style:o,startingLineNumber:s}))}function oe(e){return`${e.toString().length}.25em`}function se(e,t){return{type:`element`,tagName:`span`,properties:{key:`line-number--${e}`,className:[`comment`,`linenumber`,`react-syntax-highlighter-line-number`],style:t},children:[{type:`text`,value:e}]}}function ce(e,t,n){var r={display:`inline-block`,minWidth:oe(n),paddingRight:`1em`,textAlign:`right`,userSelect:`none`},i=typeof e==`function`?e(t):e;return P(P({},r),i)}function F(e){var t=e.children,n=e.lineNumber,r=e.lineNumberStyle,i=e.largestLineNumber,a=e.showInlineLineNumbers,o=e.lineProps,s=o===void 0?{}:o,c=e.className,l=c===void 0?[]:c,u=e.showLineNumbers,d=e.wrapLongLines,f=e.wrapLines,p=f!==void 0&&f?P({},typeof s==`function`?s(n):s):{};if(p.className=p.className?[].concat(M(p.className.trim().split(/\s+/)),M(l)):l,n&&a){var m=ce(r,n,i);t.unshift(se(n,m))}return d&u&&(p.style=P({display:`flex`},p.style)),{type:`element`,tagName:`span`,properties:p,children:t}}function le(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],r=0;r<e.length;r++){var i=e[r];if(i.type===`text`)n.push(F({children:[i],className:M(new Set(t))}));else if(i.children){var a=t.concat(i.properties.className);le(i.children,a).forEach(function(e){return n.push(e)})}}return n}function ue(e,t,n,r,i,a,o,s,c){var l,u=le(e.value),d=[],f=-1,p=0;function m(e,a){return F({children:e,lineNumber:a,lineNumberStyle:s,largestLineNumber:o,showInlineLineNumbers:i,lineProps:n,className:arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],showLineNumbers:r,wrapLongLines:c,wrapLines:t})}function h(e,t){if(r&&t&&i){var n=ce(s,t,o);e.unshift(se(t,n))}return e}function g(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return t||r.length>0?m(e,n,r):h(e,n)}for(var _=function(){var e=u[p],t=e.children[0].value;if(re(t)){var n=t.split(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{i as t,r as n}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{i as t,r as n}from"./iframe-TCiPQfyU.js";var r,i;function a(){return(a=e((()=>{t(),r=[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]],i=n(`trash-2`,r)})))()}export{a as n,i as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{i as t,r as n}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{i as t,r as n}from"./iframe-TCiPQfyU.js";var r,i;function a(){return(a=e((()=>{t(),r=[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],i=n(`triangle-alert`,r)})))()}export{a as n,i as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.IyEhJp{--base-width:100%;width:var(--base-width)}.IyEhJp.f7M9vJ{--base-width:calc(var(--drp-ui-width-xs,var(--ui-width-xs)) - var(--width-add))}.IyEhJp.HwXbxj{--base-width:calc(var(--drp-ui-width-sm,var(--ui-width-sm)) - var(--width-add))}.IyEhJp.Mym7DA{--base-width:calc(var(--drp-ui-width-md,var(--ui-width-md)) - var(--width-add))}.IyEhJp.w5cM9q{--base-width:calc(var(--drp-ui-width-lg,var(--ui-width-lg)) - var(--width-add))}.IyEhJp.f2EBJz{--base-width:calc(var(--drp-ui-width-xl,var(--ui-width-xl)) - var(--width-add))}._3GzdMJ{--grid-size:var(--space-sm);--grid-line-size:var(--border-width);--grid-line-color:color-mix(in srgb, var(--error-fill) 12%, var(--surface-0));height:var(--control-height);border:var(--focus-width) solid var(--error-border);border-radius:var(--radius-sm);font-variation-settings:"wght" 700;width:100%;color:var(--error-text);background-color:var(--surface-0);background-image:repeating-linear-gradient(45deg, var(--grid-line-color) 0 var(--grid-line-size), transparent var(--grid-line-size) var(--grid-size)), repeating-linear-gradient(-45deg, var(--grid-line-color) 0 var(--grid-line-size), transparent var(--grid-line-size) var(--grid-size));outline:none;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.mCyi7T,._0uiTC1{width:100%;position:relative}._0uiTC1{--padding-right:var(--control-height)}.y9nuVw,.-lXPkQ{font-variation-settings:"wght" 400;font-weight:400;display:inline-block}.-lXPkQ{margin-block:var(--space-xs)}.kaqcwk{--paragraph-margin:0;padding-bottom:var(--space-xs);color:var(--content-1);font-variation-settings:"wght" 300;font-weight:300}.-lXPkQ,.kaqcwk{margin-inline:var(--space-xs)}.ADooeh,.UQPwkb::placeholder,.x427rk::placeholder,._4GTgCO::placeholder,.CGeRS1::placeholder{color:var(--content-2);font-variation-settings:"wght" 100;text-overflow:ellipsis;white-space:nowrap;font-weight:100;overflow:hidden}._7GxEke .y9nuVw:after,._7GxEke .-lXPkQ:after{content:" *";color:var(--error-text)}.UQPwkb,.x427rk,._4GTgCO,.CGeRS1{--ui-tone-text:var(--neutral-text);--ui-tone-fill:var(--neutral-fill);--ui-tone-on-fill:var(--neutral-on-fill);--ui-tone-border:var(--neutral-border);--ui-tone-text-hover:color-mix(in srgb, var(--neutral-text) 88%, var(--content-0));--ui-tone-text-active:color-mix(in srgb, var(--neutral-text) 76%, var(--content-0));--ui-tone-border-hover:color-mix(in srgb, var(--neutral-border) 88%, var(--border-0));--ui-tone-border-active:color-mix(in srgb, var(--neutral-border) 76%, var(--border-0));--ui-tone-fill-hover:color-mix(in srgb, var(--neutral-fill) 88%, var(--surface-0));--ui-tone-fill-active:color-mix(in srgb, var(--neutral-fill) 76%, var(--surface-0));--ui-tone-soft:color-mix(in srgb, var(--neutral-fill) 12%, var(--surface-0));--ui-tone-border-focus:var(--focus-ring);--ui-tone-ghost-hover:color-mix(in srgb, var(--neutral-fill) 10%, var(--surface-0));--ui-tone-ghost-active:color-mix(in srgb, var(--neutral-fill) 20%, var(--surface-0));--ui-color:var(--ui-tone-text);--ui-color-hover:var(--ui-tone-text-hover);--ui-color-active:var(--ui-tone-text-active);--ui-background:var(--surface-0);--ui-background-hover:var(--surface-0);--ui-background-active:var(--surface-0);--ui-border-color:var(--ui-tone-border);--ui-border-hover:var(--ui-tone-border-hover);--ui-border-active:var(--ui-tone-border-active);--ui-border-focus:var(--ui-tone-border-focus);--ui-disabled-color:color-mix(in srgb, var(--ui-tone-text) 32%, var(--content-2));--ui-disabled-background:var(--surface-0);--ui-disabled-border:color-mix(in srgb, var(--ui-tone-border) 28%, var(--border-0));color:var(--ui-color);background-color:var(--ui-background);border:var(--border-width) solid var(--ui-border-color);border-radius:var(--ui-radius,var(--radius-sm));transition-property:border-color,color,background-color,box-shadow,padding,opacity,transform;transition-duration:var(--transition-fast);outline:none;transition-timing-function:ease}@media (any-hover:hover){.UQPwkb:hover,.x427rk:hover,._4GTgCO:hover,.CGeRS1:hover{color:var(--ui-color-hover);background-color:var(--ui-background-hover);border-color:var(--ui-border-hover)}}.UQPwkb:active,.x427rk:active,._4GTgCO:active,.CGeRS1:active{color:var(--ui-color-active);border-color:var(--ui-border-active);background-color:var(--ui-background-active)}.UQPwkb:focus-visible,.x427rk:focus-visible,._4GTgCO:focus-visible,.CGeRS1:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}.UQPwkb:disabled,.x427rk:disabled,._4GTgCO:disabled,.CGeRS1:disabled,.UQPwkb[data-disabled],[data-disabled].x427rk,[data-disabled]._4GTgCO,[data-disabled].CGeRS1{color:var(--ui-disabled-color,var(--content-2));background-color:var(--ui-disabled-background,var(--surface-2));border-color:var(--ui-disabled-border,var(--overlay-backdrop))}.UQPwkb:disabled,.x427rk:disabled,._4GTgCO:disabled,.CGeRS1:disabled{cursor:not-allowed}.UQPwkb[data-disabled],[data-disabled].x427rk,[data-disabled]._4GTgCO,[data-disabled].CGeRS1{cursor:default;pointer-events:none}.UQPwkb,.x427rk,._4GTgCO,.CGeRS1{--ui-radius:var(--radius-sm)}.UQPwkb.kkpwQI,.kkpwQI.x427rk,.kkpwQI._4GTgCO,.kkpwQI.CGeRS1,.UQPwkb:invalid,.x427rk:invalid,._4GTgCO:invalid,.CGeRS1:invalid{--ui-tone-text:var(--error-text);--ui-tone-fill:var(--error-fill);--ui-tone-on-fill:var(--error-on-fill);--ui-tone-border:var(--error-border);--ui-tone-text-hover:color-mix(in srgb, var(--error-text) 88%, var(--content-0));--ui-tone-text-active:color-mix(in srgb, var(--error-text) 76%, var(--content-0));--ui-tone-border-hover:color-mix(in srgb, var(--error-border) 88%, var(--border-0));--ui-tone-border-active:color-mix(in srgb, var(--error-border) 76%, var(--border-0));--ui-tone-fill-hover:color-mix(in srgb, var(--error-fill) 88%, var(--surface-0));--ui-tone-fill-active:color-mix(in srgb, var(--error-fill) 76%, var(--surface-0));--ui-tone-soft:color-mix(in srgb, var(--error-fill) 12%, var(--surface-0));--ui-tone-border-focus:var(--focus-ring);--ui-tone-ghost-hover:color-mix(in srgb, var(--error-fill) 10%, var(--surface-0));--ui-tone-ghost-active:color-mix(in srgb, var(--error-fill) 20%, var(--surface-0));--ui-color:var(--ui-tone-text);--ui-color-hover:var(--ui-tone-text-hover);--ui-color-active:var(--ui-tone-text-active);--ui-background:var(--surface-0);--ui-background-hover:var(--surface-0);--ui-background-active:var(--surface-0);--ui-border-color:var(--ui-tone-border);--ui-border-hover:var(--ui-tone-border-hover);--ui-border-active:var(--ui-tone-border-active);--ui-border-focus:var(--ui-tone-border-focus);--ui-disabled-color:color-mix(in srgb, var(--ui-tone-text) 32%, var(--content-2));--ui-disabled-background:var(--surface-0);--ui-disabled-border:color-mix(in srgb, var(--ui-tone-border) 28%, var(--border-0))}.DPvwku{--ui-tone-text:var(--neutral-text);--ui-tone-fill:var(--neutral-fill);--ui-tone-on-fill:var(--neutral-on-fill);--ui-tone-border:var(--neutral-border);--ui-tone-text-hover:color-mix(in srgb, var(--neutral-text) 88%, var(--content-0));--ui-tone-text-active:color-mix(in srgb, var(--neutral-text) 76%, var(--content-0));--ui-tone-border-hover:color-mix(in srgb, var(--neutral-border) 88%, var(--border-0));--ui-tone-border-active:color-mix(in srgb, var(--neutral-border) 76%, var(--border-0));--ui-tone-fill-hover:color-mix(in srgb, var(--neutral-fill) 88%, var(--surface-0));--ui-tone-fill-active:color-mix(in srgb, var(--neutral-fill) 76%, var(--surface-0));--ui-tone-soft:color-mix(in srgb, var(--neutral-fill) 12%, var(--surface-0));--ui-tone-border-focus:var(--focus-ring);--ui-tone-ghost-hover:color-mix(in srgb, var(--neutral-fill) 10%, var(--surface-0));--ui-tone-ghost-active:color-mix(in srgb, var(--neutral-fill) 20%, var(--surface-0))}.O9zizU{--ui-tone-text:var(--accent-text);--ui-tone-fill:var(--accent-fill);--ui-tone-on-fill:var(--accent-on-fill);--ui-tone-border:var(--accent-border);--ui-tone-text-hover:color-mix(in srgb, var(--accent-text) 88%, var(--content-0));--ui-tone-text-active:color-mix(in srgb, var(--accent-text) 76%, var(--content-0));--ui-tone-border-hover:color-mix(in srgb, var(--accent-border) 88%, var(--border-0));--ui-tone-border-active:color-mix(in srgb, var(--accent-border) 76%, var(--border-0));--ui-tone-fill-hover:color-mix(in srgb, var(--accent-fill) 88%, var(--surface-0));--ui-tone-fill-active:color-mix(in srgb, var(--accent-fill) 76%, var(--surface-0));--ui-tone-soft:color-mix(in srgb, var(--accent-fill) 12%, var(--surface-0));--ui-tone-border-focus:var(--focus-ring);--ui-tone-ghost-hover:color-mix(in srgb, var(--accent-fill) 10%, var(--surface-0));--ui-tone-ghost-active:color-mix(in srgb, var(--accent-fill) 20%, var(--surface-0))}.BTLgLF{--ui-tone-text:var(--brand-text);--ui-tone-fill:var(--brand-fill);--ui-tone-on-fill:var(--brand-on-fill);--ui-tone-border:var(--brand-border);--ui-tone-text-hover:color-mix(in srgb, var(--brand-text) 88%, var(--content-0));--ui-tone-text-active:color-mix(in srgb, var(--brand-text) 76%, var(--content-0));--ui-tone-border-hover:color-mix(in srgb, var(--brand-border) 88%, var(--border-0));--ui-tone-border-active:color-mix(in srgb, var(--brand-border) 76%, var(--border-0));--ui-tone-fill-hover:color-mix(in srgb, var(--brand-fill) 88%, var(--surface-0));--ui-tone-fill-active:color-mix(in srgb, var(--brand-fill) 76%, var(--surface-0));--ui-tone-soft:color-mix(in srgb, var(--brand-fill) 12%, var(--surface-0));--ui-tone-border-focus:var(--focus-ring);--ui-tone-ghost-hover:color-mix(in srgb, var(--brand-fill) 10%, var(--surface-0));--ui-tone-ghost-active:color-mix(in srgb, var(--brand-fill) 20%, var(--surface-0))}.SRqz74{--ui-tone-text:var(--error-text);--ui-tone-fill:var(--error-fill);--ui-tone-on-fill:var(--error-on-fill);--ui-tone-border:var(--error-border);--ui-tone-text-hover:color-mix(in srgb, var(--error-text) 88%, var(--content-0));--ui-tone-text-active:color-mix(in srgb, var(--error-text) 76%, var(--content-0));--ui-tone-border-hover:color-mix(in srgb, var(--error-border) 88%, var(--border-0));--ui-tone-border-active:color-mix(in srgb, var(--error-border) 76%, var(--border-0));--ui-tone-fill-hover:color-mix(in srgb, var(--error-fill) 88%, var(--surface-0));--ui-tone-fill-active:color-mix(in srgb, var(--error-fill) 76%, var(--surface-0));--ui-tone-soft:color-mix(in srgb, var(--error-fill) 12%, var(--surface-0));--ui-tone-border-focus:var(--focus-ring);--ui-tone-ghost-hover:color-mix(in srgb, var(--error-fill) 10%, var(--surface-0));--ui-tone-ghost-active:color-mix(in srgb, var(--error-fill) 20%, var(--surface-0))}.e-6pS0{--ui-tone-text:var(--warning-text);--ui-tone-fill:var(--warning-fill);--ui-tone-on-fill:var(--warning-on-fill);--ui-tone-border:var(--warning-border);--ui-tone-text-hover:color-mix(in srgb, var(--warning-text) 88%, var(--content-0));--ui-tone-text-active:color-mix(in srgb, var(--warning-text) 76%, var(--content-0));--ui-tone-border-hover:color-mix(in srgb, var(--warning-border) 88%, var(--border-0));--ui-tone-border-active:color-mix(in srgb, var(--warning-border) 76%, var(--border-0));--ui-tone-fill-hover:color-mix(in srgb, var(--warning-fill) 88%, var(--surface-0));--ui-tone-fill-active:color-mix(in srgb, var(--warning-fill) 76%, var(--surface-0));--ui-tone-soft:color-mix(in srgb, var(--warning-fill) 12%, var(--surface-0));--ui-tone-border-focus:var(--focus-ring);--ui-tone-ghost-hover:color-mix(in srgb, var(--warning-fill) 10%, var(--surface-0));--ui-tone-ghost-active:color-mix(in srgb, var(--warning-fill) 20%, var(--surface-0))}.tUxwSm{--ui-tone-text:var(--success-text);--ui-tone-fill:var(--success-fill);--ui-tone-on-fill:var(--success-on-fill);--ui-tone-border:var(--success-border);--ui-tone-text-hover:color-mix(in srgb, var(--success-text) 88%, var(--content-0));--ui-tone-text-active:color-mix(in srgb, var(--success-text) 76%, var(--content-0));--ui-tone-border-hover:color-mix(in srgb, var(--success-border) 88%, var(--border-0));--ui-tone-border-active:color-mix(in srgb, var(--success-border) 76%, var(--border-0));--ui-tone-fill-hover:color-mix(in srgb, var(--success-fill) 88%, var(--surface-0));--ui-tone-fill-active:color-mix(in srgb, var(--success-fill) 76%, var(--surface-0));--ui-tone-soft:color-mix(in srgb, var(--success-fill) 12%, var(--surface-0));--ui-tone-border-focus:var(--focus-ring);--ui-tone-ghost-hover:color-mix(in srgb, var(--success-fill) 10%, var(--surface-0));--ui-tone-ghost-active:color-mix(in srgb, var(--success-fill) 20%, var(--surface-0))}.bbef8l{--ui-tone-text:var(--info-text);--ui-tone-fill:var(--info-fill);--ui-tone-on-fill:var(--info-on-fill);--ui-tone-border:var(--info-border);--ui-tone-text-hover:color-mix(in srgb, var(--info-text) 88%, var(--content-0));--ui-tone-text-active:color-mix(in srgb, var(--info-text) 76%, var(--content-0));--ui-tone-border-hover:color-mix(in srgb, var(--info-border) 88%, var(--border-0));--ui-tone-border-active:color-mix(in srgb, var(--info-border) 76%, var(--border-0));--ui-tone-fill-hover:color-mix(in srgb, var(--info-fill) 88%, var(--surface-0));--ui-tone-fill-active:color-mix(in srgb, var(--info-fill) 76%, var(--surface-0));--ui-tone-soft:color-mix(in srgb, var(--info-fill) 12%, var(--surface-0));--ui-tone-border-focus:var(--focus-ring);--ui-tone-ghost-hover:color-mix(in srgb, var(--info-fill) 10%, var(--surface-0));--ui-tone-ghost-active:color-mix(in srgb, var(--info-fill) 20%, var(--surface-0))}.Ktkgp1{--ui-color:var(--ui-tone-on-fill);--ui-color-hover:var(--ui-tone-on-fill);--ui-color-active:var(--ui-tone-on-fill);--ui-background:var(--ui-tone-fill);--ui-background-hover:var(--ui-tone-fill-hover);--ui-background-active:var(--ui-tone-fill-active);--ui-border-color:transparent;--ui-border-hover:transparent;--ui-border-active:transparent;--ui-border-focus:transparent;--ui-disabled-color:var(--content-1);--ui-disabled-background:color-mix(in srgb, var(--ui-tone-fill) 14%, var(--surface-2));--ui-disabled-border:transparent}.bwQ2eF{--ui-color:var(--ui-tone-text);--ui-color-hover:var(--ui-tone-text-hover);--ui-color-active:var(--ui-tone-text-active);--ui-background:var(--surface-0);--ui-background-hover:var(--surface-0);--ui-background-active:var(--surface-0);--ui-border-color:var(--ui-tone-border);--ui-border-hover:var(--ui-tone-border-hover);--ui-border-active:var(--ui-tone-border-active);--ui-border-focus:var(--ui-tone-border-focus);--ui-disabled-color:color-mix(in srgb, var(--ui-tone-text) 32%, var(--content-2));--ui-disabled-background:var(--surface-0);--ui-disabled-border:color-mix(in srgb, var(--ui-tone-border) 28%, var(--border-0))}._26y4wg{--ui-color:var(--ui-tone-text);--ui-color-hover:var(--ui-tone-text-hover);--ui-color-active:var(--ui-tone-text-active);--ui-background:transparent;--ui-background-hover:var(--ui-tone-ghost-hover);--ui-background-active:var(--ui-tone-ghost-active);--ui-border-color:transparent;--ui-border-hover:transparent;--ui-border-active:transparent;--ui-border-focus:transparent;--ui-disabled-color:color-mix(in srgb, var(--ui-tone-text) 32%, var(--content-2));--ui-disabled-background:transparent;--ui-disabled-border:transparent}.xiEckw{--ui-color:var(--ui-tone-text);--ui-color-hover:var(--ui-tone-text-hover);--ui-color-active:var(--ui-tone-text-active);--ui-background:transparent;--ui-background-hover:transparent;--ui-background-active:transparent;--ui-border-color:transparent;--ui-border-hover:transparent;--ui-border-active:transparent;--ui-border-focus:transparent;--ui-disabled-color:color-mix(in srgb, var(--ui-tone-text) 32%, var(--content-2));--ui-disabled-background:transparent;--ui-disabled-border:transparent}.x427rk,._4GTgCO,.CGeRS1{height:var(--control-height)}.CGeRS1{color:var(--content-0);padding:0 var(--padding-right) 0 var(--space-sm);text-align:left;width:100%}.ARjNgd{color:var(--ui-color);background-color:var(--ui-background);border:var(--border-width) solid var(--ui-border-color);border-radius:var(--ui-radius,var(--radius-sm));transition-property:border-color,color,background-color,box-shadow,padding,opacity,transform;transition-duration:var(--transition-fast);outline:none;transition-timing-function:ease}@media (any-hover:hover){.ARjNgd:hover{color:var(--ui-color-hover);background-color:var(--ui-background-hover);border-color:var(--ui-border-hover)}}.ARjNgd:active{color:var(--ui-color-active);border-color:var(--ui-border-active);background-color:var(--ui-background-active)}.ARjNgd:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}.ARjNgd:disabled,.ARjNgd[data-disabled]{color:var(--ui-disabled-color,var(--content-2));background-color:var(--ui-disabled-background,var(--surface-2));border-color:var(--ui-disabled-border,var(--overlay-backdrop))}.ARjNgd:disabled{cursor:not-allowed}.ARjNgd[data-disabled]{cursor:default;pointer-events:none}.ARjNgd{--ui-color:var(--content-0);--ui-color-hover:var(--content-0);--ui-color-active:var(--content-0);--ui-background:var(--surface-0);--ui-background-hover:var(--ui-tone-soft);--ui-background-active:var(--ui-tone-soft);--ui-border-color:var(--ui-tone-border);--ui-border-hover:var(--ui-tone-border-hover);--ui-border-active:var(--ui-tone-border-active);--ui-border-focus:var(--ui-tone-border-focus);appearance:none;cursor:pointer;margin:0}.ARjNgd:checked{border-color:var(--ui-tone-border-active)}.ARjNgd:checked+.hwzILy{color:var(--ui-tone-fill)}.ARjNgd:disabled{cursor:default;border-color:var(--border-0)}.ARjNgd:disabled:checked+.hwzILy{color:var(--border-0)}.hwzILy{pointer-events:none;color:#0000;transition:color var(--transition-fast) ease, opacity var(--transition-fast) ease;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.PXh4Kd.t4Na-6,.PXh4Kd:disabled,.Vq8q-K.t4Na-6,.Vq8q-K:disabled{-webkit-user-select:none;user-select:none}.PXh4Kd.t4Na-6 .-lXPkQ,.PXh4Kd.t4Na-6 .kaqcwk,.PXh4Kd:disabled .-lXPkQ,.PXh4Kd:disabled .kaqcwk,.Vq8q-K.t4Na-6 .-lXPkQ,.Vq8q-K.t4Na-6 .kaqcwk,.Vq8q-K:disabled .-lXPkQ,.Vq8q-K:disabled .kaqcwk{color:var(--content-2)}.PXh4Kd.t4Na-6 .ADooeh,.PXh4Kd.t4Na-6 .UQPwkb::placeholder,.PXh4Kd.t4Na-6 .x427rk::placeholder,.PXh4Kd.t4Na-6 ._4GTgCO::placeholder,.PXh4Kd.t4Na-6 .CGeRS1::placeholder,.PXh4Kd.t4Na-6 .GPetum,.PXh4Kd.t4Na-6 .d-9srB,.PXh4Kd:disabled .ADooeh,.PXh4Kd:disabled .UQPwkb::placeholder,.PXh4Kd:disabled .x427rk::placeholder,.PXh4Kd:disabled ._4GTgCO::placeholder,.PXh4Kd:disabled .CGeRS1::placeholder,.PXh4Kd:disabled .GPetum,.PXh4Kd:disabled .d-9srB,.Vq8q-K.t4Na-6 .ADooeh,.Vq8q-K.t4Na-6 .UQPwkb::placeholder,.Vq8q-K.t4Na-6 .x427rk::placeholder,.Vq8q-K.t4Na-6 ._4GTgCO::placeholder,.Vq8q-K.t4Na-6 .CGeRS1::placeholder,.Vq8q-K.t4Na-6 .GPetum,.Vq8q-K.t4Na-6 .d-9srB,.Vq8q-K:disabled .ADooeh,.Vq8q-K:disabled .UQPwkb::placeholder,.Vq8q-K:disabled .x427rk::placeholder,.Vq8q-K:disabled ._4GTgCO::placeholder,.Vq8q-K:disabled .CGeRS1::placeholder,.Vq8q-K:disabled .GPetum,.Vq8q-K:disabled .d-9srB{opacity:.25}.PXh4Kd.t4Na-6,.Vq8q-K.t4Na-6{cursor:default;pointer-events:none}.PXh4Kd:disabled,.Vq8q-K:disabled{cursor:not-allowed}.X9lGKQ{--ui-panel-background:var(--surface-0)}.hanQAA{--ui-panel-background:var(--surface-1)}.EltZRn{--ui-panel-background:var(--surface-2)}.a7hN1A,.GAMoiV{background-color:var(--ui-panel-background,var(--surface-0))}.snye2X,.GAMoiV{border:var(--border);border-radius:var(--radius-sm);padding:var(--space-sm)}._6GrpYn{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset);background-color:var(--surface-1);border-color:var(--border-1);cursor:pointer}.xS7JcQ,._748hD6,.OfS43Y,.Vq8q-K{justify-content:flex-start;align-items:center;gap:var(--space-sm);text-align:left;width:100%;height:100%;display:flex}.Vq8q-K{height:auto;min-height:var(--control-height);border-radius:var(--radius-sm);color:var(--content-0);transition:background-color var(--transition-fast) ease, color var(--transition-fast) ease;background-color:#0000;border:none}.Vq8q-K ._9ExUHY,.Vq8q-K .pO4Y0g{font-size:var(--font-size-sm);width:var(--icon-size);height:var(--icon-size);flex-shrink:0}.Vq8q-K ._9ExUHY,.Vq8q-K .gbYdNR{color:var(--content-2)}.Vq8q-K.wEotEO{color:var(--accent-on-fill);background-color:var(--accent-fill);cursor:default}.Vq8q-K:focus-visible{color:var(--accent-text-hover);background-color:var(--accent-fill-hover);cursor:pointer}@media (any-hover:hover){.Vq8q-K:hover{color:var(--accent-text-hover);background-color:var(--accent-fill-hover);cursor:pointer}}.Vq8q-K.zb4xdz,.Vq8q-K:active{color:var(--accent-text-active);background-color:var(--accent-fill-active)}.Vq8q-K.t4Na-6{color:var(--content-2)}.Vq8q-K:focus-within{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}._748hD6,.OfS43Y{min-width:0;height:100%;padding:var(--space-xs) var(--space-sm);border-radius:inherit;color:inherit;cursor:inherit;background:0 0;border:none;outline:none;flex:1 1 0;text-decoration:none}.-vLdWn{border-top:var(--border);margin-block:var(--space-xs)}.Z3WweK{padding:var(--space-xs) var(--space-sm);color:var(--content-2);text-transform:uppercase;font-weight:300;font-size:var(--font-size-sm)}._9ExUHY{align-items:center;display:flex}.GPetum{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.d-9srB{font-family:var(--font-family-mono);color:var(--content-1);font-variation-settings:"wght" 300;font-weight:300}.JI6Ty-{font-variation-settings:"wght" 600;font-weight:600}.bx4Ra6{width:100%;height:100%;transition-property:width;transition-duration:var(--transition-fast);justify-content:flex-end;align-items:center;transition-timing-function:cubic-bezier(1,0,.5,.5);display:flex}.bx4Ra6>button{cursor:pointer;height:var(--control-height);width:var(--control-height);border-radius:var(--radius-sm);flex:0 0 var(--control-height);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.MDZNQY{color:var(--content-0)}.MDZNQY:hover{color:var(--accent-text)}.MVOYew{transition:transform var(--transition-fast) ease-in-out}.MVOYew._5r-eob{transform:rotate(180deg)}._4GTgCO{width:100%;padding:0 var(--space-sm);font-size:var(--font-size-md);cursor:text;align-items:center;display:flex}._6evDak{color:var(--error-text)}._6evDak:disabled{opacity:0;pointer-events:none;width:0;height:0;margin:0;padding:0;overflow:hidden}.rwtbSX{border-left:var(--border);height:calc(100% - var(--space-sm))}
|
|
1
|
+
.IyEhJp{--base-width:100%;width:var(--base-width)}.IyEhJp.f7M9vJ{--base-width:calc(var(--drp-ui-width-xs,var(--ui-width-xs)) - var(--width-add))}.IyEhJp.HwXbxj{--base-width:calc(var(--drp-ui-width-sm,var(--ui-width-sm)) - var(--width-add))}.IyEhJp.Mym7DA{--base-width:calc(var(--drp-ui-width-md,var(--ui-width-md)) - var(--width-add))}.IyEhJp.w5cM9q{--base-width:calc(var(--drp-ui-width-lg,var(--ui-width-lg)) - var(--width-add))}.IyEhJp.f2EBJz{--base-width:calc(var(--drp-ui-width-xl,var(--ui-width-xl)) - var(--width-add))}._3GzdMJ{--grid-size:var(--space-sm);--grid-line-size:var(--border-width);--grid-line-color:color-mix(in srgb, var(--error-fill) 12%, var(--surface-0));height:var(--control-height);border:var(--focus-width) solid var(--error-border);border-radius:var(--radius-sm);font-variation-settings:"wght" 700;width:100%;color:var(--error-text);background-color:var(--surface-0);background-image:repeating-linear-gradient(45deg, var(--grid-line-color) 0 var(--grid-line-size), transparent var(--grid-line-size) var(--grid-size)), repeating-linear-gradient(-45deg, var(--grid-line-color) 0 var(--grid-line-size), transparent var(--grid-line-size) var(--grid-size));outline:none;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.mCyi7T,._0uiTC1{width:100%;position:relative}._0uiTC1{--padding-right:var(--control-height)}.y9nuVw,.-lXPkQ{font-variation-settings:"wght" 400;font-weight:400;display:inline-block}.-lXPkQ{margin-block:var(--space-xs)}.kaqcwk{--paragraph-margin:0;padding-bottom:var(--space-xs);color:var(--content-1);font-variation-settings:"wght" 300;font-weight:300}.-lXPkQ,.kaqcwk{margin-inline:var(--space-xs)}.ADooeh,.UQPwkb::placeholder,.x427rk::placeholder,._4GTgCO::placeholder,.CGeRS1::placeholder{color:var(--content-2);font-variation-settings:"wght" 100;text-overflow:ellipsis;white-space:nowrap;font-weight:100;overflow:hidden}._7GxEke .y9nuVw:after,._7GxEke .-lXPkQ:after{content:" *";color:var(--error-text)}.UQPwkb,.x427rk,._4GTgCO,.CGeRS1{--ui-tone-text:var(--neutral-text);--ui-tone-fill:var(--neutral-fill);--ui-tone-on-fill:var(--neutral-on-fill);--ui-tone-border:var(--neutral-border);--ui-tone-text-hover:color-mix(in srgb, var(--neutral-text) 88%, var(--content-0));--ui-tone-text-active:color-mix(in srgb, var(--neutral-text) 76%, var(--content-0));--ui-tone-border-hover:color-mix(in srgb, var(--neutral-border) 88%, var(--border-0));--ui-tone-border-active:color-mix(in srgb, var(--neutral-border) 76%, var(--border-0));--ui-tone-fill-hover:color-mix(in srgb, var(--neutral-fill) 75%, var(--surface-0));--ui-tone-fill-active:color-mix(in srgb, var(--neutral-fill) 50%, var(--surface-0));--ui-tone-soft:color-mix(in srgb, var(--neutral-fill) 12%, var(--surface-0));--ui-tone-border-focus:var(--focus-ring);--ui-tone-ghost-hover:color-mix(in srgb, var(--neutral-fill) 10%, var(--surface-0));--ui-tone-ghost-active:color-mix(in srgb, var(--neutral-fill) 20%, var(--surface-0));--ui-color:var(--ui-tone-text);--ui-color-hover:var(--ui-tone-text-hover);--ui-color-active:var(--ui-tone-text-active);--ui-background:var(--surface-0);--ui-background-hover:var(--surface-0);--ui-background-active:var(--surface-0);--ui-border-color:var(--ui-tone-border);--ui-border-hover:var(--ui-tone-border-hover);--ui-border-active:var(--ui-tone-border-active);--ui-border-focus:var(--ui-tone-border-focus);--ui-disabled-color:color-mix(in srgb, var(--ui-tone-text) 32%, var(--content-2));--ui-disabled-background:var(--surface-0);--ui-disabled-border:color-mix(in srgb, var(--ui-tone-border) 28%, var(--border-0));color:var(--ui-color);background-color:var(--ui-background);border:var(--border-width) solid var(--ui-border-color);border-radius:var(--ui-radius,var(--radius-sm));transition-property:border-color,color,background-color,box-shadow,padding,opacity,transform;transition-duration:var(--transition-fast);outline:none;transition-timing-function:ease}@media (any-hover:hover){.UQPwkb:hover,.x427rk:hover,._4GTgCO:hover,.CGeRS1:hover{color:var(--ui-color-hover);background-color:var(--ui-background-hover);border-color:var(--ui-border-hover)}}.UQPwkb:active,.x427rk:active,._4GTgCO:active,.CGeRS1:active{color:var(--ui-color-active);border-color:var(--ui-border-active);background-color:var(--ui-background-active)}.UQPwkb:focus-visible,.x427rk:focus-visible,._4GTgCO:focus-visible,.CGeRS1:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}.UQPwkb:disabled,.x427rk:disabled,._4GTgCO:disabled,.CGeRS1:disabled,.UQPwkb[data-disabled],[data-disabled].x427rk,[data-disabled]._4GTgCO,[data-disabled].CGeRS1{color:var(--ui-disabled-color,var(--content-2));background-color:var(--ui-disabled-background,var(--surface-2));border-color:var(--ui-disabled-border,var(--overlay-backdrop))}.UQPwkb:disabled,.x427rk:disabled,._4GTgCO:disabled,.CGeRS1:disabled{cursor:not-allowed}.UQPwkb[data-disabled],[data-disabled].x427rk,[data-disabled]._4GTgCO,[data-disabled].CGeRS1{cursor:default;pointer-events:none}.UQPwkb,.x427rk,._4GTgCO,.CGeRS1{--ui-radius:var(--radius-sm)}.UQPwkb.kkpwQI,.kkpwQI.x427rk,.kkpwQI._4GTgCO,.kkpwQI.CGeRS1,.UQPwkb:invalid,.x427rk:invalid,._4GTgCO:invalid,.CGeRS1:invalid{--ui-tone-text:var(--error-text);--ui-tone-fill:var(--error-fill);--ui-tone-on-fill:var(--error-on-fill);--ui-tone-border:var(--error-border);--ui-tone-text-hover:color-mix(in srgb, var(--error-text) 88%, var(--content-0));--ui-tone-text-active:color-mix(in srgb, var(--error-text) 76%, var(--content-0));--ui-tone-border-hover:color-mix(in srgb, var(--error-border) 88%, var(--border-0));--ui-tone-border-active:color-mix(in srgb, var(--error-border) 76%, var(--border-0));--ui-tone-fill-hover:color-mix(in srgb, var(--error-fill) 75%, var(--surface-0));--ui-tone-fill-active:color-mix(in srgb, var(--error-fill) 50%, var(--surface-0));--ui-tone-soft:color-mix(in srgb, var(--error-fill) 12%, var(--surface-0));--ui-tone-border-focus:var(--focus-ring);--ui-tone-ghost-hover:color-mix(in srgb, var(--error-fill) 10%, var(--surface-0));--ui-tone-ghost-active:color-mix(in srgb, var(--error-fill) 20%, var(--surface-0));--ui-color:var(--ui-tone-text);--ui-color-hover:var(--ui-tone-text-hover);--ui-color-active:var(--ui-tone-text-active);--ui-background:var(--surface-0);--ui-background-hover:var(--surface-0);--ui-background-active:var(--surface-0);--ui-border-color:var(--ui-tone-border);--ui-border-hover:var(--ui-tone-border-hover);--ui-border-active:var(--ui-tone-border-active);--ui-border-focus:var(--ui-tone-border-focus);--ui-disabled-color:color-mix(in srgb, var(--ui-tone-text) 32%, var(--content-2));--ui-disabled-background:var(--surface-0);--ui-disabled-border:color-mix(in srgb, var(--ui-tone-border) 28%, var(--border-0))}.DPvwku{--ui-tone-text:var(--neutral-text);--ui-tone-fill:var(--neutral-fill);--ui-tone-on-fill:var(--neutral-on-fill);--ui-tone-border:var(--neutral-border);--ui-tone-text-hover:color-mix(in srgb, var(--neutral-text) 88%, var(--content-0));--ui-tone-text-active:color-mix(in srgb, var(--neutral-text) 76%, var(--content-0));--ui-tone-border-hover:color-mix(in srgb, var(--neutral-border) 88%, var(--border-0));--ui-tone-border-active:color-mix(in srgb, var(--neutral-border) 76%, var(--border-0));--ui-tone-fill-hover:color-mix(in srgb, var(--neutral-fill) 75%, var(--surface-0));--ui-tone-fill-active:color-mix(in srgb, var(--neutral-fill) 50%, var(--surface-0));--ui-tone-soft:color-mix(in srgb, var(--neutral-fill) 12%, var(--surface-0));--ui-tone-border-focus:var(--focus-ring);--ui-tone-ghost-hover:color-mix(in srgb, var(--neutral-fill) 10%, var(--surface-0));--ui-tone-ghost-active:color-mix(in srgb, var(--neutral-fill) 20%, var(--surface-0))}.O9zizU{--ui-tone-text:var(--accent-text);--ui-tone-fill:var(--accent-fill);--ui-tone-on-fill:var(--accent-on-fill);--ui-tone-border:var(--accent-border);--ui-tone-text-hover:color-mix(in srgb, var(--accent-text) 88%, var(--content-0));--ui-tone-text-active:color-mix(in srgb, var(--accent-text) 76%, var(--content-0));--ui-tone-border-hover:color-mix(in srgb, var(--accent-border) 88%, var(--border-0));--ui-tone-border-active:color-mix(in srgb, var(--accent-border) 76%, var(--border-0));--ui-tone-fill-hover:color-mix(in srgb, var(--accent-fill) 75%, var(--surface-0));--ui-tone-fill-active:color-mix(in srgb, var(--accent-fill) 50%, var(--surface-0));--ui-tone-soft:color-mix(in srgb, var(--accent-fill) 12%, var(--surface-0));--ui-tone-border-focus:var(--focus-ring);--ui-tone-ghost-hover:color-mix(in srgb, var(--accent-fill) 10%, var(--surface-0));--ui-tone-ghost-active:color-mix(in srgb, var(--accent-fill) 20%, var(--surface-0))}.BTLgLF{--ui-tone-text:var(--brand-text);--ui-tone-fill:var(--brand-fill);--ui-tone-on-fill:var(--brand-on-fill);--ui-tone-border:var(--brand-border);--ui-tone-text-hover:color-mix(in srgb, var(--brand-text) 88%, var(--content-0));--ui-tone-text-active:color-mix(in srgb, var(--brand-text) 76%, var(--content-0));--ui-tone-border-hover:color-mix(in srgb, var(--brand-border) 88%, var(--border-0));--ui-tone-border-active:color-mix(in srgb, var(--brand-border) 76%, var(--border-0));--ui-tone-fill-hover:color-mix(in srgb, var(--brand-fill) 75%, var(--surface-0));--ui-tone-fill-active:color-mix(in srgb, var(--brand-fill) 50%, var(--surface-0));--ui-tone-soft:color-mix(in srgb, var(--brand-fill) 12%, var(--surface-0));--ui-tone-border-focus:var(--focus-ring);--ui-tone-ghost-hover:color-mix(in srgb, var(--brand-fill) 10%, var(--surface-0));--ui-tone-ghost-active:color-mix(in srgb, var(--brand-fill) 20%, var(--surface-0))}.SRqz74{--ui-tone-text:var(--error-text);--ui-tone-fill:var(--error-fill);--ui-tone-on-fill:var(--error-on-fill);--ui-tone-border:var(--error-border);--ui-tone-text-hover:color-mix(in srgb, var(--error-text) 88%, var(--content-0));--ui-tone-text-active:color-mix(in srgb, var(--error-text) 76%, var(--content-0));--ui-tone-border-hover:color-mix(in srgb, var(--error-border) 88%, var(--border-0));--ui-tone-border-active:color-mix(in srgb, var(--error-border) 76%, var(--border-0));--ui-tone-fill-hover:color-mix(in srgb, var(--error-fill) 75%, var(--surface-0));--ui-tone-fill-active:color-mix(in srgb, var(--error-fill) 50%, var(--surface-0));--ui-tone-soft:color-mix(in srgb, var(--error-fill) 12%, var(--surface-0));--ui-tone-border-focus:var(--focus-ring);--ui-tone-ghost-hover:color-mix(in srgb, var(--error-fill) 10%, var(--surface-0));--ui-tone-ghost-active:color-mix(in srgb, var(--error-fill) 20%, var(--surface-0))}.e-6pS0{--ui-tone-text:var(--warning-text);--ui-tone-fill:var(--warning-fill);--ui-tone-on-fill:var(--warning-on-fill);--ui-tone-border:var(--warning-border);--ui-tone-text-hover:color-mix(in srgb, var(--warning-text) 88%, var(--content-0));--ui-tone-text-active:color-mix(in srgb, var(--warning-text) 76%, var(--content-0));--ui-tone-border-hover:color-mix(in srgb, var(--warning-border) 88%, var(--border-0));--ui-tone-border-active:color-mix(in srgb, var(--warning-border) 76%, var(--border-0));--ui-tone-fill-hover:color-mix(in srgb, var(--warning-fill) 75%, var(--surface-0));--ui-tone-fill-active:color-mix(in srgb, var(--warning-fill) 50%, var(--surface-0));--ui-tone-soft:color-mix(in srgb, var(--warning-fill) 12%, var(--surface-0));--ui-tone-border-focus:var(--focus-ring);--ui-tone-ghost-hover:color-mix(in srgb, var(--warning-fill) 10%, var(--surface-0));--ui-tone-ghost-active:color-mix(in srgb, var(--warning-fill) 20%, var(--surface-0))}.tUxwSm{--ui-tone-text:var(--success-text);--ui-tone-fill:var(--success-fill);--ui-tone-on-fill:var(--success-on-fill);--ui-tone-border:var(--success-border);--ui-tone-text-hover:color-mix(in srgb, var(--success-text) 88%, var(--content-0));--ui-tone-text-active:color-mix(in srgb, var(--success-text) 76%, var(--content-0));--ui-tone-border-hover:color-mix(in srgb, var(--success-border) 88%, var(--border-0));--ui-tone-border-active:color-mix(in srgb, var(--success-border) 76%, var(--border-0));--ui-tone-fill-hover:color-mix(in srgb, var(--success-fill) 75%, var(--surface-0));--ui-tone-fill-active:color-mix(in srgb, var(--success-fill) 50%, var(--surface-0));--ui-tone-soft:color-mix(in srgb, var(--success-fill) 12%, var(--surface-0));--ui-tone-border-focus:var(--focus-ring);--ui-tone-ghost-hover:color-mix(in srgb, var(--success-fill) 10%, var(--surface-0));--ui-tone-ghost-active:color-mix(in srgb, var(--success-fill) 20%, var(--surface-0))}.bbef8l{--ui-tone-text:var(--info-text);--ui-tone-fill:var(--info-fill);--ui-tone-on-fill:var(--info-on-fill);--ui-tone-border:var(--info-border);--ui-tone-text-hover:color-mix(in srgb, var(--info-text) 88%, var(--content-0));--ui-tone-text-active:color-mix(in srgb, var(--info-text) 76%, var(--content-0));--ui-tone-border-hover:color-mix(in srgb, var(--info-border) 88%, var(--border-0));--ui-tone-border-active:color-mix(in srgb, var(--info-border) 76%, var(--border-0));--ui-tone-fill-hover:color-mix(in srgb, var(--info-fill) 75%, var(--surface-0));--ui-tone-fill-active:color-mix(in srgb, var(--info-fill) 50%, var(--surface-0));--ui-tone-soft:color-mix(in srgb, var(--info-fill) 12%, var(--surface-0));--ui-tone-border-focus:var(--focus-ring);--ui-tone-ghost-hover:color-mix(in srgb, var(--info-fill) 10%, var(--surface-0));--ui-tone-ghost-active:color-mix(in srgb, var(--info-fill) 20%, var(--surface-0))}.Ktkgp1{--ui-color:var(--ui-tone-on-fill);--ui-color-hover:var(--ui-tone-on-fill);--ui-color-active:var(--ui-tone-on-fill);--ui-background:var(--ui-tone-fill);--ui-background-hover:var(--ui-tone-fill-hover);--ui-background-active:var(--ui-tone-fill-active);--ui-border-color:transparent;--ui-border-hover:transparent;--ui-border-active:transparent;--ui-border-focus:transparent;--ui-disabled-color:var(--content-1);--ui-disabled-background:color-mix(in srgb, var(--ui-tone-fill) 14%, var(--surface-2));--ui-disabled-border:transparent}.bwQ2eF{--ui-color:var(--ui-tone-text);--ui-color-hover:var(--ui-tone-text-hover);--ui-color-active:var(--ui-tone-text-active);--ui-background:var(--surface-0);--ui-background-hover:var(--surface-0);--ui-background-active:var(--surface-0);--ui-border-color:var(--ui-tone-border);--ui-border-hover:var(--ui-tone-border-hover);--ui-border-active:var(--ui-tone-border-active);--ui-border-focus:var(--ui-tone-border-focus);--ui-disabled-color:color-mix(in srgb, var(--ui-tone-text) 32%, var(--content-2));--ui-disabled-background:var(--surface-0);--ui-disabled-border:color-mix(in srgb, var(--ui-tone-border) 28%, var(--border-0))}._26y4wg{--ui-color:var(--ui-tone-text);--ui-color-hover:var(--ui-tone-text-hover);--ui-color-active:var(--ui-tone-text-active);--ui-background:transparent;--ui-background-hover:var(--ui-tone-ghost-hover);--ui-background-active:var(--ui-tone-ghost-active);--ui-border-color:transparent;--ui-border-hover:transparent;--ui-border-active:transparent;--ui-border-focus:transparent;--ui-disabled-color:color-mix(in srgb, var(--ui-tone-text) 32%, var(--content-2));--ui-disabled-background:transparent;--ui-disabled-border:transparent}.xiEckw{--ui-color:var(--ui-tone-text);--ui-color-hover:var(--ui-tone-text-hover);--ui-color-active:var(--ui-tone-text-active);--ui-background:transparent;--ui-background-hover:transparent;--ui-background-active:transparent;--ui-border-color:transparent;--ui-border-hover:transparent;--ui-border-active:transparent;--ui-border-focus:transparent;--ui-disabled-color:color-mix(in srgb, var(--ui-tone-text) 32%, var(--content-2));--ui-disabled-background:transparent;--ui-disabled-border:transparent}.x427rk,._4GTgCO,.CGeRS1{height:var(--control-height)}.CGeRS1{color:var(--content-0);padding:0 var(--padding-right) 0 var(--space-sm);text-align:left;width:100%}.ARjNgd{color:var(--ui-color);background-color:var(--ui-background);border:var(--border-width) solid var(--ui-border-color);border-radius:var(--ui-radius,var(--radius-sm));transition-property:border-color,color,background-color,box-shadow,padding,opacity,transform;transition-duration:var(--transition-fast);outline:none;transition-timing-function:ease}@media (any-hover:hover){.ARjNgd:hover{color:var(--ui-color-hover);background-color:var(--ui-background-hover);border-color:var(--ui-border-hover)}}.ARjNgd:active{color:var(--ui-color-active);border-color:var(--ui-border-active);background-color:var(--ui-background-active)}.ARjNgd:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}.ARjNgd:disabled,.ARjNgd[data-disabled]{color:var(--ui-disabled-color,var(--content-2));background-color:var(--ui-disabled-background,var(--surface-2));border-color:var(--ui-disabled-border,var(--overlay-backdrop))}.ARjNgd:disabled{cursor:not-allowed}.ARjNgd[data-disabled]{cursor:default;pointer-events:none}.ARjNgd{--ui-color:var(--content-0);--ui-color-hover:var(--content-0);--ui-color-active:var(--content-0);--ui-background:var(--surface-0);--ui-background-hover:var(--ui-tone-soft);--ui-background-active:var(--ui-tone-soft);--ui-border-color:var(--ui-tone-border);--ui-border-hover:var(--ui-tone-border-hover);--ui-border-active:var(--ui-tone-border-active);--ui-border-focus:var(--ui-tone-border-focus);appearance:none;cursor:pointer;margin:0}.ARjNgd:checked{border-color:var(--ui-tone-border-active)}.ARjNgd:checked+.hwzILy{color:var(--ui-tone-fill)}.ARjNgd:disabled{cursor:default;border-color:var(--border-0)}.ARjNgd:disabled:checked+.hwzILy{color:var(--border-0)}.hwzILy{pointer-events:none;color:#0000;transition:color var(--transition-fast) ease, opacity var(--transition-fast) ease;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.PXh4Kd.t4Na-6,.PXh4Kd:disabled,.Vq8q-K.t4Na-6,.Vq8q-K:disabled{-webkit-user-select:none;user-select:none}.PXh4Kd.t4Na-6 .-lXPkQ,.PXh4Kd.t4Na-6 .kaqcwk,.PXh4Kd:disabled .-lXPkQ,.PXh4Kd:disabled .kaqcwk,.Vq8q-K.t4Na-6 .-lXPkQ,.Vq8q-K.t4Na-6 .kaqcwk,.Vq8q-K:disabled .-lXPkQ,.Vq8q-K:disabled .kaqcwk{color:var(--content-2)}.PXh4Kd.t4Na-6 .ADooeh,.PXh4Kd.t4Na-6 .UQPwkb::placeholder,.PXh4Kd.t4Na-6 .x427rk::placeholder,.PXh4Kd.t4Na-6 ._4GTgCO::placeholder,.PXh4Kd.t4Na-6 .CGeRS1::placeholder,.PXh4Kd.t4Na-6 .GPetum,.PXh4Kd.t4Na-6 .d-9srB,.PXh4Kd:disabled .ADooeh,.PXh4Kd:disabled .UQPwkb::placeholder,.PXh4Kd:disabled .x427rk::placeholder,.PXh4Kd:disabled ._4GTgCO::placeholder,.PXh4Kd:disabled .CGeRS1::placeholder,.PXh4Kd:disabled .GPetum,.PXh4Kd:disabled .d-9srB,.Vq8q-K.t4Na-6 .ADooeh,.Vq8q-K.t4Na-6 .UQPwkb::placeholder,.Vq8q-K.t4Na-6 .x427rk::placeholder,.Vq8q-K.t4Na-6 ._4GTgCO::placeholder,.Vq8q-K.t4Na-6 .CGeRS1::placeholder,.Vq8q-K.t4Na-6 .GPetum,.Vq8q-K.t4Na-6 .d-9srB,.Vq8q-K:disabled .ADooeh,.Vq8q-K:disabled .UQPwkb::placeholder,.Vq8q-K:disabled .x427rk::placeholder,.Vq8q-K:disabled ._4GTgCO::placeholder,.Vq8q-K:disabled .CGeRS1::placeholder,.Vq8q-K:disabled .GPetum,.Vq8q-K:disabled .d-9srB{opacity:.25}.PXh4Kd.t4Na-6,.Vq8q-K.t4Na-6{cursor:default;pointer-events:none}.PXh4Kd:disabled,.Vq8q-K:disabled{cursor:not-allowed}.X9lGKQ{--ui-panel-background:var(--surface-0)}.hanQAA{--ui-panel-background:var(--surface-1)}.EltZRn{--ui-panel-background:var(--surface-2)}.a7hN1A,.GAMoiV{background-color:var(--ui-panel-background,var(--surface-0))}.snye2X,.GAMoiV{border:var(--border);border-radius:var(--radius-sm);padding:var(--space-sm)}._6GrpYn{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset);background-color:var(--surface-1);border-color:var(--border-1);cursor:pointer}.xS7JcQ,._748hD6,.OfS43Y,.Vq8q-K{justify-content:flex-start;align-items:center;gap:var(--space-sm);text-align:left;width:100%;height:100%;display:flex}.Vq8q-K{height:auto;min-height:var(--control-height);border-radius:var(--radius-sm);color:var(--content-0);transition:background-color var(--transition-fast) ease, color var(--transition-fast) ease;background-color:#0000;border:none}.Vq8q-K ._9ExUHY,.Vq8q-K .pO4Y0g{font-size:var(--font-size-sm);width:var(--icon-size);height:var(--icon-size);flex-shrink:0}.Vq8q-K ._9ExUHY,.Vq8q-K .gbYdNR{color:var(--content-2)}.Vq8q-K.wEotEO{color:var(--accent-on-fill);background-color:var(--accent-fill);cursor:default}.Vq8q-K:focus-visible{color:var(--accent-text-hover);background-color:var(--accent-fill-hover);cursor:pointer}@media (any-hover:hover){.Vq8q-K:hover{color:var(--accent-text-hover);background-color:var(--accent-fill-hover);cursor:pointer}}.Vq8q-K.zb4xdz,.Vq8q-K:active{color:var(--accent-text-active);background-color:var(--accent-fill-active)}.Vq8q-K.t4Na-6{color:var(--content-2)}.Vq8q-K:focus-within{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}._748hD6,.OfS43Y{min-width:0;height:100%;padding:var(--space-xs) var(--space-sm);border-radius:inherit;color:inherit;cursor:inherit;background:0 0;border:none;outline:none;flex:1 1 0;text-decoration:none}.-vLdWn{border-top:var(--border);margin-block:var(--space-xs)}.Z3WweK{padding:var(--space-xs) var(--space-sm);color:var(--content-2);text-transform:uppercase;font-weight:300;font-size:var(--font-size-sm)}._9ExUHY{align-items:center;display:flex}.GPetum{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.d-9srB{font-family:var(--font-family-mono);color:var(--content-1);font-variation-settings:"wght" 300;font-weight:300}.JI6Ty-{font-variation-settings:"wght" 600;font-weight:600}.bx4Ra6{width:100%;height:100%;transition-property:width;transition-duration:var(--transition-fast);justify-content:flex-end;align-items:center;transition-timing-function:cubic-bezier(1,0,.5,.5);display:flex}.bx4Ra6>button{cursor:pointer;height:var(--control-height);width:var(--control-height);border-radius:var(--radius-sm);flex:0 0 var(--control-height);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.MDZNQY{color:var(--content-0)}.MDZNQY:hover{color:var(--accent-text)}.MVOYew{transition:transform var(--transition-fast) ease-in-out}.MVOYew._5r-eob{transform:rotate(180deg)}._4GTgCO{width:100%;padding:0 var(--space-sm);font-size:var(--font-size-md);cursor:text;align-items:center;display:flex}._6evDak{color:var(--error-text)}._6evDak:disabled{opacity:0;pointer-events:none;width:0;height:0;margin:0;padding:0;overflow:hidden}.rwtbSX{border-left:var(--border);height:calc(100% - var(--space-sm))}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t,t as n}from"./ui.module-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t,t as n}from"./ui.module-Ci4WdQwm.js";function r(e){return c[e]}function i(e){return l[e]}function a(e){return u[e]}function o({variant:e,tone:t,appearance:n,fallbackTone:r=`neutral`,fallbackAppearance:i=`outline`}){return t||n?{tone:t??r,appearance:n??i}:e?s[e]:{tone:r,appearance:i}}var s,c,l,u;function d(){return(d=e((()=>{n(),s={neutral:{tone:`neutral`,appearance:`solid`},neutralOutline:{tone:`neutral`,appearance:`outline`},ghost:{tone:`neutral`,appearance:`ghost`},accent:{tone:`accent`,appearance:`solid`},brand:{tone:`brand`,appearance:`solid`},error:{tone:`error`,appearance:`solid`},warning:{tone:`warning`,appearance:`solid`},success:{tone:`success`,appearance:`solid`},info:{tone:`info`,appearance:`solid`},accentOutline:{tone:`accent`,appearance:`outline`},brandOutline:{tone:`brand`,appearance:`outline`},errorOutline:{tone:`error`,appearance:`outline`},warningOutline:{tone:`warning`,appearance:`outline`},successOutline:{tone:`success`,appearance:`outline`},infoOutline:{tone:`info`,appearance:`outline`},transparent:{tone:`neutral`,appearance:`transparent`}},c={accent:t.uiToneAccent,neutral:t.uiToneNeutral,brand:t.uiToneBrand,error:t.uiToneError,warning:t.uiToneWarning,success:t.uiToneSuccess,info:t.uiToneInfo},l={solid:t.uiAppearanceSolid,outline:t.uiAppearanceOutline,ghost:t.uiAppearanceGhost,transparent:t.uiAppearanceTransparent},u={primary:t.uiPanelTonePrimary,secondary:t.uiPanelToneSecondary,tertiary:t.uiPanelToneTertiary}})))()}export{o as a,d as i,a as n,r,i as t};
|
package/storybook-static/assets/{useODataSelectBase-BJFNRp49.js → useODataSelectBase-DSz_GEHP.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{a as n,n as r}from"./odata-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{a as n,n as r}from"./odata-D489EHOE.js";import{f as i,h as a}from"./formatters-DVE1YVNQ-YIdRxgw-.js";function o(e,t){return t.indexOf(e)}function s({values:e,defaultValues:t,onChange:n,selectionMode:r=`independent`,segmentOrder:i=[]}){let[a,s]=(0,c.useState)(()=>t??{}),l=e??a,u=(0,c.useCallback)(t=>{e===void 0&&s(t),n?.(t)},[n,e]),d=(0,c.useCallback)(e=>{if(r===`independent`)return!1;let t=o(e,i);return t<0||i.slice(0,t).some(e=>!l[e]?.length)},[l,i,r]);return{values:l,updateValues:u,updateSegment:(0,c.useCallback)((e,t)=>{if(d(e))return;let n={...l,[e]:[...t]};if(r===`sequential`){let t=o(e,i);for(let e of i.slice(t+1))e in n&&(n[e]=[])}u(n)},[d,l,i,r,u]),isSegmentDisabled:d}}var c;function l(){return(l=e((()=>{c=t()})))()}function u(e){return e?.length?[...new Set(e)].sort():[]}function d(e,t,n){let r=[];for(let i of Object.keys(t).sort()){if(i===e)continue;let t=u(n?.[i]);t.length&&r.push(`${i}:${t.join(_)}`)}return r.join(g)}function f(e){let t=new Map;if(!e)return t;for(let n of e.split(g)){let e=n.indexOf(`:`);if(e<0)continue;let r=n.slice(0,e),i=n.slice(e+1).split(_).filter(Boolean);r&&i.length&&t.set(r,i)}return t}function p({odata:e,segment:t,model:n,value:a,dependencies:o}){let[s,c]=(0,h.useState)(``),[l,u]=(0,h.useState)(``),{codeKey:p,searchDebounceDelay:m,minSearchCodeLength:g,minSearchTextLength:_}=n,{data:v,textKey:y,isLoading:b,isError:x,getItems:S,separatedItems:C,findSourceItemsByKeys:w,setFilteredItems:T,debounce:E}=r({odata:e,model:n}),D=C.length,O=t.selectText&&y?y:p,k=(0,h.useMemo)(()=>v?d(p,v.keyPairsMap,o):``,[v,p,o]);(0,h.useEffect)(()=>{if(!v)return;let e=v.chain.findIndex(e=>e.codeKey===p),t=f(k),n=e=>{let n=v.chain[e].codeKey,r=t.get(n);if(r?.length)return w(n,r)};for(let t=v.chain.length-1;t>e;t--){let e=n(t);if(e){T(e);return}}for(let t=0;t<e;t++){let e=n(t);if(e){T(e);return}}T(void 0)},[v,k,p,w,T]),(0,h.useEffect)(()=>{E(`search`,()=>{u(s.trim().toLowerCase())},m)},[E,s,m]);let A=(0,h.useMemo)(()=>{if(!a?.length||!O)return[];let e=new Set(a);return C.filter(t=>e.has(t[O]))},[C,O,a]);return{query:s,setQuery:c,debouncedQuery:l,selectedItems:A,filteredItems:(0,h.useMemo)(()=>{if(!v)return[];if(!(l.length>=_))return S(void 0,A);let e=l.length>=_,n=!t.hideCode&&l.length>=g&&!Number.isNaN(Number(l));return S((t,r)=>!!(t&&r&&(n&&i(t,l)||e&&r.toLowerCase().includes(l))),A)},[l,S,g,_,v,t.hideCode,A]),itemsCount:D,isLoading:b,isError:x,codeKey:p,textKey:y,selectionKey:O,placeholder:t.placeholder}}function m(e,t){return e.map(e=>e[t])}var h,g,_;function v(){return(v=e((()=>{h=t(),n(),a(),g=``,_=``})))()}export{s as a,l as i,m as n,p as r,v as t};
|
package/storybook-static/assets/{useODataTreeData-CKAMSwbG.js → useODataTreeData-BSjVKhMe.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{a as n,n as r,o as i,r as a,s as o,t as s}from"./odata-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{a as n,n as r,o as i,r as a,s as o,t as s}from"./odata-D489EHOE.js";import{F as c,I as l}from"./odata-service-CWkHASdw-DAt28ZWr.js";function u(e,t,n){return e?`${e}/${t}:${n}`:`${t}:${n}`}function d(e,t,n){let r=n[t];return r&&e[r]||e[t]}function f(e){return[...new Set(e.filter(Boolean))].join(` `)}function p(e){return{id:u(e.parentId,e.codeKey,e.value),codeKey:e.codeKey,value:e.value,label:e.label,code:e.code,searchText:f([e.value,e.label,e.code]),sortCode:e.sortCode,children:[],childByBranchKey:new Map}}function m(e,t){e.sort((e,n)=>{let r=t?e.sortCode:e.label,i=t?n.sortCode:n.label;return l(r,i)||l(e.sortCode,n.sortCode)});for(let n of e)m(n.children,t)}function h(e){return{id:e.id,codeKey:e.codeKey,value:e.value,label:e.label,code:e.code,searchText:e.searchText,children:e.children.length>0?e.children.map(h):void 0}}function g({items:e,orderedCodeKeys:t,keyPairsMap:n,hiddenCodeKeys:r,textValueCodeKeys:i,allowEmptyCodeKeys:a,sortByCode:o=!0}){if(t.length===0||e.length===0)return[];let s=[],c=new Map;for(let o of e){let e;for(let l of t){let t=String(o[l]??``);if(!t&&!a?.has(l))break;let u=String(d(o,l,n)??``),f=i?.has(l)?u:t,m=`${l}:${f}`,h=e?e.childByBranchKey:c,g=h.get(m);g||(g=p({parentId:e?.id,codeKey:l,value:f,label:u,code:r.has(l)?void 0:t,sortCode:t}),h.set(m,g),e?e.children.push(g):s.push(g)),e=g}}return m(s,o),s.map(h)}function _(){return(_=e((()=>{c()})))()}function v(e,t,n){return i(e,t,n)}function y(){return(y=e((()=>{n()})))()}function b(e,t,n){return s([{odata:e,segments:t,model:n}])}function x(e){return e[0]?.id}function S({odata:e,segments:t,model:n,segmentOrder:i,allowEmptyCodeKeys:s}){let c=`${e.service}.${e.target}`,l=(0,C.useMemo)(()=>b(e,t,n),[e,t,n]),u=a([e]),d=(0,C.useMemo)(()=>v(l,u,i),[l,u,i]),f=(0,C.useMemo)(()=>d.map(e=>e.id),[d]),p=(0,C.useMemo)(()=>new Set(s),[s]),m=x(d)??Object.keys(t)[0],h=o({codeKey:m,...n}),_=r({odata:e,model:h}),{hiddenCodeKeys:y,textValueCodeKeys:S}=(0,C.useMemo)(()=>{let t=new Set,n=new Set;for(let r of d)(r.segment.hideCode??e.hideCode)&&t.add(r.id),r.segment.selectText&&n.add(r.id);return{hiddenCodeKeys:t,textValueCodeKeys:n}},[e.hideCode,d]),w=(0,C.useMemo)(()=>g({items:_.data?.items??[],orderedCodeKeys:f,keyPairsMap:_.data?.keyPairsMap??{},hiddenCodeKeys:y,textValueCodeKeys:S,allowEmptyCodeKeys:p,sortByCode:e.sortByCode}),[p,_.data?.items,_.data?.keyPairsMap,y,e.sortByCode,f,S]),T=d[0]?.segment.placeholder??`Выберите значение`,E=!!u[c]?.length;return{nodes:w,orderedSegmentItems:d,orderedCodeKeys:f,isLoading:_.isLoading,isError:_.isError,placeholder:T,hasResolvedChain:E}}var C;function w(){return(w=e((()=>{C=t(),n(),_(),y()})))()}export{S as n,w as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-TCiPQfyU.js";import{a as r,i}from"./utils-tg3ibbzi.js";import{n as a,t as o}from"./ui.module-Ci4WdQwm.js";import{c as s,s as c}from"./Option-CK-LHNXk.js";import{a as l}from"./usePickerTriggerController-C3jPyuwu.js";function u({emptyState:e,errorState:t}){let n=t??e;return n==null?null:(0,d.jsx)(`div`,{className:r(a.uiPopupOption,c.status,t!==void 0&&c.statusError),"aria-disabled":!0,children:n})}var d;function f(){return(f=e((()=>{i(),o(),s(),d=n(),u.__docgenInfo={description:``,methods:[],displayName:`PickerStatus`,props:{emptyState:{required:!1,tsType:{name:`ReactNode`},description:``},errorState:{required:!1,tsType:{name:`ReactNode`},description:``}}}})))()}function p({query:e,defaultQuery:t,onQuery:n,resetOnClose:r,triggerMode:i}){let a=e!==void 0,[o,s]=(0,m.useState)(t??``),c=a?e??``:o,u=r??(!i||l(i).resetQueryOnClose),d=e=>{a||s(e),n?.(e)};return{query:c,setQuery:d,clearQuery:()=>d(``),resetQueryOnClose:u}}var m;function h(){return(h=e((()=>{m=t()})))()}export{f as i,p as n,u as r,h as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./x-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./x-CEk3emXH.js";import{n as i}from"./iframe-TCiPQfyU.js";import{a,i as o}from"./utils-tg3ibbzi.js";import{n as s,r as c,t as l}from"./floating-ui.react-C-VmYdHj.js";import{n as u,t as d}from"./ui.module-Ci4WdQwm.js";import{n as f,r as p,t as m}from"./react-amiS04cs.js";import{r as h,t as g}from"./hooks-DiCw5pD1.js";import{c as _,i as v,r as y,s as b}from"./Option-CK-LHNXk.js";import{i as x,l as S,r as C}from"./Input-CT9sLrCJ.js";import{n as w,t as T}from"./PickerTriggerActions-wMALj9-p.js";function E({disabled:e,ariaLabel:t=`Очистить выбор`,onClear:n}){let i=e=>{e.preventDefault(),e.stopPropagation()};return(0,D.jsx)(`button`,{type:`button`,disabled:e,className:u.uiClearButton,"data-ui":`picker-clear-button`,"data-action":`clear-picker`,onMouseDown:i,onClick:e=>{i(e),n()},"aria-label":t,children:(0,D.jsx)(r,{})})}var D;function O(){return(O=e((()=>{n(),d(),D=i(),E.__docgenInfo={description:`Единое действие очистки выбранного значения во всех clearable picker-компонентах.`,methods:[],displayName:`PickerClearButton`,props:{disabled:{required:!1,tsType:{name:`boolean`},description:``},ariaLabel:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Очистить выбор"`,computed:!1}},onClear:{required:!0,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``}}}})))()}function k(e){if(typeof e==`string`||typeof e==`number`)return String(e);if(Array.isArray(e)){let t=e.map(k).filter(e=>!!e).map(e=>e.trim()).filter(Boolean);return t.length?t.join(` `):void 0}if((0,A.isValidElement)(e))return typeof e.props.searchText==`string`?e.props.searchText:k(e.props.children)}var A;function j(){return(j=e((()=>{A=t()})))()}function M({placeholder:e,label:t,optionCount:n,fallback:r=`Выберите значение`}){let i=k(t);return`${e??i??r} <${n}>`}function N(){return(N=e((()=>{j()})))()}function P(e){e.stopPropagation()}function F({open:e,context:t,floatingStyles:n,listId:r,labelId:i,popupAriaLabel:a,descriptionId:o,activeOptionId:c,ariaMultiselectable:u,popupRole:d=`listbox`,setFloating:m,getFloatingProps:h,onKeyDown:g,initialFocus:_=-1,returnFocus:v=!1,tabIndex:x=0,className:S,maxWidth:C,layoutClassName:w,bodyClassName:T,toolbar:E,selectionActions:D,children:O}){return(0,I.jsx)(p,{children:e&&(0,I.jsx)(s,{children:(0,I.jsx)(l,{context:t,modal:!1,initialFocus:_,returnFocus:v,children:(0,I.jsx)(f.div,{ref:m,style:{...n,maxWidth:C},initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},...h({id:r,role:d,tabIndex:x,"aria-labelledby":i,"aria-label":i?void 0:a,"aria-describedby":o,"aria-activedescendant":c,"aria-multiselectable":u||void 0,onMouseDown:P,onKeyDown:g,className:b.popupPositioner}),children:(0,I.jsx)(y,{className:S,layoutClassName:w,bodyClassName:T,toolbar:E,selectionActions:D,scrollable:!1,children:O})})})})})}var I;function L(){return(L=e((()=>{c(),m(),_(),v(),I=i(),F.__docgenInfo={description:``,methods:[],displayName:`PickerPopup`,props:{open:{required:!0,tsType:{name:`boolean`},description:``},context:{required:!0,tsType:{name:`FloatingContext`},description:``},floatingStyles:{required:!0,tsType:{name:`CSSProperties`},description:``},listId:{required:!0,tsType:{name:`string`},description:``},labelId:{required:!1,tsType:{name:`string`},description:``},popupAriaLabel:{required:!1,tsType:{name:`string`},description:``},descriptionId:{required:!1,tsType:{name:`string`},description:``},activeOptionId:{required:!1,tsType:{name:`string`},description:``},ariaMultiselectable:{required:!1,tsType:{name:`boolean`},description:``},popupRole:{required:!1,tsType:{name:`union`,raw:`"listbox" | "dialog"`,elements:[{name:`literal`,value:`"listbox"`},{name:`literal`,value:`"dialog"`}]},description:``,defaultValue:{value:`"listbox"`,computed:!1}},setFloating:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(node: HTMLElement | null) => void`,signature:{arguments:[{type:{name:`union`,raw:`HTMLElement | null`,elements:[{name:`HTMLElement`},{name:`null`}]},name:`node`}],return:{name:`void`}}},description:``},getFloatingProps:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(userProps?: Record<string, unknown>) => Record<string, unknown>`,signature:{arguments:[{type:{name:`Record`,elements:[{name:`string`},{name:`unknown`}],raw:`Record<string, unknown>`},name:`userProps`}],return:{name:`Record`,elements:[{name:`string`},{name:`unknown`}],raw:`Record<string, unknown>`}}},description:``},onKeyDown:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(event: KeyboardEvent<HTMLElement>) => void`,signature:{arguments:[{type:{name:`KeyboardEvent`,elements:[{name:`HTMLElement`}],raw:`KeyboardEvent<HTMLElement>`},name:`event`}],return:{name:`void`}}},description:``},initialFocus:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`-1`,computed:!1}},returnFocus:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}},tabIndex:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`0`,computed:!1}},className:{required:!1,tsType:{name:`string`},description:``},maxWidth:{required:!1,tsType:{name:`CSSProperties["maxWidth"]`,raw:`CSSProperties["maxWidth"]`},description:``},layoutClassName:{required:!1,tsType:{name:`string`},description:``},bodyClassName:{required:!1,tsType:{name:`string`},description:``},toolbar:{required:!1,tsType:{name:`union`,raw:`ReactNode | false`,elements:[{name:`ReactNode`},{name:`literal`,value:`false`}]},description:``},selectionActions:{required:!1,tsType:{name:`signature`,type:`object`,raw:`{
|
|
2
2
|
onSelectAll: () => void;
|
|
3
3
|
onDeselectAll: () => void;
|
|
4
4
|
selectAllButtonRef?: Ref<HTMLButtonElement>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{i as t,r as n}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{i as t,r as n}from"./iframe-TCiPQfyU.js";var r,i;function a(){return(a=e((()=>{t(),r=[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]],i=n(`x`,r)})))()}export{a as n,i as t};
|
|
@@ -552,14 +552,14 @@
|
|
|
552
552
|
}
|
|
553
553
|
</script>
|
|
554
554
|
|
|
555
|
-
<script type="module" crossorigin src="./assets/iframe-
|
|
555
|
+
<script type="module" crossorigin src="./assets/iframe-Cpjz8S9A.js"></script>
|
|
556
556
|
<link rel="modulepreload" crossorigin href="./assets/rolldown-runtime-DkW27tQK.js">
|
|
557
557
|
<link rel="modulepreload" crossorigin href="./assets/preload-helper-wdlQj8DP.js">
|
|
558
558
|
<link rel="modulepreload" crossorigin href="./assets/react-BZJXY1be.js">
|
|
559
559
|
<link rel="modulepreload" crossorigin href="./assets/chunk-KJHJLCBK-yRlRMfNs.js">
|
|
560
560
|
<link rel="modulepreload" crossorigin href="./assets/chunk-IMSF75WX-CGYlPTyG.js">
|
|
561
|
-
<link rel="modulepreload" crossorigin href="./assets/iframe-
|
|
562
|
-
<link rel="stylesheet" crossorigin href="./assets/iframe-
|
|
561
|
+
<link rel="modulepreload" crossorigin href="./assets/iframe-TCiPQfyU.js">
|
|
562
|
+
<link rel="stylesheet" crossorigin href="./assets/iframe-CT3ppous.css">
|
|
563
563
|
</head>
|
|
564
564
|
|
|
565
565
|
<body>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"generatedAt":
|
|
1
|
+
{"generatedAt":1789289591989,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":false,"refCount":0,"metaFramework":{"name":"tanstack-react","packageName":"@tanstack/react-router","version":"1.170.32"},"knownPackages":{"testPackages":{"@chromatic-com/storybook":"5.3.0","@storybook/addon-vitest":"10.5.10","@testing-library/dom":"10.4.1","@testing-library/react":"16.3.3","@testing-library/user-event":"^14.6.1","@vitest/browser":"4.1.11","playwright":"1.62.1","vitest":"4.1.11"},"stateManagementPackages":{"zustand":"5.0.0"},"dataFetchingPackages":{"@tanstack/react-query":"5.101.4"},"routerPackages":{"@tanstack/react-router":"1.170.23"}},"hasRouterPackage":false,"packageManager":{"type":"npm","version":"11.7.0","agent":"npm","nodeLinker":"node_modules"},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/react-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/react","portableStoriesFileCount":1,"applicationFileCount":9,"storybookVersion":"10.5.10","storybookVersionSpecifier":"^10.5.5","language":"typescript","storybookPackages":{"@storybook/react-vite":{"version":"10.5.10"},"storybook":{}},"addons":{"@chromatic-com/storybook":{"version":"5.3.0"},"@storybook/addon-docs":{"version":"10.5.10"},"@storybook/addon-a11y":{"version":"10.5.10"},"@storybook/addon-vitest":{"version":"10.5.10"}},"packageJsonType":"module"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TextEditorLexicalClient-C5AV8Fcu.js","names":[],"sources":["../../src/text-editor/toolbar/Toolbar.module.scss","../../src/text-editor/toolbar/ToolbarControl.tsx","../../src/text-editor/toolbar/AlignmentControls.tsx","../../src/text-editor/toolbar/HistoryControls.tsx","../../src/text-editor/toolbar/LinkButtons.tsx","../../src/text-editor/toolbar/TagButtons.tsx","../../src/text-editor/toolbar/TextEditorToolbarLexical.tsx","../../src/text-editor/lexical/plugins/InitialHtmlPlugin.tsx","../../src/text-editor/model/textEditorTypes.ts","../../src/text-editor/lib/toolbar/styleMappers.ts","../../src/text-editor/lib/toolbar/resolveToolbarState.ts","../../src/text-editor/lexical/plugins/SelectionStatePlugin.tsx","../../src/text-editor/lib/serialization/createLexicalRaw.ts","../../src/text-editor/lib/selection/restoreLinkDialogSelection.ts","../../src/text-editor/lib/semantic/getSemanticTagDepth.ts","../../src/text-editor/nodes/AccessibleLinkNode.ts","../../src/text-editor/nodes/SemanticTagNode.ts","../../src/text-editor/model/hooks/useTextEditorLexicalActions.ts","../../src/text-editor/TextEditor.module.scss","../../src/text-editor/EmailDialog.tsx","../../src/text-editor/LinkDialog.tsx","../../src/text-editor/PhoneDialog.tsx","../../src/text-editor/SemanticDialog.tsx","../../src/text-editor/semanticTagConfigs.tsx","../../src/text-editor/TimeDialog.tsx","../../src/text-editor/TextEditorDialogs.tsx","../../src/text-editor/TextEditorLexicalClient.tsx"],"sourcesContent":[".toolbar {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tjustify-content: start;\n\tgap: var(--space-sm);\n\tmargin-bottom: var(--space-md);\n\n\thr {\n\t\tmargin: 0.5rem 0;\n\t}\n}\n\n.groupControls {\n\tdisplay: flex;\n\tgap: var(--space-sm);\n}\n","import { type MouseEvent, type ReactNode } from \"react\";\n\nimport { Button } from \"../../button\";\n\ntype ToolbarControlProps = {\n\tisActive?: boolean;\n\tonClick?: (style: string) => void;\n\ttitle?: string;\n\tstyle?: string;\n\tdisabled?: boolean;\n\ticon?: ReactNode;\n};\n\n/**\n * Унифицированная кнопка действия в тулбаре текстового редактора. Отвечает за активное состояние, disabled-режим и визуальное представление иконки.\n */\nexport function ToolbarControl({ isActive, disabled, style, title, icon, onClick }: ToolbarControlProps) {\n\tconst handleMouseDown = (e: MouseEvent<HTMLButtonElement>) => {\n\t\t// Не отдаём фокус кнопке раньше сохранения Lexical selection. Само действие\n\t\t// выполняется native click: одинаково для мыши, Enter и пробела.\n\t\te.preventDefault();\n\t};\n\n\treturn (\n\t\t<Button\n\t\t\ttitle={title}\n\t\t\tdisabled={disabled}\n\t\t\tappearance=\"outline\"\n\t\t\ttone={isActive ? \"info\" : undefined}\n\t\t\tonMouseDown={handleMouseDown}\n\t\t\tonClick={() => onClick?.(style || \"\")}\n\t\t\ticon={icon}\n\t\t/>\n\t);\n}\n","import { AlignCenter, AlignJustify, AlignLeft, AlignRight } from \"lucide-react\";\n\nimport ToolbarStyle from \"./Toolbar.module.scss\";\nimport { ToolbarControl } from \"./ToolbarControl\";\n\nimport type { TextAlignment } from \"../model/textEditorTypes\";\n\ninterface AlignmentControlsProps {\n\tonAlignmentChange: (alignment: TextAlignment) => void;\n\tactiveAlignment?: TextAlignment | null;\n}\n\n/**\n * Кнопки управления выравниванием содержимого в текстовом редакторе. Используются в тулбаре для смены текстового alignment.\n */\nexport function AlignmentControls({ onAlignmentChange, activeAlignment }: AlignmentControlsProps) {\n\treturn (\n\t\t<div className={ToolbarStyle.groupControls}>\n\t\t\t<ToolbarControl\n\t\t\t\ttitle=\"По левому краю\"\n\t\t\t\ticon={<AlignLeft />}\n\t\t\t\tisActive={activeAlignment === \"left\"}\n\t\t\t\tonClick={() => onAlignmentChange(\"left\")}\n\t\t\t/>\n\t\t\t<ToolbarControl\n\t\t\t\ttitle=\"По центру\"\n\t\t\t\ticon={<AlignCenter />}\n\t\t\t\tisActive={activeAlignment === \"center\"}\n\t\t\t\tonClick={() => onAlignmentChange(\"center\")}\n\t\t\t/>\n\t\t\t<ToolbarControl\n\t\t\t\ttitle=\"По правому краю\"\n\t\t\t\ticon={<AlignRight />}\n\t\t\t\tisActive={activeAlignment === \"right\"}\n\t\t\t\tonClick={() => onAlignmentChange(\"right\")}\n\t\t\t/>\n\t\t\t<ToolbarControl\n\t\t\t\ttitle=\"По ширине\"\n\t\t\t\ticon={<AlignJustify />}\n\t\t\t\tisActive={activeAlignment === \"justify\"}\n\t\t\t\tonClick={() => onAlignmentChange(\"justify\")}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n","import { Redo, Undo } from \"lucide-react\";\n\nimport ToolbarStyle from \"./Toolbar.module.scss\";\nimport { ToolbarControl } from \"./ToolbarControl\";\n\ninterface HistoryControlsProps {\n\tonUndo: () => void;\n\tonRedo: () => void;\n}\n\n/**\n * Кнопки отмены и повтора действий для текстового редактора. Отвечают за работу с историей изменений документа.\n */\nexport function HistoryControls({ onUndo, onRedo }: HistoryControlsProps) {\n\treturn (\n\t\t<div className={ToolbarStyle.groupControls}>\n\t\t\t<ToolbarControl title=\"Отменить последнее действие\" icon={<Undo />} onClick={onUndo} />\n\t\t\t<ToolbarControl title=\"Повторить предыдущее действие\" icon={<Redo />} onClick={onRedo} />\n\t\t</div>\n\t);\n}\n","import { AtSign, ExternalLink, Link, Phone } from \"lucide-react\";\n\nimport ToolbarStyle from \"./Toolbar.module.scss\";\nimport { ToolbarControl } from \"./ToolbarControl\";\nimport { LinkTypes } from \"./types\";\n\ninterface LinkButtonsProps {\n\tdisabled: boolean;\n\tonClick: (type: LinkTypes) => void;\n}\n\n/**\n * Набор кнопок для вставки ссылок и связанных сущностей в текстовом редакторе. Используется в составе тулбара редактора.\n */\nexport function LinkButtons({ disabled, onClick }: LinkButtonsProps) {\n\treturn (\n\t\t<div className={ToolbarStyle.groupControls}>\n\t\t\t<ToolbarControl title=\"Добавить ссылку на статью\" icon={<Link />} onClick={() => onClick(LinkTypes.LOCAL_LINK)} />\n\t\t\t<ToolbarControl title=\"Добавить ссылку\" disabled={disabled} icon={<ExternalLink />} onClick={() => onClick(LinkTypes.LINK)} />\n\t\t\t<ToolbarControl title=\"Добавить телефон\" disabled={disabled} icon={<Phone />} onClick={() => onClick(LinkTypes.PHONE)} />\n\t\t\t<ToolbarControl title=\"Добавить email\" disabled={disabled} icon={<AtSign />} onClick={() => onClick(LinkTypes.EMAIL)} />\n\t\t</div>\n\t);\n}\n","import { BookType, Clock, Languages, MessageSquareQuote, PictureInPicture, Shredder } from \"lucide-react\";\n\nimport ToolbarStyle from \"./Toolbar.module.scss\";\nimport { ToolbarControl } from \"./ToolbarControl\";\nimport { TagTypes } from \"./types\";\n\ninterface TagButtonsProps {\n\tonClick: (type: TagTypes) => void;\n}\n\n/**\n * Переиспользуемый компонент `TagButtons` из раздела `toolbar`. Инкапсулирует общую логику отображения и взаимодействия, чтобы интерфейс оставался консистентным.\n */\nexport function TagButtons({ onClick }: TagButtonsProps) {\n\treturn (\n\t\t<div className={ToolbarStyle.groupControls}>\n\t\t\t<ToolbarControl title=\"Вставить Аббревиатуру\" icon={<BookType />} onClick={() => onClick(TagTypes.abbr)} />\n\t\t\t<ToolbarControl title=\"Вставить Код языка\" icon={<Languages />} onClick={() => onClick(TagTypes.lang)} />\n\t\t\t<ToolbarControl title=\"Вставить Дату/время\" icon={<Clock />} onClick={() => onClick(TagTypes.time)} />\n\t\t\t<ToolbarControl title=\"Вставить Ссылку на источник\" icon={<MessageSquareQuote />} onClick={() => onClick(TagTypes.cite)} />\n\t\t\t<ToolbarControl title=\"Вставить Удалённый фрагмент\" icon={<Shredder />} onClick={() => onClick(TagTypes.del)} />\n\t\t\t<ToolbarControl title=\"Вставить Добавленный фрагмент\" icon={<PictureInPicture />} onClick={() => onClick(TagTypes.ins)} />\n\t\t</div>\n\t);\n}\n","import { BrushCleaning } from \"lucide-react\";\n\nimport { AlignmentControls } from \"./AlignmentControls\";\nimport { HistoryControls } from \"./HistoryControls\";\nimport { LinkButtons } from \"./LinkButtons\";\nimport { TagButtons } from \"./TagButtons\";\nimport ToolbarStyle from \"./Toolbar.module.scss\";\nimport { ToolbarControl } from \"./ToolbarControl\";\nimport { LinkTypes, TagTypes, TextEditorBlockControls, TextEditorInlineControls } from \"./types\";\n\nimport type { TextEditorToolbarComponents } from \"../editorModel\";\nimport type { LexicalToolbarState, TextAlignment } from \"../model/textEditorTypes\";\n\ninterface TextEditorToolbarLexicalProps {\n\ttoolbarComponents?: TextEditorToolbarComponents;\n\tstate: LexicalToolbarState;\n\tonBlockStyleToggle: (style: string) => void;\n\tonInlineStyleToggle: (style: string) => void;\n\tonAlignmentChange: (alignment: TextAlignment) => void;\n\tonLinkClick: (type: LinkTypes) => void;\n\tonTagClick: (type: TagTypes) => void;\n\tonUndo: () => void;\n\tonRedo: () => void;\n\tonCleanTag?: () => void;\n}\n\n/**\n * Основная панель инструментов редактора Lexical. Собирает управляющие блоки и синхронизирует их с текущим состоянием выделения.\n */\nexport function TextEditorToolbarLexical({\n\ttoolbarComponents,\n\tstate,\n\tonBlockStyleToggle,\n\tonInlineStyleToggle,\n\tonAlignmentChange,\n\tonLinkClick,\n\tonTagClick,\n\tonUndo,\n\tonRedo,\n\tonCleanTag\n}: TextEditorToolbarLexicalProps) {\n\tconst components = { history: true, ...(toolbarComponents || {}) };\n\n\treturn (\n\t\t<div className={ToolbarStyle.toolbar}>\n\t\t\t{components.blocks && (\n\t\t\t\t<>\n\t\t\t\t\t<div className={ToolbarStyle.groupControls}>\n\t\t\t\t\t\t{TextEditorBlockControls.map((control) => (\n\t\t\t\t\t\t\t<ToolbarControl\n\t\t\t\t\t\t\t\tkey={control.style}\n\t\t\t\t\t\t\t\tisActive={control.style === state.blockType}\n\t\t\t\t\t\t\t\tstyle={control.style}\n\t\t\t\t\t\t\t\ttitle={control.label}\n\t\t\t\t\t\t\t\ticon={control.icon}\n\t\t\t\t\t\t\t\tonClick={onBlockStyleToggle}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t\t<hr />\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t{components.inline && (\n\t\t\t\t<>\n\t\t\t\t\t<div className={ToolbarStyle.groupControls}>\n\t\t\t\t\t\t{TextEditorInlineControls.map((control) => (\n\t\t\t\t\t\t\t<ToolbarControl\n\t\t\t\t\t\t\t\tkey={control.style}\n\t\t\t\t\t\t\t\tisActive={!!state.activeInlineStyles[control.style as keyof typeof state.activeInlineStyles]}\n\t\t\t\t\t\t\t\ttitle={control.label}\n\t\t\t\t\t\t\t\tstyle={control.style}\n\t\t\t\t\t\t\t\ticon={control.icon}\n\t\t\t\t\t\t\t\tdisabled={state.isTextUnselected}\n\t\t\t\t\t\t\t\tonClick={onInlineStyleToggle}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t\t<hr />\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t{components.alignment && (\n\t\t\t\t<>\n\t\t\t\t\t<AlignmentControls activeAlignment={state.activeAlignment} onAlignmentChange={onAlignmentChange} />\n\t\t\t\t\t<hr />\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t{components.links && (\n\t\t\t\t<>\n\t\t\t\t\t<LinkButtons disabled={state.isTextUnselected} onClick={onLinkClick} />\n\t\t\t\t\t<hr />\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t{components.tags && (\n\t\t\t\t<>\n\t\t\t\t\t<TagButtons onClick={onTagClick} />\n\t\t\t\t\t<hr />\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t{components.history && (\n\t\t\t\t<>\n\t\t\t\t\t<HistoryControls onUndo={onUndo} onRedo={onRedo} />\n\t\t\t\t\t<hr />\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t<ToolbarControl\n\t\t\t\tdisabled={state.isTextUnselected}\n\t\t\t\ttitle=\"Очистить выбранный тег\"\n\t\t\t\ticon={<BrushCleaning />}\n\t\t\t\tonClick={onCleanTag}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n","import { useEffect, useRef } from \"react\";\n\nimport { $generateNodesFromDOM } from \"@lexical/html\";\nimport { useLexicalComposerContext } from \"@lexical/react/LexicalComposerContext\";\nimport { $createParagraphNode, $getRoot } from \"lexical\";\n\ninterface InitialHtmlPluginProps {\n\tinitialHTML?: string;\n\tshouldSkip: boolean;\n}\n\n/**\n * Плагин Lexical для инициализации содержимого редактора из HTML-строки.\n */\nexport function InitialHtmlPlugin({ initialHTML, shouldSkip }: InitialHtmlPluginProps) {\n\tconst [editor] = useLexicalComposerContext();\n\tconst isAppliedRef = useRef(false);\n\n\tuseEffect(() => {\n\t\tif (shouldSkip || !initialHTML || isAppliedRef.current || typeof window === \"undefined\") return;\n\n\t\tisAppliedRef.current = true;\n\t\teditor.update(() => {\n\t\t\tconst root = $getRoot();\n\t\t\tconst dom = new DOMParser().parseFromString(initialHTML, \"text/html\");\n\t\t\tconst nodes = $generateNodesFromDOM(editor, dom);\n\n\t\t\troot.clear();\n\t\t\tif (nodes.length === 0) {\n\t\t\t\troot.append($createParagraphNode());\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\troot.append(...nodes);\n\t\t});\n\t}, [editor, initialHTML, shouldSkip]);\n\n\treturn null;\n}\n","export type TextAlignment = \"left\" | \"center\" | \"right\" | \"justify\";\n\nexport type TextEditorBlockStyle =\n\t| \"header-one\"\n\t| \"header-two\"\n\t| \"header-three\"\n\t| \"header-four\"\n\t| \"header-five\"\n\t| \"header-six\"\n\t| \"blockquote\"\n\t| \"code-block\"\n\t| \"ordered-list-item\"\n\t| \"unordered-list-item\"\n\t| \"unstyled\"\n\t| \"paragraph\";\n\nexport type TextEditorInlineStyle = \"BOLD\" | \"ITALIC\" | \"UNDERLINE\" | \"STRIKETHROUGH\" | \"HIGHLIGHT\" | \"CODE\";\n\nexport type TextEditorElementTypes = TextEditorBlockStyle | TextEditorInlineStyle;\n\nexport interface TextEditorLinkState {\n\tariaLabel: string;\n\ttext: string;\n\turl: string;\n\tadd: string;\n\tqrCode?: boolean;\n}\n\nexport type LinkType = TextEditorLinkState | string;\n\nexport interface LexicalToolbarState {\n\tblockType: string;\n\tisTextUnselected: boolean;\n\tactiveInlineStyles: Record<TextEditorInlineStyle, boolean>;\n\tactiveAlignment: TextAlignment | null;\n}\n\nexport const DEFAULT_TOOLBAR_STATE: LexicalToolbarState = {\n\tblockType: \"unstyled\",\n\tisTextUnselected: true,\n\tactiveInlineStyles: {\n\t\tBOLD: false,\n\t\tITALIC: false,\n\t\tUNDERLINE: false,\n\t\tSTRIKETHROUGH: false,\n\t\tHIGHLIGHT: false,\n\t\tCODE: false\n\t},\n\tactiveAlignment: null\n};\n","import type { TextEditorBlockStyle } from \"../../model/textEditorTypes\";\n\nexport const getHeadingBlockType = (tag: string): TextEditorBlockStyle => {\n\tswitch (tag) {\n\t\tcase \"h3\":\n\t\t\treturn \"header-three\";\n\t\tcase \"h4\":\n\t\t\treturn \"header-four\";\n\t\tcase \"h5\":\n\t\t\treturn \"header-five\";\n\t\tcase \"h6\":\n\t\t\treturn \"header-six\";\n\t\tdefault:\n\t\t\treturn \"unstyled\";\n\t}\n};\n\nexport const getHeadingTagByStyle = (style: string): \"h3\" | \"h4\" | \"h5\" | \"h6\" | null => {\n\tswitch (style) {\n\t\tcase \"header-three\":\n\t\t\treturn \"h3\";\n\t\tcase \"header-four\":\n\t\t\treturn \"h4\";\n\t\tcase \"header-five\":\n\t\t\treturn \"h5\";\n\t\tcase \"header-six\":\n\t\t\treturn \"h6\";\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n\nexport const getLexicalInlineStyle = (style: string): string | null => {\n\tswitch (style) {\n\t\tcase \"BOLD\":\n\t\t\treturn \"bold\";\n\t\tcase \"ITALIC\":\n\t\t\treturn \"italic\";\n\t\tcase \"UNDERLINE\":\n\t\t\treturn \"underline\";\n\t\tcase \"STRIKETHROUGH\":\n\t\t\treturn \"strikethrough\";\n\t\tcase \"HIGHLIGHT\":\n\t\t\treturn \"highlight\";\n\t\tcase \"CODE\":\n\t\t\treturn \"code\";\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n","import { $isListItemNode, $isListNode } from \"@lexical/list\";\nimport { $isHeadingNode, $isQuoteNode } from \"@lexical/rich-text\";\nimport { $getSelection, $isRangeSelection } from \"lexical\";\n\nimport { DEFAULT_TOOLBAR_STATE, type LexicalToolbarState, type TextAlignment } from \"../../model/textEditorTypes\";\n\nimport { getHeadingBlockType } from \"./styleMappers\";\n\nexport const resolveBlockType = (): string => {\n\tconst selection = $getSelection();\n\tif (!$isRangeSelection(selection)) return \"unstyled\";\n\n\tconst anchorNode = selection.anchor.getNode();\n\tconst topLevel = anchorNode.getTopLevelElementOrThrow();\n\n\tif ($isListItemNode(topLevel)) {\n\t\tconst listNode = topLevel.getParent();\n\t\tif ($isListNode(listNode)) {\n\t\t\treturn listNode.getListType() === \"bullet\" ? \"unordered-list-item\" : \"ordered-list-item\";\n\t\t}\n\t}\n\n\tif ($isListNode(topLevel)) {\n\t\treturn topLevel.getListType() === \"bullet\" ? \"unordered-list-item\" : \"ordered-list-item\";\n\t}\n\n\tif ($isHeadingNode(topLevel)) {\n\t\treturn getHeadingBlockType(topLevel.getTag());\n\t}\n\n\tif ($isQuoteNode(topLevel)) {\n\t\treturn \"blockquote\";\n\t}\n\n\tif (topLevel.getType() === \"paragraph\") {\n\t\treturn \"unstyled\";\n\t}\n\n\treturn topLevel.getType();\n};\n\nexport const resolveAlignment = (): TextAlignment | null => {\n\tconst selection = $getSelection();\n\tif (!$isRangeSelection(selection)) return null;\n\n\tconst anchorNode = selection.anchor.getNode();\n\tconst topLevel = anchorNode.getTopLevelElementOrThrow();\n\tconst formatType = topLevel.getFormatType();\n\n\tswitch (formatType) {\n\t\tcase \"left\":\n\t\tcase \"center\":\n\t\tcase \"right\":\n\t\tcase \"justify\":\n\t\t\treturn formatType;\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n\nexport const resolveToolbarState = (): LexicalToolbarState => {\n\tconst selection = $getSelection();\n\tif (!$isRangeSelection(selection)) {\n\t\treturn DEFAULT_TOOLBAR_STATE;\n\t}\n\n\treturn {\n\t\tblockType: resolveBlockType(),\n\t\tisTextUnselected: selection.isCollapsed(),\n\t\tactiveInlineStyles: {\n\t\t\tBOLD: selection.hasFormat(\"bold\"),\n\t\t\tITALIC: selection.hasFormat(\"italic\"),\n\t\t\tUNDERLINE: selection.hasFormat(\"underline\"),\n\t\t\tSTRIKETHROUGH: selection.hasFormat(\"strikethrough\"),\n\t\t\tHIGHLIGHT: selection.hasFormat(\"highlight\" as never),\n\t\t\tCODE: selection.hasFormat(\"code\")\n\t\t},\n\t\tactiveAlignment: resolveAlignment()\n\t};\n};\n","import { useEffect } from \"react\";\n\nimport { useLexicalComposerContext } from \"@lexical/react/LexicalComposerContext\";\nimport { LexicalEditor } from \"lexical\";\n\nimport { resolveToolbarState } from \"../../lib/toolbar/resolveToolbarState\";\n\nimport type { LexicalToolbarState } from \"../../model/textEditorTypes\";\n\ninterface SelectionStatePluginProps {\n\tonEditorReady: (editor: LexicalEditor) => void;\n\tonStateChange: (state: LexicalToolbarState) => void;\n}\n\n/**\n * Плагин Lexical, отслеживающий состояние выделения и готовность редактора.\n */\nexport function SelectionStatePlugin({ onEditorReady, onStateChange }: SelectionStatePluginProps) {\n\tconst [editor] = useLexicalComposerContext();\n\n\tuseEffect(() => {\n\t\tonEditorReady(editor);\n\n\t\treturn editor.registerUpdateListener(({ editorState }) => {\n\t\t\teditorState.read(() => {\n\t\t\t\tonStateChange(resolveToolbarState());\n\t\t\t});\n\t\t});\n\t}, [editor, onEditorReady, onStateChange]);\n\n\treturn null;\n}\n","import { EditorState as LexicalEditorState } from \"lexical\";\n\nimport type { TextEditorLexicalRaw } from \"../../editorModel\";\n\nexport const createLexicalRaw = (editorState: LexicalEditorState): TextEditorLexicalRaw => {\n\treturn {\n\t\tformat: \"lexical\",\n\t\tversion: 1,\n\t\teditorState: editorState.toJSON() as unknown as Record<string, unknown>\n\t};\n};\n","import { $createParagraphNode, $getNodeByKey, $getRoot, $isElementNode, $isTextNode, $setSelection, type RangeSelection } from \"lexical\";\n\n/**\n * Восстанавливает место вставки, сохранённое до переноса фокуса в каталог.\n * Вызывается только внутри editor.update при подтверждении: открытие и отмена\n * не меняют документ/историю. Удалённый или отсутствующий диапазон означает\n * добавление в конец; пустому корню нужен абзац для корректной inline-ссылки.\n */\nexport function $restoreLinkDialogSelection(snapshot: RangeSelection | null): RangeSelection {\n\tif (\n\t\tsnapshot &&\n\t\t[snapshot.anchor, snapshot.focus].every((point) => {\n\t\t\tconst node = $getNodeByKey(point.key);\n\t\t\tif (!node?.isAttached() || point.offset < 0) return false;\n\t\t\treturn point.type === \"text\"\n\t\t\t\t? $isTextNode(node) && point.offset <= node.getTextContentSize()\n\t\t\t\t: $isElementNode(node) && point.offset <= node.getChildrenSize();\n\t\t})\n\t) {\n\t\tconst selection = snapshot.clone();\n\t\t$setSelection(selection);\n\t\treturn selection;\n\t}\n\tconst root = $getRoot();\n\tif (root.isEmpty()) root.append($createParagraphNode());\n\treturn root.selectEnd();\n}\n","import type { LexicalNode } from \"lexical\";\n\nexport const getSemanticTagDepth = (node: LexicalNode): number => {\n\tlet depth = 0;\n\tlet current: LexicalNode | null = node;\n\n\twhile (current) {\n\t\tdepth += 1;\n\t\tcurrent = current.getParent();\n\t}\n\n\treturn depth;\n};\n","import { LinkAttributes, LinkNode, SerializedLinkNode } from \"@lexical/link\";\nimport {\n\t$applyNodeReplacement,\n\tDOMConversionMap,\n\tDOMConversionOutput,\n\tEditorConfig,\n\tElementNode,\n\tLexicalNode,\n\tLexicalUpdateJSON,\n\tNodeKey,\n\tRangeSelection,\n\tSpread\n} from \"lexical\";\n\nexport type AccessibleLinkAttributes = LinkAttributes & {\n\tariaLabel?: null | string;\n\tqrCode?: boolean;\n\tadd?: null | string;\n\ttext?: null | string;\n};\n\nexport type SerializedAccessibleLinkNode = Spread<\n\t{\n\t\tariaLabel: null | string;\n\t\tqrCode: boolean;\n\t\tadd: null | string;\n\t\ttext: null | string;\n\t},\n\tSerializedLinkNode\n>;\n\nconst convertAccessibleLinkElement = (domNode: Node): DOMConversionOutput => {\n\tif (!(domNode instanceof HTMLAnchorElement)) {\n\t\treturn { node: null };\n\t}\n\n\tconst textContent = domNode.textContent;\n\tif ((textContent === null || textContent === \"\") && domNode.children.length === 0) {\n\t\treturn { node: null };\n\t}\n\n\treturn {\n\t\tnode: $createAccessibleLinkNode(domNode.getAttribute(\"href\") || \"\", {\n\t\t\trel: domNode.getAttribute(\"rel\"),\n\t\t\ttarget: domNode.getAttribute(\"target\"),\n\t\t\ttitle: domNode.getAttribute(\"title\"),\n\t\t\tariaLabel: domNode.getAttribute(\"aria-label\"),\n\t\t\tqrCode: domNode.getAttribute(\"data-qr-code\") === \"true\",\n\t\t\tadd: null,\n\t\t\ttext: textContent\n\t\t})\n\t};\n};\n\nexport class AccessibleLinkNode extends LinkNode {\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\t__ariaLabel: null | string;\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\t__qrCode: boolean;\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\t__add: null | string;\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\t__text: null | string;\n\n\tstatic getType(): string {\n\t\treturn \"accessible-link\";\n\t}\n\n\tstatic clone(node: AccessibleLinkNode): AccessibleLinkNode {\n\t\treturn new AccessibleLinkNode(\n\t\t\tnode.__url,\n\t\t\t{\n\t\t\t\trel: node.__rel,\n\t\t\t\ttarget: node.__target,\n\t\t\t\ttitle: node.__title,\n\t\t\t\tariaLabel: node.__ariaLabel,\n\t\t\t\tqrCode: node.__qrCode,\n\t\t\t\tadd: node.__add,\n\t\t\t\ttext: node.__text\n\t\t\t},\n\t\t\tnode.__key\n\t\t);\n\t}\n\n\tconstructor(url = \"\", attributes: AccessibleLinkAttributes = {}, key?: NodeKey) {\n\t\tsuper(url, attributes, key);\n\n\t\tconst { ariaLabel = null, qrCode = false, add = null, text = null } = attributes;\n\t\tthis.__ariaLabel = ariaLabel;\n\t\tthis.__qrCode = qrCode;\n\t\tthis.__add = add;\n\t\tthis.__text = text;\n\t}\n\n\tstatic importDOM(): DOMConversionMap | null {\n\t\treturn {\n\t\t\ta: () => ({\n\t\t\t\tconversion: convertAccessibleLinkElement,\n\t\t\t\tpriority: 2\n\t\t\t})\n\t\t};\n\t}\n\n\tstatic importJSON(serializedNode: SerializedAccessibleLinkNode): AccessibleLinkNode {\n\t\treturn $createAccessibleLinkNode().updateFromJSON(serializedNode);\n\t}\n\n\tupdateFromJSON(serializedNode: LexicalUpdateJSON<SerializedAccessibleLinkNode>): this {\n\t\treturn super\n\t\t\t.updateFromJSON(serializedNode)\n\t\t\t.setAriaLabel(serializedNode.ariaLabel || null)\n\t\t\t.setQrCode(!!serializedNode.qrCode)\n\t\t\t.setAdd(serializedNode.add || null)\n\t\t\t.setText(serializedNode.text || null);\n\t}\n\n\texportJSON(): SerializedAccessibleLinkNode {\n\t\treturn {\n\t\t\t...super.exportJSON(),\n\t\t\ttype: \"accessible-link\",\n\t\t\tversion: 1,\n\t\t\tariaLabel: this.getAriaLabel(),\n\t\t\tqrCode: this.getQrCode(),\n\t\t\tadd: this.getAdd(),\n\t\t\ttext: this.getText()\n\t\t} as SerializedAccessibleLinkNode;\n\t}\n\n\tcreateDOM(config: EditorConfig): HTMLElement {\n\t\tconst dom = super.createDOM(config) as HTMLElement;\n\t\tthis.applyAccessibleAttributes(null, dom);\n\t\treturn dom;\n\t}\n\n\tupdateDOM(prevNode: this, anchor: HTMLElement, config: EditorConfig): boolean {\n\t\tconst isUpdated = super.updateDOM(prevNode, anchor as never, config);\n\t\tthis.applyAccessibleAttributes(prevNode, anchor);\n\t\treturn isUpdated;\n\t}\n\n\tapplyAccessibleAttributes(prevNode: this | null, anchor: HTMLElement): void {\n\t\tif (!(anchor instanceof HTMLAnchorElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!prevNode || prevNode.__ariaLabel !== this.__ariaLabel) {\n\t\t\tif (this.__ariaLabel) {\n\t\t\t\tanchor.setAttribute(\"aria-label\", this.__ariaLabel);\n\t\t\t} else {\n\t\t\t\tanchor.removeAttribute(\"aria-label\");\n\t\t\t}\n\t\t}\n\n\t\tif (!prevNode || prevNode.__qrCode !== this.__qrCode) {\n\t\t\tanchor.setAttribute(\"data-qr-code\", this.__qrCode ? \"true\" : \"false\");\n\t\t}\n\t}\n\n\tinsertNewAfter(_selection: RangeSelection, restoreSelection = true): null | ElementNode {\n\t\tconst linkNode = $createAccessibleLinkNode(this.__url, {\n\t\t\trel: this.__rel,\n\t\t\ttarget: this.__target,\n\t\t\ttitle: this.__title,\n\t\t\tariaLabel: this.__ariaLabel,\n\t\t\tqrCode: this.__qrCode,\n\t\t\tadd: this.__add,\n\t\t\ttext: this.__text\n\t\t});\n\t\tthis.insertAfter(linkNode, restoreSelection);\n\t\treturn linkNode;\n\t}\n\n\tgetAriaLabel(): null | string {\n\t\treturn this.getLatest().__ariaLabel;\n\t}\n\n\tsetAriaLabel(ariaLabel: null | string): this {\n\t\tconst writable = this.getWritable();\n\t\twritable.__ariaLabel = ariaLabel;\n\t\treturn this;\n\t}\n\n\tgetQrCode(): boolean {\n\t\treturn this.getLatest().__qrCode;\n\t}\n\n\tsetQrCode(qrCode: boolean): this {\n\t\tconst writable = this.getWritable();\n\t\twritable.__qrCode = qrCode;\n\t\treturn this;\n\t}\n\n\tgetAdd(): null | string {\n\t\treturn this.getLatest().__add;\n\t}\n\n\tsetAdd(add: null | string): this {\n\t\tconst writable = this.getWritable();\n\t\twritable.__add = add;\n\t\treturn this;\n\t}\n\n\tgetText(): null | string {\n\t\treturn this.getLatest().__text;\n\t}\n\n\tsetText(text: null | string): this {\n\t\tconst writable = this.getWritable();\n\t\twritable.__text = text;\n\t\treturn this;\n\t}\n}\n\nexport const $createAccessibleLinkNode = (url = \"\", attributes?: AccessibleLinkAttributes): AccessibleLinkNode => {\n\treturn $applyNodeReplacement(new AccessibleLinkNode(url, attributes));\n};\n\nexport const $isAccessibleLinkNode = (node: LexicalNode | null | undefined): node is AccessibleLinkNode => {\n\treturn node instanceof AccessibleLinkNode;\n};\n","import {\n\t$applyNodeReplacement,\n\tDOMConversionMap,\n\tDOMConversionOutput,\n\tEditorConfig,\n\tElementNode,\n\tLexicalNode,\n\tLexicalUpdateJSON,\n\tNodeKey,\n\tRangeSelection,\n\tSerializedElementNode,\n\tSpread\n} from \"lexical\";\n\nexport type SemanticTagAttributes = Record<string, string>;\n\nexport type SerializedSemanticTagNode = Spread<\n\t{\n\t\ttag: string;\n\t\tattributes: SemanticTagAttributes;\n\t\ttext: null | string;\n\t},\n\tSerializedElementNode\n>;\n\nconst getAttributesFromElement = (element: HTMLElement): SemanticTagAttributes => {\n\tconst attributes: SemanticTagAttributes = {};\n\tArray.from(element.attributes).forEach((attr) => {\n\t\tif (attr.name === \"class\") return;\n\t\tattributes[attr.name] = attr.value;\n\t});\n\treturn attributes;\n};\n\nconst convertSemanticTagElement = (domNode: Node): DOMConversionOutput => {\n\tif (!(domNode instanceof HTMLElement)) {\n\t\treturn { node: null };\n\t}\n\n\tconst tag = domNode.tagName.toLowerCase();\n\tif (![\"abbr\", \"span\", \"time\", \"cite\", \"del\", \"ins\"].includes(tag)) {\n\t\treturn { node: null };\n\t}\n\n\tconst text = domNode.textContent;\n\tif ((text === null || text === \"\") && domNode.children.length === 0) {\n\t\treturn { node: null };\n\t}\n\n\treturn {\n\t\tnode: $createSemanticTagNode(tag, getAttributesFromElement(domNode), text)\n\t};\n};\n\nexport class SemanticTagNode extends ElementNode {\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\t__tag: string;\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\t__attributes: SemanticTagAttributes;\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\t__text: null | string;\n\n\tstatic getType(): string {\n\t\treturn \"semantic-tag\";\n\t}\n\n\tstatic clone(node: SemanticTagNode): SemanticTagNode {\n\t\treturn new SemanticTagNode(node.__tag, node.__attributes, node.__text, node.__key);\n\t}\n\n\tconstructor(tag = \"span\", attributes: SemanticTagAttributes = {}, text: null | string = null, key?: NodeKey) {\n\t\tsuper(key);\n\t\tthis.__tag = tag;\n\t\tthis.__attributes = attributes;\n\t\tthis.__text = text;\n\t}\n\n\tstatic importDOM(): DOMConversionMap | null {\n\t\treturn {\n\t\t\tabbr: () => ({ conversion: convertSemanticTagElement, priority: 2 }),\n\t\t\tspan: () => ({ conversion: convertSemanticTagElement, priority: 2 }),\n\t\t\ttime: () => ({ conversion: convertSemanticTagElement, priority: 2 }),\n\t\t\tcite: () => ({ conversion: convertSemanticTagElement, priority: 2 }),\n\t\t\tdel: () => ({ conversion: convertSemanticTagElement, priority: 2 }),\n\t\t\tins: () => ({ conversion: convertSemanticTagElement, priority: 2 })\n\t\t};\n\t}\n\n\tstatic importJSON(serializedNode: SerializedSemanticTagNode): SemanticTagNode {\n\t\treturn $createSemanticTagNode(serializedNode.tag, serializedNode.attributes, serializedNode.text).updateFromJSON(serializedNode);\n\t}\n\n\tupdateFromJSON(serializedNode: LexicalUpdateJSON<SerializedSemanticTagNode>): this {\n\t\treturn super\n\t\t\t.updateFromJSON(serializedNode)\n\t\t\t.setTag(serializedNode.tag)\n\t\t\t.setAttributes(serializedNode.attributes || {})\n\t\t\t.setText(serializedNode.text || null);\n\t}\n\n\texportJSON(): SerializedSemanticTagNode {\n\t\treturn {\n\t\t\t...super.exportJSON(),\n\t\t\ttype: \"semantic-tag\",\n\t\t\tversion: 1,\n\t\t\ttag: this.getTag(),\n\t\t\tattributes: this.getAttributes(),\n\t\t\ttext: this.getText()\n\t\t};\n\t}\n\n\tcreateDOM(config: EditorConfig): HTMLElement {\n\t\tvoid config;\n\t\tconst element = document.createElement(this.__tag);\n\t\tthis.applyEditorAttributes(element);\n\t\treturn element;\n\t}\n\n\tupdateDOM(prevNode: this, dom: HTMLElement): boolean {\n\t\tif (prevNode.__tag !== this.__tag) {\n\t\t\treturn true;\n\t\t}\n\n\t\tthis.applyEditorAttributes(dom);\n\t\treturn false;\n\t}\n\n\texportDOM(): { element: HTMLElement } {\n\t\tconst element = document.createElement(this.__tag);\n\t\tObject.entries(this.__attributes).forEach(([key, value]) => {\n\t\t\telement.setAttribute(key, value);\n\t\t});\n\t\treturn { element };\n\t}\n\n\tapplyEditorAttributes(dom: HTMLElement): void {\n\t\tdom.classList.add(\"custom-tag-highlight\");\n\t\tArray.from(dom.attributes).forEach((attr) => {\n\t\t\tif (attr.name === \"class\") return;\n\t\t\tdom.removeAttribute(attr.name);\n\t\t});\n\t\tObject.entries(this.__attributes).forEach(([key, value]) => {\n\t\t\tdom.setAttribute(key, value);\n\t\t});\n\t}\n\n\tinsertNewAfter(_selection: RangeSelection, restoreSelection = true): null | ElementNode {\n\t\tconst node = $createSemanticTagNode(this.__tag, this.__attributes, this.__text);\n\t\tthis.insertAfter(node, restoreSelection);\n\t\treturn node;\n\t}\n\n\tcanInsertTextBefore(): boolean {\n\t\treturn false;\n\t}\n\n\tcanInsertTextAfter(): boolean {\n\t\treturn false;\n\t}\n\n\tcanBeEmpty(): boolean {\n\t\treturn false;\n\t}\n\n\tisInline(): boolean {\n\t\treturn true;\n\t}\n\n\tgetTag(): string {\n\t\treturn this.getLatest().__tag;\n\t}\n\n\tsetTag(tag: string): this {\n\t\tconst writable = this.getWritable();\n\t\twritable.__tag = tag;\n\t\treturn this;\n\t}\n\n\tgetAttributes(): SemanticTagAttributes {\n\t\treturn this.getLatest().__attributes;\n\t}\n\n\tsetAttributes(attributes: SemanticTagAttributes): this {\n\t\tconst writable = this.getWritable();\n\t\twritable.__attributes = attributes;\n\t\treturn this;\n\t}\n\n\tgetText(): null | string {\n\t\treturn this.getLatest().__text;\n\t}\n\n\tsetText(text: null | string): this {\n\t\tconst writable = this.getWritable();\n\t\twritable.__text = text;\n\t\treturn this;\n\t}\n}\n\nexport const $createSemanticTagNode = (\n\ttag: string,\n\tattributes: SemanticTagAttributes = {},\n\ttext: null | string = null\n): SemanticTagNode => {\n\treturn $applyNodeReplacement(new SemanticTagNode(tag, attributes, text));\n};\n\nexport const $isSemanticTagNode = (node: LexicalNode | null | undefined): node is SemanticTagNode => {\n\treturn node instanceof SemanticTagNode;\n};\n","import { useCallback, useRef } from \"react\";\n\nimport { $isLinkNode } from \"@lexical/link\";\nimport { INSERT_ORDERED_LIST_COMMAND, INSERT_UNORDERED_LIST_COMMAND, REMOVE_LIST_COMMAND } from \"@lexical/list\";\nimport { $createHeadingNode, $createQuoteNode } from \"@lexical/rich-text\";\nimport { $setBlocksType } from \"@lexical/selection\";\nimport { $findMatchingParent } from \"@lexical/utils\";\nimport {\n\t$createParagraphNode,\n\t$createTextNode,\n\t$getSelection,\n\t$isRangeSelection,\n\tElementFormatType,\n\tFORMAT_ELEMENT_COMMAND,\n\tFORMAT_TEXT_COMMAND,\n\tHISTORY_MERGE_TAG,\n\tHISTORY_PUSH_TAG,\n\ttype LexicalEditor,\n\ttype LexicalNode,\n\ttype RangeSelection,\n\tREDO_COMMAND,\n\tSKIP_DOM_SELECTION_TAG,\n\tUNDO_COMMAND\n} from \"lexical\";\n\nimport { $restoreLinkDialogSelection } from \"../../lib/selection/restoreLinkDialogSelection\";\nimport { getSemanticTagDepth } from \"../../lib/semantic/getSemanticTagDepth\";\nimport { getHeadingTagByStyle, getLexicalInlineStyle } from \"../../lib/toolbar/styleMappers\";\nimport { $createAccessibleLinkNode, $isAccessibleLinkNode } from \"../../nodes/AccessibleLinkNode\";\nimport { $createSemanticTagNode, $isSemanticTagNode, type SemanticTagNode } from \"../../nodes/SemanticTagNode\";\nimport { LinkTypes, TagTypes } from \"../../toolbar\";\nimport { type LexicalToolbarState, type LinkType, type TextAlignment } from \"../textEditorTypes\";\n\ninterface InsertLinkPayload {\n\turl: string;\n\ttext: string;\n\tadd: string;\n\tariaLabel: string;\n\tqrCode: boolean;\n}\n\ninterface UseTextEditorLexicalActionsParams {\n\teditor: LexicalEditor | null;\n\ttoolbarState: LexicalToolbarState;\n\thasLocalLinkDialog: boolean;\n\tonOpenLinkDialog: (type: LinkTypes) => void;\n\tonOpenTagDialog: (type: TagTypes) => void;\n}\n\nexport function useTextEditorLexicalActions({\n\teditor,\n\ttoolbarState,\n\thasLocalLinkDialog,\n\tonOpenLinkDialog,\n\tonOpenTagDialog\n}: UseTextEditorLexicalActionsParams) {\n\t// Snapshot принадлежит одной сессии ссылки и конкретному editor, не внешнему\n\t// каталогу. Каждое открытие заменяет его, в том числе после отмены диалога.\n\tconst linkSelectionRef = useRef<{ editor: LexicalEditor; selection: RangeSelection | null } | null>(null);\n\tconst handleBlockStyleToggle = useCallback(\n\t\t(style: string) => {\n\t\t\tif (!editor) return;\n\n\t\t\tif (style === \"unordered-list-item\") {\n\t\t\t\tif (toolbarState.blockType === \"unordered-list-item\") {\n\t\t\t\t\teditor.dispatchCommand(REMOVE_LIST_COMMAND, undefined);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\teditor.dispatchCommand(INSERT_UNORDERED_LIST_COMMAND, undefined);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (style === \"ordered-list-item\") {\n\t\t\t\tif (toolbarState.blockType === \"ordered-list-item\") {\n\t\t\t\t\teditor.dispatchCommand(REMOVE_LIST_COMMAND, undefined);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\teditor.dispatchCommand(INSERT_ORDERED_LIST_COMMAND, undefined);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\teditor.update(() => {\n\t\t\t\tconst selection = $getSelection();\n\t\t\t\tif (!$isRangeSelection(selection)) return;\n\n\t\t\t\tif (style === \"unstyled\" || style === \"paragraph\") {\n\t\t\t\t\t$setBlocksType(selection, () => $createParagraphNode());\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (style === \"blockquote\") {\n\t\t\t\t\t$setBlocksType(selection, () => $createQuoteNode());\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst headingTag = getHeadingTagByStyle(style);\n\t\t\t\tif (headingTag) {\n\t\t\t\t\t$setBlocksType(selection, () => $createHeadingNode(headingTag));\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\t[editor, toolbarState.blockType]\n\t);\n\n\tconst handleInlineStyleToggle = useCallback(\n\t\t(style: string) => {\n\t\t\tif (!editor) return;\n\n\t\t\tconst lexicalStyle = getLexicalInlineStyle(style);\n\t\t\tif (!lexicalStyle) return;\n\n\t\t\teditor.dispatchCommand(FORMAT_TEXT_COMMAND, lexicalStyle as never);\n\t\t},\n\t\t[editor]\n\t);\n\n\tconst handleAlignmentChange = useCallback(\n\t\t(alignment: TextAlignment) => {\n\t\t\tif (!editor) return;\n\t\t\teditor.dispatchCommand(FORMAT_ELEMENT_COMMAND, alignment as ElementFormatType);\n\t\t},\n\t\t[editor]\n\t);\n\n\tconst handleUndo = useCallback(() => {\n\t\tif (!editor) return;\n\t\teditor.dispatchCommand(UNDO_COMMAND, undefined);\n\t}, [editor]);\n\n\tconst handleRedo = useCallback(() => {\n\t\tif (!editor) return;\n\t\teditor.dispatchCommand(REDO_COMMAND, undefined);\n\t}, [editor]);\n\n\tconst getCurrentSelectionText = useCallback((): string => {\n\t\tif (!editor) return \"\";\n\n\t\tlet text = \"\";\n\t\teditor.getEditorState().read(() => {\n\t\t\tconst selection = $getSelection();\n\t\t\tif (!$isRangeSelection(selection)) return;\n\t\t\ttext = selection.getTextContent();\n\t\t});\n\n\t\treturn text;\n\t}, [editor]);\n\n\tconst insertLinkAtSelection = useCallback(\n\t\t(payload: InsertLinkPayload) => {\n\t\t\tif (!editor) return;\n\n\t\t\t// Отдельный selection-only commit создаёт baseline HistoryPlugin даже\n\t\t\t// до первого ввода. Вставка затем отменяется одним undo и не сливается\n\t\t\t// с предыдущим набором текста; фокус передаём только после закрытия диалога.\n\t\t\teditor.update(\n\t\t\t\t() => {\n\t\t\t\t\tconst snapshot = linkSelectionRef.current;\n\t\t\t\t\t$restoreLinkDialogSelection(snapshot?.editor === editor ? snapshot.selection : null);\n\t\t\t\t\tlinkSelectionRef.current = null;\n\t\t\t\t},\n\t\t\t\t{ discrete: true, tag: [HISTORY_MERGE_TAG, SKIP_DOM_SELECTION_TAG] }\n\t\t\t);\n\t\t\teditor.update(\n\t\t\t\t() => {\n\t\t\t\t\tconst selection = $getSelection();\n\t\t\t\t\tif (!$isRangeSelection(selection)) return;\n\t\t\t\t\tconst selectionText = selection.getTextContent();\n\t\t\t\t\tconst finalText = payload.text.length > 0 ? payload.text : selectionText;\n\t\t\t\t\tif (!finalText.trim()) return;\n\n\t\t\t\t\tconst linkNode = $createAccessibleLinkNode(payload.url, {\n\t\t\t\t\t\ttarget: \"_blank\",\n\t\t\t\t\t\trel: \"noopener noreferrer\",\n\t\t\t\t\t\tariaLabel: payload.ariaLabel || selectionText || finalText,\n\t\t\t\t\t\tqrCode: payload.qrCode,\n\t\t\t\t\t\tadd: payload.add || null,\n\t\t\t\t\t\ttext: finalText\n\t\t\t\t\t});\n\n\t\t\t\t\tconst textNode = $createTextNode(finalText);\n\t\t\t\t\tlinkNode.append(textNode);\n\t\t\t\t\tselection.insertNodes([linkNode]);\n\t\t\t\t},\n\t\t\t\t{ tag: HISTORY_PUSH_TAG }\n\t\t\t);\n\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\teditor.focus();\n\t\t\t});\n\t\t},\n\t\t[editor]\n\t);\n\n\tconst handleAddLink = useCallback(\n\t\t(url: string, text: string, add: string, ariaLabel: string, showQrCode: boolean) => {\n\t\t\tinsertLinkAtSelection({\n\t\t\t\turl,\n\t\t\t\ttext,\n\t\t\t\tadd,\n\t\t\t\tariaLabel,\n\t\t\t\tqrCode: showQrCode\n\t\t\t});\n\t\t},\n\t\t[insertLinkAtSelection]\n\t);\n\n\tconst handleAddLocalLink = useCallback(\n\t\t(url: string, caption: string) => {\n\t\t\tinsertLinkAtSelection({\n\t\t\t\turl,\n\t\t\t\ttext: caption,\n\t\t\t\tadd: \"\",\n\t\t\t\tariaLabel: \"Внутренняя ссылка на статью: \" + caption,\n\t\t\t\tqrCode: false\n\t\t\t});\n\t\t},\n\t\t[insertLinkAtSelection]\n\t);\n\n\tconst getSelectedLinkState = useCallback((): LinkType => {\n\t\tif (!editor) return \"\";\n\n\t\tlet state: LinkType = \"\";\n\t\teditor.getEditorState().read(() => {\n\t\t\tconst selection = $getSelection();\n\t\t\tif (!$isRangeSelection(selection)) {\n\t\t\t\tstate = \"\";\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selectionText = selection.getTextContent();\n\t\t\tconst anchorNode = selection.anchor.getNode();\n\t\t\tconst linkNode = $findMatchingParent(anchorNode, (node) => $isAccessibleLinkNode(node) || $isLinkNode(node));\n\n\t\t\tif ($isAccessibleLinkNode(linkNode)) {\n\t\t\t\tstate = {\n\t\t\t\t\turl: linkNode.getURL(),\n\t\t\t\t\tariaLabel: linkNode.getAriaLabel() || \"\",\n\t\t\t\t\ttext: linkNode.getText() || selectionText,\n\t\t\t\t\tadd: linkNode.getAdd() || \"\",\n\t\t\t\t\tqrCode: linkNode.getQrCode()\n\t\t\t\t};\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ($isLinkNode(linkNode)) {\n\t\t\t\tstate = {\n\t\t\t\t\turl: linkNode.getURL(),\n\t\t\t\t\tariaLabel: \"\",\n\t\t\t\t\ttext: selectionText,\n\t\t\t\t\tadd: \"\",\n\t\t\t\t\tqrCode: false\n\t\t\t\t};\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tstate = selectionText;\n\t\t});\n\n\t\treturn state;\n\t}, [editor]);\n\n\tconst handleLinkClick = useCallback(\n\t\t(type: LinkTypes) => {\n\t\t\tif (type === LinkTypes.LOCAL_LINK && !hasLocalLinkDialog) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!editor) return;\n\t\t\teditor.getEditorState().read(() => {\n\t\t\t\tconst selection = $getSelection();\n\t\t\t\tlinkSelectionRef.current = { editor, selection: $isRangeSelection(selection) ? selection.clone() : null };\n\t\t\t});\n\t\t\tonOpenLinkDialog(type);\n\t\t},\n\t\t[editor, hasLocalLinkDialog, onOpenLinkDialog]\n\t);\n\n\tconst insertSemanticTagAtSelection = useCallback(\n\t\t(tag: string, text: string, attributes: Record<string, string>) => {\n\t\t\tif (!editor) return;\n\n\t\t\teditor.update(() => {\n\t\t\t\tconst selection = $getSelection();\n\t\t\t\tif (!$isRangeSelection(selection)) return;\n\n\t\t\t\tconst selectionText = selection.getTextContent().trim();\n\t\t\t\tconst finalText =\n\t\t\t\t\ttext || selectionText || attributes[\"title\"] || attributes[\"aria-label\"] || Object.values(attributes).join(\" \") || tag;\n\n\t\t\t\tif (!finalText.trim()) return;\n\n\t\t\t\tconst node = $createSemanticTagNode(tag, attributes, finalText);\n\t\t\t\tnode.append($createTextNode(finalText));\n\t\t\t\tselection.insertNodes([node]);\n\t\t\t});\n\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\teditor.focus();\n\t\t\t});\n\t\t},\n\t\t[editor]\n\t);\n\n\tconst handleCleanSemanticTag = useCallback(() => {\n\t\tif (!editor) return;\n\n\t\teditor.update(() => {\n\t\t\tconst selection = $getSelection();\n\t\t\tif (!$isRangeSelection(selection) || selection.isCollapsed()) return;\n\n\t\t\tconst selectedNodes = selection.getNodes();\n\t\t\tconst semanticNodes = new Set<SemanticTagNode>();\n\n\t\t\tselectedNodes.forEach((node) => {\n\t\t\t\tlet current: LexicalNode | null = node;\n\t\t\t\twhile (current) {\n\t\t\t\t\tif ($isSemanticTagNode(current)) {\n\t\t\t\t\t\tsemanticNodes.add(current);\n\t\t\t\t\t}\n\t\t\t\t\tcurrent = current.getParent();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tconst sortedNodes = Array.from(semanticNodes).sort((a, b) => getSemanticTagDepth(b) - getSemanticTagDepth(a));\n\t\t\tsortedNodes.forEach((node) => {\n\t\t\t\tif (!node.isAttached()) return;\n\t\t\t\tconst children = node.getChildren();\n\t\t\t\tchildren.forEach((child) => node.insertBefore(child));\n\t\t\t\tnode.remove();\n\t\t\t});\n\t\t});\n\t}, [editor]);\n\n\tconst handleTagClick = useCallback(\n\t\t(type: TagTypes) => {\n\t\t\tonOpenTagDialog(type);\n\t\t},\n\t\t[onOpenTagDialog]\n\t);\n\n\treturn {\n\t\thandleAddLink,\n\t\thandleAddLocalLink,\n\t\thandleAlignmentChange,\n\t\thandleBlockStyleToggle,\n\t\thandleCleanSemanticTag,\n\t\thandleInlineStyleToggle,\n\t\thandleLinkClick,\n\t\thandleRedo,\n\t\thandleTagClick,\n\t\thandleUndo,\n\t\tgetCurrentSelectionText,\n\t\tgetSelectedLinkState,\n\t\tinsertSemanticTagAtSelection\n\t};\n}\n","@use \"@/styles/mixins/mixin\" as *;\n\n.textEditor {\n\tfont-size: inherit;\n}\n\n.textEditorContent {\n\tposition: relative;\n\tpadding: var(--space-md);\n\tborder-radius: var(--radius-md);\n\tbackground-color: var(--surface-secondary);\n\tborder: var(--border);\n\n\t&.focused {\n\t\tborder-color: var(--brand-border);\n\t}\n}\n\n.wrapper {\n\tfont-size: inherit;\n}\n","import { type MouseEvent, useState } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { isSafe } from \"@ryuzaki13/react-foundation-lib/validators\";\n\nimport { Button } from \"../button\";\nimport { Input } from \"../input\";\nimport { Modal, ModalContent, ModalFooter } from \"../modal\";\n\nimport { LinkType } from \"./linkTypes\";\n\ninterface EmailDialogProps {\n\tonClose: () => void;\n\tonConfirm: (url: string, text: string, add: string, ariaLabel: string, showQrCode: boolean) => void;\n\tinitialState?: LinkType;\n}\n\n/**\n * Диалог вставки или редактирования email-ссылки в текстовом редакторе.\n */\nexport function EmailDialog({ onClose, onConfirm, initialState }: EmailDialogProps) {\n\tconst state = (() => {\n\t\tif (isSafe(initialState) && typeof initialState === \"string\") {\n\t\t\treturn { text: \"\", add: \"\", ariaLabel: \"\", url: initialState };\n\t\t}\n\n\t\treturn initialState;\n\t})();\n\tconst [email, setEmail] = useState(() => (isSafe(state) ? (state.url ?? \"\") : \"\"));\n\tconst [ariaLabel, setAriaLabel] = useState(() => (isSafe(state) ? (state.ariaLabel ?? \"\") : \"\"));\n\tconst [error, setError] = useState<string | null>(null);\n\n\tconst validateEmail = (email: string): boolean => {\n\t\tconst emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n\t\tif (!emailRegex.test(email)) {\n\t\t\tsetError(\"Некорректный email адрес\");\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t};\n\n\tconst handleConfirm = (e: MouseEvent) => {\n\t\te.preventDefault();\n\n\t\tif (!validateEmail(email)) return;\n\t\tif (!ariaLabel) {\n\t\t\tsetError(\"Добавьте описание для email\");\n\t\t\treturn;\n\t\t}\n\n\t\tonConfirm(`mailto:${email}`, \"\", \"\", ariaLabel, false);\n\t\thandleClose();\n\t};\n\n\tconst handleClose = () => {\n\t\tsetEmail(\"\");\n\t\tsetAriaLabel(\"\");\n\t\tsetError(null);\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<Modal isOpen={true} onClose={handleClose} title=\"Ссылка на email\" size=\"md\">\n\t\t\t<ModalContent>\n\t\t\t\t<div className={cn(\"flexColumn\", \"gapMd\")}>\n\t\t\t\t\t<Input label=\"Email адрес\" value={email} onChange={setEmail} placeholder=\"some_email@mail.ru\" />\n\n\t\t\t\t\t{error && (\n\t\t\t\t\t\t<div className=\"textColorDanger\">\n\t\t\t\t\t\t\t<strong>Ошибка ввода:</strong> <span className=\"fontItalic\">{error}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel=\"Текст для экранных читалок\"\n\t\t\t\t\t\tvalue={ariaLabel}\n\t\t\t\t\t\tonChange={setAriaLabel}\n\t\t\t\t\t\tplaceholder=\"Электронная почта руководителя городской думмы\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</ModalContent>\n\t\t\t<ModalFooter>\n\t\t\t\t<Button appearance=\"outline\" tone=\"error\" onClick={handleClose}>\n\t\t\t\t\tОтмена\n\t\t\t\t</Button>\n\t\t\t\t<Button appearance=\"outline\" tone=\"success\" onClick={handleConfirm} disabled={!email || !ariaLabel}>\n\t\t\t\t\tПодтвердить\n\t\t\t\t</Button>\n\t\t\t</ModalFooter>\n\t\t</Modal>\n\t);\n}\n","import { type MouseEvent, useState } from \"react\";\n\nimport { isSafe, validateUrl } from \"@ryuzaki13/react-foundation-lib/validators\";\n\nimport { Button } from \"../button\";\nimport { CheckBox } from \"../check-box\";\nimport { GridContainer } from \"../grid\";\nimport { Input } from \"../input\";\nimport { Modal, ModalContent, ModalFooter } from \"../modal\";\n\nimport { LinkType } from \"./linkTypes\";\n\ninterface LinkDialogProps {\n\tonClose: () => void;\n\tonConfirm: (url: string, text: string, add: string, ariaLabel: string, showQrCode: boolean) => void;\n\tinitialState?: LinkType;\n}\n\n/**\n * Диалог вставки или редактирования ссылки в текстовом редакторе.\n */\nexport function LinkDialog({ onClose, onConfirm, initialState }: LinkDialogProps) {\n\tconst state = (() => {\n\t\tif (isSafe(initialState)) {\n\t\t\tif (typeof initialState === \"string\") {\n\t\t\t\treturn { text: \"\", add: \"\", ariaLabel: \"\", url: initialState };\n\t\t\t}\n\t\t}\n\t\treturn initialState;\n\t})();\n\tconst [url, setUrl] = useState(() => (isSafe(state) ? (state.url ?? \"\") : \"\"));\n\tconst [ariaLabel, setAriaLabel] = useState(() => (isSafe(state) ? (state.ariaLabel ?? \"\") : \"\"));\n\tconst [error, setError] = useState<string | null>(null);\n\tconst [showQrCode, setShowQrCode] = useState(false);\n\n\tconst handleUrlChange = (value: string) => {\n\t\tsetUrl(value);\n\n\t\t// Очищаем ошибку при изменении URL\n\t\tif (error) {\n\t\t\tsetError(null);\n\t\t}\n\t};\n\n\tconst handleConfirm = (e: MouseEvent) => {\n\t\te.preventDefault();\n\n\t\tconst validation = validateUrl(url);\n\t\tif (!validation.isValid) {\n\t\t\tsetError(validation.error);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!ariaLabel) {\n\t\t\tsetError(\"добавьте описание для ссылки\");\n\t\t\treturn;\n\t\t}\n\n\t\t// Добавляем протокол, если его нет\n\t\tconst finalUrl = url.startsWith(\"http\") ? url : `https://${url}`;\n\t\tonConfirm(finalUrl, \"\", \"\", ariaLabel, showQrCode);\n\t\thandleClose();\n\t};\n\n\tconst handleClose = () => {\n\t\tsetUrl(\"\");\n\t\tsetAriaLabel(\"\");\n\t\tsetError(null);\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<Modal isOpen={true} onClose={handleClose} title=\"Ссылка на внешний url\" size=\"md\">\n\t\t\t<ModalContent>\n\t\t\t\t<GridContainer gap=\"md\">\n\t\t\t\t\t<Input label=\"Полный URL адрес\" value={url} onChange={handleUrlChange} placeholder=\"https://somesite.ru\" />\n\n\t\t\t\t\t{error && (\n\t\t\t\t\t\t<div className=\"textColorDanger\">\n\t\t\t\t\t\t\t<strong>Ошибка ввода:</strong> <span className=\"fontItalic\">{error}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel=\"Текст для экранных читалок\"\n\t\t\t\t\t\tvalue={ariaLabel}\n\t\t\t\t\t\tonChange={setAriaLabel}\n\t\t\t\t\t\tplaceholder=\"Ссылка на официальный сайт городской думмы\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<CheckBox title=\"Показать кнопку для генерации QR кода ссылки\" value={showQrCode} onChange={setShowQrCode} />\n\t\t\t\t</GridContainer>\n\t\t\t</ModalContent>\n\t\t\t<ModalFooter>\n\t\t\t\t<Button appearance=\"outline\" tone=\"error\" onClick={handleClose}>\n\t\t\t\t\tОтмена\n\t\t\t\t</Button>\n\t\t\t\t<Button appearance=\"outline\" tone=\"success\" onClick={handleConfirm} disabled={!url || !ariaLabel}>\n\t\t\t\t\tПодтвердить\n\t\t\t\t</Button>\n\t\t\t</ModalFooter>\n\t\t</Modal>\n\t);\n}\n","import { type MouseEvent, useState } from \"react\";\n\nimport { formatPhone } from \"@ryuzaki13/react-foundation-lib/formatters\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { isSafe } from \"@ryuzaki13/react-foundation-lib/validators\";\n\nimport { Button } from \"../button\";\nimport { GridContainer } from \"../grid\";\nimport { Input } from \"../input\";\nimport { Modal, ModalContent, ModalFooter } from \"../modal\";\n\nimport { LinkType } from \"./linkTypes\";\n\ninterface PhoneDialogProps {\n\tonClose: () => void;\n\tonConfirm: (url: string, text: string, add: string, ariaLabel: string, showQrCode: boolean) => void;\n\tinitialState?: LinkType;\n}\n\n/**\n * Диалог вставки или редактирования телефонной ссылки в текстовом редакторе.\n */\nexport function PhoneDialog({ onClose, onConfirm, initialState }: PhoneDialogProps) {\n\tconst state = (() => {\n\t\tif (isSafe(initialState) && typeof initialState === \"string\") {\n\t\t\treturn { text: \"\", add: \"\", ariaLabel: \"\", url: initialState };\n\t\t}\n\n\t\treturn initialState;\n\t})();\n\tconst initialPhone = isSafe(state) ? (state.url ?? \"\").replace(/\\D/g, \"\").slice(0, 11).replace(/^7/, \"\") : \"\";\n\tconst initialPhoneAdd = isSafe(state)\n\t\t? state.add\n\t\t\t? (state.add ?? \"\").replace(/\\D/g, \"\")\n\t\t\t: (state.url ?? \"\").replace(/\\D/g, \"\").slice(11)\n\t\t: \"\";\n\tconst [phone, setPhone] = useState(initialPhone);\n\tconst [phoneAdd, setPhoneAdd] = useState(initialPhoneAdd);\n\tconst [ariaLabel, setAriaLabel] = useState(() => (isSafe(state) ? (state.ariaLabel ?? \"\") : \"\"));\n\tconst [error, setError] = useState<string | null>(null);\n\n\tconst handlePhoneChange = (value: string) => {\n\t\tvalue = value.replace(/\\D/g, \"\");\n\t\tif (value.length <= 10) {\n\t\t\tsetPhone(value);\n\t\t\tsetError(null);\n\t\t} else {\n\t\t\tsetError(\"нельзя ввести более 10 цифр\");\n\t\t}\n\t};\n\n\tconst validatePhone = (phone: string): boolean => {\n\t\tif (phone.length !== 10) {\n\t\t\tsetError(\"номер телефона должен содержать 10 цифр\");\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t};\n\n\tconst handleConfirm = (e: MouseEvent) => {\n\t\te.preventDefault();\n\n\t\tif (!validatePhone(phone)) return;\n\t\tif (!ariaLabel) {\n\t\t\tsetError(\"добавьте описание для телефона\");\n\t\t\treturn;\n\t\t}\n\n\t\tconst formattedPhone = formatPhone(phone);\n\t\tconst fullPhone = `+7${phone}`;\n\t\tonConfirm(`tel:${fullPhone}`, phoneAdd ? `${formattedPhone} доб. ${phoneAdd}` : formattedPhone, phoneAdd, ariaLabel, false);\n\t\thandleClose();\n\t};\n\n\tconst handleClose = () => {\n\t\tsetPhone(\"\");\n\t\tsetAriaLabel(\"\");\n\t\tsetError(null);\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<Modal isOpen={true} onClose={handleClose} title=\"Ссылка на телефон\" size=\"md\">\n\t\t\t<ModalContent>\n\t\t\t\t<GridContainer gap=\"md\">\n\t\t\t\t\t<div className={cn(\"flex\", \"alignItemsEnd\", \"gapSm\")}>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tlabel=\"Номер телефона без 7-ки\"\n\t\t\t\t\t\t\tdescription=\"Вводится только номер (10) цифр без каких-либо дополнительных символов. Ссылка будет привязана к текущему выделенному фрагменту текста. Поэтому текст самой ссылки можно оформить грамотно, например: +7 (3522) 12-34-56 доб. 100\"\n\t\t\t\t\t\t\tvalue={phone}\n\t\t\t\t\t\t\tonChange={handlePhoneChange}\n\t\t\t\t\t\t\tplaceholder=\"3522123456\"\n\t\t\t\t\t\t\tclassName=\"flex1\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Input label=\"Добавочный номер\" value={phoneAdd} onChange={setPhoneAdd} placeholder=\"100\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t{error && (\n\t\t\t\t\t\t<div className=\"textColorDanger\">\n\t\t\t\t\t\t\t<strong>Ошибка ввода:</strong> <span className=\"fontItalic\">{error}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel=\"Текст для экранных читалок\"\n\t\t\t\t\t\tdescription=\"Обязательное поле для организации доступности ссылки для лиц с ОВЗ, использующих скринридеры\"\n\t\t\t\t\t\tvalue={ariaLabel}\n\t\t\t\t\t\tonChange={setAriaLabel}\n\t\t\t\t\t\tplaceholder=\"Контактный телефон директора\"\n\t\t\t\t\t/>\n\t\t\t\t</GridContainer>\n\t\t\t</ModalContent>\n\t\t\t<ModalFooter>\n\t\t\t\t<Button appearance=\"solid\" tone=\"error\" onClick={handleClose}>\n\t\t\t\t\tОтмена\n\t\t\t\t</Button>\n\t\t\t\t<Button appearance=\"solid\" tone=\"success\" onClick={handleConfirm} disabled={!phone || !ariaLabel}>\n\t\t\t\t\tПодтвердить\n\t\t\t\t</Button>\n\t\t\t</ModalFooter>\n\t\t</Modal>\n\t);\n}\n","import { type ReactNode, useState } from \"react\";\n\nimport { Button } from \"../button\";\nimport { GridContainer } from \"../grid\";\nimport { Input } from \"../input\";\nimport { Modal, ModalContent, ModalFooter } from \"../modal\";\n\nexport interface AttributeField {\n\tname: string;\n\tlabel: string;\n\tdescription?: string;\n\tplaceholder?: string;\n\trequired?: boolean;\n\tvalidate?: (value: string) => string | null;\n}\n\nexport interface SemanticTagConfig {\n\ttagName: string;\n\ttitle: string;\n\tdescription: string;\n\texample: ReactNode;\n\tfields: AttributeField[];\n}\n\ninterface SemanticDialogProps {\n\tonClose: () => void;\n\tonConfirm: (tagName: string, text: string, attributes: Record<string, string>) => void;\n\tconfig: SemanticTagConfig;\n\tinitialState?: Record<string, string>;\n\tinitialText?: string;\n}\n\n/**\n * Диалог настройки семантического тега и его атрибутов в текстовом редакторе.\n */\nexport function SemanticDialog({ onClose, onConfirm, config, initialText = \"\", initialState = {} }: SemanticDialogProps) {\n\tconst [text, setText] = useState(initialText);\n\tconst [values, setValues] = useState<Record<string, string>>(() =>\n\t\tconfig.fields.reduce<Record<string, string>>((result, field) => {\n\t\t\tresult[field.name] = initialState[field.name] ?? \"\";\n\t\t\treturn result;\n\t\t}, {})\n\t);\n\tconst [errors, setErrors] = useState<Record<string, string | null>>({});\n\n\tconst handleChange = (name: string, value: string) => {\n\t\tsetValues((prev) => ({ ...prev, [name]: value }));\n\t\tsetErrors((prev) => ({ ...prev, [name]: null }));\n\t};\n\n\tconst validate = (): boolean => {\n\t\tconst newErrors: Record<string, string | null> = {};\n\t\tlet isValid = true;\n\n\t\tif (!text.trim()) {\n\t\t\tnewErrors[\"text\"] = \"Обязательное поле\";\n\t\t\tisValid = false;\n\t\t}\n\n\t\tfor (const field of config.fields) {\n\t\t\tconst value = values[field.name]?.trim();\n\t\t\tif (field.required && !value) {\n\t\t\t\tnewErrors[field.name] = \"Обязательное поле\";\n\t\t\t\tisValid = false;\n\t\t\t} else if (field.validate) {\n\t\t\t\tconst err = field.validate(value);\n\t\t\t\tif (err) {\n\t\t\t\t\tnewErrors[field.name] = err;\n\t\t\t\t\tisValid = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tsetErrors(newErrors);\n\t\treturn isValid;\n\t};\n\n\tconst handleConfirm = () => {\n\t\tif (!validate()) return;\n\t\tonConfirm(config.tagName, text.trim(), values);\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<Modal isOpen={true} onClose={onClose} title={`Вставка <${config.tagName}>`} size=\"md\">\n\t\t\t<ModalContent>\n\t\t\t\t<GridContainer gap=\"md\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{config.description}.<br />\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<strong>Пример:</strong> {config.example}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={config.title}\n\t\t\t\t\t\tdescription={`Данный текст будет вставлен в редактор и обёрнуть в специальный семантический тег ${config.tagName}`}\n\t\t\t\t\t\tvalue={text}\n\t\t\t\t\t\tonChange={setText}\n\t\t\t\t\t\terror={errors[\"text\"] ?? undefined}\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t{config.fields.map((field) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tkey={field.name}\n\t\t\t\t\t\t\t\tlabel={field.label}\n\t\t\t\t\t\t\t\tdescription={field.description}\n\t\t\t\t\t\t\t\tplaceholder={field.placeholder}\n\t\t\t\t\t\t\t\tvalue={values[field.name] ?? \"\"}\n\t\t\t\t\t\t\t\tonChange={(value) => handleChange(field.name, value)}\n\t\t\t\t\t\t\t\terror={errors[field.name] ?? undefined}\n\t\t\t\t\t\t\t\trequired={field.required}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</GridContainer>\n\t\t\t</ModalContent>\n\t\t\t<ModalFooter>\n\t\t\t\t<Button appearance=\"solid\" tone=\"error\" onClick={onClose}>\n\t\t\t\t\tОтмена\n\t\t\t\t</Button>\n\t\t\t\t<Button appearance=\"solid\" tone=\"success\" onClick={handleConfirm}>\n\t\t\t\t\tПодтвердить\n\t\t\t\t</Button>\n\t\t\t</ModalFooter>\n\t\t</Modal>\n\t);\n}\n","import { TagTypes } from \"./toolbar\";\n\nimport type { SemanticTagConfig } from \"./SemanticDialog\";\n\nexport const SemanticTagConfigs: Record<TagTypes, SemanticTagConfig> = {\n\t[TagTypes.abbr]: {\n\t\ttagName: \"abbr\",\n\t\ttitle: \"Аббревиатура\",\n\t\tdescription: \"Обозначает аббревиатуры и сокращения, при наведении покажет расшифровку\",\n\t\texample: (\n\t\t\t<>\n\t\t\t\t<abbr title=\"Национальное управление по аэронавтике и исследованию космического пространства\">НАСА</abbr>\n\t\t\t\t<div className=\"marginTopMd\">\n\t\t\t\t\t<code>{`<abbr title=\"Национальное управление по аэронавтике и исследованию космического пространства\">НАСА</abbr>`}</code>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t),\n\t\tfields: [\n\t\t\t{\n\t\t\t\tname: \"title\",\n\t\t\t\tlabel: \"Расшифровка\",\n\t\t\t\tdescription: \"Появится как подсказка и будет прочитана скринридером\",\n\t\t\t\tplaceholder: \"например: HyperText Markup Language\",\n\t\t\t\trequired: true\n\t\t\t}\n\t\t]\n\t},\n\t[TagTypes.lang]: {\n\t\ttagName: \"span\",\n\t\ttitle: \"Текст на другом языке\",\n\t\tdescription:\n\t\t\t\"Указывает язык фрагмента текста, если он отличается от основного языка страницы, скринридер прочитает это слово с французским произношением\",\n\t\texample: (\n\t\t\t<>\n\t\t\t\t<span lang=\"fr\">Bonjour!</span> — сказал турист.\n\t\t\t\t<div className=\"marginTopMd\">\n\t\t\t\t\t<code>{`<span lang=\"fr\">Bonjour!</span> — сказал турист.`}</code>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t),\n\t\tfields: [\n\t\t\t{\n\t\t\t\tname: \"lang\",\n\t\t\t\tlabel: \"Код языка\",\n\t\t\t\tplaceholder: \"en, fr, ru\",\n\t\t\t\trequired: true,\n\t\t\t\tvalidate: (val) => (!/^[a-z]{2,3}(-[A-Z]{2})?$/.test(val) ? \"Неверный код языка (например, en или en-US)\" : null)\n\t\t\t}\n\t\t]\n\t},\n\t[TagTypes.time]: {\n\t\ttagName: \"time\",\n\t\ttitle: \"Дата/время\",\n\t\tdescription: \"\",\n\t\texample: \"\",\n\t\tfields: [\n\t\t\t{\n\t\t\t\tname: \"datetime\",\n\t\t\t\tlabel: \"Дата/время (machine-readable)\",\n\t\t\t\tdescription: \"Формат ISO 8601: 2025-05-18, 14:30, 2025-05-18T14:30\",\n\t\t\t\tplaceholder: \"например: 2025-05-18T14:30\",\n\t\t\t\trequired: true\n\t\t\t}\n\t\t]\n\t},\n\t[TagTypes.cite]: {\n\t\ttagName: \"cite\",\n\t\ttitle: \"Цитата источника\",\n\t\tdescription: \"Обозначает название книги, статьи, фильма или другого произведения, на которое вы ссылаетесь\",\n\t\texample: (\n\t\t\t<>\n\t\t\t\tПо словам Эйнштейна: <cite>«Воображение важнее знания»</cite>.\n\t\t\t\t<div className=\"marginTopMd\">\n\t\t\t\t\t<code>{`По словам Эйнштейна: <cite>«Воображение важнее знания»</cite>.`}</code>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t),\n\t\tfields: [\n\t\t\t{\n\t\t\t\tname: \"title\",\n\t\t\t\tlabel: \"Название источника\",\n\t\t\t\tdescription: \"Будет отображаться как подсказка\",\n\t\t\t\tplaceholder: \"например: Википедия\",\n\t\t\t\trequired: false\n\t\t\t}\n\t\t]\n\t},\n\t// [TagTypes.address]: {\n\t// \ttagName: \"address\",\n\t// \ttitle: \"Указывает контакты автора статьи/страницы (не для почтовых адресов компаний!)\",\n\t// \tdescription: \"\",\n\t// \texample: ``,\n\t// \tfields: [\n\t// \t\t{\n\t// \t\t\tname: \"aria-label\",\n\t// \t\t\tlabel: \"Описание (для доступности)\",\n\t// \t\t\tdescription: \"Содержимое будет прочитано скринридером, если адрес не очевиден\",\n\t// \t\t\tplaceholder: \"например: Контактный адрес компании\",\n\t// \t\t\trequired: false\n\t// \t\t}\n\t// \t]\n\t// },\n\t[TagTypes.del]: {\n\t\ttagName: \"del\",\n\t\ttitle: \"Изменения в тексте\",\n\t\tdescription: \"Удаленный фрагмент\",\n\t\texample: (\n\t\t\t<>\n\t\t\t\tПроект сдачи: <del>1 июня</del> <ins>15 июня</ins>\n\t\t\t\t<div className=\"marginTopMd\">\n\t\t\t\t\t<code>{`Проект сдачи: <del>1 июня</del> <ins>15 июня</ins>`}</code>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t),\n\t\tfields: [\n\t\t\t{\n\t\t\t\tname: \"datetime\",\n\t\t\t\tlabel: \"Когда был удалён\",\n\t\t\t\tdescription: \"Формат ISO 8601: 2025-05-18T14:30\",\n\t\t\t\tplaceholder: \"например: 2025-05-18T14:30\",\n\t\t\t\trequired: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"cite\",\n\t\t\t\tlabel: \"Источник/обоснование\",\n\t\t\t\tdescription: \"Ссылка на объяснение причины\",\n\t\t\t\tplaceholder: \"например: https://example.com/edit-log\",\n\t\t\t\trequired: false\n\t\t\t}\n\t\t]\n\t},\n\t[TagTypes.ins]: {\n\t\ttagName: \"ins\",\n\t\ttitle: \"Изменения в тексте\",\n\t\tdescription: \"Новый добавленный текст\",\n\t\texample: (\n\t\t\t<>\n\t\t\t\tПроект сдачи: <del>1 июня</del> <ins>15 июня</ins>\n\t\t\t\t<div className=\"marginTopMd\">\n\t\t\t\t\t<code>{`Проект сдачи: <del>1 июня</del> <ins>15 июня</ins>`}</code>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t),\n\t\tfields: [\n\t\t\t{\n\t\t\t\tname: \"datetime\",\n\t\t\t\tlabel: \"Когда был добавлен\",\n\t\t\t\tdescription: \"Формат ISO 8601: 2025-05-18T14:30\",\n\t\t\t\tplaceholder: \"например: 2025-05-18T14:30\",\n\t\t\t\trequired: false\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"cite\",\n\t\t\t\tlabel: \"Источник/обоснование\",\n\t\t\t\tdescription: \"Ссылка на объяснение причины\",\n\t\t\t\tplaceholder: \"например: https://example.com/edit-log\",\n\t\t\t\trequired: false\n\t\t\t}\n\t\t]\n\t}\n};\n","import { useState } from \"react\";\n\nimport { Button } from \"../button\";\nimport { GridContainer } from \"../grid\";\nimport { Input } from \"../input\";\nimport { Modal, ModalContent, ModalFooter } from \"../modal\";\nimport { RadioGroup } from \"../radio-group\";\n\ntype TimeDialogInitialState = {\n\tmode?: TimeMode;\n\tfrom?: string;\n\tto?: string;\n};\n\ninterface TimeDialogProps {\n\tonClose: () => void;\n\tonConfirm: (tagName: string, text: string, attributes: Record<string, string>) => void;\n\tinitialState?: TimeDialogInitialState;\n}\n\ntype TimeMode = \"date\" | \"datetime\" | \"time\" | \"range-time\" | \"range-date\" | \"range-datetime\";\n\n/**\n * Диалог настройки временного атрибута или значения в текстовом редакторе.\n */\nexport function TimeDialog({ onClose, onConfirm, initialState }: TimeDialogProps) {\n\tconst [mode, setMode] = useState<TimeMode | undefined>(() => initialState?.mode ?? \"date\");\n\tconst [from, setFrom] = useState(() => initialState?.from ?? \"\");\n\tconst [to, setTo] = useState(() => initialState?.to ?? \"\");\n\tconst [errors, setErrors] = useState<{ from?: string; to?: string }>({});\n\n\tconst validate = () => {\n\t\tconst newErrors: typeof errors = {};\n\t\t// const isValid = true;\n\n\t\tconst isDate = (v: string) => /^\\d{4}-\\d{2}-\\d{2}$/.test(v);\n\t\tconst isTime = (v: string) => /^\\d{2}:\\d{2}$/.test(v);\n\t\tconst isDateTime = (v: string) => /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}$/.test(v);\n\n\t\tconst check = (label: string, value: string, type: \"date\" | \"time\" | \"datetime\") => {\n\t\t\tif (!value) return `${label} обязательно`;\n\t\t\tif (type === \"date\" && !isDate(value)) return \"Неверный формат даты (ГГГГ-ММ-ДД)\";\n\t\t\tif (type === \"time\" && !isTime(value)) return \"Неверный формат времени (ЧЧ:ММ)\";\n\t\t\tif (type === \"datetime\" && !isDateTime(value)) return \"Неверный формат даты и времени (ГГГГ-ММ-ДДTЧЧ:ММ)\";\n\t\t\treturn undefined;\n\t\t};\n\n\t\tswitch (mode) {\n\t\t\tcase \"date\":\n\t\t\t\tnewErrors.from = check(\"Дата\", from, \"date\");\n\t\t\t\tbreak;\n\t\t\tcase \"time\":\n\t\t\t\tnewErrors.from = check(\"Время\", from, \"time\");\n\t\t\t\tbreak;\n\t\t\tcase \"datetime\":\n\t\t\t\tnewErrors.from = check(\"Дата и время\", from, \"datetime\");\n\t\t\t\tbreak;\n\t\t\tcase \"range-time\":\n\t\t\t\tnewErrors.from = check(\"Время начала\", from, \"time\");\n\t\t\t\tnewErrors.to = check(\"Время окончания\", to, \"time\");\n\t\t\t\tbreak;\n\t\t\tcase \"range-date\":\n\t\t\t\tnewErrors.from = check(\"Дата начала\", from, \"date\");\n\t\t\t\tnewErrors.to = check(\"Дата окончания\", to, \"date\");\n\t\t\t\tbreak;\n\t\t\tcase \"range-datetime\":\n\t\t\t\tnewErrors.from = check(\"Начало\", from, \"datetime\");\n\t\t\t\tnewErrors.to = check(\"Окончание\", to, \"datetime\");\n\t\t\t\tbreak;\n\t\t}\n\n\t\tsetErrors(newErrors);\n\t\treturn Object.values(newErrors).every((e) => !e);\n\t};\n\n\tconst handleConfirm = () => {\n\t\tif (!validate()) return;\n\n\t\tconst datetime = to ? `${from}/${to}` : from;\n\t\tonConfirm(\"time\", datetime, { datetime });\n\t\tonClose();\n\t};\n\n\tconst renderInputs = () => {\n\t\tswitch (mode) {\n\t\t\tcase \"date\":\n\t\t\tcase \"datetime\":\n\t\t\tcase \"time\":\n\t\t\t\treturn (\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel=\"Значение\"\n\t\t\t\t\t\tplaceholder={mode === \"time\" ? \"09:00\" : mode === \"date\" ? \"2025-05-18\" : \"2025-05-18T09:00\"}\n\t\t\t\t\t\tvalue={from}\n\t\t\t\t\t\tonChange={setFrom}\n\t\t\t\t\t\terror={errors.from}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase \"range-time\":\n\t\t\tcase \"range-date\":\n\t\t\tcase \"range-datetime\":\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tlabel=\"С\"\n\t\t\t\t\t\t\tplaceholder={mode.includes(\"time\") ? \"09:00\" : mode.includes(\"date\") ? \"2025-05-18\" : \"2025-05-18T09:00\"}\n\t\t\t\t\t\t\tvalue={from}\n\t\t\t\t\t\t\tonChange={setFrom}\n\t\t\t\t\t\t\terror={errors.from}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tlabel=\"По\"\n\t\t\t\t\t\t\tplaceholder={mode.includes(\"time\") ? \"17:00\" : mode.includes(\"date\") ? \"2025-05-22\" : \"2025-05-22T17:00\"}\n\t\t\t\t\t\t\tvalue={to}\n\t\t\t\t\t\t\tonChange={setTo}\n\t\t\t\t\t\t\terror={errors.to}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t}\n\t};\n\n\treturn (\n\t\t<Modal isOpen={true} onClose={onClose} title=\"Вставка <time>\" size=\"md\">\n\t\t\t<ModalContent>\n\t\t\t\t<GridContainer gap=\"md\">\n\t\t\t\t\t<RadioGroup label=\"Тип значения\" value={mode} onChange={setMode}>\n\t\t\t\t\t\t<RadioGroup.Option label=\"Дата\" value=\"date\" />\n\t\t\t\t\t\t<RadioGroup.Option label=\"Дата и время\" value=\"datetime\" />\n\t\t\t\t\t\t<RadioGroup.Option label=\"Время\" value=\"time\" />\n\t\t\t\t\t\t<RadioGroup.Option label=\"Диапазон дат\" value=\"range-date\" />\n\t\t\t\t\t\t<RadioGroup.Option label=\"Диапазон времени\" value=\"range-time\" />\n\t\t\t\t\t\t<RadioGroup.Option label=\"Диапазон даты и времени\" value=\"range-datetime\" />\n\t\t\t\t\t</RadioGroup>\n\n\t\t\t\t\t<GridContainer gap=\"md\">{renderInputs()}</GridContainer>\n\t\t\t\t</GridContainer>\n\t\t\t</ModalContent>\n\t\t\t<ModalFooter>\n\t\t\t\t<Button appearance=\"solid\" tone=\"error\" onClick={onClose}>\n\t\t\t\t\tОтмена\n\t\t\t\t</Button>\n\t\t\t\t<Button appearance=\"solid\" tone=\"success\" onClick={handleConfirm}>\n\t\t\t\t\tПодтвердить\n\t\t\t\t</Button>\n\t\t\t</ModalFooter>\n\t\t</Modal>\n\t);\n}\n","import type { ComponentType } from \"react\";\n\nimport { EmailDialog } from \"./EmailDialog\";\nimport { LinkDialog } from \"./LinkDialog\";\nimport { PhoneDialog } from \"./PhoneDialog\";\nimport { SemanticDialog } from \"./SemanticDialog\";\nimport { SemanticTagConfigs } from \"./semanticTagConfigs\";\nimport { TimeDialog } from \"./TimeDialog\";\nimport { LinkTypes, TagTypes } from \"./toolbar\";\n\nimport type { LocalLinkDialogAdapterProps } from \"./editorModel\";\nimport type { LinkType } from \"./model/textEditorTypes\";\n\ninterface TextEditorDialogsProps {\n\tlinkTypeDialog: LinkTypes | null;\n\ttagTypeDialog: TagTypes | null;\n\tlocalLinkDialogComponent?: ComponentType<LocalLinkDialogAdapterProps>;\n\tonCloseLinkDialog: () => void;\n\tonCloseTagDialog: () => void;\n\tonAddLink: (url: string, text: string, add: string, ariaLabel: string, showQrCode: boolean) => void;\n\tonAddLocalLink: (url: string, caption: string) => void;\n\tonInsertSemanticTag: (tagName: string, text: string, attributes: Record<string, string>) => void;\n\tgetCurrentSelectionText: () => string;\n\tgetSelectedLinkState: () => LinkType;\n}\n\n/**\n * Монтирует только активную dialog-session редактора. Граница монтирования создаёт\n * свежий draft из текущего selection state без синхронизирующих setState-effects.\n */\nexport function TextEditorDialogs({\n\tlinkTypeDialog,\n\ttagTypeDialog,\n\tlocalLinkDialogComponent,\n\tonCloseLinkDialog,\n\tonCloseTagDialog,\n\tonAddLink,\n\tonAddLocalLink,\n\tonInsertSemanticTag,\n\tgetCurrentSelectionText,\n\tgetSelectedLinkState\n}: TextEditorDialogsProps) {\n\tconst LocalLinkDialogComponent = localLinkDialogComponent;\n\n\treturn (\n\t\t<>\n\t\t\t{linkTypeDialog === LinkTypes.LOCAL_LINK && LocalLinkDialogComponent ? (\n\t\t\t\t<LocalLinkDialogComponent isOpen={true} onClose={onCloseLinkDialog} onConfirm={onAddLocalLink} />\n\t\t\t) : null}\n\n\t\t\t{linkTypeDialog === LinkTypes.LINK ? (\n\t\t\t\t<LinkDialog initialState={getSelectedLinkState()} onClose={onCloseLinkDialog} onConfirm={onAddLink} />\n\t\t\t) : null}\n\n\t\t\t{linkTypeDialog === LinkTypes.PHONE ? (\n\t\t\t\t<PhoneDialog initialState={getSelectedLinkState()} onClose={onCloseLinkDialog} onConfirm={onAddLink} />\n\t\t\t) : null}\n\n\t\t\t{linkTypeDialog === LinkTypes.EMAIL ? (\n\t\t\t\t<EmailDialog initialState={getSelectedLinkState()} onClose={onCloseLinkDialog} onConfirm={onAddLink} />\n\t\t\t) : null}\n\n\t\t\t{tagTypeDialog &&\n\t\t\t\t(tagTypeDialog !== TagTypes.time ? (\n\t\t\t\t\t<SemanticDialog\n\t\t\t\t\t\tonClose={onCloseTagDialog}\n\t\t\t\t\t\tonConfirm={onInsertSemanticTag}\n\t\t\t\t\t\tconfig={SemanticTagConfigs[tagTypeDialog]}\n\t\t\t\t\t\tinitialText={getCurrentSelectionText()}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<TimeDialog onClose={onCloseTagDialog} onConfirm={onInsertSemanticTag} />\n\t\t\t\t))}\n\t\t</>\n\t);\n}\n","import { useCallback, useMemo, useState } from \"react\";\n\nimport { $generateHtmlFromNodes } from \"@lexical/html\";\nimport { ListItemNode, ListNode } from \"@lexical/list\";\nimport { LexicalComposer } from \"@lexical/react/LexicalComposer\";\nimport { ContentEditable } from \"@lexical/react/LexicalContentEditable\";\nimport { LexicalErrorBoundary } from \"@lexical/react/LexicalErrorBoundary\";\nimport { HistoryPlugin } from \"@lexical/react/LexicalHistoryPlugin\";\nimport { ListPlugin } from \"@lexical/react/LexicalListPlugin\";\nimport { OnChangePlugin } from \"@lexical/react/LexicalOnChangePlugin\";\nimport { RichTextPlugin } from \"@lexical/react/LexicalRichTextPlugin\";\nimport { HeadingNode, QuoteNode } from \"@lexical/rich-text\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { type LexicalEditor, type EditorState as LexicalEditorState } from \"lexical\";\n\nimport { TextEditorCoreProps, isLexicalTextRaw } from \"./editorModel\";\nimport { InitialHtmlPlugin, SelectionStatePlugin } from \"./lexical/plugins\";\nimport { createLexicalRaw } from \"./lib/serialization/createLexicalRaw\";\nimport { useTextEditorLexicalActions } from \"./model/hooks/useTextEditorLexicalActions\";\nimport { DEFAULT_TOOLBAR_STATE, type LexicalToolbarState } from \"./model/textEditorTypes\";\nimport { AccessibleLinkNode } from \"./nodes/AccessibleLinkNode\";\nimport { SemanticTagNode } from \"./nodes/SemanticTagNode\";\nimport TextEditorStyle from \"./TextEditor.module.scss\";\nimport \"./TextEditor.scss\";\nimport { TextEditorDialogs } from \"./TextEditorDialogs\";\nimport { type LinkTypes, type TagTypes, TextEditorToolbarLexical } from \"./toolbar\";\n\ntype TextEditorProps = TextEditorCoreProps;\n\n/**\n * Редактор форматированного текста на базе Lexical. Поддерживает тулбар, бизнес-адаптеры и сериализацию контента в единый формат данных.\n */\nexport function TextEditorLexicalClient({ initialData, onChange, toolbarComponents, businessAdapters }: TextEditorProps) {\n\tconst LocalLinkDialogComponent = businessAdapters?.LocalLinkDialogComponent;\n\tconst [isFocused, setIsFocused] = useState(false);\n\tconst [toolbarState, setToolbarState] = useState<LexicalToolbarState>(DEFAULT_TOOLBAR_STATE);\n\tconst [editor, setEditor] = useState<LexicalEditor | null>(null);\n\tconst [linkTypeDialog, setLinkTypeDialog] = useState<LinkTypes | null>(null);\n\tconst [tagTypeDialog, setTagTypeDialog] = useState<TagTypes | null>(null);\n\n\tconst lexicalRaw = isLexicalTextRaw(initialData?.raw) ? initialData.raw : null;\n\tconst hasLexicalRaw = !!lexicalRaw;\n\n\tconst initialEditorState = useMemo(() => {\n\t\tif (!lexicalRaw) return undefined;\n\t\treturn JSON.stringify(lexicalRaw.editorState);\n\t}, [lexicalRaw]);\n\n\tconst handleError = useCallback((error: Error) => {\n\t\tconsole.error(\"Ошибка редактора Lexical\", error);\n\t}, []);\n\n\tconst handleChange = useCallback(\n\t\t(editorState: LexicalEditorState, lexicalEditor: LexicalEditor) => {\n\t\t\tlet html = \"\";\n\t\t\teditorState.read(() => {\n\t\t\t\thtml = $generateHtmlFromNodes(lexicalEditor, null);\n\t\t\t});\n\n\t\t\tconst raw = createLexicalRaw(editorState);\n\t\t\tonChange({ raw, html });\n\t\t},\n\t\t[onChange]\n\t);\n\n\tconst openLinkDialog = useCallback((type: LinkTypes) => {\n\t\tsetLinkTypeDialog(type);\n\t}, []);\n\n\tconst openTagDialog = useCallback((type: TagTypes) => {\n\t\tsetTagTypeDialog(type);\n\t}, []);\n\n\tconst actions = useTextEditorLexicalActions({\n\t\teditor,\n\t\ttoolbarState,\n\t\thasLocalLinkDialog: !!LocalLinkDialogComponent,\n\t\tonOpenLinkDialog: openLinkDialog,\n\t\tonOpenTagDialog: openTagDialog\n\t});\n\n\tconst initialConfig = useMemo(\n\t\t() => ({\n\t\t\tnamespace: \"KtkTextEditorLexical\",\n\t\t\tonError: handleError,\n\t\t\ttheme: {\n\t\t\t\tparagraph: \"paragraph\",\n\t\t\t\ttext: {\n\t\t\t\t\tcode: \"lexicalTextCode\",\n\t\t\t\t\thighlight: \"lexicalTextHighlight\",\n\t\t\t\t\tunderline: \"lexicalTextUnderline\",\n\t\t\t\t\tstrikethrough: \"lexicalTextStrikethrough\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tnodes: [HeadingNode, QuoteNode, ListNode, ListItemNode, AccessibleLinkNode, SemanticTagNode],\n\t\t\teditorState: initialEditorState\n\t\t}),\n\t\t[handleError, initialEditorState]\n\t);\n\n\treturn (\n\t\t<div className={TextEditorStyle.textEditor}>\n\t\t\t<div\n\t\t\t\tclassName={cn(TextEditorStyle.textEditorContent, {\n\t\t\t\t\t[TextEditorStyle.focused]: isFocused\n\t\t\t\t})}>\n\t\t\t\t<LexicalComposer initialConfig={initialConfig}>\n\t\t\t\t\t<TextEditorToolbarLexical\n\t\t\t\t\t\ttoolbarComponents={toolbarComponents}\n\t\t\t\t\t\tstate={toolbarState}\n\t\t\t\t\t\tonBlockStyleToggle={actions.handleBlockStyleToggle}\n\t\t\t\t\t\tonInlineStyleToggle={actions.handleInlineStyleToggle}\n\t\t\t\t\t\tonAlignmentChange={actions.handleAlignmentChange}\n\t\t\t\t\t\tonLinkClick={actions.handleLinkClick}\n\t\t\t\t\t\tonTagClick={actions.handleTagClick}\n\t\t\t\t\t\tonUndo={actions.handleUndo}\n\t\t\t\t\t\tonRedo={actions.handleRedo}\n\t\t\t\t\t\tonCleanTag={actions.handleCleanSemanticTag}\n\t\t\t\t\t/>\n\t\t\t\t\t<RichTextPlugin\n\t\t\t\t\t\tcontentEditable={\n\t\t\t\t\t\t\t<ContentEditable\n\t\t\t\t\t\t\t\tclassName=\"lexicalEditorContentEditable\"\n\t\t\t\t\t\t\t\tonFocus={() => setIsFocused(true)}\n\t\t\t\t\t\t\t\tonBlur={() => setIsFocused(false)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tplaceholder={<div className=\"lexicalEditorPlaceholder\">Введите текст...</div>}\n\t\t\t\t\t\tErrorBoundary={LexicalErrorBoundary}\n\t\t\t\t\t/>\n\t\t\t\t\t<HistoryPlugin />\n\t\t\t\t\t<ListPlugin />\n\t\t\t\t\t<SelectionStatePlugin onEditorReady={setEditor} onStateChange={setToolbarState} />\n\t\t\t\t\t<InitialHtmlPlugin initialHTML={initialData?.html} shouldSkip={hasLexicalRaw} />\n\t\t\t\t\t<OnChangePlugin onChange={handleChange} ignoreSelectionChange />\n\t\t\t\t</LexicalComposer>\n\t\t\t</div>\n\n\t\t\t<TextEditorDialogs\n\t\t\t\tlinkTypeDialog={linkTypeDialog}\n\t\t\t\ttagTypeDialog={tagTypeDialog}\n\t\t\t\tlocalLinkDialogComponent={LocalLinkDialogComponent}\n\t\t\t\tonCloseLinkDialog={() => setLinkTypeDialog(null)}\n\t\t\t\tonCloseTagDialog={() => setTagTypeDialog(null)}\n\t\t\t\tonAddLink={actions.handleAddLink}\n\t\t\t\tonAddLocalLink={actions.handleAddLocalLink}\n\t\t\t\tonInsertSemanticTag={actions.insertSemanticTagAtSelection}\n\t\t\t\tgetCurrentSelectionText={actions.getCurrentSelectionText}\n\t\t\t\tgetSelectedLinkState={actions.getSelectedLinkState}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"restoreLinkDialogSelection.d.ts","sourceRoot":"","sources":["../../../../src/text-editor/lib/selection/restoreLinkDialogSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6F,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzI;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,GAAG,cAAc,CAkB3F"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./iframe-DDvQ4m7Z.js";e();
|
|
File without changes
|