@keboola/design 6.5.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +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 +590 -432
- package/dist/editors.cjs.map +1 -1
- package/dist/editors.d.cts +8 -4
- package/dist/editors.d.ts +8 -4
- package/dist/editors.js +591 -416
- 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 +1398 -1225
- package/dist/rjsf.cjs.map +1 -1
- package/dist/rjsf.js +1399 -1225
- 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.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { clsx } from 'clsx';
|
|
2
2
|
import { extendTailwindMerge } from 'tailwind-merge';
|
|
3
3
|
import { keboolaLegacySidebar, keboolaLegacyTopnav } from '@keboola/brand-registry';
|
|
4
|
-
import { createContext, lazy, Suspense, use, useId, useState, useRef, useEffect,
|
|
4
|
+
import { createContext, lazy, Suspense, use, useId, useState, useRef, useEffect, useCallback, useMemo } from 'react';
|
|
5
5
|
import { Portal, Content, Root, Trigger } from '@radix-ui/react-tooltip';
|
|
6
6
|
import { cva } from 'class-variance-authority';
|
|
7
7
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
8
|
-
import
|
|
8
|
+
import { AlignLeft, AlignCenter, AlignRight, AlignJustify, SquareCode, Quote, ListOrdered, List, Heading3, Heading2, Heading1, Type, Bold, Italic, Underline, Strikethrough, Code, Minimize2, Maximize2, ChevronDown, Link, X, Copy, Loader2, AlertCircle, CircleCheck, Info, AlertTriangle, ChevronRight, Pipette, ToggleRight, Circle, Check } from 'lucide-react';
|
|
9
9
|
import { Root as Root$2, Slottable } from '@radix-ui/react-slot';
|
|
10
10
|
import { createPortal } from 'react-dom';
|
|
11
11
|
import DOMPurify from 'dompurify';
|
|
@@ -41,9 +41,7 @@ import TextareaAutosize from 'react-textarea-autosize';
|
|
|
41
41
|
import * as RLabel from '@radix-ui/react-label';
|
|
42
42
|
|
|
43
43
|
var __defProp = Object.defineProperty;
|
|
44
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
45
44
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
46
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
47
45
|
var __esm = (fn, res) => function __init() {
|
|
48
46
|
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
49
47
|
};
|
|
@@ -51,20 +49,11 @@ var __export = (target, all) => {
|
|
|
51
49
|
for (var name in all)
|
|
52
50
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
53
51
|
};
|
|
54
|
-
var __copyProps = (to, from, except, desc) => {
|
|
55
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
56
|
-
for (let key of __getOwnPropNames(from))
|
|
57
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
58
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
59
|
-
}
|
|
60
|
-
return to;
|
|
61
|
-
};
|
|
62
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget);
|
|
63
52
|
var twMerge, cn;
|
|
64
53
|
var init_classNames = __esm({
|
|
65
54
|
"src/utils/classNames.ts"() {
|
|
66
55
|
twMerge = extendTailwindMerge({
|
|
67
|
-
prefix: "tw
|
|
56
|
+
prefix: "tw"
|
|
68
57
|
});
|
|
69
58
|
cn = (...classes) => twMerge(clsx(...classes));
|
|
70
59
|
}
|
|
@@ -183,39 +172,39 @@ var init_TooltipContent = __esm({
|
|
|
183
172
|
tooltipVariants = cva(
|
|
184
173
|
[
|
|
185
174
|
"tailwindcss-preflight",
|
|
186
|
-
"tw
|
|
187
|
-
"tw
|
|
188
|
-
"tw
|
|
189
|
-
"tw
|
|
190
|
-
"tw
|
|
175
|
+
"tw:inline-block",
|
|
176
|
+
"tw:break-anywhere",
|
|
177
|
+
"tw:max-h-96",
|
|
178
|
+
"tw:overflow-y-auto",
|
|
179
|
+
"tw:z-[1060]",
|
|
191
180
|
// legacy (dark) chrome — default
|
|
192
|
-
"tw
|
|
193
|
-
"tw
|
|
194
|
-
"tw
|
|
181
|
+
"tw:rounded",
|
|
182
|
+
"tw:bg-neutral-800",
|
|
183
|
+
"tw:text-white",
|
|
195
184
|
// argo chrome overrides — semantic floating-panel tokens
|
|
196
|
-
"data-[argo=true]:
|
|
197
|
-
"data-[argo=true]:
|
|
198
|
-
"data-[argo=true]:
|
|
199
|
-
"data-[argo=true]:
|
|
200
|
-
"data-[argo=true]:
|
|
201
|
-
"data-[argo=true]:
|
|
202
|
-
"data-[argo=true]:
|
|
185
|
+
"tw:data-[argo=true]:rounded-2xl",
|
|
186
|
+
"tw:data-[argo=true]:border",
|
|
187
|
+
"tw:data-[argo=true]:border-solid",
|
|
188
|
+
"tw:data-[argo=true]:border-border",
|
|
189
|
+
"tw:data-[argo=true]:bg-popover",
|
|
190
|
+
"tw:data-[argo=true]:text-popover-foreground",
|
|
191
|
+
"tw:data-[argo=true]:shadow-md",
|
|
203
192
|
// argo open animation
|
|
204
|
-
"data-[argo=true]:data-[state=delayed-open]:
|
|
205
|
-
"data-[argo=true]:data-[state=instant-open]:
|
|
206
|
-
"data-[argo=true]:data-[state=delayed-open]:
|
|
207
|
-
"data-[argo=true]:data-[state=instant-open]:
|
|
208
|
-
"data-[argo=true]:data-[state=delayed-open]:
|
|
209
|
-
"data-[argo=true]:data-[state=instant-open]:
|
|
193
|
+
"tw:data-[argo=true]:data-[state=delayed-open]:animate-in",
|
|
194
|
+
"tw:data-[argo=true]:data-[state=instant-open]:animate-in",
|
|
195
|
+
"tw:data-[argo=true]:data-[state=delayed-open]:fade-in-0",
|
|
196
|
+
"tw:data-[argo=true]:data-[state=instant-open]:fade-in-0",
|
|
197
|
+
"tw:data-[argo=true]:data-[state=delayed-open]:zoom-in-95",
|
|
198
|
+
"tw:data-[argo=true]:data-[state=instant-open]:zoom-in-95",
|
|
210
199
|
// argo closed animation
|
|
211
|
-
"data-[argo=true]:data-[state=closed]:
|
|
212
|
-
"data-[argo=true]:data-[state=closed]:
|
|
213
|
-
"data-[argo=true]:data-[state=closed]:
|
|
200
|
+
"tw:data-[argo=true]:data-[state=closed]:animate-out",
|
|
201
|
+
"tw:data-[argo=true]:data-[state=closed]:fade-out-0",
|
|
202
|
+
"tw:data-[argo=true]:data-[state=closed]:zoom-out-95",
|
|
214
203
|
// argo position animation
|
|
215
|
-
"data-[argo=true]:data-[side=bottom]:
|
|
216
|
-
"data-[argo=true]:data-[side=left]:
|
|
217
|
-
"data-[argo=true]:data-[side=right]:
|
|
218
|
-
"data-[argo=true]:data-[side=top]:
|
|
204
|
+
"tw:data-[argo=true]:data-[side=bottom]:slide-in-from-top-2",
|
|
205
|
+
"tw:data-[argo=true]:data-[side=left]:slide-in-from-right-2",
|
|
206
|
+
"tw:data-[argo=true]:data-[side=right]:slide-in-from-left-2",
|
|
207
|
+
"tw:data-[argo=true]:data-[side=top]:slide-in-from-bottom-2"
|
|
219
208
|
],
|
|
220
209
|
{
|
|
221
210
|
defaultVariants: {
|
|
@@ -224,22 +213,26 @@ var init_TooltipContent = __esm({
|
|
|
224
213
|
variants: {
|
|
225
214
|
variant: {
|
|
226
215
|
action: [
|
|
227
|
-
"tw
|
|
228
|
-
"tw
|
|
229
|
-
"tw
|
|
230
|
-
"tw
|
|
231
|
-
"tw
|
|
232
|
-
"tw
|
|
233
|
-
|
|
234
|
-
|
|
216
|
+
"tw:max-w-fit",
|
|
217
|
+
"tw:px-3",
|
|
218
|
+
"tw:py-2",
|
|
219
|
+
"tw:text-center",
|
|
220
|
+
"tw:text-xs",
|
|
221
|
+
"tw:font-medium",
|
|
222
|
+
// Legacy chrome uppercases the action tooltip; the Keboola V2 brand
|
|
223
|
+
// (`data-brand="keboola"`) renders it in standard case instead.
|
|
224
|
+
"tw:uppercase",
|
|
225
|
+
"tw:tracking-wider",
|
|
226
|
+
"tw:[[data-brand=keboola]_&]:normal-case",
|
|
227
|
+
"tw:[[data-brand=keboola]_&]:tracking-normal"
|
|
235
228
|
],
|
|
236
229
|
explanatory: [
|
|
237
|
-
"tw
|
|
238
|
-
"tw
|
|
239
|
-
"tw
|
|
240
|
-
"tw
|
|
241
|
-
"tw
|
|
242
|
-
"tw
|
|
230
|
+
"tw:max-w-80",
|
|
231
|
+
"tw:px-4",
|
|
232
|
+
"tw:py-3",
|
|
233
|
+
"tw:text-left",
|
|
234
|
+
"tw:text-sm",
|
|
235
|
+
"tw:font-normal"
|
|
243
236
|
]
|
|
244
237
|
}
|
|
245
238
|
}
|
|
@@ -324,8 +317,8 @@ var init_TooltipTrigger = __esm({
|
|
|
324
317
|
// (merged in via Slot) activates Tailwind's preflight inside the
|
|
325
318
|
// span, which sets `svg { display: block }` — without an inline-flex
|
|
326
319
|
// container that would stack any bare Lucide icon onto its own
|
|
327
|
-
// line. `tw
|
|
328
|
-
/* @__PURE__ */ jsx("span", { className: "tw
|
|
320
|
+
// line. `tw:inline-flex tw:items-center` keeps icon + text aligned.
|
|
321
|
+
/* @__PURE__ */ jsx("span", { className: "tw:inline-flex tw:items-center", children })
|
|
329
322
|
)
|
|
330
323
|
}
|
|
331
324
|
);
|
|
@@ -500,31 +493,31 @@ var init_Skeleton = __esm({
|
|
|
500
493
|
"src/components/Skeleton/Skeleton.tsx"() {
|
|
501
494
|
init_utils2();
|
|
502
495
|
HEIGHT_CLASS_NAME = {
|
|
503
|
-
xxs: "tw
|
|
504
|
-
xs: "tw
|
|
505
|
-
sm: "tw
|
|
506
|
-
md: "tw
|
|
507
|
-
lg: "tw
|
|
508
|
-
xl: "tw
|
|
509
|
-
"2xl": "tw
|
|
496
|
+
xxs: "tw:h-3 tw:rounded",
|
|
497
|
+
xs: "tw:h-4 tw:rounded",
|
|
498
|
+
sm: "tw:h-5 tw:rounded",
|
|
499
|
+
md: "tw:h-6 tw:rounded-md",
|
|
500
|
+
lg: "tw:h-8 tw:rounded-lg",
|
|
501
|
+
xl: "tw:h-10 tw:rounded-lg",
|
|
502
|
+
"2xl": "tw:h-12 tw:rounded-lg"
|
|
510
503
|
};
|
|
511
504
|
ANIMATION_CLASS_NAME = cn(
|
|
512
505
|
// base styles
|
|
513
|
-
"tw
|
|
514
|
-
"tw
|
|
515
|
-
"tw
|
|
516
|
-
"tw
|
|
506
|
+
"tw:relative",
|
|
507
|
+
"tw:overflow-hidden",
|
|
508
|
+
"tw:pointer-events-none",
|
|
509
|
+
"tw:bg-skeleton",
|
|
517
510
|
// before
|
|
518
|
-
'before:
|
|
519
|
-
"before:
|
|
520
|
-
"before:
|
|
521
|
-
"before:
|
|
522
|
-
"before:-
|
|
523
|
-
"before:
|
|
524
|
-
"before:
|
|
525
|
-
"before:
|
|
526
|
-
"before:
|
|
527
|
-
"before:
|
|
511
|
+
'tw:before:content-[""]',
|
|
512
|
+
"tw:before:opacity-100",
|
|
513
|
+
"tw:before:absolute",
|
|
514
|
+
"tw:before:inset-0",
|
|
515
|
+
"tw:before:-translate-x-full",
|
|
516
|
+
"tw:before:animate-[shimmer_2s_infinite]",
|
|
517
|
+
"tw:before:bg-gradient-to-r",
|
|
518
|
+
"tw:before:from-transparent",
|
|
519
|
+
"tw:before:to-transparent",
|
|
520
|
+
"tw:before:via-white/40"
|
|
528
521
|
);
|
|
529
522
|
Skeleton = ({ height = "md", className, count = 1 }) => {
|
|
530
523
|
const prefixId = useId();
|
|
@@ -540,129 +533,8 @@ var init_Skeleton = __esm({
|
|
|
540
533
|
};
|
|
541
534
|
}
|
|
542
535
|
});
|
|
543
|
-
var Google;
|
|
544
|
-
var init_Google = __esm({
|
|
545
|
-
"src/icons/Google.tsx"() {
|
|
546
|
-
init_utils2();
|
|
547
|
-
Google = forwardRef(
|
|
548
|
-
({ size = 24, className, children, ...rest }, ref) => /* @__PURE__ */ jsxs(
|
|
549
|
-
"svg",
|
|
550
|
-
{
|
|
551
|
-
ref,
|
|
552
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
553
|
-
width: size,
|
|
554
|
-
height: size,
|
|
555
|
-
viewBox: "12 10 20 20",
|
|
556
|
-
fill: "none",
|
|
557
|
-
className: cn("lucide", className),
|
|
558
|
-
...rest,
|
|
559
|
-
children: [
|
|
560
|
-
/* @__PURE__ */ jsx(
|
|
561
|
-
"path",
|
|
562
|
-
{
|
|
563
|
-
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",
|
|
564
|
-
fill: "#4285F4"
|
|
565
|
-
}
|
|
566
|
-
),
|
|
567
|
-
/* @__PURE__ */ jsx(
|
|
568
|
-
"path",
|
|
569
|
-
{
|
|
570
|
-
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",
|
|
571
|
-
fill: "#34A853"
|
|
572
|
-
}
|
|
573
|
-
),
|
|
574
|
-
/* @__PURE__ */ jsx(
|
|
575
|
-
"path",
|
|
576
|
-
{
|
|
577
|
-
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",
|
|
578
|
-
fill: "#FBBC04"
|
|
579
|
-
}
|
|
580
|
-
),
|
|
581
|
-
/* @__PURE__ */ jsx(
|
|
582
|
-
"path",
|
|
583
|
-
{
|
|
584
|
-
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",
|
|
585
|
-
fill: "#EA4335"
|
|
586
|
-
}
|
|
587
|
-
),
|
|
588
|
-
children
|
|
589
|
-
]
|
|
590
|
-
}
|
|
591
|
-
)
|
|
592
|
-
);
|
|
593
|
-
Google.displayName = "Google";
|
|
594
|
-
}
|
|
595
|
-
});
|
|
596
|
-
var Keboola;
|
|
597
|
-
var init_Keboola = __esm({
|
|
598
|
-
"src/icons/Keboola.tsx"() {
|
|
599
|
-
init_utils2();
|
|
600
|
-
Keboola = forwardRef(
|
|
601
|
-
({ size = 24, color = "currentColor", className, children, ...rest }, ref) => /* @__PURE__ */ jsxs(
|
|
602
|
-
"svg",
|
|
603
|
-
{
|
|
604
|
-
ref,
|
|
605
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
606
|
-
width: size,
|
|
607
|
-
height: size,
|
|
608
|
-
viewBox: "0 0 300 512",
|
|
609
|
-
overflow: "visible",
|
|
610
|
-
fill: color,
|
|
611
|
-
className: cn("lucide", className),
|
|
612
|
-
...rest,
|
|
613
|
-
children: [
|
|
614
|
-
/* @__PURE__ */ 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" }),
|
|
615
|
-
children
|
|
616
|
-
]
|
|
617
|
-
}
|
|
618
|
-
)
|
|
619
|
-
);
|
|
620
|
-
Keboola.displayName = "Keboola";
|
|
621
|
-
}
|
|
622
|
-
});
|
|
623
|
-
var Microsoft;
|
|
624
|
-
var init_Microsoft = __esm({
|
|
625
|
-
"src/icons/Microsoft.tsx"() {
|
|
626
|
-
init_utils2();
|
|
627
|
-
Microsoft = forwardRef(
|
|
628
|
-
({ size = 24, className, children, ...rest }, ref) => /* @__PURE__ */ jsxs(
|
|
629
|
-
"svg",
|
|
630
|
-
{
|
|
631
|
-
ref,
|
|
632
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
633
|
-
width: size,
|
|
634
|
-
height: size,
|
|
635
|
-
viewBox: "0 0 21 21",
|
|
636
|
-
fill: "none",
|
|
637
|
-
className: cn("lucide", className),
|
|
638
|
-
...rest,
|
|
639
|
-
children: [
|
|
640
|
-
/* @__PURE__ */ jsx("rect", { x: "0", y: "0", width: "10", height: "10", fill: "#F25022" }),
|
|
641
|
-
/* @__PURE__ */ jsx("rect", { x: "11", y: "0", width: "10", height: "10", fill: "#7FBA00" }),
|
|
642
|
-
/* @__PURE__ */ jsx("rect", { x: "0", y: "11", width: "10", height: "10", fill: "#00A4EF" }),
|
|
643
|
-
/* @__PURE__ */ jsx("rect", { x: "11", y: "11", width: "10", height: "10", fill: "#FFB900" }),
|
|
644
|
-
children
|
|
645
|
-
]
|
|
646
|
-
}
|
|
647
|
-
)
|
|
648
|
-
);
|
|
649
|
-
Microsoft.displayName = "Microsoft";
|
|
650
|
-
}
|
|
651
|
-
});
|
|
652
|
-
|
|
653
|
-
// src/icons/index.ts
|
|
654
|
-
var icons_exports = {};
|
|
655
|
-
__export(icons_exports, {
|
|
656
|
-
Google: () => Google,
|
|
657
|
-
Keboola: () => Keboola,
|
|
658
|
-
Microsoft: () => Microsoft
|
|
659
|
-
});
|
|
660
536
|
var init_icons = __esm({
|
|
661
537
|
"src/icons/index.ts"() {
|
|
662
|
-
__reExport(icons_exports, lucide_react_star);
|
|
663
|
-
init_Google();
|
|
664
|
-
init_Keboola();
|
|
665
|
-
init_Microsoft();
|
|
666
538
|
}
|
|
667
539
|
});
|
|
668
540
|
var variants, argoVariants;
|
|
@@ -671,43 +543,46 @@ var init_styles = __esm({
|
|
|
671
543
|
variants = cva(
|
|
672
544
|
[
|
|
673
545
|
"tailwindcss-preflight",
|
|
674
|
-
"tw
|
|
675
|
-
"tw
|
|
546
|
+
"tw:group/button",
|
|
547
|
+
"tw:border-box",
|
|
676
548
|
// layout
|
|
677
|
-
"tw
|
|
678
|
-
"tw
|
|
679
|
-
"tw
|
|
680
|
-
"tw
|
|
681
|
-
"tw
|
|
549
|
+
"tw:relative",
|
|
550
|
+
"tw:flex",
|
|
551
|
+
"tw:items-center",
|
|
552
|
+
"tw:justify-center",
|
|
553
|
+
"tw:gap-2",
|
|
682
554
|
// text — chrome weight/tracking are brand-overridable tokens
|
|
683
|
-
// (`--font-weight-medium` / `--letter-spacing-chrome`)
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
"tw-
|
|
688
|
-
"tw-
|
|
555
|
+
// (`--font-weight-medium` / `--letter-spacing-chrome`). Casing: standard case is
|
|
556
|
+
// the default; only legacy brands (`keboola-legacy-*`) uppercase the chrome, so
|
|
557
|
+
// modern brands (incl. Keboola V2) read naturally. Mirrors the V2 standard-case
|
|
558
|
+
// treatment shipped for Tooltip/Badge (PR 7629).
|
|
559
|
+
"tw:text-xs",
|
|
560
|
+
"tw:leading-5",
|
|
561
|
+
"tw:font-medium",
|
|
562
|
+
"tw:[[data-brand^=keboola-legacy]_&]:tracking-chrome",
|
|
563
|
+
"tw:[[data-brand^=keboola-legacy]_&]:uppercase",
|
|
689
564
|
// border — legacy (non-argo) chrome uses a fixed radius, not the brand token.
|
|
690
|
-
"tw
|
|
691
|
-
"tw
|
|
692
|
-
"tw
|
|
565
|
+
"tw:rounded",
|
|
566
|
+
"tw:border",
|
|
567
|
+
"tw:border-transparent",
|
|
693
568
|
// styling
|
|
694
|
-
"tw
|
|
695
|
-
"[a]:
|
|
569
|
+
"tw:shadow-none",
|
|
570
|
+
"tw:[a]:cursor-pointer",
|
|
696
571
|
// explicitly set for anchor
|
|
697
|
-
"focus-visible:
|
|
698
|
-
"focus-visible:
|
|
699
|
-
"focus-visible:-
|
|
700
|
-
"focus-visible:
|
|
701
|
-
"focus-visible:
|
|
702
|
-
"focus-visible:
|
|
572
|
+
"tw:focus-visible:outline",
|
|
573
|
+
"tw:focus-visible:outline-1",
|
|
574
|
+
"tw:focus-visible:-outline-offset-1",
|
|
575
|
+
"tw:focus-visible:outline-ring",
|
|
576
|
+
"tw:focus-visible:ring-4",
|
|
577
|
+
"tw:focus-visible:ring-ring/30",
|
|
703
578
|
// disabled
|
|
704
|
-
"disabled:
|
|
705
|
-
"disabled:
|
|
579
|
+
"tw:disabled:opacity-40",
|
|
580
|
+
"tw:disabled:cursor-not-allowed",
|
|
706
581
|
// anchor support
|
|
707
|
-
"
|
|
708
|
-
"aria-disabled:
|
|
709
|
-
"aria-disabled:
|
|
710
|
-
"[&_svg]:
|
|
582
|
+
"tw:!no-underline",
|
|
583
|
+
"tw:aria-disabled:opacity-40",
|
|
584
|
+
"tw:aria-disabled:cursor-not-allowed",
|
|
585
|
+
"tw:[&_svg]:shrink-0"
|
|
711
586
|
],
|
|
712
587
|
{
|
|
713
588
|
defaultVariants: {
|
|
@@ -717,113 +592,113 @@ var init_styles = __esm({
|
|
|
717
592
|
},
|
|
718
593
|
variants: {
|
|
719
594
|
block: {
|
|
720
|
-
true: ["tw
|
|
595
|
+
true: ["tw:w-full"]
|
|
721
596
|
},
|
|
722
597
|
variant: {
|
|
723
598
|
primary: [
|
|
724
|
-
"tw
|
|
725
|
-
"tw
|
|
726
|
-
"focus:
|
|
727
|
-
"hover:
|
|
728
|
-
"hover:not-disabled:
|
|
729
|
-
"active:not-disabled:
|
|
599
|
+
"tw:text-white",
|
|
600
|
+
"tw:bg-primary-500",
|
|
601
|
+
"tw:focus:text-white",
|
|
602
|
+
"tw:hover:text-white",
|
|
603
|
+
"tw:hover:not-disabled:bg-primary-600",
|
|
604
|
+
"tw:active:not-disabled:bg-primary-800",
|
|
730
605
|
// anchor disabled override
|
|
731
|
-
"aria-disabled:!
|
|
606
|
+
"tw:aria-disabled:!bg-primary-500"
|
|
732
607
|
],
|
|
733
608
|
secondary: [
|
|
734
|
-
"tw
|
|
735
|
-
"tw
|
|
736
|
-
"focus:
|
|
737
|
-
"hover:
|
|
738
|
-
"hover:not-disabled:
|
|
739
|
-
"active:not-disabled:
|
|
609
|
+
"tw:text-white",
|
|
610
|
+
"tw:bg-secondary-500",
|
|
611
|
+
"tw:focus:text-white",
|
|
612
|
+
"tw:hover:text-white",
|
|
613
|
+
"tw:hover:not-disabled:bg-secondary-700",
|
|
614
|
+
"tw:active:not-disabled:bg-secondary-800",
|
|
740
615
|
// anchor disabled override
|
|
741
|
-
"aria-disabled:!
|
|
616
|
+
"tw:aria-disabled:!bg-secondary-500"
|
|
742
617
|
],
|
|
743
618
|
danger: [
|
|
744
|
-
"tw
|
|
745
|
-
"tw
|
|
746
|
-
"focus:
|
|
747
|
-
"hover:
|
|
748
|
-
"hover:not-disabled:
|
|
749
|
-
"active:not-disabled:
|
|
619
|
+
"tw:text-white",
|
|
620
|
+
"tw:bg-error-500",
|
|
621
|
+
"tw:focus:text-white",
|
|
622
|
+
"tw:hover:text-white",
|
|
623
|
+
"tw:hover:not-disabled:bg-error-600",
|
|
624
|
+
"tw:active:not-disabled:bg-error-700",
|
|
750
625
|
// anchor disabled override
|
|
751
|
-
"aria-disabled:!
|
|
626
|
+
"tw:aria-disabled:!bg-error-500"
|
|
752
627
|
],
|
|
753
628
|
invisible: [
|
|
754
|
-
"tw
|
|
755
|
-
"tw
|
|
756
|
-
"focus:
|
|
757
|
-
"hover:not-disabled:
|
|
758
|
-
"hover:
|
|
759
|
-
"active:not-disabled:
|
|
629
|
+
"tw:text-neutral-800",
|
|
630
|
+
"tw:bg-transparent",
|
|
631
|
+
"tw:focus:text-neutral-800",
|
|
632
|
+
"tw:hover:not-disabled:bg-neutral-100",
|
|
633
|
+
"tw:hover:text-neutral-800",
|
|
634
|
+
"tw:active:not-disabled:bg-neutral-150",
|
|
760
635
|
// contrasting icon on hover/active
|
|
761
|
-
"[&_svg]:
|
|
762
|
-
"
|
|
763
|
-
"
|
|
636
|
+
"tw:[&_svg]:text-neutral-400",
|
|
637
|
+
"tw:hover:not-disabled:[&_svg]:text-secondary-600",
|
|
638
|
+
"tw:active:not-disabled:[&_svg]:text-secondary-600",
|
|
764
639
|
// anchor disabled override
|
|
765
|
-
"aria-disabled:!
|
|
640
|
+
"tw:aria-disabled:!bg-transparent"
|
|
766
641
|
],
|
|
767
642
|
outline: [
|
|
768
|
-
"tw
|
|
769
|
-
"tw
|
|
643
|
+
"tw:text-neutral-800",
|
|
644
|
+
"tw:bg-white",
|
|
770
645
|
// border
|
|
771
|
-
"
|
|
772
|
-
"hover:
|
|
773
|
-
"focus:
|
|
774
|
-
"hover:not-disabled:!
|
|
775
|
-
"hover:not-disabled:
|
|
776
|
-
"active:not-disabled:
|
|
646
|
+
"tw:!border-neutral-200",
|
|
647
|
+
"tw:hover:text-neutral-800",
|
|
648
|
+
"tw:focus:text-neutral-800",
|
|
649
|
+
"tw:hover:not-disabled:!border-neutral-300",
|
|
650
|
+
"tw:hover:not-disabled:bg-neutral-100",
|
|
651
|
+
"tw:active:not-disabled:bg-neutral-200",
|
|
777
652
|
// contrasting icon hover, same as invisible
|
|
778
|
-
"[&_svg]:
|
|
779
|
-
"
|
|
780
|
-
"
|
|
653
|
+
"tw:[&_svg]:text-neutral-400",
|
|
654
|
+
"tw:not-disabled:hover:[&_svg]:text-secondary-600",
|
|
655
|
+
"tw:active:not-disabled:[&_svg]:text-secondary-600",
|
|
781
656
|
// anchor disabled override
|
|
782
|
-
"aria-disabled:!
|
|
783
|
-
"aria-disabled:!
|
|
657
|
+
"tw:aria-disabled:!bg-white",
|
|
658
|
+
"tw:aria-disabled:!border-neutral-200"
|
|
784
659
|
],
|
|
785
660
|
inline: [
|
|
786
|
-
"tw
|
|
787
|
-
"tw
|
|
788
|
-
"tw
|
|
789
|
-
"[&_svg]:
|
|
790
|
-
"
|
|
791
|
-
"
|
|
661
|
+
"tw:text-neutral-800",
|
|
662
|
+
"tw:bg-transparent",
|
|
663
|
+
"tw:rounded-full",
|
|
664
|
+
"tw:[&_svg]:text-neutral-400",
|
|
665
|
+
"tw:not-disabled:hover:[&_svg]:text-secondary-600",
|
|
666
|
+
"tw:not-disabled:focus:[&_svg]:text-secondary-600"
|
|
792
667
|
]
|
|
793
668
|
},
|
|
794
669
|
size: {
|
|
795
670
|
medium: [
|
|
796
|
-
"tw
|
|
797
|
-
"tw
|
|
798
|
-
"tw
|
|
799
|
-
"tw
|
|
800
|
-
'[&_svg:not([class*="tw
|
|
671
|
+
"tw:max-h-10",
|
|
672
|
+
"tw:min-h-10",
|
|
673
|
+
"tw:px-4",
|
|
674
|
+
"tw:py-2.5",
|
|
675
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-4'
|
|
801
676
|
],
|
|
802
677
|
small: [
|
|
803
|
-
"tw
|
|
804
|
-
"tw
|
|
805
|
-
"tw
|
|
806
|
-
"tw
|
|
807
|
-
'[&_svg:not([class*="tw
|
|
678
|
+
"tw:max-h-8",
|
|
679
|
+
"tw:min-h-8",
|
|
680
|
+
"tw:px-4",
|
|
681
|
+
"tw:py-1.5",
|
|
682
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-4'
|
|
808
683
|
],
|
|
809
684
|
large: [
|
|
810
|
-
"tw
|
|
811
|
-
"tw
|
|
812
|
-
"tw
|
|
813
|
-
"tw
|
|
814
|
-
'[&_svg:not([class*="tw
|
|
685
|
+
"tw:max-h-12",
|
|
686
|
+
"tw:min-h-12",
|
|
687
|
+
"tw:px-4",
|
|
688
|
+
"tw:py-3.5",
|
|
689
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-4'
|
|
815
690
|
],
|
|
816
|
-
"icon-lg": ["tw
|
|
817
|
-
icon: ["tw
|
|
818
|
-
"icon-sm": ["tw
|
|
819
|
-
"icon-xs": ["tw
|
|
691
|
+
"icon-lg": ["tw:size-12", "tw:p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-6'],
|
|
692
|
+
icon: ["tw:size-10", "tw:p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-4'],
|
|
693
|
+
"icon-sm": ["tw:size-8", "tw:p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-4'],
|
|
694
|
+
"icon-xs": ["tw:size-6", "tw:p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-4'],
|
|
820
695
|
"icon-2xs": [
|
|
821
|
-
"
|
|
822
|
-
"tw
|
|
823
|
-
"tw
|
|
824
|
-
'[&_svg:not([class*="tw
|
|
696
|
+
"tw:!inline-flex",
|
|
697
|
+
"tw:size-5",
|
|
698
|
+
"tw:max-h-5",
|
|
699
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-3'
|
|
825
700
|
],
|
|
826
|
-
"icon-3xs": ["tw
|
|
701
|
+
"icon-3xs": ["tw:h-fit", "tw:w-fit", 'tw:[&_svg:not([class*="tw:size-"])]:size-4']
|
|
827
702
|
}
|
|
828
703
|
}
|
|
829
704
|
}
|
|
@@ -832,37 +707,37 @@ var init_styles = __esm({
|
|
|
832
707
|
[
|
|
833
708
|
"tailwindcss-preflight",
|
|
834
709
|
// layout
|
|
835
|
-
"tw
|
|
836
|
-
"tw
|
|
837
|
-
"tw
|
|
838
|
-
"tw
|
|
839
|
-
"tw
|
|
840
|
-
"tw
|
|
710
|
+
"tw:relative",
|
|
711
|
+
"tw:inline-flex",
|
|
712
|
+
"tw:items-center",
|
|
713
|
+
"tw:justify-center",
|
|
714
|
+
"tw:whitespace-nowrap",
|
|
715
|
+
"tw:gap-2",
|
|
841
716
|
// border
|
|
842
|
-
"tw
|
|
843
|
-
"tw
|
|
844
|
-
"tw
|
|
717
|
+
"tw:border",
|
|
718
|
+
"tw:border-transparent",
|
|
719
|
+
"tw:rounded-[var(--radius-lg,0.25rem)]",
|
|
845
720
|
// text
|
|
846
|
-
"tw
|
|
847
|
-
"tw
|
|
721
|
+
"tw:font-medium",
|
|
722
|
+
"tw:select-none",
|
|
848
723
|
// focus visible
|
|
849
|
-
"
|
|
850
|
-
"focus-visible:
|
|
724
|
+
"tw:!outline-hidden",
|
|
725
|
+
"tw:focus-visible:ring-2",
|
|
851
726
|
// disabled
|
|
852
|
-
"disabled:
|
|
853
|
-
"disabled:
|
|
854
|
-
"active:
|
|
855
|
-
"tw
|
|
856
|
-
"tw
|
|
727
|
+
"tw:disabled:cursor-not-allowed",
|
|
728
|
+
"tw:disabled:opacity-50",
|
|
729
|
+
"tw:active:opacity-60",
|
|
730
|
+
"tw:transition-all",
|
|
731
|
+
"tw:bg-clip-padding",
|
|
857
732
|
// anchor support
|
|
858
|
-
"
|
|
859
|
-
"aria-disabled:
|
|
860
|
-
"aria-disabled:
|
|
733
|
+
"tw:!no-underline",
|
|
734
|
+
"tw:aria-disabled:cursor-not-allowed",
|
|
735
|
+
"tw:aria-disabled:opacity-50",
|
|
861
736
|
// icon
|
|
862
|
-
"tw
|
|
863
|
-
"[&_svg]:
|
|
864
|
-
"[&_svg]:
|
|
865
|
-
"[&_svg:not([class*='tw
|
|
737
|
+
"tw:shrink-0",
|
|
738
|
+
"tw:[&_svg]:pointer-events-none",
|
|
739
|
+
"tw:[&_svg]:shrink-0",
|
|
740
|
+
"tw:[&_svg:not([class*='tw:size-'])]:size-4"
|
|
866
741
|
],
|
|
867
742
|
{
|
|
868
743
|
defaultVariants: {
|
|
@@ -871,77 +746,77 @@ var init_styles = __esm({
|
|
|
871
746
|
},
|
|
872
747
|
variants: {
|
|
873
748
|
block: {
|
|
874
|
-
true: ["tw
|
|
749
|
+
true: ["tw:w-full"]
|
|
875
750
|
},
|
|
876
751
|
variant: {
|
|
877
752
|
primary: [
|
|
878
|
-
"tw
|
|
879
|
-
"tw
|
|
880
|
-
"[a]:hover:
|
|
881
|
-
"hover:not-disabled:
|
|
882
|
-
"hover:
|
|
883
|
-
"focus:
|
|
884
|
-
"focus-visible:
|
|
885
|
-
"focus-visible:
|
|
753
|
+
"tw:bg-primary",
|
|
754
|
+
"tw:text-primary-foreground",
|
|
755
|
+
"tw:[a]:hover:bg-primary/80",
|
|
756
|
+
"tw:hover:not-disabled:bg-primary/90",
|
|
757
|
+
"tw:hover:text-primary-foreground",
|
|
758
|
+
"tw:focus:text-primary-foreground",
|
|
759
|
+
"tw:focus-visible:border-primary",
|
|
760
|
+
"tw:focus-visible:ring-ring/50"
|
|
886
761
|
],
|
|
887
762
|
secondary: [
|
|
888
|
-
"tw
|
|
889
|
-
"tw
|
|
890
|
-
"hover:not-disabled:
|
|
891
|
-
"focus-visible:
|
|
892
|
-
"focus-visible:
|
|
763
|
+
"tw:bg-primary/10",
|
|
764
|
+
"tw:text-primary",
|
|
765
|
+
"tw:hover:not-disabled:bg-primary/20",
|
|
766
|
+
"tw:focus-visible:border-primary",
|
|
767
|
+
"tw:focus-visible:ring-ring/50"
|
|
893
768
|
],
|
|
894
769
|
// should be called "destructive" by Figma
|
|
895
770
|
danger: [
|
|
896
|
-
"tw
|
|
897
|
-
"tw
|
|
898
|
-
"hover:
|
|
899
|
-
"focus:
|
|
900
|
-
"focus-visible:
|
|
901
|
-
"focus-visible:
|
|
771
|
+
"tw:bg-destructive",
|
|
772
|
+
"tw:text-destructive-foreground",
|
|
773
|
+
"tw:hover:text-destructive-foreground",
|
|
774
|
+
"tw:focus:text-destructive-foreground",
|
|
775
|
+
"tw:focus-visible:border-destructive",
|
|
776
|
+
"tw:focus-visible:ring-destructive/20"
|
|
902
777
|
],
|
|
903
778
|
outline: [
|
|
904
|
-
"
|
|
905
|
-
"tw
|
|
779
|
+
"tw:!border-input",
|
|
780
|
+
"tw:bg-background",
|
|
906
781
|
// Semantic base text color so the label/icon flips in dark mode
|
|
907
782
|
// (matches `invisible`); previously unset → inherited a fixed dark color.
|
|
908
|
-
"tw
|
|
783
|
+
"tw:text-foreground",
|
|
909
784
|
// Hover follows the brand primary (translucent tint), matching the
|
|
910
785
|
// `secondary` variant — not the fixed `accent` blue.
|
|
911
|
-
"hover:not-disabled:
|
|
912
|
-
"hover:not-disabled:
|
|
913
|
-
"hover:active:
|
|
914
|
-
"focus-visible:!
|
|
915
|
-
"focus-visible:
|
|
786
|
+
"tw:hover:not-disabled:bg-primary/10",
|
|
787
|
+
"tw:hover:not-disabled:text-primary",
|
|
788
|
+
"tw:hover:active:bg-background",
|
|
789
|
+
"tw:focus-visible:!border-primary",
|
|
790
|
+
"tw:focus-visible:ring-ring/50"
|
|
916
791
|
],
|
|
917
792
|
// should be called "ghost" by Figma
|
|
918
793
|
invisible: [
|
|
919
|
-
"tw
|
|
920
|
-
"tw
|
|
921
|
-
"hover:not-disabled:
|
|
922
|
-
"hover:not-disabled:
|
|
923
|
-
"hover:not-disabled:
|
|
924
|
-
"focus-visible:
|
|
794
|
+
"tw:bg-transparent",
|
|
795
|
+
"tw:text-foreground",
|
|
796
|
+
"tw:hover:not-disabled:bg-primary/10",
|
|
797
|
+
"tw:hover:not-disabled:text-primary",
|
|
798
|
+
"tw:hover:not-disabled:border-primary/10",
|
|
799
|
+
"tw:focus-visible:ring-ring/50"
|
|
925
800
|
],
|
|
926
801
|
// should be called "link" by Figma
|
|
927
802
|
inline: [
|
|
928
|
-
"tw
|
|
929
|
-
"tw
|
|
930
|
-
"hover:
|
|
931
|
-
"hover:active:
|
|
932
|
-
"focus-visible:
|
|
803
|
+
"tw:bg-transparent",
|
|
804
|
+
"tw:text-primary",
|
|
805
|
+
"tw:hover:underline",
|
|
806
|
+
"tw:hover:active:bg-transparent",
|
|
807
|
+
"tw:focus-visible:ring-ring/50"
|
|
933
808
|
]
|
|
934
809
|
},
|
|
935
810
|
size: {
|
|
936
811
|
// should be called "default" by Figma
|
|
937
|
-
medium: ["tw
|
|
812
|
+
medium: ["tw:max-h-9", "tw:py-2", "tw:px-4", "tw:text-sm"],
|
|
938
813
|
// should be called "small" by Figma
|
|
939
|
-
small: ["tw
|
|
814
|
+
small: ["tw:max-h-8", "tw:py-2", "tw:px-3", "tw:text-xs"],
|
|
940
815
|
// should be called "large" by Figma
|
|
941
|
-
large: ["tw
|
|
942
|
-
"icon-lg": ["tw
|
|
943
|
-
icon: ["tw
|
|
944
|
-
"icon-sm": ["tw
|
|
816
|
+
large: ["tw:max-h-10", "tw:py-2.5", "tw:px-6", "tw:text-sm"],
|
|
817
|
+
"icon-lg": ["tw:size-10"],
|
|
818
|
+
icon: ["tw:size-9"],
|
|
819
|
+
"icon-sm": ["tw:size-8"],
|
|
945
820
|
// unsupported in ARGO, remove when old design is gone
|
|
946
821
|
"icon-xs": [],
|
|
947
822
|
"icon-2xs": [],
|
|
@@ -998,7 +873,7 @@ var init_Button = __esm({
|
|
|
998
873
|
onClick: handleClick,
|
|
999
874
|
className: cn(classNames),
|
|
1000
875
|
children: [
|
|
1001
|
-
isLoading && /* @__PURE__ */ jsx(
|
|
876
|
+
isLoading && /* @__PURE__ */ jsx(Loader2, { className: "tw:size-4 tw:shrink-0 tw:animate-spin" }),
|
|
1002
877
|
/* @__PURE__ */ jsx(Slottable, { children: isLoading && isIconOnly ? null : children })
|
|
1003
878
|
]
|
|
1004
879
|
}
|
|
@@ -1011,18 +886,18 @@ var init_ButtonInline = __esm({
|
|
|
1011
886
|
cva(
|
|
1012
887
|
[
|
|
1013
888
|
"tailwindcss-preflight",
|
|
1014
|
-
"tw
|
|
1015
|
-
"tw
|
|
1016
|
-
"tw
|
|
1017
|
-
"tw
|
|
1018
|
-
"disabled:
|
|
1019
|
-
"disabled:
|
|
1020
|
-
"disabled:
|
|
1021
|
-
"disabled:
|
|
1022
|
-
"[&_svg]:
|
|
889
|
+
"tw:inline-flex",
|
|
890
|
+
"tw:items-center",
|
|
891
|
+
"tw:gap-2",
|
|
892
|
+
"tw:underline-offset-2",
|
|
893
|
+
"tw:disabled:opacity-40",
|
|
894
|
+
"tw:disabled:cursor-not-allowed",
|
|
895
|
+
"tw:disabled:text-neutral-500",
|
|
896
|
+
"tw:disabled:no-underline",
|
|
897
|
+
"tw:disabled:[&_svg]:text-neutral-400",
|
|
1023
898
|
// Default size for nested Lucide icons; callers can override on the icon.
|
|
1024
|
-
"[&_svg.lucide:not([class*='tw
|
|
1025
|
-
"[&_svg]:
|
|
899
|
+
"tw:[&_svg.lucide:not([class*='tw:size-'])]:size-4",
|
|
900
|
+
"tw:[&_svg]:shrink-0"
|
|
1026
901
|
],
|
|
1027
902
|
{
|
|
1028
903
|
defaultVariants: {
|
|
@@ -1031,15 +906,15 @@ var init_ButtonInline = __esm({
|
|
|
1031
906
|
},
|
|
1032
907
|
variants: {
|
|
1033
908
|
color: {
|
|
1034
|
-
link: ["tw
|
|
1035
|
-
dark: ["tw
|
|
1036
|
-
danger: ["tw
|
|
1037
|
-
muted: ["tw
|
|
909
|
+
link: ["tw:text-primary", "tw:hover:text-primary/90", "tw:[&_svg]:text-primary"],
|
|
910
|
+
dark: ["tw:text-neutral-800 tw:[&_svg]:text-neutral-400"],
|
|
911
|
+
danger: ["tw:text-error-500 tw:[&_svg]:text-error-500"],
|
|
912
|
+
muted: ["tw:text-muted-foreground tw:[&_svg]:text-muted-foreground"],
|
|
1038
913
|
custom: []
|
|
1039
914
|
},
|
|
1040
915
|
variant: {
|
|
1041
|
-
link: ["tw
|
|
1042
|
-
"link-reverse": ["tw
|
|
916
|
+
link: ["tw:underline", "tw:hover:no-underline"],
|
|
917
|
+
"link-reverse": ["tw:no-underline", "", "tw:hover:underline"],
|
|
1043
918
|
custom: []
|
|
1044
919
|
}
|
|
1045
920
|
}
|
|
@@ -1055,12 +930,12 @@ var init_Button2 = __esm({
|
|
|
1055
930
|
init_ButtonInline();
|
|
1056
931
|
}
|
|
1057
932
|
});
|
|
1058
|
-
var
|
|
933
|
+
var Clipboard2;
|
|
1059
934
|
var init_Clipboard = __esm({
|
|
1060
935
|
"src/components/Clipboard/Clipboard.tsx"() {
|
|
1061
936
|
init_utils2();
|
|
1062
937
|
init_Tooltip2();
|
|
1063
|
-
|
|
938
|
+
Clipboard2 = ({
|
|
1064
939
|
ref,
|
|
1065
940
|
text: textProp,
|
|
1066
941
|
children,
|
|
@@ -1085,6 +960,7 @@ var init_Clipboard = __esm({
|
|
|
1085
960
|
}
|
|
1086
961
|
};
|
|
1087
962
|
const handleOnClick = (event) => {
|
|
963
|
+
setIsTooltipOpen(true);
|
|
1088
964
|
if (text && state === "ready") void copy(text);
|
|
1089
965
|
onClick?.(event);
|
|
1090
966
|
};
|
|
@@ -1099,6 +975,7 @@ var init_Clipboard = __esm({
|
|
|
1099
975
|
return tooltip;
|
|
1100
976
|
})();
|
|
1101
977
|
const tooltipVariant = state === "ready" && !!text ? tooltipVariantProp : "action";
|
|
978
|
+
const hasTooltipContent = tooltipContent !== null && tooltipContent !== void 0;
|
|
1102
979
|
return /* @__PURE__ */ jsxs(Tooltip.Root, { open: isTooltipOpen, onOpenChange: handleOnOpenChange, children: [
|
|
1103
980
|
/* @__PURE__ */ jsx(
|
|
1104
981
|
Tooltip.Trigger,
|
|
@@ -1107,12 +984,12 @@ var init_Clipboard = __esm({
|
|
|
1107
984
|
asChild,
|
|
1108
985
|
keepOpenOnClick: true,
|
|
1109
986
|
onClick: handleOnClick,
|
|
1110
|
-
className: cn("tw
|
|
987
|
+
className: cn("tw:cursor-pointer", className),
|
|
1111
988
|
ref,
|
|
1112
989
|
children: children ?? text
|
|
1113
990
|
}
|
|
1114
991
|
),
|
|
1115
|
-
/* @__PURE__ */ jsx(
|
|
992
|
+
hasTooltipContent && /* @__PURE__ */ jsx(
|
|
1116
993
|
Tooltip.Content,
|
|
1117
994
|
{
|
|
1118
995
|
keepOpenOnPointerDownOutside: true,
|
|
@@ -1138,7 +1015,7 @@ var init_ClipboardButton = __esm({
|
|
|
1138
1015
|
init_Button2();
|
|
1139
1016
|
init_Clipboard2();
|
|
1140
1017
|
init_icons();
|
|
1141
|
-
DEFAULT_ICON = /* @__PURE__ */ jsx(
|
|
1018
|
+
DEFAULT_ICON = /* @__PURE__ */ jsx(Copy, {});
|
|
1142
1019
|
DEFAULT_ARIA_LABEL = "Copy";
|
|
1143
1020
|
ClipboardButton = ({
|
|
1144
1021
|
// clipboard props
|
|
@@ -1155,7 +1032,7 @@ var init_ClipboardButton = __esm({
|
|
|
1155
1032
|
const defaultAriaLabel = typeof tooltip === "string" && tooltip.trim() ? tooltip : DEFAULT_ARIA_LABEL;
|
|
1156
1033
|
const ariaLabel = rest["aria-label"] ?? (children == null ? defaultAriaLabel : void 0);
|
|
1157
1034
|
return /* @__PURE__ */ jsx(
|
|
1158
|
-
|
|
1035
|
+
Clipboard2,
|
|
1159
1036
|
{
|
|
1160
1037
|
asChild: true,
|
|
1161
1038
|
tooltip,
|
|
@@ -1189,7 +1066,13 @@ var init_ZoomableSvg = __esm({
|
|
|
1189
1066
|
MIN_SCALE = 0.5;
|
|
1190
1067
|
MAX_SCALE = 3;
|
|
1191
1068
|
ZOOM_STEP = 0.1;
|
|
1192
|
-
ZoomableSvg = ({
|
|
1069
|
+
ZoomableSvg = ({
|
|
1070
|
+
html,
|
|
1071
|
+
copyText,
|
|
1072
|
+
className,
|
|
1073
|
+
allowForeignObject,
|
|
1074
|
+
renderActions
|
|
1075
|
+
}) => {
|
|
1193
1076
|
const safeHtml = useMemo(
|
|
1194
1077
|
() => DOMPurify.sanitize(html, {
|
|
1195
1078
|
USE_PROFILES: { svg: true, svgFilters: true },
|
|
@@ -1268,7 +1151,7 @@ var init_ZoomableSvg = __esm({
|
|
|
1268
1151
|
"div",
|
|
1269
1152
|
{
|
|
1270
1153
|
role: "presentation",
|
|
1271
|
-
className: cn("tw
|
|
1154
|
+
className: cn("tw:group/zoom tw:relative", isFullscreen && "tw:h-full"),
|
|
1272
1155
|
onClick: handleClick,
|
|
1273
1156
|
children: [
|
|
1274
1157
|
/* @__PURE__ */ jsx(
|
|
@@ -1277,8 +1160,8 @@ var init_ZoomableSvg = __esm({
|
|
|
1277
1160
|
role: "presentation",
|
|
1278
1161
|
ref: containerRef,
|
|
1279
1162
|
className: cn(
|
|
1280
|
-
"tw
|
|
1281
|
-
isFullscreen && "tw
|
|
1163
|
+
"tw:overflow-hidden tw:cursor-grab tw:active:cursor-grabbing tw:p-3",
|
|
1164
|
+
isFullscreen && "tw:h-full"
|
|
1282
1165
|
),
|
|
1283
1166
|
onMouseDown: handleMouseDown,
|
|
1284
1167
|
onMouseMove: handleMouseMove,
|
|
@@ -1288,8 +1171,8 @@ var init_ZoomableSvg = __esm({
|
|
|
1288
1171
|
"div",
|
|
1289
1172
|
{
|
|
1290
1173
|
className: cn(
|
|
1291
|
-
"tw
|
|
1292
|
-
isFullscreen && "tw
|
|
1174
|
+
"tw:flex tw:justify-center tw:origin-center",
|
|
1175
|
+
isFullscreen && "tw:h-full tw:[&>svg]:h-full"
|
|
1293
1176
|
),
|
|
1294
1177
|
style: { transform: `translate(${translate.x}px, ${translate.y}px) scale(${scale})` },
|
|
1295
1178
|
dangerouslySetInnerHTML: { __html: safeHtml }
|
|
@@ -1301,11 +1184,12 @@ var init_ZoomableSvg = __esm({
|
|
|
1301
1184
|
"div",
|
|
1302
1185
|
{
|
|
1303
1186
|
role: "presentation",
|
|
1304
|
-
className: "tw
|
|
1187
|
+
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",
|
|
1305
1188
|
onClick: stopPropagation,
|
|
1306
1189
|
children: [
|
|
1307
1190
|
isZoomed && /* @__PURE__ */ jsx(Tooltip, { tooltip: "Reset zoom", placement: "top", triggerAsChild: true, children: /* @__PURE__ */ jsx(Button, { size: "small", variant: "outline", onClick: handleReset, children: "Reset" }) }),
|
|
1308
1191
|
copyText && /* @__PURE__ */ jsx(ClipboardButton, { text: copyText, tooltip: "Copy code", size: "icon-sm", variant: "outline" }),
|
|
1192
|
+
renderActions?.(safeHtml),
|
|
1309
1193
|
/* @__PURE__ */ jsx(
|
|
1310
1194
|
Tooltip,
|
|
1311
1195
|
{
|
|
@@ -1319,7 +1203,7 @@ var init_ZoomableSvg = __esm({
|
|
|
1319
1203
|
variant: "outline",
|
|
1320
1204
|
"aria-label": isFullscreen ? "Exit fullscreen" : "Fullscreen",
|
|
1321
1205
|
onClick: () => setIsFullscreen((f) => !f),
|
|
1322
|
-
children: isFullscreen ? /* @__PURE__ */ jsx(
|
|
1206
|
+
children: isFullscreen ? /* @__PURE__ */ jsx(Minimize2, { className: "tw:size-4" }) : /* @__PURE__ */ jsx(Maximize2, { className: "tw:size-4" })
|
|
1323
1207
|
}
|
|
1324
1208
|
)
|
|
1325
1209
|
}
|
|
@@ -1337,7 +1221,7 @@ var init_ZoomableSvg = __esm({
|
|
|
1337
1221
|
{
|
|
1338
1222
|
role: "presentation",
|
|
1339
1223
|
"data-testid": "zoomable-svg-fullscreen",
|
|
1340
|
-
className: "
|
|
1224
|
+
className: "tw:fixed tw:inset-0 tw:z-[1060] tw:bg-muted tw:p-4 tailwindcss-preflight",
|
|
1341
1225
|
onClick: stopPropagation,
|
|
1342
1226
|
children: diagramContent
|
|
1343
1227
|
}
|
|
@@ -1349,7 +1233,7 @@ var init_ZoomableSvg = __esm({
|
|
|
1349
1233
|
"div",
|
|
1350
1234
|
{
|
|
1351
1235
|
className: cn(
|
|
1352
|
-
"tw
|
|
1236
|
+
"tw:overflow-hidden tw:rounded-md tw:border tw:border-border tw:bg-muted",
|
|
1353
1237
|
className
|
|
1354
1238
|
),
|
|
1355
1239
|
children: diagramContent
|
|
@@ -1365,6 +1249,13 @@ var init_ZoomableSvg2 = __esm({
|
|
|
1365
1249
|
init_ZoomableSvg();
|
|
1366
1250
|
}
|
|
1367
1251
|
});
|
|
1252
|
+
var DiagramSkeleton;
|
|
1253
|
+
var init_DiagramSkeleton = __esm({
|
|
1254
|
+
"src/blocks/MermaidDiagram/DiagramSkeleton.tsx"() {
|
|
1255
|
+
init_Skeleton();
|
|
1256
|
+
DiagramSkeleton = () => /* @__PURE__ */ 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__ */ jsx(Skeleton, { className: "tw:h-40" }) });
|
|
1257
|
+
}
|
|
1258
|
+
});
|
|
1368
1259
|
|
|
1369
1260
|
// src/blocks/MermaidDiagram/svgTransforms.ts
|
|
1370
1261
|
var HTML_TAG, FOREIGN_OBJECT, ROOT_SVG_TAG, flattenForeignObjectLabels, STYLE_ATTR, makeResponsive;
|
|
@@ -1402,13 +1293,13 @@ __export(MermaidDiagram_exports, {
|
|
|
1402
1293
|
var PRIMARY_FALLBACK_CHANNELS, resolvePrimary, mermaidPromise, registerLucideIconPack, getMermaid, stripFontImports, hasIconSyntax, tryFastRender, RENDER_DEBOUNCE_MS, svgCache, resolveSyncSvg, MermaidDiagram;
|
|
1403
1294
|
var init_MermaidDiagram = __esm({
|
|
1404
1295
|
"src/blocks/MermaidDiagram/MermaidDiagram.tsx"() {
|
|
1405
|
-
init_Skeleton();
|
|
1406
1296
|
init_ZoomableSvg2();
|
|
1407
1297
|
init_utils2();
|
|
1298
|
+
init_DiagramSkeleton();
|
|
1408
1299
|
init_svgTransforms();
|
|
1409
1300
|
PRIMARY_FALLBACK_CHANNELS = "31 143 255";
|
|
1410
1301
|
resolvePrimary = () => {
|
|
1411
|
-
const channels = typeof document === "undefined" ? PRIMARY_FALLBACK_CHANNELS : getComputedStyle(document.documentElement).getPropertyValue("--
|
|
1302
|
+
const channels = typeof document === "undefined" ? PRIMARY_FALLBACK_CHANNELS : getComputedStyle(document.documentElement).getPropertyValue("--primary").trim() || PRIMARY_FALLBACK_CHANNELS;
|
|
1412
1303
|
return `rgb(${channels})`;
|
|
1413
1304
|
};
|
|
1414
1305
|
mermaidPromise = null;
|
|
@@ -1513,7 +1404,7 @@ var init_MermaidDiagram = __esm({
|
|
|
1513
1404
|
if (fast) svgCache.set(code, fast);
|
|
1514
1405
|
return fast;
|
|
1515
1406
|
};
|
|
1516
|
-
MermaidDiagram = ({ code }) => {
|
|
1407
|
+
MermaidDiagram = ({ code, renderActions }) => {
|
|
1517
1408
|
const id = useId();
|
|
1518
1409
|
const [svg, setSvg] = useState(() => resolveSyncSvg(code));
|
|
1519
1410
|
const [renderFailed, setRenderFailed] = useState(false);
|
|
@@ -1575,11 +1466,11 @@ var init_MermaidDiagram = __esm({
|
|
|
1575
1466
|
"pre",
|
|
1576
1467
|
{
|
|
1577
1468
|
className: cn(
|
|
1578
|
-
"tw
|
|
1579
|
-
"tw
|
|
1580
|
-
"tw
|
|
1581
|
-
"tw
|
|
1582
|
-
"tw
|
|
1469
|
+
"tw:my-3 tw:overflow-auto tw:whitespace-pre-wrap tw:break-all",
|
|
1470
|
+
"tw:py-3 tw:px-4",
|
|
1471
|
+
"tw:bg-neutral-50",
|
|
1472
|
+
"tw:rounded-md tw:text-neutral-400",
|
|
1473
|
+
"tw:text-sm tw:font-mono"
|
|
1583
1474
|
),
|
|
1584
1475
|
children: /* @__PURE__ */ jsx("code", { children: code })
|
|
1585
1476
|
}
|
|
@@ -1593,13 +1484,14 @@ var init_MermaidDiagram = __esm({
|
|
|
1593
1484
|
copyText: `\`\`\`mermaid
|
|
1594
1485
|
${code}
|
|
1595
1486
|
\`\`\``,
|
|
1596
|
-
className: "tw
|
|
1597
|
-
allowForeignObject: true
|
|
1487
|
+
className: "tw:my-3",
|
|
1488
|
+
allowForeignObject: true,
|
|
1489
|
+
renderActions
|
|
1598
1490
|
},
|
|
1599
1491
|
code
|
|
1600
1492
|
);
|
|
1601
1493
|
}
|
|
1602
|
-
return /* @__PURE__ */ jsx(
|
|
1494
|
+
return /* @__PURE__ */ jsx(DiagramSkeleton, {});
|
|
1603
1495
|
};
|
|
1604
1496
|
}
|
|
1605
1497
|
});
|
|
@@ -1613,7 +1505,7 @@ var isPlaceholder = (src) => src.startsWith("upload-placeholder-");
|
|
|
1613
1505
|
var ImageNodeComponent = ({ src, alt }) => {
|
|
1614
1506
|
const renderer = useImageRenderer();
|
|
1615
1507
|
if (isPlaceholder(src)) {
|
|
1616
|
-
return /* @__PURE__ */ jsx("span", { className: "tw
|
|
1508
|
+
return /* @__PURE__ */ 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" });
|
|
1617
1509
|
}
|
|
1618
1510
|
if (renderer) return /* @__PURE__ */ jsx(Fragment, { children: renderer({ src, alt }) });
|
|
1619
1511
|
return /* @__PURE__ */ jsx("img", { src, alt });
|
|
@@ -1717,7 +1609,7 @@ var MermaidNodeComponent = ({ code }) => {
|
|
|
1717
1609
|
return /* @__PURE__ */ jsx(
|
|
1718
1610
|
Suspense,
|
|
1719
1611
|
{
|
|
1720
|
-
fallback: /* @__PURE__ */ jsx("div", { className: "tw
|
|
1612
|
+
fallback: /* @__PURE__ */ 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__ */ jsx(Skeleton, { className: "tw:h-40" }) }),
|
|
1721
1613
|
children: /* @__PURE__ */ jsx(MermaidDiagram2, { code })
|
|
1722
1614
|
}
|
|
1723
1615
|
);
|
|
@@ -1792,21 +1684,21 @@ var ToastAction = ({ ref, className, ...rest }) => /* @__PURE__ */ jsx(
|
|
|
1792
1684
|
type: "button",
|
|
1793
1685
|
className: cn(
|
|
1794
1686
|
// layout
|
|
1795
|
-
"tw
|
|
1796
|
-
"tw
|
|
1797
|
-
"tw
|
|
1798
|
-
"tw
|
|
1799
|
-
"tw
|
|
1687
|
+
"tw:col-start-3",
|
|
1688
|
+
"tw:row-start-1",
|
|
1689
|
+
"tw:flex",
|
|
1690
|
+
"tw:items-center",
|
|
1691
|
+
"tw:justify-center",
|
|
1800
1692
|
// font
|
|
1801
|
-
"tw
|
|
1802
|
-
"tw
|
|
1803
|
-
"tw
|
|
1693
|
+
"tw:text-xs",
|
|
1694
|
+
"tw:font-medium",
|
|
1695
|
+
"tw:text-primary",
|
|
1804
1696
|
// sizing
|
|
1805
|
-
"tw
|
|
1806
|
-
"tw
|
|
1697
|
+
"tw:px-2",
|
|
1698
|
+
"tw:h-6",
|
|
1807
1699
|
// styles
|
|
1808
|
-
"tw
|
|
1809
|
-
"tw
|
|
1700
|
+
"tw:bg-primary-foreground",
|
|
1701
|
+
"tw:rounded",
|
|
1810
1702
|
className
|
|
1811
1703
|
)
|
|
1812
1704
|
}
|
|
@@ -1820,11 +1712,11 @@ var ToastDescription = ({ ref, className, children, ...rest }) => /* @__PURE__ *
|
|
|
1820
1712
|
ref,
|
|
1821
1713
|
"data-slot": "toast-description",
|
|
1822
1714
|
className: cn(
|
|
1823
|
-
"tw
|
|
1824
|
-
"tw
|
|
1825
|
-
"tw
|
|
1826
|
-
"tw
|
|
1827
|
-
"group-data-[variant=default]/toast:
|
|
1715
|
+
"tw:col-start-2",
|
|
1716
|
+
"tw:font-normal",
|
|
1717
|
+
"tw:break-words",
|
|
1718
|
+
"tw:text-white",
|
|
1719
|
+
"tw:group-data-[variant=default]/toast:text-muted-foreground",
|
|
1828
1720
|
className
|
|
1829
1721
|
),
|
|
1830
1722
|
...rest,
|
|
@@ -1841,24 +1733,24 @@ var ToastDismiss = ({ ref, className, ...rest }) => /* @__PURE__ */ jsxs(
|
|
|
1841
1733
|
ref,
|
|
1842
1734
|
"data-slot": "toast-dismiss",
|
|
1843
1735
|
className: cn(
|
|
1844
|
-
"tw
|
|
1845
|
-
"tw
|
|
1846
|
-
"tw
|
|
1847
|
-
"tw
|
|
1736
|
+
"tw:flex",
|
|
1737
|
+
"tw:justify-center",
|
|
1738
|
+
"tw:col-start-4",
|
|
1739
|
+
"tw:row-start-1",
|
|
1848
1740
|
"tailwindcss-preflight",
|
|
1849
|
-
"[&_svg]:
|
|
1850
|
-
'[&_svg:not([class*="tw
|
|
1851
|
-
"[&_svg]:
|
|
1852
|
-
"tw
|
|
1853
|
-
"group-data-[variant=default]/toast:[&_svg]:
|
|
1854
|
-
"group-data-[variant=default]/toast:group-data-[argo=true]/toast:[&_svg]:
|
|
1741
|
+
"tw:[&_svg]:aspect-square",
|
|
1742
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-4',
|
|
1743
|
+
"tw:[&_svg]:m-1",
|
|
1744
|
+
"tw:text-white",
|
|
1745
|
+
"tw:group-data-[variant=default]/toast:[&_svg]:text-popover-foreground",
|
|
1746
|
+
"tw:group-data-[variant=default]/toast:group-data-[argo=true]/toast:[&_svg]:text-foreground",
|
|
1855
1747
|
className
|
|
1856
1748
|
),
|
|
1857
1749
|
type: "button",
|
|
1858
1750
|
...rest,
|
|
1859
1751
|
children: [
|
|
1860
|
-
/* @__PURE__ */ jsx(
|
|
1861
|
-
/* @__PURE__ */ jsx("span", { className: "tw
|
|
1752
|
+
/* @__PURE__ */ jsx(X, {}),
|
|
1753
|
+
/* @__PURE__ */ jsx("span", { className: "tw:sr-only", children: "Dismiss" })
|
|
1862
1754
|
]
|
|
1863
1755
|
}
|
|
1864
1756
|
);
|
|
@@ -1871,20 +1763,20 @@ var ToastDuration = ({ ref, duration, className, style, ...rest }) => /* @__PURE
|
|
|
1871
1763
|
...rest,
|
|
1872
1764
|
ref,
|
|
1873
1765
|
className: cn(
|
|
1874
|
-
"tw
|
|
1875
|
-
"group-data-[variant=default]/toast:
|
|
1876
|
-
"group-data-[variant=default]/toast:group-data-[argo=true]/toast:
|
|
1877
|
-
"tw
|
|
1878
|
-
"tw
|
|
1766
|
+
"tw:bg-white/30",
|
|
1767
|
+
"tw:group-data-[variant=default]/toast:bg-popover-foreground/20",
|
|
1768
|
+
"tw:group-data-[variant=default]/toast:group-data-[argo=true]/toast:bg-foreground/20",
|
|
1769
|
+
"tw:rounded-bl-lg",
|
|
1770
|
+
"tw:mx-px",
|
|
1879
1771
|
// positioning
|
|
1880
|
-
"tw
|
|
1881
|
-
"tw
|
|
1882
|
-
"tw
|
|
1772
|
+
"tw:absolute",
|
|
1773
|
+
"tw:bottom-0",
|
|
1774
|
+
"tw:left-0",
|
|
1883
1775
|
// sizing
|
|
1884
|
-
"tw
|
|
1776
|
+
"tw:h-1",
|
|
1885
1777
|
// animation
|
|
1886
|
-
"tw
|
|
1887
|
-
"group-hover/toast:[animation-play-state:paused]",
|
|
1778
|
+
"tw:animate-toast-progress",
|
|
1779
|
+
"tw:group-hover/toast:[animation-play-state:paused]",
|
|
1888
1780
|
className
|
|
1889
1781
|
),
|
|
1890
1782
|
style: {
|
|
@@ -1902,16 +1794,16 @@ var ToastTitle = ({ ref, className, children, ...rest }) => /* @__PURE__ */ jsx(
|
|
|
1902
1794
|
ref,
|
|
1903
1795
|
"data-slot": "toast-title",
|
|
1904
1796
|
className: cn(
|
|
1905
|
-
"tw
|
|
1906
|
-
"tw
|
|
1907
|
-
"tw
|
|
1908
|
-
"tw
|
|
1909
|
-
"tw
|
|
1910
|
-
"tw
|
|
1911
|
-
"group-data-[variant=default]/toast:
|
|
1912
|
-
"group-data-[variant=default]/toast:group-data-[argo=true]/toast:
|
|
1913
|
-
"tw
|
|
1914
|
-
"tw
|
|
1797
|
+
"tw:col-start-2",
|
|
1798
|
+
"tw:text-sm",
|
|
1799
|
+
"tw:leading-6",
|
|
1800
|
+
"tw:min-h-6",
|
|
1801
|
+
"tw:self-center",
|
|
1802
|
+
"tw:text-white",
|
|
1803
|
+
"tw:group-data-[variant=default]/toast:text-popover-foreground",
|
|
1804
|
+
"tw:group-data-[variant=default]/toast:group-data-[argo=true]/toast:text-foreground",
|
|
1805
|
+
"tw:break-words",
|
|
1806
|
+
"tw:font-medium",
|
|
1915
1807
|
className
|
|
1916
1808
|
),
|
|
1917
1809
|
...rest,
|
|
@@ -1921,24 +1813,24 @@ var ToastTitle = ({ ref, className, children, ...rest }) => /* @__PURE__ */ jsx(
|
|
|
1921
1813
|
var variants2 = cva(
|
|
1922
1814
|
[
|
|
1923
1815
|
"tailwindcss-preflight",
|
|
1924
|
-
"tw
|
|
1925
|
-
"tw
|
|
1816
|
+
"tw:group/toast",
|
|
1817
|
+
"tw:relative",
|
|
1926
1818
|
// layout
|
|
1927
|
-
"tw
|
|
1928
|
-
"tw
|
|
1929
|
-
"tw
|
|
1930
|
-
"has-[[data-slot=toast-description]]:
|
|
1931
|
-
"has-[[data-slot=toast-icon]]:
|
|
1932
|
-
"[&_[data-slot=toast-icon]]:
|
|
1933
|
-
"[&_[data-slot=toast-title]]:
|
|
1934
|
-
"[&_[data-slot=toast-description]]:
|
|
1935
|
-
"[&_[data-slot=toast-action]]:
|
|
1936
|
-
"[&_[data-slot=toast-description]]:
|
|
1937
|
-
"tw
|
|
1819
|
+
"tw:grid",
|
|
1820
|
+
"tw:grid-cols-[0_1fr_auto_auto]",
|
|
1821
|
+
"tw:items-start",
|
|
1822
|
+
"tw:has-[[data-slot=toast-description]]:grid-rows-[auto_auto]",
|
|
1823
|
+
"tw:has-[[data-slot=toast-icon]]:grid-cols-[auto_1fr_auto_auto]",
|
|
1824
|
+
"tw:[&_[data-slot=toast-icon]]:mr-2",
|
|
1825
|
+
"tw:[&_[data-slot=toast-title]]:mr-2.5",
|
|
1826
|
+
"tw:[&_[data-slot=toast-description]]:mr-2.5",
|
|
1827
|
+
"tw:[&_[data-slot=toast-action]]:mr-2",
|
|
1828
|
+
"tw:[&_[data-slot=toast-description]]:col-end-3",
|
|
1829
|
+
"tw:gap-y-0",
|
|
1938
1830
|
// styles
|
|
1939
|
-
"tw
|
|
1940
|
-
"tw
|
|
1941
|
-
"tw
|
|
1831
|
+
"tw:p-4",
|
|
1832
|
+
"tw:rounded-lg",
|
|
1833
|
+
"tw:shadow-md"
|
|
1942
1834
|
],
|
|
1943
1835
|
{
|
|
1944
1836
|
defaultVariants: {
|
|
@@ -1946,20 +1838,20 @@ var variants2 = cva(
|
|
|
1946
1838
|
},
|
|
1947
1839
|
variants: {
|
|
1948
1840
|
variant: {
|
|
1949
|
-
default: "tw
|
|
1950
|
-
error: "tw
|
|
1951
|
-
info: "tw
|
|
1952
|
-
success: "tw
|
|
1953
|
-
warning: "tw
|
|
1841
|
+
default: "tw:border tw:border-border tw:bg-popover",
|
|
1842
|
+
error: "tw:bg-error-550",
|
|
1843
|
+
info: "tw:bg-blue-600",
|
|
1844
|
+
success: "tw:bg-green-700",
|
|
1845
|
+
warning: "tw:bg-warning-550"
|
|
1954
1846
|
}
|
|
1955
1847
|
}
|
|
1956
1848
|
}
|
|
1957
1849
|
);
|
|
1958
1850
|
var DEFAULT_VARIANT_ICON = {
|
|
1959
|
-
error: /* @__PURE__ */ jsx(
|
|
1960
|
-
info: /* @__PURE__ */ jsx(
|
|
1961
|
-
success: /* @__PURE__ */ jsx(
|
|
1962
|
-
warning: /* @__PURE__ */ jsx(
|
|
1851
|
+
error: /* @__PURE__ */ jsx(AlertTriangle, {}),
|
|
1852
|
+
info: /* @__PURE__ */ jsx(Info, {}),
|
|
1853
|
+
success: /* @__PURE__ */ jsx(CircleCheck, {}),
|
|
1854
|
+
warning: /* @__PURE__ */ jsx(AlertCircle, {})
|
|
1963
1855
|
};
|
|
1964
1856
|
var ToastRoot = ({
|
|
1965
1857
|
id,
|
|
@@ -1973,7 +1865,7 @@ var ToastRoot = ({
|
|
|
1973
1865
|
}) => {
|
|
1974
1866
|
const renderArgo = useArgoDesign();
|
|
1975
1867
|
const icon = (() => {
|
|
1976
|
-
if (loading) return /* @__PURE__ */ jsx(
|
|
1868
|
+
if (loading) return /* @__PURE__ */ jsx(Loader2, { className: "tw:animate-spin" });
|
|
1977
1869
|
if (iconProp) return iconProp;
|
|
1978
1870
|
if (variant === "default" || variant === null) return null;
|
|
1979
1871
|
return DEFAULT_VARIANT_ICON[variant];
|
|
@@ -1989,7 +1881,7 @@ var ToastRoot = ({
|
|
|
1989
1881
|
"data-argo": renderArgo,
|
|
1990
1882
|
className: cn(
|
|
1991
1883
|
variants2({ variant }),
|
|
1992
|
-
"data-[variant=default]:data-[argo=true]:
|
|
1884
|
+
"tw:data-[variant=default]:data-[argo=true]:bg-background"
|
|
1993
1885
|
),
|
|
1994
1886
|
children: [
|
|
1995
1887
|
icon && /* @__PURE__ */ jsx(
|
|
@@ -1997,17 +1889,17 @@ var ToastRoot = ({
|
|
|
1997
1889
|
{
|
|
1998
1890
|
"data-slot": "toast-icon",
|
|
1999
1891
|
className: cn(
|
|
2000
|
-
"tw
|
|
2001
|
-
"tw
|
|
2002
|
-
"tw
|
|
2003
|
-
"tw
|
|
2004
|
-
"tw
|
|
2005
|
-
"tw
|
|
2006
|
-
"tw
|
|
2007
|
-
'[&_svg:not([class*="tw
|
|
2008
|
-
"tw
|
|
2009
|
-
"group-data-[variant=default]/toast:
|
|
2010
|
-
"group-data-[variant=default]/toast:group-data-[argo=true]/toast:
|
|
1892
|
+
"tw:inline-flex",
|
|
1893
|
+
"tw:items-center",
|
|
1894
|
+
"tw:justify-center",
|
|
1895
|
+
"tw:self-center",
|
|
1896
|
+
"tw:aspect-square",
|
|
1897
|
+
"tw:size-5",
|
|
1898
|
+
"tw:shrink-0",
|
|
1899
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-5',
|
|
1900
|
+
"tw:text-white",
|
|
1901
|
+
"tw:group-data-[variant=default]/toast:text-popover-foreground",
|
|
1902
|
+
"tw:group-data-[variant=default]/toast:group-data-[argo=true]/toast:text-foreground"
|
|
2011
1903
|
),
|
|
2012
1904
|
children: icon
|
|
2013
1905
|
}
|
|
@@ -2053,7 +1945,7 @@ var toast = ({
|
|
|
2053
1945
|
dismissible,
|
|
2054
1946
|
duration,
|
|
2055
1947
|
// override default focus-visible styles to match our design
|
|
2056
|
-
className: cn("tw
|
|
1948
|
+
className: cn("tw:rounded-lg", "tw:focus-visible:!ring-4", "tw:focus-visible:!ring-ring/50")
|
|
2057
1949
|
});
|
|
2058
1950
|
};
|
|
2059
1951
|
toast.success = (title, options) => toast({
|
|
@@ -2420,59 +2312,59 @@ init_icons();
|
|
|
2420
2312
|
var variants3 = cva(
|
|
2421
2313
|
[
|
|
2422
2314
|
"tailwindcss-preflight",
|
|
2423
|
-
"tw
|
|
2315
|
+
"tw:pointer-events-none",
|
|
2424
2316
|
// sizing
|
|
2425
|
-
"tw
|
|
2426
|
-
"tw
|
|
2427
|
-
"tw
|
|
2317
|
+
"tw:size-4",
|
|
2318
|
+
"tw:aspect-square",
|
|
2319
|
+
"tw:shrink-0",
|
|
2428
2320
|
// layout
|
|
2429
|
-
"tw
|
|
2430
|
-
"tw
|
|
2431
|
-
"tw
|
|
2321
|
+
"tw:flex",
|
|
2322
|
+
"tw:items-center",
|
|
2323
|
+
"tw:justify-center"
|
|
2432
2324
|
],
|
|
2433
2325
|
{
|
|
2434
2326
|
variants: {
|
|
2435
2327
|
variant: {
|
|
2436
2328
|
none: [],
|
|
2437
2329
|
radio: [
|
|
2438
|
-
"tw
|
|
2439
|
-
"tw
|
|
2440
|
-
"tw
|
|
2441
|
-
"tw
|
|
2442
|
-
"group-data-[variant=default]/dropdown-menu-content:
|
|
2443
|
-
"group-data-[variant=argo]/dropdown-menu-content:
|
|
2444
|
-
'[&_svg:not([class*="tw
|
|
2445
|
-
"
|
|
2330
|
+
"tw:border",
|
|
2331
|
+
"tw:border-solid",
|
|
2332
|
+
"tw:border-border",
|
|
2333
|
+
"tw:rounded-full",
|
|
2334
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:bg-white",
|
|
2335
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:bg-background",
|
|
2336
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-2',
|
|
2337
|
+
"tw:data-[state=unchecked]:[&_svg]:hidden",
|
|
2446
2338
|
// Lucide Circle is stroke-only — force fill to match the stroke
|
|
2447
2339
|
// (currentColor) so the indicator reads as a solid dot.
|
|
2448
|
-
"[&_svg]:
|
|
2449
|
-
"group-data-[variant=argo]/dropdown-menu-content:[&_svg]:
|
|
2450
|
-
"group-data-[variant=default]/dropdown-menu-content:[&_svg]:
|
|
2340
|
+
"tw:[&_svg]:fill-current",
|
|
2341
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:[&_svg]:text-primary",
|
|
2342
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:[&_svg]:text-primary"
|
|
2451
2343
|
],
|
|
2452
|
-
check: ['[&_svg:not([class*="tw
|
|
2344
|
+
check: ['tw:[&_svg:not([class*="tw:size-"])]:size-3.5', "tw:[&_svg]:text-primary"],
|
|
2453
2345
|
checkbox: [
|
|
2454
|
-
"[&_svg]:
|
|
2455
|
-
"tw
|
|
2456
|
-
"tw
|
|
2457
|
-
"tw
|
|
2458
|
-
"group-data-[variant=default]/dropdown-menu-content:
|
|
2459
|
-
"group-data-[variant=argo]/dropdown-menu-content:
|
|
2460
|
-
'[&_svg:not([class*="tw
|
|
2461
|
-
"
|
|
2462
|
-
"group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:
|
|
2463
|
-
"group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:
|
|
2464
|
-
"group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:
|
|
2465
|
-
"group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:
|
|
2346
|
+
"tw:[&_svg]:text-primary-foreground",
|
|
2347
|
+
"tw:border",
|
|
2348
|
+
"tw:border-solid",
|
|
2349
|
+
"tw:rounded",
|
|
2350
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:border-neutral-200",
|
|
2351
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:border-input",
|
|
2352
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-3',
|
|
2353
|
+
"tw:data-[state=unchecked]:[&_svg]:hidden",
|
|
2354
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:border-primary",
|
|
2355
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:bg-primary",
|
|
2356
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:border-primary",
|
|
2357
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:bg-primary"
|
|
2466
2358
|
],
|
|
2467
2359
|
switch: [
|
|
2468
|
-
"tw
|
|
2360
|
+
"tw:size-5",
|
|
2469
2361
|
// Lucide SVGs default to 24×24 — constrain the rendered ToggleRight
|
|
2470
2362
|
// to the indicator slot so it doesn't overflow.
|
|
2471
|
-
'[&_svg:not([class*="tw
|
|
2472
|
-
"tw
|
|
2473
|
-
"data-[state=unchecked]:
|
|
2474
|
-
"group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:
|
|
2475
|
-
"group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:
|
|
2363
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-5',
|
|
2364
|
+
"tw:text-neutral-400",
|
|
2365
|
+
"tw:data-[state=unchecked]:rotate-180",
|
|
2366
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:data-[state=checked]:text-primary",
|
|
2367
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:text-primary"
|
|
2476
2368
|
]
|
|
2477
2369
|
}
|
|
2478
2370
|
}
|
|
@@ -2485,9 +2377,9 @@ var DropdownMenuItemIndicator = ({
|
|
|
2485
2377
|
...rest
|
|
2486
2378
|
}) => {
|
|
2487
2379
|
const IconComp = (() => {
|
|
2488
|
-
if (variant === "switch") return
|
|
2489
|
-
if (variant === "radio") return
|
|
2490
|
-
return
|
|
2380
|
+
if (variant === "switch") return ToggleRight;
|
|
2381
|
+
if (variant === "radio") return Circle;
|
|
2382
|
+
return Check;
|
|
2491
2383
|
})();
|
|
2492
2384
|
const forceMount = (() => {
|
|
2493
2385
|
if (forceMountProp) return true;
|
|
@@ -2512,18 +2404,18 @@ var ItemIcon = ({ className, children, ...props }) => /* @__PURE__ */ jsx(
|
|
|
2512
2404
|
{
|
|
2513
2405
|
...props,
|
|
2514
2406
|
className: cn(
|
|
2515
|
-
"tw
|
|
2516
|
-
"tw
|
|
2517
|
-
"tw
|
|
2518
|
-
"tw
|
|
2407
|
+
"tw:inline-flex",
|
|
2408
|
+
"tw:items-center",
|
|
2409
|
+
"tw:justify-center",
|
|
2410
|
+
"tw:aspect-square",
|
|
2519
2411
|
// 20px container fits the 16px Lucide glyph plus 2px breathing room
|
|
2520
|
-
// each side — the previous tw
|
|
2521
|
-
"tw
|
|
2522
|
-
'[&_svg:not([class*="tw
|
|
2523
|
-
"group-data-[variant=default]/dropdown-menu-content:
|
|
2524
|
-
"group-data-[variant=argo]/dropdown-menu-content:
|
|
2525
|
-
"group-data-[variant=argo]/dropdown-menu-content:group-aria-disabled:
|
|
2526
|
-
"group-data-[variant=default]/dropdown-menu-content:group-hover:
|
|
2412
|
+
// each side — the previous tw:size-4 + tw:p-0.5 clipped the 16px child.
|
|
2413
|
+
"tw:size-5",
|
|
2414
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-4',
|
|
2415
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:text-neutral-400",
|
|
2416
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:text-primary",
|
|
2417
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:group-aria-disabled:text-muted-foreground",
|
|
2418
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:group-hover:text-primary",
|
|
2527
2419
|
className
|
|
2528
2420
|
),
|
|
2529
2421
|
children
|
|
@@ -2535,74 +2427,74 @@ init_utils2();
|
|
|
2535
2427
|
var itemVariants = cn(
|
|
2536
2428
|
// reset
|
|
2537
2429
|
"tailwindcss-preflight",
|
|
2538
|
-
"tw
|
|
2539
|
-
"tw
|
|
2540
|
-
"tw
|
|
2541
|
-
"tw
|
|
2430
|
+
"tw:outline-hidden",
|
|
2431
|
+
"tw:group",
|
|
2432
|
+
"tw:peer",
|
|
2433
|
+
"tw:relative",
|
|
2542
2434
|
// positioning
|
|
2543
|
-
"tw
|
|
2544
|
-
"tw
|
|
2545
|
-
"tw
|
|
2546
|
-
"tw
|
|
2547
|
-
"tw
|
|
2548
|
-
"tw
|
|
2549
|
-
"tw
|
|
2435
|
+
"tw:flex",
|
|
2436
|
+
"tw:flex-1",
|
|
2437
|
+
"tw:items-center",
|
|
2438
|
+
"tw:gap-2",
|
|
2439
|
+
"tw:cursor-pointer",
|
|
2440
|
+
"tw:select-none",
|
|
2441
|
+
"tw:transition-colors",
|
|
2550
2442
|
// spacing
|
|
2551
|
-
"tw
|
|
2443
|
+
"tw:p-2",
|
|
2552
2444
|
// typography
|
|
2553
|
-
"tw
|
|
2554
|
-
"tw
|
|
2555
|
-
"aria-disabled:
|
|
2556
|
-
"aria-disabled:
|
|
2557
|
-
"focus-visible:
|
|
2558
|
-
"group-data-[variant=default]/dropdown-menu-content:
|
|
2559
|
-
"group-data-[variant=default]/dropdown-menu-content:focus:
|
|
2560
|
-
"group-data-[variant=default]/dropdown-menu-content:focus:
|
|
2561
|
-
"group-data-[variant=default]/dropdown-menu-content:hover:
|
|
2562
|
-
"group-data-[variant=default]/dropdown-menu-content:hover:
|
|
2563
|
-
"group-data-[variant=argo]/dropdown-menu-content:
|
|
2564
|
-
"group-data-[variant=argo]/dropdown-menu-content:
|
|
2565
|
-
"group-data-[variant=argo]/dropdown-menu-content:focus:
|
|
2566
|
-
"group-data-[variant=argo]/dropdown-menu-content:focus:
|
|
2567
|
-
"group-data-[variant=argo]/dropdown-menu-content:hover:
|
|
2568
|
-
"group-data-[variant=argo]/dropdown-menu-content:hover:
|
|
2445
|
+
"tw:font-sans",
|
|
2446
|
+
"tw:text-sm",
|
|
2447
|
+
"tw:aria-disabled:pointer-events-none",
|
|
2448
|
+
"tw:aria-disabled:opacity-50",
|
|
2449
|
+
"tw:focus-visible:outline-hidden",
|
|
2450
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:rounded",
|
|
2451
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:focus:bg-neutral-100",
|
|
2452
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:focus:text-neutral-900",
|
|
2453
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:hover:bg-neutral-100",
|
|
2454
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:hover:text-neutral-900",
|
|
2455
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:rounded-md",
|
|
2456
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:text-popover-foreground",
|
|
2457
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:focus:text-primary",
|
|
2458
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:focus:bg-primary/10",
|
|
2459
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:hover:text-primary",
|
|
2460
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:hover:bg-primary/10"
|
|
2569
2461
|
);
|
|
2570
2462
|
var contentVariants = cn(
|
|
2571
2463
|
"tailwindcss-preflight",
|
|
2572
|
-
"tw
|
|
2464
|
+
"tw:group/dropdown-menu-content",
|
|
2573
2465
|
// Sit above Modal/Sheet (z-1051), matching the other floating overlays (Popover/Select z-1055)
|
|
2574
|
-
"tw
|
|
2466
|
+
"tw:z-[1055]",
|
|
2575
2467
|
// positioning
|
|
2576
|
-
"tw
|
|
2577
|
-
"tw
|
|
2578
|
-
"tw
|
|
2468
|
+
"tw:flex",
|
|
2469
|
+
"tw:flex-col",
|
|
2470
|
+
"tw:origin-(--radix-dropdown-menu-content-transform-origin)",
|
|
2579
2471
|
// sizing
|
|
2580
|
-
"tw
|
|
2581
|
-
"tw
|
|
2472
|
+
"tw:max-h-[var(--radix-dropdown-menu-content-available-height)]",
|
|
2473
|
+
"tw:min-w-32",
|
|
2582
2474
|
// border
|
|
2583
|
-
"tw
|
|
2584
|
-
"tw
|
|
2475
|
+
"tw:border",
|
|
2476
|
+
"tw:shadow-md",
|
|
2585
2477
|
// Legacy surface — fixed white panel.
|
|
2586
|
-
"data-[variant=default]:
|
|
2587
|
-
"data-[variant=default]:
|
|
2588
|
-
"data-[variant=default]:
|
|
2589
|
-
"data-[variant=default]:
|
|
2478
|
+
"tw:data-[variant=default]:rounded-md",
|
|
2479
|
+
"tw:data-[variant=default]:bg-white",
|
|
2480
|
+
"tw:data-[variant=default]:border-neutral-100",
|
|
2481
|
+
"tw:data-[variant=default]:text-neutral-800",
|
|
2590
2482
|
// Argo surface — semantic popover tokens (brand + dark aware).
|
|
2591
|
-
"data-[variant=argo]:
|
|
2592
|
-
"data-[variant=argo]:
|
|
2593
|
-
"data-[variant=argo]:
|
|
2594
|
-
"data-[variant=argo]:
|
|
2483
|
+
"tw:data-[variant=argo]:rounded-2xl",
|
|
2484
|
+
"tw:data-[variant=argo]:bg-popover",
|
|
2485
|
+
"tw:data-[variant=argo]:text-popover-foreground",
|
|
2486
|
+
"tw:data-[variant=argo]:border-border",
|
|
2595
2487
|
// animations
|
|
2596
|
-
"data-[state=open]:
|
|
2597
|
-
"data-[state=open]:
|
|
2598
|
-
"data-[state=open]:
|
|
2599
|
-
"data-[state=closed]:
|
|
2600
|
-
"data-[state=closed]:
|
|
2601
|
-
"data-[state=closed]:
|
|
2602
|
-
"data-[side=bottom]:
|
|
2603
|
-
"data-[side=left]:
|
|
2604
|
-
"data-[side=right]:
|
|
2605
|
-
"data-[side=top]:
|
|
2488
|
+
"tw:data-[state=open]:animate-in",
|
|
2489
|
+
"tw:data-[state=open]:fade-in-0",
|
|
2490
|
+
"tw:data-[state=open]:zoom-in-95",
|
|
2491
|
+
"tw:data-[state=closed]:animate-out",
|
|
2492
|
+
"tw:data-[state=closed]:fade-out-0",
|
|
2493
|
+
"tw:data-[state=closed]:zoom-out-95",
|
|
2494
|
+
"tw:data-[side=bottom]:slide-in-from-top-2",
|
|
2495
|
+
"tw:data-[side=left]:slide-in-from-right-2",
|
|
2496
|
+
"tw:data-[side=right]:slide-in-from-left-2",
|
|
2497
|
+
"tw:data-[side=top]:slide-in-from-bottom-2"
|
|
2606
2498
|
);
|
|
2607
2499
|
var DropdownMenuCheckboxItem = ({
|
|
2608
2500
|
className,
|
|
@@ -2616,7 +2508,7 @@ var DropdownMenuCheckboxItem = ({
|
|
|
2616
2508
|
...props
|
|
2617
2509
|
}) => {
|
|
2618
2510
|
const isAtStart = indicatorAlign === "start";
|
|
2619
|
-
const indicatorEle = isLoading ? /* @__PURE__ */ jsx(ItemIcon, { className: isAtStart ? "" : "tw
|
|
2511
|
+
const indicatorEle = isLoading ? /* @__PURE__ */ jsx(ItemIcon, { className: isAtStart ? "" : "tw:ml-auto", children: /* @__PURE__ */ jsx(Loader2, { className: "tw:animate-spin" }) }) : /* @__PURE__ */ jsx(DropdownMenuItemIndicator, { variant: indicator, className: isAtStart ? "" : "tw:ml-auto" });
|
|
2620
2512
|
const handleSelect = (event) => {
|
|
2621
2513
|
if (!closeOnSelect) event.preventDefault();
|
|
2622
2514
|
onSelect?.(event);
|
|
@@ -2650,10 +2542,10 @@ var ScrollBar = ({ className, orientation = "vertical", ...props }) => /* @__PUR
|
|
|
2650
2542
|
{
|
|
2651
2543
|
orientation,
|
|
2652
2544
|
className: cn(
|
|
2653
|
-
"tw
|
|
2545
|
+
"tw:flex tw:touch-none tw:select-none tw:transition-color",
|
|
2654
2546
|
{
|
|
2655
|
-
"tw
|
|
2656
|
-
"tw
|
|
2547
|
+
"tw:h-full tw:w-2.5 tw:p-px": orientation === "vertical",
|
|
2548
|
+
"tw:h-2.5 tw:flex-col tw:p-px": orientation === "horizontal"
|
|
2657
2549
|
},
|
|
2658
2550
|
className
|
|
2659
2551
|
),
|
|
@@ -2662,11 +2554,11 @@ var ScrollBar = ({ className, orientation = "vertical", ...props }) => /* @__PUR
|
|
|
2662
2554
|
ScrollAreaPrimitive2.ScrollAreaThumb,
|
|
2663
2555
|
{
|
|
2664
2556
|
className: cn(
|
|
2665
|
-
"tw
|
|
2666
|
-
"tw
|
|
2667
|
-
"tw
|
|
2668
|
-
"tw
|
|
2669
|
-
"hover:
|
|
2557
|
+
"tw:relative",
|
|
2558
|
+
"tw:flex-1",
|
|
2559
|
+
"tw:rounded-full",
|
|
2560
|
+
"tw:bg-border",
|
|
2561
|
+
"tw:hover:bg-muted-foreground"
|
|
2670
2562
|
)
|
|
2671
2563
|
}
|
|
2672
2564
|
)
|
|
@@ -2685,7 +2577,7 @@ var ScrollArea = ({
|
|
|
2685
2577
|
{
|
|
2686
2578
|
"data-slot": "scroll-area",
|
|
2687
2579
|
className: cn(
|
|
2688
|
-
"tw
|
|
2580
|
+
"tw:peer/scroll-area tw:relative tw:overflow-hidden tw:focus-visible:outline-hidden",
|
|
2689
2581
|
className
|
|
2690
2582
|
),
|
|
2691
2583
|
...props,
|
|
@@ -2695,7 +2587,7 @@ var ScrollArea = ({
|
|
|
2695
2587
|
{
|
|
2696
2588
|
ref,
|
|
2697
2589
|
className: cn(
|
|
2698
|
-
"tw
|
|
2590
|
+
"tw:h-full tw:w-full tw:rounded-[inherit] tw:focus-visible:outline-hidden",
|
|
2699
2591
|
viewPortClassName
|
|
2700
2592
|
),
|
|
2701
2593
|
children
|
|
@@ -2735,11 +2627,11 @@ var DropdownMenuContent = ({
|
|
|
2735
2627
|
{
|
|
2736
2628
|
className,
|
|
2737
2629
|
viewPortClassName: cn(
|
|
2738
|
-
"tw
|
|
2739
|
-
"tw
|
|
2630
|
+
"tw:p-2",
|
|
2631
|
+
"tw:max-h-[var(--radix-dropdown-menu-content-available-height)]",
|
|
2740
2632
|
viewPortClassName
|
|
2741
2633
|
),
|
|
2742
|
-
scrollBarClassName: "tw
|
|
2634
|
+
scrollBarClassName: "tw:w-1.5",
|
|
2743
2635
|
children
|
|
2744
2636
|
}
|
|
2745
2637
|
)
|
|
@@ -2765,7 +2657,7 @@ var DropdownMenuItem = ({
|
|
|
2765
2657
|
...props
|
|
2766
2658
|
}) => {
|
|
2767
2659
|
const Comp = asChild ? Root$2 : "div";
|
|
2768
|
-
const adornment = isLoading ? /* @__PURE__ */ jsx(
|
|
2660
|
+
const adornment = isLoading ? /* @__PURE__ */ jsx(Loader2, { className: "tw:animate-spin" }) : icon;
|
|
2769
2661
|
const handleOnSelect = (event) => {
|
|
2770
2662
|
if (asModalTrigger) event.preventDefault();
|
|
2771
2663
|
onSelect?.(event);
|
|
@@ -2786,7 +2678,7 @@ var DropdownMenuItem = ({
|
|
|
2786
2678
|
onSelect: handleOnSelect,
|
|
2787
2679
|
onPointerLeave: handlePointerLeave,
|
|
2788
2680
|
onPointerMove: handlePointerMove,
|
|
2789
|
-
className: cn(itemVariants, className),
|
|
2681
|
+
className: cn(itemVariants, asChild && "tw:text-inherit", className),
|
|
2790
2682
|
asChild: true,
|
|
2791
2683
|
children: /* @__PURE__ */ jsxs(Comp, { children: [
|
|
2792
2684
|
adornment && /* @__PURE__ */ jsx(ItemIcon, { className: iconClassName, children: adornment }),
|
|
@@ -2800,18 +2692,18 @@ var DropdownMenuItem = ({
|
|
|
2800
2692
|
init_utils2();
|
|
2801
2693
|
var descriptionVariants = cva(
|
|
2802
2694
|
[
|
|
2803
|
-
"tw
|
|
2804
|
-
"tw
|
|
2805
|
-
"tw
|
|
2806
|
-
"tw
|
|
2807
|
-
"tw
|
|
2808
|
-
"tw
|
|
2809
|
-
"tw
|
|
2695
|
+
"tw:box-border",
|
|
2696
|
+
"tw:ml-auto",
|
|
2697
|
+
"tw:font-sans",
|
|
2698
|
+
"tw:tracking-normal",
|
|
2699
|
+
"tw:font-normal",
|
|
2700
|
+
"tw:text-xs",
|
|
2701
|
+
"tw:text-muted-foreground"
|
|
2810
2702
|
],
|
|
2811
2703
|
{
|
|
2812
2704
|
variants: {
|
|
2813
2705
|
hideOnHover: {
|
|
2814
|
-
true: ["group-focus-within:
|
|
2706
|
+
true: ["tw:group-focus-within:hidden", "tw:group-hover:hidden"],
|
|
2815
2707
|
false: []
|
|
2816
2708
|
}
|
|
2817
2709
|
},
|
|
@@ -2834,10 +2726,10 @@ var DropdownMenuLabel = ({ className, ...props }) => {
|
|
|
2834
2726
|
DropdownMenuPrimitive3.Label,
|
|
2835
2727
|
{
|
|
2836
2728
|
className: cn(
|
|
2837
|
-
"tw
|
|
2838
|
-
"tw
|
|
2839
|
-
"tw
|
|
2840
|
-
"tw
|
|
2729
|
+
"tw:p-2",
|
|
2730
|
+
"tw:font-medium",
|
|
2731
|
+
"tw:text-xs",
|
|
2732
|
+
"tw:text-muted-foreground",
|
|
2841
2733
|
className
|
|
2842
2734
|
),
|
|
2843
2735
|
...props
|
|
@@ -2880,7 +2772,7 @@ var DropdownMenuRadioItem = ({
|
|
|
2880
2772
|
...props
|
|
2881
2773
|
}) => {
|
|
2882
2774
|
const isAtStart = indicatorAlign === "start";
|
|
2883
|
-
const indicatorEle = isLoading ? /* @__PURE__ */ jsx(ItemIcon, { className: iconClassName, children: /* @__PURE__ */ jsx(
|
|
2775
|
+
const indicatorEle = isLoading ? /* @__PURE__ */ jsx(ItemIcon, { className: iconClassName, children: /* @__PURE__ */ jsx(Loader2, { className: "tw:animate-spin" }) }) : /* @__PURE__ */ jsx(DropdownMenuItemIndicator, { variant: indicator });
|
|
2884
2776
|
const handleSelect = (event) => {
|
|
2885
2777
|
if (!closeOnSelect) event.preventDefault();
|
|
2886
2778
|
onSelect?.(event);
|
|
@@ -2890,13 +2782,13 @@ var DropdownMenuRadioItem = ({
|
|
|
2890
2782
|
{
|
|
2891
2783
|
className: cn(
|
|
2892
2784
|
itemVariants,
|
|
2893
|
-
"data-[state=checked]:
|
|
2785
|
+
"tw:data-[state=checked]:cursor-default",
|
|
2894
2786
|
{
|
|
2895
|
-
"data-[state=checked]:
|
|
2787
|
+
"tw:data-[state=checked]:bg-neutral-100": indicator === "none",
|
|
2896
2788
|
// Semantic brand tint (flips under `[data-theme='dark']`) instead of a
|
|
2897
|
-
// hardcoded `tw
|
|
2789
|
+
// hardcoded `tw:bg-sky-100`, which stayed light in dark mode and left the
|
|
2898
2790
|
// checked item's text near-invisible.
|
|
2899
|
-
"group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:
|
|
2791
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:data-[state=checked]:bg-primary/10": indicator === "check"
|
|
2900
2792
|
},
|
|
2901
2793
|
className
|
|
2902
2794
|
),
|
|
@@ -2905,7 +2797,7 @@ var DropdownMenuRadioItem = ({
|
|
|
2905
2797
|
children: [
|
|
2906
2798
|
isAtStart && indicatorEle,
|
|
2907
2799
|
icon && /* @__PURE__ */ jsx(ItemIcon, { className: iconClassName, children: icon }),
|
|
2908
|
-
/* @__PURE__ */ jsx("span", { className: "tw
|
|
2800
|
+
/* @__PURE__ */ jsx("span", { className: "tw:flex tw:min-w-0 tw:flex-1 tw:items-center tw:gap-2", children }),
|
|
2909
2801
|
!isAtStart && indicatorEle
|
|
2910
2802
|
]
|
|
2911
2803
|
}
|
|
@@ -2918,21 +2810,21 @@ var DropdownMenuSeparator = ({ className, ...props }) => /* @__PURE__ */ jsx(
|
|
|
2918
2810
|
DropdownMenuPrimitive3.Separator,
|
|
2919
2811
|
{
|
|
2920
2812
|
className: cn(
|
|
2921
|
-
"tw
|
|
2922
|
-
"tw
|
|
2813
|
+
"tw:relative",
|
|
2814
|
+
"tw:z-10",
|
|
2923
2815
|
// layout
|
|
2924
|
-
"tw
|
|
2925
|
-
"tw
|
|
2926
|
-
"tw
|
|
2927
|
-
"tw
|
|
2816
|
+
"tw:flex",
|
|
2817
|
+
"tw:items-center",
|
|
2818
|
+
"tw:justify-center",
|
|
2819
|
+
"tw:w-full",
|
|
2928
2820
|
// separator line
|
|
2929
|
-
'before:
|
|
2930
|
-
"before:
|
|
2931
|
-
"before:
|
|
2932
|
-
"group-data-[variant=default]/dropdown-menu-content:
|
|
2933
|
-
"group-data-[variant=default]/dropdown-menu-content:before:
|
|
2934
|
-
"group-data-[variant=argo]/dropdown-menu-content:
|
|
2935
|
-
"group-data-[variant=argo]/dropdown-menu-content:before:
|
|
2821
|
+
'tw:before:content-[""]',
|
|
2822
|
+
"tw:before:w-full",
|
|
2823
|
+
"tw:before:h-px",
|
|
2824
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:py-2",
|
|
2825
|
+
"tw:group-data-[variant=default]/dropdown-menu-content:before:bg-neutral-150",
|
|
2826
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:py-1",
|
|
2827
|
+
"tw:group-data-[variant=argo]/dropdown-menu-content:before:bg-border",
|
|
2936
2828
|
className
|
|
2937
2829
|
),
|
|
2938
2830
|
...props
|
|
@@ -2948,7 +2840,7 @@ var DropdownMenuSubContent = ({ className, ...props }) => {
|
|
|
2948
2840
|
DropdownMenuPrimitive3.SubContent,
|
|
2949
2841
|
{
|
|
2950
2842
|
"data-variant": variant,
|
|
2951
|
-
className: cn(contentVariants, "tw
|
|
2843
|
+
className: cn(contentVariants, "tw:z-[1041]", "tw:p-2", className),
|
|
2952
2844
|
...props
|
|
2953
2845
|
}
|
|
2954
2846
|
) });
|
|
@@ -2960,7 +2852,7 @@ init_utils2();
|
|
|
2960
2852
|
var DropdownMenuSubTrigger = ({ className, children, ...props }) => {
|
|
2961
2853
|
return /* @__PURE__ */ jsxs(DropdownMenuPrimitive3.SubTrigger, { className: cn(itemVariants, className), ...props, children: [
|
|
2962
2854
|
children,
|
|
2963
|
-
/* @__PURE__ */ jsx(
|
|
2855
|
+
/* @__PURE__ */ jsx(ChevronRight, { className: "tw:ml-auto tw:size-5" })
|
|
2964
2856
|
] });
|
|
2965
2857
|
};
|
|
2966
2858
|
|
|
@@ -2972,7 +2864,7 @@ var DropdownMenuTrigger = ({ ref, className, ...props }) => /* @__PURE__ */ jsx(
|
|
|
2972
2864
|
...props,
|
|
2973
2865
|
ref,
|
|
2974
2866
|
"data-slot": "dropdown-menu-trigger",
|
|
2975
|
-
className: cn("tw
|
|
2867
|
+
className: cn("tw:group/dropdown-menu-trigger", className)
|
|
2976
2868
|
}
|
|
2977
2869
|
);
|
|
2978
2870
|
var DropdownMenu = ({
|
|
@@ -3003,10 +2895,10 @@ init_Tooltip2();
|
|
|
3003
2895
|
init_icons();
|
|
3004
2896
|
init_utils2();
|
|
3005
2897
|
var ALIGNMENT_OPTIONS = [
|
|
3006
|
-
{ value: "left", label: "Left", icon:
|
|
3007
|
-
{ value: "center", label: "Center", icon:
|
|
3008
|
-
{ value: "right", label: "Right", icon:
|
|
3009
|
-
{ value: "justify", label: "Justify", icon:
|
|
2898
|
+
{ value: "left", label: "Left", icon: AlignLeft },
|
|
2899
|
+
{ value: "center", label: "Center", icon: AlignCenter },
|
|
2900
|
+
{ value: "right", label: "Right", icon: AlignRight },
|
|
2901
|
+
{ value: "justify", label: "Justify", icon: AlignJustify }
|
|
3010
2902
|
];
|
|
3011
2903
|
var ALIGNMENT_ICONS = Object.fromEntries(
|
|
3012
2904
|
ALIGNMENT_OPTIONS.map(({ value, icon }) => [value, icon])
|
|
@@ -3032,32 +2924,32 @@ var AlignmentDropdown = ({
|
|
|
3032
2924
|
editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, align);
|
|
3033
2925
|
});
|
|
3034
2926
|
};
|
|
3035
|
-
const CurrentAlignmentIcon = ALIGNMENT_ICONS[alignment] ??
|
|
2927
|
+
const CurrentAlignmentIcon = ALIGNMENT_ICONS[alignment] ?? AlignLeft;
|
|
3036
2928
|
return /* @__PURE__ */ jsxs(DropdownMenu, { onOpenChange: handleOpenChange, children: [
|
|
3037
2929
|
/* @__PURE__ */ jsx(Tooltip, { tooltip: "Text alignment", placement: "top", triggerAsChild: true, children: /* @__PURE__ */ jsx(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
3038
2930
|
"button",
|
|
3039
2931
|
{
|
|
3040
2932
|
type: "button",
|
|
3041
2933
|
className: cn(
|
|
3042
|
-
"tw
|
|
3043
|
-
"hover:
|
|
2934
|
+
"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",
|
|
2935
|
+
"tw:hover:bg-accent"
|
|
3044
2936
|
),
|
|
3045
2937
|
children: [
|
|
3046
|
-
/* @__PURE__ */ jsx(CurrentAlignmentIcon, { className: "tw
|
|
3047
|
-
/* @__PURE__ */ jsx(
|
|
2938
|
+
/* @__PURE__ */ jsx(CurrentAlignmentIcon, { className: "tw:size-4" }),
|
|
2939
|
+
/* @__PURE__ */ jsx(ChevronDown, { className: "tw:size-3" })
|
|
3048
2940
|
]
|
|
3049
2941
|
}
|
|
3050
2942
|
) }) }),
|
|
3051
|
-
/* @__PURE__ */ jsx(DropdownMenu.Content, { align: "start", className: "tw
|
|
2943
|
+
/* @__PURE__ */ jsx(DropdownMenu.Content, { align: "start", className: "tw:min-w-32", children: ALIGNMENT_OPTIONS.map(({ value, label, icon: IconComp }) => /* @__PURE__ */ jsxs(
|
|
3052
2944
|
DropdownMenu.Item,
|
|
3053
2945
|
{
|
|
3054
2946
|
onSelect: () => handleSelect(value),
|
|
3055
2947
|
className: cn(
|
|
3056
|
-
"tw
|
|
3057
|
-
alignment === value && "tw
|
|
2948
|
+
"tw:flex tw:items-center tw:gap-2",
|
|
2949
|
+
alignment === value && "tw:bg-secondary-50 tw:text-secondary-500"
|
|
3058
2950
|
),
|
|
3059
2951
|
children: [
|
|
3060
|
-
/* @__PURE__ */ jsx(IconComp, { className: "tw
|
|
2952
|
+
/* @__PURE__ */ jsx(IconComp, { className: "tw:size-4" }),
|
|
3061
2953
|
label
|
|
3062
2954
|
]
|
|
3063
2955
|
},
|
|
@@ -3069,14 +2961,14 @@ init_Tooltip2();
|
|
|
3069
2961
|
init_icons();
|
|
3070
2962
|
init_utils2();
|
|
3071
2963
|
var BLOCK_TYPE_META = {
|
|
3072
|
-
paragraph: { label: "Normal", icon:
|
|
3073
|
-
h1: { label: "Heading 1", icon:
|
|
3074
|
-
h2: { label: "Heading 2", icon:
|
|
3075
|
-
h3: { label: "Heading 3", icon:
|
|
3076
|
-
bullet: { label: "Bullet List", icon:
|
|
3077
|
-
number: { label: "Numbered List", icon:
|
|
3078
|
-
quote: { label: "Quote", icon:
|
|
3079
|
-
code: { label: "Code Block", icon:
|
|
2964
|
+
paragraph: { label: "Normal", icon: Type, selectable: true },
|
|
2965
|
+
h1: { label: "Heading 1", icon: Heading1, selectable: true },
|
|
2966
|
+
h2: { label: "Heading 2", icon: Heading2, selectable: true },
|
|
2967
|
+
h3: { label: "Heading 3", icon: Heading3, selectable: true },
|
|
2968
|
+
bullet: { label: "Bullet List", icon: List, selectable: false },
|
|
2969
|
+
number: { label: "Numbered List", icon: ListOrdered, selectable: false },
|
|
2970
|
+
quote: { label: "Quote", icon: Quote, selectable: false },
|
|
2971
|
+
code: { label: "Code Block", icon: SquareCode, selectable: false }
|
|
3080
2972
|
};
|
|
3081
2973
|
var BLOCK_TYPE_OPTIONS = Object.entries(BLOCK_TYPE_META).filter(([, meta]) => meta.selectable).map(([value, { label, icon }]) => ({ value, label, icon }));
|
|
3082
2974
|
var isBlockType = (value) => Object.prototype.hasOwnProperty.call(BLOCK_TYPE_META, value);
|
|
@@ -3086,7 +2978,7 @@ var BlockTypeDropdown = ({
|
|
|
3086
2978
|
}) => {
|
|
3087
2979
|
const savedSelectionRef = useRef(null);
|
|
3088
2980
|
const currentMeta = isBlockType(blockType) ? BLOCK_TYPE_META[blockType] : null;
|
|
3089
|
-
const CurrentBlockIcon = currentMeta?.icon ??
|
|
2981
|
+
const CurrentBlockIcon = currentMeta?.icon ?? Type;
|
|
3090
2982
|
const handleOpenChange = (open) => {
|
|
3091
2983
|
if (open) {
|
|
3092
2984
|
editor.getEditorState().read(() => {
|
|
@@ -3123,26 +3015,26 @@ var BlockTypeDropdown = ({
|
|
|
3123
3015
|
{
|
|
3124
3016
|
type: "button",
|
|
3125
3017
|
className: cn(
|
|
3126
|
-
"tw
|
|
3127
|
-
"hover:
|
|
3018
|
+
"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",
|
|
3019
|
+
"tw:hover:bg-accent"
|
|
3128
3020
|
),
|
|
3129
3021
|
children: [
|
|
3130
|
-
/* @__PURE__ */ jsx(CurrentBlockIcon, { className: "tw
|
|
3022
|
+
/* @__PURE__ */ jsx(CurrentBlockIcon, { className: "tw:size-4" }),
|
|
3131
3023
|
currentMeta?.label ?? "Normal",
|
|
3132
|
-
/* @__PURE__ */ jsx(
|
|
3024
|
+
/* @__PURE__ */ jsx(ChevronDown, { className: "tw:size-3" })
|
|
3133
3025
|
]
|
|
3134
3026
|
}
|
|
3135
3027
|
) }) }),
|
|
3136
|
-
/* @__PURE__ */ jsx(DropdownMenu.Content, { align: "start", className: "tw
|
|
3028
|
+
/* @__PURE__ */ jsx(DropdownMenu.Content, { align: "start", className: "tw:min-w-40", children: BLOCK_TYPE_OPTIONS.map(({ value, label, icon: IconComp }) => /* @__PURE__ */ jsxs(
|
|
3137
3029
|
DropdownMenu.Item,
|
|
3138
3030
|
{
|
|
3139
3031
|
onSelect: () => handleSelect(value),
|
|
3140
3032
|
className: cn(
|
|
3141
|
-
"tw
|
|
3142
|
-
blockType === value && "tw
|
|
3033
|
+
"tw:flex tw:items-center tw:gap-2",
|
|
3034
|
+
blockType === value && "tw:bg-secondary-50 tw:text-secondary-500"
|
|
3143
3035
|
),
|
|
3144
3036
|
children: [
|
|
3145
|
-
/* @__PURE__ */ jsx(IconComp, { className: "tw
|
|
3037
|
+
/* @__PURE__ */ jsx(IconComp, { className: "tw:size-4" }),
|
|
3146
3038
|
label
|
|
3147
3039
|
]
|
|
3148
3040
|
},
|
|
@@ -3167,12 +3059,12 @@ init_context();
|
|
|
3167
3059
|
init_utils2();
|
|
3168
3060
|
var addonVariants = cva(
|
|
3169
3061
|
[
|
|
3170
|
-
"tw
|
|
3171
|
-
"tw
|
|
3172
|
-
"tw
|
|
3062
|
+
"tw:flex",
|
|
3063
|
+
"tw:items-center",
|
|
3064
|
+
"tw:gap-1",
|
|
3173
3065
|
// Default size for nested Lucide icons in prefix/suffix slots; callers can override on the icon.
|
|
3174
|
-
"[&_svg.lucide:not([class*='tw
|
|
3175
|
-
"[&_svg]:
|
|
3066
|
+
"tw:[&_svg.lucide:not([class*='tw:size-'])]:size-4",
|
|
3067
|
+
"tw:[&_svg]:shrink-0"
|
|
3176
3068
|
],
|
|
3177
3069
|
{
|
|
3178
3070
|
defaultVariants: {
|
|
@@ -3180,22 +3072,22 @@ var addonVariants = cva(
|
|
|
3180
3072
|
},
|
|
3181
3073
|
variants: {
|
|
3182
3074
|
align: {
|
|
3183
|
-
"inline-start": ["tw
|
|
3184
|
-
"inline-end": ["tw
|
|
3075
|
+
"inline-start": ["tw:order-first", "tw:[&:not(:empty)]:pl-4"],
|
|
3076
|
+
"inline-end": ["tw:order-last", "tw:[&:not(:empty)]:pr-4"],
|
|
3185
3077
|
"block-start": [
|
|
3186
|
-
"tw
|
|
3187
|
-
// `tw
|
|
3078
|
+
"tw:order-first",
|
|
3079
|
+
// `tw:w-full` needs to be empty-conditional too — when the addon
|
|
3188
3080
|
// has no content the root stays in flex-row, and a 100%-wide
|
|
3189
3081
|
// empty addon would claim half of the input row beside the input.
|
|
3190
|
-
"[&:not(:empty)]:
|
|
3191
|
-
"[&:not(:empty)]:
|
|
3192
|
-
"[&:not(:empty)]:
|
|
3082
|
+
"tw:[&:not(:empty)]:w-full",
|
|
3083
|
+
"tw:[&:not(:empty)]:px-4",
|
|
3084
|
+
"tw:[&:not(:empty)]:py-1.5"
|
|
3193
3085
|
],
|
|
3194
3086
|
"block-end": [
|
|
3195
|
-
"tw
|
|
3196
|
-
"[&:not(:empty)]:
|
|
3197
|
-
"[&:not(:empty)]:
|
|
3198
|
-
"[&:not(:empty)]:
|
|
3087
|
+
"tw:order-last",
|
|
3088
|
+
"tw:[&:not(:empty)]:w-full",
|
|
3089
|
+
"tw:[&:not(:empty)]:px-4",
|
|
3090
|
+
"tw:[&:not(:empty)]:py-1.5"
|
|
3199
3091
|
]
|
|
3200
3092
|
}
|
|
3201
3093
|
}
|
|
@@ -3219,7 +3111,7 @@ var InputGroupButton = ({ ref, className, tabIndex = -1, ...props }) => /* @__PU
|
|
|
3219
3111
|
ref,
|
|
3220
3112
|
variant: "invisible",
|
|
3221
3113
|
size: "icon-sm",
|
|
3222
|
-
className: cn("tw
|
|
3114
|
+
className: cn("tw:size-5", "tw:[&_svg]:text-muted-foreground", className)
|
|
3223
3115
|
}
|
|
3224
3116
|
);
|
|
3225
3117
|
|
|
@@ -3231,17 +3123,17 @@ var InputGroupInput = ({ ref, className, ...inputProps }) => /* @__PURE__ */ jsx
|
|
|
3231
3123
|
...inputProps,
|
|
3232
3124
|
ref,
|
|
3233
3125
|
className: cn(
|
|
3234
|
-
"tw
|
|
3235
|
-
"tw
|
|
3236
|
-
"tw
|
|
3126
|
+
"tw:w-full",
|
|
3127
|
+
"tw:bg-transparent",
|
|
3128
|
+
"tw:outline-hidden",
|
|
3237
3129
|
// font
|
|
3238
|
-
"tw
|
|
3239
|
-
"tw
|
|
3130
|
+
"tw:font-sans",
|
|
3131
|
+
"tw:text-sm",
|
|
3240
3132
|
// placeholder
|
|
3241
|
-
"placeholder:
|
|
3242
|
-
"placeholder:
|
|
3133
|
+
"tw:placeholder:text-neutral-400",
|
|
3134
|
+
"tw:placeholder:font-normal",
|
|
3243
3135
|
// disabled
|
|
3244
|
-
"disabled:
|
|
3136
|
+
"tw:disabled:cursor-not-allowed",
|
|
3245
3137
|
className
|
|
3246
3138
|
)
|
|
3247
3139
|
}
|
|
@@ -3253,13 +3145,13 @@ var InputGroupText = ({ className, ...props }) => /* @__PURE__ */ jsx(
|
|
|
3253
3145
|
"span",
|
|
3254
3146
|
{
|
|
3255
3147
|
className: cn(
|
|
3256
|
-
"tw
|
|
3257
|
-
"tw
|
|
3258
|
-
"tw
|
|
3259
|
-
"tw
|
|
3260
|
-
"tw
|
|
3261
|
-
"[&_svg]:
|
|
3262
|
-
'[&_svg:not([class*="tw
|
|
3148
|
+
"tw:flex",
|
|
3149
|
+
"tw:items-center",
|
|
3150
|
+
"tw:gap-2",
|
|
3151
|
+
"tw:text-sm",
|
|
3152
|
+
"tw:text-muted-foreground",
|
|
3153
|
+
"tw:[&_svg]:pointer-events-none",
|
|
3154
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-4',
|
|
3263
3155
|
className
|
|
3264
3156
|
),
|
|
3265
3157
|
...props
|
|
@@ -3302,20 +3194,20 @@ var InputGroupTextArea = ({
|
|
|
3302
3194
|
minRows,
|
|
3303
3195
|
maxRows: maxRows === "unlimited" ? void 0 : maxRows,
|
|
3304
3196
|
className: cn(
|
|
3305
|
-
"tw
|
|
3306
|
-
"tw
|
|
3307
|
-
"tw
|
|
3308
|
-
"tw
|
|
3197
|
+
"tw:w-full",
|
|
3198
|
+
"tw:bg-transparent",
|
|
3199
|
+
"tw:outline-hidden",
|
|
3200
|
+
"tw:px-4",
|
|
3309
3201
|
// font
|
|
3310
|
-
"tw
|
|
3311
|
-
"tw
|
|
3202
|
+
"tw:font-sans",
|
|
3203
|
+
"tw:text-sm",
|
|
3312
3204
|
// placeholder
|
|
3313
|
-
"placeholder:
|
|
3314
|
-
"placeholder:
|
|
3205
|
+
"tw:placeholder:text-neutral-400",
|
|
3206
|
+
"tw:placeholder:font-normal",
|
|
3315
3207
|
// disabled
|
|
3316
|
-
"disabled:
|
|
3208
|
+
"tw:disabled:cursor-not-allowed",
|
|
3317
3209
|
{
|
|
3318
|
-
"tw
|
|
3210
|
+
"tw:resize-none": disableResize
|
|
3319
3211
|
},
|
|
3320
3212
|
className
|
|
3321
3213
|
)
|
|
@@ -3325,39 +3217,39 @@ var InputGroupTextArea = ({
|
|
|
3325
3217
|
var inputGroupVariants = cva(
|
|
3326
3218
|
[
|
|
3327
3219
|
"tailwindcss-preflight",
|
|
3328
|
-
"tw
|
|
3329
|
-
"tw
|
|
3330
|
-
"tw
|
|
3220
|
+
"tw:group",
|
|
3221
|
+
"tw:overflow-hidden",
|
|
3222
|
+
"tw:box-border",
|
|
3331
3223
|
// positioning
|
|
3332
|
-
"tw
|
|
3333
|
-
"tw
|
|
3224
|
+
"tw:flex",
|
|
3225
|
+
"tw:items-center",
|
|
3334
3226
|
// base — legacy (non-argo) chrome uses a fixed radius; argo overrides it with
|
|
3335
3227
|
// the brand radius token in the `argo` variant below.
|
|
3336
|
-
"tw
|
|
3337
|
-
"tw
|
|
3338
|
-
"tw
|
|
3339
|
-
"tw
|
|
3340
|
-
"tw
|
|
3341
|
-
"tw
|
|
3228
|
+
"tw:rounded",
|
|
3229
|
+
"tw:border",
|
|
3230
|
+
"tw:border-solid",
|
|
3231
|
+
"tw:border-neutral-200",
|
|
3232
|
+
"tw:text-neutral-800",
|
|
3233
|
+
"tw:transition",
|
|
3342
3234
|
// focus
|
|
3343
|
-
"has-[:is(input,textarea):focus]:
|
|
3235
|
+
"tw:has-[:is(input,textarea):focus]:ring-4",
|
|
3344
3236
|
// readonly
|
|
3345
|
-
"has-[:is(input,textarea)[readonly]]:
|
|
3346
|
-
"has-[:is(input,textarea)[readonly]]:focus-within:
|
|
3347
|
-
"has-[:is(input,textarea)[readonly]]:
|
|
3237
|
+
"tw:has-[:is(input,textarea)[readonly]]:bg-neutral-150",
|
|
3238
|
+
"tw:has-[:is(input,textarea)[readonly]]:focus-within:ring-0",
|
|
3239
|
+
"tw:has-[:is(input,textarea)[readonly]]:border-neutral-150",
|
|
3348
3240
|
// disabled cursor (opacity owned by variant)
|
|
3349
|
-
"has-[:is(input,textarea):disabled]:
|
|
3241
|
+
"tw:has-[:is(input,textarea):disabled]:cursor-not-allowed",
|
|
3350
3242
|
// textarea: top-align addons, allow vertical expansion, own its y-padding
|
|
3351
|
-
"has-[textarea]:
|
|
3352
|
-
"has-[[data-align=block-start]:not(:empty)]:
|
|
3353
|
-
"has-[[data-align=block-end]:not(:empty)]:
|
|
3354
|
-
"[&>input]:has-[[data-align=block-start]:not(:empty)]:
|
|
3355
|
-
"[&>input]:has-[[data-align=block-start]:not(:empty)]:
|
|
3356
|
-
"[&>input]:has-[[data-align=block-end]:not(:empty)]:
|
|
3357
|
-
"[&>input]:has-[[data-align=block-end]:not(:empty)]:
|
|
3358
|
-
"[&>input]:
|
|
3359
|
-
"[&>input]:has-[[data-align=inline-start]:not(:empty)]:
|
|
3360
|
-
"[&>input]:has-[[data-align=inline-end]:not(:empty)]:
|
|
3243
|
+
"tw:has-[textarea]:items-start",
|
|
3244
|
+
"tw:has-[[data-align=block-start]:not(:empty)]:flex-wrap",
|
|
3245
|
+
"tw:has-[[data-align=block-end]:not(:empty)]:flex-wrap",
|
|
3246
|
+
"tw:[&>input]:has-[[data-align=block-start]:not(:empty)]:w-auto",
|
|
3247
|
+
"tw:[&>input]:has-[[data-align=block-start]:not(:empty)]:flex-1",
|
|
3248
|
+
"tw:[&>input]:has-[[data-align=block-end]:not(:empty)]:w-auto",
|
|
3249
|
+
"tw:[&>input]:has-[[data-align=block-end]:not(:empty)]:flex-1",
|
|
3250
|
+
"tw:[&>input]:px-4",
|
|
3251
|
+
"tw:[&>input]:has-[[data-align=inline-start]:not(:empty)]:pl-2",
|
|
3252
|
+
"tw:[&>input]:has-[[data-align=inline-end]:not(:empty)]:pr-2"
|
|
3361
3253
|
],
|
|
3362
3254
|
{
|
|
3363
3255
|
defaultVariants: {
|
|
@@ -3370,153 +3262,153 @@ var inputGroupVariants = cva(
|
|
|
3370
3262
|
{
|
|
3371
3263
|
variant: "secondary",
|
|
3372
3264
|
state: "error",
|
|
3373
|
-
className: ["tw
|
|
3265
|
+
className: ["tw:bg-error-100"]
|
|
3374
3266
|
},
|
|
3375
3267
|
{
|
|
3376
3268
|
variant: "secondary",
|
|
3377
3269
|
state: "warning",
|
|
3378
|
-
className: ["tw
|
|
3270
|
+
className: ["tw:bg-warning-100"]
|
|
3379
3271
|
},
|
|
3380
3272
|
{
|
|
3381
3273
|
variant: "primary",
|
|
3382
3274
|
state: "default",
|
|
3383
3275
|
focusVariant: "off",
|
|
3384
|
-
className: ["has-[:is(input,textarea):focus]:
|
|
3276
|
+
className: ["tw:has-[:is(input,textarea):focus]:border-neutral-200"]
|
|
3385
3277
|
},
|
|
3386
3278
|
{
|
|
3387
3279
|
variant: "secondary",
|
|
3388
3280
|
state: "default",
|
|
3389
3281
|
focusVariant: "off",
|
|
3390
|
-
className: ["has-[:is(input,textarea):focus]:
|
|
3282
|
+
className: ["tw:has-[:is(input,textarea):focus]:border-neutral-100"]
|
|
3391
3283
|
},
|
|
3392
3284
|
{
|
|
3393
3285
|
variant: ["primary", "secondary"],
|
|
3394
3286
|
state: "error",
|
|
3395
3287
|
focusVariant: "on",
|
|
3396
|
-
className: ["
|
|
3288
|
+
className: ["tw:!border-error-500", "tw:!ring-error-200"]
|
|
3397
3289
|
},
|
|
3398
3290
|
{
|
|
3399
3291
|
variant: ["primary", "secondary"],
|
|
3400
3292
|
state: "warning",
|
|
3401
3293
|
focusVariant: "on",
|
|
3402
|
-
className: ["
|
|
3294
|
+
className: ["tw:!border-warning-500", "tw:!ring-warning-200"]
|
|
3403
3295
|
},
|
|
3404
3296
|
// --- argo ---
|
|
3405
3297
|
{
|
|
3406
3298
|
variant: "argo",
|
|
3407
3299
|
state: "default",
|
|
3408
3300
|
className: [
|
|
3409
|
-
"has-[:is(input,textarea):focus]:
|
|
3410
|
-
"has-[:is(input,textarea):focus]:
|
|
3301
|
+
"tw:has-[:is(input,textarea):focus]:border-primary",
|
|
3302
|
+
"tw:has-[:is(input,textarea):focus]:ring-ring/50"
|
|
3411
3303
|
]
|
|
3412
3304
|
},
|
|
3413
3305
|
{
|
|
3414
3306
|
variant: "argo",
|
|
3415
3307
|
state: "error",
|
|
3416
3308
|
className: [
|
|
3417
|
-
"tw
|
|
3418
|
-
"has-[:is(input,textarea):focus]:
|
|
3419
|
-
"has-[:is(input,textarea):focus]:
|
|
3309
|
+
"tw:border-destructive",
|
|
3310
|
+
"tw:has-[:is(input,textarea):focus]:border-destructive",
|
|
3311
|
+
"tw:has-[:is(input,textarea):focus]:ring-destructive/20"
|
|
3420
3312
|
]
|
|
3421
3313
|
},
|
|
3422
3314
|
{
|
|
3423
3315
|
variant: "argo",
|
|
3424
3316
|
focusVariant: "on",
|
|
3425
|
-
className: ["
|
|
3317
|
+
className: ["tw:!border-primary", "tw:!ring-ring/50"]
|
|
3426
3318
|
},
|
|
3427
3319
|
{
|
|
3428
3320
|
variant: "argo",
|
|
3429
3321
|
state: "error",
|
|
3430
3322
|
focusVariant: "on",
|
|
3431
|
-
className: ["
|
|
3323
|
+
className: ["tw:!border-destructive", "tw:!ring-destructive/20"]
|
|
3432
3324
|
},
|
|
3433
3325
|
{
|
|
3434
3326
|
variant: "argo",
|
|
3435
3327
|
state: "default",
|
|
3436
3328
|
focusVariant: "off",
|
|
3437
|
-
className: ["has-[:is(input,textarea):focus]:
|
|
3329
|
+
className: ["tw:has-[:is(input,textarea):focus]:border-input"]
|
|
3438
3330
|
}
|
|
3439
3331
|
],
|
|
3440
3332
|
variants: {
|
|
3441
3333
|
focusVariant: {
|
|
3442
3334
|
default: [],
|
|
3443
|
-
on: ["
|
|
3444
|
-
off: ["has-[:is(input,textarea):focus]:!
|
|
3335
|
+
on: ["tw:!border-ring", "tw:!ring-ring/30", "tw:!ring-4"],
|
|
3336
|
+
off: ["tw:has-[:is(input,textarea):focus]:!ring-0"]
|
|
3445
3337
|
},
|
|
3446
3338
|
variant: {
|
|
3447
3339
|
primary: [
|
|
3448
|
-
"tw
|
|
3449
|
-
"has-[:is(input,textarea):disabled]:
|
|
3340
|
+
"tw:bg-white",
|
|
3341
|
+
"tw:has-[:is(input,textarea):disabled]:opacity-40",
|
|
3450
3342
|
// aria-invalid on the control surfaces the error chrome without a `state` prop — the
|
|
3451
3343
|
// accessible path (mirrors the `state="error"` legacy tokens). Higher specificity than
|
|
3452
3344
|
// the default focus selector, so it wins without `!important`.
|
|
3453
|
-
"has-[:is(input,textarea)[aria-invalid=true]]:
|
|
3454
|
-
"has-[:is(input,textarea)[aria-invalid=true]:focus]:
|
|
3455
|
-
"has-[:is(input,textarea)[aria-invalid=true]:focus]:
|
|
3345
|
+
"tw:has-[:is(input,textarea)[aria-invalid=true]]:border-error-500",
|
|
3346
|
+
"tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:border-error-500",
|
|
3347
|
+
"tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:ring-error-200"
|
|
3456
3348
|
],
|
|
3457
3349
|
secondary: [
|
|
3458
|
-
"tw
|
|
3459
|
-
"tw
|
|
3460
|
-
"has-[:is(input,textarea):disabled]:
|
|
3461
|
-
"has-[:is(input,textarea)[aria-invalid=true]]:
|
|
3462
|
-
"has-[:is(input,textarea)[aria-invalid=true]:focus]:
|
|
3463
|
-
"has-[:is(input,textarea)[aria-invalid=true]:focus]:
|
|
3350
|
+
"tw:bg-neutral-100",
|
|
3351
|
+
"tw:border-neutral-100",
|
|
3352
|
+
"tw:has-[:is(input,textarea):disabled]:opacity-40",
|
|
3353
|
+
"tw:has-[:is(input,textarea)[aria-invalid=true]]:border-error-500",
|
|
3354
|
+
"tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:border-error-500",
|
|
3355
|
+
"tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:ring-error-200"
|
|
3464
3356
|
],
|
|
3465
3357
|
argo: [
|
|
3466
3358
|
// argo follows the brand radius token (overrides the static base)
|
|
3467
|
-
"tw
|
|
3359
|
+
"tw:rounded-[var(--radius-lg,0.25rem)]",
|
|
3468
3360
|
// muted filled input surface — gray, distinct from white containers; not the app-background token
|
|
3469
|
-
"tw
|
|
3470
|
-
"tw
|
|
3471
|
-
"tw
|
|
3472
|
-
"has-[:is(input,textarea):disabled]:
|
|
3361
|
+
"tw:bg-muted",
|
|
3362
|
+
"tw:border-input",
|
|
3363
|
+
"tw:text-foreground",
|
|
3364
|
+
"tw:has-[:is(input,textarea):disabled]:opacity-50",
|
|
3473
3365
|
// readonly: keep the themed input surface/border. The base layer's fixed
|
|
3474
3366
|
// `neutral-150` (a light grey) is correct for the legacy light chrome but
|
|
3475
3367
|
// collides with argo's themed `foreground` text — light-on-light, invisible
|
|
3476
3368
|
// in dark mode. Re-pin to the same `muted`/`input` tokens the editable argo
|
|
3477
3369
|
// input uses (validated AA), so readonly stays legible in every scheme.
|
|
3478
|
-
"has-[:is(input,textarea)[readonly]]:
|
|
3479
|
-
"has-[:is(input,textarea)[readonly]]:
|
|
3370
|
+
"tw:has-[:is(input,textarea)[readonly]]:bg-muted",
|
|
3371
|
+
"tw:has-[:is(input,textarea)[readonly]]:border-input",
|
|
3480
3372
|
// higher specificity than has-[:is(input,textarea):focus] — prevents focus border on readonly
|
|
3481
|
-
"has-[:is(input,textarea)[readonly]:focus]:
|
|
3373
|
+
"tw:has-[:is(input,textarea)[readonly]:focus]:border-input",
|
|
3482
3374
|
// aria-invalid on the control surfaces the error chrome without a `state` prop — the
|
|
3483
3375
|
// accessible path (uses the themeable `destructive` status token).
|
|
3484
|
-
"has-[:is(input,textarea)[aria-invalid=true]]:
|
|
3485
|
-
"has-[:is(input,textarea)[aria-invalid=true]:focus]:
|
|
3486
|
-
"has-[:is(input,textarea)[aria-invalid=true]:focus]:
|
|
3376
|
+
"tw:has-[:is(input,textarea)[aria-invalid=true]]:border-destructive",
|
|
3377
|
+
"tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:border-destructive",
|
|
3378
|
+
"tw:has-[:is(input,textarea)[aria-invalid=true]:focus]:ring-destructive/20"
|
|
3487
3379
|
]
|
|
3488
3380
|
},
|
|
3489
3381
|
sizing: {
|
|
3490
3382
|
default: [
|
|
3491
|
-
"[&>:is(input,textarea)]:
|
|
3492
|
-
"[&>:is(input,textarea)]:
|
|
3493
|
-
"[&>textarea]:!
|
|
3383
|
+
"tw:[&>:is(input,textarea)]:py-2.5",
|
|
3384
|
+
"tw:[&>:is(input,textarea)]:leading-[18px]",
|
|
3385
|
+
"tw:[&>textarea]:!min-h-[calc(2.5rem-2px)]"
|
|
3494
3386
|
],
|
|
3495
3387
|
small: [
|
|
3496
|
-
"[&>:is(input,textarea)]:
|
|
3497
|
-
"[&>:is(input,textarea)]:
|
|
3498
|
-
"[&>textarea]:!
|
|
3388
|
+
"tw:[&>:is(input,textarea)]:py-2",
|
|
3389
|
+
"tw:[&>:is(input,textarea)]:leading-[16px]",
|
|
3390
|
+
"tw:[&>textarea]:!min-h-[calc(2rem-2px)]"
|
|
3499
3391
|
],
|
|
3500
3392
|
medium: [
|
|
3501
|
-
"[&>:is(input,textarea)]:
|
|
3502
|
-
"[&>:is(input,textarea)]:
|
|
3503
|
-
"[&>textarea]:!
|
|
3393
|
+
"tw:[&>:is(input,textarea)]:py-2",
|
|
3394
|
+
"tw:[&>:is(input,textarea)]:leading-[18px]",
|
|
3395
|
+
"tw:[&>textarea]:!min-h-[calc(2.25rem-2px)]"
|
|
3504
3396
|
]
|
|
3505
3397
|
},
|
|
3506
3398
|
state: {
|
|
3507
3399
|
default: [
|
|
3508
|
-
"has-[:is(input,textarea):focus]:
|
|
3509
|
-
"has-[:is(input,textarea):focus]:
|
|
3400
|
+
"tw:has-[:is(input,textarea):focus]:border-ring",
|
|
3401
|
+
"tw:has-[:is(input,textarea):focus]:ring-ring/30"
|
|
3510
3402
|
],
|
|
3511
3403
|
error: [
|
|
3512
|
-
"tw
|
|
3513
|
-
"has-[:is(input,textarea):focus]:
|
|
3514
|
-
"has-[:is(input,textarea):focus]:
|
|
3404
|
+
"tw:border-error-500",
|
|
3405
|
+
"tw:has-[:is(input,textarea):focus]:border-error-500",
|
|
3406
|
+
"tw:has-[:is(input,textarea):focus]:ring-error-200"
|
|
3515
3407
|
],
|
|
3516
3408
|
warning: [
|
|
3517
|
-
"tw
|
|
3518
|
-
"has-[:is(input,textarea):focus]:
|
|
3519
|
-
"has-[:is(input,textarea):focus]:
|
|
3409
|
+
"tw:border-warning-500",
|
|
3410
|
+
"tw:has-[:is(input,textarea):focus]:border-warning-500",
|
|
3411
|
+
"tw:has-[:is(input,textarea):focus]:ring-warning-200"
|
|
3520
3412
|
]
|
|
3521
3413
|
}
|
|
3522
3414
|
}
|
|
@@ -3629,7 +3521,7 @@ var ColorPicker = ({ value, disabled, readOnly, ...props }) => {
|
|
|
3629
3521
|
if (!pickerRef.current) return;
|
|
3630
3522
|
showPicker(pickerRef.current);
|
|
3631
3523
|
};
|
|
3632
|
-
return /* @__PURE__ */ jsxs("div", { className: "tw
|
|
3524
|
+
return /* @__PURE__ */ jsxs("div", { className: "tw:relative", children: [
|
|
3633
3525
|
/* @__PURE__ */ jsx(
|
|
3634
3526
|
"input",
|
|
3635
3527
|
{
|
|
@@ -3639,7 +3531,7 @@ var ColorPicker = ({ value, disabled, readOnly, ...props }) => {
|
|
|
3639
3531
|
value: coerceColorPickerValue(value),
|
|
3640
3532
|
tabIndex: -1,
|
|
3641
3533
|
"aria-hidden": true,
|
|
3642
|
-
className: "tw
|
|
3534
|
+
className: "tw:pointer-events-none tw:absolute tw:left-0 tw:top-full tw:size-0 tw:opacity-0",
|
|
3643
3535
|
disabled,
|
|
3644
3536
|
readOnly
|
|
3645
3537
|
}
|
|
@@ -3651,7 +3543,7 @@ var ColorPicker = ({ value, disabled, readOnly, ...props }) => {
|
|
|
3651
3543
|
disabled: disabled || readOnly,
|
|
3652
3544
|
onClick: handleOpenPicker,
|
|
3653
3545
|
"aria-label": "Pick color",
|
|
3654
|
-
children: /* @__PURE__ */ jsx(
|
|
3546
|
+
children: /* @__PURE__ */ jsx(Pipette, { className: "tw:size-4" })
|
|
3655
3547
|
}
|
|
3656
3548
|
)
|
|
3657
3549
|
] });
|
|
@@ -3726,24 +3618,24 @@ var ColorInput = ({
|
|
|
3726
3618
|
{
|
|
3727
3619
|
align: "inline-start",
|
|
3728
3620
|
className: cn(
|
|
3729
|
-
{ "
|
|
3730
|
-
"tw
|
|
3731
|
-
"tw
|
|
3732
|
-
"tw
|
|
3621
|
+
{ "tw:-ml-7 tw:opacity-0": !value },
|
|
3622
|
+
"tw:transition-[opacity,margin]",
|
|
3623
|
+
"tw:ease-linear",
|
|
3624
|
+
"tw:duration-200"
|
|
3733
3625
|
),
|
|
3734
3626
|
children: /* @__PURE__ */ jsx(
|
|
3735
3627
|
"div",
|
|
3736
3628
|
{
|
|
3737
3629
|
style: isValidSwatch ? { background: swatchColor } : void 0,
|
|
3738
3630
|
className: cn(
|
|
3739
|
-
"tw
|
|
3740
|
-
"tw
|
|
3741
|
-
"tw
|
|
3742
|
-
"tw
|
|
3743
|
-
"tw
|
|
3744
|
-
"tw
|
|
3631
|
+
"tw:size-5",
|
|
3632
|
+
"tw:shrink-0",
|
|
3633
|
+
"tw:rounded-sm",
|
|
3634
|
+
"tw:border",
|
|
3635
|
+
"tw:border-solid",
|
|
3636
|
+
"tw:border-neutral-300",
|
|
3745
3637
|
{
|
|
3746
|
-
"tw
|
|
3638
|
+
"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
|
|
3747
3639
|
}
|
|
3748
3640
|
)
|
|
3749
3641
|
}
|
|
@@ -3770,7 +3662,7 @@ var ColorInput = ({
|
|
|
3770
3662
|
onMouseDown: (event) => event.preventDefault(),
|
|
3771
3663
|
onClick: handleClear,
|
|
3772
3664
|
"aria-label": "Clear color",
|
|
3773
|
-
children: /* @__PURE__ */ jsx(
|
|
3665
|
+
children: /* @__PURE__ */ jsx(X, { className: "tw:size-4" })
|
|
3774
3666
|
}
|
|
3775
3667
|
),
|
|
3776
3668
|
/* @__PURE__ */ jsx(
|
|
@@ -3801,19 +3693,19 @@ var FormGroupError = ({ children, className, errors, ...rest }) => {
|
|
|
3801
3693
|
const messages = (errors ?? []).map(toMessage).filter((message) => !!message);
|
|
3802
3694
|
if (messages.length === 0) return null;
|
|
3803
3695
|
if (messages.length === 1) return messages[0];
|
|
3804
|
-
return /* @__PURE__ */ jsx("ul", { className: "tw
|
|
3696
|
+
return /* @__PURE__ */ 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__ */ jsx("li", { children: message }, index)) });
|
|
3805
3697
|
}, [children, errors]);
|
|
3806
3698
|
if (!content) return null;
|
|
3807
|
-
return /* @__PURE__ */ jsx("div", { ...rest, role: "alert", className: cn("tw
|
|
3699
|
+
return /* @__PURE__ */ jsx("div", { ...rest, role: "alert", className: cn("tw:m-0 tw:text-xs tw:text-destructive", className), children: content });
|
|
3808
3700
|
};
|
|
3809
|
-
var helpVariants = cva(["tw
|
|
3701
|
+
var helpVariants = cva(["tw:m-0", "tw:text-xs"], {
|
|
3810
3702
|
defaultVariants: {
|
|
3811
3703
|
state: "default"
|
|
3812
3704
|
},
|
|
3813
3705
|
variants: {
|
|
3814
3706
|
state: {
|
|
3815
|
-
default: ["tw
|
|
3816
|
-
warning: ["tw
|
|
3707
|
+
default: ["tw:text-muted-foreground"],
|
|
3708
|
+
warning: ["tw:text-warning"]
|
|
3817
3709
|
}
|
|
3818
3710
|
}
|
|
3819
3711
|
});
|
|
@@ -4027,14 +3919,14 @@ var TextInput = ({
|
|
|
4027
3919
|
onMouseDown: (e) => e.preventDefault(),
|
|
4028
3920
|
onClick: handleClear,
|
|
4029
3921
|
"data-testid": testId.clearButton,
|
|
4030
|
-
children: /* @__PURE__ */ jsx(
|
|
3922
|
+
children: /* @__PURE__ */ jsx(X, { className: "tw:size-4" })
|
|
4031
3923
|
}
|
|
4032
3924
|
),
|
|
4033
3925
|
rightSuffix && /* @__PURE__ */ jsx(
|
|
4034
3926
|
"div",
|
|
4035
3927
|
{
|
|
4036
3928
|
className: cn({
|
|
4037
|
-
"tw
|
|
3929
|
+
"tw:whitespace-nowrap tw:bg-muted tw:px-4 tw:-mr-4 tw:py-2.5": rightSuffixVariant === "addon"
|
|
4038
3930
|
}),
|
|
4039
3931
|
children: rightSuffix
|
|
4040
3932
|
}
|
|
@@ -4049,7 +3941,7 @@ var FormGroupTextInput = ({ ref, ...props }) => {
|
|
|
4049
3941
|
return /* @__PURE__ */ jsx(TextInput, { state, ...props, ref });
|
|
4050
3942
|
};
|
|
4051
3943
|
var FormGroup = ({ className, children, state, ...rest }) => {
|
|
4052
|
-
return /* @__PURE__ */ jsx(FormGroupProvider, { value: { state }, children: /* @__PURE__ */ jsx("div", { ...rest, className: cn("tw
|
|
3944
|
+
return /* @__PURE__ */ jsx(FormGroupProvider, { value: { state }, children: /* @__PURE__ */ jsx("div", { ...rest, className: cn("tw:flex tw:flex-col tw:gap-1", className), children }) });
|
|
4053
3945
|
};
|
|
4054
3946
|
FormGroup.Help = FormGroupHelp;
|
|
4055
3947
|
FormGroup.Error = FormGroupError;
|
|
@@ -4060,8 +3952,11 @@ FormGroup.Textarea = FormGroupTextarea;
|
|
|
4060
3952
|
|
|
4061
3953
|
// src/blocks/MarkdownEditor/plugins/toolbar/LinkPanel.tsx
|
|
4062
3954
|
init_Button2();
|
|
3955
|
+
|
|
3956
|
+
// src/components/ButtonGroup/ButtonGroup.tsx
|
|
3957
|
+
init_utils2();
|
|
4063
3958
|
var buttonGroupVariant = cva(
|
|
4064
|
-
["tailwindcss-preflight", "tw
|
|
3959
|
+
["tailwindcss-preflight", "tw:inline-flex", "tw:items-center", "tw:group/button-group"],
|
|
4065
3960
|
{
|
|
4066
3961
|
defaultVariants: {
|
|
4067
3962
|
variant: "inline",
|
|
@@ -4071,35 +3966,35 @@ var buttonGroupVariant = cva(
|
|
|
4071
3966
|
variant: {
|
|
4072
3967
|
inline: [],
|
|
4073
3968
|
block: [
|
|
4074
|
-
"tw
|
|
4075
|
-
"tw
|
|
4076
|
-
"sm:
|
|
4077
|
-
"[&_a]:
|
|
4078
|
-
"[&>button:not([data-icon-only=true])]:
|
|
3969
|
+
"tw:w-full",
|
|
3970
|
+
"tw:flex-col",
|
|
3971
|
+
"tw:sm:flex-row",
|
|
3972
|
+
"tw:[&_a]:flex-1",
|
|
3973
|
+
"tw:[&>button:not([data-icon-only=true])]:flex-1"
|
|
4079
3974
|
]
|
|
4080
3975
|
},
|
|
4081
3976
|
space: {
|
|
4082
|
-
"extra-small": "tw
|
|
4083
|
-
"little-small": "tw
|
|
4084
|
-
small: "tw
|
|
4085
|
-
medium: "tw
|
|
4086
|
-
large: "tw
|
|
3977
|
+
"extra-small": "tw:gap-1",
|
|
3978
|
+
"little-small": "tw:gap-2",
|
|
3979
|
+
small: "tw:gap-3",
|
|
3980
|
+
medium: "tw:gap-4",
|
|
3981
|
+
large: "tw:gap-6",
|
|
4087
3982
|
compact: [
|
|
4088
|
-
"tw
|
|
4089
|
-
"
|
|
3983
|
+
"tw:border-collapse",
|
|
3984
|
+
"tw:!gap-0",
|
|
4090
3985
|
// ensure that focus visible outline is at the top
|
|
4091
|
-
"[&>*:focus-visible]:!
|
|
4092
|
-
"[&>*:not(:first-child)]:
|
|
4093
|
-
"[&>*:not(:last-child)]:
|
|
4094
|
-
"[&>*:not(:last-child)]:
|
|
4095
|
-
"[&>*:not(:first-child)]:
|
|
3986
|
+
"tw:[&>*:focus-visible]:!z-10",
|
|
3987
|
+
"tw:[&>*:not(:first-child)]:rounded-l-none",
|
|
3988
|
+
"tw:[&>*:not(:last-child)]:rounded-r-none",
|
|
3989
|
+
"tw:[&>*:not(:last-child)]:border-r-0",
|
|
3990
|
+
"tw:[&>*:not(:first-child)]:border-l-0",
|
|
4096
3991
|
// separator
|
|
4097
|
-
"[&>*:not(:first-child)]:before:
|
|
4098
|
-
"[&>*:not(:first-child)]:before:
|
|
4099
|
-
"[&>*:not(:first-child)]:before:
|
|
4100
|
-
"[&>*:not(:first-child)]:before:
|
|
4101
|
-
"[&>*:not(:first-child)]:before:
|
|
4102
|
-
"[&>*:not(:first-child)]:before:
|
|
3992
|
+
"tw:[&>*:not(:first-child)]:before:content",
|
|
3993
|
+
"tw:[&>*:not(:first-child)]:before:absolute",
|
|
3994
|
+
"tw:[&>*:not(:first-child)]:before:left-0",
|
|
3995
|
+
"tw:[&>*:not(:first-child)]:before:h-full",
|
|
3996
|
+
"tw:[&>*:not(:first-child)]:before:w-px",
|
|
3997
|
+
"tw:[&>*:not(:first-child)]:before:bg-black/10"
|
|
4103
3998
|
]
|
|
4104
3999
|
}
|
|
4105
4000
|
}
|
|
@@ -4120,7 +4015,7 @@ var ButtonGroup = ({
|
|
|
4120
4015
|
...rest,
|
|
4121
4016
|
role: "group",
|
|
4122
4017
|
"data-variant": variant,
|
|
4123
|
-
className: buttonGroupVariant({ variant,
|
|
4018
|
+
className: cn(buttonGroupVariant({ variant, space }), className),
|
|
4124
4019
|
children
|
|
4125
4020
|
}
|
|
4126
4021
|
);
|
|
@@ -4128,8 +4023,8 @@ var ButtonGroup = ({
|
|
|
4128
4023
|
|
|
4129
4024
|
// src/components/Label/Label.tsx
|
|
4130
4025
|
init_utils2();
|
|
4131
|
-
var Optional = ({ className, ...props }) => /* @__PURE__ */ jsx("span", { ...props, "aria-hidden": true, className: cn("tw
|
|
4132
|
-
var Required = ({ className, ...props }) => /* @__PURE__ */ jsx("span", { ...props, "aria-hidden": true, className: cn("tw
|
|
4026
|
+
var Optional = ({ className, ...props }) => /* @__PURE__ */ jsx("span", { ...props, "aria-hidden": true, className: cn("tw:ml-0.5", "tw:text-muted-foreground", className), children: "(optional)" });
|
|
4027
|
+
var Required = ({ className, ...props }) => /* @__PURE__ */ jsx("span", { ...props, "aria-hidden": true, className: cn("tw:ml-0.5", "tw:text-primary", className), children: "*" });
|
|
4133
4028
|
var Label2 = ({ className, children, id, htmlFor, ...rest }) => /* @__PURE__ */ jsx(
|
|
4134
4029
|
RLabel.Root,
|
|
4135
4030
|
{
|
|
@@ -4137,7 +4032,7 @@ var Label2 = ({ className, children, id, htmlFor, ...rest }) => /* @__PURE__ */
|
|
|
4137
4032
|
id: id?.toString(),
|
|
4138
4033
|
htmlFor: htmlFor?.toString(),
|
|
4139
4034
|
className: cn(
|
|
4140
|
-
"tw
|
|
4035
|
+
"tw:m-0 tw:text-foreground tw:font-normal tw:peer-disabled:opacity-50",
|
|
4141
4036
|
className
|
|
4142
4037
|
),
|
|
4143
4038
|
children
|
|
@@ -4166,9 +4061,9 @@ var ToolbarButton = ({
|
|
|
4166
4061
|
disabled,
|
|
4167
4062
|
onClick,
|
|
4168
4063
|
className: cn(
|
|
4169
|
-
"tw
|
|
4170
|
-
"hover:
|
|
4171
|
-
active && "tw
|
|
4064
|
+
"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",
|
|
4065
|
+
"tw:hover:bg-accent tw:disabled:cursor-not-allowed tw:disabled:opacity-30",
|
|
4066
|
+
active && "tw:bg-secondary-100 tw:text-secondary-500",
|
|
4172
4067
|
extraClassName
|
|
4173
4068
|
),
|
|
4174
4069
|
children
|
|
@@ -4240,20 +4135,20 @@ var LinkPanel = ({ editor, isLink }) => {
|
|
|
4240
4135
|
active: true,
|
|
4241
4136
|
onClick: () => editor.dispatchCommand(TOGGLE_LINK_COMMAND, null),
|
|
4242
4137
|
tooltip: "Remove Link",
|
|
4243
|
-
children: /* @__PURE__ */ jsx(
|
|
4138
|
+
children: /* @__PURE__ */ jsx(Link, { className: "tw:size-4" })
|
|
4244
4139
|
}
|
|
4245
4140
|
);
|
|
4246
4141
|
}
|
|
4247
|
-
return /* @__PURE__ */ jsxs("div", { className: "tw
|
|
4248
|
-
/* @__PURE__ */ jsx(ToolbarButton, { active: open, onClick: handleOpen, tooltip: "Insert Link", children: /* @__PURE__ */ jsx(
|
|
4142
|
+
return /* @__PURE__ */ jsxs("div", { className: "tw:relative", children: [
|
|
4143
|
+
/* @__PURE__ */ jsx(ToolbarButton, { active: open, onClick: handleOpen, tooltip: "Insert Link", children: /* @__PURE__ */ jsx(Link, { className: "tw:size-4" }) }),
|
|
4249
4144
|
open && /* @__PURE__ */ jsx(
|
|
4250
4145
|
"div",
|
|
4251
4146
|
{
|
|
4252
4147
|
ref: panelRef,
|
|
4253
|
-
className: "tw
|
|
4254
|
-
children: /* @__PURE__ */ jsxs("div", { className: "tw
|
|
4148
|
+
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",
|
|
4149
|
+
children: /* @__PURE__ */ jsxs("div", { className: "tw:flex tw:flex-col tw:gap-2", children: [
|
|
4255
4150
|
/* @__PURE__ */ jsxs(FormGroup, { children: [
|
|
4256
|
-
/* @__PURE__ */ jsx(Label2, { htmlFor: "link-label", className: "tw
|
|
4151
|
+
/* @__PURE__ */ jsx(Label2, { htmlFor: "link-label", className: "tw:mb-1 tw:text-xs", children: "Label" }),
|
|
4257
4152
|
/* @__PURE__ */ jsx(
|
|
4258
4153
|
TextInput,
|
|
4259
4154
|
{
|
|
@@ -4268,7 +4163,7 @@ var LinkPanel = ({ editor, isLink }) => {
|
|
|
4268
4163
|
)
|
|
4269
4164
|
] }),
|
|
4270
4165
|
/* @__PURE__ */ jsxs(FormGroup, { children: [
|
|
4271
|
-
/* @__PURE__ */ jsx(Label2, { htmlFor: "link-url", className: "tw
|
|
4166
|
+
/* @__PURE__ */ jsx(Label2, { htmlFor: "link-url", className: "tw:mb-1 tw:text-xs", children: "URL" }),
|
|
4272
4167
|
/* @__PURE__ */ jsx(
|
|
4273
4168
|
TextInput,
|
|
4274
4169
|
{
|
|
@@ -4290,7 +4185,7 @@ var LinkPanel = ({ editor, isLink }) => {
|
|
|
4290
4185
|
)
|
|
4291
4186
|
] });
|
|
4292
4187
|
};
|
|
4293
|
-
var ToolbarDivider = () => /* @__PURE__ */ jsx("div", { className: "tw
|
|
4188
|
+
var ToolbarDivider = () => /* @__PURE__ */ jsx("div", { className: "tw:mx-0.5 tw:h-5 tw:w-px tw:bg-border" });
|
|
4294
4189
|
var ELEMENT_FORMAT_TYPES = ["left", "center", "right", "justify", "start", "end", ""];
|
|
4295
4190
|
var isElementFormatType = (value) => ELEMENT_FORMAT_TYPES.includes(value);
|
|
4296
4191
|
var toElementFormatType = (value) => isElementFormatType(value) ? value : "left";
|
|
@@ -4399,7 +4294,7 @@ var ToolbarPlugin = () => {
|
|
|
4399
4294
|
"aria-label": "Formatting options",
|
|
4400
4295
|
onMouseDown: (e) => e.preventDefault(),
|
|
4401
4296
|
style: { top: position.top, left: position.left },
|
|
4402
|
-
className: "tw
|
|
4297
|
+
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",
|
|
4403
4298
|
children: [
|
|
4404
4299
|
/* @__PURE__ */ jsx(BlockTypeDropdown, { editor, blockType }),
|
|
4405
4300
|
/* @__PURE__ */ jsx(ToolbarDivider, {}),
|
|
@@ -4409,7 +4304,7 @@ var ToolbarPlugin = () => {
|
|
|
4409
4304
|
active: isBold,
|
|
4410
4305
|
onClick: () => editor.dispatchCommand(FORMAT_TEXT_COMMAND, "bold"),
|
|
4411
4306
|
tooltip: "Bold (Ctrl+B)",
|
|
4412
|
-
children: /* @__PURE__ */ jsx(
|
|
4307
|
+
children: /* @__PURE__ */ jsx(Bold, { className: "tw:size-4" })
|
|
4413
4308
|
}
|
|
4414
4309
|
),
|
|
4415
4310
|
/* @__PURE__ */ jsx(
|
|
@@ -4418,7 +4313,7 @@ var ToolbarPlugin = () => {
|
|
|
4418
4313
|
active: isItalic,
|
|
4419
4314
|
onClick: () => editor.dispatchCommand(FORMAT_TEXT_COMMAND, "italic"),
|
|
4420
4315
|
tooltip: "Italic (Ctrl+I)",
|
|
4421
|
-
children: /* @__PURE__ */ jsx(
|
|
4316
|
+
children: /* @__PURE__ */ jsx(Italic, { className: "tw:size-4" })
|
|
4422
4317
|
}
|
|
4423
4318
|
),
|
|
4424
4319
|
/* @__PURE__ */ jsx(
|
|
@@ -4427,7 +4322,7 @@ var ToolbarPlugin = () => {
|
|
|
4427
4322
|
active: isUnderline,
|
|
4428
4323
|
onClick: () => editor.dispatchCommand(FORMAT_TEXT_COMMAND, "underline"),
|
|
4429
4324
|
tooltip: "Underline (Ctrl+U)",
|
|
4430
|
-
children: /* @__PURE__ */ jsx(
|
|
4325
|
+
children: /* @__PURE__ */ jsx(Underline, { className: "tw:size-4" })
|
|
4431
4326
|
}
|
|
4432
4327
|
),
|
|
4433
4328
|
/* @__PURE__ */ jsx(
|
|
@@ -4436,7 +4331,7 @@ var ToolbarPlugin = () => {
|
|
|
4436
4331
|
active: isStrikethrough,
|
|
4437
4332
|
onClick: () => editor.dispatchCommand(FORMAT_TEXT_COMMAND, "strikethrough"),
|
|
4438
4333
|
tooltip: "Strikethrough",
|
|
4439
|
-
children: /* @__PURE__ */ jsx(
|
|
4334
|
+
children: /* @__PURE__ */ jsx(Strikethrough, { className: "tw:size-4" })
|
|
4440
4335
|
}
|
|
4441
4336
|
),
|
|
4442
4337
|
/* @__PURE__ */ jsx(
|
|
@@ -4445,7 +4340,7 @@ var ToolbarPlugin = () => {
|
|
|
4445
4340
|
active: isCode,
|
|
4446
4341
|
onClick: () => editor.dispatchCommand(FORMAT_TEXT_COMMAND, "code"),
|
|
4447
4342
|
tooltip: "Inline Code",
|
|
4448
|
-
children: /* @__PURE__ */ jsx(
|
|
4343
|
+
children: /* @__PURE__ */ jsx(Code, { className: "tw:size-4" })
|
|
4449
4344
|
}
|
|
4450
4345
|
),
|
|
4451
4346
|
/* @__PURE__ */ jsx(ToolbarDivider, {}),
|
|
@@ -4463,7 +4358,7 @@ var ToolbarPlugin = () => {
|
|
|
4463
4358
|
}
|
|
4464
4359
|
},
|
|
4465
4360
|
tooltip: "Bullet List",
|
|
4466
|
-
children: /* @__PURE__ */ jsx(
|
|
4361
|
+
children: /* @__PURE__ */ jsx(List, { className: "tw:size-4" })
|
|
4467
4362
|
}
|
|
4468
4363
|
),
|
|
4469
4364
|
/* @__PURE__ */ jsx(
|
|
@@ -4478,7 +4373,7 @@ var ToolbarPlugin = () => {
|
|
|
4478
4373
|
}
|
|
4479
4374
|
},
|
|
4480
4375
|
tooltip: "Numbered List",
|
|
4481
|
-
children: /* @__PURE__ */ jsx(
|
|
4376
|
+
children: /* @__PURE__ */ jsx(ListOrdered, { className: "tw:size-4" })
|
|
4482
4377
|
}
|
|
4483
4378
|
),
|
|
4484
4379
|
/* @__PURE__ */ jsx(ToolbarDivider, {}),
|
|
@@ -4500,7 +4395,7 @@ var ToolbarPlugin = () => {
|
|
|
4500
4395
|
});
|
|
4501
4396
|
},
|
|
4502
4397
|
tooltip: "Quote",
|
|
4503
|
-
children: /* @__PURE__ */ jsx(
|
|
4398
|
+
children: /* @__PURE__ */ jsx(Quote, { className: "tw:size-4" })
|
|
4504
4399
|
}
|
|
4505
4400
|
),
|
|
4506
4401
|
/* @__PURE__ */ jsx(
|
|
@@ -4519,7 +4414,7 @@ var ToolbarPlugin = () => {
|
|
|
4519
4414
|
});
|
|
4520
4415
|
},
|
|
4521
4416
|
tooltip: "Code Block",
|
|
4522
|
-
children: /* @__PURE__ */ jsx(
|
|
4417
|
+
children: /* @__PURE__ */ jsx(SquareCode, { className: "tw:size-4" })
|
|
4523
4418
|
}
|
|
4524
4419
|
)
|
|
4525
4420
|
]
|
|
@@ -4531,33 +4426,33 @@ var ToolbarPlugin = () => {
|
|
|
4531
4426
|
|
|
4532
4427
|
// src/blocks/MarkdownEditor/theme.ts
|
|
4533
4428
|
var editorTheme = {
|
|
4534
|
-
link: "tw
|
|
4429
|
+
link: "tw:cursor-pointer tw:!text-primary tw:underline",
|
|
4535
4430
|
text: {
|
|
4536
|
-
bold: "tw
|
|
4537
|
-
italic: "tw
|
|
4538
|
-
strikethrough: "tw
|
|
4539
|
-
underline: "tw
|
|
4540
|
-
code: "tw
|
|
4431
|
+
bold: "tw:font-bold",
|
|
4432
|
+
italic: "tw:italic",
|
|
4433
|
+
strikethrough: "tw:line-through",
|
|
4434
|
+
underline: "tw:underline",
|
|
4435
|
+
code: "tw:rounded tw:bg-muted tw:px-1 tw:py-0.5 tw:font-mono tw:text-[0.85em]"
|
|
4541
4436
|
},
|
|
4542
4437
|
list: {
|
|
4543
|
-
ol: "
|
|
4544
|
-
ul: "
|
|
4545
|
-
checklist: "
|
|
4438
|
+
ol: "tw:!list-decimal",
|
|
4439
|
+
ul: "tw:!list-disc",
|
|
4440
|
+
checklist: "tw:!list-none tw:!pl-0",
|
|
4546
4441
|
listitemChecked: [
|
|
4547
|
-
"tw
|
|
4548
|
-
'before:
|
|
4549
|
-
"before:
|
|
4550
|
-
"before:
|
|
4551
|
-
'after:
|
|
4552
|
-
"after:
|
|
4553
|
-
"after:
|
|
4554
|
-
"after:
|
|
4442
|
+
"tw:relative tw:!pl-6 tw:list-none tw:outline-hidden tw:line-through tw:text-muted-foreground",
|
|
4443
|
+
'tw:before:content-[""] tw:before:absolute tw:before:left-0 tw:before:top-[3px]',
|
|
4444
|
+
"tw:before:size-4 tw:before:rounded tw:before:border tw:before:border-solid",
|
|
4445
|
+
"tw:before:bg-primary tw:before:border-primary tw:before:cursor-pointer",
|
|
4446
|
+
'tw:after:content-[""] tw:after:absolute tw:after:left-[5.5px] tw:after:top-[5.5px]',
|
|
4447
|
+
"tw:after:w-1 tw:after:h-2 tw:after:border-primary-foreground tw:after:border-solid",
|
|
4448
|
+
"tw:after:border-r-[1.5px] tw:after:border-b-[1.5px] tw:after:border-t-0 tw:after:border-l-0",
|
|
4449
|
+
"tw:after:rotate-45"
|
|
4555
4450
|
].join(" "),
|
|
4556
4451
|
listitemUnchecked: [
|
|
4557
|
-
"tw
|
|
4558
|
-
'before:
|
|
4559
|
-
"before:
|
|
4560
|
-
"before:
|
|
4452
|
+
"tw:relative tw:!pl-6 tw:list-none tw:outline-hidden",
|
|
4453
|
+
'tw:before:content-[""] tw:before:absolute tw:before:left-0 tw:before:top-[3px]',
|
|
4454
|
+
"tw:before:size-4 tw:before:rounded tw:before:border tw:before:border-solid",
|
|
4455
|
+
"tw:before:border-input tw:before:bg-background tw:before:cursor-pointer"
|
|
4561
4456
|
].join(" ")
|
|
4562
4457
|
}
|
|
4563
4458
|
};
|
|
@@ -4621,16 +4516,16 @@ var MarkdownEditor = ({
|
|
|
4621
4516
|
"div",
|
|
4622
4517
|
{
|
|
4623
4518
|
className: cn(
|
|
4624
|
-
!compact && "tw
|
|
4625
|
-
// Compact mode drops `tw
|
|
4519
|
+
!compact && "tw:prose",
|
|
4520
|
+
// Compact mode drops `tw:prose`, so Lexical's <p> wrappers fall back to the browser
|
|
4626
4521
|
// default `margin: 1em 0` — visually huge at heading sizes. Zero them, and use the
|
|
4627
4522
|
// adjacent-sibling selector for paragraph spacing so single-paragraph blocks (titles,
|
|
4628
4523
|
// short descriptions) stay tight while multi-paragraph blocks still breathe.
|
|
4629
|
-
compact && "[&_p]:
|
|
4524
|
+
compact && "tw:[&_p]:m-0 tw:[&_p+p]:mt-2",
|
|
4630
4525
|
// Display-state clamp: 2 lines, dropped in focus-within so editing expands to full
|
|
4631
4526
|
// height. line-clamp is self-gating (no effect below 3 lines), so short/empty content
|
|
4632
4527
|
// renders clean; a CSS fade can't gate on overflow without JS, so it's omitted.
|
|
4633
|
-
clampDisplay && "[&:not(:focus-within)]:
|
|
4528
|
+
clampDisplay && "tw:[&:not(:focus-within)]:line-clamp-2",
|
|
4634
4529
|
className
|
|
4635
4530
|
),
|
|
4636
4531
|
onBlur: handleBlur,
|
|
@@ -4640,12 +4535,12 @@ var MarkdownEditor = ({
|
|
|
4640
4535
|
"div",
|
|
4641
4536
|
{
|
|
4642
4537
|
className: cn(
|
|
4643
|
-
"tw
|
|
4538
|
+
"tw:relative tw:rounded-md tw:transition-colors",
|
|
4644
4539
|
// In compact mode the padding lets the hover bg / focus ring extend past the text,
|
|
4645
4540
|
// but a matching negative margin shifts the wrapper outward so the text itself stays
|
|
4646
4541
|
// aligned with the parent's content edge (i.e. with where static text would render).
|
|
4647
|
-
compact ? "tw
|
|
4648
|
-
editable && "tw
|
|
4542
|
+
compact ? "tw:px-1.5 tw:py-0.5 tw:-mx-1.5 tw:-my-0.5" : "tw:p-2",
|
|
4543
|
+
editable && "tw:cursor-text tw:hover:bg-muted tw:focus-within:ring-2 tw:focus-within:ring-ring/40"
|
|
4649
4544
|
),
|
|
4650
4545
|
children: /* @__PURE__ */ jsx(
|
|
4651
4546
|
RichTextPlugin,
|
|
@@ -4653,15 +4548,15 @@ var MarkdownEditor = ({
|
|
|
4653
4548
|
contentEditable: /* @__PURE__ */ jsx(
|
|
4654
4549
|
ContentEditable,
|
|
4655
4550
|
{
|
|
4656
|
-
className: cn("tw
|
|
4551
|
+
className: cn("tw:outline-hidden", useDefaultMinHeight && "tw:min-h-[100px]"),
|
|
4657
4552
|
style: customMinHeight,
|
|
4658
4553
|
"aria-placeholder": placeholder ?? "",
|
|
4659
4554
|
placeholder: placeholder ? /* @__PURE__ */ jsx(
|
|
4660
4555
|
"div",
|
|
4661
4556
|
{
|
|
4662
4557
|
className: cn(
|
|
4663
|
-
"tw
|
|
4664
|
-
compact ? "tw
|
|
4558
|
+
"tw:pointer-events-none tw:absolute tw:select-none tw:text-muted-foreground",
|
|
4559
|
+
compact ? "tw:left-1.5 tw:top-0.5" : "tw:left-2 tw:top-[calc(0.5rem+0.35em)]"
|
|
4665
4560
|
),
|
|
4666
4561
|
children: placeholder
|
|
4667
4562
|
}
|