@uva-glass/component-library 3.30.1 → 3.31.0
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/{Lexical.prod-UwAbgYpF.js → Lexical.prod-B84LhBo3.js} +1196 -1224
- package/dist/Lexical.prod-B84LhBo3.js.map +1 -0
- package/dist/{LexicalClipboard.prod-DHIGjydG.js → LexicalClipboard.prod-DLgWWXys.js} +4 -4
- package/dist/{LexicalClipboard.prod-DHIGjydG.js.map → LexicalClipboard.prod-DLgWWXys.js.map} +1 -1
- package/dist/{LexicalLink.prod-Bsa9J7L-.js → LexicalLink.prod-DoU9RL94.js} +3 -3
- package/dist/{LexicalLink.prod-Bsa9J7L-.js.map → LexicalLink.prod-DoU9RL94.js.map} +1 -1
- package/dist/{LexicalList.prod-jxGuZd4b.js → LexicalList.prod-Cw2TK1jY.js} +4 -4
- package/dist/{LexicalList.prod-jxGuZd4b.js.map → LexicalList.prod-Cw2TK1jY.js.map} +1 -1
- package/dist/{LexicalSelection.prod-xk5MiZnZ.js → LexicalSelection.prod-TB5pn9xc.js} +2 -2
- package/dist/{LexicalSelection.prod-xk5MiZnZ.js.map → LexicalSelection.prod-TB5pn9xc.js.map} +1 -1
- package/dist/{LexicalTable.prod-BSjs04iE.js → LexicalTable.prod-9xjyWB0C.js} +4 -4
- package/dist/{LexicalTable.prod-BSjs04iE.js.map → LexicalTable.prod-9xjyWB0C.js.map} +1 -1
- package/dist/{LexicalUtils.prod-cQutjKA3.js → LexicalUtils.prod-CD3xGFhm.js} +2 -2
- package/dist/{LexicalUtils.prod-cQutjKA3.js.map → LexicalUtils.prod-CD3xGFhm.js.map} +1 -1
- package/dist/Sortable.module--kgnzOjW.js +26 -0
- package/dist/Sortable.module--kgnzOjW.js.map +1 -0
- package/dist/SortableProvider-C2T7b-pm.js +153 -0
- package/dist/SortableProvider-C2T7b-pm.js.map +1 -0
- package/dist/{TablePlugin-NmJsn2fm.js → TablePlugin-Dmy98Epb.js} +86 -91
- package/dist/{TablePlugin-NmJsn2fm.js.map → TablePlugin-Dmy98Epb.js.map} +1 -1
- package/dist/assets/Backdrop.css +1 -1
- package/dist/assets/Button.css +1 -1
- package/dist/assets/ClipboardButton.css +1 -1
- package/dist/assets/ExpandableInfoPanel.css +1 -1
- package/dist/assets/FormInput.css +1 -1
- package/dist/assets/IconButton.css +1 -1
- package/dist/assets/Input.css +1 -1
- package/dist/assets/InputField.css +1 -1
- package/dist/assets/LinkContextMenu.css +1 -1
- package/dist/assets/Notification.css +1 -1
- package/dist/assets/OverlayCloseButton.css +1 -1
- package/dist/assets/OverlayStepBar.css +1 -1
- package/dist/assets/PageOverlay.css +1 -1
- package/dist/assets/Sortable.css +1 -1
- package/dist/assets/VarIndicator.css +1 -1
- package/dist/components/Accordion/Accordion.test.js +3 -3
- package/dist/components/AccordionCard/AccordionCard.test.js +3 -3
- package/dist/components/ActionList/ActionList.test.js +3 -3
- package/dist/components/AppStatusBar/AppStatusBar.test.js +2 -2
- package/dist/components/Attention/Attention.test.js +2 -2
- package/dist/components/Backdrop/Backdrop.test.js +2 -2
- package/dist/components/Buttons/Button.stories.js +1 -1
- package/dist/components/Buttons/Button.test.js +2 -2
- package/dist/components/Buttons/LinkButton.stories.js +1 -1
- package/dist/components/Buttons/LinkButton.test.js +2 -2
- package/dist/components/Buttons/MenuButton.stories.js +5 -5
- package/dist/components/Buttons/MenuButton.test.js +2 -2
- package/dist/components/Card/Card.test.js +2 -2
- package/dist/components/Checkbox/Checkbox.stories.js +1 -1
- package/dist/components/Checkbox/Checkbox.test.js +3 -3
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.stories.js +1 -1
- package/dist/components/CheckboxButtonBar/CheckboxButtonBar.test.js +2 -2
- package/dist/components/CheckboxTree/CheckboxTree.js +58 -59
- package/dist/components/CheckboxTree/CheckboxTree.js.map +1 -1
- package/dist/components/CheckboxTree/CheckboxTree.stories.js +58 -59
- package/dist/components/CheckboxTree/CheckboxTree.stories.js.map +1 -1
- package/dist/components/Chip/Chip.stories.js +5 -5
- package/dist/components/ControlsButton/ControlsButton.stories.js +5 -5
- package/dist/components/Drawer/Drawer.stories.js +1 -1
- package/dist/components/FeedbackBar/FeedbackBar.test.js +2 -2
- package/dist/components/FormInput/FormInput.js +3 -3
- package/dist/components/FormInput/FormInput.stories.js +1 -1
- package/dist/components/HorizontalList/HorizontalList.js +7 -7
- package/dist/components/HorizontalList/HorizontalList.js.map +1 -1
- package/dist/components/IconButton/IconButton.stories.js +1 -1
- package/dist/components/InputField/InputField.stories.js +10 -10
- package/dist/components/Label/Label.test.js +2 -2
- package/dist/components/ModalDialog/ModalDialog.stories.js +8 -8
- package/dist/components/MultiSelect/MultiSelect.js +1 -1
- package/dist/components/MultiSelect/MultiSelect.stories.js +8 -8
- package/dist/components/MultiSelect/components/MultiSelectHeader.js +3 -3
- package/dist/components/MultiSelect/index.js +1 -1
- package/dist/components/MultiSelectBox/MultiSelectBox.js +66 -70
- package/dist/components/MultiSelectBox/MultiSelectBox.js.map +1 -1
- package/dist/components/MultiSelectBox/MultiSelectBox.stories.js +1 -1
- package/dist/components/MultiSelectBox/MultiSelectBox.test.js +2 -2
- package/dist/components/Notification/Notification.stories.js +6 -6
- package/dist/components/Notification/Notification.test.js +2 -2
- package/dist/components/OverlayCloseButton/OverlayCloseButton.stories.js +4 -4
- package/dist/components/OverlayStepBar/OverlayStepBar.stories.js +19 -20
- package/dist/components/OverlayStepBar/OverlayStepBar.stories.js.map +1 -1
- package/dist/components/PeriodSelector/PeriodSelector.js +33 -33
- package/dist/components/PeriodSelector/PeriodSelector.js.map +1 -1
- package/dist/components/PeriodSelector/PeriodSelector.stories.js +4 -4
- package/dist/components/ProgrammeCard/ProgrammeCard.stories.js +3 -3
- package/dist/components/RadioGroup/RadioGroup.stories.js +1 -1
- package/dist/components/RadioGroup/Radiogroup.test.js +2 -2
- package/dist/components/RadioTabSelector/RadioTabSelector.js +3 -3
- package/dist/components/RadioTabSelector/RadioTabSelector.stories.js +1 -1
- package/dist/components/RteEditor/EditorHeader/EditorHeader.js +3 -3
- package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js +4 -4
- package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkForm/AddLinkFrom.js +4 -4
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js +51 -61
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js.map +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js +79 -89
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/helpers.js +1 -1
- package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js +3 -3
- package/dist/components/RteEditor/Plugins/PasteHandlerPlugin/PasteHandlerPlugin.js +4 -4
- package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js +3 -3
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.js +19 -19
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.js.map +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js +5 -5
- package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js +17 -18
- package/dist/components/RteEditor/Plugins/TablePlugin/helpers.js.map +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js +31 -32
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/index.js +1 -1
- package/dist/components/RteEditor/RteEditor.js +10 -10
- package/dist/components/RteEditor/helpers.js +4 -4
- package/dist/components/SelectListbox/SelectListBox.stories.js +1 -1
- package/dist/components/SelectListbox/components/SelectButton.js +31 -32
- package/dist/components/SelectListbox/components/SelectButton.js.map +1 -1
- package/dist/components/SelectListbox/components/SelectOption.js +29 -30
- package/dist/components/SelectListbox/components/SelectOption.js.map +1 -1
- package/dist/components/Sortable/Sortable.d.ts +6 -1
- package/dist/components/Sortable/Sortable.js +23 -13
- package/dist/components/Sortable/Sortable.js.map +1 -1
- package/dist/components/Sortable/Sortable.stories.js +13 -12
- package/dist/components/Sortable/Sortable.stories.js.map +1 -1
- package/dist/components/Sortable/SortableProvider.d.ts +2 -1
- package/dist/components/Sortable/SortableProvider.js +1 -1
- package/dist/components/Sortable/components/SortableContainer.d.ts +2 -1
- package/dist/components/Sortable/components/SortableContainer.js +2 -2
- package/dist/components/Sortable/components/SortableHandle.js +1 -1
- package/dist/components/Sortable/components/SortableItem.d.ts +3 -1
- package/dist/components/Sortable/components/SortableItem.js +48 -47
- package/dist/components/Sortable/components/SortableItem.js.map +1 -1
- package/dist/components/StatusBadge/StatusBadge.test.js +2 -2
- package/dist/components/TextArea/TextArea.stories.js +1 -1
- package/dist/components/TextArea/TextArea.test.js +3 -3
- package/dist/components/ToggleSwitch/ToggleSwitch.stories.js +1 -1
- package/dist/components/VarIndicator/VarIndicator.stories.js +1 -1
- package/dist/components/VarIndicator/VarIndicator.test.js +3 -3
- package/dist/components/hooks/usePositionedFloaters.js +39 -39
- package/dist/components/hooks/usePositionedFloaters.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/{helpers-DZIm3MiJ.js → helpers-CMG0anwr.js} +4 -4
- package/dist/{helpers-DZIm3MiJ.js.map → helpers-CMG0anwr.js.map} +1 -1
- package/dist/{index-DV47hRzi.js → index-Br0QepD6.js} +8 -10
- package/dist/{index-DV47hRzi.js.map → index-Br0QepD6.js.map} +1 -1
- package/dist/{index-Di9WPZUe.js → index-C2E9FY6V.js} +9149 -9854
- package/dist/index-C2E9FY6V.js.map +1 -0
- package/dist/{index-PaHiqSUg.js → index-Ds1dMTvJ.js} +29 -29
- package/dist/{index-PaHiqSUg.js.map → index-Ds1dMTvJ.js.map} +1 -1
- package/dist/{index-BVAvx58-.js → index-KJPw-7za.js} +2209 -2280
- package/dist/{index-BVAvx58-.js.map → index-KJPw-7za.js.map} +1 -1
- package/dist/{index-DllfJcv4.js → index-nrPtQ1dv.js} +2 -2
- package/dist/{index-DllfJcv4.js.map → index-nrPtQ1dv.js.map} +1 -1
- package/dist/index.js +1 -1
- package/dist/{react.esm-CFMwGdo5.js → react.esm-BKjCIfbB.js} +373 -374
- package/dist/{react.esm-CFMwGdo5.js.map → react.esm-BKjCIfbB.js.map} +1 -1
- package/dist/setupTests.js +6 -9
- package/dist/setupTests.js.map +1 -1
- package/dist/storybook__react.d.js +2056 -2072
- package/dist/storybook__react.d.js.map +1 -1
- package/package.json +14 -14
- package/dist/Lexical.prod-UwAbgYpF.js.map +0 -1
- package/dist/Sortable.module-CekPNg54.js +0 -23
- package/dist/Sortable.module-CekPNg54.js.map +0 -1
- package/dist/SortableProvider-CwX1lFMa.js +0 -152
- package/dist/SortableProvider-CwX1lFMa.js.map +0 -1
- package/dist/index-Di9WPZUe.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PeriodSelector.js","sources":["../../../src/components/PeriodSelector/PeriodSelector.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useEffect, useRef, useState } from 'react';\n\nimport styles from './PeriodSelector.module.css';\n\nimport { Label, CheckboxButtonBar, FeedbackBox } from 'components';\n\nexport interface PeriodSelectorProps {\n /** Indicates how many periods are shown. */\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n maxPeriods: 6 | 7;\n /** array of period values [3, 5 ...] */\n defaultValues?: number[];\n label?: string;\n labelPosition?: 'top' | 'left';\n /** Shows red * */\n required?: boolean;\n /** error text to display if set */\n notValidatedText?: string;\n /** Returns array of selected values as number */\n onChange: (values: number[]) => void;\n}\n\nconst SEMESTER_1 = 0;\nconst SEMESTER_2 = 1;\nconst SEMESTER_3 = 2;\n\nconst PERIODS_PER_SEMESTER = 3;\nconst MAX_PERIODS = 7;\n\nconst chunkPeriods = (array: number[]): number[][] => {\n const result: number[][] = [];\n for (let count = 0; count < array.length; count += PERIODS_PER_SEMESTER) {\n result.push(array.slice(count, count + PERIODS_PER_SEMESTER));\n }\n return result;\n};\n\n/** Checkbox group for selecting periods */\nexport const PeriodSelector = ({\n maxPeriods = MAX_PERIODS,\n defaultValues,\n label,\n labelPosition = 'top',\n required = false,\n notValidatedText = '',\n onChange,\n}: PeriodSelectorProps) => {\n const maxPeriodsList = Array.from({ length: maxPeriods }, (_, index) => index + 1);\n const chunkedPeriods = chunkPeriods(maxPeriodsList);\n\n const checkboxItems = chunkedPeriods.map((periods, semester) => {\n return periods.map((period) => ({\n label: `${semester + 1}${periods.length === 1 ? '' : `.${((period - 1) % PERIODS_PER_SEMESTER) + 1}`}`,\n value: period.toString(),\n }));\n });\n\n const returnValues = useRef<number[][]>(\n chunkedPeriods.map((semester) =>\n semester.reduce((periods, period) => {\n if (defaultValues?.includes(period)) periods.push(period);\n return periods;\n }, [] as number[])\n )\n );\n const [disableSemesters, setDisableSemesters] = useState<number[]>([]);\n\n const disableGroups = (selects: number[][]) => {\n if (selects[SEMESTER_1].length !== 0 || selects[SEMESTER_2].length !== 0) return [SEMESTER_3];\n if (selects[SEMESTER_3].length !== 0) return [SEMESTER_1, SEMESTER_2];\n return [];\n };\n\n const handleChange = (values: string[], index: number) => {\n returnValues.current[index] = values.map((num) => Number(num));\n setDisableSemesters(disableGroups(returnValues.current));\n onChange([...returnValues.current.flat()].sort());\n };\n\n useEffect(() => {\n setDisableSemesters(disableGroups(returnValues.current));\n }, []);\n\n return (\n <div\n className={clsx(\n styles['period-selector__container'],\n styles[`period-selector__container--label-${labelPosition}`]\n )}\n >\n {label && (\n <Label htmlFor=\"\" required={required}>\n {label}\n </Label>\n )}\n <div className={styles['period-selector__selector-container']}>\n <div className={styles['period-selector__selector-row']}>\n {checkboxItems.map((checkboxes, semester) => (\n <CheckboxButtonBar\n key={`group_${semester}`}\n checkboxes={checkboxes}\n defaultValues={returnValues.current[semester].map((num) => num.toString())}\n disableGroup={disableSemesters.includes(semester)}\n required={required}\n onSetValues={(event) => handleChange(event, semester)}\n notValidated={notValidatedText !== ''}\n />\n ))}\n </div>\n {notValidatedText !== '' && <FeedbackBox level=\"error\" feedback={notValidatedText} />}\n </div>\n </div>\n );\n};\n"],"names":["SEMESTER_1","SEMESTER_2","SEMESTER_3","PERIODS_PER_SEMESTER","MAX_PERIODS","chunkPeriods","array","result","count","PeriodSelector","maxPeriods","defaultValues","label","labelPosition","required","notValidatedText","onChange","maxPeriodsList","_","index","chunkedPeriods","checkboxItems","periods","semester","period","returnValues","useRef","disableSemesters","setDisableSemesters","useState","disableGroups","selects","handleChange","values","num","useEffect","jsxs","clsx","styles","jsx","Label","checkboxes","CheckboxButtonBar","event","FeedbackBox"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuBMA,IAAa,GACbC,IAAa,GACbC,IAAa,GAEbC,IAAuB,GACvBC,IAAc,GAEdC,IAAe,CAACC,MAAgC;AACpD,QAAMC,IAAqB,CAAA;AAC3B,WAASC,IAAQ,GAAGA,IAAQF,EAAM,QAAQE,KAASL;AACjD,IAAAI,EAAO,KAAKD,EAAM,MAAME,GAAOA,IAAQL,CAAoB,CAAC;AAE9D,SAAOI;AACT,GAGaE,KAAiB,CAAC;AAAA,EAC7B,YAAAC,IAAaN;AAAA,EACb,eAAAO;AAAA,EACA,OAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,UAAAC,IAAW;AAAA,EACX,kBAAAC,IAAmB;AAAA,EACnB,UAAAC;AACF,MAA2B;AACzB,QAAMC,IAAiB,MAAM,KAAK,EAAE,QAAQP,EAAA,GAAc,CAACQ,GAAGC,MAAUA,IAAQ,CAAC,GAC3EC,IAAiBf,EAAaY,CAAc,GAE5CI,IAAgBD,EAAe,IAAI,CAACE,GAASC,MAC1CD,EAAQ,IAAI,CAACE,OAAY;AAAA,IAC9B,OAAO,GAAGD,IAAW,CAAC,GAAGD,EAAQ,WAAW,IAAI,KAAK,KAAME,IAAS,KAAKrB,IAAwB,CAAC,EAAE;AAAA,IACpG,OAAOqB,EAAO,SAAA;AAAA,EAAS,EACvB,CACH,GAEKC,IAAeC;AAAA,IACnBN,EAAe;AAAA,MAAI,CAACG,MAClBA,EAAS,OAAO,CAACD,GAASE,OACpBb,
|
|
1
|
+
{"version":3,"file":"PeriodSelector.js","sources":["../../../src/components/PeriodSelector/PeriodSelector.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { useEffect, useRef, useState } from 'react';\n\nimport styles from './PeriodSelector.module.css';\n\nimport { Label, CheckboxButtonBar, FeedbackBox } from 'components';\n\nexport interface PeriodSelectorProps {\n /** Indicates how many periods are shown. */\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n maxPeriods: 6 | 7;\n /** array of period values [3, 5 ...] */\n defaultValues?: number[];\n label?: string;\n labelPosition?: 'top' | 'left';\n /** Shows red * */\n required?: boolean;\n /** error text to display if set */\n notValidatedText?: string;\n /** Returns array of selected values as number */\n onChange: (values: number[]) => void;\n}\n\nconst SEMESTER_1 = 0;\nconst SEMESTER_2 = 1;\nconst SEMESTER_3 = 2;\n\nconst PERIODS_PER_SEMESTER = 3;\nconst MAX_PERIODS = 7;\n\nconst chunkPeriods = (array: number[]): number[][] => {\n const result: number[][] = [];\n for (let count = 0; count < array.length; count += PERIODS_PER_SEMESTER) {\n result.push(array.slice(count, count + PERIODS_PER_SEMESTER));\n }\n return result;\n};\n\n/** Checkbox group for selecting periods */\nexport const PeriodSelector = ({\n maxPeriods = MAX_PERIODS,\n defaultValues,\n label,\n labelPosition = 'top',\n required = false,\n notValidatedText = '',\n onChange,\n}: PeriodSelectorProps) => {\n const maxPeriodsList = Array.from({ length: maxPeriods }, (_, index) => index + 1);\n const chunkedPeriods = chunkPeriods(maxPeriodsList);\n\n const checkboxItems = chunkedPeriods.map((periods, semester) => {\n return periods.map((period) => ({\n label: `${semester + 1}${periods.length === 1 ? '' : `.${((period - 1) % PERIODS_PER_SEMESTER) + 1}`}`,\n value: period.toString(),\n }));\n });\n\n const returnValues = useRef<number[][]>(\n chunkedPeriods.map((semester) =>\n semester.reduce((periods, period) => {\n if (defaultValues?.includes(period)) periods.push(period);\n return periods;\n }, [] as number[])\n )\n );\n const [disableSemesters, setDisableSemesters] = useState<number[]>([]);\n\n const disableGroups = (selects: number[][]) => {\n if (selects[SEMESTER_1].length !== 0 || selects[SEMESTER_2].length !== 0) return [SEMESTER_3];\n if (selects[SEMESTER_3].length !== 0) return [SEMESTER_1, SEMESTER_2];\n return [];\n };\n\n const handleChange = (values: string[], index: number) => {\n returnValues.current[index] = values.map((num) => Number(num));\n setDisableSemesters(disableGroups(returnValues.current));\n onChange([...returnValues.current.flat()].sort());\n };\n\n useEffect(() => {\n setDisableSemesters(disableGroups(returnValues.current));\n }, []);\n\n return (\n <div\n className={clsx(\n styles['period-selector__container'],\n styles[`period-selector__container--label-${labelPosition}`]\n )}\n >\n {label && (\n <Label htmlFor=\"\" required={required}>\n {label}\n </Label>\n )}\n <div className={styles['period-selector__selector-container']}>\n <div className={styles['period-selector__selector-row']}>\n {checkboxItems.map((checkboxes, semester) => (\n <CheckboxButtonBar\n key={`group_${semester}`}\n checkboxes={checkboxes}\n defaultValues={returnValues.current[semester].map((num) => num.toString())}\n disableGroup={disableSemesters.includes(semester)}\n required={required}\n onSetValues={(event) => handleChange(event, semester)}\n notValidated={notValidatedText !== ''}\n />\n ))}\n </div>\n {notValidatedText !== '' && <FeedbackBox level=\"error\" feedback={notValidatedText} />}\n </div>\n </div>\n );\n};\n"],"names":["SEMESTER_1","SEMESTER_2","SEMESTER_3","PERIODS_PER_SEMESTER","MAX_PERIODS","chunkPeriods","array","result","count","PeriodSelector","maxPeriods","defaultValues","label","labelPosition","required","notValidatedText","onChange","maxPeriodsList","_","index","chunkedPeriods","checkboxItems","periods","semester","period","returnValues","useRef","disableSemesters","setDisableSemesters","useState","disableGroups","selects","handleChange","values","num","useEffect","jsxs","clsx","styles","jsx","Label","checkboxes","CheckboxButtonBar","event","FeedbackBox"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { l as t } from "../../index-C2E9FY6V.js";
|
|
3
3
|
import { PeriodSelector as e } from "./PeriodSelector.js";
|
|
4
4
|
const i = "<PeriodSelector maxPeriods={} defaultValues={} label={} labelPosition={} required={} onChange={} />", m = {
|
|
5
5
|
title: "Organisms/PeriodSelector",
|
|
@@ -8,8 +8,8 @@ const i = "<PeriodSelector maxPeriods={} defaultValues={} label={} labelPosition
|
|
|
8
8
|
inspectComponent: e,
|
|
9
9
|
codeString: i
|
|
10
10
|
}
|
|
11
|
-
},
|
|
12
|
-
|
|
11
|
+
}, l = (o) => /* @__PURE__ */ r(e, { ...o }), a = l.bind({});
|
|
12
|
+
a.args = {
|
|
13
13
|
maxPeriods: 7,
|
|
14
14
|
// eslint-disable-next-line @typescript-eslint/no-magic-numbers
|
|
15
15
|
defaultValues: [1, 5, 6],
|
|
@@ -19,7 +19,7 @@ l.args = {
|
|
|
19
19
|
onChange: t()
|
|
20
20
|
};
|
|
21
21
|
export {
|
|
22
|
-
|
|
22
|
+
a as PeriodSelectorExample,
|
|
23
23
|
m as default
|
|
24
24
|
};
|
|
25
25
|
//# sourceMappingURL=PeriodSelector.stories.js.map
|
|
@@ -17,15 +17,15 @@ import "../GridRow/GridRow.js";
|
|
|
17
17
|
import "../IconButton/IconButton.js";
|
|
18
18
|
import "../Input/Input.js";
|
|
19
19
|
import "../InputField/InputField.js";
|
|
20
|
-
import "../../TablePlugin-
|
|
20
|
+
import "../../TablePlugin-Dmy98Epb.js";
|
|
21
21
|
import "../RteEditor/Providers/LanguageProvider.js";
|
|
22
22
|
import "../RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js";
|
|
23
23
|
import "../RteEditor/hooks/components/Flyout.js";
|
|
24
|
-
import "../../index-
|
|
24
|
+
import "../../index-nrPtQ1dv.js";
|
|
25
25
|
import "../SelectListbox/SelectListbox.js";
|
|
26
26
|
import "../SelectListbox/SelectProvider.js";
|
|
27
27
|
import "../Sortable/components/SortableItem.js";
|
|
28
|
-
import "../../SortableProvider-
|
|
28
|
+
import "../../SortableProvider-C2T7b-pm.js";
|
|
29
29
|
const p = "<ProgrammeCard key={key} header={header} details={details} href={href} />", J = {
|
|
30
30
|
title: "Atoms/ProgrammeCard",
|
|
31
31
|
component: o,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
-
import "../../index-
|
|
3
|
-
import { r as l, s as t, f as s } from "../../react.esm-
|
|
2
|
+
import "../../index-Br0QepD6.js";
|
|
3
|
+
import { r as l, s as t, f as s } from "../../react.esm-BKjCIfbB.js";
|
|
4
4
|
import { RadioGroup as a } from "./RadioGroup.js";
|
|
5
5
|
const i = [
|
|
6
6
|
{ id: "1", titleLabel: "Option 1", value: "option1" },
|
|
@@ -17,15 +17,15 @@ import "../IconButton/IconButton.js";
|
|
|
17
17
|
import "../Input/Input.js";
|
|
18
18
|
import "../InputField/InputField.js";
|
|
19
19
|
import "react-router";
|
|
20
|
-
import "../../TablePlugin-
|
|
20
|
+
import "../../TablePlugin-Dmy98Epb.js";
|
|
21
21
|
import "../RteEditor/Providers/LanguageProvider.js";
|
|
22
22
|
import "../RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js";
|
|
23
23
|
import "../RteEditor/hooks/components/Flyout.js";
|
|
24
|
-
import "../../index-
|
|
24
|
+
import "../../index-nrPtQ1dv.js";
|
|
25
25
|
import "../SelectListbox/SelectListbox.js";
|
|
26
26
|
import "../SelectListbox/SelectProvider.js";
|
|
27
27
|
import "../Sortable/components/SortableItem.js";
|
|
28
|
-
import "../../SortableProvider-
|
|
28
|
+
import "../../SortableProvider-C2T7b-pm.js";
|
|
29
29
|
import '../../assets/RadioTabSelector.css';const t = {
|
|
30
30
|
"radio-tab-selector-button-bar__container": "_radio-tab-selector-button-bar__container_a4wnc_1",
|
|
31
31
|
"radio-tab-selector-button-bar__container--label-left": "_radio-tab-selector-button-bar__container--label-left_a4wnc_6",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { l as o } from "../../index-C2E9FY6V.js";
|
|
3
3
|
import { RadioTabSelector as e } from "./RadioTabSelector.js";
|
|
4
4
|
const l = "<RadioTabSelector radioButtons={} defaultValue={} label={} labelPosition={} required={} notValidatedText={} onSetValue={} />", u = {
|
|
5
5
|
title: "Molecules/RadioTabSelector",
|
|
@@ -14,15 +14,15 @@ import "../../IconButton/IconButton.js";
|
|
|
14
14
|
import "../../Input/Input.js";
|
|
15
15
|
import "../../InputField/InputField.js";
|
|
16
16
|
import "react-router";
|
|
17
|
-
import "../../../TablePlugin-
|
|
17
|
+
import "../../../TablePlugin-Dmy98Epb.js";
|
|
18
18
|
import "../Providers/LanguageProvider.js";
|
|
19
19
|
import "../Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js";
|
|
20
20
|
import "../hooks/components/Flyout.js";
|
|
21
|
-
import "../../../index-
|
|
21
|
+
import "../../../index-nrPtQ1dv.js";
|
|
22
22
|
import "../../SelectListbox/SelectListbox.js";
|
|
23
23
|
import "../../SelectListbox/SelectProvider.js";
|
|
24
24
|
import "../../Sortable/components/SortableItem.js";
|
|
25
|
-
import "../../../SortableProvider-
|
|
25
|
+
import "../../../SortableProvider-C2T7b-pm.js";
|
|
26
26
|
import '../../../assets/EditorHeader.css';const t = {
|
|
27
27
|
"editor-header__container": "_editor-header__container_9khdz_1",
|
|
28
28
|
"editor-header__info": "_editor-header__info_9khdz_10"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as s } from "react/jsx-runtime";
|
|
2
2
|
import { o as u } from "../../../../LexicalComposerContext.prod-DLlRM5wP.js";
|
|
3
3
|
import { c as f } from "../../../../clsx-OuTLNxxd.js";
|
|
4
|
-
import { N as _, c as p, R as h } from "../../../../Lexical.prod-
|
|
4
|
+
import { N as _, c as p, R as h } from "../../../../Lexical.prod-B84LhBo3.js";
|
|
5
5
|
import { useState as l, useEffect as k } from "react";
|
|
6
6
|
import { Icon as I } from "../../../Icon/Icon.js";
|
|
7
7
|
import { s as a } from "../../../../RteEditor.module-B_3uFnFu.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs as f, jsx as a } from "react/jsx-runtime";
|
|
2
2
|
import { c as i } from "../../../../clsx-OuTLNxxd.js";
|
|
3
3
|
import { o as h } from "../../../../LexicalComposerContext.prod-DLlRM5wP.js";
|
|
4
|
-
import { ar as _, as as C, at as y, au as k } from "../../../../Lexical.prod-
|
|
4
|
+
import { ar as _, as as C, at as y, au as k } from "../../../../Lexical.prod-B84LhBo3.js";
|
|
5
5
|
import { useState as s, useEffect as m } from "react";
|
|
6
6
|
import { Icon as n } from "../../../Icon/Icon.js";
|
|
7
7
|
import "../../../Buttons/Button.js";
|
|
@@ -17,17 +17,17 @@ import "../../../IconButton/IconButton.js";
|
|
|
17
17
|
import "../../../Input/Input.js";
|
|
18
18
|
import "../../../InputField/InputField.js";
|
|
19
19
|
import "react-router";
|
|
20
|
-
import "../../../../TablePlugin-
|
|
20
|
+
import "../../../../TablePlugin-Dmy98Epb.js";
|
|
21
21
|
import { s as r } from "../../../../RteEditor.module-B_3uFnFu.js";
|
|
22
22
|
import { useTranslation as x } from "../../hooks/useTranslation.js";
|
|
23
23
|
import "../LinkPlugin/LinkContextMenu/LinkContextMenu.js";
|
|
24
24
|
import "../../hooks/components/Flyout.js";
|
|
25
25
|
import "../../Providers/LanguageProvider.js";
|
|
26
|
-
import "../../../../index-
|
|
26
|
+
import "../../../../index-nrPtQ1dv.js";
|
|
27
27
|
import "../../../SelectListbox/SelectListbox.js";
|
|
28
28
|
import "../../../SelectListbox/SelectProvider.js";
|
|
29
29
|
import "../../../Sortable/components/SortableItem.js";
|
|
30
|
-
import "../../../../SortableProvider-
|
|
30
|
+
import "../../../../SortableProvider-C2T7b-pm.js";
|
|
31
31
|
const Z = () => {
|
|
32
32
|
const o = x(), [t] = h(), [p, d] = s(!1), [l, c] = s(!1), u = () => {
|
|
33
33
|
t.dispatchCommand(y, void 0);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
|
-
import { A as D } from "../../../../../TablePlugin-
|
|
4
|
-
import "../../../../../helpers-
|
|
3
|
+
import { A as D } from "../../../../../TablePlugin-Dmy98Epb.js";
|
|
4
|
+
import "../../../../../helpers-CMG0anwr.js";
|
|
5
5
|
import "../../../../Icon/Icon.js";
|
|
6
6
|
import "../../../../Buttons/Button.js";
|
|
7
7
|
import "../../../../Buttons/LinkButton.js";
|
|
@@ -23,11 +23,11 @@ import "../../../hooks/useTranslation.js";
|
|
|
23
23
|
import "../LinkContextMenu/LinkContextMenu.js";
|
|
24
24
|
import "../../../hooks/components/Flyout.js";
|
|
25
25
|
import "../../../Providers/LanguageProvider.js";
|
|
26
|
-
import "../../../../../index-
|
|
26
|
+
import "../../../../../index-nrPtQ1dv.js";
|
|
27
27
|
import "../../../../SelectListbox/SelectListbox.js";
|
|
28
28
|
import "../../../../SelectListbox/SelectProvider.js";
|
|
29
29
|
import "../../../../Sortable/components/SortableItem.js";
|
|
30
|
-
import "../../../../../SortableProvider-
|
|
30
|
+
import "../../../../../SortableProvider-C2T7b-pm.js";
|
|
31
31
|
export {
|
|
32
32
|
D as AddLinkForm
|
|
33
33
|
};
|
|
@@ -1,101 +1,91 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { e as
|
|
4
|
-
import { Icon as
|
|
5
|
-
import { useTranslation as
|
|
6
|
-
import { Button as
|
|
1
|
+
import { jsxs as u, Fragment as L, jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as K, useState as d, useRef as N, useImperativeHandle as T, useLayoutEffect as g } from "react";
|
|
3
|
+
import { e as E } from "../../../../../helpers-CMG0anwr.js";
|
|
4
|
+
import { Icon as k } from "../../../../Icon/Icon.js";
|
|
5
|
+
import { useTranslation as R } from "../../../hooks/useTranslation.js";
|
|
6
|
+
import { Button as b } from "../../../../Buttons/Button.js";
|
|
7
7
|
import "../../../../Buttons/LinkButton.js";
|
|
8
8
|
import "@react-aria/button";
|
|
9
|
-
import '../../../../../assets/LinkContextMenu.css';const
|
|
9
|
+
import '../../../../../assets/LinkContextMenu.css';const i = {
|
|
10
10
|
"link-context-menu__wrapper": "_link-context-menu__wrapper_139l7_1",
|
|
11
11
|
"link-context-menu__input": "_link-context-menu__input_139l7_7",
|
|
12
12
|
"link-context-menu__button": "_link-context-menu__button_139l7_25",
|
|
13
13
|
"link-context-menu__actions": "_link-context-menu__actions_139l7_36"
|
|
14
|
-
},
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
}, I = K(({ url: l, onSave: y, onDelete: f, onClose: h }, x) => {
|
|
15
|
+
const t = R(), [m, o] = d(l), [r, c] = d(!1), a = N(null), s = () => {
|
|
16
|
+
o(l), c(!1), a.current?.blur();
|
|
17
|
+
}, w = () => {
|
|
18
|
+
y(m), s();
|
|
19
|
+
}, _ = () => {
|
|
20
|
+
f(), o(""), s();
|
|
18
21
|
}, C = () => {
|
|
19
|
-
|
|
22
|
+
s(), h();
|
|
20
23
|
}, p = () => {
|
|
21
|
-
|
|
22
|
-
}, L = () => {
|
|
23
|
-
r(), x();
|
|
24
|
-
}, d = () => {
|
|
25
|
-
window.open(R(a), "_blank");
|
|
24
|
+
window.open(E(l), "_blank");
|
|
26
25
|
};
|
|
27
|
-
return
|
|
28
|
-
clearForm:
|
|
29
|
-
})),
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
var i;
|
|
33
|
-
return (i = o.current) == null ? void 0 : i.focus();
|
|
34
|
-
}, 0)), t.ctrlKey && t.shiftKey && t.code === "Digit1" && (d(), setTimeout(() => {
|
|
35
|
-
var i;
|
|
36
|
-
return (i = o.current) == null ? void 0 : i.focus();
|
|
37
|
-
}, 0)), t.ctrlKey && t.shiftKey && t.key === "Q" && (p(), setTimeout(() => {
|
|
38
|
-
var i;
|
|
39
|
-
return (i = o.current) == null ? void 0 : i.focus();
|
|
40
|
-
}, 0));
|
|
26
|
+
return T(x, () => ({
|
|
27
|
+
clearForm: s
|
|
28
|
+
})), g(() => {
|
|
29
|
+
o(l), window.addEventListener("keydown", (e) => {
|
|
30
|
+
e.ctrlKey && e.shiftKey && e.key === "L" && (c(!0), setTimeout(() => a.current?.focus(), 0)), e.ctrlKey && e.shiftKey && e.code === "Digit1" && (p(), setTimeout(() => a.current?.focus(), 0)), e.ctrlKey && e.shiftKey && e.key === "Q" && (_(), setTimeout(() => a.current?.focus(), 0));
|
|
41
31
|
});
|
|
42
|
-
}, [
|
|
43
|
-
/* @__PURE__ */
|
|
32
|
+
}, [l]), /* @__PURE__ */ u(L, { children: [
|
|
33
|
+
/* @__PURE__ */ u("div", { className: i["link-context-menu__wrapper"], children: [
|
|
44
34
|
/* @__PURE__ */ n(
|
|
45
35
|
"input",
|
|
46
36
|
{
|
|
47
37
|
type: "text",
|
|
48
|
-
value:
|
|
49
|
-
onChange: (
|
|
50
|
-
className:
|
|
51
|
-
disabled: !
|
|
52
|
-
ref:
|
|
38
|
+
value: m,
|
|
39
|
+
onChange: (e) => o(e.target.value),
|
|
40
|
+
className: i["link-context-menu__input"],
|
|
41
|
+
disabled: !r,
|
|
42
|
+
ref: a
|
|
53
43
|
}
|
|
54
44
|
),
|
|
55
|
-
!
|
|
45
|
+
!r && /* @__PURE__ */ n(
|
|
56
46
|
"button",
|
|
57
47
|
{
|
|
58
48
|
type: "button",
|
|
59
|
-
className:
|
|
60
|
-
onClick: () =>
|
|
61
|
-
title:
|
|
62
|
-
"aria-label":
|
|
63
|
-
"aria-keyshortcuts":
|
|
64
|
-
children: /* @__PURE__ */ n(
|
|
49
|
+
className: i["link-context-menu__button"],
|
|
50
|
+
onClick: () => c(!0),
|
|
51
|
+
title: t.links.linkEdittip,
|
|
52
|
+
"aria-label": t.aria.labels.link,
|
|
53
|
+
"aria-keyshortcuts": t.aria.keyshortcuts.editlink,
|
|
54
|
+
children: /* @__PURE__ */ n(k, { name: "Pencil", size: 20 })
|
|
65
55
|
}
|
|
66
56
|
),
|
|
67
57
|
/* @__PURE__ */ n(
|
|
68
58
|
"button",
|
|
69
59
|
{
|
|
70
60
|
type: "button",
|
|
71
|
-
className:
|
|
72
|
-
onClick:
|
|
73
|
-
title:
|
|
74
|
-
"aria-label":
|
|
75
|
-
"aria-keyshortcuts":
|
|
76
|
-
children: /* @__PURE__ */ n(
|
|
61
|
+
className: i["link-context-menu__button"],
|
|
62
|
+
onClick: p,
|
|
63
|
+
title: t.links.linkTesttip,
|
|
64
|
+
"aria-label": t.aria.labels.link,
|
|
65
|
+
"aria-keyshortcuts": t.aria.keyshortcuts.testlink,
|
|
66
|
+
children: /* @__PURE__ */ n(k, { name: "ArrowTopRightOnSquare", size: 20 })
|
|
77
67
|
}
|
|
78
68
|
),
|
|
79
69
|
/* @__PURE__ */ n(
|
|
80
70
|
"button",
|
|
81
71
|
{
|
|
82
72
|
type: "button",
|
|
83
|
-
className:
|
|
84
|
-
onClick:
|
|
85
|
-
title:
|
|
86
|
-
"aria-label":
|
|
87
|
-
"aria-keyshortcuts":
|
|
88
|
-
children: /* @__PURE__ */ n(
|
|
73
|
+
className: i["link-context-menu__button"],
|
|
74
|
+
onClick: _,
|
|
75
|
+
title: t.links.linkDeletetip,
|
|
76
|
+
"aria-label": t.aria.labels.link,
|
|
77
|
+
"aria-keyshortcuts": t.aria.keyshortcuts.deletelink,
|
|
78
|
+
children: /* @__PURE__ */ n(k, { name: "LinkSlash", size: 20 })
|
|
89
79
|
}
|
|
90
80
|
)
|
|
91
81
|
] }),
|
|
92
|
-
|
|
93
|
-
/* @__PURE__ */ n(
|
|
94
|
-
/* @__PURE__ */ n(
|
|
82
|
+
r && /* @__PURE__ */ u("div", { className: i["link-context-menu__actions"], children: [
|
|
83
|
+
/* @__PURE__ */ n(b, { variant: "secondary", onClick: C, "aria-label": t.common.cancel, type: "button", children: t.common.cancel }),
|
|
84
|
+
/* @__PURE__ */ n(b, { variant: "primary", onClick: w, "aria-label": t.aria.labels.linkOkButton, type: "button", children: t.links.addLink })
|
|
95
85
|
] })
|
|
96
86
|
] });
|
|
97
87
|
});
|
|
98
88
|
export {
|
|
99
|
-
|
|
89
|
+
I as LinkContextMenu
|
|
100
90
|
};
|
|
101
91
|
//# sourceMappingURL=LinkContextMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkContextMenu.js","sources":["../../../../../../src/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.tsx"],"sourcesContent":["import { forwardRef, useImperativeHandle, useLayoutEffect, useRef, useState } from 'react';\n\nimport styles from './LinkContextMenu.module.css';\n\nimport { ensureHttps } from 'components/RteEditor/Plugins/LinkPlugin/helpers';\nimport { Icon } from 'components/Icon';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\nimport { Button } from 'components/Buttons';\n\ninterface LinkContextMenuProps {\n url: string;\n onSave: (url: string) => void;\n onDelete: () => void;\n onClose: () => void;\n}\n\nexport interface linkFormMethods {\n clearForm: () => void;\n}\n\nexport const LinkContextMenu = forwardRef(({ url, onSave, onDelete, onClose }: LinkContextMenuProps, ref) => {\n const t = useTranslation();\n const [link, setLink] = useState(url);\n const [editable, setEditable] = useState(false);\n const linkRef = useRef<HTMLInputElement>(null);\n\n const reset = () => {\n setLink(url);\n setEditable(false);\n linkRef.current?.blur();\n };\n\n const handleSave = () => {\n onSave(link);\n reset();\n };\n\n const handleDelete = () => {\n onDelete();\n setLink('');\n reset();\n };\n\n const handleClose = () => {\n reset();\n onClose();\n };\n\n const handlePreview = () => {\n window.open(ensureHttps(url), '_blank');\n };\n\n useImperativeHandle(ref, () => ({\n clearForm: reset,\n }));\n\n useLayoutEffect(() => {\n setLink(url);\n window.addEventListener('keydown', (event) => {\n if (event.ctrlKey && event.shiftKey && event.key === 'L') {\n setEditable(true);\n setTimeout(() => linkRef.current?.focus(), 0);\n }\n if (event.ctrlKey && event.shiftKey && event.code === 'Digit1') {\n handlePreview();\n setTimeout(() => linkRef.current?.focus(), 0);\n }\n if (event.ctrlKey && event.shiftKey && event.key === 'Q') {\n handleDelete();\n setTimeout(() => linkRef.current?.focus(), 0);\n }\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [url]);\n\n return (\n <>\n <div className={styles['link-context-menu__wrapper']}>\n <input\n type=\"text\"\n value={link}\n onChange={(event) => setLink(event.target.value)}\n className={styles['link-context-menu__input']}\n disabled={!editable}\n ref={linkRef}\n />\n {!editable && (\n <button\n type=\"button\"\n className={styles['link-context-menu__button']}\n onClick={() => setEditable(true)}\n title={t.links.linkEdittip}\n aria-label={t.aria.labels.link}\n aria-keyshortcuts={t.aria.keyshortcuts.editlink}\n >\n <Icon name=\"Pencil\" size={20} />\n </button>\n )}\n <button\n type=\"button\"\n className={styles['link-context-menu__button']}\n onClick={handlePreview}\n title={t.links.linkTesttip}\n aria-label={t.aria.labels.link}\n aria-keyshortcuts={t.aria.keyshortcuts.testlink}\n >\n <Icon name=\"ArrowTopRightOnSquare\" size={20} />\n </button>\n <button\n type=\"button\"\n className={styles['link-context-menu__button']}\n onClick={handleDelete}\n title={t.links.linkDeletetip}\n aria-label={t.aria.labels.link}\n aria-keyshortcuts={t.aria.keyshortcuts.deletelink}\n >\n <Icon name=\"LinkSlash\" size={20} />\n </button>\n </div>\n {editable && (\n <div className={styles['link-context-menu__actions']}>\n <Button variant={'secondary'} onClick={handleClose} aria-label={t.common.cancel} type=\"button\">\n {t.common.cancel}\n </Button>\n <Button variant={'primary'} onClick={handleSave} aria-label={t.aria.labels.linkOkButton} type=\"button\">\n {t.links.addLink}\n </Button>\n </div>\n )}\n </>\n );\n});\n"],"names":["LinkContextMenu","forwardRef","url","onSave","onDelete","onClose","ref","
|
|
1
|
+
{"version":3,"file":"LinkContextMenu.js","sources":["../../../../../../src/components/RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.tsx"],"sourcesContent":["import { forwardRef, useImperativeHandle, useLayoutEffect, useRef, useState } from 'react';\n\nimport styles from './LinkContextMenu.module.css';\n\nimport { ensureHttps } from 'components/RteEditor/Plugins/LinkPlugin/helpers';\nimport { Icon } from 'components/Icon';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\nimport { Button } from 'components/Buttons';\n\ninterface LinkContextMenuProps {\n url: string;\n onSave: (url: string) => void;\n onDelete: () => void;\n onClose: () => void;\n}\n\nexport interface linkFormMethods {\n clearForm: () => void;\n}\n\nexport const LinkContextMenu = forwardRef(({ url, onSave, onDelete, onClose }: LinkContextMenuProps, ref) => {\n const t = useTranslation();\n const [link, setLink] = useState(url);\n const [editable, setEditable] = useState(false);\n const linkRef = useRef<HTMLInputElement>(null);\n\n const reset = () => {\n setLink(url);\n setEditable(false);\n linkRef.current?.blur();\n };\n\n const handleSave = () => {\n onSave(link);\n reset();\n };\n\n const handleDelete = () => {\n onDelete();\n setLink('');\n reset();\n };\n\n const handleClose = () => {\n reset();\n onClose();\n };\n\n const handlePreview = () => {\n window.open(ensureHttps(url), '_blank');\n };\n\n useImperativeHandle(ref, () => ({\n clearForm: reset,\n }));\n\n useLayoutEffect(() => {\n setLink(url);\n window.addEventListener('keydown', (event) => {\n if (event.ctrlKey && event.shiftKey && event.key === 'L') {\n setEditable(true);\n setTimeout(() => linkRef.current?.focus(), 0);\n }\n if (event.ctrlKey && event.shiftKey && event.code === 'Digit1') {\n handlePreview();\n setTimeout(() => linkRef.current?.focus(), 0);\n }\n if (event.ctrlKey && event.shiftKey && event.key === 'Q') {\n handleDelete();\n setTimeout(() => linkRef.current?.focus(), 0);\n }\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [url]);\n\n return (\n <>\n <div className={styles['link-context-menu__wrapper']}>\n <input\n type=\"text\"\n value={link}\n onChange={(event) => setLink(event.target.value)}\n className={styles['link-context-menu__input']}\n disabled={!editable}\n ref={linkRef}\n />\n {!editable && (\n <button\n type=\"button\"\n className={styles['link-context-menu__button']}\n onClick={() => setEditable(true)}\n title={t.links.linkEdittip}\n aria-label={t.aria.labels.link}\n aria-keyshortcuts={t.aria.keyshortcuts.editlink}\n >\n <Icon name=\"Pencil\" size={20} />\n </button>\n )}\n <button\n type=\"button\"\n className={styles['link-context-menu__button']}\n onClick={handlePreview}\n title={t.links.linkTesttip}\n aria-label={t.aria.labels.link}\n aria-keyshortcuts={t.aria.keyshortcuts.testlink}\n >\n <Icon name=\"ArrowTopRightOnSquare\" size={20} />\n </button>\n <button\n type=\"button\"\n className={styles['link-context-menu__button']}\n onClick={handleDelete}\n title={t.links.linkDeletetip}\n aria-label={t.aria.labels.link}\n aria-keyshortcuts={t.aria.keyshortcuts.deletelink}\n >\n <Icon name=\"LinkSlash\" size={20} />\n </button>\n </div>\n {editable && (\n <div className={styles['link-context-menu__actions']}>\n <Button variant={'secondary'} onClick={handleClose} aria-label={t.common.cancel} type=\"button\">\n {t.common.cancel}\n </Button>\n <Button variant={'primary'} onClick={handleSave} aria-label={t.aria.labels.linkOkButton} type=\"button\">\n {t.links.addLink}\n </Button>\n </div>\n )}\n </>\n );\n});\n"],"names":["LinkContextMenu","forwardRef","url","onSave","onDelete","onClose","ref","useTranslation","link","setLink","useState","editable","setEditable","linkRef","useRef","reset","handleSave","handleDelete","handleClose","handlePreview","ensureHttps","useImperativeHandle","useLayoutEffect","event","jsxs","Fragment","styles","jsx","Icon","Button"],"mappings":"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"}
|