canvas-ui-sdk 0.3.7 → 0.3.8
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/dist/index.js +270 -223
- package/dist/index.js.map +1 -1
- package/mcp/dist/index.js +14 -2
- package/package.json +1 -1
- package/registry/blocks/canvas-item.json +1 -1
- package/registry/blocks/chat-message.json +1 -1
- package/registry/blocks/component-palette.json +1 -1
- package/registry/blocks/component-search.json +1 -1
- package/registry/blocks/content-dropzone.json +1 -1
- package/registry/blocks/credit-card-display.json +1 -1
- package/registry/blocks/custom-component-helper.json +1 -1
- package/registry/blocks/empty-state.json +1 -1
- package/registry/blocks/filter-popover.json +1 -1
- package/registry/blocks/fixed-column-data-table.json +1 -1
- package/registry/blocks/infinity-canvas.json +1 -1
- package/registry/blocks/menu-section.json +1 -1
- package/registry/blocks/messenger-sidebar.json +1 -1
- package/registry/blocks/mobile-bottom-nav.json +1 -1
- package/registry/blocks/monthly-calendar-widget.json +1 -1
- package/registry/blocks/page-header-section.json +1 -1
- package/registry/blocks/page-previews.json +1 -1
- package/registry/blocks/pagination.json +1 -1
- package/registry/blocks/persona-card.json +1 -1
- package/registry/blocks/pricing-cards.json +1 -1
- package/registry/blocks/profile-card.json +1 -1
- package/registry/blocks/profile-info-cards.json +1 -1
- package/registry/blocks/prompt-template.json +1 -1
- package/registry/blocks/screen-flowchart.json +1 -1
- package/registry/blocks/screen-prompt-builder.json +1 -1
- package/registry/blocks/screen-prompt-template.json +1 -1
- package/registry/blocks/search-bar.json +1 -1
- package/registry/blocks/sidebar-cards.json +1 -1
- package/registry/blocks/sidebar-profile-card.json +1 -1
- package/registry/blocks/step-tracker.json +1 -1
- package/registry/blocks/vertical-step-tracker.json +1 -1
- package/registry/blocks/video-chat-controls.json +1 -1
- package/registry/layout/account-settings-shell.json +1 -1
- package/registry/layout/dashboard-shell.json +1 -1
- package/registry/layout/double-sidebar-shell.json +1 -1
- package/registry/layout/double-sidebar.json +1 -1
- package/registry/layout/header.json +1 -1
- package/registry/layout/icon-sidebar-shell.json +1 -1
- package/registry/layout/icon-sidebar.json +1 -1
- package/registry/layout/mobile-menu-shell.json +1 -1
- package/registry/layout/multistep-progressbar-shell.json +1 -1
- package/registry/layout/multistep-shell.json +1 -1
- package/registry/layout/multistep-sidebar-shell.json +1 -1
- package/registry/layout/project-context-shell.json +1 -1
- package/registry/layout/search-bar-shell.json +1 -1
- package/registry/layout/sidebar.json +1 -1
- package/registry/layout/standard-page-shell.json +1 -1
- package/registry/layout/vertical-multistep-shell.json +1 -1
- package/registry/ui/avatar.json +1 -1
- package/registry/ui/checkbox.json +1 -1
- package/registry/ui/date-input.json +1 -1
- package/registry/ui/image-uploader.json +1 -1
- package/registry/ui/multiselect-checkbox-field.json +1 -1
- package/registry/ui/multiselect-tags.json +1 -1
- package/registry/ui/radio-group.json +1 -1
- package/registry/ui/searchbox.json +1 -1
- package/registry/ui/select.json +1 -1
- package/registry/ui/selectable-pills.json +1 -1
- package/registry/ui/slider.json +1 -1
- package/registry/ui/switch.json +1 -1
- package/registry/ui/text-input.json +1 -1
- package/registry/ui/textarea.json +1 -1
- package/styles/tokens.reference.css +9 -0
package/dist/index.js
CHANGED
|
@@ -74,7 +74,7 @@ function AvatarFallback({
|
|
|
74
74
|
{
|
|
75
75
|
"data-slot": "avatar-fallback",
|
|
76
76
|
className: cn(
|
|
77
|
-
"bg-
|
|
77
|
+
"bg-[var(--canvas-surface)] flex size-full items-center justify-center rounded-full",
|
|
78
78
|
className
|
|
79
79
|
),
|
|
80
80
|
...props
|
|
@@ -412,7 +412,7 @@ var Checkbox = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
412
412
|
ref,
|
|
413
413
|
className: cn(
|
|
414
414
|
"peer size-4 shrink-0 rounded-[var(--radius-xs)] border border-[var(--canvas-border-input)]",
|
|
415
|
-
"bg-
|
|
415
|
+
"bg-[var(--canvas-background)] transition-colors",
|
|
416
416
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--canvas-border-input-focus)] focus-visible:ring-offset-2",
|
|
417
417
|
"disabled:cursor-not-allowed disabled:bg-[var(--canvas-input-disabled-bg)] disabled:border-[var(--canvas-input-disabled-border)]",
|
|
418
418
|
"data-[state=checked]:bg-[var(--canvas-primary)] data-[state=checked]:border-[var(--canvas-primary)]",
|
|
@@ -423,7 +423,7 @@ var Checkbox = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
423
423
|
children: /* @__PURE__ */ jsx(
|
|
424
424
|
CheckboxPrimitive.Indicator,
|
|
425
425
|
{
|
|
426
|
-
className: cn("flex items-center justify-center text-
|
|
426
|
+
className: cn("flex items-center justify-center text-[var(--canvas-primary-foreground)]"),
|
|
427
427
|
children: /* @__PURE__ */ jsx(Check, { className: "size-3", strokeWidth: 2.5 })
|
|
428
428
|
}
|
|
429
429
|
)
|
|
@@ -466,7 +466,7 @@ var DateInput = React13.forwardRef(
|
|
|
466
466
|
"div",
|
|
467
467
|
{
|
|
468
468
|
className: cn(
|
|
469
|
-
"flex items-center gap-2 bg-
|
|
469
|
+
"flex items-center gap-2 bg-[var(--canvas-background)] border border-[var(--canvas-border-input)]",
|
|
470
470
|
"focus-within:border-[var(--canvas-border-input-focus)] focus-within:ring-2 focus-within:ring-[var(--canvas-border-input-focus)] focus-within:ring-offset-2",
|
|
471
471
|
"has-[:disabled]:cursor-not-allowed has-[:disabled]:bg-[var(--canvas-input-disabled-bg)] has-[:disabled]:border-[var(--canvas-input-disabled-border)]",
|
|
472
472
|
className
|
|
@@ -1236,7 +1236,7 @@ var ImageUploader = React13.forwardRef(
|
|
|
1236
1236
|
disabled: disabled || isFirst,
|
|
1237
1237
|
className: cn(
|
|
1238
1238
|
"flex items-center justify-center rounded-full transition-colors",
|
|
1239
|
-
isFirst || disabled ? "bg-[var(--canvas-surface)] border border-[var(--canvas-border)] text-[var(--canvas-text-muted)]" : "bg-[var(--canvas-text)] text-
|
|
1239
|
+
isFirst || disabled ? "bg-[var(--canvas-surface)] border border-[var(--canvas-border)] text-[var(--canvas-text-muted)]" : "bg-[var(--canvas-text)] text-[var(--canvas-primary-foreground)]"
|
|
1240
1240
|
),
|
|
1241
1241
|
style: { width: "24px", height: "24px" },
|
|
1242
1242
|
children: /* @__PURE__ */ jsx(ChevronLeft, { style: { width: "16px", height: "16px" } })
|
|
@@ -1253,7 +1253,7 @@ var ImageUploader = React13.forwardRef(
|
|
|
1253
1253
|
disabled: disabled || isLast,
|
|
1254
1254
|
className: cn(
|
|
1255
1255
|
"flex items-center justify-center rounded-full transition-colors",
|
|
1256
|
-
isLast || disabled ? "bg-[var(--canvas-surface)] border border-[var(--canvas-border)] text-[var(--canvas-text-muted)]" : "bg-[var(--canvas-text)] text-
|
|
1256
|
+
isLast || disabled ? "bg-[var(--canvas-surface)] border border-[var(--canvas-border)] text-[var(--canvas-text-muted)]" : "bg-[var(--canvas-text)] text-[var(--canvas-primary-foreground)]"
|
|
1257
1257
|
),
|
|
1258
1258
|
style: { width: "24px", height: "24px" },
|
|
1259
1259
|
children: /* @__PURE__ */ jsx(ChevronRight, { style: { width: "16px", height: "16px" } })
|
|
@@ -1268,7 +1268,7 @@ var ImageUploader = React13.forwardRef(
|
|
|
1268
1268
|
handleDelete(image.id);
|
|
1269
1269
|
},
|
|
1270
1270
|
disabled,
|
|
1271
|
-
className: "flex items-center justify-center rounded-full bg-[var(--canvas-text)] text-
|
|
1271
|
+
className: "flex items-center justify-center rounded-full bg-[var(--canvas-text)] text-[var(--canvas-primary-foreground)] transition-colors",
|
|
1272
1272
|
style: { width: "24px", height: "24px" },
|
|
1273
1273
|
children: /* @__PURE__ */ jsx(Trash2, { style: { width: "16px", height: "16px" } })
|
|
1274
1274
|
}
|
|
@@ -1400,7 +1400,7 @@ var MultiselectCheckboxField = React13.forwardRef(
|
|
|
1400
1400
|
onClick: () => handleToggle(option.id),
|
|
1401
1401
|
disabled,
|
|
1402
1402
|
className: cn(
|
|
1403
|
-
"flex items-center gap-2 bg-
|
|
1403
|
+
"flex items-center gap-2 bg-[var(--canvas-background)] border overflow-hidden transition-colors",
|
|
1404
1404
|
"focus:outline-none focus:ring-2 focus:ring-[var(--canvas-border-input-focus)] focus:ring-offset-2",
|
|
1405
1405
|
isSelected ? "border-[var(--canvas-primary)]" : "border-[var(--canvas-border-input)]",
|
|
1406
1406
|
disabled && "cursor-not-allowed bg-[var(--canvas-input-disabled-bg)] border-[var(--canvas-input-disabled-border)] opacity-60"
|
|
@@ -1422,7 +1422,7 @@ var MultiselectCheckboxField = React13.forwardRef(
|
|
|
1422
1422
|
{
|
|
1423
1423
|
className: cn(
|
|
1424
1424
|
"flex items-center justify-center shrink-0 rounded-[var(--radius-xs)] border transition-colors",
|
|
1425
|
-
isSelected ? "bg-[var(--canvas-primary)] border-[var(--canvas-primary)]" : "bg-
|
|
1425
|
+
isSelected ? "bg-[var(--canvas-primary)] border-[var(--canvas-primary)]" : "bg-[var(--canvas-background)] border-[var(--canvas-border-input)]",
|
|
1426
1426
|
disabled && "opacity-60"
|
|
1427
1427
|
),
|
|
1428
1428
|
style: {
|
|
@@ -1432,7 +1432,7 @@ var MultiselectCheckboxField = React13.forwardRef(
|
|
|
1432
1432
|
children: isSelected && /* @__PURE__ */ jsx(
|
|
1433
1433
|
Check,
|
|
1434
1434
|
{
|
|
1435
|
-
className: "text-
|
|
1435
|
+
className: "text-[var(--canvas-primary-foreground)]",
|
|
1436
1436
|
style: {
|
|
1437
1437
|
width: inputSize === "sm" ? "12px" : "16px",
|
|
1438
1438
|
height: inputSize === "sm" ? "12px" : "16px"
|
|
@@ -1489,7 +1489,7 @@ var MultiselectTags = React13.forwardRef(
|
|
|
1489
1489
|
"div",
|
|
1490
1490
|
{
|
|
1491
1491
|
className: cn(
|
|
1492
|
-
"flex flex-wrap items-center gap-1.5 bg-
|
|
1492
|
+
"flex flex-wrap items-center gap-1.5 bg-[var(--canvas-background)] border border-[var(--canvas-border-input)] p-1.5",
|
|
1493
1493
|
"focus-within:border-[var(--canvas-border-input-focus)] focus-within:ring-2 focus-within:ring-[var(--canvas-border-input-focus)] focus-within:ring-offset-2",
|
|
1494
1494
|
disabled && "cursor-not-allowed bg-[var(--canvas-input-disabled-bg)] border-[var(--canvas-input-disabled-border)]",
|
|
1495
1495
|
className
|
|
@@ -1603,7 +1603,7 @@ function RadioGroupItem({
|
|
|
1603
1603
|
{
|
|
1604
1604
|
"data-slot": "radio-group-item",
|
|
1605
1605
|
className: cn(
|
|
1606
|
-
"aspect-square size-4 shrink-0 rounded-full border border-[var(--canvas-border-input)] bg-
|
|
1606
|
+
"aspect-square size-4 shrink-0 rounded-full border border-[var(--canvas-border-input)] bg-[var(--canvas-background)] transition-colors",
|
|
1607
1607
|
"outline-none focus-visible:ring-2 focus-visible:ring-[var(--canvas-border-input-focus)] focus-visible:ring-offset-2",
|
|
1608
1608
|
"aria-invalid:border-[var(--canvas-border-input-invalid)] aria-invalid:ring-[var(--canvas-border-input-invalid)]/20",
|
|
1609
1609
|
"disabled:cursor-not-allowed disabled:bg-[var(--canvas-input-disabled-bg)] disabled:border-[var(--canvas-input-disabled-border)]",
|
|
@@ -1632,7 +1632,7 @@ var TextInput = React13.forwardRef(
|
|
|
1632
1632
|
ref,
|
|
1633
1633
|
disabled,
|
|
1634
1634
|
className: cn(
|
|
1635
|
-
"w-full bg-
|
|
1635
|
+
"w-full bg-[var(--canvas-background)] border border-[var(--canvas-border-input)]",
|
|
1636
1636
|
"text-[var(--canvas-text)] placeholder:text-[var(--canvas-text-placeholder)]",
|
|
1637
1637
|
"focus:outline-none focus:border-[var(--canvas-border-input-focus)] focus:ring-2 focus:ring-[var(--canvas-border-input-focus)] focus:ring-offset-2",
|
|
1638
1638
|
"disabled:cursor-not-allowed disabled:bg-[var(--canvas-input-disabled-bg)] disabled:border-[var(--canvas-input-disabled-border)] disabled:text-[var(--canvas-input-disabled-text)]",
|
|
@@ -1781,7 +1781,7 @@ var Searchbox = React13.forwardRef(
|
|
|
1781
1781
|
"div",
|
|
1782
1782
|
{
|
|
1783
1783
|
className: cn(
|
|
1784
|
-
"flex items-center gap-2 bg-
|
|
1784
|
+
"flex items-center gap-2 bg-[var(--canvas-background)] border border-[var(--canvas-border-input)]",
|
|
1785
1785
|
"focus-within:border-[var(--canvas-border-input-focus)] focus-within:ring-2 focus-within:ring-[var(--canvas-border-input-focus)] focus-within:ring-offset-2",
|
|
1786
1786
|
"has-[:disabled]:cursor-not-allowed has-[:disabled]:bg-[var(--canvas-input-disabled-bg)] has-[:disabled]:border-[var(--canvas-input-disabled-border)]",
|
|
1787
1787
|
className
|
|
@@ -1822,7 +1822,7 @@ var Searchbox = React13.forwardRef(
|
|
|
1822
1822
|
Searchbox.displayName = "Searchbox";
|
|
1823
1823
|
var selectTriggerVariants = cva(
|
|
1824
1824
|
// Base styles using CSS variables
|
|
1825
|
-
"flex w-full items-center justify-between gap-2 bg-
|
|
1825
|
+
"flex w-full items-center justify-between gap-2 bg-[var(--canvas-background)] border border-[var(--canvas-border-input)] text-[var(--canvas-text)] whitespace-nowrap transition-colors outline-none focus:border-[var(--canvas-border-input-focus)] focus:ring-2 focus:ring-[var(--canvas-border-input-focus)] focus:ring-offset-2 disabled:cursor-not-allowed disabled:bg-[var(--canvas-input-disabled-bg)] disabled:border-[var(--canvas-input-disabled-border)] disabled:text-[var(--canvas-input-disabled-text)] aria-invalid:border-[var(--canvas-border-input-invalid)] data-[placeholder]:text-[var(--canvas-text-placeholder)] [&_svg:not([class*='text-'])]:text-[var(--canvas-text-muted)] [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 font-[family-name:var(--typo-global-font)]",
|
|
1826
1826
|
{
|
|
1827
1827
|
variants: {
|
|
1828
1828
|
inputSize: {
|
|
@@ -2059,7 +2059,7 @@ var SelectablePills = React13.forwardRef(
|
|
|
2059
2059
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--canvas-border-input-focus)] focus-visible:ring-offset-2",
|
|
2060
2060
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
2061
2061
|
styles.pill,
|
|
2062
|
-
isSelected ? "bg-[var(--canvas-surface-brand)] border-[var(--canvas-primary)] text-[var(--canvas-primary)]" : "bg-
|
|
2062
|
+
isSelected ? "bg-[var(--canvas-surface-brand)] border-[var(--canvas-primary)] text-[var(--canvas-primary)]" : "bg-[var(--canvas-background)] border-[var(--canvas-border)] text-[var(--canvas-text-muted)] hover:border-[var(--canvas-text-muted)]"
|
|
2063
2063
|
),
|
|
2064
2064
|
children: option.label
|
|
2065
2065
|
},
|
|
@@ -2939,7 +2939,7 @@ var Slider = React13.forwardRef(({
|
|
|
2939
2939
|
SliderPrimitive.Thumb,
|
|
2940
2940
|
{
|
|
2941
2941
|
className: cn(
|
|
2942
|
-
"block rounded-full border-2 border-
|
|
2942
|
+
"block rounded-full border-2 border-[var(--canvas-background)] bg-[var(--canvas-primary)]",
|
|
2943
2943
|
"shadow-[0px_1px_2px_0px_rgba(0,0,0,0.08)]",
|
|
2944
2944
|
"ring-offset-background transition-colors",
|
|
2945
2945
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--canvas-border-input-focus)] focus-visible:ring-offset-2",
|
|
@@ -2986,7 +2986,7 @@ function Switch({
|
|
|
2986
2986
|
{
|
|
2987
2987
|
"data-slot": "switch-thumb",
|
|
2988
2988
|
className: cn(
|
|
2989
|
-
"pointer-events-none block size-4 rounded-full bg-
|
|
2989
|
+
"pointer-events-none block size-4 rounded-full bg-[var(--canvas-background)] ring-0 transition-transform",
|
|
2990
2990
|
"data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"
|
|
2991
2991
|
)
|
|
2992
2992
|
}
|
|
@@ -3054,7 +3054,7 @@ function TabsContent({
|
|
|
3054
3054
|
}
|
|
3055
3055
|
var textareaVariants = cva(
|
|
3056
3056
|
// Base styles using CSS variables
|
|
3057
|
-
"flex w-full bg-
|
|
3057
|
+
"flex w-full bg-[var(--canvas-background)] border border-[var(--canvas-border-input)] text-[var(--canvas-text)] placeholder:text-[var(--canvas-text-placeholder)] transition-colors resize-none focus:outline-none focus:border-[var(--canvas-border-input-focus)] focus:ring-2 focus:ring-[var(--canvas-border-input-focus)] focus:ring-offset-2 disabled:cursor-not-allowed disabled:bg-[var(--canvas-input-disabled-bg)] disabled:border-[var(--canvas-input-disabled-border)] disabled:text-[var(--canvas-input-disabled-text)] aria-invalid:border-[var(--canvas-border-input-invalid)]",
|
|
3058
3058
|
{
|
|
3059
3059
|
variants: {
|
|
3060
3060
|
inputSize: {
|
|
@@ -3122,8 +3122,20 @@ var colorVariables = [
|
|
|
3122
3122
|
{ name: "--canvas-primary", default: "#1165ef", label: "Primary" },
|
|
3123
3123
|
{ name: "--canvas-primary-dark", default: "#093378", label: "Primary Dark" },
|
|
3124
3124
|
{ name: "--canvas-primary-foreground", default: "#ffffff", label: "Primary Text" },
|
|
3125
|
-
{ name: "--canvas-flair-bg", default: "#093378", label: "Flair Background" }
|
|
3126
|
-
|
|
3125
|
+
{ name: "--canvas-flair-bg", default: "#093378", label: "Flair Background" }
|
|
3126
|
+
]
|
|
3127
|
+
},
|
|
3128
|
+
{
|
|
3129
|
+
category: "Status",
|
|
3130
|
+
variables: [
|
|
3131
|
+
{ name: "--canvas-success", default: "#08875d", label: "Success" },
|
|
3132
|
+
{ name: "--canvas-success-surface", default: "#edfdf8", label: "Success Surface" },
|
|
3133
|
+
{ name: "--canvas-warning", default: "#d97706", label: "Warning" },
|
|
3134
|
+
{ name: "--canvas-warning-surface", default: "#fffbeb", label: "Warning Surface" },
|
|
3135
|
+
{ name: "--canvas-info", default: "#2563eb", label: "Info" },
|
|
3136
|
+
{ name: "--canvas-info-surface", default: "#eff6ff", label: "Info Surface" },
|
|
3137
|
+
{ name: "--canvas-destructive", default: "#ef4444", label: "Destructive" },
|
|
3138
|
+
{ name: "--canvas-destructive-surface", default: "#fef2f2", label: "Destructive Surface" }
|
|
3127
3139
|
]
|
|
3128
3140
|
},
|
|
3129
3141
|
{
|
|
@@ -4049,7 +4061,7 @@ function Header({
|
|
|
4049
4061
|
return /* @__PURE__ */ jsxs(
|
|
4050
4062
|
"header",
|
|
4051
4063
|
{
|
|
4052
|
-
className: `h-[var(--header-height)] w-full border-b ${isDark ? "bg-[var(--canvas-sidebar-dark-bg)] border-[var(--canvas-sidebar-dark-border)]" : "bg-
|
|
4064
|
+
className: `h-[var(--header-height)] w-full border-b ${isDark ? "bg-[var(--canvas-sidebar-dark-bg)] border-[var(--canvas-sidebar-dark-border)]" : "bg-[var(--canvas-background)] border-[var(--canvas-neutral-border)]"}`,
|
|
4053
4065
|
children: [
|
|
4054
4066
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center h-full px-4 lg:px-[var(--spacing-5xl)]", children: [
|
|
4055
4067
|
/* @__PURE__ */ jsxs("div", { className: `flex items-center gap-[var(--spacing-md)] h-8 shrink-0 ${showDesktopLogo ? "" : "lg:hidden"}`, children: [
|
|
@@ -4203,7 +4215,7 @@ function Header({
|
|
|
4203
4215
|
onClick: () => setIsMobileMenuOpen(false)
|
|
4204
4216
|
}
|
|
4205
4217
|
),
|
|
4206
|
-
/* @__PURE__ */ jsxs("div", { className: "absolute right-0 top-0 h-full w-full max-w-sm bg-
|
|
4218
|
+
/* @__PURE__ */ jsxs("div", { className: "absolute right-0 top-0 h-full w-full max-w-sm bg-[var(--canvas-background)] shadow-xl", children: [
|
|
4207
4219
|
/* @__PURE__ */ jsx("div", { className: "flex justify-end p-4", children: /* @__PURE__ */ jsx(
|
|
4208
4220
|
Button,
|
|
4209
4221
|
{
|
|
@@ -4516,7 +4528,7 @@ function Sidebar2({
|
|
|
4516
4528
|
className: cn(
|
|
4517
4529
|
"flex flex-col h-full w-[var(--sidebar-width)]",
|
|
4518
4530
|
isDark && "bg-[var(--canvas-sidebar-dark-bg)] border-r border-[var(--canvas-sidebar-dark-border)]",
|
|
4519
|
-
!isDark && "bg-
|
|
4531
|
+
!isDark && "bg-[var(--canvas-background)] border-r border-[var(--canvas-border)]",
|
|
4520
4532
|
className
|
|
4521
4533
|
),
|
|
4522
4534
|
children: [
|
|
@@ -4545,9 +4557,9 @@ function Sidebar2({
|
|
|
4545
4557
|
})() })
|
|
4546
4558
|
] }),
|
|
4547
4559
|
/* @__PURE__ */ jsx("span", { className: cn(
|
|
4548
|
-
"
|
|
4560
|
+
"font-semibold ml-[var(--spacing-md)]",
|
|
4549
4561
|
isDark ? "text-white" : "text-[var(--canvas-text)]"
|
|
4550
|
-
), children: branding.wordmark || "canvas" })
|
|
4562
|
+
), style: { fontSize: "var(--typo-body-xl-size)" }, children: branding.wordmark || "canvas" })
|
|
4551
4563
|
] })
|
|
4552
4564
|
) }),
|
|
4553
4565
|
/* @__PURE__ */ jsx(ScrollArea, { className: "flex-1 px-[var(--spacing-2xl)] pb-[var(--spacing-5xl)]", children: /* @__PURE__ */ jsx(
|
|
@@ -4650,7 +4662,7 @@ function DashboardShell({
|
|
|
4650
4662
|
onAppMenuClick?.();
|
|
4651
4663
|
console.log("App menu clicked - implement app-level mobile menu here");
|
|
4652
4664
|
};
|
|
4653
|
-
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--background)]", children: [
|
|
4665
|
+
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--canvas-background)]", children: [
|
|
4654
4666
|
/* @__PURE__ */ jsx("div", { className: "fixed top-0 left-0 right-0 lg:left-[var(--sidebar-width)] z-40", children: /* @__PURE__ */ jsx(Header, { onMenuClick: handleAppMenuClick }) }),
|
|
4655
4667
|
/* @__PURE__ */ jsx("div", { className: "hidden lg:block fixed top-0 left-0 bottom-0 z-50 w-[var(--sidebar-width)]", children: /* @__PURE__ */ jsx(
|
|
4656
4668
|
Sidebar2,
|
|
@@ -4669,7 +4681,7 @@ function DashboardShell({
|
|
|
4669
4681
|
"top-[calc(var(--header-height)+4px)]",
|
|
4670
4682
|
"flex items-center justify-center",
|
|
4671
4683
|
"size-11",
|
|
4672
|
-
"bg-
|
|
4684
|
+
"bg-[var(--canvas-background)]",
|
|
4673
4685
|
"border border-l-0 border-[var(--canvas-neutral-border)]",
|
|
4674
4686
|
"rounded-r-[var(--radius-xs)]",
|
|
4675
4687
|
"shadow-[0px_4px_16px_0px_rgba(0,0,0,0.04)]",
|
|
@@ -4852,7 +4864,7 @@ function IconSidebar({
|
|
|
4852
4864
|
className: cn(
|
|
4853
4865
|
"flex flex-col items-center h-full w-[var(--icon-sidebar-width)]",
|
|
4854
4866
|
isDark && "bg-[var(--canvas-sidebar-dark-bg)] border-r border-[var(--canvas-sidebar-dark-border)]",
|
|
4855
|
-
!isDark && "bg-
|
|
4867
|
+
!isDark && "bg-[var(--canvas-background)] border-r border-[var(--canvas-border)]",
|
|
4856
4868
|
className
|
|
4857
4869
|
),
|
|
4858
4870
|
children: [
|
|
@@ -4908,7 +4920,7 @@ function IconSidebarShell({
|
|
|
4908
4920
|
onAppMenuClick?.();
|
|
4909
4921
|
console.log("App menu clicked - implement app-level mobile menu here");
|
|
4910
4922
|
};
|
|
4911
|
-
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--background)]", children: [
|
|
4923
|
+
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--canvas-background)]", children: [
|
|
4912
4924
|
/* @__PURE__ */ jsx("div", { className: "fixed top-0 left-0 right-0 lg:left-[var(--icon-sidebar-width)] z-40", children: /* @__PURE__ */ jsx(Header, { onMenuClick: handleAppMenuClick }) }),
|
|
4913
4925
|
/* @__PURE__ */ jsx("div", { className: "hidden lg:block fixed top-0 left-0 bottom-0 z-50 w-[var(--icon-sidebar-width)]", children: /* @__PURE__ */ jsx(
|
|
4914
4926
|
IconSidebar,
|
|
@@ -4927,7 +4939,7 @@ function IconSidebarShell({
|
|
|
4927
4939
|
"top-[calc(var(--header-height)+4px)]",
|
|
4928
4940
|
"flex items-center justify-center",
|
|
4929
4941
|
"size-11",
|
|
4930
|
-
"bg-
|
|
4942
|
+
"bg-[var(--canvas-background)]",
|
|
4931
4943
|
"border border-l-0 border-[var(--canvas-neutral-border)]",
|
|
4932
4944
|
"rounded-r-[var(--radius-xs)]",
|
|
4933
4945
|
"shadow-[0px_4px_16px_0px_rgba(0,0,0,0.04)]",
|
|
@@ -5210,7 +5222,7 @@ function DoubleSidebar({
|
|
|
5210
5222
|
className: cn(
|
|
5211
5223
|
"flex flex-col items-center w-[var(--icon-sidebar-width)] shrink-0",
|
|
5212
5224
|
isIconDark && "bg-[var(--canvas-sidebar-dark-bg)] border-r border-[var(--canvas-sidebar-dark-border)]",
|
|
5213
|
-
!isIconDark && "bg-
|
|
5225
|
+
!isIconDark && "bg-[var(--canvas-background)] border-r border-[var(--canvas-border)]"
|
|
5214
5226
|
),
|
|
5215
5227
|
children: [
|
|
5216
5228
|
/* @__PURE__ */ jsx("div", { className: `flex items-center justify-center shrink-0 py-5 ${isMounted ? "opacity-100" : "opacity-0"}`, children: logoUrl ? /* @__PURE__ */ jsx(
|
|
@@ -5249,7 +5261,7 @@ function DoubleSidebar({
|
|
|
5249
5261
|
className: cn(
|
|
5250
5262
|
"flex flex-col w-[var(--nav-sidebar-width)]",
|
|
5251
5263
|
isNavDark && "bg-[var(--canvas-sidebar-dark-bg)] border-r border-[var(--canvas-sidebar-dark-border)]",
|
|
5252
|
-
!isNavDark && "bg-
|
|
5264
|
+
!isNavDark && "bg-[var(--canvas-background)] border-r border-[var(--canvas-border)] shadow-[0_4px_16px_0_rgba(0,0,0,0.04)]"
|
|
5253
5265
|
),
|
|
5254
5266
|
children: /* @__PURE__ */ jsx(ScrollArea, { className: "flex-1 pt-[var(--header-height)] px-[var(--spacing-2xl)] pb-[var(--spacing-5xl)]", children: /* @__PURE__ */ jsx("nav", { className: "flex flex-col gap-0", children: activeSection?.tabs.map((tab) => /* @__PURE__ */ jsx(
|
|
5255
5267
|
NavTabItem,
|
|
@@ -5285,7 +5297,7 @@ function DoubleSidebarShell({
|
|
|
5285
5297
|
onAppMenuClick?.();
|
|
5286
5298
|
console.log("App menu clicked - implement app-level mobile menu here");
|
|
5287
5299
|
};
|
|
5288
|
-
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--background)]", children: [
|
|
5300
|
+
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--canvas-background)]", children: [
|
|
5289
5301
|
/* @__PURE__ */ jsx("div", { className: "fixed top-0 left-0 right-0 lg:left-[var(--double-sidebar-width)] z-40", children: /* @__PURE__ */ jsx(Header, { onMenuClick: handleAppMenuClick }) }),
|
|
5290
5302
|
/* @__PURE__ */ jsx("div", { className: "hidden lg:block fixed top-0 left-0 bottom-0 z-50 w-[var(--double-sidebar-width)]", children: /* @__PURE__ */ jsx(
|
|
5291
5303
|
DoubleSidebar,
|
|
@@ -5305,7 +5317,7 @@ function DoubleSidebarShell({
|
|
|
5305
5317
|
"top-[calc(var(--header-height)+4px)]",
|
|
5306
5318
|
"flex items-center justify-center",
|
|
5307
5319
|
"size-11",
|
|
5308
|
-
"bg-
|
|
5320
|
+
"bg-[var(--canvas-background)]",
|
|
5309
5321
|
"border border-l-0 border-[var(--canvas-neutral-border)]",
|
|
5310
5322
|
"rounded-r-[var(--radius-xs)]",
|
|
5311
5323
|
"shadow-[0px_4px_16px_0px_rgba(0,0,0,0.04)]",
|
|
@@ -5434,14 +5446,13 @@ function PageHeaderSection({
|
|
|
5434
5446
|
/* @__PURE__ */ jsx(
|
|
5435
5447
|
"h2",
|
|
5436
5448
|
{
|
|
5437
|
-
className: "text-4xl",
|
|
5438
5449
|
style: {
|
|
5439
|
-
fontFamily: "var(--typo-
|
|
5440
|
-
fontSize: "var(--typo-
|
|
5441
|
-
fontWeight: "var(--typo-
|
|
5442
|
-
letterSpacing: "var(--typo-
|
|
5443
|
-
lineHeight: "var(--typo-
|
|
5444
|
-
color: "var(--typo-
|
|
5450
|
+
fontFamily: "var(--typo-h4-font, var(--typo-global-font))",
|
|
5451
|
+
fontSize: "var(--typo-h4-size)",
|
|
5452
|
+
fontWeight: "var(--typo-h4-weight)",
|
|
5453
|
+
letterSpacing: "var(--typo-h4-spacing)",
|
|
5454
|
+
lineHeight: "var(--typo-h4-line-height)",
|
|
5455
|
+
color: "var(--typo-h4-color)"
|
|
5445
5456
|
},
|
|
5446
5457
|
children: title
|
|
5447
5458
|
}
|
|
@@ -5450,12 +5461,12 @@ function PageHeaderSection({
|
|
|
5450
5461
|
"p",
|
|
5451
5462
|
{
|
|
5452
5463
|
style: {
|
|
5453
|
-
fontFamily: "var(--typo-
|
|
5454
|
-
fontSize: "var(--typo-
|
|
5455
|
-
fontWeight: "var(--typo-
|
|
5456
|
-
letterSpacing: "var(--typo-
|
|
5457
|
-
lineHeight: "var(--typo-
|
|
5458
|
-
color: "var(--typo-
|
|
5464
|
+
fontFamily: "var(--typo-body-m-font, var(--typo-global-font))",
|
|
5465
|
+
fontSize: "var(--typo-body-m-size)",
|
|
5466
|
+
fontWeight: "var(--typo-body-m-weight)",
|
|
5467
|
+
letterSpacing: "var(--typo-body-m-spacing)",
|
|
5468
|
+
lineHeight: "var(--typo-body-m-line-height)",
|
|
5469
|
+
color: "var(--typo-body-m-color-muted)"
|
|
5459
5470
|
},
|
|
5460
5471
|
children: description
|
|
5461
5472
|
}
|
|
@@ -5498,7 +5509,7 @@ function StandardPageShell({
|
|
|
5498
5509
|
onAppMenuClick?.();
|
|
5499
5510
|
console.log("App menu clicked - implement app-level mobile menu here");
|
|
5500
5511
|
};
|
|
5501
|
-
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--background)]", children: [
|
|
5512
|
+
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--canvas-background)]", children: [
|
|
5502
5513
|
/* @__PURE__ */ jsx("header", { className: "sticky top-0 z-40", children: /* @__PURE__ */ jsx(Header, { onMenuClick: handleAppMenuClick, showDesktopLogo: true }) }),
|
|
5503
5514
|
(showBanner || showPageHeader) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col w-full", children: [
|
|
5504
5515
|
showBanner && /* @__PURE__ */ jsx(FlairBanner, { title: bannerTitle }),
|
|
@@ -5565,12 +5576,13 @@ function MobileNavTab({ item, variant = "light", onClick }) {
|
|
|
5565
5576
|
{
|
|
5566
5577
|
className: cn(
|
|
5567
5578
|
// Match icon-sidebar: 12px labels, medium weight
|
|
5568
|
-
"
|
|
5579
|
+
"font-medium",
|
|
5569
5580
|
isDark && isActive && "text-[var(--canvas-sidebar-dark-active-text)]",
|
|
5570
5581
|
isDark && !isActive && "text-[var(--canvas-sidebar-dark-text)]",
|
|
5571
5582
|
!isDark && isActive && "text-[var(--canvas-sidebar-light-active-text)]",
|
|
5572
5583
|
!isDark && !isActive && "text-[var(--canvas-sidebar-light-text)]"
|
|
5573
5584
|
),
|
|
5585
|
+
style: { fontSize: "var(--typo-sidebar-label-size)" },
|
|
5574
5586
|
children: item.label
|
|
5575
5587
|
}
|
|
5576
5588
|
)
|
|
@@ -5642,7 +5654,7 @@ function MobileMenuShell({
|
|
|
5642
5654
|
setInternalActiveTab(tab.id);
|
|
5643
5655
|
}
|
|
5644
5656
|
};
|
|
5645
|
-
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--background)]", children: [
|
|
5657
|
+
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--canvas-background)]", children: [
|
|
5646
5658
|
/* @__PURE__ */ jsx("header", { className: "sticky top-0 z-40", children: /* @__PURE__ */ jsx(Header, { showDesktopLogo: true }) }),
|
|
5647
5659
|
/* @__PURE__ */ jsx("main", { className: "w-full", children: /* @__PURE__ */ jsx(
|
|
5648
5660
|
"div",
|
|
@@ -5687,7 +5699,7 @@ function SearchBar({
|
|
|
5687
5699
|
{
|
|
5688
5700
|
className: cn(
|
|
5689
5701
|
"flex items-center gap-2",
|
|
5690
|
-
"bg-
|
|
5702
|
+
"bg-[var(--canvas-background)] border border-[var(--canvas-border-input)]",
|
|
5691
5703
|
"pr-2",
|
|
5692
5704
|
"transition-colors",
|
|
5693
5705
|
"focus-within:border-[var(--canvas-border-input-focus)] focus-within:ring-2 focus-within:ring-[var(--canvas-border-input-focus)] focus-within:ring-offset-2",
|
|
@@ -5776,7 +5788,7 @@ var defaultDateRange = {
|
|
|
5776
5788
|
};
|
|
5777
5789
|
function FilterDropdown({ config, value, onChange }) {
|
|
5778
5790
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
5779
|
-
/* @__PURE__ */ jsx("label", { className: "text-
|
|
5791
|
+
/* @__PURE__ */ jsx("label", { className: "text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-input-label-size)", fontWeight: "var(--typo-input-label-weight)" }, children: config.label }),
|
|
5780
5792
|
/* @__PURE__ */ jsxs(Select, { value: value || void 0, onValueChange: onChange, children: [
|
|
5781
5793
|
/* @__PURE__ */ jsx(SelectTrigger, { inputSize: "sm", children: /* @__PURE__ */ jsx(SelectValue, { placeholder: config.placeholder }) }),
|
|
5782
5794
|
/* @__PURE__ */ jsx(SelectContent, { position: "popper", side: "bottom", sideOffset: 4, children: config.options.map((option) => /* @__PURE__ */ jsx(SelectItem, { value: option.id, children: option.label }, option.id)) })
|
|
@@ -5851,7 +5863,7 @@ function FilterPopover({
|
|
|
5851
5863
|
"button",
|
|
5852
5864
|
{
|
|
5853
5865
|
className: cn(
|
|
5854
|
-
"flex items-center justify-between gap-2 bg-
|
|
5866
|
+
"flex items-center justify-between gap-2 bg-[var(--canvas-background)] border text-[var(--canvas-text)] whitespace-nowrap transition-colors outline-none focus:border-[var(--canvas-border-input-focus)] focus:ring-2 focus:ring-[var(--canvas-border-input-focus)] focus:ring-offset-2 data-[state=open]:border-[var(--canvas-border-input-focus)]",
|
|
5855
5867
|
className
|
|
5856
5868
|
),
|
|
5857
5869
|
style: {
|
|
@@ -5881,15 +5893,15 @@ function FilterPopover({
|
|
|
5881
5893
|
side: "bottom",
|
|
5882
5894
|
sideOffset: 4,
|
|
5883
5895
|
avoidCollisions: false,
|
|
5884
|
-
className: "w-80 p-0 bg-
|
|
5896
|
+
className: "w-80 p-0 bg-[var(--canvas-background)] border border-[var(--canvas-border)] shadow-lg",
|
|
5885
5897
|
children: [
|
|
5886
5898
|
/* @__PURE__ */ jsxs("div", { className: "p-4 space-y-5 max-h-[480px] overflow-y-auto", children: [
|
|
5887
5899
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
5888
|
-
/* @__PURE__ */ jsx("label", { className: "text-
|
|
5900
|
+
/* @__PURE__ */ jsx("label", { className: "text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-input-label-size)", fontWeight: "var(--typo-input-label-weight)" }, children: "Text Input" }),
|
|
5889
5901
|
/* @__PURE__ */ jsx(TextInput, { inputSize: "sm", placeholder: "Enter text..." })
|
|
5890
5902
|
] }),
|
|
5891
5903
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
5892
|
-
/* @__PURE__ */ jsx("label", { className: "text-
|
|
5904
|
+
/* @__PURE__ */ jsx("label", { className: "text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-input-label-size)", fontWeight: "var(--typo-input-label-weight)" }, children: "Searchbox" }),
|
|
5893
5905
|
/* @__PURE__ */ jsx(Searchbox, { inputSize: "sm", placeholder: "Search..." })
|
|
5894
5906
|
] }),
|
|
5895
5907
|
dropdowns.slice(0, 1).map((dropdown) => /* @__PURE__ */ jsx(
|
|
@@ -5902,11 +5914,11 @@ function FilterPopover({
|
|
|
5902
5914
|
dropdown.id
|
|
5903
5915
|
)),
|
|
5904
5916
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
5905
|
-
/* @__PURE__ */ jsx("label", { className: "text-
|
|
5917
|
+
/* @__PURE__ */ jsx("label", { className: "text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-input-label-size)", fontWeight: "var(--typo-input-label-weight)" }, children: "Date Input" }),
|
|
5906
5918
|
/* @__PURE__ */ jsx(DateInput, { inputSize: "sm" })
|
|
5907
5919
|
] }),
|
|
5908
5920
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
5909
|
-
/* @__PURE__ */ jsx("label", { className: "text-
|
|
5921
|
+
/* @__PURE__ */ jsx("label", { className: "text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-input-label-size)", fontWeight: "var(--typo-input-label-weight)" }, children: "Radio Buttons" }),
|
|
5910
5922
|
/* @__PURE__ */ jsxs(RadioGroup2, { defaultValue: "option1", className: "flex", children: [
|
|
5911
5923
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
5912
5924
|
/* @__PURE__ */ jsx(RadioGroupItem, { value: "option1", id: "radio1" }),
|
|
@@ -5935,7 +5947,7 @@ function FilterPopover({
|
|
|
5935
5947
|
] })
|
|
5936
5948
|
] }),
|
|
5937
5949
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
5938
|
-
/* @__PURE__ */ jsx("label", { className: "text-
|
|
5950
|
+
/* @__PURE__ */ jsx("label", { className: "text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-input-label-size)", fontWeight: "var(--typo-input-label-weight)" }, children: "Radio Buttons List" }),
|
|
5939
5951
|
/* @__PURE__ */ jsxs(RadioGroup2, { defaultValue: "list-opt1", className: "flex flex-col gap-2", children: [
|
|
5940
5952
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
5941
5953
|
/* @__PURE__ */ jsx(RadioGroupItem, { value: "list-opt1", id: "radio-list-1" }),
|
|
@@ -5976,7 +5988,7 @@ function FilterPopover({
|
|
|
5976
5988
|
] })
|
|
5977
5989
|
] }),
|
|
5978
5990
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
5979
|
-
/* @__PURE__ */ jsx("label", { className: "text-
|
|
5991
|
+
/* @__PURE__ */ jsx("label", { className: "text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-input-label-size)", fontWeight: "var(--typo-input-label-weight)" }, children: "Checkbox" }),
|
|
5980
5992
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
5981
5993
|
/* @__PURE__ */ jsx(Checkbox, { id: "single-checkbox" }),
|
|
5982
5994
|
/* @__PURE__ */ jsx(
|
|
@@ -5991,7 +6003,7 @@ function FilterPopover({
|
|
|
5991
6003
|
] })
|
|
5992
6004
|
] }),
|
|
5993
6005
|
checkboxGroup && /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
5994
|
-
/* @__PURE__ */ jsx("label", { className: "text-
|
|
6006
|
+
/* @__PURE__ */ jsx("label", { className: "text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-input-label-size)", fontWeight: "var(--typo-input-label-weight)" }, children: "Checkbox List" }),
|
|
5995
6007
|
/* @__PURE__ */ jsx("div", { className: "space-y-2", children: checkboxGroup.options.map((option) => /* @__PURE__ */ jsx(
|
|
5996
6008
|
CheckboxWithLabel,
|
|
5997
6009
|
{
|
|
@@ -6003,7 +6015,7 @@ function FilterPopover({
|
|
|
6003
6015
|
)) })
|
|
6004
6016
|
] }),
|
|
6005
6017
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
6006
|
-
/* @__PURE__ */ jsx("label", { className: "text-
|
|
6018
|
+
/* @__PURE__ */ jsx("label", { className: "text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-input-label-size)", fontWeight: "var(--typo-input-label-weight)" }, children: "Toggle" }),
|
|
6007
6019
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
6008
6020
|
/* @__PURE__ */ jsx(Switch, { id: "toggle-switch" }),
|
|
6009
6021
|
/* @__PURE__ */ jsx(
|
|
@@ -6018,7 +6030,7 @@ function FilterPopover({
|
|
|
6018
6030
|
] })
|
|
6019
6031
|
] }),
|
|
6020
6032
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
6021
|
-
/* @__PURE__ */ jsx("label", { className: "text-
|
|
6033
|
+
/* @__PURE__ */ jsx("label", { className: "text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-input-label-size)", fontWeight: "var(--typo-input-label-weight)" }, children: "Multiselect Tags" }),
|
|
6022
6034
|
/* @__PURE__ */ jsx(MultiselectTags, { inputSize: "sm", tags: ["Tag 1", "Tag 2"], placeholder: "Add..." })
|
|
6023
6035
|
] })
|
|
6024
6036
|
] }),
|
|
@@ -6074,7 +6086,7 @@ function SearchBarShell({
|
|
|
6074
6086
|
setFilterState(clearedState);
|
|
6075
6087
|
onFilterApply?.(clearedState);
|
|
6076
6088
|
};
|
|
6077
|
-
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--background)]", children: [
|
|
6089
|
+
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--canvas-background)]", children: [
|
|
6078
6090
|
/* @__PURE__ */ jsx("header", { className: "sticky top-0 z-40", children: /* @__PURE__ */ jsx(Header, { showDesktopLogo: true }) }),
|
|
6079
6091
|
/* @__PURE__ */ jsx(FlairBanner, { title: bannerTitle }),
|
|
6080
6092
|
/* @__PURE__ */ jsx(
|
|
@@ -6187,12 +6199,12 @@ function StepTracker({
|
|
|
6187
6199
|
onStepClick && "cursor-pointer",
|
|
6188
6200
|
!onStepClick && "cursor-default",
|
|
6189
6201
|
isCompleted && "bg-[var(--canvas-primary)] border-[var(--canvas-primary)] text-[var(--canvas-primary-foreground)]",
|
|
6190
|
-
isActive && "bg-
|
|
6202
|
+
isActive && "bg-[var(--canvas-background)] border-[var(--canvas-primary)] text-[var(--canvas-primary)]",
|
|
6191
6203
|
isUpcoming && "bg-[var(--canvas-border)] border-[var(--canvas-border)] text-[var(--canvas-text-placeholder)]"
|
|
6192
6204
|
),
|
|
6193
6205
|
style: {
|
|
6194
6206
|
fontFamily: "var(--typo-body-m-font, var(--typo-global-font))",
|
|
6195
|
-
fontSize: "
|
|
6207
|
+
fontSize: "var(--typo-body-m-size)",
|
|
6196
6208
|
fontWeight: 500
|
|
6197
6209
|
},
|
|
6198
6210
|
children: /* @__PURE__ */ jsx("span", { children: index + 1 })
|
|
@@ -6251,7 +6263,7 @@ function MultistepShell({
|
|
|
6251
6263
|
const currentStepData = steps[currentStep];
|
|
6252
6264
|
const isFirstStep = currentStep === 0;
|
|
6253
6265
|
const isLastStep = currentStep === steps.length - 1;
|
|
6254
|
-
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--background)]", children: [
|
|
6266
|
+
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--canvas-background)]", children: [
|
|
6255
6267
|
/* @__PURE__ */ jsx("header", { className: "sticky top-0 z-40", children: /* @__PURE__ */ jsx(Header, { onMenuClick: handleAppMenuClick, showDesktopLogo: true }) }),
|
|
6256
6268
|
/* @__PURE__ */ jsx("div", { className: "w-full", children: /* @__PURE__ */ jsx(
|
|
6257
6269
|
StepTracker,
|
|
@@ -6286,7 +6298,7 @@ function MultistepShell({
|
|
|
6286
6298
|
] });
|
|
6287
6299
|
}
|
|
6288
6300
|
var cardClassName = cn(
|
|
6289
|
-
"bg-
|
|
6301
|
+
"bg-[var(--canvas-background)] border border-[var(--canvas-border)]",
|
|
6290
6302
|
"rounded-xl p-8"
|
|
6291
6303
|
);
|
|
6292
6304
|
function InfoCard({
|
|
@@ -6301,7 +6313,7 @@ function InfoCard({
|
|
|
6301
6313
|
className: "text-[var(--canvas-text-placeholder)] font-semibold mb-4",
|
|
6302
6314
|
style: {
|
|
6303
6315
|
fontFamily: "var(--typo-body-m-font, var(--typo-global-font))",
|
|
6304
|
-
fontSize: "
|
|
6316
|
+
fontSize: "var(--typo-body-m-size)"
|
|
6305
6317
|
},
|
|
6306
6318
|
children: title
|
|
6307
6319
|
}
|
|
@@ -6312,7 +6324,7 @@ function InfoCard({
|
|
|
6312
6324
|
className: "text-[var(--canvas-text-muted)] whitespace-pre-line",
|
|
6313
6325
|
style: {
|
|
6314
6326
|
fontFamily: "var(--typo-body-m-font, var(--typo-global-font))",
|
|
6315
|
-
fontSize: "
|
|
6327
|
+
fontSize: "var(--typo-body-m-size)",
|
|
6316
6328
|
lineHeight: "24px"
|
|
6317
6329
|
},
|
|
6318
6330
|
children: description
|
|
@@ -6338,7 +6350,7 @@ function LinksCard({
|
|
|
6338
6350
|
className: "text-[var(--canvas-text-placeholder)] font-semibold mb-4",
|
|
6339
6351
|
style: {
|
|
6340
6352
|
fontFamily: "var(--typo-body-m-font, var(--typo-global-font))",
|
|
6341
|
-
fontSize: "
|
|
6353
|
+
fontSize: "var(--typo-body-m-size)"
|
|
6342
6354
|
},
|
|
6343
6355
|
children: title
|
|
6344
6356
|
}
|
|
@@ -6353,7 +6365,7 @@ function LinksCard({
|
|
|
6353
6365
|
className: "text-[var(--canvas-primary)] font-medium",
|
|
6354
6366
|
style: {
|
|
6355
6367
|
fontFamily: "var(--typo-body-m-font, var(--typo-global-font))",
|
|
6356
|
-
fontSize: "
|
|
6368
|
+
fontSize: "var(--typo-body-m-size)"
|
|
6357
6369
|
},
|
|
6358
6370
|
children: link.label
|
|
6359
6371
|
}
|
|
@@ -6408,7 +6420,7 @@ function MultistepSidebarShell({
|
|
|
6408
6420
|
const currentStepData = steps[currentStep];
|
|
6409
6421
|
const isFirstStep = currentStep === 0;
|
|
6410
6422
|
const isLastStep = currentStep === steps.length - 1;
|
|
6411
|
-
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--background)]", children: [
|
|
6423
|
+
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--canvas-background)]", children: [
|
|
6412
6424
|
/* @__PURE__ */ jsx("header", { className: "sticky top-0 z-40", children: /* @__PURE__ */ jsx(Header, { onMenuClick: handleAppMenuClick, showDesktopLogo: true }) }),
|
|
6413
6425
|
/* @__PURE__ */ jsx("div", { className: "w-full", children: /* @__PURE__ */ jsx(
|
|
6414
6426
|
StepTracker,
|
|
@@ -6517,7 +6529,7 @@ function MultistepProgressBarShell({
|
|
|
6517
6529
|
};
|
|
6518
6530
|
const currentStepData = steps[currentStep] || { title: `Step ${currentStep + 1}`, description: "Description" };
|
|
6519
6531
|
const totalSteps = steps.length;
|
|
6520
|
-
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--background)]", children: [
|
|
6532
|
+
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--canvas-background)]", children: [
|
|
6521
6533
|
/* @__PURE__ */ jsx("header", { className: "sticky top-0 z-40", children: /* @__PURE__ */ jsx(Header, { onMenuClick: handleAppMenuClick, showDesktopLogo: true }) }),
|
|
6522
6534
|
/* @__PURE__ */ jsx(FlairBanner, { title: bannerTitle }),
|
|
6523
6535
|
/* @__PURE__ */ jsx(
|
|
@@ -6604,7 +6616,7 @@ function VerticalStepTracker({
|
|
|
6604
6616
|
(isActive || isCompleted) && "bg-[var(--canvas-primary)] border-[var(--canvas-primary)]",
|
|
6605
6617
|
!isActive && !isCompleted && "bg-[var(--canvas-border)] border-[var(--canvas-border)]"
|
|
6606
6618
|
),
|
|
6607
|
-
children: /* @__PURE__ */ jsx("div", { className: "size-2 rounded-full bg-
|
|
6619
|
+
children: /* @__PURE__ */ jsx("div", { className: "size-2 rounded-full bg-[var(--canvas-background)]" })
|
|
6608
6620
|
}
|
|
6609
6621
|
),
|
|
6610
6622
|
!isLast && /* @__PURE__ */ jsx(
|
|
@@ -6679,7 +6691,7 @@ function VerticalMultistepShell({
|
|
|
6679
6691
|
const currentStepData = steps[currentStep];
|
|
6680
6692
|
const isFirstStep = currentStep === 0;
|
|
6681
6693
|
const isLastStep = currentStep === steps.length - 1;
|
|
6682
|
-
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--background)]", children: [
|
|
6694
|
+
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--canvas-background)]", children: [
|
|
6683
6695
|
/* @__PURE__ */ jsx("header", { className: "sticky top-0 z-40", children: /* @__PURE__ */ jsx(Header, { onMenuClick: handleAppMenuClick, showDesktopLogo: true }) }),
|
|
6684
6696
|
/* @__PURE__ */ jsx(FlairBanner, { title: bannerTitle }),
|
|
6685
6697
|
/* @__PURE__ */ jsx("div", { className: "w-full border-b border-[var(--canvas-border)]", children: /* @__PURE__ */ jsxs(
|
|
@@ -6696,12 +6708,12 @@ function VerticalMultistepShell({
|
|
|
6696
6708
|
"h2",
|
|
6697
6709
|
{
|
|
6698
6710
|
style: {
|
|
6699
|
-
fontFamily: "var(--typo-
|
|
6700
|
-
fontSize: "var(--typo-
|
|
6701
|
-
fontWeight: "var(--typo-
|
|
6702
|
-
letterSpacing: "var(--typo-
|
|
6703
|
-
lineHeight: "var(--typo-
|
|
6704
|
-
color: "var(--typo-
|
|
6711
|
+
fontFamily: "var(--typo-h4-font, var(--typo-global-font))",
|
|
6712
|
+
fontSize: "var(--typo-h4-size)",
|
|
6713
|
+
fontWeight: "var(--typo-h4-weight)",
|
|
6714
|
+
letterSpacing: "var(--typo-h4-spacing)",
|
|
6715
|
+
lineHeight: "var(--typo-h4-line-height)",
|
|
6716
|
+
color: "var(--typo-h4-color)"
|
|
6705
6717
|
},
|
|
6706
6718
|
children: pageTitle
|
|
6707
6719
|
}
|
|
@@ -6710,12 +6722,12 @@ function VerticalMultistepShell({
|
|
|
6710
6722
|
"p",
|
|
6711
6723
|
{
|
|
6712
6724
|
style: {
|
|
6713
|
-
fontFamily: "var(--typo-
|
|
6714
|
-
fontSize: "var(--typo-
|
|
6715
|
-
fontWeight: "var(--typo-
|
|
6716
|
-
letterSpacing: "var(--typo-
|
|
6717
|
-
lineHeight: "var(--typo-
|
|
6718
|
-
color: "var(--typo-
|
|
6725
|
+
fontFamily: "var(--typo-body-m-font, var(--typo-global-font))",
|
|
6726
|
+
fontSize: "var(--typo-body-m-size)",
|
|
6727
|
+
fontWeight: "var(--typo-body-m-weight)",
|
|
6728
|
+
letterSpacing: "var(--typo-body-m-spacing)",
|
|
6729
|
+
lineHeight: "var(--typo-body-m-line-height)",
|
|
6730
|
+
color: "var(--typo-body-m-color-muted)"
|
|
6719
6731
|
},
|
|
6720
6732
|
children: pageDescription
|
|
6721
6733
|
}
|
|
@@ -6739,7 +6751,7 @@ function VerticalMultistepShell({
|
|
|
6739
6751
|
className: cn(
|
|
6740
6752
|
"lg:w-[320px]",
|
|
6741
6753
|
// Desktop card styling
|
|
6742
|
-
"lg:bg-
|
|
6754
|
+
"lg:bg-[var(--canvas-background)] lg:border lg:border-[var(--canvas-border)]",
|
|
6743
6755
|
"lg:rounded-[var(--radius-xl)]",
|
|
6744
6756
|
"lg:p-6"
|
|
6745
6757
|
),
|
|
@@ -6792,24 +6804,24 @@ function AccountSettingsShell({
|
|
|
6792
6804
|
setInternalActiveTab(tab);
|
|
6793
6805
|
}
|
|
6794
6806
|
};
|
|
6795
|
-
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--background)]", children: [
|
|
6807
|
+
return /* @__PURE__ */ jsxs("div", { className: "min-h-screen bg-[var(--canvas-background)]", children: [
|
|
6796
6808
|
/* @__PURE__ */ jsx("header", { className: "sticky top-0 z-40", children: /* @__PURE__ */ jsx(Header, { showDesktopLogo: true }) }),
|
|
6797
6809
|
/* @__PURE__ */ jsx("div", { className: "w-full border-b border-[var(--canvas-neutral-border)]", children: /* @__PURE__ */ jsx("div", { className: "w-full max-w-[1200px] mx-auto px-[var(--spacing-xl)] py-[var(--spacing-6xl)]", children: /* @__PURE__ */ jsx(
|
|
6798
6810
|
"h1",
|
|
6799
6811
|
{
|
|
6800
6812
|
style: {
|
|
6801
|
-
fontFamily: "var(--typo-
|
|
6802
|
-
fontSize: "var(--typo-
|
|
6803
|
-
fontWeight: "var(--typo-
|
|
6804
|
-
lineHeight: "var(--typo-
|
|
6805
|
-
letterSpacing: "var(--typo-
|
|
6806
|
-
color: "var(--typo-
|
|
6813
|
+
fontFamily: "var(--typo-h4-font, var(--typo-global-font))",
|
|
6814
|
+
fontSize: "var(--typo-h4-size)",
|
|
6815
|
+
fontWeight: "var(--typo-h4-weight)",
|
|
6816
|
+
lineHeight: "var(--typo-h4-line-height)",
|
|
6817
|
+
letterSpacing: "var(--typo-h4-spacing)",
|
|
6818
|
+
color: "var(--typo-h4-color)"
|
|
6807
6819
|
},
|
|
6808
6820
|
children: pageTitle
|
|
6809
6821
|
}
|
|
6810
6822
|
) }) }),
|
|
6811
6823
|
/* @__PURE__ */ jsx("main", { className: "w-full flex justify-center pb-[var(--spacing-8xl)]", children: /* @__PURE__ */ jsx("div", { className: "w-full max-w-[1200px] px-[var(--spacing-xl)] pt-[var(--spacing-5xl)]", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col lg:flex-row gap-[var(--spacing-5xl)]", children: [
|
|
6812
|
-
/* @__PURE__ */ jsx("aside", { className: "w-full lg:w-[320px] shrink-0", children: /* @__PURE__ */ jsx("div", { className: "bg-
|
|
6824
|
+
/* @__PURE__ */ jsx("aside", { className: "w-full lg:w-[320px] shrink-0", children: /* @__PURE__ */ jsx("div", { className: "bg-[var(--canvas-background)] border border-[var(--canvas-neutral-border)] rounded-[var(--radius-lg)] p-[var(--spacing-xl)] lg:p-[var(--spacing-4xl)]", children: /* @__PURE__ */ jsx("nav", { className: "flex flex-col gap-0", children: accountTabs.map((tab) => {
|
|
6813
6825
|
const Icon2 = tab.icon;
|
|
6814
6826
|
const isActive = activeTab === tab.id;
|
|
6815
6827
|
return /* @__PURE__ */ jsxs(
|
|
@@ -6962,7 +6974,7 @@ function ProjectContextShell({
|
|
|
6962
6974
|
return /* @__PURE__ */ jsx(IconComponent, { weight: "bold", size: 18, color: branding.iconColor || "var(--canvas-primary-foreground)" });
|
|
6963
6975
|
})() })
|
|
6964
6976
|
] }),
|
|
6965
|
-
/* @__PURE__ */ jsx("span", { className: "
|
|
6977
|
+
/* @__PURE__ */ jsx("span", { className: "font-semibold ml-2.5 text-[var(--canvas-text)]", style: { fontSize: "var(--typo-body-xl-size)" }, children: branding.wordmark || "canvas" })
|
|
6966
6978
|
] })
|
|
6967
6979
|
) }) }),
|
|
6968
6980
|
/* @__PURE__ */ jsx("nav", { className: "flex-1 p-2", children: tabs.map((tab) => {
|
|
@@ -6978,18 +6990,18 @@ function ProjectContextShell({
|
|
|
6978
6990
|
),
|
|
6979
6991
|
children: [
|
|
6980
6992
|
/* @__PURE__ */ jsx(Icon2, { className: "size-4 shrink-0" }),
|
|
6981
|
-
/* @__PURE__ */ jsx("span", { className: "
|
|
6993
|
+
/* @__PURE__ */ jsx("span", { className: "font-medium", style: { fontSize: "var(--typo-body-s-size)" }, children: tab.label })
|
|
6982
6994
|
]
|
|
6983
6995
|
},
|
|
6984
6996
|
tab.id
|
|
6985
6997
|
);
|
|
6986
6998
|
}) }),
|
|
6987
|
-
/* @__PURE__ */ jsx("div", { className: "p-4 border-t border-[var(--canvas-border)]", children: /* @__PURE__ */ jsx("div", { className: "rounded-lg bg-[var(--canvas-surface)] p-3", children: /* @__PURE__ */ jsx("p", { className: "text-
|
|
6999
|
+
/* @__PURE__ */ jsx("div", { className: "p-4 border-t border-[var(--canvas-border)]", children: /* @__PURE__ */ jsx("div", { className: "rounded-lg bg-[var(--canvas-surface)] p-3", children: /* @__PURE__ */ jsx("p", { className: "text-[var(--canvas-text-muted)] leading-relaxed", style: { fontSize: "var(--typo-body-xs-size)" }, children: "\u{1F4A1} Use the prompt templates to generate content with Cursor AI" }) }) })
|
|
6988
7000
|
] }),
|
|
6989
7001
|
/* @__PURE__ */ jsxs("main", { className: "flex-1 flex flex-col min-w-0 overflow-hidden", children: [
|
|
6990
7002
|
/* @__PURE__ */ jsx("div", { className: "border-b border-[var(--canvas-border)] px-8 py-6 bg-[var(--canvas-background)]", children: activeTabConfig && /* @__PURE__ */ jsxs("div", { children: [
|
|
6991
|
-
/* @__PURE__ */ jsx("h2", { className: "
|
|
6992
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
7003
|
+
/* @__PURE__ */ jsx("h2", { className: "font-semibold text-[var(--canvas-text)]", style: { fontSize: "var(--typo-body-xl-size)" }, children: activeTabConfig.label }),
|
|
7004
|
+
/* @__PURE__ */ jsx("p", { className: "text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-body-s-size)" }, children: activeTabConfig.description })
|
|
6993
7005
|
] }) }),
|
|
6994
7006
|
/* @__PURE__ */ jsx(ScrollArea, { className: "flex-1", children: /* @__PURE__ */ jsx("div", { className: "p-8", children }) })
|
|
6995
7007
|
] })
|
|
@@ -7026,8 +7038,8 @@ function ChatBubble({ message }) {
|
|
|
7026
7038
|
/* @__PURE__ */ jsx(
|
|
7027
7039
|
AvatarFallback,
|
|
7028
7040
|
{
|
|
7029
|
-
className: "text-[8px]",
|
|
7030
7041
|
style: {
|
|
7042
|
+
fontSize: "8px",
|
|
7031
7043
|
backgroundColor: "var(--canvas-subtle)",
|
|
7032
7044
|
color: "var(--canvas-muted-foreground)"
|
|
7033
7045
|
},
|
|
@@ -7062,8 +7074,9 @@ function ChatDateSeparator({ date }) {
|
|
|
7062
7074
|
return /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx(
|
|
7063
7075
|
"span",
|
|
7064
7076
|
{
|
|
7065
|
-
className: "
|
|
7077
|
+
className: "font-medium",
|
|
7066
7078
|
style: {
|
|
7079
|
+
fontSize: "var(--typo-body-xs-size)",
|
|
7067
7080
|
color: "var(--canvas-muted-foreground)"
|
|
7068
7081
|
},
|
|
7069
7082
|
children: date
|
|
@@ -7094,10 +7107,11 @@ function MessengerInput({
|
|
|
7094
7107
|
{
|
|
7095
7108
|
placeholder: "Send a message",
|
|
7096
7109
|
rows: 2,
|
|
7097
|
-
className: "w-full p-3 resize-none focus:outline-none
|
|
7110
|
+
className: "w-full p-3 resize-none focus:outline-none",
|
|
7098
7111
|
style: {
|
|
7099
7112
|
backgroundColor: "transparent",
|
|
7100
7113
|
color: "var(--canvas-foreground)",
|
|
7114
|
+
fontSize: "var(--typo-body-xs-size)",
|
|
7101
7115
|
lineHeight: "var(--typo-body-xs-line-height)"
|
|
7102
7116
|
}
|
|
7103
7117
|
}
|
|
@@ -7135,8 +7149,7 @@ function MessengerInput({
|
|
|
7135
7149
|
/* @__PURE__ */ jsx(
|
|
7136
7150
|
"span",
|
|
7137
7151
|
{
|
|
7138
|
-
|
|
7139
|
-
style: { color: "var(--canvas-muted-foreground)" },
|
|
7152
|
+
style: { color: "var(--canvas-muted-foreground)", fontSize: "var(--typo-body-xs-size)" },
|
|
7140
7153
|
children: attachment.name
|
|
7141
7154
|
}
|
|
7142
7155
|
),
|
|
@@ -7194,10 +7207,11 @@ function MessengerInput({
|
|
|
7194
7207
|
"button",
|
|
7195
7208
|
{
|
|
7196
7209
|
onClick: onSend,
|
|
7197
|
-
className: "h-10 px-[var(--spacing-lg)] rounded-[var(--radius-xs)] font-semibold
|
|
7210
|
+
className: "h-10 px-[var(--spacing-lg)] rounded-[var(--radius-xs)] font-semibold transition-colors hover:opacity-90",
|
|
7198
7211
|
style: {
|
|
7199
7212
|
backgroundColor: "var(--canvas-primary)",
|
|
7200
|
-
color: "var(--canvas-primary-foreground)"
|
|
7213
|
+
color: "var(--canvas-primary-foreground)",
|
|
7214
|
+
fontSize: "var(--typo-body-xs-size)"
|
|
7201
7215
|
},
|
|
7202
7216
|
children: "Send"
|
|
7203
7217
|
}
|
|
@@ -7268,7 +7282,7 @@ function MessengerSidebar({
|
|
|
7268
7282
|
className: "font-semibold",
|
|
7269
7283
|
style: {
|
|
7270
7284
|
color: "var(--canvas-foreground)",
|
|
7271
|
-
fontSize: "
|
|
7285
|
+
fontSize: "var(--typo-body-xl-size)",
|
|
7272
7286
|
lineHeight: "28px"
|
|
7273
7287
|
},
|
|
7274
7288
|
children: "Messages"
|
|
@@ -7354,8 +7368,8 @@ function ThreadRow({ thread, isSelected, onSelect }) {
|
|
|
7354
7368
|
/* @__PURE__ */ jsx(
|
|
7355
7369
|
AvatarFallback,
|
|
7356
7370
|
{
|
|
7357
|
-
className: "text-xs",
|
|
7358
7371
|
style: {
|
|
7372
|
+
fontSize: "var(--typo-body-xs-size)",
|
|
7359
7373
|
backgroundColor: "var(--canvas-primary)",
|
|
7360
7374
|
color: "var(--canvas-primary-foreground)"
|
|
7361
7375
|
},
|
|
@@ -7882,7 +7896,7 @@ function ContentDropzone({
|
|
|
7882
7896
|
{
|
|
7883
7897
|
className: cn(
|
|
7884
7898
|
"flex items-center justify-center",
|
|
7885
|
-
"bg-
|
|
7899
|
+
"bg-[var(--canvas-background)]",
|
|
7886
7900
|
"border-2 border-dashed border-[var(--canvas-border)]",
|
|
7887
7901
|
"rounded-[var(--radius-nav)]",
|
|
7888
7902
|
"overflow-hidden",
|
|
@@ -8095,7 +8109,7 @@ function EmptyState({ icon, title, description, className }) {
|
|
|
8095
8109
|
children: [
|
|
8096
8110
|
/* @__PURE__ */ jsx("span", { className: "text-4xl mb-3", children: icon }),
|
|
8097
8111
|
/* @__PURE__ */ jsx("p", { className: "text-[var(--canvas-text-muted)] font-medium text-center", children: title }),
|
|
8098
|
-
description && /* @__PURE__ */ jsx("p", { className: "text-
|
|
8112
|
+
description && /* @__PURE__ */ jsx("p", { className: "text-[var(--canvas-text-placeholder)] text-center mt-1 max-w-md", style: { fontSize: "var(--typo-body-s-size)" }, children: description })
|
|
8099
8113
|
]
|
|
8100
8114
|
}
|
|
8101
8115
|
);
|
|
@@ -9006,12 +9020,12 @@ function StatusBadge({ status }) {
|
|
|
9006
9020
|
},
|
|
9007
9021
|
paid: {
|
|
9008
9022
|
label: "Paid",
|
|
9009
|
-
bgColor: "var(--canvas-success-surface
|
|
9023
|
+
bgColor: "var(--canvas-success-surface)",
|
|
9010
9024
|
textColor: "var(--canvas-success)"
|
|
9011
9025
|
},
|
|
9012
9026
|
overdue: {
|
|
9013
9027
|
label: "Overdue",
|
|
9014
|
-
bgColor: "var(--canvas-destructive-surface
|
|
9028
|
+
bgColor: "var(--canvas-destructive-surface)",
|
|
9015
9029
|
textColor: "var(--canvas-destructive)"
|
|
9016
9030
|
}
|
|
9017
9031
|
};
|
|
@@ -11444,17 +11458,18 @@ function ProfileCard({
|
|
|
11444
11458
|
children: [
|
|
11445
11459
|
/* @__PURE__ */ jsxs("div", { className: "relative flex flex-col items-center w-full", children: [
|
|
11446
11460
|
/* @__PURE__ */ jsxs("div", { className: "relative -mt-16", children: [
|
|
11447
|
-
/* @__PURE__ */ jsxs(Avatar, { className: "size-32 border-4 border-
|
|
11461
|
+
/* @__PURE__ */ jsxs(Avatar, { className: "size-32 border-4 border-[var(--canvas-background)]", children: [
|
|
11448
11462
|
/* @__PURE__ */ jsx(AvatarImage, { src: avatarUrl, alt: name }),
|
|
11449
11463
|
/* @__PURE__ */ jsx(
|
|
11450
11464
|
AvatarFallback,
|
|
11451
11465
|
{
|
|
11452
|
-
className: "
|
|
11466
|
+
className: "font-semibold bg-[var(--canvas-surface)] text-[var(--canvas-text-muted)]",
|
|
11467
|
+
style: { fontSize: "var(--typo-body-xl-size)" },
|
|
11453
11468
|
children: avatarFallback
|
|
11454
11469
|
}
|
|
11455
11470
|
)
|
|
11456
11471
|
] }),
|
|
11457
|
-
showStatus && /* @__PURE__ */ jsx("div", { className: "absolute bottom-[9px] right-[9px] size-5 rounded-full bg-
|
|
11472
|
+
showStatus && /* @__PURE__ */ jsx("div", { className: "absolute bottom-[9px] right-[9px] size-5 rounded-full bg-[var(--canvas-success)] border-[3px] border-[var(--canvas-background)]" })
|
|
11458
11473
|
] }),
|
|
11459
11474
|
showMenu && /* @__PURE__ */ jsx(
|
|
11460
11475
|
"button",
|
|
@@ -11561,9 +11576,9 @@ function SidebarProfileCard({
|
|
|
11561
11576
|
/* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
11562
11577
|
/* @__PURE__ */ jsxs(Avatar, { className: "size-[120px]", children: [
|
|
11563
11578
|
/* @__PURE__ */ jsx(AvatarImage, { src: avatarUrl, alt: name }),
|
|
11564
|
-
/* @__PURE__ */ jsx(AvatarFallback, { className: "
|
|
11579
|
+
/* @__PURE__ */ jsx(AvatarFallback, { className: "font-semibold bg-[var(--canvas-surface)] text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-h6-size)" }, children: avatarFallback })
|
|
11565
11580
|
] }),
|
|
11566
|
-
showStatus && /* @__PURE__ */ jsx("div", { className: "absolute bottom-[10px] right-[10px] size-5 rounded-full bg-
|
|
11581
|
+
showStatus && /* @__PURE__ */ jsx("div", { className: "absolute bottom-[10px] right-[10px] size-5 rounded-full bg-[var(--canvas-success)] border-[3px] border-[var(--canvas-background)]" })
|
|
11567
11582
|
] }),
|
|
11568
11583
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-[var(--spacing-xs)]", children: [
|
|
11569
11584
|
/* @__PURE__ */ jsx(Typography, { variant: "body-xl", className: "text-center", style: { fontWeight: 600 }, children: name }),
|
|
@@ -11746,8 +11761,8 @@ var badgeIcons = {
|
|
|
11746
11761
|
};
|
|
11747
11762
|
var badgeColors = {
|
|
11748
11763
|
zap: "text-[var(--canvas-primary)]",
|
|
11749
|
-
star: "text-
|
|
11750
|
-
check: "text-
|
|
11764
|
+
star: "text-[var(--canvas-warning)]",
|
|
11765
|
+
check: "text-[var(--canvas-success)]"
|
|
11751
11766
|
};
|
|
11752
11767
|
function BadgesCard({ badges, className }) {
|
|
11753
11768
|
return /* @__PURE__ */ jsx(CardWrapper, { className: cn("p-[var(--spacing-4xl)]", className), children: /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-[var(--spacing-xl)]", children: badges.map((badge, index) => {
|
|
@@ -14623,7 +14638,7 @@ function ControlButton({ icon, onClick, isActive = true, label }) {
|
|
|
14623
14638
|
className: cn(
|
|
14624
14639
|
"w-10 h-10 rounded-full flex items-center justify-center",
|
|
14625
14640
|
"shadow-sm transition-colors",
|
|
14626
|
-
isActive ? "bg-[var(--canvas-sidebar-light-text)] text-
|
|
14641
|
+
isActive ? "bg-[var(--canvas-sidebar-light-text)] text-[var(--canvas-primary-foreground)] hover:opacity-80" : "bg-[var(--canvas-destructive)] text-[var(--canvas-primary-foreground)] hover:opacity-80"
|
|
14627
14642
|
),
|
|
14628
14643
|
children: icon
|
|
14629
14644
|
}
|
|
@@ -15151,8 +15166,8 @@ function CreditCardDisplay({
|
|
|
15151
15166
|
/* @__PURE__ */ jsx(
|
|
15152
15167
|
"span",
|
|
15153
15168
|
{
|
|
15154
|
-
className: "text-white/70
|
|
15155
|
-
style: { fontFamily: "var(--typo-global-font)" },
|
|
15169
|
+
className: "text-white/70 block mb-1",
|
|
15170
|
+
style: { fontFamily: "var(--typo-global-font)", fontSize: "var(--typo-body-xs-size)" },
|
|
15156
15171
|
children: "CARDHOLDER"
|
|
15157
15172
|
}
|
|
15158
15173
|
),
|
|
@@ -15161,7 +15176,7 @@ function CreditCardDisplay({
|
|
|
15161
15176
|
{
|
|
15162
15177
|
className: "text-white font-medium",
|
|
15163
15178
|
style: {
|
|
15164
|
-
fontSize: "
|
|
15179
|
+
fontSize: "var(--typo-body-m-size)",
|
|
15165
15180
|
fontFamily: "var(--typo-global-font)"
|
|
15166
15181
|
},
|
|
15167
15182
|
children: cardholderName
|
|
@@ -15172,8 +15187,8 @@ function CreditCardDisplay({
|
|
|
15172
15187
|
/* @__PURE__ */ jsx(
|
|
15173
15188
|
"span",
|
|
15174
15189
|
{
|
|
15175
|
-
className: "text-white/70
|
|
15176
|
-
style: { fontFamily: "var(--typo-global-font)" },
|
|
15190
|
+
className: "text-white/70 block mb-1",
|
|
15191
|
+
style: { fontFamily: "var(--typo-global-font)", fontSize: "var(--typo-body-xs-size)" },
|
|
15177
15192
|
children: "EXPIRES"
|
|
15178
15193
|
}
|
|
15179
15194
|
),
|
|
@@ -15182,7 +15197,7 @@ function CreditCardDisplay({
|
|
|
15182
15197
|
{
|
|
15183
15198
|
className: "text-white font-medium",
|
|
15184
15199
|
style: {
|
|
15185
|
-
fontSize: "
|
|
15200
|
+
fontSize: "var(--typo-body-m-size)",
|
|
15186
15201
|
fontFamily: "var(--typo-global-font)"
|
|
15187
15202
|
},
|
|
15188
15203
|
children: expiryDate
|
|
@@ -15248,7 +15263,8 @@ function CanvasItem({
|
|
|
15248
15263
|
"div",
|
|
15249
15264
|
{
|
|
15250
15265
|
onMouseDown: handleDragHandleMouseDown,
|
|
15251
|
-
className: "flex items-center gap-1.5 text-white/90
|
|
15266
|
+
className: "flex items-center gap-1.5 text-white/90 cursor-grab active:cursor-grabbing select-none",
|
|
15267
|
+
style: { fontSize: "var(--typo-body-xs-size)" },
|
|
15252
15268
|
children: [
|
|
15253
15269
|
/* @__PURE__ */ jsx(GripHorizontal, { className: "size-4" }),
|
|
15254
15270
|
/* @__PURE__ */ jsx("span", { className: "text-[11px] font-medium", children: item.componentType })
|
|
@@ -15424,9 +15440,10 @@ function DraggableComponent({ component }) {
|
|
|
15424
15440
|
/* @__PURE__ */ jsx(
|
|
15425
15441
|
"span",
|
|
15426
15442
|
{
|
|
15427
|
-
className: "text-
|
|
15443
|
+
className: "text-[var(--canvas-text)]",
|
|
15428
15444
|
style: {
|
|
15429
|
-
fontFamily: "var(--typo-body-s-font, var(--typo-global-font))"
|
|
15445
|
+
fontFamily: "var(--typo-body-s-font, var(--typo-global-font))",
|
|
15446
|
+
fontSize: "var(--typo-body-s-size)"
|
|
15430
15447
|
},
|
|
15431
15448
|
children: component.label
|
|
15432
15449
|
}
|
|
@@ -15448,11 +15465,12 @@ function CategorySection({ category, components, defaultExpanded = true }) {
|
|
|
15448
15465
|
/* @__PURE__ */ jsx(
|
|
15449
15466
|
"span",
|
|
15450
15467
|
{
|
|
15451
|
-
className: "
|
|
15468
|
+
className: "font-semibold uppercase tracking-wider text-[var(--canvas-text-muted)]",
|
|
15469
|
+
style: { fontSize: "var(--typo-body-xs-size)" },
|
|
15452
15470
|
children: category
|
|
15453
15471
|
}
|
|
15454
15472
|
),
|
|
15455
|
-
/* @__PURE__ */ jsx("span", { className: "ml-auto text-
|
|
15473
|
+
/* @__PURE__ */ jsx("span", { className: "ml-auto text-[var(--canvas-text-placeholder)]", style: { fontSize: "var(--typo-body-xs-size)" }, children: components.length })
|
|
15456
15474
|
]
|
|
15457
15475
|
}
|
|
15458
15476
|
),
|
|
@@ -15465,7 +15483,7 @@ function ComponentPalette({ className }) {
|
|
|
15465
15483
|
{
|
|
15466
15484
|
className: cn(
|
|
15467
15485
|
"w-[280px] h-full flex flex-col",
|
|
15468
|
-
"bg-
|
|
15486
|
+
"bg-[var(--canvas-background)] border-r border-[var(--canvas-border)]",
|
|
15469
15487
|
className
|
|
15470
15488
|
),
|
|
15471
15489
|
children: [
|
|
@@ -15473,9 +15491,10 @@ function ComponentPalette({ className }) {
|
|
|
15473
15491
|
/* @__PURE__ */ jsx(
|
|
15474
15492
|
"h2",
|
|
15475
15493
|
{
|
|
15476
|
-
className: "
|
|
15494
|
+
className: "font-semibold text-[var(--canvas-text)]",
|
|
15477
15495
|
style: {
|
|
15478
|
-
fontFamily: "var(--typo-body-m-font, var(--typo-global-font))"
|
|
15496
|
+
fontFamily: "var(--typo-body-m-font, var(--typo-global-font))",
|
|
15497
|
+
fontSize: "var(--typo-body-s-size)"
|
|
15479
15498
|
},
|
|
15480
15499
|
children: "Components"
|
|
15481
15500
|
}
|
|
@@ -15483,7 +15502,8 @@ function ComponentPalette({ className }) {
|
|
|
15483
15502
|
/* @__PURE__ */ jsx(
|
|
15484
15503
|
"p",
|
|
15485
15504
|
{
|
|
15486
|
-
className: "text-
|
|
15505
|
+
className: "text-[var(--canvas-text-muted)] mt-1",
|
|
15506
|
+
style: { fontSize: "var(--typo-body-xs-size)" },
|
|
15487
15507
|
children: "Drag components onto the canvas"
|
|
15488
15508
|
}
|
|
15489
15509
|
)
|
|
@@ -15501,9 +15521,9 @@ function ComponentPalette({ className }) {
|
|
|
15501
15521
|
category
|
|
15502
15522
|
);
|
|
15503
15523
|
}) }) }),
|
|
15504
|
-
/* @__PURE__ */ jsx("div", { className: "px-4 py-3 border-t border-[var(--canvas-border)] bg-[var(--canvas-surface)]", children: /* @__PURE__ */ jsxs("p", { className: "text-
|
|
15524
|
+
/* @__PURE__ */ jsx("div", { className: "px-4 py-3 border-t border-[var(--canvas-border)] bg-[var(--canvas-surface)]", children: /* @__PURE__ */ jsxs("p", { className: "text-[var(--canvas-text-placeholder)]", style: { fontSize: "var(--typo-body-xs-size)" }, children: [
|
|
15505
15525
|
"Tip: Press ",
|
|
15506
|
-
/* @__PURE__ */ jsx("kbd", { className: "px-1.5 py-0.5 bg-
|
|
15526
|
+
/* @__PURE__ */ jsx("kbd", { className: "px-1.5 py-0.5 bg-[var(--canvas-background)] rounded border border-[var(--canvas-border)]", style: { fontSize: "10px" }, children: "Delete" }),
|
|
15507
15527
|
" to remove selected"
|
|
15508
15528
|
] }) })
|
|
15509
15529
|
]
|
|
@@ -16295,7 +16315,8 @@ function ComponentSearch({
|
|
|
16295
16315
|
selectedComponents.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2", children: selectedComponents.map((component) => /* @__PURE__ */ jsxs(
|
|
16296
16316
|
"div",
|
|
16297
16317
|
{
|
|
16298
|
-
className: "flex items-center gap-1.5 px-2.5 py-1 rounded-full bg-[var(--canvas-surface-brand)] text-[var(--canvas-primary)]
|
|
16318
|
+
className: "flex items-center gap-1.5 px-2.5 py-1 rounded-full bg-[var(--canvas-surface-brand)] text-[var(--canvas-primary)]",
|
|
16319
|
+
style: { fontSize: "var(--typo-body-s-size)" },
|
|
16299
16320
|
children: [
|
|
16300
16321
|
/* @__PURE__ */ jsx("span", { className: "font-medium", children: component.name }),
|
|
16301
16322
|
/* @__PURE__ */ jsx(
|
|
@@ -16329,10 +16350,11 @@ function ComponentSearch({
|
|
|
16329
16350
|
onChange: (e) => setSearchQuery(e.target.value),
|
|
16330
16351
|
onFocus: () => setIsOpen(true),
|
|
16331
16352
|
placeholder: "Search components...",
|
|
16332
|
-
className: "flex-1 bg-transparent text-
|
|
16353
|
+
className: "flex-1 bg-transparent text-[var(--canvas-text)] placeholder:text-[var(--canvas-text-placeholder)] outline-none",
|
|
16354
|
+
style: { fontSize: "var(--typo-body-s-size)" }
|
|
16333
16355
|
}
|
|
16334
16356
|
),
|
|
16335
|
-
/* @__PURE__ */ jsxs("span", { className: "text-
|
|
16357
|
+
/* @__PURE__ */ jsxs("span", { className: "text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-body-xs-size)" }, children: [
|
|
16336
16358
|
selectedComponents.length,
|
|
16337
16359
|
" selected"
|
|
16338
16360
|
] })
|
|
@@ -16353,7 +16375,8 @@ function ComponentSearch({
|
|
|
16353
16375
|
"button",
|
|
16354
16376
|
{
|
|
16355
16377
|
onClick: () => toggleCategory(category),
|
|
16356
|
-
className: "w-full flex items-center justify-between px-3 py-2 bg-[var(--canvas-surface)] border-b border-[var(--canvas-border)]
|
|
16378
|
+
className: "w-full flex items-center justify-between px-3 py-2 bg-[var(--canvas-surface)] border-b border-[var(--canvas-border)] font-semibold text-[var(--canvas-text-muted)] uppercase tracking-wide hover:bg-[var(--canvas-surface-brand)]/50",
|
|
16379
|
+
style: { fontSize: "var(--typo-body-xs-size)" },
|
|
16357
16380
|
children: [
|
|
16358
16381
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
16359
16382
|
category,
|
|
@@ -16388,7 +16411,7 @@ function ComponentSearch({
|
|
|
16388
16411
|
children: isSelected && /* @__PURE__ */ jsx(
|
|
16389
16412
|
"svg",
|
|
16390
16413
|
{
|
|
16391
|
-
className: "size-3 text-
|
|
16414
|
+
className: "size-3 text-[var(--canvas-primary-foreground)]",
|
|
16392
16415
|
fill: "none",
|
|
16393
16416
|
viewBox: "0 0 24 24",
|
|
16394
16417
|
stroke: "currentColor",
|
|
@@ -16411,15 +16434,16 @@ function ComponentSearch({
|
|
|
16411
16434
|
"span",
|
|
16412
16435
|
{
|
|
16413
16436
|
className: cn(
|
|
16414
|
-
"
|
|
16437
|
+
"font-medium",
|
|
16415
16438
|
isSelected ? "text-[var(--canvas-primary)]" : "text-[var(--canvas-text)]"
|
|
16416
16439
|
),
|
|
16440
|
+
style: { fontSize: "var(--typo-body-s-size)" },
|
|
16417
16441
|
children: component.name
|
|
16418
16442
|
}
|
|
16419
16443
|
),
|
|
16420
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
16444
|
+
/* @__PURE__ */ jsx("span", { className: "text-[var(--canvas-text-placeholder)]", style: { fontSize: "var(--typo-body-xs-size)" }, children: component.path })
|
|
16421
16445
|
] }),
|
|
16422
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
16446
|
+
/* @__PURE__ */ jsx("p", { className: "text-[var(--canvas-text-muted)] mt-0.5 line-clamp-2", style: { fontSize: "var(--typo-body-xs-size)" }, children: component.description })
|
|
16423
16447
|
] })
|
|
16424
16448
|
]
|
|
16425
16449
|
},
|
|
@@ -16427,7 +16451,7 @@ function ComponentSearch({
|
|
|
16427
16451
|
);
|
|
16428
16452
|
}) })
|
|
16429
16453
|
] }, category)),
|
|
16430
|
-
filteredComponents.length === 0 && /* @__PURE__ */ jsxs("div", { className: "px-3 py-6 text-center text-
|
|
16454
|
+
filteredComponents.length === 0 && /* @__PURE__ */ jsxs("div", { className: "px-3 py-6 text-center text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-body-s-size)" }, children: [
|
|
16431
16455
|
'No components found for "',
|
|
16432
16456
|
searchQuery,
|
|
16433
16457
|
'"'
|
|
@@ -16544,11 +16568,11 @@ function CustomComponentHelper({ className }) {
|
|
|
16544
16568
|
const hasContent = componentName || componentDescription;
|
|
16545
16569
|
return /* @__PURE__ */ jsxs("div", { className: cn("space-y-6", className), children: [
|
|
16546
16570
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
16547
|
-
/* @__PURE__ */ jsx("h3", { className: "
|
|
16548
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
16571
|
+
/* @__PURE__ */ jsx("h3", { className: "font-semibold text-[var(--canvas-text)]", style: { fontSize: "var(--typo-body-l-size)" }, children: "Create Custom Component" }),
|
|
16572
|
+
/* @__PURE__ */ jsx("p", { className: "text-[var(--canvas-text-muted)] mt-1", style: { fontSize: "var(--typo-body-s-size)" }, children: "Generate a prompt to create a new ShadCN-based component with design variables" })
|
|
16549
16573
|
] }),
|
|
16550
16574
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
16551
|
-
/* @__PURE__ */ jsx("label", { className: "text-
|
|
16575
|
+
/* @__PURE__ */ jsx("label", { className: "text-[var(--canvas-text)]", style: { fontSize: "var(--typo-body-s-size)", fontWeight: 500 }, children: "Component Type" }),
|
|
16552
16576
|
/* @__PURE__ */ jsx("div", { className: "flex gap-2", children: [
|
|
16553
16577
|
{ id: "block", label: "Block" },
|
|
16554
16578
|
{ id: "page-template", label: "Page Template" },
|
|
@@ -16558,9 +16582,10 @@ function CustomComponentHelper({ className }) {
|
|
|
16558
16582
|
{
|
|
16559
16583
|
onClick: () => setComponentType(type.id),
|
|
16560
16584
|
className: cn(
|
|
16561
|
-
"px-4 py-2 rounded-lg
|
|
16562
|
-
componentType === type.id ? "bg-[var(--canvas-primary)] text-
|
|
16585
|
+
"px-4 py-2 rounded-lg font-medium transition-all",
|
|
16586
|
+
componentType === type.id ? "bg-[var(--canvas-primary)] text-[var(--canvas-primary-foreground)]" : "bg-[var(--canvas-surface)] text-[var(--canvas-text-muted)] border border-[var(--canvas-border)] hover:border-[var(--canvas-primary)] hover:text-[var(--canvas-primary)]"
|
|
16563
16587
|
),
|
|
16588
|
+
style: { fontSize: "var(--typo-body-s-size)" },
|
|
16564
16589
|
children: type.label
|
|
16565
16590
|
},
|
|
16566
16591
|
type.id
|
|
@@ -16571,7 +16596,8 @@ function CustomComponentHelper({ className }) {
|
|
|
16571
16596
|
"label",
|
|
16572
16597
|
{
|
|
16573
16598
|
htmlFor: "component-name",
|
|
16574
|
-
className: "text-
|
|
16599
|
+
className: "text-[var(--canvas-text)]",
|
|
16600
|
+
style: { fontSize: "var(--typo-body-s-size)", fontWeight: 500 },
|
|
16575
16601
|
children: "Component Name"
|
|
16576
16602
|
}
|
|
16577
16603
|
),
|
|
@@ -16583,7 +16609,8 @@ function CustomComponentHelper({ className }) {
|
|
|
16583
16609
|
value: componentName,
|
|
16584
16610
|
onChange: (e) => setComponentName(e.target.value),
|
|
16585
16611
|
placeholder: "e.g., MultiStepPopup, ImageCarousel, StatCard",
|
|
16586
|
-
className: "w-full px-3 py-2 rounded-lg border border-[var(--canvas-border)] bg-[var(--canvas-background)] text-[var(--canvas-text)]
|
|
16612
|
+
className: "w-full px-3 py-2 rounded-lg border border-[var(--canvas-border)] bg-[var(--canvas-background)] text-[var(--canvas-text)] placeholder:text-[var(--canvas-text-placeholder)] focus:outline-none focus:ring-2 focus:ring-[var(--canvas-primary)] focus:border-transparent",
|
|
16613
|
+
style: { fontSize: "var(--typo-body-s-size)" }
|
|
16587
16614
|
}
|
|
16588
16615
|
)
|
|
16589
16616
|
] }),
|
|
@@ -16592,7 +16619,8 @@ function CustomComponentHelper({ className }) {
|
|
|
16592
16619
|
"label",
|
|
16593
16620
|
{
|
|
16594
16621
|
htmlFor: "component-description",
|
|
16595
|
-
className: "text-
|
|
16622
|
+
className: "text-[var(--canvas-text)]",
|
|
16623
|
+
style: { fontSize: "var(--typo-body-s-size)", fontWeight: 500 },
|
|
16596
16624
|
children: "Description"
|
|
16597
16625
|
}
|
|
16598
16626
|
),
|
|
@@ -16604,13 +16632,14 @@ function CustomComponentHelper({ className }) {
|
|
|
16604
16632
|
onChange: (e) => setComponentDescription(e.target.value),
|
|
16605
16633
|
placeholder: "Describe what this component should do, its features, and any specific requirements (e.g., a multi-step popup with steps listed on the left side and content on the right, progress indicator, next/back buttons)",
|
|
16606
16634
|
rows: 4,
|
|
16607
|
-
className: "w-full px-3 py-2 rounded-lg border border-[var(--canvas-border)] bg-[var(--canvas-background)] text-[var(--canvas-text)]
|
|
16635
|
+
className: "w-full px-3 py-2 rounded-lg border border-[var(--canvas-border)] bg-[var(--canvas-background)] text-[var(--canvas-text)] placeholder:text-[var(--canvas-text-placeholder)] focus:outline-none focus:ring-2 focus:ring-[var(--canvas-primary)] focus:border-transparent resize-none",
|
|
16636
|
+
style: { fontSize: "var(--typo-body-s-size)" }
|
|
16608
16637
|
}
|
|
16609
16638
|
)
|
|
16610
16639
|
] }),
|
|
16611
16640
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
16612
|
-
/* @__PURE__ */ jsx("label", { className: "text-
|
|
16613
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
16641
|
+
/* @__PURE__ */ jsx("label", { className: "text-[var(--canvas-text)]", style: { fontSize: "var(--typo-body-s-size)", fontWeight: 500 }, children: "Reference Components (optional)" }),
|
|
16642
|
+
/* @__PURE__ */ jsx("p", { className: "text-[var(--canvas-text-muted)] mb-2", style: { fontSize: "var(--typo-body-xs-size)" }, children: "Select existing components to use as style/pattern references" }),
|
|
16614
16643
|
/* @__PURE__ */ jsx(
|
|
16615
16644
|
ComponentSearch,
|
|
16616
16645
|
{
|
|
@@ -16621,7 +16650,7 @@ function CustomComponentHelper({ className }) {
|
|
|
16621
16650
|
] }),
|
|
16622
16651
|
hasContent && /* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-dashed border-[var(--canvas-border)] bg-[var(--canvas-surface)] p-4", children: [
|
|
16623
16652
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-3", children: [
|
|
16624
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2
|
|
16653
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 font-medium text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-body-s-size)" }, children: [
|
|
16625
16654
|
/* @__PURE__ */ jsx(Sparkles, { className: "size-4 text-[var(--canvas-primary)]" }),
|
|
16626
16655
|
"Generated Prompt"
|
|
16627
16656
|
] }),
|
|
@@ -16631,9 +16660,10 @@ function CustomComponentHelper({ className }) {
|
|
|
16631
16660
|
onClick: handleCopy,
|
|
16632
16661
|
disabled: !generatedPrompt,
|
|
16633
16662
|
className: cn(
|
|
16634
|
-
"flex items-center gap-1.5 px-2.5 py-1.5 rounded-md
|
|
16635
|
-
copied ? "bg-
|
|
16663
|
+
"flex items-center gap-1.5 px-2.5 py-1.5 rounded-md font-medium transition-all",
|
|
16664
|
+
copied ? "bg-[var(--canvas-success-surface)] text-[var(--canvas-success)]" : "bg-[var(--canvas-background)] text-[var(--canvas-text-muted)] hover:text-[var(--canvas-text)] border border-[var(--canvas-border)] hover:border-[var(--canvas-primary)]"
|
|
16636
16665
|
),
|
|
16666
|
+
style: { fontSize: "var(--typo-body-xs-size)" },
|
|
16637
16667
|
children: copied ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
16638
16668
|
/* @__PURE__ */ jsx(Check, { className: "size-3" }),
|
|
16639
16669
|
"Copied!"
|
|
@@ -16644,9 +16674,9 @@ function CustomComponentHelper({ className }) {
|
|
|
16644
16674
|
}
|
|
16645
16675
|
)
|
|
16646
16676
|
] }),
|
|
16647
|
-
/* @__PURE__ */ jsx("pre", { className: "text-
|
|
16677
|
+
/* @__PURE__ */ jsx("pre", { className: "text-[var(--canvas-text)] leading-relaxed font-mono whitespace-pre-wrap bg-[var(--canvas-background)] rounded-md p-3 border border-[var(--canvas-border)] max-h-[300px] overflow-y-auto", style: { fontSize: "var(--typo-body-s-size)" }, children: generatedPrompt })
|
|
16648
16678
|
] }),
|
|
16649
|
-
!hasContent && /* @__PURE__ */ jsx("div", { className: "rounded-lg border-2 border-dashed border-[var(--canvas-border)] bg-[var(--canvas-surface)] p-8 text-center", children: /* @__PURE__ */ jsx("p", { className: "text-
|
|
16679
|
+
!hasContent && /* @__PURE__ */ jsx("div", { className: "rounded-lg border-2 border-dashed border-[var(--canvas-border)] bg-[var(--canvas-surface)] p-8 text-center", children: /* @__PURE__ */ jsx("p", { className: "text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-body-s-size)" }, children: "Enter a component name or description to generate a prompt" }) })
|
|
16650
16680
|
] });
|
|
16651
16681
|
}
|
|
16652
16682
|
function toKebabCase(str) {
|
|
@@ -19672,7 +19702,7 @@ function DateCell({
|
|
|
19672
19702
|
"span",
|
|
19673
19703
|
{
|
|
19674
19704
|
className: cn(
|
|
19675
|
-
"font-semibold
|
|
19705
|
+
"font-semibold leading-6",
|
|
19676
19706
|
showStrikethrough && "line-through"
|
|
19677
19707
|
),
|
|
19678
19708
|
style: {
|
|
@@ -20097,12 +20127,13 @@ function PaginationButton({
|
|
|
20097
20127
|
onClick,
|
|
20098
20128
|
className: cn(
|
|
20099
20129
|
"flex items-center justify-center shrink-0 transition-colors",
|
|
20100
|
-
"font-semibold
|
|
20130
|
+
"font-semibold",
|
|
20101
20131
|
"size-[32px] rounded-[var(--radius-xs)]",
|
|
20102
20132
|
"border bg-[var(--canvas-background)]",
|
|
20103
20133
|
isSelected ? "border-[var(--canvas-primary)] text-[var(--canvas-primary)]" : "border-[var(--canvas-border)] text-[var(--canvas-text)] hover:bg-[var(--canvas-surface)]",
|
|
20104
20134
|
className
|
|
20105
20135
|
),
|
|
20136
|
+
style: { fontSize: "var(--typo-body-s-size)", lineHeight: "var(--typo-body-s-line-height)" },
|
|
20106
20137
|
"aria-current": isSelected ? "page" : void 0,
|
|
20107
20138
|
children: page
|
|
20108
20139
|
}
|
|
@@ -20144,7 +20175,7 @@ function NavigationButton({
|
|
|
20144
20175
|
"aria-label": type,
|
|
20145
20176
|
children: [
|
|
20146
20177
|
(type === "first" || type === "prev") && /* @__PURE__ */ jsx(Icon2, { className: "size-[20px]" }),
|
|
20147
|
-
label && /* @__PURE__ */ jsx("span", { className: "font-semibold
|
|
20178
|
+
label && /* @__PURE__ */ jsx("span", { className: "font-semibold", style: { fontSize: "var(--typo-body-s-size)", lineHeight: "var(--typo-body-s-line-height)" }, children: label }),
|
|
20148
20179
|
(type === "next" || type === "last") && /* @__PURE__ */ jsx(Icon2, { className: "size-[20px]" })
|
|
20149
20180
|
]
|
|
20150
20181
|
}
|
|
@@ -20246,8 +20277,8 @@ function Pagination({
|
|
|
20246
20277
|
showResultsText && /* @__PURE__ */ jsxs(
|
|
20247
20278
|
"span",
|
|
20248
20279
|
{
|
|
20249
|
-
className: "text-[
|
|
20250
|
-
style: { fontFamily: "var(--typo-global-font)" },
|
|
20280
|
+
className: "text-[var(--canvas-text)] whitespace-nowrap",
|
|
20281
|
+
style: { fontFamily: "var(--typo-global-font)", fontSize: "var(--typo-body-s-size)", lineHeight: "var(--typo-body-s-line-height)" },
|
|
20251
20282
|
children: [
|
|
20252
20283
|
"Viewing ",
|
|
20253
20284
|
formatNumber(startItem),
|
|
@@ -20364,7 +20395,7 @@ function PromptTemplate({
|
|
|
20364
20395
|
),
|
|
20365
20396
|
children: [
|
|
20366
20397
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-3", children: [
|
|
20367
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2
|
|
20398
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 font-medium text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-body-s-size)" }, children: [
|
|
20368
20399
|
/* @__PURE__ */ jsx(Sparkles, { className: "size-4 text-[var(--canvas-primary)]" }),
|
|
20369
20400
|
title
|
|
20370
20401
|
] }),
|
|
@@ -20373,9 +20404,10 @@ function PromptTemplate({
|
|
|
20373
20404
|
{
|
|
20374
20405
|
onClick: handleCopy,
|
|
20375
20406
|
className: cn(
|
|
20376
|
-
"flex items-center gap-1.5 px-2.5 py-1.5 rounded-md
|
|
20377
|
-
copied ? "bg-
|
|
20407
|
+
"flex items-center gap-1.5 px-2.5 py-1.5 rounded-md font-medium transition-all",
|
|
20408
|
+
copied ? "bg-[var(--canvas-success-surface)] text-[var(--canvas-success)]" : "bg-[var(--canvas-background)] text-[var(--canvas-text-muted)] hover:text-[var(--canvas-text)] border border-[var(--canvas-border)] hover:border-[var(--canvas-primary)]"
|
|
20378
20409
|
),
|
|
20410
|
+
style: { fontSize: "var(--typo-body-xs-size)" },
|
|
20379
20411
|
children: copied ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
20380
20412
|
/* @__PURE__ */ jsx(Check, { className: "size-3" }),
|
|
20381
20413
|
"Copied!"
|
|
@@ -20386,7 +20418,7 @@ function PromptTemplate({
|
|
|
20386
20418
|
}
|
|
20387
20419
|
)
|
|
20388
20420
|
] }),
|
|
20389
|
-
/* @__PURE__ */ jsx("pre", { className: "text-
|
|
20421
|
+
/* @__PURE__ */ jsx("pre", { className: "text-[var(--canvas-text)] leading-relaxed font-mono whitespace-pre-wrap bg-[var(--canvas-background)] rounded-md p-3 border border-[var(--canvas-border)] max-h-[300px] overflow-y-auto", style: { fontSize: "var(--typo-body-s-size)" }, children: prompt })
|
|
20390
20422
|
]
|
|
20391
20423
|
}
|
|
20392
20424
|
);
|
|
@@ -20403,9 +20435,10 @@ function MiniPromptChip({ label, prompt }) {
|
|
|
20403
20435
|
{
|
|
20404
20436
|
onClick: handleCopy,
|
|
20405
20437
|
className: cn(
|
|
20406
|
-
"inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full
|
|
20407
|
-
copied ? "bg-
|
|
20438
|
+
"inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full font-medium transition-all",
|
|
20439
|
+
copied ? "bg-[var(--canvas-success-surface)] text-[var(--canvas-success)]" : "bg-[var(--canvas-surface)] text-[var(--canvas-text-muted)] hover:bg-[var(--canvas-surface-hover)] hover:text-[var(--canvas-text)] border border-[var(--canvas-border)]"
|
|
20408
20440
|
),
|
|
20441
|
+
style: { fontSize: "var(--typo-body-xs-size)" },
|
|
20409
20442
|
title: `Copy: ${prompt.slice(0, 100)}...`,
|
|
20410
20443
|
children: [
|
|
20411
20444
|
copied ? /* @__PURE__ */ jsx(Check, { className: "size-3" }) : /* @__PURE__ */ jsx(Copy, { className: "size-3" }),
|
|
@@ -20416,7 +20449,7 @@ function MiniPromptChip({ label, prompt }) {
|
|
|
20416
20449
|
}
|
|
20417
20450
|
function PromptChipsRow({ chips, label = "More prompts:" }) {
|
|
20418
20451
|
return /* @__PURE__ */ jsxs("div", { className: "pt-4 border-t border-[var(--canvas-border)]", children: [
|
|
20419
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
20452
|
+
/* @__PURE__ */ jsx("p", { className: "text-[var(--canvas-text-muted)] mb-2 font-medium", style: { fontSize: "var(--typo-body-xs-size)" }, children: label }),
|
|
20420
20453
|
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2", children: chips.map((chip) => /* @__PURE__ */ jsx(MiniPromptChip, { label: chip.label, prompt: chip.prompt }, chip.label)) })
|
|
20421
20454
|
] });
|
|
20422
20455
|
}
|
|
@@ -20499,9 +20532,10 @@ function ScreenPromptTemplate() {
|
|
|
20499
20532
|
{
|
|
20500
20533
|
onClick: () => setPromptType(type),
|
|
20501
20534
|
className: cn(
|
|
20502
|
-
"flex items-center gap-2 px-4 py-2 rounded-lg
|
|
20503
|
-
isActive ? "bg-[var(--canvas-primary)] text-
|
|
20535
|
+
"flex items-center gap-2 px-4 py-2 rounded-lg font-medium transition-all",
|
|
20536
|
+
isActive ? "bg-[var(--canvas-primary)] text-[var(--canvas-primary-foreground)] shadow-sm" : "bg-[var(--canvas-background)] text-[var(--canvas-text-muted)] border border-[var(--canvas-border)] hover:border-[var(--canvas-primary)] hover:text-[var(--canvas-primary)]"
|
|
20504
20537
|
),
|
|
20538
|
+
style: { fontSize: "var(--typo-body-s-size)" },
|
|
20505
20539
|
children: [
|
|
20506
20540
|
/* @__PURE__ */ jsx(Icon2, { className: "size-4" }),
|
|
20507
20541
|
config.label
|
|
@@ -20511,10 +20545,10 @@ function ScreenPromptTemplate() {
|
|
|
20511
20545
|
);
|
|
20512
20546
|
}
|
|
20513
20547
|
) }),
|
|
20514
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
20548
|
+
/* @__PURE__ */ jsx("p", { className: "text-[var(--canvas-text-muted)] mb-3", style: { fontSize: "var(--typo-body-xs-size)" }, children: currentConfig.description }),
|
|
20515
20549
|
/* @__PURE__ */ jsx("div", { className: "border-t border-[var(--canvas-border)] my-4" }),
|
|
20516
20550
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-3", children: [
|
|
20517
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2
|
|
20551
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 font-medium text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-body-s-size)" }, children: [
|
|
20518
20552
|
/* @__PURE__ */ jsx(Sparkles, { className: "size-4 text-[var(--canvas-primary)]" }),
|
|
20519
20553
|
"Generate with Cursor"
|
|
20520
20554
|
] }),
|
|
@@ -20523,9 +20557,10 @@ function ScreenPromptTemplate() {
|
|
|
20523
20557
|
{
|
|
20524
20558
|
onClick: handleCopy,
|
|
20525
20559
|
className: cn(
|
|
20526
|
-
"flex items-center gap-1.5 px-2.5 py-1.5 rounded-md
|
|
20527
|
-
copied ? "bg-
|
|
20560
|
+
"flex items-center gap-1.5 px-2.5 py-1.5 rounded-md font-medium transition-all",
|
|
20561
|
+
copied ? "bg-[var(--canvas-success-surface)] text-[var(--canvas-success)]" : "bg-[var(--canvas-background)] text-[var(--canvas-text-muted)] hover:text-[var(--canvas-text)] border border-[var(--canvas-border)] hover:border-[var(--canvas-primary)]"
|
|
20528
20562
|
),
|
|
20563
|
+
style: { fontSize: "var(--typo-body-xs-size)" },
|
|
20529
20564
|
children: copied ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
20530
20565
|
/* @__PURE__ */ jsx(Check, { className: "size-3" }),
|
|
20531
20566
|
"Copied!"
|
|
@@ -20536,7 +20571,7 @@ function ScreenPromptTemplate() {
|
|
|
20536
20571
|
}
|
|
20537
20572
|
)
|
|
20538
20573
|
] }),
|
|
20539
|
-
/* @__PURE__ */ jsx("pre", { className: "text-
|
|
20574
|
+
/* @__PURE__ */ jsx("pre", { className: "text-[var(--canvas-text)] leading-relaxed font-mono whitespace-pre-wrap bg-[var(--canvas-background)] rounded-md p-3 border border-[var(--canvas-border)] max-h-[300px] overflow-y-auto", style: { fontSize: "var(--typo-body-s-size)" }, children: currentConfig.prompt })
|
|
20540
20575
|
] });
|
|
20541
20576
|
}
|
|
20542
20577
|
function ScreenPromptBuilder({ className }) {
|
|
@@ -20609,11 +20644,11 @@ function ScreenPromptBuilder({ className }) {
|
|
|
20609
20644
|
const hasContent = selectedComponents.length > 0 || screenName || screenContext;
|
|
20610
20645
|
return /* @__PURE__ */ jsxs("div", { className: cn("space-y-6", className), children: [
|
|
20611
20646
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
20612
|
-
/* @__PURE__ */ jsx("h3", { className: "
|
|
20613
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
20647
|
+
/* @__PURE__ */ jsx("h3", { className: "font-semibold text-[var(--canvas-text)]", style: { fontSize: "var(--typo-body-l-size)" }, children: "Build from Components" }),
|
|
20648
|
+
/* @__PURE__ */ jsx("p", { className: "text-[var(--canvas-text-muted)] mt-1", style: { fontSize: "var(--typo-body-s-size)" }, children: "Select existing components and describe your screen to generate a prompt" })
|
|
20614
20649
|
] }),
|
|
20615
20650
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
20616
|
-
/* @__PURE__ */ jsx("label", { className: "text-
|
|
20651
|
+
/* @__PURE__ */ jsx("label", { className: "text-[var(--canvas-text)]", style: { fontSize: "var(--typo-body-s-size)", fontWeight: 500 }, children: "Select Components" }),
|
|
20617
20652
|
/* @__PURE__ */ jsx(
|
|
20618
20653
|
ComponentSearch,
|
|
20619
20654
|
{
|
|
@@ -20627,7 +20662,8 @@ function ScreenPromptBuilder({ className }) {
|
|
|
20627
20662
|
"label",
|
|
20628
20663
|
{
|
|
20629
20664
|
htmlFor: "screen-name",
|
|
20630
|
-
className: "text-
|
|
20665
|
+
className: "text-[var(--canvas-text)]",
|
|
20666
|
+
style: { fontSize: "var(--typo-body-s-size)", fontWeight: 500 },
|
|
20631
20667
|
children: "Screen Name"
|
|
20632
20668
|
}
|
|
20633
20669
|
),
|
|
@@ -20639,7 +20675,8 @@ function ScreenPromptBuilder({ className }) {
|
|
|
20639
20675
|
value: screenName,
|
|
20640
20676
|
onChange: (e) => setScreenName(e.target.value),
|
|
20641
20677
|
placeholder: "e.g., User Dashboard, Order History, Settings",
|
|
20642
|
-
className: "w-full px-3 py-2 rounded-lg border border-[var(--canvas-border)] bg-[var(--canvas-background)] text-[var(--canvas-text)]
|
|
20678
|
+
className: "w-full px-3 py-2 rounded-lg border border-[var(--canvas-border)] bg-[var(--canvas-background)] text-[var(--canvas-text)] placeholder:text-[var(--canvas-text-placeholder)] focus:outline-none focus:ring-2 focus:ring-[var(--canvas-primary)] focus:border-transparent",
|
|
20679
|
+
style: { fontSize: "var(--typo-body-s-size)" }
|
|
20643
20680
|
}
|
|
20644
20681
|
)
|
|
20645
20682
|
] }),
|
|
@@ -20648,7 +20685,8 @@ function ScreenPromptBuilder({ className }) {
|
|
|
20648
20685
|
"label",
|
|
20649
20686
|
{
|
|
20650
20687
|
htmlFor: "screen-context",
|
|
20651
|
-
className: "text-
|
|
20688
|
+
className: "text-[var(--canvas-text)]",
|
|
20689
|
+
style: { fontSize: "var(--typo-body-s-size)", fontWeight: 500 },
|
|
20652
20690
|
children: "Screen Purpose & Context"
|
|
20653
20691
|
}
|
|
20654
20692
|
),
|
|
@@ -20660,7 +20698,8 @@ function ScreenPromptBuilder({ className }) {
|
|
|
20660
20698
|
onChange: (e) => setScreenContext(e.target.value),
|
|
20661
20699
|
placeholder: "Describe what this screen should do, what users will accomplish here, and any specific requirements...",
|
|
20662
20700
|
rows: 3,
|
|
20663
|
-
className: "w-full px-3 py-2 rounded-lg border border-[var(--canvas-border)] bg-[var(--canvas-background)] text-[var(--canvas-text)]
|
|
20701
|
+
className: "w-full px-3 py-2 rounded-lg border border-[var(--canvas-border)] bg-[var(--canvas-background)] text-[var(--canvas-text)] placeholder:text-[var(--canvas-text-placeholder)] focus:outline-none focus:ring-2 focus:ring-[var(--canvas-primary)] focus:border-transparent resize-none",
|
|
20702
|
+
style: { fontSize: "var(--typo-body-s-size)" }
|
|
20664
20703
|
}
|
|
20665
20704
|
)
|
|
20666
20705
|
] }),
|
|
@@ -20669,7 +20708,8 @@ function ScreenPromptBuilder({ className }) {
|
|
|
20669
20708
|
"label",
|
|
20670
20709
|
{
|
|
20671
20710
|
htmlFor: "persona",
|
|
20672
|
-
className: "text-
|
|
20711
|
+
className: "text-[var(--canvas-text)]",
|
|
20712
|
+
style: { fontSize: "var(--typo-body-s-size)", fontWeight: 500 },
|
|
20673
20713
|
children: "Target Persona (optional)"
|
|
20674
20714
|
}
|
|
20675
20715
|
),
|
|
@@ -20679,7 +20719,8 @@ function ScreenPromptBuilder({ className }) {
|
|
|
20679
20719
|
id: "persona",
|
|
20680
20720
|
value: selectedPersona,
|
|
20681
20721
|
onChange: (e) => setSelectedPersona(e.target.value),
|
|
20682
|
-
className: "w-full px-3 py-2 rounded-lg border border-[var(--canvas-border)] bg-[var(--canvas-background)] text-[var(--canvas-text)]
|
|
20722
|
+
className: "w-full px-3 py-2 rounded-lg border border-[var(--canvas-border)] bg-[var(--canvas-background)] text-[var(--canvas-text)] focus:outline-none focus:ring-2 focus:ring-[var(--canvas-primary)] focus:border-transparent",
|
|
20723
|
+
style: { fontSize: "var(--typo-body-s-size)" },
|
|
20683
20724
|
children: [
|
|
20684
20725
|
/* @__PURE__ */ jsx("option", { value: "", children: "Select a persona..." }),
|
|
20685
20726
|
personas.map((persona) => /* @__PURE__ */ jsxs("option", { value: persona.id, children: [
|
|
@@ -20695,7 +20736,7 @@ function ScreenPromptBuilder({ className }) {
|
|
|
20695
20736
|
] }),
|
|
20696
20737
|
hasContent && /* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-dashed border-[var(--canvas-border)] bg-[var(--canvas-surface)] p-4", children: [
|
|
20697
20738
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-3", children: [
|
|
20698
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2
|
|
20739
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 font-medium text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-body-s-size)" }, children: [
|
|
20699
20740
|
/* @__PURE__ */ jsx(Sparkles, { className: "size-4 text-[var(--canvas-primary)]" }),
|
|
20700
20741
|
"Generated Prompt"
|
|
20701
20742
|
] }),
|
|
@@ -20705,9 +20746,10 @@ function ScreenPromptBuilder({ className }) {
|
|
|
20705
20746
|
onClick: handleCopy,
|
|
20706
20747
|
disabled: !generatedPrompt,
|
|
20707
20748
|
className: cn(
|
|
20708
|
-
"flex items-center gap-1.5 px-2.5 py-1.5 rounded-md
|
|
20709
|
-
copied ? "bg-
|
|
20749
|
+
"flex items-center gap-1.5 px-2.5 py-1.5 rounded-md font-medium transition-all",
|
|
20750
|
+
copied ? "bg-[var(--canvas-success-surface)] text-[var(--canvas-success)]" : "bg-[var(--canvas-background)] text-[var(--canvas-text-muted)] hover:text-[var(--canvas-text)] border border-[var(--canvas-border)] hover:border-[var(--canvas-primary)]"
|
|
20710
20751
|
),
|
|
20752
|
+
style: { fontSize: "var(--typo-body-xs-size)" },
|
|
20711
20753
|
children: copied ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
20712
20754
|
/* @__PURE__ */ jsx(Check, { className: "size-3" }),
|
|
20713
20755
|
"Copied!"
|
|
@@ -20718,18 +20760,18 @@ function ScreenPromptBuilder({ className }) {
|
|
|
20718
20760
|
}
|
|
20719
20761
|
)
|
|
20720
20762
|
] }),
|
|
20721
|
-
/* @__PURE__ */ jsx("pre", { className: "text-
|
|
20763
|
+
/* @__PURE__ */ jsx("pre", { className: "text-[var(--canvas-text)] leading-relaxed font-mono whitespace-pre-wrap bg-[var(--canvas-background)] rounded-md p-3 border border-[var(--canvas-border)] max-h-[300px] overflow-y-auto", style: { fontSize: "var(--typo-body-s-size)" }, children: generatedPrompt })
|
|
20722
20764
|
] }),
|
|
20723
|
-
!hasContent && /* @__PURE__ */ jsx("div", { className: "rounded-lg border-2 border-dashed border-[var(--canvas-border)] bg-[var(--canvas-surface)] p-8 text-center", children: /* @__PURE__ */ jsx("p", { className: "text-
|
|
20765
|
+
!hasContent && /* @__PURE__ */ jsx("div", { className: "rounded-lg border-2 border-dashed border-[var(--canvas-border)] bg-[var(--canvas-surface)] p-8 text-center", children: /* @__PURE__ */ jsx("p", { className: "text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-body-s-size)" }, children: "Select components or enter screen details to generate a prompt" }) })
|
|
20724
20766
|
] });
|
|
20725
20767
|
}
|
|
20726
20768
|
function ScreenNode({ data, selected }) {
|
|
20727
20769
|
const { screen, childScreens } = data;
|
|
20728
20770
|
const hasChildren = childScreens.length > 0;
|
|
20729
20771
|
const statusColors = {
|
|
20730
|
-
draft: "
|
|
20731
|
-
review: "
|
|
20732
|
-
approved: "
|
|
20772
|
+
draft: { bg: "var(--canvas-warning-surface)", text: "var(--canvas-warning)", border: "var(--canvas-warning)" },
|
|
20773
|
+
review: { bg: "var(--canvas-info-surface)", text: "var(--canvas-info)", border: "var(--canvas-info)" },
|
|
20774
|
+
approved: { bg: "var(--canvas-success-surface)", text: "var(--canvas-success)", border: "var(--canvas-success)" }
|
|
20733
20775
|
};
|
|
20734
20776
|
const typeLabels = {
|
|
20735
20777
|
page: null,
|
|
@@ -20742,7 +20784,7 @@ function ScreenNode({ data, selected }) {
|
|
|
20742
20784
|
"div",
|
|
20743
20785
|
{
|
|
20744
20786
|
className: cn(
|
|
20745
|
-
"rounded-lg border-2 bg-
|
|
20787
|
+
"rounded-lg border-2 bg-[var(--canvas-background)] shadow-sm min-w-[160px]",
|
|
20746
20788
|
selected ? "border-[var(--canvas-primary)] shadow-md" : "border-[var(--canvas-border)]"
|
|
20747
20789
|
),
|
|
20748
20790
|
children: [
|
|
@@ -20756,11 +20798,11 @@ function ScreenNode({ data, selected }) {
|
|
|
20756
20798
|
),
|
|
20757
20799
|
/* @__PURE__ */ jsxs("div", { className: "p-3", children: [
|
|
20758
20800
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 mb-1", children: [
|
|
20759
|
-
/* @__PURE__ */ jsx("span", {
|
|
20760
|
-
/* @__PURE__ */ jsx("span", { className: "font-medium text-
|
|
20801
|
+
/* @__PURE__ */ jsx("span", { style: { fontSize: "var(--typo-body-l-size)" }, children: screen.icon || "\u{1F4C4}" }),
|
|
20802
|
+
/* @__PURE__ */ jsx("span", { className: "font-medium text-[var(--canvas-text)] truncate", style: { fontSize: "var(--typo-body-s-size)" }, children: screen.name })
|
|
20761
20803
|
] }),
|
|
20762
20804
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
20763
|
-
/* @__PURE__ */ jsxs("span", { className: "text-
|
|
20805
|
+
/* @__PURE__ */ jsxs("span", { className: "text-[var(--canvas-text-muted)] font-mono", style: { fontSize: "var(--typo-body-xs-size)" }, children: [
|
|
20764
20806
|
"/",
|
|
20765
20807
|
screen.slug
|
|
20766
20808
|
] }),
|
|
@@ -20769,10 +20811,12 @@ function ScreenNode({ data, selected }) {
|
|
|
20769
20811
|
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-between mt-2 pt-2 border-t border-[var(--canvas-border)]", children: /* @__PURE__ */ jsx(
|
|
20770
20812
|
"span",
|
|
20771
20813
|
{
|
|
20772
|
-
className:
|
|
20773
|
-
|
|
20774
|
-
statusColors[screen.status]
|
|
20775
|
-
|
|
20814
|
+
className: "text-[10px] px-1.5 py-0.5 rounded border font-medium capitalize",
|
|
20815
|
+
style: {
|
|
20816
|
+
backgroundColor: statusColors[screen.status].bg,
|
|
20817
|
+
color: statusColors[screen.status].text,
|
|
20818
|
+
borderColor: statusColors[screen.status].border
|
|
20819
|
+
},
|
|
20776
20820
|
children: screen.status
|
|
20777
20821
|
}
|
|
20778
20822
|
) })
|
|
@@ -20781,7 +20825,7 @@ function ScreenNode({ data, selected }) {
|
|
|
20781
20825
|
"div",
|
|
20782
20826
|
{
|
|
20783
20827
|
className: cn(
|
|
20784
|
-
"px-3 py-2 flex items-center gap-2
|
|
20828
|
+
"px-3 py-2 flex items-center gap-2",
|
|
20785
20829
|
"hover:bg-[var(--canvas-surface)]",
|
|
20786
20830
|
i < childScreens.length - 1 && "border-b border-[var(--canvas-border)]"
|
|
20787
20831
|
),
|
|
@@ -20792,8 +20836,8 @@ function ScreenNode({ data, selected }) {
|
|
|
20792
20836
|
child.type === "drawer" && "\u{1F4E5}",
|
|
20793
20837
|
child.type === "state" && "\u{1F504}"
|
|
20794
20838
|
] }),
|
|
20795
|
-
/* @__PURE__ */ jsx("span", { className: "text-[var(--canvas-text)] truncate", children: child.name }),
|
|
20796
|
-
/* @__PURE__ */ jsxs("span", { className: "text-[var(--canvas-text-muted)] font-mono ml-auto", children: [
|
|
20839
|
+
/* @__PURE__ */ jsx("span", { className: "text-[var(--canvas-text)] truncate", style: { fontSize: "var(--typo-body-s-size)" }, children: child.name }),
|
|
20840
|
+
/* @__PURE__ */ jsxs("span", { className: "text-[var(--canvas-text-muted)] font-mono ml-auto", style: { fontSize: "var(--typo-body-xs-size)" }, children: [
|
|
20797
20841
|
"/",
|
|
20798
20842
|
child.slug
|
|
20799
20843
|
] })
|
|
@@ -20879,7 +20923,8 @@ function ScreenFlowchart({
|
|
|
20879
20923
|
"button",
|
|
20880
20924
|
{
|
|
20881
20925
|
onClick: onOpenFullscreen,
|
|
20882
|
-
className: "absolute top-3 right-3 z-10 flex items-center gap-1.5 px-3 py-1.5 rounded-md
|
|
20926
|
+
className: "absolute top-3 right-3 z-10 flex items-center gap-1.5 px-3 py-1.5 rounded-md font-medium bg-[var(--canvas-background)] text-[var(--canvas-text-muted)] border border-[var(--canvas-border)] hover:border-[var(--canvas-primary)] hover:text-[var(--canvas-primary)] transition-colors",
|
|
20927
|
+
style: { fontSize: "var(--typo-body-xs-size)" },
|
|
20883
20928
|
children: [
|
|
20884
20929
|
/* @__PURE__ */ jsx(ExternalLink, { className: "size-3" }),
|
|
20885
20930
|
"Open in new tab"
|
|
@@ -20901,7 +20946,7 @@ function ScreenFlowchart({
|
|
|
20901
20946
|
className: "bg-[var(--canvas-surface)] rounded-lg border border-[var(--canvas-border)]",
|
|
20902
20947
|
children: [
|
|
20903
20948
|
/* @__PURE__ */ jsx(Background, { variant: BackgroundVariant.Dots, gap: 20, size: 1 }),
|
|
20904
|
-
/* @__PURE__ */ jsx(Controls, { className: "!bg-
|
|
20949
|
+
/* @__PURE__ */ jsx(Controls, { className: "!bg-[var(--canvas-background)] !border-[var(--canvas-border)] !shadow-sm" })
|
|
20905
20950
|
]
|
|
20906
20951
|
}
|
|
20907
20952
|
)
|
|
@@ -20921,18 +20966,19 @@ function PersonaCard({ persona, className }) {
|
|
|
20921
20966
|
/* @__PURE__ */ jsx("div", { className: "text-3xl", children: persona.avatar || "\u{1F464}" }),
|
|
20922
20967
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
20923
20968
|
/* @__PURE__ */ jsx("h3", { className: "font-semibold text-[var(--canvas-text)]", children: persona.name }),
|
|
20924
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
20969
|
+
/* @__PURE__ */ jsx("p", { className: "text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-body-s-size)" }, children: persona.role })
|
|
20925
20970
|
] })
|
|
20926
20971
|
] }),
|
|
20927
20972
|
/* @__PURE__ */ jsxs("div", { className: "mb-4", children: [
|
|
20928
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5
|
|
20973
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 font-medium text-[var(--canvas-text-muted)] mb-2", style: { fontSize: "var(--typo-body-xs-size)" }, children: [
|
|
20929
20974
|
/* @__PURE__ */ jsx(Target$1, { className: "size-3" }),
|
|
20930
20975
|
"Goals"
|
|
20931
20976
|
] }),
|
|
20932
20977
|
/* @__PURE__ */ jsx("ul", { className: "space-y-1", children: persona.goals.map((goal, i) => /* @__PURE__ */ jsxs(
|
|
20933
20978
|
"li",
|
|
20934
20979
|
{
|
|
20935
|
-
className: "text-
|
|
20980
|
+
className: "text-[var(--canvas-text)] flex items-start gap-2",
|
|
20981
|
+
style: { fontSize: "var(--typo-body-s-size)" },
|
|
20936
20982
|
children: [
|
|
20937
20983
|
/* @__PURE__ */ jsx("span", { className: "text-[var(--canvas-primary)] mt-1.5", children: "\u2022" }),
|
|
20938
20984
|
goal
|
|
@@ -20942,16 +20988,17 @@ function PersonaCard({ persona, className }) {
|
|
|
20942
20988
|
)) })
|
|
20943
20989
|
] }),
|
|
20944
20990
|
/* @__PURE__ */ jsxs("div", { className: "mb-4", children: [
|
|
20945
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5
|
|
20991
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 font-medium text-[var(--canvas-text-muted)] mb-2", style: { fontSize: "var(--typo-body-xs-size)" }, children: [
|
|
20946
20992
|
/* @__PURE__ */ jsx(AlertCircle, { className: "size-3" }),
|
|
20947
20993
|
"Pain Points"
|
|
20948
20994
|
] }),
|
|
20949
20995
|
/* @__PURE__ */ jsx("ul", { className: "space-y-1", children: persona.painPoints.map((point, i) => /* @__PURE__ */ jsxs(
|
|
20950
20996
|
"li",
|
|
20951
20997
|
{
|
|
20952
|
-
className: "text-
|
|
20998
|
+
className: "text-[var(--canvas-text)] flex items-start gap-2",
|
|
20999
|
+
style: { fontSize: "var(--typo-body-s-size)" },
|
|
20953
21000
|
children: [
|
|
20954
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
21001
|
+
/* @__PURE__ */ jsx("span", { className: "text-[var(--canvas-destructive)] mt-1.5", children: "\u2022" }),
|
|
20955
21002
|
point
|
|
20956
21003
|
]
|
|
20957
21004
|
},
|
|
@@ -20960,7 +21007,7 @@ function PersonaCard({ persona, className }) {
|
|
|
20960
21007
|
] }),
|
|
20961
21008
|
/* @__PURE__ */ jsx("div", { className: "border-t border-[var(--canvas-border)] pt-4 mt-4", children: /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-2", children: [
|
|
20962
21009
|
/* @__PURE__ */ jsx(Quote, { className: "size-4 text-[var(--canvas-text-muted)] shrink-0 mt-0.5" }),
|
|
20963
|
-
/* @__PURE__ */ jsxs("p", { className: "
|
|
21010
|
+
/* @__PURE__ */ jsxs("p", { className: "italic text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-body-s-size)" }, children: [
|
|
20964
21011
|
'"',
|
|
20965
21012
|
persona.quote,
|
|
20966
21013
|
'"'
|
|
@@ -23686,7 +23733,7 @@ function PricingCards() {
|
|
|
23686
23733
|
children: /* @__PURE__ */ jsx(
|
|
23687
23734
|
"div",
|
|
23688
23735
|
{
|
|
23689
|
-
className: "absolute top-1 w-9 h-9 bg-
|
|
23736
|
+
className: "absolute top-1 w-9 h-9 bg-[var(--canvas-background)] rounded-full shadow transition-all",
|
|
23690
23737
|
style: {
|
|
23691
23738
|
left: isAnnual ? "calc(100% - 40px)" : "4px"
|
|
23692
23739
|
}
|