@uva-glass/component-library 3.43.0 → 3.43.1

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.
Files changed (37) hide show
  1. package/dist/RteEditor.module-CovRFt0S.js +34 -0
  2. package/dist/RteEditor.module-CovRFt0S.js.map +1 -0
  3. package/dist/{TablePlugin-CAoOq8iA.js → TablePlugin-DaKDRL4G.js} +2 -2
  4. package/dist/{TablePlugin-CAoOq8iA.js.map → TablePlugin-DaKDRL4G.js.map} +1 -1
  5. package/dist/assets/RteEditor.css +1 -1
  6. package/dist/components/CheckboxTree/CheckboxTree.js +1 -1
  7. package/dist/components/FormInput/FormInput.js +1 -1
  8. package/dist/components/InputField/InputField.stories.js +1 -1
  9. package/dist/components/MultiSelect/MultiSelect.js +1 -1
  10. package/dist/components/MultiSelect/MultiSelect.stories.js +1 -1
  11. package/dist/components/MultiSelect/components/MultiSelectHeader.js +1 -1
  12. package/dist/components/MultiSelect/index.js +1 -1
  13. package/dist/components/PeriodSelector/PeriodSelector.js +1 -1
  14. package/dist/components/ProgrammeCard/ProgrammeCard.stories.js +1 -1
  15. package/dist/components/RadioTabSelector/RadioTabSelector.js +1 -1
  16. package/dist/components/RteEditor/EditorHeader/EditorHeader.js +1 -1
  17. package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js +1 -1
  18. package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js +2 -2
  19. package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkForm/AddLinkFrom.js +1 -1
  20. package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js +2 -2
  21. package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js +1 -1
  22. package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js +1 -1
  23. package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js +2 -2
  24. package/dist/components/RteEditor/Plugins/TablePlugin/index.js +1 -1
  25. package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js +2 -2
  26. package/dist/components/RteEditor/Plugins/index.js +1 -1
  27. package/dist/components/RteEditor/RteEditor.js +2 -2
  28. package/dist/components/RteEditor/RteEditor.stories.js +64 -25
  29. package/dist/components/RteEditor/RteEditor.stories.js.map +1 -1
  30. package/dist/components/RteEditor/UvaTheme/UvaTheme.d.ts +2 -0
  31. package/dist/components/RteEditor/UvaTheme/UvaTheme.js +4 -2
  32. package/dist/components/RteEditor/UvaTheme/UvaTheme.js.map +1 -1
  33. package/dist/components/index.js +1 -1
  34. package/dist/index.js +1 -1
  35. package/package.json +6 -6
  36. package/dist/RteEditor.module-dE9wQTC9.js +0 -42
  37. package/dist/RteEditor.module-dE9wQTC9.js.map +0 -1
@@ -0,0 +1,34 @@
1
+ import './assets/RteEditor.css';const t = "_editor__container_1hmqh_1", _ = "_editor__header_1hmqh_7", e = "_editor_1hmqh_1", o = "_editor__field_1hmqh_36", i = "_editor__toolbar_1hmqh_40", r = "_editor__placeholder_1hmqh_170", d = {
2
+ editor__container: t,
3
+ editor__header: _,
4
+ "editor__header-word-count": "_editor__header-word-count_1hmqh_15",
5
+ "editor__header-word-count--alert": "_editor__header-word-count--alert_1hmqh_24",
6
+ editor: e,
7
+ editor__field: o,
8
+ editor__toolbar: i,
9
+ "editor__toolbar-button-group": "_editor__toolbar-button-group_1hmqh_49",
10
+ "editor__toolbar-button": "_editor__toolbar-button_1hmqh_49",
11
+ "editor__toolbar-button--active": "_editor__toolbar-button--active_1hmqh_80",
12
+ "editor__toolbar-button--bold": "_editor__toolbar-button--bold_1hmqh_100",
13
+ "editor__toolbar-button--italic": "_editor__toolbar-button--italic_1hmqh_104",
14
+ "editor__toolbar-button-flyoutwrapper": "_editor__toolbar-button-flyoutwrapper_1hmqh_123",
15
+ "editor__field-wrapper": "_editor__field-wrapper_1hmqh_127",
16
+ editor__placeholder: r,
17
+ "guide-text-ltr": "_guide-text-ltr_1hmqh_180",
18
+ "guide-text-rtl": "_guide-text-rtl_1hmqh_184",
19
+ "guide-text-paragraph": "_guide-text-paragraph_1hmqh_188",
20
+ "guide-text__text--bold": "_guide-text__text--bold_1hmqh_193",
21
+ "guide-text__text--italic": "_guide-text__text--italic_1hmqh_197",
22
+ "guide-text__list--ul": "_guide-text__list--ul_1hmqh_201",
23
+ "guide-text__list--ol": "_guide-text__list--ol_1hmqh_202",
24
+ "guide-text__list--listitem": "_guide-text__list--listitem_1hmqh_214",
25
+ "guide-text__list--nested-listitem": "_guide-text__list--nested-listitem_1hmqh_223",
26
+ "guide-text__list--ul2": "_guide-text__list--ul2_1hmqh_233",
27
+ "guide-text__list--ul3": "_guide-text__list--ul3_1hmqh_237",
28
+ "guide-text__list--ul4": "_guide-text__list--ul4_1hmqh_241",
29
+ "guide-text__list--ul5": "_guide-text__list--ul5_1hmqh_245"
30
+ };
31
+ export {
32
+ d as s
33
+ };
34
+ //# sourceMappingURL=RteEditor.module-CovRFt0S.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RteEditor.module-CovRFt0S.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -32,7 +32,7 @@ import "./components/RteEditor/hooks/components/Flyout.js";
32
32
  import { PREVENT_OPEN_DELAY as ue, deleteTable as fe, deleteColumn as pe, insertColumn as be, deleteRow as _e, insertRow as he, createTable as ke, getEditorParrentCellWidth as ve, getEditorContentWidth as we, DEFAULT_EDITOR_WIDTH as Fe, DEFAULT_COL_WIDTH as Ce } from "./components/RteEditor/Plugins/TablePlugin/helpers.js";
33
33
  import { $createTableWrapperNode as ye } from "./components/RteEditor/nodes/TableWrapperNode/TableWrapperNode.js";
34
34
  import { useFlyout as Ne } from "./components/RteEditor/hooks/useFlyout.js";
35
- import { s as q } from "./RteEditor.module-dE9wQTC9.js";
35
+ import { s as q } from "./RteEditor.module-CovRFt0S.js";
36
36
  import "react-dom";
37
37
  import "./index-yEhaxKq-.js";
38
38
  import "./components/SelectListbox/SelectListbox.js";
@@ -303,4 +303,4 @@ export {
303
303
  ge as a,
304
304
  Se as b
305
305
  };
