@uva-glass/component-library 3.57.1 → 3.57.3
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/ActionList-D2GC2qPX.js.map +1 -1
- package/dist/AddCatalogueLinkForm-Di0xm7Ep.js.map +1 -1
- package/dist/ClipboardButton-Cg6LGUiD.js.map +1 -1
- package/dist/ControlsButton-Byx4XQtB.js.map +1 -1
- package/dist/CopyableText-BKsM-TuS.js.map +1 -1
- package/dist/DataTable-Cgn_RKTA.js.map +1 -1
- package/dist/{Lexical.prod-nAj5fF96.js → Lexical.prod-Dy5aDppc.js} +2449 -1794
- package/dist/Lexical.prod-Dy5aDppc.js.map +1 -0
- package/dist/LexicalClipboard.prod-CS8a49uL.js +398 -0
- package/dist/LexicalClipboard.prod-CS8a49uL.js.map +1 -0
- package/dist/{LexicalComposerContext.prod-DumMmRBt.js → LexicalComposerContext.prod-D4HOlWII.js} +3 -3
- package/dist/LexicalComposerContext.prod-D4HOlWII.js.map +1 -0
- package/dist/LexicalHtml.prod-BtzosUOH.js +1611 -0
- package/dist/LexicalHtml.prod-BtzosUOH.js.map +1 -0
- package/dist/LexicalLink.prod-DzgwWhQM.js +646 -0
- package/dist/LexicalLink.prod-DzgwWhQM.js.map +1 -0
- package/dist/LexicalList.prod-icY8mpm6.js +710 -0
- package/dist/LexicalList.prod-icY8mpm6.js.map +1 -0
- package/dist/{LexicalTable.prod-BpHQYpBM.js → LexicalTable.prod-Bf0is-op.js} +674 -750
- package/dist/LexicalTable.prod-Bf0is-op.js.map +1 -0
- package/dist/LexicalUtils.prod-CjGUKarD.js +259 -0
- package/dist/LexicalUtils.prod-CjGUKarD.js.map +1 -0
- package/dist/{LinkContextMenu-Byu3AEqp.js → LinkContextMenu-C8ehPbP8.js} +2 -2
- package/dist/{LinkContextMenu-Byu3AEqp.js.map → LinkContextMenu-C8ehPbP8.js.map} +1 -1
- package/dist/MenuLink-sK2_W2zs.js.map +1 -1
- package/dist/MetaDataList-Co9WCexh.js.map +1 -1
- package/dist/MultiSelectBox-D34qAgzc.js.map +1 -1
- package/dist/OverlayStepBar-BiC06Itd.js.map +1 -1
- package/dist/{PasteHandlerPlugin-DyTXcFsj.js → PasteHandlerPlugin-CSo_lOE8.js} +6 -6
- package/dist/{PasteHandlerPlugin-DyTXcFsj.js.map → PasteHandlerPlugin-CSo_lOE8.js.map} +1 -1
- package/dist/Periods-B4ms3N24.js.map +1 -1
- package/dist/SortableProvider-D-6Ttz0h.js.map +1 -1
- package/dist/{TableCellContextMenu--4IdoKAU.js → TableCellContextMenu-Cu5iXYSJ.js} +2 -2
- package/dist/{TableCellContextMenu--4IdoKAU.js.map → TableCellContextMenu-Cu5iXYSJ.js.map} +1 -1
- package/dist/{TableCellResizerPlugin-Dn8Ks2Lm.js → TableCellResizerPlugin-Bb2blXnq.js} +43 -43
- package/dist/TableCellResizerPlugin-Bb2blXnq.js.map +1 -0
- package/dist/VarIndicator-D0cnlcIf.js.map +1 -1
- package/dist/__mocks__/reactRouterMock.d.ts +27 -0
- package/dist/__mocks__/reactRouterMock.js +17 -0
- package/dist/__mocks__/reactRouterMock.js.map +1 -0
- package/dist/{chunk-5WKL7XVT-3IraU-Ja.js → chunk-5WKL7XVT-CvOIS3NE.js} +15 -15
- package/dist/{chunk-5WKL7XVT-3IraU-Ja.js.map → chunk-5WKL7XVT-CvOIS3NE.js.map} +1 -1
- package/dist/{client-BcEWjSJP.js → client-CXlG3hNo.js} +956 -957
- package/dist/{client-BcEWjSJP.js.map → client-CXlG3hNo.js.map} +1 -1
- package/dist/components/Accordion/Accordion.test.js +3 -3
- package/dist/components/Accordion/Accordion.test.js.map +1 -1
- package/dist/components/AccordionCard/AccordionCard.stories.js.map +1 -1
- package/dist/components/AccordionCard/AccordionCard.test.js +3 -3
- package/dist/components/AccordionCard/AccordionCard.test.js.map +1 -1
- package/dist/components/ActionList/ActionList.test.js +3 -3
- package/dist/components/ActionList/ActionList.test.js.map +1 -1
- package/dist/components/AppStatusBar/AppStatusBar.test.js +2 -2
- package/dist/components/AppStatusBar/AppStatusBar.test.js.map +1 -1
- package/dist/components/Attention/Attention.stories.js.map +1 -1
- package/dist/components/Attention/Attention.test.js +2 -2
- package/dist/components/Attention/Attention.test.js.map +1 -1
- package/dist/components/Backdrop/Backdrop.stories.js.map +1 -1
- package/dist/components/Backdrop/Backdrop.test.js +2 -2
- package/dist/components/Backdrop/Backdrop.test.js.map +1 -1
- package/dist/components/Buttons/Button.stories.js +1 -1
- package/dist/components/Buttons/Button.test.js +2 -2
- package/dist/components/Buttons/Button.test.js.map +1 -1
- package/dist/components/Buttons/LinkButton.stories.js +1 -1
- package/dist/components/Buttons/LinkButton.test.js +2 -2
- package/dist/components/Buttons/LinkButton.test.js.map +1 -1
- package/dist/components/Buttons/MenuButton.stories.js +1 -1
- package/dist/components/Buttons/MenuButton.test.js +2 -2
- package/dist/components/Buttons/MenuButton.test.js.map +1 -1
- package/dist/components/Card/Card.test.js +2 -2
- package/dist/components/Card/Card.test.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.stories.js +1 -1
- package/dist/components/Checkbox/Checkbox.stories.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.test.js +3 -3
- package/dist/components/Checkbox/Checkbox.test.js.map +1 -1
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js +1 -1
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js +2 -2
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js.map +1 -1
- package/dist/components/CheckboxTree/CheckboxTree.js +1 -1
- package/dist/components/CheckboxTree/CheckboxTree.stories.js +3 -3
- package/dist/components/CheckboxTree/CheckboxTree.stories.js.map +1 -1
- package/dist/components/CheckboxTree/index.js +1 -1
- package/dist/components/Chip/Chip.stories.js +1 -1
- package/dist/components/ControlsButton/ControlsButton.stories.js +1 -1
- package/dist/components/CopyableText/CopyableText.stories.js.map +1 -1
- package/dist/components/DataTable/DataTable.stories.js +2 -2
- package/dist/components/DataTable/DataTable.stories.js.map +1 -1
- package/dist/components/Drawer/Drawer.stories.js +1 -1
- package/dist/components/Drawer/Drawer.stories.js.map +1 -1
- package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.stories.js.map +1 -1
- package/dist/components/FeedbackBar/FeedbackBar.stories.js.map +1 -1
- package/dist/components/FeedbackBar/FeedbackBar.test.js +2 -2
- package/dist/components/FeedbackBar/FeedbackBar.test.js.map +1 -1
- package/dist/components/FormInput/FormInput.js +1 -1
- package/dist/components/FormInput/FormInput.stories.js +2 -2
- package/dist/components/FormInput/index.js +1 -1
- package/dist/components/GridRow/GridRow.stories.js.map +1 -1
- package/dist/components/Icon/Icon.stories.js.map +1 -1
- package/dist/components/Icon/index.d.ts +1 -0
- package/dist/components/Icon/index.js +3 -2
- package/dist/components/IconButton/IconButton.stories.js +1 -1
- package/dist/components/IconButton/IconButton.stories.js.map +1 -1
- package/dist/components/InfoBanner/InfoBanner.stories.js.map +1 -1
- package/dist/components/InfoMessage/InfoMessage.stories.js.map +1 -1
- package/dist/components/InputField/InputField.stories.js +1 -1
- package/dist/components/InputField/InputField.stories.js.map +1 -1
- package/dist/components/Label/Label.test.js +2 -2
- package/dist/components/Label/Label.test.js.map +1 -1
- package/dist/components/MenuLink/MenuLink.stories.js.map +1 -1
- package/dist/components/MetaDataBar/MetaDataBar.stories.js.map +1 -1
- package/dist/components/MetaDataBar/MetaDataBar.test.js +1 -1
- package/dist/components/MetaDataBar/MetaDataBar.test.js.map +1 -1
- package/dist/components/MetaDataList/MetaDataList.stories.js.map +1 -1
- package/dist/components/ModalDialog/ModalDialog.stories.js +1 -1
- package/dist/components/ModalDialog/ModalDialog.stories.js.map +1 -1
- package/dist/components/MultiSelect/MultiSelect.js +1 -1
- package/dist/components/MultiSelect/MultiSelect.stories.js +2 -2
- package/dist/components/MultiSelect/MultiSelect.stories.js.map +1 -1
- package/dist/components/MultiSelect/components/MultiSelectHeader.js +1 -1
- package/dist/components/MultiSelect/index.js +1 -1
- package/dist/components/MultiSelectBox/MultiSelectBox.stories.js +1 -1
- package/dist/components/MultiSelectBox/MultiSelectBox.stories.js.map +1 -1
- package/dist/components/MultiSelectBox/MultiSelectBox.test.js +2 -2
- package/dist/components/MultiSelectBox/MultiSelectBox.test.js.map +1 -1
- package/dist/components/Notification/Notification.stories.js +1 -1
- package/dist/components/Notification/Notification.test.js +2 -2
- package/dist/components/Notification/Notification.test.js.map +1 -1
- package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js +1 -1
- package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js.map +1 -1
- package/dist/components/PageOverlay/PageOverlay.stories.js.map +1 -1
- package/dist/components/PeriodSelector/PeriodSelector.js +1 -1
- package/dist/components/PeriodSelector/PeriodSelector.stories.js +2 -2
- package/dist/components/PeriodSelector/PeriodSelector.stories.js.map +1 -1
- package/dist/components/PeriodSelector/index.js +1 -1
- package/dist/components/Periods/Periods.stories.js.map +1 -1
- package/dist/components/ProgrammeCard/ProgrammeCard.stories.js.map +1 -1
- package/dist/components/RadioButton/RadioButton.stories.js.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.stories.js +1 -1
- package/dist/components/RadioGroup/RadioGroup.stories.js.map +1 -1
- package/dist/components/RadioGroup/Radiogroup.test.js +2 -2
- package/dist/components/RadioGroup/Radiogroup.test.js.map +1 -1
- package/dist/components/RadioTabSelector/RadioTabSelector.js +1 -1
- package/dist/components/RadioTabSelector/RadioTabSelector.stories.js +2 -2
- package/dist/components/RadioTabSelector/index.js +1 -1
- package/dist/components/Repeater/Repeater.stories.js.map +1 -1
- package/dist/components/RteEditor/EditorHeader/EditorHeader.js +1 -1
- package/dist/components/RteEditor/EditorHeader/index.js +1 -1
- package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js +4 -4
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.js +35 -35
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/HistoryPlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkForm/AddLinkFrom.js +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/helpers.js +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js +15 -15
- package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/PasteHandlerPlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/TableCellResizerPlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/index.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js +33 -33
- package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js.map +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/index.js +2 -2
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/index.js +4 -4
- package/dist/components/RteEditor/RteEditor.js +1 -1
- package/dist/components/RteEditor/RteEditor.stories.js +1 -1
- package/dist/components/RteEditor/RteEditor.stories.js.map +1 -1
- package/dist/components/RteEditor/helpers.js +7 -7
- package/dist/components/RteEditor/helpers.js.map +1 -1
- package/dist/components/RteEditor/index.js +1 -1
- package/dist/components/RteEditor/nodes/CourseCatalogueNode/CourseCatalogueNode.js +18 -18
- package/dist/components/RteEditor/nodes/CourseCatalogueNode/CourseCatalogueNode.js.map +1 -1
- package/dist/components/RteEditor/nodes/TableWrapperNode/TableWrapperNode.js +22 -22
- package/dist/components/SearchField/SearcheField.stories.js.map +1 -1
- package/dist/components/SectionNotification/SectionNotification.stories.js.map +1 -1
- package/dist/components/SelectListbox/SelectListBox.stories.js +1 -1
- package/dist/components/SelectListbox/SelectListBox.stories.js.map +1 -1
- package/dist/components/SelectListbox/SelectProvider.js.map +1 -1
- package/dist/components/SelectListbox/components/SelectButton.js.map +1 -1
- package/dist/components/SelectListbox/components/SelectOption.js.map +1 -1
- package/dist/components/Slider/Slider.stories.js.map +1 -1
- package/dist/components/Sortable/Sortable.stories.js +1 -1
- package/dist/components/Sortable/Sortable.stories.js.map +1 -1
- package/dist/components/Spinner/Spinner.stories.js.map +1 -1
- package/dist/components/StatusBadge/StatusBadge.test.js +2 -2
- package/dist/components/StatusBadge/StatusBadge.test.js.map +1 -1
- package/dist/components/StatusPill/StatusPill.stories.js.map +1 -1
- package/dist/components/TextArea/TextArea.stories.js +1 -1
- package/dist/components/TextArea/TextArea.test.js +3 -3
- package/dist/components/TextArea/TextArea.test.js.map +1 -1
- package/dist/components/ToggleSwitch/ToggleSwitch.stories.js +1 -1
- package/dist/components/Tooltip/Tooltip.stories.js.map +1 -1
- package/dist/components/VarIndicator/VarIndicator.stories.js +1 -1
- package/dist/components/VarIndicator/VarIndicator.test.js +3 -3
- package/dist/components/VarIndicator/VarIndicator.test.js.map +1 -1
- package/dist/components/WeekSelector/WeekSelector.js.map +1 -1
- package/dist/components/WeekSelector/WeekSelector.stories.js.map +1 -1
- package/dist/components/WeekSelector/components/WeekSelectorOption.js.map +1 -1
- package/dist/components/hooks/useOnClickOutside.js.map +1 -1
- package/dist/components/hooks/usePositionedFloaters.js.map +1 -1
- package/dist/components/hooks/useResponsive.js.map +1 -1
- package/dist/components/index.js +64 -63
- package/dist/components-CgBF6db6.js +2013 -0
- package/dist/components-CgBF6db6.js.map +1 -0
- package/dist/{dist-C6Ar8a59.js → dist-oLwM--0y.js} +14 -14
- package/dist/{dist-C6Ar8a59.js.map → dist-oLwM--0y.js.map} +1 -1
- package/dist/{esm-B6Pg-v2v.js → esm-BXzGXYWZ.js} +3 -3
- package/dist/{esm-B6Pg-v2v.js.map → esm-BXzGXYWZ.js.map} +1 -1
- package/dist/{helpers-BzYayeT-.js → helpers-MMNO9vlK.js} +9 -9
- package/dist/helpers-MMNO9vlK.js.map +1 -0
- package/dist/index.js +64 -63
- package/dist/{react-18-DbbN8Pdb.js → react-18-BwdnKC48.js} +3 -3
- package/dist/react-18-BwdnKC48.js.map +1 -0
- package/dist/{react.esm-56DGmlLk.js → react.esm-DwWzhs9e.js} +17 -17
- package/dist/react.esm-DwWzhs9e.js.map +1 -0
- package/dist/setupTests.js +2 -2
- package/dist/setupTests.js.map +1 -1
- package/dist/storybook__react.d.js +266 -266
- package/dist/storybook__react.d.js.map +1 -1
- package/dist/{test-WxLxsxwA.js → test-Gtly6H2f.js} +7 -5
- package/dist/{test-WxLxsxwA.js.map → test-Gtly6H2f.js.map} +1 -1
- package/dist/{test-utils-CMrZ33U0.js → test-utils-BVa31HVj.js} +2 -2
- package/dist/{test-utils-CMrZ33U0.js.map → test-utils-BVa31HVj.js.map} +1 -1
- package/package.json +24 -25
- package/dist/Lexical.prod-nAj5fF96.js.map +0 -1
- package/dist/LexicalClipboard.prod-B9sWgdS2.js +0 -348
- package/dist/LexicalClipboard.prod-B9sWgdS2.js.map +0 -1
- package/dist/LexicalComposerContext.prod-DumMmRBt.js.map +0 -1
- package/dist/LexicalHtml.prod-RCMsF0qt.js +0 -2139
- package/dist/LexicalHtml.prod-RCMsF0qt.js.map +0 -1
- package/dist/LexicalLink.prod-BcBNTFEb.js +0 -707
- package/dist/LexicalLink.prod-BcBNTFEb.js.map +0 -1
- package/dist/LexicalList.prod-THQt9B32.js +0 -890
- package/dist/LexicalList.prod-THQt9B32.js.map +0 -1
- package/dist/LexicalTable.prod-BpHQYpBM.js.map +0 -1
- package/dist/LexicalUtils.prod-7S6iuu9A.js +0 -347
- package/dist/LexicalUtils.prod-7S6iuu9A.js.map +0 -1
- package/dist/TableCellResizerPlugin-Dn8Ks2Lm.js.map +0 -1
- package/dist/components-KU0q76JR.js +0 -2150
- package/dist/components-KU0q76JR.js.map +0 -1
- package/dist/helpers-BzYayeT-.js.map +0 -1
- package/dist/react-18-DbbN8Pdb.js.map +0 -1
- package/dist/react.esm-56DGmlLk.js.map +0 -1
- /package/dist/{chunk-CWhphoD1.js → rolldown-runtime-CWhphoD1.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"components-KU0q76JR.js","names":["o","c","s","p","l","f","m","t","n","r","i","a","d","e","e","s","t","f","c","e","n","r","i","i","a","r","n","t","o","e","T","N","u","b","Pe","a","c","l","Je","F","O","E","$e","S","Le","_","ze","k","K","g","h","w","I","C","ne","ge","Ce","m","y","A","M","P","L","J","$","q","W","R","j","B","x","X","Y","G","H","Q","U","V","v","Z","ee","te","re","we","oe","f","p","d","se","ie","Ae","D","ae","ce","le","ue","me","fe","pe","de","t","he","ye","n","ve","r","o","s","De","Ne","be","Te","i","_e","Fe","Oe","Ee","e","Se","ke","Ie","Ke","y","f","n","i","c","l","m","a","u","b","r","t","o","v","x","w","h","g","E","d","p","e","l","t","i","r","n","o","d","a","u","E","e","s","c","m","l","m","y","C","d","e","r","n","o","t","i","o","a","e","l","i","s","e","o","n","r","t","o","i","t","e","r","r","i","o","e","x","b","v","_","i","u","h","m","c","p","f","a","n","l","e","o","t","s","r","t","e","o","r","r","l","i","u","e","c","t","a","n","s","t"],"sources":["../src/components/CheckboxTree/CheckboxTree.module.css","../src/components/CheckboxTree/CheckboxTree.tsx","../src/components/FormInput/FormInput.module.css","../src/components/FormInput/FormInput.tsx","../src/components/MultiSelect/components/MultiSelectHeader.tsx","../src/components/MultiSelect/MultiSelect.tsx","../src/components/PeriodSelector/PeriodSelector.module.css","../src/components/PeriodSelector/PeriodSelector.tsx","../src/components/RadioTabSelector/RadioTabSelector.module.css","../src/components/RadioTabSelector/RadioTabSelector.tsx","../node_modules/.pnpm/@lexical+react@0.45.0_react-dom@19.2.7_react@19.2.7__react@19.2.7_yjs@13.6.31/node_modules/@lexical/react/dist/LexicalComposer.prod.mjs","../node_modules/.pnpm/@lexical+react@0.45.0_react-dom@19.2.7_react@19.2.7__react@19.2.7_yjs@13.6.31/node_modules/@lexical/react/dist/LexicalReactProviderExtension.prod.mjs","../node_modules/.pnpm/@lexical+text@0.45.0/node_modules/@lexical/text/dist/LexicalText.prod.mjs","../node_modules/.pnpm/@lexical+dragon@0.45.0/node_modules/@lexical/dragon/dist/LexicalDragon.prod.mjs","../node_modules/.pnpm/@lexical+rich-text@0.45.0/node_modules/@lexical/rich-text/dist/LexicalRichText.prod.mjs","../node_modules/.pnpm/@lexical+react@0.45.0_react-dom@19.2.7_react@19.2.7__react@19.2.7_yjs@13.6.31/node_modules/@lexical/react/dist/LexicalRichTextPlugin.prod.mjs","../node_modules/.pnpm/@lexical+react@0.45.0_react-dom@19.2.7_react@19.2.7__react@19.2.7_yjs@13.6.31/node_modules/@lexical/react/dist/LexicalContentEditable.prod.mjs","../node_modules/.pnpm/react-error-boundary@6.1.2_react@19.2.7/node_modules/react-error-boundary/dist/react-error-boundary.js","../node_modules/.pnpm/@lexical+react@0.45.0_react-dom@19.2.7_react@19.2.7__react@19.2.7_yjs@13.6.31/node_modules/@lexical/react/dist/LexicalErrorBoundary.prod.mjs","../node_modules/.pnpm/@lexical+react@0.45.0_react-dom@19.2.7_react@19.2.7__react@19.2.7_yjs@13.6.31/node_modules/@lexical/react/dist/LexicalOnChangePlugin.prod.mjs","../node_modules/.pnpm/@lexical+react@0.45.0_react-dom@19.2.7_react@19.2.7__react@19.2.7_yjs@13.6.31/node_modules/@lexical/react/dist/LexicalListPlugin.prod.mjs","../node_modules/.pnpm/@lexical+react@0.45.0_react-dom@19.2.7_react@19.2.7__react@19.2.7_yjs@13.6.31/node_modules/@lexical/react/dist/LexicalLinkPlugin.prod.mjs","../node_modules/.pnpm/@lexical+react@0.45.0_react-dom@19.2.7_react@19.2.7__react@19.2.7_yjs@13.6.31/node_modules/@lexical/react/dist/LexicalClickableLinkPlugin.prod.mjs","../node_modules/.pnpm/@lexical+history@0.45.0/node_modules/@lexical/history/dist/LexicalHistory.prod.mjs","../node_modules/.pnpm/@lexical+react@0.45.0_react-dom@19.2.7_react@19.2.7__react@19.2.7_yjs@13.6.31/node_modules/@lexical/react/dist/LexicalHistoryPlugin.prod.mjs","../node_modules/.pnpm/@lexical+react@0.45.0_react-dom@19.2.7_react@19.2.7__react@19.2.7_yjs@13.6.31/node_modules/@lexical/react/dist/LexicalTablePlugin.prod.mjs","../node_modules/.pnpm/@lexical+react@0.45.0_react-dom@19.2.7_react@19.2.7__react@19.2.7_yjs@13.6.31/node_modules/@lexical/react/dist/LexicalEditorRefPlugin.prod.mjs","../src/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.tsx","../src/components/RteEditor/Plugins/LinkPlugin/AddLinkForm/AddLinkForm.module.css","../src/components/RteEditor/Plugins/LinkPlugin/AddLinkForm/AddLinkFrom.tsx","../src/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.tsx","../src/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.tsx","../src/components/RteEditor/Plugins/TablePlugin/AddTableFrom.module.css","../src/components/RteEditor/Plugins/TablePlugin/AddTableFrom.tsx","../src/components/RteEditor/Plugins/TablePlugin/TablePlugin.tsx","../src/components/RteEditor/EditorHeader/EditorHeader.module.css","../src/components/RteEditor/EditorHeader/EditorHeader.tsx","../src/components/RteEditor/RteEditor.tsx"],"sourcesContent":[".checkbox-tree__header {\n display: block;\n font-weight: var(--semibold);\n margin-bottom: 0.25rem;\n text-align: left;\n}\n\n.checkbox-tree__branch {\n list-style: none;\n user-select: none;\n}\n\n.checkbox-tree__branch[aria-expanded=\"false\"] {\n margin-bottom: 0.5rem;\n}\n\n.checkbox-tree__branch input[type=\"checkbox\"]:disabled + label {\n color: var(--color-grey-500);\n}\n\n.checkbox-tree__branch--icon {\n pointer-events: none;\n transform: rotate(0deg);\n transition: transform 300ms ease-out;\n}\n\n.checkbox-tree__branch--icon--expanded {\n transform: rotate(90deg);\n transition: transform 300ms ease-in;\n}\n\n.checkbox-tree__branch--formfield {\n align-items: center;\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n}\n\n.checkbox-tree__leaves {\n display: none;\n flex-direction: column;\n gap: 0.5rem;\n list-style: none;\n margin: 0.5rem 0 0.5rem 1rem;\n user-select: none;\n}\n\n.checkbox-tree__leaves--expanded {\n display: flex;\n}\n\n.checkbox-tree__leaf {\n align-items: center;\n display: flex;\n flex-direction: row;\n gap: 0 0.5rem;\n margin-left: 1.5rem;\n user-select: none;\n}\n\n.checkbox-tree__leaf input[type=\"checkbox\"]:disabled + label {\n color: var(--color-grey-500);\n}\n","import { createRef, useEffect, useRef, useState } from 'react';\nimport { clsx } from 'clsx';\n\nimport type { MouseEventHandler, RefObject } from 'react';\n\nimport styles from './CheckboxTree.module.css';\n\nimport { Button, Checkbox, FormField, Icon, Label } from 'components';\nimport { useResponsive } from 'components/hooks/useResponsive';\n\n// TODO: Currently the checkbox tree shows odd behavior when a disabled checkbox is checked.\n// When deselecting the parent checkbox, the disabled checkbox is deselected, and will never\n// be checked again. We'll leave this for now, until we run into a real world\n// example where this is necessary.\n\nexport type CheckboxLeaf = {\n itemName: string;\n itemValue: string;\n disabled?: boolean;\n};\n\nexport type CheckboxBranch = {\n itemName: string;\n children: CheckboxLeaf[];\n};\n\nexport interface CheckboxTreeProps {\n /** The title of the component. */\n title?: string;\n /** Array of checkbox groups with a label and array of children (itemName, itemValue and disabled boolean). */\n checkboxTree: CheckboxBranch[];\n /** Array of selected values. */\n selectedValues?: string[];\n /** `true` if the font-weight needs to be unset; otherwise, `false`. The default is `false`. */\n noLabelFrontWeight?: boolean;\n /** Returns array of selected values. */\n onChange?: (value: string[]) => void;\n}\n\n/** Represents a component to render a tree of checkboxes. */\nexport const CheckboxTree = ({\n title,\n checkboxTree,\n selectedValues,\n noLabelFrontWeight = false,\n onChange,\n}: CheckboxTreeProps) => {\n const checkboxRefs = useRef<Record<string, RefObject<HTMLInputElement | null>>>({});\n const [values, setValues] = useState<string[]>([]);\n const { lessThan } = useResponsive();\n\n const valuesAreEqual = (values1: string[], values2: string[]): boolean => {\n if (values1.length !== values2.length) return false;\n\n const countElements = (list: string[]) =>\n list.reduce((acc: Record<string, number>, val) => {\n acc[val] = (acc[val] || 0) + 1;\n return acc;\n }, {});\n\n const numberOfValues1 = countElements(values1);\n const numberOfValues2 = countElements(values2);\n\n return !Object.keys(numberOfValues1).some((key) => numberOfValues1[key] !== numberOfValues2[key]);\n };\n\n const createRefForKey = (key: string) => {\n if (!checkboxRefs.current[key]) {\n checkboxRefs.current[key] = createRef();\n }\n return checkboxRefs.current[key];\n };\n\n const setValue = () => {\n const newValues: string[] = [];\n Object.entries(checkboxRefs.current).forEach(([key]) => {\n const chkBox = checkboxRefs.current[key].current;\n if (chkBox && chkBox.name.indexOf('Group') === -1 && chkBox.checked) {\n newValues.push(chkBox.value);\n }\n });\n setValues(newValues);\n if (onChange) onChange(newValues);\n };\n\n const setCheckboxesState = (checkGroupName: string) => {\n if (checkGroupName === '') return;\n\n const groupStatus: boolean[] = [];\n\n Object.entries(checkboxRefs.current).forEach(([key]) => {\n const chkBox = checkboxRefs.current[key].current;\n if (!chkBox) return;\n if (chkBox?.getAttribute('data-groupname') === checkGroupName) {\n groupStatus.push(chkBox.checked);\n }\n });\n\n const every = groupStatus.every(Boolean);\n const some = groupStatus.some(Boolean);\n\n if (checkboxRefs.current[checkGroupName].current) {\n checkboxRefs.current[checkGroupName].current.checked = every;\n checkboxRefs.current[checkGroupName].current.indeterminate = !every && every !== some;\n checkboxRefs.current[checkGroupName].current.checked = every && every === some;\n }\n };\n\n const setExpandedAttributes = (trigger: HTMLButtonElement, container: Element | null) => {\n const children = container?.querySelector('[data-ul]');\n\n (trigger.childNodes[0] as Element).classList.toggle(styles['checkbox-tree__branch--icon--expanded']);\n container\n ?.closest('[data-li]')\n ?.setAttribute(\n 'aria-expanded',\n container?.closest('[data-li]')?.getAttribute('aria-expanded') === 'false' ? 'true' : 'false'\n );\n\n if (children) {\n children.classList.toggle(styles['checkbox-tree__leaves--expanded']);\n }\n };\n\n const handleChange: MouseEventHandler<HTMLDivElement> = (event) => {\n const check = event.target as HTMLInputElement;\n\n if (check.type !== 'checkbox' && check.type !== 'button') return;\n\n if (\n lessThan.md &&\n check.name.indexOf('Group') !== -1 &&\n check.parentNode &&\n (check.parentNode.parentNode as HTMLElement).getAttribute('aria-expanded') === 'false'\n ) {\n event.preventDefault();\n setExpandedAttributes(check.parentNode as HTMLButtonElement, check.parentNode.parentNode as HTMLElement);\n return;\n }\n\n if (check.name.indexOf('Group') !== -1) {\n const childPrefix = check.name;\n Object.entries(checkboxRefs.current).forEach(([key]) => {\n if (key.indexOf(`${childPrefix}_`) !== -1) {\n const chkBox = checkboxRefs.current[key].current;\n const parentCheckbox = checkboxRefs.current[childPrefix].current;\n if (!chkBox || !parentCheckbox) return;\n chkBox.checked = parentCheckbox.checked ? true : false;\n }\n });\n setCheckboxesState(childPrefix);\n setValue();\n return;\n }\n setCheckboxesState(check.getAttribute('data-groupname') || '');\n setValue();\n };\n\n const handleExpanded: MouseEventHandler<HTMLButtonElement> = (event) => {\n const target = event.target as HTMLButtonElement;\n const parent = target.closest('[data-li]');\n setExpandedAttributes(target, parent);\n };\n\n useEffect(() => {\n if (selectedValues && !valuesAreEqual(selectedValues, values)) {\n Object.entries(checkboxRefs.current).forEach(([key]) => {\n const chkBox = checkboxRefs.current[key].current;\n if (!chkBox) return;\n if (selectedValues?.includes(chkBox.value)) {\n chkBox.checked = true;\n } else {\n chkBox.checked = false;\n }\n if (chkBox.name.indexOf('Group') !== -1) {\n setValues(selectedValues || []);\n }\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedValues]);\n\n useEffect(() => {\n Object.entries(checkboxRefs.current).forEach(([key]) => {\n const chkBox = checkboxRefs.current[key].current;\n if (!chkBox) return;\n if (chkBox.name.indexOf('Group') !== -1) {\n setCheckboxesState(chkBox.name);\n }\n });\n }, [values]);\n\n return (\n <div>\n {title && <span className={styles['checkbox-tree__header']}>{title}</span>}\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <div onClick={handleChange} data-ul role=\"tree\" tabIndex={0}>\n {checkboxTree.map(({ itemName, children }, index) => (\n <div\n key={itemName}\n className={styles['checkbox-tree__branch']}\n data-li\n aria-expanded={lessThan.md ? 'false' : 'true'}\n >\n <FormField inline className={styles['checkbox-tree__branch--formfield']}>\n <Button variant=\"blank\" onClick={handleExpanded}>\n <Icon\n name=\"CheveronRight\"\n size={16}\n className={clsx(styles['checkbox-tree__branch--icon'], {\n [styles['checkbox-tree__branch--icon--expanded']]: !lessThan.md,\n })}\n />\n </Button>\n <Checkbox\n id={itemName}\n name={`Group${index}`}\n disabled={children.every((checkbox) => checkbox.disabled)}\n ref={createRefForKey(`Group${index}`)}\n />\n <Label htmlFor={itemName} noFontWeight={noLabelFrontWeight}>\n {itemName}\n </Label>\n </FormField>\n <div\n className={clsx(styles['checkbox-tree__leaves'], {\n [styles['checkbox-tree__leaves--expanded']]: !lessThan.md,\n })}\n data-ul\n >\n {children.map(({ itemName, itemValue, disabled }) => (\n <div key={itemName} className={styles['checkbox-tree__leaf']} data-li>\n <FormField inline className={styles['checkbox-tree__branch--formfield']}>\n <Checkbox\n id={itemName}\n name={itemName}\n value={itemValue}\n disabled={disabled}\n data-groupname={`Group${index}`}\n ref={createRefForKey(`Group${index}_${itemName}`)}\n />\n <Label htmlFor={itemName} noFontWeight={noLabelFrontWeight}>\n {itemName}\n </Label>\n </FormField>\n </div>\n ))}\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n};\n",".form-input__container {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n}\n\n.form-input__container--label-left {\n align-items: flex-start;\n flex-direction: row;\n gap: 1rem;\n line-height: 2.5rem;\n}\n\n.form-input__container--label-left > label::after {\n line-height: 3.6;\n}\n\n.form-input__container--label-top {\n align-items: flex-start;\n flex-direction: column;\n gap: 0.5rem;\n line-height: normal;\n}\n\n.form-input__input-feedback-container {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: 0.5rem;\n line-height: 1.5;\n position: relative;\n width: 100%;\n}\n\n.form-input__input-container {\n display: flex;\n flex: 1;\n}\n\n.form-input__input {\n appearance: none;\n background-color: transparent;\n border: 1px solid;\n border-radius: 0.5rem;\n color: var(--color-uva-black);\n flex: 1;\n font-family: inherit;\n font-size: inherit;\n height: 2.75rem;\n min-height: 2.5rem;\n padding: 0 1rem;\n text-align: inherit;\n}\n\n.form-input__input::-webkit-outer-spin-button,\n.form-input__input::-webkit-inner-spin-button {\n margin: 0;\n}\n\n.form-input__input.not-valid {\n border-color: var(--color-red-600);\n}\n","import { clsx } from 'clsx';\n\nimport type { ReactNode } from 'react';\n\nimport styles from './FormInput.module.css';\n\nimport { FeedbackBox, Label } from 'components';\n\nexport interface FormInputProps {\n /** The id of the input element. */\n id: string;\n /** label text if empthy the label is not renderd */\n label: string;\n /** label position `top` or `left`. The default is `top`. */\n labelPosition?: 'top' | 'left';\n /** The type of the input element. */\n type?: 'text' | 'password' | 'email' | 'number';\n /** Shows red * */\n required?: boolean;\n /** `true` to color border red to show not valid; otherwise, `false`. */\n notValid?: boolean;\n /** error text to display if set */\n notValidatedText?: string;\n /** Returns array of selected values as number */\n onChange?: (value: string) => void;\n /** Sets max length for the standard input */\n maxLength?: number;\n /** Determines if the container wrapper is rendered. */\n noContainer?: boolean;\n /** Optional custom input that will replace the default input */\n customInput?: ReactNode;\n}\n\nexport const FormInput = ({\n id,\n label,\n labelPosition = 'top',\n type = 'text',\n required = false,\n notValid = false,\n notValidatedText = '',\n onChange,\n maxLength,\n noContainer = false,\n customInput,\n}: FormInputProps) => {\n const blockInvalidChar = (event: React.KeyboardEvent<HTMLInputElement>) =>\n ['e', 'E', '+', '-'].includes(event.key) && event.preventDefault();\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (typeof onChange === 'function') {\n onChange(event.target.value);\n }\n };\n\n const componentContent = (\n <>\n {label && (\n <Label htmlFor={id} required={required} alignRight>\n {label}\n </Label>\n )}\n\n <div className={styles['form-input__input-feedback-container']}>\n {customInput ? (\n customInput\n ) : (\n <div className={styles['form-input__input-container']}>\n <input\n id={id}\n type={type}\n {...(type === 'number' && { onKeyDown: blockInvalidChar })}\n onChange={handleChange}\n className={clsx(styles['form-input__input'], {\n [styles['not-valid']]: notValid,\n })}\n {...(maxLength ? { maxLength } : {})}\n />\n </div>\n )}\n {notValidatedText !== '' && <FeedbackBox level=\"error\" feedback={notValidatedText} />}\n </div>\n </>\n );\n\n return noContainer ? (\n componentContent\n ) : (\n <div className={clsx(styles['form-input__container'], styles[`form-input__container--label-${labelPosition}`])}>\n {componentContent}\n </div>\n );\n};\n","import styles from 'components/MultiSelect/MultiSelect.module.css';\nimport { Label } from 'components/Label';\nimport { Button } from 'components';\n\nexport interface MultiSelectHeaderProps {\n label: string;\n clearTrigger?: string;\n onClear?: () => void;\n}\n\nexport function MultiSelectHeader({ label, clearTrigger, onClear }: MultiSelectHeaderProps) {\n return (\n <header className={styles['multi-select__header']}>\n <Label htmlFor=\"multi-select-list\">{label}</Label>\n {clearTrigger && (\n <Button variant={'blank'} onClick={onClear}>\n {clearTrigger}\n </Button>\n )}\n </header>\n );\n}\n","import { clsx } from 'clsx';\n\nimport type { PropsWithChildren, ReactNode } from 'react';\n\nimport styles from './MultiSelect.module.css';\n\nimport { MultiSelectItem } from 'components/MultiSelect/components/MultiSelectItem';\nimport { MultiSelectHeader } from 'components/MultiSelect/components/MultiSelectHeader';\n\nexport interface MultiSelectProps {\n /** `true` if the container should scroll on overflow; otherwise, `false` to resize the container to its contents. The default is `true`. */\n scrollable?: boolean;\n /** `true` to disable the border around the container; otherwise, `false`. The default is `false`. */\n noBorder?: boolean;\n /** The header contents. */\n header?: ReactNode;\n}\n\n/** Represents a component to list a number of checkboxes. */\nexport const MultiSelect = ({ scrollable = true, noBorder, header, children }: PropsWithChildren<MultiSelectProps>) => (\n <>\n {header}\n <div\n className={clsx(styles['multi-select'], {\n [styles['multi-select--no-border']]: noBorder,\n })}\n >\n <ul\n className={clsx(styles['multi-select__list'], {\n [styles['multi-select__list--scrollable']]: scrollable,\n })}\n id=\"multi-select-list\"\n >\n {children}\n </ul>\n </div>\n </>\n);\n\nMultiSelect.MultiSelectHeader = MultiSelectHeader;\nMultiSelect.MultiSelectItem = MultiSelectItem;\n",".period-selector__container {\n display: flex;\n flex-wrap: wrap;\n}\n\n.period-selector__container--label-left {\n flex-direction: row;\n gap: 1rem;\n align-items: baseline;\n}\n\n.period-selector__container--label-top {\n align-items: flex-start;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.period-selector__selector-container {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.period-selector__selector-row {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n}\n","import { clsx } from 'clsx';\nimport { useEffect, useRef, useState } from 'react';\n\nimport styles from './PeriodSelector.module.css';\n\nimport { Label, CheckboxButtonBar, FeedbackBox } from 'components';\n\nexport interface PeriodSelectorProps {\n /** Indicates how many periods are shown. */\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n maxPeriods: 6 | 7;\n /** array of period values [3, 5 ...] */\n defaultValues?: number[];\n label?: string;\n labelPosition?: 'top' | 'left';\n /** Shows red * */\n required?: boolean;\n /** error text to display if set */\n notValidatedText?: string;\n /** Returns array of selected values as number */\n onChange: (values: number[]) => void;\n}\n\nconst SEMESTER_1 = 0;\nconst SEMESTER_2 = 1;\nconst SEMESTER_3 = 2;\n\nconst PERIODS_PER_SEMESTER = 3;\nconst MAX_PERIODS = 7;\n\nconst chunkPeriods = (array: number[]): number[][] => {\n const result: number[][] = [];\n for (let count = 0; count < array.length; count += PERIODS_PER_SEMESTER) {\n result.push(array.slice(count, count + PERIODS_PER_SEMESTER));\n }\n return result;\n};\n\n/** Checkbox group for selecting periods */\nexport const PeriodSelector = ({\n maxPeriods = MAX_PERIODS,\n defaultValues,\n label,\n labelPosition = 'top',\n required = false,\n notValidatedText = '',\n onChange,\n}: PeriodSelectorProps) => {\n const maxPeriodsList = Array.from({ length: maxPeriods }, (_, index) => index + 1);\n const chunkedPeriods = chunkPeriods(maxPeriodsList);\n\n const checkboxItems = chunkedPeriods.map((periods, _) => {\n return periods.map((period) => ({\n label: period.toString(),\n value: period.toString(),\n }));\n });\n\n const returnValues = useRef<number[][]>(\n chunkedPeriods.map((semester) =>\n semester.reduce((periods, period) => {\n if (defaultValues?.includes(period)) periods.push(period);\n return periods;\n }, [] as number[])\n )\n );\n const [disableSemesters, setDisableSemesters] = useState<number[]>([]);\n\n const disableGroups = (selects: number[][]) => {\n if (selects[SEMESTER_1].length !== 0 || selects[SEMESTER_2].length !== 0) return [SEMESTER_3];\n if (selects[SEMESTER_3].length !== 0) return [SEMESTER_1, SEMESTER_2];\n return [];\n };\n\n const handleChange = (values: string[], index: number) => {\n returnValues.current[index] = values.map((num) => Number(num));\n setDisableSemesters(disableGroups(returnValues.current));\n onChange([...returnValues.current.flat()].sort());\n };\n\n useEffect(() => {\n setDisableSemesters(disableGroups(returnValues.current));\n }, []);\n\n return (\n <div\n className={clsx(\n styles['period-selector__container'],\n styles[`period-selector__container--label-${labelPosition}`]\n )}\n >\n {label && (\n <Label htmlFor=\"\" required={required}>\n {label}\n </Label>\n )}\n <div className={styles['period-selector__selector-container']}>\n <div className={styles['period-selector__selector-row']}>\n {checkboxItems.map((checkboxes, semester) => (\n <CheckboxButtonBar\n key={`group_${semester}`}\n checkboxes={checkboxes}\n defaultValues={returnValues.current[semester].map((num) => num.toString())}\n disableGroup={disableSemesters.includes(semester)}\n required={required}\n onSetValues={(event) => handleChange(event, semester)}\n notValid={notValidatedText !== ''}\n />\n ))}\n </div>\n {notValidatedText !== '' && <FeedbackBox level=\"error\" feedback={notValidatedText} />}\n </div>\n </div>\n );\n};\n",".radio-tab-selector-button-bar__container {\n display: flex;\n flex-wrap: wrap;\n}\n\n.radio-tab-selector-button-bar__container--label-left {\n align-items: baseline;\n flex-direction: row;\n gap: 1rem;\n}\n\n.radio-tab-selector-button-bar__container--label-top {\n align-items: flex-start;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.radio-tab-selector-button-bar__row-container {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.radio-tab-selector-button-bar__row {\n align-items: center;\n background-color: var(--color-uva-white);\n border: 1px solid var(--color-grey-700);\n border-radius: 0.5rem;\n display: flex;\n flex-wrap: nowrap;\n gap: 0.25rem;\n padding: 0.25rem;\n}\n\n.radio-tab-selector-button-bar__row--not-validated {\n border-color: var(--color-red-600);\n}\n","import { clsx } from 'clsx';\r\nimport { useState } from 'react';\r\n\r\nimport type { ChangeEvent } from 'react';\r\nimport type { IconProps } from 'components';\r\n\r\nimport styles from './RadioTabSelector.module.css';\r\n\r\nimport { ControlsButton, FeedbackBox, Label } from 'components';\r\n\r\ntype ButtonProps = {\r\n label: string;\r\n value: string;\r\n iconName?: IconProps['name'];\r\n disabled?: boolean;\r\n};\r\n\r\nexport interface RadioTabSelectorProps {\r\n /** array with button objects with label, value and optional iconName or disabled-state */\r\n buttons: ButtonProps[];\r\n /** name of the radiogroup */\r\n radioGroupName: string;\r\n /** innitial value */\r\n defaultValue?: string;\r\n /** label takst */\r\n label?: string;\r\n /** 'top' | 'left' */\r\n labelPosition?: 'top' | 'left';\r\n /** show red star */\r\n required?: boolean;\r\n /** error text to display if set */\r\n notValidatedText?: string;\r\n /** The callback function that is invoked when the radio tab selector changes value. */\r\n onSetValue: (value: string | null) => void;\r\n}\r\n\r\nexport const RadioTabSelector = ({\r\n buttons,\r\n radioGroupName,\r\n defaultValue,\r\n label,\r\n labelPosition = 'top',\r\n required = false,\r\n notValidatedText = '',\r\n onSetValue,\r\n}: RadioTabSelectorProps) => {\r\n const [currentValue, setCurrentValue] = useState<string | null>(defaultValue || null);\r\n\r\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\r\n setCurrentValue(event.target.value);\r\n onSetValue(event.target.value);\r\n };\r\n\r\n return (\r\n <div\r\n className={clsx(\r\n styles['radio-tab-selector-button-bar__container'],\r\n styles[`radio-tab-selector-button-bar__container--label-${labelPosition}`]\r\n )}\r\n >\r\n {label && (\r\n <Label htmlFor=\"\" required={required}>\r\n {label}\r\n </Label>\r\n )}\r\n <div className={styles['radio-tab-selector-button-bar__row-container']}>\r\n <div\r\n className={clsx(styles['radio-tab-selector-button-bar__row'], {\r\n [styles['radio-tab-selector-button-bar__row--not-validated']]: notValidatedText,\r\n })}\r\n >\r\n {buttons.map(({ label, value, iconName, disabled }) => (\r\n <ControlsButton\r\n type=\"radio\"\r\n name={radioGroupName}\r\n key={`${value}`}\r\n label={label}\r\n value={value}\r\n iconName={iconName}\r\n checked={currentValue === value}\r\n disabled={disabled}\r\n onSetValue={handleChange}\r\n />\r\n ))}\r\n </div>\r\n {notValidatedText !== '' && <FeedbackBox level=\"error\" feedback={notValidatedText} />}\r\n </div>\r\n </div>\r\n );\r\n};\r\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{createLexicalComposerContext as t,LexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{CAN_USE_DOM as o,createEditor as n,$getRoot as r,$createParagraphNode as i,$getSelection as a,HISTORY_MERGE_TAG as l}from\"lexical\";import{useLayoutEffect as c,useEffect as s,useMemo as m}from\"react\";import{jsx as d}from\"react/jsx-runtime\";const u=o?c:s,p={tag:l};function f({initialConfig:l,children:c}){const s=m(()=>{const{theme:e,namespace:c,nodes:s,onError:m,editorState:d,html:u}=l,f=t(null,e),E=n({editable:l.editable,html:u,namespace:c,nodes:s,onError:t=>m(t,E),theme:e});return function(t,e){if(null===e)return;if(void 0===e)t.update(()=>{const e=r();if(e.isEmpty()){const n=i();e.append(n);const r=o?document.activeElement:null;(null!==a()||null!==r&&r===t.getRootElement())&&n.select()}},p);else if(null!==e)switch(typeof e){case\"string\":{const o=t.parseEditorState(e);t.setEditorState(o,p);break}case\"object\":t.setEditorState(e,p);break;case\"function\":t.update(()=>{r().isEmpty()&&e(t)},p)}}(E,d),[E,f]},[]);return u(()=>{const t=l.editable,[e]=s;e.setEditable(void 0===t||t)},[]),d(e.Provider,{value:s,children:c})}export{f as LexicalComposer};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{defineExtension as e}from\"lexical\";const r=e({name:\"@lexical/react/ReactProvider\"});export{r as ReactProviderExtension};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$getRoot as t,$isDecoratorNode as e,$isElementNode as n,$isParagraphNode as r,$isTextNode as i,TextNode as o,$createTextNode as l}from\"lexical\";function s(){return t().getTextContent()}function f(t,e=!0){if(t)return!1;let n=s();return e&&(n=n.trim()),\"\"===n}function u(t,e){return()=>f(t,e)}function c(o){if(!f(o,!1))return!1;const l=t().getChildren(),s=l.length;if(s>1)return!1;for(let t=0;t<s;t++){const o=l[t];if(e(o))return!1;if(n(o)){if(!r(o))return!1;if(0!==o.__indent)return!1;const e=o.getChildren(),n=e.length;for(let r=0;r<n;r++){const n=e[t];if(!i(n))return!1}}}return!0}function g(t){return()=>c(t)}function a(t,e){let r=t.getFirstChild(),o=0;t:for(;null!==r;){if(n(r)){const t=r.getFirstChild();if(null!==t){r=t;continue}}else if(i(r)){const t=r.getTextContentSize();if(o+t>e)return{node:r,offset:e-o};o+=t}const t=r.getNextSibling();if(null!==t){r=t;continue}let l=r.getParent();for(;null!==l;){const t=l.getNextSibling();if(null!==t){r=t;continue t}l=l.getParent()}break}return null}function d(t,...e){const n=new URL(\"https://lexical.dev/docs/error\"),r=new URLSearchParams;r.append(\"code\",t);for(const t of e)r.append(\"v\",t);throw n.search=r.toString(),Error(`Minified Lexical error #${t}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}function x(t,e,n,r){const s=t=>t instanceof n,f=t=>{const e=l(t.getTextContent());e.setFormat(t.getFormat()),t.replace(e)};return[t.registerNodeTransform(o,t=>{if(!t.isSimpleText())return;let n,o=t.getPreviousSibling(),l=t.getTextContent(),u=t;if(i(o)){const n=o.getTextContent(),r=e(n+l);if(s(o)){if(null===r||0!==(t=>t.getLatest().__mode)(o))return void f(o);{const e=r.end-n.length;if(e>0){const r=n+l.slice(0,e);if(o.select(),o.setTextContent(r),e===l.length)t.remove();else{const n=l.slice(e);t.setTextContent(n)}return}}}else if(null===r||r.start<n.length)return}let c=0;for(;;){n=e(l);let t,g=null===n?\"\":l.slice(n.end);if(l=g,\"\"===g){const t=u.getNextSibling();if(i(t)){g=u.getTextContent()+t.getTextContent();const n=e(g);if(null===n)return void(s(t)?f(t):t.markDirty());if(0!==n.start)return}}if(null===n)return;if(0===n.start&&i(o)&&o.isTextEntity()){c+=n.end;continue}0===n.start?[t,u]=u.splitText(n.end):[,t,u]=u.splitText(n.start+c,n.end+c),void 0===t&&d(165,\"nodeToReplace\");const a=r(t);if(a.setFormat(t.getFormat()),t.replace(a),null==u)return;c=0,o=a}}),t.registerNodeTransform(n,t=>{const n=t.getTextContent(),r=e(n);if(null===r||0!==r.start)return void f(t);if(n.length>r.end)return void t.splitText(r.end);const o=t.getPreviousSibling();i(o)&&o.isTextEntity()&&(f(o),f(t));const l=t.getNextSibling();i(l)&&l.isTextEntity()&&(f(l),s(t)&&f(t))})]}export{c as $canShowPlaceholder,g as $canShowPlaceholderCurry,a as $findTextIntersectionFromCharacters,f as $isRootTextContentEmpty,u as $isRootTextContentEmptyCurry,s as $rootTextContent,x as registerLexicalTextEntity};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{effect as e,namedSignals as t}from\"@lexical/extension\";import{defineExtension as n,safeCast as o,$getSelection as i,$isRangeSelection as a,$isTextNode as r}from\"lexical\";function s(e){const t=window.location.origin,n=n=>{if(n.origin!==t)return;const o=e.getRootElement();if(document.activeElement!==o)return;const s=n.data;if(\"string\"==typeof s){let t;try{t=JSON.parse(s)}catch(e){return}if(t&&\"nuanria_messaging\"===t.protocol&&\"request\"===t.type){const o=t.payload;if(o&&\"makeChanges\"===o.functionId){const t=o.args;if(t){const[o,s,d,c,g]=t;e.update(()=>{const e=i();if(a(e)){const t=e.anchor;let i=t.getNode(),a=0,l=0;if(r(i)&&o>=0&&s>=0&&(a=o,l=o+s,e.setTextNodeRange(i,a,i,l)),a===l&&\"\"===d||(e.insertRawText(d),i=t.getNode()),r(i)){a=c,l=c+g;const t=i.getTextContentSize();a=a>t?t:a,l=l>t?t:l,e.setTextNodeRange(i,a,i,l)}n.stopImmediatePropagation()}})}}}}};return window.addEventListener(\"message\",n,!0),()=>{window.removeEventListener(\"message\",n,!0)}}const d=n({build:(e,n,o)=>t(n),config:o({disabled:\"undefined\"==typeof window}),name:\"@lexical/dragon\",register:(t,n,o)=>e(()=>o.getOutput().disabled.value?void 0:s(t))});export{d as DragonExtension,s as registerDragonSupport};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$insertDataTransferForRichText as e,caretFromPoint as t,$handleRichTextDrop as n,setLexicalClipboardDataTransfer as r,$getClipboardDataFromSelection as o,$writeDragSourceToDataTransfer as s,copyToClipboard as i}from\"@lexical/clipboard\";import{NormalizeInlineElementsExtension as a,NormalizeTripleClickSelectionExtension as c,effect as l,namedSignals as u,signal as m}from\"@lexical/extension\";import{$isParentRTL as f,$shouldOverrideDefaultCharacterSelection as p,$moveCharacter as d}from\"@lexical/selection\";import{addClassNamesToElement as g,isHTMLElement as h,objectKlassEquals as C,mergeRegister as y,$findMatchingParent as x,$handleIndentAndOutdent as v,$getNearestBlockElementAncestorOrThrow as D}from\"@lexical/utils\";import{defineExtension as N,safeCast as b,shallowMergeConfig as T,configExtension as _,setNodeIndentFromDOM as F,$setFormatFromDOM as O,$setDirectionFromDOM as E,isHTMLElement as S,createCommand as k,$applyNodeReplacement as I,ElementNode as K,$createParagraphNode as w,CLICK_COMMAND as A,$getSelection as M,$isNodeSelection as P,$isRangeSelection as L,COMMAND_PRIORITY_EDITOR as z,DELETE_CHARACTER_COMMAND as J,DELETE_WORD_COMMAND as $,DELETE_LINE_COMMAND as q,CONTROLLED_TEXT_INSERTION_COMMAND as W,REMOVE_TEXT_COMMAND as R,FORMAT_TEXT_COMMAND as j,FORMAT_ELEMENT_COMMAND as B,$isElementNode as X,INSERT_LINE_BREAK_COMMAND as Y,INSERT_PARAGRAPH_COMMAND as G,INSERT_TAB_COMMAND as H,$createTabNode as Q,$insertNodes as U,INDENT_CONTENT_COMMAND as V,OUTDENT_CONTENT_COMMAND as Z,KEY_ARROW_UP_COMMAND as ee,$getAdjacentNode as te,$isDecoratorNode as ne,KEY_ARROW_DOWN_COMMAND as re,KEY_ARROW_LEFT_COMMAND as oe,KEY_ARROW_RIGHT_COMMAND as se,KEY_BACKSPACE_COMMAND as ie,IS_IOS as ae,KEY_DELETE_COMMAND as ce,KEY_ENTER_COMMAND as le,IS_SAFARI as ue,IS_APPLE_WEBKIT as me,CAN_USE_BEFORE_INPUT as fe,KEY_ESCAPE_COMMAND as pe,DROP_COMMAND as de,$getNearestNodeFromDOMNode as ge,$createRangeSelection as he,$isTextNode as Ce,$normalizeSelection__EXPERIMENTAL as ye,$setSelection as xe,DRAGSTART_COMMAND as ve,DRAGOVER_COMMAND as De,SELECT_ALL_COMMAND as Ne,$selectAll as be,COPY_COMMAND as Te,CUT_COMMAND as _e,PASTE_COMMAND as Fe,isDOMNode as Oe,isSelectionCapturedInDecoratorInput as Ee,KEY_SPACE_COMMAND as Se,KEY_TAB_COMMAND as ke,MOVE_TO_END as Ie,MOVE_TO_START as Ke,$getRoot as we,$isRootNode as Ae,PASTE_TAG as Me}from\"lexical\";import{DragonExtension as Pe}from\"@lexical/dragon\";import{CoreImportExtension as Le,DOMImportExtension as ze,defineImportRule as Je,sel as $e}from\"@lexical/html\";function qe(e,t){return e&&null!==t?T(e,t):t}const We=N({build:(e,t)=>u(t),config:b({escapeFormatTriggers:{capitalize:{enter:!0,space:!0,tab:!0},lowercase:{enter:!0,space:!0,tab:!0},uppercase:{enter:!0,space:!0,tab:!0}}}),conflictsWith:[\"@lexical/plain-text\"],dependencies:[Pe,a,c],mergeConfig:function(e,t){const n=T(e,t);return t.escapeFormatTriggers&&(n.escapeFormatTriggers=function(e,t){const n=T(e,t);for(const r of Object.keys(t))n[r]=qe(e[r],t[r]);return n}(e.escapeFormatTriggers,t.escapeFormatTriggers)),n},name:\"@lexical/rich-text\",nodes:()=>[He,Xe],register:(e,t,n)=>l(()=>st(e,n.getOutput().escapeFormatTriggers))});const Re=[Je({$import:(e,t)=>{const n=Ze(t.nodeName.toLowerCase());return F(t,n),O(n,t),E(n,t),[n.splice(0,0,e.$importChildren(t))]},match:$e.tag(\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"),name:\"@lexical/rich-text/heading\"}),Je({$import:(e,t)=>{const n=Ye();return O(n,t),F(t,n),E(n,t),[n.splice(0,0,e.$importChildren(t))]},match:$e.tag(\"blockquote\"),name:\"@lexical/rich-text/blockquote\"}),Je({$import:(e,t,n)=>{const r=t.firstChild;return r&&(S(o=r)&&\"SPAN\"===o.nodeName&&\"26pt\"===o.style.fontSize)?e.$importChildren(t):n();var o},match:$e.tag(\"p\"),name:\"@lexical/rich-text/google-docs-title-p\"}),Je({$import:(e,t,n)=>\"26pt\"!==t.style.fontSize?n():[Ze(\"h1\").splice(0,0,e.$importChildren(t))],match:$e.tag(\"span\"),name:\"@lexical/rich-text/google-docs-title-span\"})],je=N({dependencies:[Le,We,_(ze,{rules:Re})],name:\"@lexical/rich-text/Import\"}),Be=k(\"DRAG_DROP_PASTE_FILE\");class Xe extends K{static getType(){return\"quote\"}static clone(e){return new Xe(e.__key)}createDOM(e){const t=document.createElement(\"blockquote\");return g(t,e.theme.quote),t}updateDOM(e,t){return!1}static importDOM(){return{blockquote:e=>({conversion:Ve,priority:0})}}exportDOM(e){const{element:t}=super.exportDOM(e);if(h(t)){this.isEmpty()&&t.append(document.createElement(\"br\"));const e=this.getFormatType();e&&(t.style.textAlign=e);const n=this.getDirection();n&&(t.dir=n)}return{element:t}}static importJSON(e){return Ye().updateFromJSON(e)}insertNewAfter(e,t){const n=w(),r=this.getDirection();return n.setDirection(r),this.insertAfter(n,t),n}collapseAtStart(){const e=w();return this.getChildren().forEach(t=>e.append(t)),this.replace(e),!0}canMergeWhenEmpty(){return!0}}function Ye(){return I(new Xe)}function Ge(e){return e instanceof Xe}class He extends K{__tag;static getType(){return\"heading\"}static clone(e){return new He(e.__tag,e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__tag=e.__tag}constructor(e=\"h1\",t){super(t),this.__tag=e}getTag(){return this.getLatest().__tag}setTag(e){const t=this.getWritable();return t.__tag=e,t}createDOM(e){const t=this.__tag,n=document.createElement(t),r=e.theme.heading;if(void 0!==r){const e=r[t];g(n,e)}return n}updateDOM(e,t,n){return e.__tag!==this.__tag}static importDOM(){return{h1:e=>({conversion:Ue,priority:0}),h2:e=>({conversion:Ue,priority:0}),h3:e=>({conversion:Ue,priority:0}),h4:e=>({conversion:Ue,priority:0}),h5:e=>({conversion:Ue,priority:0}),h6:e=>({conversion:Ue,priority:0}),p:e=>{const t=e.firstChild;return null!==t&&Qe(t)?{conversion:()=>({node:null}),priority:3}:null},span:e=>Qe(e)?{conversion:e=>({node:Ze(\"h1\")}),priority:3}:null}}exportDOM(e){const{element:t}=super.exportDOM(e);if(h(t)){this.isEmpty()&&t.append(document.createElement(\"br\"));const e=this.getFormatType();e&&(t.style.textAlign=e);const n=this.getDirection();n&&(t.dir=n)}return{element:t}}static importJSON(e){return Ze(e.tag).updateFromJSON(e)}updateFromJSON(e){return super.updateFromJSON(e).setTag(e.tag)}exportJSON(){return{...super.exportJSON(),tag:this.getTag()}}insertNewAfter(e,t=!0){const n=e?e.anchor.offset:0,r=this.getLastDescendant(),o=!r||e&&e.anchor.key===r.getKey()&&n===r.getTextContentSize()||!e?w():Ze(this.getTag()),s=this.getDirection();if(o.setDirection(s),this.insertAfter(o,t),0===n&&!this.isEmpty()&&e){const e=w();e.select(),this.replace(e,!0)}return o}collapseAtStart(){if(this.isEmpty()){const e=w();this.getChildren().forEach(t=>e.append(t)),this.replace(e)}return!0}extractWithChild(){return!0}}function Qe(e){return\"span\"===e.nodeName.toLowerCase()&&\"26pt\"===e.style.fontSize}function Ue(e){const t=e.nodeName.toLowerCase();let n=null;return\"h1\"!==t&&\"h2\"!==t&&\"h3\"!==t&&\"h4\"!==t&&\"h5\"!==t&&\"h6\"!==t||(n=Ze(t),F(e,n),O(n,e),E(n,e)),{node:n}}function Ve(e){const t=Ye();return O(t,e),F(e,t),E(t,e),{node:t}}function Ze(e=\"h1\"){return I(new He(e))}function et(e){return e instanceof He}function tt(e){let t=null;if(C(e,DragEvent)?t=e.dataTransfer:C(e,ClipboardEvent)&&(t=e.clipboardData),null===t)return[!1,[],!1];const n=t.types,r=n.includes(\"Files\"),o=n.includes(\"text/html\")||n.includes(\"text/plain\");return[r,Array.from(t.files),o]}function nt(e){const t=ge(e);return ne(t)}function rt(e,t,n,r){let o=!1,s=null;if(e.isCollapsed()&&\"text\"===e.anchor.type){const t=e.anchor.getNode();if(Ce(t)){s=t;const r=e.anchor.offset,i=r===t.getTextContentSize()&&null===t.getNextSibling(),a=0===r&&null===t.getPreviousSibling();o=\"end\"===n&&i||\"start\"===n&&a||\"both\"===n&&(i||a)}}let i=!1;for(const[n,a]of Object.entries(r)){if(null==a||!a[t])continue;const r=n;if(a.onlyAtBoundary){if(!(o&&s&&Ce(s)&&s.hasFormat(r)))continue;i=!0}e.hasFormat(r)&&e.toggleFormat(r)}i&&e.setStyle(\"\")}const ot={capitalize:{enter:!0,space:!0,tab:!0},lowercase:{enter:!0,space:!0,tab:!0},uppercase:{enter:!0,space:!0,tab:!0}};function st(a,c=m(ot)){return y(a.registerCommand(A,()=>{const e=M();return P(e)?(e.clear(),!0):(L(e)&&rt(e,\"click\",\"both\",c.peek()),!1)},z),a.registerCommand(J,e=>{const t=M();return L(t)?(t.deleteCharacter(e),!0):!!P(t)&&(t.deleteNodes(),!0)},z),a.registerCommand($,e=>{const t=M();return!!L(t)&&(t.deleteWord(e),!0)},z),a.registerCommand(q,e=>{const t=M();return!!L(t)&&(t.deleteLine(e),!0)},z),a.registerCommand(W,t=>{const n=M();if(\"string\"==typeof t)null!==n&&n.insertText(t);else{if(null===n)return!1;const r=t.dataTransfer;if(null!=r)e(r,n,a);else if(L(n)){const e=t.data;return e&&n.insertText(e),!0}}return!0},z),a.registerCommand(R,()=>{const e=M();return!!L(e)&&(e.removeText(),!0)},z),a.registerCommand(j,e=>{const t=M();return!!L(t)&&(t.formatText(e),!0)},z),a.registerCommand(B,e=>{const t=M();if(!L(t)&&!P(t))return!1;const n=t.getNodes();for(const t of n){const n=x(t,e=>X(e)&&!e.isInline());null!==n&&n.setFormat(e)}return!0},z),a.registerCommand(Y,e=>{const t=M();return!!L(t)&&(t.insertLineBreak(e),!0)},z),a.registerCommand(G,()=>{const e=M();return!!L(e)&&(e.insertParagraph(),!0)},z),a.registerCommand(H,()=>{const e=Q(),t=M();return L(t)&&(e.setFormat(t.format),e.setStyle(t.style)),U([e]),!0},z),a.registerCommand(V,()=>v(e=>{const t=e.getIndent();e.setIndent(t+1)}),z),a.registerCommand(Z,()=>v(e=>{const t=e.getIndent();t>0&&e.setIndent(Math.max(0,t-1))}),z),a.registerCommand(ee,e=>{const t=M();if(P(t)){const n=t.getNodes();if(n.length>0)return e.preventDefault(),n[0].selectPrevious(),!0}else if(L(t)){const n=te(t.focus,!0);if(!e.shiftKey&&ne(n)&&!n.isIsolated()&&!n.isInline())return n.selectPrevious(),e.preventDefault(),!0}return!1},z),a.registerCommand(re,e=>{const t=M();if(P(t)){const n=t.getNodes();if(n.length>0)return e.preventDefault(),n[0].selectNext(0,0),!0}else if(L(t)){if(function(e){const t=e.focus;return\"root\"===t.key&&t.offset===we().getChildrenSize()}(t))return e.preventDefault(),!0;const n=te(t.focus,!1);if(!e.shiftKey&&ne(n)&&!n.isIsolated()&&!n.isInline())return n.selectNext(),e.preventDefault(),!0}return!1},z),a.registerCommand(oe,e=>{const t=M();if(P(t)){const n=t.getNodes();if(n.length>0)return e.preventDefault(),f(n[0])?n[0].selectNext(0,0):n[0].selectPrevious(),!0}if(!L(t))return!1;if(e.shiftKey||rt(t,\"arrow\",\"start\",c.peek()),p(t,!0)){const n=e.shiftKey;return e.preventDefault(),d(t,n,!0),!0}return!1},z),a.registerCommand(se,e=>{const t=M();if(P(t)){const n=t.getNodes();if(n.length>0)return e.preventDefault(),f(n[0])?n[0].selectPrevious():n[0].selectNext(0,0),!0}if(!L(t))return!1;if(e.shiftKey||rt(t,\"arrow\",\"end\",c.peek()),p(t,!1)){const n=e.shiftKey;return e.preventDefault(),d(t,n,!1),!0}return!1},z),a.registerCommand(ie,e=>{if(nt(e.target))return!1;const t=M();if(L(t)){if(function(e){if(!e.isCollapsed())return!1;const{anchor:t}=e;if(0!==t.offset)return!1;const n=t.getNode();if(Ae(n))return!1;const r=D(n);return r.getIndent()>0&&(r.is(n)||n.is(r.getFirstDescendant()))}(t))return e.preventDefault(),a.dispatchCommand(Z,void 0);if(ae&&\"ko-KR\"===navigator.language)return!1}else if(!P(t))return!1;return e.preventDefault(),a.dispatchCommand(J,!0)},z),a.registerCommand(ce,e=>{if(nt(e.target))return!1;const t=M();return!(!L(t)&&!P(t))&&(e.preventDefault(),a.dispatchCommand(J,!1))},z),a.registerCommand(le,e=>{let t=M();if(P(t)){const e=t.getNodes();1===e.length&&ne(e[0])&&!e[0].isInline()&&(t=e[0].selectNext())}if(!L(t))return!1;if(rt(t,\"enter\",\"both\",c.peek()),null!==e){if((ae||ue||me)&&fe)return!1;if(e.preventDefault(),e.shiftKey)return a.dispatchCommand(Y,!1)}return a.dispatchCommand(G,void 0)},z),a.registerCommand(pe,()=>{const e=M();return!!L(e)&&(a.blur(),!0)},z),a.registerCommand(de,e=>{const[,r]=tt(e);if(r.length>0){const n=e.clientX,o=e.clientY,s=t(n,o);if(null!==s){const{offset:e,node:t}=s,n=ge(t);if(null!==n){const t=he();if(Ce(n))t.anchor.set(n.getKey(),e,\"text\"),t.focus.set(n.getKey(),e,\"text\");else{const e=n.getParentOrThrow().getKey(),r=n.getIndexWithinParent()+1;t.anchor.set(e,r,\"element\"),t.focus.set(e,r,\"element\")}const r=ye(t);xe(r)}a.dispatchCommand(Be,r)}return e.preventDefault(),!0}return n(e,a)},z),a.registerCommand(ve,e=>{const[t]=tt(e),n=M();return!(t&&!L(n))&&(L(n)&&!n.isCollapsed()&&null!==e.dataTransfer&&(r(e.dataTransfer,o(n)),s(e.dataTransfer,a)),!0)},z),a.registerCommand(De,e=>{const[n]=tt(e),r=M();if(n&&!L(r))return!1;const o=e.clientX,s=e.clientY,i=t(o,s);if(null!==i){const t=ge(i.node);ne(t)&&e.preventDefault()}return!0},z),a.registerCommand(Ne,()=>(be(),!0),z),a.registerCommand(Te,e=>(i(a,C(e,ClipboardEvent)?e:null),!0),z),a.registerCommand(_e,e=>(async function(e,t){await i(t,C(e,ClipboardEvent)?e:null),t.update(()=>{const e=M();L(e)?e.removeText():P(e)&&e.getNodes().forEach(e=>e.remove())})}(e,a),!0),z),a.registerCommand(Fe,t=>{const[,n,r]=tt(t);if(n.length>0&&!r)return a.dispatchCommand(Be,n),!0;if(Oe(t.target)&&Ee(t.target))return!1;return null!==M()&&(function(t,n){t.preventDefault(),n.update(()=>{const r=M(),o=C(t,InputEvent)||C(t,KeyboardEvent)?null:t.clipboardData;null!=o&&null!==r&&e(o,r,n)},{tag:Me})}(t,a),!0)},z),a.registerCommand(Se,()=>{const e=M();return L(e)&&rt(e,\"space\",\"both\",c.peek()),!1},z),a.registerCommand(ke,()=>{const e=M();return L(e)&&rt(e,\"tab\",\"both\",c.peek()),!1},z),a.registerCommand(Ie,e=>{const t=M();if(!L(t))return!1;const{anchor:n}=t;if(\"element\"!==n.type||0!==n.offset)return!1;const r=n.getNode();if(!X(r))return!1;const o=r.getFirstChild();if(!ne(o)||!o.isInline())return!1;const s=r.getLastDescendant();if(null==s||ne(s))return!1;const i=r.getKey(),a=r.selectEnd();return e.shiftKey&&a.anchor.set(i,0,\"element\"),e.preventDefault(),e.stopPropagation(),!0},z),a.registerCommand(Ke,e=>{const t=M();if(!L(t))return!1;const{anchor:n,focus:r}=t,o=x(r.getNode(),e=>X(e)&&!e.isInline());if(null===o)return!1;const s=o.getFirstChild();if(!ne(s)||!s.isInline())return!1;const i=o.getLastDescendant();if(null==i||ne(i))return!1;if(x(n.getNode(),e=>X(e)&&!e.isInline())!==o)return!1;const a=o.getKey();return(\"element\"!==r.type||r.key!==a||0!==r.offset)&&(t.focus.set(a,0,\"element\"),e.shiftKey||t.anchor.set(a,0,\"element\"),e.preventDefault(),e.stopPropagation(),!0)},z))}export{Ze as $createHeadingNode,Ye as $createQuoteNode,et as $isHeadingNode,Ge as $isQuoteNode,Be as DRAG_DROP_PASTE,He as HeadingNode,Xe as QuoteNode,We as RichTextExtension,je as RichTextImportExtension,Re as RichTextImportRules,tt as eventFiles,st as registerRichText};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as r}from\"@lexical/react/LexicalComposerContext\";import{useLexicalEditable as e}from\"@lexical/react/useLexicalEditable\";import{LexicalBuilder as t}from\"@lexical/extension\";import{ReactProviderExtension as o}from\"@lexical/react/ReactProviderExtension\";import{useLayoutEffect as n,useEffect as i,useState as c,useMemo as l,Suspense as a}from\"react\";import{flushSync as s,createPortal as u}from\"react-dom\";import{CAN_USE_DOM as f}from\"lexical\";import{jsx as m,jsxs as d,Fragment as p}from\"react/jsx-runtime\";import{$canShowPlaceholderCurry as x}from\"@lexical/text\";import{mergeRegister as h}from\"@lexical/utils\";import{registerDragonSupport as E}from\"@lexical/dragon\";import{registerRichText as g}from\"@lexical/rich-text\";function y(r,...e){const t=new URL(\"https://lexical.dev/docs/error\"),o=new URLSearchParams;o.append(\"code\",r);for(const r of e)o.append(\"v\",r);throw t.search=o.toString(),Error(`Minified Lexical error #${r}; visit ${t.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}const B=f?n:i;function L({editor:r,ErrorBoundary:e}){return function(r,e){const[t,o]=c(()=>r.getDecorators());return B(()=>r.registerDecoratorListener(r=>{s(()=>{o(r)})}),[r]),i(()=>{o(r.getDecorators())},[r]),l(()=>{const o=[],n=Object.keys(t);for(let i=0;i<n.length;i++){const c=n[i],l=m(e,{onError:e=>r._onError(e),children:m(a,{fallback:null,children:t[c]})}),s=r.getElementByKey(c);null!==s&&o.push(u(l,s,c))}return o},[e,t,r])}(r,e)}function b({editor:r,ErrorBoundary:e}){return function(r){const e=t.maybeFromEditor(r);if(e&&e.hasExtensionByName(o.name)){for(const r of[\"@lexical/plain-text\",\"@lexical/rich-text\"])e.hasExtensionByName(r)&&y(320,r);return!0}return!1}(r)?null:m(L,{editor:r,ErrorBoundary:e})}function v(r){return r.getEditorState().read(x(r.isComposing()))}function w({contentEditable:e,placeholder:t=null,ErrorBoundary:o}){const[n]=r();return function(r){B(()=>h(g(r),E(r)),[r])}(n),d(p,{children:[e,m(S,{content:t}),m(b,{editor:n,ErrorBoundary:o})]})}function S({content:t}){const[o]=r(),n=function(r){const[e,t]=c(()=>v(r));return B(()=>{function e(){const e=v(r);t(e)}return e(),h(r.registerUpdateListener(()=>{e()}),r.registerEditableListener(()=>{e()}))},[r]),e}(o),i=e();return n?\"function\"==typeof t?t(i):t:null}export{w as RichTextPlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{useLayoutEffect as t,useEffect as i,forwardRef as a,useState as r,useCallback as n,useMemo as o}from\"react\";import{CAN_USE_DOM as l}from\"lexical\";import{jsx as d,jsxs as s,Fragment as c}from\"react/jsx-runtime\";import{$canShowPlaceholderCurry as u}from\"@lexical/text\";import{mergeRegister as m}from\"@lexical/utils\";const f=l?t:i;function b({editor:e,ariaActiveDescendant:t,ariaAutoComplete:i,ariaControls:a,ariaDescribedBy:l,ariaErrorMessage:s,ariaExpanded:c,ariaInvalid:u,ariaLabel:m,ariaLabelledBy:b,ariaMultiline:p,ariaOwns:x,ariaRequired:E,autoCapitalize:v,className:y,id:C,role:g=\"textbox\",spellCheck:L=!0,style:h,tabIndex:w,\"data-testid\":D,...I},R){const[k,q]=r(e.isEditable()),z=n(t=>{t&&t.ownerDocument&&t.ownerDocument.defaultView?e.setRootElement(t):e.setRootElement(null)},[e]),A=o(()=>function(...e){return t=>{for(const i of e)\"function\"==typeof i?i(t):null!=i&&(i.current=t)}}(R,z),[z,R]);return f(()=>(q(e.isEditable()),e.registerEditableListener(e=>{q(e)})),[e]),d(\"div\",{\"aria-activedescendant\":k?t:void 0,\"aria-autocomplete\":k?i:\"none\",\"aria-controls\":k?a:void 0,\"aria-describedby\":l,...null!=s?{\"aria-errormessage\":s}:{},\"aria-expanded\":k&&\"combobox\"===g?!!c:void 0,...null!=u?{\"aria-invalid\":u}:{},\"aria-label\":m,\"aria-labelledby\":b,\"aria-multiline\":p,\"aria-owns\":k?x:void 0,\"aria-readonly\":!k||void 0,\"aria-required\":E,autoCapitalize:v,className:y,contentEditable:k,\"data-testid\":D,id:C,ref:A,role:g,spellCheck:L,style:h,tabIndex:w,...I})}const p=a(b);function x(e){return e.getEditorState().read(u(e.isComposing()))}const E=a(v);function v(t,i){const{placeholder:a,...r}=t,[n]=e();return s(c,{children:[d(p,{editor:n,...r,ref:i}),null!=a&&d(y,{editor:n,content:a})]})}function y({content:e,editor:i}){const a=function(e){const[t,i]=r(()=>x(e));return f(()=>{function t(){const t=x(e);i(t)}return t(),m(e.registerUpdateListener(()=>{t()}),e.registerEditableListener(()=>{t()}))},[e]),t}(i),[n,o]=r(i.isEditable());if(t(()=>(o(i.isEditable()),i.registerEditableListener(e=>{o(e)})),[i]),!a)return null;let l=null;return\"function\"==typeof e?l=e(n):null!==e&&(l=e),null===l?null:d(\"div\",{\"aria-hidden\":!0,children:l})}export{E as ContentEditable,p as ContentEditableElement};\n","\"use client\";\nimport { createContext as l, Component as y, createElement as d, useContext as f, useState as p, useMemo as E, forwardRef as B } from \"react\";\nconst h = l(null), c = {\n didCatch: !1,\n error: null\n};\nclass m extends y {\n constructor(e) {\n super(e), this.resetErrorBoundary = this.resetErrorBoundary.bind(this), this.state = c;\n }\n static getDerivedStateFromError(e) {\n return { didCatch: !0, error: e };\n }\n resetErrorBoundary(...e) {\n const { error: t } = this.state;\n t !== null && (this.props.onReset?.({\n args: e,\n reason: \"imperative-api\"\n }), this.setState(c));\n }\n componentDidCatch(e, t) {\n this.props.onError?.(e, t);\n }\n componentDidUpdate(e, t) {\n const { didCatch: o } = this.state, { resetKeys: s } = this.props;\n o && t.error !== null && C(e.resetKeys, s) && (this.props.onReset?.({\n next: s,\n prev: e.resetKeys,\n reason: \"keys\"\n }), this.setState(c));\n }\n render() {\n const { children: e, fallbackRender: t, FallbackComponent: o, fallback: s } = this.props, { didCatch: n, error: a } = this.state;\n let i = e;\n if (n) {\n const u = {\n error: a,\n resetErrorBoundary: this.resetErrorBoundary\n };\n if (typeof t == \"function\")\n i = t(u);\n else if (o)\n i = d(o, u);\n else if (s !== void 0)\n i = s;\n else\n throw a;\n }\n return d(\n h.Provider,\n {\n value: {\n didCatch: n,\n error: a,\n resetErrorBoundary: this.resetErrorBoundary\n }\n },\n i\n );\n }\n}\nfunction C(r = [], e = []) {\n return r.length !== e.length || r.some((t, o) => !Object.is(t, e[o]));\n}\nfunction g(r) {\n return r !== null && typeof r == \"object\" && \"didCatch\" in r && typeof r.didCatch == \"boolean\" && \"error\" in r && \"resetErrorBoundary\" in r && typeof r.resetErrorBoundary == \"function\";\n}\nfunction x(r) {\n if (!g(r))\n throw new Error(\"ErrorBoundaryContext not found\");\n}\nfunction k() {\n const r = f(h);\n x(r);\n const { error: e, resetErrorBoundary: t } = r, [o, s] = p({\n error: null,\n hasError: !1\n }), n = E(\n () => ({\n error: e,\n resetBoundary: () => {\n t(), s({ error: null, hasError: !1 });\n },\n showBoundary: (a) => s({\n error: a,\n hasError: !0\n })\n }),\n [e, t]\n );\n if (o.hasError)\n throw o.error;\n return n;\n}\nfunction S(r) {\n switch (typeof r) {\n case \"object\": {\n if (r !== null && \"message\" in r && typeof r.message == \"string\")\n return r.message;\n break;\n }\n case \"string\":\n return r;\n }\n}\nfunction w(r, e) {\n const t = B(\n (s, n) => d(\n m,\n e,\n d(r, { ...s, ref: n })\n )\n ), o = r.displayName || r.name || \"Unknown\";\n return t.displayName = `withErrorBoundary(${o})`, t;\n}\nexport {\n m as ErrorBoundary,\n h as ErrorBoundaryContext,\n S as getErrorMessage,\n k as useErrorBoundary,\n w as withErrorBoundary\n};\n//# sourceMappingURL=react-error-boundary.js.map\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useCallback as r}from\"react\";import{ErrorBoundary as o}from\"react-error-boundary\";import{jsx as n}from\"react/jsx-runtime\";function e({children:e,onError:t}){const i=r((r,o)=>{t(r instanceof Error?r:new Error(String(r),{cause:r}),o)},[t]);return n(o,{fallback:n(\"div\",{style:{border:\"1px solid #f00\",color:\"#f00\",padding:\"8px\"},children:\"An error was thrown.\"}),onError:i,children:e})}export{e as LexicalErrorBoundary};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{CAN_USE_DOM as t,HISTORY_MERGE_TAG as r}from\"lexical\";import{useLayoutEffect as i,useEffect as o}from\"react\";const n=t?i:o;function a({ignoreHistoryMergeTagChange:t=!0,ignoreSelectionChange:i=!1,onChange:o}){const[a]=e();return n(()=>{if(o)return a.registerUpdateListener(({editorState:e,dirtyElements:n,dirtyLeaves:s,prevEditorState:c,tags:g})=>{i&&0===n.size&&0===s.size||t&&g.has(r)||c.isEmpty()||o(e,a,g)})},[a,t,i,o]),null}export{a as OnChangePlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{registerList as r,ListNode as e,ListItemNode as o,registerListStrictIndentTransform as t}from\"@lexical/list\";import{useLexicalComposerContext as i}from\"@lexical/react/LexicalComposerContext\";import{mergeRegister as n}from\"lexical\";import{useEffect as s}from\"react\";function l({hasStrictIndent:l=!1,shouldPreserveNumbering:m=!1}){const[c]=i();return s(()=>{if(!c.hasNodes([e,o]))throw new Error(\"ListPlugin: ListNode and/or ListItemNode not registered on editor\")},[c]),s(()=>n(r(c,{restoreNumbering:m}),l?t(c):()=>{}),[c,l,m]),function(e){s(()=>r(e),[e])}(c),null}export{l as ListPlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{namedSignals as r}from\"@lexical/extension\";import{LinkNode as t,registerLink as e}from\"@lexical/link\";import{useLexicalComposerContext as o}from\"@lexical/react/LexicalComposerContext\";import{useEffect as i}from\"react\";function l({validateUrl:l,attributes:n}){const[a]=o();return i(()=>{if(!a.hasNodes([t]))throw new Error(\"LinkPlugin: LinkNode not registered on editor\")}),i(()=>e(a,r({attributes:n,validateUrl:l})),[a,l,n]),null}export{l as LinkPlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{namedSignals as e}from\"@lexical/extension\";import{registerClickableLink as o}from\"@lexical/link\";import{useLexicalComposerContext as r}from\"@lexical/react/LexicalComposerContext\";import{useEffect as i}from\"react\";function t({newTab:t=!0,disabled:l=!1}){const[n]=r();return i(()=>o(n,e({disabled:l,newTab:t})),[n,t,l]),null}export{t as ClickableLinkPlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{effect as t,signal as e,namedSignals as n,batch as o,getPeerDependencyFromEditor as r}from\"@lexical/extension\";import{mergeRegister as i}from\"@lexical/utils\";import{defineExtension as a,safeCast as l,configExtension as s,UNDO_COMMAND as u,COMMAND_PRIORITY_EDITOR as d,REDO_COMMAND as c,CLEAR_EDITOR_COMMAND as p,CLEAR_HISTORY_COMMAND as f,CAN_REDO_COMMAND as h,CAN_UNDO_COMMAND as m,COMPOSITION_START_TAG as g,HISTORIC_TAG as y,COMPOSITION_END_TAG as S,HISTORY_PUSH_TAG as _,HISTORY_MERGE_TAG as k,$isRangeSelection as x,$isTextNode as v,$isRootNode as b}from\"lexical\";function C(t,e,n,o,r){if(null===t||0===n.size&&0===o.size&&!r)return 0;const i=e._selection,a=t._selection;if(r)return 1;if(!(x(i)&&x(a)&&a.isCollapsed()&&i.isCollapsed()))return 0;const l=function(t,e,n){const o=t._nodeMap,r=[];for(const t of e){const e=o.get(t);void 0!==e&&r.push(e)}for(const[t,e]of n){if(!e)continue;const n=o.get(t);void 0===n||b(n)||r.push(n)}return r}(e,n,o);if(0===l.length)return 0;if(l.length>1){const n=e._nodeMap,o=n.get(i.anchor.key),r=n.get(a.anchor.key);return o&&r&&!t._nodeMap.has(o.__key)&&v(o)&&1===o.__text.length&&1===i.anchor.offset?2:0}const s=l[0],u=t._nodeMap.get(s.__key);if(!v(u)||!v(s)||u.__mode!==s.__mode)return 0;const d=u.__text,c=s.__text;if(d===c)return 0;const p=i.anchor,f=a.anchor;if(p.key!==f.key||\"text\"!==p.type)return 0;const h=p.offset,m=f.offset,g=c.length-d.length;return 1===g&&m===h-1?2:-1===g&&m===h+1?3:-1===g&&m===h?4:0}function w(t,e,n){let o=n(),r=0,i=o,a=0,l=null;return(s,u,d,c,p,f)=>{const h=n();if(f.has(g)&&(i=o,a=r,l=s),f.has(y))return r=0,o=h,2;f.has(S)&&l&&(o=i,r=a,s=l);const m=C(s,u,c,p,t.isComposing()),b=(()=>{const n=null===d||d.editor===t,i=f.has(_);if(!i&&n&&f.has(k))return 0;if(1===m)return 2;if(null===s)return 1;const a=u._selection;if(!(c.size>0||p.size>0))return null!==a?0:2;const l=\"number\"==typeof e?e:e.peek();if(!1===i&&0!==m&&m===r&&h<o+l&&n)return 0;if(1===c.size){if(function(t,e,n){const o=e._nodeMap.get(t),r=n._nodeMap.get(t),i=e._selection,a=n._selection;return!(x(i)&&x(a)&&\"element\"===i.anchor.type&&\"element\"===i.focus.type&&\"text\"===a.anchor.type&&\"text\"===a.focus.type||!v(o)||!v(r)||o.__parent!==r.__parent)&&JSON.stringify(e.read(()=>o.exportJSON()))===JSON.stringify(n.read(()=>r.exportJSON()))}(Array.from(c)[0],s,u))return 0}return 1})();return o=h,r=m,b}}function E(t,e){t.undoStack=[],t.redoStack=[],t.current=null,e&&e(t)}function D(t,e,n,o=Date.now,r,a=null){const l=w(t,n,o),s=()=>{r&&r(e)};return s(),i(t.registerCommand(u,()=>(function(t,e,n){const o=e.redoStack,r=e.undoStack;if(0!==r.length){const i=e.current,a=r.pop();null!==i&&(o.push(i),t.dispatchCommand(h,!0)),0===r.length&&t.dispatchCommand(m,!1),e.current=a||null,n&&n(e),a&&a.editor.setEditorState(a.editorState,{tag:y})}}(t,e,r),!0),d),t.registerCommand(c,()=>(function(t,e,n){const o=e.redoStack,r=e.undoStack;if(0!==o.length){const i=e.current;null!==i&&(r.push(i),t.dispatchCommand(m,!0));const a=o.pop();0===o.length&&t.dispatchCommand(h,!1),e.current=a||null,n&&n(e),a&&a.editor.setEditorState(a.editorState,{tag:y})}}(t,e,r),!0),d),t.registerCommand(p,()=>(E(e,r),!1),d),t.registerCommand(f,()=>(E(e,r),t.dispatchCommand(h,!1),t.dispatchCommand(m,!1),!0),d),t.registerUpdateListener(({editorState:n,prevEditorState:o,dirtyLeaves:r,dirtyElements:i,tags:u})=>{const d=e.current,c=e.redoStack,p=e.undoStack,f=null===d?null:d.editorState;if(null!==d&&n===f)return;const g=l(o,n,d,r,i,u);if(1===g){if(0!==c.length&&(e.redoStack=[],t.dispatchCommand(h,!1)),null!==d){p.push({...d});const e=\"number\"==typeof a||null===a?a:a.peek();null!==e&&p.length>e&&p.splice(0,p.length-e),t.dispatchCommand(m,!0)}}else if(2===g)return;e.current={editor:t,editorState:n},s()}))}function M(){return{current:null,redoStack:[],undoStack:[]}}const O=a({build:(t,{delay:e,createInitialHistoryState:o,disabled:r,maxDepth:i,now:a},l)=>({...n({delay:e,disabled:r,historyState:o(t),maxDepth:i,now:a}),...l.getInitResult()}),config:l({createInitialHistoryState:M,delay:300,disabled:\"undefined\"==typeof window,maxDepth:null,now:Date.now}),init:()=>({canRedo:e(!1),canUndo:e(!1)}),name:\"@lexical/history/History\",register:(e,n,r)=>{const{canUndo:i,canRedo:a}=r.getInitResult(),l=r.getOutput(),s=t=>o(()=>{i.value=null!=t&&t.undoStack.length>0,a.value=null!=t&&t.redoStack.length>0});return t(()=>{if(!l.disabled.value)return D(e,l.historyState.value,l.delay,()=>l.now.peek()(),s,l.maxDepth);s(null)})}});const z=a({build:(t,{disabled:e,parentEditor:o})=>n({disabled:e,parentEditor:o||t._parentEditor}),config:l({disabled:!1,parentEditor:null}),dependencies:[s(O,{disabled:!0})],name:\"@lexical/history/SharedHistory\",register:(e,n,i)=>t(()=>{const{disabled:t,parentEditor:e}=i.getOutput();if(!t.value){const{output:t}=i.getDependency(O),n=function(t){return t?r(t,O.name):null}(e.value);if(!n)return;const a=n.output;o(()=>{t.delay.value=a.delay.value,t.historyState.value=a.historyState.value,t.now.value=a.now.value,t.disabled.value=a.disabled.value})}})});export{O as HistoryExtension,z as SharedHistoryExtension,M as createEmptyHistoryState,D as registerHistory};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as t}from\"@lexical/react/LexicalComposerContext\";import{createEmptyHistoryState as o,registerHistory as r}from\"@lexical/history\";export{createEmptyHistoryState}from\"@lexical/history\";import{useMemo as e,useEffect as i}from\"react\";function a({delay:a,externalHistoryState:c}){const[l]=t();return function(t,a,c=1e3){const l=e(()=>a||o(),[a]);i(()=>r(t,l,c),[c,t,l])}(l,c,a),null}export{a as HistoryPlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{signal as e}from\"@lexical/extension\";import{useLexicalComposerContext as r}from\"@lexical/react/LexicalComposerContext\";import{$isScrollableTablesActive as o,setScrollableTablesActive as l,registerTablePlugin as t,registerTableSelectionObserver as a,registerTableCellUnmergeTransform as n,TableCellNode as s}from\"@lexical/table\";import{$fullReconcile as i}from\"lexical\";import{useEffect as c,useState as u}from\"react\";function m({hasCellMerge:m=!0,hasCellBackgroundColor:f=!0,hasTabHandler:p=!0,hasHorizontalScroll:d=!1,hasNestedTables:x=!1}){const[C]=r();c(()=>{o(C)!==d&&(l(C,d),C.update(i))},[C,d]);const g=function(r){const[o]=u(()=>e(r));o.peek()!==r&&(o.value=r);return o}(x);return c(()=>t(C,{hasNestedTables:g}),[C,g]),c(()=>a(C,p),[C,p]),c(()=>{if(!m)return n(C)},[C,m]),c(()=>{if(!f)return C.registerNodeTransform(s,e=>{null!==e.getBackgroundColor()&&e.setBackgroundColor(null)})},[C,f,m]),null}export{m as TablePlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as t}from\"@lexical/react/LexicalComposerContext\";import*as e from\"react\";function o({editorRef:o}){const[r]=t();return e.useEffect(()=>{\"function\"==typeof o?o(r):\"object\"==typeof o&&null!==o&&(o.current=r)},[r]),null}export{o as EditorRefPlugin};\n","import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\nimport { $getSelection, $isRangeSelection, $setSelection, KEY_DOWN_COMMAND, COMMAND_PRIORITY_LOW } from 'lexical';\nimport { mergeRegister } from '@lexical/utils';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { $getTableCellNodeFromLexicalNode } from '@lexical/table';\n\nimport type { JSX } from 'react';\nimport type { Actions } from 'components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu';\nimport type { TableMutation } from 'components/RteEditor/Plugins/TablePlugin/TablePlugin';\nimport type { SearchResponse } from 'components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm';\n\nimport { CourseCataloguePlugin } from 'components/RteEditor/Plugins/CourseCataloguePlugin';\nimport {\n LinkPlugin,\n BlockFormatPlugin,\n ListPlugin,\n HistoryPlugin,\n TablePlugin,\n TableCellContextMenu,\n} from 'components/RteEditor/Plugins';\nimport styles from 'components/RteEditor/RteEditor.module.css';\nimport { removeScrollableContainers, setScrollableContainers } from 'components/RteEditor/helpers';\n\nexport type Position = {\n xPos: number;\n yPos: number;\n height: number;\n};\n\ninterface ToolBarProps {\n editorScrollPosition: number;\n onCatalogueLinkSearch?: (query: string, linkType: 'course' | 'programme') => void;\n catalogueSearchResponse?: SearchResponse;\n}\n\nexport const ToolBarPlugin = ({\n editorScrollPosition,\n onCatalogueLinkSearch,\n catalogueSearchResponse,\n}: ToolBarProps): JSX.Element => {\n const [editor] = useLexicalComposerContext();\n const [position, setPosition] = useState<Position | null>(null);\n const tableref = useRef<TableMutation>(null);\n\n const updateToolbar = useCallback(() => {\n const selection = $getSelection();\n if (!$isRangeSelection(selection)) {\n setPosition(null);\n return;\n }\n\n const anchorNode = selection.anchor.getNode();\n const tableCell = $getTableCellNodeFromLexicalNode(anchorNode);\n if (!tableCell) {\n setPosition(null);\n return;\n }\n\n const domNode = editor.getElementByKey(tableCell.getKey());\n if (!domNode) return;\n\n const rect = domNode.getBoundingClientRect();\n setPosition({\n xPos: rect.right,\n yPos: rect.bottom,\n height: rect.height,\n });\n }, [editor]);\n\n const handleTableAction = (action: Actions) => {\n tableref.current?.mutateTable(action);\n };\n\n const handleResizeScroll = useCallback(() => {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n const anchor = selection.anchor;\n const anchorNode = anchor.getNode();\n\n const tableCell = $getTableCellNodeFromLexicalNode(anchorNode);\n if (tableCell) {\n $setSelection(null);\n setPosition(null);\n }\n }\n });\n }, [editor]);\n\n useEffect(() => {\n return mergeRegister(\n editor.registerUpdateListener(({ editorState }) => {\n editorState.read(updateToolbar);\n }),\n\n editor.registerCommand(\n KEY_DOWN_COMMAND,\n () => {\n setScrollableContainers(handleResizeScroll);\n return false;\n },\n COMMAND_PRIORITY_LOW\n ),\n\n editor.registerRootListener((rootElement, prevRootElement) => {\n if (prevRootElement) {\n removeScrollableContainers(handleResizeScroll);\n }\n\n if (rootElement) {\n setScrollableContainers(handleResizeScroll);\n }\n })\n );\n }, [editor, updateToolbar, handleResizeScroll]);\n\n return (\n <div className={styles['editor__toolbar']}>\n <BlockFormatPlugin />\n <ListPlugin />\n <TablePlugin isActive={Boolean(position)} ref={tableref} />\n {position && (\n <TableCellContextMenu\n position={position}\n parentScrollPosition={editorScrollPosition}\n onAction={handleTableAction}\n />\n )}\n <LinkPlugin parentScrollPosition={editorScrollPosition} />\n {onCatalogueLinkSearch && catalogueSearchResponse && (\n <CourseCataloguePlugin\n parentScrollPosition={editorScrollPosition}\n onSearch={onCatalogueLinkSearch}\n searchResponse={catalogueSearchResponse}\n />\n )}\n <HistoryPlugin />\n </div>\n );\n};\n",".linkform {\n width: 26rem;\n}\n\n.linkform__input-field {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n margin-bottom: 0.75rem;\n}\n\n.linkform__footer {\n display: flex;\n gap: 0.5rem;\n justify-content: flex-end;\n margin-top: 1rem;\n}\n\n.linkform__input-url-wrapper {\n align-items: center;\n display: flex;\n gap: 0.5rem;\n justify-content: flex-start;\n width: 100%;\n}\n\n.linkform__input-url-wrapper div {\n width: 100%;\n}\n\n.linkform__open-url-button {\n align-items: center;\n aspect-ratio: 1/1;\n background-color: var(--color-uva-white);\n border: none;\n border-radius: 0.5rem;\n cursor: pointer;\n display: flex;\n height: 2.75rem;\n justify-content: center;\n width: 2.75rem;\n}\n\n.linkform__open-url-button:hover {\n background-color: var(--color-grey-400);\n border: 1px solid var(--color-grey-700);\n}\n\n.linkform__open-url-button:active {\n background-color: var(--color-uva-black);\n border: 1px solid var(--color-uva-black);\n color: var(--color-uva-white);\n}\n\n.editor__toolbar-button:active:hover {\n color: var(--color-uva-white);\n}\n","import { useState, forwardRef, useImperativeHandle, useRef, useId } from 'react';\n\nimport type { ChangeEvent, JSX } from 'react';\nimport type { LinkType } from 'components/RteEditor/Plugins/LinkPlugin';\n\nimport styles from './AddLinkForm.module.css';\n\nimport { ensureHttps, validateUrlWithProtocol } from 'components/RteEditor/Plugins/LinkPlugin/helpers';\nimport { Button, FeedbackBox, FormField, Icon, InputField, Label } from 'components';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\n\ninterface AddLinkFormProps {\n onCloseHandler: () => void;\n onSaveHandler: (url: string, linktext: string) => void;\n isLink: LinkType;\n}\n\nexport interface addLinkFormMethods {\n clearForm: () => void;\n focusFirstField: () => void;\n setDefaults: (url: string, linktext: string) => void;\n}\n\nexport const AddLinkForm = forwardRef(\n (\n { onCloseHandler, onSaveHandler, isLink = { active: false, url: '', linktext: '' } }: AddLinkFormProps,\n ref\n ): JSX.Element => {\n const t = useTranslation();\n const [url, setUrl] = useState<string>(isLink.url || '');\n const [linkText, setLinkText] = useState<string>(isLink.linktext || '');\n const [showLinktextField, setShowLinktextField] = useState<boolean>(false);\n const [urlError, setUrlError] = useState<string | null>(null);\n const [linkTextError, setLinkTextError] = useState<string | null>(null);\n const firstField = useRef<HTMLInputElement>(null);\n const linkId = `link_${useId()}`;\n const textId = `text_${useId()}`;\n\n const handleOpenUrl = () => {\n window.open(ensureHttps(url), '_blank');\n };\n\n const handleUrl = (event: ChangeEvent<HTMLInputElement>) => {\n setUrl(event.target.value);\n };\n\n const handleLinkText = (event: ChangeEvent<HTMLInputElement>) => {\n setLinkText(event.target.value);\n };\n\n const validateUrl = (url: string): boolean => {\n if (validateUrlWithProtocol(url) === false || url.trim() === '') {\n setUrlError(t.errortext.urlNotValid);\n return false;\n }\n setUrlError(null);\n return true;\n };\n\n const validateLinkText = (linkText: string): boolean => {\n if (linkText.trim() === '') {\n setLinkTextError(t.errortext.linkTextNotValid);\n return false;\n }\n setLinkTextError(null);\n return true;\n };\n\n const handleSave = () => {\n if (!validateUrl(url) || (showLinktextField && !validateLinkText(linkText))) {\n return;\n }\n\n onSaveHandler(url, linkText);\n resetForm();\n };\n\n const handleClose = () => {\n onCloseHandler();\n resetForm();\n };\n\n const resetForm = () => {\n setUrl('');\n setShowLinktextField(false);\n setUrlError(null);\n setLinkTextError(null);\n };\n\n const setDefaults = (url: string, linktext: string) => {\n setUrl(url);\n if (!linktext && !url) {\n setShowLinktextField(true);\n }\n };\n\n const focusFirstField = () => {\n if (firstField.current) {\n firstField.current.focus();\n }\n };\n\n useImperativeHandle(ref, () => ({\n clearForm: resetForm,\n focusFirstField,\n setDefaults,\n }));\n\n return (\n <div className={styles['linkform']}>\n <FormField className={styles['linkform__input-field']}>\n <Label htmlFor={linkId}>{t.links.linkLabel}</Label>\n <div className={styles['linkform__input-url-wrapper']}>\n <InputField\n id={linkId}\n placeholder={t.links.linkPlaceholder}\n value={url}\n onChange={(event) => handleUrl(event)}\n onFocus={() => setUrlError(null)}\n ref={firstField}\n aria-label={t.aria.labels.linkField}\n />\n {url && (\n <button type=\"button\" onClick={handleOpenUrl} className={styles['linkform__open-url-button']}>\n <Icon name=\"ArrowTopRightOnSquare\" size={20} />\n </button>\n )}\n </div>\n {urlError && <FeedbackBox level=\"error\" feedback={urlError} />}\n </FormField>\n {showLinktextField && (\n <FormField className={styles['linkform__input-field']}>\n <Label htmlFor={textId}>{t.links.linkText}</Label>\n <InputField\n id={textId}\n value={linkText}\n onChange={(event) => handleLinkText(event)}\n onFocus={() => setLinkTextError(null)}\n aria-label={t.aria.labels.linkTextfield}\n />\n {linkTextError && <FeedbackBox level=\"error\" feedback={linkTextError} />}\n </FormField>\n )}\n <div className={styles['linkform__footer']}>\n <Button variant={'secondary'} onClick={handleClose} aria-label={t.common.cancel} type=\"button\">\n {t.common.cancel}\n </Button>\n <Button variant={'primary'} onClick={handleSave} aria-label={t.aria.labels.linkOkButton} type=\"button\">\n {t.links.addLink}\n </Button>\n </div>\n </div>\n );\n }\n);\n","import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\nimport { clsx } from 'clsx';\nimport { $toggleLink, TOGGLE_LINK_COMMAND, LinkNode } from '@lexical/link';\nimport { useEffect, useRef, useState } from 'react';\nimport {\n $createTextNode,\n $getSelection,\n $isRangeSelection,\n $setSelection,\n CLICK_COMMAND,\n COMMAND_PRIORITY_CRITICAL,\n COMMAND_PRIORITY_LOW,\n KEY_DOWN_COMMAND,\n mergeRegister,\n SELECTION_CHANGE_COMMAND,\n} from 'lexical';\nimport { $getNearestNodeOfType } from '@lexical/utils';\n\nimport type { ElementNode, BaseSelection } from 'lexical';\nimport type { addLinkFormMethods } from './AddLinkForm/AddLinkFrom';\nimport type { linkFormMethods } from './LinkContextMenu/LinkContextMenu';\n\nimport { AddLinkForm } from './AddLinkForm/AddLinkFrom';\nimport { ensureHttps } from './helpers';\nimport { LinkContextMenu } from './LinkContextMenu/LinkContextMenu';\n\nimport { useFlyout } from 'components/RteEditor/hooks/useFlyout';\nimport { Icon } from 'components';\nimport styles from 'components/RteEditor/RteEditor.module.css';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\n\nconst PREVENT_OPEN_DELAY = 200;\n\nexport interface LinkType {\n active: boolean;\n url: string;\n linktext: string;\n}\n\ntype Position = {\n top: number;\n left: number;\n};\n\ninterface LinkPluginProps {\n parentScrollPosition: number;\n}\n\nexport const LinkPlugin = ({ parentScrollPosition }: LinkPluginProps) => {\n const t = useTranslation();\n const [editor] = useLexicalComposerContext();\n const { flyout, showFlyout, hideFlyout, isVisible } = useFlyout();\n const addLinkForm = useRef<addLinkFormMethods>(undefined);\n const preventOpen = useRef(false);\n const previousLinkText = useRef('');\n const selectedText = useRef('');\n const [isLink, setIsLink] = useState<LinkType>({ active: false, url: '', linktext: '' });\n const isVisibleRef = useRef(isVisible);\n const storedSelection = useRef<BaseSelection | null>(null);\n const linkButtonRef = useRef<HTMLButtonElement>(null);\n const editLinkForm = useRef<linkFormMethods>(undefined);\n\n const storeCursorPosition = () => {\n editor.update(() => {\n const selection = $getSelection();\n storedSelection.current = selection;\n });\n };\n\n const rePositionCursor = () => {\n editor.update(() => {\n const currentSelection = storedSelection.current;\n\n if (currentSelection && $isRangeSelection(currentSelection)) {\n const anchorNode = currentSelection.anchor.getNode();\n const focusNode = currentSelection.focus.getNode();\n\n if (anchorNode && focusNode && anchorNode.isAttached() && focusNode.isAttached()) {\n const anchorLength = anchorNode.getTextContentSize();\n const focusLength = focusNode.getTextContentSize();\n\n if (currentSelection.anchor.offset <= anchorLength && currentSelection.focus.offset <= focusLength) {\n $setSelection(currentSelection);\n return;\n }\n }\n }\n\n editor.getRootElement()?.focus();\n });\n };\n\n const openContextMenu = (url: string, position: Position) => {\n showFlyout({\n position,\n children: (\n <LinkContextMenu\n url={url}\n onSave={(url) => insertLink(url, '')}\n onDelete={() => removeLink()}\n onClose={closeContextMenu}\n ref={editLinkForm}\n />\n ),\n });\n };\n\n const closeContextMenu = () => {\n editLinkForm.current?.clearForm();\n hideFlyout();\n rePositionCursor();\n };\n\n const openFlyout = () => {\n const rect = linkButtonRef.current?.getBoundingClientRect();\n if (!preventOpen.current && rect) {\n storeCursorPosition();\n showFlyout({ position: { top: rect.bottom, left: rect.left }, ...flyoutOptions });\n setTimeout(() => addLinkForm.current?.setDefaults('', selectedText.current), 0);\n }\n };\n\n const closeFlyout = () => {\n hideFlyout();\n rePositionCursor();\n };\n\n const insertLink = (url: string, linktext: string) => {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n const anchorNode = selection.anchor.getNode();\n const linkNode = $getNearestNodeOfType(anchorNode, LinkNode);\n\n if (linktext && linktext !== '') {\n if (linkNode) {\n const newTextNode = $createTextNode(linktext);\n linkNode.replace(newTextNode);\n newTextNode.select();\n }\n if (linktext !== previousLinkText.current && previousLinkText.current === '') {\n const { anchor, focus } = selection;\n selection.insertText(linktext);\n anchor.offset -= linktext.length;\n focus.offset = anchor.offset + linktext.length;\n }\n }\n $toggleLink(ensureHttps(url), { target: '_blank' });\n }\n\n closeFlyout();\n });\n };\n\n const removeLink = (): void => {\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, null);\n closeContextMenu();\n };\n\n const flyoutOptions = {\n children: (\n <AddLinkForm\n isLink={isLink}\n onCloseHandler={closeFlyout}\n onSaveHandler={(url, linktext) => insertLink(url, linktext)}\n ref={addLinkForm}\n />\n ),\n };\n\n useEffect(() => {\n if (!isVisible) {\n addLinkForm.current?.clearForm();\n previousLinkText.current = selectedText.current = '';\n setTimeout(() => (preventOpen.current = false), PREVENT_OPEN_DELAY);\n } else {\n preventOpen.current = true;\n addLinkForm.current?.focusFirstField();\n }\n }, [addLinkForm, isVisible]);\n\n useEffect(() => {\n const handleSelectionClickOrChange = (selection: BaseSelection | null) => {\n if ($isRangeSelection(selection) && selection.isCollapsed()) {\n const anchorNode = selection.anchor.getNode() as ElementNode;\n const node = $getNearestNodeOfType(anchorNode, LinkNode);\n\n if (node) {\n const domNode = editor.getElementByKey(selection.anchor.getNode().getKey());\n const position = domNode\n ? { top: domNode.getBoundingClientRect().bottom, left: domNode.getBoundingClientRect().left }\n : { top: 0, left: 0 };\n openContextMenu(node.getURL(), position);\n return true;\n }\n }\n return false;\n };\n\n const unregisterSelect = editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n const selection = $getSelection();\n selectedText.current = selection?.getTextContent() ?? '';\n handleSelectionClickOrChange(selection);\n return false;\n },\n 0\n );\n\n const unregisterClick = editor.registerCommand(\n CLICK_COMMAND,\n (event) => {\n const selection = $getSelection();\n storeCursorPosition();\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n handleSelectionClickOrChange(selection);\n return false;\n },\n 0\n );\n\n return () => {\n unregisterClick();\n unregisterSelect();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [editor]);\n\n useEffect(() => {\n const removeKeyboardShortcut = editor.registerCommand(\n KEY_DOWN_COMMAND,\n (event: KeyboardEvent) => {\n if (event.ctrlKey && event.shiftKey && event.key === 'U') {\n const selection = $getSelection();\n storeCursorPosition();\n\n if (!$isRangeSelection(selection)) {\n return false;\n }\n\n const anchorNode = selection.anchor.getNode() as ElementNode;\n const node = $getNearestNodeOfType(anchorNode, LinkNode);\n\n const openFlyoutWithDefaults = (url = '', linkText = '') => {\n openFlyout();\n setTimeout(() => addLinkForm.current?.setDefaults(url, linkText), 0);\n };\n\n if (node) {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n\n previousLinkText.current = node.getTextContent();\n openFlyoutWithDefaults(node.getURL(), node.getTextContent());\n\n return true;\n }\n\n const selectedTextContent = selection.getTextContent();\n if (selectedTextContent !== '') {\n selectedText.current = selectedTextContent;\n openFlyoutWithDefaults('', selectedText.current);\n\n return true;\n }\n\n openFlyout();\n return true;\n }\n\n return false;\n },\n COMMAND_PRIORITY_CRITICAL\n );\n\n const removeStatusListener = editor.registerUpdateListener(({ editorState }) => {\n setIsLink(\n editorState.read(() => {\n const selection = $getSelection();\n storeCursorPosition();\n\n if ($isRangeSelection(selection)) {\n const anchorNode = selection.anchor.getNode() as ElementNode;\n const node = $getNearestNodeOfType(anchorNode, LinkNode);\n\n if (node) {\n return {\n active: true,\n url: node.getURL(),\n linktext: node.getTextContent(),\n };\n }\n }\n\n return {\n active: false,\n url: '',\n linktext: '',\n };\n })\n );\n });\n\n return () => {\n removeKeyboardShortcut();\n removeStatusListener();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [editor]);\n\n useEffect(() => {\n isVisibleRef.current = isVisible;\n if (!isVisible) editLinkForm.current?.clearForm();\n }, [isVisible]);\n\n useEffect(() => {\n if (isVisible) {\n closeFlyout();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [parentScrollPosition]);\n\n useEffect(() => {\n if (!isLink.active) {\n hideFlyout();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isLink]);\n\n const handleOnScroll = () => {\n hideFlyout();\n };\n\n useEffect(() => {\n return mergeRegister(\n editor.registerCommand(\n KEY_DOWN_COMMAND,\n (event: KeyboardEvent) => {\n if (event.key === 'Escape' && isVisibleRef.current) {\n event.preventDefault();\n closeFlyout();\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_LOW\n ),\n\n editor.registerRootListener((rootElement, prevRootElement) => {\n if (prevRootElement) {\n prevRootElement.removeEventListener('scroll', handleOnScroll);\n }\n\n if (rootElement) {\n rootElement.addEventListener('scroll', handleOnScroll);\n }\n })\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [editor]);\n\n return (\n <div className={styles['editor__toolbar-button-group']}>\n <div className={styles['editor__toolbar-button-flyoutwrapper']}>\n <button\n onClick={openFlyout}\n title={t.links.linkTooltip}\n className={clsx(\n styles['editor__toolbar-button'],\n styles[`editor__toolbar-button--link`],\n isLink.active && styles['editor__toolbar-button--active']\n )}\n aria-label={t.aria.labels.link}\n aria-keyshortcuts={t.aria.keyshortcuts.link}\n type=\"button\"\n ref={linkButtonRef}\n >\n <Icon name=\"Link\" size={20} />\n </button>\n {flyout}\n </div>\n </div>\n );\n};\n","import { clsx } from 'clsx';\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\nimport { CAN_UNDO_COMMAND, CAN_REDO_COMMAND, UNDO_COMMAND, REDO_COMMAND } from 'lexical';\nimport { useEffect, useState } from 'react';\n\nimport { Icon } from 'components';\nimport styles from 'components/RteEditor/RteEditor.module.css';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\n\nexport const HistoryPlugin = () => {\n const t = useTranslation();\n const [editor] = useLexicalComposerContext();\n const [canUndo, setCanUndo] = useState(false);\n const [canRedo, setCanRedo] = useState(false);\n\n const handleUndo = () => {\n editor.dispatchCommand(UNDO_COMMAND, undefined);\n };\n\n const handleRedo = () => {\n editor.dispatchCommand(REDO_COMMAND, undefined);\n };\n\n useEffect(() => {\n return editor.registerCommand<boolean>(\n CAN_UNDO_COMMAND,\n (payload) => {\n setCanUndo(payload);\n return false;\n },\n 1\n );\n }, [editor]);\n\n useEffect(() => {\n return editor.registerCommand<boolean>(\n CAN_REDO_COMMAND,\n (payload) => {\n setCanRedo(payload);\n return false;\n },\n 1\n );\n }, [editor]);\n\n return (\n <div className={styles['editor__toolbar-button-group']}>\n <button\n onClick={handleUndo}\n className={clsx(styles['editor__toolbar-button'], styles[`editor__toolbar-button--undo`])}\n aria-label={t.aria.labels.undo}\n aria-keyshortcuts={t.aria.keyshortcuts.undo}\n disabled={!canUndo}\n title={t.format.undoTooltip}\n type=\"button\"\n >\n <Icon name=\"StepBack\" size={24} />\n </button>\n <button\n onClick={handleRedo}\n className={clsx(styles['editor__toolbar-button'], styles[`editor__toolbar-button--redo`])}\n aria-label={t.aria.labels.redo}\n aria-keyshortcuts={t.aria.keyshortcuts.redo}\n disabled={!canRedo}\n title={t.format.redoTooltip}\n type=\"button\"\n >\n <Icon name=\"StepForwards\" size={24} />\n </button>\n </div>\n );\n};\n",".tableform {\n width: 18rem;\n}\n\n.tableform__input-field {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n margin-bottom: 0.75rem;\n}\n\n.tableform__footer {\n display: flex;\n gap: 0.5rem;\n justify-content: flex-end;\n margin-top: 1rem;\n}\n","import { useState, forwardRef, useImperativeHandle, useRef, useId, useEffect } from 'react';\n\nimport type { ChangeEvent } from 'react';\n\nimport styles from './AddTableFrom.module.css';\n\nimport { Button, FormField, InputField, Label } from 'components';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\nimport { removeScrollableContainers, setScrollableContainers } from 'components/RteEditor/helpers';\n\ninterface AddTableFormProps {\n onCloseHandler: () => void;\n onSaveHandler: (nrfOfRows: number, nrOfColumns: number) => void;\n}\n\nexport interface addTableForm {\n clearForm: () => void;\n focusFirstField: () => void;\n}\n\nexport const AddTableForm = forwardRef(({ onCloseHandler, onSaveHandler }: AddTableFormProps, ref) => {\n const t = useTranslation();\n const [rowCount, setRowCount] = useState<number>();\n const [columnCount, setColumnCount] = useState<number>();\n const firstField = useRef<HTMLInputElement>(null);\n const rowId = `row_${useId()}`;\n const columnId = `column_${useId()}`;\n\n const handleDimentionChange = (event: ChangeEvent<HTMLInputElement>, type: string) => {\n const value = event.target.value;\n type === 'row' ? setRowCount(parseInt(value)) : setColumnCount(parseInt(value));\n };\n\n const handleSave = () => {\n if (rowCount !== undefined && columnCount !== undefined) {\n onSaveHandler(rowCount, columnCount);\n resetForm();\n }\n };\n\n const handleClose = () => {\n onCloseHandler();\n resetForm();\n };\n\n const resetForm = () => {\n setRowCount(undefined);\n setColumnCount(undefined);\n };\n\n useImperativeHandle(ref, () => ({\n clearForm: resetForm,\n focusFirstField: () => firstField.current?.focus(),\n }));\n\n useEffect(() => {\n const handleResizeScroll = () => {\n handleClose();\n };\n\n setScrollableContainers(handleResizeScroll);\n\n window.addEventListener('scroll', handleResizeScroll);\n window.addEventListener('resize', handleResizeScroll);\n\n return () => {\n window.removeEventListener('scroll', handleResizeScroll);\n window.removeEventListener('resize', handleResizeScroll);\n removeScrollableContainers(handleResizeScroll);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <div className={styles['tableform']}>\n <FormField className={styles['tableform__input-field']}>\n <Label htmlFor={rowId}>{t.table.nrofRows}</Label>\n <InputField\n id={rowId}\n placeholder={t.table.nrofRowsPlaceholder}\n value={rowCount ? rowCount : ''}\n onChange={(event) => handleDimentionChange(event, 'row')}\n aria-label={t.aria.labels.tableRowfield}\n ref={firstField}\n />\n </FormField>\n <FormField className={styles['tableform__input-field']}>\n <Label htmlFor={columnId}>{t.table.nrofColumns}</Label>\n <InputField\n id={columnId}\n placeholder={t.table.nrofColumnsPlaceholder}\n value={columnCount ? columnCount : ''}\n onChange={(event) => handleDimentionChange(event, 'column')}\n aria-label={t.aria.labels.tableColumnfield}\n />\n </FormField>\n <div className={styles['tableform__footer']}>\n <Button variant={'secondary'} onClick={handleClose} aria-label={t.common.cancel}>\n {t.common.cancel}\n </Button>\n <Button\n variant={'primary'}\n onClick={handleSave}\n disabled={!rowCount || !columnCount}\n aria-label={t.aria.labels.tableOkButton}\n >\n {t.common.add}\n </Button>\n </div>\n </div>\n );\n});\n","import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\nimport { clsx } from 'clsx';\nimport { $getTableCellNodeFromLexicalNode, $isTableCellNode, TableCellNode } from '@lexical/table';\nimport {\n $getSelection,\n $isRangeSelection,\n $getRoot,\n KEY_DOWN_COMMAND,\n $isNodeSelection,\n COMMAND_PRIORITY_CRITICAL,\n} from 'lexical';\nimport { $getNearestNodeOfType } from '@lexical/utils';\nimport { useRef, useEffect, useImperativeHandle, forwardRef } from 'react';\n\nimport type { TableNode } from '@lexical/table';\nimport type { JSX } from 'react';\nimport type { TextNode } from 'lexical';\nimport type { addTableForm } from './AddTableFrom';\nimport type { Actions } from './TableCellContextMenu';\n\nimport { AddTableForm } from './AddTableFrom';\nimport {\n createTable,\n DEFAULT_COL_WIDTH,\n DEFAULT_EDITOR_WIDTH,\n deleteColumn,\n deleteRow,\n deleteTable,\n getEditorContentWidth,\n getEditorParrentCellWidth,\n insertColumn,\n insertRow,\n PREVENT_OPEN_DELAY,\n} from './helpers';\n\nimport { $createTableWrapperNode } from 'components/RteEditor/nodes';\nimport { useFlyout } from 'components/RteEditor/hooks/useFlyout';\nimport { Icon } from 'components';\nimport styles from 'components/RteEditor/RteEditor.module.css';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\n\ninterface TablePluginProps {\n isActive: boolean;\n}\nexport interface TableMutation {\n mutateTable: (type: Actions) => void;\n}\n\nexport const TablePlugin = forwardRef(({ isActive }: TablePluginProps, ref): JSX.Element => {\n const t = useTranslation();\n const [editor] = useLexicalComposerContext();\n const { flyout, showFlyout, hideFlyout, isVisible } = useFlyout();\n const addTableForm = useRef<addTableForm>(undefined);\n const buttonRef = useRef<HTMLButtonElement>(null);\n const preventOpen = useRef(false);\n const isVisibleRef = useRef(isVisible);\n\n const openFlyout = () => {\n const rect = buttonRef.current?.getBoundingClientRect();\n if (!preventOpen.current && rect) {\n showFlyout({ position: { top: rect.bottom, left: rect.left }, ...flyoutOptions });\n }\n };\n\n const closeFlyout = () => {\n hideFlyout();\n };\n\n const insertTable = (nrOfRows: number, nrOfColumns: number) => {\n editor.update(() => {\n const selection = $getSelection();\n const tableNode = createTable(nrOfRows, nrOfColumns);\n\n const anchorNode =\n ($isRangeSelection(selection) && selection.anchor.getNode()) ||\n ($isNodeSelection(selection) && selection.getNodes()[0]) ||\n null;\n\n const willBeNested = anchorNode ? $getNearestNodeOfType(anchorNode, TableCellNode) : null;\n\n const availibleWidth = willBeNested\n ? getEditorParrentCellWidth(willBeNested, nrOfColumns, editor)\n : getEditorContentWidth(editor) || DEFAULT_EDITOR_WIDTH;\n\n const perCol = Math.max(DEFAULT_COL_WIDTH, Math.floor(availibleWidth / Math.max(1, nrOfColumns)));\n\n const colWidths = Array.from({ length: nrOfColumns }, () => perCol);\n\n (tableNode as TableNode).setColWidths(colWidths);\n\n const tableWrapper = $createTableWrapperNode();\n tableWrapper.append(tableNode);\n if ($isRangeSelection(selection)) {\n selection.insertNodes([tableWrapper]);\n } else {\n $getRoot().append(tableWrapper);\n }\n const firstDescendant = tableWrapper.getFirstDescendant();\n if (firstDescendant) {\n (firstDescendant as TextNode).select();\n }\n });\n\n closeFlyout();\n };\n\n const mutateTable = (action: Actions) => {\n editor.update(() => {\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n const anchorNode = selection.anchor.getNode();\n const currentNode = $getTableCellNodeFromLexicalNode(anchorNode);\n\n if ($isTableCellNode(currentNode)) {\n switch (action) {\n case 'insertRowAbove':\n case 'insertRowBelow':\n insertRow(currentNode, action);\n break;\n case 'deleteRow':\n deleteRow(currentNode);\n break;\n case 'insertColumnLeft':\n case 'insertColumnRight':\n insertColumn(currentNode, action);\n break;\n case 'deleteColumn':\n deleteColumn(currentNode);\n break;\n case 'deleteTable':\n deleteTable(currentNode);\n break;\n }\n }\n }\n });\n };\n\n const flyoutOptions = {\n children: (\n <AddTableForm\n onCloseHandler={closeFlyout}\n onSaveHandler={(rows, columns) => insertTable(rows, columns)}\n ref={addTableForm}\n />\n ),\n };\n\n useEffect(() => {\n if (!isVisible) {\n addTableForm.current?.clearForm();\n setTimeout(() => (preventOpen.current = false), PREVENT_OPEN_DELAY);\n } else {\n preventOpen.current = true;\n addTableForm.current?.focusFirstField();\n }\n }, [addTableForm, isVisible]);\n\n useEffect(() => {\n const removeKeyboardShortcut = editor.registerCommand(\n KEY_DOWN_COMMAND,\n (event: KeyboardEvent) => {\n if (event.ctrlKey && event.shiftKey && event.code === 'Digit9') {\n event.preventDefault();\n openFlyout();\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_CRITICAL\n );\n\n return () => {\n removeKeyboardShortcut();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [editor]);\n\n useEffect(() => {\n isVisibleRef.current = isVisible;\n }, [isVisible]);\n\n useEffect(() => {\n const removeKeydown = (event: KeyboardEvent) => {\n if (event.key === 'Escape' && isVisibleRef.current) {\n event.preventDefault();\n event.stopPropagation();\n closeFlyout();\n }\n };\n\n document.addEventListener('keydown', removeKeydown, { capture: true });\n\n return () => {\n document.removeEventListener('keydown', removeKeydown);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useImperativeHandle(ref, () => ({\n mutateTable,\n }));\n\n return (\n <div className={styles['editor__toolbar-button-group']}>\n <div className={styles['editor__toolbar-button-flyoutwrapper']}>\n <button\n onClick={openFlyout}\n title={t.table.tableTooltip}\n className={clsx(styles['editor__toolbar-button'], isActive && styles[`editor__toolbar-button--active`])}\n aria-label={t.aria.labels.table}\n aria-keyshortcuts={t.aria.keyshortcuts.table}\n ref={buttonRef}\n type=\"button\"\n >\n <Icon name=\"Table\" size={24} />\n </button>\n {flyout}\n </div>\n </div>\n );\n});\n",".editor-header__container {\n align-items: flex-start;\n display: flex;\n flex: 1;\n flex-direction: column;\n justify-content: flex-start;\n max-width: calc(100% - 5rem);\n}\n\n.editor-header__info {\n color: var(--color-grey-700);\n font-size: var(--font-size-text-non-essential);\n}\n","import { useId } from 'react';\n\nimport styles from './EditorHeader.module.css';\n\nimport { Label } from 'components';\n\ninterface EditorHeaderProps {\n label: string;\n info?: string;\n required?: boolean;\n}\n\nexport const EditorHeader = ({ label, info = '', required = false }: EditorHeaderProps) => {\n const infoId = `info_${useId()}`;\n\n return (\n <div className={styles['editor-header__container']}>\n {label !== '' && (\n <div>\n <Label htmlFor={infoId} required={required}>\n {label}\n </Label>\n </div>\n )}\n {info !== '' && <div className={styles['editor-header__info']} dangerouslySetInnerHTML={{ __html: info }} />}\n </div>\n );\n};\n","import { LexicalComposer } from '@lexical/react/LexicalComposer';\nimport { RichTextPlugin } from '@lexical/react/LexicalRichTextPlugin';\nimport { ContentEditable } from '@lexical/react/LexicalContentEditable';\nimport { LexicalErrorBoundary } from '@lexical/react/LexicalErrorBoundary';\nimport { OnChangePlugin } from '@lexical/react/LexicalOnChangePlugin';\nimport { $generateHtmlFromNodes, $generateNodesFromDOM } from '@lexical/html';\nimport { $getRoot, $insertNodes, $setSelection, createEditor } from 'lexical';\nimport { ListItemNode, ListNode } from '@lexical/list';\nimport { ListPlugin } from '@lexical/react/LexicalListPlugin';\nimport { LinkPlugin } from '@lexical/react/LexicalLinkPlugin';\nimport { AutoLinkNode, LinkNode } from '@lexical/link';\nimport { TableCellNode, TableNode, TableRowNode } from '@lexical/table';\nimport { AutoLinkPlugin } from '@lexical/react/LexicalAutoLinkPlugin';\nimport { ClickableLinkPlugin } from '@lexical/react/LexicalClickableLinkPlugin';\nimport { HistoryPlugin } from '@lexical/react/LexicalHistoryPlugin';\nimport { TablePlugin } from '@lexical/react/LexicalTablePlugin';\nimport { useEffect, useId, useState } from 'react';\nimport { clsx } from 'clsx';\nimport { EditorRefPlugin } from '@lexical/react/LexicalEditorRefPlugin';\n\nimport type { RefObject } from 'react';\nimport type { EditorState, LexicalEditor } from 'lexical';\nimport type { SearchResponse } from './Plugins/CourseCataloguePlugin/AddCatalogueLinkForm';\n\nimport { exportMap, mergeBoldStrongTags, cleanUpTable } from './helpers';\nimport { MATCHERS, validateUrl } from './Plugins/LinkPlugin/helpers';\nimport styles from './RteEditor.module.css';\nimport { ToolBarPlugin, PasteHandlerPlugin, TableCellResizerPlugin } from './Plugins';\nimport { UvaTheme } from './UvaTheme';\nimport { EditorHeader } from './EditorHeader';\nimport { LanguageProvider, useLanguage } from './Providers/LanguageProvider';\nimport { useTranslation } from './hooks/useTranslation';\nimport { TableWrapperNode, CourseCatalogueNode, CourseCatalogueLinkPlugin } from './nodes';\n\nimport { FeedbackBox } from 'components/FeedbackBox';\n\nexport interface RteEditorProps {\n /** current language setting for the editor labels NOT title ans label */\n currentLanguage?: 'NL' | 'EN' | 'nl' | 'en';\n /** unique id mandatory for the rte */\n editorId: string;\n /** imported content to edit */\n initialValue?: string;\n /** placeholder text in current Language */\n placeholder?: string;\n /** label/title of the RTE in current Language */\n label?: string;\n /** explanation of the text to be filled in, in current Language */\n info?: string;\n /** 'true' the rte field mandatory */\n required?: boolean;\n /** `true` to color border red to show not valid; otherwise, `false`. */\n notValid?: boolean;\n /** error text to display if required and field is empty */\n notValidatedText?: string;\n /** max height in rem default = 20rem*/\n maxHeightInRem?: `${number}rem`;\n /** max number of words 'allowed' but not enforced */\n maxWords?: number;\n /** Ref to the Lexical editor instance */\n rteRef?: RefObject<LexicalEditor> | null;\n /** updated output */\n onChange: (content: string) => void;\n /** callback for catalogue link search */\n onCatalogueLinkSearch?: (query: string, type: 'course' | 'programme') => void;\n /** updated catalogue search results */\n catalogueSearchResponse?: SearchResponse;\n}\n\nexport const Rte = ({\n currentLanguage = 'NL',\n editorId,\n initialValue = '',\n placeholder = '',\n label = '',\n info = '',\n required = false,\n notValid = false,\n notValidatedText = '',\n maxHeightInRem = '20rem',\n maxWords,\n rteRef = null,\n onChange,\n onCatalogueLinkSearch,\n catalogueSearchResponse = { state: 'idle', results: [] },\n}: RteEditorProps) => {\n const { switchLanguage } = useLanguage();\n const t = useTranslation();\n const [editor] = useState(() => createEditor());\n const [wordCount, setWordCount] = useState(0);\n const [scrollTopPosition, setScrollTopPosition] = useState(0);\n const rteId = useId();\n\n const initialConfig = {\n html: {\n export: exportMap,\n },\n namespace: `UvaRte-${editorId.replace(/\\s+/g, '-').toLowerCase()}`,\n editor,\n theme: UvaTheme,\n onError(error: Error) {\n throw error;\n },\n nodes: [\n ListNode,\n ListItemNode,\n LinkNode,\n AutoLinkNode,\n TableCellNode,\n TableRowNode,\n TableNode,\n TableWrapperNode,\n CourseCatalogueNode,\n ],\n editorState: (editor: LexicalEditor) => {\n const parser = new DOMParser();\n const dom = parser.parseFromString(initialValue, 'text/html');\n const nodes = $generateNodesFromDOM(editor, dom);\n const root = $getRoot();\n root.clear();\n $insertNodes(nodes);\n $setSelection(null);\n },\n };\n\n const getWordCount = (plainText: string): number => {\n if (plainText.trim().length === 0) {\n return 0;\n } else {\n return plainText.split(' ').length;\n }\n };\n\n const handleOnChange = (_editorState: EditorState, editor: LexicalEditor): void => {\n editor.read(() => {\n let htmlContent = '';\n setWordCount(getWordCount($getRoot().getTextContent().replace(/\\s+/g, ' ').trim()));\n htmlContent = mergeBoldStrongTags($generateHtmlFromNodes(editor));\n htmlContent = cleanUpTable(htmlContent);\n onChange(htmlContent);\n });\n };\n\n useEffect(() => {\n switchLanguage(currentLanguage.toUpperCase() as 'NL' | 'EN');\n }, [currentLanguage, switchLanguage]);\n\n useEffect(() => {\n const strippedInitialValue = initialValue\n .replace(/<br\\s*\\/?>| /gi, ' ')\n .replace(/<\\/?[^>]+(>|$)|&[a-z]+;/g, '')\n .replace(/\\s+/g, ' ')\n .trim();\n setWordCount(getWordCount(strippedInitialValue));\n }, [initialValue]);\n\n return (\n <div className={styles['editor__container']}>\n {(label || info || maxWords) && (\n <div className={styles['editor__header']}>\n <EditorHeader label={label} info={info} required={required} />\n {maxWords && maxWords > 0 && (\n <div className={styles['editor__header-word-count']}>\n <span className={clsx({ [styles['editor__header-word-count--alert']]: wordCount > maxWords })}>\n {wordCount}\n </span>\n / {maxWords}\n </div>\n )}\n </div>\n )}\n <div\n className={clsx(styles['editor'], {\n [styles['not-valid']]: notValid,\n })}\n >\n <LexicalComposer initialConfig={initialConfig}>\n <ToolBarPlugin\n editorScrollPosition={scrollTopPosition}\n onCatalogueLinkSearch={onCatalogueLinkSearch}\n catalogueSearchResponse={catalogueSearchResponse}\n />\n <div className={styles['editor__field-wrapper']}>\n <RichTextPlugin\n contentEditable={\n <ContentEditable\n className={styles['editor__field']}\n aria-label={t.common.rteAriaLabel}\n aria-placeholder={placeholder}\n title={t.common.rteTitle}\n placeholder={<div className={styles['editor__placeholder']}>{placeholder}</div>}\n spellCheck={false}\n id={`${rteId}_rteEditor`}\n style={{ height: `${maxHeightInRem}`, maxHeight: `${maxHeightInRem}` }}\n onScroll={(event) => setScrollTopPosition(event.currentTarget.scrollTop)}\n />\n }\n placeholder={<div className={styles['editor__placeholder']}>{placeholder}</div>}\n ErrorBoundary={LexicalErrorBoundary}\n />\n <TablePlugin />\n <TableCellResizerPlugin />\n <HistoryPlugin />\n <ListPlugin />\n <LinkPlugin validateUrl={validateUrl} />\n <AutoLinkPlugin matchers={MATCHERS} />\n <ClickableLinkPlugin />\n <OnChangePlugin onChange={handleOnChange} />\n <PasteHandlerPlugin />\n <CourseCatalogueLinkPlugin />\n {rteRef && <EditorRefPlugin editorRef={rteRef} />}\n </div>\n </LexicalComposer>\n </div>\n {notValidatedText !== '' && <FeedbackBox level=\"error\" feedback={notValidatedText} />}\n </div>\n );\n};\n\nexport const RteEditor = ({\n currentLanguage = 'NL',\n editorId,\n initialValue = '',\n placeholder = '',\n label = '',\n info = '',\n required = false,\n notValid = false,\n notValidatedText = '',\n maxWords,\n rteRef,\n onChange,\n onCatalogueLinkSearch,\n catalogueSearchResponse = { state: 'idle', results: [] },\n}: RteEditorProps) => (\n <LanguageProvider>\n <Rte\n currentLanguage={currentLanguage.toUpperCase() as 'NL' | 'EN'}\n editorId={editorId}\n initialValue={initialValue}\n placeholder={placeholder}\n label={label}\n info={info}\n required={required}\n notValid={notValid}\n notValidatedText={notValidatedText}\n maxWords={maxWords}\n rteRef={rteRef}\n onChange={onChange}\n onCatalogueLinkSearch={onCatalogueLinkSearch}\n catalogueSearchResponse={catalogueSearchResponse}\n />\n </LanguageProvider>\n);\n"],"x_google_ignoreList":[10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers-BzYayeT-.js","names":["e","o","r","n"],"sources":["../node_modules/.pnpm/@lexical+react@0.45.0_react-dom@19.2.7_react@19.2.7__react@19.2.7_yjs@13.6.31/node_modules/@lexical/react/dist/LexicalAutoLinkPlugin.prod.mjs","../src/components/RteEditor/Plugins/LinkPlugin/helpers.ts"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{AutoLinkNode as e,registerAutoLink as r}from\"@lexical/link\";export{createLinkMatcherWithRegExp}from\"@lexical/link\";import{useLexicalComposerContext as n}from\"@lexical/react/LexicalComposerContext\";import{useEffect as o}from\"react\";function t(n,t,i,a){o(()=>{n.hasNodes([e])||function(e,...r){const n=new URL(\"https://lexical.dev/docs/error\"),o=new URLSearchParams;o.append(\"code\",e);for(const e of r)o.append(\"v\",e);throw n.search=o.toString(),Error(`Minified Lexical error #${e}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}(77)}),o(()=>r(n,{changeHandlers:i?[i]:[],excludeParents:a??[],matchers:t}),[n,t,i,a])}function i({matchers:e,onChange:r,excludeParents:o}){const[i]=n();return t(i,e,r,o),null}export{i as AutoLinkPlugin};\n","import { createLinkMatcherWithRegExp } from '@lexical/react/LexicalAutoLinkPlugin';\n\nconst PROTOCOL_REGEX = /^(http|https):\\/\\//;\n\nconst URL_REGEX =\n /(https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9]+\\.[^\\s]{2,}|www\\.[a-zA-Z0-9]+\\.[^\\s]{2,})/;\n\nconst EMAIL_REGEX =\n /(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))/;\n\nconst URL_REGEX_OR_BLANK =\n /^(https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9]+\\.[^\\s]{2,}|www\\.[a-zA-Z0-9]+\\.[^\\s]{2,})?$/;\n\nexport const validateUrl = (url: string): boolean => {\n return url === 'https://' || URL_REGEX.test(url);\n};\n\nexport const validateUrlWithProtocol = (url: string): boolean => {\n return url === 'https://' || URL_REGEX_OR_BLANK.test(url);\n};\n\nexport const MATCHERS = [\n createLinkMatcherWithRegExp(URL_REGEX, (text: string): string => {\n return !PROTOCOL_REGEX.test(text) ? `//${text}` : text;\n }),\n createLinkMatcherWithRegExp(EMAIL_REGEX, (text) => {\n return `mailto:${text}`;\n }),\n];\n\nexport const ensureHttps = (url: string) => {\n if (!/^https?:\\/\\//i.test(url)) {\n return `https://${url}`;\n }\n return url;\n};\n"],"x_google_ignoreList":[0],"mappings":";;;;AAQ8O,SAAS,EAAE,GAAE,GAAE,GAAE,GAAE;CAAC,QAAM;EAAC,EAAE,SAAS,CAACA,CAAC,CAAC,KAAG,SAAS,GAAE,GAAG,GAAE;GAAC,IAAM,IAAE,IAAI,IAAI,gCAAgC,GAAE,IAAE,IAAI,gBAAc;GAAE,EAAE,OAAO,QAAO,CAAC;GAAE,KAAI,IAAM,KAAK,GAAE,EAAE,OAAO,KAAI,CAAC;GAAE,MAAM,EAAE,SAAO,EAAE,SAAS,GAAE,MAAM,2BAA2B,EAAE,UAAU,EAAE,SAAS,EAAE,+GAA+G;EAAC,EAAE,EAAE;CAAC,CAAC,GAAEC,QAAMC,EAAE,GAAE;EAAC,gBAAe,IAAE,CAAC,CAAC,IAAE,CAAC;EAAE,gBAAe,KAAG,CAAC;EAAE,UAAS;CAAC,CAAC,GAAE;EAAC;EAAE;EAAE;EAAE;CAAC,CAAC;AAAC;AAAC,SAAS,EAAE,EAAC,UAAS,GAAE,UAAS,GAAE,gBAAeD,KAAG;CAAC,IAAK,CAAC,KAAGE,EAAE;CAAE,OAAO,EAAE,GAAE,GAAE,GAAEF,CAAC,GAAE;AAAI;;;ACN7xB,IAAM,IAAiB,sBAEjB,IACJ,qNAEI,IACJ,uJAEI,IACJ,wNAEW,KAAe,MACnB,MAAQ,cAAc,EAAU,KAAK,CAAG,GAGpC,KAA2B,MAC/B,MAAQ,cAAc,EAAmB,KAAK,CAAG,GAG7C,IAAW,CACtB,EAA4B,IAAY,MAC9B,EAAe,KAAK,CAAI,IAAkB,IAAd,KAAK,GAC1C,GACD,EAA4B,IAAc,MACjC,UAAU,GAClB,CACH,GAEa,KAAe,MACrB,gBAAgB,KAAK,CAAG,IAGtB,IAFE,WAAW"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"react-18-DbbN8Pdb.js","names":[],"sources":["../node_modules/.pnpm/@storybook+react-dom-shim@10.4.6_@types+react-dom@19.2.3_@types+react@19.2.17__@types+r_874b09a4aa108b9a49da1fecd8292658/node_modules/@storybook/react-dom-shim/dist/react-18.js"],"sourcesContent":["// src/react-18.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom/client\";\nvar nodes = /* @__PURE__ */ new Map();\nfunction getIsReactActEnvironment() {\n return globalThis.IS_REACT_ACT_ENVIRONMENT;\n}\nvar WithCallback = ({\n callback,\n children\n}) => {\n let once = React.useRef();\n return React.useLayoutEffect(() => {\n once.current !== callback && (once.current = callback, callback());\n }, [callback]), children;\n};\ntypeof Promise.withResolvers > \"u\" && (Promise.withResolvers = () => {\n let resolve = null, reject = null;\n return { promise: new Promise((res, rej) => {\n resolve = res, reject = rej;\n }), resolve, reject };\n});\nvar renderElement = async (node, el, rootOptions) => {\n let root = await getReactRoot(el, rootOptions);\n if (getIsReactActEnvironment()) {\n root.render(node);\n return;\n }\n let { promise, resolve } = Promise.withResolvers();\n return root.render(React.createElement(WithCallback, { callback: resolve }, node)), promise;\n}, unmountElement = (el, shouldUseNewRootApi) => {\n let root = nodes.get(el);\n root && (root.unmount(), nodes.delete(el));\n}, getReactRoot = async (el, rootOptions) => {\n let root = nodes.get(el);\n return root || (root = ReactDOM.createRoot(el, rootOptions), nodes.set(el, root)), root;\n};\nexport {\n renderElement,\n unmountElement\n};\n"],"x_google_ignoreList":[0],"mappings":";;;;mCAGI,oBAAwB,IAAI,IAAI;AACpC,SAAS,IAA2B;CAClC,OAAO,WAAW;AACpB;AACA,IAAI,KAAgB,EAClB,aACA,kBACI;CACJ,IAAI,IAAO,EAAM,OAAO;CACxB,OAAO,EAAM,sBAAsB;EACjC,EAAK,YAAY,MAAa,EAAK,UAAU,GAAU,EAAS;CAClE,GAAG,CAAC,CAAQ,CAAC,GAAG;AAClB;AACA,OAAO,QAAQ,gBAAgB,QAAQ,QAAQ,sBAAsB;CACnE,IAAI,IAAU,MAAM,IAAS;CAC7B,OAAO;EAAE,SAAS,IAAI,SAAS,GAAK,MAAQ;GAC1C,IAAU,GAAK,IAAS;EAC1B,CAAC;EAAG;EAAS;CAAO;AACtB;AACA,IAAI,IAAgB,OAAO,GAAM,GAAI,MAAgB;CACnD,IAAI,IAAO,MAAM,EAAa,GAAI,CAAW;CAC7C,IAAI,EAAyB,GAAG;EAC9B,EAAK,OAAO,CAAI;EAChB;CACF;CACA,IAAI,EAAE,YAAS,eAAY,QAAQ,cAAc;CACjD,OAAO,EAAK,OAAO,EAAM,cAAc,GAAc,EAAE,UAAU,EAAQ,GAAG,CAAI,CAAC,GAAG;AACtF,GAAG,KAAkB,GAAI,MAAwB;CAC/C,IAAI,IAAO,EAAM,IAAI,CAAE;CACvB,MAAS,EAAK,QAAQ,GAAG,EAAM,OAAO,CAAE;AAC1C,GAAG,IAAe,OAAO,GAAI,MAAgB;CAC3C,IAAI,IAAO,EAAM,IAAI,CAAE;CACvB,OAAO,MAAS,IAAA,EAAgB,WAAW,GAAI,CAAW,GAAG,EAAM,IAAI,GAAI,CAAI,IAAI;AACrF"}
|