@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
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { Icon as e } from "./components/Icon/Icon.js";
|
|
2
|
+
import { Button as t } from "./components/Buttons/Button.js";
|
|
3
|
+
import { n } from "./helpers-DcFTH1J1.js";
|
|
4
|
+
import { useTranslation as r } from "./components/RteEditor/hooks/useTranslation.js";
|
|
5
|
+
import { forwardRef as i, useImperativeHandle as a, useLayoutEffect as o, useRef as s, useState as c } from "react";
|
|
6
|
+
import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
7
|
+
import './assets/LinkContextMenu.css';//#region src/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.module.css
|
|
8
|
+
var f = {
|
|
9
|
+
"link-context-menu__wrapper": "_link-context-menu__wrapper_njt00_1",
|
|
10
|
+
"link-context-menu__input": "_link-context-menu__input_njt00_7",
|
|
11
|
+
"link-context-menu__button": "_link-context-menu__button_njt00_25",
|
|
12
|
+
"link-context-menu__actions": "_link-context-menu__actions_njt00_36"
|
|
13
|
+
}, p = i(({ url: i, onSave: p, onDelete: m, onClose: h }, g) => {
|
|
14
|
+
let _ = r(), [v, y] = c(i), [b, x] = c(!1), S = s(null), C = () => {
|
|
15
|
+
y(i), x(!1), S.current?.blur();
|
|
16
|
+
}, w = () => {
|
|
17
|
+
p(v), C();
|
|
18
|
+
}, T = () => {
|
|
19
|
+
m(), y(""), C();
|
|
20
|
+
}, E = () => {
|
|
21
|
+
C(), h();
|
|
22
|
+
}, D = () => {
|
|
23
|
+
window.open(n(i), "_blank");
|
|
24
|
+
};
|
|
25
|
+
return a(g, () => ({ clearForm: C })), o(() => {
|
|
26
|
+
y(i);
|
|
27
|
+
let e = (e) => {
|
|
28
|
+
e.ctrlKey && e.shiftKey && e.key === "L" && (e.preventDefault(), x(!0), setTimeout(() => S.current?.focus(), 0)), e.ctrlKey && e.shiftKey && e.code === "Digit1" && (e.preventDefault(), D(), setTimeout(() => S.current?.focus(), 0)), e.ctrlKey && e.shiftKey && e.key === "Q" && (e.preventDefault(), T(), setTimeout(() => S.current?.focus(), 0));
|
|
29
|
+
};
|
|
30
|
+
return window.addEventListener("keydown", e), () => {
|
|
31
|
+
window.removeEventListener("keydown", e);
|
|
32
|
+
};
|
|
33
|
+
}, [i]), /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ d("div", {
|
|
34
|
+
className: f["link-context-menu__wrapper"],
|
|
35
|
+
children: [
|
|
36
|
+
/* @__PURE__ */ u("input", {
|
|
37
|
+
type: "text",
|
|
38
|
+
value: v,
|
|
39
|
+
onChange: (e) => y(e.target.value),
|
|
40
|
+
className: f["link-context-menu__input"],
|
|
41
|
+
disabled: !b,
|
|
42
|
+
ref: S
|
|
43
|
+
}),
|
|
44
|
+
!b && /* @__PURE__ */ u("button", {
|
|
45
|
+
type: "button",
|
|
46
|
+
className: f["link-context-menu__button"],
|
|
47
|
+
onClick: () => x(!0),
|
|
48
|
+
title: _.links.linkEdittip,
|
|
49
|
+
"aria-label": _.aria.labels.link,
|
|
50
|
+
"aria-keyshortcuts": _.aria.keyshortcuts.editlink,
|
|
51
|
+
children: /* @__PURE__ */ u(e, {
|
|
52
|
+
name: "Pencil",
|
|
53
|
+
size: 20
|
|
54
|
+
})
|
|
55
|
+
}),
|
|
56
|
+
/* @__PURE__ */ u("button", {
|
|
57
|
+
type: "button",
|
|
58
|
+
className: f["link-context-menu__button"],
|
|
59
|
+
onClick: D,
|
|
60
|
+
title: _.links.linkTesttip,
|
|
61
|
+
"aria-label": _.aria.labels.link,
|
|
62
|
+
"aria-keyshortcuts": _.aria.keyshortcuts.testlink,
|
|
63
|
+
children: /* @__PURE__ */ u(e, {
|
|
64
|
+
name: "ArrowTopRightOnSquare",
|
|
65
|
+
size: 20
|
|
66
|
+
})
|
|
67
|
+
}),
|
|
68
|
+
/* @__PURE__ */ u("button", {
|
|
69
|
+
type: "button",
|
|
70
|
+
className: f["link-context-menu__button"],
|
|
71
|
+
onClick: T,
|
|
72
|
+
title: _.links.linkDeletetip,
|
|
73
|
+
"aria-label": _.aria.labels.link,
|
|
74
|
+
"aria-keyshortcuts": _.aria.keyshortcuts.deletelink,
|
|
75
|
+
children: /* @__PURE__ */ u(e, {
|
|
76
|
+
name: "LinkSlash",
|
|
77
|
+
size: 20
|
|
78
|
+
})
|
|
79
|
+
})
|
|
80
|
+
]
|
|
81
|
+
}), b && /* @__PURE__ */ d("div", {
|
|
82
|
+
className: f["link-context-menu__actions"],
|
|
83
|
+
children: [/* @__PURE__ */ u(t, {
|
|
84
|
+
variant: "secondary",
|
|
85
|
+
onClick: E,
|
|
86
|
+
"aria-label": _.common.cancel,
|
|
87
|
+
type: "button",
|
|
88
|
+
children: _.common.cancel
|
|
89
|
+
}), /* @__PURE__ */ u(t, {
|
|
90
|
+
variant: "primary",
|
|
91
|
+
onClick: w,
|
|
92
|
+
"aria-label": _.aria.labels.linkOkButton,
|
|
93
|
+
type: "button",
|
|
94
|
+
children: _.links.addLink
|
|
95
|
+
})]
|
|
96
|
+
})] });
|
|
97
|
+
});
|
|
98
|
+
//#endregion
|
|
99
|
+
export { p as t };
|
|
100
|
+
|
|
101
|
+
//# sourceMappingURL=LinkContextMenu-DZlKfbg1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinkContextMenu-DZlKfbg1.js","names":[],"sources":["../src/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.module.css","../src/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.tsx"],"sourcesContent":[".link-context-menu__wrapper {\n align-items: center;\n display: flex;\n justify-content: flex-start;\n}\n\n.link-context-menu__input {\n appearance: none;\n background-color: transparent;\n border: 2px solid var(--color-navy-600);\n border-radius: 0.5rem;\n color: var(--color-uva-black);\n font-family: inherit;\n font-size: inherit;\n height: 2.5rem;\n margin: 0 0.5rem 0 0;\n min-width: 20rem;\n padding: 0 0.5rem;\n}\n\n.link-context-menu__input:disabled {\n border-color: transparent;\n}\n\n.link-context-menu__button {\n aspect-ratio: 1;\n background-color: transparent;\n border: none;\n border-radius: 0.5rem;\n color: var(--color-uva-black);\n cursor: pointer;\n font-size: inherit;\n height: 2.5rem;\n}\n\n.link-context-menu__actions {\n align-items: center;\n display: flex;\n gap: 0.5rem;\n justify-content: flex-end;\n margin-top: 1rem;\n}\n","import { forwardRef, useImperativeHandle, useLayoutEffect, useRef, useState } from 'react';\n\nimport styles from './LinkContextMenu.module.css';\n\nimport { ensureHttps } from 'components/RteEditor/Plugins/LinkPlugin/helpers';\nimport { Icon } from 'components/Icon';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\nimport { Button } from 'components/Buttons';\n\ninterface LinkContextMenuProps {\n url: string;\n onSave: (url: string) => void;\n onDelete: () => void;\n onClose: () => void;\n}\n\nexport interface linkFormMethods {\n clearForm: () => void;\n}\n\nexport const LinkContextMenu = forwardRef(({ url, onSave, onDelete, onClose }: LinkContextMenuProps, ref) => {\n const t = useTranslation();\n const [link, setLink] = useState(url);\n const [editable, setEditable] = useState(false);\n const linkRef = useRef<HTMLInputElement>(null);\n\n const reset = () => {\n setLink(url);\n setEditable(false);\n linkRef.current?.blur();\n };\n\n const handleSave = () => {\n onSave(link);\n reset();\n };\n\n const handleDelete = () => {\n onDelete();\n setLink('');\n reset();\n };\n\n const handleClose = () => {\n reset();\n onClose();\n };\n\n const handlePreview = () => {\n window.open(ensureHttps(url), '_blank');\n };\n\n useImperativeHandle(ref, () => ({\n clearForm: reset,\n }));\n\n useLayoutEffect(() => {\n setLink(url);\n\n const handleKeydown = (event: KeyboardEvent) => {\n if (event.ctrlKey && event.shiftKey && event.key === 'L') {\n event.preventDefault();\n setEditable(true);\n setTimeout(() => linkRef.current?.focus(), 0);\n }\n\n if (event.ctrlKey && event.shiftKey && event.code === 'Digit1') {\n event.preventDefault();\n handlePreview();\n setTimeout(() => linkRef.current?.focus(), 0);\n }\n\n if (event.ctrlKey && event.shiftKey && event.key === 'Q') {\n event.preventDefault();\n handleDelete();\n setTimeout(() => linkRef.current?.focus(), 0);\n }\n };\n\n window.addEventListener('keydown', handleKeydown);\n\n return () => {\n window.removeEventListener('keydown', handleKeydown);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [url]);\n\n return (\n <>\n <div className={styles['link-context-menu__wrapper']}>\n <input\n type=\"text\"\n value={link}\n onChange={(event) => setLink(event.target.value)}\n className={styles['link-context-menu__input']}\n disabled={!editable}\n ref={linkRef}\n />\n {!editable && (\n <button\n type=\"button\"\n className={styles['link-context-menu__button']}\n onClick={() => setEditable(true)}\n title={t.links.linkEdittip}\n aria-label={t.aria.labels.link}\n aria-keyshortcuts={t.aria.keyshortcuts.editlink}\n >\n <Icon name=\"Pencil\" size={20} />\n </button>\n )}\n <button\n type=\"button\"\n className={styles['link-context-menu__button']}\n onClick={handlePreview}\n title={t.links.linkTesttip}\n aria-label={t.aria.labels.link}\n aria-keyshortcuts={t.aria.keyshortcuts.testlink}\n >\n <Icon name=\"ArrowTopRightOnSquare\" size={20} />\n </button>\n <button\n type=\"button\"\n className={styles['link-context-menu__button']}\n onClick={handleDelete}\n title={t.links.linkDeletetip}\n aria-label={t.aria.labels.link}\n aria-keyshortcuts={t.aria.keyshortcuts.deletelink}\n >\n <Icon name=\"LinkSlash\" size={20} />\n </button>\n </div>\n {editable && (\n <div className={styles['link-context-menu__actions']}>\n <Button variant={'secondary'} onClick={handleClose} aria-label={t.common.cancel} type=\"button\">\n {t.common.cancel}\n </Button>\n <Button variant={'primary'} onClick={handleSave} aria-label={t.aria.labels.linkOkButton} type=\"button\">\n {t.links.addLink}\n </Button>\n </div>\n )}\n </>\n );\n});\n"],"mappings":";;;;;;;;;;;;GCoBa,IAAkB,GAAY,EAAE,QAAK,WAAQ,aAAU,cAAiC,MAAQ;CAC3G,IAAM,IAAI,GAAgB,EACpB,CAAC,GAAM,KAAW,EAAS,EAAI,EAC/B,CAAC,GAAU,KAAe,EAAS,GAAM,EACzC,IAAU,EAAyB,KAAK,EAExC,UAAc;AAGlB,EAFA,EAAQ,EAAI,EACZ,EAAY,GAAM,EAClB,EAAQ,SAAS,MAAM;IAGnB,UAAmB;AAEvB,EADA,EAAO,EAAK,EACZ,GAAO;IAGH,UAAqB;AAGzB,EAFA,GAAU,EACV,EAAQ,GAAG,EACX,GAAO;IAGH,UAAoB;AAExB,EADA,GAAO,EACP,GAAS;IAGL,UAAsB;AAC1B,SAAO,KAAK,EAAY,EAAI,EAAE,SAAS;;AAsCzC,QAnCA,EAAoB,UAAY,EAC9B,WAAW,GACZ,EAAE,EAEH,QAAsB;AACpB,IAAQ,EAAI;EAEZ,IAAM,KAAiB,MAAyB;AAa9C,GAZI,EAAM,WAAW,EAAM,YAAY,EAAM,QAAQ,QACnD,EAAM,gBAAgB,EACtB,EAAY,GAAK,EACjB,iBAAiB,EAAQ,SAAS,OAAO,EAAE,EAAE,GAG3C,EAAM,WAAW,EAAM,YAAY,EAAM,SAAS,aACpD,EAAM,gBAAgB,EACtB,GAAe,EACf,iBAAiB,EAAQ,SAAS,OAAO,EAAE,EAAE,GAG3C,EAAM,WAAW,EAAM,YAAY,EAAM,QAAQ,QACnD,EAAM,gBAAgB,EACtB,GAAc,EACd,iBAAiB,EAAQ,SAAS,OAAO,EAAE,EAAE;;AAMjD,SAFA,OAAO,iBAAiB,WAAW,EAAc,QAEpC;AACX,UAAO,oBAAoB,WAAW,EAAc;;IAGrD,CAAC,EAAI,CAAC,EAGP,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,OAAD;EAAK,WAAW,EAAO;YAAvB;GACE,kBAAC,SAAD;IACE,MAAK;IACL,OAAO;IACP,WAAW,MAAU,EAAQ,EAAM,OAAO,MAAM;IAChD,WAAW,EAAO;IAClB,UAAU,CAAC;IACX,KAAK;IACL,CAAA;GACD,CAAC,KACA,kBAAC,UAAD;IACE,MAAK;IACL,WAAW,EAAO;IAClB,eAAe,EAAY,GAAK;IAChC,OAAO,EAAE,MAAM;IACf,cAAY,EAAE,KAAK,OAAO;IAC1B,qBAAmB,EAAE,KAAK,aAAa;cAEvC,kBAAC,GAAD;KAAM,MAAK;KAAS,MAAM;KAAM,CAAA;IACzB,CAAA;GAEX,kBAAC,UAAD;IACE,MAAK;IACL,WAAW,EAAO;IAClB,SAAS;IACT,OAAO,EAAE,MAAM;IACf,cAAY,EAAE,KAAK,OAAO;IAC1B,qBAAmB,EAAE,KAAK,aAAa;cAEvC,kBAAC,GAAD;KAAM,MAAK;KAAwB,MAAM;KAAM,CAAA;IACxC,CAAA;GACT,kBAAC,UAAD;IACE,MAAK;IACL,WAAW,EAAO;IAClB,SAAS;IACT,OAAO,EAAE,MAAM;IACf,cAAY,EAAE,KAAK,OAAO;IAC1B,qBAAmB,EAAE,KAAK,aAAa;cAEvC,kBAAC,GAAD;KAAM,MAAK;KAAY,MAAM;KAAM,CAAA;IAC5B,CAAA;GACL;KACL,KACC,kBAAC,OAAD;EAAK,WAAW,EAAO;YAAvB,CACE,kBAAC,GAAD;GAAQ,SAAS;GAAa,SAAS;GAAa,cAAY,EAAE,OAAO;GAAQ,MAAK;aACnF,EAAE,OAAO;GACH,CAAA,EACT,kBAAC,GAAD;GAAQ,SAAS;GAAW,SAAS;GAAY,cAAY,EAAE,KAAK,OAAO;GAAc,MAAK;aAC3F,EAAE,MAAM;GACF,CAAA,CACL;IAEP,EAAA,CAAA;EAEL"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { t as e } from "./clsx-BD2qMUU1.js";
|
|
2
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
3
|
+
import { NavLink as n, useLocation as r } from "react-router";
|
|
4
|
+
import './assets/MenuLink2.css';//#region src/components/MenuLink/MenuLink.module.css
|
|
5
|
+
var i = {
|
|
6
|
+
"menu-link": "_menu-link_8gjhh_1",
|
|
7
|
+
"menu-link--active": "_menu-link--active_8gjhh_8"
|
|
8
|
+
}, a = ({ overrideDefault: a, ...o }) => {
|
|
9
|
+
let s = r(), c = (e) => e.replace(/s$/, ""), l = (e) => {
|
|
10
|
+
let t = s.pathname.split("/").filter(Boolean), n = e.split("/").filter(Boolean).slice(-1)[0], r = c(n);
|
|
11
|
+
return t.some((e) => c(e) === r);
|
|
12
|
+
};
|
|
13
|
+
return /* @__PURE__ */ t(n, {
|
|
14
|
+
...o,
|
|
15
|
+
className: ({ isActive: t }) => e(i["menu-link"], { [i["menu-link--active"]]: a ? "" : t || l(o.to) })
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
export { a as t };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=MenuLink-Cm1yZO_5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuLink-Cm1yZO_5.js","names":[],"sources":["../src/components/MenuLink/MenuLink.module.css","../src/components/MenuLink/MenuLink.tsx"],"sourcesContent":[".menu-link {\n border-bottom: 0.125rem solid transparent;\n text-decoration: none;\n transition: var(--transition-colors) var(--default-duration) var(--default-easing-function);\n}\n\n.menu-link:hover,\n.menu-link--active {\n border-bottom-color: inherit;\n color: unset;\n}\n\n.menu-link--active {\n font-weight: var(--semibold);\n}\n","import classNames from 'clsx';\nimport { NavLink, useLocation } from 'react-router';\n\nimport type { NavLinkProps } from 'react-router';\n\nimport styles from './MenuLink.module.css';\n\n/** Represents a component for a [NavLink](https://reactrouter.com/en/main/components/nav-link) with styling. */\n// Omit style so it cannot be accidentally used\nexport interface MenuLinkProps extends Omit<NavLinkProps, 'style'> {\n overrideDefault?: boolean;\n}\n\nexport const MenuLink = ({ overrideDefault, ...props }: MenuLinkProps) => {\n const location = useLocation();\n\n // Helper function to remove trailing 's' from a string\n const singularize = (str: string) => str.replace(/s$/, '');\n\n // Check if 'to' path (singular version) matches any segment (singular version)\n const isActiveSingular = (to: string) => {\n const currentSegments = location.pathname.split('/').filter(Boolean);\n const latestToPath = to.split('/').filter(Boolean).slice(-1)[0]; // return only lates path removing any prepend path\n const singularizedToPath = singularize(latestToPath);\n\n return currentSegments.some((segment) => singularize(segment) === singularizedToPath);\n };\n\n return (\n <NavLink\n {...props}\n className={({ isActive }) =>\n classNames(styles['menu-link'], {\n [styles['menu-link--active']]: overrideDefault ? '' : isActive || isActiveSingular(props.to as string),\n })\n }\n />\n );\n};\n"],"mappings":";;;;;;;GCaa,KAAY,EAAE,oBAAiB,GAAG,QAA2B;CACxE,IAAM,IAAW,GAAa,EAGxB,KAAe,MAAgB,EAAI,QAAQ,MAAM,GAAG,EAGpD,KAAoB,MAAe;EACvC,IAAM,IAAkB,EAAS,SAAS,MAAM,IAAI,CAAC,OAAO,QAAQ,EAC9D,IAAe,EAAG,MAAM,IAAI,CAAC,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,IACvD,IAAqB,EAAY,EAAa;AAEpD,SAAO,EAAgB,MAAM,MAAY,EAAY,EAAQ,KAAK,EAAmB;;AAGvF,QACE,kBAAC,GAAD;EACE,GAAI;EACJ,YAAY,EAAE,kBACZ,EAAW,EAAO,cAAc,GAC7B,EAAO,uBAAuB,IAAkB,KAAK,KAAY,EAAiB,EAAM,GAAa,EACvG,CAAC;EAEJ,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Icon as e } from "./components/Icon/Icon.js";
|
|
2
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
3
|
+
import './assets/MetaDataBar.css';//#region src/components/MetaDataBar/MetaDataBar.module.css
|
|
4
|
+
var r = {
|
|
5
|
+
"meta-data-bar": "_meta-data-bar_1kexb_1",
|
|
6
|
+
"meta-data-bar__item": "_meta-data-bar__item_1kexb_12"
|
|
7
|
+
}, i = ({ itemData: i }) => /* @__PURE__ */ t("div", {
|
|
8
|
+
className: r["meta-data-bar"],
|
|
9
|
+
children: i.map(({ iconName: i, itemLabel: a }) => a.indexOf("undefined") === -1 && /* @__PURE__ */ n("div", {
|
|
10
|
+
className: r["meta-data-bar__item"],
|
|
11
|
+
children: [/* @__PURE__ */ t(e, {
|
|
12
|
+
name: i,
|
|
13
|
+
size: 16
|
|
14
|
+
}), /* @__PURE__ */ t("span", {
|
|
15
|
+
className: r["meta-data-bar__item-label"],
|
|
16
|
+
children: a
|
|
17
|
+
})]
|
|
18
|
+
}, a))
|
|
19
|
+
});
|
|
20
|
+
//#endregion
|
|
21
|
+
export { i as t };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=MetaDataBar-C4QO9oBV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetaDataBar-C4QO9oBV.js","names":[],"sources":["../src/components/MetaDataBar/MetaDataBar.module.css","../src/components/MetaDataBar/MetaDataBar.tsx"],"sourcesContent":[".meta-data-bar {\n align-items: center;\n background-color: var(--color-uva-white);\n color: var(--color-grey-700);\n display: flex;\n flex-wrap: wrap;\n gap: 1.5rem;\n padding: 1rem;\n width: fit-content;\n}\n\n.meta-data-bar__item {\n align-items: center;\n display: flex;\n font-size: var(--font-size-text-non-essential);\n gap: 0.5rem;\n line-height: 1.5rem;\n white-space: nowrap;\n}\n","import type { IconProps } from 'components/Icon';\n\nimport styles from './MetaDataBar.module.css';\n\nimport { Icon } from 'components/Icon';\n\nexport type itemType = {\n iconName: IconProps['name'];\n itemLabel: string;\n};\n\nexport interface MetaDataBarProps {\n /** A array of itemType object's to display in the bar. itemType { iconName: IconProps['name']; itemLabel: string; } */\n itemData: itemType[];\n}\n\n/** Represents a component that displays a array of data in a bar. */\nexport const MetaDataBar = ({ itemData }: MetaDataBarProps) => {\n return (\n <div className={styles['meta-data-bar']}>\n {itemData.map(({ iconName, itemLabel }) => {\n return (\n itemLabel.indexOf('undefined') === -1 && (\n <div className={styles['meta-data-bar__item']} key={itemLabel}>\n <Icon name={iconName} size={16} />\n <span className={styles['meta-data-bar__item-label']}>{itemLabel}</span>\n </div>\n )\n );\n })}\n </div>\n );\n};\n"],"mappings":";;;;;;GCiBa,KAAe,EAAE,kBAE1B,kBAAC,OAAD;CAAK,WAAW,EAAO;WACpB,EAAS,KAAK,EAAE,aAAU,mBAEvB,EAAU,QAAQ,YAAY,KAAK,MACjC,kBAAC,OAAD;EAAK,WAAW,EAAO;YAAvB,CACE,kBAAC,GAAD;GAAM,MAAM;GAAU,MAAM;GAAM,CAAA,EAClC,kBAAC,QAAD;GAAM,WAAW,EAAO;aAA+B;GAAiB,CAAA,CACpE;IAH8C,EAG9C,CAGV;CACE,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as e, jsxs as t } from "react/jsx-runtime";
|
|
2
|
+
import './assets/MetaDataList.css';//#region src/components/MetaDataList/MetaDataList.module.css
|
|
3
|
+
var n = {
|
|
4
|
+
"meta-data-list": "_meta-data-list_1kah2_1",
|
|
5
|
+
"meta-data-list__item": "_meta-data-list__item_1kah2_5",
|
|
6
|
+
"meta-data-list__term": "_meta-data-list__term_1kah2_16",
|
|
7
|
+
"meta-data-list__description": "_meta-data-list__description_1kah2_20"
|
|
8
|
+
}, r = ({ items: r }) => /* @__PURE__ */ e("dl", {
|
|
9
|
+
className: n["meta-data-list"],
|
|
10
|
+
children: Object.entries(r).map(([r, i]) => /* @__PURE__ */ t("div", {
|
|
11
|
+
className: n["meta-data-list__item"],
|
|
12
|
+
children: [/* @__PURE__ */ e("dt", {
|
|
13
|
+
className: n["meta-data-list__term"],
|
|
14
|
+
children: r
|
|
15
|
+
}), /* @__PURE__ */ e("dd", {
|
|
16
|
+
className: n["meta-data-list__description"],
|
|
17
|
+
children: i
|
|
18
|
+
})]
|
|
19
|
+
}, r))
|
|
20
|
+
});
|
|
21
|
+
//#endregion
|
|
22
|
+
export { r as t };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=MetaDataList-CAR1HTYs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetaDataList-CAR1HTYs.js","names":[],"sources":["../src/components/MetaDataList/MetaDataList.module.css","../src/components/MetaDataList/MetaDataList.tsx"],"sourcesContent":[".meta-data-list {\n margin: 0;\n}\n\n.meta-data-list__item {\n display: flex;\n gap: 1rem;\n justify-content: space-between;\n padding: 0.5rem 0;\n}\n\n.meta-data-list__item:not(:last-of-type) {\n border-bottom: 1px solid var(--color-grey-400);\n}\n\n.meta-data-list__term {\n color: var(--color-grey-700);\n}\n\n.meta-data-list__description {\n align-items: center;\n display: inline-flex;\n font-weight: var(--semibold);\n margin: 0;\n text-align: right;\n}\n","import type { ReactNode } from 'react';\n\nimport styles from './MetaDataList.module.css';\n\nexport interface MetaDataListProps {\n /** A list of key value pairs to display. The value is be a [ReactNode](https://reactnative.dev/docs/react-node). */\n items: Record<string, ReactNode>;\n}\n\n/** Represents a component of a list of key value pairs. */\nexport const MetaDataList = ({ items }: MetaDataListProps) => (\n <dl className={styles['meta-data-list']}>\n {Object.entries(items).map(([term, description]) => (\n <div key={term} className={styles['meta-data-list__item']}>\n <dt className={styles['meta-data-list__term']}>{term}</dt>\n <dd className={styles['meta-data-list__description']}>{description}</dd>\n </div>\n ))}\n </dl>\n);\n"],"mappings":";;;;;;;GCUa,KAAgB,EAAE,eAC7B,kBAAC,MAAD;CAAI,WAAW,EAAO;WACnB,OAAO,QAAQ,EAAM,CAAC,KAAK,CAAC,GAAM,OACjC,kBAAC,OAAD;EAAgB,WAAW,EAAO;YAAlC,CACE,kBAAC,MAAD;GAAI,WAAW,EAAO;aAA0B;GAAU,CAAA,EAC1D,kBAAC,MAAD;GAAI,WAAW,EAAO;aAAiC;GAAiB,CAAA,CACpE;IAHI,EAGJ,CACN;CACC,CAAA"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { t as e } from "./clsx-BD2qMUU1.js";
|
|
2
|
+
import { t } from "./Backdrop-D8AHeuBn.js";
|
|
3
|
+
import { t as n } from "./OverlayCloseButton-rttFbAM_.js";
|
|
4
|
+
import { t as r } from "./Spinner-D8tWqg9j.js";
|
|
5
|
+
import { useEffect as i, useRef as a, useState as o } from "react";
|
|
6
|
+
import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
7
|
+
import { useDialog as u } from "@react-aria/dialog";
|
|
8
|
+
import { FocusScope as d } from "@react-aria/focus";
|
|
9
|
+
import { OverlayContainer as f, useModal as p, useOverlay as m, usePreventScroll as h } from "@react-aria/overlays";
|
|
10
|
+
import './assets/ModalDialog.css';//#region src/components/ModalDialog/ModalDialog.module.css
|
|
11
|
+
var g = {
|
|
12
|
+
"modal-dialog": "_modal-dialog_15zh0_1",
|
|
13
|
+
"modal-dialog--padded": "_modal-dialog--padded_15zh0_18",
|
|
14
|
+
"modal-dialog__content": "_modal-dialog__content_15zh0_22",
|
|
15
|
+
"modal-dialog__children": "_modal-dialog__children_15zh0_33",
|
|
16
|
+
"modal-dialog__title": "_modal-dialog__title_15zh0_37",
|
|
17
|
+
"modal-dialog--confirm": "_modal-dialog--confirm_15zh0_44",
|
|
18
|
+
"modal-dialog__buttons": "_modal-dialog__buttons_15zh0_48",
|
|
19
|
+
"modal-dialog__buttons--border": "_modal-dialog__buttons--border_15zh0_61",
|
|
20
|
+
"modal-dialog__buttons--shadow": "_modal-dialog__buttons--shadow_15zh0_78",
|
|
21
|
+
"modal-dialog__close": "_modal-dialog__close_15zh0_82",
|
|
22
|
+
"modal-dialog--small": "_modal-dialog--small_15zh0_99",
|
|
23
|
+
"modal-dialog--regular": "_modal-dialog--regular_15zh0_103",
|
|
24
|
+
"modal-dialog--medium": "_modal-dialog--medium_15zh0_107",
|
|
25
|
+
"modal-dialog--large": "_modal-dialog--large_15zh0_111",
|
|
26
|
+
"modal-dialog--content-with-buttons": "_modal-dialog--content-with-buttons_15zh0_125"
|
|
27
|
+
};
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region src/components/ModalDialog/ModalDialog.tsx
|
|
30
|
+
function _(_) {
|
|
31
|
+
let { buttons: v, children: y, isDismissable: b = !0, isKeyboardDismissDisabled: x = !b, isLoading: S, spinnerAriaValueText: C = "Loading", closeButtonAriaValueText: w = "Close", isOpen: T, noValidate: E = !1, onClose: D, onSubmit: O, role: k = "dialog", title: A, headerContent: j, variant: M = "dialog", padded: N, size: P = "regular", noButtonBorder: F = !1 } = _, I = a(null), L = a(null), [R, z] = o(!1), [B, V] = o(!1), { dialogProps: H, titleProps: U } = u({ role: k }, I), { modalProps: W } = p({ isDisabled: !T }), { overlayProps: G, underlayProps: K } = m({
|
|
32
|
+
isDismissable: b,
|
|
33
|
+
isKeyboardDismissDisabled: x,
|
|
34
|
+
isOpen: T,
|
|
35
|
+
onClose: D
|
|
36
|
+
}, I);
|
|
37
|
+
h({ isDisabled: !T }), i(() => {
|
|
38
|
+
let e = L.current;
|
|
39
|
+
function t() {
|
|
40
|
+
if (e) {
|
|
41
|
+
let t = e.scrollHeight, n = e.clientHeight, r = e.scrollTop;
|
|
42
|
+
z(t > n), V(r + n >= t);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function n() {
|
|
46
|
+
t();
|
|
47
|
+
}
|
|
48
|
+
e && (e.addEventListener("scroll", n), window.addEventListener("resize", n));
|
|
49
|
+
let r = setTimeout(() => {
|
|
50
|
+
t();
|
|
51
|
+
}, 0);
|
|
52
|
+
return () => {
|
|
53
|
+
e && e.removeEventListener("scroll", n), window.removeEventListener("resize", n), clearTimeout(r);
|
|
54
|
+
};
|
|
55
|
+
}, [T, j]);
|
|
56
|
+
function q(e) {
|
|
57
|
+
e.stopPropagation();
|
|
58
|
+
}
|
|
59
|
+
return T ? /* @__PURE__ */ c(f, { children: /* @__PURE__ */ c(t, {
|
|
60
|
+
...K,
|
|
61
|
+
children: S ? /* @__PURE__ */ c(r, { ariaValueText: C }) : /* @__PURE__ */ c(s, { children: /* @__PURE__ */ c(d, {
|
|
62
|
+
autoFocus: !0,
|
|
63
|
+
contain: !0,
|
|
64
|
+
restoreFocus: !0,
|
|
65
|
+
children: /* @__PURE__ */ l("div", {
|
|
66
|
+
...H,
|
|
67
|
+
...W,
|
|
68
|
+
...G,
|
|
69
|
+
className: e(g["modal-dialog"], [g[`modal-dialog--${P}`]], {
|
|
70
|
+
[g["modal-dialog--confirm"]]: M === "confirm",
|
|
71
|
+
[g["modal-dialog--padded"]]: N
|
|
72
|
+
}),
|
|
73
|
+
onKeyUp: q,
|
|
74
|
+
role: "presentation",
|
|
75
|
+
ref: I,
|
|
76
|
+
children: [(A || j) && M === "dialog" && /* @__PURE__ */ l(s, { children: [
|
|
77
|
+
A && /* @__PURE__ */ c("h1", {
|
|
78
|
+
...U,
|
|
79
|
+
className: g["modal-dialog__title"],
|
|
80
|
+
children: A
|
|
81
|
+
}),
|
|
82
|
+
j,
|
|
83
|
+
M === "dialog" && /* @__PURE__ */ c("span", {
|
|
84
|
+
className: g["modal-dialog__close"],
|
|
85
|
+
children: /* @__PURE__ */ c(n, {
|
|
86
|
+
"aria-label": w,
|
|
87
|
+
onClick: D,
|
|
88
|
+
paddedModal: N
|
|
89
|
+
})
|
|
90
|
+
})
|
|
91
|
+
] }), /* @__PURE__ */ l("form", {
|
|
92
|
+
className: e(g["modal-dialog__content"], { [g["modal-dialog--content-with-buttons"]]: v }),
|
|
93
|
+
onSubmit: O,
|
|
94
|
+
noValidate: E,
|
|
95
|
+
ref: L,
|
|
96
|
+
children: [/* @__PURE__ */ c("div", {
|
|
97
|
+
className: e({ [g["modal-dialog__children"]]: !F }),
|
|
98
|
+
children: y
|
|
99
|
+
}), v && /* @__PURE__ */ c("div", {
|
|
100
|
+
className: e(g["modal-dialog__buttons"], {
|
|
101
|
+
[g["modal-dialog__buttons--border"]]: !F,
|
|
102
|
+
[g["modal-dialog__buttons--shadow"]]: R && !B
|
|
103
|
+
}),
|
|
104
|
+
children: v
|
|
105
|
+
})]
|
|
106
|
+
})]
|
|
107
|
+
})
|
|
108
|
+
}) })
|
|
109
|
+
}) }) : null;
|
|
110
|
+
}
|
|
111
|
+
//#endregion
|
|
112
|
+
export { _ as t };
|
|
113
|
+
|
|
114
|
+
//# sourceMappingURL=ModalDialog-HUkDdAJ-.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalDialog-HUkDdAJ-.js","names":[],"sources":["../src/components/ModalDialog/ModalDialog.module.css","../src/components/ModalDialog/ModalDialog.tsx"],"sourcesContent":[".modal-dialog {\n --modal-dialog-padding: 1.5rem;\n --modal-dialog-padding-mobile: 1.25rem;\n\n background: var(--color-uva-white);\n box-shadow:\n 0 2px 2px hsl(0deg 0% 0% / 6%),\n 0 4px 3px hsla(0deg 0% 0% / 7%);\n display: flex;\n flex-direction: column;\n\n /* dynamic view height needed to adapt for possible auto hiding of mobile address bar */\n height: 100dvh;\n position: relative;\n width: 100vw;\n}\n\n.modal-dialog--padded {\n padding: 0;\n}\n\n.modal-dialog__content {\n display: flex;\n flex-direction: column;\n height: 100svh;\n justify-content: space-between;\n overflow: hidden;\n overflow-y: auto;\n padding: 0 var(--modal-dialog-padding-mobile);\n width: 100%;\n}\n\n.modal-dialog__children {\n padding-bottom: var(--modal-dialog-padding-mobile);\n}\n\n.modal-dialog__title {\n font-size: var(--font-size-m);\n line-height: var(--line-height-m);\n margin: 0 var(--modal-dialog-padding-mobile) 0 0;\n padding: var(--modal-dialog-padding-mobile);\n}\n\n.modal-dialog--confirm {\n padding: var(--modal-dialog-padding-mobile) 0 0;\n}\n\n.modal-dialog__buttons {\n background-color: var(--color-uva-white);\n bottom: 0;\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n justify-content: flex-start;\n margin: 0 calc(-1 * var(--modal-dialog-padding-mobile));\n padding: var(--modal-dialog-padding-mobile);\n position: sticky;\n right: 0;\n}\n\n.modal-dialog__buttons--border {\n border-top: 1px solid var(--color-grey-300);\n}\n\n.modal-dialog__buttons::before {\n background: linear-gradient(to top, rgba(0 0 0 / 30%), rgba(0 0 0 / 0%));\n bottom: 100%;\n content: \"\";\n height: 10px;\n left: 0;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n right: 0;\n transition: opacity 0.4s ease-out;\n}\n\n.modal-dialog__buttons--shadow::before {\n opacity: 1; /* Show the shadow when content is scrollable and not scrolled to the bottom */\n}\n\n.modal-dialog__close {\n position: absolute;\n right: var(--modal-dialog-padding-mobile);\n top: var(--modal-dialog-padding-mobile);\n}\n\n@media (min-width: 28rem) and (min-height: 28rem) {\n .modal-dialog {\n height: unset;\n max-height: 100svh;\n max-width: 100vw;\n }\n\n .modal-dialog--padded {\n width: 34.25rem;\n }\n\n .modal-dialog--small {\n width: 27.5rem;\n }\n\n .modal-dialog--regular {\n width: 30rem;\n }\n\n .modal-dialog--medium {\n width: 36rem;\n }\n\n .modal-dialog--large {\n width: 65.375rem;\n }\n\n .modal-dialog__title {\n margin-right: var(--modal-dialog-padding);\n padding: var(--modal-dialog-padding);\n }\n\n .modal-dialog__content {\n height: unset;\n padding: 0 var(--modal-dialog-padding);\n }\n\n .modal-dialog--content-with-buttons {\n margin-bottom: 5.75rem;\n }\n\n .modal-dialog__children {\n padding-bottom: var(--modal-dialog-padding);\n }\n\n .modal-dialog--confirm {\n padding: var(--modal-dialog-padding) 0 0;\n }\n\n .modal-dialog__buttons {\n margin: unset;\n padding: var(--modal-dialog-padding);\n position: absolute;\n width: inherit;\n }\n\n .modal-dialog__close {\n position: absolute;\n right: var(--modal-dialog-padding);\n top: var(--modal-dialog-padding);\n }\n}\n","import { useDialog } from '@react-aria/dialog';\nimport { FocusScope } from '@react-aria/focus';\nimport { OverlayContainer, useModal, useOverlay, usePreventScroll } from '@react-aria/overlays';\nimport { clsx } from 'clsx';\nimport { useEffect, useRef, useState } from 'react';\n\nimport type { FormHTMLAttributes, KeyboardEvent, PropsWithChildren, ReactNode } from 'react';\nimport type { AriaDialogProps } from '@react-types/dialog';\n\nimport styles from './ModalDialog.module.css';\n\nimport { Backdrop } from 'components/Backdrop';\nimport { OverlayCloseButton } from 'components/OverlayCloseButton';\nimport { Spinner } from 'components/Spinner';\n\nexport interface ModalDialogProps {\n /** The buttons of the dialog. */\n buttons?: ReactNode;\n /** `true` if the dialog can be closed by clicking outside of it; otherwise, `false`. The default is `false`. */\n isDismissable?: boolean;\n /** `true` to disable closing the dialog with the keyboard; otherwise, `false`. The default is `false`. */\n isKeyboardDismissDisabled?: boolean;\n /** `true` to show a spinner, if the contents of the dialog is lazy loaded; otherwise, `false`. The default is `false`. */\n isLoading?: boolean;\n /** The `aria-valuetext` value of the [Spinner](/story/atoms-spinner--spinner-example) component. The default is `'Loading'` Used together with `isLoading`. */\n spinnerAriaValueText?: string;\n /** The `aria-label` value of the [OverlayCloseButton](/story/atoms-overlayclosebutton--overlay-close-button-example) component. The default is `'Close'` */\n closeButtonAriaValueText?: string;\n /** `true` to render the dialog opened; otherwise, `false`. The default is `false`. */\n isOpen: boolean;\n /** `true` to disable form validation; otherwise, `false`. The default is `false`. */\n noValidate?: boolean;\n /** The callback function that is invoked when the dialog is closed. */\n onClose?(): void;\n /** The callback function that is invoked when the form is submitted. */\n onSubmit?: FormHTMLAttributes<HTMLFormElement>['onSubmit'];\n /** The `aria-role` value of the dialog. Possible values are `'dialog'`, `'alertdialog'`. The default is `'dialog'`. */\n role?: AriaDialogProps['role'];\n /** The title of the dialog. */\n title?: string;\n /** The contents of the dialog header. */\n headerContent?: ReactNode;\n /** The variant of the dialog. */\n variant?: 'confirm' | 'dialog';\n /** `true` to add padding to the dialog; otherwise, `false`. The default is `false`. */\n padded?: boolean;\n /** Size of the dialog. */\n size?: 'small' | 'regular' | 'medium' | 'large';\n /** `true` to show a border between the main content of the dialog and the buttons; otherwise, `false`. The default is `false`. */\n noButtonBorder?: boolean;\n}\n\n/** Represents a component for a modal dialog. */\nexport function ModalDialog(props: PropsWithChildren<ModalDialogProps>) {\n const {\n buttons,\n children,\n isDismissable = true,\n isKeyboardDismissDisabled = !isDismissable,\n isLoading,\n spinnerAriaValueText = 'Loading',\n closeButtonAriaValueText = 'Close',\n isOpen,\n noValidate = false,\n onClose,\n onSubmit,\n role = 'dialog',\n title,\n headerContent,\n variant = 'dialog',\n padded,\n size = 'regular',\n noButtonBorder = false,\n } = props;\n\n const ref = useRef<HTMLDivElement>(null);\n const formRef = useRef<HTMLFormElement>(null);\n const [isScrollable, setIsScrollable] = useState(false);\n const [isScrolledToBottom, setIsScrolledToBottom] = useState(false);\n\n const { dialogProps, titleProps } = useDialog({ role }, ref);\n const { modalProps } = useModal({ isDisabled: !isOpen });\n const { overlayProps, underlayProps } = useOverlay(\n { isDismissable, isKeyboardDismissDisabled, isOpen, onClose },\n ref\n );\n\n usePreventScroll({ isDisabled: !isOpen });\n\n useEffect(() => {\n const formElement = formRef.current;\n\n function checkScrollable() {\n if (formElement) {\n const scrollHeight = formElement.scrollHeight;\n const clientHeight = formElement.clientHeight;\n const scrollTop = formElement.scrollTop;\n\n setIsScrollable(scrollHeight > clientHeight);\n setIsScrolledToBottom(scrollTop + clientHeight >= scrollHeight);\n }\n }\n\n function handleScrollAndResize() {\n checkScrollable();\n }\n\n if (formElement) {\n formElement.addEventListener('scroll', handleScrollAndResize);\n window.addEventListener('resize', handleScrollAndResize);\n }\n\n const timeoutId = setTimeout(() => {\n checkScrollable();\n }, 0);\n\n return () => {\n if (formElement) {\n formElement.removeEventListener('scroll', handleScrollAndResize);\n }\n window.removeEventListener('resize', handleScrollAndResize);\n clearTimeout(timeoutId);\n };\n }, [isOpen, headerContent]);\n\n function onKeyUp(event: KeyboardEvent) {\n event.stopPropagation();\n }\n\n if (!isOpen) return null;\n\n return (\n <OverlayContainer>\n <Backdrop {...underlayProps}>\n {isLoading ? (\n <Spinner ariaValueText={spinnerAriaValueText} />\n ) : (\n <>\n {/* eslint-disable-next-line jsx-a11y/no-autofocus */}\n <FocusScope autoFocus contain restoreFocus>\n <div\n {...dialogProps}\n {...modalProps}\n {...overlayProps}\n className={clsx(styles['modal-dialog'], [styles[`modal-dialog--${size}`]], {\n [styles['modal-dialog--confirm']]: variant === 'confirm',\n [styles['modal-dialog--padded']]: padded,\n })}\n onKeyUp={onKeyUp}\n role=\"presentation\"\n ref={ref}\n >\n {(title || headerContent) && variant === 'dialog' && (\n <>\n {title && (\n <h1 {...titleProps} className={styles['modal-dialog__title']}>\n {title}\n </h1>\n )}\n {headerContent}\n {variant === 'dialog' && (\n <span className={styles['modal-dialog__close']}>\n <OverlayCloseButton\n aria-label={closeButtonAriaValueText}\n onClick={onClose}\n paddedModal={padded}\n />\n </span>\n )}\n </>\n )}\n <form\n className={clsx(styles['modal-dialog__content'], {\n [styles['modal-dialog--content-with-buttons']]: buttons,\n })}\n onSubmit={onSubmit}\n noValidate={noValidate}\n ref={formRef}\n >\n <div className={clsx({ [styles['modal-dialog__children']]: !noButtonBorder })}>{children}</div>\n {buttons && (\n <div\n className={clsx(styles['modal-dialog__buttons'], {\n [styles['modal-dialog__buttons--border']]: !noButtonBorder,\n [styles['modal-dialog__buttons--shadow']]: isScrollable && !isScrolledToBottom,\n })}\n >\n {buttons}\n </div>\n )}\n </form>\n </div>\n </FocusScope>\n </>\n )}\n </Backdrop>\n </OverlayContainer>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACqDA,SAAgB,EAAY,GAA4C;CACtE,IAAM,EACJ,YACA,aACA,mBAAgB,IAChB,+BAA4B,CAAC,GAC7B,cACA,0BAAuB,WACvB,8BAA2B,SAC3B,WACA,gBAAa,IACb,YACA,aACA,UAAO,UACP,UACA,kBACA,aAAU,UACV,WACA,UAAO,WACP,oBAAiB,OACf,GAEE,IAAM,EAAuB,KAAK,EAClC,IAAU,EAAwB,KAAK,EACvC,CAAC,GAAc,KAAmB,EAAS,GAAM,EACjD,CAAC,GAAoB,KAAyB,EAAS,GAAM,EAE7D,EAAE,gBAAa,kBAAe,EAAU,EAAE,SAAM,EAAE,EAAI,EACtD,EAAE,kBAAe,EAAS,EAAE,YAAY,CAAC,GAAQ,CAAC,EAClD,EAAE,iBAAc,qBAAkB,EACtC;EAAE;EAAe;EAA2B;EAAQ;EAAS,EAC7D,EACD;AAID,CAFA,EAAiB,EAAE,YAAY,CAAC,GAAQ,CAAC,EAEzC,QAAgB;EACd,IAAM,IAAc,EAAQ;EAE5B,SAAS,IAAkB;AACzB,OAAI,GAAa;IACf,IAAM,IAAe,EAAY,cAC3B,IAAe,EAAY,cAC3B,IAAY,EAAY;AAG9B,IADA,EAAgB,IAAe,EAAa,EAC5C,EAAsB,IAAY,KAAgB,EAAa;;;EAInE,SAAS,IAAwB;AAC/B,MAAiB;;AAGnB,EAAI,MACF,EAAY,iBAAiB,UAAU,EAAsB,EAC7D,OAAO,iBAAiB,UAAU,EAAsB;EAG1D,IAAM,IAAY,iBAAiB;AACjC,MAAiB;KAChB,EAAE;AAEL,eAAa;AAKX,GAJI,KACF,EAAY,oBAAoB,UAAU,EAAsB,EAElE,OAAO,oBAAoB,UAAU,EAAsB,EAC3D,aAAa,EAAU;;IAExB,CAAC,GAAQ,EAAc,CAAC;CAE3B,SAAS,EAAQ,GAAsB;AACrC,IAAM,iBAAiB;;AAKzB,QAFK,IAGH,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EAAU,GAAI;YACX,IACC,kBAAC,GAAD,EAAS,eAAe,GAAwB,CAAA,GAEhD,kBAAA,GAAA,EAAA,UAEE,kBAAC,GAAD;GAAY,WAAA;GAAU,SAAA;GAAQ,cAAA;aAC5B,kBAAC,OAAD;IACE,GAAI;IACJ,GAAI;IACJ,GAAI;IACJ,WAAW,EAAK,EAAO,iBAAiB,CAAC,EAAO,iBAAiB,KAAQ,EAAE;MACxE,EAAO,2BAA2B,MAAY;MAC9C,EAAO,0BAA0B;KACnC,CAAC;IACO;IACT,MAAK;IACA;cAVP,EAYI,KAAS,MAAkB,MAAY,YACvC,kBAAA,GAAA,EAAA,UAAA;KACG,KACC,kBAAC,MAAD;MAAI,GAAI;MAAY,WAAW,EAAO;gBACnC;MACE,CAAA;KAEN;KACA,MAAY,YACX,kBAAC,QAAD;MAAM,WAAW,EAAO;gBACtB,kBAAC,GAAD;OACE,cAAY;OACZ,SAAS;OACT,aAAa;OACb,CAAA;MACG,CAAA;KAER,EAAA,CAAA,EAEL,kBAAC,QAAD;KACE,WAAW,EAAK,EAAO,0BAA0B,GAC9C,EAAO,wCAAwC,GACjD,CAAC;KACQ;KACE;KACZ,KAAK;eANP,CAQE,kBAAC,OAAD;MAAK,WAAW,EAAK,GAAG,EAAO,4BAA4B,CAAC,GAAgB,CAAC;MAAG;MAAe,CAAA,EAC9F,KACC,kBAAC,OAAD;MACE,WAAW,EAAK,EAAO,0BAA0B;QAC9C,EAAO,mCAAmC,CAAC;QAC3C,EAAO,mCAAmC,KAAgB,CAAC;OAC7D,CAAC;gBAED;MACG,CAAA,CAEH;OACH;;GACK,CAAA,EACZ,CAAA;EAEI,CAAA,EACM,CAAA,GAnED"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { t as e } from "./clsx-BD2qMUU1.js";
|
|
2
|
+
import { Icon as t } from "./components/Icon/Icon.js";
|
|
3
|
+
import { t as n } from "./Checkbox-D6-b_4dC.js";
|
|
4
|
+
import { usePositionedFloaters as r } from "./components/hooks/usePositionedFloaters.js";
|
|
5
|
+
import { useCallback as i, useEffect as a, useId as o, useRef as s, useState as c } from "react";
|
|
6
|
+
import { jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
7
|
+
import './assets/MultiSelectBox.css';//#region src/components/MultiSelectBox/MultiSelectBox.module.css
|
|
8
|
+
var d = {
|
|
9
|
+
"multi-select-box-wrapper": "_multi-select-box-wrapper_wvuay_1",
|
|
10
|
+
"multi-select-box-trigger": "_multi-select-box-trigger_wvuay_5",
|
|
11
|
+
"multi-select-box-trigger--darkBorder": "_multi-select-box-trigger--darkBorder_wvuay_22",
|
|
12
|
+
"multi-select-box-trigger--not-valid": "_multi-select-box-trigger--not-valid_wvuay_26",
|
|
13
|
+
"multi-select-box-trigger-label": "_multi-select-box-trigger-label_wvuay_40",
|
|
14
|
+
"multi-select-box-trigger-icon": "_multi-select-box-trigger-icon_wvuay_54",
|
|
15
|
+
"multi-select-box-trigger-icon--open": "_multi-select-box-trigger-icon--open_wvuay_59",
|
|
16
|
+
"multi-select-box-listbox--wrapper": "_multi-select-box-listbox--wrapper_wvuay_63",
|
|
17
|
+
"multi-select-box-listbox": "_multi-select-box-listbox_wvuay_63",
|
|
18
|
+
"multi-select-box-listbox-option": "_multi-select-box-listbox-option_wvuay_90",
|
|
19
|
+
"multi-select-box-listbox-option--active": "_multi-select-box-listbox-option--active_wvuay_101",
|
|
20
|
+
"multi-select-box-listbox-option-content": "_multi-select-box-listbox-option-content_wvuay_112",
|
|
21
|
+
"multi-select-box-listbox-option--disabled": "_multi-select-box-listbox-option--disabled_wvuay_126"
|
|
22
|
+
}, f = ({ selectData: f, onChange: p, defaultSelectedItems: m, labelSuffix: h = "geselecteerd", disabled: g = !1, fullWidth: _ = !1, darkBorder: v = !1, notValid: y = !1, maxOptionHeight: b, optionPositionRight: x }) => {
|
|
23
|
+
let S = o(), [C, w] = c(m || []), [T, E] = c(m?.length || 0), [D, O] = c(!1), [k, A] = c(-1), j = s(null), M = s(null), [N, P] = c(null), [F, I] = c(null), { style: L, updatePosition: R } = r(N, F, {
|
|
24
|
+
mouseEvent: "click",
|
|
25
|
+
position: "bottomLeft",
|
|
26
|
+
offset: 4,
|
|
27
|
+
maxFixedHeight: b,
|
|
28
|
+
horizontalPosition: x ? "right" : "left",
|
|
29
|
+
mobileBreakpoint: "28rem",
|
|
30
|
+
fullWidth: _
|
|
31
|
+
}), z = i(({ target: e }) => {
|
|
32
|
+
!e || !j.current || j.current.contains(e) || O(!1);
|
|
33
|
+
}, [O]), B = i((e) => {
|
|
34
|
+
switch (e.key) {
|
|
35
|
+
case "Enter":
|
|
36
|
+
e.preventDefault(), O(!0);
|
|
37
|
+
break;
|
|
38
|
+
case "Escape":
|
|
39
|
+
D && (e.stopPropagation(), O(!1));
|
|
40
|
+
break;
|
|
41
|
+
default: break;
|
|
42
|
+
}
|
|
43
|
+
}, [D]), V = i((e) => {
|
|
44
|
+
if (D) switch (e.key) {
|
|
45
|
+
case "ArrowDown":
|
|
46
|
+
e.preventDefault(), A((e) => {
|
|
47
|
+
let t = e;
|
|
48
|
+
do
|
|
49
|
+
t = t < f.length - 1 ? t + 1 : 0;
|
|
50
|
+
while (f[t]?.disabled);
|
|
51
|
+
return t;
|
|
52
|
+
});
|
|
53
|
+
break;
|
|
54
|
+
case "ArrowUp":
|
|
55
|
+
e.preventDefault(), A((e) => {
|
|
56
|
+
let t = e;
|
|
57
|
+
do
|
|
58
|
+
t = t <= 0 ? f.length - 1 : t - 1;
|
|
59
|
+
while (f[t]?.disabled);
|
|
60
|
+
return t;
|
|
61
|
+
});
|
|
62
|
+
break;
|
|
63
|
+
case "Enter": {
|
|
64
|
+
e.preventDefault();
|
|
65
|
+
let t = f[k];
|
|
66
|
+
if (!t || t.disabled) break;
|
|
67
|
+
let n = C.some((e) => e.value === t.value) ? C.filter((e) => e.value !== t.value) : [...C, t];
|
|
68
|
+
w(n), E(n.length), p(n);
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
case "Tab":
|
|
72
|
+
e.preventDefault(), O(!1);
|
|
73
|
+
break;
|
|
74
|
+
case "Escape":
|
|
75
|
+
e.stopPropagation(), O(!1);
|
|
76
|
+
break;
|
|
77
|
+
default: break;
|
|
78
|
+
}
|
|
79
|
+
}, [
|
|
80
|
+
k,
|
|
81
|
+
D,
|
|
82
|
+
f,
|
|
83
|
+
C,
|
|
84
|
+
p
|
|
85
|
+
]), H = (e, t) => {
|
|
86
|
+
if (t.disabled || e.target.tagName === "INPUT") return;
|
|
87
|
+
let n = C.some((e) => e.value === t.value) ? C.filter((e) => e.value !== t.value) : [...C, t];
|
|
88
|
+
w(n), E(n.length), p(n), R();
|
|
89
|
+
}, U = i((e) => {
|
|
90
|
+
let { checked: t, value: n } = e.target, r = [...C];
|
|
91
|
+
if (t) {
|
|
92
|
+
let e = f.find((e) => e.value === n);
|
|
93
|
+
e && r.push(e);
|
|
94
|
+
} else r = r.filter((e) => e.value !== n);
|
|
95
|
+
w(r), E(r.length), p(r), R();
|
|
96
|
+
}, [
|
|
97
|
+
f,
|
|
98
|
+
C,
|
|
99
|
+
p
|
|
100
|
+
]);
|
|
101
|
+
return a(() => {
|
|
102
|
+
D && A(0);
|
|
103
|
+
}, [D]), a(() => {
|
|
104
|
+
(M.current?.children[k])?.focus();
|
|
105
|
+
}, [k]), a(() => {
|
|
106
|
+
if (D) return document.addEventListener("click", z, !0), document.addEventListener("scroll", z, !0), () => {
|
|
107
|
+
document.removeEventListener("click", z, !0), document.removeEventListener("scroll", z, !0);
|
|
108
|
+
};
|
|
109
|
+
}, [z, D]), /* @__PURE__ */ u("div", {
|
|
110
|
+
className: d["multi-select-box-wrapper"],
|
|
111
|
+
ref: j,
|
|
112
|
+
children: [/* @__PURE__ */ u("button", {
|
|
113
|
+
className: e(d["multi-select-box-trigger"], {
|
|
114
|
+
[d["multi-select-box-trigger--darkBorder"]]: v,
|
|
115
|
+
[d["multi-select-box-trigger--not-valid"]]: y
|
|
116
|
+
}),
|
|
117
|
+
type: "button",
|
|
118
|
+
onClick: () => {
|
|
119
|
+
O(!D);
|
|
120
|
+
},
|
|
121
|
+
onKeyDown: B,
|
|
122
|
+
"aria-expanded": D,
|
|
123
|
+
"aria-haspopup": "listbox",
|
|
124
|
+
"aria-label": `${T} ${h}`,
|
|
125
|
+
disabled: g,
|
|
126
|
+
...D && { "aria-controls": S },
|
|
127
|
+
ref: I,
|
|
128
|
+
children: [/* @__PURE__ */ u("span", {
|
|
129
|
+
className: d["multi-select-box-trigger-label"],
|
|
130
|
+
children: [
|
|
131
|
+
T,
|
|
132
|
+
" ",
|
|
133
|
+
h
|
|
134
|
+
]
|
|
135
|
+
}), /* @__PURE__ */ l(t, {
|
|
136
|
+
className: e(d["multi-select-box-trigger-icon"], { [d["multi-select-box-trigger-icon--open"]]: D }),
|
|
137
|
+
name: "CheveronDown",
|
|
138
|
+
size: 16
|
|
139
|
+
})]
|
|
140
|
+
}), /* @__PURE__ */ l("div", {
|
|
141
|
+
id: S,
|
|
142
|
+
className: e(d["multi-select-box-listbox--wrapper"]),
|
|
143
|
+
style: {
|
|
144
|
+
...L.style,
|
|
145
|
+
visibility: D ? "visible" : "hidden"
|
|
146
|
+
},
|
|
147
|
+
role: "listbox",
|
|
148
|
+
ref: P,
|
|
149
|
+
children: /* @__PURE__ */ l("ul", {
|
|
150
|
+
className: d["multi-select-box-listbox"],
|
|
151
|
+
ref: M,
|
|
152
|
+
children: f.map(({ label: t, value: r, disabled: i }, a) => /* @__PURE__ */ l("li", {
|
|
153
|
+
className: e(d["multi-select-box-listbox-option"], {
|
|
154
|
+
[d["multi-select-box-listbox-option--active"]]: a === k,
|
|
155
|
+
[d["multi-select-box-listbox-option--disabled"]]: i
|
|
156
|
+
}),
|
|
157
|
+
role: "option",
|
|
158
|
+
onKeyDown: V,
|
|
159
|
+
onClick: (e) => H(e, {
|
|
160
|
+
label: t,
|
|
161
|
+
value: r,
|
|
162
|
+
disabled: i
|
|
163
|
+
}),
|
|
164
|
+
onMouseOver: () => A(a),
|
|
165
|
+
onFocus: () => A(a),
|
|
166
|
+
tabIndex: 0,
|
|
167
|
+
"aria-selected": C.some((e) => e.value === r),
|
|
168
|
+
children: /* @__PURE__ */ u("label", {
|
|
169
|
+
htmlFor: t,
|
|
170
|
+
className: d["multi-select-box-listbox-option-content"],
|
|
171
|
+
tabIndex: -1,
|
|
172
|
+
children: [/* @__PURE__ */ l(n, {
|
|
173
|
+
id: `${t}-${S}`,
|
|
174
|
+
onChange: U,
|
|
175
|
+
value: r,
|
|
176
|
+
tabIndex: -1,
|
|
177
|
+
disabled: i,
|
|
178
|
+
checked: C.some((e) => e.value === r)
|
|
179
|
+
}), /* @__PURE__ */ l("span", { children: t })]
|
|
180
|
+
})
|
|
181
|
+
}, r))
|
|
182
|
+
})
|
|
183
|
+
})]
|
|
184
|
+
});
|
|
185
|
+
};
|
|
186
|
+
//#endregion
|
|
187
|
+
export { f as t };
|
|
188
|
+
|
|
189
|
+
//# sourceMappingURL=MultiSelectBox-Cuh_o-A1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiSelectBox-Cuh_o-A1.js","names":[],"sources":["../src/components/MultiSelectBox/MultiSelectBox.module.css","../src/components/MultiSelectBox/MultiSelectBox.tsx"],"sourcesContent":[".multi-select-box-wrapper {\n position: relative;\n}\n\n.multi-select-box-trigger {\n align-items: center;\n background-color: var(--color-uva-white);\n border: 1px solid var(--color-grey-500);\n border-radius: 0.5rem;\n cursor: pointer;\n display: flex;\n font: inherit;\n height: 2.75rem;\n justify-content: space-between;\n line-height: inherit;\n overflow: hidden;\n padding: 0.4rem 2rem 0.4rem 1rem;\n position: relative;\n width: 100%;\n}\n\n.multi-select-box-trigger--darkBorder {\n border-color: var(--color-uva-black);\n}\n\n.multi-select-box-trigger--not-valid {\n border-color: var(--color-red-600);\n}\n\n.multi-select-box-trigger:focus-visible {\n background-color: var(--color-grey-300);\n outline: 1px solid var(--color-grey-300);\n}\n\n.multi-select-box-trigger:focus-visible,\n.multi-select-box-trigger:hover {\n background-color: var(--color-grey-300);\n}\n\n.multi-select-box-trigger-label {\n min-height: 0.65rem;\n overflow: hidden;\n text-align: left;\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 100%;\n}\n\n.multi-select-box-trigger:disabled:hover {\n background-color: var(--color-uva-white);\n cursor: not-allowed;\n}\n\n.multi-select-box-trigger-icon {\n position: absolute;\n right: 0.875rem;\n}\n\n.multi-select-box-trigger-icon--open {\n transform: rotate(180deg);\n}\n\n.multi-select-box-listbox--wrapper {\n border-radius: 0.5rem;\n box-shadow: 0 0 0.25rem 0 rgba(0 0 0 / 25%);\n display: flex;\n height: auto;\n margin: 0.25rem 0;\n overflow: hidden;\n position: fixed;\n width: auto;\n z-index: 20;\n}\n\n.multi-select-box-listbox {\n background-color: var(--color-uva-white);\n border-radius: var(--border-radius);\n display: flex;\n flex-direction: column;\n gap: 0.125rem;\n list-style: none;\n margin: 0;\n min-width: 100%;\n overflow-y: auto;\n padding: 0.25rem;\n white-space: nowrap;\n width: fit-content;\n}\n\n.multi-select-box-listbox-option {\n border-radius: 0.25rem;\n cursor: pointer;\n display: flex;\n height: 2.5rem;\n justify-content: flex-start;\n position: relative;\n user-select: none;\n width: 100%;\n}\n\n.multi-select-box-listbox-option--active,\n.multi-select-box-listbox-option:hover {\n background-color: var(--color-grey-300);\n box-shadow: 0 0 0 1px var(--color-uva-white);\n}\n\n.multi-select-box-listbox-option:focus-visible,\n.multi-select-box-listbox-option:hover {\n background-color: var(--color-grey-300);\n}\n\n.multi-select-box-listbox-option-content {\n align-items: center;\n cursor: pointer;\n display: flex;\n gap: 1rem;\n padding: 0.75rem;\n width: 100%;\n}\n\n.multi-select-box-listbox-option:focus-visible {\n background-color: var(--color-grey-300);\n outline: 1px solid var(--color-grey-700);\n}\n\n.multi-select-box-listbox-option--disabled {\n cursor: not-allowed;\n opacity: 0.5;\n pointer-events: none;\n user-select: none;\n}\n","import { useRef, useState, useId, useEffect, useCallback } from 'react';\nimport { clsx } from 'clsx';\n\nimport type { KeyboardEvent, ChangeEvent, MouseEvent } from 'react';\n\nimport styles from './MultiSelectBox.module.css';\n\nimport { Icon } from 'components/Icon';\nimport { Checkbox } from 'components/Checkbox';\nimport { usePositionedFloaters } from 'components/hooks/usePositionedFloaters';\n\nexport type MultiSelectData = {\n label: string;\n value: string | number;\n disabled?: boolean;\n};\n\nexport interface MultiSelectBoxProps {\n /** Array of label, values pairs */\n selectData: MultiSelectData[];\n /** Retuns selected label, values */\n onChange: (values: MultiSelectData[]) => void;\n /** Array of label, value pairs that should be check by default */\n defaultSelectedItems?: MultiSelectData[];\n /** Suffix label in the selectbutton '[count] selected' */\n labelSuffix?: string;\n /** Disables the multiselect */\n disabled?: boolean;\n /** If true sets the option dropdown min-width to the width of the select button. */\n fullWidth?: boolean;\n /** Dark border. */\n darkBorder?: boolean;\n /** `true` to color border red to show not valid; otherwise, `false`. */\n notValid?: boolean;\n /** The max height of the options. */\n maxOptionHeight?: `${number}${'px' | 'rem'}`;\n /** `true` to align the right side of the options with the select box; otherwise, `false` to align on the left side. */\n optionPositionRight?: boolean;\n}\n\nexport const MultiSelectBox = ({\n selectData,\n onChange,\n defaultSelectedItems,\n labelSuffix = 'geselecteerd',\n disabled = false,\n fullWidth = false,\n darkBorder = false,\n notValid = false,\n maxOptionHeight,\n optionPositionRight,\n}: MultiSelectBoxProps) => {\n const multiselectboxId = useId();\n const [selectedItems, setSelectedItems] = useState<MultiSelectData[]>(defaultSelectedItems || []);\n const [selectedItemsCount, setSelectedItemsCount] = useState(defaultSelectedItems?.length || 0);\n const [isOpen, setIsOpen] = useState(false);\n const [activeIndex, setActiveIndex] = useState(-1);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const optionListRef = useRef<HTMLUListElement>(null);\n\n const [positionElement, setPositionElement] = useState<HTMLElement | null>(null);\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement | null>(null);\n const { style: positionStyle, updatePosition } = usePositionedFloaters(positionElement, referenceElement, {\n mouseEvent: 'click',\n position: 'bottomLeft',\n offset: 4,\n maxFixedHeight: maxOptionHeight,\n horizontalPosition: optionPositionRight ? 'right' : 'left',\n mobileBreakpoint: '28rem',\n fullWidth,\n });\n\n const onMouseEventOutside = useCallback(\n ({ target }: Event | MouseEvent) => {\n if (!target || !wrapperRef.current) return;\n\n if (!wrapperRef.current.contains(target as Node)) {\n setIsOpen(false);\n }\n },\n [setIsOpen]\n );\n\n const onTriggerKeyDown = useCallback(\n (event: KeyboardEvent<HTMLButtonElement>) => {\n switch (event.key) {\n case 'Enter':\n event.preventDefault();\n setIsOpen(true);\n break;\n case 'Escape':\n if (isOpen) {\n event.stopPropagation();\n setIsOpen(false);\n }\n break;\n default:\n break;\n }\n },\n [isOpen]\n );\n\n const onOptionKeyDown = useCallback(\n (event: KeyboardEvent<HTMLLIElement>) => {\n if (!isOpen) return;\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n setActiveIndex((prev) => {\n let nextIndex = prev;\n do {\n nextIndex = nextIndex < selectData.length - 1 ? nextIndex + 1 : 0;\n } while (selectData[nextIndex]?.disabled);\n return nextIndex;\n });\n break;\n case 'ArrowUp':\n event.preventDefault();\n setActiveIndex((prev) => {\n let nextIndex = prev;\n do {\n nextIndex = nextIndex <= 0 ? selectData.length - 1 : nextIndex - 1;\n } while (selectData[nextIndex]?.disabled);\n return nextIndex;\n });\n break;\n case 'Enter': {\n event.preventDefault();\n const selectedItem = selectData[activeIndex];\n if (!selectedItem || selectedItem.disabled) break;\n const isAlreadySelected = selectedItems.some((item) => item.value === selectedItem.value);\n const updatedSelectedItems = isAlreadySelected\n ? selectedItems.filter((item) => item.value !== selectedItem.value)\n : [...selectedItems, selectedItem];\n\n setSelectedItems(updatedSelectedItems);\n setSelectedItemsCount(updatedSelectedItems.length);\n onChange(updatedSelectedItems);\n break;\n }\n case 'Tab':\n event.preventDefault();\n setIsOpen(false);\n break;\n case 'Escape':\n event.stopPropagation();\n setIsOpen(false);\n break;\n default:\n break;\n }\n },\n [activeIndex, isOpen, selectData, selectedItems, onChange]\n );\n\n const onOptionClick = (event: MouseEvent<HTMLLIElement>, option: MultiSelectData) => {\n if (option.disabled) return;\n\n // Prevent toggle if click originated from the checkbox\n if ((event.target as HTMLElement).tagName === 'INPUT') return;\n\n const isAlreadySelected = selectedItems.some((item) => item.value === option.value);\n const updatedSelectedItems = isAlreadySelected\n ? selectedItems.filter((item) => item.value !== option.value)\n : [...selectedItems, option];\n\n setSelectedItems(updatedSelectedItems);\n setSelectedItemsCount(updatedSelectedItems.length);\n onChange(updatedSelectedItems);\n updatePosition();\n };\n\n const handleSelect = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const { checked, value } = event.target;\n let updatedSelectedItems = [...selectedItems];\n\n if (checked) {\n const selectedItem = selectData.find((item) => item.value === value);\n if (selectedItem) {\n updatedSelectedItems.push(selectedItem);\n }\n } else {\n updatedSelectedItems = updatedSelectedItems.filter((item) => item.value !== value);\n }\n\n setSelectedItems(updatedSelectedItems);\n setSelectedItemsCount(updatedSelectedItems.length);\n onChange(updatedSelectedItems);\n updatePosition();\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectData, selectedItems, onChange]\n );\n\n useEffect(() => {\n if (isOpen) {\n setActiveIndex(0);\n }\n }, [isOpen]);\n\n useEffect(() => {\n const activeOption = optionListRef.current?.children[activeIndex] as HTMLElement;\n activeOption?.focus();\n }, [activeIndex]);\n\n useEffect(() => {\n if (!isOpen) return;\n\n document.addEventListener('click', onMouseEventOutside, true);\n document.addEventListener('scroll', onMouseEventOutside, true);\n\n return () => {\n document.removeEventListener('click', onMouseEventOutside, true);\n document.removeEventListener('scroll', onMouseEventOutside, true);\n };\n }, [onMouseEventOutside, isOpen]);\n\n return (\n <div className={styles['multi-select-box-wrapper']} ref={wrapperRef}>\n <button\n className={clsx(styles['multi-select-box-trigger'], {\n [styles['multi-select-box-trigger--darkBorder']]: darkBorder,\n [styles['multi-select-box-trigger--not-valid']]: notValid,\n })}\n type=\"button\"\n onClick={() => {\n setIsOpen(!isOpen);\n }}\n onKeyDown={onTriggerKeyDown}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n aria-label={`${selectedItemsCount} ${labelSuffix}`}\n disabled={disabled}\n {...(isOpen && { 'aria-controls': multiselectboxId })}\n ref={setReferenceElement}\n >\n <span className={styles['multi-select-box-trigger-label']}>\n {selectedItemsCount} {labelSuffix}\n </span>\n <Icon\n className={clsx(styles['multi-select-box-trigger-icon'], {\n [styles['multi-select-box-trigger-icon--open']]: isOpen,\n })}\n name=\"CheveronDown\"\n size={16}\n />\n </button>\n\n <div\n id={multiselectboxId}\n className={clsx(styles['multi-select-box-listbox--wrapper'])}\n style={{ ...positionStyle.style, visibility: isOpen ? 'visible' : 'hidden' }}\n role=\"listbox\"\n ref={setPositionElement}\n >\n <ul className={styles['multi-select-box-listbox']} ref={optionListRef}>\n {selectData.map(({ label, value, disabled }, index) => (\n <li\n className={clsx(styles['multi-select-box-listbox-option'], {\n [styles['multi-select-box-listbox-option--active']]: index === activeIndex,\n [styles['multi-select-box-listbox-option--disabled']]: disabled,\n })}\n key={value}\n role=\"option\"\n onKeyDown={onOptionKeyDown}\n onClick={(event) => onOptionClick(event, { label, value, disabled })}\n onMouseOver={() => setActiveIndex(index)}\n onFocus={() => setActiveIndex(index)}\n tabIndex={0}\n aria-selected={selectedItems.some((item) => item.value === value)}\n >\n <label htmlFor={label} className={styles['multi-select-box-listbox-option-content']} tabIndex={-1}>\n <Checkbox\n id={`${label}-${multiselectboxId}`}\n onChange={handleSelect}\n value={value}\n tabIndex={-1}\n disabled={disabled}\n checked={selectedItems.some((item) => item.value === value)}\n />\n <span>{label}</span>\n </label>\n </li>\n ))}\n </ul>\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;GCwCa,KAAkB,EAC7B,eACA,aACA,yBACA,iBAAc,gBACd,cAAW,IACX,eAAY,IACZ,gBAAa,IACb,cAAW,IACX,oBACA,6BACyB;CACzB,IAAM,IAAmB,GAAO,EAC1B,CAAC,GAAe,KAAoB,EAA4B,KAAwB,EAAE,CAAC,EAC3F,CAAC,GAAoB,KAAyB,EAAS,GAAsB,UAAU,EAAE,EACzF,CAAC,GAAQ,KAAa,EAAS,GAAM,EACrC,CAAC,GAAa,KAAkB,EAAS,GAAG,EAC5C,IAAa,EAAuB,KAAK,EACzC,IAAgB,EAAyB,KAAK,EAE9C,CAAC,GAAiB,KAAsB,EAA6B,KAAK,EAC1E,CAAC,GAAkB,KAAuB,EAAmC,KAAK,EAClF,EAAE,OAAO,GAAe,sBAAmB,EAAsB,GAAiB,GAAkB;EACxG,YAAY;EACZ,UAAU;EACV,QAAQ;EACR,gBAAgB;EAChB,oBAAoB,IAAsB,UAAU;EACpD,kBAAkB;EAClB;EACD,CAAC,EAEI,IAAsB,GACzB,EAAE,gBAAiC;AAC9B,GAAC,KAAU,CAAC,EAAW,WAEtB,EAAW,QAAQ,SAAS,EAAe,IAC9C,EAAU,GAAM;IAGpB,CAAC,EAAU,CACZ,EAEK,IAAmB,GACtB,MAA4C;AAC3C,UAAQ,EAAM,KAAd;GACE,KAAK;AAEH,IADA,EAAM,gBAAgB,EACtB,EAAU,GAAK;AACf;GACF,KAAK;AACH,IAAI,MACF,EAAM,iBAAiB,EACvB,EAAU,GAAM;AAElB;GACF,QACE;;IAGN,CAAC,EAAO,CACT,EAEK,IAAkB,GACrB,MAAwC;AAClC,QAEL,SAAQ,EAAM,KAAd;GACE,KAAK;AAEH,IADA,EAAM,gBAAgB,EACtB,GAAgB,MAAS;KACvB,IAAI,IAAY;AAChB;AACE,UAAY,IAAY,EAAW,SAAS,IAAI,IAAY,IAAI;YACzD,EAAW,IAAY;AAChC,YAAO;MACP;AACF;GACF,KAAK;AAEH,IADA,EAAM,gBAAgB,EACtB,GAAgB,MAAS;KACvB,IAAI,IAAY;AAChB;AACE,UAAY,KAAa,IAAI,EAAW,SAAS,IAAI,IAAY;YAC1D,EAAW,IAAY;AAChC,YAAO;MACP;AACF;GACF,KAAK,SAAS;AACZ,MAAM,gBAAgB;IACtB,IAAM,IAAe,EAAW;AAChC,QAAI,CAAC,KAAgB,EAAa,SAAU;IAE5C,IAAM,IADoB,EAAc,MAAM,MAAS,EAAK,UAAU,EAAa,MAAM,GAErF,EAAc,QAAQ,MAAS,EAAK,UAAU,EAAa,MAAM,GACjE,CAAC,GAAG,GAAe,EAAa;AAIpC,IAFA,EAAiB,EAAqB,EACtC,EAAsB,EAAqB,OAAO,EAClD,EAAS,EAAqB;AAC9B;;GAEF,KAAK;AAEH,IADA,EAAM,gBAAgB,EACtB,EAAU,GAAM;AAChB;GACF,KAAK;AAEH,IADA,EAAM,iBAAiB,EACvB,EAAU,GAAM;AAChB;GACF,QACE;;IAGN;EAAC;EAAa;EAAQ;EAAY;EAAe;EAAS,CAC3D,EAEK,KAAiB,GAAkC,MAA4B;AAInF,MAHI,EAAO,YAGN,EAAM,OAAuB,YAAY,QAAS;EAGvD,IAAM,IADoB,EAAc,MAAM,MAAS,EAAK,UAAU,EAAO,MAAM,GAE/E,EAAc,QAAQ,MAAS,EAAK,UAAU,EAAO,MAAM,GAC3D,CAAC,GAAG,GAAe,EAAO;AAK9B,EAHA,EAAiB,EAAqB,EACtC,EAAsB,EAAqB,OAAO,EAClD,EAAS,EAAqB,EAC9B,GAAgB;IAGZ,IAAe,GAClB,MAAyC;EACxC,IAAM,EAAE,YAAS,aAAU,EAAM,QAC7B,IAAuB,CAAC,GAAG,EAAc;AAE7C,MAAI,GAAS;GACX,IAAM,IAAe,EAAW,MAAM,MAAS,EAAK,UAAU,EAAM;AACpE,GAAI,KACF,EAAqB,KAAK,EAAa;QAGzC,KAAuB,EAAqB,QAAQ,MAAS,EAAK,UAAU,EAAM;AAMpF,EAHA,EAAiB,EAAqB,EACtC,EAAsB,EAAqB,OAAO,EAClD,EAAS,EAAqB,EAC9B,GAAgB;IAGlB;EAAC;EAAY;EAAe;EAAS,CACtC;AAyBD,QAvBA,QAAgB;AACd,EAAI,KACF,EAAe,EAAE;IAElB,CAAC,EAAO,CAAC,EAEZ,QAAgB;AAEd,GADqB,EAAc,SAAS,SAAS,KACvC,OAAO;IACpB,CAAC,EAAY,CAAC,EAEjB,QAAgB;AACT,QAKL,QAHA,SAAS,iBAAiB,SAAS,GAAqB,GAAK,EAC7D,SAAS,iBAAiB,UAAU,GAAqB,GAAK,QAEjD;AAEX,GADA,SAAS,oBAAoB,SAAS,GAAqB,GAAK,EAChE,SAAS,oBAAoB,UAAU,GAAqB,GAAK;;IAElE,CAAC,GAAqB,EAAO,CAAC,EAG/B,kBAAC,OAAD;EAAK,WAAW,EAAO;EAA6B,KAAK;YAAzD,CACE,kBAAC,UAAD;GACE,WAAW,EAAK,EAAO,6BAA6B;KACjD,EAAO,0CAA0C;KACjD,EAAO,yCAAyC;IAClD,CAAC;GACF,MAAK;GACL,eAAe;AACb,MAAU,CAAC,EAAO;;GAEpB,WAAW;GACX,iBAAe;GACf,iBAAc;GACd,cAAY,GAAG,EAAmB,GAAG;GAC3B;GACV,GAAK,KAAU,EAAE,iBAAiB,GAAkB;GACpD,KAAK;aAfP,CAiBE,kBAAC,QAAD;IAAM,WAAW,EAAO;cAAxB;KACG;KAAmB;KAAE;KACjB;OACP,kBAAC,GAAD;IACE,WAAW,EAAK,EAAO,kCAAkC,GACtD,EAAO,yCAAyC,GAClD,CAAC;IACF,MAAK;IACL,MAAM;IACN,CAAA,CACK;MAET,kBAAC,OAAD;GACE,IAAI;GACJ,WAAW,EAAK,EAAO,qCAAqC;GAC5D,OAAO;IAAE,GAAG,EAAc;IAAO,YAAY,IAAS,YAAY;IAAU;GAC5E,MAAK;GACL,KAAK;aAEL,kBAAC,MAAD;IAAI,WAAW,EAAO;IAA6B,KAAK;cACrD,EAAW,KAAK,EAAE,UAAO,UAAO,eAAY,MAC3C,kBAAC,MAAD;KACE,WAAW,EAAK,EAAO,oCAAoC;OACxD,EAAO,6CAA6C,MAAU;OAC9D,EAAO,+CAA+C;MACxD,CAAC;KAEF,MAAK;KACL,WAAW;KACX,UAAU,MAAU,EAAc,GAAO;MAAE;MAAO;MAAO;MAAU,CAAC;KACpE,mBAAmB,EAAe,EAAM;KACxC,eAAe,EAAe,EAAM;KACpC,UAAU;KACV,iBAAe,EAAc,MAAM,MAAS,EAAK,UAAU,EAAM;eAEjE,kBAAC,SAAD;MAAO,SAAS;MAAO,WAAW,EAAO;MAA4C,UAAU;gBAA/F,CACE,kBAAC,GAAD;OACE,IAAI,GAAG,EAAM,GAAG;OAChB,UAAU;OACH;OACP,UAAU;OACA;OACV,SAAS,EAAc,MAAM,MAAS,EAAK,UAAU,EAAM;OAC3D,CAAA,EACF,kBAAC,QAAD,EAAA,UAAO,GAAa,CAAA,CACd;;KACL,EApBE,EAoBF,CACL;IACC,CAAA;GACD,CAAA,CACF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { t as e } from "./Checkbox-D6-b_4dC.js";
|
|
2
|
+
import { t } from "./Label-o0BcWTUS.js";
|
|
3
|
+
import { useId as n } from "react";
|
|
4
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
5
|
+
import './assets/MultiSelectItem.css';//#region src/components/MultiSelect/MultiSelect.module.css
|
|
6
|
+
var a = {
|
|
7
|
+
"multi-select": "_multi-select_140gs_1",
|
|
8
|
+
"multi-select--no-border": "_multi-select--no-border_140gs_7",
|
|
9
|
+
"multi-select__header": "_multi-select__header_140gs_12",
|
|
10
|
+
"multi-select__list": "_multi-select__list_140gs_18",
|
|
11
|
+
"multi-select__list--scrollable": "_multi-select__list--scrollable_140gs_27",
|
|
12
|
+
"multi-select__item": "_multi-select__item_140gs_32"
|
|
13
|
+
};
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/components/MultiSelect/components/MultiSelectItem.tsx
|
|
16
|
+
function o({ label: o, value: s, checked: c, disabled: l = !1, onChange: u }) {
|
|
17
|
+
let d = n();
|
|
18
|
+
return /* @__PURE__ */ i("li", {
|
|
19
|
+
className: a["multi-select__item"],
|
|
20
|
+
children: [/* @__PURE__ */ r(e, {
|
|
21
|
+
id: d,
|
|
22
|
+
value: s,
|
|
23
|
+
checked: c,
|
|
24
|
+
onChange: u,
|
|
25
|
+
disabled: l
|
|
26
|
+
}), /* @__PURE__ */ r(t, {
|
|
27
|
+
htmlFor: d,
|
|
28
|
+
noFontWeight: !c,
|
|
29
|
+
children: o
|
|
30
|
+
})]
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { a as n, o as t };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=MultiSelectItem-BF5xRjz5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiSelectItem-BF5xRjz5.js","names":[],"sources":["../src/components/MultiSelect/MultiSelect.module.css","../src/components/MultiSelect/components/MultiSelectItem.tsx"],"sourcesContent":[".multi-select {\n border: 1px solid var(--color-uva-black);\n border-radius: var(--border-radius-default);\n padding: 0.75rem;\n}\n\n.multi-select--no-border {\n border: none;\n padding: 0;\n}\n\n.multi-select__header {\n display: flex;\n justify-content: space-between;\n margin-bottom: 0.5rem;\n}\n\n.multi-select__list {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.multi-select__list--scrollable {\n max-height: 8.75rem;\n overflow: auto;\n}\n\n.multi-select__item {\n align-items: start;\n display: grid;\n grid-template-columns: auto 1fr;\n user-select: none;\n}\n\n.multi-select__item input[type=\"checkbox\"] {\n margin-right: 0.75rem;\n margin-top: 0.25rem;\n}\n\n.multi-select__item input[type=\"checkbox\"]:disabled + label {\n color: var(--color-grey-500);\n}\n","import { useId } from 'react';\n\nimport type { ChangeEvent } from 'react';\n\nimport styles from 'components/MultiSelect/MultiSelect.module.css';\nimport { Checkbox } from 'components/Checkbox';\nimport { Label } from 'components/Label';\n\nexport interface MultiSelectItemProps {\n label: string;\n value: string | number;\n checked: boolean;\n disabled?: boolean;\n onChange(event: ChangeEvent<HTMLInputElement>): void;\n}\n\nexport function MultiSelectItem({ label, value, checked, disabled = false, onChange }: MultiSelectItemProps) {\n const id = useId();\n\n return (\n <li className={styles['multi-select__item']}>\n <Checkbox id={id} value={value} checked={checked} onChange={onChange} disabled={disabled} />\n <Label htmlFor={id} noFontWeight={!checked}>\n {label}\n </Label>\n </li>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;ACgBA,SAAgB,EAAgB,EAAE,UAAO,UAAO,YAAS,cAAW,IAAO,eAAkC;CAC3G,IAAM,IAAK,GAAO;AAElB,QACE,kBAAC,MAAD;EAAI,WAAW,EAAO;YAAtB,CACE,kBAAC,GAAD;GAAc;GAAW;GAAgB;GAAmB;GAAoB;GAAY,CAAA,EAC5F,kBAAC,GAAD;GAAO,SAAS;GAAI,cAAc,CAAC;aAChC;GACK,CAAA,CACL"}
|