@keboola/design 11.4.0 → 11.5.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/AGENTS.md +191 -1
- package/CHANGELOG.md +358 -0
- package/COMPONENT-API.md +68 -47
- package/dist/{AIKit-DDg5DBCG.js → AIKit-CNX6aiKm.js} +208 -62
- package/dist/AIKit-CNX6aiKm.js.map +1 -0
- package/dist/{Alert-DHJFrWnS.js → Alert-Ba5b2YPq.js} +2 -2
- package/dist/{Alert-DHJFrWnS.js.map → Alert-Ba5b2YPq.js.map} +1 -1
- package/dist/{Badge-Ch26CXoP.js → Badge-D0pXdekt.js} +2 -2
- package/dist/Badge-D0pXdekt.js.map +1 -0
- package/dist/{BrandEditor-Go7w8Zj2.js → BrandEditor-CSANsxUz.js} +6 -6
- package/dist/{BrandEditor-Go7w8Zj2.js.map → BrandEditor-CSANsxUz.js.map} +1 -1
- package/dist/{BrandLogo-Dmi7jo21.js → BrandLogo-CoKBk4MI.js} +4 -4
- package/dist/BrandLogo-CoKBk4MI.js.map +1 -0
- package/dist/{Breadcrumb-uEkM6adI.js → Breadcrumb-g_xn_-Nf.js} +2 -2
- package/dist/{Breadcrumb-uEkM6adI.js.map → Breadcrumb-g_xn_-Nf.js.map} +1 -1
- package/dist/{Checkbox-fC0BuO2B.js → Checkbox-CUIn2jap.js} +2 -2
- package/dist/{Checkbox-fC0BuO2B.js.map → Checkbox-CUIn2jap.js.map} +1 -1
- package/dist/{Clipboard-ChPdiUy3.js → Clipboard-BTW6C-b_.js} +2 -2
- package/dist/{Clipboard-ChPdiUy3.js.map → Clipboard-BTW6C-b_.js.map} +1 -1
- package/dist/{ClipboardButton-D9pDjgkB.js → ClipboardButton-CwZJdRaz.js} +2 -2
- package/dist/{ClipboardButton-D9pDjgkB.js.map → ClipboardButton-CwZJdRaz.js.map} +1 -1
- package/dist/{CodeEditor-Cxy3HnKH.js → CodeEditor-C9zy7PxK.js} +6 -6
- package/dist/{CodeEditor-Cxy3HnKH.js.map → CodeEditor-C9zy7PxK.js.map} +1 -1
- package/dist/{ColorInput-Bxj-1eLT.js → ColorInput-BZV-u_94.js} +3 -3
- package/dist/{ColorInput-Bxj-1eLT.js.map → ColorInput-BZV-u_94.js.map} +1 -1
- package/dist/{Combobox-Cs_1pj2q.js → Combobox-BfIfaVMA.js} +273 -104
- package/dist/Combobox-BfIfaVMA.js.map +1 -0
- package/dist/{Command-B7ML9YMv.js → Command-Bfa1kpbt.js} +2 -2
- package/dist/{Command-B7ML9YMv.js.map → Command-Bfa1kpbt.js.map} +1 -1
- package/dist/{CopyField-BO_sh-HO.js → CopyField-DpT0Ngz1.js} +2 -2
- package/dist/{CopyField-BO_sh-HO.js.map → CopyField-DpT0Ngz1.js.map} +1 -1
- package/dist/{DateInput-ZdaMQo5i.js → DateInput-DiEd5uCL.js} +3 -3
- package/dist/{DateInput-ZdaMQo5i.js.map → DateInput-DiEd5uCL.js.map} +1 -1
- package/dist/{DateRangeInput-DkvNh_sT.js → DateRangeInput-DPfVYchl.js} +3 -3
- package/dist/{DateRangeInput-DkvNh_sT.js.map → DateRangeInput-DPfVYchl.js.map} +1 -1
- package/dist/{FieldItem-CCd9-xnp.js → FieldItem-B7XMmZSz.js} +3 -3
- package/dist/{FieldItem-CCd9-xnp.js.map → FieldItem-B7XMmZSz.js.map} +1 -1
- package/dist/{Form-k6PH-em3.js → Form-CsttTHn4.js} +7 -7
- package/dist/Form-CsttTHn4.js.map +1 -0
- package/dist/{FormGroup-DbcDtrgU.js → FormGroup-DHvTFdno.js} +3 -3
- package/dist/{FormGroup-DbcDtrgU.js.map → FormGroup-DHvTFdno.js.map} +1 -1
- package/dist/{InputGroup-BnLHY0eq.js → InputGroup-DcZRlVnN.js} +22 -14
- package/dist/InputGroup-DcZRlVnN.js.map +1 -0
- package/dist/{Kbd-CvSM3D3-.js → Kbd-Cvvt91Q8.js} +14 -4
- package/dist/Kbd-Cvvt91Q8.js.map +1 -0
- package/dist/{MermaidDiagram-WkonYErO.js → MermaidDiagram-CXG5tC6J.js} +19 -18
- package/dist/MermaidDiagram-CXG5tC6J.js.map +1 -0
- package/dist/{MultiActionButtonGroup-CxWH7yWK.js → MultiActionButtonGroup-DokHbPgM.js} +2 -2
- package/dist/{MultiActionButtonGroup-CxWH7yWK.js.map → MultiActionButtonGroup-DokHbPgM.js.map} +1 -1
- package/dist/{Navbar-B2UsolVU.js → Navbar-Liy1TPI7.js} +6 -6
- package/dist/{Navbar-B2UsolVU.js.map → Navbar-Liy1TPI7.js.map} +1 -1
- package/dist/PageHeader-Q3IpCnQd.js.map +1 -1
- package/dist/{PageToolbar-DnbFt14Q.js → PageToolbar-DExqEYGl.js} +2 -2
- package/dist/{PageToolbar-DnbFt14Q.js.map → PageToolbar-DExqEYGl.js.map} +1 -1
- package/dist/{Popconfirm-CILjmzKI.js → Popconfirm-5pBzT_HQ.js} +10 -11
- package/dist/{Popconfirm-CILjmzKI.js.map → Popconfirm-5pBzT_HQ.js.map} +1 -1
- package/dist/{RadioGroup-XFzFd1ti.js → RadioGroup-DXPbSj8P.js} +2 -2
- package/dist/{RadioGroup-XFzFd1ti.js.map → RadioGroup-DXPbSj8P.js.map} +1 -1
- package/dist/{Search-4Bxtt8hS.js → Search-5uQAiNIP.js} +2 -2
- package/dist/{Search-4Bxtt8hS.js.map → Search-5uQAiNIP.js.map} +1 -1
- package/dist/{SearchInput-f_oY9T4Z.js → SearchInput-D4UgAXJK.js} +3 -3
- package/dist/{SearchInput-f_oY9T4Z.js.map → SearchInput-D4UgAXJK.js.map} +1 -1
- package/dist/{SectionNav-BpJlisbT.js → SectionNav-OkKCjSA-.js} +3 -3
- package/dist/{SectionNav-BpJlisbT.js.map → SectionNav-OkKCjSA-.js.map} +1 -1
- package/dist/{Select-DpcgKqKB.js → Select-DV3Hak_l.js} +3 -4
- package/dist/Select-DV3Hak_l.js.map +1 -0
- package/dist/{Sidebar-Cm6I4dE1.js → Sidebar-D3cY1kha.js} +44 -20
- package/dist/Sidebar-D3cY1kha.js.map +1 -0
- package/dist/{Slider-pPC_3gz9.js → Slider-CRf-bB4y.js} +2 -2
- package/dist/{Slider-pPC_3gz9.js.map → Slider-CRf-bB4y.js.map} +1 -1
- package/dist/{Switch-ChfPKcTE.js → Switch-B0WdGSjz.js} +7 -7
- package/dist/{Switch-ChfPKcTE.js.map → Switch-B0WdGSjz.js.map} +1 -1
- package/dist/{TextInput-DHM6dHmn.js → TextInput-DH5SkbsE.js} +3 -3
- package/dist/{TextInput-DHM6dHmn.js.map → TextInput-DH5SkbsE.js.map} +1 -1
- package/dist/{ThemeProvider-DrQJtzpd.js → ThemeProvider-2RMdVGxO.js} +17 -12
- package/dist/{ThemeProvider-DrQJtzpd.js.map → ThemeProvider-2RMdVGxO.js.map} +1 -1
- package/dist/{Timeline-6btyJl4D.js → Timeline-BG5Xogxh.js} +11 -11
- package/dist/{Timeline-6btyJl4D.js.map → Timeline-BG5Xogxh.js.map} +1 -1
- package/dist/{Workbench-BzE-Vvd9.js → Workbench-UR2FBC7I.js} +3 -1
- package/dist/Workbench-UR2FBC7I.js.map +1 -0
- package/dist/{ZoomableSvg-BWnDkR61.js → ZoomableSvg-pooPb1Cu.js} +3 -3
- package/dist/{ZoomableSvg-BWnDkR61.js.map → ZoomableSvg-pooPb1Cu.js.map} +1 -1
- package/dist/editors.js +4 -4
- package/dist/flint.js +134 -8
- package/dist/flint.js.map +1 -1
- package/dist/index.d.ts +537 -135
- package/dist/index.js +40 -39
- package/dist/internal/blocks/AIKit.js +2 -2
- package/dist/internal/blocks/AuthLayout.js +118 -0
- package/dist/internal/blocks/AuthLayout.js.map +1 -0
- package/dist/internal/blocks/BrandEditor.js +1 -1
- package/dist/internal/blocks/ClipboardButton.js +1 -1
- package/dist/internal/blocks/ColorInput.js +1 -1
- package/dist/internal/blocks/Command.js +1 -1
- package/dist/internal/blocks/CopyField.js +1 -1
- package/dist/internal/blocks/DateInput.js +1 -1
- package/dist/internal/blocks/DateRangeInput.js +1 -1
- package/dist/internal/blocks/ExportMenu.js +1 -1
- package/dist/internal/blocks/Form/connectors/MultiComboboxField.js +1 -1
- package/dist/internal/blocks/Form.js +1 -1
- package/dist/internal/blocks/FormGroup.js +1 -1
- package/dist/internal/blocks/MultiActionButtonGroup.js +1 -1
- package/dist/internal/blocks/MultiCombobox.js +107 -48
- package/dist/internal/blocks/MultiCombobox.js.map +1 -1
- package/dist/internal/blocks/NumberInput.js +1 -1
- package/dist/internal/blocks/PageToolbar.js +1 -1
- package/dist/internal/blocks/PasswordInput.js +2 -2
- package/dist/internal/blocks/SearchInput.js +1 -1
- package/dist/internal/blocks/SearchInputWithNavigation.js +2 -2
- package/dist/internal/blocks/SectionNav.js +1 -1
- package/dist/internal/blocks/TextInput.js +1 -1
- package/dist/internal/blocks/Textarea.js +1 -1
- package/dist/internal/blocks/TimeInput.js +2 -2
- package/dist/internal/components/Alert.js +1 -1
- package/dist/internal/components/Avatar.js +1 -1
- package/dist/internal/components/Badge.js +1 -1
- package/dist/internal/components/BrandLogo.js +1 -1
- package/dist/internal/components/Breadcrumb.js +1 -1
- package/dist/internal/components/Checkbox.js +1 -1
- package/dist/internal/components/Clipboard.js +1 -1
- package/dist/internal/components/CollapsiblePanel.js +1 -1
- package/dist/internal/components/Combobox.js +2 -2
- package/dist/internal/components/InputGroup.js +1 -1
- package/dist/internal/components/Kbd.js +1 -1
- package/dist/internal/components/Navbar.js +1 -1
- package/dist/internal/components/Popconfirm.js +1 -1
- package/dist/internal/components/RadioGroup.js +1 -1
- package/dist/internal/components/Search.js +1 -1
- package/dist/internal/components/Select.js +1 -1
- package/dist/internal/components/Sidebar.js +1 -1
- package/dist/internal/components/Slider.js +1 -1
- package/dist/internal/components/Switch.js +1 -1
- package/dist/internal/components/ThemeProvider.js +1 -1
- package/dist/internal/components/Timeline.js +1 -1
- package/dist/internal/components/Tooltip.js +1 -1
- package/dist/internal/components/Truncated.js +1 -1
- package/dist/internal/components/Workbench.js +1 -1
- package/dist/internal/components/ZoomableSvg.js +1 -1
- package/dist/internal/utils.js +2 -2
- package/dist/markdown-editor.js +29 -23
- package/dist/markdown-editor.js.map +1 -1
- package/dist/mermaid.js +1 -1
- package/dist/rjsf.js +22 -23
- package/dist/rjsf.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/testing.js +1 -1
- package/dist/{useColorSchemeState-klihG9-i.js → themeScopeContext-D7fSyb06.js} +16 -3
- package/dist/themeScopeContext-D7fSyb06.js.map +1 -0
- package/dist/{themeTokens-D70HeNVF.js → themeTokens-qP1-55O7.js} +37 -10
- package/dist/themeTokens-qP1-55O7.js.map +1 -0
- package/dist/{utils-B5Z52hYs.js → utils-DSvrhU8E.js} +6 -2
- package/dist/{utils-B5Z52hYs.js.map → utils-DSvrhU8E.js.map} +1 -1
- package/dist/vega.d.ts +1 -1
- package/dist/vega.js +3 -3
- package/dist/vega.js.map +1 -1
- package/dist/{vegaTheme-DfoEQhOy.js → vegaTheme-CSvFEMBl.js} +6 -6
- package/dist/vegaTheme-CSvFEMBl.js.map +1 -0
- package/package.json +12 -10
- package/src/styles.css +3 -0
- package/dist/AIKit-DDg5DBCG.js.map +0 -1
- package/dist/Badge-Ch26CXoP.js.map +0 -1
- package/dist/BrandLogo-Dmi7jo21.js.map +0 -1
- package/dist/Combobox-Cs_1pj2q.js.map +0 -1
- package/dist/Form-k6PH-em3.js.map +0 -1
- package/dist/InputGroup-BnLHY0eq.js.map +0 -1
- package/dist/Kbd-CvSM3D3-.js.map +0 -1
- package/dist/MermaidDiagram-WkonYErO.js.map +0 -1
- package/dist/Select-DpcgKqKB.js.map +0 -1
- package/dist/Sidebar-Cm6I4dE1.js.map +0 -1
- package/dist/Workbench-BzE-Vvd9.js.map +0 -1
- package/dist/themeTokens-D70HeNVF.js.map +0 -1
- package/dist/useColorSchemeState-klihG9-i.js.map +0 -1
- package/dist/vegaTheme-DfoEQhOy.js.map +0 -1
package/dist/rjsf.js
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import { Tooltip, debounce } from "./utils-
|
|
1
|
+
import { Tooltip, debounce } from "./utils-DSvrhU8E.js";
|
|
2
2
|
import { BookOpen, Info, Trash2 } from "./icons-Cek151jC.js";
|
|
3
3
|
import { Button } from "./Button-DsRrU5F1.js";
|
|
4
4
|
import { Label } from "./internal/components/Label.js";
|
|
5
5
|
import { Link } from "./internal/components/Link.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
6
|
+
import { useStableCallback } from "./internal/hooks/useStableCallback.js";
|
|
7
|
+
import { TextInput } from "./TextInput-DH5SkbsE.js";
|
|
8
|
+
import { RadioGroup } from "./RadioGroup-DXPbSj8P.js";
|
|
9
|
+
import { Checkbox } from "./Checkbox-CUIn2jap.js";
|
|
10
|
+
import { Combobox } from "./Combobox-BfIfaVMA.js";
|
|
11
|
+
import { FormGroup } from "./FormGroup-DHvTFdno.js";
|
|
11
12
|
import { NumberInput } from "./internal/blocks/NumberInput.js";
|
|
12
13
|
import { Textarea } from "./internal/blocks/Textarea.js";
|
|
13
|
-
import { DateInput } from "./DateInput-
|
|
14
|
+
import { DateInput } from "./DateInput-DiEd5uCL.js";
|
|
14
15
|
import { PasswordInput } from "./internal/blocks/PasswordInput.js";
|
|
15
|
-
import { Alert } from "./Alert-
|
|
16
|
+
import { Alert } from "./Alert-Ba5b2YPq.js";
|
|
16
17
|
import { CollapsiblePanel } from "./internal/components/CollapsiblePanel.js";
|
|
17
18
|
import { Tabs, TabsContent } from "./Tabs-eB974xJf.js";
|
|
18
|
-
import { CodeEditor, isLanguageMode } from "./CodeEditor-
|
|
19
|
+
import { CodeEditor, isLanguageMode } from "./CodeEditor-C9zy7PxK.js";
|
|
19
20
|
import { createContext, isValidElement, use, useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
20
21
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
21
22
|
import DOMPurify from "dompurify";
|
|
@@ -920,7 +921,7 @@ const DateWidget = ({ id, value, onChange, onBlur, onFocus, disabled, readonly,
|
|
|
920
921
|
* Widget for fields using json-editor's enumSource/watch pattern.
|
|
921
922
|
* Reads options dynamically from the root form data based on watched paths.
|
|
922
923
|
*/
|
|
923
|
-
const DynamicSelectWidget = ({ value, onChange, disabled, readonly, options: widgetOptions }) => {
|
|
924
|
+
const DynamicSelectWidget = ({ id, value, onChange, disabled, readonly, options: widgetOptions, required }) => {
|
|
924
925
|
const data = useRootFormData();
|
|
925
926
|
const watch = widgetOptions.watch;
|
|
926
927
|
const enumSource = widgetOptions.enumSource;
|
|
@@ -934,9 +935,11 @@ const DynamicSelectWidget = ({ value, onChange, disabled, readonly, options: wid
|
|
|
934
935
|
const selectedItem = matched ?? fallbackItem;
|
|
935
936
|
const items = fallbackItem ? [fallbackItem, ...dynamicItems] : dynamicItems;
|
|
936
937
|
return /* @__PURE__ */ jsx(Combobox, {
|
|
938
|
+
id,
|
|
937
939
|
variant: "secondary",
|
|
938
940
|
items,
|
|
939
941
|
value: selectedItem,
|
|
942
|
+
allowClear: !required,
|
|
940
943
|
disabled: disabled || readonly,
|
|
941
944
|
onValueChange: (selected) => onChange(selected?.value ?? "")
|
|
942
945
|
});
|
|
@@ -993,7 +996,7 @@ const RadioWidget = ({ id, value, onChange, disabled, readonly, options }) => {
|
|
|
993
996
|
};
|
|
994
997
|
//#endregion
|
|
995
998
|
//#region src/blocks/RjsfSchemaEditor/widgets/SelectWidget.tsx
|
|
996
|
-
const SelectWidget = ({ value, schema, onChange, disabled, readonly, options, placeholder, required }) => {
|
|
999
|
+
const SelectWidget = ({ id, value, schema, onChange, disabled, readonly, options, placeholder, required }) => {
|
|
997
1000
|
const enumOptions = options.enumOptions ?? [];
|
|
998
1001
|
const isBoolean = schema.type === "boolean";
|
|
999
1002
|
const items = enumOptions.map((o) => ({
|
|
@@ -1002,6 +1005,7 @@ const SelectWidget = ({ value, schema, onChange, disabled, readonly, options, pl
|
|
|
1002
1005
|
}));
|
|
1003
1006
|
const selectedItem = items.find((item) => item.value === (value == null ? "" : String(value)));
|
|
1004
1007
|
return /* @__PURE__ */ jsx(Combobox, {
|
|
1008
|
+
id,
|
|
1005
1009
|
variant: "secondary",
|
|
1006
1010
|
items,
|
|
1007
1011
|
value: selectedItem ?? null,
|
|
@@ -1539,8 +1543,7 @@ const RjsfSchemaEditor = ({ schema, value, onChange, readOnly, inForm, globalCon
|
|
|
1539
1543
|
useEffect(() => {
|
|
1540
1544
|
isInitialMountRef.current = false;
|
|
1541
1545
|
}, [formKey]);
|
|
1542
|
-
const
|
|
1543
|
-
onChangeRef.current = onChange;
|
|
1546
|
+
const handleValueChange = useStableCallback(onChange);
|
|
1544
1547
|
const valueRef = useRef(value);
|
|
1545
1548
|
valueRef.current = value;
|
|
1546
1549
|
const lastSentJsonRef = useRef(null);
|
|
@@ -1549,9 +1552,9 @@ const RjsfSchemaEditor = ({ schema, value, onChange, readOnly, inForm, globalCon
|
|
|
1549
1552
|
if (dataJson !== stableStringify(valueRef.current)) {
|
|
1550
1553
|
if (lastSentJsonRef.current === null && mountedFormDataJsonRef.current && dataJson === mountedFormDataJsonRef.current) return;
|
|
1551
1554
|
lastSentJsonRef.current = dataJson;
|
|
1552
|
-
|
|
1555
|
+
handleValueChange(data);
|
|
1553
1556
|
}
|
|
1554
|
-
}, 100), []);
|
|
1557
|
+
}, 100), [handleValueChange]);
|
|
1555
1558
|
useEffect(() => () => debouncedOnChange.cancel(), [debouncedOnChange]);
|
|
1556
1559
|
const [prevValue, setPrevValue] = useState(value);
|
|
1557
1560
|
if (value !== prevValue) {
|
|
@@ -1580,10 +1583,6 @@ const RjsfSchemaEditor = ({ schema, value, onChange, readOnly, inForm, globalCon
|
|
|
1580
1583
|
}
|
|
1581
1584
|
debouncedOnChange(e.formData);
|
|
1582
1585
|
}, [debouncedOnChange]);
|
|
1583
|
-
const debouncedOnChangeRef = useRef(debouncedOnChange);
|
|
1584
|
-
debouncedOnChangeRef.current = debouncedOnChange;
|
|
1585
|
-
const setRootFormDataRef = useRef(setRootFormData);
|
|
1586
|
-
setRootFormDataRef.current = setRootFormData;
|
|
1587
1586
|
const formContext = useMemo(() => ({
|
|
1588
1587
|
setFormData: (data) => {
|
|
1589
1588
|
const merged = {
|
|
@@ -1592,16 +1591,16 @@ const RjsfSchemaEditor = ({ schema, value, onChange, readOnly, inForm, globalCon
|
|
|
1592
1591
|
};
|
|
1593
1592
|
initialDataRef.current = merged;
|
|
1594
1593
|
formDataRef.current = merged;
|
|
1595
|
-
|
|
1596
|
-
|
|
1594
|
+
setRootFormData(merged);
|
|
1595
|
+
debouncedOnChange.cancel();
|
|
1597
1596
|
lastSentJsonRef.current = stableStringify(merged);
|
|
1598
|
-
|
|
1597
|
+
handleValueChange(merged);
|
|
1599
1598
|
isInitialMountRef.current = true;
|
|
1600
1599
|
mountedFormDataJsonRef.current = null;
|
|
1601
1600
|
setFormKey((k) => k + 1);
|
|
1602
1601
|
},
|
|
1603
1602
|
getFormData: () => formDataRef.current
|
|
1604
|
-
}), []);
|
|
1603
|
+
}), [debouncedOnChange, handleValueChange]);
|
|
1605
1604
|
const formRef = useRef(null);
|
|
1606
1605
|
useEffect(() => {
|
|
1607
1606
|
if (onRegisterValidate) onRegisterValidate(() => {
|