306
- //# sourceMappingURL=TablePlugin-CAoOq8iA.js.map
306
+ //# sourceMappingURL=TablePlugin-DaKDRL4G.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TablePlugin-CAoOq8iA.js","sources":["../src/components/MultiSelect/components/MultiSelectHeader.tsx","../src/components/MultiSelect/MultiSelect.tsx","../src/components/RteEditor/Plugins/LinkPlugin/AddLinkForm/AddLinkFrom.tsx","../src/components/RteEditor/Plugins/TablePlugin/AddTableFrom.tsx","../src/components/RteEditor/Plugins/TablePlugin/TablePlugin.tsx"],"sourcesContent":["import styles from 'components/MultiSelect/MultiSelect.module.css';\nimport { Label } from 'components/Label';\nimport { Button } from 'components';\n\nexport interface MultiSelectHeaderProps {\n label: string;\n clearTrigger?: string;\n onClear?: () => void;\n}\n\nexport function MultiSelectHeader({ label, clearTrigger, onClear }: MultiSelectHeaderProps) {\n return (\n <header className={styles['multi-select__header']}>\n <Label htmlFor=\"multi-select-list\">{label}</Label>\n {clearTrigger && (\n <Button variant={'blank'} onClick={onClear}>\n {clearTrigger}\n </Button>\n )}\n </header>\n );\n}\n","import { clsx } from 'clsx';\n\nimport type { PropsWithChildren, ReactNode } from 'react';\n\nimport styles from './MultiSelect.module.css';\n\nimport { MultiSelectItem } from 'components/MultiSelect/components/MultiSelectItem';\nimport { MultiSelectHeader } from 'components/MultiSelect/components/MultiSelectHeader';\n\nexport interface MultiSelectProps {\n /** `true` if the container should scroll on overflow; otherwise, `false` to resize the container to its contents. The default is `true`. */\n scrollable?: boolean;\n /** `true` to disable the border around the container; otherwise, `false`. The default is `false`. */\n noBorder?: boolean;\n /** The header contents. */\n header?: ReactNode;\n}\n\n/** Represents a component to list a number of checkboxes. */\nexport const MultiSelect = ({ scrollable = true, noBorder, header, children }: PropsWithChildren<MultiSelectProps>) => (\n <>\n {header}\n <div\n className={clsx(styles['multi-select'], {\n [styles['multi-select--no-border']]: noBorder,\n })}\n >\n <ul\n className={clsx(styles['multi-select__list'], {\n [styles['multi-select__list--scrollable']]: scrollable,\n })}\n id=\"multi-select-list\"\n >\n {children}\n </ul>\n </div>\n </>\n);\n\nMultiSelect.MultiSelectHeader = MultiSelectHeader;\nMultiSelect.MultiSelectItem = MultiSelectItem;\n","import { useState, forwardRef, useImperativeHandle, useRef, useId } from 'react';\n\nimport type { ChangeEvent, JSX } from 'react';\nimport type { LinkType } from 'components/RteEditor/Plugins/LinkPlugin';\n\nimport styles from './AddLinkForm.module.css';\n\nimport { ensureHttps, validateUrlWithProtocol } from 'components/RteEditor/Plugins/LinkPlugin/helpers';\nimport { Button, FeedbackBox, FormField, Icon, InputField, Label } from 'components';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\n\ninterface AddLinkFormProps {\n onCloseHandler: () => void;\n onSaveHandler: (url: string, linktext: string) => void;\n isLink: LinkType;\n}\n\nexport interface addLinkFormMethods {\n clearForm: () => void;\n focusFirstField: () => void;\n setDefaults: (url: string, linktext: string) => void;\n}\n\nexport const AddLinkForm = forwardRef(\n (\n { onCloseHandler, onSaveHandler, isLink = { active: false, url: '', linktext: '' } }: AddLinkFormProps,\n ref\n ): JSX.Element => {\n const t = useTranslation();\n const [url, setUrl] = useState<string>(isLink.url || '');\n const [linkText, setLinkText] = useState<string>(isLink.linktext || '');\n const [showLinktextField, setShowLinktextField] = useState<boolean>(false);\n const [urlError, setUrlError] = useState<string | null>(null);\n const [linkTextError, setLinkTextError] = useState<string | null>(null);\n const firstField = useRef<HTMLInputElement>(null);\n const linkId = `link_${useId()}`;\n const textId = `text_${useId()}`;\n\n const handleOpenUrl = () => {\n window.open(ensureHttps(url), '_blank');\n };\n\n const handleUrl = (event: ChangeEvent<HTMLInputElement>) => {\n setUrl(event.target.value);\n };\n\n const handleLinkText = (event: ChangeEvent<HTMLInputElement>) => {\n setLinkText(event.target.value);\n };\n\n const validateUrl = (url: string): boolean => {\n if (validateUrlWithProtocol(url) === false || url.trim() === '') {\n setUrlError(t.errortext.urlNotValid);\n return false;\n }\n setUrlError(null);\n return true;\n };\n\n const validateLinkText = (linkText: string): boolean => {\n if (linkText.trim() === '') {\n setLinkTextError(t.errortext.linkTextNotValid);\n return false;\n }\n setLinkTextError(null);\n return true;\n };\n\n const handleSave = () => {\n if (!validateUrl(url) || (showLinktextField && !validateLinkText(linkText))) {\n return;\n }\n\n onSaveHandler(url, linkText);\n resetForm();\n };\n\n const handleClose = () => {\n onCloseHandler();\n resetForm();\n };\n\n const resetForm = () => {\n setUrl('');\n setShowLinktextField(false);\n setUrlError(null);\n setLinkTextError(null);\n };\n\n const setDefaults = (url: string, linktext: string) => {\n setUrl(url);\n if (!linktext && !url) {\n setShowLinktextField(true);\n }\n };\n\n const focusFirstField = () => {\n if (firstField.current) {\n firstField.current.focus();\n }\n };\n\n useImperativeHandle(ref, () => ({\n clearForm: resetForm,\n focusFirstField,\n setDefaults,\n }));\n\n return (\n <div className={styles['linkform']}>\n <FormField className={styles['linkform__input-field']}>\n <Label htmlFor={linkId}>{t.links.linkLabel}</Label>\n <div className={styles['linkform__input-url-wrapper']}>\n <InputField\n id={linkId}\n placeholder={t.links.linkPlaceholder}\n value={url}\n onChange={(event) => handleUrl(event)}\n onFocus={() => setUrlError(null)}\n ref={firstField}\n aria-label={t.aria.labels.linkField}\n />\n {url && (\n <button type=\"button\" onClick={handleOpenUrl} className={styles['linkform__open-url-button']}>\n <Icon name=\"ArrowTopRightOnSquare\" size={20} />\n </button>\n )}\n </div>\n {urlError && <FeedbackBox level=\"error\" feedback={urlError} />}\n </FormField>\n {showLinktextField && (\n <FormField className={styles['linkform__input-field']}>\n <Label htmlFor={textId}>{t.links.linkText}</Label>\n <InputField\n id={textId}\n value={linkText}\n onChange={(event) => handleLinkText(event)}\n onFocus={() => setLinkTextError(null)}\n aria-label={t.aria.labels.linkTextfield}\n />\n {linkTextError && <FeedbackBox level=\"error\" feedback={linkTextError} />}\n </FormField>\n )}\n <div className={styles['linkform__footer']}>\n <Button variant={'secondary'} onClick={handleClose} aria-label={t.common.cancel} type=\"button\">\n {t.common.cancel}\n </Button>\n <Button variant={'primary'} onClick={handleSave} aria-label={t.aria.labels.linkOkButton} type=\"button\">\n {t.links.addLink}\n </Button>\n </div>\n </div>\n );\n }\n);\n","import { useState, forwardRef, useImperativeHandle, useRef, useId, useEffect } from 'react';\n\nimport type { ChangeEvent } from 'react';\n\nimport styles from './AddTableFrom.module.css';\n\nimport { Button, FormField, InputField, Label } from 'components';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\nimport { removeScrollableContainers, setScrollableContainers } from 'components/RteEditor/helpers';\n\ninterface AddTableFormProps {\n onCloseHandler: () => void;\n onSaveHandler: (nrfOfRows: number, nrOfColumns: number) => void;\n}\n\nexport interface addTableForm {\n clearForm: () => void;\n focusFirstField: () => void;\n}\n\nexport const AddTableForm = forwardRef(({ onCloseHandler, onSaveHandler }: AddTableFormProps, ref) => {\n const t = useTranslation();\n const [rowCount, setRowCount] = useState<number>();\n const [columnCount, setColumnCount] = useState<number>();\n const firstField = useRef<HTMLInputElement>(null);\n const rowId = `row_${useId()}`;\n const columnId = `column_${useId()}`;\n\n const handleDimentionChange = (event: ChangeEvent<HTMLInputElement>, type: string) => {\n const value = event.target.value;\n type === 'row' ? setRowCount(parseInt(value)) : setColumnCount(parseInt(value));\n };\n\n const handleSave = () => {\n if (rowCount !== undefined && columnCount !== undefined) {\n onSaveHandler(rowCount, columnCount);\n resetForm();\n }\n };\n\n const handleClose = () => {\n onCloseHandler();\n resetForm();\n };\n\n const resetForm = () => {\n setRowCount(undefined);\n setColumnCount(undefined);\n };\n\n useImperativeHandle(ref, () => ({\n clearForm: resetForm,\n focusFirstField: () => firstField.current?.focus(),\n }));\n\n useEffect(() => {\n const handleResizeScroll = () => {\n handleClose();\n };\n\n setScrollableContainers(handleResizeScroll);\n\n window.addEventListener('scroll', handleResizeScroll);\n window.addEventListener('resize', handleResizeScroll);\n\n return () => {\n window.removeEventListener('scroll', handleResizeScroll);\n window.removeEventListener('resize', handleResizeScroll);\n removeScrollableContainers(handleResizeScroll);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <div className={styles['tableform']}>\n <FormField className={styles['tableform__input-field']}>\n <Label htmlFor={rowId}>{t.table.nrofRows}</Label>\n <InputField\n id={rowId}\n placeholder={t.table.nrofRowsPlaceholder}\n value={rowCount ? rowCount : ''}\n onChange={(event) => handleDimentionChange(event, 'row')}\n aria-label={t.aria.labels.tableRowfield}\n ref={firstField}\n />\n </FormField>\n <FormField className={styles['tableform__input-field']}>\n <Label htmlFor={columnId}>{t.table.nrofColumns}</Label>\n <InputField\n id={columnId}\n placeholder={t.table.nrofColumnsPlaceholder}\n value={columnCount ? columnCount : ''}\n onChange={(event) => handleDimentionChange(event, 'column')}\n aria-label={t.aria.labels.tableColumnfield}\n />\n </FormField>\n <div className={styles['tableform__footer']}>\n <Button variant={'secondary'} onClick={handleClose} aria-label={t.common.cancel}>\n {t.common.cancel}\n </Button>\n <Button\n variant={'primary'}\n onClick={handleSave}\n disabled={!rowCount || !columnCount}\n aria-label={t.aria.labels.tableOkButton}\n >\n {t.common.add}\n </Button>\n </div>\n </div>\n );\n});\n","import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\nimport { clsx } from 'clsx';\nimport { $getTableCellNodeFromLexicalNode, $isTableCellNode, TableCellNode } from '@lexical/table';\nimport {\n $getSelection,\n $isRangeSelection,\n $getRoot,\n KEY_DOWN_COMMAND,\n COMMAND_PRIORITY_EDITOR,\n $isNodeSelection,\n} from 'lexical';\nimport { $getNearestNodeOfType } from '@lexical/utils';\nimport { useRef, useEffect, useImperativeHandle, forwardRef } from 'react';\n\nimport type { TableNode } from '@lexical/table';\nimport type { JSX } from 'react';\nimport type { TextNode } from 'lexical';\nimport type { addTableForm } from './AddTableFrom';\nimport type { Actions } from './TableCellContextMenu';\n\nimport { AddTableForm } from './AddTableFrom';\nimport {\n createTable,\n DEFAULT_COL_WIDTH,\n DEFAULT_EDITOR_WIDTH,\n deleteColumn,\n deleteRow,\n deleteTable,\n getEditorContentWidth,\n getEditorParrentCellWidth,\n insertColumn,\n insertRow,\n PREVENT_OPEN_DELAY,\n} from './helpers';\n\nimport { $createTableWrapperNode } from 'components/RteEditor/nodes';\nimport { useFlyout } from 'components/RteEditor/hooks/useFlyout';\nimport { Icon } from 'components';\nimport styles from 'components/RteEditor/RteEditor.module.css';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\n\ninterface TablePluginProps {\n isActive: boolean;\n}\nexport interface TableMutation {\n mutateTable: (type: Actions) => void;\n}\n\nexport const TablePlugin = forwardRef(({ isActive }: TablePluginProps, ref): JSX.Element => {\n const t = useTranslation();\n const [editor] = useLexicalComposerContext();\n const { flyout, showFlyout, hideFlyout, isVisible } = useFlyout();\n const addTableForm = useRef<addTableForm>(undefined);\n const buttonRef = useRef<HTMLButtonElement>(null);\n const preventOpen = useRef(false);\n const isVisibleRef = useRef(isVisible);\n\n const openFlyout = () => {\n const rect = buttonRef.current?.getBoundingClientRect();\n if (!preventOpen.current && rect) {\n showFlyout({ position: { top: rect.bottom, left: rect.left }, ...flyoutOptions });\n }\n };\n\n const closeFlyout = () => {\n hideFlyout();\n };\n\n const insertTable = (nrOfRows: number, nrOfColumns: number) => {\n editor.update(() => {\n const selection = $getSelection();\n const tableNode = createTable(nrOfRows, nrOfColumns);\n\n const anchorNode =\n ($isRangeSelection(selection) && selection.anchor.getNode()) ||\n ($isNodeSelection(selection) && selection.getNodes()[0]) ||\n null;\n\n const willBeNested = anchorNode ? $getNearestNodeOfType(anchorNode, TableCellNode) : null;\n\n const availibleWidth = willBeNested\n ? getEditorParrentCellWidth(willBeNested, nrOfColumns, editor)\n : getEditorContentWidth(editor) || DEFAULT_EDITOR_WIDTH;\n\n const perCol = Math.max(DEFAULT_COL_WIDTH, Math.floor(availibleWidth / Math.max(1, nrOfColumns)));\n\n const colWidths = Array.from({ length: nrOfColumns }, () => perCol);\n\n (tableNode as TableNode).setColWidths(colWidths);\n\n const tableWrapper = $createTableWrapperNode();\n tableWrapper.append(tableNode);\n if ($isRangeSelection(selection)) {\n selection.insertNodes([tableWrapper]);\n } else {\n $getRoot().append(tableWrapper);\n }\n const firstDescendant = tableWrapper.getFirstDescendant();\n if (firstDescendant) {\n (firstDescendant as TextNode).select();\n }\n });\n\n closeFlyout();\n };\n\n const mutateTable = (action: Actions) => {\n editor.update(() => {\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n const anchorNode = selection.anchor.getNode();\n const currentNode = $getTableCellNodeFromLexicalNode(anchorNode);\n\n if ($isTableCellNode(currentNode)) {\n switch (action) {\n case 'insertRowAbove':\n case 'insertRowBelow':\n insertRow(currentNode, action);\n break;\n case 'deleteRow':\n deleteRow(currentNode);\n break;\n case 'insertColumnLeft':\n case 'insertColumnRight':\n insertColumn(currentNode, action);\n break;\n case 'deleteColumn':\n deleteColumn(currentNode);\n break;\n case 'deleteTable':\n deleteTable(currentNode);\n break;\n }\n }\n }\n });\n };\n\n const flyoutOptions = {\n children: (\n <AddTableForm\n onCloseHandler={closeFlyout}\n onSaveHandler={(rows, columns) => insertTable(rows, columns)}\n ref={addTableForm}\n />\n ),\n };\n\n useEffect(() => {\n if (!isVisible) {\n addTableForm.current?.clearForm();\n setTimeout(() => (preventOpen.current = false), PREVENT_OPEN_DELAY);\n } else {\n preventOpen.current = true;\n addTableForm.current?.focusFirstField();\n }\n }, [addTableForm, isVisible]);\n\n useEffect(() => {\n const removeKeyboardShortcut = editor.registerCommand(\n KEY_DOWN_COMMAND,\n (event: KeyboardEvent) => {\n if (event.ctrlKey && event.shiftKey && event.code === 'Digit9') {\n event.preventDefault();\n openFlyout();\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n );\n\n return () => {\n removeKeyboardShortcut();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [editor]);\n\n useEffect(() => {\n isVisibleRef.current = isVisible;\n }, [isVisible]);\n\n useEffect(() => {\n const removeKeydown = (event: KeyboardEvent) => {\n if (event.key === 'Escape' && isVisibleRef.current) {\n event.preventDefault();\n event.stopPropagation();\n closeFlyout();\n }\n };\n\n document.addEventListener('keydown', removeKeydown, { capture: true });\n\n return () => {\n document.removeEventListener('keydown', removeKeydown);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useImperativeHandle(ref, () => ({\n mutateTable,\n }));\n\n return (\n <div className={styles['editor__toolbar-button-group']}>\n <div className={styles['editor__toolbar-button-flyoutwrapper']}>\n <button\n onClick={openFlyout}\n title={t.table.tableTooltip}\n className={clsx(styles['editor__toolbar-button'], isActive && styles[`editor__toolbar-button--active`])}\n aria-label={t.aria.labels.table}\n aria-keyshortcuts={t.aria.keyshortcuts.table}\n ref={buttonRef}\n type=\"button\"\n >\n <Icon name=\"Table\" size={24} />\n </button>\n {flyout}\n </div>\n </div>\n );\n});\n"],"names":["MultiSelectHeader","label","clearTrigger","onClear","jsxs","styles","jsx","Label","Button","MultiSelect","scrollable","noBorder","header","children","Fragment","clsx","MultiSelectItem","AddLinkForm","forwardRef","onCloseHandler","onSaveHandler","isLink","ref","t","useTranslation","url","setUrl","useState","linkText","setLinkText","showLinktextField","setShowLinktextField","urlError","setUrlError","linkTextError","setLinkTextError","firstField","useRef","linkId","useId","textId","handleOpenUrl","ensureHttps","handleUrl","event","handleLinkText","validateUrl","validateUrlWithProtocol","validateLinkText","handleSave","resetForm","handleClose","setDefaults","linktext","focusFirstField","useImperativeHandle","FormField","InputField","Icon","FeedbackBox","AddTableForm","rowCount","setRowCount","columnCount","setColumnCount","rowId","columnId","handleDimentionChange","type","value","useEffect","handleResizeScroll","setScrollableContainers","removeScrollableContainers","TablePlugin","isActive","editor","useLexicalComposerContext","flyout","showFlyout","hideFlyout","isVisible","useFlyout","addTableForm","buttonRef","preventOpen","isVisibleRef","openFlyout","rect","flyoutOptions","closeFlyout","insertTable","nrOfRows","nrOfColumns","selection","$getSelection","tableNode","createTable","anchorNode","$isRangeSelection","$isNodeSelection","willBeNested","$getNearestNodeOfType","TableCellNode","availibleWidth","getEditorParrentCellWidth","getEditorContentWidth","DEFAULT_EDITOR_WIDTH","perCol","DEFAULT_COL_WIDTH","colWidths","tableWrapper","$createTableWrapperNode","$getRoot","firstDescendant","mutateTable","action","currentNode","$getTableCellNodeFromLexicalNode","$isTableCellNode","insertRow","deleteRow","insertColumn","deleteColumn","deleteTable","rows","columns","PREVENT_OPEN_DELAY","removeKeyboardShortcut","KEY_DOWN_COMMAND","COMMAND_PRIORITY_EDITOR","removeKeydown"],"mappings":"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"}
1
+ {"version":3,"file":"TablePlugin-DaKDRL4G.js","sources":["../src/components/MultiSelect/components/MultiSelectHeader.tsx","../src/components/MultiSelect/MultiSelect.tsx","../src/components/RteEditor/Plugins/LinkPlugin/AddLinkForm/AddLinkFrom.tsx","../src/components/RteEditor/Plugins/TablePlugin/AddTableFrom.tsx","../src/components/RteEditor/Plugins/TablePlugin/TablePlugin.tsx"],"sourcesContent":["import styles from 'components/MultiSelect/MultiSelect.module.css';\nimport { Label } from 'components/Label';\nimport { Button } from 'components';\n\nexport interface MultiSelectHeaderProps {\n label: string;\n clearTrigger?: string;\n onClear?: () => void;\n}\n\nexport function MultiSelectHeader({ label, clearTrigger, onClear }: MultiSelectHeaderProps) {\n return (\n <header className={styles['multi-select__header']}>\n <Label htmlFor=\"multi-select-list\">{label}</Label>\n {clearTrigger && (\n <Button variant={'blank'} onClick={onClear}>\n {clearTrigger}\n </Button>\n )}\n </header>\n );\n}\n","import { clsx } from 'clsx';\n\nimport type { PropsWithChildren, ReactNode } from 'react';\n\nimport styles from './MultiSelect.module.css';\n\nimport { MultiSelectItem } from 'components/MultiSelect/components/MultiSelectItem';\nimport { MultiSelectHeader } from 'components/MultiSelect/components/MultiSelectHeader';\n\nexport interface MultiSelectProps {\n /** `true` if the container should scroll on overflow; otherwise, `false` to resize the container to its contents. The default is `true`. */\n scrollable?: boolean;\n /** `true` to disable the border around the container; otherwise, `false`. The default is `false`. */\n noBorder?: boolean;\n /** The header contents. */\n header?: ReactNode;\n}\n\n/** Represents a component to list a number of checkboxes. */\nexport const MultiSelect = ({ scrollable = true, noBorder, header, children }: PropsWithChildren<MultiSelectProps>) => (\n <>\n {header}\n <div\n className={clsx(styles['multi-select'], {\n [styles['multi-select--no-border']]: noBorder,\n })}\n >\n <ul\n className={clsx(styles['multi-select__list'], {\n [styles['multi-select__list--scrollable']]: scrollable,\n })}\n id=\"multi-select-list\"\n >\n {children}\n </ul>\n </div>\n </>\n);\n\nMultiSelect.MultiSelectHeader = MultiSelectHeader;\nMultiSelect.MultiSelectItem = MultiSelectItem;\n","import { useState, forwardRef, useImperativeHandle, useRef, useId } from 'react';\n\nimport type { ChangeEvent, JSX } from 'react';\nimport type { LinkType } from 'components/RteEditor/Plugins/LinkPlugin';\n\nimport styles from './AddLinkForm.module.css';\n\nimport { ensureHttps, validateUrlWithProtocol } from 'components/RteEditor/Plugins/LinkPlugin/helpers';\nimport { Button, FeedbackBox, FormField, Icon, InputField, Label } from 'components';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\n\ninterface AddLinkFormProps {\n onCloseHandler: () => void;\n onSaveHandler: (url: string, linktext: string) => void;\n isLink: LinkType;\n}\n\nexport interface addLinkFormMethods {\n clearForm: () => void;\n focusFirstField: () => void;\n setDefaults: (url: string, linktext: string) => void;\n}\n\nexport const AddLinkForm = forwardRef(\n (\n { onCloseHandler, onSaveHandler, isLink = { active: false, url: '', linktext: '' } }: AddLinkFormProps,\n ref\n ): JSX.Element => {\n const t = useTranslation();\n const [url, setUrl] = useState<string>(isLink.url || '');\n const [linkText, setLinkText] = useState<string>(isLink.linktext || '');\n const [showLinktextField, setShowLinktextField] = useState<boolean>(false);\n const [urlError, setUrlError] = useState<string | null>(null);\n const [linkTextError, setLinkTextError] = useState<string | null>(null);\n const firstField = useRef<HTMLInputElement>(null);\n const linkId = `link_${useId()}`;\n const textId = `text_${useId()}`;\n\n const handleOpenUrl = () => {\n window.open(ensureHttps(url), '_blank');\n };\n\n const handleUrl = (event: ChangeEvent<HTMLInputElement>) => {\n setUrl(event.target.value);\n };\n\n const handleLinkText = (event: ChangeEvent<HTMLInputElement>) => {\n setLinkText(event.target.value);\n };\n\n const validateUrl = (url: string): boolean => {\n if (validateUrlWithProtocol(url) === false || url.trim() === '') {\n setUrlError(t.errortext.urlNotValid);\n return false;\n }\n setUrlError(null);\n return true;\n };\n\n const validateLinkText = (linkText: string): boolean => {\n if (linkText.trim() === '') {\n setLinkTextError(t.errortext.linkTextNotValid);\n return false;\n }\n setLinkTextError(null);\n return true;\n };\n\n const handleSave = () => {\n if (!validateUrl(url) || (showLinktextField && !validateLinkText(linkText))) {\n return;\n }\n\n onSaveHandler(url, linkText);\n resetForm();\n };\n\n const handleClose = () => {\n onCloseHandler();\n resetForm();\n };\n\n const resetForm = () => {\n setUrl('');\n setShowLinktextField(false);\n setUrlError(null);\n setLinkTextError(null);\n };\n\n const setDefaults = (url: string, linktext: string) => {\n setUrl(url);\n if (!linktext && !url) {\n setShowLinktextField(true);\n }\n };\n\n const focusFirstField = () => {\n if (firstField.current) {\n firstField.current.focus();\n }\n };\n\n useImperativeHandle(ref, () => ({\n clearForm: resetForm,\n focusFirstField,\n setDefaults,\n }));\n\n return (\n <div className={styles['linkform']}>\n <FormField className={styles['linkform__input-field']}>\n <Label htmlFor={linkId}>{t.links.linkLabel}</Label>\n <div className={styles['linkform__input-url-wrapper']}>\n <InputField\n id={linkId}\n placeholder={t.links.linkPlaceholder}\n value={url}\n onChange={(event) => handleUrl(event)}\n onFocus={() => setUrlError(null)}\n ref={firstField}\n aria-label={t.aria.labels.linkField}\n />\n {url && (\n <button type=\"button\" onClick={handleOpenUrl} className={styles['linkform__open-url-button']}>\n <Icon name=\"ArrowTopRightOnSquare\" size={20} />\n </button>\n )}\n </div>\n {urlError && <FeedbackBox level=\"error\" feedback={urlError} />}\n </FormField>\n {showLinktextField && (\n <FormField className={styles['linkform__input-field']}>\n <Label htmlFor={textId}>{t.links.linkText}</Label>\n <InputField\n id={textId}\n value={linkText}\n onChange={(event) => handleLinkText(event)}\n onFocus={() => setLinkTextError(null)}\n aria-label={t.aria.labels.linkTextfield}\n />\n {linkTextError && <FeedbackBox level=\"error\" feedback={linkTextError} />}\n </FormField>\n )}\n <div className={styles['linkform__footer']}>\n <Button variant={'secondary'} onClick={handleClose} aria-label={t.common.cancel} type=\"button\">\n {t.common.cancel}\n </Button>\n <Button variant={'primary'} onClick={handleSave} aria-label={t.aria.labels.linkOkButton} type=\"button\">\n {t.links.addLink}\n </Button>\n </div>\n </div>\n );\n }\n);\n","import { useState, forwardRef, useImperativeHandle, useRef, useId, useEffect } from 'react';\n\nimport type { ChangeEvent } from 'react';\n\nimport styles from './AddTableFrom.module.css';\n\nimport { Button, FormField, InputField, Label } from 'components';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\nimport { removeScrollableContainers, setScrollableContainers } from 'components/RteEditor/helpers';\n\ninterface AddTableFormProps {\n onCloseHandler: () => void;\n onSaveHandler: (nrfOfRows: number, nrOfColumns: number) => void;\n}\n\nexport interface addTableForm {\n clearForm: () => void;\n focusFirstField: () => void;\n}\n\nexport const AddTableForm = forwardRef(({ onCloseHandler, onSaveHandler }: AddTableFormProps, ref) => {\n const t = useTranslation();\n const [rowCount, setRowCount] = useState<number>();\n const [columnCount, setColumnCount] = useState<number>();\n const firstField = useRef<HTMLInputElement>(null);\n const rowId = `row_${useId()}`;\n const columnId = `column_${useId()}`;\n\n const handleDimentionChange = (event: ChangeEvent<HTMLInputElement>, type: string) => {\n const value = event.target.value;\n type === 'row' ? setRowCount(parseInt(value)) : setColumnCount(parseInt(value));\n };\n\n const handleSave = () => {\n if (rowCount !== undefined && columnCount !== undefined) {\n onSaveHandler(rowCount, columnCount);\n resetForm();\n }\n };\n\n const handleClose = () => {\n onCloseHandler();\n resetForm();\n };\n\n const resetForm = () => {\n setRowCount(undefined);\n setColumnCount(undefined);\n };\n\n useImperativeHandle(ref, () => ({\n clearForm: resetForm,\n focusFirstField: () => firstField.current?.focus(),\n }));\n\n useEffect(() => {\n const handleResizeScroll = () => {\n handleClose();\n };\n\n setScrollableContainers(handleResizeScroll);\n\n window.addEventListener('scroll', handleResizeScroll);\n window.addEventListener('resize', handleResizeScroll);\n\n return () => {\n window.removeEventListener('scroll', handleResizeScroll);\n window.removeEventListener('resize', handleResizeScroll);\n removeScrollableContainers(handleResizeScroll);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <div className={styles['tableform']}>\n <FormField className={styles['tableform__input-field']}>\n <Label htmlFor={rowId}>{t.table.nrofRows}</Label>\n <InputField\n id={rowId}\n placeholder={t.table.nrofRowsPlaceholder}\n value={rowCount ? rowCount : ''}\n onChange={(event) => handleDimentionChange(event, 'row')}\n aria-label={t.aria.labels.tableRowfield}\n ref={firstField}\n />\n </FormField>\n <FormField className={styles['tableform__input-field']}>\n <Label htmlFor={columnId}>{t.table.nrofColumns}</Label>\n <InputField\n id={columnId}\n placeholder={t.table.nrofColumnsPlaceholder}\n value={columnCount ? columnCount : ''}\n onChange={(event) => handleDimentionChange(event, 'column')}\n aria-label={t.aria.labels.tableColumnfield}\n />\n </FormField>\n <div className={styles['tableform__footer']}>\n <Button variant={'secondary'} onClick={handleClose} aria-label={t.common.cancel}>\n {t.common.cancel}\n </Button>\n <Button\n variant={'primary'}\n onClick={handleSave}\n disabled={!rowCount || !columnCount}\n aria-label={t.aria.labels.tableOkButton}\n >\n {t.common.add}\n </Button>\n </div>\n </div>\n );\n});\n","import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\nimport { clsx } from 'clsx';\nimport { $getTableCellNodeFromLexicalNode, $isTableCellNode, TableCellNode } from '@lexical/table';\nimport {\n $getSelection,\n $isRangeSelection,\n $getRoot,\n KEY_DOWN_COMMAND,\n COMMAND_PRIORITY_EDITOR,\n $isNodeSelection,\n} from 'lexical';\nimport { $getNearestNodeOfType } from '@lexical/utils';\nimport { useRef, useEffect, useImperativeHandle, forwardRef } from 'react';\n\nimport type { TableNode } from '@lexical/table';\nimport type { JSX } from 'react';\nimport type { TextNode } from 'lexical';\nimport type { addTableForm } from './AddTableFrom';\nimport type { Actions } from './TableCellContextMenu';\n\nimport { AddTableForm } from './AddTableFrom';\nimport {\n createTable,\n DEFAULT_COL_WIDTH,\n DEFAULT_EDITOR_WIDTH,\n deleteColumn,\n deleteRow,\n deleteTable,\n getEditorContentWidth,\n getEditorParrentCellWidth,\n insertColumn,\n insertRow,\n PREVENT_OPEN_DELAY,\n} from './helpers';\n\nimport { $createTableWrapperNode } from 'components/RteEditor/nodes';\nimport { useFlyout } from 'components/RteEditor/hooks/useFlyout';\nimport { Icon } from 'components';\nimport styles from 'components/RteEditor/RteEditor.module.css';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\n\ninterface TablePluginProps {\n isActive: boolean;\n}\nexport interface TableMutation {\n mutateTable: (type: Actions) => void;\n}\n\nexport const TablePlugin = forwardRef(({ isActive }: TablePluginProps, ref): JSX.Element => {\n const t = useTranslation();\n const [editor] = useLexicalComposerContext();\n const { flyout, showFlyout, hideFlyout, isVisible } = useFlyout();\n const addTableForm = useRef<addTableForm>(undefined);\n const buttonRef = useRef<HTMLButtonElement>(null);\n const preventOpen = useRef(false);\n const isVisibleRef = useRef(isVisible);\n\n const openFlyout = () => {\n const rect = buttonRef.current?.getBoundingClientRect();\n if (!preventOpen.current && rect) {\n showFlyout({ position: { top: rect.bottom, left: rect.left }, ...flyoutOptions });\n }\n };\n\n const closeFlyout = () => {\n hideFlyout();\n };\n\n const insertTable = (nrOfRows: number, nrOfColumns: number) => {\n editor.update(() => {\n const selection = $getSelection();\n const tableNode = createTable(nrOfRows, nrOfColumns);\n\n const anchorNode =\n ($isRangeSelection(selection) && selection.anchor.getNode()) ||\n ($isNodeSelection(selection) && selection.getNodes()[0]) ||\n null;\n\n const willBeNested = anchorNode ? $getNearestNodeOfType(anchorNode, TableCellNode) : null;\n\n const availibleWidth = willBeNested\n ? getEditorParrentCellWidth(willBeNested, nrOfColumns, editor)\n : getEditorContentWidth(editor) || DEFAULT_EDITOR_WIDTH;\n\n const perCol = Math.max(DEFAULT_COL_WIDTH, Math.floor(availibleWidth / Math.max(1, nrOfColumns)));\n\n const colWidths = Array.from({ length: nrOfColumns }, () => perCol);\n\n (tableNode as TableNode).setColWidths(colWidths);\n\n const tableWrapper = $createTableWrapperNode();\n tableWrapper.append(tableNode);\n if ($isRangeSelection(selection)) {\n selection.insertNodes([tableWrapper]);\n } else {\n $getRoot().append(tableWrapper);\n }\n const firstDescendant = tableWrapper.getFirstDescendant();\n if (firstDescendant) {\n (firstDescendant as TextNode).select();\n }\n });\n\n closeFlyout();\n };\n\n const mutateTable = (action: Actions) => {\n editor.update(() => {\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n const anchorNode = selection.anchor.getNode();\n const currentNode = $getTableCellNodeFromLexicalNode(anchorNode);\n\n if ($isTableCellNode(currentNode)) {\n switch (action) {\n case 'insertRowAbove':\n case 'insertRowBelow':\n insertRow(currentNode, action);\n break;\n case 'deleteRow':\n deleteRow(currentNode);\n break;\n case 'insertColumnLeft':\n case 'insertColumnRight':\n insertColumn(currentNode, action);\n break;\n case 'deleteColumn':\n deleteColumn(currentNode);\n break;\n case 'deleteTable':\n deleteTable(currentNode);\n break;\n }\n }\n }\n });\n };\n\n const flyoutOptions = {\n children: (\n <AddTableForm\n onCloseHandler={closeFlyout}\n onSaveHandler={(rows, columns) => insertTable(rows, columns)}\n ref={addTableForm}\n />\n ),\n };\n\n useEffect(() => {\n if (!isVisible) {\n addTableForm.current?.clearForm();\n setTimeout(() => (preventOpen.current = false), PREVENT_OPEN_DELAY);\n } else {\n preventOpen.current = true;\n addTableForm.current?.focusFirstField();\n }\n }, [addTableForm, isVisible]);\n\n useEffect(() => {\n const removeKeyboardShortcut = editor.registerCommand(\n KEY_DOWN_COMMAND,\n (event: KeyboardEvent) => {\n if (event.ctrlKey && event.shiftKey && event.code === 'Digit9') {\n event.preventDefault();\n openFlyout();\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n );\n\n return () => {\n removeKeyboardShortcut();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [editor]);\n\n useEffect(() => {\n isVisibleRef.current = isVisible;\n }, [isVisible]);\n\n useEffect(() => {\n const removeKeydown = (event: KeyboardEvent) => {\n if (event.key === 'Escape' && isVisibleRef.current) {\n event.preventDefault();\n event.stopPropagation();\n closeFlyout();\n }\n };\n\n document.addEventListener('keydown', removeKeydown, { capture: true });\n\n return () => {\n document.removeEventListener('keydown', removeKeydown);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useImperativeHandle(ref, () => ({\n mutateTable,\n }));\n\n return (\n <div className={styles['editor__toolbar-button-group']}>\n <div className={styles['editor__toolbar-button-flyoutwrapper']}>\n <button\n onClick={openFlyout}\n title={t.table.tableTooltip}\n className={clsx(styles['editor__toolbar-button'], isActive && styles[`editor__toolbar-button--active`])}\n aria-label={t.aria.labels.table}\n aria-keyshortcuts={t.aria.keyshortcuts.table}\n ref={buttonRef}\n type=\"button\"\n >\n <Icon name=\"Table\" size={24} />\n </button>\n {flyout}\n </div>\n </div>\n );\n});\n"],"names":["MultiSelectHeader","label","clearTrigger","onClear","jsxs","styles","jsx","Label","Button","MultiSelect","scrollable","noBorder","header","children","Fragment","clsx","MultiSelectItem","AddLinkForm","forwardRef","onCloseHandler","onSaveHandler","isLink","ref","t","useTranslation","url","setUrl","useState","linkText","setLinkText","showLinktextField","setShowLinktextField","urlError","setUrlError","linkTextError","setLinkTextError","firstField","useRef","linkId","useId","textId","handleOpenUrl","ensureHttps","handleUrl","event","handleLinkText","validateUrl","validateUrlWithProtocol","validateLinkText","handleSave","resetForm","handleClose","setDefaults","linktext","focusFirstField","useImperativeHandle","FormField","InputField","Icon","FeedbackBox","AddTableForm","rowCount","setRowCount","columnCount","setColumnCount","rowId","columnId","handleDimentionChange","type","value","useEffect","handleResizeScroll","setScrollableContainers","removeScrollableContainers","TablePlugin","isActive","editor","useLexicalComposerContext","flyout","showFlyout","hideFlyout","isVisible","useFlyout","addTableForm","buttonRef","preventOpen","isVisibleRef","openFlyout","rect","flyoutOptions","closeFlyout","insertTable","nrOfRows","nrOfColumns","selection","$getSelection","tableNode","createTable","anchorNode","$isRangeSelection","$isNodeSelection","willBeNested","$getNearestNodeOfType","TableCellNode","availibleWidth","getEditorParrentCellWidth","getEditorContentWidth","DEFAULT_EDITOR_WIDTH","perCol","DEFAULT_COL_WIDTH","colWidths","tableWrapper","$createTableWrapperNode","$getRoot","firstDescendant","mutateTable","action","currentNode","$getTableCellNodeFromLexicalNode","$isTableCellNode","insertRow","deleteRow","insertColumn","deleteColumn","deleteTable","rows","columns","PREVENT_OPEN_DELAY","removeKeyboardShortcut","KEY_DOWN_COMMAND","COMMAND_PRIORITY_EDITOR","removeKeydown"],"mappings":"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"}
@@ -1 +1 @@
1
- ._editor__container_ng60c_1{background-color:var(--new-color-uva-white);display:flex;flex-direction:column}._editor__header_ng60c_7{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem;min-height:1.5rem}._editor__header-word-count_ng60c_15{align-self:flex-end;font-size:.875rem;margin-left:.5rem;text-align:right;white-space:nowrap;width:4.5rem}._editor__header-word-count--alert_ng60c_24{color:var(--new-color-red-600);font-weight:700}._editor_ng60c_1{border:1px solid var(--new-color-grey-600);border-radius:4px;margin-bottom:.5rem;padding:.25rem}._editor_ng60c_1:has(._editor__field_ng60c_36:focus-visible){outline:1px solid var(--new-color-navy-600)}._editor__toolbar_ng60c_40{align-items:center;display:flex;gap:.25rem;justify-content:flex-start;margin-bottom:.25rem;padding:.25rem}._editor__toolbar-button-group_ng60c_49{align-items:center;display:flex;gap:.125rem;justify-content:center}._editor__toolbar-button_ng60c_49{align-items:center;background-color:var(--new-color-uva-white);border:none;border-radius:.25rem;cursor:pointer;display:flex;font-size:1.1rem;height:2rem;justify-content:center;width:2rem}._editor__toolbar-button_ng60c_49:hover{background-color:var(--new-color-grey-400);border:1px solid var(--new-color-grey-700)}._editor__toolbar-button_ng60c_49:focus-visible{outline:.125rem dotted var(--new-color-navy-600);outline-offset:.125rem;z-index:1}._editor__toolbar-button--active_ng60c_80,._editor__toolbar-button_ng60c_49:active{background-color:var(--new-color-uva-black);border-color:var(--new-color-uva-black);color:var(--new-color-uva-white)}._editor__toolbar-button_ng60c_49:disabled{border-color:var(--new-color-grey-300);color:var(--new-color-grey-400);cursor:not-allowed}._editor__toolbar-button_ng60c_49:hover:disabled{background-color:var(--new-color-grey-300);border-color:var(--new-color-grey-300);color:var(--new-color-grey-500);cursor:not-allowed}._editor__toolbar-button--bold_ng60c_100{font-weight:700}._editor__toolbar-button--italic_ng60c_104{font-style:italic}._editor__toolbar-button_ng60c_49:active:hover{color:var(--new-color-uva-white)}._editor__toolbar-button--active_ng60c_80:hover{color:var(--new-color-uva-black)}._editor__toolbar-button--active_ng60c_80:disabled{background-color:var(--new-color-grey-300);border-color:var(--new-color-grey-300);color:var(--new-color-grey-500);cursor:not-allowed}._editor__toolbar-button-flyoutwrapper_ng60c_123,._editor__field-wrapper_ng60c_127{position:relative}._editor__field-wrapper_ng60c_127:before{border-top:1px solid var(--new-color-grey-600);content:"";display:block;height:0;margin-left:-.25rem;margin-top:-.3rem;width:calc(100% + .5rem)}._editor__field_ng60c_36{background-color:var(--new-color-uva-white);margin-top:.5rem;min-height:8rem;overflow-x:hidden;padding:0 .5rem .5rem;position:relative}._editor__field_ng60c_36::-webkit-scrollbar{cursor:default;width:12px}._editor__field_ng60c_36::-webkit-scrollbar-track{background:var(--new-color-uva-white)}._editor__field_ng60c_36::-webkit-scrollbar-thumb{background-color:var(--new-color-grey-500);border:3px solid var(--new-color-uva-white);border-radius:20px;cursor:default}._editor__field_ng60c_36:focus-visible{outline:none}._editor__placeholder_ng60c_170{color:var(--new-color-grey-500);left:.45rem;pointer-events:none;position:absolute;top:.55rem}._guide-text-ltr_ng60c_180{text-align:left}._guide-text-rtl_ng60c_184{text-align:right}._guide-text-paragraph_ng60c_188{margin:0;position:relative}._guide-text__text--bold_ng60c_193{font-weight:700}._guide-text__text--italic_ng60c_197{font-style:italic}._listitem_ng60c_201{margin:0 2rem 0 1rem}._guide-text__list--ol_ng60c_205{list-style-position:inside;margin:0 0 0 -1.25rem}._guide-text__list--ol2_ng60c_210{list-style-position:inside;list-style-type:upper-alpha;margin:0;padding:0}._guide-text__list--ol3_ng60c_217{list-style-position:inside;list-style-type:lower-alpha;margin:0;padding:0}._guide-text__list--ol4_ng60c_224{list-style-position:inside;list-style-type:upper-roman;margin:0;padding:0}._guide-text__list--ol5_ng60c_231{list-style-position:inside;list-style-type:lower-roman;margin:0;padding:0}._guide-text__list--ul_ng60c_238{list-style-position:inside;margin:0 0 0 -1rem;padding:0}._guide-text__list--ul2_ng60c_244{list-style-position:inside;list-style-type:circle;margin:0;padding:0}._guide-text__list--ul3_ng60c_251{list-style-position:inside;list-style-type:square;margin:0;padding:0}._guide-text__list--ul4_ng60c_258{list-style-position:inside;list-style-type:disc;margin:0;padding:0}._guide-text__list--ul5_ng60c_265{list-style-position:inside;list-style-type:circle;margin:0;padding:0}._guide-text__list--listitem_ng60c_272{margin:0 1.5rem}._guide-text__list--ol_ng60c_205 ._guide-text__list--nested-listitem_ng60c_276,._guide-text__list--ul_ng60c_238 ._guide-text__list--nested-listitem_ng60c_276{list-style-type:none}._guide-text__link_ng60c_281{color:var(--new-color-navy-600);cursor:pointer;text-decoration:underline}._guide-text__table-wrapper_ng60c_287{margin:0 1rem .5rem 0;overflow-x:auto}._guide-text__table_ng60c_287{border:2px solid var(--new-color-grey-400);border-collapse:collapse;border-spacing:0;margin:.5rem 0;overflow-x:scroll;overflow-y:scroll;table-layout:fixed;width:fit-content}._guide-text__table_ng60c_287>tr:nth-child(2n){background-color:var(--new-color-grey-100)}._guide-text__table_ng60c_287>tr td{border:1px dotted var(--new-color-grey-400);padding:.25rem .5rem;position:relative;vertical-align:top}td ._guide-text__table-wrapper_ng60c_287{margin:0}td:has(._guide-text__table-wrapper_ng60c_287){padding:0!important}td:has(._guide-text__table-wrapper_ng60c_287) table{border:0;margin:0}td:has(._guide-text__table-wrapper_ng60c_287) table tr{background-color:transparent!important}
1
+ ._editor__container_1hmqh_1{background-color:var(--new-color-uva-white);display:flex;flex-direction:column}._editor__header_1hmqh_7{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem;min-height:1.5rem}._editor__header-word-count_1hmqh_15{align-self:flex-end;font-size:.875rem;margin-left:.5rem;text-align:right;white-space:nowrap;width:4.5rem}._editor__header-word-count--alert_1hmqh_24{color:var(--new-color-red-600);font-weight:700}._editor_1hmqh_1{border:1px solid var(--new-color-grey-600);border-radius:4px;margin-bottom:.5rem;padding:.25rem}._editor_1hmqh_1:has(._editor__field_1hmqh_36:focus-visible){outline:1px solid var(--new-color-navy-600)}._editor__toolbar_1hmqh_40{align-items:center;display:flex;gap:.25rem;justify-content:flex-start;margin-bottom:.25rem;padding:.25rem}._editor__toolbar-button-group_1hmqh_49{align-items:center;display:flex;gap:.125rem;justify-content:center}._editor__toolbar-button_1hmqh_49{align-items:center;background-color:var(--new-color-uva-white);border:none;border-radius:.25rem;cursor:pointer;display:flex;font-size:1.1rem;height:2rem;justify-content:center;width:2rem}._editor__toolbar-button_1hmqh_49:hover{background-color:var(--new-color-grey-400);border:1px solid var(--new-color-grey-700)}._editor__toolbar-button_1hmqh_49:focus-visible{outline:.125rem dotted var(--new-color-navy-600);outline-offset:.125rem;z-index:1}._editor__toolbar-button--active_1hmqh_80,._editor__toolbar-button_1hmqh_49:active{background-color:var(--new-color-uva-black);border-color:var(--new-color-uva-black);color:var(--new-color-uva-white)}._editor__toolbar-button_1hmqh_49:disabled{border-color:var(--new-color-grey-300);color:var(--new-color-grey-400);cursor:not-allowed}._editor__toolbar-button_1hmqh_49:hover:disabled{background-color:var(--new-color-grey-300);border-color:var(--new-color-grey-300);color:var(--new-color-grey-500);cursor:not-allowed}._editor__toolbar-button--bold_1hmqh_100{font-weight:700}._editor__toolbar-button--italic_1hmqh_104{font-style:italic}._editor__toolbar-button_1hmqh_49:active:hover{color:var(--new-color-uva-white)}._editor__toolbar-button--active_1hmqh_80:hover{color:var(--new-color-uva-black)}._editor__toolbar-button--active_1hmqh_80:disabled{background-color:var(--new-color-grey-300);border-color:var(--new-color-grey-300);color:var(--new-color-grey-500);cursor:not-allowed}._editor__toolbar-button-flyoutwrapper_1hmqh_123,._editor__field-wrapper_1hmqh_127{position:relative}._editor__field-wrapper_1hmqh_127:before{border-top:1px solid var(--new-color-grey-600);content:"";display:block;height:0;margin-left:-.25rem;margin-top:-.3rem;width:calc(100% + .5rem)}._editor__field_1hmqh_36{background-color:var(--new-color-uva-white);margin-top:.5rem;min-height:8rem;overflow-x:hidden;padding:0 .5rem .5rem;position:relative}._editor__field_1hmqh_36::-webkit-scrollbar{cursor:default;width:12px}._editor__field_1hmqh_36::-webkit-scrollbar-track{background:var(--new-color-uva-white)}._editor__field_1hmqh_36::-webkit-scrollbar-thumb{background-color:var(--new-color-grey-500);border:3px solid var(--new-color-uva-white);border-radius:20px;cursor:default}._editor__field_1hmqh_36:focus-visible{outline:none}._editor__placeholder_1hmqh_170{color:var(--new-color-grey-500);left:.45rem;pointer-events:none;position:absolute;top:.55rem}._guide-text-ltr_1hmqh_180{text-align:left}._guide-text-rtl_1hmqh_184{text-align:right}._guide-text-paragraph_1hmqh_188{margin:0;position:relative}._guide-text__text--bold_1hmqh_193{font-weight:700}._guide-text__text--italic_1hmqh_197{font-style:italic}._guide-text__list--ul_1hmqh_201,._guide-text__list--ol_1hmqh_202{list-style-position:inside;margin:0 0 0 -.25rem;padding:.25rem}._guide-text__list--ol_1hmqh_202{list-style-position:outside;list-style-type:decimal;margin:0 0 0 .25rem}._guide-text__list--ul_1hmqh_201 ._guide-text__list--listitem_1hmqh_214{margin:0}._guide-text__list--ol_1hmqh_202 ._guide-text__list--listitem_1hmqh_214{margin-left:.35rem;padding-left:.55rem}._guide-text__list--ol_1hmqh_202 ._guide-text__list--nested-listitem_1hmqh_223,._guide-text__list--ul_1hmqh_201 ._guide-text__list--nested-listitem_1hmqh_223{list-style-type:none;margin-left:1.5rem}._guide-text__list--ol_1hmqh_202 ._guide-text__list--nested-listitem_1hmqh_223{margin-left:1rem}._guide-text__list--ul2_1hmqh_233 ._guide-text__list--listitem_1hmqh_214{list-style-type:circle}._guide-text__list--ul3_1hmqh_237 ._guide-text__list--listitem_1hmqh_214{list-style-type:square}._guide-text__list--ul4_1hmqh_241 ._guide-text__list--listitem_1hmqh_214{list-style-type:disc}._guide-text__list--ul5_1hmqh_245 ._guide-text__list--listitem_1hmqh_214{list-style-type:circle}ul ._guide-text__list--nested-listitem_1hmqh_223 ol{list-style-position:outside;list-style-type:decimal;margin-left:0;padding:.25rem .25rem .25rem .55rem}ul ._guide-text__list--nested-listitem_1hmqh_223 ol ._guide-text__list--listitem_1hmqh_214{list-style-type:decimal;margin-left:.35rem;padding-left:.55rem}ol ._guide-text__list--nested-listitem_1hmqh_223 ul ._guide-text__list--listitem_1hmqh_214{list-style-type:disc;margin-left:.35rem;padding-left:.55rem}ul ._guide-text__list--nested-listitem_1hmqh_223{list-style-type:none!important}ol ._guide-text__list--nested-listitem_1hmqh_223 ul{margin-left:-1.5rem;padding-left:.55rem}
@@ -18,7 +18,7 @@ import "../IconButton/IconButton.js";
18
18
  import "../Input/Input.js";
