@uva-glass/component-library 3.55.6 → 3.55.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Accordion-DvblEUVu.js → Accordion-DaCqVof1.js} +2 -2
- package/dist/{Accordion-DvblEUVu.js.map → Accordion-DaCqVof1.js.map} +1 -1
- package/dist/{AccordionCard-BXy-plB7.js → AccordionCard-CD5H9gR1.js} +2 -2
- package/dist/{AccordionCard-BXy-plB7.js.map → AccordionCard-CD5H9gR1.js.map} +1 -1
- package/dist/{ActionList-O9w1hqNg.js → ActionList-C0hD9noC.js} +2 -2
- package/dist/{ActionList-O9w1hqNg.js.map → ActionList-C0hD9noC.js.map} +1 -1
- package/dist/{AddCatalogueLinkForm-rph4K9P0.js → AddCatalogueLinkForm-DNv2tEdF.js} +5 -5
- package/dist/{AddCatalogueLinkForm-rph4K9P0.js.map → AddCatalogueLinkForm-DNv2tEdF.js.map} +1 -1
- package/dist/{AppStatusBar-Bca0KFDR.js → AppStatusBar-BK0yaC4G.js} +2 -2
- package/dist/{AppStatusBar-Bca0KFDR.js.map → AppStatusBar-BK0yaC4G.js.map} +1 -1
- package/dist/{Attention-Bq5UU9I8.js → Attention-xqGAJ7-T.js} +1 -1
- package/dist/{Attention-Bq5UU9I8.js.map → Attention-xqGAJ7-T.js.map} +1 -1
- package/dist/{Backdrop-D8AHeuBn.js → Backdrop-bQ8kXsge.js} +1 -1
- package/dist/{Backdrop-D8AHeuBn.js.map → Backdrop-bQ8kXsge.js.map} +1 -1
- package/dist/{Button.module-DJlNwQUj.js → Button.module-BkAiXo3V.js} +1 -1
- package/dist/{Button.module-DJlNwQUj.js.map → Button.module-BkAiXo3V.js.map} +1 -1
- package/dist/{ButtonGroup-DR80lTLz.js → ButtonGroup-ZqGGZ1rz.js} +2 -2
- package/dist/{ButtonGroup-DR80lTLz.js.map → ButtonGroup-ZqGGZ1rz.js.map} +1 -1
- package/dist/{Card-DMFyuTmy.js → Card-BH1ySOiP.js} +3 -3
- package/dist/{Card-DMFyuTmy.js.map → Card-BH1ySOiP.js.map} +1 -1
- package/dist/{Checkbox-D6-b_4dC.js → Checkbox-sAt4To2B.js} +1 -1
- package/dist/{Checkbox-D6-b_4dC.js.map → Checkbox-sAt4To2B.js.map} +1 -1
- package/dist/{CheckboxButtonBar-5UMIFMKH.js → CheckboxButtonBar-DpNnwLzI.js} +5 -5
- package/dist/{CheckboxButtonBar-5UMIFMKH.js.map → CheckboxButtonBar-DpNnwLzI.js.map} +1 -1
- package/dist/{Chip-DJHvFToV.js → Chip-9XnXFhoJ.js} +1 -1
- package/dist/{Chip-DJHvFToV.js.map → Chip-9XnXFhoJ.js.map} +1 -1
- package/dist/{ClipboardButton-geHjMl2J.js → ClipboardButton-Cg6LGUiD.js} +1 -1
- package/dist/{ClipboardButton-geHjMl2J.js.map → ClipboardButton-Cg6LGUiD.js.map} +1 -1
- package/dist/{Column-BwKEOOuL.js → Column-BwCVSZrG.js} +2 -2
- package/dist/{Column-BwKEOOuL.js.map → Column-BwCVSZrG.js.map} +1 -1
- package/dist/{Container-BLjtYDqq.js → Container-DK25h_-f.js} +2 -2
- package/dist/{Container-BLjtYDqq.js.map → Container-DK25h_-f.js.map} +1 -1
- package/dist/{ControlsButton-B1XRpMUM.js → ControlsButton-9uR_zW_F.js} +2 -2
- package/dist/{ControlsButton-B1XRpMUM.js.map → ControlsButton-9uR_zW_F.js.map} +1 -1
- package/dist/{CopyableText-DkyhZ6wk.js → CopyableText-hSqhyUWx.js} +2 -2
- package/dist/{CopyableText-DkyhZ6wk.js.map → CopyableText-hSqhyUWx.js.map} +1 -1
- package/dist/{Drawer-e7UFHVg9.js → Drawer-BbVJqFQI.js} +4 -4
- package/dist/{Drawer-e7UFHVg9.js.map → Drawer-BbVJqFQI.js.map} +1 -1
- package/dist/{EmptyStateDataDisplay-D0QiI8nE.js → EmptyStateDataDisplay-IT2P3ius.js} +2 -2
- package/dist/{EmptyStateDataDisplay-D0QiI8nE.js.map → EmptyStateDataDisplay-IT2P3ius.js.map} +1 -1
- package/dist/{ExpandableInfoPanel-CnBVVNlJ.js → ExpandableInfoPanel-DMfcJFP3.js} +2 -2
- package/dist/{ExpandableInfoPanel-CnBVVNlJ.js.map → ExpandableInfoPanel-DMfcJFP3.js.map} +1 -1
- package/dist/{FeedbackBar-ByKp32HE.js → FeedbackBar-DRbJVniP.js} +3 -3
- package/dist/{FeedbackBar-ByKp32HE.js.map → FeedbackBar-DRbJVniP.js.map} +1 -1
- package/dist/{FeedbackBox-Bu7uB9DP.js → FeedbackBox-CaSxB4uc.js} +2 -2
- package/dist/{FeedbackBox-Bu7uB9DP.js.map → FeedbackBox-CaSxB4uc.js.map} +1 -1
- package/dist/{FieldHint-fxnEOsVZ.js → FieldHint-FEBzgLI_.js} +2 -2
- package/dist/{FieldHint-fxnEOsVZ.js.map → FieldHint-FEBzgLI_.js.map} +1 -1
- package/dist/{Fieldset-0LFsZ3Mz.js → Fieldset-D01_rj_p.js} +2 -2
- package/dist/{Fieldset-0LFsZ3Mz.js.map → Fieldset-D01_rj_p.js.map} +1 -1
- package/dist/{Flyout-DEpzfZOC.js → Flyout-JUwXvgo6.js} +1 -1
- package/dist/{Flyout-DEpzfZOC.js.map → Flyout-JUwXvgo6.js.map} +1 -1
- package/dist/{FormField-BZSoQdp9.js → FormField-CcV84TfI.js} +2 -2
- package/dist/{FormField-BZSoQdp9.js.map → FormField-CcV84TfI.js.map} +1 -1
- package/dist/{HorizontalList-C22DaDz-.js → HorizontalList-CLlRGWZX.js} +1 -1
- package/dist/{HorizontalList-C22DaDz-.js.map → HorizontalList-CLlRGWZX.js.map} +1 -1
- package/dist/{IconButton-CWCMH9uf.js → IconButton-CSNMVEG1.js} +2 -2
- package/dist/{IconButton-CWCMH9uf.js.map → IconButton-CSNMVEG1.js.map} +1 -1
- package/dist/{InfoBanner-DyznQLGr.js → InfoBanner-DqBWtCVE.js} +1 -1
- package/dist/{InfoBanner-DyznQLGr.js.map → InfoBanner-DqBWtCVE.js.map} +1 -1
- package/dist/{InfoMessage-I-VlwxVc.js → InfoMessage-COywXu4O.js} +2 -2
- package/dist/{InfoMessage-I-VlwxVc.js.map → InfoMessage-COywXu4O.js.map} +1 -1
- package/dist/{Input-Bn-arMaC.js → Input-BzKvzbzP.js} +2 -2
- package/dist/{Input-Bn-arMaC.js.map → Input-BzKvzbzP.js.map} +1 -1
- package/dist/{InputField-BWAy19w9.js → InputField-T01uazlI.js} +2 -2
- package/dist/{InputField-BWAy19w9.js.map → InputField-T01uazlI.js.map} +1 -1
- package/dist/{Label-o0BcWTUS.js → Label-D0ACrYG3.js} +2 -2
- package/dist/{Label-o0BcWTUS.js.map → Label-D0ACrYG3.js.map} +1 -1
- package/dist/{Lexical.prod-CqPLSi0R.js → Lexical.prod-8zZnpGo4.js} +1 -1
- package/dist/Lexical.prod-8zZnpGo4.js.map +1 -0
- package/dist/{LexicalClipboard.prod-BVw_sFpo.js → LexicalClipboard.prod-hbxbsROy.js} +4 -4
- package/dist/LexicalClipboard.prod-hbxbsROy.js.map +1 -0
- package/dist/{LexicalComposerContext.prod-Ca-YN_fj.js → LexicalComposerContext.prod-y_BRxu3Z.js} +1 -1
- package/dist/{LexicalComposerContext.prod-Ca-YN_fj.js.map → LexicalComposerContext.prod-y_BRxu3Z.js.map} +1 -1
- package/dist/{LexicalExtension.prod-CUQTgbur.js → LexicalExtension.prod-v8IpET5E.js} +3 -3
- package/dist/LexicalExtension.prod-v8IpET5E.js.map +1 -0
- package/dist/{LexicalLink.prod-DMhcqD9x.js → LexicalLink.prod-BVUv9-sZ.js} +4 -4
- package/dist/LexicalLink.prod-BVUv9-sZ.js.map +1 -0
- package/dist/{LexicalList.prod-eYlcb5Ao.js → LexicalList.prod-CCPDDafy.js} +4 -4
- package/dist/LexicalList.prod-CCPDDafy.js.map +1 -0
- package/dist/{LexicalTable.prod-DlOxUQou.js → LexicalTable.prod-D_9Dr3kL.js} +5 -5
- package/dist/LexicalTable.prod-D_9Dr3kL.js.map +1 -0
- package/dist/{LexicalUtils.prod-BqcriFWV.js → LexicalUtils.prod-BWhWP8es.js} +2 -2
- package/dist/{LexicalUtils.prod-BqcriFWV.js.map → LexicalUtils.prod-BWhWP8es.js.map} +1 -1
- package/dist/{LinkContextMenu-ePn1iZ_z.js → LinkContextMenu-CTu2nP2j.js} +2 -2
- package/dist/{LinkContextMenu-ePn1iZ_z.js.map → LinkContextMenu-CTu2nP2j.js.map} +1 -1
- package/dist/{MenuLink-Cm1yZO_5.js → MenuLink-La_3ANEL.js} +2 -2
- package/dist/{MenuLink-Cm1yZO_5.js.map → MenuLink-La_3ANEL.js.map} +1 -1
- package/dist/{MetaDataBar-C4QO9oBV.js → MetaDataBar-48J7yPrb.js} +1 -1
- package/dist/{MetaDataBar-C4QO9oBV.js.map → MetaDataBar-48J7yPrb.js.map} +1 -1
- package/dist/{MetaDataList-CAR1HTYs.js → MetaDataList-Co9WCexh.js} +1 -1
- package/dist/{MetaDataList-CAR1HTYs.js.map → MetaDataList-Co9WCexh.js.map} +1 -1
- package/dist/{ModalDialog-N50NGnd4.js → ModalDialog-J7xcPcnS.js} +5 -5
- package/dist/{ModalDialog-N50NGnd4.js.map → ModalDialog-J7xcPcnS.js.map} +1 -1
- package/dist/{MultiSelectBox-Cuh_o-A1.js → MultiSelectBox-BmBxa6PH.js} +3 -3
- package/dist/{MultiSelectBox-Cuh_o-A1.js.map → MultiSelectBox-BmBxa6PH.js.map} +1 -1
- package/dist/{MultiSelectItem-BF5xRjz5.js → MultiSelectItem-6d8kQgFs.js} +3 -3
- package/dist/{MultiSelectItem-BF5xRjz5.js.map → MultiSelectItem-6d8kQgFs.js.map} +1 -1
- package/dist/{Notification-CIhsHuF0.js → Notification-BAqCenxt.js} +2 -2
- package/dist/{Notification-CIhsHuF0.js.map → Notification-BAqCenxt.js.map} +1 -1
- package/dist/{OverlayCloseButton-rttFbAM_.js → OverlayCloseButton-j-7mC4Zz.js} +2 -2
- package/dist/{OverlayCloseButton-rttFbAM_.js.map → OverlayCloseButton-j-7mC4Zz.js.map} +1 -1
- package/dist/{OverlayStepBar-CjaoYdsh.js → OverlayStepBar-Cj_-0waE.js} +2 -2
- package/dist/{OverlayStepBar-CjaoYdsh.js.map → OverlayStepBar-Cj_-0waE.js.map} +1 -1
- package/dist/{PageOverlay-S4xsqJha.js → PageOverlay-DqwdG5ve.js} +5 -5
- package/dist/{PageOverlay-S4xsqJha.js.map → PageOverlay-DqwdG5ve.js.map} +1 -1
- package/dist/{PasteHandlerPlugin-BNp8ST0q.js → PasteHandlerPlugin-Bc6n-G35.js} +6 -6
- package/dist/{PasteHandlerPlugin-BNp8ST0q.js.map → PasteHandlerPlugin-Bc6n-G35.js.map} +1 -1
- package/dist/{Periods-BYETtB6R.js → Periods-C5cxLlWt.js} +2 -2
- package/dist/{Periods-BYETtB6R.js.map → Periods-C5cxLlWt.js.map} +1 -1
- package/dist/{ProgrammeCard-76gG7ksx.js → ProgrammeCard-CAAOSWKa.js} +2 -2
- package/dist/{ProgrammeCard-76gG7ksx.js.map → ProgrammeCard-CAAOSWKa.js.map} +1 -1
- package/dist/{RadioButton-Bto2p5B9.js → RadioButton-CKALsbBb.js} +2 -2
- package/dist/{RadioButton-Bto2p5B9.js.map → RadioButton-CKALsbBb.js.map} +1 -1
- package/dist/{RadioGroup-JeTjVp5B.js → RadioGroup-DhnnBRJu.js} +3 -3
- package/dist/{RadioGroup-JeTjVp5B.js.map → RadioGroup-DhnnBRJu.js.map} +1 -1
- package/dist/{Repeater-BhkTEUai.js → Repeater-Bnoqqz0X.js} +2 -2
- package/dist/{Repeater-BhkTEUai.js.map → Repeater-Bnoqqz0X.js.map} +1 -1
- package/dist/{RteEditor.module-BJLUYSpf.js → RteEditor.module-pWBasED2.js} +1 -1
- package/dist/{RteEditor.module-BJLUYSpf.js.map → RteEditor.module-pWBasED2.js.map} +1 -1
- package/dist/{SearchField.module-BgxjHaPG.js → SearchField.module-Bn9xQD-f.js} +1 -1
- package/dist/{SearchField.module-BgxjHaPG.js.map → SearchField.module-Bn9xQD-f.js.map} +1 -1
- package/dist/{SectionNotification-CQqwPTqP.js → SectionNotification-BT0Z2edJ.js} +2 -2
- package/dist/{SectionNotification-CQqwPTqP.js.map → SectionNotification-BT0Z2edJ.js.map} +1 -1
- package/dist/{SelectListbox.module-HaPs1CLD.js → SelectListbox.module-Df90DNyN.js} +1 -1
- package/dist/{SelectListbox.module-HaPs1CLD.js.map → SelectListbox.module-Df90DNyN.js.map} +1 -1
- package/dist/{Slider-BlLyrET9.js → Slider-dCmT0VM2.js} +2 -2
- package/dist/{Slider-BlLyrET9.js.map → Slider-dCmT0VM2.js.map} +1 -1
- package/dist/{Sortable.module-8SoaHfuE.js → Sortable.module-CgDMpWM8.js} +1 -1
- package/dist/{Sortable.module-8SoaHfuE.js.map → Sortable.module-CgDMpWM8.js.map} +1 -1
- package/dist/{SortableProvider-8HYiBXJS.js → SortableProvider-DV6gWmq_.js} +3 -3
- package/dist/{SortableProvider-8HYiBXJS.js.map → SortableProvider-DV6gWmq_.js.map} +1 -1
- package/dist/{Spinner-BpElTDIu.js → Spinner-BmPjd2Bv.js} +1 -1
- package/dist/{Spinner-BpElTDIu.js.map → Spinner-BmPjd2Bv.js.map} +1 -1
- package/dist/{StatusBage-DQDOF5-U.js → StatusBage-CfEIuIPa.js} +2 -2
- package/dist/{StatusBage-DQDOF5-U.js.map → StatusBage-CfEIuIPa.js.map} +1 -1
- package/dist/{StatusPill-DM7n3I4W.js → StatusPill-CbJV4t-V.js} +2 -2
- package/dist/{StatusPill-DM7n3I4W.js.map → StatusPill-CbJV4t-V.js.map} +1 -1
- package/dist/{TableCellContextMenu-D0IMQr3E.js → TableCellContextMenu-9V8mnPmU.js} +3 -3
- package/dist/{TableCellContextMenu-D0IMQr3E.js.map → TableCellContextMenu-9V8mnPmU.js.map} +1 -1
- package/dist/{TableCellResizerPlugin-Bc5y-Qbx.js → TableCellResizerPlugin-Djym940U.js} +5 -5
- package/dist/{TableCellResizerPlugin-Bc5y-Qbx.js.map → TableCellResizerPlugin-Djym940U.js.map} +1 -1
- package/dist/{TextArea-CuASC9bX.js → TextArea-GR2ZWwLh.js} +2 -2
- package/dist/{TextArea-CuASC9bX.js.map → TextArea-GR2ZWwLh.js.map} +1 -1
- package/dist/{ToggleSwitch-C7z7JVtx.js → ToggleSwitch-b54K58vY.js} +2 -2
- package/dist/{ToggleSwitch-C7z7JVtx.js.map → ToggleSwitch-b54K58vY.js.map} +1 -1
- package/dist/{Tooltip-D27p9kh4.js → Tooltip-DvkGwn4j.js} +1 -1
- package/dist/{Tooltip-D27p9kh4.js.map → Tooltip-DvkGwn4j.js.map} +1 -1
- package/dist/{VarIndicator-C-GueOZD.js → VarIndicator-DoMWwSUm.js} +2 -2
- package/dist/{VarIndicator-C-GueOZD.js.map → VarIndicator-DoMWwSUm.js.map} +1 -1
- package/dist/{WeekSelector.module-BLPrVYgn.js → WeekSelector.module-DuEbNvok.js} +1 -1
- package/dist/{WeekSelector.module-BLPrVYgn.js.map → WeekSelector.module-DuEbNvok.js.map} +1 -1
- package/dist/__mocks__/svgrMock.js.map +1 -1
- package/dist/assets/{src/css/fonts.css → fonts.css} +4 -4
- package/dist/{chunk-SZQXB3JV-D6GR5B4F.js → chunk-SZQXB3JV-xjYHmnzP.js} +891 -949
- package/dist/{chunk-SZQXB3JV-D6GR5B4F.js.map → chunk-SZQXB3JV-xjYHmnzP.js.map} +1 -1
- package/dist/{client-8jeXrH7N.js → client-DJaPTT6C.js} +10 -10
- package/dist/{client-8jeXrH7N.js.map → client-DJaPTT6C.js.map} +1 -1
- package/dist/{clsx-BD2qMUU1.js → clsx-BWCAbrjV.js} +1 -1
- package/dist/clsx-BWCAbrjV.js.map +1 -0
- package/dist/components/Accordion/Accordion.js +1 -1
- package/dist/components/Accordion/Accordion.stories.js +2 -2
- package/dist/components/Accordion/Accordion.stories.js.map +1 -1
- package/dist/components/Accordion/Accordion.test.js +4 -4
- package/dist/components/Accordion/Accordion.test.js.map +1 -1
- package/dist/components/Accordion/index.js +1 -1
- package/dist/components/AccordionCard/AccordionCard.d.ts +1 -1
- package/dist/components/AccordionCard/AccordionCard.js +1 -1
- package/dist/components/AccordionCard/AccordionCard.stories.js +2 -2
- package/dist/components/AccordionCard/AccordionCard.stories.js.map +1 -1
- package/dist/components/AccordionCard/AccordionCard.test.js +4 -4
- package/dist/components/AccordionCard/AccordionCard.test.js.map +1 -1
- package/dist/components/AccordionCard/index.js +1 -1
- package/dist/components/ActionList/ActionList.d.ts +1 -1
- package/dist/components/ActionList/ActionList.js +1 -1
- package/dist/components/ActionList/ActionList.stories.js +1 -1
- package/dist/components/ActionList/ActionList.stories.js.map +1 -1
- package/dist/components/ActionList/ActionList.test.js +4 -4
- package/dist/components/ActionList/ActionList.test.js.map +1 -1
- package/dist/components/ActionList/index.js +1 -1
- package/dist/components/AppStatusBar/AppStatusBar.d.ts +1 -1
- package/dist/components/AppStatusBar/AppStatusBar.js +1 -1
- package/dist/components/AppStatusBar/AppStatusBar.stories.js +1 -1
- package/dist/components/AppStatusBar/AppStatusBar.stories.js.map +1 -1
- package/dist/components/AppStatusBar/AppStatusBar.test.js +3 -3
- package/dist/components/AppStatusBar/AppStatusBar.test.js.map +1 -1
- package/dist/components/AppStatusBar/index.js +1 -1
- package/dist/components/Attention/Attention.d.ts +1 -1
- package/dist/components/Attention/Attention.js +1 -1
- package/dist/components/Attention/Attention.stories.js +1 -1
- package/dist/components/Attention/Attention.stories.js.map +1 -1
- package/dist/components/Attention/Attention.test.js +3 -3
- package/dist/components/Attention/Attention.test.js.map +1 -1
- package/dist/components/Attention/index.js +1 -1
- package/dist/components/Backdrop/Backdrop.d.ts +1 -1
- package/dist/components/Backdrop/Backdrop.js +1 -1
- package/dist/components/Backdrop/Backdrop.stories.js +2 -2
- package/dist/components/Backdrop/Backdrop.stories.js.map +1 -1
- package/dist/components/Backdrop/Backdrop.test.js +3 -3
- package/dist/components/Backdrop/Backdrop.test.js.map +1 -1
- package/dist/components/Backdrop/index.js +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.stories.js +2 -2
- package/dist/components/ButtonGroup/ButtonGroup.stories.js.map +1 -1
- package/dist/components/ButtonGroup/index.js +1 -1
- package/dist/components/Buttons/Button.js +2 -2
- package/dist/components/Buttons/Button.js.map +1 -1
- package/dist/components/Buttons/Button.stories.js +1 -1
- package/dist/components/Buttons/Button.stories.js.map +1 -1
- package/dist/components/Buttons/Button.test.js +2 -2
- package/dist/components/Buttons/Button.test.js.map +1 -1
- package/dist/components/Buttons/LinkButton.js +2 -2
- package/dist/components/Buttons/LinkButton.js.map +1 -1
- package/dist/components/Buttons/LinkButton.stories.js +1 -1
- package/dist/components/Buttons/LinkButton.stories.js.map +1 -1
- package/dist/components/Buttons/LinkButton.test.js +2 -2
- package/dist/components/Buttons/LinkButton.test.js.map +1 -1
- package/dist/components/Buttons/MenuButton.d.ts +1 -1
- package/dist/components/Buttons/MenuButton.js +2 -2
- package/dist/components/Buttons/MenuButton.js.map +1 -1
- package/dist/components/Buttons/MenuButton.stories.js +1 -1
- package/dist/components/Buttons/MenuButton.stories.js.map +1 -1
- package/dist/components/Buttons/MenuButton.test.js +2 -2
- package/dist/components/Buttons/MenuButton.test.js.map +1 -1
- package/dist/components/Card/Card.d.ts +1 -1
- package/dist/components/Card/Card.js +1 -1
- package/dist/components/Card/Card.stories.js +1 -1
- package/dist/components/Card/Card.stories.js.map +1 -1
- package/dist/components/Card/Card.test.js +3 -3
- package/dist/components/Card/Card.test.js.map +1 -1
- package/dist/components/Card/index.js +1 -1
- package/dist/components/Checkbox/Checkbox.js +1 -1
- package/dist/components/Checkbox/Checkbox.stories.js +4 -4
- package/dist/components/Checkbox/Checkbox.stories.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.test.js +4 -4
- package/dist/components/Checkbox/Checkbox.test.js.map +1 -1
- package/dist/components/Checkbox/index.js +1 -1
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.d.ts +1 -1
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.js +1 -1
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js +3 -3
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js.map +1 -1
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js +3 -3
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js.map +1 -1
- package/dist/components/CheckboxButtonBar/index.js +1 -1
- package/dist/components/CheckboxTree/CheckboxTree.d.ts +1 -1
- package/dist/components/CheckboxTree/CheckboxTree.js +1 -1
- package/dist/components/CheckboxTree/CheckboxTree.stories.js +4 -4
- package/dist/components/CheckboxTree/CheckboxTree.stories.js.map +1 -1
- package/dist/components/CheckboxTree/index.js +1 -1
- package/dist/components/Chip/Chip.d.ts +1 -1
- package/dist/components/Chip/Chip.js +1 -1
- package/dist/components/Chip/Chip.stories.js +2 -2
- package/dist/components/Chip/Chip.stories.js.map +1 -1
- package/dist/components/Chip/index.js +1 -1
- package/dist/components/ControlsButton/ControlsButton.d.ts +1 -1
- package/dist/components/ControlsButton/ControlsButton.js +1 -1
- package/dist/components/ControlsButton/ControlsButton.stories.js +4 -4
- package/dist/components/ControlsButton/ControlsButton.stories.js.map +1 -1
- package/dist/components/ControlsButton/index.js +1 -1
- package/dist/components/CopyableText/CopyableText.d.ts +1 -1
- package/dist/components/CopyableText/CopyableText.js +1 -1
- package/dist/components/CopyableText/CopyableText.stories.js +1 -1
- package/dist/components/CopyableText/CopyableText.stories.js.map +1 -1
- package/dist/components/CopyableText/index.js +1 -1
- package/dist/components/Drawer/Drawer.d.ts +1 -1
- package/dist/components/Drawer/Drawer.js +1 -1
- package/dist/components/Drawer/Drawer.stories.js +3 -3
- package/dist/components/Drawer/Drawer.stories.js.map +1 -1
- package/dist/components/Drawer/index.js +1 -1
- package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.d.ts +1 -1
- package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.js +1 -1
- package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.stories.js +1 -1
- package/dist/components/EmptyStateDataDisplay/EmptyStateDataDisplay.stories.js.map +1 -1
- package/dist/components/EmptyStateDataDisplay/index.js +1 -1
- package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.d.ts +1 -1
- package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.js +1 -1
- package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.stories.js +2 -2
- package/dist/components/ExpandableInfoPanel/ExpandableInfoPanel.stories.js.map +1 -1
- package/dist/components/ExpandableInfoPanel/index.js +1 -1
- package/dist/components/FeedbackBar/FeedbackBar.d.ts +1 -1
- package/dist/components/FeedbackBar/FeedbackBar.js +1 -1
- package/dist/components/FeedbackBar/FeedbackBar.stories.js +3 -3
- package/dist/components/FeedbackBar/FeedbackBar.stories.js.map +1 -1
- package/dist/components/FeedbackBar/FeedbackBar.test.js +3 -3
- package/dist/components/FeedbackBar/FeedbackBar.test.js.map +1 -1
- package/dist/components/FeedbackBar/index.js +1 -1
- package/dist/components/FeedbackBox/FeedbackBox.d.ts +1 -1
- package/dist/components/FeedbackBox/FeedbackBox.js +1 -1
- package/dist/components/FeedbackBox/FeedbackBox.stories.js +3 -3
- package/dist/components/FeedbackBox/FeedbackBox.stories.js.map +1 -1
- package/dist/components/FeedbackBox/index.js +1 -1
- package/dist/components/FieldHint/FieldHint.d.ts +1 -1
- package/dist/components/FieldHint/FieldHint.js +1 -1
- package/dist/components/FieldHint/FieldHint.stories.js +1 -1
- package/dist/components/FieldHint/FieldHint.stories.js.map +1 -1
- package/dist/components/FieldHint/index.js +1 -1
- package/dist/components/Fieldset/Fieldset.d.ts +1 -1
- package/dist/components/Fieldset/Fieldset.js +1 -1
- package/dist/components/Fieldset/Fieldset.stories.js +5 -5
- package/dist/components/Fieldset/Fieldset.stories.js.map +1 -1
- package/dist/components/Fieldset/index.js +1 -1
- package/dist/components/FormField/FormField.d.ts +1 -1
- package/dist/components/FormField/FormField.js +1 -1
- package/dist/components/FormField/FormField.stories.js +4 -4
- package/dist/components/FormField/FormField.stories.js.map +1 -1
- package/dist/components/FormField/index.js +1 -1
- package/dist/components/FormInput/FormInput.d.ts +1 -1
- package/dist/components/FormInput/FormInput.js +1 -1
- package/dist/components/FormInput/FormInput.stories.js +2 -2
- package/dist/components/FormInput/FormInput.stories.js.map +1 -1
- package/dist/components/FormInput/index.js +1 -1
- package/dist/components/GridRow/Column/Column.d.ts +1 -1
- package/dist/components/GridRow/Column/Column.js +1 -1
- package/dist/components/GridRow/Column/index.js +1 -1
- package/dist/components/GridRow/GridRow.d.ts +2 -2
- package/dist/components/GridRow/GridRow.js +2 -2
- package/dist/components/GridRow/GridRow.js.map +1 -1
- package/dist/components/GridRow/GridRow.stories.js.map +1 -1
- package/dist/components/HorizontalList/HorizontalList.d.ts +1 -1
- package/dist/components/HorizontalList/HorizontalList.js +1 -1
- package/dist/components/HorizontalList/HorizontalList.stories.js +1 -1
- package/dist/components/HorizontalList/HorizontalList.stories.js.map +1 -1
- package/dist/components/HorizontalList/index.js +1 -1
- package/dist/components/Icon/Icon.js +1 -1
- package/dist/components/Icon/Icon.js.map +1 -1
- package/dist/components/Icon/Icon.stories.d.ts +1 -1
- package/dist/components/Icon/Icon.stories.js +2 -2
- package/dist/components/Icon/Icon.stories.js.map +1 -1
- package/dist/components/Icon/icons/index.js +1 -1
- package/dist/components/IconButton/IconButton.js +1 -1
- package/dist/components/IconButton/IconButton.stories.js +2 -2
- package/dist/components/IconButton/IconButton.stories.js.map +1 -1
- package/dist/components/IconButton/index.js +1 -1
- package/dist/components/InfoBanner/InfoBanner.d.ts +1 -1
- package/dist/components/InfoBanner/InfoBanner.js +1 -1
- package/dist/components/InfoBanner/InfoBanner.stories.js +1 -1
- package/dist/components/InfoBanner/InfoBanner.stories.js.map +1 -1
- package/dist/components/InfoBanner/index.js +1 -1
- package/dist/components/InfoMessage/InfoMessage.d.ts +1 -1
- package/dist/components/InfoMessage/InfoMessage.js +1 -1
- package/dist/components/InfoMessage/InfoMessage.stories.js +1 -1
- package/dist/components/InfoMessage/InfoMessage.stories.js.map +1 -1
- package/dist/components/InfoMessage/index.js +1 -1
- package/dist/components/Input/Input.js +1 -1
- package/dist/components/Input/Input.stories.js +1 -1
- package/dist/components/Input/Input.stories.js.map +1 -1
- package/dist/components/Input/index.js +1 -1
- package/dist/components/InputField/InputField.js +1 -1
- package/dist/components/InputField/InputField.stories.js +3 -3
- package/dist/components/InputField/InputField.stories.js.map +1 -1
- package/dist/components/InputField/index.js +1 -1
- package/dist/components/Label/Label.d.ts +1 -1
- package/dist/components/Label/Label.js +1 -1
- package/dist/components/Label/Label.stories.js +1 -1
- package/dist/components/Label/Label.stories.js.map +1 -1
- package/dist/components/Label/Label.test.js +3 -3
- package/dist/components/Label/Label.test.js.map +1 -1
- package/dist/components/Label/index.js +1 -1
- package/dist/components/MenuLink/MenuLink.d.ts +1 -1
- package/dist/components/MenuLink/MenuLink.js +1 -1
- package/dist/components/MenuLink/MenuLink.stories.js +1 -1
- package/dist/components/MenuLink/MenuLink.stories.js.map +1 -1
- package/dist/components/MenuLink/index.js +1 -1
- package/dist/components/MetaDataBar/MetaDataBar.d.ts +1 -1
- package/dist/components/MetaDataBar/MetaDataBar.js +1 -1
- package/dist/components/MetaDataBar/MetaDataBar.stories.js +1 -1
- package/dist/components/MetaDataBar/MetaDataBar.stories.js.map +1 -1
- package/dist/components/MetaDataBar/MetaDataBar.test.js +2 -2
- package/dist/components/MetaDataBar/MetaDataBar.test.js.map +1 -1
- package/dist/components/MetaDataBar/index.js +1 -1
- package/dist/components/MetaDataList/MetaDataList.d.ts +1 -1
- package/dist/components/MetaDataList/MetaDataList.js +1 -1
- package/dist/components/MetaDataList/MetaDataList.stories.js +2 -2
- package/dist/components/MetaDataList/MetaDataList.stories.js.map +1 -1
- package/dist/components/MetaDataList/index.js +1 -1
- package/dist/components/ModalDialog/ModalDialog.d.ts +1 -1
- package/dist/components/ModalDialog/ModalDialog.js +1 -1
- package/dist/components/ModalDialog/ModalDialog.stories.js +6 -6
- package/dist/components/ModalDialog/ModalDialog.stories.js.map +1 -1
- package/dist/components/ModalDialog/index.js +1 -1
- package/dist/components/MultiSelect/MultiSelect.d.ts +1 -1
- package/dist/components/MultiSelect/MultiSelect.js +1 -1
- package/dist/components/MultiSelect/MultiSelect.stories.js +3 -3
- package/dist/components/MultiSelect/MultiSelect.stories.js.map +1 -1
- package/dist/components/MultiSelect/components/MultiSelectHeader.d.ts +1 -1
- package/dist/components/MultiSelect/components/MultiSelectHeader.js +1 -1
- package/dist/components/MultiSelect/components/MultiSelectItem.d.ts +1 -1
- package/dist/components/MultiSelect/components/MultiSelectItem.js +1 -1
- package/dist/components/MultiSelect/index.js +1 -1
- package/dist/components/MultiSelectBox/MultiSelectBox.d.ts +1 -1
- package/dist/components/MultiSelectBox/MultiSelectBox.js +1 -1
- package/dist/components/MultiSelectBox/MultiSelectBox.stories.js +2 -2
- package/dist/components/MultiSelectBox/MultiSelectBox.stories.js.map +1 -1
- package/dist/components/MultiSelectBox/MultiSelectBox.test.js +3 -3
- package/dist/components/MultiSelectBox/MultiSelectBox.test.js.map +1 -1
- package/dist/components/MultiSelectBox/index.js +1 -1
- package/dist/components/Notification/Notification.d.ts +1 -1
- package/dist/components/Notification/Notification.js +1 -1
- package/dist/components/Notification/Notification.stories.js +2 -2
- package/dist/components/Notification/Notification.stories.js.map +1 -1
- package/dist/components/Notification/Notification.test.js +3 -3
- package/dist/components/Notification/Notification.test.js.map +1 -1
- package/dist/components/Notification/index.js +1 -1
- package/dist/components/OverlayCloseButton/OverlayCloseButton.js +1 -1
- package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js +3 -3
- package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js.map +1 -1
- package/dist/components/OverlayCloseButton/index.js +1 -1
- package/dist/components/OverlayStepBar/OverlayStepBar.d.ts +1 -1
- package/dist/components/OverlayStepBar/OverlayStepBar.js +1 -1
- package/dist/components/OverlayStepBar/OverlayStepBar.stories.js +1 -1
- package/dist/components/OverlayStepBar/OverlayStepBar.stories.js.map +1 -1
- package/dist/components/OverlayStepBar/index.js +1 -1
- package/dist/components/PageOverlay/PageOverlay.d.ts +1 -1
- package/dist/components/PageOverlay/PageOverlay.js +1 -1
- package/dist/components/PageOverlay/PageOverlay.stories.js +6 -6
- package/dist/components/PageOverlay/PageOverlay.stories.js.map +1 -1
- package/dist/components/PageOverlay/index.js +1 -1
- package/dist/components/PeriodSelector/PeriodSelector.d.ts +1 -1
- package/dist/components/PeriodSelector/PeriodSelector.js +1 -1
- package/dist/components/PeriodSelector/PeriodSelector.stories.js +2 -2
- package/dist/components/PeriodSelector/PeriodSelector.stories.js.map +1 -1
- package/dist/components/PeriodSelector/index.js +1 -1
- package/dist/components/Periods/Periods.d.ts +1 -1
- package/dist/components/Periods/Periods.js +1 -1
- package/dist/components/Periods/Periods.stories.js +1 -1
- package/dist/components/Periods/Periods.stories.js.map +1 -1
- package/dist/components/Periods/index.js +1 -1
- package/dist/components/ProgrammeCard/ProgrammeCard.d.ts +1 -1
- package/dist/components/ProgrammeCard/ProgrammeCard.js +1 -1
- package/dist/components/ProgrammeCard/ProgrammeCard.stories.js +3 -3
- package/dist/components/ProgrammeCard/ProgrammeCard.stories.js.map +1 -1
- package/dist/components/ProgrammeCard/index.js +1 -1
- package/dist/components/RadioButton/RadioButton.d.ts +1 -1
- package/dist/components/RadioButton/RadioButton.js +1 -1
- package/dist/components/RadioButton/RadioButton.stories.js +1 -1
- package/dist/components/RadioButton/RadioButton.stories.js.map +1 -1
- package/dist/components/RadioButton/index.js +1 -1
- package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
- package/dist/components/RadioGroup/RadioGroup.js +1 -1
- package/dist/components/RadioGroup/RadioGroup.stories.js +2 -2
- package/dist/components/RadioGroup/RadioGroup.stories.js.map +1 -1
- package/dist/components/RadioGroup/Radiogroup.test.js +3 -3
- package/dist/components/RadioGroup/Radiogroup.test.js.map +1 -1
- package/dist/components/RadioGroup/index.js +1 -1
- package/dist/components/RadioTabSelector/RadioTabSelector.d.ts +1 -1
- package/dist/components/RadioTabSelector/RadioTabSelector.js +1 -1
- package/dist/components/RadioTabSelector/RadioTabSelector.stories.js +2 -2
- package/dist/components/RadioTabSelector/RadioTabSelector.stories.js.map +1 -1
- package/dist/components/RadioTabSelector/index.js +1 -1
- package/dist/components/Repeater/Repeater.d.ts +1 -1
- package/dist/components/Repeater/Repeater.js +1 -1
- package/dist/components/Repeater/Repeater.stories.js +2 -2
- package/dist/components/Repeater/Repeater.stories.js.map +1 -1
- package/dist/components/Repeater/index.js +1 -1
- package/dist/components/RteEditor/EditorHeader/EditorHeader.d.ts +1 -1
- package/dist/components/RteEditor/EditorHeader/EditorHeader.js +1 -1
- package/dist/components/RteEditor/EditorHeader/index.js +1 -1
- package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js +4 -4
- package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/AddCatalogueLinkForm.d.ts +1 -1
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/AddCatalogueLinkForm.js +1 -1
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/AddCatalogueLinkForm/index.js +1 -1
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.d.ts +1 -1
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.js +6 -6
- package/dist/components/RteEditor/Plugins/CourseCataloguePlugin/CourseCataloguePlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.d.ts +1 -1
- package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/HistoryPlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkForm/AddLinkFrom.js +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.d.ts +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/helpers.js +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.d.ts +1 -1
- package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js +6 -6
- package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/PasteHandlerPlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/TableCellResizerPlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/TableCellResizerPlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.d.ts +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/index.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js +2 -2
- package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js.map +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/index.js +2 -2
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/index.js +4 -4
- package/dist/components/RteEditor/Providers/LanguageProvider.d.ts +1 -1
- package/dist/components/RteEditor/Providers/LanguageProvider.js.map +1 -1
- package/dist/components/RteEditor/RteEditor.d.ts +2 -2
- package/dist/components/RteEditor/RteEditor.js +1 -1
- package/dist/components/RteEditor/RteEditor.stories.d.ts +1 -1
- package/dist/components/RteEditor/RteEditor.stories.js +2 -2
- package/dist/components/RteEditor/RteEditor.stories.js.map +1 -1
- package/dist/components/RteEditor/UvaTheme/UvaTheme.js +1 -1
- package/dist/components/RteEditor/UvaTheme/UvaTheme.js.map +1 -1
- package/dist/components/RteEditor/helpers.js +4 -4
- package/dist/components/RteEditor/helpers.js.map +1 -1
- package/dist/components/RteEditor/hooks/components/Flyout.js +1 -1
- package/dist/components/RteEditor/hooks/useFlyout.js +1 -1
- package/dist/components/RteEditor/hooks/useFlyout.js.map +1 -1
- package/dist/components/RteEditor/hooks/useTranslation.js.map +1 -1
- package/dist/components/RteEditor/index.js +1 -1
- package/dist/components/RteEditor/mockCatalogueSearchData.js.map +1 -1
- package/dist/components/RteEditor/nodes/CourseCatalogueNode/CourseCatalogueNode.js +3 -3
- package/dist/components/RteEditor/nodes/CourseCatalogueNode/CourseCatalogueNode.js.map +1 -1
- package/dist/components/RteEditor/nodes/TableWrapperNode/TableWrapperNode.js +3 -3
- package/dist/components/RteEditor/nodes/TableWrapperNode/TableWrapperNode.js.map +1 -1
- package/dist/components/RteEditor/translations.js.map +1 -1
- package/dist/components/SearchField/SearchField.d.ts +2 -2
- package/dist/components/SearchField/SearchField.js +2 -2
- package/dist/components/SearchField/SearchField.js.map +1 -1
- package/dist/components/SearchField/SearcheField.stories.js.map +1 -1
- package/dist/components/SearchField/components/ResultOptionBox.js +1 -1
- package/dist/components/SearchField/components/ResultOptionBox.js.map +1 -1
- package/dist/components/SearchField/components/ResultsOption.d.ts +1 -1
- package/dist/components/SearchField/components/ResultsOption.js +1 -1
- package/dist/components/SearchField/components/ResultsOption.js.map +1 -1
- package/dist/components/SearchField/mockData.js.map +1 -1
- package/dist/components/SectionNotification/SectionNotification.d.ts +1 -1
- package/dist/components/SectionNotification/SectionNotification.js +1 -1
- package/dist/components/SectionNotification/SectionNotification.stories.js +1 -1
- package/dist/components/SectionNotification/SectionNotification.stories.js.map +1 -1
- package/dist/components/SectionNotification/index.js +1 -1
- package/dist/components/SelectListbox/SelectListBox.stories.js +1 -1
- package/dist/components/SelectListbox/SelectListBox.stories.js.map +1 -1
- package/dist/components/SelectListbox/SelectListbox.d.ts +2 -2
- package/dist/components/SelectListbox/SelectListbox.js.map +1 -1
- package/dist/components/SelectListbox/SelectProvider.d.ts +1 -1
- package/dist/components/SelectListbox/SelectProvider.js.map +1 -1
- package/dist/components/SelectListbox/components/SelectButton.js +2 -2
- package/dist/components/SelectListbox/components/SelectButton.js.map +1 -1
- package/dist/components/SelectListbox/components/SelectContainer.d.ts +1 -1
- package/dist/components/SelectListbox/components/SelectContainer.js +1 -1
- package/dist/components/SelectListbox/components/SelectContainer.js.map +1 -1
- package/dist/components/SelectListbox/components/SelectOption.d.ts +1 -1
- package/dist/components/SelectListbox/components/SelectOption.js +2 -2
- package/dist/components/SelectListbox/components/SelectOption.js.map +1 -1
- package/dist/components/SelectListbox/components/SelectOptionBox.js +1 -1
- package/dist/components/SelectListbox/components/SelectOptionBox.js.map +1 -1
- package/dist/components/Slider/Slider.d.ts +1 -1
- package/dist/components/Slider/Slider.js +1 -1
- package/dist/components/Slider/Slider.stories.js +1 -1
- package/dist/components/Slider/Slider.stories.js.map +1 -1
- package/dist/components/Slider/index.js +1 -1
- package/dist/components/Sortable/Sortable.d.ts +1 -1
- package/dist/components/Sortable/Sortable.js +1 -1
- package/dist/components/Sortable/Sortable.js.map +1 -1
- package/dist/components/Sortable/Sortable.stories.js +2 -2
- package/dist/components/Sortable/Sortable.stories.js.map +1 -1
- package/dist/components/Sortable/SortableProvider.d.ts +1 -1
- package/dist/components/Sortable/SortableProvider.js +1 -1
- package/dist/components/Sortable/actions.js.map +1 -1
- package/dist/components/Sortable/components/SortableContainer.d.ts +1 -1
- package/dist/components/Sortable/components/SortableContainer.js +1 -1
- package/dist/components/Sortable/components/SortableHandle.d.ts +1 -1
- package/dist/components/Sortable/components/SortableHandle.js +1 -1
- package/dist/components/Sortable/components/SortableHandle.js.map +1 -1
- package/dist/components/Sortable/components/SortableItem.d.ts +1 -1
- package/dist/components/Sortable/components/SortableItem.js +3 -3
- package/dist/components/Sortable/components/SortableItem.js.map +1 -1
- package/dist/components/Sortable/sortableReducer.js.map +1 -1
- package/dist/components/Spinner/Spinner.d.ts +1 -1
- package/dist/components/Spinner/Spinner.js +1 -1
- package/dist/components/Spinner/Spinner.stories.js +1 -1
- package/dist/components/Spinner/Spinner.stories.js.map +1 -1
- package/dist/components/Spinner/index.js +1 -1
- package/dist/components/StatusBadge/StatusBadge.stories.js +1 -1
- package/dist/components/StatusBadge/StatusBadge.stories.js.map +1 -1
- package/dist/components/StatusBadge/StatusBadge.test.js +3 -3
- package/dist/components/StatusBadge/StatusBadge.test.js.map +1 -1
- package/dist/components/StatusBadge/StatusBage.d.ts +1 -1
- package/dist/components/StatusBadge/StatusBage.js +1 -1
- package/dist/components/StatusBadge/index.js +1 -1
- package/dist/components/StatusPill/StatusPill.d.ts +1 -1
- package/dist/components/StatusPill/StatusPill.js +1 -1
- package/dist/components/StatusPill/StatusPill.stories.js +2 -2
- package/dist/components/StatusPill/StatusPill.stories.js.map +1 -1
- package/dist/components/StatusPill/index.js +1 -1
- package/dist/components/TextArea/TextArea.d.ts +1 -1
- package/dist/components/TextArea/TextArea.js +1 -1
- package/dist/components/TextArea/TextArea.stories.js +2 -2
- package/dist/components/TextArea/TextArea.stories.js.map +1 -1
- package/dist/components/TextArea/TextArea.test.js +4 -4
- package/dist/components/TextArea/TextArea.test.js.map +1 -1
- package/dist/components/TextArea/index.js +1 -1
- package/dist/components/ToggleSwitch/ToggleSwitch.d.ts +1 -1
- package/dist/components/ToggleSwitch/ToggleSwitch.js +1 -1
- package/dist/components/ToggleSwitch/ToggleSwitch.stories.js +2 -2
- package/dist/components/ToggleSwitch/ToggleSwitch.stories.js.map +1 -1
- package/dist/components/ToggleSwitch/index.js +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.js +1 -1
- package/dist/components/Tooltip/Tooltip.stories.js +2 -2
- package/dist/components/Tooltip/Tooltip.stories.js.map +1 -1
- package/dist/components/Tooltip/index.js +1 -1
- package/dist/components/VarIndicator/VarIndicator.d.ts +1 -1
- package/dist/components/VarIndicator/VarIndicator.js +1 -1
- package/dist/components/VarIndicator/VarIndicator.stories.js +2 -2
- package/dist/components/VarIndicator/VarIndicator.stories.js.map +1 -1
- package/dist/components/VarIndicator/VarIndicator.test.js +4 -4
- package/dist/components/VarIndicator/VarIndicator.test.js.map +1 -1
- package/dist/components/VarIndicator/index.js +1 -1
- package/dist/components/WeekSelector/WeekSelector.d.ts +1 -1
- package/dist/components/WeekSelector/WeekSelector.js +2 -2
- package/dist/components/WeekSelector/WeekSelector.js.map +1 -1
- package/dist/components/WeekSelector/WeekSelector.stories.js.map +1 -1
- package/dist/components/WeekSelector/components/WeekSelectorButton.d.ts +1 -1
- package/dist/components/WeekSelector/components/WeekSelectorButton.js +1 -1
- package/dist/components/WeekSelector/components/WeekSelectorButton.js.map +1 -1
- package/dist/components/WeekSelector/components/WeekSelectorOption.d.ts +1 -1
- package/dist/components/WeekSelector/components/WeekSelectorOption.js +2 -2
- package/dist/components/WeekSelector/components/WeekSelectorOption.js.map +1 -1
- package/dist/components/WeekSelector/components/WeekSelectorOptionContainer.js +1 -1
- package/dist/components/WeekSelector/components/WeekSelectorOptionContainer.js.map +1 -1
- package/dist/components/WeekSelector/mockdata.js.map +1 -1
- package/dist/components/hooks/useDebounce.js.map +1 -1
- package/dist/components/hooks/useOnClickOutside.js.map +1 -1
- package/dist/components/hooks/usePositionedFloaters.js.map +1 -1
- package/dist/components/hooks/useResponsive.js.map +1 -1
- package/dist/components/index.js +52 -52
- package/dist/{components-BzxAULjf.js → components-D6_Sx8Hs.js} +24 -24
- package/dist/{components-BzxAULjf.js.map → components-D6_Sx8Hs.js.map} +1 -1
- package/dist/{dist-V_v3kC0L.js → dist-Cxk2-lJw.js} +4 -4
- package/dist/{dist-V_v3kC0L.js.map → dist-Cxk2-lJw.js.map} +1 -1
- package/dist/{esm-BwHoYxVb.js → esm-BJhEQquH.js} +10 -10
- package/dist/{esm-BwHoYxVb.js.map → esm-BJhEQquH.js.map} +1 -1
- package/dist/{helpers-B1VK8xTF.js → helpers-z8cqBNoz.js} +3 -3
- package/dist/{helpers-B1VK8xTF.js.map → helpers-z8cqBNoz.js.map} +1 -1
- package/dist/{icons-TRhI-4V6.js → icons-ClUPu6KU.js} +1 -1
- package/dist/{icons-TRhI-4V6.js.map → icons-ClUPu6KU.js.map} +1 -1
- package/dist/index.js +52 -52
- package/dist/{lib-BvOQt8El.js → lib-Do6N-CJR.js} +2 -2
- package/dist/{lib-BvOQt8El.js.map → lib-Do6N-CJR.js.map} +1 -1
- package/dist/{react-18-B7MZmX_Z.js → react-18-BAudFSEM.js} +3 -3
- package/dist/{react-18-B7MZmX_Z.js.map → react-18-BAudFSEM.js.map} +1 -1
- package/dist/{react.esm-D_F72rY1.js → react.esm-GvSawg5E.js} +79 -79
- package/dist/{react.esm-D_F72rY1.js.map → react.esm-GvSawg5E.js.map} +1 -1
- package/dist/setupTests.js +4 -4
- package/dist/setupTests.js.map +1 -1
- package/dist/storyComponents/ClipboardButton/ClipboardButton.d.ts +1 -1
- package/dist/storyComponents/ClipboardButton/ClipboardButton.js +1 -1
- package/dist/storyComponents/ClipboardButton/index.js +1 -1
- package/dist/storyComponents/Container/Container.d.ts +1 -1
- package/dist/storyComponents/Container/Container.js +1 -1
- package/dist/storyComponents/Container/index.js +1 -1
- package/dist/storybook__react.d.js +5 -5
- package/dist/storybook__react.d.js.map +1 -1
- package/dist/{test-Pa9Lwbsq.js → test-CpW02epT.js} +2 -2
- package/dist/{test-Pa9Lwbsq.js.map → test-CpW02epT.js.map} +1 -1
- package/dist/{test-utils-Cmn06m_x.js → test-utils-DcI4ZXle.js} +2 -2
- package/dist/{test-utils-Cmn06m_x.js.map → test-utils-DcI4ZXle.js.map} +1 -1
- package/package.json +29 -27
- package/dist/Lexical.prod-CqPLSi0R.js.map +0 -1
- package/dist/LexicalClipboard.prod-BVw_sFpo.js.map +0 -1
- package/dist/LexicalExtension.prod-CUQTgbur.js.map +0 -1
- package/dist/LexicalLink.prod-DMhcqD9x.js.map +0 -1
- package/dist/LexicalList.prod-eYlcb5Ao.js.map +0 -1
- package/dist/LexicalTable.prod-DlOxUQou.js.map +0 -1
- package/dist/clsx-BD2qMUU1.js.map +0 -1
- /package/dist/assets/favicon/{src/assets/favicon/android-chrome-192x192.png → android-chrome-192x192.png} +0 -0
- /package/dist/assets/favicon/{src/assets/favicon/android-chrome-512x512.png → android-chrome-512x512.png} +0 -0
- /package/dist/assets/favicon/{src/assets/favicon/apple-touch-icon.png → apple-touch-icon.png} +0 -0
- /package/dist/assets/favicon/{src/assets/favicon/favicon-16x16.png → favicon-16x16.png} +0 -0
- /package/dist/assets/favicon/{src/assets/favicon/favicon-32x32.png → favicon-32x32.png} +0 -0
- /package/dist/assets/favicon/{src/assets/favicon/favicon.ico → favicon.ico} +0 -0
- /package/dist/assets/favicon/{src/assets/favicon/favicon.svg → favicon.svg} +0 -0
- /package/dist/assets/favicon/{src/assets/favicon/site.webmanifest → site.webmanifest} +0 -0
- /package/dist/assets/fonts/{src/assets/fonts/SourceSans3-Regular.otf.woff → SourceSans3-Regular.otf.woff} +0 -0
- /package/dist/assets/fonts/{src/assets/fonts/SourceSans3-Regular.otf.woff2 → SourceSans3-Regular.otf.woff2} +0 -0
- /package/dist/assets/fonts/{src/assets/fonts/SourceSans3-Semibold.otf.woff → SourceSans3-Semibold.otf.woff} +0 -0
- /package/dist/assets/fonts/{src/assets/fonts/SourceSans3-Semibold.otf.woff2 → SourceSans3-Semibold.otf.woff2} +0 -0
- /package/dist/assets/{src/css/globals.css → globals.css} +0 -0
- /package/dist/assets/{src/css/variables.css → variables.css} +0 -0
- /package/dist/{chunk-3e0lkp8x.js → chunk-CWhphoD1.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasteHandlerPlugin-BNp8ST0q.js","names":[],"sources":["../node_modules/@staartwind.nl/lexical-paste-from-word/dist/normalizer.js","../node_modules/@staartwind.nl/lexical-paste-from-word/dist/index.js","../src/components/RteEditor/Plugins/PasteHandlerPlugin/PasteHandlerPlugin.tsx"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.normalizeSpacerunSpans = exports.normalizeSpacing = exports.parseHtml = exports.MSWordNormalizer = void 0;\nconst MS_WORD_MATCHES = [\n /<meta\\s*name=\"?generator\"?\\s*content=\"?microsoft\\s*word\\s*\\d+\"?\\/?>/i,\n /xmlns:o=\"urn:schemas-microsoft-com/i\n];\nclass MSWordNormalizer {\n isActive(htmlString) {\n return MS_WORD_MATCHES.some(regex => regex.test(htmlString));\n }\n normalize(htmlString) {\n const { bodyString, stylesString } = parseHtml(htmlString);\n const doc = new DOMParser().parseFromString(bodyString, 'text/html');\n this.transformListItemLikeLElementsIntoLists(doc, stylesString);\n this.removeMSAttributes(doc);\n return doc.body.innerHTML;\n }\n findAllItemLikeElements(doc) {\n const items = doc.querySelectorAll('*');\n const res = [];\n for (const item of items) {\n const tagName = item.tagName.toLowerCase();\n // Find all the possible list items\n if (!['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'li', 'div'].includes(tagName) || !(item instanceof HTMLElement)) {\n continue;\n }\n const style = convertStyleToObject(item.getAttribute('style') || '');\n // Keep items that are part of a list.\n if ('mso-list' in style) {\n if (!item.parentElement)\n continue;\n if (isList(item.parentElement))\n continue;\n const itemData = getListItemData(style);\n res.push(Object.assign(Object.assign({}, itemData), { element: item }));\n }\n }\n return res;\n }\n transformListItemLikeLElementsIntoLists(doc, stylesString) {\n var _a, _b, _c, _d, _e, _f, _g;\n const itemLikeElements = this.findAllItemLikeElements(doc);\n if (!itemLikeElements.length) {\n return;\n }\n const encounteredLists = {};\n const stack = [];\n for (const itemLikeElement of itemLikeElements) {\n if (itemLikeElement.indent != null) {\n // Reset the current stack if the previous used list does not continue with itemLikeElement\n if (!isListContinuation(itemLikeElement)) {\n stack.length = 0;\n }\n // Combined list ID for addressing encounter lists counters.\n const originalListId = `${itemLikeElement.id}:${itemLikeElement.indent}`;\n // Normalized list item indentation.\n const indent = Math.min(itemLikeElement.indent - 1, stack.length);\n // Trimming of the list stack on list ID change.\n if (indent < stack.length && ((_a = stack[indent]) === null || _a === void 0 ? void 0 : _a.id) !== itemLikeElement.id) {\n stack.length = indent;\n }\n // Trimming of the list stack on lower indent list encountered.\n if (indent < stack.length - 1) {\n stack.length = indent + 1;\n }\n else {\n const listStyle = detectListStyle(itemLikeElement, stylesString);\n // Create a new OL/UL if required (greater indent or different list type).\n if (indent > stack.length - 1 || ((_b = stack[indent]) === null || _b === void 0 ? void 0 : _b.listElement.tagName.toLowerCase()) != listStyle.type) {\n if (indent == 0 &&\n listStyle.type == 'ol' &&\n itemLikeElement.id !== undefined &&\n encounteredLists[originalListId]) {\n listStyle.startIndex = (_c = encounteredLists[originalListId]) !== null && _c !== void 0 ? _c : null;\n }\n const listElement = createNewEmptyList(listStyle, false);\n // Insert the new OL/UL.\n if (stack.length == 0) {\n const parent = itemLikeElement.element.parentNode;\n const index = Array.from(parent.children).indexOf(itemLikeElement.element) + 1;\n if (index === parent.children.length) {\n parent.appendChild(listElement);\n }\n else {\n parent.insertBefore(listElement, itemLikeElement.element);\n }\n }\n else {\n const parentListItems = (_d = stack[indent - 1]) === null || _d === void 0 ? void 0 : _d.listItemElements;\n if (parentListItems) {\n (_e = parentListItems[parentListItems.length - 1]) === null || _e === void 0 ? void 0 : _e.appendChild(listElement);\n }\n }\n // Update the list stack for other items to reference.\n stack[indent] = Object.assign(Object.assign({}, itemLikeElement), { listElement, listItemElements: [] });\n // Prepare list counter for start index.\n if (indent == 0 && itemLikeElement.id !== undefined) {\n encounteredLists[originalListId] = listStyle.startIndex || 1;\n }\n }\n }\n // Use LI if it is already it or create a new LI element.\n const listItem = itemLikeElement.element.tagName.toLowerCase() == 'li' ? itemLikeElement.element : document.createElement('li');\n // Append the LI to OL/UL.\n (_f = stack[indent]) === null || _f === void 0 ? void 0 : _f.listElement.appendChild(listItem);\n (_g = stack[indent]) === null || _g === void 0 ? void 0 : _g.listItemElements.push(listItem);\n // Increment list counter.\n if (indent == 0 && itemLikeElement.id !== undefined) {\n encounteredLists[originalListId]++;\n }\n // Append list block to LI.\n if (itemLikeElement.element != listItem) {\n listItem.appendChild(itemLikeElement.element);\n }\n // Clean list block.\n removeMsoListIgnoreSpans(itemLikeElement.element);\n }\n }\n }\n removeMSAttributes(doc) {\n const items = doc.querySelectorAll('*');\n const elementsToUnwrap = [];\n for (const item of items) {\n // Eliminate all classes that include mso.\n for (const className of item.classList) {\n if (/\\bmso/gi.exec(className)) {\n item.classList.remove(className);\n }\n }\n // Eliminate all useless mso styling\n if (item instanceof HTMLElement) {\n removeMSOStyles(item);\n }\n // Push word specific elements to an array\n if (item.tagName === 'W:SDT' || item.tagName === 'W:SDTPR' && isElementEmpty(item) || item.tagName === 'O:P' && isElementEmpty(item)) {\n elementsToUnwrap.push(item);\n }\n }\n // Eliminate word specific elements\n for (const item of elementsToUnwrap) {\n const itemParent = item.parentNode;\n itemParent.removeChild(item);\n }\n }\n}\nexports.MSWordNormalizer = MSWordNormalizer;\nfunction parseHtml(htmlString) {\n const domParser = new DOMParser();\n // Remove Word specific \"if comments\" so content inside is not omitted by the parser.\n htmlString = htmlString.replace(/<!--\\[if gte vml 1]>/g, '');\n // Clean the <head> section of MS Windows specific tags. See https://github.com/ckeditor/ckeditor5/issues/15333.\n // The regular expression matches the <o:SmartTagType> tag with optional attributes (with or without values).\n htmlString = htmlString.replace(/<o:SmartTagType(?:\\s+[^\\s>=]+(?:=\"[^\"]*\")?)*\\s*\\/?>/gi, '');\n const normalizedHtml = normalizeSpacing(cleanContentAfterBody(htmlString));\n // Parse htmlString as native Document object.\n const htmlDocument = domParser.parseFromString(normalizedHtml, 'text/html');\n normalizeSpacerunSpans(htmlDocument);\n // Get `innerHTML` first as transforming to View modifies the source document.\n const bodyString = htmlDocument.body.innerHTML;\n const stylesString = extractStyles(htmlDocument);\n return {\n bodyString,\n stylesString\n };\n}\nexports.parseHtml = parseHtml;\nfunction extractStyles(htmlDocument) {\n const styles = [];\n const stylesString = [];\n const styleTags = Array.from(htmlDocument.getElementsByTagName('style'));\n for (const style of styleTags) {\n if (style.sheet && style.sheet.cssRules && style.sheet.cssRules.length) {\n styles.push(style.sheet);\n stylesString.push(style.innerHTML);\n }\n }\n return stylesString.join(' ');\n}\nfunction normalizeSpacing(htmlString) {\n // Run normalizeSafariSpaceSpans() two times to cover nested spans.\n return normalizeSafariSpaceSpans(normalizeSafariSpaceSpans(htmlString))\n // Remove all \\r\\n from \"spacerun spans\" so the last replace line doesn't strip all whitespaces.\n .replace(/(<span\\s+style=['\"]mso-spacerun:yes['\"]>[^\\S\\r\\n]*?)[\\r\\n]+([^\\S\\r\\n]*<\\/span>)/g, '$1$2')\n .replace(/<span\\s+style=['\"]mso-spacerun:yes['\"]><\\/span>/g, '')\n .replace(/(<span\\s+style=['\"]letter-spacing:[^'\"]+?['\"]>)[\\r\\n]+(<\\/span>)/g, '$1 $2')\n .replace(/ <\\//g, '\\u00A0</')\n .replace(/ <o:p><\\/o:p>/g, '\\u00A0<o:p></o:p>')\n // Remove <o:p> block filler from empty paragraph. Safari uses \\u00A0 instead of .\n .replace(/<o:p>( |\\u00A0)<\\/o:p>/g, '')\n // Remove all whitespaces when they contain any \\r or \\n.\n .replace(/>([^\\S\\r\\n]*[\\r\\n]\\s*)</g, '><');\n}\nexports.normalizeSpacing = normalizeSpacing;\nfunction normalizeSafariSpaceSpans(htmlString) {\n return htmlString.replace(/<span(?: class=\"Apple-converted-space\"|)>(\\s+)<\\/span>/g, (fullMatch, spaces) => {\n return spaces.length === 1 ? ' ' : Array(spaces.length + 1).join('\\u00A0 ').substring(0, spaces.length);\n });\n}\nfunction normalizeSpacerunSpans(htmlDocument) {\n htmlDocument.querySelectorAll('span[style*=spacerun]').forEach(el => {\n const htmlElement = el;\n const innerTextLength = htmlElement.innerText.length || 0;\n htmlElement.innerText = Array(innerTextLength + 1).join('\\u00A0 ').substring(0, innerTextLength);\n });\n}\nexports.normalizeSpacerunSpans = normalizeSpacerunSpans;\nfunction cleanContentAfterBody(htmlString) {\n const bodyCloseTag = '</body>';\n const htmlCloseTag = '</html>';\n const bodyCloseIndex = htmlString.indexOf(bodyCloseTag);\n if (bodyCloseIndex < 0) {\n return htmlString;\n }\n const htmlCloseIndex = htmlString.indexOf(htmlCloseTag, bodyCloseIndex + bodyCloseTag.length);\n return htmlString.substring(0, bodyCloseIndex + bodyCloseTag.length) +\n (htmlCloseIndex >= 0 ? htmlString.substring(htmlCloseIndex) : '');\n}\nfunction convertStyleToObject(styleString) {\n const styleObject = {};\n if (!styleString) {\n return styleObject;\n }\n // Split the style string into individual declarations\n const declarations = styleString.split(';').map(declaration => declaration.trim());\n // Iterate over each declaration and split it into property and value\n declarations.forEach(declaration => {\n const [property, value] = declaration.split(':').map(part => part.trim());\n if (property && value) {\n // Add the property and value to the style object\n styleObject[property] = value;\n }\n });\n return styleObject;\n}\nfunction isElementEmpty(element) {\n return !element.textContent && !element.innerHTML.trim();\n}\nfunction removeMSOStyles(element) {\n // Get the current style string of the paragraph node\n const currentStyle = element.getAttribute('style') || '';\n // Parse the style string to extract individual style properties\n const styleProperties = currentStyle.split(';').map(property => property.trim());\n // Remove the 'mso-bidi-font-family' property from the list of style properties\n const filteredProperties = styleProperties.filter(property => {\n var _a;\n const [key] = property.split(':');\n return !(/\\bmso/gi.exec((_a = key === null || key === void 0 ? void 0 : key.toLowerCase()) !== null && _a !== void 0 ? _a : ''));\n });\n // Reconstruct the style string without the removed property\n const updatedStyle = filteredProperties.join(';');\n // Set the updated style string back to the paragraph node\n element.setAttribute('style', updatedStyle);\n}\nfunction getListItemData(styles) {\n var _a;\n const listStyle = styles['mso-list'];\n if (listStyle === undefined) {\n return {};\n }\n const idMatch = listStyle.match(/(^|\\s{1,100})l(\\d+)/i);\n const orderMatch = listStyle.match(/\\s{0,100}lfo(\\d+)/i);\n const indentMatch = listStyle.match(/\\s{0,100}level(\\d+)/i);\n if (idMatch && orderMatch && indentMatch) {\n return {\n id: idMatch[2],\n order: orderMatch[1],\n indent: parseInt((_a = indentMatch[1]) !== null && _a !== void 0 ? _a : '')\n };\n }\n return {\n indent: 1\n };\n}\nfunction detectListStyle(listLikeItem, stylesString) {\n const listStyleRegexp = new RegExp(`@list l${listLikeItem.id}:level${listLikeItem.indent}\\\\s*({[^}]*)`, 'gi');\n const listStyleTypeRegex = /mso-level-number-format:([^;]{0,100});/gi;\n const listStartIndexRegex = /mso-level-start-at:\\s{0,100}([0-9]{0,10})\\s{0,100};/gi;\n const legalStyleListRegex = new RegExp(`@list\\\\s+l${listLikeItem.id}:level\\\\d\\\\s*{[^{]*mso-level-text:\"%\\\\d\\\\\\\\.`, 'gi');\n const multiLevelNumberFormatTypeRegex = new RegExp(`@list l${listLikeItem.id}:level\\\\d\\\\s*{[^{]*mso-level-number-format:`, 'gi');\n const legalStyleListMatch = legalStyleListRegex.exec(stylesString);\n const multiLevelNumberFormatMatch = multiLevelNumberFormatTypeRegex.exec(stylesString);\n // Multi level lists in Word have mso-level-number-format attribute except legal lists,\n // so we used that. If list has legal list match and doesn't has mso-level-number-format\n // then this is legal-list.\n const islegalStyleList = legalStyleListMatch && !multiLevelNumberFormatMatch;\n const listStyleMatch = listStyleRegexp.exec(stylesString);\n let listStyleType = 'decimal'; // Decimal is default one.\n let type = 'ol'; // <ol> is default list.\n let startIndex = null;\n if (listStyleMatch && listStyleMatch[1]) {\n const listStyleTypeMatch = listStyleTypeRegex.exec(listStyleMatch[1]);\n if (listStyleTypeMatch && listStyleTypeMatch[1]) {\n listStyleType = listStyleTypeMatch[1].trim();\n type = listStyleType !== 'bullet' && listStyleType !== 'image' ? 'ol' : 'ul';\n }\n // Styles for the numbered lists are always defined in the Word CSS stylesheet.\n // Unordered lists MAY contain a value for the Word CSS definition `mso-level-text` but sometimes\n // this tag is missing. And because of that, we cannot depend on that. We need to predict the list style value\n // based on the list style marker element.\n if (listStyleType === 'bullet') {\n const bulletedStyle = findBulletedListStyle(listLikeItem.element);\n if (bulletedStyle) {\n listStyleType = bulletedStyle;\n }\n }\n else {\n const listStartIndexMatch = listStartIndexRegex.exec(listStyleMatch[1]);\n if (listStartIndexMatch && listStartIndexMatch[1]) {\n startIndex = parseInt(listStartIndexMatch[1]);\n }\n }\n if (islegalStyleList) {\n type = 'ol';\n }\n }\n return {\n type,\n startIndex,\n style: mapListStyleDefinition(listStyleType),\n isLegalStyleList: islegalStyleList\n };\n}\nfunction findBulletedListStyle(element) {\n // https://github.com/ckeditor/ckeditor5/issues/15964\n if (element.tagName.toLowerCase() == 'li' && element.parentElement.tagName.toLowerCase() == 'ul' && element.parentElement.hasAttribute('type')) {\n return element.parentElement.getAttribute('type');\n }\n const listMarkerElement = findListMarkerNode(element);\n if (!listMarkerElement) {\n return null;\n }\n const listMarker = listMarkerElement.textContent;\n if (listMarker === 'o') {\n return 'circle';\n }\n else if ((listMarker !== null && listMarker !== void 0 ? listMarker : '').charCodeAt(0) === 183) {\n return 'disc';\n }\n // Word returns '§' instead of '■' for the square list style.\n else if (listMarker === '§') {\n return 'square';\n }\n return null;\n}\nfunction findListMarkerNode(element) {\n var _a;\n // If the first child is a text node, it is the data for the element.\n // The list-style marker is not present here.\n if (((_a = Array.from(element.children)[0]) === null || _a === void 0 ? void 0 : _a.tagName.toLowerCase()) === '#text') {\n return null;\n }\n for (const childNode of Array.from(element.children)) {\n // The list-style marker will be inside the `<span>` element. Let's ignore all non-span elements.\n // It may happen that the `<a>` element is added as the first child. Most probably, it's an anchor element.\n if (!['element', 'span'].includes(childNode.tagName.toLowerCase())) {\n continue;\n }\n return childNode;\n }\n return null;\n}\nfunction mapListStyleDefinition(value) {\n if (value.startsWith('arabic-leading-zero')) {\n return 'decimal-leading-zero';\n }\n switch (value) {\n case 'alpha-upper':\n return 'upper-alpha';\n case 'alpha-lower':\n return 'lower-alpha';\n case 'roman-upper':\n return 'upper-roman';\n case 'roman-lower':\n return 'lower-roman';\n case 'circle':\n case 'disc':\n case 'square':\n return value;\n default:\n return null;\n }\n}\nfunction createNewEmptyList(listStyle, hasMultiLevelListPlugin) {\n const list = document.createElement(listStyle.type);\n // We do not support modifying the marker for a particular list item.\n // Set the value for the `list-style-type` property directly to the list container.\n if (listStyle.style) {\n list.style.setProperty('list-style-type', listStyle.style);\n }\n if (listStyle.startIndex && listStyle.startIndex > 1) {\n list.setAttribute('start', listStyle.startIndex.toString());\n }\n if (listStyle.isLegalStyleList && hasMultiLevelListPlugin) {\n list.classList.add('legal-list');\n }\n return list;\n}\nfunction removeMsoListIgnoreSpans(parentElement) {\n // Get all <span> elements inside the parentElement\n const spans = parentElement.querySelectorAll('span');\n // Iterate over each <span> element\n spans.forEach(span => {\n var _a;\n // Get the value of the 'style' attribute\n const style = span.getAttribute('style');\n // Check if the 'style' attribute contains 'mso-list: Ignore'\n if (style && style.includes('mso-list:Ignore')) {\n // Remove the <span> element\n (_a = span.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(span);\n }\n });\n}\nfunction isListContinuation(currentItem) {\n const previousSibling = currentItem.element.previousSibling;\n if (!previousSibling) {\n // If it's a li inside ul or ol like in here: https://github.com/ckeditor/ckeditor5/issues/15964.\n return isList(currentItem.element.parentElement);\n }\n // Even with the same id the list does not have to be continuous (#43).\n // @ts-expect-error\n return isList(previousSibling);\n}\nconst isList = (element) => ['ul', 'ol'].includes(element.tagName.toLowerCase());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MSWordNormalizer = void 0;\nconst normalizer_1 = require(\"./normalizer\");\nObject.defineProperty(exports, \"MSWordNormalizer\", { enumerable: true, get: function () { return normalizer_1.MSWordNormalizer; } });\n","import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\nimport { useEffect } from 'react';\nimport { $getSelection, COMMAND_PRIORITY_CRITICAL, type CommandPayloadType, PASTE_COMMAND } from 'lexical';\nimport { objectKlassEquals } from '@lexical/utils';\nimport { $insertDataTransferForRichText } from '@lexical/clipboard';\nimport { MSWordNormalizer } from '@staartwind.nl/lexical-paste-from-word';\n\nexport const PasteHandlerPlugin = () => {\n const [editor] = useLexicalComposerContext();\n\n const handlePaste = (event: CommandPayloadType<typeof PASTE_COMMAND>) => {\n event.preventDefault();\n editor.update(() => {\n const selection = $getSelection();\n const clipboardData =\n objectKlassEquals(event, InputEvent) || objectKlassEquals(event, KeyboardEvent) ? null : event.clipboardData;\n if (clipboardData != null && selection !== null) {\n const content = clipboardData.getData('text/html') || clipboardData.getData('text/plain');\n const newData = new DataTransfer();\n const wordNormalizer = new MSWordNormalizer();\n newData.setData('text/html', content);\n if (wordNormalizer.isActive(content)) {\n newData.setData('text/html', wordNormalizer.normalize(content));\n }\n $insertDataTransferForRichText(newData, selection, editor);\n }\n });\n };\n\n useEffect(() => {\n const removePasteListener = editor.registerCommand(\n PASTE_COMMAND,\n (event) => {\n if (event instanceof ClipboardEvent) {\n handlePaste(event);\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_CRITICAL\n );\n\n return () => {\n removePasteListener();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [editor]);\n\n return null;\n};\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PasteHandlerPlugin-Bc6n-G35.js","names":[],"sources":["../node_modules/@staartwind.nl/lexical-paste-from-word/dist/normalizer.js","../node_modules/@staartwind.nl/lexical-paste-from-word/dist/index.js","../src/components/RteEditor/Plugins/PasteHandlerPlugin/PasteHandlerPlugin.tsx"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.normalizeSpacerunSpans = exports.normalizeSpacing = exports.parseHtml = exports.MSWordNormalizer = void 0;\nconst MS_WORD_MATCHES = [\n /<meta\\s*name=\"?generator\"?\\s*content=\"?microsoft\\s*word\\s*\\d+\"?\\/?>/i,\n /xmlns:o=\"urn:schemas-microsoft-com/i\n];\nclass MSWordNormalizer {\n isActive(htmlString) {\n return MS_WORD_MATCHES.some(regex => regex.test(htmlString));\n }\n normalize(htmlString) {\n const { bodyString, stylesString } = parseHtml(htmlString);\n const doc = new DOMParser().parseFromString(bodyString, 'text/html');\n this.transformListItemLikeLElementsIntoLists(doc, stylesString);\n this.removeMSAttributes(doc);\n return doc.body.innerHTML;\n }\n findAllItemLikeElements(doc) {\n const items = doc.querySelectorAll('*');\n const res = [];\n for (const item of items) {\n const tagName = item.tagName.toLowerCase();\n // Find all the possible list items\n if (!['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'li', 'div'].includes(tagName) || !(item instanceof HTMLElement)) {\n continue;\n }\n const style = convertStyleToObject(item.getAttribute('style') || '');\n // Keep items that are part of a list.\n if ('mso-list' in style) {\n if (!item.parentElement)\n continue;\n if (isList(item.parentElement))\n continue;\n const itemData = getListItemData(style);\n res.push(Object.assign(Object.assign({}, itemData), { element: item }));\n }\n }\n return res;\n }\n transformListItemLikeLElementsIntoLists(doc, stylesString) {\n var _a, _b, _c, _d, _e, _f, _g;\n const itemLikeElements = this.findAllItemLikeElements(doc);\n if (!itemLikeElements.length) {\n return;\n }\n const encounteredLists = {};\n const stack = [];\n for (const itemLikeElement of itemLikeElements) {\n if (itemLikeElement.indent != null) {\n // Reset the current stack if the previous used list does not continue with itemLikeElement\n if (!isListContinuation(itemLikeElement)) {\n stack.length = 0;\n }\n // Combined list ID for addressing encounter lists counters.\n const originalListId = `${itemLikeElement.id}:${itemLikeElement.indent}`;\n // Normalized list item indentation.\n const indent = Math.min(itemLikeElement.indent - 1, stack.length);\n // Trimming of the list stack on list ID change.\n if (indent < stack.length && ((_a = stack[indent]) === null || _a === void 0 ? void 0 : _a.id) !== itemLikeElement.id) {\n stack.length = indent;\n }\n // Trimming of the list stack on lower indent list encountered.\n if (indent < stack.length - 1) {\n stack.length = indent + 1;\n }\n else {\n const listStyle = detectListStyle(itemLikeElement, stylesString);\n // Create a new OL/UL if required (greater indent or different list type).\n if (indent > stack.length - 1 || ((_b = stack[indent]) === null || _b === void 0 ? void 0 : _b.listElement.tagName.toLowerCase()) != listStyle.type) {\n if (indent == 0 &&\n listStyle.type == 'ol' &&\n itemLikeElement.id !== undefined &&\n encounteredLists[originalListId]) {\n listStyle.startIndex = (_c = encounteredLists[originalListId]) !== null && _c !== void 0 ? _c : null;\n }\n const listElement = createNewEmptyList(listStyle, false);\n // Insert the new OL/UL.\n if (stack.length == 0) {\n const parent = itemLikeElement.element.parentNode;\n const index = Array.from(parent.children).indexOf(itemLikeElement.element) + 1;\n if (index === parent.children.length) {\n parent.appendChild(listElement);\n }\n else {\n parent.insertBefore(listElement, itemLikeElement.element);\n }\n }\n else {\n const parentListItems = (_d = stack[indent - 1]) === null || _d === void 0 ? void 0 : _d.listItemElements;\n if (parentListItems) {\n (_e = parentListItems[parentListItems.length - 1]) === null || _e === void 0 ? void 0 : _e.appendChild(listElement);\n }\n }\n // Update the list stack for other items to reference.\n stack[indent] = Object.assign(Object.assign({}, itemLikeElement), { listElement, listItemElements: [] });\n // Prepare list counter for start index.\n if (indent == 0 && itemLikeElement.id !== undefined) {\n encounteredLists[originalListId] = listStyle.startIndex || 1;\n }\n }\n }\n // Use LI if it is already it or create a new LI element.\n const listItem = itemLikeElement.element.tagName.toLowerCase() == 'li' ? itemLikeElement.element : document.createElement('li');\n // Append the LI to OL/UL.\n (_f = stack[indent]) === null || _f === void 0 ? void 0 : _f.listElement.appendChild(listItem);\n (_g = stack[indent]) === null || _g === void 0 ? void 0 : _g.listItemElements.push(listItem);\n // Increment list counter.\n if (indent == 0 && itemLikeElement.id !== undefined) {\n encounteredLists[originalListId]++;\n }\n // Append list block to LI.\n if (itemLikeElement.element != listItem) {\n listItem.appendChild(itemLikeElement.element);\n }\n // Clean list block.\n removeMsoListIgnoreSpans(itemLikeElement.element);\n }\n }\n }\n removeMSAttributes(doc) {\n const items = doc.querySelectorAll('*');\n const elementsToUnwrap = [];\n for (const item of items) {\n // Eliminate all classes that include mso.\n for (const className of item.classList) {\n if (/\\bmso/gi.exec(className)) {\n item.classList.remove(className);\n }\n }\n // Eliminate all useless mso styling\n if (item instanceof HTMLElement) {\n removeMSOStyles(item);\n }\n // Push word specific elements to an array\n if (item.tagName === 'W:SDT' || item.tagName === 'W:SDTPR' && isElementEmpty(item) || item.tagName === 'O:P' && isElementEmpty(item)) {\n elementsToUnwrap.push(item);\n }\n }\n // Eliminate word specific elements\n for (const item of elementsToUnwrap) {\n const itemParent = item.parentNode;\n itemParent.removeChild(item);\n }\n }\n}\nexports.MSWordNormalizer = MSWordNormalizer;\nfunction parseHtml(htmlString) {\n const domParser = new DOMParser();\n // Remove Word specific \"if comments\" so content inside is not omitted by the parser.\n htmlString = htmlString.replace(/<!--\\[if gte vml 1]>/g, '');\n // Clean the <head> section of MS Windows specific tags. See https://github.com/ckeditor/ckeditor5/issues/15333.\n // The regular expression matches the <o:SmartTagType> tag with optional attributes (with or without values).\n htmlString = htmlString.replace(/<o:SmartTagType(?:\\s+[^\\s>=]+(?:=\"[^\"]*\")?)*\\s*\\/?>/gi, '');\n const normalizedHtml = normalizeSpacing(cleanContentAfterBody(htmlString));\n // Parse htmlString as native Document object.\n const htmlDocument = domParser.parseFromString(normalizedHtml, 'text/html');\n normalizeSpacerunSpans(htmlDocument);\n // Get `innerHTML` first as transforming to View modifies the source document.\n const bodyString = htmlDocument.body.innerHTML;\n const stylesString = extractStyles(htmlDocument);\n return {\n bodyString,\n stylesString\n };\n}\nexports.parseHtml = parseHtml;\nfunction extractStyles(htmlDocument) {\n const styles = [];\n const stylesString = [];\n const styleTags = Array.from(htmlDocument.getElementsByTagName('style'));\n for (const style of styleTags) {\n if (style.sheet && style.sheet.cssRules && style.sheet.cssRules.length) {\n styles.push(style.sheet);\n stylesString.push(style.innerHTML);\n }\n }\n return stylesString.join(' ');\n}\nfunction normalizeSpacing(htmlString) {\n // Run normalizeSafariSpaceSpans() two times to cover nested spans.\n return normalizeSafariSpaceSpans(normalizeSafariSpaceSpans(htmlString))\n // Remove all \\r\\n from \"spacerun spans\" so the last replace line doesn't strip all whitespaces.\n .replace(/(<span\\s+style=['\"]mso-spacerun:yes['\"]>[^\\S\\r\\n]*?)[\\r\\n]+([^\\S\\r\\n]*<\\/span>)/g, '$1$2')\n .replace(/<span\\s+style=['\"]mso-spacerun:yes['\"]><\\/span>/g, '')\n .replace(/(<span\\s+style=['\"]letter-spacing:[^'\"]+?['\"]>)[\\r\\n]+(<\\/span>)/g, '$1 $2')\n .replace(/ <\\//g, '\\u00A0</')\n .replace(/ <o:p><\\/o:p>/g, '\\u00A0<o:p></o:p>')\n // Remove <o:p> block filler from empty paragraph. Safari uses \\u00A0 instead of .\n .replace(/<o:p>( |\\u00A0)<\\/o:p>/g, '')\n // Remove all whitespaces when they contain any \\r or \\n.\n .replace(/>([^\\S\\r\\n]*[\\r\\n]\\s*)</g, '><');\n}\nexports.normalizeSpacing = normalizeSpacing;\nfunction normalizeSafariSpaceSpans(htmlString) {\n return htmlString.replace(/<span(?: class=\"Apple-converted-space\"|)>(\\s+)<\\/span>/g, (fullMatch, spaces) => {\n return spaces.length === 1 ? ' ' : Array(spaces.length + 1).join('\\u00A0 ').substring(0, spaces.length);\n });\n}\nfunction normalizeSpacerunSpans(htmlDocument) {\n htmlDocument.querySelectorAll('span[style*=spacerun]').forEach(el => {\n const htmlElement = el;\n const innerTextLength = htmlElement.innerText.length || 0;\n htmlElement.innerText = Array(innerTextLength + 1).join('\\u00A0 ').substring(0, innerTextLength);\n });\n}\nexports.normalizeSpacerunSpans = normalizeSpacerunSpans;\nfunction cleanContentAfterBody(htmlString) {\n const bodyCloseTag = '</body>';\n const htmlCloseTag = '</html>';\n const bodyCloseIndex = htmlString.indexOf(bodyCloseTag);\n if (bodyCloseIndex < 0) {\n return htmlString;\n }\n const htmlCloseIndex = htmlString.indexOf(htmlCloseTag, bodyCloseIndex + bodyCloseTag.length);\n return htmlString.substring(0, bodyCloseIndex + bodyCloseTag.length) +\n (htmlCloseIndex >= 0 ? htmlString.substring(htmlCloseIndex) : '');\n}\nfunction convertStyleToObject(styleString) {\n const styleObject = {};\n if (!styleString) {\n return styleObject;\n }\n // Split the style string into individual declarations\n const declarations = styleString.split(';').map(declaration => declaration.trim());\n // Iterate over each declaration and split it into property and value\n declarations.forEach(declaration => {\n const [property, value] = declaration.split(':').map(part => part.trim());\n if (property && value) {\n // Add the property and value to the style object\n styleObject[property] = value;\n }\n });\n return styleObject;\n}\nfunction isElementEmpty(element) {\n return !element.textContent && !element.innerHTML.trim();\n}\nfunction removeMSOStyles(element) {\n // Get the current style string of the paragraph node\n const currentStyle = element.getAttribute('style') || '';\n // Parse the style string to extract individual style properties\n const styleProperties = currentStyle.split(';').map(property => property.trim());\n // Remove the 'mso-bidi-font-family' property from the list of style properties\n const filteredProperties = styleProperties.filter(property => {\n var _a;\n const [key] = property.split(':');\n return !(/\\bmso/gi.exec((_a = key === null || key === void 0 ? void 0 : key.toLowerCase()) !== null && _a !== void 0 ? _a : ''));\n });\n // Reconstruct the style string without the removed property\n const updatedStyle = filteredProperties.join(';');\n // Set the updated style string back to the paragraph node\n element.setAttribute('style', updatedStyle);\n}\nfunction getListItemData(styles) {\n var _a;\n const listStyle = styles['mso-list'];\n if (listStyle === undefined) {\n return {};\n }\n const idMatch = listStyle.match(/(^|\\s{1,100})l(\\d+)/i);\n const orderMatch = listStyle.match(/\\s{0,100}lfo(\\d+)/i);\n const indentMatch = listStyle.match(/\\s{0,100}level(\\d+)/i);\n if (idMatch && orderMatch && indentMatch) {\n return {\n id: idMatch[2],\n order: orderMatch[1],\n indent: parseInt((_a = indentMatch[1]) !== null && _a !== void 0 ? _a : '')\n };\n }\n return {\n indent: 1\n };\n}\nfunction detectListStyle(listLikeItem, stylesString) {\n const listStyleRegexp = new RegExp(`@list l${listLikeItem.id}:level${listLikeItem.indent}\\\\s*({[^}]*)`, 'gi');\n const listStyleTypeRegex = /mso-level-number-format:([^;]{0,100});/gi;\n const listStartIndexRegex = /mso-level-start-at:\\s{0,100}([0-9]{0,10})\\s{0,100};/gi;\n const legalStyleListRegex = new RegExp(`@list\\\\s+l${listLikeItem.id}:level\\\\d\\\\s*{[^{]*mso-level-text:\"%\\\\d\\\\\\\\.`, 'gi');\n const multiLevelNumberFormatTypeRegex = new RegExp(`@list l${listLikeItem.id}:level\\\\d\\\\s*{[^{]*mso-level-number-format:`, 'gi');\n const legalStyleListMatch = legalStyleListRegex.exec(stylesString);\n const multiLevelNumberFormatMatch = multiLevelNumberFormatTypeRegex.exec(stylesString);\n // Multi level lists in Word have mso-level-number-format attribute except legal lists,\n // so we used that. If list has legal list match and doesn't has mso-level-number-format\n // then this is legal-list.\n const islegalStyleList = legalStyleListMatch && !multiLevelNumberFormatMatch;\n const listStyleMatch = listStyleRegexp.exec(stylesString);\n let listStyleType = 'decimal'; // Decimal is default one.\n let type = 'ol'; // <ol> is default list.\n let startIndex = null;\n if (listStyleMatch && listStyleMatch[1]) {\n const listStyleTypeMatch = listStyleTypeRegex.exec(listStyleMatch[1]);\n if (listStyleTypeMatch && listStyleTypeMatch[1]) {\n listStyleType = listStyleTypeMatch[1].trim();\n type = listStyleType !== 'bullet' && listStyleType !== 'image' ? 'ol' : 'ul';\n }\n // Styles for the numbered lists are always defined in the Word CSS stylesheet.\n // Unordered lists MAY contain a value for the Word CSS definition `mso-level-text` but sometimes\n // this tag is missing. And because of that, we cannot depend on that. We need to predict the list style value\n // based on the list style marker element.\n if (listStyleType === 'bullet') {\n const bulletedStyle = findBulletedListStyle(listLikeItem.element);\n if (bulletedStyle) {\n listStyleType = bulletedStyle;\n }\n }\n else {\n const listStartIndexMatch = listStartIndexRegex.exec(listStyleMatch[1]);\n if (listStartIndexMatch && listStartIndexMatch[1]) {\n startIndex = parseInt(listStartIndexMatch[1]);\n }\n }\n if (islegalStyleList) {\n type = 'ol';\n }\n }\n return {\n type,\n startIndex,\n style: mapListStyleDefinition(listStyleType),\n isLegalStyleList: islegalStyleList\n };\n}\nfunction findBulletedListStyle(element) {\n // https://github.com/ckeditor/ckeditor5/issues/15964\n if (element.tagName.toLowerCase() == 'li' && element.parentElement.tagName.toLowerCase() == 'ul' && element.parentElement.hasAttribute('type')) {\n return element.parentElement.getAttribute('type');\n }\n const listMarkerElement = findListMarkerNode(element);\n if (!listMarkerElement) {\n return null;\n }\n const listMarker = listMarkerElement.textContent;\n if (listMarker === 'o') {\n return 'circle';\n }\n else if ((listMarker !== null && listMarker !== void 0 ? listMarker : '').charCodeAt(0) === 183) {\n return 'disc';\n }\n // Word returns '§' instead of '■' for the square list style.\n else if (listMarker === '§') {\n return 'square';\n }\n return null;\n}\nfunction findListMarkerNode(element) {\n var _a;\n // If the first child is a text node, it is the data for the element.\n // The list-style marker is not present here.\n if (((_a = Array.from(element.children)[0]) === null || _a === void 0 ? void 0 : _a.tagName.toLowerCase()) === '#text') {\n return null;\n }\n for (const childNode of Array.from(element.children)) {\n // The list-style marker will be inside the `<span>` element. Let's ignore all non-span elements.\n // It may happen that the `<a>` element is added as the first child. Most probably, it's an anchor element.\n if (!['element', 'span'].includes(childNode.tagName.toLowerCase())) {\n continue;\n }\n return childNode;\n }\n return null;\n}\nfunction mapListStyleDefinition(value) {\n if (value.startsWith('arabic-leading-zero')) {\n return 'decimal-leading-zero';\n }\n switch (value) {\n case 'alpha-upper':\n return 'upper-alpha';\n case 'alpha-lower':\n return 'lower-alpha';\n case 'roman-upper':\n return 'upper-roman';\n case 'roman-lower':\n return 'lower-roman';\n case 'circle':\n case 'disc':\n case 'square':\n return value;\n default:\n return null;\n }\n}\nfunction createNewEmptyList(listStyle, hasMultiLevelListPlugin) {\n const list = document.createElement(listStyle.type);\n // We do not support modifying the marker for a particular list item.\n // Set the value for the `list-style-type` property directly to the list container.\n if (listStyle.style) {\n list.style.setProperty('list-style-type', listStyle.style);\n }\n if (listStyle.startIndex && listStyle.startIndex > 1) {\n list.setAttribute('start', listStyle.startIndex.toString());\n }\n if (listStyle.isLegalStyleList && hasMultiLevelListPlugin) {\n list.classList.add('legal-list');\n }\n return list;\n}\nfunction removeMsoListIgnoreSpans(parentElement) {\n // Get all <span> elements inside the parentElement\n const spans = parentElement.querySelectorAll('span');\n // Iterate over each <span> element\n spans.forEach(span => {\n var _a;\n // Get the value of the 'style' attribute\n const style = span.getAttribute('style');\n // Check if the 'style' attribute contains 'mso-list: Ignore'\n if (style && style.includes('mso-list:Ignore')) {\n // Remove the <span> element\n (_a = span.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(span);\n }\n });\n}\nfunction isListContinuation(currentItem) {\n const previousSibling = currentItem.element.previousSibling;\n if (!previousSibling) {\n // If it's a li inside ul or ol like in here: https://github.com/ckeditor/ckeditor5/issues/15964.\n return isList(currentItem.element.parentElement);\n }\n // Even with the same id the list does not have to be continuous (#43).\n // @ts-expect-error\n return isList(previousSibling);\n}\nconst isList = (element) => ['ul', 'ol'].includes(element.tagName.toLowerCase());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MSWordNormalizer = void 0;\nconst normalizer_1 = require(\"./normalizer\");\nObject.defineProperty(exports, \"MSWordNormalizer\", { enumerable: true, get: function () { return normalizer_1.MSWordNormalizer; } });\n","import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\nimport { useEffect } from 'react';\nimport { $getSelection, COMMAND_PRIORITY_CRITICAL, type CommandPayloadType, PASTE_COMMAND } from 'lexical';\nimport { objectKlassEquals } from '@lexical/utils';\nimport { $insertDataTransferForRichText } from '@lexical/clipboard';\nimport { MSWordNormalizer } from '@staartwind.nl/lexical-paste-from-word';\n\nexport const PasteHandlerPlugin = () => {\n const [editor] = useLexicalComposerContext();\n\n const handlePaste = (event: CommandPayloadType<typeof PASTE_COMMAND>) => {\n event.preventDefault();\n editor.update(() => {\n const selection = $getSelection();\n const clipboardData =\n objectKlassEquals(event, InputEvent) || objectKlassEquals(event, KeyboardEvent) ? null : event.clipboardData;\n if (clipboardData != null && selection !== null) {\n const content = clipboardData.getData('text/html') || clipboardData.getData('text/plain');\n const newData = new DataTransfer();\n const wordNormalizer = new MSWordNormalizer();\n newData.setData('text/html', content);\n if (wordNormalizer.isActive(content)) {\n newData.setData('text/html', wordNormalizer.normalize(content));\n }\n $insertDataTransferForRichText(newData, selection, editor);\n }\n });\n };\n\n useEffect(() => {\n const removePasteListener = editor.registerCommand(\n PASTE_COMMAND,\n (event) => {\n if (event instanceof ClipboardEvent) {\n handlePaste(event);\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_CRITICAL\n );\n\n return () => {\n removePasteListener();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [editor]);\n\n return null;\n};\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./clsx-
|
|
1
|
+
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
2
|
import { useId as t } from "react";
|
|
3
3
|
import { jsx as n } from "react/jsx-runtime";
|
|
4
4
|
import './assets/Periods.css';var r = {
|
|
@@ -37,4 +37,4 @@ import './assets/Periods.css';var r = {
|
|
|
37
37
|
//#endregion
|
|
38
38
|
export { a as t };
|
|
39
39
|
|
|
40
|
-
//# sourceMappingURL=Periods-
|
|
40
|
+
//# sourceMappingURL=Periods-C5cxLlWt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Periods-
|
|
1
|
+
{"version":3,"file":"Periods-C5cxLlWt.js","names":[],"sources":["../src/components/Periods/Periods.module.css","../src/components/Periods/Periods.tsx"],"sourcesContent":[".periods__container {\n display: flex;\n flex-wrap: nowrap;\n}\n\n.periods__item {\n background-color: var(--color-grey-400);\n border: 1px solid var(--color-grey-500);\n display: inline-block;\n height: 0.75rem;\n margin-right: 0.125rem;\n width: 0.5rem;\n}\n\n.periods__item:last-child {\n margin-right: 0;\n}\n\n.periods__item:nth-child(3n):not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.periods__item--active {\n background-color: var(--color-grey-600);\n border: unset;\n}\n","import { clsx } from 'clsx';\nimport { useId } from 'react';\n\nimport styles from './Periods.module.css';\n\ninterface Period {\n id: string;\n number: number;\n semesterNumber: number;\n periodInSemester: number;\n}\n\ninterface TooltipTranslations {\n period: string;\n periods: string;\n and: string;\n}\n\nexport interface PeriodsProps {\n /** Indicates which periods are selected. */\n periods: Period[] | number[];\n /** Indicates the maximum number of periods to show in the selector. */\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n maxPeriods?: 3 | 6 | 7;\n /** A object of translations for the tooltip. */\n tooltipTranslations?: TooltipTranslations;\n}\n\nconst MAX_PERIODS = 6;\n\n/** Represents a component for a period indicator. */\nexport const Periods = ({ periods, tooltipTranslations, maxPeriods = MAX_PERIODS }: PeriodsProps) => {\n const maxPeriodsList = Array.from({ length: maxPeriods }, (_, index) => index + 1);\n const idPrefix = useId();\n\n const isArrayOfNumbers = periods.some((value) => {\n return typeof value === 'number';\n });\n\n const getTitles = (tooltipTranslations: TooltipTranslations): string => {\n const semesterPeriods: Record<number, number[]> = {};\n\n // Group periods by semester\n isArrayOfNumbers\n ? periods.forEach((period) => {\n if (typeof period === 'number') {\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n const groupKey = Math.ceil(period / 3); // Determine the semester (1, 2, or 3)\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n const mappedValue = ((period - 1) % 3) + 1; // Map period to semester\n\n if (!semesterPeriods[groupKey]) {\n semesterPeriods[groupKey] = [];\n }\n semesterPeriods[groupKey].push(mappedValue);\n }\n })\n : periods.forEach((period) => {\n const { semesterNumber, periodInSemester } = period as Period;\n\n if (!semesterPeriods[semesterNumber]) {\n semesterPeriods[semesterNumber] = [];\n }\n semesterPeriods[semesterNumber].push(periodInSemester);\n });\n\n // Build the title string\n const title = Object.keys(semesterPeriods).reduce((acc, semesterKey, index) => {\n const semesterNumber = Number(semesterKey);\n const periodsInSemester = semesterPeriods[semesterNumber];\n let periodTitle = '';\n\n // Determine if we need singular or plural form for \"period\"\n const blokLabel = periodsInSemester.length > 1 ? tooltipTranslations.periods : tooltipTranslations.period;\n\n // Build period sequence for the current semester\n if (periodsInSemester.length > 1) {\n const lastPeriod = periodsInSemester.pop();\n periodTitle = `Semester ${semesterNumber} ${blokLabel} ${periodsInSemester.join(', ')} ${tooltipTranslations.and} ${lastPeriod}`;\n } else {\n periodTitle = `Semester ${semesterNumber} ${blokLabel} ${periodsInSemester[0]}`;\n }\n\n // Add proper spacing and periods\n return `${acc}${index > 0 ? '. ' : ''}${periodTitle}`;\n }, '');\n\n return title.trim() + '.';\n };\n\n const isPeriodActive = (periodIndex: number): boolean => {\n if (isArrayOfNumbers) {\n return (periods as number[]).includes(periodIndex);\n } else {\n return periods.find((period) => (period as Period).number === periodIndex) ? true : false;\n }\n };\n\n return (\n <div className={styles['periods__container']} title={tooltipTranslations ? getTitles(tooltipTranslations) : ''}>\n {maxPeriodsList.map((periodIndex) => {\n return (\n <span\n className={clsx(\n styles['periods__item'],\n isPeriodActive(periodIndex) ? styles['periods__item--active'] : ''\n )}\n data-period-item\n key={`${idPrefix}-${periodIndex}`}\n />\n );\n })}\n </div>\n );\n};\n"],"mappings":";;;;;;;GC4BM,IAAc,GAGP,KAAW,EAAE,YAAS,wBAAqB,gBAAa,QAAgC;CACnG,IAAM,IAAiB,MAAM,KAAK,EAAE,QAAQ,EAAW,IAAI,GAAG,MAAU,IAAQ,CAAC,GAC3E,IAAW,EAAM,GAEjB,IAAmB,EAAQ,MAAM,MAC9B,OAAO,KAAU,QACzB,GAEK,KAAa,MAAqD;EACtE,IAAM,IAA4C,CAAC;EA+CnD,OA5CA,IACI,EAAQ,SAAS,MAAW;GAC1B,IAAI,OAAO,KAAW,UAAU;IAE9B,IAAM,IAAW,KAAK,KAAK,IAAS,CAAC,GAE/B,KAAgB,IAAS,KAAK,IAAK;IAKzC,AAHK,EAAgB,OACnB,EAAgB,KAAY,CAAC,IAE/B,EAAgB,GAAU,KAAK,CAAW;GAC5C;EACF,CAAC,IACD,EAAQ,SAAS,MAAW;GAC1B,IAAM,EAAE,mBAAgB,wBAAqB;GAK7C,AAHK,EAAgB,OACnB,EAAgB,KAAkB,CAAC,IAErC,EAAgB,GAAgB,KAAK,CAAgB;EACvD,CAAC,GAGS,OAAO,KAAK,CAAe,EAAE,QAAQ,GAAK,GAAa,MAAU;GAC7E,IAAM,IAAiB,OAAO,CAAW,GACnC,IAAoB,EAAgB,IACtC,IAAc,IAGZ,IAAY,EAAkB,SAAS,IAAI,EAAoB,UAAU,EAAoB;GAGnG,IAAI,EAAkB,SAAS,GAAG;IAChC,IAAM,IAAa,EAAkB,IAAI;IACzC,IAAc,YAAY,EAAe,GAAG,EAAU,GAAG,EAAkB,KAAK,IAAI,EAAE,GAAG,EAAoB,IAAI,GAAG;GACtH,OACE,IAAc,YAAY,EAAe,GAAG,EAAU,GAAG,EAAkB;GAI7E,OAAO,GAAG,IAAM,IAAQ,IAAI,OAAO,KAAK;EAC1C,GAAG,EAEI,EAAM,KAAK,IAAI;CACxB,GAEM,KAAkB,MAClB,IACM,EAAqB,SAAS,CAAW,IAE1C,IAAQ,MAAM,MAAY,EAAkB,WAAW,CAAW;CAI7E,OACE,kBAAC,OAAD;EAAK,WAAW,EAAO;EAAuB,OAAO,IAAsB,EAAU,CAAmB,IAAI;YACzG,EAAe,KAAK,MAEjB,kBAAC,QAAD;GACE,WAAW,EACT,EAAO,eACP,EAAe,CAAW,IAAI,EAAO,2BAA2B,EAClE;GACA,oBAAA;EAED,GADM,GAAG,EAAS,GAAG,GACrB,CAEJ;CACE,CAAA;AAET"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./clsx-
|
|
1
|
+
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
2
|
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
3
3
|
import { useNavigate as r } from "react-router";
|
|
4
4
|
import './assets/ProgrammeCard.css';//#region src/components/ProgrammeCard/ProgrammeCard.module.css
|
|
@@ -24,4 +24,4 @@ var i = {
|
|
|
24
24
|
//#endregion
|
|
25
25
|
export { a as t };
|
|
26
26
|
|
|
27
|
-
//# sourceMappingURL=ProgrammeCard-
|
|
27
|
+
//# sourceMappingURL=ProgrammeCard-CAAOSWKa.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgrammeCard-
|
|
1
|
+
{"version":3,"file":"ProgrammeCard-CAAOSWKa.js","names":[],"sources":["../src/components/ProgrammeCard/ProgrammeCard.module.css","../src/components/ProgrammeCard/ProgrammeCard.tsx"],"sourcesContent":[".programme-card {\n background-color: var(--color-uva-white);\n border: 1px solid var(--color-grey-300);\n border-radius: 0.25rem;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n padding: 0.5rem 1rem;\n position: relative;\n text-decoration: none;\n}\n\n.programme-card--new::before {\n background-color: var(--color-purple-600);\n border-radius: 0.18rem 0 0 0.18rem;\n content: \"\";\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n width: 0.25rem;\n z-index: 1;\n}\n\n.programme-card:hover {\n background-color: var(--color-grey-200);\n border-color: var(--color-grey-600);\n cursor: pointer;\n}\n\n.programme-card__divider {\n border: none;\n border-top: 1px solid var(--color-grey-400);\n width: 100%;\n}\n","import { useNavigate } from 'react-router';\nimport { clsx } from 'clsx';\n\nimport type { ReactNode } from 'react';\n\nimport styles from './ProgrammeCard.module.css';\n\nexport interface ProgrammeCardProps {\n /** The URL to navigate to when the card is clicked. */\n href: string;\n /** The header contents. */\n header?: ReactNode;\n /** The programme details. */\n details?: ReactNode;\n isNew?: boolean;\n}\n\n/** Represents a component to render a card for a programme. */\nexport const ProgrammeCard = ({ href, header, details, isNew }: ProgrammeCardProps) => {\n const navigate = useNavigate();\n\n return (\n <a\n className={clsx(styles['programme-card'], isNew && styles['programme-card--new'])}\n href={href}\n onClick={(event) => {\n // lets browser handle new tab\n if (event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || event.button !== 0) {\n return;\n }\n event.preventDefault();\n // lets react-router handle SPA-style navigation\n navigate(href);\n }}\n >\n {header}\n {details && <hr className={styles['programme-card__divider']} />}\n {details}\n </a>\n );\n};\n"],"mappings":";;;;;;;;GCkBa,KAAiB,EAAE,SAAM,WAAQ,YAAS,eAAgC;CACrF,IAAM,IAAW,EAAY;CAE7B,OACE,kBAAC,KAAD;EACE,WAAW,EAAK,EAAO,mBAAmB,KAAS,EAAO,sBAAsB;EAC1E;EACN,UAAU,MAAU;GAEd,EAAM,WAAW,EAAM,WAAW,EAAM,YAAY,EAAM,UAAU,EAAM,WAAW,MAGzF,EAAM,eAAe,GAErB,EAAS,CAAI;EACf;YAXF;GAaG;GACA,KAAW,kBAAC,MAAD,EAAI,WAAW,EAAO,2BAA6B,CAAA;GAC9D;EACA;;AAEP"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./clsx-
|
|
1
|
+
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
2
|
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
3
3
|
import './assets/RadioButton2.css';//#region src/components/RadioButton/RadioButton.module.css
|
|
4
4
|
var r = {
|
|
@@ -32,4 +32,4 @@ var r = {
|
|
|
32
32
|
//#endregion
|
|
33
33
|
export { i as t };
|
|
34
34
|
|
|
35
|
-
//# sourceMappingURL=RadioButton-
|
|
35
|
+
//# sourceMappingURL=RadioButton-CKALsbBb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioButton-
|
|
1
|
+
{"version":3,"file":"RadioButton-CKALsbBb.js","names":[],"sources":["../src/components/RadioButton/RadioButton.module.css","../src/components/RadioButton/RadioButton.tsx"],"sourcesContent":[".radio-button {\n align-items: center;\n display: grid;\n gap: 0 0.5rem;\n grid-template-columns: auto [label] 1fr;\n}\n\n.radio-button__input {\n accent-color: var(--color-navy-600);\n}\n\n.radio-button .radio-button__input {\n cursor: pointer;\n margin-top: 0;\n}\n\n.radio-button__label {\n position: relative;\n cursor: pointer;\n display: flex;\n flex-direction: column;\n}\n\n.radio-button__label::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: -1rem;\n bottom: 0;\n width: 1rem;\n}\n\n.radio-button__description {\n color: var(--color-grey-700);\n grid-area: label;\n margin: 0;\n}\n\n.radio-button .radio-button__label {\n width: fit-content;\n}\n\n.radio-button :disabled + .radio-button__label {\n color: var(--color-grey-700);\n cursor: unset;\n}\n\n.radio-button--gap-large {\n column-gap: 1rem;\n}\n","import { clsx } from 'clsx';\n\nimport type { InputHTMLAttributes } from 'react';\n\nimport styles from './RadioButton.module.css';\n\nexport interface RadioButtonProps extends InputHTMLAttributes<HTMLInputElement> {\n /** The id of the element. */\n id: string;\n /** The label of the radio button. */\n label: string;\n /** The description that is shown under the label. */\n description?: string;\n /** The gap between the label and radio button. */\n gap?: 'normal' | 'large';\n}\n\n/** Represents a component for a radio button. */\nexport const RadioButton = ({ id, label, gap = 'normal', description, ...restProps }: RadioButtonProps) => (\n <div className={clsx(styles['radio-button'], styles[`radio-button--gap-${gap}`])}>\n <input\n className={styles['radio-button__input']}\n {...restProps}\n id={id}\n type=\"radio\"\n aria-describedby={description ? `${id}-description` : undefined}\n />\n <label className={styles['radio-button__label']} htmlFor={id}>\n {label}\n </label>\n {description && (\n <p id={`${id}-description`} className={styles['radio-button__description']}>\n {description}\n </p>\n )}\n </div>\n);\n"],"mappings":";;;;;;;;;GCkBa,KAAe,EAAE,OAAI,UAAO,SAAM,UAAU,gBAAa,GAAG,QACvE,kBAAC,OAAD;CAAK,WAAW,EAAK,EAAO,iBAAiB,EAAO,qBAAqB,IAAM;WAA/E;EACE,kBAAC,SAAD;GACE,WAAW,EAAO;GAClB,GAAI;GACA;GACJ,MAAK;GACL,oBAAkB,IAAc,GAAG,EAAG,gBAAgB,KAAA;EACvD,CAAA;EACD,kBAAC,SAAD;GAAO,WAAW,EAAO;GAAwB,SAAS;aACvD;EACI,CAAA;EACN,KACC,kBAAC,KAAD;GAAG,IAAI,GAAG,EAAG;GAAe,WAAW,EAAO;aAC3C;EACA,CAAA;CAEF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as e } from "./clsx-
|
|
2
|
-
import { t } from "./RadioButton-
|
|
1
|
+
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
|
+
import { t } from "./RadioButton-CKALsbBb.js";
|
|
3
3
|
import { useState as n } from "react";
|
|
4
4
|
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
5
5
|
import './assets/RadioGroup.css';//#region src/components/RadioGroup/RadioGroup.module.css
|
|
@@ -47,4 +47,4 @@ var a = {
|
|
|
47
47
|
//#endregion
|
|
48
48
|
export { o as t };
|
|
49
49
|
|
|
50
|
-
//# sourceMappingURL=RadioGroup-
|
|
50
|
+
//# sourceMappingURL=RadioGroup-DhnnBRJu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioGroup-
|
|
1
|
+
{"version":3,"file":"RadioGroup-DhnnBRJu.js","names":[],"sources":["../src/components/RadioGroup/RadioGroup.module.css","../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":[".radio-group__wrapper {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.radio-group__header {\n font-family: inherit;\n font-size: inherit;\n line-height: var(--line-height-s);\n margin: 0;\n}\n\n.radio-group {\n background-color: var(--color-uva-white);\n border: 1px solid var(--color-grey-600);\n border-radius: 0.25rem;\n overflow: hidden;\n}\n\n.radio-group__option {\n cursor: pointer;\n display: flex;\n gap: 1rem;\n padding: 1rem;\n}\n\n.radio-group__option:not(:last-of-type) {\n border-bottom: 1px solid var(--color-grey-400);\n}\n\n.radio-group__option:hover {\n background-color: var(--color-grey-300);\n}\n\n.radio-group__option--disabled {\n cursor: default;\n pointer-events: none;\n}\n","import { useState } from 'react';\nimport { clsx } from 'clsx';\n\nimport styles from './RadioGroup.module.css';\n\nimport { RadioButton } from 'components/RadioButton/RadioButton';\n\ntype Option = {\n id: string;\n titleLabel: string;\n descriptionLabel?: string;\n value: string;\n};\n\nexport interface RadioGroupProps {\n /** The label of the radio group */\n label: string;\n /** Radio options. */\n options: Option[];\n /** Returns selected values as string */\n onChange: (value: string) => void;\n /** If true, the whole group will be disabled. */\n disabled?: boolean;\n}\n\n/** Represents a component for dispalying grouped styled radio buttons. */\nexport const RadioGroup = ({ label, options, onChange, disabled }: RadioGroupProps) => {\n const [selectedValue, setSelectedValue] = useState<string | null>(null);\n\n const handleSelection = (value: string) => {\n if (!disabled) {\n setSelectedValue(value);\n onChange(value);\n }\n };\n\n return (\n <div className={styles['radio-group__wrapper']}>\n <h2 className={styles['radio-group__header']}>{label}</h2>\n <div className={styles['radio-group']}>\n {options.map(({ id, descriptionLabel, titleLabel, value }) => (\n <div\n className={clsx(styles['radio-group__option'], {\n [styles['radio-group__option--disabled']]: disabled,\n })}\n key={id}\n onClick={() => handleSelection(value)}\n onKeyDown={(event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n handleSelection(value);\n }\n }}\n role=\"presentation\"\n >\n <RadioButton\n id={id}\n label={titleLabel}\n description={descriptionLabel}\n name={label}\n onChange={(event) => {\n handleSelection(event.target.value);\n }}\n value={value}\n checked={selectedValue === value}\n disabled={disabled}\n gap=\"large\"\n />\n </div>\n ))}\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;GC0Ba,KAAc,EAAE,UAAO,YAAS,aAAU,kBAAgC;CACrF,IAAM,CAAC,GAAe,KAAoB,EAAwB,IAAI,GAEhE,KAAmB,MAAkB;EACzC,AAAK,MACH,EAAiB,CAAK,GACtB,EAAS,CAAK;CAElB;CAEA,OACE,kBAAC,OAAD;EAAK,WAAW,EAAO;YAAvB,CACE,kBAAC,MAAD;GAAI,WAAW,EAAO;aAAyB;EAAU,CAAA,GACzD,kBAAC,OAAD;GAAK,WAAW,EAAO;aACpB,EAAQ,KAAK,EAAE,OAAI,qBAAkB,eAAY,eAChD,kBAAC,OAAD;IACE,WAAW,EAAK,EAAO,wBAAwB,GAC5C,EAAO,mCAAmC,EAC7C,CAAC;IAED,eAAe,EAAgB,CAAK;IACpC,YAAY,MAAU;KACpB,CAAI,EAAM,QAAQ,WAAW,EAAM,QAAQ,QACzC,EAAgB,CAAK;IAEzB;IACA,MAAK;cAEL,kBAAC,GAAD;KACM;KACJ,OAAO;KACP,aAAa;KACb,MAAM;KACN,WAAW,MAAU;MACnB,EAAgB,EAAM,OAAO,KAAK;KACpC;KACO;KACP,SAAS,MAAkB;KACjB;KACV,KAAI;IACL,CAAA;GACE,GAtBE,CAsBF,CACN;EACE,CAAA,CACF;;AAET"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./clsx-
|
|
1
|
+
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
2
|
import { jsx as t } from "react/jsx-runtime";
|
|
3
3
|
import './assets/Repeater.css';var n = {
|
|
4
4
|
repeater: "_repeater_12czp_1",
|
|
@@ -19,4 +19,4 @@ import './assets/Repeater.css';var n = {
|
|
|
19
19
|
//#endregion
|
|
20
20
|
export { r as t };
|
|
21
21
|
|
|
22
|
-
//# sourceMappingURL=Repeater-
|
|
22
|
+
//# sourceMappingURL=Repeater-Bnoqqz0X.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Repeater-
|
|
1
|
+
{"version":3,"file":"Repeater-Bnoqqz0X.js","names":[],"sources":["../src/components/Repeater/Repeater.module.css","../src/components/Repeater/Repeater.tsx"],"sourcesContent":[".repeater {\n display: flex;\n}\n\n.repeater--row {\n flex-direction: row;\n}\n\n.repeater--row-reverse {\n flex-direction: row-reverse;\n}\n\n.repeater--column {\n flex-direction: column;\n}\n\n.repeater--column-reverse {\n flex-direction: column-reverse;\n}\n\n.repeater--gap-025 {\n gap: 0.25rem;\n}\n\n.repeater--gap-050 {\n gap: 0.5rem;\n}\n\n.repeater--gap-075 {\n gap: 0.75rem;\n}\n\n.repeater--gap-100 {\n gap: 1rem;\n}\n\n.repeater--gap-150 {\n gap: 1.5rem;\n}\n\n.repeater--gap-200 {\n gap: 2rem;\n}\n","import { clsx } from 'clsx';\n\nimport type { PropsWithChildren } from 'react';\n\nimport styles from './Repeater.module.css';\n\nexport interface RepeaterProps {\n /** The direction of the items. */\n flexDirection?: 'row' | 'row-reverse' | 'column' | 'column-reverse';\n /** The gap between the items. */\n gap?: '025' | '050' | '075' | '100' | '150' | '200';\n}\n\n/** Represents a component to show a list of items. */\nexport const Repeater = ({ children, flexDirection = 'column', gap = '050' }: PropsWithChildren<RepeaterProps>) => {\n return (\n <div className={clsx(styles['repeater'], styles[`repeater--${flexDirection}`], styles[`repeater--gap-${gap}`])}>\n {children}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;GCca,KAAY,EAAE,aAAU,mBAAgB,UAAU,SAAM,YAEjE,kBAAC,OAAD;CAAK,WAAW,EAAK,EAAO,UAAa,EAAO,aAAa,MAAkB,EAAO,iBAAiB,IAAM;CAC1G;AACE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RteEditor.module-
|
|
1
|
+
{"version":3,"file":"RteEditor.module-pWBasED2.js","names":[],"sources":["../src/components/RteEditor/RteEditor.module.css"],"sourcesContent":[".editor__container {\n display: flex;\n flex-direction: column;\n}\n\n.editor__header {\n align-items: center;\n display: flex;\n justify-content: space-between;\n margin-bottom: 0.5rem;\n min-height: 1.5rem;\n}\n\n.editor__header-word-count {\n align-self: flex-end;\n font-size: 0.875rem;\n margin-left: 0.5rem;\n text-align: right;\n white-space: nowrap;\n width: 4.5rem;\n}\n\n.editor__header-word-count--alert {\n color: var(--color-red-600);\n font-weight: bold;\n}\n\n.editor {\n background-color: var(--color-uva-white);\n border: 1px solid var(--color-grey-600);\n border-radius: 4px;\n margin-bottom: 0.5rem;\n padding: 0.25rem;\n}\n\n.editor:has(.editor__field:focus-visible) {\n outline: 1px solid var(--color-navy-600);\n}\n\n.editor.not-valid {\n border-color: var(--color-red-600);\n}\n\n.editor__toolbar {\n align-items: center;\n display: flex;\n gap: 0.25rem;\n justify-content: flex-start;\n margin-bottom: 0.5rem;\n padding: 0.25rem;\n}\n\n.editor__toolbar-flyout-wrapper {\n background-color: var(--color-uva-white);\n border-radius: 0.25rem;\n box-shadow: 0 3px 6px rgba(0 0 0 / 40%);\n display: flex;\n flex-direction: column;\n left: 0;\n padding: 1rem;\n position: fixed;\n top: calc(100% + 0.25rem);\n z-index: 1500;\n}\n\n.editor__toolbar-button-group {\n align-items: center;\n display: flex;\n gap: 0.125rem;\n justify-content: center;\n}\n\n.editor__toolbar-button-group--text {\n align-items: center;\n display: flex;\n gap: 0.5rem;\n justify-content: center;\n}\n\n.editor__toolbar-button {\n align-items: center;\n background-color: var(--color-uva-white);\n border: none;\n border-radius: 0.25rem;\n cursor: pointer;\n display: flex;\n font-family: inherit;\n font-size: inherit;\n justify-content: center;\n min-height: 2rem;\n width: 2rem;\n}\n\n.editor__toolbar-button:hover {\n background-color: var(--color-grey-400);\n border: 1px solid var(--color-grey-700);\n}\n\n.editor__toolbar-button:focus-visible {\n outline: 0.125rem dotted var(--color-navy-600);\n outline-offset: 0.125rem;\n z-index: 1;\n}\n\n.editor__toolbar-button--active,\n.editor__toolbar-button:active {\n background-color: var(--color-uva-black);\n border-color: var(--color-uva-black);\n color: var(--color-uva-white);\n}\n\n.editor__toolbar-button--text {\n border: 1px solid transparent;\n font-size: 1rem;\n padding: 0.25rem 0.5rem;\n width: auto;\n}\n\n.editor__toolbar-button:disabled {\n border-color: var(--color-grey-300);\n color: var(--color-grey-400);\n cursor: not-allowed;\n}\n\n.editor__toolbar-button:hover:disabled {\n background-color: var(--color-grey-300);\n border-color: var(--color-grey-300);\n color: var(--color-grey-500);\n cursor: not-allowed;\n}\n\n.editor__toolbar-button--bold {\n font-weight: bold;\n}\n\n.editor__toolbar-button--italic {\n font-style: italic;\n}\n\n.editor__toolbar-button:active:hover {\n color: var(--color-uva-white);\n}\n\n.editor__toolbar-button--active:hover {\n color: var(--color-uva-black);\n}\n\n.editor__toolbar-button--active:disabled {\n background-color: var(--color-grey-300);\n border-color: var(--color-grey-300);\n color: var(--color-grey-500);\n cursor: not-allowed;\n}\n\n.editor__toolbar-button-flyoutwrapper {\n position: relative;\n}\n\n.editor__field-wrapper {\n position: relative;\n}\n\n.editor__field-wrapper::before {\n border-top: 1px solid var(--color-grey-600);\n content: \"\";\n display: block;\n height: 0;\n margin-left: -0.25rem;\n margin-top: -0.3rem;\n width: calc(100% + 0.5rem);\n}\n\n.editor__field {\n background-color: var(--color-uva-white);\n margin-top: 0.5rem;\n min-height: 8rem;\n overflow-x: hidden;\n padding: 0 0.5rem 0.5rem;\n position: relative;\n}\n\n.editor__field::-webkit-scrollbar {\n cursor: default;\n width: 12px;\n}\n\n.editor__field::-webkit-scrollbar-track {\n background: var(--color-uva-white);\n}\n\n.editor__field::-webkit-scrollbar-thumb {\n background-color: var(--color-grey-500);\n border: 3px solid var(--color-uva-white);\n border-radius: 20px;\n cursor: default;\n}\n\n.editor__field:focus-visible {\n outline: none;\n}\n\n.editor__placeholder {\n color: var(--color-grey-500);\n left: 0.45rem;\n pointer-events: none;\n position: absolute;\n top: 0.55rem;\n}\n\n/* Editor theme blockstyles */\n\n.guide-text-ltr {\n text-align: left;\n}\n\n.guide-text-rtl {\n text-align: right;\n}\n\n.guide-text-paragraph {\n margin: 0;\n position: relative;\n}\n\n.guide-text__text--bold {\n font-weight: bold;\n}\n\n.guide-text__text--italic {\n font-style: italic;\n}\n\n.guide-text__list--ul,\n.guide-text__list--ol {\n list-style-position: inside;\n margin: 0 0 0 -0.25rem;\n padding: 0.25rem;\n}\n\n.guide-text__list--ol {\n list-style-position: outside;\n list-style-type: decimal;\n margin: 0 0 0 0.25rem;\n}\n\n.guide-text__list--ul .guide-text__list--listitem {\n margin: 0;\n}\n\n.guide-text__list--ol .guide-text__list--listitem {\n margin-left: 0.35rem;\n padding-left: 0.55rem;\n}\n\n.guide-text__list--ol .guide-text__list--nested-listitem,\n.guide-text__list--ul .guide-text__list--nested-listitem {\n list-style-type: none;\n margin-left: 1.5rem;\n}\n\n.guide-text__list--ol .guide-text__list--nested-listitem {\n margin-left: 1rem;\n}\n\n.guide-text__list--ul2 .guide-text__list--listitem {\n list-style-type: circle;\n}\n\n.guide-text__list--ul3 .guide-text__list--listitem {\n list-style-type: square;\n}\n\n.guide-text__list--ul4 .guide-text__list--listitem {\n list-style-type: disc;\n}\n\n.guide-text__list--ul5 .guide-text__list--listitem {\n list-style-type: circle;\n}\n\nul .guide-text__list--nested-listitem ol {\n list-style-position: outside;\n list-style-type: decimal;\n margin-left: 0;\n padding: 0.25rem 0.25rem 0.25rem 0.55rem;\n}\n\nul .guide-text__list--nested-listitem ol .guide-text__list--listitem {\n list-style-type: decimal;\n margin-left: 0.35rem;\n padding-left: 0.55rem;\n}\n\nol .guide-text__list--nested-listitem ul .guide-text__list--listitem {\n list-style-type: disc;\n margin-left: 0.35rem;\n padding-left: 0.55rem;\n}\n\nul .guide-text__list--nested-listitem {\n list-style-type: none !important;\n}\n\nol .guide-text__list--nested-listitem ul {\n margin-left: -1.5rem;\n padding-left: 0.55rem;\n}\n\n.guide-text__table-wrapper {\n margin: 0 1rem 0.5rem 0;\n overflow-x: auto;\n}\n\n.guide-text__table {\n border: 2px solid var(--color-grey-400);\n border-collapse: collapse;\n border-collapse: collapse;\n border-spacing: 0;\n margin: 0.5rem 0;\n overflow-x: scroll;\n overflow-y: scroll;\n table-layout: fixed;\n width: fit-content;\n}\n\n/* CSS counts the <colgroup> tag as the first \"row\" in the table. \nTherefore, to apply zebra striping to the actual odd rows, \nthe CSS must target the even rows instead. */\n\n.guide-text__table > tr:nth-child(even) {\n background-color: var(--color-grey-100);\n}\n\n.guide-text__table > tr td {\n border: 1px dotted var(--color-grey-400);\n padding: 0.25rem 0.5rem;\n position: relative;\n vertical-align: top;\n}\n\ntd .guide-text__table-wrapper {\n margin: 0;\n}\n\ntd:has(.guide-text__table-wrapper) {\n padding: 0 !important;\n}\n\ntd:has(.guide-text__table-wrapper) table {\n border: 0;\n margin: 0;\n}\n\ntd:has(.guide-text__table-wrapper) table tr {\n background-color: transparent !important;\n}\n\n.guide-text__course-catalogue-link {\n color: var(--color-grey-800);\n cursor: default;\n text-decoration: dotted underline;\n}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchField.module-
|
|
1
|
+
{"version":3,"file":"SearchField.module-Bn9xQD-f.js","names":[],"sources":["../src/components/SearchField/SearchField.module.css"],"sourcesContent":[".search-field__input-wrapper {\n display: flex;\n justify-content: flex-end;\n position: relative;\n width: 100%;\n}\n\n.search-field__input-field {\n appearance: none;\n background-color: var(--color-uva-white);\n border: 1px solid var(--color-grey-400);\n border-radius: 0.25rem;\n color: var(--color-uva-black);\n flex: 1;\n font-family: inherit;\n font-size: inherit;\n height: 2.35rem;\n margin: 0;\n padding: 0 2.75rem 0 1rem;\n text-align: inherit;\n width: 100%;\n}\n\n.search-field__input-field::placeholder {\n color: var(--color-grey-700);\n font-size: inherit;\n opacity: 1;\n}\n\n.search-field__input-field:focus-visible {\n background-color: var(--color-grey-300);\n outline: 1px solid var(--color-grey-700);\n}\n\n.search-field__icon {\n color: var(--color-grey-700);\n position: absolute;\n right: 0.5rem;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.search-field__result-wrapper {\n background-color: var(--color-uva-white);\n border: 1px solid var(--color-grey-700);\n border-radius: 0.25rem;\n display: flex;\n flex-direction: column;\n left: 0;\n overflow: hidden;\n position: absolute;\n top: calc(100% + 0.25rem);\n width: clamp(22rem, 100%, 24rem);\n z-index: 10;\n}\n\n.search-field__input-container {\n position: relative;\n width: 100%;\n}\n\n.search-field__input-container--hidden {\n display: none;\n}\n\n.search-field__input-container--visible {\n display: block;\n max-width: 22rem;\n min-width: 100%;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 10;\n}\n\n.search-field__compact-button {\n align-items: center;\n appearance: none;\n background-color: transparent;\n background-color: var(--color-uva-white);\n border: 1px solid var(--color-grey-400);\n border-radius: 0.25rem;\n color: var(--color-uva-black);\n cursor: pointer;\n display: flex;\n height: 2.35rem;\n justify-content: center;\n margin: 0;\n text-align: inherit;\n width: 2.35rem;\n}\n\n.search-field__compact-icon {\n color: var(--color-grey-700);\n}\n\n.search-field__result-list {\n border-bottom: 1px solid var(--color-grey-700);\n list-style: none;\n margin: 0;\n max-height: min(23.75rem, 50vh);\n overflow-y: auto;\n padding: 0;\n}\n\n.search-field__result-list:empty {\n display: none;\n}\n\n.search-field__result-item {\n font-size: inherit;\n max-width: 100%;\n padding: 0.5rem 1rem;\n white-space: nowrap;\n}\n\n.search-field__result-item:focus-visible {\n background-color: var(--color-grey-300);\n outline: none;\n}\n\n.search-field__result-item:hover,\n.search-field__result-item:focus-visible {\n background-color: var(--color-grey-300);\n cursor: pointer;\n}\n\n.search-field__result-info {\n background-color: var(--color-uva-white);\n border-radius: 0 0 0.25rem 0.25rem;\n border-top: 1px solid var(--color-grey-400);\n font-size: inherit;\n max-width: 100%;\n padding: 0.5rem 1rem;\n white-space: nowrap;\n}\n"],"mappings":""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./clsx-
|
|
1
|
+
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
2
|
import { jsx as t } from "react/jsx-runtime";
|
|
3
3
|
import './assets/SectionNotification.css';//#region src/components/SectionNotification/SectionNotification.module.css
|
|
4
4
|
var n = {
|
|
@@ -11,4 +11,4 @@ var n = {
|
|
|
11
11
|
//#endregion
|
|
12
12
|
export { r as t };
|
|
13
13
|
|
|
14
|
-
//# sourceMappingURL=SectionNotification-
|
|
14
|
+
//# sourceMappingURL=SectionNotification-BT0Z2edJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionNotification-
|
|
1
|
+
{"version":3,"file":"SectionNotification-BT0Z2edJ.js","names":[],"sources":["../src/components/SectionNotification/SectionNotification.module.css","../src/components/SectionNotification/SectionNotification.tsx"],"sourcesContent":[".section-notification {\n align-items: center;\n background-color: var(--color-orange-100);\n display: flex;\n gap: 0.5rem;\n justify-content: center;\n padding: 0.75rem 1rem;\n}\n\n.section-notification--fullwidth {\n width: 100%;\n}\n","import classNames from 'clsx';\n\nimport type { PropsWithChildren } from 'react';\n\nimport styles from './SectionNotification.module.css';\n\nexport interface SectionNotificationProps {\n /** `true` if the notification bar should be full width; otherwise, `false`. */\n fullWidth?: boolean;\n}\n\n/** Represents a component to show notifications within a [Card](/story/atoms-card--card-example). */\nexport const SectionNotification = ({ fullWidth = false, children }: PropsWithChildren<SectionNotificationProps>) => (\n <div\n className={classNames(styles['section-notification'], {\n [styles['section-notification--fullwidth']]: fullWidth,\n })}\n >\n {children}\n </div>\n);\n"],"mappings":";;;;;;GCYa,KAAuB,EAAE,eAAY,IAAO,kBACvD,kBAAC,OAAD;CACE,WAAW,EAAW,EAAO,yBAAyB,GACnD,EAAO,qCAAqC,EAC/C,CAAC;CAEA;AACE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectListbox.module-
|
|
1
|
+
{"version":3,"file":"SelectListbox.module-Df90DNyN.js","names":[],"sources":["../src/components/SelectListbox/SelectListbox.module.css"],"sourcesContent":[".select-listbox-container {\n position: relative;\n}\n\n.select-listbox__wrapper {\n border-radius: 0.25rem;\n box-shadow: 0 0 0.25rem 0 rgba(0 0 0 / 25%);\n height: auto;\n overflow: hidden;\n position: fixed;\n width: auto;\n z-index: 20;\n}\n\n.select-listbox-trigger {\n align-items: center;\n background-color: var(--color-uva-white);\n border: 1px solid var(--color-grey-400);\n border-radius: 0.25rem;\n cursor: pointer;\n display: flex;\n font: inherit;\n justify-content: space-between;\n line-height: inherit;\n overflow: hidden;\n padding: 0.4rem 2rem 0.4rem 1rem;\n width: 100%;\n}\n\n.select-listbox-trigger--default {\n padding: 0.75rem 2rem 0.75rem 1rem;\n}\n\n.select-listbox-trigger--small {\n padding: 0.4rem 2rem 0.4rem 1rem;\n}\n\n.select-listbox-trigger--medium {\n height: 2.75rem;\n padding: 0.5rem 2rem 0.5rem 1rem;\n}\n\n.select-listbox-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.select-listbox__wrapper--align-right {\n right: 0;\n}\n\n.select-listbox-trigger--bold {\n font-weight: var(--semibold);\n}\n\n.select-listbox-trigger--pill {\n border-radius: 6.25rem;\n padding: 0.5rem 1.5rem;\n}\n\n.select-listbox-trigger--pillLeft {\n border-radius: 6.25rem 0 0 6.25rem;\n padding-left: 1.5rem;\n}\n\n.select-listbox-trigger--pillRight {\n border-radius: 0 6.25rem 6.25rem 0;\n padding-right: 1.25rem;\n}\n\n.select-listbox-trigger--darkBorder {\n border-color: var(--color-uva-black);\n}\n\n.select-listbox-trigger--roundedLeft {\n border-radius: 0.25rem 0 0 0.25rem;\n}\n\n.select-listbox-trigger--roundedRight {\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.select-listbox-trigger:focus-visible {\n background-color: var(--color-grey-300);\n outline: 1px solid var(--color-grey-700);\n}\n\n.select-listbox-trigger:focus-visible,\n.select-listbox-trigger:hover {\n background-color: var(--color-grey-300);\n}\n\n.select-listbox-trigger--noborder {\n border: none;\n}\n\n.select-listbox-trigger--not-valid {\n border-color: var(--color-red-600);\n}\n\n.select-listbox-trigger--pillLeft + .select-listbox__wrapper {\n left: 1rem;\n}\n\n.select-listbox-trigger--pillRight + .select-listbox__wrapper--align-right {\n right: 1rem;\n}\n\n.select-listbox-trigger-icon {\n position: absolute;\n right: 0.875rem;\n}\n\n.select-listbox-trigger-icon--open {\n transform: rotate(180deg);\n}\n\n.select-listbox {\n background-color: var(--color-uva-white);\n list-style: none;\n margin: 0;\n min-width: 100%;\n overflow-y: auto;\n padding: 4px;\n width: fit-content;\n}\n\n.select-listbox-option {\n align-items: center;\n border-radius: 0.25rem;\n cursor: pointer;\n display: flex;\n justify-content: space-between;\n padding: 0.5rem 0.75rem;\n position: relative;\n user-select: none;\n}\n\n/* keyword active is styling that cover both on mouse:hover and keyboard:focus */\n\n.select-listbox-option--active,\n.select-listbox-option:hover {\n background-color: var(--color-grey-300);\n box-shadow: 0 0 0 1px var(--color-uva-white);\n}\n\n.select-listbox-option[aria-selected=\"true\"] {\n font-weight: var(--semibold);\n}\n\n.select-listbox-divider {\n background-color: var(--color-grey-400);\n height: 1px;\n margin: 1px -0.25rem;\n /* minus side margin to bleed over listbox padding */\n}\n"],"mappings":""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./clsx-
|
|
1
|
+
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
2
|
import { Icon as t } from "./components/Icon/Icon.js";
|
|
3
3
|
import { useEffect as n, useEffectEvent as r, useRef as i, useState as a } from "react";
|
|
4
4
|
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
@@ -99,4 +99,4 @@ import './assets/Slider.css';var c = {
|
|
|
99
99
|
//#endregion
|
|
100
100
|
export { p as t };
|
|
101
101
|
|
|
102
|
-
//# sourceMappingURL=Slider-
|
|
102
|
+
//# sourceMappingURL=Slider-dCmT0VM2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slider-BlLyrET9.js","names":[],"sources":["../src/components/Slider/Slider.module.css","../src/components/Slider/Slider.tsx"],"sourcesContent":[".slider_wrapper {\n align-items: center;\n display: flex;\n gap: 1rem;\n width: 100%;\n}\n\n.slider_button {\n align-items: center;\n appearance: none;\n aspect-ratio: 1 / 1;\n background: none;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n color: var(--color-uva-black);\n cursor: pointer;\n display: flex;\n height: 2rem;\n justify-content: center;\n width: 2rem;\n}\n\n.slider_button:focus-visible {\n outline: 0.125rem dotted var(--color-navy-600);\n outline-offset: 0.125rem;\n}\n\n.slider_button:hover {\n border-color: var(--color-grey-700);\n}\n\n.slider_button:disabled,\n.slider_button:disabled:hover {\n border: none;\n cursor: not-allowed;\n}\n\n.slider_trackwrapper {\n display: flex;\n position: relative;\n width: 100%;\n}\n\n.slider_balloon {\n color: var(--color-uva-black);\n font-weight: var(--semibold);\n position: absolute;\n text-align: center;\n top: -1.8125rem;\n white-space: nowrap;\n}\n\n.slider_input {\n appearance: none;\n background: var(--color-grey-400);\n flex-grow: 1;\n height: 0.25rem;\n}\n\n.slider_input:focus-visible {\n outline: 0.125rem dotted var(--color-navy-600);\n outline-offset: 0.125rem;\n}\n\n.slider_input:disabled {\n cursor: not-allowed;\n}\n\n.slider_input::-webkit-slider-runnable-track {\n appearance: none;\n color: var(--color-navy-600);\n cursor: pointer;\n height: 2rem;\n margin-top: -0.125rem;\n}\n\n.slider_input:disabled::-webkit-slider-runnable-track {\n cursor: not-allowed;\n}\n\n.slider_input::-webkit-slider-thumb {\n appearance: none;\n background: var(--color-uva-white);\n border: 2px solid var(--color-navy-600);\n border-radius: 0.125rem;\n cursor: pointer;\n height: var(--thumb-size);\n margin-top: calc(0.5rem + 1px);\n position: relative;\n width: var(--thumb-size);\n}\n\n.slider_input:disabled::-webkit-slider-thumb,\n.slider_input:disabled:hover::-webkit-slider-thumb {\n background: var(--color-grey-700);\n border: 2px solid var(--color-grey-700);\n cursor: not-allowed;\n}\n\n.slider_input::-moz-range-thumb {\n appearance: none;\n background: var(--color-uva-white);\n border: 2px solid var(--color-navy-600);\n border-radius: 0.125rem;\n cursor: pointer;\n height: var(--thumb-size);\n margin-top: calc(-0.25rem - 1px);\n position: relative;\n width: var(--thumb-size);\n}\n\n.slider_input:disabled::-moz-range-thumb,\n.slider_input:hover:disabled::-moz-range-thumb {\n background: var(--color-grey-700);\n border: 2px solid var(--color-grey-700);\n cursor: not-allowed;\n}\n\n.slider_input::-ms-thumb {\n appearance: none;\n background: var(--color-uva-white);\n border: 2px solid var(--color-navy-600);\n border-radius: 0.125rem;\n cursor: pointer;\n height: var(--thumb-size);\n margin-top: calc(-0.25rem - 1px);\n position: relative;\n width: var(--thumb-size);\n}\n\n.slider_input:disabled::-ms-thumb,\n.slider_input:hover:disabled::-ms-thumb {\n background: var(--color-grey-700);\n border: 2px solid var(--color-grey-700);\n cursor: not-allowed;\n}\n\n.slider_input::-webkit-slider-thumb:hover {\n background: var(--color-navy-200);\n border: 2px solid var(--color-navy-800);\n}\n\n.slider_input::-moz-range-thumb:hover {\n background: var(--color-navy-200);\n border: 2px solid var(--color-navy-800);\n}\n\n.slider_input::-ms-thumb:hover {\n background: var(--color-navy-200);\n border: 2px solid var(--color-navy-800);\n}\n\n.slider_input::-moz-range-progress {\n background-color: var(--color-navy-600);\n}\n\n.slider_input::-moz-range-track {\n background-color: var(--color-grey-400);\n}\n\n.slider_input::-ms-fill-lower {\n background-color: var(--color-navy-600);\n}\n\n.slider_input::-ms-fill-upper {\n background-color: var(--color-grey-400);\n}\n","import { useEffect, useEffectEvent, useRef, useState } from 'react';\r\nimport { clsx } from 'clsx';\r\n\r\nimport type { CSSProperties } from 'react';\r\n\r\nimport styles from './Slider.module.css';\r\n\r\nimport { Icon } from 'components/Icon';\r\n\r\nexport interface SliderProps {\r\n /* The minimum value of the slider */\r\n min: number;\r\n /* The maximum value of the slider */\r\n max: number;\r\n /* The current value of the slider */\r\n value?: number;\r\n /* The step value of the slider */\r\n step?: number;\r\n /* The units to display next to the value */\r\n units?: string;\r\n /* aria-label labels for navigation buttons */\r\n navigationLabels?: { increase: string; decrease: string };\r\n /* Whether the slider is disabled */\r\n disabled?: boolean;\r\n /* Callback function when the value changes */\r\n onChange?: (value: number) => void;\r\n}\r\n\r\nconst HALF_STEP = 0.5;\r\nconst HUNDRED = 100;\r\nconst THUMB_SIZE = 16;\r\nconst REM = 16;\r\n\r\nexport const Slider = ({\r\n min,\r\n max,\r\n value,\r\n step = 1,\r\n units,\r\n navigationLabels,\r\n disabled = false,\r\n onChange,\r\n}: SliderProps) => {\r\n const [sliderValue, setSliderValue] = useState(value !== undefined ? value : (min + max) * HALF_STEP);\r\n const [balloonLeftPosition, setBalloonLeftPosition] = useState('');\r\n const sliderRef = useRef<HTMLInputElement>(null);\r\n const trackWrapperRef = useRef<HTMLDivElement>(null);\r\n const balloonRef = useRef<HTMLDivElement>(null);\r\n\r\n const handleButtonClick = (direction: number) => {\r\n const newValue = sliderValue + direction * step;\r\n if (newValue >= min && newValue <= max) {\r\n setSliderValue(newValue);\r\n paintValueOnTrack(newValue);\r\n setFloaterPosition(newValue);\r\n if (onChange) {\r\n onChange(newValue);\r\n }\r\n }\r\n };\r\n\r\n const handleSliderChange = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n const newValue = Number(event.target.value);\r\n setSliderValue(newValue);\r\n paintValueOnTrack(newValue);\r\n setFloaterPosition(newValue);\r\n if (onChange) {\r\n onChange(newValue);\r\n }\r\n };\r\n\r\n const paintValueOnTrack = (valueToPaint: number) => {\r\n if (!sliderRef.current) return;\r\n const percentage = ((valueToPaint - min) / (max - min)) * HUNDRED;\r\n if (disabled) {\r\n sliderRef.current.style.background = `linear-gradient(\r\n to right, \r\n var(--color-grey-700) 0%, \r\n var(--color-grey-700) ${percentage}%, \r\n var(--color-grey-400) ${percentage}%, \r\n var(--color-grey-400) 100%)`;\r\n } else {\r\n sliderRef.current.style.background = `linear-gradient(\r\n to right, \r\n var(--color-navy-600) 0%, \r\n var(--color-navy-600) ${percentage}%, \r\n var(--color-grey-400) ${percentage}%, \r\n var(--color-grey-400) 100%)`;\r\n }\r\n };\r\n\r\n const setFloaterPosition = (value: number) => {\r\n if (trackWrapperRef.current && balloonRef.current) {\r\n const balloonWidth = balloonRef.current.clientWidth;\r\n const trackWidth = trackWrapperRef.current.clientWidth - THUMB_SIZE;\r\n const position = ((value - min) / (max - min)) * trackWidth;\r\n const leftPosition = position - (balloonWidth - THUMB_SIZE) * HALF_STEP;\r\n const clampedLeft = Math.max(0, Math.min(leftPosition, trackWidth - balloonWidth + THUMB_SIZE * HALF_STEP));\r\n setBalloonLeftPosition(`${clampedLeft}px`);\r\n }\r\n };\r\n\r\n const initializeSlider = useEffectEvent((value: number) => {\r\n setSliderValue(value);\r\n paintValueOnTrack(value);\r\n setFloaterPosition(value);\r\n });\r\n\r\n useEffect(() => {\r\n if (value !== undefined) {\r\n initializeSlider(value);\r\n }\r\n }, [value, disabled]);\r\n\r\n return (\r\n <div className={styles['slider_wrapper']}>\r\n <button\r\n type=\"button\"\r\n className={styles['slider_button']}\r\n onClick={() => handleButtonClick(-1)}\r\n aria-label={navigationLabels?.decrease ? navigationLabels.decrease : 'Verlaag waarde'}\r\n disabled={disabled}\r\n >\r\n <Icon name=\"Minus\" size={20} />\r\n </button>\r\n <div className={styles['slider_trackwrapper']} ref={trackWrapperRef}>\r\n <div\r\n className={clsx(styles['slider_balloon'], { [styles['slider_balloon--disabled']]: disabled })}\r\n style={{ left: balloonLeftPosition }}\r\n ref={balloonRef}\r\n >\r\n {sliderValue}\r\n {units && <span className={styles['slider_units']}>{units}</span>}\r\n </div>\r\n <input\r\n type=\"range\"\r\n className={styles['slider_input']}\r\n min={min}\r\n max={max}\r\n step={step}\r\n value={sliderValue}\r\n onChange={handleSliderChange}\r\n ref={sliderRef}\r\n style={{ '--thumb-size': `${THUMB_SIZE / REM}rem` } as CSSProperties}\r\n aria-valuemin={min}\r\n aria-valuemax={max}\r\n aria-valuenow={sliderValue}\r\n aria-valuetext={units ? `${sliderValue} ${units}` : `${sliderValue}`}\r\n aria-label=\"Slider\"\r\n disabled={disabled}\r\n />\r\n </div>\r\n <button\r\n type=\"button\"\r\n className={styles['slider_button']}\r\n onClick={() => handleButtonClick(1)}\r\n aria-label={navigationLabels?.increase ? navigationLabels.increase : 'Verhoog waarde'}\r\n disabled={disabled}\r\n >\r\n <Icon name=\"Plus\" size={20} />\r\n </button>\r\n </div>\r\n );\r\n};\r\n"],"mappings":";;;;;;;;;;GC4BM,IAAY,IACZ,IAAU,KACV,IAAa,IACb,IAAM,IAEC,KAAU,EACrB,QACA,QACA,UACA,UAAO,GACP,UACA,qBACA,cAAW,IACX,kBACiB;CACjB,IAAM,CAAC,GAAa,KAAkB,EAAS,MAAU,KAAA,KAAqB,IAAM,KAAO,IAAtB,EAAgC,EAC/F,CAAC,GAAqB,KAA0B,EAAS,GAAG,EAC5D,IAAY,EAAyB,KAAK,EAC1C,IAAkB,EAAuB,KAAK,EAC9C,IAAa,EAAuB,KAAK,EAEzC,KAAqB,MAAsB;EAC/C,IAAM,IAAW,IAAc,IAAY;AAC3C,EAAI,KAAY,KAAO,KAAY,MACjC,EAAe,EAAS,EACxB,EAAkB,EAAS,EAC3B,EAAmB,EAAS,EACxB,KACF,EAAS,EAAS;IAKlB,KAAsB,MAA+C;EACzE,IAAM,IAAW,OAAO,EAAM,OAAO,MAAM;AAI3C,EAHA,EAAe,EAAS,EACxB,EAAkB,EAAS,EAC3B,EAAmB,EAAS,EACxB,KACF,EAAS,EAAS;IAIhB,KAAqB,MAAyB;AAClD,MAAI,CAAC,EAAU,QAAS;EACxB,IAAM,KAAe,IAAe,MAAQ,IAAM,KAAQ;AAC1D,EAAI,IACF,EAAU,QAAQ,MAAM,aAAa;;;iCAGV,EAAW;iCACX,EAAW;wCAGtC,EAAU,QAAQ,MAAM,aAAa;;;iCAGV,EAAW;iCACX,EAAW;;IAKpC,KAAsB,MAAkB;AAC5C,MAAI,EAAgB,WAAW,EAAW,SAAS;GACjD,IAAM,IAAe,EAAW,QAAQ,aAClC,IAAa,EAAgB,QAAQ,cAAc,GAEnD,KADa,IAAQ,MAAQ,IAAM,KAAQ,KAChB,IAAe,KAAc;AAE9D,KAAuB,GADH,KAAK,IAAI,GAAG,KAAK,IAAI,GAAc,IAAa,IAAe,IAAa,EAAU,CAChF,CAAY,IAAI;;IAIxC,IAAmB,GAAgB,MAAkB;AAGzD,EAFA,EAAe,EAAM,EACrB,EAAkB,EAAM,EACxB,EAAmB,EAAM;GACzB;AAQF,QANA,QAAgB;AACd,EAAI,MAAU,KAAA,KACZ,EAAiB,EAAM;IAExB,CAAC,GAAO,EAAS,CAAC,EAGnB,kBAAC,OAAD;EAAK,WAAW,EAAO;YAAvB;GACE,kBAAC,UAAD;IACE,MAAK;IACL,WAAW,EAAO;IAClB,eAAe,EAAkB,GAAG;IACpC,cAAY,GAAkB,WAAW,EAAiB,WAAW;IAC3D;cAEV,kBAAC,GAAD;KAAM,MAAK;KAAQ,MAAM;KAAM,CAAA;IACxB,CAAA;GACT,kBAAC,OAAD;IAAK,WAAW,EAAO;IAAwB,KAAK;cAApD,CACE,kBAAC,OAAD;KACE,WAAW,EAAK,EAAO,gBAAmB,GAAG,EAAO,8BAA8B,GAAU,CAAC;KAC7F,OAAO,EAAE,MAAM,GAAqB;KACpC,KAAK;eAHP,CAKG,GACA,KAAS,kBAAC,QAAD;MAAM,WAAW,EAAO;gBAAkB;MAAa,CAAA,CAC7D;QACN,kBAAC,SAAD;KACE,MAAK;KACL,WAAW,EAAO;KACb;KACA;KACC;KACN,OAAO;KACP,UAAU;KACV,KAAK;KACL,OAAO,EAAE,gBAAgB,GAAG,IAAa,EAAI,MAAM;KACnD,iBAAe;KACf,iBAAe;KACf,iBAAe;KACf,kBAAgB,IAAQ,GAAG,EAAY,GAAG,MAAU,GAAG;KACvD,cAAW;KACD;KACV,CAAA,CACE;;GACN,kBAAC,UAAD;IACE,MAAK;IACL,WAAW,EAAO;IAClB,eAAe,EAAkB,EAAE;IACnC,cAAY,GAAkB,WAAW,EAAiB,WAAW;IAC3D;cAEV,kBAAC,GAAD;KAAM,MAAK;KAAO,MAAM;KAAM,CAAA;IACvB,CAAA;GACL"}
|
|
1
|
+
{"version":3,"file":"Slider-dCmT0VM2.js","names":[],"sources":["../src/components/Slider/Slider.module.css","../src/components/Slider/Slider.tsx"],"sourcesContent":[".slider_wrapper {\n align-items: center;\n display: flex;\n gap: 1rem;\n width: 100%;\n}\n\n.slider_button {\n align-items: center;\n appearance: none;\n aspect-ratio: 1 / 1;\n background: none;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n color: var(--color-uva-black);\n cursor: pointer;\n display: flex;\n height: 2rem;\n justify-content: center;\n width: 2rem;\n}\n\n.slider_button:focus-visible {\n outline: 0.125rem dotted var(--color-navy-600);\n outline-offset: 0.125rem;\n}\n\n.slider_button:hover {\n border-color: var(--color-grey-700);\n}\n\n.slider_button:disabled,\n.slider_button:disabled:hover {\n border: none;\n cursor: not-allowed;\n}\n\n.slider_trackwrapper {\n display: flex;\n position: relative;\n width: 100%;\n}\n\n.slider_balloon {\n color: var(--color-uva-black);\n font-weight: var(--semibold);\n position: absolute;\n text-align: center;\n top: -1.8125rem;\n white-space: nowrap;\n}\n\n.slider_input {\n appearance: none;\n background: var(--color-grey-400);\n flex-grow: 1;\n height: 0.25rem;\n}\n\n.slider_input:focus-visible {\n outline: 0.125rem dotted var(--color-navy-600);\n outline-offset: 0.125rem;\n}\n\n.slider_input:disabled {\n cursor: not-allowed;\n}\n\n.slider_input::-webkit-slider-runnable-track {\n appearance: none;\n color: var(--color-navy-600);\n cursor: pointer;\n height: 2rem;\n margin-top: -0.125rem;\n}\n\n.slider_input:disabled::-webkit-slider-runnable-track {\n cursor: not-allowed;\n}\n\n.slider_input::-webkit-slider-thumb {\n appearance: none;\n background: var(--color-uva-white);\n border: 2px solid var(--color-navy-600);\n border-radius: 0.125rem;\n cursor: pointer;\n height: var(--thumb-size);\n margin-top: calc(0.5rem + 1px);\n position: relative;\n width: var(--thumb-size);\n}\n\n.slider_input:disabled::-webkit-slider-thumb,\n.slider_input:disabled:hover::-webkit-slider-thumb {\n background: var(--color-grey-700);\n border: 2px solid var(--color-grey-700);\n cursor: not-allowed;\n}\n\n.slider_input::-moz-range-thumb {\n appearance: none;\n background: var(--color-uva-white);\n border: 2px solid var(--color-navy-600);\n border-radius: 0.125rem;\n cursor: pointer;\n height: var(--thumb-size);\n margin-top: calc(-0.25rem - 1px);\n position: relative;\n width: var(--thumb-size);\n}\n\n.slider_input:disabled::-moz-range-thumb,\n.slider_input:hover:disabled::-moz-range-thumb {\n background: var(--color-grey-700);\n border: 2px solid var(--color-grey-700);\n cursor: not-allowed;\n}\n\n.slider_input::-ms-thumb {\n appearance: none;\n background: var(--color-uva-white);\n border: 2px solid var(--color-navy-600);\n border-radius: 0.125rem;\n cursor: pointer;\n height: var(--thumb-size);\n margin-top: calc(-0.25rem - 1px);\n position: relative;\n width: var(--thumb-size);\n}\n\n.slider_input:disabled::-ms-thumb,\n.slider_input:hover:disabled::-ms-thumb {\n background: var(--color-grey-700);\n border: 2px solid var(--color-grey-700);\n cursor: not-allowed;\n}\n\n.slider_input::-webkit-slider-thumb:hover {\n background: var(--color-navy-200);\n border: 2px solid var(--color-navy-800);\n}\n\n.slider_input::-moz-range-thumb:hover {\n background: var(--color-navy-200);\n border: 2px solid var(--color-navy-800);\n}\n\n.slider_input::-ms-thumb:hover {\n background: var(--color-navy-200);\n border: 2px solid var(--color-navy-800);\n}\n\n.slider_input::-moz-range-progress {\n background-color: var(--color-navy-600);\n}\n\n.slider_input::-moz-range-track {\n background-color: var(--color-grey-400);\n}\n\n.slider_input::-ms-fill-lower {\n background-color: var(--color-navy-600);\n}\n\n.slider_input::-ms-fill-upper {\n background-color: var(--color-grey-400);\n}\n","import { useEffect, useEffectEvent, useRef, useState } from 'react';\r\nimport { clsx } from 'clsx';\r\n\r\nimport type { CSSProperties } from 'react';\r\n\r\nimport styles from './Slider.module.css';\r\n\r\nimport { Icon } from 'components/Icon';\r\n\r\nexport interface SliderProps {\r\n /* The minimum value of the slider */\r\n min: number;\r\n /* The maximum value of the slider */\r\n max: number;\r\n /* The current value of the slider */\r\n value?: number;\r\n /* The step value of the slider */\r\n step?: number;\r\n /* The units to display next to the value */\r\n units?: string;\r\n /* aria-label labels for navigation buttons */\r\n navigationLabels?: { increase: string; decrease: string };\r\n /* Whether the slider is disabled */\r\n disabled?: boolean;\r\n /* Callback function when the value changes */\r\n onChange?: (value: number) => void;\r\n}\r\n\r\nconst HALF_STEP = 0.5;\r\nconst HUNDRED = 100;\r\nconst THUMB_SIZE = 16;\r\nconst REM = 16;\r\n\r\nexport const Slider = ({\r\n min,\r\n max,\r\n value,\r\n step = 1,\r\n units,\r\n navigationLabels,\r\n disabled = false,\r\n onChange,\r\n}: SliderProps) => {\r\n const [sliderValue, setSliderValue] = useState(value !== undefined ? value : (min + max) * HALF_STEP);\r\n const [balloonLeftPosition, setBalloonLeftPosition] = useState('');\r\n const sliderRef = useRef<HTMLInputElement>(null);\r\n const trackWrapperRef = useRef<HTMLDivElement>(null);\r\n const balloonRef = useRef<HTMLDivElement>(null);\r\n\r\n const handleButtonClick = (direction: number) => {\r\n const newValue = sliderValue + direction * step;\r\n if (newValue >= min && newValue <= max) {\r\n setSliderValue(newValue);\r\n paintValueOnTrack(newValue);\r\n setFloaterPosition(newValue);\r\n if (onChange) {\r\n onChange(newValue);\r\n }\r\n }\r\n };\r\n\r\n const handleSliderChange = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n const newValue = Number(event.target.value);\r\n setSliderValue(newValue);\r\n paintValueOnTrack(newValue);\r\n setFloaterPosition(newValue);\r\n if (onChange) {\r\n onChange(newValue);\r\n }\r\n };\r\n\r\n const paintValueOnTrack = (valueToPaint: number) => {\r\n if (!sliderRef.current) return;\r\n const percentage = ((valueToPaint - min) / (max - min)) * HUNDRED;\r\n if (disabled) {\r\n sliderRef.current.style.background = `linear-gradient(\r\n to right, \r\n var(--color-grey-700) 0%, \r\n var(--color-grey-700) ${percentage}%, \r\n var(--color-grey-400) ${percentage}%, \r\n var(--color-grey-400) 100%)`;\r\n } else {\r\n sliderRef.current.style.background = `linear-gradient(\r\n to right, \r\n var(--color-navy-600) 0%, \r\n var(--color-navy-600) ${percentage}%, \r\n var(--color-grey-400) ${percentage}%, \r\n var(--color-grey-400) 100%)`;\r\n }\r\n };\r\n\r\n const setFloaterPosition = (value: number) => {\r\n if (trackWrapperRef.current && balloonRef.current) {\r\n const balloonWidth = balloonRef.current.clientWidth;\r\n const trackWidth = trackWrapperRef.current.clientWidth - THUMB_SIZE;\r\n const position = ((value - min) / (max - min)) * trackWidth;\r\n const leftPosition = position - (balloonWidth - THUMB_SIZE) * HALF_STEP;\r\n const clampedLeft = Math.max(0, Math.min(leftPosition, trackWidth - balloonWidth + THUMB_SIZE * HALF_STEP));\r\n setBalloonLeftPosition(`${clampedLeft}px`);\r\n }\r\n };\r\n\r\n const initializeSlider = useEffectEvent((value: number) => {\r\n setSliderValue(value);\r\n paintValueOnTrack(value);\r\n setFloaterPosition(value);\r\n });\r\n\r\n useEffect(() => {\r\n if (value !== undefined) {\r\n initializeSlider(value);\r\n }\r\n }, [value, disabled]);\r\n\r\n return (\r\n <div className={styles['slider_wrapper']}>\r\n <button\r\n type=\"button\"\r\n className={styles['slider_button']}\r\n onClick={() => handleButtonClick(-1)}\r\n aria-label={navigationLabels?.decrease ? navigationLabels.decrease : 'Verlaag waarde'}\r\n disabled={disabled}\r\n >\r\n <Icon name=\"Minus\" size={20} />\r\n </button>\r\n <div className={styles['slider_trackwrapper']} ref={trackWrapperRef}>\r\n <div\r\n className={clsx(styles['slider_balloon'], { [styles['slider_balloon--disabled']]: disabled })}\r\n style={{ left: balloonLeftPosition }}\r\n ref={balloonRef}\r\n >\r\n {sliderValue}\r\n {units && <span className={styles['slider_units']}>{units}</span>}\r\n </div>\r\n <input\r\n type=\"range\"\r\n className={styles['slider_input']}\r\n min={min}\r\n max={max}\r\n step={step}\r\n value={sliderValue}\r\n onChange={handleSliderChange}\r\n ref={sliderRef}\r\n style={{ '--thumb-size': `${THUMB_SIZE / REM}rem` } as CSSProperties}\r\n aria-valuemin={min}\r\n aria-valuemax={max}\r\n aria-valuenow={sliderValue}\r\n aria-valuetext={units ? `${sliderValue} ${units}` : `${sliderValue}`}\r\n aria-label=\"Slider\"\r\n disabled={disabled}\r\n />\r\n </div>\r\n <button\r\n type=\"button\"\r\n className={styles['slider_button']}\r\n onClick={() => handleButtonClick(1)}\r\n aria-label={navigationLabels?.increase ? navigationLabels.increase : 'Verhoog waarde'}\r\n disabled={disabled}\r\n >\r\n <Icon name=\"Plus\" size={20} />\r\n </button>\r\n </div>\r\n );\r\n};\r\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sortable.module-
|
|
1
|
+
{"version":3,"file":"Sortable.module-CgDMpWM8.js","names":[],"sources":["../src/components/Sortable/Sortable.module.css"],"sourcesContent":[".sortable__wrapper {\n position: relative;\n}\n\n.sortable__wrapper--scrollable {\n border-bottom: 1px solid var(--color-grey-300);\n border-top: 1px solid var(--color-grey-300);\n margin-bottom: 1rem;\n max-height: 21rem;\n overflow-y: auto;\n}\n\n.sortable__container {\n --item-min-height: 3.75rem;\n counter-reset: container;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n list-style: none;\n margin: 1rem 1rem 1rem 0;\n padding: 0;\n}\n\n.sortable__drop-target {\n display: flex;\n gap: 1rem;\n min-height: var(--item-min-height);\n position: relative;\n}\n\n.sortable__drop-target::before {\n align-items: center;\n content: counter(container);\n counter-increment: container;\n display: flex;\n opacity: 1;\n position: relative;\n transition: opacity 0.25s;\n}\n\n.sortable__drop-target--no-number::before {\n content: none;\n}\n\n.sortable__drop-target::after {\n content: \"\";\n display: block;\n height: 1px;\n left: 0;\n position: absolute;\n width: 100%;\n z-index: 1;\n}\n\n.sortable__drop-target:last-child::after {\n display: inline;\n}\n\n.sortable__sort-item {\n align-items: center;\n border-radius: 0.5rem;\n display: flex;\n gap: 1rem;\n min-height: var(--item-min-height);\n position: relative;\n width: 100%;\n z-index: 0;\n}\n\n.sortable__sort-item--grey-200 {\n background-color: var(--color-grey-200);\n}\n\n.sortable__sort-item--white {\n background-color: var(--color-uva-white);\n}\n\n.sortable__sort-item:focus {\n z-index: 2;\n}\n\n.sortable__sort-item--ghost {\n -webkit-user-drag: none;\n margin: 0 1rem;\n opacity: 0.5;\n padding: 0.5rem 0;\n pointer-events: none;\n position: fixed;\n visibility: hidden;\n z-index: 2;\n}\n\n.sortable__sort-item__handle {\n appearance: none;\n background: none;\n background-color: var(--color-uva-white);\n border: 0;\n cursor: grab;\n height: 2.625rem;\n width: 2.625rem;\n}\n\n.sortable__sort-item__button-container {\n align-items: center;\n background-color: var(--color-grey-300);\n border-left: 1px solid var(--color-grey-300);\n border-radius: 0 0.5rem 0.5rem 0;\n display: flex;\n flex-direction: column;\n inset: 0 0 0 auto;\n margin-right: 1px;\n overflow: hidden;\n position: absolute;\n width: 2.625rem;\n z-index: 20;\n}\n\n.sortable__sort-item__button-container[data-touch=\"false\"] {\n display: none;\n}\n\n.sortable__sort-item__handle--icon {\n align-items: center;\n display: flex;\n height: 1rem;\n width: 1rem;\n}\n\n.sortable__sort-item__handle--up,\n.sortable__sort-item__handle--down {\n color: black;\n display: none;\n height: 100%;\n right: 0.5rem;\n}\n\n.sortable__sort-item__handle--up {\n transform: rotate(180deg);\n}\n\n.sortable__sort-item--dragging .sortable__sort-item__handle {\n cursor: grabbing;\n}\n\n.sortable__sort-item__contents {\n align-items: center;\n color: var(--color-uva-black);\n display: flex;\n gap: 0.5rem;\n padding: 0.5rem;\n width: 100%;\n}\n\n.sortable__sort-item__contents--handle-right {\n padding-left: 1rem;\n padding-right: 2.5rem;\n}\n\n.sortable__handle {\n color: var(--color-grey-700);\n cursor: grab;\n display: flex;\n}\n\n.sortable__handle--right {\n position: absolute;\n right: 0.5rem;\n}\n\n/** Target touch enabled devices and screen readers */\n\n.sortable__sort-item__button-container[data-touch=\"true\"] {\n gap: 1px;\n justify-content: center;\n}\n\n.sortable__sort-item__button-container[data-touch=\"true\"] .sortable__sort-item__handle--up,\n.sortable__sort-item__button-container[data-touch=\"true\"] .sortable__sort-item__handle--down {\n align-items: center;\n display: flex;\n justify-content: center;\n}\n\n.sortable__visually-hidden {\n border: 0;\n clip: rect(0, 0, 0, 0);\n clip-path: inset(50%);\n height: 1px;\n margin: 0 -1px -1px 0;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n"],"mappings":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as e } from "./clsx-
|
|
2
|
-
import { t } from "./Sortable.module-
|
|
1
|
+
import { t as e } from "./clsx-BWCAbrjV.js";
|
|
2
|
+
import { t } from "./Sortable.module-CgDMpWM8.js";
|
|
3
3
|
import { initialState as n, sortableReducer as r } from "./components/Sortable/sortableReducer.js";
|
|
4
4
|
import { clearDraggingSource as i, clearDraggingTarget as a, dragEnd as o, dragStart as s, drop as c, moveToPosition as l, reset as u, setClone as d, setDraggingSource as f, setDraggingTarget as p } from "./components/Sortable/actions.js";
|
|
5
5
|
import { cloneElement as m, createContext as h, useContext as g, useEffect as _, useReducer as v, useRef as y } from "react";
|
|
@@ -144,4 +144,4 @@ function E() {
|
|
|
144
144
|
//#endregion
|
|
145
145
|
export { E as n, x as r, T as t };
|
|
146
146
|
|
|
147
|
-
//# sourceMappingURL=SortableProvider-
|
|
147
|
+
//# sourceMappingURL=SortableProvider-DV6gWmq_.js.map
|