@keboola/design 6.3.0 → 6.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 +2 -3
- package/COMPONENT-API.md +164 -156
- package/README.md +2 -2
- package/dist/editors.cjs +32 -10
- package/dist/editors.cjs.map +1 -1
- package/dist/editors.js +32 -10
- package/dist/editors.js.map +1 -1
- package/dist/icons.cjs +25 -0
- package/dist/icons.cjs.map +1 -1
- package/dist/icons.d.cts +3 -1
- package/dist/icons.d.ts +3 -1
- package/dist/icons.js +25 -1
- package/dist/icons.js.map +1 -1
- package/dist/index.cjs +6086 -6126
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +511 -1061
- package/dist/index.d.ts +511 -1061
- package/dist/index.js +6101 -6143
- package/dist/index.js.map +1 -1
- package/dist/markdown-editor.cjs +268 -243
- package/dist/markdown-editor.cjs.map +1 -1
- package/dist/markdown-editor.js +268 -243
- package/dist/markdown-editor.js.map +1 -1
- package/dist/mermaid.cjs +89 -34
- package/dist/mermaid.cjs.map +1 -1
- package/dist/mermaid.js +89 -34
- package/dist/mermaid.js.map +1 -1
- package/dist/rjsf.cjs +1478 -1494
- package/dist/rjsf.cjs.map +1 -1
- package/dist/rjsf.js +1479 -1495
- package/dist/rjsf.js.map +1 -1
- package/dist/styles.css +2 -2
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.js.map +1 -1
- package/package.json +10 -9
package/README.md
CHANGED
|
@@ -116,7 +116,7 @@ Worked examples: `src/components/Button/Button.stories.tsx` (click + disabled),
|
|
|
116
116
|
|
|
117
117
|
**Coverage so far:** the interactive surface is covered — Button, ButtonInline, Combobox, MultiCombobox, CreatableMultiCombobox, Select, Modal, Sheet, Popover, Popconfirm, DropdownMenu, SplitButton, Tooltip, HoverCard, InfoTooltip, Switch, Checkbox, RadioGroup, Slider, Tabs, PageHeaderTabs, Collapsible, PanelWithDetails, Toast, TextInput, NumberInput, SearchInput, SearchInputWithNavigation, PasswordInput, Textarea, AutoSaveTextarea, AlertWithAction, ListDetail, FilterToolbar. Add a `play()` to new interactive stories by default.
|
|
118
118
|
|
|
119
|
-
**Known gaps (not yet driven headlessly):** `Command` (cmdk input value isn't reflected on the DOM node under the test runner), `CollapsiblePanel` (collapses via CSS height, so `toBeVisible()` can't see the state change), `Calendar`/`DateInput`/`TimeInput` (day/segment targeting is brittle), `ColorInput`, `Clipboard`/`ClipboardButton` (clipboard API), and `MultiActionButton
|
|
119
|
+
**Known gaps (not yet driven headlessly):** `Command` (cmdk input value isn't reflected on the DOM node under the test runner), `CollapsiblePanel` (collapses via CSS height, so `toBeVisible()` can't see the state change), `Calendar`/`DateInput`/`TimeInput` (day/segment targeting is brittle), `ColorInput`, `Clipboard`/`ClipboardButton` (clipboard API), and `MultiActionButton` (stories use `alert()` / `onClick` side effects that block a headless run). `ModalForm` currently throws `formContext only works within a formComponent` when its modal opens (`FormBody` is outside `form.AppForm`) — a story-wiring fix, tracked separately. `Search` is deprecated and intentionally untested.
|
|
120
120
|
|
|
121
121
|
**Timing-sensitive:** `HoverCard` is the only test driven by a real `userEvent.hover` past a 200 ms open delay (its `findByText` carries a raised timeout). It passes headlessly today, but it's the most likely flake if CI is slow — `Tooltip` deliberately opens via keyboard focus to avoid this. Watch it when wiring CI.
|
|
122
122
|
|
|
@@ -136,7 +136,7 @@ Same prerequisites as `test:stories` (build workspace deps, install Chromium). R
|
|
|
136
136
|
|
|
137
137
|
**What's covered:** `src/**` component source, excluding stories (`*.stories.tsx`), unit tests (`*.test.{ts,tsx}`), barrels (`index.ts`), type decls, `src/docs/**`, and `src/icons/**` (curated lucide re-exports plus custom SVG marks like `Keboola` — trivial visual surface, no logic to gate).
|
|
138
138
|
|
|
139
|
-
**What the numbers reflect:** only some story files carry a `play()` interaction test; the rest contribute just their render/smoke path, so branch coverage trails statement coverage. The lowest-covered areas are the interaction-heavy blocks that still lack a `play()
|
|
139
|
+
**What the numbers reflect:** only some story files carry a `play()` interaction test; the rest contribute just their render/smoke path, so branch coverage trails statement coverage. The lowest-covered areas are the interaction-heavy blocks that still lack a `play()`. Run `test:stories:coverage` and open `coverage/index.html` for the current per-file numbers — they're not pinned here because they drift with every story and `play()` added.
|
|
140
140
|
|
|
141
141
|
### Icons
|
|
142
142
|
|
package/dist/editors.cjs
CHANGED
|
@@ -267,6 +267,7 @@ var Tooltip = ({
|
|
|
267
267
|
placement = "right",
|
|
268
268
|
forceHide = false,
|
|
269
269
|
forceShow = false,
|
|
270
|
+
delayDuration,
|
|
270
271
|
// trigger props
|
|
271
272
|
triggerAsChild = false
|
|
272
273
|
}) => {
|
|
@@ -286,6 +287,7 @@ var Tooltip = ({
|
|
|
286
287
|
{
|
|
287
288
|
open: !!tooltip && (open || forceShow) && !forceHide,
|
|
288
289
|
onOpenChange: setOpen,
|
|
290
|
+
delayDuration,
|
|
289
291
|
disableHoverableContent: isActionVariant,
|
|
290
292
|
children: [
|
|
291
293
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -337,7 +339,8 @@ var HelpBlock = ({ children, className, state = "default", ...rest }) => {
|
|
|
337
339
|
var icons_exports = {};
|
|
338
340
|
__export(icons_exports, {
|
|
339
341
|
Google: () => Google,
|
|
340
|
-
Keboola: () => Keboola
|
|
342
|
+
Keboola: () => Keboola,
|
|
343
|
+
Microsoft: () => Microsoft
|
|
341
344
|
});
|
|
342
345
|
__reExport(icons_exports, lucide_react_star__namespace);
|
|
343
346
|
var Google = react.forwardRef(
|
|
@@ -396,6 +399,7 @@ var Keboola = react.forwardRef(
|
|
|
396
399
|
width: size,
|
|
397
400
|
height: size,
|
|
398
401
|
viewBox: "0 0 300 512",
|
|
402
|
+
overflow: "visible",
|
|
399
403
|
fill: color,
|
|
400
404
|
className: cn("lucide", className),
|
|
401
405
|
...rest,
|
|
@@ -407,6 +411,29 @@ var Keboola = react.forwardRef(
|
|
|
407
411
|
)
|
|
408
412
|
);
|
|
409
413
|
Keboola.displayName = "Keboola";
|
|
414
|
+
var Microsoft = react.forwardRef(
|
|
415
|
+
({ size = 24, className, children, ...rest }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
416
|
+
"svg",
|
|
417
|
+
{
|
|
418
|
+
ref,
|
|
419
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
420
|
+
width: size,
|
|
421
|
+
height: size,
|
|
422
|
+
viewBox: "0 0 21 21",
|
|
423
|
+
fill: "none",
|
|
424
|
+
className: cn("lucide", className),
|
|
425
|
+
...rest,
|
|
426
|
+
children: [
|
|
427
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "0", y: "0", width: "10", height: "10", fill: "#F25022" }),
|
|
428
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "11", y: "0", width: "10", height: "10", fill: "#7FBA00" }),
|
|
429
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "0", y: "11", width: "10", height: "10", fill: "#00A4EF" }),
|
|
430
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "11", y: "11", width: "10", height: "10", fill: "#FFB900" }),
|
|
431
|
+
children
|
|
432
|
+
]
|
|
433
|
+
}
|
|
434
|
+
)
|
|
435
|
+
);
|
|
436
|
+
Microsoft.displayName = "Microsoft";
|
|
410
437
|
var variants = classVarianceAuthority.cva(
|
|
411
438
|
[
|
|
412
439
|
"tailwindcss-preflight",
|
|
@@ -937,14 +964,9 @@ var getLanguageMode = (mode) => {
|
|
|
937
964
|
return langJson.json();
|
|
938
965
|
}
|
|
939
966
|
};
|
|
967
|
+
var shouldLintJson = (mode, readOnly) => mode === "application/json" && !readOnly;
|
|
940
968
|
var KbdSeparator = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("span", { ...props, className: cn("tw-text-xs tw-text-muted-foreground", className) });
|
|
941
|
-
var KbdGroup = ({
|
|
942
|
-
ref,
|
|
943
|
-
className,
|
|
944
|
-
children,
|
|
945
|
-
separator,
|
|
946
|
-
...props
|
|
947
|
-
}) => {
|
|
969
|
+
var KbdGroup = ({ ref, className, children, separator, ...props }) => {
|
|
948
970
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
949
971
|
"kbd",
|
|
950
972
|
{
|
|
@@ -1035,7 +1057,7 @@ var CodeEditor = ({
|
|
|
1035
1057
|
const commonExtensions = react.useMemo(() => {
|
|
1036
1058
|
return [
|
|
1037
1059
|
getLanguageMode(mode),
|
|
1038
|
-
mode
|
|
1060
|
+
shouldLintJson(mode, readOnly) && lint.linter(langJson.jsonParseLinter()),
|
|
1039
1061
|
withLineWrapping ? view.EditorView.lineWrapping : [],
|
|
1040
1062
|
CodeMirror.EditorState.languageData.of(() => [
|
|
1041
1063
|
{ autocomplete: completeAny ? autocomplete.completeAnyWord : autocompletions }
|
|
@@ -1053,7 +1075,7 @@ var CodeEditor = ({
|
|
|
1053
1075
|
autocomplete.autocompletion({ activateOnTyping: completeAny }),
|
|
1054
1076
|
baseTheme
|
|
1055
1077
|
].filter(Boolean);
|
|
1056
|
-
}, [autocompletions, completeAny, extraKeys, mode, withLineWrapping, baseTheme]);
|
|
1078
|
+
}, [autocompletions, completeAny, extraKeys, mode, readOnly, withLineWrapping, baseTheme]);
|
|
1057
1079
|
const extensions = react.useMemo(() => {
|
|
1058
1080
|
return [
|
|
1059
1081
|
...commonExtensions,
|