@uva-glass/component-library 1.55.0 → 1.55.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.
- package/dist/{AddTableFrom-CwnPli3F.js → AddTableFrom-u1gSA461.js} +2 -2
- package/dist/{AddTableFrom-CwnPli3F.js.map → AddTableFrom-u1gSA461.js.map} +1 -1
- package/dist/Sortable.module-B-93knlb.js +24 -0
- package/dist/{Sortable.module-BrgGu8qp.js.map → Sortable.module-B-93knlb.js.map} +1 -1
- package/dist/{SortableProvider-Z0e0qeQT.js → SortableProvider-BMm77PpY.js} +2 -2
- package/dist/{SortableProvider-Z0e0qeQT.js.map → SortableProvider-BMm77PpY.js.map} +1 -1
- package/dist/{TablePlugin-CKJQiwra.js → TablePlugin-acQeRCt0.js} +3 -3
- package/dist/{TablePlugin-CKJQiwra.js.map → TablePlugin-acQeRCt0.js.map} +1 -1
- package/dist/assets/Sortable.css +1 -1
- package/dist/components/CheckboxTree/CheckboxTree.js +2 -2
- package/dist/components/InputField/InputField.stories.js +2 -2
- package/dist/components/MultiSelect/MultiSelect.js +1 -1
- package/dist/components/MultiSelect/MultiSelect.stories.js +1 -1
- package/dist/components/MultiSelect/components/MultiSelectHeader.js +2 -2
- package/dist/components/MultiSelect/index.js +1 -1
- package/dist/components/ProgrammeCard/ProgrammeCard.stories.js +2 -2
- package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js +2 -2
- package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkFrom.js +2 -2
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js +2 -2
- package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js +2 -2
- package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js +3 -3
- package/dist/components/RteEditor/Plugins/TablePlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/index.js +1 -1
- package/dist/components/RteEditor/RteEditor.js +3 -3
- package/dist/components/Sortable/Sortable.js +1 -1
- package/dist/components/Sortable/SortableProvider.js +1 -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.js +2 -2
- package/dist/components/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/Sortable.module-BrgGu8qp.js +0 -24
|
@@ -22,7 +22,7 @@ import { FeedbackBox as L } from "./components/FeedbackBox/FeedbackBox.js";
|
|
|
22
22
|
import "./components/SelectListbox/SelectListbox.js";
|
|
23
23
|
import "./components/SelectListbox/SelectProvider.js";
|
|
24
24
|
import "./components/Sortable/components/SortableItem.js";
|
|
25
|
-
import "./SortableProvider-
|
|
25
|
+
import "./SortableProvider-BMm77PpY.js";
|
|
26
26
|
import './assets/AddTableFrom.css';function B({ label: a, clearTrigger: n, onClear: i }) {
|
|
27
27
|
return /* @__PURE__ */ l("header", { className: p["multi-select__header"], children: [
|
|
28
28
|
/* @__PURE__ */ e(b, { htmlFor: "multi-select-list", children: a }),
|
|
@@ -159,4 +159,4 @@ export {
|
|
|
159
159
|
pe as a,
|
|
160
160
|
B as b
|
|
161
161
|
};
|
|
162
|
-
//# sourceMappingURL=AddTableFrom-
|
|
162
|
+
//# sourceMappingURL=AddTableFrom-u1gSA461.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddTableFrom-CwnPli3F.js","sources":["../src/components/MultiSelect/components/MultiSelectHeader.tsx","../src/components/MultiSelect/MultiSelect.tsx","../src/components/RteEditor/Plugins/LinkPlugin/AddLinkFrom.tsx","../src/components/RteEditor/Plugins/TablePlugin/AddTableFrom.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 } from 'react';\r\n\r\nimport type { ChangeEvent } from 'react';\r\nimport type { LinkType } from 'components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin';\r\n\r\nimport { validateUrlWithProtocol } from './helpers';\r\nimport styles from './AddLinkForm.module.css';\r\n\r\nimport { Button, Checkbox, FeedbackBox, FormField, InputField, Label } from 'components';\r\n\r\ninterface AddLinkFormProps {\r\n onCloseHandler: () => void;\r\n onSaveHandler: (url: string, target: string) => void;\r\n isLink: LinkType;\r\n}\r\n\r\nexport interface addLinkFormMethods {\r\n clearForm: () => void;\r\n focusFirstField: () => void;\r\n}\r\n\r\nexport const AddLinkForm = forwardRef(\r\n ({ onCloseHandler, onSaveHandler, isLink = { active: false, url: '', target: '_self' } }: AddLinkFormProps, ref) => {\r\n const [target, setTarget] = useState<boolean>(isLink.target === '_blank');\r\n const [url, setUrl] = useState<string>(isLink.url);\r\n const [urlError, setUrlError] = useState<string | null>(null);\r\n const firstField = useRef<HTMLInputElement>(null);\r\n\r\n const handleUrl = (event: ChangeEvent<HTMLInputElement>) => {\r\n setUrl(event.target.value);\r\n };\r\n\r\n const handleTargetChange = () => {\r\n setTarget((prev) => !prev);\r\n };\r\n\r\n const validateUrl = (url: string): boolean => {\r\n if ((!url && url.trim() === '') || validateUrlWithProtocol(url) === false) {\r\n setUrlError('Geen of geen geldige url ingevoerd');\r\n return false;\r\n }\r\n setUrlError(null);\r\n return true;\r\n };\r\n\r\n const handleSave = () => {\r\n if (!validateUrl(url)) {\r\n return;\r\n }\r\n onSaveHandler(url, target ? '_blank' : '_self');\r\n resetForm();\r\n };\r\n\r\n const handleClose = () => {\r\n onCloseHandler();\r\n resetForm();\r\n };\r\n\r\n const resetForm = () => {\r\n setUrl('');\r\n setUrlError(null);\r\n };\r\n\r\n const focusFirstField = () => {\r\n if (firstField.current) {\r\n firstField.current.focus();\r\n }\r\n };\r\n\r\n useImperativeHandle(ref, () => ({\r\n clearForm: resetForm,\r\n focusFirstField,\r\n }));\r\n\r\n return (\r\n <div className={styles['linkform']}>\r\n <FormField className={styles['linkform__input-field']}>\r\n <Label htmlFor=\"linkUrl\">Link</Label>\r\n <InputField\r\n id=\"linkUrl\"\r\n placeholder=\"http(s)://\"\r\n value={url ? url : ''}\r\n onChange={(event) => handleUrl(event)}\r\n onFocus={() => setUrlError(null)}\r\n ref={firstField}\r\n />\r\n {urlError && <FeedbackBox level=\"error\" feedback={urlError} />}\r\n </FormField>\r\n <FormField inline>\r\n <Checkbox id=\"linkTarget\" onChange={handleTargetChange} checked={target} />\r\n <Label htmlFor=\"linkTarget\">Open in nieuwe window</Label>\r\n </FormField>\r\n <div className={styles['linkform__footer']}>\r\n <Button variant={'secondary'} onClick={handleClose}>\r\n Annuleer\r\n </Button>\r\n <Button variant={'primary'} onClick={handleSave}>\r\n Link\r\n </Button>\r\n </div>\r\n </div>\r\n );\r\n }\r\n);\r\n","import { useState, forwardRef, useImperativeHandle, useRef } from 'react';\n\nimport type { ChangeEvent } from 'react';\n\nimport styles from './AddTableFrom.module.css';\n\nimport { Button, FormField, InputField, Label } from 'components';\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 [rowCount, setRowCount] = useState<number>();\n const [columnCount, setColumnCount] = useState<number>();\n const firstField = useRef<HTMLInputElement>(null);\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 return (\n <div className={styles['tableform']}>\n <FormField className={styles['tableform__input-field']}>\n <Label htmlFor=\"nrOfRows\">Aantal rijen</Label>\n <InputField\n id=\"nrOfRows\"\n placeholder=\"aantal rijen\"\n value={rowCount ? rowCount : ''}\n onChange={(event) => handleDimentionChange(event, 'row')}\n ref={firstField}\n />\n </FormField>\n <FormField className={styles['tableform__input-field']}>\n <Label htmlFor=\"nrOfColumns\">Aantal kolommen</Label>\n <InputField\n id=\"nrOfRows\"\n placeholder=\"aantal kolommen\"\n value={columnCount ? columnCount : ''}\n onChange={(event) => handleDimentionChange(event, 'column')}\n />\n </FormField>\n <div className={styles['tableform__footer']}>\n <Button variant={'secondary'} onClick={handleClose}>\n Annuleer\n </Button>\n <Button variant={'primary'} onClick={handleSave} disabled={!rowCount || !columnCount}>\n Voeg toe\n </Button>\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","target","setTarget","useState","url","setUrl","urlError","setUrlError","firstField","useRef","handleUrl","event","handleTargetChange","prev","validateUrl","validateUrlWithProtocol","handleSave","resetForm","handleClose","focusFirstField","useImperativeHandle","FormField","InputField","FeedbackBox","Checkbox","AddTableForm","rowCount","setRowCount","columnCount","setColumnCount","handleDimentionChange","type","value","_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AddTableFrom-u1gSA461.js","sources":["../src/components/MultiSelect/components/MultiSelectHeader.tsx","../src/components/MultiSelect/MultiSelect.tsx","../src/components/RteEditor/Plugins/LinkPlugin/AddLinkFrom.tsx","../src/components/RteEditor/Plugins/TablePlugin/AddTableFrom.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 } from 'react';\r\n\r\nimport type { ChangeEvent } from 'react';\r\nimport type { LinkType } from 'components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin';\r\n\r\nimport { validateUrlWithProtocol } from './helpers';\r\nimport styles from './AddLinkForm.module.css';\r\n\r\nimport { Button, Checkbox, FeedbackBox, FormField, InputField, Label } from 'components';\r\n\r\ninterface AddLinkFormProps {\r\n onCloseHandler: () => void;\r\n onSaveHandler: (url: string, target: string) => void;\r\n isLink: LinkType;\r\n}\r\n\r\nexport interface addLinkFormMethods {\r\n clearForm: () => void;\r\n focusFirstField: () => void;\r\n}\r\n\r\nexport const AddLinkForm = forwardRef(\r\n ({ onCloseHandler, onSaveHandler, isLink = { active: false, url: '', target: '_self' } }: AddLinkFormProps, ref) => {\r\n const [target, setTarget] = useState<boolean>(isLink.target === '_blank');\r\n const [url, setUrl] = useState<string>(isLink.url);\r\n const [urlError, setUrlError] = useState<string | null>(null);\r\n const firstField = useRef<HTMLInputElement>(null);\r\n\r\n const handleUrl = (event: ChangeEvent<HTMLInputElement>) => {\r\n setUrl(event.target.value);\r\n };\r\n\r\n const handleTargetChange = () => {\r\n setTarget((prev) => !prev);\r\n };\r\n\r\n const validateUrl = (url: string): boolean => {\r\n if ((!url && url.trim() === '') || validateUrlWithProtocol(url) === false) {\r\n setUrlError('Geen of geen geldige url ingevoerd');\r\n return false;\r\n }\r\n setUrlError(null);\r\n return true;\r\n };\r\n\r\n const handleSave = () => {\r\n if (!validateUrl(url)) {\r\n return;\r\n }\r\n onSaveHandler(url, target ? '_blank' : '_self');\r\n resetForm();\r\n };\r\n\r\n const handleClose = () => {\r\n onCloseHandler();\r\n resetForm();\r\n };\r\n\r\n const resetForm = () => {\r\n setUrl('');\r\n setUrlError(null);\r\n };\r\n\r\n const focusFirstField = () => {\r\n if (firstField.current) {\r\n firstField.current.focus();\r\n }\r\n };\r\n\r\n useImperativeHandle(ref, () => ({\r\n clearForm: resetForm,\r\n focusFirstField,\r\n }));\r\n\r\n return (\r\n <div className={styles['linkform']}>\r\n <FormField className={styles['linkform__input-field']}>\r\n <Label htmlFor=\"linkUrl\">Link</Label>\r\n <InputField\r\n id=\"linkUrl\"\r\n placeholder=\"http(s)://\"\r\n value={url ? url : ''}\r\n onChange={(event) => handleUrl(event)}\r\n onFocus={() => setUrlError(null)}\r\n ref={firstField}\r\n />\r\n {urlError && <FeedbackBox level=\"error\" feedback={urlError} />}\r\n </FormField>\r\n <FormField inline>\r\n <Checkbox id=\"linkTarget\" onChange={handleTargetChange} checked={target} />\r\n <Label htmlFor=\"linkTarget\">Open in nieuwe window</Label>\r\n </FormField>\r\n <div className={styles['linkform__footer']}>\r\n <Button variant={'secondary'} onClick={handleClose}>\r\n Annuleer\r\n </Button>\r\n <Button variant={'primary'} onClick={handleSave}>\r\n Link\r\n </Button>\r\n </div>\r\n </div>\r\n );\r\n }\r\n);\r\n","import { useState, forwardRef, useImperativeHandle, useRef } from 'react';\n\nimport type { ChangeEvent } from 'react';\n\nimport styles from './AddTableFrom.module.css';\n\nimport { Button, FormField, InputField, Label } from 'components';\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 [rowCount, setRowCount] = useState<number>();\n const [columnCount, setColumnCount] = useState<number>();\n const firstField = useRef<HTMLInputElement>(null);\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 return (\n <div className={styles['tableform']}>\n <FormField className={styles['tableform__input-field']}>\n <Label htmlFor=\"nrOfRows\">Aantal rijen</Label>\n <InputField\n id=\"nrOfRows\"\n placeholder=\"aantal rijen\"\n value={rowCount ? rowCount : ''}\n onChange={(event) => handleDimentionChange(event, 'row')}\n ref={firstField}\n />\n </FormField>\n <FormField className={styles['tableform__input-field']}>\n <Label htmlFor=\"nrOfColumns\">Aantal kolommen</Label>\n <InputField\n id=\"nrOfRows\"\n placeholder=\"aantal kolommen\"\n value={columnCount ? columnCount : ''}\n onChange={(event) => handleDimentionChange(event, 'column')}\n />\n </FormField>\n <div className={styles['tableform__footer']}>\n <Button variant={'secondary'} onClick={handleClose}>\n Annuleer\n </Button>\n <Button variant={'primary'} onClick={handleSave} disabled={!rowCount || !columnCount}>\n Voeg toe\n </Button>\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","target","setTarget","useState","url","setUrl","urlError","setUrlError","firstField","useRef","handleUrl","event","handleTargetChange","prev","validateUrl","validateUrlWithProtocol","handleSave","resetForm","handleClose","focusFirstField","useImperativeHandle","FormField","InputField","FeedbackBox","Checkbox","AddTableForm","rowCount","setRowCount","columnCount","setColumnCount","handleDimentionChange","type","value","_a"],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import './assets/Sortable.css';const _ = "_sortable__wrapper_10vgs_1", t = "_sortable__container_10vgs_13", e = "_sortable__handle_10vgs_154", s = {
|
|
2
|
+
sortable__wrapper: _,
|
|
3
|
+
"sortable__wrapper--scrollable": "_sortable__wrapper--scrollable_10vgs_5",
|
|
4
|
+
sortable__container: t,
|
|
5
|
+
"sortable__drop-target": "_sortable__drop-target_10vgs_25",
|
|
6
|
+
"sortable__sort-item": "_sortable__sort-item_10vgs_56",
|
|
7
|
+
"sortable__sort-item--ghost": "_sortable__sort-item--ghost_10vgs_72",
|
|
8
|
+
"sortable__container--drag-over": "_sortable__container--drag-over_10vgs_83",
|
|
9
|
+
"sortable__sort-item__handle": "_sortable__sort-item__handle_10vgs_88",
|
|
10
|
+
"sortable__sort-item__button-container": "_sortable__sort-item__button-container_10vgs_98",
|
|
11
|
+
"sortable__sort-item__handle--icon": "_sortable__sort-item__handle--icon_10vgs_117",
|
|
12
|
+
"sortable__sort-item__handle--up": "_sortable__sort-item__handle--up_10vgs_124",
|
|
13
|
+
"sortable__sort-item__handle--down": "_sortable__sort-item__handle--down_10vgs_125",
|
|
14
|
+
"sortable__sort-item--dragging": "_sortable__sort-item--dragging_10vgs_136",
|
|
15
|
+
"sortable__sort-item__contents": "_sortable__sort-item__contents_10vgs_140",
|
|
16
|
+
"sortable__sort-item__contents--handle-right": "_sortable__sort-item__contents--handle-right_10vgs_149",
|
|
17
|
+
sortable__handle: e,
|
|
18
|
+
"sortable__handle--right": "_sortable__handle--right_10vgs_160",
|
|
19
|
+
"sortable__visually-hidden": "_sortable__visually-hidden_10vgs_178"
|
|
20
|
+
};
|
|
21
|
+
export {
|
|
22
|
+
s
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=Sortable.module-B-93knlb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sortable.module-
|
|
1
|
+
{"version":3,"file":"Sortable.module-B-93knlb.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -2,7 +2,7 @@ import { jsx as f } from "react/jsx-runtime";
|
|
|
2
2
|
import { useRef as b, useEffect as w, cloneElement as R, createContext as O, useReducer as A, useContext as L, Children as _ } from "react";
|
|
3
3
|
import { sortableReducer as j, initialState as q } from "./components/Sortable/sortableReducer.js";
|
|
4
4
|
import { c as N } from "./clsx-OuTLNxxd.js";
|
|
5
|
-
import { s as u } from "./Sortable.module-
|
|
5
|
+
import { s as u } from "./Sortable.module-B-93knlb.js";
|
|
6
6
|
import { setDraggingSource as B, setDraggingTarget as H, moveToPosition as X, clearDraggingTarget as Y, clearDraggingSource as k, drop as z, dragStart as F, dragEnd as G, reset as J, setClone as K } from "./components/Sortable/actions.js";
|
|
7
7
|
function M({ scrollable: i, onSort: a }) {
|
|
8
8
|
const { clone: n, draggingTarget: p, drop: x, sortableItems: D, setDraggingTarget: o, reset: S, indices: s } = U(), l = b(null), c = b(null), d = b(s);
|
|
@@ -149,4 +149,4 @@ export {
|
|
|
149
149
|
M as a,
|
|
150
150
|
U as u
|
|
151
151
|
};
|
|
152
|
-
//# sourceMappingURL=SortableProvider-
|
|
152
|
+
//# sourceMappingURL=SortableProvider-BMm77PpY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortableProvider-Z0e0qeQT.js","sources":["../src/components/Sortable/components/SortableContainer.tsx","../src/components/Sortable/SortableProvider.tsx"],"sourcesContent":["import { cloneElement, useEffect, useRef } from 'react';\nimport { clsx } from 'clsx';\n\nimport type { DragEvent } from 'react';\n\nimport styles from 'components/Sortable/Sortable.module.css';\nimport { useSortable } from 'components/Sortable/SortableProvider';\n\nexport type OnSort = (indices: number[]) => void;\n\ninterface SortableContainerProps {\n scrollable?: boolean;\n onSort?: OnSort;\n}\n\nexport function SortableContainer({ scrollable, onSort }: SortableContainerProps) {\n const { clone, draggingTarget, drop, sortableItems, setDraggingTarget, reset, indices } = useSortable();\n const containerRef = useRef<HTMLUListElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const indicesRef = useRef<number[]>(indices);\n\n function getTargetIndex(event: DragEvent<HTMLLIElement>) {\n const sortableContainer = containerRef.current;\n\n if (!sortableContainer?.hasChildNodes()) return;\n\n const listItemNode = event.currentTarget;\n const childNodes = Array.from(sortableContainer.childNodes);\n const targetIndex = childNodes.findIndex((node) => node.isEqualNode(listItemNode));\n\n return targetIndex;\n }\n\n function handleDrop(event: DragEvent<HTMLLIElement>) {\n const targetIndex = getTargetIndex(event);\n\n if (targetIndex === undefined) return;\n\n if (clone && wrapperRef.current) wrapperRef.current.removeChild(clone);\n\n drop(targetIndex);\n }\n\n function handleDragOver(event: DragEvent<HTMLLIElement>) {\n // Prevent default to allow drop\n event.preventDefault();\n event.dataTransfer.dropEffect = 'move';\n\n if (clone) {\n const { clientX, clientY } = event;\n const { x, y, width, height } = event.currentTarget.getBoundingClientRect();\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n const grabPosition = height / 2 - (clientY - y);\n\n // lock drag image movement to x-axis and mouse pointer\n clone.setAttribute(\n 'style',\n `\n left: ${clientX - (clientX - x)}px;\n top: ${y - grabPosition}px;\n height: ${height}px;\n width: ${width}px;\n visibility: visible;\n `\n );\n }\n\n const targetIndex = getTargetIndex(event);\n\n if (targetIndex === undefined || targetIndex === draggingTarget) return;\n\n setDraggingTarget(targetIndex);\n }\n\n function handleContainerDragLeave(event: DragEvent<HTMLUListElement>) {\n const { relatedTarget } = event;\n\n const within = relatedTarget !== null && containerRef.current?.contains(relatedTarget as Node);\n\n if (!within) {\n reset();\n\n if (clone) {\n clone.setAttribute('style', 'visibility: hidden;');\n }\n }\n }\n\n useEffect(() => {\n if (!clone || !wrapperRef.current) return;\n\n wrapperRef.current.appendChild(clone);\n\n return function () {\n clone.remove();\n };\n }, [clone]);\n\n useEffect(() => {\n if (!onSort) return;\n\n if (indices.valueOf() !== indicesRef.current.valueOf()) {\n onSort(indices);\n\n indicesRef.current = indices;\n }\n }, [indices, indicesRef, onSort]);\n\n return (\n <div\n className={clsx(styles['sortable__wrapper'], { [styles['sortable__wrapper--scrollable']]: scrollable })}\n ref={wrapperRef}\n >\n <ul\n className={clsx(styles['sortable__container'], {\n [styles['sortable__container--drag-over']]: clone !== undefined,\n })}\n onDragLeave={handleContainerDragLeave}\n ref={containerRef}\n role=\"presentation\"\n >\n {sortableItems.map((child, index) => (\n <li\n className={styles['sortable__drop-target']}\n draggable={false}\n key={index}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n role=\"presentation\"\n >\n {cloneElement(child, { index })}\n </li>\n ))}\n </ul>\n </div>\n );\n}\n","import { Children, createContext, useContext, useReducer, useRef } from 'react';\n\nimport type { ReactElement } from 'react';\nimport type { SortableStateType } from './sortableReducer';\n\nimport { sortableReducer, initialState } from './sortableReducer';\nimport { SortableContainer } from './components/SortableContainer';\nimport * as actions from './actions';\n\ntype SortableContextType = {\n clearDraggingSource: () => void;\n clearDraggingTarget: () => void;\n dragEnd: () => void;\n dragStart: (index: number) => void;\n drop: (index: number) => void;\n moveToPosition: (index: number) => void;\n reset: () => void;\n setClone: (node: Element) => void;\n setDraggingSource: (index: number) => void;\n setDraggingTarget: (index: number) => void;\n};\n\nconst SortableContext = createContext<(SortableContextType & SortableStateType) | undefined>(undefined);\n\ninterface Props {\n children: SortableStateType['sortableItems'];\n items: ReactElement[] | string[];\n scrollable?: boolean;\n onSort?: (items: (string | ReactElement)[]) => void;\n}\n\nconst init = (children: Props['children']): SortableStateType => ({\n ...initialState,\n indices: Children.map(children, ({ props }) => props.index),\n maxIndex: Children.count(children) - 1,\n sortableItems: children,\n});\n\nexport function SortableProvider({ children, items, scrollable, onSort }: Props) {\n const persistentItems = useRef(items);\n\n const [state, dispatch] = useReducer(sortableReducer, children, init);\n\n function setDraggingSource(index: number) {\n dispatch(actions.setDraggingSource(index));\n }\n\n function setDraggingTarget(index: number) {\n dispatch(actions.setDraggingTarget(index));\n }\n\n function moveToPosition(index: number) {\n dispatch(actions.moveToPosition(index));\n }\n\n function clearDraggingTarget() {\n dispatch(actions.clearDraggingTarget());\n }\n\n function clearDraggingSource() {\n dispatch(actions.clearDraggingSource());\n }\n\n function drop(index: number) {\n dispatch(actions.drop(index));\n }\n\n function dragStart(index: number) {\n dispatch(actions.dragStart(index));\n }\n\n function dragEnd() {\n dispatch(actions.dragEnd());\n }\n\n function reset() {\n dispatch(actions.reset());\n }\n\n function setClone(node: Element) {\n dispatch(actions.setClone(node));\n }\n\n function onHandleSort(sortedIndices: number[]) {\n const sortedItems = sortedIndices.map((index) => persistentItems.current[index]);\n onSort && onSort(sortedItems);\n }\n\n return (\n <SortableContext.Provider\n value={{\n ...state,\n clearDraggingSource,\n clearDraggingTarget,\n dragEnd,\n dragStart,\n drop,\n moveToPosition,\n reset,\n setClone,\n setDraggingSource,\n setDraggingTarget,\n }}\n >\n <SortableContainer scrollable={scrollable} onSort={onHandleSort} />\n </SortableContext.Provider>\n );\n}\n\nexport function useSortable() {\n const context = useContext(SortableContext);\n\n if (context === undefined) {\n throw new Error('useSortable must be used within a SortableProvider');\n }\n\n return context;\n}\n"],"names":["SortableContainer","scrollable","onSort","clone","draggingTarget","drop","sortableItems","setDraggingTarget","reset","indices","useSortable","containerRef","useRef","wrapperRef","indicesRef","getTargetIndex","event","sortableContainer","listItemNode","node","handleDrop","targetIndex","handleDragOver","clientX","clientY","x","y","width","height","grabPosition","handleContainerDragLeave","relatedTarget","_a","useEffect","jsx","clsx","styles","child","index","cloneElement","SortableContext","createContext","init","children","initialState","Children","props","SortableProvider","items","persistentItems","state","dispatch","useReducer","sortableReducer","setDraggingSource","actions.setDraggingSource","actions.setDraggingTarget","moveToPosition","actions.moveToPosition","clearDraggingTarget","actions.clearDraggingTarget","clearDraggingSource","actions.clearDraggingSource","actions.drop","dragStart","actions.dragStart","dragEnd","actions.dragEnd","actions.reset","setClone","actions.setClone","onHandleSort","sortedIndices","sortedItems","context","useContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SortableProvider-BMm77PpY.js","sources":["../src/components/Sortable/components/SortableContainer.tsx","../src/components/Sortable/SortableProvider.tsx"],"sourcesContent":["import { cloneElement, useEffect, useRef } from 'react';\nimport { clsx } from 'clsx';\n\nimport type { DragEvent } from 'react';\n\nimport styles from 'components/Sortable/Sortable.module.css';\nimport { useSortable } from 'components/Sortable/SortableProvider';\n\nexport type OnSort = (indices: number[]) => void;\n\ninterface SortableContainerProps {\n scrollable?: boolean;\n onSort?: OnSort;\n}\n\nexport function SortableContainer({ scrollable, onSort }: SortableContainerProps) {\n const { clone, draggingTarget, drop, sortableItems, setDraggingTarget, reset, indices } = useSortable();\n const containerRef = useRef<HTMLUListElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const indicesRef = useRef<number[]>(indices);\n\n function getTargetIndex(event: DragEvent<HTMLLIElement>) {\n const sortableContainer = containerRef.current;\n\n if (!sortableContainer?.hasChildNodes()) return;\n\n const listItemNode = event.currentTarget;\n const childNodes = Array.from(sortableContainer.childNodes);\n const targetIndex = childNodes.findIndex((node) => node.isEqualNode(listItemNode));\n\n return targetIndex;\n }\n\n function handleDrop(event: DragEvent<HTMLLIElement>) {\n const targetIndex = getTargetIndex(event);\n\n if (targetIndex === undefined) return;\n\n if (clone && wrapperRef.current) wrapperRef.current.removeChild(clone);\n\n drop(targetIndex);\n }\n\n function handleDragOver(event: DragEvent<HTMLLIElement>) {\n // Prevent default to allow drop\n event.preventDefault();\n event.dataTransfer.dropEffect = 'move';\n\n if (clone) {\n const { clientX, clientY } = event;\n const { x, y, width, height } = event.currentTarget.getBoundingClientRect();\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n const grabPosition = height / 2 - (clientY - y);\n\n // lock drag image movement to x-axis and mouse pointer\n clone.setAttribute(\n 'style',\n `\n left: ${clientX - (clientX - x)}px;\n top: ${y - grabPosition}px;\n height: ${height}px;\n width: ${width}px;\n visibility: visible;\n `\n );\n }\n\n const targetIndex = getTargetIndex(event);\n\n if (targetIndex === undefined || targetIndex === draggingTarget) return;\n\n setDraggingTarget(targetIndex);\n }\n\n function handleContainerDragLeave(event: DragEvent<HTMLUListElement>) {\n const { relatedTarget } = event;\n\n const within = relatedTarget !== null && containerRef.current?.contains(relatedTarget as Node);\n\n if (!within) {\n reset();\n\n if (clone) {\n clone.setAttribute('style', 'visibility: hidden;');\n }\n }\n }\n\n useEffect(() => {\n if (!clone || !wrapperRef.current) return;\n\n wrapperRef.current.appendChild(clone);\n\n return function () {\n clone.remove();\n };\n }, [clone]);\n\n useEffect(() => {\n if (!onSort) return;\n\n if (indices.valueOf() !== indicesRef.current.valueOf()) {\n onSort(indices);\n\n indicesRef.current = indices;\n }\n }, [indices, indicesRef, onSort]);\n\n return (\n <div\n className={clsx(styles['sortable__wrapper'], { [styles['sortable__wrapper--scrollable']]: scrollable })}\n ref={wrapperRef}\n >\n <ul\n className={clsx(styles['sortable__container'], {\n [styles['sortable__container--drag-over']]: clone !== undefined,\n })}\n onDragLeave={handleContainerDragLeave}\n ref={containerRef}\n role=\"presentation\"\n >\n {sortableItems.map((child, index) => (\n <li\n className={styles['sortable__drop-target']}\n draggable={false}\n key={index}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n role=\"presentation\"\n >\n {cloneElement(child, { index })}\n </li>\n ))}\n </ul>\n </div>\n );\n}\n","import { Children, createContext, useContext, useReducer, useRef } from 'react';\n\nimport type { ReactElement } from 'react';\nimport type { SortableStateType } from './sortableReducer';\n\nimport { sortableReducer, initialState } from './sortableReducer';\nimport { SortableContainer } from './components/SortableContainer';\nimport * as actions from './actions';\n\ntype SortableContextType = {\n clearDraggingSource: () => void;\n clearDraggingTarget: () => void;\n dragEnd: () => void;\n dragStart: (index: number) => void;\n drop: (index: number) => void;\n moveToPosition: (index: number) => void;\n reset: () => void;\n setClone: (node: Element) => void;\n setDraggingSource: (index: number) => void;\n setDraggingTarget: (index: number) => void;\n};\n\nconst SortableContext = createContext<(SortableContextType & SortableStateType) | undefined>(undefined);\n\ninterface Props {\n children: SortableStateType['sortableItems'];\n items: ReactElement[] | string[];\n scrollable?: boolean;\n onSort?: (items: (string | ReactElement)[]) => void;\n}\n\nconst init = (children: Props['children']): SortableStateType => ({\n ...initialState,\n indices: Children.map(children, ({ props }) => props.index),\n maxIndex: Children.count(children) - 1,\n sortableItems: children,\n});\n\nexport function SortableProvider({ children, items, scrollable, onSort }: Props) {\n const persistentItems = useRef(items);\n\n const [state, dispatch] = useReducer(sortableReducer, children, init);\n\n function setDraggingSource(index: number) {\n dispatch(actions.setDraggingSource(index));\n }\n\n function setDraggingTarget(index: number) {\n dispatch(actions.setDraggingTarget(index));\n }\n\n function moveToPosition(index: number) {\n dispatch(actions.moveToPosition(index));\n }\n\n function clearDraggingTarget() {\n dispatch(actions.clearDraggingTarget());\n }\n\n function clearDraggingSource() {\n dispatch(actions.clearDraggingSource());\n }\n\n function drop(index: number) {\n dispatch(actions.drop(index));\n }\n\n function dragStart(index: number) {\n dispatch(actions.dragStart(index));\n }\n\n function dragEnd() {\n dispatch(actions.dragEnd());\n }\n\n function reset() {\n dispatch(actions.reset());\n }\n\n function setClone(node: Element) {\n dispatch(actions.setClone(node));\n }\n\n function onHandleSort(sortedIndices: number[]) {\n const sortedItems = sortedIndices.map((index) => persistentItems.current[index]);\n onSort && onSort(sortedItems);\n }\n\n return (\n <SortableContext.Provider\n value={{\n ...state,\n clearDraggingSource,\n clearDraggingTarget,\n dragEnd,\n dragStart,\n drop,\n moveToPosition,\n reset,\n setClone,\n setDraggingSource,\n setDraggingTarget,\n }}\n >\n <SortableContainer scrollable={scrollable} onSort={onHandleSort} />\n </SortableContext.Provider>\n );\n}\n\nexport function useSortable() {\n const context = useContext(SortableContext);\n\n if (context === undefined) {\n throw new Error('useSortable must be used within a SortableProvider');\n }\n\n return context;\n}\n"],"names":["SortableContainer","scrollable","onSort","clone","draggingTarget","drop","sortableItems","setDraggingTarget","reset","indices","useSortable","containerRef","useRef","wrapperRef","indicesRef","getTargetIndex","event","sortableContainer","listItemNode","node","handleDrop","targetIndex","handleDragOver","clientX","clientY","x","y","width","height","grabPosition","handleContainerDragLeave","relatedTarget","_a","useEffect","jsx","clsx","styles","child","index","cloneElement","SortableContext","createContext","init","children","initialState","Children","props","SortableProvider","items","persistentItems","state","dispatch","useReducer","sortableReducer","setDraggingSource","actions.setDraggingSource","actions.setDraggingTarget","moveToPosition","actions.moveToPosition","clearDraggingTarget","actions.clearDraggingTarget","clearDraggingSource","actions.clearDraggingSource","actions.drop","dragStart","actions.dragStart","dragEnd","actions.dragEnd","actions.reset","setClone","actions.setClone","onHandleSort","sortedIndices","sortedItems","context","useContext"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { T as ve, X as Te, i as te, y as O, j as Ee, k as ee, n as ne, w as Tt,
|
|
|
3
3
|
import { c as rn } from "./clsx-OuTLNxxd.js";
|
|
4
4
|
import { i as ie, $ as ct, t as N, U as ae } from "./LexicalUtils.prod-BZOm66mY.js";
|
|
5
5
|
import { useRef as yt, useEffect as sn } from "react";
|
|
6
|
-
import { a as ln } from "./AddTableFrom-
|
|
6
|
+
import { a as ln } from "./AddTableFrom-u1gSA461.js";
|
|
7
7
|
import { useFlyout as an } from "./components/RteEditor/hooks/useFlyout.js";
|
|
8
8
|
import { Icon as cn } from "./components/Icon/Icon.js";
|
|
9
9
|
import "./components/Buttons/Button.js";
|
|
@@ -22,7 +22,7 @@ import { s as gt } from "./RteEditor.module-BBbfV1rk.js";
|
|
|
22
22
|
import "./components/SelectListbox/SelectListbox.js";
|
|
23
23
|
import "./components/SelectListbox/SelectProvider.js";
|
|
24
24
|
import "./components/Sortable/components/SortableItem.js";
|
|
25
|
-
import "./SortableProvider-
|
|
25
|
+
import "./SortableProvider-BMm77PpY.js";
|
|
26
26
|
function un(n) {
|
|
27
27
|
return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, "default") ? n.default : n;
|
|
28
28
|
}
|
|
@@ -1503,4 +1503,4 @@ export {
|
|
|
1503
1503
|
Mt as t,
|
|
1504
1504
|
j as u
|
|
1505
1505
|
};
|
|
1506
|
-
//# sourceMappingURL=TablePlugin-
|
|
1506
|
+
//# sourceMappingURL=TablePlugin-acQeRCt0.js.map
|