19
19
  import "../InputField/InputField.js";
20
20
  import "react-router";
21
- import "../../TablePlugin-CAoOq8iA.js";
21
+ import "../../TablePlugin-DaKDRL4G.js";
22
22
  import "../RteEditor/Providers/LanguageProvider.js";
23
23
  import "../RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js";
24
24
  import "../RteEditor/hooks/components/Flyout.js";
@@ -17,7 +17,7 @@ import "../IconButton/IconButton.js";
17
17
  import "../Input/Input.js";
18
18
  import "../InputField/InputField.js";
19
19
  import "react-router";
20
- import "../../TablePlugin-CAoOq8iA.js";
20
+ import "../../TablePlugin-DaKDRL4G.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";
@@ -17,7 +17,7 @@ import "../GridRow/GridRow.js";
17
17
  import "../IconButton/IconButton.js";
18
18
  import "../Input/Input.js";
19
19
  import "react-router";
20
- import "../../TablePlugin-CAoOq8iA.js";
20
+ import "../../TablePlugin-DaKDRL4G.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";
@@ -1,7 +1,7 @@
1
1
  import "react/jsx-runtime";
2
2
  import "../../clsx-OuTLNxxd.js";
3
3
  import "../../MultiSelectItem-DbOdEllV.js";
4
- import { M as p } from "../../TablePlugin-CAoOq8iA.js";
4
+ import { M as p } from "../../TablePlugin-DaKDRL4G.js";
5
5
  export {
6
6
  p as MultiSelect
7
7
  };
