@uva-glass/component-library 1.53.0 → 1.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AddTableFrom-CwnPli3F.js +162 -0
- package/dist/AddTableFrom-CwnPli3F.js.map +1 -0
- package/dist/{Lexical.prod-DNRTKPfN.js → Lexical.prod-BiuZHlIm.js} +927 -897
- package/dist/Lexical.prod-BiuZHlIm.js.map +1 -0
- package/dist/LexicalUtils.prod-BZOm66mY.js +94 -0
- package/dist/{LexicalUtils.prod-D_BPEjfg.js.map → LexicalUtils.prod-BZOm66mY.js.map} +1 -1
- package/dist/{ListPlugin-CgNBzfIl.js → ListPlugin-DFFbKLaN.js} +4 -4
- package/dist/{ListPlugin-CgNBzfIl.js.map → ListPlugin-DFFbKLaN.js.map} +1 -1
- package/dist/RteEditor.module-BBbfV1rk.js +24 -0
- package/dist/RteEditor.module-BBbfV1rk.js.map +1 -0
- package/dist/Sortable.module-BrgGu8qp.js +24 -0
- package/dist/Sortable.module-BrgGu8qp.js.map +1 -0
- package/dist/SortableProvider-Z0e0qeQT.js +152 -0
- package/dist/SortableProvider-Z0e0qeQT.js.map +1 -0
- package/dist/TablePlugin-CKJQiwra.js +1506 -0
- package/dist/TablePlugin-CKJQiwra.js.map +1 -0
- package/dist/assets/AddTableFrom.css +1 -0
- package/dist/assets/PageOverlay.css +1 -0
- package/dist/assets/RteEditor.css +1 -1
- package/dist/assets/Sortable.css +1 -0
- package/dist/assets/useFlyout.css +1 -1
- package/dist/components/CheckboxTree/CheckboxTree.js +11 -9
- package/dist/components/CheckboxTree/CheckboxTree.js.map +1 -1
- package/dist/components/Icon/icons/index.d.ts +3 -0
- package/dist/components/Icon/icons/index.js +18 -13
- package/dist/components/Icon/icons/index.js.map +1 -1
- package/dist/components/InputField/InputField.stories.js +13 -11
- package/dist/components/InputField/InputField.stories.js.map +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 +4 -2
- package/dist/components/MultiSelect/components/MultiSelectHeader.js.map +1 -1
- package/dist/components/MultiSelect/index.js +1 -1
- package/dist/components/PageOverlay/PageOverlay.d.ts +25 -0
- package/dist/components/PageOverlay/PageOverlay.js +100 -0
- package/dist/components/PageOverlay/PageOverlay.js.map +1 -0
- package/dist/components/PageOverlay/PageOverlay.stories.d.ts +7 -0
- package/dist/components/PageOverlay/PageOverlay.stories.js +167 -0
- package/dist/components/PageOverlay/PageOverlay.stories.js.map +1 -0
- package/dist/components/PageOverlay/index.d.ts +1 -0
- package/dist/components/PageOverlay/index.js +5 -0
- package/dist/components/PageOverlay/index.js.map +1 -0
- package/dist/components/ProgrammeCard/ProgrammeCard.stories.js +26 -24
- package/dist/components/ProgrammeCard/ProgrammeCard.stories.js.map +1 -1
- package/dist/components/RteEditor/Plugins/BlockFormatPlugin/BlockFormatPlugin.js +2 -2
- package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js +18 -16
- package/dist/components/RteEditor/Plugins/HistoryPlugin/HistoryPlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkFrom.d.ts +12 -0
- package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkFrom.js +28 -0
- package/dist/components/RteEditor/Plugins/LinkPlugin/AddLinkFrom.js.map +1 -0
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js +49 -68
- package/dist/components/RteEditor/Plugins/LinkPlugin/LinkPlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/LinkPlugin/helpers.js +1 -1
- package/dist/components/RteEditor/Plugins/ListPlugin/ListPlugin.js +3 -3
- package/dist/components/RteEditor/Plugins/ListPlugin/index.js +1 -1
- package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.d.ts +10 -0
- package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js +25 -0
- package/dist/components/RteEditor/Plugins/TablePlugin/AddTableFrom.js.map +1 -0
- package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.d.ts +1 -0
- package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js +29 -0
- package/dist/components/RteEditor/Plugins/TablePlugin/TablePlugin.js.map +1 -0
- package/dist/components/RteEditor/Plugins/TablePlugin/index.d.ts +1 -0
- package/dist/components/RteEditor/Plugins/TablePlugin/index.js +5 -0
- package/dist/components/RteEditor/Plugins/TablePlugin/index.js.map +1 -0
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js +26 -24
- package/dist/components/RteEditor/Plugins/ToolbarPlugin/ToolbarPlugin.js.map +1 -1
- package/dist/components/RteEditor/Plugins/index.d.ts +1 -0
- package/dist/components/RteEditor/Plugins/index.js +6 -4
- package/dist/components/RteEditor/Plugins/index.js.map +1 -1
- package/dist/components/RteEditor/RteEditor.js +559 -774
- package/dist/components/RteEditor/RteEditor.js.map +1 -1
- package/dist/components/RteEditor/UvaTheme/UvaTheme.d.ts +1 -0
- package/dist/components/RteEditor/UvaTheme/UvaTheme.js +5 -4
- package/dist/components/RteEditor/UvaTheme/UvaTheme.js.map +1 -1
- package/dist/components/RteEditor/hooks/useFlyout.d.ts +1 -0
- package/dist/components/RteEditor/hooks/useFlyout.js +18 -36
- package/dist/components/RteEditor/hooks/useFlyout.js.map +1 -1
- package/dist/components/Sortable/Sortable.d.ts +16 -0
- package/dist/components/Sortable/Sortable.js +27 -0
- package/dist/components/Sortable/Sortable.js.map +1 -0
- package/dist/components/Sortable/Sortable.stories.d.ts +7 -0
- package/dist/components/Sortable/Sortable.stories.js +53 -0
- package/dist/components/Sortable/Sortable.stories.js.map +1 -0
- package/dist/components/Sortable/SortableProvider.d.ts +23 -0
- package/dist/components/Sortable/SortableProvider.js +10 -0
- package/dist/components/Sortable/SortableProvider.js.map +1 -0
- package/dist/components/Sortable/actions.d.ts +49 -0
- package/dist/components/Sortable/actions.js +33 -0
- package/dist/components/Sortable/actions.js.map +1 -0
- package/dist/components/Sortable/components/SortableContainer.d.ts +7 -0
- package/dist/components/Sortable/components/SortableContainer.js +9 -0
- package/dist/components/Sortable/components/SortableContainer.js.map +1 -0
- package/dist/components/Sortable/components/SortableHandle.d.ts +4 -0
- package/dist/components/Sortable/components/SortableHandle.js +11 -0
- package/dist/components/Sortable/components/SortableHandle.js.map +1 -0
- package/dist/components/Sortable/components/SortableItem.d.ts +9 -0
- package/dist/components/Sortable/components/SortableItem.js +113 -0
- package/dist/components/Sortable/components/SortableItem.js.map +1 -0
- package/dist/components/Sortable/constants.d.ts +10 -0
- package/dist/components/Sortable/constants.js +14 -0
- package/dist/components/Sortable/constants.js.map +1 -0
- package/dist/components/Sortable/index.d.ts +1 -0
- package/dist/components/Sortable/index.js +5 -0
- package/dist/components/Sortable/index.js.map +1 -0
- package/dist/components/Sortable/sortableReducer.d.ts +24 -0
- package/dist/components/Sortable/sortableReducer.js +92 -0
- package/dist/components/Sortable/sortableReducer.js.map +1 -0
- package/dist/components/hooks/useOnClickOuside.d.ts +4 -0
- package/dist/components/hooks/useOnClickOuside.js +15 -0
- package/dist/components/hooks/useOnClickOuside.js.map +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +45 -41
- package/dist/components/index.js.map +1 -1
- package/dist/{helpers-TSjo3aAv.js → helpers-CJF7fErD.js} +3 -3
- package/dist/{helpers-TSjo3aAv.js.map → helpers-CJF7fErD.js.map} +1 -1
- package/dist/index.js +45 -41
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/Lexical.prod-DNRTKPfN.js.map +0 -1
- package/dist/LexicalUtils.prod-D_BPEjfg.js +0 -64
- package/dist/MultiSelect-D1FnMER4.js +0 -53
- package/dist/MultiSelect-D1FnMER4.js.map +0 -1
- package/dist/RteEditor.module-BjGyWKhW.js +0 -26
- package/dist/RteEditor.module-BjGyWKhW.js.map +0 -1
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { jsxs as l, jsx as e, Fragment as O } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as A, useState as k, useRef as M, useImperativeHandle as U } from "react";
|
|
3
|
+
import { Button as v } from "./components/Buttons/Button.js";
|
|
4
|
+
import "./components/Buttons/LinkButton.js";
|
|
5
|
+
import "@react-aria/button";
|
|
6
|
+
import { Label as b } from "./components/Label/Label.js";
|
|
7
|
+
import "@react-aria/dialog";
|
|
8
|
+
import "@react-aria/focus";
|
|
9
|
+
import "@react-aria/overlays";
|
|
10
|
+
import "./components/OverlayCloseButton/OverlayCloseButton.js";
|
|
11
|
+
import { FormField as g } from "./components/FormField/FormField.js";
|
|
12
|
+
import "./components/GridRow/GridRow.js";
|
|
13
|
+
import "./components/IconButton/IconButton.js";
|
|
14
|
+
import "./components/Input/Input.js";
|
|
15
|
+
import { InputField as j } from "./components/InputField/InputField.js";
|
|
16
|
+
import "react-router-dom";
|
|
17
|
+
import { c as y } from "./clsx-OuTLNxxd.js";
|
|
18
|
+
import { s as p, M as T } from "./MultiSelectItem-D9PxdX43.js";
|
|
19
|
+
import { v as q } from "./helpers-CJF7fErD.js";
|
|
20
|
+
import { Checkbox as H } from "./components/Checkbox/Checkbox.js";
|
|
21
|
+
import { FeedbackBox as L } from "./components/FeedbackBox/FeedbackBox.js";
|
|
22
|
+
import "./components/SelectListbox/SelectListbox.js";
|
|
23
|
+
import "./components/SelectListbox/SelectProvider.js";
|
|
24
|
+
import "./components/Sortable/components/SortableItem.js";
|
|
25
|
+
import "./SortableProvider-Z0e0qeQT.js";
|
|
26
|
+
import './assets/AddTableFrom.css';function B({ label: a, clearTrigger: n, onClear: i }) {
|
|
27
|
+
return /* @__PURE__ */ l("header", { className: p["multi-select__header"], children: [
|
|
28
|
+
/* @__PURE__ */ e(b, { htmlFor: "multi-select-list", children: a }),
|
|
29
|
+
n && /* @__PURE__ */ e(v, { variant: "blank", onClick: i, children: n })
|
|
30
|
+
] });
|
|
31
|
+
}
|
|
32
|
+
const x = ({ scrollable: a = !0, noBorder: n, header: i, children: t }) => /* @__PURE__ */ l(O, { children: [
|
|
33
|
+
i,
|
|
34
|
+
/* @__PURE__ */ e(
|
|
35
|
+
"div",
|
|
36
|
+
{
|
|
37
|
+
className: y(p["multi-select"], {
|
|
38
|
+
[p["multi-select--no-border"]]: n
|
|
39
|
+
}),
|
|
40
|
+
children: /* @__PURE__ */ e(
|
|
41
|
+
"ul",
|
|
42
|
+
{
|
|
43
|
+
className: y(p["multi-select__list"], {
|
|
44
|
+
[p["multi-select__list--scrollable"]]: a
|
|
45
|
+
}),
|
|
46
|
+
id: "multi-select-list",
|
|
47
|
+
children: t
|
|
48
|
+
}
|
|
49
|
+
)
|
|
50
|
+
}
|
|
51
|
+
)
|
|
52
|
+
] });
|
|
53
|
+
x.MultiSelectHeader = B;
|
|
54
|
+
x.MultiSelectItem = T;
|
|
55
|
+
const E = "_linkform_1wkvj_1", $ = "_linkform__footer_1wkvj_23", S = {
|
|
56
|
+
linkform: E,
|
|
57
|
+
"linkform__input-field": "_linkform__input-field_1wkvj_9",
|
|
58
|
+
linkform__footer: $
|
|
59
|
+
}, he = A(
|
|
60
|
+
({ onCloseHandler: a, onSaveHandler: n, isLink: i = { active: !1, url: "", target: "_self" } }, t) => {
|
|
61
|
+
const [d, s] = k(i.target === "_blank"), [m, f] = k(i.url), [u, c] = k(null), _ = M(null), h = (o) => {
|
|
62
|
+
f(o.target.value);
|
|
63
|
+
}, r = () => {
|
|
64
|
+
s((o) => !o);
|
|
65
|
+
}, w = (o) => !o && o.trim() === "" || q(o) === !1 ? (c("Geen of geen geldige url ingevoerd"), !1) : (c(null), !0), F = () => {
|
|
66
|
+
w(m) && (n(m, d ? "_blank" : "_self"), N());
|
|
67
|
+
}, I = () => {
|
|
68
|
+
a(), N();
|
|
69
|
+
}, N = () => {
|
|
70
|
+
f(""), c(null);
|
|
71
|
+
}, R = () => {
|
|
72
|
+
_.current && _.current.focus();
|
|
73
|
+
};
|
|
74
|
+
return U(t, () => ({
|
|
75
|
+
clearForm: N,
|
|
76
|
+
focusFirstField: R
|
|
77
|
+
})), /* @__PURE__ */ l("div", { className: S.linkform, children: [
|
|
78
|
+
/* @__PURE__ */ l(g, { className: S["linkform__input-field"], children: [
|
|
79
|
+
/* @__PURE__ */ e(b, { htmlFor: "linkUrl", children: "Link" }),
|
|
80
|
+
/* @__PURE__ */ e(
|
|
81
|
+
j,
|
|
82
|
+
{
|
|
83
|
+
id: "linkUrl",
|
|
84
|
+
placeholder: "http(s)://",
|
|
85
|
+
value: m || "",
|
|
86
|
+
onChange: (o) => h(o),
|
|
87
|
+
onFocus: () => c(null),
|
|
88
|
+
ref: _
|
|
89
|
+
}
|
|
90
|
+
),
|
|
91
|
+
u && /* @__PURE__ */ e(L, { level: "error", feedback: u })
|
|
92
|
+
] }),
|
|
93
|
+
/* @__PURE__ */ l(g, { inline: !0, children: [
|
|
94
|
+
/* @__PURE__ */ e(H, { id: "linkTarget", onChange: r, checked: d }),
|
|
95
|
+
/* @__PURE__ */ e(b, { htmlFor: "linkTarget", children: "Open in nieuwe window" })
|
|
96
|
+
] }),
|
|
97
|
+
/* @__PURE__ */ l("div", { className: S.linkform__footer, children: [
|
|
98
|
+
/* @__PURE__ */ e(v, { variant: "secondary", onClick: I, children: "Annuleer" }),
|
|
99
|
+
/* @__PURE__ */ e(v, { variant: "primary", onClick: F, children: "Link" })
|
|
100
|
+
] })
|
|
101
|
+
] });
|
|
102
|
+
}
|
|
103
|
+
), D = "_tableform_1ob5q_1", G = "_tableform__footer_1ob5q_23", C = {
|
|
104
|
+
tableform: D,
|
|
105
|
+
"tableform__input-field": "_tableform__input-field_1ob5q_9",
|
|
106
|
+
tableform__footer: G
|
|
107
|
+
}, pe = A(({ onCloseHandler: a, onSaveHandler: n }, i) => {
|
|
108
|
+
const [t, d] = k(), [s, m] = k(), f = M(null), u = (r, w) => {
|
|
109
|
+
const F = r.target.value;
|
|
110
|
+
w === "row" ? d(parseInt(F)) : m(parseInt(F));
|
|
111
|
+
}, c = () => {
|
|
112
|
+
t !== void 0 && s !== void 0 && (n(t, s), h());
|
|
113
|
+
}, _ = () => {
|
|
114
|
+
a(), h();
|
|
115
|
+
}, h = () => {
|
|
116
|
+
d(void 0), m(void 0);
|
|
117
|
+
};
|
|
118
|
+
return U(i, () => ({
|
|
119
|
+
clearForm: h,
|
|
120
|
+
focusFirstField: () => {
|
|
121
|
+
var r;
|
|
122
|
+
return (r = f.current) == null ? void 0 : r.focus();
|
|
123
|
+
}
|
|
124
|
+
})), /* @__PURE__ */ l("div", { className: C.tableform, children: [
|
|
125
|
+
/* @__PURE__ */ l(g, { className: C["tableform__input-field"], children: [
|
|
126
|
+
/* @__PURE__ */ e(b, { htmlFor: "nrOfRows", children: "Aantal rijen" }),
|
|
127
|
+
/* @__PURE__ */ e(
|
|
128
|
+
j,
|
|
129
|
+
{
|
|
130
|
+
id: "nrOfRows",
|
|
131
|
+
placeholder: "aantal rijen",
|
|
132
|
+
value: t || "",
|
|
133
|
+
onChange: (r) => u(r, "row"),
|
|
134
|
+
ref: f
|
|
135
|
+
}
|
|
136
|
+
)
|
|
137
|
+
] }),
|
|
138
|
+
/* @__PURE__ */ l(g, { className: C["tableform__input-field"], children: [
|
|
139
|
+
/* @__PURE__ */ e(b, { htmlFor: "nrOfColumns", children: "Aantal kolommen" }),
|
|
140
|
+
/* @__PURE__ */ e(
|
|
141
|
+
j,
|
|
142
|
+
{
|
|
143
|
+
id: "nrOfRows",
|
|
144
|
+
placeholder: "aantal kolommen",
|
|
145
|
+
value: s || "",
|
|
146
|
+
onChange: (r) => u(r, "column")
|
|
147
|
+
}
|
|
148
|
+
)
|
|
149
|
+
] }),
|
|
150
|
+
/* @__PURE__ */ l("div", { className: C.tableform__footer, children: [
|
|
151
|
+
/* @__PURE__ */ e(v, { variant: "secondary", onClick: _, children: "Annuleer" }),
|
|
152
|
+
/* @__PURE__ */ e(v, { variant: "primary", onClick: c, disabled: !t || !s, children: "Voeg toe" })
|
|
153
|
+
] })
|
|
154
|
+
] });
|
|
155
|
+
});
|
|
156
|
+
export {
|
|
157
|
+
he as A,
|
|
158
|
+
x as M,
|
|
159
|
+
pe as a,
|
|
160
|
+
B as b
|
|
161
|
+
};
|
|
162
|
+
//# sourceMappingURL=AddTableFrom-CwnPli3F.js.map
|
|
@@ -0,0 +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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"}
|