@uva-glass/component-library 3.55.1 → 3.55.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Accordion-BpnBHYIx.js +69 -0
- package/dist/Accordion-BpnBHYIx.js.map +1 -0
- package/dist/AccordionCard-BXy-plB7.js +43 -0
- package/dist/AccordionCard-BXy-plB7.js.map +1 -0
- package/dist/ActionList-O9w1hqNg.js +95 -0
- package/dist/ActionList-O9w1hqNg.js.map +1 -0
- package/dist/AddCatalogueLinkForm-Cy6fPNvN.js +117 -0
- package/dist/AddCatalogueLinkForm-Cy6fPNvN.js.map +1 -0
- package/dist/AppStatusBar-Bca0KFDR.js +20 -0
- package/dist/AppStatusBar-Bca0KFDR.js.map +1 -0
- package/dist/Attention-Bq5UU9I8.js +13 -0
- package/dist/Attention-Bq5UU9I8.js.map +1 -0
- package/dist/Backdrop-D8AHeuBn.js +10 -0
- package/dist/Backdrop-D8AHeuBn.js.map +1 -0
- package/dist/Button.module-DJlNwQUj.js +16 -0
- package/dist/Button.module-DJlNwQUj.js.map +1 -0
- package/dist/ButtonGroup-DR80lTLz.js +21 -0
- package/dist/ButtonGroup-DR80lTLz.js.map +1 -0
- package/dist/Card-DMFyuTmy.js +32 -0
- package/dist/Card-DMFyuTmy.js.map +1 -0
- package/dist/Checkbox-D6-b_4dC.js +12 -0
- package/dist/Checkbox-D6-b_4dC.js.map +1 -0
- package/dist/CheckboxButtonBar-CalU0IYK.js +79 -0
- package/dist/CheckboxButtonBar-CalU0IYK.js.map +1 -0
- package/dist/Chip-DJHvFToV.js +22 -0
- package/dist/Chip-DJHvFToV.js.map +1 -0
- package/dist/ClipboardButton-geHjMl2J.js +43 -0
- package/dist/ClipboardButton-geHjMl2J.js.map +1 -0
- package/dist/Column-BwKEOOuL.js +84 -0
- package/dist/Column-BwKEOOuL.js.map +1 -0
- package/dist/Container-BLjtYDqq.js +31 -0
- package/dist/Container-BLjtYDqq.js.map +1 -0
- package/dist/ControlsButton-zemVxTlg.js +64 -0
- package/dist/ControlsButton-zemVxTlg.js.map +1 -0
- package/dist/CopyableText-DkyhZ6wk.js +57 -0
- package/dist/CopyableText-DkyhZ6wk.js.map +1 -0
- package/dist/Drawer-Ggofac6y.js +77 -0
- package/dist/Drawer-Ggofac6y.js.map +1 -0
- package/dist/EmptyStateDataDisplay-D0QiI8nE.js +46 -0
- package/dist/EmptyStateDataDisplay-D0QiI8nE.js.map +1 -0
- package/dist/ExpandableInfoPanel-CnBVVNlJ.js +58 -0
- package/dist/ExpandableInfoPanel-CnBVVNlJ.js.map +1 -0
- package/dist/FeedbackBar-ByKp32HE.js +43 -0
- package/dist/FeedbackBar-ByKp32HE.js.map +1 -0
- package/dist/FeedbackBox-Bu7uB9DP.js +29 -0
- package/dist/FeedbackBox-Bu7uB9DP.js.map +1 -0
- package/dist/FieldHint-D0HtbTnt.js +16 -0
- package/dist/FieldHint-D0HtbTnt.js.map +1 -0
- package/dist/Fieldset-CoNu_Owa.js +23 -0
- package/dist/Fieldset-CoNu_Owa.js.map +1 -0
- package/dist/Flyout-DEpzfZOC.js +18 -0
- package/dist/Flyout-DEpzfZOC.js.map +1 -0
- package/dist/FormField-BZSoQdp9.js +21 -0
- package/dist/FormField-BZSoQdp9.js.map +1 -0
- package/dist/HorizontalList-C22DaDz-.js +20 -0
- package/dist/HorizontalList-C22DaDz-.js.map +1 -0
- package/dist/IconButton-CWCMH9uf.js +24 -0
- package/dist/IconButton-CWCMH9uf.js.map +1 -0
- package/dist/InfoBanner-DyznQLGr.js +13 -0
- package/dist/InfoBanner-DyznQLGr.js.map +1 -0
- package/dist/InfoMessage-I-VlwxVc.js +19 -0
- package/dist/InfoMessage-I-VlwxVc.js.map +1 -0
- package/dist/Input-Bn-arMaC.js +25 -0
- package/dist/Input-Bn-arMaC.js.map +1 -0
- package/dist/InputField-BWAy19w9.js +51 -0
- package/dist/InputField-BWAy19w9.js.map +1 -0
- package/dist/Label-o0BcWTUS.js +21 -0
- package/dist/Label-o0BcWTUS.js.map +1 -0
- package/dist/Lexical.prod-DCGjHGxG.js +5235 -0
- package/dist/Lexical.prod-DCGjHGxG.js.map +1 -0
- package/dist/LexicalClipboard.prod-CGG14aoP.js +248 -0
- package/dist/LexicalClipboard.prod-CGG14aoP.js.map +1 -0
- package/dist/LexicalComposerContext.prod-Ca-YN_fj.js +22 -0
- package/dist/LexicalComposerContext.prod-Ca-YN_fj.js.map +1 -0
- package/dist/LexicalExtension.prod-DWt1IjPF.js +854 -0
- package/dist/LexicalExtension.prod-DWt1IjPF.js.map +1 -0
- package/dist/LexicalLink.prod-Dy1gE75H.js +665 -0
- package/dist/LexicalLink.prod-Dy1gE75H.js.map +1 -0
- package/dist/LexicalList.prod-D9R0L7cu.js +760 -0
- package/dist/LexicalList.prod-D9R0L7cu.js.map +1 -0
- package/dist/LexicalTable.prod-C2FP47Lm.js +1991 -0
- package/dist/LexicalTable.prod-C2FP47Lm.js.map +1 -0
- package/dist/LexicalUtils.prod-BzrjMu6t.js +242 -0
- package/dist/LexicalUtils.prod-BzrjMu6t.js.map +1 -0
- package/dist/LinkContextMenu-DZlKfbg1.js +101 -0
- package/dist/LinkContextMenu-DZlKfbg1.js.map +1 -0
- package/dist/MenuLink-Cm1yZO_5.js +21 -0
- package/dist/MenuLink-Cm1yZO_5.js.map +1 -0
- package/dist/MetaDataBar-C4QO9oBV.js +23 -0
- package/dist/MetaDataBar-C4QO9oBV.js.map +1 -0
- package/dist/MetaDataList-CAR1HTYs.js +24 -0
- package/dist/MetaDataList-CAR1HTYs.js.map +1 -0
- package/dist/ModalDialog-HUkDdAJ-.js +114 -0
- package/dist/ModalDialog-HUkDdAJ-.js.map +1 -0
- package/dist/MultiSelectBox-Cuh_o-A1.js +189 -0
- package/dist/MultiSelectBox-Cuh_o-A1.js.map +1 -0
- package/dist/MultiSelectItem-BF5xRjz5.js +36 -0
- package/dist/MultiSelectItem-BF5xRjz5.js.map +1 -0
- package/dist/Notification-CIhsHuF0.js +68 -0
- package/dist/Notification-CIhsHuF0.js.map +1 -0
- package/dist/OverlayCloseButton-rttFbAM_.js +22 -0
- package/dist/OverlayCloseButton-rttFbAM_.js.map +1 -0
- package/dist/OverlayStepBar-CjaoYdsh.js +45 -0
- package/dist/OverlayStepBar-CjaoYdsh.js.map +1 -0
- package/dist/PageOverlay-D_wG2oie.js +108 -0
- package/dist/PageOverlay-D_wG2oie.js.map +1 -0
- package/dist/PasteHandlerPlugin-DUdocSHB.js +235 -0
- package/dist/PasteHandlerPlugin-DUdocSHB.js.map +1 -0
- package/dist/Periods-BYETtB6R.js +40 -0
- package/dist/Periods-BYETtB6R.js.map +1 -0
- package/dist/ProgrammeCard-76gG7ksx.js +27 -0
- package/dist/ProgrammeCard-76gG7ksx.js.map +1 -0
- package/dist/RadioButton-Bto2p5B9.js +35 -0
- package/dist/RadioButton-Bto2p5B9.js.map +1 -0
- package/dist/RadioGroup-JeTjVp5B.js +50 -0
- package/dist/RadioGroup-JeTjVp5B.js.map +1 -0
- package/dist/Repeater-BhkTEUai.js +22 -0
- package/dist/Repeater-BhkTEUai.js.map +1 -0
- package/dist/RteEditor.module-Jk80F1FA.js +42 -0
- package/dist/RteEditor.module-Jk80F1FA.js.map +1 -0
- package/dist/SearchField.module-BgxjHaPG.js +19 -0
- package/dist/SearchField.module-BgxjHaPG.js.map +1 -0
- package/dist/SectionNotification-CQqwPTqP.js +14 -0
- package/dist/SectionNotification-CQqwPTqP.js.map +1 -0
- package/dist/SelectListbox.module-HaPs1CLD.js +30 -0
- package/dist/SelectListbox.module-HaPs1CLD.js.map +1 -0
- package/dist/Slider-BlLyrET9.js +102 -0
- package/dist/Slider-BlLyrET9.js.map +1 -0
- package/dist/Sortable.module-BTUOSbOU.js +27 -0
- package/dist/Sortable.module-BTUOSbOU.js.map +1 -0
- package/dist/SortableProvider-Dc7hwkb5.js +147 -0
- package/dist/SortableProvider-Dc7hwkb5.js.map +1 -0
- package/dist/Spinner-D8tWqg9j.js +31 -0
- package/dist/Spinner-D8tWqg9j.js.map +1 -0
- package/dist/StatusBage-DQDOF5-U.js +13 -0
- package/dist/StatusBage-DQDOF5-U.js.map +1 -0
- package/dist/StatusPill-DM7n3I4W.js +30 -0
- package/dist/StatusPill-DM7n3I4W.js.map +1 -0
- package/dist/TableCellContextMenu-D0IMQr3E.js +119 -0
- package/dist/TableCellContextMenu-D0IMQr3E.js.map +1 -0
- package/dist/TableCellResizerPlugin-BGolbi44.js +208 -0
- package/dist/TableCellResizerPlugin-BGolbi44.js.map +1 -0
- package/dist/TextArea-DqKIpOfT.js +68 -0
- package/dist/TextArea-DqKIpOfT.js.map +1 -0
- package/dist/ToggleSwitch-C7z7JVtx.js +51 -0
- package/dist/ToggleSwitch-C7z7JVtx.js.map +1 -0
- package/dist/Tooltip-BzB3jznk.js +80 -0
- package/dist/Tooltip-BzB3jznk.js.map +1 -0
- package/dist/VarIndicator-C-GueOZD.js +50 -0
- package/dist/VarIndicator-C-GueOZD.js.map +1 -0
- package/dist/WeekSelector.module-BLPrVYgn.js +18 -0
- package/dist/WeekSelector.module-BLPrVYgn.js.map +1 -0
- package/dist/__mocks__/svgrMock.js +12 -9
- package/dist/__mocks__/svgrMock.js.map +1 -1
- package/dist/assets/Accordion.css +1 -1
- package/dist/assets/AccordionCard.css +1 -1
- package/dist/assets/ActionList.css +1 -1
- package/dist/assets/AddCatalogueLinkForm.css +1 -1
- package/dist/assets/AppStatusBar.css +1 -1
- package/dist/assets/Attention.css +1 -1
- package/dist/assets/Backdrop.css +1 -1
- package/dist/assets/Backdrop2.css +1 -1
- package/dist/assets/Button.css +1 -1
- package/dist/assets/ButtonGroup.css +1 -1
- package/dist/assets/Card.css +1 -1
- package/dist/assets/Checkbox.css +1 -1
- package/dist/assets/CheckboxButtonBar.css +1 -1
- package/dist/assets/Chip.css +1 -1
- package/dist/assets/ClipboardButton.css +1 -1
- package/dist/assets/Column.css +1 -1
- package/dist/assets/Container.css +1 -1
- package/dist/assets/ControlsButton.css +1 -1
- package/dist/assets/CopyableText.css +1 -1
- package/dist/assets/Drawer.css +1 -1
- package/dist/assets/EmptyStateDataDisplay.css +1 -1
- package/dist/assets/ExpandableInfoPanel.css +1 -1
- package/dist/assets/FeedbackBar.css +1 -1
- package/dist/assets/FeedbackBox.css +1 -1
- package/dist/assets/Fieldset.css +1 -1
- package/dist/assets/Flyout.css +1 -1
- package/dist/assets/FormField.css +1 -1
- package/dist/assets/GridRow.css +1 -1
- package/dist/assets/HorizontalList.css +1 -1
- package/dist/assets/Icon.css +1 -1
- package/dist/assets/IconButton.css +1 -1
- package/dist/assets/InfoBanner.css +1 -1
- package/dist/assets/InfoMessage.css +1 -1
- package/dist/assets/Input.css +1 -1
- package/dist/assets/InputField.css +1 -1
- package/dist/assets/Label.css +1 -1
- package/dist/assets/LinkContextMenu.css +1 -1
- package/dist/assets/MenuLink.css +1 -1
- package/dist/assets/MenuLink2.css +1 -1
- package/dist/assets/MetaDataBar.css +1 -1
- package/dist/assets/MetaDataList.css +1 -1
- package/dist/assets/ModalDialog.css +1 -1
- package/dist/assets/MultiSelectBox.css +1 -1
- package/dist/assets/MultiSelectItem.css +1 -1
- package/dist/assets/Notification.css +1 -1
- package/dist/assets/OverlayCloseButton.css +1 -1
- package/dist/assets/OverlayStepBar.css +1 -1
- package/dist/assets/PageOverlay.css +1 -1
- package/dist/assets/Periods.css +1 -1
- package/dist/assets/ProgrammeCard.css +1 -1
- package/dist/assets/RadioButton.css +1 -1
- package/dist/assets/RadioButton2.css +1 -1
- package/dist/assets/RadioGroup.css +1 -1
- package/dist/assets/RteEditor.css +1 -1
- package/dist/assets/SearchField.css +1 -1
- package/dist/assets/SectionNotification.css +1 -1
- package/dist/assets/SelectListbox.css +1 -1
- package/dist/assets/Slider.css +1 -1
- package/dist/assets/Sortable.css +1 -1
- package/dist/assets/Spinner.css +1 -1
- package/dist/assets/StatusBage.css +1 -1
- package/dist/assets/StatusPill.css +1 -1
- package/dist/assets/TableCellContextMenu.css +1 -1
- package/dist/assets/TextArea.css +1 -1
- package/dist/assets/ToggleSwitch.css +1 -1
- package/dist/assets/Tooltip.css +1 -1
- package/dist/assets/VarIndicator.css +1 -1
- package/dist/assets/WeekSelector.css +1 -1
- package/dist/assets/components.css +1 -0
- package/dist/chunk-DeC0fbbY.js +23 -0
- package/dist/chunk-OPOZOKLO-CXKdjnjn.js +8448 -0
- package/dist/chunk-OPOZOKLO-CXKdjnjn.js.map +1 -0
- package/dist/client-C0JVBgoR.js +18953 -0
- package/dist/client-C0JVBgoR.js.map +1 -0
- package/dist/clsx-BD2qMUU1.js +18 -0
- package/dist/clsx-BD2qMUU1.js.map +1 -0
- package/dist/components/Accordion/Accordion.js +2 -94
- package/dist/components/Accordion/Accordion.stories.js +30 -32
- package/dist/components/Accordion/Accordion.stories.js.map +1 -1
- package/dist/components/Accordion/Accordion.test.js +49 -27
- package/dist/components/Accordion/Accordion.test.js.map +1 -1
- package/dist/components/Accordion/index.js +2 -5
- package/dist/components/AccordionCard/AccordionCard.js +2 -58
- package/dist/components/AccordionCard/AccordionCard.stories.js +31 -32
- package/dist/components/AccordionCard/AccordionCard.stories.js.map +1 -1
- package/dist/components/AccordionCard/AccordionCard.test.js +54 -31
- package/dist/components/AccordionCard/AccordionCard.test.js.map +1 -1
- package/dist/components/AccordionCard/index.js +2 -5
- package/dist/components/ActionList/ActionList.js +2 -83
- package/dist/components/ActionList/ActionList.stories.js +49 -38
- package/dist/components/ActionList/ActionList.stories.js.map +1 -1
- package/dist/components/ActionList/ActionList.test.js +97 -57
- package/dist/components/ActionList/ActionList.test.js.map +1 -1
- package/dist/components/ActionList/index.js +2 -5
- package/dist/components/AppStatusBar/AppStatusBar.js +2 -13
- package/dist/components/AppStatusBar/AppStatusBar.stories.js +25 -26
- package/dist/components/AppStatusBar/AppStatusBar.stories.js.map +1 -1
- package/dist/components/AppStatusBar/AppStatusBar.test.js +17 -8
- package/dist/components/AppStatusBar/AppStatusBar.test.js.map +1 -1
- package/dist/components/AppStatusBar/index.js +2 -5
- package/dist/components/Attention/Attention.js +2 -12
- package/dist/components/Attention/Attention.stories.js +18 -16
- package/dist/components/Attention/Attention.stories.js.map +1 -1
- package/dist/components/Attention/Attention.test.js +14 -8
- package/dist/components/Attention/Attention.test.js.map +1 -1
- package/dist/components/Attention/index.js +2 -5
- package/dist/components/Backdrop/Backdrop.js +2 -8
- package/dist/components/Backdrop/Backdrop.stories.js +32 -28
- package/dist/components/Backdrop/Backdrop.stories.js.map +1 -1
- package/dist/components/Backdrop/Backdrop.test.js +13 -7
- package/dist/components/Backdrop/Backdrop.test.js.map +1 -1
- package/dist/components/Backdrop/index.js +2 -5
- package/dist/components/ButtonGroup/ButtonGroup.js +2 -26
- package/dist/components/ButtonGroup/ButtonGroup.stories.js +29 -39
- package/dist/components/ButtonGroup/ButtonGroup.stories.js.map +1 -1
- package/dist/components/ButtonGroup/index.js +2 -5
- package/dist/components/Buttons/Button.js +16 -22
- package/dist/components/Buttons/Button.js.map +1 -1
- package/dist/components/Buttons/Button.stories.js +43 -56
- package/dist/components/Buttons/Button.stories.js.map +1 -1
- package/dist/components/Buttons/Button.test.js +60 -33
- package/dist/components/Buttons/Button.test.js.map +1 -1
- package/dist/components/Buttons/LinkButton.js +14 -11
- package/dist/components/Buttons/LinkButton.js.map +1 -1
- package/dist/components/Buttons/LinkButton.stories.js +41 -57
- package/dist/components/Buttons/LinkButton.stories.js.map +1 -1
- package/dist/components/Buttons/LinkButton.test.js +71 -65
- package/dist/components/Buttons/LinkButton.test.js.map +1 -1
- package/dist/components/Buttons/MenuButton.js +18 -15
- package/dist/components/Buttons/MenuButton.js.map +1 -1
- package/dist/components/Buttons/MenuButton.stories.js +45 -61
- package/dist/components/Buttons/MenuButton.stories.js.map +1 -1
- package/dist/components/Buttons/MenuButton.test.js +70 -64
- package/dist/components/Buttons/MenuButton.test.js.map +1 -1
- package/dist/components/Buttons/index.js +4 -9
- package/dist/components/Card/Card.js +2 -39
- package/dist/components/Card/Card.stories.js +42 -49
- package/dist/components/Card/Card.stories.js.map +1 -1
- package/dist/components/Card/Card.test.js +14 -8
- package/dist/components/Card/Card.test.js.map +1 -1
- package/dist/components/Card/index.js +2 -5
- package/dist/components/Checkbox/Checkbox.js +2 -9
- package/dist/components/Checkbox/Checkbox.stories.js +44 -41
- package/dist/components/Checkbox/Checkbox.stories.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.test.js +21 -15
- package/dist/components/Checkbox/Checkbox.test.js.map +1 -1
- package/dist/components/Checkbox/index.js +2 -5
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.js +2 -114
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js +277 -310
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js.map +1 -1
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js +71 -85
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js.map +1 -1
- package/dist/components/CheckboxButtonBar/index.js +2 -5
- package/dist/components/CheckboxTree/CheckboxTree.js +3 -172
- package/dist/components/CheckboxTree/CheckboxTree.stories.js +89 -139
- package/dist/components/CheckboxTree/CheckboxTree.stories.js.map +1 -1
- package/dist/components/CheckboxTree/index.js +3 -5
- package/dist/components/Chip/Chip.js +2 -14
- package/dist/components/Chip/Chip.stories.js +24 -28
- package/dist/components/Chip/Chip.stories.js.map +1 -1
- package/dist/components/Chip/index.js +2 -5
- package/dist/components/ControlsButton/ControlsButton.js +2 -82
- package/dist/components/ControlsButton/ControlsButton.stories.js +98 -122
- package/dist/components/ControlsButton/ControlsButton.stories.js.map +1 -1
- package/dist/components/ControlsButton/index.js +2 -5
- package/dist/components/CopyableText/CopyableText.js +2 -64
- package/dist/components/CopyableText/CopyableText.stories.js +36 -35
- package/dist/components/CopyableText/CopyableText.stories.js.map +1 -1
- package/dist/components/CopyableText/index.js +2 -5
- package/dist/components/Drawer/Drawer.js +2 -62
- package/dist/components/Drawer/Drawer.stories.js +49 -68
- package/dist/components/Drawer/Drawer.stories.js.map +1 -1
- package/dist/components/Drawer/index.js +2 -5
- package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.js +2 -50
- package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.stories.js +17 -18
- package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.stories.js.map +1 -1
- package/dist/components/EmptyStateDataDisplay/index.js +2 -5
- package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.js +2 -57
- package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.stories.js +57 -50
- package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.stories.js.map +1 -1
- package/dist/components/ExpandableInfoPanel/index.js +2 -5
- package/dist/components/FeedbackBar/FeedbackBar.js +2 -30
- package/dist/components/FeedbackBar/FeedbackBar.stories.js +30 -33
- package/dist/components/FeedbackBar/FeedbackBar.stories.js.map +1 -1
- package/dist/components/FeedbackBar/FeedbackBar.test.js +18 -12
- package/dist/components/FeedbackBar/FeedbackBar.test.js.map +1 -1
- package/dist/components/FeedbackBar/index.js +2 -5
- package/dist/components/FeedbackBox/FeedbackBox.js +2 -31
- package/dist/components/FeedbackBox/FeedbackBox.stories.js +30 -34
- package/dist/components/FeedbackBox/FeedbackBox.stories.js.map +1 -1
- package/dist/components/FeedbackBox/index.js +2 -5
- package/dist/components/FieldHint/FieldHint.js +2 -15
- package/dist/components/FieldHint/FieldHint.stories.js +27 -35
- package/dist/components/FieldHint/FieldHint.stories.js.map +1 -1
- package/dist/components/FieldHint/index.js +2 -5
- package/dist/components/Fieldset/Fieldset.js +2 -32
- package/dist/components/Fieldset/Fieldset.stories.js +40 -46
- package/dist/components/Fieldset/Fieldset.stories.js.map +1 -1
- package/dist/components/Fieldset/index.js +2 -5
- package/dist/components/FormField/FormField.js +2 -23
- package/dist/components/FormField/FormField.stories.js +40 -45
- package/dist/components/FormField/FormField.stories.js.map +1 -1
- package/dist/components/FormField/index.js +2 -5
- package/dist/components/FormInput/FormInput.js +3 -79
- package/dist/components/FormInput/FormInput.stories.js +60 -40
- package/dist/components/FormInput/FormInput.stories.js.map +1 -1
- package/dist/components/FormInput/index.js +3 -5
- package/dist/components/GridRow/Column/Column.js +2 -7
- package/dist/components/GridRow/Column/index.js +2 -5
- package/dist/components/GridRow/GridRow.js +27 -38
- package/dist/components/GridRow/GridRow.js.map +1 -1
- package/dist/components/GridRow/GridRow.stories.js +198 -95
- package/dist/components/GridRow/GridRow.stories.js.map +1 -1
- package/dist/components/GridRow/index.js +2 -5
- package/dist/components/HorizontalList/HorizontalList.js +2 -13
- package/dist/components/HorizontalList/HorizontalList.stories.js +44 -46
- package/dist/components/HorizontalList/HorizontalList.stories.js.map +1 -1
- package/dist/components/HorizontalList/index.js +2 -5
- package/dist/components/Icon/Icon.js +16 -9
- package/dist/components/Icon/Icon.js.map +1 -1
- package/dist/components/Icon/Icon.stories.js +47 -50
- package/dist/components/Icon/Icon.stories.js.map +1 -1
- package/dist/components/Icon/icons/index.js +2 -672
- package/dist/components/Icon/index.js +2 -5
- package/dist/components/IconButton/IconButton.js +2 -28
- package/dist/components/IconButton/IconButton.stories.js +55 -58
- package/dist/components/IconButton/IconButton.stories.js.map +1 -1
- package/dist/components/IconButton/index.js +2 -5
- package/dist/components/InfoBanner/InfoBanner.js +2 -12
- package/dist/components/InfoBanner/InfoBanner.stories.js +18 -22
- package/dist/components/InfoBanner/InfoBanner.stories.js.map +1 -1
- package/dist/components/InfoBanner/index.js +2 -5
- package/dist/components/InfoMessage/InfoMessage.js +2 -23
- package/dist/components/InfoMessage/InfoMessage.stories.js +21 -26
- package/dist/components/InfoMessage/InfoMessage.stories.js.map +1 -1
- package/dist/components/InfoMessage/index.js +2 -5
- package/dist/components/Input/Input.js +2 -28
- package/dist/components/Input/Input.stories.js +31 -50
- package/dist/components/Input/Input.stories.js.map +1 -1
- package/dist/components/Input/index.js +2 -5
- package/dist/components/InputField/InputField.js +2 -70
- package/dist/components/InputField/InputField.stories.js +81 -109
- package/dist/components/InputField/InputField.stories.js.map +1 -1
- package/dist/components/InputField/index.js +2 -5
- package/dist/components/Label/Label.js +2 -24
- package/dist/components/Label/Label.stories.js +26 -37
- package/dist/components/Label/Label.stories.js.map +1 -1
- package/dist/components/Label/Label.test.js +35 -20
- package/dist/components/Label/Label.test.js.map +1 -1
- package/dist/components/Label/index.js +2 -5
- package/dist/components/MenuLink/MenuLink.js +2 -25
- package/dist/components/MenuLink/MenuLink.stories.js +64 -27
- package/dist/components/MenuLink/MenuLink.stories.js.map +1 -1
- package/dist/components/MenuLink/index.js +2 -5
- package/dist/components/MetaDataBar/MetaDataBar.js +2 -13
- package/dist/components/MetaDataBar/MetaDataBar.stories.js +20 -20
- package/dist/components/MetaDataBar/MetaDataBar.stories.js.map +1 -1
- package/dist/components/MetaDataBar/MetaDataBar.test.js +26 -16
- package/dist/components/MetaDataBar/MetaDataBar.test.js.map +1 -1
- package/dist/components/MetaDataBar/index.js +2 -5
- package/dist/components/MetaDataList/MetaDataList.js +2 -14
- package/dist/components/MetaDataList/MetaDataList.stories.js +21 -23
- package/dist/components/MetaDataList/MetaDataList.stories.js.map +1 -1
- package/dist/components/MetaDataList/index.js +2 -5
- package/dist/components/ModalDialog/ModalDialog.js +2 -130
- package/dist/components/ModalDialog/ModalDialog.stories.js +80 -93
- package/dist/components/ModalDialog/ModalDialog.stories.js.map +1 -1
- package/dist/components/ModalDialog/index.js +2 -5
- package/dist/components/MultiSelect/MultiSelect.js +3 -8
- package/dist/components/MultiSelect/MultiSelect.stories.js +83 -93
- package/dist/components/MultiSelect/MultiSelect.stories.js.map +1 -1
- package/dist/components/MultiSelect/components/MultiSelectHeader.js +3 -34
- package/dist/components/MultiSelect/components/MultiSelectItem.js +2 -9
- package/dist/components/MultiSelect/index.js +3 -5
- package/dist/components/MultiSelectBox/MultiSelectBox.js +2 -207
- package/dist/components/MultiSelectBox/MultiSelectBox.stories.js +101 -70
- package/dist/components/MultiSelectBox/MultiSelectBox.stories.js.map +1 -1
- package/dist/components/MultiSelectBox/MultiSelectBox.test.js +54 -29
- package/dist/components/MultiSelectBox/MultiSelectBox.test.js.map +1 -1
- package/dist/components/MultiSelectBox/index.js +2 -5
- package/dist/components/Notification/Notification.js +2 -58
- package/dist/components/Notification/Notification.stories.js +43 -40
- package/dist/components/Notification/Notification.stories.js.map +1 -1
- package/dist/components/Notification/Notification.test.js +24 -10
- package/dist/components/Notification/Notification.test.js.map +1 -1
- package/dist/components/Notification/index.js +2 -5
- package/dist/components/OverlayCloseButton/OverlayCloseButton.js +2 -25
- package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js +30 -29
- package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js.map +1 -1
- package/dist/components/OverlayCloseButton/index.js +2 -5
- package/dist/components/OverlayStepBar/OverlayStepBar.js +2 -57
- package/dist/components/OverlayStepBar/OverlayStepBar.stories.js +44 -49
- package/dist/components/OverlayStepBar/OverlayStepBar.stories.js.map +1 -1
- package/dist/components/OverlayStepBar/index.js +2 -5
- package/dist/components/PageOverlay/PageOverlay.js +2 -114
- package/dist/components/PageOverlay/PageOverlay.stories.js +155 -163
- package/dist/components/PageOverlay/PageOverlay.stories.js.map +1 -1
- package/dist/components/PageOverlay/index.js +2 -5
- package/dist/components/PeriodSelector/PeriodSelector.js +3 -96
- package/dist/components/PeriodSelector/PeriodSelector.stories.js +27 -24
- package/dist/components/PeriodSelector/PeriodSelector.stories.js.map +1 -1
- package/dist/components/PeriodSelector/index.js +3 -5
- package/dist/components/Periods/Periods.js +2 -46
- package/dist/components/Periods/Periods.stories.js +53 -60
- package/dist/components/Periods/Periods.stories.js.map +1 -1
- package/dist/components/Periods/index.js +2 -5
- package/dist/components/ProgrammeCard/ProgrammeCard.js +2 -29
- package/dist/components/ProgrammeCard/ProgrammeCard.stories.js +71 -80
- package/dist/components/ProgrammeCard/ProgrammeCard.stories.js.map +1 -1
- package/dist/components/ProgrammeCard/index.js +2 -5
- package/dist/components/RadioButton/RadioButton.js +2 -26
- package/dist/components/RadioButton/RadioButton.stories.js +30 -40
- package/dist/components/RadioButton/RadioButton.stories.js.map +1 -1
- package/dist/components/RadioButton/index.js +2 -5
- package/dist/components/RadioGroup/RadioGroup.js +2 -52
- package/dist/components/RadioGroup/RadioGroup.stories.js +39 -46
- package/dist/components/RadioGroup/RadioGroup.stories.js.map +1 -1
- package/dist/components/RadioGroup/Radiogroup.test.js +46 -22
- package/dist/components/RadioGroup/Radiogroup.test.js.map +1 -1
- package/dist/components/RadioGroup/index.js +2 -5
- package/dist/components/RadioTabSelector/RadioTabSelector.js +3 -94
- package/dist/components/RadioTabSelector/RadioTabSelector.stories.js +76 -74
- package/dist/components/RadioTabSelector/RadioTabSelector.stories.js.map +1 -1
- package/dist/components/RadioTabSelector/index.js +3 -5
- package/dist/components/Repeater/Repeater.js +2 -19
- package/dist/components/Repeater/Repeater.stories.js +32 -42
- package/dist/components/Repeater/Repeater.stories.js.map +1 -1
- package/dist/components/Repeater/index.js +2 -5
- package/dist/components/RteEditor/EditorHeader/EditorHeader.js +3 -43
- package/dist/components/RteEditor/EditorHeader/index.js +3 -5
- package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js +45 -47
- package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/BlockFormatPlugin/index.js +2 -5
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/AddCatalogueLinkForm.js +2 -108
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/index.js +2 -5
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.js +150 -194
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/index.js +2 -5
- package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js +3 -81
- package/dist/components/RteEditor/Plugins/HistoryPlugin/index.js +3 -5
- package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkForm/AddLinkFrom.js +3 -38
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js +2 -95
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js +3 -217
- package/dist/components/RteEditor/Plugins/LinkPlugin/helpers.js +2 -12
- package/dist/components/RteEditor/Plugins/LinkPlugin/index.js +3 -5
- package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js +75 -83
- package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/ListPlugin/index.js +2 -5
- package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/PasteHandlerPlugin.js +2 -31
- package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/index.js +2 -5
- package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/TableCellResizerPlugin.js +2 -14
- package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/index.js +2 -5
- package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js +3 -36
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.js +2 -133
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/index.js +2 -5
- package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js +3 -42
- package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js +69 -92
- package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js.map +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/index.js +4 -7
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js +3 -90
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/index.js +3 -5
- package/dist/components/RteEditor/Plugins/index.js +7 -21
- package/dist/components/RteEditor/Providers/LanguageProvider.js +22 -17
- package/dist/components/RteEditor/Providers/LanguageProvider.js.map +1 -1
- package/dist/components/RteEditor/RteEditor.js +3 -871
- package/dist/components/RteEditor/RteEditor.stories.js +160 -207
- package/dist/components/RteEditor/RteEditor.stories.js.map +1 -1
- package/dist/components/RteEditor/UvaTheme/UvaTheme.js +41 -40
- package/dist/components/RteEditor/UvaTheme/UvaTheme.js.map +1 -1
- package/dist/components/RteEditor/UvaTheme/index.js +2 -5
- package/dist/components/RteEditor/helpers.js +33 -40
- package/dist/components/RteEditor/helpers.js.map +1 -1
- package/dist/components/RteEditor/hooks/components/Flyout.js +2 -11
- package/dist/components/RteEditor/hooks/useFlyout.js +35 -23
- package/dist/components/RteEditor/hooks/useFlyout.js.map +1 -1
- package/dist/components/RteEditor/hooks/useTranslation.js +9 -8
- package/dist/components/RteEditor/hooks/useTranslation.js.map +1 -1
- package/dist/components/RteEditor/index.js +3 -6
- package/dist/components/RteEditor/mockCatalogueSearchData.js +484 -484
- package/dist/components/RteEditor/mockCatalogueSearchData.js.map +1 -1
- package/dist/components/RteEditor/mockRteContent.js +6 -100
- package/dist/components/RteEditor/mockRteContent.js.map +1 -1
- package/dist/components/RteEditor/nodes/CourseCatalogueNode/CourseCatalogueNode.js +98 -122
- package/dist/components/RteEditor/nodes/CourseCatalogueNode/CourseCatalogueNode.js.map +1 -1
- package/dist/components/RteEditor/nodes/CourseCatalogueNode/index.js +2 -11
- package/dist/components/RteEditor/nodes/TableWrapperNode/TableWrapperNode.js +58 -72
- package/dist/components/RteEditor/nodes/TableWrapperNode/TableWrapperNode.js.map +1 -1
- package/dist/components/RteEditor/nodes/TableWrapperNode/index.js +2 -10
- package/dist/components/RteEditor/nodes/index.js +3 -18
- package/dist/components/RteEditor/translations.js +216 -215
- package/dist/components/RteEditor/translations.js.map +1 -1
- package/dist/components/SearchField/SearchField.js +104 -105
- package/dist/components/SearchField/SearchField.js.map +1 -1
- package/dist/components/SearchField/SearcheField.stories.js +89 -118
- package/dist/components/SearchField/SearcheField.stories.js.map +1 -1
- package/dist/components/SearchField/components/ResultOptionBox.js +19 -12
- package/dist/components/SearchField/components/ResultOptionBox.js.map +1 -1
- package/dist/components/SearchField/components/ResultsOption.js +50 -55
- package/dist/components/SearchField/components/ResultsOption.js.map +1 -1
- package/dist/components/SearchField/index.js +2 -5
- package/dist/components/SearchField/mockData.js +136 -135
- package/dist/components/SearchField/mockData.js.map +1 -1
- package/dist/components/SectionNotification/SectionNotification.js +2 -18
- package/dist/components/SectionNotification/SectionNotification.stories.js +21 -24
- package/dist/components/SectionNotification/SectionNotification.stories.js.map +1 -1
- package/dist/components/SectionNotification/index.js +2 -5
- package/dist/components/SelectListbox/SelectListBox.stories.js +3415 -248
- package/dist/components/SelectListbox/SelectListBox.stories.js.map +1 -1
- package/dist/components/SelectListbox/SelectListbox.js +45 -56
- package/dist/components/SelectListbox/SelectListbox.js.map +1 -1
- package/dist/components/SelectListbox/SelectProvider.js +42 -43
- package/dist/components/SelectListbox/SelectProvider.js.map +1 -1
- package/dist/components/SelectListbox/components/SelectButton.js +63 -77
- package/dist/components/SelectListbox/components/SelectButton.js.map +1 -1
- package/dist/components/SelectListbox/components/SelectContainer.js +22 -21
- package/dist/components/SelectListbox/components/SelectContainer.js.map +1 -1
- package/dist/components/SelectListbox/components/SelectOption.js +69 -66
- package/dist/components/SelectListbox/components/SelectOption.js.map +1 -1
- package/dist/components/SelectListbox/components/SelectOptionBox.js +28 -30
- package/dist/components/SelectListbox/components/SelectOptionBox.js.map +1 -1
- package/dist/components/SelectListbox/index.js +2 -5
- package/dist/components/Slider/Slider.js +2 -113
- package/dist/components/Slider/Slider.stories.js +59 -38
- package/dist/components/Slider/Slider.stories.js.map +1 -1
- package/dist/components/Slider/index.js +2 -5
- package/dist/components/Sortable/Sortable.js +25 -41
- package/dist/components/Sortable/Sortable.js.map +1 -1
- package/dist/components/Sortable/Sortable.stories.js +79 -59
- package/dist/components/Sortable/Sortable.stories.js.map +1 -1
- package/dist/components/Sortable/SortableProvider.js +2 -10
- package/dist/components/Sortable/actions.js +24 -32
- package/dist/components/Sortable/actions.js.map +1 -1
- package/dist/components/Sortable/components/SortableContainer.js +2 -9
- package/dist/components/Sortable/components/SortableHandle.js +13 -9
- package/dist/components/Sortable/components/SortableHandle.js.map +1 -1
- package/dist/components/Sortable/components/SortableItem.js +103 -113
- package/dist/components/Sortable/components/SortableItem.js.map +1 -1
- package/dist/components/Sortable/constants.js +6 -14
- package/dist/components/Sortable/constants.js.map +1 -1
- package/dist/components/Sortable/index.js +1 -4
- package/dist/components/Sortable/sortableReducer.js +76 -90
- package/dist/components/Sortable/sortableReducer.js.map +1 -1
- package/dist/components/Spinner/Spinner.js +2 -22
- package/dist/components/Spinner/Spinner.stories.js +21 -26
- package/dist/components/Spinner/Spinner.stories.js.map +1 -1
- package/dist/components/Spinner/index.js +2 -5
- package/dist/components/StatusBadge/StatusBadge.stories.js +18 -21
- package/dist/components/StatusBadge/StatusBadge.stories.js.map +1 -1
- package/dist/components/StatusBadge/StatusBadge.test.js +19 -10
- package/dist/components/StatusBadge/StatusBadge.test.js.map +1 -1
- package/dist/components/StatusBadge/StatusBage.js +2 -10
- package/dist/components/StatusBadge/index.js +2 -5
- package/dist/components/StatusPill/StatusPill.js +2 -35
- package/dist/components/StatusPill/StatusPill.stories.js +20 -20
- package/dist/components/StatusPill/StatusPill.stories.js.map +1 -1
- package/dist/components/StatusPill/index.js +2 -5
- package/dist/components/TextArea/TextArea.js +2 -65
- package/dist/components/TextArea/TextArea.stories.js +30 -31
- package/dist/components/TextArea/TextArea.stories.js.map +1 -1
- package/dist/components/TextArea/TextArea.test.js +38 -22
- package/dist/components/TextArea/TextArea.test.js.map +1 -1
- package/dist/components/TextArea/index.js +2 -5
- package/dist/components/ToggleSwitch/ToggleSwitch.js +2 -66
- package/dist/components/ToggleSwitch/ToggleSwitch.stories.js +20 -26
- package/dist/components/ToggleSwitch/ToggleSwitch.stories.js.map +1 -1
- package/dist/components/ToggleSwitch/index.js +2 -5
- package/dist/components/Tooltip/Tooltip.js +2 -75
- package/dist/components/Tooltip/Tooltip.stories.js +27 -32
- package/dist/components/Tooltip/Tooltip.stories.js.map +1 -1
- package/dist/components/Tooltip/index.js +2 -5
- package/dist/components/VarIndicator/VarIndicator.js +2 -62
- package/dist/components/VarIndicator/VarIndicator.stories.js +31 -30
- package/dist/components/VarIndicator/VarIndicator.stories.js.map +1 -1
- package/dist/components/VarIndicator/VarIndicator.test.js +72 -54
- package/dist/components/VarIndicator/VarIndicator.test.js.map +1 -1
- package/dist/components/VarIndicator/index.js +2 -5
- package/dist/components/WeekSelector/WeekSelector.js +89 -97
- package/dist/components/WeekSelector/WeekSelector.js.map +1 -1
- package/dist/components/WeekSelector/WeekSelector.stories.js +146 -191
- package/dist/components/WeekSelector/WeekSelector.stories.js.map +1 -1
- package/dist/components/WeekSelector/components/WeekSelectorButton.js +20 -22
- package/dist/components/WeekSelector/components/WeekSelectorButton.js.map +1 -1
- package/dist/components/WeekSelector/components/WeekSelectorOption.js +72 -85
- package/dist/components/WeekSelector/components/WeekSelectorOption.js.map +1 -1
- package/dist/components/WeekSelector/components/WeekSelectorOptionContainer.js +30 -17
- package/dist/components/WeekSelector/components/WeekSelectorOptionContainer.js.map +1 -1
- package/dist/components/WeekSelector/index.js +2 -5
- package/dist/components/WeekSelector/mockdata.js +470 -469
- package/dist/components/WeekSelector/mockdata.js.map +1 -1
- package/dist/components/hooks/useDebounce.js +17 -16
- package/dist/components/hooks/useDebounce.js.map +1 -1
- package/dist/components/hooks/useOnClickOutside.js +15 -14
- package/dist/components/hooks/useOnClickOutside.js.map +1 -1
- package/dist/components/hooks/usePositionedFloaters.js +66 -71
- package/dist/components/hooks/usePositionedFloaters.js.map +1 -1
- package/dist/components/hooks/useResponsive.js +36 -32
- package/dist/components/hooks/useResponsive.js.map +1 -1
- package/dist/components/index.js +64 -139
- package/dist/components-DVUYdcHS.js +1992 -0
- package/dist/components-DVUYdcHS.js.map +1 -0
- package/dist/dist-D6qYwmKD.js +2005 -0
- package/dist/dist-D6qYwmKD.js.map +1 -0
- package/dist/esm-Cmy7DlsJ.js +2781 -0
- package/dist/esm-Cmy7DlsJ.js.map +1 -0
- package/dist/helpers-DcFTH1J1.js +34 -0
- package/dist/helpers-DcFTH1J1.js.map +1 -0
- package/dist/icons-TRhI-4V6.js +2681 -0
- package/dist/icons-TRhI-4V6.js.map +1 -0
- package/dist/index.js +64 -139
- package/dist/lib-6BbFZdI7.js +5595 -0
- package/dist/lib-6BbFZdI7.js.map +1 -0
- package/dist/react-18-PI4Gvl2f.js +43 -0
- package/dist/react-18-PI4Gvl2f.js.map +1 -0
- package/dist/react.esm-Cev8dB-E.js +3297 -0
- package/dist/react.esm-Cev8dB-E.js.map +1 -0
- package/dist/setupTests.js +1226 -36
- package/dist/setupTests.js.map +1 -1
- package/dist/storyComponents/ClipboardButton/ClipboardButton.js +2 -45
- package/dist/storyComponents/ClipboardButton/index.js +2 -5
- package/dist/storyComponents/Container/Container.js +2 -40
- package/dist/storyComponents/Container/index.js +2 -5
- package/dist/storybook__react.d.js +6939 -7524
- package/dist/storybook__react.d.js.map +1 -1
- package/dist/test-CPFNM-bL.js +21586 -0
- package/dist/test-CPFNM-bL.js.map +1 -0
- package/dist/test-utils-BSs0eZfL.js +21 -0
- package/dist/test-utils-BSs0eZfL.js.map +1 -0
- package/dist/types/UserInterface.js +0 -2
- package/dist/vite-env.d.js +0 -2
- package/package.json +22 -22
- package/dist/Button.module-S1-6tV9o.js +0 -16
- package/dist/Button.module-S1-6tV9o.js.map +0 -1
- package/dist/Column-BL3dsYxn.js +0 -101
- package/dist/Column-BL3dsYxn.js.map +0 -1
- package/dist/Lexical.prod-o6Eq_uLx.js +0 -5202
- package/dist/Lexical.prod-o6Eq_uLx.js.map +0 -1
- package/dist/LexicalClipboard.prod-CnUrf2_p.js +0 -265
- package/dist/LexicalClipboard.prod-CnUrf2_p.js.map +0 -1
- package/dist/LexicalComposerContext.prod-DOyoZx0P.js +0 -22
- package/dist/LexicalComposerContext.prod-DOyoZx0P.js.map +0 -1
- package/dist/LexicalExtension.prod-CanXuzFO.js +0 -551
- package/dist/LexicalExtension.prod-CanXuzFO.js.map +0 -1
- package/dist/LexicalLink.prod-DAVbKER8.js +0 -561
- package/dist/LexicalLink.prod-DAVbKER8.js.map +0 -1
- package/dist/LexicalList.prod-C6cknPBV.js +0 -632
- package/dist/LexicalList.prod-C6cknPBV.js.map +0 -1
- package/dist/LexicalSelection.prod-B8GGrzJ3.js +0 -116
- package/dist/LexicalSelection.prod-B8GGrzJ3.js.map +0 -1
- package/dist/LexicalTable.prod-upbwOtcE.js +0 -1892
- package/dist/LexicalTable.prod-upbwOtcE.js.map +0 -1
- package/dist/LexicalUtils.prod-CF7x-KWm.js +0 -134
- package/dist/LexicalUtils.prod-CF7x-KWm.js.map +0 -1
- package/dist/MultiSelectItem-BzBmsKof.js +0 -24
- package/dist/MultiSelectItem-BzBmsKof.js.map +0 -1
- package/dist/RteEditor.module-CoTOIw5i.js +0 -41
- package/dist/RteEditor.module-CoTOIw5i.js.map +0 -1
- package/dist/SearchField.module-CMUEgX7d.js +0 -17
- package/dist/SearchField.module-CMUEgX7d.js.map +0 -1
- package/dist/SelectListbox.module-CXqMuXRB.js +0 -29
- package/dist/SelectListbox.module-CXqMuXRB.js.map +0 -1
- package/dist/Sortable.module-DCVXxKnw.js +0 -26
- package/dist/Sortable.module-DCVXxKnw.js.map +0 -1
- package/dist/SortableProvider-BbwlEPIr.js +0 -160
- package/dist/SortableProvider-BbwlEPIr.js.map +0 -1
- package/dist/TableCellResizerPlugin-qMtSAoKT.js +0 -248
- package/dist/TableCellResizerPlugin-qMtSAoKT.js.map +0 -1
- package/dist/TablePlugin-BRZcXq73.js +0 -308
- package/dist/TablePlugin-BRZcXq73.js.map +0 -1
- package/dist/WeekSelector.module-Clco7jTs.js +0 -17
- package/dist/WeekSelector.module-Clco7jTs.js.map +0 -1
- package/dist/_commonjsHelpers-DaMA6jEr.js +0 -9
- package/dist/_commonjsHelpers-DaMA6jEr.js.map +0 -1
- package/dist/assets/CheckboxTree.css +0 -1
- package/dist/assets/EditorHeader.css +0 -1
- package/dist/assets/FormInput.css +0 -1
- package/dist/assets/PeriodSelector.css +0 -1
- package/dist/assets/RadioTabSelector.css +0 -1
- package/dist/assets/TablePlugin.css +0 -1
- package/dist/chunk-OPOZOKLO-nJkI9rUN.js +0 -4508
- package/dist/chunk-OPOZOKLO-nJkI9rUN.js.map +0 -1
- package/dist/client-D5eE1v54.js +0 -27222
- package/dist/client-D5eE1v54.js.map +0 -1
- package/dist/clsx-OuTLNxxd.js +0 -17
- package/dist/clsx-OuTLNxxd.js.map +0 -1
- package/dist/components/Accordion/Accordion.js.map +0 -1
- package/dist/components/Accordion/index.js.map +0 -1
- package/dist/components/AccordionCard/AccordionCard.js.map +0 -1
- package/dist/components/AccordionCard/index.js.map +0 -1
- package/dist/components/ActionList/ActionList.js.map +0 -1
- package/dist/components/ActionList/index.js.map +0 -1
- package/dist/components/AppStatusBar/AppStatusBar.js.map +0 -1
- package/dist/components/AppStatusBar/index.js.map +0 -1
- package/dist/components/Attention/Attention.js.map +0 -1
- package/dist/components/Attention/index.js.map +0 -1
- package/dist/components/Backdrop/Backdrop.js.map +0 -1
- package/dist/components/Backdrop/index.js.map +0 -1
- package/dist/components/ButtonGroup/ButtonGroup.js.map +0 -1
- package/dist/components/ButtonGroup/index.js.map +0 -1
- package/dist/components/Buttons/index.js.map +0 -1
- package/dist/components/Card/Card.js.map +0 -1
- package/dist/components/Card/index.js.map +0 -1
- package/dist/components/Checkbox/Checkbox.js.map +0 -1
- package/dist/components/Checkbox/index.js.map +0 -1
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.js.map +0 -1
- package/dist/components/CheckboxButtonBar/index.js.map +0 -1
- package/dist/components/CheckboxTree/CheckboxTree.js.map +0 -1
- package/dist/components/CheckboxTree/index.js.map +0 -1
- package/dist/components/Chip/Chip.js.map +0 -1
- package/dist/components/Chip/index.js.map +0 -1
- package/dist/components/ControlsButton/ControlsButton.js.map +0 -1
- package/dist/components/ControlsButton/index.js.map +0 -1
- package/dist/components/CopyableText/CopyableText.js.map +0 -1
- package/dist/components/CopyableText/index.js.map +0 -1
- package/dist/components/Drawer/Drawer.js.map +0 -1
- package/dist/components/Drawer/index.js.map +0 -1
- package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.js.map +0 -1
- package/dist/components/EmptyStateDataDisplay/index.js.map +0 -1
- package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.js.map +0 -1
- package/dist/components/ExpandableInfoPanel/index.js.map +0 -1
- package/dist/components/FeedbackBar/FeedbackBar.js.map +0 -1
- package/dist/components/FeedbackBar/index.js.map +0 -1
- package/dist/components/FeedbackBox/FeedbackBox.js.map +0 -1
- package/dist/components/FeedbackBox/index.js.map +0 -1
- package/dist/components/FieldHint/FieldHint.js.map +0 -1
- package/dist/components/FieldHint/index.js.map +0 -1
- package/dist/components/Fieldset/Fieldset.js.map +0 -1
- package/dist/components/Fieldset/index.js.map +0 -1
- package/dist/components/FormField/FormField.js.map +0 -1
- package/dist/components/FormField/index.js.map +0 -1
- package/dist/components/FormInput/FormInput.js.map +0 -1
- package/dist/components/FormInput/index.js.map +0 -1
- package/dist/components/GridRow/Column/Column.js.map +0 -1
- package/dist/components/GridRow/Column/index.js.map +0 -1
- package/dist/components/GridRow/index.js.map +0 -1
- package/dist/components/HorizontalList/HorizontalList.js.map +0 -1
- package/dist/components/HorizontalList/index.js.map +0 -1
- package/dist/components/Icon/icons/index.js.map +0 -1
- package/dist/components/Icon/index.js.map +0 -1
- package/dist/components/IconButton/IconButton.js.map +0 -1
- package/dist/components/IconButton/index.js.map +0 -1
- package/dist/components/InfoBanner/InfoBanner.js.map +0 -1
- package/dist/components/InfoBanner/index.js.map +0 -1
- package/dist/components/InfoMessage/InfoMessage.js.map +0 -1
- package/dist/components/InfoMessage/index.js.map +0 -1
- package/dist/components/Input/Input.js.map +0 -1
- package/dist/components/Input/index.js.map +0 -1
- package/dist/components/InputField/InputField.js.map +0 -1
- package/dist/components/InputField/index.js.map +0 -1
- package/dist/components/Label/Label.js.map +0 -1
- package/dist/components/Label/index.js.map +0 -1
- package/dist/components/MenuLink/MenuLink.js.map +0 -1
- package/dist/components/MenuLink/index.js.map +0 -1
- package/dist/components/MetaDataBar/MetaDataBar.js.map +0 -1
- package/dist/components/MetaDataBar/index.js.map +0 -1
- package/dist/components/MetaDataList/MetaDataList.js.map +0 -1
- package/dist/components/MetaDataList/index.js.map +0 -1
- package/dist/components/ModalDialog/ModalDialog.js.map +0 -1
- package/dist/components/ModalDialog/index.js.map +0 -1
- package/dist/components/MultiSelect/MultiSelect.js.map +0 -1
- package/dist/components/MultiSelect/components/MultiSelectHeader.js.map +0 -1
- package/dist/components/MultiSelect/components/MultiSelectItem.js.map +0 -1
- package/dist/components/MultiSelect/index.js.map +0 -1
- package/dist/components/MultiSelectBox/MultiSelectBox.js.map +0 -1
- package/dist/components/MultiSelectBox/index.js.map +0 -1
- package/dist/components/Notification/Notification.js.map +0 -1
- package/dist/components/Notification/index.js.map +0 -1
- package/dist/components/OverlayCloseButton/OverlayCloseButton.js.map +0 -1
- package/dist/components/OverlayCloseButton/index.js.map +0 -1
- package/dist/components/OverlayStepBar/OverlayStepBar.js.map +0 -1
- package/dist/components/OverlayStepBar/index.js.map +0 -1
- package/dist/components/PageOverlay/PageOverlay.js.map +0 -1
- package/dist/components/PageOverlay/index.js.map +0 -1
- package/dist/components/PeriodSelector/PeriodSelector.js.map +0 -1
- package/dist/components/PeriodSelector/index.js.map +0 -1
- package/dist/components/Periods/Periods.js.map +0 -1
- package/dist/components/Periods/index.js.map +0 -1
- package/dist/components/ProgrammeCard/ProgrammeCard.js.map +0 -1
- package/dist/components/ProgrammeCard/index.js.map +0 -1
- package/dist/components/RadioButton/RadioButton.js.map +0 -1
- package/dist/components/RadioButton/index.js.map +0 -1
- package/dist/components/RadioGroup/RadioGroup.js.map +0 -1
- package/dist/components/RadioGroup/index.js.map +0 -1
- package/dist/components/RadioTabSelector/RadioTabSelector.js.map +0 -1
- package/dist/components/RadioTabSelector/index.js.map +0 -1
- package/dist/components/Repeater/Repeater.js.map +0 -1
- package/dist/components/Repeater/index.js.map +0 -1
- package/dist/components/RteEditor/EditorHeader/EditorHeader.js.map +0 -1
- package/dist/components/RteEditor/EditorHeader/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/BlockFormatPlugin/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/AddCatalogueLinkForm.js.map +0 -1
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js.map +0 -1
- package/dist/components/RteEditor/Plugins/HistoryPlugin/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkForm/AddLinkFrom.js.map +0 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js.map +0 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js.map +0 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/helpers.js.map +0 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/ListPlugin/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/PasteHandlerPlugin.js.map +0 -1
- package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/TableCellResizerPlugin.js.map +0 -1
- package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js.map +0 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.js.map +0 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js.map +0 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js.map +0 -1
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/index.js.map +0 -1
- package/dist/components/RteEditor/Plugins/index.js.map +0 -1
- package/dist/components/RteEditor/RteEditor.js.map +0 -1
- package/dist/components/RteEditor/UvaTheme/index.js.map +0 -1
- package/dist/components/RteEditor/hooks/components/Flyout.js.map +0 -1
- package/dist/components/RteEditor/index.js.map +0 -1
- package/dist/components/RteEditor/nodes/CourseCatalogueNode/index.js.map +0 -1
- package/dist/components/RteEditor/nodes/TableWrapperNode/index.js.map +0 -1
- package/dist/components/RteEditor/nodes/index.js.map +0 -1
- package/dist/components/SearchField/index.js.map +0 -1
- package/dist/components/SectionNotification/SectionNotification.js.map +0 -1
- package/dist/components/SectionNotification/index.js.map +0 -1
- package/dist/components/SelectListbox/index.js.map +0 -1
- package/dist/components/Slider/Slider.js.map +0 -1
- package/dist/components/Slider/index.js.map +0 -1
- package/dist/components/Sortable/SortableProvider.js.map +0 -1
- package/dist/components/Sortable/components/SortableContainer.js.map +0 -1
- package/dist/components/Sortable/index.js.map +0 -1
- package/dist/components/Spinner/Spinner.js.map +0 -1
- package/dist/components/Spinner/index.js.map +0 -1
- package/dist/components/StatusBadge/StatusBage.js.map +0 -1
- package/dist/components/StatusBadge/index.js.map +0 -1
- package/dist/components/StatusPill/StatusPill.js.map +0 -1
- package/dist/components/StatusPill/index.js.map +0 -1
- package/dist/components/TextArea/TextArea.js.map +0 -1
- package/dist/components/TextArea/index.js.map +0 -1
- package/dist/components/ToggleSwitch/ToggleSwitch.js.map +0 -1
- package/dist/components/ToggleSwitch/index.js.map +0 -1
- package/dist/components/Tooltip/Tooltip.js.map +0 -1
- package/dist/components/Tooltip/index.js.map +0 -1
- package/dist/components/VarIndicator/VarIndicator.js.map +0 -1
- package/dist/components/VarIndicator/index.js.map +0 -1
- package/dist/components/WeekSelector/index.js.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/index-B_q_4aBT.js +0 -24946
- package/dist/index-B_q_4aBT.js.map +0 -1
- package/dist/index-CULNJwuI.js +0 -2355
- package/dist/index-CULNJwuI.js.map +0 -1
- package/dist/index-D6WVIfcJ.js +0 -6039
- package/dist/index-D6WVIfcJ.js.map +0 -1
- package/dist/index-YdDr6J97.js +0 -3099
- package/dist/index-YdDr6J97.js.map +0 -1
- package/dist/index-yEhaxKq-.js +0 -238
- package/dist/index-yEhaxKq-.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/react-18-CxCoNkIN.js +0 -41
- package/dist/react-18-CxCoNkIN.js.map +0 -1
- package/dist/react.esm-C68fQMAi.js +0 -4237
- package/dist/react.esm-C68fQMAi.js.map +0 -1
- package/dist/storyComponents/ClipboardButton/ClipboardButton.js.map +0 -1
- package/dist/storyComponents/ClipboardButton/index.js.map +0 -1
- package/dist/storyComponents/Container/Container.js.map +0 -1
- package/dist/storyComponents/Container/index.js.map +0 -1
- package/dist/test-utils-BcpWLsLH.js +0 -56
- package/dist/test-utils-BcpWLsLH.js.map +0 -1
- package/dist/types/UserInterface.js.map +0 -1
- package/dist/vite-env.d.js.map +0 -1
|
@@ -1,108 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { Button as v } from "../../../../Buttons/Button.js";
|
|
4
|
-
import "../../../../Buttons/LinkButton.js";
|
|
5
|
-
import "@react-aria/button";
|
|
6
|
-
import { FormField as C } from "../../../../FormField/FormField.js";
|
|
7
|
-
import { Label as E } from "../../../../Label/Label.js";
|
|
8
|
-
import { useTranslation as y } from "../../../hooks/useTranslation.js";
|
|
9
|
-
import { InputField as x } from "../../../../InputField/InputField.js";
|
|
10
|
-
import { useLanguage as P } from "../../../Providers/LanguageProvider.js";
|
|
11
|
-
import { Repeater as A } from "../../../../Repeater/Repeater.js";
|
|
12
|
-
import '../../../../../assets/AddCatalogueLinkForm.css';const I = "_courselinkform_16a4f_1", K = "_courselinkform__footer_16a4f_13", $ = "_courselinkform__results_16a4f_20", o = {
|
|
13
|
-
courselinkform: I,
|
|
14
|
-
"courselinkform__input-field": "_courselinkform__input-field_16a4f_7",
|
|
15
|
-
courselinkform__footer: K,
|
|
16
|
-
"courselinkform__results-wrapper": "_courselinkform__results-wrapper_16a4f_20",
|
|
17
|
-
"courselinkform__results-header": "_courselinkform__results-header_16a4f_24",
|
|
18
|
-
courselinkform__results: $,
|
|
19
|
-
"courselinkform__result-message": "_courselinkform__result-message_16a4f_41",
|
|
20
|
-
"courselinkform__result-item": "_courselinkform__result-item_16a4f_51"
|
|
21
|
-
}, W = ({
|
|
22
|
-
linkType: n,
|
|
23
|
-
onCloseHandler: h,
|
|
24
|
-
onSearchHandler: f,
|
|
25
|
-
searchResponse: t,
|
|
26
|
-
onSelect: u
|
|
27
|
-
}) => {
|
|
28
|
-
const s = y(), p = `search_${F()}`, c = g(null), k = g(null), { currentLanguage: m } = P(), b = (r) => {
|
|
29
|
-
const l = r.target.value;
|
|
30
|
-
f && f(l, n);
|
|
31
|
-
}, _ = () => {
|
|
32
|
-
h();
|
|
33
|
-
}, w = (r) => {
|
|
34
|
-
r.key === "ArrowDown" && (r.preventDefault(), k.current?.querySelector("button")?.focus());
|
|
35
|
-
}, D = (r, l, a, d) => {
|
|
36
|
-
switch (r.key) {
|
|
37
|
-
case "Escape":
|
|
38
|
-
r.preventDefault(), r.stopPropagation(), _();
|
|
39
|
-
break;
|
|
40
|
-
case "Enter":
|
|
41
|
-
r.preventDefault(), u && u(l, a, d);
|
|
42
|
-
break;
|
|
43
|
-
case "ArrowDown": {
|
|
44
|
-
r.preventDefault(), r.stopPropagation(), r.currentTarget.nextElementSibling?.focus();
|
|
45
|
-
break;
|
|
46
|
-
}
|
|
47
|
-
case "ArrowUp": {
|
|
48
|
-
r.preventDefault(), r.stopPropagation(), r.currentTarget.previousElementSibling?.focus();
|
|
49
|
-
break;
|
|
50
|
-
}
|
|
51
|
-
case "Tab":
|
|
52
|
-
r.preventDefault(), _();
|
|
53
|
-
break;
|
|
54
|
-
default:
|
|
55
|
-
r.preventDefault();
|
|
56
|
-
break;
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
return L(() => {
|
|
60
|
-
c.current && (f("", n), c.current.value = "", c.current.focus());
|
|
61
|
-
}, []), /* @__PURE__ */ i("div", { className: o.courselinkform, children: [
|
|
62
|
-
/* @__PURE__ */ i(A, { gap: "050", children: [
|
|
63
|
-
/* @__PURE__ */ i(C, { className: o["courselinkform__input-field"], children: [
|
|
64
|
-
/* @__PURE__ */ e(E, { htmlFor: p, children: s.cataloguelinks[n === "course" ? "searchCourseFieldLabel" : "searchProgrammeFieldLabel"] }),
|
|
65
|
-
/* @__PURE__ */ e("div", { className: o["linkform__input-url-wrapper"], children: /* @__PURE__ */ e(
|
|
66
|
-
x,
|
|
67
|
-
{
|
|
68
|
-
id: p,
|
|
69
|
-
placeholder: s.cataloguelinks.searchFieldPlaceholder,
|
|
70
|
-
onChange: b,
|
|
71
|
-
onKeyDown: w,
|
|
72
|
-
ref: c,
|
|
73
|
-
"aria-label": s.aria.labels.searchField
|
|
74
|
-
}
|
|
75
|
-
) })
|
|
76
|
-
] }),
|
|
77
|
-
t && t.state === "pending" && /* @__PURE__ */ e("div", { className: o["courselinkform__result-message"], children: s.cataloguelinks.loading }),
|
|
78
|
-
t && t.results.length === 0 && t.state === "ready" && /* @__PURE__ */ e("div", { className: o["courselinkform__result-message"], children: s.cataloguelinks.noResults }),
|
|
79
|
-
t && t.results.length > 0 && /* @__PURE__ */ i("div", { className: o["courselinkform__results-wrapper"], children: [
|
|
80
|
-
/* @__PURE__ */ i("div", { className: o["courselinkform__results-header"], children: [
|
|
81
|
-
/* @__PURE__ */ e("span", { children: s.cataloguelinks[n === "course" ? "resultCourseListCatalogNumber" : "resultProgrammeListCatalogNumber"] }),
|
|
82
|
-
/* @__PURE__ */ e("span", { children: s.cataloguelinks.resultListName })
|
|
83
|
-
] }),
|
|
84
|
-
/* @__PURE__ */ e("div", { className: o.courselinkform__results, ref: k, children: t.results.map(({ id: r, code: l, name: a }) => /* @__PURE__ */ i(
|
|
85
|
-
"button",
|
|
86
|
-
{
|
|
87
|
-
type: "button",
|
|
88
|
-
className: o["courselinkform__result-item"],
|
|
89
|
-
onClick: () => u && u(l, a[m], n),
|
|
90
|
-
onKeyDown: (d) => D(d, l, a[m], n),
|
|
91
|
-
tabIndex: 0,
|
|
92
|
-
"aria-label": `${l} ${a[m]}`,
|
|
93
|
-
children: [
|
|
94
|
-
/* @__PURE__ */ e("span", { children: l }),
|
|
95
|
-
/* @__PURE__ */ e("span", { children: a[m] })
|
|
96
|
-
]
|
|
97
|
-
},
|
|
98
|
-
r
|
|
99
|
-
)) })
|
|
100
|
-
] })
|
|
101
|
-
] }),
|
|
102
|
-
/* @__PURE__ */ e("div", { className: o.courselinkform__footer, children: /* @__PURE__ */ e(v, { variant: "secondary", onClick: _, "aria-label": s.common.cancel, type: "button", children: s.common.cancel }) })
|
|
103
|
-
] });
|
|
104
|
-
};
|
|
105
|
-
export {
|
|
106
|
-
W as AddCatalogueLinkForm
|
|
107
|
-
};
|
|
108
|
-
//# sourceMappingURL=AddCatalogueLinkForm.js.map
|
|
1
|
+
import { t as e } from "../../../../../AddCatalogueLinkForm-Cy6fPNvN.js";
|
|
2
|
+
export { e as AddCatalogueLinkForm };
|
|
@@ -1,195 +1,151 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { c as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
),
|
|
148
|
-
/* @__PURE__ */ y(
|
|
149
|
-
"button",
|
|
150
|
-
{
|
|
151
|
-
onClick: () => C("programme"),
|
|
152
|
-
title: f.cataloguelinks.programmeTooltip,
|
|
153
|
-
className: z(
|
|
154
|
-
c["editor__toolbar-button"],
|
|
155
|
-
c["editor__toolbar-button--text"],
|
|
156
|
-
V && c["editor__toolbar-button--active"]
|
|
157
|
-
),
|
|
158
|
-
"aria-label": f.aria.labels.programmelink,
|
|
159
|
-
"aria-keyshortcuts": f.aria.keyshortcuts.programmelink,
|
|
160
|
-
type: "button",
|
|
161
|
-
ref: w,
|
|
162
|
-
children: f.cataloguelinks.programmeButtonLabel
|
|
163
|
-
}
|
|
164
|
-
)
|
|
165
|
-
] }),
|
|
166
|
-
m && /* @__PURE__ */ y(
|
|
167
|
-
"div",
|
|
168
|
-
{
|
|
169
|
-
className: c["editor__toolbar-flyout-wrapper"],
|
|
170
|
-
style: { top: m.top, left: m.left },
|
|
171
|
-
ref: O,
|
|
172
|
-
children: /* @__PURE__ */ y(
|
|
173
|
-
oe,
|
|
174
|
-
{
|
|
175
|
-
linkType: v,
|
|
176
|
-
onCloseHandler: d,
|
|
177
|
-
onSearchHandler: R,
|
|
178
|
-
searchResponse: j,
|
|
179
|
-
onSelect: (n, l, p) => {
|
|
180
|
-
s.dispatchCommand(ne, {
|
|
181
|
-
linkType: p,
|
|
182
|
-
code: n,
|
|
183
|
-
label: l
|
|
184
|
-
}), d();
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
)
|
|
188
|
-
}
|
|
189
|
-
)
|
|
190
|
-
] }) });
|
|
1
|
+
import { t as e } from "../../../../clsx-BD2qMUU1.js";
|
|
2
|
+
import { t } from "../../../../LexicalComposerContext.prod-Ca-YN_fj.js";
|
|
3
|
+
import { Ct as n, Hn as r, Ln as i, N as a, Vt as o, hn as s, jn as c, n as l, ot as u } from "../../../../Lexical.prod-DCGjHGxG.js";
|
|
4
|
+
import { l as d } from "../../../../LexicalUtils.prod-BzrjMu6t.js";
|
|
5
|
+
import { $getLinkTypeFromNode as f, CourseCatalogueNode as p, INSERT_COURSE_CATALOGUE_LINK as m, REMOVE_COURSE_CATALOGUE_LINK as h } from "../../nodes/CourseCatalogueNode/CourseCatalogueNode.js";
|
|
6
|
+
import { t as g } from "../../../../RteEditor.module-Jk80F1FA.js";
|
|
7
|
+
import { t as _ } from "../../../../AddCatalogueLinkForm-Cy6fPNvN.js";
|
|
8
|
+
import { useTranslation as v } from "../../hooks/useTranslation.js";
|
|
9
|
+
import { useOnClickOutside as y } from "../../../hooks/useOnClickOutside.js";
|
|
10
|
+
import { useEffect as b, useRef as x, useState as S } from "react";
|
|
11
|
+
import { jsx as C, jsxs as w } from "react/jsx-runtime";
|
|
12
|
+
//#region src/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.tsx
|
|
13
|
+
var T = ({ onSearch: T, searchResponse: E, parentScrollPosition: D }) => {
|
|
14
|
+
let [O] = t(), k = v(), [A, j] = S(!1), [M, N] = S(!1), P = x(null), F = x(null), I = x(null), [L, R] = S(null), [z, B] = S("course"), V = x(L !== null), H = (e) => {
|
|
15
|
+
B(e);
|
|
16
|
+
let t = e === "course" ? P.current?.getBoundingClientRect() : F.current?.getBoundingClientRect();
|
|
17
|
+
t && R({
|
|
18
|
+
top: t.bottom,
|
|
19
|
+
left: t.left
|
|
20
|
+
});
|
|
21
|
+
}, U = () => {
|
|
22
|
+
T("", z), R(null);
|
|
23
|
+
};
|
|
24
|
+
b(() => {
|
|
25
|
+
let e = O.registerCommand(u, (e) => e.ctrlKey && e.shiftKey && e.altKey && e.key === "C" ? (e.preventDefault(), H("course"), !0) : e.ctrlKey && e.shiftKey && e.altKey && e.key === "P" ? (e.preventDefault(), H("programme"), !0) : !1, 4), t = O.registerUpdateListener(({ editorState: e }) => {
|
|
26
|
+
e.read(() => {
|
|
27
|
+
let e = l();
|
|
28
|
+
if (c(e)) {
|
|
29
|
+
let t = e.anchor.getNode(), n = e.anchor.offset;
|
|
30
|
+
if (i(t) && n === t.getTextContentSize() && t.getNextSibling() instanceof p) {
|
|
31
|
+
let e = t.getNextSibling();
|
|
32
|
+
if (e) {
|
|
33
|
+
let t = f(e);
|
|
34
|
+
j(t === "course"), N(t === "programme");
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
let r = d(t, p);
|
|
39
|
+
if (r) {
|
|
40
|
+
let e = f(r);
|
|
41
|
+
j(e === "course"), N(e === "programme");
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
j(!1), N(!1);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}), o = (e) => {
|
|
48
|
+
let t = n(), i = e.getTextContentSize();
|
|
49
|
+
t.setTextNodeRange(e, i, e, i), r(t);
|
|
50
|
+
}, m = (e, t) => i(e) && t === e.getTextContentSize() && e.getNextSibling() instanceof p, g = O.registerCommand(u, (e) => {
|
|
51
|
+
let t = l();
|
|
52
|
+
if (c(t)) {
|
|
53
|
+
let n = e.key, r = t.anchor.getNode(), i = t.anchor.offset, a = d(r, p);
|
|
54
|
+
if (m(r, i) && (a = r.getNextSibling()), !a) return !1;
|
|
55
|
+
let c = a?.getTextContentSize();
|
|
56
|
+
if (a && e.key === "Enter") return e.preventDefault(), O.update(() => {
|
|
57
|
+
if (m(r, i)) {
|
|
58
|
+
let e = s("\n");
|
|
59
|
+
a.insertBefore(e);
|
|
60
|
+
}
|
|
61
|
+
if (i === c) {
|
|
62
|
+
let e = s("\n");
|
|
63
|
+
a.insertAfter(e), o(e);
|
|
64
|
+
}
|
|
65
|
+
}), !0;
|
|
66
|
+
if (a && (n === " " || e.code === "Space")) return e.preventDefault(), O.update(() => {
|
|
67
|
+
let e = s(" ");
|
|
68
|
+
m(r, i) && (a.insertBefore(e), o(e)), i === c && (a.insertAfter(e), o(e));
|
|
69
|
+
}), !0;
|
|
70
|
+
if (a && (n === "Backspace" || n === "Delete")) return e.preventDefault(), O.update(() => {
|
|
71
|
+
O.dispatchCommand(h, void 0);
|
|
72
|
+
}, { discrete: !0 }), !0;
|
|
73
|
+
if (a && n !== "ArrowLeft" && n !== "ArrowRight" && n !== "ArrowUp" && n !== "ArrowDown" && n !== "Home" && n !== "End" && !(e.ctrlKey && (n.toLowerCase() === "z" || n.toLowerCase() === "y")) && !(e.ctrlKey && n.toLowerCase() === "c")) return e.preventDefault(), !0;
|
|
74
|
+
}
|
|
75
|
+
return !1;
|
|
76
|
+
}, 4), _ = O.registerCommand(a, (e) => {
|
|
77
|
+
let t = l();
|
|
78
|
+
if (c(t)) {
|
|
79
|
+
let n = d(t.anchor.getNode(), p);
|
|
80
|
+
if (n) {
|
|
81
|
+
e.preventDefault();
|
|
82
|
+
let t = O.getElementByKey(n.getKey());
|
|
83
|
+
return t && (e.clipboardData?.setData("text/html", t.outerHTML), e.clipboardData?.setData("text/plain", n.getTextContent())), !0;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return !1;
|
|
87
|
+
}, 1);
|
|
88
|
+
return () => {
|
|
89
|
+
e(), t(), g(), _();
|
|
90
|
+
};
|
|
91
|
+
}, [O]), y(I, () => R(null));
|
|
92
|
+
let W = () => {
|
|
93
|
+
U();
|
|
94
|
+
};
|
|
95
|
+
return b(() => o(O.registerCommand(u, (e) => e.key === "Escape" && V.current ? (e.preventDefault(), U(), !0) : !1, 1), O.registerRootListener((e, t) => {
|
|
96
|
+
t && t.removeEventListener("scroll", W), e && e.addEventListener("scroll", W);
|
|
97
|
+
})), [O]), b(() => {
|
|
98
|
+
L && U();
|
|
99
|
+
}, [D]), /* @__PURE__ */ C("div", {
|
|
100
|
+
className: g["editor__toolbar-button-group"],
|
|
101
|
+
children: /* @__PURE__ */ w("div", {
|
|
102
|
+
className: g["editor__toolbar-button-flyoutwrapper"],
|
|
103
|
+
children: [/* @__PURE__ */ w("div", {
|
|
104
|
+
className: g["editor__toolbar-button-group--text"],
|
|
105
|
+
children: [/* @__PURE__ */ C("button", {
|
|
106
|
+
onClick: () => H("course"),
|
|
107
|
+
title: k.cataloguelinks.courseTooltip,
|
|
108
|
+
className: e(g["editor__toolbar-button"], g["editor__toolbar-button--text"], A && g["editor__toolbar-button--active"]),
|
|
109
|
+
"aria-label": k.aria.labels.courselink,
|
|
110
|
+
"aria-keyshortcuts": k.aria.keyshortcuts.courselink,
|
|
111
|
+
type: "button",
|
|
112
|
+
ref: P,
|
|
113
|
+
children: k.cataloguelinks.courseButtonLabel
|
|
114
|
+
}), /* @__PURE__ */ C("button", {
|
|
115
|
+
onClick: () => H("programme"),
|
|
116
|
+
title: k.cataloguelinks.programmeTooltip,
|
|
117
|
+
className: e(g["editor__toolbar-button"], g["editor__toolbar-button--text"], M && g["editor__toolbar-button--active"]),
|
|
118
|
+
"aria-label": k.aria.labels.programmelink,
|
|
119
|
+
"aria-keyshortcuts": k.aria.keyshortcuts.programmelink,
|
|
120
|
+
type: "button",
|
|
121
|
+
ref: F,
|
|
122
|
+
children: k.cataloguelinks.programmeButtonLabel
|
|
123
|
+
})]
|
|
124
|
+
}), L && /* @__PURE__ */ C("div", {
|
|
125
|
+
className: g["editor__toolbar-flyout-wrapper"],
|
|
126
|
+
style: {
|
|
127
|
+
top: L.top,
|
|
128
|
+
left: L.left
|
|
129
|
+
},
|
|
130
|
+
ref: I,
|
|
131
|
+
children: /* @__PURE__ */ C(_, {
|
|
132
|
+
linkType: z,
|
|
133
|
+
onCloseHandler: U,
|
|
134
|
+
onSearchHandler: T,
|
|
135
|
+
searchResponse: E,
|
|
136
|
+
onSelect: (e, t, n) => {
|
|
137
|
+
O.dispatchCommand(m, {
|
|
138
|
+
linkType: n,
|
|
139
|
+
code: e,
|
|
140
|
+
label: t
|
|
141
|
+
}), U();
|
|
142
|
+
}
|
|
143
|
+
})
|
|
144
|
+
})]
|
|
145
|
+
})
|
|
146
|
+
});
|
|
191
147
|
};
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
//# sourceMappingURL=CourseCataloguePlugin.js.map
|
|
148
|
+
//#endregion
|
|
149
|
+
export { T as CourseCataloguePlugin };
|
|
150
|
+
|
|
151
|
+
//# sourceMappingURL=CourseCataloguePlugin.js.map
|
package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CourseCataloguePlugin.js","sources":["../../../../../src/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\r\nimport { clsx } from 'clsx';\r\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\r\nimport {\r\n $createRangeSelection,\r\n $createTextNode,\r\n $getSelection,\r\n $isRangeSelection,\r\n $isTextNode,\r\n $setSelection,\r\n COMMAND_PRIORITY_CRITICAL,\r\n COMMAND_PRIORITY_LOW,\r\n COPY_COMMAND,\r\n KEY_DOWN_COMMAND,\r\n mergeRegister,\r\n} from 'lexical';\r\nimport { $getNearestNodeOfType } from '@lexical/utils';\r\n\r\nimport type { RefObject } from 'react';\r\nimport type { LexicalNode, TextNode } from 'lexical';\r\nimport type { SearchResponse } from './AddCatalogueLinkForm';\r\n\r\nimport { AddCatalogueLinkForm } from './AddCatalogueLinkForm';\r\n\r\nimport styles from 'components/RteEditor/RteEditor.module.css';\r\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\r\nimport {\r\n $getLinkTypeFromNode,\r\n CourseCatalogueNode,\r\n INSERT_COURSE_CATALOGUE_LINK,\r\n REMOVE_COURSE_CATALOGUE_LINK,\r\n} from 'components/RteEditor/nodes/CourseCatalogueNode';\r\nimport { useOnClickOutside } from 'components/hooks/useOnClickOutside';\r\n\r\ninterface CourseCataloguePluginProps {\r\n onSearch: (query: string, linkType: 'course' | 'programme') => void;\r\n searchResponse: SearchResponse;\r\n parentScrollPosition: number;\r\n}\r\n\r\nexport const CourseCataloguePlugin = ({\r\n onSearch,\r\n searchResponse,\r\n parentScrollPosition,\r\n}: CourseCataloguePluginProps) => {\r\n const [editor] = useLexicalComposerContext();\r\n const t = useTranslation();\r\n const [courseIsActive, setCourseIsActive] = useState(false);\r\n const [programmeIsActive, setProgrammeIsActive] = useState(false);\r\n const courseButtonRef = useRef<HTMLButtonElement>(null);\r\n const programmeButtonRef = useRef<HTMLButtonElement>(null);\r\n const flyoutRef = useRef<HTMLDivElement>(null);\r\n const [flyoutPosition, setFlyoutPosition] = useState<{ top: number; left: number } | null>(null);\r\n const [type, setType] = useState<'course' | 'programme'>('course');\r\n const isVisibleRef = useRef(flyoutPosition !== null);\r\n\r\n const openFlyout = (type: 'course' | 'programme') => {\r\n setType(type);\r\n const rect =\r\n type === 'course'\r\n ? courseButtonRef.current?.getBoundingClientRect()\r\n : programmeButtonRef.current?.getBoundingClientRect();\r\n if (rect) {\r\n setFlyoutPosition({ top: rect.bottom, left: rect.left });\r\n }\r\n };\r\n\r\n const closeFlyout = () => {\r\n onSearch('', type);\r\n setFlyoutPosition(null);\r\n };\r\n\r\n useEffect(() => {\r\n const removeKeyboardShortcut = editor.registerCommand(\r\n KEY_DOWN_COMMAND,\r\n (event: KeyboardEvent) => {\r\n if (event.ctrlKey && event.shiftKey && event.altKey && event.key === 'C') {\r\n event.preventDefault();\r\n openFlyout('course');\r\n return true;\r\n }\r\n if (event.ctrlKey && event.shiftKey && event.altKey && event.key === 'P') {\r\n event.preventDefault();\r\n openFlyout('programme');\r\n return true;\r\n }\r\n return false;\r\n },\r\n COMMAND_PRIORITY_CRITICAL\r\n );\r\n\r\n const removeStatusListener = editor.registerUpdateListener(({ editorState }) => {\r\n editorState.read(() => {\r\n const selection = $getSelection();\r\n if ($isRangeSelection(selection)) {\r\n const anchorNode = selection.anchor.getNode();\r\n const offset = selection.anchor.offset;\r\n\r\n if (\r\n $isTextNode(anchorNode) &&\r\n offset === anchorNode.getTextContentSize() &&\r\n anchorNode.getNextSibling() instanceof CourseCatalogueNode\r\n ) {\r\n // Cursor staat aan het begin van de link!\r\n const courseCatalogueLink = anchorNode.getNextSibling();\r\n if (courseCatalogueLink) {\r\n const linkType = $getLinkTypeFromNode(courseCatalogueLink);\r\n setCourseIsActive(linkType === 'course');\r\n setProgrammeIsActive(linkType === 'programme');\r\n return;\r\n }\r\n }\r\n\r\n const courseCatalogueLink = $getNearestNodeOfType(anchorNode, CourseCatalogueNode);\r\n if (courseCatalogueLink) {\r\n const linkType = $getLinkTypeFromNode(courseCatalogueLink);\r\n setCourseIsActive(linkType === 'course');\r\n setProgrammeIsActive(linkType === 'programme');\r\n return;\r\n }\r\n setCourseIsActive(false);\r\n setProgrammeIsActive(false);\r\n }\r\n });\r\n });\r\n\r\n const moveToEndOfWhiteSpace = (whiteSpace: TextNode) => {\r\n const selection = $createRangeSelection();\r\n const endOffset = whiteSpace.getTextContentSize();\r\n selection.setTextNodeRange(whiteSpace, endOffset, whiteSpace, endOffset);\r\n $setSelection(selection);\r\n };\r\n\r\n const isCursorBeforeLink = (anchorNode: LexicalNode, offset: number) =>\r\n $isTextNode(anchorNode) &&\r\n offset === anchorNode.getTextContentSize() &&\r\n anchorNode.getNextSibling() instanceof CourseCatalogueNode;\r\n\r\n const removeUnEditable = editor.registerCommand(\r\n KEY_DOWN_COMMAND,\r\n (event: KeyboardEvent) => {\r\n const selection = $getSelection();\r\n if ($isRangeSelection(selection)) {\r\n const key = event.key;\r\n const anchorNode = selection.anchor.getNode();\r\n const offset = selection.anchor.offset;\r\n let courseCatalogueLink = $getNearestNodeOfType(anchorNode, CourseCatalogueNode);\r\n\r\n // Detect if cursor is right before the link\r\n if (isCursorBeforeLink(anchorNode, offset)) {\r\n courseCatalogueLink = anchorNode.getNextSibling();\r\n }\r\n\r\n if (!courseCatalogueLink) {\r\n return false;\r\n }\r\n\r\n const nodeLength = courseCatalogueLink?.getTextContentSize();\r\n\r\n // Prevent Enter if in the middle of the link, allow only at start or end\r\n if (courseCatalogueLink && event.key === 'Enter') {\r\n event.preventDefault();\r\n editor.update(() => {\r\n if (isCursorBeforeLink(anchorNode, offset)) {\r\n const brNode = $createTextNode('\\n');\r\n courseCatalogueLink.insertBefore(brNode);\r\n }\r\n if (offset === nodeLength) {\r\n const brNode = $createTextNode('\\n');\r\n courseCatalogueLink.insertAfter(brNode);\r\n moveToEndOfWhiteSpace(brNode);\r\n }\r\n });\r\n return true;\r\n }\r\n\r\n // Allow add space before or after the link\r\n if (courseCatalogueLink && (key === ' ' || event.code === 'Space')) {\r\n event.preventDefault();\r\n editor.update(() => {\r\n const spaceToAdd = $createTextNode(' ');\r\n if (isCursorBeforeLink(anchorNode, offset)) {\r\n courseCatalogueLink.insertBefore(spaceToAdd);\r\n moveToEndOfWhiteSpace(spaceToAdd);\r\n }\r\n if (offset === nodeLength) {\r\n courseCatalogueLink.insertAfter(spaceToAdd);\r\n moveToEndOfWhiteSpace(spaceToAdd);\r\n }\r\n });\r\n return true;\r\n }\r\n\r\n // Delete link if selected and Backspace or Del is pressed\r\n if (courseCatalogueLink && (key === 'Backspace' || key === 'Delete')) {\r\n event.preventDefault();\r\n editor.update(\r\n () => {\r\n editor.dispatchCommand(REMOVE_COURSE_CATALOGUE_LINK, undefined);\r\n },\r\n { discrete: true }\r\n );\r\n return true;\r\n }\r\n\r\n // Allow Home, End and Arrow navigation\r\n if (\r\n courseCatalogueLink &&\r\n key !== 'ArrowLeft' &&\r\n key !== 'ArrowRight' &&\r\n key !== 'ArrowUp' &&\r\n key !== 'ArrowDown' &&\r\n key !== 'Home' &&\r\n key !== 'End' &&\r\n !(event.ctrlKey && (key.toLowerCase() === 'z' || key.toLowerCase() === 'y')) &&\r\n !(event.ctrlKey && key.toLowerCase() === 'c')\r\n ) {\r\n event.preventDefault();\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n COMMAND_PRIORITY_CRITICAL\r\n );\r\n\r\n const removeCopy = editor.registerCommand(\r\n COPY_COMMAND,\r\n (event: ClipboardEvent) => {\r\n const selection = $getSelection();\r\n if ($isRangeSelection(selection)) {\r\n const anchorNode = selection.anchor.getNode();\r\n const courseCatalogueLink = $getNearestNodeOfType(anchorNode, CourseCatalogueNode);\r\n if (courseCatalogueLink) {\r\n event.preventDefault();\r\n const domElement = editor.getElementByKey(courseCatalogueLink.getKey());\r\n if (domElement) {\r\n event.clipboardData?.setData('text/html', domElement.outerHTML);\r\n event.clipboardData?.setData('text/plain', courseCatalogueLink.getTextContent());\r\n }\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n COMMAND_PRIORITY_LOW\r\n );\r\n return () => {\r\n removeKeyboardShortcut();\r\n removeStatusListener();\r\n removeUnEditable();\r\n removeCopy();\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [editor]);\r\n\r\n useOnClickOutside(flyoutRef as RefObject<HTMLElement>, () => setFlyoutPosition(null));\r\n\r\n const handleOnScroll = () => {\r\n closeFlyout();\r\n };\r\n\r\n useEffect(() => {\r\n return mergeRegister(\r\n editor.registerCommand(\r\n KEY_DOWN_COMMAND,\r\n (event: KeyboardEvent) => {\r\n if (event.key === 'Escape' && isVisibleRef.current) {\r\n event.preventDefault();\r\n closeFlyout();\r\n return true;\r\n }\r\n return false;\r\n },\r\n COMMAND_PRIORITY_LOW\r\n ),\r\n\r\n editor.registerRootListener((rootElement, prevRootElement) => {\r\n if (prevRootElement) {\r\n prevRootElement.removeEventListener('scroll', handleOnScroll);\r\n }\r\n\r\n if (rootElement) {\r\n rootElement.addEventListener('scroll', handleOnScroll);\r\n }\r\n })\r\n );\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [editor]);\r\n\r\n useEffect(() => {\r\n if (flyoutPosition) {\r\n closeFlyout();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [parentScrollPosition]);\r\n\r\n return (\r\n <div className={styles['editor__toolbar-button-group']}>\r\n <div className={styles['editor__toolbar-button-flyoutwrapper']}>\r\n <div className={styles['editor__toolbar-button-group--text']}>\r\n <button\r\n onClick={() => openFlyout('course')}\r\n title={t.cataloguelinks.courseTooltip}\r\n className={clsx(\r\n styles['editor__toolbar-button'],\r\n styles['editor__toolbar-button--text'],\r\n courseIsActive && styles[`editor__toolbar-button--active`]\r\n )}\r\n aria-label={t.aria.labels.courselink}\r\n aria-keyshortcuts={t.aria.keyshortcuts.courselink}\r\n type=\"button\"\r\n ref={courseButtonRef}\r\n >\r\n {t.cataloguelinks.courseButtonLabel}\r\n </button>\r\n <button\r\n onClick={() => openFlyout('programme')}\r\n title={t.cataloguelinks.programmeTooltip}\r\n className={clsx(\r\n styles['editor__toolbar-button'],\r\n styles['editor__toolbar-button--text'],\r\n programmeIsActive && styles[`editor__toolbar-button--active`]\r\n )}\r\n aria-label={t.aria.labels.programmelink}\r\n aria-keyshortcuts={t.aria.keyshortcuts.programmelink}\r\n type=\"button\"\r\n ref={programmeButtonRef}\r\n >\r\n {t.cataloguelinks.programmeButtonLabel}\r\n </button>\r\n </div>\r\n {flyoutPosition && (\r\n <div\r\n className={styles['editor__toolbar-flyout-wrapper']}\r\n style={{ top: flyoutPosition.top, left: flyoutPosition.left }}\r\n ref={flyoutRef}\r\n >\r\n <AddCatalogueLinkForm\r\n linkType={type}\r\n onCloseHandler={closeFlyout}\r\n onSearchHandler={onSearch}\r\n searchResponse={searchResponse}\r\n onSelect={(code, label, linkType) => {\r\n editor.dispatchCommand(INSERT_COURSE_CATALOGUE_LINK, {\r\n linkType,\r\n code,\r\n label,\r\n });\r\n closeFlyout();\r\n }}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n"],"names":["CourseCataloguePlugin","onSearch","searchResponse","parentScrollPosition","editor","useLexicalComposerContext","t","useTranslation","courseIsActive","setCourseIsActive","useState","programmeIsActive","setProgrammeIsActive","courseButtonRef","useRef","programmeButtonRef","flyoutRef","flyoutPosition","setFlyoutPosition","type","setType","isVisibleRef","openFlyout","rect","closeFlyout","useEffect","removeKeyboardShortcut","KEY_DOWN_COMMAND","event","COMMAND_PRIORITY_CRITICAL","removeStatusListener","editorState","selection","$getSelection","$isRangeSelection","anchorNode","offset","$isTextNode","CourseCatalogueNode","courseCatalogueLink","linkType","$getLinkTypeFromNode","$getNearestNodeOfType","moveToEndOfWhiteSpace","whiteSpace","$createRangeSelection","endOffset","$setSelection","isCursorBeforeLink","removeUnEditable","key","nodeLength","brNode","$createTextNode","spaceToAdd","REMOVE_COURSE_CATALOGUE_LINK","removeCopy","COPY_COMMAND","domElement","COMMAND_PRIORITY_LOW","useOnClickOutside","handleOnScroll","mergeRegister","rootElement","prevRootElement","jsx","styles","jsxs","clsx","AddCatalogueLinkForm","code","label","INSERT_COURSE_CATALOGUE_LINK"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CourseCataloguePlugin.js","names":[],"sources":["../../../../../src/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\r\nimport { clsx } from 'clsx';\r\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\r\nimport {\r\n $createRangeSelection,\r\n $createTextNode,\r\n $getSelection,\r\n $isRangeSelection,\r\n $isTextNode,\r\n $setSelection,\r\n COMMAND_PRIORITY_CRITICAL,\r\n COMMAND_PRIORITY_LOW,\r\n COPY_COMMAND,\r\n KEY_DOWN_COMMAND,\r\n mergeRegister,\r\n} from 'lexical';\r\nimport { $getNearestNodeOfType } from '@lexical/utils';\r\n\r\nimport type { RefObject } from 'react';\r\nimport type { LexicalNode, TextNode } from 'lexical';\r\nimport type { SearchResponse } from './AddCatalogueLinkForm';\r\n\r\nimport { AddCatalogueLinkForm } from './AddCatalogueLinkForm';\r\n\r\nimport styles from 'components/RteEditor/RteEditor.module.css';\r\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\r\nimport {\r\n $getLinkTypeFromNode,\r\n CourseCatalogueNode,\r\n INSERT_COURSE_CATALOGUE_LINK,\r\n REMOVE_COURSE_CATALOGUE_LINK,\r\n} from 'components/RteEditor/nodes/CourseCatalogueNode';\r\nimport { useOnClickOutside } from 'components/hooks/useOnClickOutside';\r\n\r\ninterface CourseCataloguePluginProps {\r\n onSearch: (query: string, linkType: 'course' | 'programme') => void;\r\n searchResponse: SearchResponse;\r\n parentScrollPosition: number;\r\n}\r\n\r\nexport const CourseCataloguePlugin = ({\r\n onSearch,\r\n searchResponse,\r\n parentScrollPosition,\r\n}: CourseCataloguePluginProps) => {\r\n const [editor] = useLexicalComposerContext();\r\n const t = useTranslation();\r\n const [courseIsActive, setCourseIsActive] = useState(false);\r\n const [programmeIsActive, setProgrammeIsActive] = useState(false);\r\n const courseButtonRef = useRef<HTMLButtonElement>(null);\r\n const programmeButtonRef = useRef<HTMLButtonElement>(null);\r\n const flyoutRef = useRef<HTMLDivElement>(null);\r\n const [flyoutPosition, setFlyoutPosition] = useState<{ top: number; left: number } | null>(null);\r\n const [type, setType] = useState<'course' | 'programme'>('course');\r\n const isVisibleRef = useRef(flyoutPosition !== null);\r\n\r\n const openFlyout = (type: 'course' | 'programme') => {\r\n setType(type);\r\n const rect =\r\n type === 'course'\r\n ? courseButtonRef.current?.getBoundingClientRect()\r\n : programmeButtonRef.current?.getBoundingClientRect();\r\n if (rect) {\r\n setFlyoutPosition({ top: rect.bottom, left: rect.left });\r\n }\r\n };\r\n\r\n const closeFlyout = () => {\r\n onSearch('', type);\r\n setFlyoutPosition(null);\r\n };\r\n\r\n useEffect(() => {\r\n const removeKeyboardShortcut = editor.registerCommand(\r\n KEY_DOWN_COMMAND,\r\n (event: KeyboardEvent) => {\r\n if (event.ctrlKey && event.shiftKey && event.altKey && event.key === 'C') {\r\n event.preventDefault();\r\n openFlyout('course');\r\n return true;\r\n }\r\n if (event.ctrlKey && event.shiftKey && event.altKey && event.key === 'P') {\r\n event.preventDefault();\r\n openFlyout('programme');\r\n return true;\r\n }\r\n return false;\r\n },\r\n COMMAND_PRIORITY_CRITICAL\r\n );\r\n\r\n const removeStatusListener = editor.registerUpdateListener(({ editorState }) => {\r\n editorState.read(() => {\r\n const selection = $getSelection();\r\n if ($isRangeSelection(selection)) {\r\n const anchorNode = selection.anchor.getNode();\r\n const offset = selection.anchor.offset;\r\n\r\n if (\r\n $isTextNode(anchorNode) &&\r\n offset === anchorNode.getTextContentSize() &&\r\n anchorNode.getNextSibling() instanceof CourseCatalogueNode\r\n ) {\r\n // Cursor staat aan het begin van de link!\r\n const courseCatalogueLink = anchorNode.getNextSibling();\r\n if (courseCatalogueLink) {\r\n const linkType = $getLinkTypeFromNode(courseCatalogueLink);\r\n setCourseIsActive(linkType === 'course');\r\n setProgrammeIsActive(linkType === 'programme');\r\n return;\r\n }\r\n }\r\n\r\n const courseCatalogueLink = $getNearestNodeOfType(anchorNode, CourseCatalogueNode);\r\n if (courseCatalogueLink) {\r\n const linkType = $getLinkTypeFromNode(courseCatalogueLink);\r\n setCourseIsActive(linkType === 'course');\r\n setProgrammeIsActive(linkType === 'programme');\r\n return;\r\n }\r\n setCourseIsActive(false);\r\n setProgrammeIsActive(false);\r\n }\r\n });\r\n });\r\n\r\n const moveToEndOfWhiteSpace = (whiteSpace: TextNode) => {\r\n const selection = $createRangeSelection();\r\n const endOffset = whiteSpace.getTextContentSize();\r\n selection.setTextNodeRange(whiteSpace, endOffset, whiteSpace, endOffset);\r\n $setSelection(selection);\r\n };\r\n\r\n const isCursorBeforeLink = (anchorNode: LexicalNode, offset: number) =>\r\n $isTextNode(anchorNode) &&\r\n offset === anchorNode.getTextContentSize() &&\r\n anchorNode.getNextSibling() instanceof CourseCatalogueNode;\r\n\r\n const removeUnEditable = editor.registerCommand(\r\n KEY_DOWN_COMMAND,\r\n (event: KeyboardEvent) => {\r\n const selection = $getSelection();\r\n if ($isRangeSelection(selection)) {\r\n const key = event.key;\r\n const anchorNode = selection.anchor.getNode();\r\n const offset = selection.anchor.offset;\r\n let courseCatalogueLink = $getNearestNodeOfType(anchorNode, CourseCatalogueNode);\r\n\r\n // Detect if cursor is right before the link\r\n if (isCursorBeforeLink(anchorNode, offset)) {\r\n courseCatalogueLink = anchorNode.getNextSibling();\r\n }\r\n\r\n if (!courseCatalogueLink) {\r\n return false;\r\n }\r\n\r\n const nodeLength = courseCatalogueLink?.getTextContentSize();\r\n\r\n // Prevent Enter if in the middle of the link, allow only at start or end\r\n if (courseCatalogueLink && event.key === 'Enter') {\r\n event.preventDefault();\r\n editor.update(() => {\r\n if (isCursorBeforeLink(anchorNode, offset)) {\r\n const brNode = $createTextNode('\\n');\r\n courseCatalogueLink.insertBefore(brNode);\r\n }\r\n if (offset === nodeLength) {\r\n const brNode = $createTextNode('\\n');\r\n courseCatalogueLink.insertAfter(brNode);\r\n moveToEndOfWhiteSpace(brNode);\r\n }\r\n });\r\n return true;\r\n }\r\n\r\n // Allow add space before or after the link\r\n if (courseCatalogueLink && (key === ' ' || event.code === 'Space')) {\r\n event.preventDefault();\r\n editor.update(() => {\r\n const spaceToAdd = $createTextNode(' ');\r\n if (isCursorBeforeLink(anchorNode, offset)) {\r\n courseCatalogueLink.insertBefore(spaceToAdd);\r\n moveToEndOfWhiteSpace(spaceToAdd);\r\n }\r\n if (offset === nodeLength) {\r\n courseCatalogueLink.insertAfter(spaceToAdd);\r\n moveToEndOfWhiteSpace(spaceToAdd);\r\n }\r\n });\r\n return true;\r\n }\r\n\r\n // Delete link if selected and Backspace or Del is pressed\r\n if (courseCatalogueLink && (key === 'Backspace' || key === 'Delete')) {\r\n event.preventDefault();\r\n editor.update(\r\n () => {\r\n editor.dispatchCommand(REMOVE_COURSE_CATALOGUE_LINK, undefined);\r\n },\r\n { discrete: true }\r\n );\r\n return true;\r\n }\r\n\r\n // Allow Home, End and Arrow navigation\r\n if (\r\n courseCatalogueLink &&\r\n key !== 'ArrowLeft' &&\r\n key !== 'ArrowRight' &&\r\n key !== 'ArrowUp' &&\r\n key !== 'ArrowDown' &&\r\n key !== 'Home' &&\r\n key !== 'End' &&\r\n !(event.ctrlKey && (key.toLowerCase() === 'z' || key.toLowerCase() === 'y')) &&\r\n !(event.ctrlKey && key.toLowerCase() === 'c')\r\n ) {\r\n event.preventDefault();\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n COMMAND_PRIORITY_CRITICAL\r\n );\r\n\r\n const removeCopy = editor.registerCommand(\r\n COPY_COMMAND,\r\n (event: ClipboardEvent) => {\r\n const selection = $getSelection();\r\n if ($isRangeSelection(selection)) {\r\n const anchorNode = selection.anchor.getNode();\r\n const courseCatalogueLink = $getNearestNodeOfType(anchorNode, CourseCatalogueNode);\r\n if (courseCatalogueLink) {\r\n event.preventDefault();\r\n const domElement = editor.getElementByKey(courseCatalogueLink.getKey());\r\n if (domElement) {\r\n event.clipboardData?.setData('text/html', domElement.outerHTML);\r\n event.clipboardData?.setData('text/plain', courseCatalogueLink.getTextContent());\r\n }\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n COMMAND_PRIORITY_LOW\r\n );\r\n return () => {\r\n removeKeyboardShortcut();\r\n removeStatusListener();\r\n removeUnEditable();\r\n removeCopy();\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [editor]);\r\n\r\n useOnClickOutside(flyoutRef as RefObject<HTMLElement>, () => setFlyoutPosition(null));\r\n\r\n const handleOnScroll = () => {\r\n closeFlyout();\r\n };\r\n\r\n useEffect(() => {\r\n return mergeRegister(\r\n editor.registerCommand(\r\n KEY_DOWN_COMMAND,\r\n (event: KeyboardEvent) => {\r\n if (event.key === 'Escape' && isVisibleRef.current) {\r\n event.preventDefault();\r\n closeFlyout();\r\n return true;\r\n }\r\n return false;\r\n },\r\n COMMAND_PRIORITY_LOW\r\n ),\r\n\r\n editor.registerRootListener((rootElement, prevRootElement) => {\r\n if (prevRootElement) {\r\n prevRootElement.removeEventListener('scroll', handleOnScroll);\r\n }\r\n\r\n if (rootElement) {\r\n rootElement.addEventListener('scroll', handleOnScroll);\r\n }\r\n })\r\n );\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [editor]);\r\n\r\n useEffect(() => {\r\n if (flyoutPosition) {\r\n closeFlyout();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [parentScrollPosition]);\r\n\r\n return (\r\n <div className={styles['editor__toolbar-button-group']}>\r\n <div className={styles['editor__toolbar-button-flyoutwrapper']}>\r\n <div className={styles['editor__toolbar-button-group--text']}>\r\n <button\r\n onClick={() => openFlyout('course')}\r\n title={t.cataloguelinks.courseTooltip}\r\n className={clsx(\r\n styles['editor__toolbar-button'],\r\n styles['editor__toolbar-button--text'],\r\n courseIsActive && styles[`editor__toolbar-button--active`]\r\n )}\r\n aria-label={t.aria.labels.courselink}\r\n aria-keyshortcuts={t.aria.keyshortcuts.courselink}\r\n type=\"button\"\r\n ref={courseButtonRef}\r\n >\r\n {t.cataloguelinks.courseButtonLabel}\r\n </button>\r\n <button\r\n onClick={() => openFlyout('programme')}\r\n title={t.cataloguelinks.programmeTooltip}\r\n className={clsx(\r\n styles['editor__toolbar-button'],\r\n styles['editor__toolbar-button--text'],\r\n programmeIsActive && styles[`editor__toolbar-button--active`]\r\n )}\r\n aria-label={t.aria.labels.programmelink}\r\n aria-keyshortcuts={t.aria.keyshortcuts.programmelink}\r\n type=\"button\"\r\n ref={programmeButtonRef}\r\n >\r\n {t.cataloguelinks.programmeButtonLabel}\r\n </button>\r\n </div>\r\n {flyoutPosition && (\r\n <div\r\n className={styles['editor__toolbar-flyout-wrapper']}\r\n style={{ top: flyoutPosition.top, left: flyoutPosition.left }}\r\n ref={flyoutRef}\r\n >\r\n <AddCatalogueLinkForm\r\n linkType={type}\r\n onCloseHandler={closeFlyout}\r\n onSearchHandler={onSearch}\r\n searchResponse={searchResponse}\r\n onSelect={(code, label, linkType) => {\r\n editor.dispatchCommand(INSERT_COURSE_CATALOGUE_LINK, {\r\n linkType,\r\n code,\r\n label,\r\n });\r\n closeFlyout();\r\n }}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n"],"mappings":"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"}
|
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
import { CourseCataloguePlugin as
|
|
2
|
-
export {
|
|
3
|
-
r as CourseCataloguePlugin
|
|
4
|
-
};
|
|
5
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
import { CourseCataloguePlugin as e } from "./CourseCataloguePlugin.js";
|
|
2
|
+
export { e as CourseCataloguePlugin };
|