@@ -1,7 +1,7 @@
1
1
  import { jsxs as S, jsx as r } from "react/jsx-runtime";
2
2
  import { l as d } from "../../index-BamlKH-k.js";
3
3
  import { useState as p } from "react";
4
- import { M as e } from "../../TablePlugin-CAoOq8iA.js";
4
+ import { M as e } from "../../TablePlugin-DaKDRL4G.js";
5
5
  import { Container as M } from "../../storyComponents/Container/Container.js";
6
6
  const C = `
7
7
  // MultiSelectHeader can be added optionally
@@ -16,7 +16,7 @@ import "../../IconButton/IconButton.js";
16
16
  import "../../Input/Input.js";
17
17
  import "../../InputField/InputField.js";
18
18
  import "react-router";
19
- import { a as A } from "../../../TablePlugin-CAoOq8iA.js";
19
+ import { a as A } from "../../../TablePlugin-DaKDRL4G.js";
20
20
  import "../../RteEditor/Providers/LanguageProvider.js";
21
21
  import "../../RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js";
22
22
  import "../../RteEditor/hooks/components/Flyout.js";
@@ -1,4 +1,4 @@
1
- import { M as l } from "../../TablePlugin-CAoOq8iA.js";
1
+ import { M as l } from "../../TablePlugin-DaKDRL4G.js";
2
2
  export {
3
3
  l as MultiSelect
4
4
  };
@@ -18,7 +18,7 @@ import "../Input/Input.js";
18
18
  import "../InputField/InputField.js";
19
19
  import { Label as I } from "../Label/Label.js";
20
20
  import "react-router";
21
- import "../../TablePlugin-CAoOq8iA.js";
21
+ import "../../TablePlugin-DaKDRL4G.js";
22
22
  import "../RteEditor/Providers/LanguageProvider.js";
23
23
  import "../RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js";
24
24
  import "../RteEditor/hooks/components/Flyout.js";
@@ -18,7 +18,7 @@ import "../GridRow/GridRow.js";
18
18
  import "../IconButton/IconButton.js";
19
19
  import "../Input/Input.js";
20
20
  import "../InputField/InputField.js";
21
- import "../../TablePlugin-CAoOq8iA.js";
21
+ import "../../TablePlugin-DaKDRL4G.js";
22
22
  import "../RteEditor/Providers/LanguageProvider.js";
23
23
  import "../RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js";
24
24
  import "../RteEditor/hooks/components/Flyout.js";
@@ -18,7 +18,7 @@ import "../IconButton/IconButton.js";
18
18
  import "../Input/Input.js";
19
19
  import "../InputField/InputField.js";
20
20
  import "react-router";
21
- import "../../TablePlugin-CAoOq8iA.js";
21
+ import "../../TablePlugin-DaKDRL4G.js";
22
22
  import "../RteEditor/Providers/LanguageProvider.js";
23
23
  import "../RteEditor/Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js";
24
24
  import "../RteEditor/hooks/components/Flyout.js";
@@ -15,7 +15,7 @@ import "../../IconButton/IconButton.js";
15
15
  import "../../Input/Input.js";
16
16
  import "../../InputField/InputField.js";
17
17
  import "react-router";
18
- import "../../../TablePlugin-CAoOq8iA.js";
18
+ import "../../../TablePlugin-DaKDRL4G.js";
19
19
  import "../Providers/LanguageProvider.js";
20
20
  import "../Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js";
21
21
  import "../hooks/components/Flyout.js";
@@ -4,7 +4,7 @@ import { c as f } from "../../../../clsx-OuTLNxxd.js";
4
4
  import { w as _, a as p, U as h } from "../../../../Lexical.prod-nXWuyOKD.js";
5
5
  import { useState as l, useEffect as k } from "react";
6
6
  import { Icon as I } from "../../../Icon/Icon.js";
7
- import { s as a } from "../../../../RteEditor.module-dE9wQTC9.js";
7
+ import { s as a } from "../../../../RteEditor.module-CovRFt0S.js";
8
8
  import { useTranslation as B } from "../../hooks/useTranslation.js";
9
9
  const C = {
10
10
  bold: "Bold",
@@ -18,8 +18,8 @@ import "../../../IconButton/IconButton.js";
18
18
  import "../../../Input/Input.js";
19
19
  import "../../../InputField/InputField.js";
20
20
  import "react-router";
21
- import "../../../../TablePlugin-CAoOq8iA.js";
22
- import { s as r } from "../../../../RteEditor.module-dE9wQTC9.js";
21
+ import "../../../../TablePlugin-DaKDRL4G.js";
22
+ import { s as r } from "../../../../RteEditor.module-CovRFt0S.js";
23
23
  import { useTranslation as x } from "../../hooks/useTranslation.js";
24
24
  import "../LinkPlugin/LinkContextMenu/LinkContextMenu.js";
25
25
  import "../../hooks/components/Flyout.js";
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { A as G } from "../../../../../TablePlugin-CAoOq8iA.js";
3
+ import { A as G } from "../../../../../TablePlugin-DaKDRL4G.js";
4
4
  import "../../../../../helpers-mE437H2Y.js";
5
5
  import "../../../../Accordion/Accordion.js";
6
6
  import "../../../../Icon/Icon.js";
@@ -4,7 +4,7 @@ import { c as Y } from "../../../../clsx-OuTLNxxd.js";
4
4
  import { p as O, k as q, v as G } from "../../../../LexicalLink.prod-Brzpgs_K.js";
5
5
  import { useRef as a, useState as J, useEffect as m } from "react";
6
6
  import { a2 as X, w as p, u as Z, as as $, a as w, I as tt, k as et, Q as ot } from "../../../../Lexical.prod-nXWuyOKD.js";
7
- import { A as rt } from "../../../../TablePlugin-CAoOq8iA.js";
7
+ import { A as rt } from "../../../../TablePlugin-DaKDRL4G.js";
8
8
  import { e as nt } from "../../../../helpers-mE437H2Y.js";
9
9
  import { LinkContextMenu as it } from "./LinkContextMenu/LinkContextMenu.js";
10
10
  import { useFlyout as st } from "../../hooks/useFlyout.js";
@@ -24,7 +24,7 @@ import "../../../Input/Input.js";
24
24
  import "../../../InputField/InputField.js";
25
25
  import "react-router";
26
26
  import { setScrollableContainers as K, removeScrollableContainers as lt } from "../../helpers.js";
27
- import { s as h } from "../../../../RteEditor.module-dE9wQTC9.js";
27
+ import { s as h } from "../../../../RteEditor.module-CovRFt0S.js";
28
28
  import { useTranslation as at } from "../../hooks/useTranslation.js";
29
29
  import "react-dom";
30
30
  import "../../../../index-yEhaxKq-.js";
@@ -6,7 +6,7 @@ import { useState as p, useEffect as K } from "react";
6
6
  import { c as x } from "../../../../clsx-OuTLNxxd.js";
7
7
  import { as as O, I as U, a0 as B, w as b, a as h, K as E, F } from "../../../../Lexical.prod-nXWuyOKD.js";
8
8
  import { Icon as T } from "../../../Icon/Icon.js";
9
- import { s as l } from "../../../../RteEditor.module-dE9wQTC9.js";
9
+ import { s as l } from "../../../../RteEditor.module-CovRFt0S.js";
10
10
  import { useTranslation as $ } from "../../hooks/useTranslation.js";
11
11
  const j = {
12
12
  bullet: "BulletList",
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { b as D } from "../../../../TablePlugin-CAoOq8iA.js";
3
+ import { b as D } from "../../../../TablePlugin-DaKDRL4G.js";
4
4
  import "../../../Accordion/Accordion.js";
5
5
  import "../../../Buttons/Button.js";
6
6
  import "../../../Buttons/LinkButton.js";
@@ -5,7 +5,7 @@ import "../../../../LexicalTable.prod-DJktN6jF.js";
5
5
  import "../../../../Lexical.prod-nXWuyOKD.js";
6
6
  import "../../../../LexicalUtils.prod-Ckfw0Hjt.js";
7
7
  import "react";
8
- import { T as J } from "../../../../TablePlugin-CAoOq8iA.js";
8
+ import { T as J } from "../../../../TablePlugin-DaKDRL4G.js";
9
9
  import "./helpers.js";
10
10
  import "../../nodes/TableWrapperNode/TableWrapperNode.js";
11
11
  import "../../hooks/useFlyout.js";
@@ -24,7 +24,7 @@ import "../../../IconButton/IconButton.js";
24
24
  import "../../../Input/Input.js";
25
25
  import "../../../InputField/InputField.js";
26
26
  import "react-router";
27
- import "../../../../RteEditor.module-dE9wQTC9.js";
27
+ import "../../../../RteEditor.module-CovRFt0S.js";
28
28
  import "../../hooks/useTranslation.js";
29
29
  import "../LinkPlugin/LinkContextMenu/LinkContextMenu.js";
30
30
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { T as o } from "../../../../TablePlugin-CAoOq8iA.js";
1
+ import { T as o } from "../../../../TablePlugin-DaKDRL4G.js";
2
2
  import { TableCellContextMenu as t } from "./TableCellContextMenu/TableCellContextMenu.js";
3
3
  export {
4
4
  t as TableCellContextMenu,
@@ -7,11 +7,11 @@ import { BlockFormatPlugin as T } from "../BlockFormatPlugin/BlockFormatPlugin.j
7
7
  import { ListPlugin as N } from "../ListPlugin/ListPlugin.js";
8
8
  import { LinkPlugin as x } from "../LinkPlugin/LinkPlugin.js";
9
9
  import { HistoryPlugin as B } from "../HistoryPlugin/HistoryPlugin.js";
10
- import { T as S } from "../../../../TablePlugin-CAoOq8iA.js";
10
+ import { T as S } from "../../../../TablePlugin-DaKDRL4G.js";
11
11
  import { TableCellContextMenu as z } from "../TablePlugin/TableCellContextMenu/TableCellContextMenu.js";
12
12
  import "react-dom";
13
13
  import "../../../../index-yEhaxKq-.js";
14
- import { s as A } from "../../../../RteEditor.module-dE9wQTC9.js";
14
+ import { s as A } from "../../../../RteEditor.module-CovRFt0S.js";
15
15
  import { setScrollableContainers as w, removeScrollableContainers as K } from "../../helpers.js";
16
16
  const V = ({ editorScrollPosition: m }) => {
17
17
  const [t] = y(), [r, i] = L(null), d = E(null), u = k(() => {
@@ -3,7 +3,7 @@ import { BlockFormatPlugin as t } from "./BlockFormatPlugin/BlockFormatPlugin.js
3
3
  import { ListPlugin as n } from "./ListPlugin/ListPlugin.js";
4
4
  import { LinkPlugin as g, getLinkNodeTag as m } from "./LinkPlugin/LinkPlugin.js";
5
5
  import { HistoryPlugin as f } from "./HistoryPlugin/HistoryPlugin.js";
6
- import { T as u } from "../../../TablePlugin-CAoOq8iA.js";
6
+ import { T as u } from "../../../TablePlugin-DaKDRL4G.js";
7
7
  import { TableCellContextMenu as T } from "./TablePlugin/TableCellContextMenu/TableCellContextMenu.js";
8
8
  import { T as b } from "../../../TableCellResizerPlugin-DFzNK-ve.js";
9
9
  import { PasteHandlerPlugin as C } from "./PasteHandlerPlugin/PasteHandlerPlugin.js";
@@ -14,10 +14,10 @@ import { s as er, d as tr, b as He, e as rr, w as nr, S as or, y as Je, O as ar
14
14
  import { a as sr, w as ir, M as lr } from "../../helpers-mE437H2Y.js";
15
15
  import { c as ur } from "../../clsx-OuTLNxxd.js";
16
16
  import { exportMap as cr, isStartingWithHtmlTag as dr, mergeBoldStrongTags as fr, cleanUpTable as mr } from "./helpers.js";
17
- import { s as R } from "../../RteEditor.module-dE9wQTC9.js";
17
+ import { s as R } from "../../RteEditor.module-CovRFt0S.js";
18
18
  import { ToolBarPlugin as pr } from "./Plugins/ToolbarPlugin/ToolbarPlugin.js";
19
19
  import { useTranslation as gr } from "./hooks/useTranslation.js";
20
- import "../../TablePlugin-CAoOq8iA.js";
20
+ import "../../TablePlugin-DaKDRL4G.js";
21
21
  import "./Plugins/LinkPlugin/LinkContextMenu/LinkContextMenu.js";
22
22
  import "./hooks/components/Flyout.js";
23
23
  import "../Accordion/Accordion.js";
@@ -1,7 +1,7 @@
1
- import { jsxs as o, Fragment as s, jsx as e } from "react/jsx-runtime";
2
- import { useState as d } from "react";
3
- import { RteEditor as r } from "./RteEditor.js";
4
- import { MOCK_RTE_CONTENT as m } from "./mockRteContent.js";
1
+ import { jsxs as n, Fragment as a, jsx as e } from "react/jsx-runtime";
2
+ import { useState as s } from "react";
3
+ import { RteEditor as i } from "./RteEditor.js";
4
+ import { MOCK_RTE_CONTENT as p } from "./mockRteContent.js";
5
5
  import { Container as u } from "../../storyComponents/Container/Container.js";
6
6
  const g = `<RteEditor
