@keboola/design 6.4.0 → 8.0.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 +9 -10
- package/COMPONENT-API.md +162 -160
- package/README.md +3 -3
- package/dist/charts.cjs +22 -22
- package/dist/charts.cjs.map +1 -1
- package/dist/charts.d.cts +5 -5
- package/dist/charts.d.ts +5 -5
- package/dist/charts.js +22 -22
- package/dist/charts.js.map +1 -1
- package/dist/editors.cjs +594 -438
- package/dist/editors.cjs.map +1 -1
- package/dist/editors.d.cts +8 -4
- package/dist/editors.d.ts +8 -4
- package/dist/editors.js +595 -422
- package/dist/editors.js.map +1 -1
- package/dist/icons.cjs +23818 -45
- package/dist/icons.cjs.map +1 -1
- package/dist/icons.d.cts +12 -3
- package/dist/icons.d.ts +12 -3
- package/dist/icons.js +298 -40
- package/dist/icons.js.map +1 -1
- package/dist/index.cjs +11519 -11718
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +679 -1227
- package/dist/index.d.ts +679 -1227
- package/dist/index.js +10315 -10516
- package/dist/index.js.map +1 -1
- package/dist/markdown-editor.cjs +1015 -1134
- package/dist/markdown-editor.cjs.map +1 -1
- package/dist/markdown-editor.js +1016 -1134
- package/dist/markdown-editor.js.map +1 -1
- package/dist/mermaid.cjs +366 -452
- package/dist/mermaid.cjs.map +1 -1
- package/dist/mermaid.d.cts +5 -1
- package/dist/mermaid.d.ts +5 -1
- package/dist/mermaid.js +368 -435
- package/dist/mermaid.js.map +1 -1
- package/dist/rjsf.cjs +2540 -2419
- package/dist/rjsf.cjs.map +1 -1
- package/dist/rjsf.js +2541 -2419
- package/dist/rjsf.js.map +1 -1
- package/dist/styles.css +2 -5
- package/dist/testing.cjs +86 -82
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.js +86 -82
- package/dist/testing.js.map +1 -1
- package/package.json +30 -22
- package/src/styles.css +125 -105
- package/src/theme.css +264 -0
package/dist/mermaid.cjs
CHANGED
|
@@ -3,59 +3,25 @@
|
|
|
3
3
|
var react = require('react');
|
|
4
4
|
var beautifulMermaid = require('beautiful-mermaid');
|
|
5
5
|
var colors = require('@keboola/tailwind-config/colors');
|
|
6
|
+
var reactDom = require('react-dom');
|
|
7
|
+
var DOMPurify = require('dompurify');
|
|
8
|
+
var reactSlot = require('@radix-ui/react-slot');
|
|
9
|
+
var lucideReact = require('lucide-react');
|
|
6
10
|
var clsx = require('clsx');
|
|
7
11
|
var tailwindMerge = require('tailwind-merge');
|
|
8
12
|
var reactTooltip = require('@radix-ui/react-tooltip');
|
|
9
13
|
var classVarianceAuthority = require('class-variance-authority');
|
|
10
14
|
var brandRegistry = require('@keboola/brand-registry');
|
|
11
15
|
var jsxRuntime = require('react/jsx-runtime');
|
|
12
|
-
var DOMPurify = require('dompurify');
|
|
13
|
-
var reactSlot = require('@radix-ui/react-slot');
|
|
14
|
-
var lucide_react_star = require('lucide-react');
|
|
15
16
|
|
|
16
17
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
18
|
|
|
18
|
-
function _interopNamespace(e) {
|
|
19
|
-
if (e && e.__esModule) return e;
|
|
20
|
-
var n = Object.create(null);
|
|
21
|
-
if (e) {
|
|
22
|
-
Object.keys(e).forEach(function (k) {
|
|
23
|
-
if (k !== 'default') {
|
|
24
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
25
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
26
|
-
enumerable: true,
|
|
27
|
-
get: function () { return e[k]; }
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
n.default = e;
|
|
33
|
-
return Object.freeze(n);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
19
|
var colors__default = /*#__PURE__*/_interopDefault(colors);
|
|
37
20
|
var DOMPurify__default = /*#__PURE__*/_interopDefault(DOMPurify);
|
|
38
|
-
var lucide_react_star__namespace = /*#__PURE__*/_interopNamespace(lucide_react_star);
|
|
39
21
|
|
|
40
|
-
|
|
41
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
42
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
43
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
44
|
-
var __export = (target, all) => {
|
|
45
|
-
for (var name in all)
|
|
46
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
47
|
-
};
|
|
48
|
-
var __copyProps = (to, from, except, desc) => {
|
|
49
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
50
|
-
for (let key of __getOwnPropNames(from))
|
|
51
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
52
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
53
|
-
}
|
|
54
|
-
return to;
|
|
55
|
-
};
|
|
56
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget);
|
|
22
|
+
// src/blocks/MermaidDiagram/MermaidDiagram.tsx
|
|
57
23
|
var twMerge = tailwindMerge.extendTailwindMerge({
|
|
58
|
-
prefix: "tw
|
|
24
|
+
prefix: "tw"
|
|
59
25
|
});
|
|
60
26
|
var cn = (...classes) => twMerge(clsx.clsx(...classes));
|
|
61
27
|
|
|
@@ -105,39 +71,39 @@ var useArgoDesign = () => react.use(ArgoDesignContext);
|
|
|
105
71
|
var tooltipVariants = classVarianceAuthority.cva(
|
|
106
72
|
[
|
|
107
73
|
"tailwindcss-preflight",
|
|
108
|
-
"tw
|
|
109
|
-
"tw
|
|
110
|
-
"tw
|
|
111
|
-
"tw
|
|
112
|
-
"tw
|
|
74
|
+
"tw:inline-block",
|
|
75
|
+
"tw:break-anywhere",
|
|
76
|
+
"tw:max-h-96",
|
|
77
|
+
"tw:overflow-y-auto",
|
|
78
|
+
"tw:z-[1060]",
|
|
113
79
|
// legacy (dark) chrome — default
|
|
114
|
-
"tw
|
|
115
|
-
"tw
|
|
116
|
-
"tw
|
|
80
|
+
"tw:rounded",
|
|
81
|
+
"tw:bg-neutral-800",
|
|
82
|
+
"tw:text-white",
|
|
117
83
|
// argo chrome overrides — semantic floating-panel tokens
|
|
118
|
-
"data-[argo=true]:
|
|
119
|
-
"data-[argo=true]:
|
|
120
|
-
"data-[argo=true]:
|
|
121
|
-
"data-[argo=true]:
|
|
122
|
-
"data-[argo=true]:
|
|
123
|
-
"data-[argo=true]:
|
|
124
|
-
"data-[argo=true]:
|
|
84
|
+
"tw:data-[argo=true]:rounded-2xl",
|
|
85
|
+
"tw:data-[argo=true]:border",
|
|
86
|
+
"tw:data-[argo=true]:border-solid",
|
|
87
|
+
"tw:data-[argo=true]:border-border",
|
|
88
|
+
"tw:data-[argo=true]:bg-popover",
|
|
89
|
+
"tw:data-[argo=true]:text-popover-foreground",
|
|
90
|
+
"tw:data-[argo=true]:shadow-md",
|
|
125
91
|
// argo open animation
|
|
126
|
-
"data-[argo=true]:data-[state=delayed-open]:
|
|
127
|
-
"data-[argo=true]:data-[state=instant-open]:
|
|
128
|
-
"data-[argo=true]:data-[state=delayed-open]:
|
|
129
|
-
"data-[argo=true]:data-[state=instant-open]:
|
|
130
|
-
"data-[argo=true]:data-[state=delayed-open]:
|
|
131
|
-
"data-[argo=true]:data-[state=instant-open]:
|
|
92
|
+
"tw:data-[argo=true]:data-[state=delayed-open]:animate-in",
|
|
93
|
+
"tw:data-[argo=true]:data-[state=instant-open]:animate-in",
|
|
94
|
+
"tw:data-[argo=true]:data-[state=delayed-open]:fade-in-0",
|
|
95
|
+
"tw:data-[argo=true]:data-[state=instant-open]:fade-in-0",
|
|
96
|
+
"tw:data-[argo=true]:data-[state=delayed-open]:zoom-in-95",
|
|
97
|
+
"tw:data-[argo=true]:data-[state=instant-open]:zoom-in-95",
|
|
132
98
|
// argo closed animation
|
|
133
|
-
"data-[argo=true]:data-[state=closed]:
|
|
134
|
-
"data-[argo=true]:data-[state=closed]:
|
|
135
|
-
"data-[argo=true]:data-[state=closed]:
|
|
99
|
+
"tw:data-[argo=true]:data-[state=closed]:animate-out",
|
|
100
|
+
"tw:data-[argo=true]:data-[state=closed]:fade-out-0",
|
|
101
|
+
"tw:data-[argo=true]:data-[state=closed]:zoom-out-95",
|
|
136
102
|
// argo position animation
|
|
137
|
-
"data-[argo=true]:data-[side=bottom]:
|
|
138
|
-
"data-[argo=true]:data-[side=left]:
|
|
139
|
-
"data-[argo=true]:data-[side=right]:
|
|
140
|
-
"data-[argo=true]:data-[side=top]:
|
|
103
|
+
"tw:data-[argo=true]:data-[side=bottom]:slide-in-from-top-2",
|
|
104
|
+
"tw:data-[argo=true]:data-[side=left]:slide-in-from-right-2",
|
|
105
|
+
"tw:data-[argo=true]:data-[side=right]:slide-in-from-left-2",
|
|
106
|
+
"tw:data-[argo=true]:data-[side=top]:slide-in-from-bottom-2"
|
|
141
107
|
],
|
|
142
108
|
{
|
|
143
109
|
defaultVariants: {
|
|
@@ -146,22 +112,26 @@ var tooltipVariants = classVarianceAuthority.cva(
|
|
|
146
112
|
variants: {
|
|
147
113
|
variant: {
|
|
148
114
|
action: [
|
|
149
|
-
"tw
|
|
150
|
-
"tw
|
|
151
|
-
"tw
|
|
152
|
-
"tw
|
|
153
|
-
"tw
|
|
154
|
-
"tw
|
|
155
|
-
|
|
156
|
-
|
|
115
|
+
"tw:max-w-fit",
|
|
116
|
+
"tw:px-3",
|
|
117
|
+
"tw:py-2",
|
|
118
|
+
"tw:text-center",
|
|
119
|
+
"tw:text-xs",
|
|
120
|
+
"tw:font-medium",
|
|
121
|
+
// Legacy chrome uppercases the action tooltip; the Keboola V2 brand
|
|
122
|
+
// (`data-brand="keboola"`) renders it in standard case instead.
|
|
123
|
+
"tw:uppercase",
|
|
124
|
+
"tw:tracking-wider",
|
|
125
|
+
"tw:[[data-brand=keboola]_&]:normal-case",
|
|
126
|
+
"tw:[[data-brand=keboola]_&]:tracking-normal"
|
|
157
127
|
],
|
|
158
128
|
explanatory: [
|
|
159
|
-
"tw
|
|
160
|
-
"tw
|
|
161
|
-
"tw
|
|
162
|
-
"tw
|
|
163
|
-
"tw
|
|
164
|
-
"tw
|
|
129
|
+
"tw:max-w-80",
|
|
130
|
+
"tw:px-4",
|
|
131
|
+
"tw:py-3",
|
|
132
|
+
"tw:text-left",
|
|
133
|
+
"tw:text-sm",
|
|
134
|
+
"tw:font-normal"
|
|
165
135
|
]
|
|
166
136
|
}
|
|
167
137
|
}
|
|
@@ -235,8 +205,8 @@ var TooltipTrigger = ({
|
|
|
235
205
|
// (merged in via Slot) activates Tailwind's preflight inside the
|
|
236
206
|
// span, which sets `svg { display: block }` — without an inline-flex
|
|
237
207
|
// container that would stack any bare Lucide icon onto its own
|
|
238
|
-
// line. `tw
|
|
239
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw
|
|
208
|
+
// line. `tw:inline-flex tw:items-center` keeps icon + text aligned.
|
|
209
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw:inline-flex tw:items-center", children })
|
|
240
210
|
)
|
|
241
211
|
}
|
|
242
212
|
);
|
|
@@ -251,6 +221,7 @@ var Tooltip = ({
|
|
|
251
221
|
placement = "right",
|
|
252
222
|
forceHide = false,
|
|
253
223
|
forceShow = false,
|
|
224
|
+
delayDuration,
|
|
254
225
|
// trigger props
|
|
255
226
|
triggerAsChild = false
|
|
256
227
|
}) => {
|
|
@@ -270,6 +241,7 @@ var Tooltip = ({
|
|
|
270
241
|
{
|
|
271
242
|
open: !!tooltip && (open || forceShow) && !forceHide,
|
|
272
243
|
onOpenChange: setOpen,
|
|
244
|
+
delayDuration,
|
|
273
245
|
disableHoverableContent: isActionVariant,
|
|
274
246
|
children: [
|
|
275
247
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -298,184 +270,49 @@ var Tooltip = ({
|
|
|
298
270
|
Tooltip.Root = TooltipRoot;
|
|
299
271
|
Tooltip.Content = TooltipContent;
|
|
300
272
|
Tooltip.Trigger = TooltipTrigger;
|
|
301
|
-
var HEIGHT_CLASS_NAME = {
|
|
302
|
-
xxs: "tw-h-3 tw-rounded",
|
|
303
|
-
xs: "tw-h-4 tw-rounded",
|
|
304
|
-
sm: "tw-h-5 tw-rounded",
|
|
305
|
-
md: "tw-h-6 tw-rounded-md",
|
|
306
|
-
lg: "tw-h-8 tw-rounded-lg",
|
|
307
|
-
xl: "tw-h-10 tw-rounded-lg",
|
|
308
|
-
"2xl": "tw-h-12 tw-rounded-lg"
|
|
309
|
-
};
|
|
310
|
-
var ANIMATION_CLASS_NAME = cn(
|
|
311
|
-
// base styles
|
|
312
|
-
"tw-relative",
|
|
313
|
-
"tw-overflow-hidden",
|
|
314
|
-
"tw-pointer-events-none",
|
|
315
|
-
"tw-bg-skeleton",
|
|
316
|
-
// before
|
|
317
|
-
'before:tw-content-[""]',
|
|
318
|
-
"before:tw-opacity-100",
|
|
319
|
-
"before:tw-absolute",
|
|
320
|
-
"before:tw-inset-0",
|
|
321
|
-
"before:-tw-translate-x-full",
|
|
322
|
-
"before:tw-animate-[shimmer_2s_infinite]",
|
|
323
|
-
"before:tw-bg-gradient-to-r",
|
|
324
|
-
"before:tw-from-transparent",
|
|
325
|
-
"before:tw-to-transparent",
|
|
326
|
-
"before:tw-via-white/40"
|
|
327
|
-
);
|
|
328
|
-
var Skeleton = ({ height = "md", className, count = 1 }) => {
|
|
329
|
-
const prefixId = react.useId();
|
|
330
|
-
const keys = Array.from({ length: count }, (_, i) => `${prefixId}-${i}`);
|
|
331
|
-
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: keys.map((key) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
332
|
-
"div",
|
|
333
|
-
{
|
|
334
|
-
"data-skeleton": "true",
|
|
335
|
-
className: cn(HEIGHT_CLASS_NAME[height], ANIMATION_CLASS_NAME, className)
|
|
336
|
-
},
|
|
337
|
-
key
|
|
338
|
-
)) });
|
|
339
|
-
};
|
|
340
|
-
|
|
341
|
-
// src/icons/index.ts
|
|
342
|
-
var icons_exports = {};
|
|
343
|
-
__export(icons_exports, {
|
|
344
|
-
Google: () => Google,
|
|
345
|
-
Keboola: () => Keboola,
|
|
346
|
-
Microsoft: () => Microsoft
|
|
347
|
-
});
|
|
348
|
-
__reExport(icons_exports, lucide_react_star__namespace);
|
|
349
|
-
var Google = react.forwardRef(
|
|
350
|
-
({ size = 24, className, children, ...rest }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
351
|
-
"svg",
|
|
352
|
-
{
|
|
353
|
-
ref,
|
|
354
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
355
|
-
width: size,
|
|
356
|
-
height: size,
|
|
357
|
-
viewBox: "12 10 20 20",
|
|
358
|
-
fill: "none",
|
|
359
|
-
className: cn("lucide", className),
|
|
360
|
-
...rest,
|
|
361
|
-
children: [
|
|
362
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
363
|
-
"path",
|
|
364
|
-
{
|
|
365
|
-
d: "M31.6 20.2273C31.6 19.5182 31.5364 18.8364 31.4182 18.1818H22V22.05H27.3818C27.15 23.3 26.4455 24.3591 25.3864 25.0682V27.5773H28.6182C30.5091 25.8364 31.6 23.2727 31.6 20.2273Z",
|
|
366
|
-
fill: "#4285F4"
|
|
367
|
-
}
|
|
368
|
-
),
|
|
369
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
370
|
-
"path",
|
|
371
|
-
{
|
|
372
|
-
d: "M22 30C24.7 30 26.9636 29.1045 28.6181 27.5773L25.3863 25.0682C24.4909 25.6682 23.3454 26.0227 22 26.0227C19.3954 26.0227 17.1909 24.2636 16.4045 21.9H13.0636V24.4909C14.7091 27.7591 18.0909 30 22 30Z",
|
|
373
|
-
fill: "#34A853"
|
|
374
|
-
}
|
|
375
|
-
),
|
|
376
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
377
|
-
"path",
|
|
378
|
-
{
|
|
379
|
-
d: "M16.4045 21.9C16.2045 21.3 16.0909 20.6591 16.0909 20C16.0909 19.3409 16.2045 18.7 16.4045 18.1V15.5091H13.0636C12.3864 16.8591 12 18.3864 12 20C12 21.6136 12.3864 23.1409 13.0636 24.4909L16.4045 21.9Z",
|
|
380
|
-
fill: "#FBBC04"
|
|
381
|
-
}
|
|
382
|
-
),
|
|
383
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
384
|
-
"path",
|
|
385
|
-
{
|
|
386
|
-
d: "M22 13.9773C23.4681 13.9773 24.7863 14.4818 25.8227 15.4727L28.6909 12.6045C26.9591 10.9909 24.6954 10 22 10C18.0909 10 14.7091 12.2409 13.0636 15.5091L16.4045 18.1C17.1909 15.7364 19.3954 13.9773 22 13.9773Z",
|
|
387
|
-
fill: "#EA4335"
|
|
388
|
-
}
|
|
389
|
-
),
|
|
390
|
-
children
|
|
391
|
-
]
|
|
392
|
-
}
|
|
393
|
-
)
|
|
394
|
-
);
|
|
395
|
-
Google.displayName = "Google";
|
|
396
|
-
var Keboola = react.forwardRef(
|
|
397
|
-
({ size = 24, color = "currentColor", className, children, ...rest }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
398
|
-
"svg",
|
|
399
|
-
{
|
|
400
|
-
ref,
|
|
401
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
402
|
-
width: size,
|
|
403
|
-
height: size,
|
|
404
|
-
viewBox: "0 0 300 512",
|
|
405
|
-
fill: color,
|
|
406
|
-
className: cn("lucide", className),
|
|
407
|
-
...rest,
|
|
408
|
-
children: [
|
|
409
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M152 320C79.7 320 24.5 233.9 24.5 124.7C24.5 15.6 70.5 0 152 0s123.6 15.6 123.6 124.7C275.5 233.9 217.7 320 152 320zm-8.7-50.5c0-11.2-9.5-20.3-21.2-20.3s-21.2 9.1-21.2 20.3c0 11.2 9.5 20.3 21.2 20.3s21.2-9.1 21.2-20.3zm55.7 0c0-11.2-9.5-20.3-21.2-20.3s-21.2 9.1-21.2 20.3c0 11.2 9.5 20.3 21.2 20.3s21.2-9.1 21.2-20.3zm68.9 115.1c10.2 9.3 20.2 20.5 29 35c5.9 9.7 2.6 22.1-7.5 27.8c-3.4 1.9-7.1 2.8-10.7 2.8c-7.2 0-14.3-3.6-18.3-10c-6.8-11.1-13.8-18.9-21.7-26.1c-7.3-6.7-15.6-12.7-24.9-19.5c-.7-.5-1.4-1-2.1-1.5c-5-3.6-10-6.8-14.9-9.4c.6 1 1.2 2.1 1.8 3.2c14.4 26.4 29.2 63.1 29.2 104.9c0 11.2-9.5 20.3-21.2 20.3c-11.7 0-21.2-9.1-21.2-20.3c.1-31.8-11.6-62.3-23.8-84.9c-4-7.4-8-13.9-11.6-19.3c-3.4 5.2-7.2 11.3-11 18.3c-12.5 22.7-24.5 53.8-24.4 86c0 11.2-9.5 20.3-21.2 20.3s-21.2-9.1-21.2-20.3c.1-41.8 14.9-78.4 29.2-104.9c.6-1.1 1.2-2.1 1.8-3.2c-5 2.7-9.9 5.8-14.9 9.4c-.6 .5-1.3 .9-1.9 1.4c-9.5 6.9-17.8 12.9-25.1 19.7c-7.9 7.2-14.9 15.1-21.7 26.1c-5.9 9.7-18.9 12.9-29 7.2C.5 441.8-2.9 429.3 3.1 419.7c8.9-14.4 18.8-25.7 29-35c9.2-8.4 18.5-15.1 27.6-21.7c1-.7 2-1.4 3-2.2c4.7-3.5 9.6-6.7 14.6-9.6c-5-2.9-9.8-6.1-14.6-9.6C39.8 325 19.9 302.5 3.1 275.1c-5.9-9.7-2.6-22.1 7.5-27.8c10.1-5.7 23.1-2.5 29 7.2c14.6 23.7 31.1 42 48.7 54.9c18.9 13.7 37.4 20.5 56.5 21.5c1.7-.1 3.5-.1 5.2-.1c1.8 0 3.5 .1 5.2 .1c0 0 0 0 0 0c19.1-1.1 37.6-7.9 56.5-21.5c17.6-12.8 34.2-31.2 48.7-54.9c6-9.7 18.9-12.9 29-7.2c10.1 5.7 13.4 18.1 7.5 27.8c-16.8 27.4-36.7 49.9-59.6 66.6c-4.7 3.5-9.6 6.7-14.5 9.6c4.9 2.9 9.8 6.1 14.5 9.6c.9 .7 1.8 1.3 2.7 2c9.2 6.7 18.5 13.5 27.9 22z" }),
|
|
410
|
-
children
|
|
411
|
-
]
|
|
412
|
-
}
|
|
413
|
-
)
|
|
414
|
-
);
|
|
415
|
-
Keboola.displayName = "Keboola";
|
|
416
|
-
var Microsoft = react.forwardRef(
|
|
417
|
-
({ size = 24, className, children, ...rest }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
418
|
-
"svg",
|
|
419
|
-
{
|
|
420
|
-
ref,
|
|
421
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
422
|
-
width: size,
|
|
423
|
-
height: size,
|
|
424
|
-
viewBox: "0 0 21 21",
|
|
425
|
-
fill: "none",
|
|
426
|
-
className: cn("lucide", className),
|
|
427
|
-
...rest,
|
|
428
|
-
children: [
|
|
429
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "0", y: "0", width: "10", height: "10", fill: "#F25022" }),
|
|
430
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "11", y: "0", width: "10", height: "10", fill: "#7FBA00" }),
|
|
431
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "0", y: "11", width: "10", height: "10", fill: "#00A4EF" }),
|
|
432
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "11", y: "11", width: "10", height: "10", fill: "#FFB900" }),
|
|
433
|
-
children
|
|
434
|
-
]
|
|
435
|
-
}
|
|
436
|
-
)
|
|
437
|
-
);
|
|
438
|
-
Microsoft.displayName = "Microsoft";
|
|
439
273
|
var variants = classVarianceAuthority.cva(
|
|
440
274
|
[
|
|
441
275
|
"tailwindcss-preflight",
|
|
442
|
-
"tw
|
|
443
|
-
"tw
|
|
276
|
+
"tw:group/button",
|
|
277
|
+
"tw:border-box",
|
|
444
278
|
// layout
|
|
445
|
-
"tw
|
|
446
|
-
"tw
|
|
447
|
-
"tw
|
|
448
|
-
"tw
|
|
449
|
-
"tw
|
|
279
|
+
"tw:relative",
|
|
280
|
+
"tw:flex",
|
|
281
|
+
"tw:items-center",
|
|
282
|
+
"tw:justify-center",
|
|
283
|
+
"tw:gap-2",
|
|
450
284
|
// text — chrome weight/tracking are brand-overridable tokens
|
|
451
|
-
// (`--font-weight-medium` / `--letter-spacing-chrome`)
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
"tw-
|
|
456
|
-
"tw-
|
|
285
|
+
// (`--font-weight-medium` / `--letter-spacing-chrome`). Casing: standard case is
|
|
286
|
+
// the default; only legacy brands (`keboola-legacy-*`) uppercase the chrome, so
|
|
287
|
+
// modern brands (incl. Keboola V2) read naturally. Mirrors the V2 standard-case
|
|
288
|
+
// treatment shipped for Tooltip/Badge (PR 7629).
|
|
289
|
+
"tw:text-xs",
|
|
290
|
+
"tw:leading-5",
|
|
291
|
+
"tw:font-medium",
|
|
292
|
+
"tw:[[data-brand^=keboola-legacy]_&]:tracking-chrome",
|
|
293
|
+
"tw:[[data-brand^=keboola-legacy]_&]:uppercase",
|
|
457
294
|
// border — legacy (non-argo) chrome uses a fixed radius, not the brand token.
|
|
458
|
-
"tw
|
|
459
|
-
"tw
|
|
460
|
-
"tw
|
|
295
|
+
"tw:rounded",
|
|
296
|
+
"tw:border",
|
|
297
|
+
"tw:border-transparent",
|
|
461
298
|
// styling
|
|
462
|
-
"tw
|
|
463
|
-
"[a]:
|
|
299
|
+
"tw:shadow-none",
|
|
300
|
+
"tw:[a]:cursor-pointer",
|
|
464
301
|
// explicitly set for anchor
|
|
465
|
-
"focus-visible:
|
|
466
|
-
"focus-visible:
|
|
467
|
-
"focus-visible:-
|
|
468
|
-
"focus-visible:
|
|
469
|
-
"focus-visible:
|
|
470
|
-
"focus-visible:
|
|
302
|
+
"tw:focus-visible:outline",
|
|
303
|
+
"tw:focus-visible:outline-1",
|
|
304
|
+
"tw:focus-visible:-outline-offset-1",
|
|
305
|
+
"tw:focus-visible:outline-ring",
|
|
306
|
+
"tw:focus-visible:ring-4",
|
|
307
|
+
"tw:focus-visible:ring-ring/30",
|
|
471
308
|
// disabled
|
|
472
|
-
"disabled:
|
|
473
|
-
"disabled:
|
|
309
|
+
"tw:disabled:opacity-40",
|
|
310
|
+
"tw:disabled:cursor-not-allowed",
|
|
474
311
|
// anchor support
|
|
475
|
-
"
|
|
476
|
-
"aria-disabled:
|
|
477
|
-
"aria-disabled:
|
|
478
|
-
"[&_svg]:
|
|
312
|
+
"tw:!no-underline",
|
|
313
|
+
"tw:aria-disabled:opacity-40",
|
|
314
|
+
"tw:aria-disabled:cursor-not-allowed",
|
|
315
|
+
"tw:[&_svg]:shrink-0"
|
|
479
316
|
],
|
|
480
317
|
{
|
|
481
318
|
defaultVariants: {
|
|
@@ -485,113 +322,113 @@ var variants = classVarianceAuthority.cva(
|
|
|
485
322
|
},
|
|
486
323
|
variants: {
|
|
487
324
|
block: {
|
|
488
|
-
true: ["tw
|
|
325
|
+
true: ["tw:w-full"]
|
|
489
326
|
},
|
|
490
327
|
variant: {
|
|
491
328
|
primary: [
|
|
492
|
-
"tw
|
|
493
|
-
"tw
|
|
494
|
-
"focus:
|
|
495
|
-
"hover:
|
|
496
|
-
"hover:not-disabled:
|
|
497
|
-
"active:not-disabled:
|
|
329
|
+
"tw:text-white",
|
|
330
|
+
"tw:bg-primary-500",
|
|
331
|
+
"tw:focus:text-white",
|
|
332
|
+
"tw:hover:text-white",
|
|
333
|
+
"tw:hover:not-disabled:bg-primary-600",
|
|
334
|
+
"tw:active:not-disabled:bg-primary-800",
|
|
498
335
|
// anchor disabled override
|
|
499
|
-
"aria-disabled:!
|
|
336
|
+
"tw:aria-disabled:!bg-primary-500"
|
|
500
337
|
],
|
|
501
338
|
secondary: [
|
|
502
|
-
"tw
|
|
503
|
-
"tw
|
|
504
|
-
"focus:
|
|
505
|
-
"hover:
|
|
506
|
-
"hover:not-disabled:
|
|
507
|
-
"active:not-disabled:
|
|
339
|
+
"tw:text-white",
|
|
340
|
+
"tw:bg-secondary-500",
|
|
341
|
+
"tw:focus:text-white",
|
|
342
|
+
"tw:hover:text-white",
|
|
343
|
+
"tw:hover:not-disabled:bg-secondary-700",
|
|
344
|
+
"tw:active:not-disabled:bg-secondary-800",
|
|
508
345
|
// anchor disabled override
|
|
509
|
-
"aria-disabled:!
|
|
346
|
+
"tw:aria-disabled:!bg-secondary-500"
|
|
510
347
|
],
|
|
511
348
|
danger: [
|
|
512
|
-
"tw
|
|
513
|
-
"tw
|
|
514
|
-
"focus:
|
|
515
|
-
"hover:
|
|
516
|
-
"hover:not-disabled:
|
|
517
|
-
"active:not-disabled:
|
|
349
|
+
"tw:text-white",
|
|
350
|
+
"tw:bg-error-500",
|
|
351
|
+
"tw:focus:text-white",
|
|
352
|
+
"tw:hover:text-white",
|
|
353
|
+
"tw:hover:not-disabled:bg-error-600",
|
|
354
|
+
"tw:active:not-disabled:bg-error-700",
|
|
518
355
|
// anchor disabled override
|
|
519
|
-
"aria-disabled:!
|
|
356
|
+
"tw:aria-disabled:!bg-error-500"
|
|
520
357
|
],
|
|
521
358
|
invisible: [
|
|
522
|
-
"tw
|
|
523
|
-
"tw
|
|
524
|
-
"focus:
|
|
525
|
-
"hover:not-disabled:
|
|
526
|
-
"hover:
|
|
527
|
-
"active:not-disabled:
|
|
359
|
+
"tw:text-neutral-800",
|
|
360
|
+
"tw:bg-transparent",
|
|
361
|
+
"tw:focus:text-neutral-800",
|
|
362
|
+
"tw:hover:not-disabled:bg-neutral-100",
|
|
363
|
+
"tw:hover:text-neutral-800",
|
|
364
|
+
"tw:active:not-disabled:bg-neutral-150",
|
|
528
365
|
// contrasting icon on hover/active
|
|
529
|
-
"[&_svg]:
|
|
530
|
-
"
|
|
531
|
-
"
|
|
366
|
+
"tw:[&_svg]:text-neutral-400",
|
|
367
|
+
"tw:hover:not-disabled:[&_svg]:text-secondary-600",
|
|
368
|
+
"tw:active:not-disabled:[&_svg]:text-secondary-600",
|
|
532
369
|
// anchor disabled override
|
|
533
|
-
"aria-disabled:!
|
|
370
|
+
"tw:aria-disabled:!bg-transparent"
|
|
534
371
|
],
|
|
535
372
|
outline: [
|
|
536
|
-
"tw
|
|
537
|
-
"tw
|
|
373
|
+
"tw:text-neutral-800",
|
|
374
|
+
"tw:bg-white",
|
|
538
375
|
// border
|
|
539
|
-
"
|
|
540
|
-
"hover:
|
|
541
|
-
"focus:
|
|
542
|
-
"hover:not-disabled:!
|
|
543
|
-
"hover:not-disabled:
|
|
544
|
-
"active:not-disabled:
|
|
376
|
+
"tw:!border-neutral-200",
|
|
377
|
+
"tw:hover:text-neutral-800",
|
|
378
|
+
"tw:focus:text-neutral-800",
|
|
379
|
+
"tw:hover:not-disabled:!border-neutral-300",
|
|
380
|
+
"tw:hover:not-disabled:bg-neutral-100",
|
|
381
|
+
"tw:active:not-disabled:bg-neutral-200",
|
|
545
382
|
// contrasting icon hover, same as invisible
|
|
546
|
-
"[&_svg]:
|
|
547
|
-
"
|
|
548
|
-
"
|
|
383
|
+
"tw:[&_svg]:text-neutral-400",
|
|
384
|
+
"tw:not-disabled:hover:[&_svg]:text-secondary-600",
|
|
385
|
+
"tw:active:not-disabled:[&_svg]:text-secondary-600",
|
|
549
386
|
// anchor disabled override
|
|
550
|
-
"aria-disabled:!
|
|
551
|
-
"aria-disabled:!
|
|
387
|
+
"tw:aria-disabled:!bg-white",
|
|
388
|
+
"tw:aria-disabled:!border-neutral-200"
|
|
552
389
|
],
|
|
553
390
|
inline: [
|
|
554
|
-
"tw
|
|
555
|
-
"tw
|
|
556
|
-
"tw
|
|
557
|
-
"[&_svg]:
|
|
558
|
-
"
|
|
559
|
-
"
|
|
391
|
+
"tw:text-neutral-800",
|
|
392
|
+
"tw:bg-transparent",
|
|
393
|
+
"tw:rounded-full",
|
|
394
|
+
"tw:[&_svg]:text-neutral-400",
|
|
395
|
+
"tw:not-disabled:hover:[&_svg]:text-secondary-600",
|
|
396
|
+
"tw:not-disabled:focus:[&_svg]:text-secondary-600"
|
|
560
397
|
]
|
|
561
398
|
},
|
|
562
399
|
size: {
|
|
563
400
|
medium: [
|
|
564
|
-
"tw
|
|
565
|
-
"tw
|
|
566
|
-
"tw
|
|
567
|
-
"tw
|
|
568
|
-
'[&_svg:not([class*="tw
|
|
401
|
+
"tw:max-h-10",
|
|
402
|
+
"tw:min-h-10",
|
|
403
|
+
"tw:px-4",
|
|
404
|
+
"tw:py-2.5",
|
|
405
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-4'
|
|
569
406
|
],
|
|
570
407
|
small: [
|
|
571
|
-
"tw
|
|
572
|
-
"tw
|
|
573
|
-
"tw
|
|
574
|
-
"tw
|
|
575
|
-
'[&_svg:not([class*="tw
|
|
408
|
+
"tw:max-h-8",
|
|
409
|
+
"tw:min-h-8",
|
|
410
|
+
"tw:px-4",
|
|
411
|
+
"tw:py-1.5",
|
|
412
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-4'
|
|
576
413
|
],
|
|
577
414
|
large: [
|
|
578
|
-
"tw
|
|
579
|
-
"tw
|
|
580
|
-
"tw
|
|
581
|
-
"tw
|
|
582
|
-
'[&_svg:not([class*="tw
|
|
415
|
+
"tw:max-h-12",
|
|
416
|
+
"tw:min-h-12",
|
|
417
|
+
"tw:px-4",
|
|
418
|
+
"tw:py-3.5",
|
|
419
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-4'
|
|
583
420
|
],
|
|
584
|
-
"icon-lg": ["tw
|
|
585
|
-
icon: ["tw
|
|
586
|
-
"icon-sm": ["tw
|
|
587
|
-
"icon-xs": ["tw
|
|
421
|
+
"icon-lg": ["tw:size-12", "tw:p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-6'],
|
|
422
|
+
icon: ["tw:size-10", "tw:p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-4'],
|
|
423
|
+
"icon-sm": ["tw:size-8", "tw:p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-4'],
|
|
424
|
+
"icon-xs": ["tw:size-6", "tw:p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-4'],
|
|
588
425
|
"icon-2xs": [
|
|
589
|
-
"
|
|
590
|
-
"tw
|
|
591
|
-
"tw
|
|
592
|
-
'[&_svg:not([class*="tw
|
|
426
|
+
"tw:!inline-flex",
|
|
427
|
+
"tw:size-5",
|
|
428
|
+
"tw:max-h-5",
|
|
429
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-3'
|
|
593
430
|
],
|
|
594
|
-
"icon-3xs": ["tw
|
|
431
|
+
"icon-3xs": ["tw:h-fit", "tw:w-fit", 'tw:[&_svg:not([class*="tw:size-"])]:size-4']
|
|
595
432
|
}
|
|
596
433
|
}
|
|
597
434
|
}
|
|
@@ -600,37 +437,37 @@ var argoVariants = classVarianceAuthority.cva(
|
|
|
600
437
|
[
|
|
601
438
|
"tailwindcss-preflight",
|
|
602
439
|
// layout
|
|
603
|
-
"tw
|
|
604
|
-
"tw
|
|
605
|
-
"tw
|
|
606
|
-
"tw
|
|
607
|
-
"tw
|
|
608
|
-
"tw
|
|
440
|
+
"tw:relative",
|
|
441
|
+
"tw:inline-flex",
|
|
442
|
+
"tw:items-center",
|
|
443
|
+
"tw:justify-center",
|
|
444
|
+
"tw:whitespace-nowrap",
|
|
445
|
+
"tw:gap-2",
|
|
609
446
|
// border
|
|
610
|
-
"tw
|
|
611
|
-
"tw
|
|
612
|
-
"tw
|
|
447
|
+
"tw:border",
|
|
448
|
+
"tw:border-transparent",
|
|
449
|
+
"tw:rounded-[var(--radius-lg,0.25rem)]",
|
|
613
450
|
// text
|
|
614
|
-
"tw
|
|
615
|
-
"tw
|
|
451
|
+
"tw:font-medium",
|
|
452
|
+
"tw:select-none",
|
|
616
453
|
// focus visible
|
|
617
|
-
"
|
|
618
|
-
"focus-visible:
|
|
454
|
+
"tw:!outline-hidden",
|
|
455
|
+
"tw:focus-visible:ring-2",
|
|
619
456
|
// disabled
|
|
620
|
-
"disabled:
|
|
621
|
-
"disabled:
|
|
622
|
-
"active:
|
|
623
|
-
"tw
|
|
624
|
-
"tw
|
|
457
|
+
"tw:disabled:cursor-not-allowed",
|
|
458
|
+
"tw:disabled:opacity-50",
|
|
459
|
+
"tw:active:opacity-60",
|
|
460
|
+
"tw:transition-all",
|
|
461
|
+
"tw:bg-clip-padding",
|
|
625
462
|
// anchor support
|
|
626
|
-
"
|
|
627
|
-
"aria-disabled:
|
|
628
|
-
"aria-disabled:
|
|
463
|
+
"tw:!no-underline",
|
|
464
|
+
"tw:aria-disabled:cursor-not-allowed",
|
|
465
|
+
"tw:aria-disabled:opacity-50",
|
|
629
466
|
// icon
|
|
630
|
-
"tw
|
|
631
|
-
"[&_svg]:
|
|
632
|
-
"[&_svg]:
|
|
633
|
-
"[&_svg:not([class*='tw
|
|
467
|
+
"tw:shrink-0",
|
|
468
|
+
"tw:[&_svg]:pointer-events-none",
|
|
469
|
+
"tw:[&_svg]:shrink-0",
|
|
470
|
+
"tw:[&_svg:not([class*='tw:size-'])]:size-4"
|
|
634
471
|
],
|
|
635
472
|
{
|
|
636
473
|
defaultVariants: {
|
|
@@ -639,77 +476,77 @@ var argoVariants = classVarianceAuthority.cva(
|
|
|
639
476
|
},
|
|
640
477
|
variants: {
|
|
641
478
|
block: {
|
|
642
|
-
true: ["tw
|
|
479
|
+
true: ["tw:w-full"]
|
|
643
480
|
},
|
|
644
481
|
variant: {
|
|
645
482
|
primary: [
|
|
646
|
-
"tw
|
|
647
|
-
"tw
|
|
648
|
-
"[a]:hover:
|
|
649
|
-
"hover:not-disabled:
|
|
650
|
-
"hover:
|
|
651
|
-
"focus:
|
|
652
|
-
"focus-visible:
|
|
653
|
-
"focus-visible:
|
|
483
|
+
"tw:bg-primary",
|
|
484
|
+
"tw:text-primary-foreground",
|
|
485
|
+
"tw:[a]:hover:bg-primary/80",
|
|
486
|
+
"tw:hover:not-disabled:bg-primary/90",
|
|
487
|
+
"tw:hover:text-primary-foreground",
|
|
488
|
+
"tw:focus:text-primary-foreground",
|
|
489
|
+
"tw:focus-visible:border-primary",
|
|
490
|
+
"tw:focus-visible:ring-ring/50"
|
|
654
491
|
],
|
|
655
492
|
secondary: [
|
|
656
|
-
"tw
|
|
657
|
-
"tw
|
|
658
|
-
"hover:not-disabled:
|
|
659
|
-
"focus-visible:
|
|
660
|
-
"focus-visible:
|
|
493
|
+
"tw:bg-primary/10",
|
|
494
|
+
"tw:text-primary",
|
|
495
|
+
"tw:hover:not-disabled:bg-primary/20",
|
|
496
|
+
"tw:focus-visible:border-primary",
|
|
497
|
+
"tw:focus-visible:ring-ring/50"
|
|
661
498
|
],
|
|
662
499
|
// should be called "destructive" by Figma
|
|
663
500
|
danger: [
|
|
664
|
-
"tw
|
|
665
|
-
"tw
|
|
666
|
-
"hover:
|
|
667
|
-
"focus:
|
|
668
|
-
"focus-visible:
|
|
669
|
-
"focus-visible:
|
|
501
|
+
"tw:bg-destructive",
|
|
502
|
+
"tw:text-destructive-foreground",
|
|
503
|
+
"tw:hover:text-destructive-foreground",
|
|
504
|
+
"tw:focus:text-destructive-foreground",
|
|
505
|
+
"tw:focus-visible:border-destructive",
|
|
506
|
+
"tw:focus-visible:ring-destructive/20"
|
|
670
507
|
],
|
|
671
508
|
outline: [
|
|
672
|
-
"
|
|
673
|
-
"tw
|
|
509
|
+
"tw:!border-input",
|
|
510
|
+
"tw:bg-background",
|
|
674
511
|
// Semantic base text color so the label/icon flips in dark mode
|
|
675
512
|
// (matches `invisible`); previously unset → inherited a fixed dark color.
|
|
676
|
-
"tw
|
|
513
|
+
"tw:text-foreground",
|
|
677
514
|
// Hover follows the brand primary (translucent tint), matching the
|
|
678
515
|
// `secondary` variant — not the fixed `accent` blue.
|
|
679
|
-
"hover:not-disabled:
|
|
680
|
-
"hover:not-disabled:
|
|
681
|
-
"hover:active:
|
|
682
|
-
"focus-visible:!
|
|
683
|
-
"focus-visible:
|
|
516
|
+
"tw:hover:not-disabled:bg-primary/10",
|
|
517
|
+
"tw:hover:not-disabled:text-primary",
|
|
518
|
+
"tw:hover:active:bg-background",
|
|
519
|
+
"tw:focus-visible:!border-primary",
|
|
520
|
+
"tw:focus-visible:ring-ring/50"
|
|
684
521
|
],
|
|
685
522
|
// should be called "ghost" by Figma
|
|
686
523
|
invisible: [
|
|
687
|
-
"tw
|
|
688
|
-
"tw
|
|
689
|
-
"hover:not-disabled:
|
|
690
|
-
"hover:not-disabled:
|
|
691
|
-
"hover:not-disabled:
|
|
692
|
-
"focus-visible:
|
|
524
|
+
"tw:bg-transparent",
|
|
525
|
+
"tw:text-foreground",
|
|
526
|
+
"tw:hover:not-disabled:bg-primary/10",
|
|
527
|
+
"tw:hover:not-disabled:text-primary",
|
|
528
|
+
"tw:hover:not-disabled:border-primary/10",
|
|
529
|
+
"tw:focus-visible:ring-ring/50"
|
|
693
530
|
],
|
|
694
531
|
// should be called "link" by Figma
|
|
695
532
|
inline: [
|
|
696
|
-
"tw
|
|
697
|
-
"tw
|
|
698
|
-
"hover:
|
|
699
|
-
"hover:active:
|
|
700
|
-
"focus-visible:
|
|
533
|
+
"tw:bg-transparent",
|
|
534
|
+
"tw:text-primary",
|
|
535
|
+
"tw:hover:underline",
|
|
536
|
+
"tw:hover:active:bg-transparent",
|
|
537
|
+
"tw:focus-visible:ring-ring/50"
|
|
701
538
|
]
|
|
702
539
|
},
|
|
703
540
|
size: {
|
|
704
541
|
// should be called "default" by Figma
|
|
705
|
-
medium: ["tw
|
|
542
|
+
medium: ["tw:max-h-9", "tw:py-2", "tw:px-4", "tw:text-sm"],
|
|
706
543
|
// should be called "small" by Figma
|
|
707
|
-
small: ["tw
|
|
544
|
+
small: ["tw:max-h-8", "tw:py-2", "tw:px-3", "tw:text-xs"],
|
|
708
545
|
// should be called "large" by Figma
|
|
709
|
-
large: ["tw
|
|
710
|
-
"icon-lg": ["tw
|
|
711
|
-
icon: ["tw
|
|
712
|
-
"icon-sm": ["tw
|
|
546
|
+
large: ["tw:max-h-10", "tw:py-2.5", "tw:px-6", "tw:text-sm"],
|
|
547
|
+
"icon-lg": ["tw:size-10"],
|
|
548
|
+
icon: ["tw:size-9"],
|
|
549
|
+
"icon-sm": ["tw:size-8"],
|
|
713
550
|
// unsupported in ARGO, remove when old design is gone
|
|
714
551
|
"icon-xs": [],
|
|
715
552
|
"icon-2xs": [],
|
|
@@ -757,13 +594,13 @@ var Button = ({
|
|
|
757
594
|
onClick: handleClick,
|
|
758
595
|
className: cn(classNames),
|
|
759
596
|
children: [
|
|
760
|
-
isLoading && /* @__PURE__ */ jsxRuntime.jsx(
|
|
597
|
+
isLoading && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "tw:size-4 tw:shrink-0 tw:animate-spin" }),
|
|
761
598
|
/* @__PURE__ */ jsxRuntime.jsx(reactSlot.Slottable, { children: isLoading && isIconOnly ? null : children })
|
|
762
599
|
]
|
|
763
600
|
}
|
|
764
601
|
);
|
|
765
602
|
};
|
|
766
|
-
var
|
|
603
|
+
var Clipboard2 = ({
|
|
767
604
|
ref,
|
|
768
605
|
text: textProp,
|
|
769
606
|
children,
|
|
@@ -788,6 +625,7 @@ var Clipboard = ({
|
|
|
788
625
|
}
|
|
789
626
|
};
|
|
790
627
|
const handleOnClick = (event) => {
|
|
628
|
+
setIsTooltipOpen(true);
|
|
791
629
|
if (text && state === "ready") void copy(text);
|
|
792
630
|
onClick?.(event);
|
|
793
631
|
};
|
|
@@ -802,6 +640,7 @@ var Clipboard = ({
|
|
|
802
640
|
return tooltip;
|
|
803
641
|
})();
|
|
804
642
|
const tooltipVariant = state === "ready" && !!text ? tooltipVariantProp : "action";
|
|
643
|
+
const hasTooltipContent = tooltipContent !== null && tooltipContent !== void 0;
|
|
805
644
|
return /* @__PURE__ */ jsxRuntime.jsxs(Tooltip.Root, { open: isTooltipOpen, onOpenChange: handleOnOpenChange, children: [
|
|
806
645
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
807
646
|
Tooltip.Trigger,
|
|
@@ -810,12 +649,12 @@ var Clipboard = ({
|
|
|
810
649
|
asChild,
|
|
811
650
|
keepOpenOnClick: true,
|
|
812
651
|
onClick: handleOnClick,
|
|
813
|
-
className: cn("tw
|
|
652
|
+
className: cn("tw:cursor-pointer", className),
|
|
814
653
|
ref,
|
|
815
654
|
children: children ?? text
|
|
816
655
|
}
|
|
817
656
|
),
|
|
818
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
657
|
+
hasTooltipContent && /* @__PURE__ */ jsxRuntime.jsx(
|
|
819
658
|
Tooltip.Content,
|
|
820
659
|
{
|
|
821
660
|
keepOpenOnPointerDownOutside: true,
|
|
@@ -826,7 +665,7 @@ var Clipboard = ({
|
|
|
826
665
|
)
|
|
827
666
|
] });
|
|
828
667
|
};
|
|
829
|
-
var DEFAULT_ICON = /* @__PURE__ */ jsxRuntime.jsx(
|
|
668
|
+
var DEFAULT_ICON = /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Copy, {});
|
|
830
669
|
var DEFAULT_ARIA_LABEL = "Copy";
|
|
831
670
|
var ClipboardButton = ({
|
|
832
671
|
// clipboard props
|
|
@@ -843,7 +682,7 @@ var ClipboardButton = ({
|
|
|
843
682
|
const defaultAriaLabel = typeof tooltip === "string" && tooltip.trim() ? tooltip : DEFAULT_ARIA_LABEL;
|
|
844
683
|
const ariaLabel = rest["aria-label"] ?? (children == null ? defaultAriaLabel : void 0);
|
|
845
684
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
846
|
-
|
|
685
|
+
Clipboard2,
|
|
847
686
|
{
|
|
848
687
|
asChild: true,
|
|
849
688
|
tooltip,
|
|
@@ -860,10 +699,19 @@ var ClipboardButton = ({
|
|
|
860
699
|
var MIN_SCALE = 0.5;
|
|
861
700
|
var MAX_SCALE = 3;
|
|
862
701
|
var ZOOM_STEP = 0.1;
|
|
863
|
-
var ZoomableSvg = ({
|
|
702
|
+
var ZoomableSvg = ({
|
|
703
|
+
html,
|
|
704
|
+
copyText,
|
|
705
|
+
className,
|
|
706
|
+
allowForeignObject,
|
|
707
|
+
renderActions
|
|
708
|
+
}) => {
|
|
864
709
|
const safeHtml = react.useMemo(
|
|
865
|
-
() => DOMPurify__default.default.sanitize(html, {
|
|
866
|
-
|
|
710
|
+
() => DOMPurify__default.default.sanitize(html, {
|
|
711
|
+
USE_PROFILES: { svg: true, svgFilters: true },
|
|
712
|
+
...allowForeignObject ? { ADD_TAGS: ["foreignObject"] } : {}
|
|
713
|
+
}),
|
|
714
|
+
[html, allowForeignObject]
|
|
867
715
|
);
|
|
868
716
|
const containerRef = react.useRef(null);
|
|
869
717
|
const [scale, setScale] = react.useState(1);
|
|
@@ -892,7 +740,7 @@ var ZoomableSvg = ({ html, copyText, className }) => {
|
|
|
892
740
|
};
|
|
893
741
|
el.addEventListener("wheel", onWheel, { passive: false });
|
|
894
742
|
return () => el.removeEventListener("wheel", onWheel);
|
|
895
|
-
}, []);
|
|
743
|
+
}, [isFullscreen]);
|
|
896
744
|
const didDragRef = react.useRef(false);
|
|
897
745
|
const handleMouseDown = react.useCallback(
|
|
898
746
|
(e) => {
|
|
@@ -936,7 +784,7 @@ var ZoomableSvg = ({ html, copyText, className }) => {
|
|
|
936
784
|
"div",
|
|
937
785
|
{
|
|
938
786
|
role: "presentation",
|
|
939
|
-
className: cn("tw
|
|
787
|
+
className: cn("tw:group/zoom tw:relative", isFullscreen && "tw:h-full"),
|
|
940
788
|
onClick: handleClick,
|
|
941
789
|
children: [
|
|
942
790
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -945,8 +793,8 @@ var ZoomableSvg = ({ html, copyText, className }) => {
|
|
|
945
793
|
role: "presentation",
|
|
946
794
|
ref: containerRef,
|
|
947
795
|
className: cn(
|
|
948
|
-
"tw
|
|
949
|
-
isFullscreen && "tw
|
|
796
|
+
"tw:overflow-hidden tw:cursor-grab tw:active:cursor-grabbing tw:p-3",
|
|
797
|
+
isFullscreen && "tw:h-full"
|
|
950
798
|
),
|
|
951
799
|
onMouseDown: handleMouseDown,
|
|
952
800
|
onMouseMove: handleMouseMove,
|
|
@@ -956,8 +804,8 @@ var ZoomableSvg = ({ html, copyText, className }) => {
|
|
|
956
804
|
"div",
|
|
957
805
|
{
|
|
958
806
|
className: cn(
|
|
959
|
-
"tw
|
|
960
|
-
isFullscreen && "tw
|
|
807
|
+
"tw:flex tw:justify-center tw:origin-center",
|
|
808
|
+
isFullscreen && "tw:h-full tw:[&>svg]:h-full"
|
|
961
809
|
),
|
|
962
810
|
style: { transform: `translate(${translate.x}px, ${translate.y}px) scale(${scale})` },
|
|
963
811
|
dangerouslySetInnerHTML: { __html: safeHtml }
|
|
@@ -969,11 +817,12 @@ var ZoomableSvg = ({ html, copyText, className }) => {
|
|
|
969
817
|
"div",
|
|
970
818
|
{
|
|
971
819
|
role: "presentation",
|
|
972
|
-
className: "tw
|
|
820
|
+
className: "tw:absolute tw:right-1 tw:top-1 tw:flex tw:gap-1 tw:opacity-0 tw:transition-opacity tw:focus-within:opacity-100 tw:group-hover/zoom:opacity-100",
|
|
973
821
|
onClick: stopPropagation,
|
|
974
822
|
children: [
|
|
975
823
|
isZoomed && /* @__PURE__ */ jsxRuntime.jsx(Tooltip, { tooltip: "Reset zoom", placement: "top", triggerAsChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Button, { size: "small", variant: "outline", onClick: handleReset, children: "Reset" }) }),
|
|
976
824
|
copyText && /* @__PURE__ */ jsxRuntime.jsx(ClipboardButton, { text: copyText, tooltip: "Copy code", size: "icon-sm", variant: "outline" }),
|
|
825
|
+
renderActions?.(safeHtml),
|
|
977
826
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
978
827
|
Tooltip,
|
|
979
828
|
{
|
|
@@ -987,7 +836,7 @@ var ZoomableSvg = ({ html, copyText, className }) => {
|
|
|
987
836
|
variant: "outline",
|
|
988
837
|
"aria-label": isFullscreen ? "Exit fullscreen" : "Fullscreen",
|
|
989
838
|
onClick: () => setIsFullscreen((f) => !f),
|
|
990
|
-
children: isFullscreen ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
839
|
+
children: isFullscreen ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Minimize2, { className: "tw:size-4" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Maximize2, { className: "tw:size-4" })
|
|
991
840
|
}
|
|
992
841
|
)
|
|
993
842
|
}
|
|
@@ -999,36 +848,112 @@ var ZoomableSvg = ({ html, copyText, className }) => {
|
|
|
999
848
|
}
|
|
1000
849
|
);
|
|
1001
850
|
if (isFullscreen) {
|
|
1002
|
-
return
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
851
|
+
return reactDom.createPortal(
|
|
852
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
853
|
+
"div",
|
|
854
|
+
{
|
|
855
|
+
role: "presentation",
|
|
856
|
+
"data-testid": "zoomable-svg-fullscreen",
|
|
857
|
+
className: "tw:fixed tw:inset-0 tw:z-[1060] tw:bg-muted tw:p-4 tailwindcss-preflight",
|
|
858
|
+
onClick: stopPropagation,
|
|
859
|
+
children: diagramContent
|
|
860
|
+
}
|
|
861
|
+
),
|
|
862
|
+
document.body
|
|
1010
863
|
);
|
|
1011
864
|
}
|
|
1012
865
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1013
866
|
"div",
|
|
1014
867
|
{
|
|
1015
868
|
className: cn(
|
|
1016
|
-
"tw
|
|
869
|
+
"tw:overflow-hidden tw:rounded-md tw:border tw:border-border tw:bg-muted",
|
|
1017
870
|
className
|
|
1018
871
|
),
|
|
1019
872
|
children: diagramContent
|
|
1020
873
|
}
|
|
1021
874
|
);
|
|
1022
875
|
};
|
|
876
|
+
var HEIGHT_CLASS_NAME = {
|
|
877
|
+
xxs: "tw:h-3 tw:rounded",
|
|
878
|
+
xs: "tw:h-4 tw:rounded",
|
|
879
|
+
sm: "tw:h-5 tw:rounded",
|
|
880
|
+
md: "tw:h-6 tw:rounded-md",
|
|
881
|
+
lg: "tw:h-8 tw:rounded-lg",
|
|
882
|
+
xl: "tw:h-10 tw:rounded-lg",
|
|
883
|
+
"2xl": "tw:h-12 tw:rounded-lg"
|
|
884
|
+
};
|
|
885
|
+
var ANIMATION_CLASS_NAME = cn(
|
|
886
|
+
// base styles
|
|
887
|
+
"tw:relative",
|
|
888
|
+
"tw:overflow-hidden",
|
|
889
|
+
"tw:pointer-events-none",
|
|
890
|
+
"tw:bg-skeleton",
|
|
891
|
+
// before
|
|
892
|
+
'tw:before:content-[""]',
|
|
893
|
+
"tw:before:opacity-100",
|
|
894
|
+
"tw:before:absolute",
|
|
895
|
+
"tw:before:inset-0",
|
|
896
|
+
"tw:before:-translate-x-full",
|
|
897
|
+
"tw:before:animate-[shimmer_2s_infinite]",
|
|
898
|
+
"tw:before:bg-gradient-to-r",
|
|
899
|
+
"tw:before:from-transparent",
|
|
900
|
+
"tw:before:to-transparent",
|
|
901
|
+
"tw:before:via-white/40"
|
|
902
|
+
);
|
|
903
|
+
var Skeleton = ({ height = "md", className, count = 1 }) => {
|
|
904
|
+
const prefixId = react.useId();
|
|
905
|
+
const keys = Array.from({ length: count }, (_, i) => `${prefixId}-${i}`);
|
|
906
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: keys.map((key) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
907
|
+
"div",
|
|
908
|
+
{
|
|
909
|
+
"data-skeleton": "true",
|
|
910
|
+
className: cn(HEIGHT_CLASS_NAME[height], ANIMATION_CLASS_NAME, className)
|
|
911
|
+
},
|
|
912
|
+
key
|
|
913
|
+
)) });
|
|
914
|
+
};
|
|
915
|
+
var DiagramSkeleton = () => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw:my-3 tw:overflow-hidden tw:rounded-md tw:border tw:border-neutral-150 tw:bg-neutral-50 tw:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "tw:h-40" }) });
|
|
916
|
+
|
|
917
|
+
// src/blocks/MermaidDiagram/svgTransforms.ts
|
|
918
|
+
var HTML_TAG = /<[^>]+>/g;
|
|
919
|
+
var FOREIGN_OBJECT = /(<foreignObject\b[^>]*>)([\s\S]*?)(<\/foreignObject>)/g;
|
|
920
|
+
var ROOT_SVG_TAG = /^(\s*<svg\b)([^>]*)(>)/i;
|
|
921
|
+
var flattenForeignObjectLabels = (svg) => svg.replace(FOREIGN_OBJECT, (_match, open, inner, close) => {
|
|
922
|
+
const text = inner.replace(HTML_TAG, " ").replace(/\s+/g, " ").trim();
|
|
923
|
+
return `${open}${text}${close}`;
|
|
924
|
+
});
|
|
925
|
+
var STYLE_ATTR = /\s+style="([^"]*)"/i;
|
|
926
|
+
var makeResponsive = (svgString) => {
|
|
927
|
+
const viewBoxMatch = svgString.match(/viewBox="[^"]*\s([\d.]+)\s[\d.]+"/);
|
|
928
|
+
const vbWidth = viewBoxMatch ? Math.round(Number(viewBoxMatch[1])) : void 0;
|
|
929
|
+
return svgString.replace(ROOT_SVG_TAG, (_match, open, attrs, close) => {
|
|
930
|
+
const existingStyle = attrs.match(STYLE_ATTR)?.[1] ?? "";
|
|
931
|
+
const styleDecls = existingStyle.replace(/max-width:\s*[^;"]*;?\s*/gi, "").replace(/\s+/g, " ").trim().replace(/;$/, "");
|
|
932
|
+
let nextAttrs = attrs.replace(/\s+width="[^"]*"/i, "").replace(/\s+height="[^"]*"/i, "").replace(STYLE_ATTR, "");
|
|
933
|
+
nextAttrs += ' width="100%"';
|
|
934
|
+
const styleParts = [styleDecls, vbWidth ? `max-width: ${vbWidth}px` : ""].filter(Boolean).join("; ");
|
|
935
|
+
if (styleParts) nextAttrs += ` style="${styleParts}"`;
|
|
936
|
+
return `${open}${nextAttrs}${close}`;
|
|
937
|
+
});
|
|
938
|
+
};
|
|
1023
939
|
var PRIMARY_FALLBACK_CHANNELS = "31 143 255";
|
|
1024
940
|
var resolvePrimary = () => {
|
|
1025
|
-
const channels = typeof document === "undefined" ? PRIMARY_FALLBACK_CHANNELS : getComputedStyle(document.documentElement).getPropertyValue("--
|
|
941
|
+
const channels = typeof document === "undefined" ? PRIMARY_FALLBACK_CHANNELS : getComputedStyle(document.documentElement).getPropertyValue("--primary").trim() || PRIMARY_FALLBACK_CHANNELS;
|
|
1026
942
|
return `rgb(${channels})`;
|
|
1027
943
|
};
|
|
1028
944
|
var mermaidPromise = null;
|
|
945
|
+
var registerLucideIconPack = (m) => {
|
|
946
|
+
m.registerIconPacks([
|
|
947
|
+
{
|
|
948
|
+
name: "lucide",
|
|
949
|
+
loader: () => import('@iconify-json/lucide/icons.json').then((mod) => mod.default)
|
|
950
|
+
}
|
|
951
|
+
]);
|
|
952
|
+
};
|
|
1029
953
|
var getMermaid = () => {
|
|
1030
954
|
if (!mermaidPromise) {
|
|
1031
955
|
mermaidPromise = import('mermaid').then((m) => {
|
|
956
|
+
registerLucideIconPack(m.default);
|
|
1032
957
|
m.default.initialize({
|
|
1033
958
|
startOnLoad: false,
|
|
1034
959
|
securityLevel: "strict",
|
|
@@ -1092,7 +1017,9 @@ var getMermaid = () => {
|
|
|
1092
1017
|
return mermaidPromise;
|
|
1093
1018
|
};
|
|
1094
1019
|
var stripFontImports = (svg) => svg.replace(/@import\s+url\([^)]*fonts\.googleapis\.com[^)]*\);?\s*/g, "");
|
|
1020
|
+
var hasIconSyntax = (code) => /@\{[^}]*\bicon\s*:/.test(code) || /\b(?:icon|service|group)\b[^\n(]*\(\s*[\w-]+:/.test(code) || /\bfa[bslr]?:fa-/.test(code);
|
|
1095
1021
|
var tryFastRender = (code) => {
|
|
1022
|
+
if (hasIconSyntax(code)) return null;
|
|
1096
1023
|
try {
|
|
1097
1024
|
return stripFontImports(
|
|
1098
1025
|
beautifulMermaid.renderMermaidSVG(code, {
|
|
@@ -1102,27 +1029,11 @@ var tryFastRender = (code) => {
|
|
|
1102
1029
|
font: "Inter, system-ui, sans-serif"
|
|
1103
1030
|
})
|
|
1104
1031
|
);
|
|
1105
|
-
} catch {
|
|
1032
|
+
} catch (err) {
|
|
1033
|
+
console.debug("[MermaidDiagram] fast render unavailable, using async fallback:", err);
|
|
1106
1034
|
return null;
|
|
1107
1035
|
}
|
|
1108
1036
|
};
|
|
1109
|
-
var makeResponsive = (svgString) => {
|
|
1110
|
-
const viewBoxMatch = svgString.match(/viewBox="[^"]*\s([\d.]+)\s[\d.]+"/);
|
|
1111
|
-
const vbWidth = viewBoxMatch ? Math.round(Number(viewBoxMatch[1])) : void 0;
|
|
1112
|
-
let result = svgString.replace(/(<svg[^>]*?)\s+width="[^"]*"/i, '$1 width="100%"').replace(/(<svg[^>]*?)\s+height="[^"]*"/i, "$1");
|
|
1113
|
-
if (!vbWidth) return result;
|
|
1114
|
-
const hasStyle = /(<svg[^>]*?)\s+style="([^"]*)"/i.test(result);
|
|
1115
|
-
if (hasStyle) {
|
|
1116
|
-
result = result.replace(/(<svg[^>]*?)\s+style="([^"]*)"/i, (_m, pre, styles) => {
|
|
1117
|
-
const cleaned = styles.replace(/max-width:\s*[^;"]*;?\s*/g, "").trim();
|
|
1118
|
-
const combined = [cleaned, `max-width: ${vbWidth}px`].filter(Boolean).join("; ");
|
|
1119
|
-
return `${pre} style="${combined}"`;
|
|
1120
|
-
});
|
|
1121
|
-
} else {
|
|
1122
|
-
result = result.replace(/<svg/, `<svg style="max-width: ${vbWidth}px"`);
|
|
1123
|
-
}
|
|
1124
|
-
return result;
|
|
1125
|
-
};
|
|
1126
1037
|
var RENDER_DEBOUNCE_MS = 300;
|
|
1127
1038
|
var svgCache = /* @__PURE__ */ new Map();
|
|
1128
1039
|
var resolveSyncSvg = (code) => {
|
|
@@ -1132,7 +1043,7 @@ var resolveSyncSvg = (code) => {
|
|
|
1132
1043
|
if (fast) svgCache.set(code, fast);
|
|
1133
1044
|
return fast;
|
|
1134
1045
|
};
|
|
1135
|
-
var MermaidDiagram = ({ code }) => {
|
|
1046
|
+
var MermaidDiagram = ({ code, renderActions }) => {
|
|
1136
1047
|
const id = react.useId();
|
|
1137
1048
|
const [svg, setSvg] = react.useState(() => resolveSyncSvg(code));
|
|
1138
1049
|
const [renderFailed, setRenderFailed] = react.useState(false);
|
|
@@ -1163,8 +1074,9 @@ var MermaidDiagram = ({ code }) => {
|
|
|
1163
1074
|
try {
|
|
1164
1075
|
const result = await mermaidModule.default.render(rendererId, code, container);
|
|
1165
1076
|
if (renderIdRef.current === currentRenderId && result) {
|
|
1166
|
-
|
|
1167
|
-
|
|
1077
|
+
const svgOutput = flattenForeignObjectLabels(result.svg);
|
|
1078
|
+
svgCache.set(code, svgOutput);
|
|
1079
|
+
setSvg(svgOutput);
|
|
1168
1080
|
setRenderFailed(false);
|
|
1169
1081
|
}
|
|
1170
1082
|
} finally {
|
|
@@ -1193,11 +1105,11 @@ var MermaidDiagram = ({ code }) => {
|
|
|
1193
1105
|
"pre",
|
|
1194
1106
|
{
|
|
1195
1107
|
className: cn(
|
|
1196
|
-
"tw
|
|
1197
|
-
"tw
|
|
1198
|
-
"tw
|
|
1199
|
-
"tw
|
|
1200
|
-
"tw
|
|
1108
|
+
"tw:my-3 tw:overflow-auto tw:whitespace-pre-wrap tw:break-all",
|
|
1109
|
+
"tw:py-3 tw:px-4",
|
|
1110
|
+
"tw:bg-neutral-50",
|
|
1111
|
+
"tw:rounded-md tw:text-neutral-400",
|
|
1112
|
+
"tw:text-sm tw:font-mono"
|
|
1201
1113
|
),
|
|
1202
1114
|
children: /* @__PURE__ */ jsxRuntime.jsx("code", { children: code })
|
|
1203
1115
|
}
|
|
@@ -1211,12 +1123,14 @@ var MermaidDiagram = ({ code }) => {
|
|
|
1211
1123
|
copyText: `\`\`\`mermaid
|
|
1212
1124
|
${code}
|
|
1213
1125
|
\`\`\``,
|
|
1214
|
-
className: "tw
|
|
1126
|
+
className: "tw:my-3",
|
|
1127
|
+
allowForeignObject: true,
|
|
1128
|
+
renderActions
|
|
1215
1129
|
},
|
|
1216
1130
|
code
|
|
1217
1131
|
);
|
|
1218
1132
|
}
|
|
1219
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1133
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DiagramSkeleton, {});
|
|
1220
1134
|
};
|
|
1221
1135
|
|
|
1222
1136
|
exports.MermaidDiagram = MermaidDiagram;
|