@uva-glass/component-library 1.62.3 → 1.62.4
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/{ListPlugin-Bb5eekAl.js → ListPlugin-BaGD7Mnf.js} +2 -2
- package/dist/{ListPlugin-Bb5eekAl.js.map → ListPlugin-BaGD7Mnf.js.map} +1 -1
- package/dist/RteEditor.module-D98nXtwi.js +29 -0
- package/dist/RteEditor.module-D98nXtwi.js.map +1 -0
- package/dist/{TablePlugin-B-Q_UBXj.js → TablePlugin-Dhg4yUqE.js} +2 -2
- package/dist/{TablePlugin-B-Q_UBXj.js.map → TablePlugin-Dhg4yUqE.js.map} +1 -1
- package/dist/assets/Container.css +1 -1
- package/dist/assets/RteEditor.css +1 -1
- package/dist/assets/TableCellContextMenu.css +1 -1
- package/dist/components/CheckboxTree/CheckboxTree.js +1 -1
- package/dist/components/FormInput/FormInput.js +1 -1
- package/dist/components/InputField/InputField.stories.js +1 -1
- package/dist/components/MultiSelect/MultiSelect.js +1 -1
- package/dist/components/MultiSelect/MultiSelect.stories.js +1 -1
- package/dist/components/MultiSelect/components/MultiSelectHeader.js +1 -1
- package/dist/components/MultiSelect/index.js +1 -1
- package/dist/components/ProgrammeCard/ProgrammeCard.stories.js +1 -1
- package/dist/components/RteEditor/EditorHeader/EditorHeader.js +1 -1
- package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js +1 -1
- package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js +2 -2
- package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkFrom.js +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js +2 -2
- package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js +2 -2
- package/dist/components/RteEditor/Plugins/ListPlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.js +57 -43
- package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.js.map +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js +2 -2
- package/dist/components/RteEditor/Plugins/TablePlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js +3 -3
- package/dist/components/RteEditor/Plugins/index.js +2 -2
- package/dist/components/RteEditor/RteEditor.js +177 -177
- package/dist/components/RteEditor/RteEditor.js.map +1 -1
- package/dist/components/RteEditor/UvaTheme/UvaTheme.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/index.js +1 -1
- package/dist/storyComponents/Container/Container.js +22 -22
- package/package.json +1 -1
- package/dist/RteEditor.module-BwAtWRHo.js +0 -29
- package/dist/RteEditor.module-BwAtWRHo.js.map +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import "react/jsx-runtime";
|
|
2
2
|
import "../../../../LexicalComposerContext.prod-Dyvim1tK.js";
|
|
3
|
-
import { L as f } from "../../../../ListPlugin-
|
|
3
|
+
import { L as f } from "../../../../ListPlugin-BaGD7Mnf.js";
|
|
4
4
|
import "react";
|
|
5
5
|
import "../../../../clsx-OuTLNxxd.js";
|
|
6
6
|
import "../../../../Lexical.prod-eo-UKDld.js";
|
|
7
7
|
import "../../../Icon/Icon.js";
|
|
8
|
-
import "../../../../RteEditor.module-
|
|
8
|
+
import "../../../../RteEditor.module-D98nXtwi.js";
|
|
9
9
|
import "../../hooks/useTranslation.js";
|
|
10
10
|
export {
|
|
11
11
|
f as ListPlugin
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
|
-
import { b as v } from "../../../../TablePlugin-
|
|
3
|
+
import { b as v } from "../../../../TablePlugin-Dhg4yUqE.js";
|
|
4
4
|
import "../../../Buttons/Button.js";
|
|
5
5
|
import "../../../Buttons/LinkButton.js";
|
|
6
6
|
import "@react-aria/button";
|
package/dist/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.js
CHANGED
|
@@ -1,52 +1,62 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useState as _, useRef as
|
|
1
|
+
import { jsxs as y, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { useState as _, useRef as b, useEffect as R } from "react";
|
|
3
3
|
import { c as w } from "../../../../../clsx-OuTLNxxd.js";
|
|
4
|
-
import { u as
|
|
5
|
-
import { Icon as
|
|
4
|
+
import { u as P } from "../../../../../LexicalComposerContext.prod-Dyvim1tK.js";
|
|
5
|
+
import { Icon as $ } from "../../../../Icon/Icon.js";
|
|
6
6
|
import { useTranslation as H } from "../../../hooks/useTranslation.js";
|
|
7
7
|
import '../../../../../assets/TableCellContextMenu.css';const n = {
|
|
8
|
-
"context-menu__wrapper": "_context-
|
|
9
|
-
"context-menu__button": "_context-
|
|
10
|
-
"context-menu": "_context-
|
|
11
|
-
"context-menu--open": "_context-menu--
|
|
12
|
-
"context-menu__item": "_context-
|
|
13
|
-
"context-menu__item-divider": "_context-menu__item-
|
|
14
|
-
"context-menu__wrapper--hidden": "_context-menu__wrapper--
|
|
15
|
-
}, O = 25, N = 10, f = 4, A = 25, M = (
|
|
16
|
-
const r =
|
|
8
|
+
"context-menu__wrapper": "_context-menu__wrapper_xbeks_1",
|
|
9
|
+
"context-menu__button": "_context-menu__button_xbeks_10",
|
|
10
|
+
"context-menu": "_context-menu_xbeks_1",
|
|
11
|
+
"context-menu--open": "_context-menu--open_xbeks_38",
|
|
12
|
+
"context-menu__item": "_context-menu__item_xbeks_43",
|
|
13
|
+
"context-menu__item-divider": "_context-menu__item-divider_xbeks_57",
|
|
14
|
+
"context-menu__wrapper--hidden": "_context-menu__wrapper--hidden_xbeks_61"
|
|
15
|
+
}, O = 25, N = 10, f = 4, A = 25, M = (a) => {
|
|
16
|
+
const r = a.cloneNode(!0);
|
|
17
17
|
r.style.height = "auto", r.style.left = "-3000px", document.body.appendChild(r);
|
|
18
|
-
const
|
|
19
|
-
return document.body.removeChild(r),
|
|
20
|
-
}, W = ({ position:
|
|
21
|
-
const t = H(), [
|
|
22
|
-
|
|
23
|
-
},
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
},
|
|
18
|
+
const d = r.getBoundingClientRect().height;
|
|
19
|
+
return document.body.removeChild(r), d;
|
|
20
|
+
}, W = ({ position: a, parentScrollPosition: r, onAction: d }) => {
|
|
21
|
+
const t = H(), [k, x] = _(!1), [T, p] = _(!1), [s, E] = _({ xPos: 0, yPos: 0, height: 0 }), [m, B] = _(0), C = b(0), c = b(null), i = b(null), o = b(null), [I] = P(), u = (l) => {
|
|
22
|
+
d(l), x(!1);
|
|
23
|
+
}, g = () => {
|
|
24
|
+
const l = c.current ? c.current.getBoundingClientRect().width : 0;
|
|
25
|
+
i.current && c.current && o.current && (s.xPos < l && i.current ? (i.current.style.left = `${l - s.xPos + N}px`, o.current.style.right = `${l - s.xPos + f + N}px`) : (i.current.style.left = "0px", o.current.style.right = `${f}px`), m || B(M(c.current)), m > document.documentElement.clientHeight - s.yPos ? (i.current.style.top = `-${m + s.height}px`, o.current.style.top = `${m + f}px`, o.current.style.transform = "rotate(180deg)") : (i.current.style.top = "0px", o.current.style.top = `-${A}px`, o.current.style.transform = "none"));
|
|
26
|
+
}, v = () => (g(), `translate(${((s == null ? void 0 : s.xPos) ?? 0) - (c.current ? c.current.getBoundingClientRect().width : 0)}px, ${s.yPos - (r - C.current)}px)`);
|
|
27
27
|
return R(() => {
|
|
28
|
-
|
|
29
|
-
}, [
|
|
30
|
-
if (
|
|
31
|
-
const
|
|
32
|
-
if (!
|
|
33
|
-
|
|
28
|
+
E(a), a && (C.current = r), x(!1), p(!1);
|
|
29
|
+
}, [a]), R(() => {
|
|
30
|
+
if (o.current) {
|
|
31
|
+
const l = o.current.getBoundingClientRect(), h = I.getRootElement();
|
|
32
|
+
if (!h) return;
|
|
33
|
+
l.top - h.getBoundingClientRect().top <= 0 || l.top - h.getBoundingClientRect().bottom + O >= 0 ? p(!0) : p(!1), g();
|
|
34
34
|
}
|
|
35
|
-
}, [r]), /* @__PURE__ */
|
|
35
|
+
}, [r]), /* @__PURE__ */ y(
|
|
36
36
|
"div",
|
|
37
37
|
{
|
|
38
|
-
className: w(n["context-menu__wrapper"], [
|
|
38
|
+
className: w(n["context-menu__wrapper"], [T && n["context-menu__wrapper--hidden"]]),
|
|
39
39
|
style: {
|
|
40
|
-
transform: `${
|
|
40
|
+
transform: `${v()}`
|
|
41
41
|
},
|
|
42
|
-
ref:
|
|
42
|
+
ref: i,
|
|
43
43
|
children: [
|
|
44
|
-
/* @__PURE__ */ e(
|
|
45
|
-
|
|
44
|
+
/* @__PURE__ */ e(
|
|
45
|
+
"button",
|
|
46
|
+
{
|
|
47
|
+
type: "button",
|
|
48
|
+
onClick: () => x((l) => !l),
|
|
49
|
+
className: n["context-menu__button"],
|
|
50
|
+
ref: o,
|
|
51
|
+
children: /* @__PURE__ */ e($, { name: "CheveronDown", size: 16 })
|
|
52
|
+
}
|
|
53
|
+
),
|
|
54
|
+
/* @__PURE__ */ y("ul", { ref: c, className: w(n["context-menu"], k && n["context-menu--open"]), children: [
|
|
46
55
|
/* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
|
|
47
56
|
"button",
|
|
48
57
|
{
|
|
49
|
-
|
|
58
|
+
type: "button",
|
|
59
|
+
onClick: () => u("insertRowAbove"),
|
|
50
60
|
className: n["context-menu__item"],
|
|
51
61
|
"aria-label": t.aria.labels.tableInsertRowAbove,
|
|
52
62
|
children: t.table.insertRowAbove
|
|
@@ -55,7 +65,8 @@ import '../../../../../assets/TableCellContextMenu.css';const n = {
|
|
|
55
65
|
/* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
|
|
56
66
|
"button",
|
|
57
67
|
{
|
|
58
|
-
|
|
68
|
+
type: "button",
|
|
69
|
+
onClick: () => u("insertRowBelow"),
|
|
59
70
|
className: n["context-menu__item"],
|
|
60
71
|
"aria-label": t.aria.labels.tableInsertRowBelow,
|
|
61
72
|
children: t.table.insertRowBelow
|
|
@@ -64,7 +75,8 @@ import '../../../../../assets/TableCellContextMenu.css';const n = {
|
|
|
64
75
|
/* @__PURE__ */ e("li", { className: n["context-menu__item-divider"], children: /* @__PURE__ */ e(
|
|
65
76
|
"button",
|
|
66
77
|
{
|
|
67
|
-
|
|
78
|
+
type: "button",
|
|
79
|
+
onClick: () => u("deleteRow"),
|
|
68
80
|
className: n["context-menu__item"],
|
|
69
81
|
"aria-label": t.aria.labels.tableDeleteRow,
|
|
70
82
|
children: t.table.deleteRow
|
|
@@ -73,7 +85,8 @@ import '../../../../../assets/TableCellContextMenu.css';const n = {
|
|
|
73
85
|
/* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
|
|
74
86
|
"button",
|
|
75
87
|
{
|
|
76
|
-
|
|
88
|
+
type: "button",
|
|
89
|
+
onClick: () => u("insertColumnLeft"),
|
|
77
90
|
className: n["context-menu__item"],
|
|
78
91
|
"aria-label": t.aria.labels.tableInsertColumnLeft,
|
|
79
92
|
children: t.table.insertColumnLeft
|
|
@@ -82,7 +95,8 @@ import '../../../../../assets/TableCellContextMenu.css';const n = {
|
|
|
82
95
|
/* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
|
|
83
96
|
"button",
|
|
84
97
|
{
|
|
85
|
-
|
|
98
|
+
type: "button",
|
|
99
|
+
onClick: () => u("insertColumnRight"),
|
|
86
100
|
className: n["context-menu__item"],
|
|
87
101
|
"aria-label": t.aria.labels.tableInsertColumnRight,
|
|
88
102
|
children: t.table.insertColumnRight
|
|
@@ -91,20 +105,20 @@ import '../../../../../assets/TableCellContextMenu.css';const n = {
|
|
|
91
105
|
/* @__PURE__ */ e("li", { className: n["context-menu__item-divider"], children: /* @__PURE__ */ e(
|
|
92
106
|
"button",
|
|
93
107
|
{
|
|
94
|
-
|
|
108
|
+
type: "button",
|
|
109
|
+
onClick: () => u("deleteColumn"),
|
|
95
110
|
className: n["context-menu__item"],
|
|
96
111
|
"aria-label": t.aria.labels.tableDeleteColumn,
|
|
97
|
-
type: "button",
|
|
98
112
|
children: t.table.deleteColumn
|
|
99
113
|
}
|
|
100
114
|
) }),
|
|
101
115
|
/* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
|
|
102
116
|
"button",
|
|
103
117
|
{
|
|
104
|
-
|
|
118
|
+
type: "button",
|
|
119
|
+
onClick: () => u("deleteTable"),
|
|
105
120
|
className: n["context-menu__item"],
|
|
106
121
|
"aria-label": t.aria.labels.tableDeleteTable,
|
|
107
|
-
type: "button",
|
|
108
122
|
children: t.table.deleteTable
|
|
109
123
|
}
|
|
110
124
|
) })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableCellContextMenu.js","sources":["../../../../../../src/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\n\nimport type { Position } from 'components/RteEditor/Plugins/ToolbarPlugin';\n\nimport styles from './TableCellContextMenu.module.css';\n\nimport { Icon } from 'components/Icon';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\n\nexport type Actions =\n | 'insertRowAbove'\n | 'insertRowBelow'\n | 'deleteRow'\n | 'deleteTable'\n | 'insertColumnLeft'\n | 'insertColumnRight'\n | 'deleteColumn';\ninterface TableCellContextMenuProps {\n position: Position;\n parentScrollPosition: number;\n onAction: (action: Actions) => void;\n}\n\nconst CONTEXT_MENU_OFFSET = 25;\nconst WHITE_SPACE = 10;\nconst BUTTON_SHIFT = 4;\nconst BUTTON_RESET = 25;\n\nconst mesureElement = (srcElement: HTMLElement) => {\n const mesureElement = srcElement.cloneNode(true) as HTMLElement;\n mesureElement.style.height = 'auto';\n mesureElement.style.left = '-3000px';\n document.body.appendChild(mesureElement);\n const height = mesureElement.getBoundingClientRect().height;\n document.body.removeChild(mesureElement);\n return height;\n};\n\nexport const TableCellContextMenu = ({ position, parentScrollPosition, onAction }: TableCellContextMenuProps) => {\n const t = useTranslation();\n const [isOpen, setIsOpen] = useState(false);\n const [isHidden, setIsHidden] = useState(false);\n const [localPosition, setLocalPosition] = useState<Position>({ xPos: 0, yPos: 0, height: 0 });\n const [menuHeight, setMenuHeight] = useState(0);\n const startScrollPosition = useRef(0);\n const menuRef = useRef<HTMLUListElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const buttonRef = useRef<HTMLButtonElement>(null);\n const [editor] = useLexicalComposerContext();\n\n const handleAction = (action: Actions) => {\n onAction(action);\n setIsOpen(false);\n };\n\n const flipMenuIfNotInViewpoort = () => {\n const menuWidth = menuRef.current ? menuRef.current.getBoundingClientRect().width : 0;\n\n if (containerRef.current && menuRef.current && buttonRef.current) {\n if (localPosition.xPos < menuWidth && containerRef.current) {\n containerRef.current.style.left = `${menuWidth - localPosition.xPos + WHITE_SPACE}px`;\n buttonRef.current.style.right = `${menuWidth - localPosition.xPos + BUTTON_SHIFT + WHITE_SPACE}px`;\n } else {\n containerRef.current.style.left = '0px';\n buttonRef.current.style.right = `${BUTTON_SHIFT}px`;\n }\n\n if (!menuHeight) {\n setMenuHeight(mesureElement(menuRef.current));\n }\n\n if (menuHeight > document.documentElement.clientHeight - localPosition.yPos) {\n containerRef.current.style.top = `-${menuHeight + localPosition.height}px`;\n buttonRef.current.style.top = `${menuHeight + BUTTON_SHIFT}px`;\n buttonRef.current.style.transform = 'rotate(180deg)';\n } else {\n containerRef.current.style.top = '0px';\n buttonRef.current.style.top = `-${BUTTON_RESET}px`;\n buttonRef.current.style.transform = 'none';\n }\n }\n };\n\n const setMenuPosition = () => {\n flipMenuIfNotInViewpoort();\n return `translate(${(localPosition?.xPos ?? 0) - (menuRef.current ? menuRef.current.getBoundingClientRect().width : 0)}px, ${localPosition.yPos - (parentScrollPosition - startScrollPosition.current)}px)`;\n };\n\n useEffect(() => {\n setLocalPosition(position);\n if (position) {\n startScrollPosition.current = parentScrollPosition;\n }\n setIsOpen(false);\n setIsHidden(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [position]);\n\n useEffect(() => {\n if (buttonRef.current) {\n const rect = buttonRef.current.getBoundingClientRect();\n const rootElement = editor.getRootElement();\n if (!rootElement) return;\n if (\n rect.top - rootElement.getBoundingClientRect().top <= 0 ||\n rect.top - rootElement.getBoundingClientRect().bottom + CONTEXT_MENU_OFFSET >= 0\n ) {\n setIsHidden(true);\n } else {\n setIsHidden(false);\n }\n flipMenuIfNotInViewpoort();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [parentScrollPosition]);\n\n return (\n <div\n className={clsx(styles['context-menu__wrapper'], [isHidden && styles['context-menu__wrapper--hidden']])}\n style={{\n transform: `${setMenuPosition()}`,\n }}\n ref={containerRef}\n >\n <button onClick={() => setIsOpen((prev) => !prev)} className={styles['context-menu__button']} ref={buttonRef}>\n <Icon name=\"CheveronDown\" size={16} />\n </button>\n <ul ref={menuRef} className={clsx(styles['context-menu'], isOpen && styles['context-menu--open'])}>\n <li>\n <button\n onClick={() => handleAction('insertRowAbove')}\n className={styles['context-menu__item']}\n aria-label={t.aria.labels.tableInsertRowAbove}\n >\n {t.table.insertRowAbove}\n </button>\n </li>\n <li>\n <button\n onClick={() => handleAction('insertRowBelow')}\n className={styles['context-menu__item']}\n aria-label={t.aria.labels.tableInsertRowBelow}\n >\n {t.table.insertRowBelow}\n </button>\n </li>\n <li className={styles['context-menu__item-divider']}>\n <button\n onClick={() => handleAction('deleteRow')}\n className={styles['context-menu__item']}\n aria-label={t.aria.labels.tableDeleteRow}\n >\n {t.table.deleteRow}\n </button>\n </li>\n\n <li>\n <button\n onClick={() => handleAction('insertColumnLeft')}\n className={styles['context-menu__item']}\n aria-label={t.aria.labels.tableInsertColumnLeft}\n >\n {t.table.insertColumnLeft}\n </button>\n </li>\n <li>\n <button\n onClick={() => handleAction('insertColumnRight')}\n className={styles['context-menu__item']}\n aria-label={t.aria.labels.tableInsertColumnRight}\n >\n {t.table.insertColumnRight}\n </button>\n </li>\n <li className={styles['context-menu__item-divider']}>\n <button\n onClick={() => handleAction('deleteColumn')}\n className={styles['context-menu__item']}\n aria-label={t.aria.labels.tableDeleteColumn}\n type=\"button\"\n >\n {t.table.deleteColumn}\n </button>\n </li>\n\n <li>\n <button\n onClick={() => handleAction('deleteTable')}\n className={styles['context-menu__item']}\n aria-label={t.aria.labels.tableDeleteTable}\n type=\"button\"\n >\n {t.table.deleteTable}\n </button>\n </li>\n </ul>\n </div>\n );\n};\n"],"names":["CONTEXT_MENU_OFFSET","WHITE_SPACE","BUTTON_SHIFT","BUTTON_RESET","mesureElement","srcElement","height","TableCellContextMenu","position","parentScrollPosition","onAction","useTranslation","isOpen","setIsOpen","useState","isHidden","setIsHidden","localPosition","setLocalPosition","menuHeight","setMenuHeight","startScrollPosition","useRef","menuRef","containerRef","buttonRef","editor","useLexicalComposerContext","handleAction","action","flipMenuIfNotInViewpoort","menuWidth","setMenuPosition","useEffect","rect","rootElement","jsxs","clsx","styles","jsx","prev","Icon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TableCellContextMenu.js","sources":["../../../../../../src/components/RteEditor/Plugins/TablePlugin/TableCellContextMenu/TableCellContextMenu.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\n\nimport type { Position } from 'components/RteEditor/Plugins/ToolbarPlugin';\n\nimport styles from './TableCellContextMenu.module.css';\n\nimport { Icon } from 'components/Icon';\nimport { useTranslation } from 'components/RteEditor/hooks/useTranslation';\n\nexport type Actions =\n | 'insertRowAbove'\n | 'insertRowBelow'\n | 'deleteRow'\n | 'deleteTable'\n | 'insertColumnLeft'\n | 'insertColumnRight'\n | 'deleteColumn';\ninterface TableCellContextMenuProps {\n position: Position;\n parentScrollPosition: number;\n onAction: (action: Actions) => void;\n}\n\nconst CONTEXT_MENU_OFFSET = 25;\nconst WHITE_SPACE = 10;\nconst BUTTON_SHIFT = 4;\nconst BUTTON_RESET = 25;\n\nconst mesureElement = (srcElement: HTMLElement) => {\n const mesureElement = srcElement.cloneNode(true) as HTMLElement;\n mesureElement.style.height = 'auto';\n mesureElement.style.left = '-3000px';\n document.body.appendChild(mesureElement);\n const height = mesureElement.getBoundingClientRect().height;\n document.body.removeChild(mesureElement);\n return height;\n};\n\nexport const TableCellContextMenu = ({ position, parentScrollPosition, onAction }: TableCellContextMenuProps) => {\n const t = useTranslation();\n const [isOpen, setIsOpen] = useState(false);\n const [isHidden, setIsHidden] = useState(false);\n const [localPosition, setLocalPosition] = useState<Position>({ xPos: 0, yPos: 0, height: 0 });\n const [menuHeight, setMenuHeight] = useState(0);\n const startScrollPosition = useRef(0);\n const menuRef = useRef<HTMLUListElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const buttonRef = useRef<HTMLButtonElement>(null);\n const [editor] = useLexicalComposerContext();\n\n const handleAction = (action: Actions) => {\n onAction(action);\n setIsOpen(false);\n };\n\n const flipMenuIfNotInViewpoort = () => {\n const menuWidth = menuRef.current ? menuRef.current.getBoundingClientRect().width : 0;\n\n if (containerRef.current && menuRef.current && buttonRef.current) {\n if (localPosition.xPos < menuWidth && containerRef.current) {\n containerRef.current.style.left = `${menuWidth - localPosition.xPos + WHITE_SPACE}px`;\n buttonRef.current.style.right = `${menuWidth - localPosition.xPos + BUTTON_SHIFT + WHITE_SPACE}px`;\n } else {\n containerRef.current.style.left = '0px';\n buttonRef.current.style.right = `${BUTTON_SHIFT}px`;\n }\n\n if (!menuHeight) {\n setMenuHeight(mesureElement(menuRef.current));\n }\n\n if (menuHeight > document.documentElement.clientHeight - localPosition.yPos) {\n containerRef.current.style.top = `-${menuHeight + localPosition.height}px`;\n buttonRef.current.style.top = `${menuHeight + BUTTON_SHIFT}px`;\n buttonRef.current.style.transform = 'rotate(180deg)';\n } else {\n containerRef.current.style.top = '0px';\n buttonRef.current.style.top = `-${BUTTON_RESET}px`;\n buttonRef.current.style.transform = 'none';\n }\n }\n };\n\n const setMenuPosition = () => {\n flipMenuIfNotInViewpoort();\n return `translate(${(localPosition?.xPos ?? 0) - (menuRef.current ? menuRef.current.getBoundingClientRect().width : 0)}px, ${localPosition.yPos - (parentScrollPosition - startScrollPosition.current)}px)`;\n };\n\n useEffect(() => {\n setLocalPosition(position);\n if (position) {\n startScrollPosition.current = parentScrollPosition;\n }\n setIsOpen(false);\n setIsHidden(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [position]);\n\n useEffect(() => {\n if (buttonRef.current) {\n const rect = buttonRef.current.getBoundingClientRect();\n const rootElement = editor.getRootElement();\n if (!rootElement) return;\n if (\n rect.top - rootElement.getBoundingClientRect().top <= 0 ||\n rect.top - rootElement.getBoundingClientRect().bottom + CONTEXT_MENU_OFFSET >= 0\n ) {\n setIsHidden(true);\n } else {\n setIsHidden(false);\n }\n flipMenuIfNotInViewpoort();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [parentScrollPosition]);\n\n return (\n <div\n className={clsx(styles['context-menu__wrapper'], [isHidden && styles['context-menu__wrapper--hidden']])}\n style={{\n transform: `${setMenuPosition()}`,\n }}\n ref={containerRef}\n >\n <button\n type=\"button\"\n onClick={() => setIsOpen((prev) => !prev)}\n className={styles['context-menu__button']}\n ref={buttonRef}\n >\n <Icon name=\"CheveronDown\" size={16} />\n </button>\n <ul ref={menuRef} className={clsx(styles['context-menu'], isOpen && styles['context-menu--open'])}>\n <li>\n <button\n type=\"button\"\n onClick={() => handleAction('insertRowAbove')}\n className={styles['context-menu__item']}\n aria-label={t.aria.labels.tableInsertRowAbove}\n >\n {t.table.insertRowAbove}\n </button>\n </li>\n <li>\n <button\n type=\"button\"\n onClick={() => handleAction('insertRowBelow')}\n className={styles['context-menu__item']}\n aria-label={t.aria.labels.tableInsertRowBelow}\n >\n {t.table.insertRowBelow}\n </button>\n </li>\n <li className={styles['context-menu__item-divider']}>\n <button\n type=\"button\"\n onClick={() => handleAction('deleteRow')}\n className={styles['context-menu__item']}\n aria-label={t.aria.labels.tableDeleteRow}\n >\n {t.table.deleteRow}\n </button>\n </li>\n\n <li>\n <button\n type=\"button\"\n onClick={() => handleAction('insertColumnLeft')}\n className={styles['context-menu__item']}\n aria-label={t.aria.labels.tableInsertColumnLeft}\n >\n {t.table.insertColumnLeft}\n </button>\n </li>\n <li>\n <button\n type=\"button\"\n onClick={() => handleAction('insertColumnRight')}\n className={styles['context-menu__item']}\n aria-label={t.aria.labels.tableInsertColumnRight}\n >\n {t.table.insertColumnRight}\n </button>\n </li>\n <li className={styles['context-menu__item-divider']}>\n <button\n type=\"button\"\n onClick={() => handleAction('deleteColumn')}\n className={styles['context-menu__item']}\n aria-label={t.aria.labels.tableDeleteColumn}\n >\n {t.table.deleteColumn}\n </button>\n </li>\n\n <li>\n <button\n type=\"button\"\n onClick={() => handleAction('deleteTable')}\n className={styles['context-menu__item']}\n aria-label={t.aria.labels.tableDeleteTable}\n >\n {t.table.deleteTable}\n </button>\n </li>\n </ul>\n </div>\n );\n};\n"],"names":["CONTEXT_MENU_OFFSET","WHITE_SPACE","BUTTON_SHIFT","BUTTON_RESET","mesureElement","srcElement","height","TableCellContextMenu","position","parentScrollPosition","onAction","useTranslation","isOpen","setIsOpen","useState","isHidden","setIsHidden","localPosition","setLocalPosition","menuHeight","setMenuHeight","startScrollPosition","useRef","menuRef","containerRef","buttonRef","editor","useLexicalComposerContext","handleAction","action","flipMenuIfNotInViewpoort","menuWidth","setMenuPosition","useEffect","rect","rootElement","jsxs","clsx","styles","jsx","prev","Icon"],"mappings":";;;;;;;;;;;;;;GAyBMA,IAAsB,IACtBC,IAAc,IACdC,IAAe,GACfC,IAAe,IAEfC,IAAgB,CAACC,MAA4B;AAC3CD,QAAAA,IAAgBC,EAAW,UAAU,EAAI;AAC/CD,EAAAA,EAAc,MAAM,SAAS,QAC7BA,EAAc,MAAM,OAAO,WAClB,SAAA,KAAK,YAAYA,CAAa;AACjC,QAAAE,IAASF,EAAc,sBAAA,EAAwB;AAC5C,kBAAA,KAAK,YAAYA,CAAa,GAChCE;AACT,GAEaC,IAAuB,CAAC,EAAE,UAAAC,GAAU,sBAAAC,GAAsB,UAAAC,QAA0C;AAC/G,QAAM,IAAIC,KACJ,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GACpC,CAACC,GAAUC,CAAW,IAAIF,EAAS,EAAK,GACxC,CAACG,GAAeC,CAAgB,IAAIJ,EAAmB,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,EAAG,CAAA,GACtF,CAACK,GAAYC,CAAa,IAAIN,EAAS,CAAC,GACxCO,IAAsBC,EAAO,CAAC,GAC9BC,IAAUD,EAAyB,IAAI,GACvCE,IAAeF,EAAuB,IAAI,GAC1CG,IAAYH,EAA0B,IAAI,GAC1C,CAACI,CAAM,IAAIC,KAEXC,IAAe,CAACC,MAAoB;AACxC,IAAAnB,EAASmB,CAAM,GACfhB,EAAU,EAAK;AAAA,EAAA,GAGXiB,IAA2B,MAAM;AACrC,UAAMC,IAAYR,EAAQ,UAAUA,EAAQ,QAAQ,sBAAA,EAAwB,QAAQ;AAEpF,IAAIC,EAAa,WAAWD,EAAQ,WAAWE,EAAU,YACnDR,EAAc,OAAOc,KAAaP,EAAa,WACjDA,EAAa,QAAQ,MAAM,OAAO,GAAGO,IAAYd,EAAc,OAAOhB,CAAW,MACvEwB,EAAA,QAAQ,MAAM,QAAQ,GAAGM,IAAYd,EAAc,OAAOf,IAAeD,CAAW,SAEjFuB,EAAA,QAAQ,MAAM,OAAO,OAClCC,EAAU,QAAQ,MAAM,QAAQ,GAAGvB,CAAY,OAG5CiB,KACWC,EAAAhB,EAAcmB,EAAQ,OAAO,CAAC,GAG1CJ,IAAa,SAAS,gBAAgB,eAAeF,EAAc,QACrEO,EAAa,QAAQ,MAAM,MAAM,IAAIL,IAAaF,EAAc,MAAM,MACtEQ,EAAU,QAAQ,MAAM,MAAM,GAAGN,IAAajB,CAAY,MAChDuB,EAAA,QAAQ,MAAM,YAAY,qBAEvBD,EAAA,QAAQ,MAAM,MAAM,OACjCC,EAAU,QAAQ,MAAM,MAAM,IAAItB,CAAY,MACpCsB,EAAA,QAAQ,MAAM,YAAY;AAAA,EAExC,GAGIO,IAAkB,OACGF,KAClB,eAAcb,KAAA,gBAAAA,EAAe,SAAQ,MAAMM,EAAQ,UAAUA,EAAQ,QAAQ,sBAAsB,EAAE,QAAQ,EAAE,OAAON,EAAc,QAAQR,IAAuBY,EAAoB,QAAQ;AAGxM,SAAAY,EAAU,MAAM;AACd,IAAAf,EAAiBV,CAAQ,GACrBA,MACFa,EAAoB,UAAUZ,IAEhCI,EAAU,EAAK,GACfG,EAAY,EAAK;AAAA,EAAA,GAEhB,CAACR,CAAQ,CAAC,GAEbyB,EAAU,MAAM;AACd,QAAIR,EAAU,SAAS;AACf,YAAAS,IAAOT,EAAU,QAAQ,sBAAsB,GAC/CU,IAAcT,EAAO;AAC3B,UAAI,CAACS,EAAa;AAClB,MACED,EAAK,MAAMC,EAAY,wBAAwB,OAAO,KACtDD,EAAK,MAAMC,EAAY,sBAAA,EAAwB,SAASnC,KAAuB,IAE/EgB,EAAY,EAAI,IAEhBA,EAAY,EAAK,GAEMc;IAC3B;AAAA,EAAA,GAEC,CAACrB,CAAoB,CAAC,GAGvB,gBAAA2B;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAKC,EAAO,uBAAuB,GAAG,CAACvB,KAAYuB,EAAO,+BAA+B,CAAC,CAAC;AAAA,MACtG,OAAO;AAAA,QACL,WAAW,GAAGN,EAAA,CAAiB;AAAA,MACjC;AAAA,MACA,KAAKR;AAAA,MAEL,UAAA;AAAA,QAAA,gBAAAe;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAS,MAAM1B,EAAU,CAAC2B,MAAS,CAACA,CAAI;AAAA,YACxC,WAAWF,EAAO,sBAAsB;AAAA,YACxC,KAAKb;AAAA,YAEL,UAAC,gBAAAc,EAAAE,GAAA,EAAK,MAAK,gBAAe,MAAM,IAAI;AAAA,UAAA;AAAA,QACtC;AAAA,QACC,gBAAAL,EAAA,MAAA,EAAG,KAAKb,GAAS,WAAWc,EAAKC,EAAO,cAAc,GAAG1B,KAAU0B,EAAO,oBAAoB,CAAC,GAC9F,UAAA;AAAA,UAAA,gBAAAC,EAAC,MACC,EAAA,UAAA,gBAAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAS,MAAMX,EAAa,gBAAgB;AAAA,cAC5C,WAAWU,EAAO,oBAAoB;AAAA,cACtC,cAAY,EAAE,KAAK,OAAO;AAAA,cAEzB,YAAE,MAAM;AAAA,YAAA;AAAA,UAAA,GAEb;AAAA,4BACC,MACC,EAAA,UAAA,gBAAAC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAS,MAAMX,EAAa,gBAAgB;AAAA,cAC5C,WAAWU,EAAO,oBAAoB;AAAA,cACtC,cAAY,EAAE,KAAK,OAAO;AAAA,cAEzB,YAAE,MAAM;AAAA,YAAA;AAAA,UAAA,GAEb;AAAA,UACC,gBAAAC,EAAA,MAAA,EAAG,WAAWD,EAAO,4BAA4B,GAChD,UAAA,gBAAAC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAS,MAAMX,EAAa,WAAW;AAAA,cACvC,WAAWU,EAAO,oBAAoB;AAAA,cACtC,cAAY,EAAE,KAAK,OAAO;AAAA,cAEzB,YAAE,MAAM;AAAA,YAAA;AAAA,UAAA,GAEb;AAAA,4BAEC,MACC,EAAA,UAAA,gBAAAC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAS,MAAMX,EAAa,kBAAkB;AAAA,cAC9C,WAAWU,EAAO,oBAAoB;AAAA,cACtC,cAAY,EAAE,KAAK,OAAO;AAAA,cAEzB,YAAE,MAAM;AAAA,YAAA;AAAA,UAAA,GAEb;AAAA,4BACC,MACC,EAAA,UAAA,gBAAAC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAS,MAAMX,EAAa,mBAAmB;AAAA,cAC/C,WAAWU,EAAO,oBAAoB;AAAA,cACtC,cAAY,EAAE,KAAK,OAAO;AAAA,cAEzB,YAAE,MAAM;AAAA,YAAA;AAAA,UAAA,GAEb;AAAA,UACC,gBAAAC,EAAA,MAAA,EAAG,WAAWD,EAAO,4BAA4B,GAChD,UAAA,gBAAAC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAS,MAAMX,EAAa,cAAc;AAAA,cAC1C,WAAWU,EAAO,oBAAoB;AAAA,cACtC,cAAY,EAAE,KAAK,OAAO;AAAA,cAEzB,YAAE,MAAM;AAAA,YAAA;AAAA,UAAA,GAEb;AAAA,4BAEC,MACC,EAAA,UAAA,gBAAAC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAS,MAAMX,EAAa,aAAa;AAAA,cACzC,WAAWU,EAAO,oBAAoB;AAAA,cACtC,cAAY,EAAE,KAAK,OAAO;AAAA,cAEzB,YAAE,MAAM;AAAA,YAAA;AAAA,UAAA,GAEb;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -4,7 +4,7 @@ import "../../../../clsx-OuTLNxxd.js";
|
|
|
4
4
|
import "../../../../helpers-DONVwywj.js";
|
|
5
5
|
import "../../../../Lexical.prod-eo-UKDld.js";
|
|
6
6
|
import "react";
|
|
7
|
-
import { T as B } from "../../../../TablePlugin-
|
|
7
|
+
import { T as B } from "../../../../TablePlugin-Dhg4yUqE.js";
|
|
8
8
|
import "../../hooks/useFlyout.js";
|
|
9
9
|
import "../../../Icon/Icon.js";
|
|
10
10
|
import "../../../Buttons/Button.js";
|
|
@@ -19,7 +19,7 @@ import "../../../IconButton/IconButton.js";
|
|
|
19
19
|
import "../../../Input/Input.js";
|
|
20
20
|
import "../../../InputField/InputField.js";
|
|
21
21
|
import "react-router-dom";
|
|
22
|
-
import "../../../../RteEditor.module-
|
|
22
|
+
import "../../../../RteEditor.module-D98nXtwi.js";
|
|
23
23
|
import "../../hooks/useTranslation.js";
|
|
24
24
|
import "../../Providers/LanguageProvider.js";
|
|
25
25
|
import "../../../SelectListbox/SelectListbox.js";
|
|
@@ -4,12 +4,12 @@ import { A as d, x as b } from "../../../../Lexical.prod-eo-UKDld.js";
|
|
|
4
4
|
import { useState as P, useRef as x, useCallback as T, useEffect as y } from "react";
|
|
5
5
|
import { g as A } from "../../../../helpers-DONVwywj.js";
|
|
6
6
|
import { BlockFormatPlugin as B } from "../BlockFormatPlugin/BlockFormatPlugin.js";
|
|
7
|
-
import { L as C } from "../../../../ListPlugin-
|
|
7
|
+
import { L as C } from "../../../../ListPlugin-BaGD7Mnf.js";
|
|
8
8
|
import { LinkPlugin as L } from "../LinkPlugin/LinkPlugin.js";
|
|
9
9
|
import { HistoryPlugin as N } from "../HistoryPlugin/HistoryPlugin.js";
|
|
10
|
-
import { T as k } from "../../../../TablePlugin-
|
|
10
|
+
import { T as k } from "../../../../TablePlugin-Dhg4yUqE.js";
|
|
11
11
|
import { TableCellContextMenu as j } from "../TablePlugin/TableCellContextMenu/TableCellContextMenu.js";
|
|
12
|
-
import { s as v } from "../../../../RteEditor.module-
|
|
12
|
+
import { s as v } from "../../../../RteEditor.module-D98nXtwi.js";
|
|
13
13
|
const D = ({ editorScrollPosition: u }) => {
|
|
14
14
|
const [e] = h(), [r, s] = P(null), l = x(null), a = T(() => {
|
|
15
15
|
const o = d();
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ToolBarPlugin as e } from "./ToolbarPlugin/ToolbarPlugin.js";
|
|
2
2
|
import { BlockFormatPlugin as l } from "./BlockFormatPlugin/BlockFormatPlugin.js";
|
|
3
|
-
import { L as n } from "../../../ListPlugin-
|
|
3
|
+
import { L as n } from "../../../ListPlugin-BaGD7Mnf.js";
|
|
4
4
|
import { LinkPlugin as m, getLinkNodeTag as x } from "./LinkPlugin/LinkPlugin.js";
|
|
5
5
|
import { HistoryPlugin as f } from "./HistoryPlugin/HistoryPlugin.js";
|
|
6
|
-
import { T as u } from "../../../TablePlugin-
|
|
6
|
+
import { T as u } from "../../../TablePlugin-Dhg4yUqE.js";
|
|
7
7
|
import { TableCellContextMenu as T } from "./TablePlugin/TableCellContextMenu/TableCellContextMenu.js";
|
|
8
8
|
export {
|
|
9
9
|
l as BlockFormatPlugin,
|