7
7
  initialValue=""
@@ -13,15 +13,15 @@ const g = `<RteEditor
13
13
  onChange={handleChange}
14
14
  />`, v = {
15
15
  title: "Organisms/RteEditor",
16
- component: r,
16
+ component: i,
17
17
  parameters: {
18
- inspectComponent: r,
18
+ inspectComponent: i,
19
19
  codeString: g
20
20
  }
21
- }, p = (t) => {
22
- const [n, i] = d(t.initialValue || "");
23
- return /* @__PURE__ */ o(s, { children: [
24
- /* @__PURE__ */ e(u, { size: "large-full-height", children: /* @__PURE__ */ e(r, { ...t, onChange: (l) => i(l) }) }),
21
+ }, m = (l) => {
22
+ const [r, t] = s(l.initialValue || "");
23
+ return /* @__PURE__ */ n(a, { children: [
24
+ /* @__PURE__ */ e(u, { size: "large-full-height", children: /* @__PURE__ */ e(i, { ...l, onChange: (d) => t(d) }) }),
25
25
  /* @__PURE__ */ e("br", {}),
26
26
  /* @__PURE__ */ e("br", {}),
27
27
  /* @__PURE__ */ e("p", { style: { margin: "0", marginTop: "2rem" }, children: "HTML Output:" }),
@@ -35,11 +35,11 @@ const g = `<RteEditor
35
35
  borderRadius: "0.25rem",
36
36
  color: "#666"
37
37
  },
38
- children: n
38
+ children: r
39
39
  }
40
40
  )
41
41
  ] });
42
- }, c = p.bind({});
42
+ }, c = m.bind({});
43
43
  c.args = {
44
44
  placeholder: "Voeg hier tekst in...",
45
45
  currentLanguage: "NL",
@@ -47,11 +47,50 @@ c.args = {
47
47
  info: "Studiemateriaal is essentieel voor succesvol leren. Het omvat boeken, artikelen, video's en oefeningen die studenten helpen hun kennis te vergroten, vaardigheden te ontwikkelen en hun studieprestaties te verbeteren.",
48
48
  required: !0,
49
49
  maxWords: 100,
50
- initialValue: m
50
+ initialValue: p
51
51
  };
52
52
  const C = () => {
53
- const [t, n] = d("Editor 1 <ul><li>aap</li> <li>noot</li> <li>mies</li></ul>"), [i, l] = d("<p>Editor 2</p>");
54
- return /* @__PURE__ */ o(
53
+ const [l, r] = s(
54
+ "Editor 1 <ul><li>aap</li><li>noot</li><li>mies</li></ul><ol><li>een</li><li>twee</li><li>drie</li></ol><p></p><ul><li>nesting</li><li><ul><li>nested 1</li><li>nested 2</li><li><ul><li>deep nested 1</li><li>deep nested 2</li><li><ul><li>deeper nested 1</li><li>deeper nested 2</li><li><ul><li>deepest nested 1</li><li>deepest nested 2</li></ul></li></ul></li></ul></li></ul></li><li>nesting end</li></ul><p></p><ol><li>nesting</li><li><ol><li>nested 1</li><li>nested 2</li><li><ol><li>deep nested 1</li><li>deep nested 2</li><li><ol><li>deeper nested 1</li><li>deeper nested 2</li><li><ol><li>deepest nested 1</li><li>deepest nested 2</li></ol></li></ol></li></ol></li></ol></li><li>nesting end</li></ol>"
55
+ ), [t, d] = s(
56
+ `<p>Editor 2</p>
57
+ <ul>
58
+ <li>nesting</li>
59
+ <li>
60
+ <ol>
61
+ <li>nested 1</li>
62
+ <li>nested 2</li>
63
+ </ol>
64
+ </li>
65
+ <li>nesting 2</li>
66
+ <li>
67
+ <ul>
68
+ <li>deep nested 1</li>
69
+ <li>deep nested 2</li>
70
+ <li>
71
+ <ol>
72
+ <li>deeper nested 1</li>
73
+ <li>
74
+ <ul>
75
+ <li>deepest nested 1</li>
76
+ <li>deepest nested 2</li>
77
+ </ul>
78
+ </li>
79
+ <li>deeper nested 2</li>
80
+ <li>
81
+ <ol>
82
+ <li>deepest nested 1</li>
83
+ <li>deepest nested 2</li>
84
+ </ol>
85
+ </li>
86
+ </ol>
87
+ </li>
88
+ </ul>
89
+ </li>
90
+ <li>nesting end</li>
91
+ </ul>`
92
+ );
93
+ return /* @__PURE__ */ n(
55
94
  "div",
56
95
  {
57
96
  style: {
@@ -63,16 +102,16 @@ const C = () => {
63
102
  backgroundColor: "#FFF"
64
103
  },
65
104
  children: [
66
- /* @__PURE__ */ o("div", { style: { flex: "1" }, children: [
105
+ /* @__PURE__ */ n("div", { style: { flex: "1" }, children: [
67
106
  /* @__PURE__ */ e(
68
- r,
107
+ i,
69
108
  {
70
- initialValue: t,
109
+ initialValue: l,
71
110
  label: "Editor 1",
72
111
  info: "Uitleg over editor 1",
73
112
  placeholder: "Voeg hier tekst in...",
74
113
  notValidatedText: "",
75
- onChange: (a) => n(a)
114
+ onChange: (o) => r(o)
76
115
  }
77
116
  ),
78
117
  /* @__PURE__ */ e("br", {}),
@@ -87,20 +126,20 @@ const C = () => {
87
126
  borderRadius: "0.25rem",
88
127
  color: "#666"
89
128
  },
90
- children: t
129
+ children: l
91
130
  }
92
131
  )
93
132
  ] }),
94
- /* @__PURE__ */ o("div", { style: { flex: "1" }, children: [
133
+ /* @__PURE__ */ n("div", { style: { flex: "1" }, children: [
95
134
  /* @__PURE__ */ e(
96
- r,
135
+ i,
97
136
  {
98
- initialValue: i,
137
+ initialValue: t,
99
138
  label: "Editor 2",
100
139
  info: "Uitleg over editor 2 wat langer om te kijken of dat ook goed gaat, want je weet maar nooit.",
101
140
  placeholder: "Voeg hier tekst in...",
102
141
  notValidatedText: "",
103
- onChange: (a) => l(a)
142
+ onChange: (o) => d(o)
104
143
  }
105
144
  ),
106
145
  /* @__PURE__ */ e("br", {}),
@@ -115,7 +154,7 @@ const C = () => {
115
154
  borderRadius: "0.25rem",
116
155
  color: "#666"
117
156
  },
118
- children: i
157
+ children: t
119
158
  }
120
159
  )
121
160
  ] })
@@ -1 +1 @@
1
- {"version":3,"file":"RteEditor.stories.js","sources":["../../../src/components/RteEditor/RteEditor.stories.tsx"],"sourcesContent":["import { useState, type PropsWithChildren } from 'react';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { RteEditorProps } from './RteEditor';\n\nimport { RteEditor } from './RteEditor';\nimport { MOCK_RTE_CONTENT } from './mockRteContent';\n\nimport { Container } from 'storyComponents/Container';\n\nconst codeString = `<RteEditor\n initialValue=\"\"\n currentLanguage=\"NL\"\n label=\"\"\n info=\"\"\n placeholder=\"\"\n notValidatedText=\"\"\n onChange={handleChange}\n />`;\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Organisms/RteEditor',\n component: RteEditor,\n parameters: {\n inspectComponent: RteEditor,\n codeString: codeString,\n },\n} as Meta<PropsWithChildren<RteEditorProps>>;\n\nconst Template: StoryFn<PropsWithChildren<RteEditorProps>> = (args) => {\n const [result, setResult] = useState<string>(args.initialValue || '');\n\n return (\n <>\n <Container size=\"large-full-height\">\n <RteEditor {...args} onChange={(evt) => setResult(evt)} />\n </Container>\n <br />\n <br />\n\n <p style={{ margin: '0', marginTop: '2rem' }}>HTML Output:</p>\n <div\n style={{\n marginTop: '0rem',\n padding: '1rem',\n backgroundColor: '#F9F9F9',\n borderRadius: '0.25rem',\n color: '#666',\n }}\n >\n {result}\n </div>\n </>\n );\n};\n\nexport const RteEditorExample = Template.bind({});\n\nRteEditorExample.args = {\n placeholder: 'Voeg hier tekst in...',\n currentLanguage: 'NL',\n label: 'Studiemateriaal',\n info: \"Studiemateriaal is essentieel voor succesvol leren. Het omvat boeken, artikelen, video's en oefeningen die studenten helpen hun kennis te vergroten, vaardigheden te ontwikkelen en hun studieprestaties te verbeteren.\",\n required: true,\n maxWords: 100,\n initialValue: MOCK_RTE_CONTENT,\n};\n\nexport const MultipleRteEditors = () => {\n const [result01, setResult01] = useState<string>('Editor 1 <ul><li>aap</li> <li>noot</li> <li>mies</li></ul>');\n const [result02, setResult02] = useState<string>('<p>Editor 2</p>');\n\n return (\n <div\n style={{\n display: 'flex',\n flexDirection: 'row',\n gap: '1rem',\n width: '100%',\n padding: '1rem',\n backgroundColor: '#FFF',\n }}\n >\n <div style={{ flex: '1' }}>\n <RteEditor\n initialValue={result01}\n label=\"Editor 1\"\n info=\"Uitleg over editor 1\"\n placeholder=\"Voeg hier tekst in...\"\n notValidatedText=\"\"\n onChange={(evt) => setResult01(evt)}\n />\n <br />\n <p style={{ margin: '0', marginTop: '2rem' }}>HTML Output:</p>\n <div\n style={{\n marginTop: '0rem',\n padding: '1rem',\n backgroundColor: '#F9F9F9',\n borderRadius: '0.25rem',\n color: '#666',\n }}\n >\n {result01}\n </div>\n </div>\n <div style={{ flex: '1' }}>\n <RteEditor\n initialValue={result02}\n label=\"Editor 2\"\n info=\"Uitleg over editor 2 wat langer om te kijken of dat ook goed gaat, want je weet maar nooit.\"\n placeholder=\"Voeg hier tekst in...\"\n notValidatedText=\"\"\n onChange={(evt) => setResult02(evt)}\n />\n <br />\n <p style={{ margin: '0', marginTop: '2rem' }}>HTML Output:</p>\n <div\n style={{\n marginTop: '0rem',\n padding: '1rem',\n backgroundColor: '#F9F9F9',\n borderRadius: '0.25rem',\n color: '#666',\n }}\n >\n {result02}\n </div>\n </div>\n </div>\n );\n};\n"],"names":["codeString","RteEditor_stories","RteEditor","Template","args","result","setResult","useState","jsxs","Fragment","jsx","Container","evt","RteEditorExample","MOCK_RTE_CONTENT","MultipleRteEditors","result01","setResult01","result02","setResult02"],"mappings":"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"}
1
+ {"version":3,"file":"RteEditor.stories.js","sources":["../../../src/components/RteEditor/RteEditor.stories.tsx"],"sourcesContent":["import { useState, type PropsWithChildren } from 'react';\n\nimport type { Meta, StoryFn } from '@storybook/react';\nimport type { RteEditorProps } from './RteEditor';\n\nimport { RteEditor } from './RteEditor';\nimport { MOCK_RTE_CONTENT } from './mockRteContent';\n\nimport { Container } from 'storyComponents/Container';\n\nconst codeString = `<RteEditor\n initialValue=\"\"\n currentLanguage=\"NL\"\n label=\"\"\n info=\"\"\n placeholder=\"\"\n notValidatedText=\"\"\n onChange={handleChange}\n />`;\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n title: 'Organisms/RteEditor',\n component: RteEditor,\n parameters: {\n inspectComponent: RteEditor,\n codeString: codeString,\n },\n} as Meta<PropsWithChildren<RteEditorProps>>;\n\nconst Template: StoryFn<PropsWithChildren<RteEditorProps>> = (args) => {\n const [result, setResult] = useState<string>(args.initialValue || '');\n\n return (\n <>\n <Container size=\"large-full-height\">\n <RteEditor {...args} onChange={(evt) => setResult(evt)} />\n </Container>\n <br />\n <br />\n\n <p style={{ margin: '0', marginTop: '2rem' }}>HTML Output:</p>\n <div\n style={{\n marginTop: '0rem',\n padding: '1rem',\n backgroundColor: '#F9F9F9',\n borderRadius: '0.25rem',\n color: '#666',\n }}\n >\n {result}\n </div>\n </>\n );\n};\n\nexport const RteEditorExample = Template.bind({});\n\nRteEditorExample.args = {\n placeholder: 'Voeg hier tekst in...',\n currentLanguage: 'NL',\n label: 'Studiemateriaal',\n info: \"Studiemateriaal is essentieel voor succesvol leren. Het omvat boeken, artikelen, video's en oefeningen die studenten helpen hun kennis te vergroten, vaardigheden te ontwikkelen en hun studieprestaties te verbeteren.\",\n required: true,\n maxWords: 100,\n initialValue: MOCK_RTE_CONTENT,\n};\n\nexport const MultipleRteEditors = () => {\n const [result01, setResult01] = useState<string>(\n 'Editor 1 <ul><li>aap</li><li>noot</li><li>mies</li></ul><ol><li>een</li><li>twee</li><li>drie</li></ol><p></p><ul><li>nesting</li><li><ul><li>nested 1</li><li>nested 2</li><li><ul><li>deep nested 1</li><li>deep nested 2</li><li><ul><li>deeper nested 1</li><li>deeper nested 2</li><li><ul><li>deepest nested 1</li><li>deepest nested 2</li></ul></li></ul></li></ul></li></ul></li><li>nesting end</li></ul><p></p><ol><li>nesting</li><li><ol><li>nested 1</li><li>nested 2</li><li><ol><li>deep nested 1</li><li>deep nested 2</li><li><ol><li>deeper nested 1</li><li>deeper nested 2</li><li><ol><li>deepest nested 1</li><li>deepest nested 2</li></ol></li></ol></li></ol></li></ol></li><li>nesting end</li></ol>'\n );\n const [result02, setResult02] = useState<string>(\n `<p>Editor 2</p>\n <ul>\n <li>nesting</li>\n <li>\n <ol>\n <li>nested 1</li>\n <li>nested 2</li>\n </ol>\n </li>\n <li>nesting 2</li>\n <li>\n <ul>\n <li>deep nested 1</li>\n <li>deep nested 2</li>\n <li>\n <ol>\n <li>deeper nested 1</li>\n <li>\n <ul>\n <li>deepest nested 1</li>\n <li>deepest nested 2</li>\n </ul>\n </li>\n <li>deeper nested 2</li>\n <li>\n <ol>\n <li>deepest nested 1</li>\n <li>deepest nested 2</li>\n </ol>\n </li>\n </ol>\n </li>\n </ul>\n </li>\n <li>nesting end</li>\n </ul>`\n );\n\n return (\n <div\n style={{\n display: 'flex',\n flexDirection: 'row',\n gap: '1rem',\n width: '100%',\n padding: '1rem',\n backgroundColor: '#FFF',\n }}\n >\n <div style={{ flex: '1' }}>\n <RteEditor\n initialValue={result01}\n label=\"Editor 1\"\n info=\"Uitleg over editor 1\"\n placeholder=\"Voeg hier tekst in...\"\n notValidatedText=\"\"\n onChange={(evt) => setResult01(evt)}\n />\n <br />\n <p style={{ margin: '0', marginTop: '2rem' }}>HTML Output:</p>\n <div\n style={{\n marginTop: '0rem',\n padding: '1rem',\n backgroundColor: '#F9F9F9',\n borderRadius: '0.25rem',\n color: '#666',\n }}\n >\n {result01}\n </div>\n </div>\n <div style={{ flex: '1' }}>\n <RteEditor\n initialValue={result02}\n label=\"Editor 2\"\n info=\"Uitleg over editor 2 wat langer om te kijken of dat ook goed gaat, want je weet maar nooit.\"\n placeholder=\"Voeg hier tekst in...\"\n notValidatedText=\"\"\n onChange={(evt) => setResult02(evt)}\n />\n <br />\n <p style={{ margin: '0', marginTop: '2rem' }}>HTML Output:</p>\n <div\n style={{\n marginTop: '0rem',\n padding: '1rem',\n backgroundColor: '#F9F9F9',\n borderRadius: '0.25rem',\n color: '#666',\n }}\n >\n {result02}\n </div>\n </div>\n </div>\n );\n};\n"],"names":["codeString","RteEditor_stories","RteEditor","Template","args","result","setResult","useState","jsxs","Fragment","jsx","Container","evt","RteEditorExample","MOCK_RTE_CONTENT","MultipleRteEditors","result01","setResult01","result02","setResult02"],"mappings":"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"}
@@ -9,11 +9,13 @@ export declare const UvaTheme: {
9
9
  list: {
10
10
  listitem: string;
11
11
  nested: {
12
+ list: string;
12
13
  listitem: string;
13
14
  };
14
15
  olDepth: string[];
15
16
  ulDepth: string[];
16
17
  ul: string;
18
+ ulDepthNested: string[];
17
19
  };
18
20
  link: string;
19
21
  tableWrapper: string;
@@ -1,4 +1,4 @@
1
- import { s as t } from "../../../RteEditor.module-dE9wQTC9.js";
1
+ import { s as t } from "../../../RteEditor.module-CovRFt0S.js";
2
2
  const i = {
3
3
  ltr: t["guide-text-ltr"],
4
4
  rtl: t["guide-text-rtl"],
@@ -10,6 +10,7 @@ const i = {
10
10
  list: {
11
11
  listitem: t["guide-text__list--listitem"],
12
12
  nested: {
13
+ list: t["guide-text__list--nested"],
13
14
  listitem: t["guide-text__list--nested-listitem"]
14
15
  },
15
16
  olDepth: [
@@ -26,7 +27,8 @@ const i = {
26
27
  t["guide-text__list--ul4"],
27
28
  t["guide-text__list--ul5"]
28
29
  ],
29
- ul: t["guide-text__list--ul"]
30
+ ul: t["guide-text__list--ul"],
31
+ ulDepthNested: [t["guide-text__list--ol"]]
30
32
  },
31
33
  link: t["guide-text__link"],
32
34
  tableWrapper: t["guide-text__table-wrapper"],
@@ -1 +1 @@
1
- {"version":3,"file":"UvaTheme.js","sources":["../../../../src/components/RteEditor/UvaTheme/UvaTheme.tsx"],"sourcesContent":["import styles from 'components/RteEditor/RteEditor.module.css';\n\nexport const UvaTheme = {\n ltr: styles['guide-text-ltr'],\n rtl: styles['guide-text-rtl'],\n paragraph: styles['guide-text-paragraph'],\n text: {\n bold: styles['guide-text__text--bold'],\n italic: styles['guide-text__text--italic'],\n },\n list: {\n listitem: styles['guide-text__list--listitem'],\n nested: {\n listitem: styles['guide-text__list--nested-listitem'],\n },\n olDepth: [\n styles['guide-text__list--ol'],\n styles['guide-text__list--ol2'],\n styles['guide-text__list--ol3'],\n styles['guide-text__list--ol4'],\n styles['guide-text__list--ol5'],\n ],\n ulDepth: [\n styles['guide-text__list--ul'],\n styles['guide-text__list--ul2'],\n styles['guide-text__list--ul3'],\n styles['guide-text__list--ul4'],\n styles['guide-text__list--ul5'],\n ],\n ul: styles['guide-text__list--ul'],\n },\n link: styles['guide-text__link'],\n tableWrapper: styles['guide-text__table-wrapper'],\n table: styles['guide-text__table'],\n};\n"],"names":["UvaTheme","styles"],"mappings":";AAEO,MAAMA,IAAW;AAAA,EACtB,KAAKC,EAAO,gBAAgB;AAAA,EAC5B,KAAKA,EAAO,gBAAgB;AAAA,EAC5B,WAAWA,EAAO,sBAAsB;AAAA,EACxC,MAAM;AAAA,IACJ,MAAMA,EAAO,wBAAwB;AAAA,IACrC,QAAQA,EAAO,0BAA0B;AAAA,EAAA;AAAA,EAE3C,MAAM;AAAA,IACJ,UAAUA,EAAO,4BAA4B;AAAA,IAC7C,QAAQ;AAAA,MACN,UAAUA,EAAO,mCAAmC;AAAA,IAAA;AAAA,IAEtD,SAAS;AAAA,MACPA,EAAO,sBAAsB;AAAA,MAC7BA,EAAO,uBAAuB;AAAA,MAC9BA,EAAO,uBAAuB;AAAA,MAC9BA,EAAO,uBAAuB;AAAA,MAC9BA,EAAO,uBAAuB;AAAA,IAAA;AAAA,IAEhC,SAAS;AAAA,MACPA,EAAO,sBAAsB;AAAA,MAC7BA,EAAO,uBAAuB;AAAA,MAC9BA,EAAO,uBAAuB;AAAA,MAC9BA,EAAO,uBAAuB;AAAA,MAC9BA,EAAO,uBAAuB;AAAA,IAAA;AAAA,IAEhC,IAAIA,EAAO,sBAAsB;AAAA,EAAA;AAAA,EAEnC,MAAMA,EAAO,kBAAkB;AAAA,EAC/B,cAAcA,EAAO,2BAA2B;AAAA,EAChD,OAAOA,EAAO,mBAAmB;AACnC;"}
1
+ {"version":3,"file":"UvaTheme.js","sources":["../../../../src/components/RteEditor/UvaTheme/UvaTheme.tsx"],"sourcesContent":["import styles from 'components/RteEditor/RteEditor.module.css';\n\nexport const UvaTheme = {\n ltr: styles['guide-text-ltr'],\n rtl: styles['guide-text-rtl'],\n paragraph: styles['guide-text-paragraph'],\n text: {\n bold: styles['guide-text__text--bold'],\n italic: styles['guide-text__text--italic'],\n },\n list: {\n listitem: styles['guide-text__list--listitem'],\n nested: {\n list: styles['guide-text__list--nested'],\n listitem: styles['guide-text__list--nested-listitem'],\n },\n olDepth: [\n styles['guide-text__list--ol'],\n styles['guide-text__list--ol2'],\n styles['guide-text__list--ol3'],\n styles['guide-text__list--ol4'],\n styles['guide-text__list--ol5'],\n ],\n ulDepth: [\n styles['guide-text__list--ul'],\n styles['guide-text__list--ul2'],\n styles['guide-text__list--ul3'],\n styles['guide-text__list--ul4'],\n styles['guide-text__list--ul5'],\n ],\n ul: styles['guide-text__list--ul'],\n ulDepthNested: [styles['guide-text__list--ol']],\n },\n link: styles['guide-text__link'],\n tableWrapper: styles['guide-text__table-wrapper'],\n table: styles['guide-text__table'],\n};\n"],"names":["UvaTheme","styles"],"mappings":";AAEO,MAAMA,IAAW;AAAA,EACtB,KAAKC,EAAO,gBAAgB;AAAA,EAC5B,KAAKA,EAAO,gBAAgB;AAAA,EAC5B,WAAWA,EAAO,sBAAsB;AAAA,EACxC,MAAM;AAAA,IACJ,MAAMA,EAAO,wBAAwB;AAAA,IACrC,QAAQA,EAAO,0BAA0B;AAAA,EAAA;AAAA,EAE3C,MAAM;AAAA,IACJ,UAAUA,EAAO,4BAA4B;AAAA,IAC7C,QAAQ;AAAA,MACN,MAAMA,EAAO,0BAA0B;AAAA,MACvC,UAAUA,EAAO,mCAAmC;AAAA,IAAA;AAAA,IAEtD,SAAS;AAAA,MACPA,EAAO,sBAAsB;AAAA,MAC7BA,EAAO,uBAAuB;AAAA,MAC9BA,EAAO,uBAAuB;AAAA,MAC9BA,EAAO,uBAAuB;AAAA,MAC9BA,EAAO,uBAAuB;AAAA,IAAA;AAAA,IAEhC,SAAS;AAAA,MACPA,EAAO,sBAAsB;AAAA,MAC7BA,EAAO,uBAAuB;AAAA,MAC9BA,EAAO,uBAAuB;AAAA,MAC9BA,EAAO,uBAAuB;AAAA,MAC9BA,EAAO,uBAAuB;AAAA,IAAA;AAAA,IAEhC,IAAIA,EAAO,sBAAsB;AAAA,IACjC,eAAe,CAACA,EAAO,sBAAsB,CAAC;AAAA,EAAA;AAAA,EAEhD,MAAMA,EAAO,kBAAkB;AAAA,EAC/B,cAAcA,EAAO,2BAA2B;AAAA,EAChD,OAAOA,EAAO,mBAAmB;AACnC;"}
@@ -35,7 +35,7 @@ import { Label as Bo } from "./Label/Label.js";
35
35
  import { MenuLink as So } from "./MenuLink/MenuLink.js";
36
36
  import { MetaDataList as Co } from "./MetaDataList/MetaDataList.js";
37
37
  import { ModalDialog as ko } from "./ModalDialog/ModalDialog.js";
38
- import { M as Mo } from "../TablePlugin-CAoOq8iA.js";
38
+ import { M as Mo } from "../TablePlugin-DaKDRL4G.js";
39
39
  import { MultiSelectBox as Lo } from "./MultiSelectBox/MultiSelectBox.js";
40
40
  import { Notification as Ro } from "./Notification/Notification.js";
41
41
  import { OverlayCloseButton as ho } from "./OverlayCloseButton/OverlayCloseButton.js";
package/dist/index.js CHANGED
@@ -35,7 +35,7 @@ import { Label as Bo } from "./components/Label/Label.js";
35
35
  import { MenuLink as So } from "./components/MenuLink/MenuLink.js";
36
36
  import { MetaDataList as Co } from "./components/MetaDataList/MetaDataList.js";
37
37
  import { ModalDialog as ko } from "./components/ModalDialog/ModalDialog.js";
38
- import { M as Mo } from "./TablePlugin-CAoOq8iA.js";
38
+ import { M as Mo } from "./TablePlugin-DaKDRL4G.js";
39
39
  import { MultiSelectBox as Lo } from "./components/MultiSelectBox/MultiSelectBox.js";
40
40
  import { Notification as Ro } from "./components/Notification/Notification.js";
41
41
  import { OverlayCloseButton as ho } from "./components/OverlayCloseButton/OverlayCloseButton.js";
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@uva-glass/component-library",
3
3
  "author": "Team Glass - Frontend vrienden",
4
4
  "private": false,
5
- "version": "3.43.0",
5
+ "version": "3.43.1",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
8
8
  "types": "dist/index.d.ts",
@@ -60,8 +60,8 @@
60
60
  "@testing-library/jest-dom": "^6.8.0",
61
61
  "@testing-library/react": "^16.3.0",
62
62
  "@types/jest": "^30.0.0",
63
- "@types/node": "^22.18.1",
64
- "@types/react": "^19.1.12",
63
+ "@types/node": "^22.18.3",
64
+ "@types/react": "^19.1.13",
65
65
  "@types/react-dom": "^19.1.9",
66
66
  "@uva-glass/eslint-config": "^1.3.11",
67
67
  "@uva-glass/stylelint-config": "^1.2.3",
@@ -76,11 +76,11 @@
76
76
  "jest": "^30.1.3",
77
77
  "jest-environment-jsdom": "^30.1.2",
78
78
  "jest-junit": "^16.0.0",
79
- "jsdom": "^26.1.0",
79
+ "jsdom": "^27.0.0",
80
80
  "npm-run-all2": "^8.0.4",
81
81
  "react": "^19.1.1",
82
82
  "react-dom": "^19.1.1",
83
- "react-router": "^7.8.2",
83
+ "react-router": "^7.9.1",
84
84
  "semantic-release": "^24.2.8",
85
85
  "storybook": "^9.1.5",
86
86
  "style-dictionary": "^5.0.4",
@@ -109,7 +109,7 @@
109
109
  },
110
110
  "optionalDependencies": {
111
111
  "@ast-grep/napi-linux-x64-gnu": "0.39.5",
112
- "@rollup/rollup-linux-x64-gnu": "^4.50.1",
112
+ "@rollup/rollup-linux-x64-gnu": "^4.50.2",
113
113
  "@rspack/binding-darwin-arm64": "1.5.3",
114
114
  "@rspack/binding-linux-x64-gnu": "1.5.3"
115
115
  }
@@ -1,42 +0,0 @@
1
- import './assets/RteEditor.css';const _ = "_editor__container_ng60c_1", t = "_editor__header_ng60c_7", e = "_editor_ng60c_1", i = "_editor__field_ng60c_36", o = "_editor__toolbar_ng60c_40", d = "_editor__placeholder_ng60c_170", l = "_listitem_ng60c_201", r = {
2
- editor__container: _,
3
- editor__header: t,
4
- "editor__header-word-count": "_editor__header-word-count_ng60c_15",
5
- "editor__header-word-count--alert": "_editor__header-word-count--alert_ng60c_24",
6
- editor: e,
7
- editor__field: i,
8
- editor__toolbar: o,
9
- "editor__toolbar-button-group": "_editor__toolbar-button-group_ng60c_49",
10
- "editor__toolbar-button": "_editor__toolbar-button_ng60c_49",
11
- "editor__toolbar-button--active": "_editor__toolbar-button--active_ng60c_80",
12
- "editor__toolbar-button--bold": "_editor__toolbar-button--bold_ng60c_100",
13
- "editor__toolbar-button--italic": "_editor__toolbar-button--italic_ng60c_104",
14
- "editor__toolbar-button-flyoutwrapper": "_editor__toolbar-button-flyoutwrapper_ng60c_123",
15
- "editor__field-wrapper": "_editor__field-wrapper_ng60c_127",
16
- editor__placeholder: d,
17
- "guide-text-ltr": "_guide-text-ltr_ng60c_180",
18
- "guide-text-rtl": "_guide-text-rtl_ng60c_184",
19
- "guide-text-paragraph": "_guide-text-paragraph_ng60c_188",
20
- "guide-text__text--bold": "_guide-text__text--bold_ng60c_193",
21
- "guide-text__text--italic": "_guide-text__text--italic_ng60c_197",
22
- listitem: l,
23
- "guide-text__list--ol": "_guide-text__list--ol_ng60c_205",
24
- "guide-text__list--ol2": "_guide-text__list--ol2_ng60c_210",
25
- "guide-text__list--ol3": "_guide-text__list--ol3_ng60c_217",
26
- "guide-text__list--ol4": "_guide-text__list--ol4_ng60c_224",
27
- "guide-text__list--ol5": "_guide-text__list--ol5_ng60c_231",
28
- "guide-text__list--ul": "_guide-text__list--ul_ng60c_238",
29
- "guide-text__list--ul2": "_guide-text__list--ul2_ng60c_244",
30
- "guide-text__list--ul3": "_guide-text__list--ul3_ng60c_251",
31
- "guide-text__list--ul4": "_guide-text__list--ul4_ng60c_258",
32
- "guide-text__list--ul5": "_guide-text__list--ul5_ng60c_265",
33
- "guide-text__list--listitem": "_guide-text__list--listitem_ng60c_272",
34
- "guide-text__list--nested-listitem": "_guide-text__list--nested-listitem_ng60c_276",
35
- "guide-text__link": "_guide-text__link_ng60c_281",
36
- "guide-text__table-wrapper": "_guide-text__table-wrapper_ng60c_287",
37
- "guide-text__table": "_guide-text__table_ng60c_287"
38
- };
39
- export {
40
- r as s
41
- };
42
- //# sourceMappingURL=RteEditor.module-dE9wQTC9.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RteEditor.module-dE9wQTC9.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}