@keboola/design 6.5.0 → 9.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 +7 -7
- package/COMPONENT-API.md +3 -9
- package/README.md +1 -1
- 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 +904 -550
- package/dist/editors.cjs.map +1 -1
- package/dist/editors.d.cts +35 -5
- package/dist/editors.d.ts +35 -5
- package/dist/editors.js +908 -537
- package/dist/editors.js.map +1 -1
- package/dist/icons.cjs +23817 -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 +297 -40
- package/dist/icons.js.map +1 -1
- package/dist/index.cjs +4702 -4755
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +183 -169
- package/dist/index.d.ts +183 -169
- package/dist/index.js +4700 -4754
- package/dist/index.js.map +1 -1
- package/dist/markdown-editor.cjs +817 -923
- package/dist/markdown-editor.cjs.map +1 -1
- package/dist/markdown-editor.js +818 -923
- package/dist/markdown-editor.js.map +1 -1
- package/dist/mermaid.cjs +308 -425
- 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 +310 -408
- package/dist/mermaid.js.map +1 -1
- package/dist/rjsf.cjs +1704 -1234
- package/dist/rjsf.cjs.map +1 -1
- package/dist/rjsf.js +1708 -1237
- 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 +26 -19
- package/src/styles.css +125 -105
- package/src/theme.css +264 -0
package/dist/markdown-editor.cjs
CHANGED
|
@@ -7,7 +7,7 @@ var react = require('react');
|
|
|
7
7
|
var reactTooltip = require('@radix-ui/react-tooltip');
|
|
8
8
|
var classVarianceAuthority = require('class-variance-authority');
|
|
9
9
|
var jsxRuntime = require('react/jsx-runtime');
|
|
10
|
-
var
|
|
10
|
+
var lucideReact = require('lucide-react');
|
|
11
11
|
var reactSlot = require('@radix-ui/react-slot');
|
|
12
12
|
var reactDom = require('react-dom');
|
|
13
13
|
var DOMPurify = require('dompurify');
|
|
@@ -61,7 +61,6 @@ function _interopNamespace(e) {
|
|
|
61
61
|
return Object.freeze(n);
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
var lucide_react_star__namespace = /*#__PURE__*/_interopNamespace(lucide_react_star);
|
|
65
64
|
var DOMPurify__default = /*#__PURE__*/_interopDefault(DOMPurify);
|
|
66
65
|
var colors__default = /*#__PURE__*/_interopDefault(colors);
|
|
67
66
|
var DropdownMenuPrimitive3__namespace = /*#__PURE__*/_interopNamespace(DropdownMenuPrimitive3);
|
|
@@ -70,9 +69,7 @@ var TextareaAutosize__default = /*#__PURE__*/_interopDefault(TextareaAutosize);
|
|
|
70
69
|
var RLabel__namespace = /*#__PURE__*/_interopNamespace(RLabel);
|
|
71
70
|
|
|
72
71
|
var __defProp = Object.defineProperty;
|
|
73
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
74
72
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
75
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
76
73
|
var __esm = (fn, res) => function __init() {
|
|
77
74
|
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
78
75
|
};
|
|
@@ -80,20 +77,11 @@ var __export = (target, all) => {
|
|
|
80
77
|
for (var name in all)
|
|
81
78
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
82
79
|
};
|
|
83
|
-
var __copyProps = (to, from, except, desc) => {
|
|
84
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
85
|
-
for (let key of __getOwnPropNames(from))
|
|
86
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
87
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
88
|
-
}
|
|
89
|
-
return to;
|
|
90
|
-
};
|
|
91
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget);
|
|
92
80
|
var twMerge, cn;
|
|
93
81
|
var init_classNames = __esm({
|
|
94
82
|
"src/utils/classNames.ts"() {
|
|
95
83
|
twMerge = tailwindMerge.extendTailwindMerge({
|
|
96
|
-
prefix: "tw
|
|
84
|
+
prefix: "tw"
|
|
97
85
|
});
|
|
98
86
|
cn = (...classes) => twMerge(clsx.clsx(...classes));
|
|
99
87
|
}
|
|
@@ -212,39 +200,39 @@ var init_TooltipContent = __esm({
|
|
|
212
200
|
tooltipVariants = classVarianceAuthority.cva(
|
|
213
201
|
[
|
|
214
202
|
"tailwindcss-preflight",
|
|
215
|
-
"tw
|
|
216
|
-
"tw
|
|
217
|
-
"tw
|
|
218
|
-
"tw
|
|
219
|
-
"tw
|
|
203
|
+
"tw:inline-block",
|
|
204
|
+
"tw:break-anywhere",
|
|
205
|
+
"tw:max-h-96",
|
|
206
|
+
"tw:overflow-y-auto",
|
|
207
|
+
"tw:z-[1060]",
|
|
220
208
|
// legacy (dark) chrome — default
|
|
221
|
-
"tw
|
|
222
|
-
"tw
|
|
223
|
-
"tw
|
|
209
|
+
"tw:rounded",
|
|
210
|
+
"tw:bg-neutral-800",
|
|
211
|
+
"tw:text-white",
|
|
224
212
|
// argo chrome overrides — semantic floating-panel tokens
|
|
225
|
-
"data-[argo=true]:
|
|
226
|
-
"data-[argo=true]:
|
|
227
|
-
"data-[argo=true]:
|
|
228
|
-
"data-[argo=true]:
|
|
229
|
-
"data-[argo=true]:
|
|
230
|
-
"data-[argo=true]:
|
|
231
|
-
"data-[argo=true]:
|
|
213
|
+
"tw:data-[argo=true]:rounded-2xl",
|
|
214
|
+
"tw:data-[argo=true]:border",
|
|
215
|
+
"tw:data-[argo=true]:border-solid",
|
|
216
|
+
"tw:data-[argo=true]:border-border",
|
|
217
|
+
"tw:data-[argo=true]:bg-popover",
|
|
218
|
+
"tw:data-[argo=true]:text-popover-foreground",
|
|
219
|
+
"tw:data-[argo=true]:shadow-md",
|
|
232
220
|
// argo open animation
|
|
233
|
-
"data-[argo=true]:data-[state=delayed-open]:
|
|
234
|
-
"data-[argo=true]:data-[state=instant-open]:
|
|
235
|
-
"data-[argo=true]:data-[state=delayed-open]:
|
|
236
|
-
"data-[argo=true]:data-[state=instant-open]:
|
|
237
|
-
"data-[argo=true]:data-[state=delayed-open]:
|
|
238
|
-
"data-[argo=true]:data-[state=instant-open]:
|
|
221
|
+
"tw:data-[argo=true]:data-[state=delayed-open]:animate-in",
|
|
222
|
+
"tw:data-[argo=true]:data-[state=instant-open]:animate-in",
|
|
223
|
+
"tw:data-[argo=true]:data-[state=delayed-open]:fade-in-0",
|
|
224
|
+
"tw:data-[argo=true]:data-[state=instant-open]:fade-in-0",
|
|
225
|
+
"tw:data-[argo=true]:data-[state=delayed-open]:zoom-in-95",
|
|
226
|
+
"tw:data-[argo=true]:data-[state=instant-open]:zoom-in-95",
|
|
239
227
|
// argo closed animation
|
|
240
|
-
"data-[argo=true]:data-[state=closed]:
|
|
241
|
-
"data-[argo=true]:data-[state=closed]:
|
|
242
|
-
"data-[argo=true]:data-[state=closed]:
|
|
228
|
+
"tw:data-[argo=true]:data-[state=closed]:animate-out",
|
|
229
|
+
"tw:data-[argo=true]:data-[state=closed]:fade-out-0",
|
|
230
|
+
"tw:data-[argo=true]:data-[state=closed]:zoom-out-95",
|
|
243
231
|
// argo position animation
|
|
244
|
-
"data-[argo=true]:data-[side=bottom]:
|
|
245
|
-
"data-[argo=true]:data-[side=left]:
|
|
246
|
-
"data-[argo=true]:data-[side=right]:
|
|
247
|
-
"data-[argo=true]:data-[side=top]:
|
|
232
|
+
"tw:data-[argo=true]:data-[side=bottom]:slide-in-from-top-2",
|
|
233
|
+
"tw:data-[argo=true]:data-[side=left]:slide-in-from-right-2",
|
|
234
|
+
"tw:data-[argo=true]:data-[side=right]:slide-in-from-left-2",
|
|
235
|
+
"tw:data-[argo=true]:data-[side=top]:slide-in-from-bottom-2"
|
|
248
236
|
],
|
|
249
237
|
{
|
|
250
238
|
defaultVariants: {
|
|
@@ -253,22 +241,26 @@ var init_TooltipContent = __esm({
|
|
|
253
241
|
variants: {
|
|
254
242
|
variant: {
|
|
255
243
|
action: [
|
|
256
|
-
"tw
|
|
257
|
-
"tw
|
|
258
|
-
"tw
|
|
259
|
-
"tw
|
|
260
|
-
"tw
|
|
261
|
-
"tw
|
|
262
|
-
|
|
263
|
-
|
|
244
|
+
"tw:max-w-fit",
|
|
245
|
+
"tw:px-3",
|
|
246
|
+
"tw:py-2",
|
|
247
|
+
"tw:text-center",
|
|
248
|
+
"tw:text-xs",
|
|
249
|
+
"tw:font-medium",
|
|
250
|
+
// Legacy chrome uppercases the action tooltip; the Keboola V2 brand
|
|
251
|
+
// (`data-brand="keboola"`) renders it in standard case instead.
|
|
252
|
+
"tw:uppercase",
|
|
253
|
+
"tw:tracking-wider",
|
|
254
|
+
"tw:[[data-brand=keboola]_&]:normal-case",
|
|
255
|
+
"tw:[[data-brand=keboola]_&]:tracking-normal"
|
|
264
256
|
],
|
|
265
257
|
explanatory: [
|
|
266
|
-
"tw
|
|
267
|
-
"tw
|
|
268
|
-
"tw
|
|
269
|
-
"tw
|
|
270
|
-
"tw
|
|
271
|
-
"tw
|
|
258
|
+
"tw:max-w-80",
|
|
259
|
+
"tw:px-4",
|
|
260
|
+
"tw:py-3",
|
|
261
|
+
"tw:text-left",
|
|
262
|
+
"tw:text-sm",
|
|
263
|
+
"tw:font-normal"
|
|
272
264
|
]
|
|
273
265
|
}
|
|
274
266
|
}
|
|
@@ -353,8 +345,8 @@ var init_TooltipTrigger = __esm({
|
|
|
353
345
|
// (merged in via Slot) activates Tailwind's preflight inside the
|
|
354
346
|
// span, which sets `svg { display: block }` — without an inline-flex
|
|
355
347
|
// container that would stack any bare Lucide icon onto its own
|
|
356
|
-
// line. `tw
|
|
357
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw
|
|
348
|
+
// line. `tw:inline-flex tw:items-center` keeps icon + text aligned.
|
|
349
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw:inline-flex tw:items-center", children })
|
|
358
350
|
)
|
|
359
351
|
}
|
|
360
352
|
);
|
|
@@ -529,31 +521,31 @@ var init_Skeleton = __esm({
|
|
|
529
521
|
"src/components/Skeleton/Skeleton.tsx"() {
|
|
530
522
|
init_utils2();
|
|
531
523
|
HEIGHT_CLASS_NAME = {
|
|
532
|
-
xxs: "tw
|
|
533
|
-
xs: "tw
|
|
534
|
-
sm: "tw
|
|
535
|
-
md: "tw
|
|
536
|
-
lg: "tw
|
|
537
|
-
xl: "tw
|
|
538
|
-
"2xl": "tw
|
|
524
|
+
xxs: "tw:h-3 tw:rounded",
|
|
525
|
+
xs: "tw:h-4 tw:rounded",
|
|
526
|
+
sm: "tw:h-5 tw:rounded",
|
|
527
|
+
md: "tw:h-6 tw:rounded-md",
|
|
528
|
+
lg: "tw:h-8 tw:rounded-lg",
|
|
529
|
+
xl: "tw:h-10 tw:rounded-lg",
|
|
530
|
+
"2xl": "tw:h-12 tw:rounded-lg"
|
|
539
531
|
};
|
|
540
532
|
ANIMATION_CLASS_NAME = cn(
|
|
541
533
|
// base styles
|
|
542
|
-
"tw
|
|
543
|
-
"tw
|
|
544
|
-
"tw
|
|
545
|
-
"tw
|
|
534
|
+
"tw:relative",
|
|
535
|
+
"tw:overflow-hidden",
|
|
536
|
+
"tw:pointer-events-none",
|
|
537
|
+
"tw:bg-skeleton",
|
|
546
538
|
// before
|
|
547
|
-
'before:
|
|
548
|
-
"before:
|
|
549
|
-
"before:
|
|
550
|
-
"before:
|
|
551
|
-
"before:-
|
|
552
|
-
"before:
|
|
553
|
-
"before:
|
|
554
|
-
"before:
|
|
555
|
-
"before:
|
|
556
|
-
"before:
|
|
539
|
+
'tw:before:content-[""]',
|
|
540
|
+
"tw:before:opacity-100",
|
|
541
|
+
"tw:before:absolute",
|
|
542
|
+
"tw:before:inset-0",
|
|
543
|
+
"tw:before:-translate-x-full",
|
|
544
|
+
"tw:before:animate-[shimmer_2s_infinite]",
|
|
545
|
+
"tw:before:bg-gradient-to-r",
|
|
546
|
+
"tw:before:from-transparent",
|
|
547
|
+
"tw:before:to-transparent",
|
|
548
|
+
"tw:before:via-white/40"
|
|
557
549
|
);
|
|
558
550
|
Skeleton = ({ height = "md", className, count = 1 }) => {
|
|
559
551
|
const prefixId = react.useId();
|
|
@@ -569,129 +561,8 @@ var init_Skeleton = __esm({
|
|
|
569
561
|
};
|
|
570
562
|
}
|
|
571
563
|
});
|
|
572
|
-
var Google;
|
|
573
|
-
var init_Google = __esm({
|
|
574
|
-
"src/icons/Google.tsx"() {
|
|
575
|
-
init_utils2();
|
|
576
|
-
Google = react.forwardRef(
|
|
577
|
-
({ size = 24, className, children, ...rest }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
578
|
-
"svg",
|
|
579
|
-
{
|
|
580
|
-
ref,
|
|
581
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
582
|
-
width: size,
|
|
583
|
-
height: size,
|
|
584
|
-
viewBox: "12 10 20 20",
|
|
585
|
-
fill: "none",
|
|
586
|
-
className: cn("lucide", className),
|
|
587
|
-
...rest,
|
|
588
|
-
children: [
|
|
589
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
590
|
-
"path",
|
|
591
|
-
{
|
|
592
|
-
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",
|
|
593
|
-
fill: "#4285F4"
|
|
594
|
-
}
|
|
595
|
-
),
|
|
596
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
597
|
-
"path",
|
|
598
|
-
{
|
|
599
|
-
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",
|
|
600
|
-
fill: "#34A853"
|
|
601
|
-
}
|
|
602
|
-
),
|
|
603
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
604
|
-
"path",
|
|
605
|
-
{
|
|
606
|
-
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",
|
|
607
|
-
fill: "#FBBC04"
|
|
608
|
-
}
|
|
609
|
-
),
|
|
610
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
611
|
-
"path",
|
|
612
|
-
{
|
|
613
|
-
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",
|
|
614
|
-
fill: "#EA4335"
|
|
615
|
-
}
|
|
616
|
-
),
|
|
617
|
-
children
|
|
618
|
-
]
|
|
619
|
-
}
|
|
620
|
-
)
|
|
621
|
-
);
|
|
622
|
-
Google.displayName = "Google";
|
|
623
|
-
}
|
|
624
|
-
});
|
|
625
|
-
var Keboola;
|
|
626
|
-
var init_Keboola = __esm({
|
|
627
|
-
"src/icons/Keboola.tsx"() {
|
|
628
|
-
init_utils2();
|
|
629
|
-
Keboola = react.forwardRef(
|
|
630
|
-
({ size = 24, color = "currentColor", className, children, ...rest }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
631
|
-
"svg",
|
|
632
|
-
{
|
|
633
|
-
ref,
|
|
634
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
635
|
-
width: size,
|
|
636
|
-
height: size,
|
|
637
|
-
viewBox: "0 0 300 512",
|
|
638
|
-
overflow: "visible",
|
|
639
|
-
fill: color,
|
|
640
|
-
className: cn("lucide", className),
|
|
641
|
-
...rest,
|
|
642
|
-
children: [
|
|
643
|
-
/* @__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" }),
|
|
644
|
-
children
|
|
645
|
-
]
|
|
646
|
-
}
|
|
647
|
-
)
|
|
648
|
-
);
|
|
649
|
-
Keboola.displayName = "Keboola";
|
|
650
|
-
}
|
|
651
|
-
});
|
|
652
|
-
var Microsoft;
|
|
653
|
-
var init_Microsoft = __esm({
|
|
654
|
-
"src/icons/Microsoft.tsx"() {
|
|
655
|
-
init_utils2();
|
|
656
|
-
Microsoft = react.forwardRef(
|
|
657
|
-
({ size = 24, className, children, ...rest }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
658
|
-
"svg",
|
|
659
|
-
{
|
|
660
|
-
ref,
|
|
661
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
662
|
-
width: size,
|
|
663
|
-
height: size,
|
|
664
|
-
viewBox: "0 0 21 21",
|
|
665
|
-
fill: "none",
|
|
666
|
-
className: cn("lucide", className),
|
|
667
|
-
...rest,
|
|
668
|
-
children: [
|
|
669
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "0", y: "0", width: "10", height: "10", fill: "#F25022" }),
|
|
670
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "11", y: "0", width: "10", height: "10", fill: "#7FBA00" }),
|
|
671
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "0", y: "11", width: "10", height: "10", fill: "#00A4EF" }),
|
|
672
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "11", y: "11", width: "10", height: "10", fill: "#FFB900" }),
|
|
673
|
-
children
|
|
674
|
-
]
|
|
675
|
-
}
|
|
676
|
-
)
|
|
677
|
-
);
|
|
678
|
-
Microsoft.displayName = "Microsoft";
|
|
679
|
-
}
|
|
680
|
-
});
|
|
681
|
-
|
|
682
|
-
// src/icons/index.ts
|
|
683
|
-
var icons_exports = {};
|
|
684
|
-
__export(icons_exports, {
|
|
685
|
-
Google: () => Google,
|
|
686
|
-
Keboola: () => Keboola,
|
|
687
|
-
Microsoft: () => Microsoft
|
|
688
|
-
});
|
|
689
564
|
var init_icons = __esm({
|
|
690
565
|
"src/icons/index.ts"() {
|
|
691
|
-
__reExport(icons_exports, lucide_react_star__namespace);
|
|
692
|
-
init_Google();
|
|
693
|
-
init_Keboola();
|
|
694
|
-
init_Microsoft();
|
|
695
566
|
}
|
|
696
567
|
});
|
|
697
568
|
var variants, argoVariants;
|
|
@@ -700,43 +571,46 @@ var init_styles = __esm({
|
|
|
700
571
|
variants = classVarianceAuthority.cva(
|
|
701
572
|
[
|
|
702
573
|
"tailwindcss-preflight",
|
|
703
|
-
"tw
|
|
704
|
-
"tw
|
|
574
|
+
"tw:group/button",
|
|
575
|
+
"tw:border-box",
|
|
705
576
|
// layout
|
|
706
|
-
"tw
|
|
707
|
-
"tw
|
|
708
|
-
"tw
|
|
709
|
-
"tw
|
|
710
|
-
"tw
|
|
577
|
+
"tw:relative",
|
|
578
|
+
"tw:flex",
|
|
579
|
+
"tw:items-center",
|
|
580
|
+
"tw:justify-center",
|
|
581
|
+
"tw:gap-2",
|
|
711
582
|
// text — chrome weight/tracking are brand-overridable tokens
|
|
712
|
-
// (`--font-weight-medium` / `--letter-spacing-chrome`)
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
"tw-
|
|
717
|
-
"tw-
|
|
583
|
+
// (`--font-weight-medium` / `--letter-spacing-chrome`). Casing: standard case is
|
|
584
|
+
// the default; only legacy brands (`keboola-legacy-*`) uppercase the chrome, so
|
|
585
|
+
// modern brands (incl. Keboola V2) read naturally. Mirrors the V2 standard-case
|
|
586
|
+
// treatment shipped for Tooltip/Badge (PR 7629).
|
|
587
|
+
"tw:text-xs",
|
|
588
|
+
"tw:leading-5",
|
|
589
|
+
"tw:font-medium",
|
|
590
|
+
"tw:[[data-brand^=keboola-legacy]_&]:tracking-chrome",
|
|
591
|
+
"tw:[[data-brand^=keboola-legacy]_&]:uppercase",
|
|
718
592
|
// border — legacy (non-argo) chrome uses a fixed radius, not the brand token.
|
|
719
|
-
"tw
|
|
720
|
-
"tw
|
|
721
|
-
"tw
|
|
593
|
+
"tw:rounded",
|
|
594
|
+
"tw:border",
|
|
595
|
+
"tw:border-transparent",
|
|
722
596
|
// styling
|
|
723
|
-
"tw
|
|
724
|
-
"[a]:
|
|
597
|
+
"tw:shadow-none",
|
|
598
|
+
"tw:[a]:cursor-pointer",
|
|
725
599
|
// explicitly set for anchor
|
|
726
|
-
"focus-visible:
|
|
727
|
-
"focus-visible:
|
|
728
|
-
"focus-visible:-
|
|
729
|
-
"focus-visible:
|
|
730
|
-
"focus-visible:
|
|
731
|
-
"focus-visible:
|
|
600
|
+
"tw:focus-visible:outline",
|
|
601
|
+
"tw:focus-visible:outline-1",
|
|
602
|
+
"tw:focus-visible:-outline-offset-1",
|
|
603
|
+
"tw:focus-visible:outline-ring",
|
|
604
|
+
"tw:focus-visible:ring-4",
|
|
605
|
+
"tw:focus-visible:ring-ring/30",
|
|
732
606
|
// disabled
|
|
733
|
-
"disabled:
|
|
734
|
-
"disabled:
|
|
607
|
+
"tw:disabled:opacity-40",
|
|
608
|
+
"tw:disabled:cursor-not-allowed",
|
|
735
609
|
// anchor support
|
|
736
|
-
"
|
|
737
|
-
"aria-disabled:
|
|
738
|
-
"aria-disabled:
|
|
739
|
-
"[&_svg]:
|
|
610
|
+
"tw:!no-underline",
|
|
611
|
+
"tw:aria-disabled:opacity-40",
|
|
612
|
+
"tw:aria-disabled:cursor-not-allowed",
|
|
613
|
+
"tw:[&_svg]:shrink-0"
|
|
740
614
|
],
|
|
741
615
|
{
|
|
742
616
|
defaultVariants: {
|
|
@@ -746,113 +620,113 @@ var init_styles = __esm({
|
|
|
746
620
|
},
|
|
747
621
|
variants: {
|
|
748
622
|
block: {
|
|
749
|
-
true: ["tw
|
|
623
|
+
true: ["tw:w-full"]
|
|
750
624
|
},
|
|
751
625
|
variant: {
|
|
752
626
|
primary: [
|
|
753
|
-
"tw
|
|
754
|
-
"tw
|
|
755
|
-
"focus:
|
|
756
|
-
"hover:
|
|
757
|
-
"hover:not-disabled:
|
|
758
|
-
"active:not-disabled:
|
|
627
|
+
"tw:text-white",
|
|
628
|
+
"tw:bg-primary-500",
|
|
629
|
+
"tw:focus:text-white",
|
|
630
|
+
"tw:hover:text-white",
|
|
631
|
+
"tw:hover:not-disabled:bg-primary-600",
|
|
632
|
+
"tw:active:not-disabled:bg-primary-800",
|
|
759
633
|
// anchor disabled override
|
|
760
|
-
"aria-disabled:!
|
|
634
|
+
"tw:aria-disabled:!bg-primary-500"
|
|
761
635
|
],
|
|
762
636
|
secondary: [
|
|
763
|
-
"tw
|
|
764
|
-
"tw
|
|
765
|
-
"focus:
|
|
766
|
-
"hover:
|
|
767
|
-
"hover:not-disabled:
|
|
768
|
-
"active:not-disabled:
|
|
637
|
+
"tw:text-white",
|
|
638
|
+
"tw:bg-secondary-500",
|
|
639
|
+
"tw:focus:text-white",
|
|
640
|
+
"tw:hover:text-white",
|
|
641
|
+
"tw:hover:not-disabled:bg-secondary-700",
|
|
642
|
+
"tw:active:not-disabled:bg-secondary-800",
|
|
769
643
|
// anchor disabled override
|
|
770
|
-
"aria-disabled:!
|
|
644
|
+
"tw:aria-disabled:!bg-secondary-500"
|
|
771
645
|
],
|
|
772
646
|
danger: [
|
|
773
|
-
"tw
|
|
774
|
-
"tw
|
|
775
|
-
"focus:
|
|
776
|
-
"hover:
|
|
777
|
-
"hover:not-disabled:
|
|
778
|
-
"active:not-disabled:
|
|
647
|
+
"tw:text-white",
|
|
648
|
+
"tw:bg-error-500",
|
|
649
|
+
"tw:focus:text-white",
|
|
650
|
+
"tw:hover:text-white",
|
|
651
|
+
"tw:hover:not-disabled:bg-error-600",
|
|
652
|
+
"tw:active:not-disabled:bg-error-700",
|
|
779
653
|
// anchor disabled override
|
|
780
|
-
"aria-disabled:!
|
|
654
|
+
"tw:aria-disabled:!bg-error-500"
|
|
781
655
|
],
|
|
782
656
|
invisible: [
|
|
783
|
-
"tw
|
|
784
|
-
"tw
|
|
785
|
-
"focus:
|
|
786
|
-
"hover:not-disabled:
|
|
787
|
-
"hover:
|
|
788
|
-
"active:not-disabled:
|
|
657
|
+
"tw:text-neutral-800",
|
|
658
|
+
"tw:bg-transparent",
|
|
659
|
+
"tw:focus:text-neutral-800",
|
|
660
|
+
"tw:hover:not-disabled:bg-neutral-100",
|
|
661
|
+
"tw:hover:text-neutral-800",
|
|
662
|
+
"tw:active:not-disabled:bg-neutral-150",
|
|
789
663
|
// contrasting icon on hover/active
|
|
790
|
-
"[&_svg]:
|
|
791
|
-
"
|
|
792
|
-
"
|
|
664
|
+
"tw:[&_svg]:text-neutral-400",
|
|
665
|
+
"tw:hover:not-disabled:[&_svg]:text-secondary-600",
|
|
666
|
+
"tw:active:not-disabled:[&_svg]:text-secondary-600",
|
|
793
667
|
// anchor disabled override
|
|
794
|
-
"aria-disabled:!
|
|
668
|
+
"tw:aria-disabled:!bg-transparent"
|
|
795
669
|
],
|
|
796
670
|
outline: [
|
|
797
|
-
"tw
|
|
798
|
-
"tw
|
|
671
|
+
"tw:text-neutral-800",
|
|
672
|
+
"tw:bg-white",
|
|
799
673
|
// border
|
|
800
|
-
"
|
|
801
|
-
"hover:
|
|
802
|
-
"focus:
|
|
803
|
-
"hover:not-disabled:!
|
|
804
|
-
"hover:not-disabled:
|
|
805
|
-
"active:not-disabled:
|
|
674
|
+
"tw:!border-neutral-200",
|
|
675
|
+
"tw:hover:text-neutral-800",
|
|
676
|
+
"tw:focus:text-neutral-800",
|
|
677
|
+
"tw:hover:not-disabled:!border-neutral-300",
|
|
678
|
+
"tw:hover:not-disabled:bg-neutral-100",
|
|
679
|
+
"tw:active:not-disabled:bg-neutral-200",
|
|
806
680
|
// contrasting icon hover, same as invisible
|
|
807
|
-
"[&_svg]:
|
|
808
|
-
"
|
|
809
|
-
"
|
|
681
|
+
"tw:[&_svg]:text-neutral-400",
|
|
682
|
+
"tw:not-disabled:hover:[&_svg]:text-secondary-600",
|
|
683
|
+
"tw:active:not-disabled:[&_svg]:text-secondary-600",
|
|
810
684
|
// anchor disabled override
|
|
811
|
-
"aria-disabled:!
|
|
812
|
-
"aria-disabled:!
|
|
685
|
+
"tw:aria-disabled:!bg-white",
|
|
686
|
+
"tw:aria-disabled:!border-neutral-200"
|
|
813
687
|
],
|
|
814
688
|
inline: [
|
|
815
|
-
"tw
|
|
816
|
-
"tw
|
|
817
|
-
"tw
|
|
818
|
-
"[&_svg]:
|
|
819
|
-
"
|
|
820
|
-
"
|
|
689
|
+
"tw:text-neutral-800",
|
|
690
|
+
"tw:bg-transparent",
|
|
691
|
+
"tw:rounded-full",
|
|
692
|
+
"tw:[&_svg]:text-neutral-400",
|
|
693
|
+
"tw:not-disabled:hover:[&_svg]:text-secondary-600",
|
|
694
|
+
"tw:not-disabled:focus:[&_svg]:text-secondary-600"
|
|
821
695
|
]
|
|
822
696
|
},
|
|
823
697
|
size: {
|
|
824
698
|
medium: [
|
|
825
|
-
"tw
|
|
826
|
-
"tw
|
|
827
|
-
"tw
|
|
828
|
-
"tw
|
|
829
|
-
'[&_svg:not([class*="tw
|
|
699
|
+
"tw:max-h-10",
|
|
700
|
+
"tw:min-h-10",
|
|
701
|
+
"tw:px-4",
|
|
702
|
+
"tw:py-2.5",
|
|
703
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-4'
|
|
830
704
|
],
|
|
831
705
|
small: [
|
|
832
|
-
"tw
|
|
833
|
-
"tw
|
|
834
|
-
"tw
|
|
835
|
-
"tw
|
|
836
|
-
'[&_svg:not([class*="tw
|
|
706
|
+
"tw:max-h-8",
|
|
707
|
+
"tw:min-h-8",
|
|
708
|
+
"tw:px-4",
|
|
709
|
+
"tw:py-1.5",
|
|
710
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-4'
|
|
837
711
|
],
|
|
838
712
|
large: [
|
|
839
|
-
"tw
|
|
840
|
-
"tw
|
|
841
|
-
"tw
|
|
842
|
-
"tw
|
|
843
|
-
'[&_svg:not([class*="tw
|
|
713
|
+
"tw:max-h-12",
|
|
714
|
+
"tw:min-h-12",
|
|
715
|
+
"tw:px-4",
|
|
716
|
+
"tw:py-3.5",
|
|
717
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-4'
|
|
844
718
|
],
|
|
845
|
-
"icon-lg": ["tw
|
|
846
|
-
icon: ["tw
|
|
847
|
-
"icon-sm": ["tw
|
|
848
|
-
"icon-xs": ["tw
|
|
719
|
+
"icon-lg": ["tw:size-12", "tw:p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-6'],
|
|
720
|
+
icon: ["tw:size-10", "tw:p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-4'],
|
|
721
|
+
"icon-sm": ["tw:size-8", "tw:p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-4'],
|
|
722
|
+
"icon-xs": ["tw:size-6", "tw:p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-4'],
|
|
849
723
|
"icon-2xs": [
|
|
850
|
-
"
|
|
851
|
-
"tw
|
|
852
|
-
"tw
|
|
853
|
-
'[&_svg:not([class*="tw
|
|
724
|
+
"tw:!inline-flex",
|
|
725
|
+
"tw:size-5",
|
|
726
|
+
"tw:max-h-5",
|
|
727
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-3'
|
|
854
728
|
],
|
|
855
|
-
"icon-3xs": ["tw
|
|
729
|
+
"icon-3xs": ["tw:h-fit", "tw:w-fit", 'tw:[&_svg:not([class*="tw:size-"])]:size-4']
|
|
856
730
|
}
|
|
857
731
|
}
|
|
858
732
|
}
|
|
@@ -861,37 +735,37 @@ var init_styles = __esm({
|
|
|
861
735
|
[
|
|
862
736
|
"tailwindcss-preflight",
|
|
863
737
|
// layout
|
|
864
|
-
"tw
|
|
865
|
-
"tw
|
|
866
|
-
"tw
|
|
867
|
-
"tw
|
|
868
|
-
"tw
|
|
869
|
-
"tw
|
|
738
|
+
"tw:relative",
|
|
739
|
+
"tw:inline-flex",
|
|
740
|
+
"tw:items-center",
|
|
741
|
+
"tw:justify-center",
|
|
742
|
+
"tw:whitespace-nowrap",
|
|
743
|
+
"tw:gap-2",
|
|
870
744
|
// border
|
|
871
|
-
"tw
|
|
872
|
-
"tw
|
|
873
|
-
"tw
|
|
745
|
+
"tw:border",
|
|
746
|
+
"tw:border-transparent",
|
|
747
|
+
"tw:rounded-[var(--radius-lg,0.25rem)]",
|
|
874
748
|
// text
|
|
875
|
-
"tw
|
|
876
|
-
"tw
|
|
749
|
+
"tw:font-medium",
|
|
750
|
+
"tw:select-none",
|
|
877
751
|
// focus visible
|
|
878
|
-
"
|
|
879
|
-
"focus-visible:
|
|
752
|
+
"tw:!outline-hidden",
|
|
753
|
+
"tw:focus-visible:ring-2",
|
|
880
754
|
// disabled
|
|
881
|
-
"disabled:
|
|
882
|
-
"disabled:
|
|
883
|
-
"active:
|
|
884
|
-
"tw
|
|
885
|
-
"tw
|
|
755
|
+
"tw:disabled:cursor-not-allowed",
|
|
756
|
+
"tw:disabled:opacity-50",
|
|
757
|
+
"tw:active:opacity-60",
|
|
758
|
+
"tw:transition-all",
|
|
759
|
+
"tw:bg-clip-padding",
|
|
886
760
|
// anchor support
|
|
887
|
-
"
|
|
888
|
-
"aria-disabled:
|
|
889
|
-
"aria-disabled:
|
|
761
|
+
"tw:!no-underline",
|
|
762
|
+
"tw:aria-disabled:cursor-not-allowed",
|
|
763
|
+
"tw:aria-disabled:opacity-50",
|
|
890
764
|
// icon
|
|
891
|
-
"tw
|
|
892
|
-
"[&_svg]:
|
|
893
|
-
"[&_svg]:
|
|
894
|
-
"[&_svg:not([class*='tw
|
|
765
|
+
"tw:shrink-0",
|
|
766
|
+
"tw:[&_svg]:pointer-events-none",
|
|
767
|
+
"tw:[&_svg]:shrink-0",
|
|
768
|
+
"tw:[&_svg:not([class*='tw:size-'])]:size-4"
|
|
895
769
|
],
|
|
896
770
|
{
|
|
897
771
|
defaultVariants: {
|
|
@@ -900,77 +774,77 @@ var init_styles = __esm({
|
|
|
900
774
|
},
|
|
901
775
|
variants: {
|
|
902
776
|
block: {
|
|
903
|
-
true: ["tw
|
|
777
|
+
true: ["tw:w-full"]
|
|
904
778
|
},
|
|
905
779
|
variant: {
|
|
906
780
|
primary: [
|
|
907
|
-
"tw
|
|
908
|
-
"tw
|
|
909
|
-
"[a]:hover:
|
|
910
|
-
"hover:not-disabled:
|
|
911
|
-
"hover:
|
|
912
|
-
"focus:
|
|
913
|
-
"focus-visible:
|
|
914
|
-
"focus-visible:
|
|
781
|
+
"tw:bg-primary",
|
|
782
|
+
"tw:text-primary-foreground",
|
|
783
|
+
"tw:[a]:hover:bg-primary/80",
|
|
784
|
+
"tw:hover:not-disabled:bg-primary/90",
|
|
785
|
+
"tw:hover:text-primary-foreground",
|
|
786
|
+
"tw:focus:text-primary-foreground",
|
|
787
|
+
"tw:focus-visible:border-primary",
|
|
788
|
+
"tw:focus-visible:ring-ring/50"
|
|
915
789
|
],
|
|
916
790
|
secondary: [
|
|
917
|
-
"tw
|
|
918
|
-
"tw
|
|
919
|
-
"hover:not-disabled:
|
|
920
|
-
"focus-visible:
|
|
921
|
-
"focus-visible:
|
|
791
|
+
"tw:bg-primary/10",
|
|
792
|
+
"tw:text-primary",
|
|
793
|
+
"tw:hover:not-disabled:bg-primary/20",
|
|
794
|
+
"tw:focus-visible:border-primary",
|
|
795
|
+
"tw:focus-visible:ring-ring/50"
|
|
922
796
|
],
|
|
923
797
|
// should be called "destructive" by Figma
|
|
924
798
|
danger: [
|
|
925
|
-
"tw
|
|
926
|
-
"tw
|
|
927
|
-
"hover:
|
|
928
|
-
"focus:
|
|
929
|
-
"focus-visible:
|
|
930
|
-
"focus-visible:
|
|
799
|
+
"tw:bg-destructive",
|
|
800
|
+
"tw:text-destructive-foreground",
|
|
801
|
+
"tw:hover:text-destructive-foreground",
|
|
802
|
+
"tw:focus:text-destructive-foreground",
|
|
803
|
+
"tw:focus-visible:border-destructive",
|
|
804
|
+
"tw:focus-visible:ring-destructive/20"
|
|
931
805
|
],
|
|
932
806
|
outline: [
|
|
933
|
-
"
|
|
934
|
-
"tw
|
|
807
|
+
"tw:!border-input",
|
|
808
|
+
"tw:bg-background",
|
|
935
809
|
// Semantic base text color so the label/icon flips in dark mode
|
|
936
810
|
// (matches `invisible`); previously unset → inherited a fixed dark color.
|
|
937
|
-
"tw
|
|
811
|
+
"tw:text-foreground",
|
|
938
812
|
// Hover follows the brand primary (translucent tint), matching the
|
|
939
813
|
// `secondary` variant — not the fixed `accent` blue.
|
|
940
|
-
"hover:not-disabled:
|
|
941
|
-
"hover:not-disabled:
|
|
942
|
-
"hover:active:
|
|
943
|
-
"focus-visible:!
|
|
944
|
-
"focus-visible:
|
|
814
|
+
"tw:hover:not-disabled:bg-primary/10",
|
|
815
|
+
"tw:hover:not-disabled:text-primary",
|
|
816
|
+
"tw:hover:active:bg-background",
|
|
817
|
+
"tw:focus-visible:!border-primary",
|
|
818
|
+
"tw:focus-visible:ring-ring/50"
|
|
945
819
|
],
|
|
946
820
|
// should be called "ghost" by Figma
|
|
947
821
|
invisible: [
|
|
948
|
-
"tw
|
|
949
|
-
"tw
|
|
950
|
-
"hover:not-disabled:
|
|
951
|
-
"hover:not-disabled:
|
|
952
|
-
"hover:not-disabled:
|
|
953
|
-
"focus-visible:
|
|
822
|
+
"tw:bg-transparent",
|
|
823
|
+
"tw:text-foreground",
|
|
824
|
+
"tw:hover:not-disabled:bg-primary/10",
|
|
825
|
+
"tw:hover:not-disabled:text-primary",
|
|
826
|
+
"tw:hover:not-disabled:border-primary/10",
|
|
827
|
+
"tw:focus-visible:ring-ring/50"
|
|
954
828
|
],
|
|
955
829
|
// should be called "link" by Figma
|
|
956
830
|
inline: [
|
|
957
|
-
"tw
|
|
958
|
-
"tw
|
|
959
|
-
"hover:
|
|
960
|
-
"hover:active:
|
|
961
|
-
"focus-visible:
|
|
831
|
+
"tw:bg-transparent",
|
|
832
|
+
"tw:text-primary",
|
|
833
|
+
"tw:hover:underline",
|
|
834
|
+
"tw:hover:active:bg-transparent",
|
|
835
|
+
"tw:focus-visible:ring-ring/50"
|
|
962
836
|
]
|
|
963
837
|
},
|
|
964
838
|
size: {
|
|
965
839
|
// should be called "default" by Figma
|
|
966
|
-
medium: ["tw
|
|
840
|
+
medium: ["tw:max-h-9", "tw:py-2", "tw:px-4", "tw:text-sm"],
|
|
967
841
|
// should be called "small" by Figma
|
|
968
|
-
small: ["tw
|
|
842
|
+
small: ["tw:max-h-8", "tw:py-2", "tw:px-3", "tw:text-xs"],
|
|
969
843
|
// should be called "large" by Figma
|
|
970
|
-
large: ["tw
|
|
971
|
-
"icon-lg": ["tw
|
|
972
|
-
icon: ["tw
|
|
973
|
-
"icon-sm": ["tw
|
|
844
|
+
large: ["tw:max-h-10", "tw:py-2.5", "tw:px-6", "tw:text-sm"],
|
|
845
|
+
"icon-lg": ["tw:size-10"],
|
|
846
|
+
icon: ["tw:size-9"],
|
|
847
|
+
"icon-sm": ["tw:size-8"],
|
|
974
848
|
// unsupported in ARGO, remove when old design is gone
|
|
975
849
|
"icon-xs": [],
|
|
976
850
|
"icon-2xs": [],
|
|
@@ -1027,7 +901,7 @@ var init_Button = __esm({
|
|
|
1027
901
|
onClick: handleClick,
|
|
1028
902
|
className: cn(classNames),
|
|
1029
903
|
children: [
|
|
1030
|
-
isLoading && /* @__PURE__ */ jsxRuntime.jsx(
|
|
904
|
+
isLoading && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "tw:size-4 tw:shrink-0 tw:animate-spin" }),
|
|
1031
905
|
/* @__PURE__ */ jsxRuntime.jsx(reactSlot.Slottable, { children: isLoading && isIconOnly ? null : children })
|
|
1032
906
|
]
|
|
1033
907
|
}
|
|
@@ -1040,18 +914,18 @@ var init_ButtonInline = __esm({
|
|
|
1040
914
|
classVarianceAuthority.cva(
|
|
1041
915
|
[
|
|
1042
916
|
"tailwindcss-preflight",
|
|
1043
|
-
"tw
|
|
1044
|
-
"tw
|
|
1045
|
-
"tw
|
|
1046
|
-
"tw
|
|
1047
|
-
"disabled:
|
|
1048
|
-
"disabled:
|
|
1049
|
-
"disabled:
|
|
1050
|
-
"disabled:
|
|
1051
|
-
"[&_svg]:
|
|
917
|
+
"tw:inline-flex",
|
|
918
|
+
"tw:items-center",
|
|
919
|
+
"tw:gap-2",
|
|
920
|
+
"tw:underline-offset-2",
|
|
921
|
+
"tw:disabled:opacity-40",
|
|
922
|
+
"tw:disabled:cursor-not-allowed",
|
|
923
|
+
"tw:disabled:text-neutral-500",
|
|
924
|
+
"tw:disabled:no-underline",
|
|
925
|
+
"tw:disabled:[&_svg]:text-neutral-400",
|
|
1052
926
|
// Default size for nested Lucide icons; callers can override on the icon.
|
|
1053
|
-
"[&_svg.lucide:not([class*='tw
|
|
1054
|
-
"[&_svg]:
|
|
927
|
+
"tw:[&_svg.lucide:not([class*='tw:size-'])]:size-4",
|
|
928
|
+
"tw:[&_svg]:shrink-0"
|
|
1055
929
|
],
|
|
1056
930
|
{
|
|
1057
931
|
defaultVariants: {
|
|
@@ -1060,15 +934,15 @@ var init_ButtonInline = __esm({
|
|
|
1060
934
|
},
|
|
1061
935
|
variants: {
|
|
1062
936
|
color: {
|
|
1063
|
-
link: ["tw
|
|
1064
|
-
dark: ["tw
|
|
1065
|
-
danger: ["tw
|
|
1066
|
-
muted: ["tw
|
|
937
|
+
link: ["tw:text-primary", "tw:hover:text-primary/90", "tw:[&_svg]:text-primary"],
|
|
938
|
+
dark: ["tw:text-neutral-800 tw:[&_svg]:text-neutral-400"],
|
|
939
|
+
danger: ["tw:text-error-500 tw:[&_svg]:text-error-500"],
|
|
940
|
+
muted: ["tw:text-muted-foreground tw:[&_svg]:text-muted-foreground"],
|
|
1067
941
|
custom: []
|
|
1068
942
|
},
|
|
1069
943
|
variant: {
|
|
1070
|
-
link: ["tw
|
|
1071
|
-
"link-reverse": ["tw
|
|
944
|
+
link: ["tw:underline", "tw:hover:no-underline"],
|
|
945
|
+
"link-reverse": ["tw:no-underline", "", "tw:hover:underline"],
|
|
1072
946
|
custom: []
|
|
1073
947
|
}
|
|
1074
948
|
}
|
|
@@ -1084,12 +958,12 @@ var init_Button2 = __esm({
|
|
|
1084
958
|
init_ButtonInline();
|
|
1085
959
|
}
|
|
1086
960
|
});
|
|
1087
|
-
var
|
|
961
|
+
var Clipboard2;
|
|
1088
962
|
var init_Clipboard = __esm({
|
|
1089
963
|
"src/components/Clipboard/Clipboard.tsx"() {
|
|
1090
964
|
init_utils2();
|
|
1091
965
|
init_Tooltip2();
|
|
1092
|
-
|
|
966
|
+
Clipboard2 = ({
|
|
1093
967
|
ref,
|
|
1094
968
|
text: textProp,
|
|
1095
969
|
children,
|
|
@@ -1114,6 +988,7 @@ var init_Clipboard = __esm({
|
|
|
1114
988
|
}
|
|
1115
989
|
};
|
|
1116
990
|
const handleOnClick = (event) => {
|
|
991
|
+
setIsTooltipOpen(true);
|
|
1117
992
|
if (text && state === "ready") void copy(text);
|
|
1118
993
|
onClick?.(event);
|
|
1119
994
|
};
|
|
@@ -1128,6 +1003,7 @@ var init_Clipboard = __esm({
|
|
|
1128
1003
|
return tooltip;
|
|
1129
1004
|
})();
|
|
1130
1005
|
const tooltipVariant = state === "ready" && !!text ? tooltipVariantProp : "action";
|
|
1006
|
+
const hasTooltipContent = tooltipContent !== null && tooltipContent !== void 0;
|
|
1131
1007
|
return /* @__PURE__ */ jsxRuntime.jsxs(Tooltip.Root, { open: isTooltipOpen, onOpenChange: handleOnOpenChange, children: [
|
|
1132
1008
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1133
1009
|
Tooltip.Trigger,
|
|
@@ -1136,12 +1012,12 @@ var init_Clipboard = __esm({
|
|
|
1136
1012
|
asChild,
|
|
1137
1013
|
keepOpenOnClick: true,
|
|
1138
1014
|
onClick: handleOnClick,
|
|
1139
|
-
className: cn("tw
|
|
1015
|
+
className: cn("tw:cursor-pointer", className),
|
|
1140
1016
|
ref,
|
|
1141
1017
|
children: children ?? text
|
|
1142
1018
|
}
|
|
1143
1019
|
),
|
|
1144
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1020
|
+
hasTooltipContent && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1145
1021
|
Tooltip.Content,
|
|
1146
1022
|
{
|
|
1147
1023
|
keepOpenOnPointerDownOutside: true,
|
|
@@ -1167,7 +1043,7 @@ var init_ClipboardButton = __esm({
|
|
|
1167
1043
|
init_Button2();
|
|
1168
1044
|
init_Clipboard2();
|
|
1169
1045
|
init_icons();
|
|
1170
|
-
DEFAULT_ICON = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1046
|
+
DEFAULT_ICON = /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Copy, {});
|
|
1171
1047
|
DEFAULT_ARIA_LABEL = "Copy";
|
|
1172
1048
|
ClipboardButton = ({
|
|
1173
1049
|
// clipboard props
|
|
@@ -1184,7 +1060,7 @@ var init_ClipboardButton = __esm({
|
|
|
1184
1060
|
const defaultAriaLabel = typeof tooltip === "string" && tooltip.trim() ? tooltip : DEFAULT_ARIA_LABEL;
|
|
1185
1061
|
const ariaLabel = rest["aria-label"] ?? (children == null ? defaultAriaLabel : void 0);
|
|
1186
1062
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1187
|
-
|
|
1063
|
+
Clipboard2,
|
|
1188
1064
|
{
|
|
1189
1065
|
asChild: true,
|
|
1190
1066
|
tooltip,
|
|
@@ -1218,7 +1094,13 @@ var init_ZoomableSvg = __esm({
|
|
|
1218
1094
|
MIN_SCALE = 0.5;
|
|
1219
1095
|
MAX_SCALE = 3;
|
|
1220
1096
|
ZOOM_STEP = 0.1;
|
|
1221
|
-
ZoomableSvg = ({
|
|
1097
|
+
ZoomableSvg = ({
|
|
1098
|
+
html,
|
|
1099
|
+
copyText,
|
|
1100
|
+
className,
|
|
1101
|
+
allowForeignObject,
|
|
1102
|
+
renderActions
|
|
1103
|
+
}) => {
|
|
1222
1104
|
const safeHtml = react.useMemo(
|
|
1223
1105
|
() => DOMPurify__default.default.sanitize(html, {
|
|
1224
1106
|
USE_PROFILES: { svg: true, svgFilters: true },
|
|
@@ -1297,7 +1179,7 @@ var init_ZoomableSvg = __esm({
|
|
|
1297
1179
|
"div",
|
|
1298
1180
|
{
|
|
1299
1181
|
role: "presentation",
|
|
1300
|
-
className: cn("tw
|
|
1182
|
+
className: cn("tw:group/zoom tw:relative", isFullscreen && "tw:h-full"),
|
|
1301
1183
|
onClick: handleClick,
|
|
1302
1184
|
children: [
|
|
1303
1185
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1306,8 +1188,8 @@ var init_ZoomableSvg = __esm({
|
|
|
1306
1188
|
role: "presentation",
|
|
1307
1189
|
ref: containerRef,
|
|
1308
1190
|
className: cn(
|
|
1309
|
-
"tw
|
|
1310
|
-
isFullscreen && "tw
|
|
1191
|
+
"tw:overflow-hidden tw:cursor-grab tw:active:cursor-grabbing tw:p-3",
|
|
1192
|
+
isFullscreen && "tw:h-full"
|
|
1311
1193
|
),
|
|
1312
1194
|
onMouseDown: handleMouseDown,
|
|
1313
1195
|
onMouseMove: handleMouseMove,
|
|
@@ -1317,8 +1199,8 @@ var init_ZoomableSvg = __esm({
|
|
|
1317
1199
|
"div",
|
|
1318
1200
|
{
|
|
1319
1201
|
className: cn(
|
|
1320
|
-
"tw
|
|
1321
|
-
isFullscreen && "tw
|
|
1202
|
+
"tw:flex tw:justify-center tw:origin-center",
|
|
1203
|
+
isFullscreen && "tw:h-full tw:[&>svg]:h-full"
|
|
1322
1204
|
),
|
|
1323
1205
|
style: { transform: `translate(${translate.x}px, ${translate.y}px) scale(${scale})` },
|
|
1324
1206
|
dangerouslySetInnerHTML: { __html: safeHtml }
|
|
@@ -1330,11 +1212,12 @@ var init_ZoomableSvg = __esm({
|
|
|
1330
1212
|
"div",
|
|
1331
1213
|
{
|
|
1332
1214
|
role: "presentation",
|
|
1333
|
-
className: "tw
|
|
1215
|
+
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",
|
|
1334
1216
|
onClick: stopPropagation,
|
|
1335
1217
|
children: [
|
|
1336
1218
|
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" }) }),
|
|
1337
1219
|
copyText && /* @__PURE__ */ jsxRuntime.jsx(ClipboardButton, { text: copyText, tooltip: "Copy code", size: "icon-sm", variant: "outline" }),
|
|
1220
|
+
renderActions?.(safeHtml),
|
|
1338
1221
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1339
1222
|
Tooltip,
|
|
1340
1223
|
{
|
|
@@ -1348,7 +1231,7 @@ var init_ZoomableSvg = __esm({
|
|
|
1348
1231
|
variant: "outline",
|
|
1349
1232
|
"aria-label": isFullscreen ? "Exit fullscreen" : "Fullscreen",
|
|
1350
1233
|
onClick: () => setIsFullscreen((f) => !f),
|
|
1351
|
-
children: isFullscreen ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1234
|
+
children: isFullscreen ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Minimize2, { className: "tw:size-4" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Maximize2, { className: "tw:size-4" })
|
|
1352
1235
|
}
|
|
1353
1236
|
)
|
|
1354
1237
|
}
|
|
@@ -1366,7 +1249,7 @@ var init_ZoomableSvg = __esm({
|
|
|
1366
1249
|
{
|
|
1367
1250
|
role: "presentation",
|
|
1368
1251
|
"data-testid": "zoomable-svg-fullscreen",
|
|
1369
|
-
className: "
|
|
1252
|
+
className: "tw:fixed tw:inset-0 tw:z-[1060] tw:bg-muted tw:p-4 tailwindcss-preflight",
|
|
1370
1253
|
onClick: stopPropagation,
|
|
1371
1254
|
children: diagramContent
|
|
1372
1255
|
}
|
|
@@ -1378,7 +1261,7 @@ var init_ZoomableSvg = __esm({
|
|
|
1378
1261
|
"div",
|
|
1379
1262
|
{
|
|
1380
1263
|
className: cn(
|
|
1381
|
-
"tw
|
|
1264
|
+
"tw:overflow-hidden tw:rounded-md tw:border tw:border-border tw:bg-muted",
|
|
1382
1265
|
className
|
|
1383
1266
|
),
|
|
1384
1267
|
children: diagramContent
|
|
@@ -1394,6 +1277,13 @@ var init_ZoomableSvg2 = __esm({
|
|
|
1394
1277
|
init_ZoomableSvg();
|
|
1395
1278
|
}
|
|
1396
1279
|
});
|
|
1280
|
+
var DiagramSkeleton;
|
|
1281
|
+
var init_DiagramSkeleton = __esm({
|
|
1282
|
+
"src/blocks/MermaidDiagram/DiagramSkeleton.tsx"() {
|
|
1283
|
+
init_Skeleton();
|
|
1284
|
+
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" }) });
|
|
1285
|
+
}
|
|
1286
|
+
});
|
|
1397
1287
|
|
|
1398
1288
|
// src/blocks/MermaidDiagram/svgTransforms.ts
|
|
1399
1289
|
var HTML_TAG, FOREIGN_OBJECT, ROOT_SVG_TAG, flattenForeignObjectLabels, STYLE_ATTR, makeResponsive;
|
|
@@ -1431,13 +1321,13 @@ __export(MermaidDiagram_exports, {
|
|
|
1431
1321
|
var PRIMARY_FALLBACK_CHANNELS, resolvePrimary, mermaidPromise, registerLucideIconPack, getMermaid, stripFontImports, hasIconSyntax, tryFastRender, RENDER_DEBOUNCE_MS, svgCache, resolveSyncSvg, MermaidDiagram;
|
|
1432
1322
|
var init_MermaidDiagram = __esm({
|
|
1433
1323
|
"src/blocks/MermaidDiagram/MermaidDiagram.tsx"() {
|
|
1434
|
-
init_Skeleton();
|
|
1435
1324
|
init_ZoomableSvg2();
|
|
1436
1325
|
init_utils2();
|
|
1326
|
+
init_DiagramSkeleton();
|
|
1437
1327
|
init_svgTransforms();
|
|
1438
1328
|
PRIMARY_FALLBACK_CHANNELS = "31 143 255";
|
|
1439
1329
|
resolvePrimary = () => {
|
|
1440
|
-
const channels = typeof document === "undefined" ? PRIMARY_FALLBACK_CHANNELS : getComputedStyle(document.documentElement).getPropertyValue("--
|
|
1330
|
+
const channels = typeof document === "undefined" ? PRIMARY_FALLBACK_CHANNELS : getComputedStyle(document.documentElement).getPropertyValue("--primary").trim() || PRIMARY_FALLBACK_CHANNELS;
|
|
1441
1331
|
return `rgb(${channels})`;
|
|
1442
1332
|
};
|
|
1443
1333
|
mermaidPromise = null;
|
|
@@ -1542,7 +1432,7 @@ var init_MermaidDiagram = __esm({
|
|
|
1542
1432
|
if (fast) svgCache.set(code, fast);
|
|
1543
1433
|
return fast;
|
|
1544
1434
|
};
|
|
1545
|
-
MermaidDiagram = ({ code }) => {
|
|
1435
|
+
MermaidDiagram = ({ code, renderActions }) => {
|
|
1546
1436
|
const id = react.useId();
|
|
1547
1437
|
const [svg, setSvg] = react.useState(() => resolveSyncSvg(code));
|
|
1548
1438
|
const [renderFailed, setRenderFailed] = react.useState(false);
|
|
@@ -1604,11 +1494,11 @@ var init_MermaidDiagram = __esm({
|
|
|
1604
1494
|
"pre",
|
|
1605
1495
|
{
|
|
1606
1496
|
className: cn(
|
|
1607
|
-
"tw
|
|
1608
|
-
"tw
|
|
1609
|
-
"tw
|
|
1610
|
-
"tw
|
|
1611
|
-
"tw
|
|
1497
|
+
"tw:my-3 tw:overflow-auto tw:whitespace-pre-wrap tw:break-all",
|
|
1498
|
+
"tw:py-3 tw:px-4",
|
|
1499
|
+
"tw:bg-neutral-50",
|
|
1500
|
+
"tw:rounded-md tw:text-neutral-400",
|
|
1501
|
+
"tw:text-sm tw:font-mono"
|
|
1612
1502
|
),
|
|
1613
1503
|
children: /* @__PURE__ */ jsxRuntime.jsx("code", { children: code })
|
|
1614
1504
|
}
|
|
@@ -1622,13 +1512,14 @@ var init_MermaidDiagram = __esm({
|
|
|
1622
1512
|
copyText: `\`\`\`mermaid
|
|
1623
1513
|
${code}
|
|
1624
1514
|
\`\`\``,
|
|
1625
|
-
className: "tw
|
|
1626
|
-
allowForeignObject: true
|
|
1515
|
+
className: "tw:my-3",
|
|
1516
|
+
allowForeignObject: true,
|
|
1517
|
+
renderActions
|
|
1627
1518
|
},
|
|
1628
1519
|
code
|
|
1629
1520
|
);
|
|
1630
1521
|
}
|
|
1631
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1522
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DiagramSkeleton, {});
|
|
1632
1523
|
};
|
|
1633
1524
|
}
|
|
1634
1525
|
});
|
|
@@ -1642,7 +1533,7 @@ var isPlaceholder = (src) => src.startsWith("upload-placeholder-");
|
|
|
1642
1533
|
var ImageNodeComponent = ({ src, alt }) => {
|
|
1643
1534
|
const renderer = useImageRenderer();
|
|
1644
1535
|
if (isPlaceholder(src)) {
|
|
1645
|
-
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw
|
|
1536
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw:inline-flex tw:items-center tw:gap-1 tw:rounded tw:bg-neutral-100 tw:px-2 tw:py-1 tw:text-xs tw:text-neutral-400", children: "Uploading image\u2026" });
|
|
1646
1537
|
}
|
|
1647
1538
|
if (renderer) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: renderer({ src, alt }) });
|
|
1648
1539
|
return /* @__PURE__ */ jsxRuntime.jsx("img", { src, alt });
|
|
@@ -1746,7 +1637,7 @@ var MermaidNodeComponent = ({ code }) => {
|
|
|
1746
1637
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1747
1638
|
react.Suspense,
|
|
1748
1639
|
{
|
|
1749
|
-
fallback: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw
|
|
1640
|
+
fallback: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw:my-3 tw:overflow-hidden tw:rounded-card tw:border tw:border-neutral-150 tw:bg-neutral-50 tw:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "tw:h-40" }) }),
|
|
1750
1641
|
children: /* @__PURE__ */ jsxRuntime.jsx(MermaidDiagram2, { code })
|
|
1751
1642
|
}
|
|
1752
1643
|
);
|
|
@@ -1821,21 +1712,21 @@ var ToastAction = ({ ref, className, ...rest }) => /* @__PURE__ */ jsxRuntime.js
|
|
|
1821
1712
|
type: "button",
|
|
1822
1713
|
className: cn(
|
|
1823
1714
|
// layout
|
|
1824
|
-
"tw
|
|
1825
|
-
"tw
|
|
1826
|
-
"tw
|
|
1827
|
-
"tw
|
|
1828
|
-
"tw
|
|
1715
|
+
"tw:col-start-3",
|
|
1716
|
+
"tw:row-start-1",
|
|
1717
|
+
"tw:flex",
|
|
1718
|
+
"tw:items-center",
|
|
1719
|
+
"tw:justify-center",
|
|
1829
1720
|
// font
|
|
1830
|
-
"tw
|
|
1831
|
-
"tw
|
|
1832
|
-
"tw
|
|
1721
|
+
"tw:text-xs",
|
|
1722
|
+
"tw:font-medium",
|
|
1723
|
+
"tw:text-primary",
|
|
1833
1724
|
// sizing
|
|
1834
|
-
"tw
|
|
1835
|
-
"tw
|
|
1725
|
+
"tw:px-2",
|
|
1726
|
+
"tw:h-6",
|
|
1836
1727
|
// styles
|
|
1837
|
-
"tw
|
|
1838
|
-
"tw
|
|
1728
|
+
"tw:bg-primary-foreground",
|
|
1729
|
+
"tw:rounded",
|
|
1839
1730
|
className
|
|
1840
1731
|
)
|
|
1841
1732
|
}
|
|
@@ -1849,11 +1740,11 @@ var ToastDescription = ({ ref, className, children, ...rest }) => /* @__PURE__ *
|
|
|
1849
1740
|
ref,
|
|
1850
1741
|
"data-slot": "toast-description",
|
|
1851
1742
|
className: cn(
|
|
1852
|
-
"tw
|
|
1853
|
-
"tw
|
|
1854
|
-
"tw
|
|
1855
|
-
"tw
|
|
1856
|
-
"group-data-[variant=default]/toast:
|
|
1743
|
+
"tw:col-start-2",
|
|
1744
|
+
"tw:font-normal",
|
|
1745
|
+
"tw:break-words",
|
|
1746
|
+
"tw:text-white",
|
|
1747
|
+
"tw:group-data-[variant=default]/toast:text-muted-foreground",
|
|
1857
1748
|
className
|
|
1858
1749
|
),
|
|
1859
1750
|
...rest,
|
|
@@ -1870,24 +1761,24 @@ var ToastDismiss = ({ ref, className, ...rest }) => /* @__PURE__ */ jsxRuntime.j
|
|
|
1870
1761
|
ref,
|
|
1871
1762
|
"data-slot": "toast-dismiss",
|
|
1872
1763
|
className: cn(
|
|
1873
|
-
"tw
|
|
1874
|
-
"tw
|
|
1875
|
-
"tw
|
|
1876
|
-
"tw
|
|
1764
|
+
"tw:flex",
|
|
1765
|
+
"tw:justify-center",
|
|
1766
|
+
"tw:col-start-4",
|
|
1767
|
+
"tw:row-start-1",
|
|
1877
1768
|
"tailwindcss-preflight",
|
|
1878
|
-
"[&_svg]:
|
|
1879
|
-
'[&_svg:not([class*="tw
|
|
1880
|
-
"[&_svg]:
|
|
1881
|
-
"tw
|
|
1882
|
-
"group-data-[variant=default]/toast:[&_svg]:
|
|
1883
|
-
"group-data-[variant=default]/toast:group-data-[argo=true]/toast:[&_svg]:
|
|
1769
|
+
"tw:[&_svg]:aspect-square",
|
|
1770
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-4',
|
|
1771
|
+
"tw:[&_svg]:m-1",
|
|
1772
|
+
"tw:text-white",
|
|
1773
|
+
"tw:group-data-[variant=default]/toast:[&_svg]:text-popover-foreground",
|
|
1774
|
+
"tw:group-data-[variant=default]/toast:group-data-[argo=true]/toast:[&_svg]:text-foreground",
|
|
1884
1775
|
className
|
|
1885
1776
|
),
|
|
1886
1777
|
type: "button",
|
|
1887
1778
|
...rest,
|
|
1888
1779
|
children: [
|
|
1889
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1890
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw
|
|
1780
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, {}),
|
|
1781
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw:sr-only", children: "Dismiss" })
|
|
1891
1782
|
]
|
|
1892
1783
|
}
|
|
1893
1784
|
);
|
|
@@ -1900,20 +1791,20 @@ var ToastDuration = ({ ref, duration, className, style, ...rest }) => /* @__PURE
|
|
|
1900
1791
|
...rest,
|
|
1901
1792
|
ref,
|
|
1902
1793
|
className: cn(
|
|
1903
|
-
"tw
|
|
1904
|
-
"group-data-[variant=default]/toast:
|
|
1905
|
-
"group-data-[variant=default]/toast:group-data-[argo=true]/toast:
|
|
1906
|
-
"tw
|
|
1907
|
-
"tw
|
|
1794
|
+
"tw:bg-white/30",
|
|
1795
|
+
"tw:group-data-[variant=default]/toast:bg-popover-foreground/20",
|
|
1796
|
+
"tw:group-data-[variant=default]/toast:group-data-[argo=true]/toast:bg-foreground/20",
|
|
1797
|
+
"tw:rounded-bl-lg",
|
|
1798
|
+
"tw:mx-px",
|
|
1908
1799
|
// positioning
|
|
1909
|
-
"tw
|
|
1910
|
-
"tw
|
|
1911
|
-
"tw
|
|
1800
|
+
"tw:absolute",
|
|
1801
|
+
"tw:bottom-0",
|
|
1802
|
+
"tw:left-0",
|
|
1912
1803
|
// sizing
|
|
1913
|
-
"tw
|
|
1804
|
+
"tw:h-1",
|
|
1914
1805
|
// animation
|
|
1915
|
-
"tw
|
|
1916
|
-
"group-hover/toast:[animation-play-state:paused]",
|
|
1806
|
+
"tw:animate-toast-progress",
|
|
1807
|
+
"tw:group-hover/toast:[animation-play-state:paused]",
|
|
1917
1808
|
className
|
|
1918
1809
|
),
|
|
1919
1810
|
style: {
|
|
@@ -1931,16 +1822,16 @@ var ToastTitle = ({ ref, className, children, ...rest }) => /* @__PURE__ */ jsxR
|
|
|
1931
1822
|
ref,
|
|
1932
1823
|
"data-slot": "toast-title",
|
|
1933
1824
|
className: cn(
|
|
1934
|
-
"tw
|
|
1935
|
-
"tw
|
|
1936
|
-
"tw
|
|
1937
|
-
"tw
|
|
1938
|
-
"tw
|
|
1939
|
-
"tw
|
|
1940
|
-
"group-data-[variant=default]/toast:
|
|
1941
|
-
"group-data-[variant=default]/toast:group-data-[argo=true]/toast:
|
|
1942
|
-
"tw
|
|
1943
|
-
"tw
|
|
1825
|
+
"tw:col-start-2",
|
|
1826
|
+
"tw:text-sm",
|
|
1827
|
+
"tw:leading-6",
|
|
1828
|
+
"tw:min-h-6",
|
|
1829
|
+
"tw:self-center",
|
|
1830
|
+
"tw:text-white",
|
|
1831
|
+
"tw:group-data-[variant=default]/toast:text-popover-foreground",
|
|
1832
|
+
"tw:group-data-[variant=default]/toast:group-data-[argo=true]/toast:text-foreground",
|
|
1833
|
+
"tw:break-words",
|
|
1834
|
+
"tw:font-medium",
|
|
1944
1835
|
className
|
|
1945
1836
|
),
|
|
1946
1837
|
...rest,
|
|
@@ -1950,24 +1841,24 @@ var ToastTitle = ({ ref, className, children, ...rest }) => /* @__PURE__ */ jsxR
|
|
|
1950
1841
|
var variants2 = classVarianceAuthority.cva(
|
|
1951
1842
|
[
|
|
1952
1843
|
"tailwindcss-preflight",
|
|
1953
|
-
"tw
|
|
1954
|
-
"tw
|
|
1844
|
+
"tw:group/toast",
|
|
1845
|
+
"tw:relative",
|
|
1955
1846
|
// layout
|
|
1956
|
-
"tw
|
|
1957
|
-
"tw
|
|
1958
|
-
"tw
|
|
1959
|
-
"has-[[data-slot=toast-description]]:
|
|
1960
|
-
"has-[[data-slot=toast-icon]]:
|
|
1961
|
-
"[&_[data-slot=toast-icon]]:
|
|
1962
|
-
"[&_[data-slot=toast-title]]:
|
|
1963
|
-
"[&_[data-slot=toast-description]]:
|
|
1964
|
-
"[&_[data-slot=toast-action]]:
|
|
1965
|
-
"[&_[data-slot=toast-description]]:
|
|
1966
|
-
"tw
|
|
1847
|
+
"tw:grid",
|
|
1848
|
+
"tw:grid-cols-[0_1fr_auto_auto]",
|
|
1849
|
+
"tw:items-start",
|
|
1850
|
+
"tw:has-[[data-slot=toast-description]]:grid-rows-[auto_auto]",
|
|
1851
|
+
"tw:has-[[data-slot=toast-icon]]:grid-cols-[auto_1fr_auto_auto]",
|
|
1852
|
+
"tw:[&_[data-slot=toast-icon]]:mr-2",
|
|
1853
|
+
"tw:[&_[data-slot=toast-title]]:mr-2.5",
|
|
1854
|
+
"tw:[&_[data-slot=toast-description]]:mr-2.5",
|
|
1855
|
+
"tw:[&_[data-slot=toast-action]]:mr-2",
|
|
1856
|
+
"tw:[&_[data-slot=toast-description]]:col-end-3",
|
|
1857
|
+
"tw:gap-y-0",
|
|
1967
1858
|
// styles
|
|
1968
|
-
"tw
|
|
1969
|
-
"tw
|
|
1970
|
-
"tw
|
|
1859
|
+
"tw:p-4",
|
|
1860
|
+
"tw:rounded-lg",
|
|
1861
|
+
"tw:shadow-md"
|
|
1971
1862
|
],
|
|
1972
1863
|
{
|
|
1973
1864
|
defaultVariants: {
|
|
@@ -1975,20 +1866,20 @@ var variants2 = classVarianceAuthority.cva(
|
|
|
1975
1866
|
},
|
|
1976
1867
|
variants: {
|
|
1977
1868
|
variant: {
|
|
1978
|
-
default: "tw
|
|
1979
|
-
error: "tw
|
|
1980
|
-
info: "tw
|
|
1981
|
-
success: "tw
|
|
1982
|
-
warning: "tw
|
|
1869
|
+
default: "tw:border tw:border-border tw:bg-popover",
|
|
1870
|
+
error: "tw:bg-error-550",
|
|
1871
|
+
info: "tw:bg-blue-600",
|
|
1872
|
+
success: "tw:bg-green-700",
|
|
1873
|
+
warning: "tw:bg-warning-550"
|
|
1983
1874
|
}
|
|
1984
1875
|
}
|
|
1985
1876
|
}
|
|
1986
1877
|
);
|
|
1987
1878
|
var DEFAULT_VARIANT_ICON = {
|
|
1988
|
-
error: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1989
|
-
info: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1990
|
-
success: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1991
|
-
warning: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1879
|
+
error: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, {}),
|
|
1880
|
+
info: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Info, {}),
|
|
1881
|
+
success: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CircleCheck, {}),
|
|
1882
|
+
warning: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, {})
|
|
1992
1883
|
};
|
|
1993
1884
|
var ToastRoot = ({
|
|
1994
1885
|
id,
|
|
@@ -2002,7 +1893,7 @@ var ToastRoot = ({
|
|
|
2002
1893
|
}) => {
|
|
2003
1894
|
const renderArgo = useArgoDesign();
|
|
2004
1895
|
const icon = (() => {
|
|
2005
|
-
if (loading) return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1896
|
+
if (loading) return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "tw:animate-spin" });
|
|
2006
1897
|
if (iconProp) return iconProp;
|
|
2007
1898
|
if (variant === "default" || variant === null) return null;
|
|
2008
1899
|
return DEFAULT_VARIANT_ICON[variant];
|
|
@@ -2018,7 +1909,7 @@ var ToastRoot = ({
|
|
|
2018
1909
|
"data-argo": renderArgo,
|
|
2019
1910
|
className: cn(
|
|
2020
1911
|
variants2({ variant }),
|
|
2021
|
-
"data-[variant=default]:data-[argo=true]:
|
|
1912
|
+
"tw:data-[variant=default]:data-[argo=true]:bg-background"
|
|
2022
1913
|
),
|
|
2023
1914
|
children: [
|
|
2024
1915
|
icon && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2026,17 +1917,17 @@ var ToastRoot = ({
|
|
|
2026
1917
|
{
|
|
2027
1918
|
"data-slot": "toast-icon",
|
|
2028
1919
|
className: cn(
|
|
2029
|
-
"tw
|
|
2030
|
-
"tw
|
|
2031
|
-
"tw
|
|
2032
|
-
"tw
|
|
2033
|
-
"tw
|
|
2034
|
-
"tw
|
|
2035
|
-
"tw
|
|
2036
|
-
'[&_svg:not([class*="tw
|
|
2037
|
-
"tw
|
|
2038
|
-
"group-data-[variant=default]/toast:
|
|
2039
|
-
"group-data-[variant=default]/toast:group-data-[argo=true]/toast:
|
|
1920
|
+
"tw:inline-flex",
|
|
1921
|
+
"tw:items-center",
|
|
1922
|
+
"tw:justify-center",
|
|
1923
|
+
"tw:self-center",
|
|
1924
|
+
"tw:aspect-square",
|
|
1925
|
+
"tw:size-5",
|
|
1926
|
+
"tw:shrink-0",
|
|
1927
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-5',
|
|
1928
|
+
"tw:text-white",
|
|
1929
|
+
"tw:group-data-[variant=default]/toast:text-popover-foreground",
|
|
1930
|
+
"tw:group-data-[variant=default]/toast:group-data-[argo=true]/toast:text-foreground"
|
|
2040
1931
|
),
|
|
2041
1932
|
children: icon
|
|
2042
1933
|
}
|
|
@@ -2082,7 +1973,7 @@ var toast = ({
|
|
|
2082
1973
|
dismissible,
|
|
2083
1974
|
duration,
|
|
2084
1975
|
// override default focus-visible styles to match our design
|
|
2085
|
-
className: cn("tw
|
|
1976
|
+
className: cn("tw:rounded-lg", "tw:focus-visible:!ring-4", "tw:focus-visible:!ring-ring/50")
|
|
2086
1977
|
});
|
|
2087
1978
|
};
|
|
2088
1979
|
toast.success = (title, options) => toast({
|
|
@@ -2449,59 +2340,59 @@ init_icons();
|
|
|
2449
2340
|
var variants3 = classVarianceAuthority.cva(
|
|
2450
2341
|
[
|
|
2451
2342
|
"tailwindcss-preflight",
|
|
2452
|
-
"tw
|
|
2343
|
+
"tw:pointer-events-none",
|
|
2453
2344
|
// sizing
|
|
2454
|
-
"tw
|
|
2455
|
-
"tw
|
|
2456
|
-
"tw
|
|
2345
|
+
"tw:size-4",
|
|
2346
|
+
"tw:aspect-square",
|
|
2347
|
+
"tw:shrink-0",
|
|
2457
2348
|
// layout
|
|
2458
|
-
"tw
|
|
2459
|
-
"tw
|
|
2460
|
-
"tw
|
|
2349
|
+
"tw:flex",
|
|
2350
|
+
"tw:items-center",
|
|
2351
|
+
"tw:justify-center"
|
|
2461
2352
|
],
|
|
2462
2353
|
{
|
|
2463
2354
|
variants: {
|
|
2464
2355
|
variant: {
|
|
2465
2356
|
none: [],
|
|
2466
2357
|
radio: [
|
|
2467
|
-
"tw
|
|
2468
|
-
"tw
|
|
2469
|
-
"tw
|
|
2470
|
-
"tw
|
|
2471
|
-
"group-data-[variant=default]/dropdown-menu-content:
|
|
2472
|
-
"group-data-[variant=argo]/dropdown-menu-content:
|
|
2473
|
-
'[&_svg:not([class*="tw
|
|
2474
|
-
"
|
|
2358
|
+
"tw:border",
|
|
2359
|
+
"tw:border-solid",
|
|
2360
|
+
"tw:border-border",
|
|
2361
|
+
"tw:rounded-full",
|
|
2362
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:bg-white",
|
|
2363
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:bg-background",
|
|
2364
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-2',
|
|
2365
|
+
"tw:data-[state=unchecked]:[&_svg]:hidden",
|
|
2475
2366
|
// Lucide Circle is stroke-only — force fill to match the stroke
|
|
2476
2367
|
// (currentColor) so the indicator reads as a solid dot.
|
|
2477
|
-
"[&_svg]:
|
|
2478
|
-
"group-data-[variant=argo]/dropdown-menu-content:[&_svg]:
|
|
2479
|
-
"group-data-[variant=default]/dropdown-menu-content:[&_svg]:
|
|
2368
|
+
"tw:[&_svg]:fill-current",
|
|
2369
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:[&_svg]:text-primary",
|
|
2370
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:[&_svg]:text-primary"
|
|
2480
2371
|
],
|
|
2481
|
-
check: ['[&_svg:not([class*="tw
|
|
2372
|
+
check: ['tw:[&_svg:not([class*="tw:size-"])]:size-3.5', "tw:[&_svg]:text-primary"],
|
|
2482
2373
|
checkbox: [
|
|
2483
|
-
"[&_svg]:
|
|
2484
|
-
"tw
|
|
2485
|
-
"tw
|
|
2486
|
-
"tw
|
|
2487
|
-
"group-data-[variant=default]/dropdown-menu-content:
|
|
2488
|
-
"group-data-[variant=argo]/dropdown-menu-content:
|
|
2489
|
-
'[&_svg:not([class*="tw
|
|
2490
|
-
"
|
|
2491
|
-
"group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:
|
|
2492
|
-
"group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:
|
|
2493
|
-
"group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:
|
|
2494
|
-
"group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:
|
|
2374
|
+
"tw:[&_svg]:text-primary-foreground",
|
|
2375
|
+
"tw:border",
|
|
2376
|
+
"tw:border-solid",
|
|
2377
|
+
"tw:rounded",
|
|
2378
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:border-neutral-200",
|
|
2379
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:border-input",
|
|
2380
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-3',
|
|
2381
|
+
"tw:data-[state=unchecked]:[&_svg]:hidden",
|
|
2382
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:border-primary",
|
|
2383
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:bg-primary",
|
|
2384
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:border-primary",
|
|
2385
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:bg-primary"
|
|
2495
2386
|
],
|
|
2496
2387
|
switch: [
|
|
2497
|
-
"tw
|
|
2388
|
+
"tw:size-5",
|
|
2498
2389
|
// Lucide SVGs default to 24×24 — constrain the rendered ToggleRight
|
|
2499
2390
|
// to the indicator slot so it doesn't overflow.
|
|
2500
|
-
'[&_svg:not([class*="tw
|
|
2501
|
-
"tw
|
|
2502
|
-
"data-[state=unchecked]:
|
|
2503
|
-
"group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:
|
|
2504
|
-
"group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:
|
|
2391
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-5',
|
|
2392
|
+
"tw:text-neutral-400",
|
|
2393
|
+
"tw:data-[state=unchecked]:rotate-180",
|
|
2394
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:text-primary",
|
|
2395
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:text-primary"
|
|
2505
2396
|
]
|
|
2506
2397
|
}
|
|
2507
2398
|
}
|
|
@@ -2514,9 +2405,9 @@ var DropdownMenuItemIndicator = ({
|
|
|
2514
2405
|
...rest
|
|
2515
2406
|
}) => {
|
|
2516
2407
|
const IconComp = (() => {
|
|
2517
|
-
if (variant === "switch") return
|
|
2518
|
-
if (variant === "radio") return
|
|
2519
|
-
return
|
|
2408
|
+
if (variant === "switch") return lucideReact.ToggleRight;
|
|
2409
|
+
if (variant === "radio") return lucideReact.Circle;
|
|
2410
|
+
return lucideReact.Check;
|
|
2520
2411
|
})();
|
|
2521
2412
|
const forceMount = (() => {
|
|
2522
2413
|
if (forceMountProp) return true;
|
|
@@ -2541,18 +2432,18 @@ var ItemIcon = ({ className, children, ...props }) => /* @__PURE__ */ jsxRuntime
|
|
|
2541
2432
|
{
|
|
2542
2433
|
...props,
|
|
2543
2434
|
className: cn(
|
|
2544
|
-
"tw
|
|
2545
|
-
"tw
|
|
2546
|
-
"tw
|
|
2547
|
-
"tw
|
|
2435
|
+
"tw:inline-flex",
|
|
2436
|
+
"tw:items-center",
|
|
2437
|
+
"tw:justify-center",
|
|
2438
|
+
"tw:aspect-square",
|
|
2548
2439
|
// 20px container fits the 16px Lucide glyph plus 2px breathing room
|
|
2549
|
-
// each side — the previous tw
|
|
2550
|
-
"tw
|
|
2551
|
-
'[&_svg:not([class*="tw
|
|
2552
|
-
"group-data-[variant=default]/dropdown-menu-content:
|
|
2553
|
-
"group-data-[variant=argo]/dropdown-menu-content:
|
|
2554
|
-
"group-data-[variant=argo]/dropdown-menu-content:group-aria-disabled:
|
|
2555
|
-
"group-data-[variant=default]/dropdown-menu-content:group-hover:
|
|
2440
|
+
// each side — the previous tw:size-4 + tw:p-0.5 clipped the 16px child.
|
|
2441
|
+
"tw:size-5",
|
|
2442
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-4',
|
|
2443
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:text-neutral-400",
|
|
2444
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:text-primary",
|
|
2445
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:group-aria-disabled:text-muted-foreground",
|
|
2446
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:group-hover:text-primary",
|
|
2556
2447
|
className
|
|
2557
2448
|
),
|
|
2558
2449
|
children
|
|
@@ -2564,74 +2455,74 @@ init_utils2();
|
|
|
2564
2455
|
var itemVariants = cn(
|
|
2565
2456
|
// reset
|
|
2566
2457
|
"tailwindcss-preflight",
|
|
2567
|
-
"tw
|
|
2568
|
-
"tw
|
|
2569
|
-
"tw
|
|
2570
|
-
"tw
|
|
2458
|
+
"tw:outline-hidden",
|
|
2459
|
+
"tw:group",
|
|
2460
|
+
"tw:peer",
|
|
2461
|
+
"tw:relative",
|
|
2571
2462
|
// positioning
|
|
2572
|
-
"tw
|
|
2573
|
-
"tw
|
|
2574
|
-
"tw
|
|
2575
|
-
"tw
|
|
2576
|
-
"tw
|
|
2577
|
-
"tw
|
|
2578
|
-
"tw
|
|
2463
|
+
"tw:flex",
|
|
2464
|
+
"tw:flex-1",
|
|
2465
|
+
"tw:items-center",
|
|
2466
|
+
"tw:gap-2",
|
|
2467
|
+
"tw:cursor-pointer",
|
|
2468
|
+
"tw:select-none",
|
|
2469
|
+
"tw:transition-colors",
|
|
2579
2470
|
// spacing
|
|
2580
|
-
"tw
|
|
2471
|
+
"tw:p-2",
|
|
2581
2472
|
// typography
|
|
2582
|
-
"tw
|
|
2583
|
-
"tw
|
|
2584
|
-
"aria-disabled:
|
|
2585
|
-
"aria-disabled:
|
|
2586
|
-
"focus-visible:
|
|
2587
|
-
"group-data-[variant=default]/dropdown-menu-content:
|
|
2588
|
-
"group-data-[variant=default]/dropdown-menu-content:focus:
|
|
2589
|
-
"group-data-[variant=default]/dropdown-menu-content:focus:
|
|
2590
|
-
"group-data-[variant=default]/dropdown-menu-content:hover:
|
|
2591
|
-
"group-data-[variant=default]/dropdown-menu-content:hover:
|
|
2592
|
-
"group-data-[variant=argo]/dropdown-menu-content:
|
|
2593
|
-
"group-data-[variant=argo]/dropdown-menu-content:
|
|
2594
|
-
"group-data-[variant=argo]/dropdown-menu-content:focus:
|
|
2595
|
-
"group-data-[variant=argo]/dropdown-menu-content:focus:
|
|
2596
|
-
"group-data-[variant=argo]/dropdown-menu-content:hover:
|
|
2597
|
-
"group-data-[variant=argo]/dropdown-menu-content:hover:
|
|
2473
|
+
"tw:font-sans",
|
|
2474
|
+
"tw:text-sm",
|
|
2475
|
+
"tw:aria-disabled:pointer-events-none",
|
|
2476
|
+
"tw:aria-disabled:opacity-50",
|
|
2477
|
+
"tw:focus-visible:outline-hidden",
|
|
2478
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:rounded",
|
|
2479
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:focus:bg-neutral-100",
|
|
2480
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:focus:text-neutral-900",
|
|
2481
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:hover:bg-neutral-100",
|
|
2482
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:hover:text-neutral-900",
|
|
2483
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:rounded-md",
|
|
2484
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:text-popover-foreground",
|
|
2485
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:focus:text-primary",
|
|
2486
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:focus:bg-primary/10",
|
|
2487
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:hover:text-primary",
|
|
2488
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:hover:bg-primary/10"
|
|
2598
2489
|
);
|
|
2599
2490
|
var contentVariants = cn(
|
|
2600
2491
|
"tailwindcss-preflight",
|
|
2601
|
-
"tw
|
|
2492
|
+
"tw:group/dropdown-menu-content",
|
|
2602
2493
|
// Sit above Modal/Sheet (z-1051), matching the other floating overlays (Popover/Select z-1055)
|
|
2603
|
-
"tw
|
|
2494
|
+
"tw:z-[1055]",
|
|
2604
2495
|
// positioning
|
|
2605
|
-
"tw
|
|
2606
|
-
"tw
|
|
2607
|
-
"tw
|
|
2496
|
+
"tw:flex",
|
|
2497
|
+
"tw:flex-col",
|
|
2498
|
+
"tw:origin-(--radix-dropdown-menu-content-transform-origin)",
|
|
2608
2499
|
// sizing
|
|
2609
|
-
"tw
|
|
2610
|
-
"tw
|
|
2500
|
+
"tw:max-h-[var(--radix-dropdown-menu-content-available-height)]",
|
|
2501
|
+
"tw:min-w-32",
|
|
2611
2502
|
// border
|
|
2612
|
-
"tw
|
|
2613
|
-
"tw
|
|
2503
|
+
"tw:border",
|
|
2504
|
+
"tw:shadow-md",
|
|
2614
2505
|
// Legacy surface — fixed white panel.
|
|
2615
|
-
"data-[variant=default]:
|
|
2616
|
-
"data-[variant=default]:
|
|
2617
|
-
"data-[variant=default]:
|
|
2618
|
-
"data-[variant=default]:
|
|
2506
|
+
"tw:data-[variant=default]:rounded-md",
|
|
2507
|
+
"tw:data-[variant=default]:bg-white",
|
|
2508
|
+
"tw:data-[variant=default]:border-neutral-100",
|
|
2509
|
+
"tw:data-[variant=default]:text-neutral-800",
|
|
2619
2510
|
// Argo surface — semantic popover tokens (brand + dark aware).
|
|
2620
|
-
"data-[variant=argo]:
|
|
2621
|
-
"data-[variant=argo]:
|
|
2622
|
-
"data-[variant=argo]:
|
|
2623
|
-
"data-[variant=argo]:
|
|
2511
|
+
"tw:data-[variant=argo]:rounded-2xl",
|
|
2512
|
+
"tw:data-[variant=argo]:bg-popover",
|
|
2513
|
+
"tw:data-[variant=argo]:text-popover-foreground",
|
|
2514
|
+
"tw:data-[variant=argo]:border-border",
|
|
2624
2515
|
// animations
|
|
2625
|
-
"data-[state=open]:
|
|
2626
|
-
"data-[state=open]:
|
|
2627
|
-
"data-[state=open]:
|
|
2628
|
-
"data-[state=closed]:
|
|
2629
|
-
"data-[state=closed]:
|
|
2630
|
-
"data-[state=closed]:
|
|
2631
|
-
"data-[side=bottom]:
|
|
2632
|
-
"data-[side=left]:
|
|
2633
|
-
"data-[side=right]:
|
|
2634
|
-
"data-[side=top]:
|
|
2516
|
+
"tw:data-[state=open]:animate-in",
|
|
2517
|
+
"tw:data-[state=open]:fade-in-0",
|
|
2518
|
+
"tw:data-[state=open]:zoom-in-95",
|
|
2519
|
+
"tw:data-[state=closed]:animate-out",
|
|
2520
|
+
"tw:data-[state=closed]:fade-out-0",
|
|
2521
|
+
"tw:data-[state=closed]:zoom-out-95",
|
|
2522
|
+
"tw:data-[side=bottom]:slide-in-from-top-2",
|
|
2523
|
+
"tw:data-[side=left]:slide-in-from-right-2",
|
|
2524
|
+
"tw:data-[side=right]:slide-in-from-left-2",
|
|
2525
|
+
"tw:data-[side=top]:slide-in-from-bottom-2"
|
|
2635
2526
|
);
|
|
2636
2527
|
var DropdownMenuCheckboxItem = ({
|
|
2637
2528
|
className,
|
|
@@ -2645,7 +2536,7 @@ var DropdownMenuCheckboxItem = ({
|
|
|
2645
2536
|
...props
|
|
2646
2537
|
}) => {
|
|
2647
2538
|
const isAtStart = indicatorAlign === "start";
|
|
2648
|
-
const indicatorEle = isLoading ? /* @__PURE__ */ jsxRuntime.jsx(ItemIcon, { className: isAtStart ? "" : "tw
|
|
2539
|
+
const indicatorEle = isLoading ? /* @__PURE__ */ jsxRuntime.jsx(ItemIcon, { className: isAtStart ? "" : "tw:ml-auto", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "tw:animate-spin" }) }) : /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuItemIndicator, { variant: indicator, className: isAtStart ? "" : "tw:ml-auto" });
|
|
2649
2540
|
const handleSelect = (event) => {
|
|
2650
2541
|
if (!closeOnSelect) event.preventDefault();
|
|
2651
2542
|
onSelect?.(event);
|
|
@@ -2679,10 +2570,10 @@ var ScrollBar = ({ className, orientation = "vertical", ...props }) => /* @__PUR
|
|
|
2679
2570
|
{
|
|
2680
2571
|
orientation,
|
|
2681
2572
|
className: cn(
|
|
2682
|
-
"tw
|
|
2573
|
+
"tw:flex tw:touch-none tw:select-none tw:transition-color",
|
|
2683
2574
|
{
|
|
2684
|
-
"tw
|
|
2685
|
-
"tw
|
|
2575
|
+
"tw:h-full tw:w-2.5 tw:p-px": orientation === "vertical",
|
|
2576
|
+
"tw:h-2.5 tw:flex-col tw:p-px": orientation === "horizontal"
|
|
2686
2577
|
},
|
|
2687
2578
|
className
|
|
2688
2579
|
),
|
|
@@ -2691,11 +2582,11 @@ var ScrollBar = ({ className, orientation = "vertical", ...props }) => /* @__PUR
|
|
|
2691
2582
|
ScrollAreaPrimitive2__namespace.ScrollAreaThumb,
|
|
2692
2583
|
{
|
|
2693
2584
|
className: cn(
|
|
2694
|
-
"tw
|
|
2695
|
-
"tw
|
|
2696
|
-
"tw
|
|
2697
|
-
"tw
|
|
2698
|
-
"hover:
|
|
2585
|
+
"tw:relative",
|
|
2586
|
+
"tw:flex-1",
|
|
2587
|
+
"tw:rounded-full",
|
|
2588
|
+
"tw:bg-border",
|
|
2589
|
+
"tw:hover:bg-muted-foreground"
|
|
2699
2590
|
)
|
|
2700
2591
|
}
|
|
2701
2592
|
)
|
|
@@ -2714,7 +2605,7 @@ var ScrollArea = ({
|
|
|
2714
2605
|
{
|
|
2715
2606
|
"data-slot": "scroll-area",
|
|
2716
2607
|
className: cn(
|
|
2717
|
-
"tw
|
|
2608
|
+
"tw:peer/scroll-area tw:relative tw:overflow-hidden tw:focus-visible:outline-hidden",
|
|
2718
2609
|
className
|
|
2719
2610
|
),
|
|
2720
2611
|
...props,
|
|
@@ -2724,7 +2615,7 @@ var ScrollArea = ({
|
|
|
2724
2615
|
{
|
|
2725
2616
|
ref,
|
|
2726
2617
|
className: cn(
|
|
2727
|
-
"tw
|
|
2618
|
+
"tw:h-full tw:w-full tw:rounded-[inherit] tw:focus-visible:outline-hidden",
|
|
2728
2619
|
viewPortClassName
|
|
2729
2620
|
),
|
|
2730
2621
|
children
|
|
@@ -2764,11 +2655,11 @@ var DropdownMenuContent = ({
|
|
|
2764
2655
|
{
|
|
2765
2656
|
className,
|
|
2766
2657
|
viewPortClassName: cn(
|
|
2767
|
-
"tw
|
|
2768
|
-
"tw
|
|
2658
|
+
"tw:p-2",
|
|
2659
|
+
"tw:max-h-[var(--radix-dropdown-menu-content-available-height)]",
|
|
2769
2660
|
viewPortClassName
|
|
2770
2661
|
),
|
|
2771
|
-
scrollBarClassName: "tw
|
|
2662
|
+
scrollBarClassName: "tw:w-1.5",
|
|
2772
2663
|
children
|
|
2773
2664
|
}
|
|
2774
2665
|
)
|
|
@@ -2794,7 +2685,7 @@ var DropdownMenuItem = ({
|
|
|
2794
2685
|
...props
|
|
2795
2686
|
}) => {
|
|
2796
2687
|
const Comp = asChild ? reactSlot.Root : "div";
|
|
2797
|
-
const adornment = isLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2688
|
+
const adornment = isLoading ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "tw:animate-spin" }) : icon;
|
|
2798
2689
|
const handleOnSelect = (event) => {
|
|
2799
2690
|
if (asModalTrigger) event.preventDefault();
|
|
2800
2691
|
onSelect?.(event);
|
|
@@ -2815,7 +2706,7 @@ var DropdownMenuItem = ({
|
|
|
2815
2706
|
onSelect: handleOnSelect,
|
|
2816
2707
|
onPointerLeave: handlePointerLeave,
|
|
2817
2708
|
onPointerMove: handlePointerMove,
|
|
2818
|
-
className: cn(itemVariants, className),
|
|
2709
|
+
className: cn(itemVariants, asChild && "tw:text-inherit", className),
|
|
2819
2710
|
asChild: true,
|
|
2820
2711
|
children: /* @__PURE__ */ jsxRuntime.jsxs(Comp, { children: [
|
|
2821
2712
|
adornment && /* @__PURE__ */ jsxRuntime.jsx(ItemIcon, { className: iconClassName, children: adornment }),
|
|
@@ -2829,18 +2720,18 @@ var DropdownMenuItem = ({
|
|
|
2829
2720
|
init_utils2();
|
|
2830
2721
|
var descriptionVariants = classVarianceAuthority.cva(
|
|
2831
2722
|
[
|
|
2832
|
-
"tw
|
|
2833
|
-
"tw
|
|
2834
|
-
"tw
|
|
2835
|
-
"tw
|
|
2836
|
-
"tw
|
|
2837
|
-
"tw
|
|
2838
|
-
"tw
|
|
2723
|
+
"tw:box-border",
|
|
2724
|
+
"tw:ml-auto",
|
|
2725
|
+
"tw:font-sans",
|
|
2726
|
+
"tw:tracking-normal",
|
|
2727
|
+
"tw:font-normal",
|
|
2728
|
+
"tw:text-xs",
|
|
2729
|
+
"tw:text-muted-foreground"
|
|
2839
2730
|
],
|
|
2840
2731
|
{
|
|
2841
2732
|
variants: {
|
|
2842
2733
|
hideOnHover: {
|
|
2843
|
-
true: ["group-focus-within:
|
|
2734
|
+
true: ["tw:group-focus-within:hidden", "tw:group-hover:hidden"],
|
|
2844
2735
|
false: []
|
|
2845
2736
|
}
|
|
2846
2737
|
},
|
|
@@ -2863,10 +2754,10 @@ var DropdownMenuLabel = ({ className, ...props }) => {
|
|
|
2863
2754
|
DropdownMenuPrimitive3__namespace.Label,
|
|
2864
2755
|
{
|
|
2865
2756
|
className: cn(
|
|
2866
|
-
"tw
|
|
2867
|
-
"tw
|
|
2868
|
-
"tw
|
|
2869
|
-
"tw
|
|
2757
|
+
"tw:p-2",
|
|
2758
|
+
"tw:font-medium",
|
|
2759
|
+
"tw:text-xs",
|
|
2760
|
+
"tw:text-muted-foreground",
|
|
2870
2761
|
className
|
|
2871
2762
|
),
|
|
2872
2763
|
...props
|
|
@@ -2909,7 +2800,7 @@ var DropdownMenuRadioItem = ({
|
|
|
2909
2800
|
...props
|
|
2910
2801
|
}) => {
|
|
2911
2802
|
const isAtStart = indicatorAlign === "start";
|
|
2912
|
-
const indicatorEle = isLoading ? /* @__PURE__ */ jsxRuntime.jsx(ItemIcon, { className: iconClassName, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2803
|
+
const indicatorEle = isLoading ? /* @__PURE__ */ jsxRuntime.jsx(ItemIcon, { className: iconClassName, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "tw:animate-spin" }) }) : /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuItemIndicator, { variant: indicator });
|
|
2913
2804
|
const handleSelect = (event) => {
|
|
2914
2805
|
if (!closeOnSelect) event.preventDefault();
|
|
2915
2806
|
onSelect?.(event);
|
|
@@ -2919,13 +2810,13 @@ var DropdownMenuRadioItem = ({
|
|
|
2919
2810
|
{
|
|
2920
2811
|
className: cn(
|
|
2921
2812
|
itemVariants,
|
|
2922
|
-
"data-[state=checked]:
|
|
2813
|
+
"tw:data-[state=checked]:cursor-default",
|
|
2923
2814
|
{
|
|
2924
|
-
"data-[state=checked]:
|
|
2815
|
+
"tw:data-[state=checked]:bg-neutral-100": indicator === "none",
|
|
2925
2816
|
// Semantic brand tint (flips under `[data-theme='dark']`) instead of a
|
|
2926
|
-
// hardcoded `tw
|
|
2817
|
+
// hardcoded `tw:bg-sky-100`, which stayed light in dark mode and left the
|
|
2927
2818
|
// checked item's text near-invisible.
|
|
2928
|
-
"group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:
|
|
2819
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:bg-primary/10": indicator === "check"
|
|
2929
2820
|
},
|
|
2930
2821
|
className
|
|
2931
2822
|
),
|
|
@@ -2934,7 +2825,7 @@ var DropdownMenuRadioItem = ({
|
|
|
2934
2825
|
children: [
|
|
2935
2826
|
isAtStart && indicatorEle,
|
|
2936
2827
|
icon && /* @__PURE__ */ jsxRuntime.jsx(ItemIcon, { className: iconClassName, children: icon }),
|
|
2937
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw
|
|
2828
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "tw:flex tw:min-w-0 tw:flex-1 tw:items-center tw:gap-2", children }),
|
|
2938
2829
|
!isAtStart && indicatorEle
|
|
2939
2830
|
]
|
|
2940
2831
|
}
|
|
@@ -2947,21 +2838,21 @@ var DropdownMenuSeparator = ({ className, ...props }) => /* @__PURE__ */ jsxRunt
|
|
|
2947
2838
|
DropdownMenuPrimitive3__namespace.Separator,
|
|
2948
2839
|
{
|
|
2949
2840
|
className: cn(
|
|
2950
|
-
"tw
|
|
2951
|
-
"tw
|
|
2841
|
+
"tw:relative",
|
|
2842
|
+
"tw:z-10",
|
|
2952
2843
|
// layout
|
|
2953
|
-
"tw
|
|
2954
|
-
"tw
|
|
2955
|
-
"tw
|
|
2956
|
-
"tw
|
|
2844
|
+
"tw:flex",
|
|
2845
|
+
"tw:items-center",
|
|
2846
|
+
"tw:justify-center",
|
|
2847
|
+
"tw:w-full",
|
|
2957
2848
|
// separator line
|
|
2958
|
-
'before:
|
|
2959
|
-
"before:
|
|
2960
|
-
"before:
|
|
2961
|
-
"group-data-[variant=default]/dropdown-menu-content:
|
|
2962
|
-
"group-data-[variant=default]/dropdown-menu-content:before:
|
|
2963
|
-
"group-data-[variant=argo]/dropdown-menu-content:
|
|
2964
|
-
"group-data-[variant=argo]/dropdown-menu-content:before:
|
|
2849
|
+
'tw:before:content-[""]',
|
|
2850
|
+
"tw:before:w-full",
|
|
2851
|
+
"tw:before:h-px",
|
|
2852
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:py-2",
|
|
2853
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:before:bg-neutral-150",
|
|
2854
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:py-1",
|
|
2855
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:before:bg-border",
|
|
2965
2856
|
className
|
|
2966
2857
|
),
|
|
2967
2858
|
...props
|
|
@@ -2977,7 +2868,7 @@ var DropdownMenuSubContent = ({ className, ...props }) => {
|
|
|
2977
2868
|
DropdownMenuPrimitive3__namespace.SubContent,
|
|
2978
2869
|
{
|
|
2979
2870
|
"data-variant": variant,
|
|
2980
|
-
className: cn(contentVariants, "tw
|
|
2871
|
+
className: cn(contentVariants, "tw:z-[1041]", "tw:p-2", className),
|
|
2981
2872
|
...props
|
|
2982
2873
|
}
|
|
2983
2874
|
) });
|
|
@@ -2989,7 +2880,7 @@ init_utils2();
|
|
|
2989
2880
|
var DropdownMenuSubTrigger = ({ className, children, ...props }) => {
|
|
2990
2881
|
return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuPrimitive3__namespace.SubTrigger, { className: cn(itemVariants, className), ...props, children: [
|
|
2991
2882
|
children,
|
|
2992
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2883
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "tw:ml-auto tw:size-5" })
|
|
2993
2884
|
] });
|
|
2994
2885
|
};
|
|
2995
2886
|
|
|
@@ -3001,7 +2892,7 @@ var DropdownMenuTrigger = ({ ref, className, ...props }) => /* @__PURE__ */ jsxR
|
|
|
3001
2892
|
...props,
|
|
3002
2893
|
ref,
|
|
3003
2894
|
"data-slot": "dropdown-menu-trigger",
|
|
3004
|
-
className: cn("tw
|
|
2895
|
+
className: cn("tw:group/dropdown-menu-trigger", className)
|
|
3005
2896
|
}
|
|
3006
2897
|
);
|
|
3007
2898
|
var DropdownMenu = ({
|
|
@@ -3032,10 +2923,10 @@ init_Tooltip2();
|
|
|
3032
2923
|
init_icons();
|
|
3033
2924
|
init_utils2();
|
|
3034
2925
|
var ALIGNMENT_OPTIONS = [
|
|
3035
|
-
{ value: "left", label: "Left", icon:
|
|
3036
|
-
{ value: "center", label: "Center", icon:
|
|
3037
|
-
{ value: "right", label: "Right", icon:
|
|
3038
|
-
{ value: "justify", label: "Justify", icon:
|
|
2926
|
+
{ value: "left", label: "Left", icon: lucideReact.AlignLeft },
|
|
2927
|
+
{ value: "center", label: "Center", icon: lucideReact.AlignCenter },
|
|
2928
|
+
{ value: "right", label: "Right", icon: lucideReact.AlignRight },
|
|
2929
|
+
{ value: "justify", label: "Justify", icon: lucideReact.AlignJustify }
|
|
3039
2930
|
];
|
|
3040
2931
|
var ALIGNMENT_ICONS = Object.fromEntries(
|
|
3041
2932
|
ALIGNMENT_OPTIONS.map(({ value, icon }) => [value, icon])
|
|
@@ -3061,32 +2952,32 @@ var AlignmentDropdown = ({
|
|
|
3061
2952
|
editor.dispatchCommand(lexical.FORMAT_ELEMENT_COMMAND, align);
|
|
3062
2953
|
});
|
|
3063
2954
|
};
|
|
3064
|
-
const CurrentAlignmentIcon = ALIGNMENT_ICONS[alignment] ??
|
|
2955
|
+
const CurrentAlignmentIcon = ALIGNMENT_ICONS[alignment] ?? lucideReact.AlignLeft;
|
|
3065
2956
|
return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { onOpenChange: handleOpenChange, children: [
|
|
3066
2957
|
/* @__PURE__ */ jsxRuntime.jsx(Tooltip, { tooltip: "Text alignment", placement: "top", triggerAsChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3067
2958
|
"button",
|
|
3068
2959
|
{
|
|
3069
2960
|
type: "button",
|
|
3070
2961
|
className: cn(
|
|
3071
|
-
"tw
|
|
3072
|
-
"hover:
|
|
2962
|
+
"tw:flex tw:h-7 tw:cursor-pointer tw:items-center tw:gap-1 tw:rounded tw:border-0 tw:bg-transparent tw:px-1.5 tw:text-xs tw:text-muted-foreground",
|
|
2963
|
+
"tw:hover:bg-accent"
|
|
3073
2964
|
),
|
|
3074
2965
|
children: [
|
|
3075
|
-
/* @__PURE__ */ jsxRuntime.jsx(CurrentAlignmentIcon, { className: "tw
|
|
3076
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2966
|
+
/* @__PURE__ */ jsxRuntime.jsx(CurrentAlignmentIcon, { className: "tw:size-4" }),
|
|
2967
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "tw:size-3" })
|
|
3077
2968
|
]
|
|
3078
2969
|
}
|
|
3079
2970
|
) }) }),
|
|
3080
|
-
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenu.Content, { align: "start", className: "tw
|
|
2971
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenu.Content, { align: "start", className: "tw:min-w-32", children: ALIGNMENT_OPTIONS.map(({ value, label, icon: IconComp }) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3081
2972
|
DropdownMenu.Item,
|
|
3082
2973
|
{
|
|
3083
2974
|
onSelect: () => handleSelect(value),
|
|
3084
2975
|
className: cn(
|
|
3085
|
-
"tw
|
|
3086
|
-
alignment === value && "tw
|
|
2976
|
+
"tw:flex tw:items-center tw:gap-2",
|
|
2977
|
+
alignment === value && "tw:bg-secondary-50 tw:text-secondary-500"
|
|
3087
2978
|
),
|
|
3088
2979
|
children: [
|
|
3089
|
-
/* @__PURE__ */ jsxRuntime.jsx(IconComp, { className: "tw
|
|
2980
|
+
/* @__PURE__ */ jsxRuntime.jsx(IconComp, { className: "tw:size-4" }),
|
|
3090
2981
|
label
|
|
3091
2982
|
]
|
|
3092
2983
|
},
|
|
@@ -3098,14 +2989,14 @@ init_Tooltip2();
|
|
|
3098
2989
|
init_icons();
|
|
3099
2990
|
init_utils2();
|
|
3100
2991
|
var BLOCK_TYPE_META = {
|
|
3101
|
-
paragraph: { label: "Normal", icon:
|
|
3102
|
-
h1: { label: "Heading 1", icon:
|
|
3103
|
-
h2: { label: "Heading 2", icon:
|
|
3104
|
-
h3: { label: "Heading 3", icon:
|
|
3105
|
-
bullet: { label: "Bullet List", icon:
|
|
3106
|
-
number: { label: "Numbered List", icon:
|
|
3107
|
-
quote: { label: "Quote", icon:
|
|
3108
|
-
code: { label: "Code Block", icon:
|
|
2992
|
+
paragraph: { label: "Normal", icon: lucideReact.Type, selectable: true },
|
|
2993
|
+
h1: { label: "Heading 1", icon: lucideReact.Heading1, selectable: true },
|
|
2994
|
+
h2: { label: "Heading 2", icon: lucideReact.Heading2, selectable: true },
|
|
2995
|
+
h3: { label: "Heading 3", icon: lucideReact.Heading3, selectable: true },
|
|
2996
|
+
bullet: { label: "Bullet List", icon: lucideReact.List, selectable: false },
|
|
2997
|
+
number: { label: "Numbered List", icon: lucideReact.ListOrdered, selectable: false },
|
|
2998
|
+
quote: { label: "Quote", icon: lucideReact.Quote, selectable: false },
|
|
2999
|
+
code: { label: "Code Block", icon: lucideReact.SquareCode, selectable: false }
|
|
3109
3000
|
};
|
|
3110
3001
|
var BLOCK_TYPE_OPTIONS = Object.entries(BLOCK_TYPE_META).filter(([, meta]) => meta.selectable).map(([value, { label, icon }]) => ({ value, label, icon }));
|
|
3111
3002
|
var isBlockType = (value) => Object.prototype.hasOwnProperty.call(BLOCK_TYPE_META, value);
|
|
@@ -3115,7 +3006,7 @@ var BlockTypeDropdown = ({
|
|
|
3115
3006
|
}) => {
|
|
3116
3007
|
const savedSelectionRef = react.useRef(null);
|
|
3117
3008
|
const currentMeta = isBlockType(blockType) ? BLOCK_TYPE_META[blockType] : null;
|
|
3118
|
-
const CurrentBlockIcon = currentMeta?.icon ??
|
|
3009
|
+
const CurrentBlockIcon = currentMeta?.icon ?? lucideReact.Type;
|
|
3119
3010
|
const handleOpenChange = (open) => {
|
|
3120
3011
|
if (open) {
|
|
3121
3012
|
editor.getEditorState().read(() => {
|
|
@@ -3152,26 +3043,26 @@ var BlockTypeDropdown = ({
|
|
|
3152
3043
|
{
|
|
3153
3044
|
type: "button",
|
|
3154
3045
|
className: cn(
|
|
3155
|
-
"tw
|
|
3156
|
-
"hover:
|
|
3046
|
+
"tw:flex tw:h-7 tw:cursor-pointer tw:items-center tw:gap-1.5 tw:rounded tw:border-0 tw:bg-transparent tw:px-1.5 tw:text-xs tw:text-muted-foreground",
|
|
3047
|
+
"tw:hover:bg-accent"
|
|
3157
3048
|
),
|
|
3158
3049
|
children: [
|
|
3159
|
-
/* @__PURE__ */ jsxRuntime.jsx(CurrentBlockIcon, { className: "tw
|
|
3050
|
+
/* @__PURE__ */ jsxRuntime.jsx(CurrentBlockIcon, { className: "tw:size-4" }),
|
|
3160
3051
|
currentMeta?.label ?? "Normal",
|
|
3161
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3052
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "tw:size-3" })
|
|
3162
3053
|
]
|
|
3163
3054
|
}
|
|
3164
3055
|
) }) }),
|
|
3165
|
-
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenu.Content, { align: "start", className: "tw
|
|
3056
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenu.Content, { align: "start", className: "tw:min-w-40", children: BLOCK_TYPE_OPTIONS.map(({ value, label, icon: IconComp }) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3166
3057
|
DropdownMenu.Item,
|
|
3167
3058
|
{
|
|
3168
3059
|
onSelect: () => handleSelect(value),
|
|
3169
3060
|
className: cn(
|
|
3170
|
-
"tw
|
|
3171
|
-
blockType === value && "tw
|
|
3061
|
+
"tw:flex tw:items-center tw:gap-2",
|
|
3062
|
+
blockType === value && "tw:bg-secondary-50 tw:text-secondary-500"
|
|
3172
3063
|
),
|
|
3173
3064
|
children: [
|
|
3174
|
-
/* @__PURE__ */ jsxRuntime.jsx(IconComp, { className: "tw
|
|
3065
|
+
/* @__PURE__ */ jsxRuntime.jsx(IconComp, { className: "tw:size-4" }),
|
|
3175
3066
|
label
|
|
3176
3067
|
]
|
|
3177
3068
|
},
|
|
@@ -3196,12 +3087,12 @@ init_context();
|
|
|
3196
3087
|
init_utils2();
|
|
3197
3088
|
var addonVariants = classVarianceAuthority.cva(
|
|
3198
3089
|
[
|
|
3199
|
-
"tw
|
|
3200
|
-
"tw
|
|
3201
|
-
"tw
|
|
3090
|
+
"tw:flex",
|
|
3091
|
+
"tw:items-center",
|
|
3092
|
+
"tw:gap-1",
|
|
3202
3093
|
// Default size for nested Lucide icons in prefix/suffix slots; callers can override on the icon.
|
|
3203
|
-
"[&_svg.lucide:not([class*='tw
|
|
3204
|
-
"[&_svg]:
|
|
3094
|
+
"tw:[&_svg.lucide:not([class*='tw:size-'])]:size-4",
|
|
3095
|
+
"tw:[&_svg]:shrink-0"
|
|
3205
3096
|
],
|
|
3206
3097
|
{
|
|
3207
3098
|
defaultVariants: {
|
|
@@ -3209,22 +3100,22 @@ var addonVariants = classVarianceAuthority.cva(
|
|
|
3209
3100
|
},
|
|
3210
3101
|
variants: {
|
|
3211
3102
|
align: {
|
|
3212
|
-
"inline-start": ["tw
|
|
3213
|
-
"inline-end": ["tw
|
|
3103
|
+
"inline-start": ["tw:order-first", "tw:[&:not(:empty)]:pl-4"],
|
|
3104
|
+
"inline-end": ["tw:order-last", "tw:[&:not(:empty)]:pr-4"],
|
|
3214
3105
|
"block-start": [
|
|
3215
|
-
"tw
|
|
3216
|
-
// `tw
|
|
3106
|
+
"tw:order-first",
|
|
3107
|
+
// `tw:w-full` needs to be empty-conditional too — when the addon
|
|
3217
3108
|
// has no content the root stays in flex-row, and a 100%-wide
|
|
3218
3109
|
// empty addon would claim half of the input row beside the input.
|
|
3219
|
-
"[&:not(:empty)]:
|
|
3220
|
-
"[&:not(:empty)]:
|
|
3221
|
-
"[&:not(:empty)]:
|
|
3110
|
+
"tw:[&:not(:empty)]:w-full",
|
|
3111
|
+
"tw:[&:not(:empty)]:px-4",
|
|
3112
|
+
"tw:[&:not(:empty)]:py-1.5"
|
|
3222
3113
|
],
|
|
3223
3114
|
"block-end": [
|
|
3224
|
-
"tw
|
|
3225
|
-
"[&:not(:empty)]:
|
|
3226
|
-
"[&:not(:empty)]:
|
|
3227
|
-
"[&:not(:empty)]:
|
|
3115
|
+
"tw:order-last",
|
|
3116
|
+
"tw:[&:not(:empty)]:w-full",
|
|
3117
|
+
"tw:[&:not(:empty)]:px-4",
|
|
3118
|
+
"tw:[&:not(:empty)]:py-1.5"
|
|
3228
3119
|
]
|
|
3229
3120
|
}
|
|
3230
3121
|
}
|
|
@@ -3248,7 +3139,7 @@ var InputGroupButton = ({ ref, className, tabIndex = -1, ...props }) => /* @__PU
|
|
|
3248
3139
|
ref,
|
|
3249
3140
|
variant: "invisible",
|
|
3250
3141
|
size: "icon-sm",
|
|
3251
|
-
className: cn("tw
|
|
3142
|
+
className: cn("tw:size-5", "tw:[&_svg]:text-muted-foreground", className)
|
|
3252
3143
|
}
|
|
3253
3144
|
);
|
|
3254
3145
|
|
|
@@ -3260,17 +3151,17 @@ var InputGroupInput = ({ ref, className, ...inputProps }) => /* @__PURE__ */ jsx
|
|
|
3260
3151
|
...inputProps,
|
|
3261
3152
|
ref,
|
|
3262
3153
|
className: cn(
|
|
3263
|
-
"tw
|
|
3264
|
-
"tw
|
|
3265
|
-
"tw
|
|
3154
|
+
"tw:w-full",
|
|
3155
|
+
"tw:bg-transparent",
|
|
3156
|
+
"tw:outline-hidden",
|
|
3266
3157
|
// font
|
|
3267
|
-
"tw
|
|
3268
|
-
"tw
|
|
3158
|
+
"tw:font-sans",
|
|
3159
|
+
"tw:text-sm",
|
|
3269
3160
|
// placeholder
|
|
3270
|
-
"placeholder:
|
|
3271
|
-
"placeholder:
|
|
3161
|
+
"tw:placeholder:text-neutral-400",
|
|
3162
|
+
"tw:placeholder:font-normal",
|
|
3272
3163
|
// disabled
|
|
3273
|
-
"disabled:
|
|
3164
|
+
"tw:disabled:cursor-not-allowed",
|
|
3274
3165
|
className
|
|
3275
3166
|
)
|
|
3276
3167
|
}
|
|
@@ -3282,13 +3173,13 @@ var InputGroupText = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx
|
|
|
3282
3173
|
"span",
|
|
3283
3174
|
{
|
|
3284
3175
|
className: cn(
|
|
3285
|
-
"tw
|
|
3286
|
-
"tw
|
|
3287
|
-
"tw
|
|
3288
|
-
"tw
|
|
3289
|
-
"tw
|
|
3290
|
-
"[&_svg]:
|
|
3291
|
-
'[&_svg:not([class*="tw
|
|
3176
|
+
"tw:flex",
|
|
3177
|
+
"tw:items-center",
|
|
3178
|
+
"tw:gap-2",
|
|
3179
|
+
"tw:text-sm",
|
|
3180
|
+
"tw:text-muted-foreground",
|
|
3181
|
+
"tw:[&_svg]:pointer-events-none",
|
|
3182
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-4',
|
|
3292
3183
|
className
|
|
3293
3184
|
),
|
|
3294
3185
|
...props
|
|
@@ -3331,20 +3222,20 @@ var InputGroupTextArea = ({
|
|
|
3331
3222
|
minRows,
|
|
3332
3223
|
maxRows: maxRows === "unlimited" ? void 0 : maxRows,
|
|
3333
3224
|
className: cn(
|
|
3334
|
-
"tw
|
|
3335
|
-
"tw
|
|
3336
|
-
"tw
|
|
3337
|
-
"tw
|
|
3225
|
+
"tw:w-full",
|
|
3226
|
+
"tw:bg-transparent",
|
|
3227
|
+
"tw:outline-hidden",
|
|
3228
|
+
"tw:px-4",
|
|
3338
3229
|
// font
|
|
3339
|
-
"tw
|
|
3340
|
-
"tw
|
|
3230
|
+
"tw:font-sans",
|
|
3231
|
+
"tw:text-sm",
|
|
3341
3232
|
// placeholder
|
|
3342
|
-
"placeholder:
|
|
3343
|
-
"placeholder:
|
|
3233
|
+
"tw:placeholder:text-neutral-400",
|
|
3234
|
+
"tw:placeholder:font-normal",
|
|
3344
3235
|
// disabled
|
|
3345
|
-
"disabled:
|
|
3236
|
+
"tw:disabled:cursor-not-allowed",
|
|
3346
3237
|
{
|
|
3347
|
-
"tw
|
|
3238
|
+
"tw:resize-none": disableResize
|
|
3348
3239
|
},
|
|
3349
3240
|
className
|
|
3350
3241
|
)
|
|
@@ -3354,39 +3245,39 @@ var InputGroupTextArea = ({
|
|
|
3354
3245
|
var inputGroupVariants = classVarianceAuthority.cva(
|
|
3355
3246
|
[
|
|
3356
3247
|
"tailwindcss-preflight",
|
|
3357
|
-
"tw
|
|
3358
|
-
"tw
|
|
3359
|
-
"tw
|
|
3248
|
+
"tw:group",
|
|
3249
|
+
"tw:overflow-hidden",
|
|
3250
|
+
"tw:box-border",
|
|
3360
3251
|
// positioning
|
|
3361
|
-
"tw
|
|
3362
|
-
"tw
|
|
3252
|
+
"tw:flex",
|
|
3253
|
+
"tw:items-center",
|
|
3363
3254
|
// base — legacy (non-argo) chrome uses a fixed radius; argo overrides it with
|
|
3364
3255
|
// the brand radius token in the `argo` variant below.
|
|
3365
|
-
"tw
|
|
3366
|
-
"tw
|
|
3367
|
-
"tw
|
|
3368
|
-
"tw
|
|
3369
|
-
"tw
|
|
3370
|
-
"tw
|
|
3256
|
+
"tw:rounded",
|
|
3257
|
+
"tw:border",
|
|
3258
|
+
"tw:border-solid",
|
|
3259
|
+
"tw:border-neutral-200",
|
|
3260
|
+
"tw:text-neutral-800",
|
|
3261
|
+
"tw:transition",
|
|
3371
3262
|
// focus
|
|
3372
|
-
"has-[:is(input,textarea):focus]:
|
|
3263
|
+
"tw:has-[:is(input,textarea):focus]:ring-4",
|
|
3373
3264
|
// readonly
|
|
3374
|
-
"has-[:is(input,textarea)[readonly]]:
|
|
3375
|
-
"has-[:is(input,textarea)[readonly]]:focus-within:
|
|
3376
|
-
"has-[:is(input,textarea)[readonly]]:
|
|
3265
|
+
"tw:has-[:is(input,textarea)[readonly]]:bg-neutral-150",
|
|
3266
|
+
"tw:has-[:is(input,textarea)[readonly]]:focus-within:ring-0",
|
|
3267
|
+
"tw:has-[:is(input,textarea)[readonly]]:border-neutral-150",
|
|
3377
3268
|
// disabled cursor (opacity owned by variant)
|
|
3378
|
-
"has-[:is(input,textarea):disabled]:
|
|
3269
|
+
"tw:has-[:is(input,textarea):disabled]:cursor-not-allowed",
|
|
3379
3270
|
// textarea: top-align addons, allow vertical expansion, own its y-padding
|
|
3380
|
-
"has-[textarea]:
|
|
3381
|
-
"has-[[data-align=block-start]:not(:empty)]:
|
|
3382
|
-
"has-[[data-align=block-end]:not(:empty)]:
|
|
3383
|
-
"[&>input]:has-[[data-align=block-start]:not(:empty)]:
|
|
3384
|
-
"[&>input]:has-[[data-align=block-start]:not(:empty)]:
|
|
3385
|
-
"[&>input]:has-[[data-align=block-end]:not(:empty)]:
|
|
3386
|
-
"[&>input]:has-[[data-align=block-end]:not(:empty)]:
|
|
3387
|
-
"[&>input]:
|
|
3388
|
-
"[&>input]:has-[[data-align=inline-start]:not(:empty)]:
|
|
3389
|
-
"[&>input]:has-[[data-align=inline-end]:not(:empty)]:
|
|
3271
|
+
"tw:has-[textarea]:items-start",
|
|
3272
|
+
"tw:has-[[data-align=block-start]:not(:empty)]:flex-wrap",
|
|
3273
|
+
"tw:has-[[data-align=block-end]:not(:empty)]:flex-wrap",
|
|
3274
|
+
"tw:[&>input]:has-[[data-align=block-start]:not(:empty)]:w-auto",
|
|
3275
|
+
"tw:[&>input]:has-[[data-align=block-start]:not(:empty)]:flex-1",
|
|
3276
|
+
"tw:[&>input]:has-[[data-align=block-end]:not(:empty)]:w-auto",
|
|
3277
|
+
"tw:[&>input]:has-[[data-align=block-end]:not(:empty)]:flex-1",
|
|
3278
|
+
"tw:[&>input]:px-4",
|
|
3279
|
+
"tw:[&>input]:has-[[data-align=inline-start]:not(:empty)]:pl-2",
|
|
3280
|
+
"tw:[&>input]:has-[[data-align=inline-end]:not(:empty)]:pr-2"
|
|
3390
3281
|
],
|
|
3391
3282
|
{
|
|
3392
3283
|
defaultVariants: {
|
|
@@ -3399,153 +3290,153 @@ var inputGroupVariants = classVarianceAuthority.cva(
|
|
|
3399
3290
|
{
|
|
3400
3291
|
variant: "secondary",
|
|
3401
3292
|
state: "error",
|
|
3402
|
-
className: ["tw
|
|
3293
|
+
className: ["tw:bg-error-100"]
|
|
3403
3294
|
},
|
|
3404
3295
|
{
|
|
3405
3296
|
variant: "secondary",
|
|
3406
3297
|
state: "warning",
|
|
3407
|
-
className: ["tw
|
|
3298
|
+
className: ["tw:bg-warning-100"]
|
|
3408
3299
|
},
|
|
3409
3300
|
{
|
|
3410
3301
|
variant: "primary",
|
|
3411
3302
|
state: "default",
|
|
3412
3303
|
focusVariant: "off",
|
|
3413
|
-
className: ["has-[:is(input,textarea):focus]:
|
|
3304
|
+
className: ["tw:has-[:is(input,textarea):focus]:border-neutral-200"]
|
|
3414
3305
|
},
|
|
3415
3306
|
{
|
|
3416
3307
|
variant: "secondary",
|
|
3417
3308
|
state: "default",
|
|
3418
3309
|
focusVariant: "off",
|
|
3419
|
-
className: ["has-[:is(input,textarea):focus]:
|
|
3310
|
+
className: ["tw:has-[:is(input,textarea):focus]:border-neutral-100"]
|
|
3420
3311
|
},
|
|
3421
3312
|
{
|
|
3422
3313
|
variant: ["primary", "secondary"],
|
|
3423
3314
|
state: "error",
|
|
3424
3315
|
focusVariant: "on",
|
|
3425
|
-
className: ["
|
|
3316
|
+
className: ["tw:!border-error-500", "tw:!ring-error-200"]
|
|
3426
3317
|
},
|
|
3427
3318
|
{
|
|
3428
3319
|
variant: ["primary", "secondary"],
|
|
3429
3320
|
state: "warning",
|
|
3430
3321
|
focusVariant: "on",
|
|
3431
|
-
className: ["
|
|
3322
|
+
className: ["tw:!border-warning-500", "tw:!ring-warning-200"]
|
|
3432
3323
|
},
|
|
3433
3324
|
// --- argo ---
|
|
3434
3325
|
{
|
|
3435
3326
|
variant: "argo",
|
|
3436
3327
|
state: "default",
|
|
3437
3328
|
className: [
|
|
3438
|
-
"has-[:is(input,textarea):focus]:
|
|
3439
|
-
"has-[:is(input,textarea):focus]:
|
|
3329
|
+
"tw:has-[:is(input,textarea):focus]:border-primary",
|
|
3330
|
+
"tw:has-[:is(input,textarea):focus]:ring-ring/50"
|
|
3440
3331
|
]
|
|
3441
3332
|
},
|
|
3442
3333
|
{
|
|
3443
3334
|
variant: "argo",
|
|
3444
3335
|
state: "error",
|
|
3445
3336
|
className: [
|
|
3446
|
-
"tw
|
|
3447
|
-
"has-[:is(input,textarea):focus]:
|
|
3448
|
-
"has-[:is(input,textarea):focus]:
|
|
3337
|
+
"tw:border-destructive",
|
|
3338
|
+
"tw:has-[:is(input,textarea):focus]:border-destructive",
|
|
3339
|
+
"tw:has-[:is(input,textarea):focus]:ring-destructive/20"
|
|
3449
3340
|
]
|
|
3450
3341
|
},
|
|
3451
3342
|
{
|
|
3452
3343
|
variant: "argo",
|
|
3453
3344
|
focusVariant: "on",
|
|
3454
|
-
className: ["
|
|
3345
|
+
className: ["tw:!border-primary", "tw:!ring-ring/50"]
|
|
3455
3346
|
},
|
|
3456
3347
|
{
|
|
3457
3348
|
variant: "argo",
|
|
3458
3349
|
state: "error",
|
|
3459
3350
|
focusVariant: "on",
|
|
3460
|
-
className: ["
|
|
3351
|
+
className: ["tw:!border-destructive", "tw:!ring-destructive/20"]
|
|
3461
3352
|
},
|
|
3462
3353
|
{
|
|
3463
3354
|
variant: "argo",
|
|
3464
3355
|
state: "default",
|
|
3465
3356
|
focusVariant: "off",
|
|
3466
|
-
className: ["has-[:is(input,textarea):focus]:
|
|
3357
|
+
className: ["tw:has-[:is(input,textarea):focus]:border-input"]
|
|
3467
3358
|
}
|
|
3468
3359
|
],
|
|
3469
3360
|
variants: {
|
|
3470
3361
|
focusVariant: {
|
|
3471
3362
|
default: [],
|
|
3472
|
-
on: ["
|
|
3473
|
-
off: ["has-[:is(input,textarea):focus]:!
|
|
3363
|
+
on: ["tw:!border-ring", "tw:!ring-ring/30", "tw:!ring-4"],
|
|
3364
|
+
off: ["tw:has-[:is(input,textarea):focus]:!ring-0"]
|
|
3474
3365
|
},
|
|
3475
3366
|
variant: {
|
|
3476
3367
|
primary: [
|
|
3477
|
-
"tw
|
|
3478
|
-
"has-[:is(input,textarea):disabled]:
|
|
3368
|
+
"tw:bg-white",
|
|
3369
|
+
"tw:has-[:is(input,textarea):disabled]:opacity-40",
|
|
3479
3370
|
// aria-invalid on the control surfaces the error chrome without a `state` prop — the
|
|
3480
3371
|
// accessible path (mirrors the `state="error"` legacy tokens). Higher specificity than
|
|
3481
3372
|
// the default focus selector, so it wins without `!important`.
|
|
3482
|
-
"has-[:is(input,textarea)[aria-invalid=true]]:
|
|
3483
|
-
"has-[:is(input,textarea)[aria-invalid=true]:focus]:
|
|
3484
|
-
"has-[:is(input,textarea)[aria-invalid=true]:focus]:
|
|
3373
|
+
"tw:has-[:is(input,textarea)[aria-invalid=true]]:border-error-500",
|
|
3374
|
+
"tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:border-error-500",
|
|
3375
|
+
"tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:ring-error-200"
|
|
3485
3376
|
],
|
|
3486
3377
|
secondary: [
|
|
3487
|
-
"tw
|
|
3488
|
-
"tw
|
|
3489
|
-
"has-[:is(input,textarea):disabled]:
|
|
3490
|
-
"has-[:is(input,textarea)[aria-invalid=true]]:
|
|
3491
|
-
"has-[:is(input,textarea)[aria-invalid=true]:focus]:
|
|
3492
|
-
"has-[:is(input,textarea)[aria-invalid=true]:focus]:
|
|
3378
|
+
"tw:bg-neutral-100",
|
|
3379
|
+
"tw:border-neutral-100",
|
|
3380
|
+
"tw:has-[:is(input,textarea):disabled]:opacity-40",
|
|
3381
|
+
"tw:has-[:is(input,textarea)[aria-invalid=true]]:border-error-500",
|
|
3382
|
+
"tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:border-error-500",
|
|
3383
|
+
"tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:ring-error-200"
|
|
3493
3384
|
],
|
|
3494
3385
|
argo: [
|
|
3495
3386
|
// argo follows the brand radius token (overrides the static base)
|
|
3496
|
-
"tw
|
|
3387
|
+
"tw:rounded-[var(--radius-lg,0.25rem)]",
|
|
3497
3388
|
// muted filled input surface — gray, distinct from white containers; not the app-background token
|
|
3498
|
-
"tw
|
|
3499
|
-
"tw
|
|
3500
|
-
"tw
|
|
3501
|
-
"has-[:is(input,textarea):disabled]:
|
|
3389
|
+
"tw:bg-muted",
|
|
3390
|
+
"tw:border-input",
|
|
3391
|
+
"tw:text-foreground",
|
|
3392
|
+
"tw:has-[:is(input,textarea):disabled]:opacity-50",
|
|
3502
3393
|
// readonly: keep the themed input surface/border. The base layer's fixed
|
|
3503
3394
|
// `neutral-150` (a light grey) is correct for the legacy light chrome but
|
|
3504
3395
|
// collides with argo's themed `foreground` text — light-on-light, invisible
|
|
3505
3396
|
// in dark mode. Re-pin to the same `muted`/`input` tokens the editable argo
|
|
3506
3397
|
// input uses (validated AA), so readonly stays legible in every scheme.
|
|
3507
|
-
"has-[:is(input,textarea)[readonly]]:
|
|
3508
|
-
"has-[:is(input,textarea)[readonly]]:
|
|
3398
|
+
"tw:has-[:is(input,textarea)[readonly]]:bg-muted",
|
|
3399
|
+
"tw:has-[:is(input,textarea)[readonly]]:border-input",
|
|
3509
3400
|
// higher specificity than has-[:is(input,textarea):focus] — prevents focus border on readonly
|
|
3510
|
-
"has-[:is(input,textarea)[readonly]:focus]:
|
|
3401
|
+
"tw:has-[:is(input,textarea)[readonly]:focus]:border-input",
|
|
3511
3402
|
// aria-invalid on the control surfaces the error chrome without a `state` prop — the
|
|
3512
3403
|
// accessible path (uses the themeable `destructive` status token).
|
|
3513
|
-
"has-[:is(input,textarea)[aria-invalid=true]]:
|
|
3514
|
-
"has-[:is(input,textarea)[aria-invalid=true]:focus]:
|
|
3515
|
-
"has-[:is(input,textarea)[aria-invalid=true]:focus]:
|
|
3404
|
+
"tw:has-[:is(input,textarea)[aria-invalid=true]]:border-destructive",
|
|
3405
|
+
"tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:border-destructive",
|
|
3406
|
+
"tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:ring-destructive/20"
|
|
3516
3407
|
]
|
|
3517
3408
|
},
|
|
3518
3409
|
sizing: {
|
|
3519
3410
|
default: [
|
|
3520
|
-
"[&>:is(input,textarea)]:
|
|
3521
|
-
"[&>:is(input,textarea)]:
|
|
3522
|
-
"[&>textarea]:!
|
|
3411
|
+
"tw:[&>:is(input,textarea)]:py-2.5",
|
|
3412
|
+
"tw:[&>:is(input,textarea)]:leading-[18px]",
|
|
3413
|
+
"tw:[&>textarea]:!min-h-[calc(2.5rem-2px)]"
|
|
3523
3414
|
],
|
|
3524
3415
|
small: [
|
|
3525
|
-
"[&>:is(input,textarea)]:
|
|
3526
|
-
"[&>:is(input,textarea)]:
|
|
3527
|
-
"[&>textarea]:!
|
|
3416
|
+
"tw:[&>:is(input,textarea)]:py-2",
|
|
3417
|
+
"tw:[&>:is(input,textarea)]:leading-[16px]",
|
|
3418
|
+
"tw:[&>textarea]:!min-h-[calc(2rem-2px)]"
|
|
3528
3419
|
],
|
|
3529
3420
|
medium: [
|
|
3530
|
-
"[&>:is(input,textarea)]:
|
|
3531
|
-
"[&>:is(input,textarea)]:
|
|
3532
|
-
"[&>textarea]:!
|
|
3421
|
+
"tw:[&>:is(input,textarea)]:py-2",
|
|
3422
|
+
"tw:[&>:is(input,textarea)]:leading-[18px]",
|
|
3423
|
+
"tw:[&>textarea]:!min-h-[calc(2.25rem-2px)]"
|
|
3533
3424
|
]
|
|
3534
3425
|
},
|
|
3535
3426
|
state: {
|
|
3536
3427
|
default: [
|
|
3537
|
-
"has-[:is(input,textarea):focus]:
|
|
3538
|
-
"has-[:is(input,textarea):focus]:
|
|
3428
|
+
"tw:has-[:is(input,textarea):focus]:border-ring",
|
|
3429
|
+
"tw:has-[:is(input,textarea):focus]:ring-ring/30"
|
|
3539
3430
|
],
|
|
3540
3431
|
error: [
|
|
3541
|
-
"tw
|
|
3542
|
-
"has-[:is(input,textarea):focus]:
|
|
3543
|
-
"has-[:is(input,textarea):focus]:
|
|
3432
|
+
"tw:border-error-500",
|
|
3433
|
+
"tw:has-[:is(input,textarea):focus]:border-error-500",
|
|
3434
|
+
"tw:has-[:is(input,textarea):focus]:ring-error-200"
|
|
3544
3435
|
],
|
|
3545
3436
|
warning: [
|
|
3546
|
-
"tw
|
|
3547
|
-
"has-[:is(input,textarea):focus]:
|
|
3548
|
-
"has-[:is(input,textarea):focus]:
|
|
3437
|
+
"tw:border-warning-500",
|
|
3438
|
+
"tw:has-[:is(input,textarea):focus]:border-warning-500",
|
|
3439
|
+
"tw:has-[:is(input,textarea):focus]:ring-warning-200"
|
|
3549
3440
|
]
|
|
3550
3441
|
}
|
|
3551
3442
|
}
|
|
@@ -3658,7 +3549,7 @@ var ColorPicker = ({ value, disabled, readOnly, ...props }) => {
|
|
|
3658
3549
|
if (!pickerRef.current) return;
|
|
3659
3550
|
showPicker(pickerRef.current);
|
|
3660
3551
|
};
|
|
3661
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw
|
|
3552
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw:relative", children: [
|
|
3662
3553
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3663
3554
|
"input",
|
|
3664
3555
|
{
|
|
@@ -3668,7 +3559,7 @@ var ColorPicker = ({ value, disabled, readOnly, ...props }) => {
|
|
|
3668
3559
|
value: coerceColorPickerValue(value),
|
|
3669
3560
|
tabIndex: -1,
|
|
3670
3561
|
"aria-hidden": true,
|
|
3671
|
-
className: "tw
|
|
3562
|
+
className: "tw:pointer-events-none tw:absolute tw:left-0 tw:top-full tw:size-0 tw:opacity-0",
|
|
3672
3563
|
disabled,
|
|
3673
3564
|
readOnly
|
|
3674
3565
|
}
|
|
@@ -3680,7 +3571,7 @@ var ColorPicker = ({ value, disabled, readOnly, ...props }) => {
|
|
|
3680
3571
|
disabled: disabled || readOnly,
|
|
3681
3572
|
onClick: handleOpenPicker,
|
|
3682
3573
|
"aria-label": "Pick color",
|
|
3683
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3574
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pipette, { className: "tw:size-4" })
|
|
3684
3575
|
}
|
|
3685
3576
|
)
|
|
3686
3577
|
] });
|
|
@@ -3755,24 +3646,24 @@ var ColorInput = ({
|
|
|
3755
3646
|
{
|
|
3756
3647
|
align: "inline-start",
|
|
3757
3648
|
className: cn(
|
|
3758
|
-
{ "
|
|
3759
|
-
"tw
|
|
3760
|
-
"tw
|
|
3761
|
-
"tw
|
|
3649
|
+
{ "tw:-ml-7 tw:opacity-0": !value },
|
|
3650
|
+
"tw:transition-[opacity,margin]",
|
|
3651
|
+
"tw:ease-linear",
|
|
3652
|
+
"tw:duration-200"
|
|
3762
3653
|
),
|
|
3763
3654
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3764
3655
|
"div",
|
|
3765
3656
|
{
|
|
3766
3657
|
style: isValidSwatch ? { background: swatchColor } : void 0,
|
|
3767
3658
|
className: cn(
|
|
3768
|
-
"tw
|
|
3769
|
-
"tw
|
|
3770
|
-
"tw
|
|
3771
|
-
"tw
|
|
3772
|
-
"tw
|
|
3773
|
-
"tw
|
|
3659
|
+
"tw:size-5",
|
|
3660
|
+
"tw:shrink-0",
|
|
3661
|
+
"tw:rounded-sm",
|
|
3662
|
+
"tw:border",
|
|
3663
|
+
"tw:border-solid",
|
|
3664
|
+
"tw:border-neutral-300",
|
|
3774
3665
|
{
|
|
3775
|
-
"tw
|
|
3666
|
+
"tw:bg-[linear-gradient(to_top_right,transparent_calc(50%_-_1px),theme(colors.red.300)_calc(50%_-_1px),theme(colors.red.300)_calc(50%_+_1px),transparent_calc(50%_+_1px))]": !isValidSwatch
|
|
3776
3667
|
}
|
|
3777
3668
|
)
|
|
3778
3669
|
}
|
|
@@ -3799,7 +3690,7 @@ var ColorInput = ({
|
|
|
3799
3690
|
onMouseDown: (event) => event.preventDefault(),
|
|
3800
3691
|
onClick: handleClear,
|
|
3801
3692
|
"aria-label": "Clear color",
|
|
3802
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3693
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "tw:size-4" })
|
|
3803
3694
|
}
|
|
3804
3695
|
),
|
|
3805
3696
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3830,19 +3721,19 @@ var FormGroupError = ({ children, className, errors, ...rest }) => {
|
|
|
3830
3721
|
const messages = (errors ?? []).map(toMessage).filter((message) => !!message);
|
|
3831
3722
|
if (messages.length === 0) return null;
|
|
3832
3723
|
if (messages.length === 1) return messages[0];
|
|
3833
|
-
return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "tw
|
|
3724
|
+
return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "tw:m-0 tw:flex tw:list-disc tw:flex-col tw:gap-0 tw:pl-4", children: messages.map((message, index) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: message }, index)) });
|
|
3834
3725
|
}, [children, errors]);
|
|
3835
3726
|
if (!content) return null;
|
|
3836
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { ...rest, role: "alert", className: cn("tw
|
|
3727
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { ...rest, role: "alert", className: cn("tw:m-0 tw:text-xs tw:text-destructive", className), children: content });
|
|
3837
3728
|
};
|
|
3838
|
-
var helpVariants = classVarianceAuthority.cva(["tw
|
|
3729
|
+
var helpVariants = classVarianceAuthority.cva(["tw:m-0", "tw:text-xs"], {
|
|
3839
3730
|
defaultVariants: {
|
|
3840
3731
|
state: "default"
|
|
3841
3732
|
},
|
|
3842
3733
|
variants: {
|
|
3843
3734
|
state: {
|
|
3844
|
-
default: ["tw
|
|
3845
|
-
warning: ["tw
|
|
3735
|
+
default: ["tw:text-muted-foreground"],
|
|
3736
|
+
warning: ["tw:text-warning"]
|
|
3846
3737
|
}
|
|
3847
3738
|
}
|
|
3848
3739
|
});
|
|
@@ -4056,14 +3947,14 @@ var TextInput = ({
|
|
|
4056
3947
|
onMouseDown: (e) => e.preventDefault(),
|
|
4057
3948
|
onClick: handleClear,
|
|
4058
3949
|
"data-testid": testId.clearButton,
|
|
4059
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3950
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "tw:size-4" })
|
|
4060
3951
|
}
|
|
4061
3952
|
),
|
|
4062
3953
|
rightSuffix && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4063
3954
|
"div",
|
|
4064
3955
|
{
|
|
4065
3956
|
className: cn({
|
|
4066
|
-
"tw
|
|
3957
|
+
"tw:whitespace-nowrap tw:bg-muted tw:px-4 tw:-mr-4 tw:py-2.5": rightSuffixVariant === "addon"
|
|
4067
3958
|
}),
|
|
4068
3959
|
children: rightSuffix
|
|
4069
3960
|
}
|
|
@@ -4078,7 +3969,7 @@ var FormGroupTextInput = ({ ref, ...props }) => {
|
|
|
4078
3969
|
return /* @__PURE__ */ jsxRuntime.jsx(TextInput, { state, ...props, ref });
|
|
4079
3970
|
};
|
|
4080
3971
|
var FormGroup = ({ className, children, state, ...rest }) => {
|
|
4081
|
-
return /* @__PURE__ */ jsxRuntime.jsx(FormGroupProvider, { value: { state }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { ...rest, className: cn("tw
|
|
3972
|
+
return /* @__PURE__ */ jsxRuntime.jsx(FormGroupProvider, { value: { state }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { ...rest, className: cn("tw:flex tw:flex-col tw:gap-1", className), children }) });
|
|
4082
3973
|
};
|
|
4083
3974
|
FormGroup.Help = FormGroupHelp;
|
|
4084
3975
|
FormGroup.Error = FormGroupError;
|
|
@@ -4089,8 +3980,11 @@ FormGroup.Textarea = FormGroupTextarea;
|
|
|
4089
3980
|
|
|
4090
3981
|
// src/blocks/MarkdownEditor/plugins/toolbar/LinkPanel.tsx
|
|
4091
3982
|
init_Button2();
|
|
3983
|
+
|
|
3984
|
+
// src/components/ButtonGroup/ButtonGroup.tsx
|
|
3985
|
+
init_utils2();
|
|
4092
3986
|
var buttonGroupVariant = classVarianceAuthority.cva(
|
|
4093
|
-
["tailwindcss-preflight", "tw
|
|
3987
|
+
["tailwindcss-preflight", "tw:inline-flex", "tw:items-center", "tw:group/button-group"],
|
|
4094
3988
|
{
|
|
4095
3989
|
defaultVariants: {
|
|
4096
3990
|
variant: "inline",
|
|
@@ -4100,35 +3994,35 @@ var buttonGroupVariant = classVarianceAuthority.cva(
|
|
|
4100
3994
|
variant: {
|
|
4101
3995
|
inline: [],
|
|
4102
3996
|
block: [
|
|
4103
|
-
"tw
|
|
4104
|
-
"tw
|
|
4105
|
-
"sm:
|
|
4106
|
-
"[&_a]:
|
|
4107
|
-
"[&>button:not([data-icon-only=true])]:
|
|
3997
|
+
"tw:w-full",
|
|
3998
|
+
"tw:flex-col",
|
|
3999
|
+
"tw:sm:flex-row",
|
|
4000
|
+
"tw:[&_a]:flex-1",
|
|
4001
|
+
"tw:[&>button:not([data-icon-only=true])]:flex-1"
|
|
4108
4002
|
]
|
|
4109
4003
|
},
|
|
4110
4004
|
space: {
|
|
4111
|
-
"extra-small": "tw
|
|
4112
|
-
"little-small": "tw
|
|
4113
|
-
small: "tw
|
|
4114
|
-
medium: "tw
|
|
4115
|
-
large: "tw
|
|
4005
|
+
"extra-small": "tw:gap-1",
|
|
4006
|
+
"little-small": "tw:gap-2",
|
|
4007
|
+
small: "tw:gap-3",
|
|
4008
|
+
medium: "tw:gap-4",
|
|
4009
|
+
large: "tw:gap-6",
|
|
4116
4010
|
compact: [
|
|
4117
|
-
"tw
|
|
4118
|
-
"
|
|
4011
|
+
"tw:border-collapse",
|
|
4012
|
+
"tw:!gap-0",
|
|
4119
4013
|
// ensure that focus visible outline is at the top
|
|
4120
|
-
"[&>*:focus-visible]:!
|
|
4121
|
-
"[&>*:not(:first-child)]:
|
|
4122
|
-
"[&>*:not(:last-child)]:
|
|
4123
|
-
"[&>*:not(:last-child)]:
|
|
4124
|
-
"[&>*:not(:first-child)]:
|
|
4014
|
+
"tw:[&>*:focus-visible]:!z-10",
|
|
4015
|
+
"tw:[&>*:not(:first-child)]:rounded-l-none",
|
|
4016
|
+
"tw:[&>*:not(:last-child)]:rounded-r-none",
|
|
4017
|
+
"tw:[&>*:not(:last-child)]:border-r-0",
|
|
4018
|
+
"tw:[&>*:not(:first-child)]:border-l-0",
|
|
4125
4019
|
// separator
|
|
4126
|
-
"[&>*:not(:first-child)]:before:
|
|
4127
|
-
"[&>*:not(:first-child)]:before:
|
|
4128
|
-
"[&>*:not(:first-child)]:before:
|
|
4129
|
-
"[&>*:not(:first-child)]:before:
|
|
4130
|
-
"[&>*:not(:first-child)]:before:
|
|
4131
|
-
"[&>*:not(:first-child)]:before:
|
|
4020
|
+
"tw:[&>*:not(:first-child)]:before:content",
|
|
4021
|
+
"tw:[&>*:not(:first-child)]:before:absolute",
|
|
4022
|
+
"tw:[&>*:not(:first-child)]:before:left-0",
|
|
4023
|
+
"tw:[&>*:not(:first-child)]:before:h-full",
|
|
4024
|
+
"tw:[&>*:not(:first-child)]:before:w-px",
|
|
4025
|
+
"tw:[&>*:not(:first-child)]:before:bg-black/10"
|
|
4132
4026
|
]
|
|
4133
4027
|
}
|
|
4134
4028
|
}
|
|
@@ -4149,7 +4043,7 @@ var ButtonGroup = ({
|
|
|
4149
4043
|
...rest,
|
|
4150
4044
|
role: "group",
|
|
4151
4045
|
"data-variant": variant,
|
|
4152
|
-
className: buttonGroupVariant({ variant,
|
|
4046
|
+
className: cn(buttonGroupVariant({ variant, space }), className),
|
|
4153
4047
|
children
|
|
4154
4048
|
}
|
|
4155
4049
|
);
|
|
@@ -4157,8 +4051,8 @@ var ButtonGroup = ({
|
|
|
4157
4051
|
|
|
4158
4052
|
// src/components/Label/Label.tsx
|
|
4159
4053
|
init_utils2();
|
|
4160
|
-
var Optional = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("span", { ...props, "aria-hidden": true, className: cn("tw
|
|
4161
|
-
var Required = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("span", { ...props, "aria-hidden": true, className: cn("tw
|
|
4054
|
+
var Optional = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("span", { ...props, "aria-hidden": true, className: cn("tw:ml-0.5", "tw:text-muted-foreground", className), children: "(optional)" });
|
|
4055
|
+
var Required = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("span", { ...props, "aria-hidden": true, className: cn("tw:ml-0.5", "tw:text-primary", className), children: "*" });
|
|
4162
4056
|
var Label2 = ({ className, children, id, htmlFor, ...rest }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
4163
4057
|
RLabel__namespace.Root,
|
|
4164
4058
|
{
|
|
@@ -4166,7 +4060,7 @@ var Label2 = ({ className, children, id, htmlFor, ...rest }) => /* @__PURE__ */
|
|
|
4166
4060
|
id: id?.toString(),
|
|
4167
4061
|
htmlFor: htmlFor?.toString(),
|
|
4168
4062
|
className: cn(
|
|
4169
|
-
"tw
|
|
4063
|
+
"tw:m-0 tw:text-foreground tw:font-normal tw:peer-disabled:opacity-50",
|
|
4170
4064
|
className
|
|
4171
4065
|
),
|
|
4172
4066
|
children
|
|
@@ -4195,9 +4089,9 @@ var ToolbarButton = ({
|
|
|
4195
4089
|
disabled,
|
|
4196
4090
|
onClick,
|
|
4197
4091
|
className: cn(
|
|
4198
|
-
"tw
|
|
4199
|
-
"hover:
|
|
4200
|
-
active && "tw
|
|
4092
|
+
"tw:flex tw:h-7 tw:min-w-7 tw:cursor-pointer tw:items-center tw:justify-center tw:rounded tw:border-0 tw:bg-transparent tw:px-1 tw:text-xs tw:text-muted-foreground",
|
|
4093
|
+
"tw:hover:bg-accent tw:disabled:cursor-not-allowed tw:disabled:opacity-30",
|
|
4094
|
+
active && "tw:bg-secondary-100 tw:text-secondary-500",
|
|
4201
4095
|
extraClassName
|
|
4202
4096
|
),
|
|
4203
4097
|
children
|
|
@@ -4269,20 +4163,20 @@ var LinkPanel = ({ editor, isLink }) => {
|
|
|
4269
4163
|
active: true,
|
|
4270
4164
|
onClick: () => editor.dispatchCommand(link.TOGGLE_LINK_COMMAND, null),
|
|
4271
4165
|
tooltip: "Remove Link",
|
|
4272
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4166
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link, { className: "tw:size-4" })
|
|
4273
4167
|
}
|
|
4274
4168
|
);
|
|
4275
4169
|
}
|
|
4276
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw
|
|
4277
|
-
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { active: open, onClick: handleOpen, tooltip: "Insert Link", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4170
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw:relative", children: [
|
|
4171
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { active: open, onClick: handleOpen, tooltip: "Insert Link", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link, { className: "tw:size-4" }) }),
|
|
4278
4172
|
open && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4279
4173
|
"div",
|
|
4280
4174
|
{
|
|
4281
4175
|
ref: panelRef,
|
|
4282
|
-
className: "tw
|
|
4283
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw
|
|
4176
|
+
className: "tw:absolute tw:left-0 tw:top-full tw:z-50 tw:mt-1 tw:w-80 tw:rounded-md tw:border tw:border-border tw:bg-popover tw:p-3 tw:text-popover-foreground tw:shadow-lg",
|
|
4177
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tw:flex tw:flex-col tw:gap-2", children: [
|
|
4284
4178
|
/* @__PURE__ */ jsxRuntime.jsxs(FormGroup, { children: [
|
|
4285
|
-
/* @__PURE__ */ jsxRuntime.jsx(Label2, { htmlFor: "link-label", className: "tw
|
|
4179
|
+
/* @__PURE__ */ jsxRuntime.jsx(Label2, { htmlFor: "link-label", className: "tw:mb-1 tw:text-xs", children: "Label" }),
|
|
4286
4180
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4287
4181
|
TextInput,
|
|
4288
4182
|
{
|
|
@@ -4297,7 +4191,7 @@ var LinkPanel = ({ editor, isLink }) => {
|
|
|
4297
4191
|
)
|
|
4298
4192
|
] }),
|
|
4299
4193
|
/* @__PURE__ */ jsxRuntime.jsxs(FormGroup, { children: [
|
|
4300
|
-
/* @__PURE__ */ jsxRuntime.jsx(Label2, { htmlFor: "link-url", className: "tw
|
|
4194
|
+
/* @__PURE__ */ jsxRuntime.jsx(Label2, { htmlFor: "link-url", className: "tw:mb-1 tw:text-xs", children: "URL" }),
|
|
4301
4195
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4302
4196
|
TextInput,
|
|
4303
4197
|
{
|
|
@@ -4319,7 +4213,7 @@ var LinkPanel = ({ editor, isLink }) => {
|
|
|
4319
4213
|
)
|
|
4320
4214
|
] });
|
|
4321
4215
|
};
|
|
4322
|
-
var ToolbarDivider = () => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw
|
|
4216
|
+
var ToolbarDivider = () => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "tw:mx-0.5 tw:h-5 tw:w-px tw:bg-border" });
|
|
4323
4217
|
var ELEMENT_FORMAT_TYPES = ["left", "center", "right", "justify", "start", "end", ""];
|
|
4324
4218
|
var isElementFormatType = (value) => ELEMENT_FORMAT_TYPES.includes(value);
|
|
4325
4219
|
var toElementFormatType = (value) => isElementFormatType(value) ? value : "left";
|
|
@@ -4428,7 +4322,7 @@ var ToolbarPlugin = () => {
|
|
|
4428
4322
|
"aria-label": "Formatting options",
|
|
4429
4323
|
onMouseDown: (e) => e.preventDefault(),
|
|
4430
4324
|
style: { top: position.top, left: position.left },
|
|
4431
|
-
className: "tw
|
|
4325
|
+
className: "tw:absolute tw:z-[1060] tw:flex tw:-translate-y-full tw:items-center tw:gap-0.5 tw:rounded-lg tw:border tw:border-border tw:bg-popover tw:px-1.5 tw:py-1 tw:text-popover-foreground tw:shadow-lg",
|
|
4432
4326
|
children: [
|
|
4433
4327
|
/* @__PURE__ */ jsxRuntime.jsx(BlockTypeDropdown, { editor, blockType }),
|
|
4434
4328
|
/* @__PURE__ */ jsxRuntime.jsx(ToolbarDivider, {}),
|
|
@@ -4438,7 +4332,7 @@ var ToolbarPlugin = () => {
|
|
|
4438
4332
|
active: isBold,
|
|
4439
4333
|
onClick: () => editor.dispatchCommand(lexical.FORMAT_TEXT_COMMAND, "bold"),
|
|
4440
4334
|
tooltip: "Bold (Ctrl+B)",
|
|
4441
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4335
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bold, { className: "tw:size-4" })
|
|
4442
4336
|
}
|
|
4443
4337
|
),
|
|
4444
4338
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4447,7 +4341,7 @@ var ToolbarPlugin = () => {
|
|
|
4447
4341
|
active: isItalic,
|
|
4448
4342
|
onClick: () => editor.dispatchCommand(lexical.FORMAT_TEXT_COMMAND, "italic"),
|
|
4449
4343
|
tooltip: "Italic (Ctrl+I)",
|
|
4450
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4344
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Italic, { className: "tw:size-4" })
|
|
4451
4345
|
}
|
|
4452
4346
|
),
|
|
4453
4347
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4456,7 +4350,7 @@ var ToolbarPlugin = () => {
|
|
|
4456
4350
|
active: isUnderline,
|
|
4457
4351
|
onClick: () => editor.dispatchCommand(lexical.FORMAT_TEXT_COMMAND, "underline"),
|
|
4458
4352
|
tooltip: "Underline (Ctrl+U)",
|
|
4459
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4353
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Underline, { className: "tw:size-4" })
|
|
4460
4354
|
}
|
|
4461
4355
|
),
|
|
4462
4356
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4465,7 +4359,7 @@ var ToolbarPlugin = () => {
|
|
|
4465
4359
|
active: isStrikethrough,
|
|
4466
4360
|
onClick: () => editor.dispatchCommand(lexical.FORMAT_TEXT_COMMAND, "strikethrough"),
|
|
4467
4361
|
tooltip: "Strikethrough",
|
|
4468
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4362
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Strikethrough, { className: "tw:size-4" })
|
|
4469
4363
|
}
|
|
4470
4364
|
),
|
|
4471
4365
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4474,7 +4368,7 @@ var ToolbarPlugin = () => {
|
|
|
4474
4368
|
active: isCode,
|
|
4475
4369
|
onClick: () => editor.dispatchCommand(lexical.FORMAT_TEXT_COMMAND, "code"),
|
|
4476
4370
|
tooltip: "Inline Code",
|
|
4477
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4371
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Code, { className: "tw:size-4" })
|
|
4478
4372
|
}
|
|
4479
4373
|
),
|
|
4480
4374
|
/* @__PURE__ */ jsxRuntime.jsx(ToolbarDivider, {}),
|
|
@@ -4492,7 +4386,7 @@ var ToolbarPlugin = () => {
|
|
|
4492
4386
|
}
|
|
4493
4387
|
},
|
|
4494
4388
|
tooltip: "Bullet List",
|
|
4495
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4389
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.List, { className: "tw:size-4" })
|
|
4496
4390
|
}
|
|
4497
4391
|
),
|
|
4498
4392
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4507,7 +4401,7 @@ var ToolbarPlugin = () => {
|
|
|
4507
4401
|
}
|
|
4508
4402
|
},
|
|
4509
4403
|
tooltip: "Numbered List",
|
|
4510
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4404
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ListOrdered, { className: "tw:size-4" })
|
|
4511
4405
|
}
|
|
4512
4406
|
),
|
|
4513
4407
|
/* @__PURE__ */ jsxRuntime.jsx(ToolbarDivider, {}),
|
|
@@ -4529,7 +4423,7 @@ var ToolbarPlugin = () => {
|
|
|
4529
4423
|
});
|
|
4530
4424
|
},
|
|
4531
4425
|
tooltip: "Quote",
|
|
4532
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4426
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Quote, { className: "tw:size-4" })
|
|
4533
4427
|
}
|
|
4534
4428
|
),
|
|
4535
4429
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4548,7 +4442,7 @@ var ToolbarPlugin = () => {
|
|
|
4548
4442
|
});
|
|
4549
4443
|
},
|
|
4550
4444
|
tooltip: "Code Block",
|
|
4551
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4445
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.SquareCode, { className: "tw:size-4" })
|
|
4552
4446
|
}
|
|
4553
4447
|
)
|
|
4554
4448
|
]
|
|
@@ -4560,33 +4454,33 @@ var ToolbarPlugin = () => {
|
|
|
4560
4454
|
|
|
4561
4455
|
// src/blocks/MarkdownEditor/theme.ts
|
|
4562
4456
|
var editorTheme = {
|
|
4563
|
-
link: "tw
|
|
4457
|
+
link: "tw:cursor-pointer tw:!text-primary tw:underline",
|
|
4564
4458
|
text: {
|
|
4565
|
-
bold: "tw
|
|
4566
|
-
italic: "tw
|
|
4567
|
-
strikethrough: "tw
|
|
4568
|
-
underline: "tw
|
|
4569
|
-
code: "tw
|
|
4459
|
+
bold: "tw:font-bold",
|
|
4460
|
+
italic: "tw:italic",
|
|
4461
|
+
strikethrough: "tw:line-through",
|
|
4462
|
+
underline: "tw:underline",
|
|
4463
|
+
code: "tw:rounded tw:bg-muted tw:px-1 tw:py-0.5 tw:font-mono tw:text-[0.85em]"
|
|
4570
4464
|
},
|
|
4571
4465
|
list: {
|
|
4572
|
-
ol: "
|
|
4573
|
-
ul: "
|
|
4574
|
-
checklist: "
|
|
4466
|
+
ol: "tw:!list-decimal",
|
|
4467
|
+
ul: "tw:!list-disc",
|
|
4468
|
+
checklist: "tw:!list-none tw:!pl-0",
|
|
4575
4469
|
listitemChecked: [
|
|
4576
|
-
"tw
|
|
4577
|
-
'before:
|
|
4578
|
-
"before:
|
|
4579
|
-
"before:
|
|
4580
|
-
'after:
|
|
4581
|
-
"after:
|
|
4582
|
-
"after:
|
|
4583
|
-
"after:
|
|
4470
|
+
"tw:relative tw:!pl-6 tw:list-none tw:outline-hidden tw:line-through tw:text-muted-foreground",
|
|
4471
|
+
'tw:before:content-[""] tw:before:absolute tw:before:left-0 tw:before:top-[3px]',
|
|
4472
|
+
"tw:before:size-4 tw:before:rounded tw:before:border tw:before:border-solid",
|
|
4473
|
+
"tw:before:bg-primary tw:before:border-primary tw:before:cursor-pointer",
|
|
4474
|
+
'tw:after:content-[""] tw:after:absolute tw:after:left-[5.5px] tw:after:top-[5.5px]',
|
|
4475
|
+
"tw:after:w-1 tw:after:h-2 tw:after:border-primary-foreground tw:after:border-solid",
|
|
4476
|
+
"tw:after:border-r-[1.5px] tw:after:border-b-[1.5px] tw:after:border-t-0 tw:after:border-l-0",
|
|
4477
|
+
"tw:after:rotate-45"
|
|
4584
4478
|
].join(" "),
|
|
4585
4479
|
listitemUnchecked: [
|
|
4586
|
-
"tw
|
|
4587
|
-
'before:
|
|
4588
|
-
"before:
|
|
4589
|
-
"before:
|
|
4480
|
+
"tw:relative tw:!pl-6 tw:list-none tw:outline-hidden",
|
|
4481
|
+
'tw:before:content-[""] tw:before:absolute tw:before:left-0 tw:before:top-[3px]',
|
|
4482
|
+
"tw:before:size-4 tw:before:rounded tw:before:border tw:before:border-solid",
|
|
4483
|
+
"tw:before:border-input tw:before:bg-background tw:before:cursor-pointer"
|
|
4590
4484
|
].join(" ")
|
|
4591
4485
|
}
|
|
4592
4486
|
};
|
|
@@ -4650,16 +4544,16 @@ var MarkdownEditor = ({
|
|
|
4650
4544
|
"div",
|
|
4651
4545
|
{
|
|
4652
4546
|
className: cn(
|
|
4653
|
-
!compact && "tw
|
|
4654
|
-
// Compact mode drops `tw
|
|
4547
|
+
!compact && "tw:prose",
|
|
4548
|
+
// Compact mode drops `tw:prose`, so Lexical's <p> wrappers fall back to the browser
|
|
4655
4549
|
// default `margin: 1em 0` — visually huge at heading sizes. Zero them, and use the
|
|
4656
4550
|
// adjacent-sibling selector for paragraph spacing so single-paragraph blocks (titles,
|
|
4657
4551
|
// short descriptions) stay tight while multi-paragraph blocks still breathe.
|
|
4658
|
-
compact && "[&_p]:
|
|
4552
|
+
compact && "tw:[&_p]:m-0 tw:[&_p+p]:mt-2",
|
|
4659
4553
|
// Display-state clamp: 2 lines, dropped in focus-within so editing expands to full
|
|
4660
4554
|
// height. line-clamp is self-gating (no effect below 3 lines), so short/empty content
|
|
4661
4555
|
// renders clean; a CSS fade can't gate on overflow without JS, so it's omitted.
|
|
4662
|
-
clampDisplay && "[&:not(:focus-within)]:
|
|
4556
|
+
clampDisplay && "tw:[&:not(:focus-within)]:line-clamp-2",
|
|
4663
4557
|
className
|
|
4664
4558
|
),
|
|
4665
4559
|
onBlur: handleBlur,
|
|
@@ -4669,12 +4563,12 @@ var MarkdownEditor = ({
|
|
|
4669
4563
|
"div",
|
|
4670
4564
|
{
|
|
4671
4565
|
className: cn(
|
|
4672
|
-
"tw
|
|
4566
|
+
"tw:relative tw:rounded-md tw:transition-colors",
|
|
4673
4567
|
// In compact mode the padding lets the hover bg / focus ring extend past the text,
|
|
4674
4568
|
// but a matching negative margin shifts the wrapper outward so the text itself stays
|
|
4675
4569
|
// aligned with the parent's content edge (i.e. with where static text would render).
|
|
4676
|
-
compact ? "tw
|
|
4677
|
-
editable && "tw
|
|
4570
|
+
compact ? "tw:px-1.5 tw:py-0.5 tw:-mx-1.5 tw:-my-0.5" : "tw:p-2",
|
|
4571
|
+
editable && "tw:cursor-text tw:hover:bg-muted tw:focus-within:ring-2 tw:focus-within:ring-ring/40"
|
|
4678
4572
|
),
|
|
4679
4573
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4680
4574
|
LexicalRichTextPlugin.RichTextPlugin,
|
|
@@ -4682,15 +4576,15 @@ var MarkdownEditor = ({
|
|
|
4682
4576
|
contentEditable: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4683
4577
|
LexicalContentEditable.ContentEditable,
|
|
4684
4578
|
{
|
|
4685
|
-
className: cn("tw
|
|
4579
|
+
className: cn("tw:outline-hidden", useDefaultMinHeight && "tw:min-h-[100px]"),
|
|
4686
4580
|
style: customMinHeight,
|
|
4687
4581
|
"aria-placeholder": placeholder ?? "",
|
|
4688
4582
|
placeholder: placeholder ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
4689
4583
|
"div",
|
|
4690
4584
|
{
|
|
4691
4585
|
className: cn(
|
|
4692
|
-
"tw
|
|
4693
|
-
compact ? "tw
|
|
4586
|
+
"tw:pointer-events-none tw:absolute tw:select-none tw:text-muted-foreground",
|
|
4587
|
+
compact ? "tw:left-1.5 tw:top-0.5" : "tw:left-2 tw:top-[calc(0.5rem+0.35em)]"
|
|
4694
4588
|
),
|
|
4695
4589
|
children: placeholder
|
|
4696
4590
|
}
|