canvas-ui-sdk 0.3.7 → 0.3.9
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 +326 -277
- 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/faqs-table.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/pill-tabs.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/slideshow-grid-tiles.json +1 -1
- package/registry/blocks/social-feed.json +1 -1
- package/registry/blocks/step-tracker.json +1 -1
- package/registry/blocks/upvoting-posts-table.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-nav.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/button.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/line-tabs.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/tabs.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
|
|
@@ -82,7 +82,7 @@ function AvatarFallback({
|
|
|
82
82
|
);
|
|
83
83
|
}
|
|
84
84
|
var buttonVariants = cva(
|
|
85
|
-
"inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
85
|
+
"inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium transition-all cursor-pointer disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
86
86
|
{
|
|
87
87
|
variants: {
|
|
88
88
|
variant: {
|
|
@@ -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
|
}
|
|
@@ -1355,7 +1355,7 @@ function LineTabs({
|
|
|
1355
1355
|
{
|
|
1356
1356
|
onClick: () => handleTabClick(tab.id),
|
|
1357
1357
|
className: cn(
|
|
1358
|
-
"flex items-center justify-center h-full px-0 transition-colors",
|
|
1358
|
+
"flex items-center justify-center h-full px-0 transition-colors cursor-pointer",
|
|
1359
1359
|
isActive ? "border-b-2 border-[var(--canvas-primary)] text-[var(--canvas-primary)]" : "border-b border-[var(--canvas-border)] text-[var(--canvas-text-muted)] hover:text-[var(--canvas-text)]"
|
|
1360
1360
|
),
|
|
1361
1361
|
children: /* @__PURE__ */ jsx("span", { className: "text-base font-medium leading-6", children: tab.label })
|
|
@@ -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: {
|
|
@@ -2054,12 +2054,12 @@ var SelectablePills = React13.forwardRef(
|
|
|
2054
2054
|
onClick: () => handlePillClick(option.id),
|
|
2055
2055
|
disabled,
|
|
2056
2056
|
className: cn(
|
|
2057
|
-
"inline-flex items-center justify-center rounded-[var(--radius-xs)] border transition-colors",
|
|
2057
|
+
"inline-flex items-center justify-center rounded-[var(--radius-xs)] border transition-colors cursor-pointer",
|
|
2058
2058
|
"font-medium whitespace-nowrap",
|
|
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
|
}
|
|
@@ -3032,7 +3032,7 @@ function TabsTrigger({
|
|
|
3032
3032
|
{
|
|
3033
3033
|
"data-slot": "tabs-trigger",
|
|
3034
3034
|
className: cn(
|
|
3035
|
-
"data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
3035
|
+
"data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] cursor-pointer focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
3036
3036
|
className
|
|
3037
3037
|
),
|
|
3038
3038
|
...props
|
|
@@ -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
|
{
|
|
@@ -3749,7 +3761,7 @@ function Header({
|
|
|
3749
3761
|
"button",
|
|
3750
3762
|
{
|
|
3751
3763
|
onClick: () => onRemoveCartItem?.(item.id),
|
|
3752
|
-
className: "text-left mt-[var(--spacing-xs)] hover:underline",
|
|
3764
|
+
className: "cursor-pointer text-left mt-[var(--spacing-xs)] hover:underline",
|
|
3753
3765
|
style: {
|
|
3754
3766
|
fontFamily: "var(--typo-body-s-font, var(--typo-global-font))",
|
|
3755
3767
|
fontSize: "var(--typo-body-s-size)",
|
|
@@ -3832,7 +3844,7 @@ function Header({
|
|
|
3832
3844
|
"button",
|
|
3833
3845
|
{
|
|
3834
3846
|
onClick: onMarkAsRead,
|
|
3835
|
-
className: "hover:underline",
|
|
3847
|
+
className: "cursor-pointer hover:underline",
|
|
3836
3848
|
style: {
|
|
3837
3849
|
fontFamily: "var(--typo-body-s-font, var(--typo-global-font))",
|
|
3838
3850
|
fontSize: "var(--typo-body-s-size)",
|
|
@@ -3908,7 +3920,7 @@ function Header({
|
|
|
3908
3920
|
"button",
|
|
3909
3921
|
{
|
|
3910
3922
|
onClick: onViewMoreMessages,
|
|
3911
|
-
className: "hover:underline",
|
|
3923
|
+
className: "cursor-pointer hover:underline",
|
|
3912
3924
|
style: {
|
|
3913
3925
|
fontFamily: "var(--typo-body-s-font, var(--typo-global-font))",
|
|
3914
3926
|
fontSize: "var(--typo-body-s-size)",
|
|
@@ -3945,7 +3957,7 @@ function Header({
|
|
|
3945
3957
|
"button",
|
|
3946
3958
|
{
|
|
3947
3959
|
onClick: onMarkNotificationsAsRead,
|
|
3948
|
-
className: "hover:underline",
|
|
3960
|
+
className: "cursor-pointer hover:underline",
|
|
3949
3961
|
style: {
|
|
3950
3962
|
fontFamily: "var(--typo-body-s-font, var(--typo-global-font))",
|
|
3951
3963
|
fontSize: "var(--typo-body-s-size)",
|
|
@@ -4022,7 +4034,7 @@ function Header({
|
|
|
4022
4034
|
"button",
|
|
4023
4035
|
{
|
|
4024
4036
|
onClick: onViewMoreNotifications,
|
|
4025
|
-
className: "hover:underline",
|
|
4037
|
+
className: "cursor-pointer hover:underline",
|
|
4026
4038
|
style: {
|
|
4027
4039
|
fontFamily: "var(--typo-body-s-font, var(--typo-global-font))",
|
|
4028
4040
|
fontSize: "var(--typo-body-s-size)",
|
|
@@ -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: [
|
|
@@ -4095,7 +4107,7 @@ function Header({
|
|
|
4095
4107
|
/* @__PURE__ */ jsx(
|
|
4096
4108
|
"button",
|
|
4097
4109
|
{
|
|
4098
|
-
className: `transition-colors ${isDark ? "text-white/60 hover:text-white" : "text-[var(--canvas-neutral-text)] hover:text-[var(--canvas-text)]"}`,
|
|
4110
|
+
className: `cursor-pointer transition-colors ${isDark ? "text-white/60 hover:text-white" : "text-[var(--canvas-neutral-text)] hover:text-[var(--canvas-text)]"}`,
|
|
4099
4111
|
"aria-label": "Search",
|
|
4100
4112
|
children: /* @__PURE__ */ jsx(Search, { className: "size-4" })
|
|
4101
4113
|
}
|
|
@@ -4104,7 +4116,7 @@ function Header({
|
|
|
4104
4116
|
/* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
4105
4117
|
"button",
|
|
4106
4118
|
{
|
|
4107
|
-
className: `transition-colors ${isDark ? "text-white/60 hover:text-white" : "text-[var(--canvas-neutral-text)] hover:text-[var(--canvas-text)]"}`,
|
|
4119
|
+
className: `cursor-pointer transition-colors ${isDark ? "text-white/60 hover:text-white" : "text-[var(--canvas-neutral-text)] hover:text-[var(--canvas-text)]"}`,
|
|
4108
4120
|
"aria-label": "Notifications",
|
|
4109
4121
|
children: /* @__PURE__ */ jsx(Bell, { className: "size-4" })
|
|
4110
4122
|
}
|
|
@@ -4115,7 +4127,7 @@ function Header({
|
|
|
4115
4127
|
/* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
4116
4128
|
"button",
|
|
4117
4129
|
{
|
|
4118
|
-
className: `transition-colors ${isDark ? "text-white/60 hover:text-white" : "text-[var(--canvas-neutral-text)] hover:text-[var(--canvas-text)]"}`,
|
|
4130
|
+
className: `cursor-pointer transition-colors ${isDark ? "text-white/60 hover:text-white" : "text-[var(--canvas-neutral-text)] hover:text-[var(--canvas-text)]"}`,
|
|
4119
4131
|
"aria-label": "Messages",
|
|
4120
4132
|
children: /* @__PURE__ */ jsx(MessageSquare, { className: "size-4" })
|
|
4121
4133
|
}
|
|
@@ -4126,7 +4138,7 @@ function Header({
|
|
|
4126
4138
|
/* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
4127
4139
|
"button",
|
|
4128
4140
|
{
|
|
4129
|
-
className: `transition-colors ${isDark ? "text-white/60 hover:text-white" : "text-[var(--canvas-neutral-text)] hover:text-[var(--canvas-text)]"}`,
|
|
4141
|
+
className: `cursor-pointer transition-colors ${isDark ? "text-white/60 hover:text-white" : "text-[var(--canvas-neutral-text)] hover:text-[var(--canvas-text)]"}`,
|
|
4130
4142
|
"aria-label": "Cart",
|
|
4131
4143
|
children: /* @__PURE__ */ jsx(ShoppingCart, { className: "size-4" })
|
|
4132
4144
|
}
|
|
@@ -4154,7 +4166,7 @@ function Header({
|
|
|
4154
4166
|
)
|
|
4155
4167
|
] }),
|
|
4156
4168
|
/* @__PURE__ */ jsxs(DropdownMenu, { children: [
|
|
4157
|
-
/* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx("button", { className: "rounded-full focus:outline-none focus:ring-2 focus:ring-[var(--canvas-primary)] focus:ring-offset-2", children: /* @__PURE__ */ jsxs(Avatar, { className: `size-10 border cursor-pointer ${isDark ? "border-[var(--canvas-sidebar-dark-border)]" : "border-[var(--canvas-neutral-border)]"}`, children: [
|
|
4169
|
+
/* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx("button", { className: "cursor-pointer rounded-full focus:outline-none focus:ring-2 focus:ring-[var(--canvas-primary)] focus:ring-offset-2", children: /* @__PURE__ */ jsxs(Avatar, { className: `size-10 border cursor-pointer ${isDark ? "border-[var(--canvas-sidebar-dark-border)]" : "border-[var(--canvas-neutral-border)]"}`, children: [
|
|
4158
4170
|
/* @__PURE__ */ jsx(AvatarImage, { src: avatarUrl, alt: "User avatar" }),
|
|
4159
4171
|
/* @__PURE__ */ jsx(
|
|
4160
4172
|
AvatarFallback,
|
|
@@ -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
|
{
|
|
@@ -4226,7 +4238,7 @@ function Header({
|
|
|
4226
4238
|
}
|
|
4227
4239
|
setIsMobileMenuOpen(false);
|
|
4228
4240
|
},
|
|
4229
|
-
className: "flex items-center gap-[var(--spacing-lg)] w-full py-[var(--spacing-lg)] text-left hover:bg-[var(--canvas-neutral-surface)] rounded-[var(--radius-md)] transition-colors",
|
|
4241
|
+
className: "cursor-pointer flex items-center gap-[var(--spacing-lg)] w-full py-[var(--spacing-lg)] text-left hover:bg-[var(--canvas-neutral-surface)] rounded-[var(--radius-md)] transition-colors",
|
|
4230
4242
|
children: [
|
|
4231
4243
|
Icon2 && /* @__PURE__ */ jsx(
|
|
4232
4244
|
"div",
|
|
@@ -4355,7 +4367,7 @@ function SidebarNav({ sections, variant = "dark", onItemClick }) {
|
|
|
4355
4367
|
}
|
|
4356
4368
|
},
|
|
4357
4369
|
className: cn(
|
|
4358
|
-
"flex items-center gap-[var(--spacing-md)] h-11 px-[var(--spacing-xl)] rounded-[var(--radius-nav)] w-full text-left transition-colors",
|
|
4370
|
+
"cursor-pointer flex items-center gap-[var(--spacing-md)] h-11 px-[var(--spacing-xl)] rounded-[var(--radius-nav)] w-full text-left transition-colors",
|
|
4359
4371
|
// Dark variant (desktop sidebar)
|
|
4360
4372
|
isDark && isActive && !hasChildren && "bg-[var(--canvas-sidebar-dark-active-bg)] text-[var(--canvas-sidebar-dark-active-text)]",
|
|
4361
4373
|
isDark && !isActive && "text-[var(--canvas-sidebar-dark-text)] hover:bg-[var(--canvas-sidebar-dark-active-bg)]/50",
|
|
@@ -4414,7 +4426,7 @@ function SidebarNav({ sections, variant = "dark", onItemClick }) {
|
|
|
4414
4426
|
{
|
|
4415
4427
|
onClick: () => onItemClick?.(child),
|
|
4416
4428
|
className: cn(
|
|
4417
|
-
"flex items-center h-9 pl-12 pr-[var(--spacing-xl)] rounded-[var(--radius-nav)] w-full text-left transition-colors",
|
|
4429
|
+
"cursor-pointer flex items-center h-9 pl-12 pr-[var(--spacing-xl)] rounded-[var(--radius-nav)] w-full text-left transition-colors",
|
|
4418
4430
|
// Dark variant
|
|
4419
4431
|
isDark && isChildActive && "bg-[var(--canvas-sidebar-dark-active-bg)] text-[var(--canvas-sidebar-dark-active-text)]",
|
|
4420
4432
|
isDark && !isChildActive && "text-[var(--canvas-sidebar-dark-text)] hover:bg-[var(--canvas-sidebar-dark-active-bg)]/50",
|
|
@@ -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)]",
|
|
@@ -4781,7 +4793,7 @@ function IconNavItem({ item, variant = "dark", onClick }) {
|
|
|
4781
4793
|
{
|
|
4782
4794
|
onClick,
|
|
4783
4795
|
className: cn(
|
|
4784
|
-
"relative flex flex-col items-center justify-center gap-1 w-16 h-16 rounded-[var(--radius-nav)] transition-colors",
|
|
4796
|
+
"cursor-pointer relative flex flex-col items-center justify-center gap-1 w-16 h-16 rounded-[var(--radius-nav)] transition-colors",
|
|
4785
4797
|
// Dark variant
|
|
4786
4798
|
isDark && isActive && "bg-[var(--canvas-sidebar-dark-active-bg)]",
|
|
4787
4799
|
isDark && !isActive && "hover:bg-[var(--canvas-sidebar-dark-active-bg)]/50",
|
|
@@ -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)]",
|
|
@@ -5115,7 +5127,7 @@ function IconColumnItem({ section, isActive, variant, onClick }) {
|
|
|
5115
5127
|
{
|
|
5116
5128
|
onClick,
|
|
5117
5129
|
className: cn(
|
|
5118
|
-
"relative flex flex-col items-center justify-center gap-1 w-11 h-11 rounded-[var(--radius-nav)] transition-colors",
|
|
5130
|
+
"cursor-pointer relative flex flex-col items-center justify-center gap-1 w-11 h-11 rounded-[var(--radius-nav)] transition-colors",
|
|
5119
5131
|
// Dark variant
|
|
5120
5132
|
isDark && isActive && "bg-[var(--canvas-sidebar-dark-active-bg)]",
|
|
5121
5133
|
isDark && !isActive && "hover:bg-[var(--canvas-sidebar-dark-active-bg)]/50",
|
|
@@ -5148,7 +5160,7 @@ function NavTabItem({ tab, isActive, variant, onClick }) {
|
|
|
5148
5160
|
{
|
|
5149
5161
|
onClick,
|
|
5150
5162
|
className: cn(
|
|
5151
|
-
"flex items-center gap-[var(--spacing-md)] h-11 px-[var(--spacing-xl)] rounded-[var(--radius-nav)] w-full text-left transition-colors",
|
|
5163
|
+
"cursor-pointer flex items-center gap-[var(--spacing-md)] h-11 px-[var(--spacing-xl)] rounded-[var(--radius-nav)] w-full text-left transition-colors",
|
|
5152
5164
|
// Dark variant
|
|
5153
5165
|
isDark && isActive && "bg-[var(--canvas-sidebar-dark-active-bg)] text-[var(--canvas-sidebar-dark-active-text)]",
|
|
5154
5166
|
isDark && !isActive && "text-[var(--canvas-sidebar-dark-text)] hover:bg-[var(--canvas-sidebar-dark-active-bg)]/50",
|
|
@@ -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 }),
|
|
@@ -5538,7 +5549,7 @@ function MobileNavTab({ item, variant = "light", onClick }) {
|
|
|
5538
5549
|
onClick,
|
|
5539
5550
|
className: cn(
|
|
5540
5551
|
// Match icon-sidebar dimensions: 64px × 64px
|
|
5541
|
-
"relative flex flex-col items-center justify-center gap-1 w-16 h-16 rounded-[var(--radius-nav)] transition-colors",
|
|
5552
|
+
"cursor-pointer relative flex flex-col items-center justify-center gap-1 w-16 h-16 rounded-[var(--radius-nav)] transition-colors",
|
|
5542
5553
|
// Dark variant
|
|
5543
5554
|
isDark && isActive && "bg-[var(--canvas-sidebar-dark-active-bg)]",
|
|
5544
5555
|
isDark && !isActive && "hover:bg-[var(--canvas-sidebar-dark-active-bg)]/50",
|
|
@@ -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
|
}
|
|
@@ -6364,7 +6376,7 @@ function LinksCard({
|
|
|
6364
6376
|
"a",
|
|
6365
6377
|
{
|
|
6366
6378
|
href: link.href,
|
|
6367
|
-
className: "flex items-center gap-1.5 hover:opacity-80 transition-opacity",
|
|
6379
|
+
className: "cursor-pointer flex items-center gap-1.5 hover:opacity-80 transition-opacity",
|
|
6368
6380
|
children: content
|
|
6369
6381
|
},
|
|
6370
6382
|
link.id
|
|
@@ -6375,7 +6387,7 @@ function LinksCard({
|
|
|
6375
6387
|
{
|
|
6376
6388
|
type: "button",
|
|
6377
6389
|
onClick: link.onClick,
|
|
6378
|
-
className: "flex items-center gap-1.5 hover:opacity-80 transition-opacity",
|
|
6390
|
+
className: "cursor-pointer flex items-center gap-1.5 hover:opacity-80 transition-opacity",
|
|
6379
6391
|
children: content
|
|
6380
6392
|
},
|
|
6381
6393
|
link.id
|
|
@@ -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) => {
|
|
@@ -6973,23 +6985,23 @@ function ProjectContextShell({
|
|
|
6973
6985
|
{
|
|
6974
6986
|
onClick: () => onTabChange(tab.id),
|
|
6975
6987
|
className: cn(
|
|
6976
|
-
"w-full flex items-center gap-3 px-3 py-2.5 rounded-lg text-left transition-colors mb-1",
|
|
6988
|
+
"cursor-pointer w-full flex items-center gap-3 px-3 py-2.5 rounded-lg text-left transition-colors mb-1",
|
|
6977
6989
|
isActive ? "bg-[var(--canvas-surface-brand)] text-[var(--canvas-primary)]" : "text-[var(--canvas-text-muted)] hover:bg-[var(--canvas-surface)] hover:text-[var(--canvas-text)]"
|
|
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"
|
|
@@ -7278,7 +7292,7 @@ function MessengerSidebar({
|
|
|
7278
7292
|
/* @__PURE__ */ jsx(
|
|
7279
7293
|
"button",
|
|
7280
7294
|
{
|
|
7281
|
-
className: "flex items-center justify-center size-8 rounded-[var(--radius-xs)] border transition-colors hover:opacity-80",
|
|
7295
|
+
className: "cursor-pointer flex items-center justify-center size-8 rounded-[var(--radius-xs)] border transition-colors hover:opacity-80",
|
|
7282
7296
|
style: {
|
|
7283
7297
|
backgroundColor: "var(--canvas-background)",
|
|
7284
7298
|
borderColor: "var(--canvas-border)"
|
|
@@ -7296,7 +7310,7 @@ function MessengerSidebar({
|
|
|
7296
7310
|
/* @__PURE__ */ jsx(
|
|
7297
7311
|
"button",
|
|
7298
7312
|
{
|
|
7299
|
-
className: "flex items-center justify-center size-8 rounded-[var(--radius-xs)] border transition-colors hover:opacity-80",
|
|
7313
|
+
className: "cursor-pointer flex items-center justify-center size-8 rounded-[var(--radius-xs)] border transition-colors hover:opacity-80",
|
|
7300
7314
|
style: {
|
|
7301
7315
|
backgroundColor: "var(--canvas-background)",
|
|
7302
7316
|
borderColor: "var(--canvas-border)"
|
|
@@ -7342,7 +7356,7 @@ function ThreadRow({ thread, isSelected, onSelect }) {
|
|
|
7342
7356
|
"button",
|
|
7343
7357
|
{
|
|
7344
7358
|
onClick: onSelect,
|
|
7345
|
-
className: "w-full flex items-center gap-[var(--spacing-xl)] px-4 lg:px-[var(--spacing-5xl)] py-[var(--spacing-xl)] transition-colors text-left border-b",
|
|
7359
|
+
className: "cursor-pointer w-full flex items-center gap-[var(--spacing-xl)] px-4 lg:px-[var(--spacing-5xl)] py-[var(--spacing-xl)] transition-colors text-left border-b",
|
|
7346
7360
|
style: {
|
|
7347
7361
|
backgroundColor: isSelected ? "var(--canvas-surface)" : "var(--canvas-background)",
|
|
7348
7362
|
borderColor: "var(--canvas-border)"
|
|
@@ -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
|
);
|
|
@@ -8113,7 +8127,7 @@ function MenuSectionItem({
|
|
|
8113
8127
|
{
|
|
8114
8128
|
type: "button",
|
|
8115
8129
|
onClick: () => setExpanded(!expanded),
|
|
8116
|
-
className: "w-full flex items-center gap-4 py-6 text-left group",
|
|
8130
|
+
className: "cursor-pointer w-full flex items-center gap-4 py-6 text-left group",
|
|
8117
8131
|
children: [
|
|
8118
8132
|
/* @__PURE__ */ jsx(
|
|
8119
8133
|
"div",
|
|
@@ -8206,7 +8220,7 @@ function PillTabs({
|
|
|
8206
8220
|
{
|
|
8207
8221
|
onClick: () => onTabChange?.(tab.id),
|
|
8208
8222
|
className: cn(
|
|
8209
|
-
"flex items-center gap-[var(--spacing-md)] h-10 px-[var(--spacing-xl)] rounded-full transition-colors",
|
|
8223
|
+
"cursor-pointer flex items-center gap-[var(--spacing-md)] h-10 px-[var(--spacing-xl)] rounded-full transition-colors",
|
|
8210
8224
|
"bg-[var(--canvas-border)]",
|
|
8211
8225
|
isActive && "bg-[var(--canvas-surface-brand)]"
|
|
8212
8226
|
),
|
|
@@ -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
|
};
|
|
@@ -10148,7 +10162,7 @@ function CommentInput({
|
|
|
10148
10162
|
"button",
|
|
10149
10163
|
{
|
|
10150
10164
|
type: "button",
|
|
10151
|
-
className: "absolute right-3 top-1/2 -translate-y-1/2",
|
|
10165
|
+
className: "cursor-pointer absolute right-3 top-1/2 -translate-y-1/2",
|
|
10152
10166
|
style: { color: "var(--canvas-text-placeholder)" },
|
|
10153
10167
|
children: /* @__PURE__ */ jsx(Paperclip, { className: "w-5 h-5" })
|
|
10154
10168
|
}
|
|
@@ -10180,7 +10194,7 @@ function CommentActions({
|
|
|
10180
10194
|
{
|
|
10181
10195
|
type: "button",
|
|
10182
10196
|
onClick: onReply,
|
|
10183
|
-
className: "flex items-center",
|
|
10197
|
+
className: "cursor-pointer flex items-center",
|
|
10184
10198
|
style: {
|
|
10185
10199
|
gap: "var(--spacing-sm)",
|
|
10186
10200
|
fontFamily: "var(--typo-body-s-font, var(--typo-global-font))",
|
|
@@ -10197,7 +10211,7 @@ function CommentActions({
|
|
|
10197
10211
|
{
|
|
10198
10212
|
type: "button",
|
|
10199
10213
|
onClick: onLike,
|
|
10200
|
-
className: "flex items-center",
|
|
10214
|
+
className: "cursor-pointer flex items-center",
|
|
10201
10215
|
style: {
|
|
10202
10216
|
gap: "var(--spacing-sm)",
|
|
10203
10217
|
fontFamily: "var(--typo-body-s-font, var(--typo-global-font))",
|
|
@@ -10397,6 +10411,7 @@ function PostCommentItem({
|
|
|
10397
10411
|
{
|
|
10398
10412
|
type: "button",
|
|
10399
10413
|
onClick: () => setShowReplies(!showReplies),
|
|
10414
|
+
className: "cursor-pointer",
|
|
10400
10415
|
style: {
|
|
10401
10416
|
fontFamily: "var(--typo-body-xs-font, var(--typo-global-font))",
|
|
10402
10417
|
fontSize: "var(--typo-body-xs-size)",
|
|
@@ -10444,7 +10459,7 @@ function PostCard({
|
|
|
10444
10459
|
{
|
|
10445
10460
|
type: "button",
|
|
10446
10461
|
onClick: onUpvote,
|
|
10447
|
-
className: "flex items-center justify-center",
|
|
10462
|
+
className: "cursor-pointer flex items-center justify-center",
|
|
10448
10463
|
style: {
|
|
10449
10464
|
width: 40,
|
|
10450
10465
|
height: 40,
|
|
@@ -10588,7 +10603,7 @@ function PostCard({
|
|
|
10588
10603
|
"button",
|
|
10589
10604
|
{
|
|
10590
10605
|
type: "button",
|
|
10591
|
-
className: "flex items-center",
|
|
10606
|
+
className: "cursor-pointer flex items-center",
|
|
10592
10607
|
style: {
|
|
10593
10608
|
gap: "var(--spacing-sm)",
|
|
10594
10609
|
fontFamily: "var(--typo-body-s-font, var(--typo-global-font))",
|
|
@@ -11337,7 +11352,7 @@ function FaqsTable({
|
|
|
11337
11352
|
"button",
|
|
11338
11353
|
{
|
|
11339
11354
|
onClick: () => toggleItem(item.id),
|
|
11340
|
-
className: "flex items-center justify-between w-full text-left",
|
|
11355
|
+
className: "cursor-pointer flex items-center justify-between w-full text-left",
|
|
11341
11356
|
style: { gap: "var(--spacing-xl)" },
|
|
11342
11357
|
"aria-expanded": isExpanded,
|
|
11343
11358
|
"aria-controls": `faq-answer-${item.id}`,
|
|
@@ -11444,23 +11459,24 @@ function ProfileCard({
|
|
|
11444
11459
|
children: [
|
|
11445
11460
|
/* @__PURE__ */ jsxs("div", { className: "relative flex flex-col items-center w-full", children: [
|
|
11446
11461
|
/* @__PURE__ */ jsxs("div", { className: "relative -mt-16", children: [
|
|
11447
|
-
/* @__PURE__ */ jsxs(Avatar, { className: "size-32 border-4 border-
|
|
11462
|
+
/* @__PURE__ */ jsxs(Avatar, { className: "size-32 border-4 border-[var(--canvas-background)]", children: [
|
|
11448
11463
|
/* @__PURE__ */ jsx(AvatarImage, { src: avatarUrl, alt: name }),
|
|
11449
11464
|
/* @__PURE__ */ jsx(
|
|
11450
11465
|
AvatarFallback,
|
|
11451
11466
|
{
|
|
11452
|
-
className: "
|
|
11467
|
+
className: "font-semibold bg-[var(--canvas-surface)] text-[var(--canvas-text-muted)]",
|
|
11468
|
+
style: { fontSize: "var(--typo-body-xl-size)" },
|
|
11453
11469
|
children: avatarFallback
|
|
11454
11470
|
}
|
|
11455
11471
|
)
|
|
11456
11472
|
] }),
|
|
11457
|
-
showStatus && /* @__PURE__ */ jsx("div", { className: "absolute bottom-[9px] right-[9px] size-5 rounded-full bg-
|
|
11473
|
+
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
11474
|
] }),
|
|
11459
11475
|
showMenu && /* @__PURE__ */ jsx(
|
|
11460
11476
|
"button",
|
|
11461
11477
|
{
|
|
11462
11478
|
onClick: onMenuClick,
|
|
11463
|
-
className: "absolute top-4 right-0 flex items-center justify-center size-7 rounded-[var(--radius-xs)] border border-[var(--canvas-border)] bg-[var(--canvas-background)] hover:bg-[var(--canvas-surface)] transition-colors",
|
|
11479
|
+
className: "cursor-pointer absolute top-4 right-0 flex items-center justify-center size-7 rounded-[var(--radius-xs)] border border-[var(--canvas-border)] bg-[var(--canvas-background)] hover:bg-[var(--canvas-surface)] transition-colors",
|
|
11464
11480
|
"aria-label": "More options",
|
|
11465
11481
|
children: /* @__PURE__ */ jsx(MoreHorizontal, { className: "size-4 text-[var(--canvas-text-muted)]" })
|
|
11466
11482
|
}
|
|
@@ -11515,7 +11531,7 @@ function ProfileCard({
|
|
|
11515
11531
|
"a",
|
|
11516
11532
|
{
|
|
11517
11533
|
href: link.href || "#",
|
|
11518
|
-
className: "flex items-center gap-[var(--spacing-sm)] text-[var(--canvas-text-muted)] hover:text-[var(--canvas-text)] transition-colors",
|
|
11534
|
+
className: "cursor-pointer flex items-center gap-[var(--spacing-sm)] text-[var(--canvas-text-muted)] hover:text-[var(--canvas-text)] transition-colors",
|
|
11519
11535
|
children: [
|
|
11520
11536
|
/* @__PURE__ */ jsx(IconComponent, { className: "size-4" }),
|
|
11521
11537
|
/* @__PURE__ */ jsx(Typography, { variant: "body-s", color: "muted", as: "span", children: link.label })
|
|
@@ -11561,9 +11577,9 @@ function SidebarProfileCard({
|
|
|
11561
11577
|
/* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
11562
11578
|
/* @__PURE__ */ jsxs(Avatar, { className: "size-[120px]", children: [
|
|
11563
11579
|
/* @__PURE__ */ jsx(AvatarImage, { src: avatarUrl, alt: name }),
|
|
11564
|
-
/* @__PURE__ */ jsx(AvatarFallback, { className: "
|
|
11580
|
+
/* @__PURE__ */ jsx(AvatarFallback, { className: "font-semibold bg-[var(--canvas-surface)] text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-h6-size)" }, children: avatarFallback })
|
|
11565
11581
|
] }),
|
|
11566
|
-
showStatus && /* @__PURE__ */ jsx("div", { className: "absolute bottom-[10px] right-[10px] size-5 rounded-full bg-
|
|
11582
|
+
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
11583
|
] }),
|
|
11568
11584
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-[var(--spacing-xs)]", children: [
|
|
11569
11585
|
/* @__PURE__ */ jsx(Typography, { variant: "body-xl", className: "text-center", style: { fontWeight: 600 }, children: name }),
|
|
@@ -11746,8 +11762,8 @@ var badgeIcons = {
|
|
|
11746
11762
|
};
|
|
11747
11763
|
var badgeColors = {
|
|
11748
11764
|
zap: "text-[var(--canvas-primary)]",
|
|
11749
|
-
star: "text-
|
|
11750
|
-
check: "text-
|
|
11765
|
+
star: "text-[var(--canvas-warning)]",
|
|
11766
|
+
check: "text-[var(--canvas-success)]"
|
|
11751
11767
|
};
|
|
11752
11768
|
function BadgesCard({ badges, className }) {
|
|
11753
11769
|
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) => {
|
|
@@ -13633,9 +13649,9 @@ function PostComposer({ placeholder = "What's on your mind?", imagePreview, onPo
|
|
|
13633
13649
|
},
|
|
13634
13650
|
children: [
|
|
13635
13651
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center", style: { gap: "var(--spacing-lg)" }, children: [
|
|
13636
|
-
/* @__PURE__ */ jsx("button", { type: "button", style: { color: "var(--canvas-text)" }, children: /* @__PURE__ */ jsx(Paperclip, { className: "w-5 h-5" }) }),
|
|
13637
|
-
/* @__PURE__ */ jsx("button", { type: "button", style: { color: "var(--canvas-text)" }, children: /* @__PURE__ */ jsx(Video, { className: "w-5 h-5" }) }),
|
|
13638
|
-
/* @__PURE__ */ jsx("button", { type: "button", style: { color: "var(--canvas-text)" }, children: /* @__PURE__ */ jsx(Link2, { className: "w-5 h-5" }) })
|
|
13652
|
+
/* @__PURE__ */ jsx("button", { type: "button", className: "cursor-pointer", style: { color: "var(--canvas-text)" }, children: /* @__PURE__ */ jsx(Paperclip, { className: "w-5 h-5" }) }),
|
|
13653
|
+
/* @__PURE__ */ jsx("button", { type: "button", className: "cursor-pointer", style: { color: "var(--canvas-text)" }, children: /* @__PURE__ */ jsx(Video, { className: "w-5 h-5" }) }),
|
|
13654
|
+
/* @__PURE__ */ jsx("button", { type: "button", className: "cursor-pointer", style: { color: "var(--canvas-text)" }, children: /* @__PURE__ */ jsx(Link2, { className: "w-5 h-5" }) })
|
|
13639
13655
|
] }),
|
|
13640
13656
|
/* @__PURE__ */ jsx(Button, { variant: "primary", size: "sm", onClick: handlePost, children: "Post" })
|
|
13641
13657
|
]
|
|
@@ -13657,6 +13673,7 @@ function ActionIconsRow({ isLiked, onLike, onComment, onRepost, onShare }) {
|
|
|
13657
13673
|
{
|
|
13658
13674
|
type: "button",
|
|
13659
13675
|
onClick: onLike,
|
|
13676
|
+
className: "cursor-pointer",
|
|
13660
13677
|
style: { color: isLiked ? "var(--canvas-destructive)" : "var(--canvas-text)" },
|
|
13661
13678
|
children: /* @__PURE__ */ jsx(
|
|
13662
13679
|
Heart$1,
|
|
@@ -13669,9 +13686,9 @@ function ActionIconsRow({ isLiked, onLike, onComment, onRepost, onShare }) {
|
|
|
13669
13686
|
)
|
|
13670
13687
|
}
|
|
13671
13688
|
),
|
|
13672
|
-
/* @__PURE__ */ jsx("button", { type: "button", onClick: onComment, style: { color: "var(--canvas-text)" }, children: /* @__PURE__ */ jsx(MessageCircle, { className: "w-5 h-5" }) }),
|
|
13673
|
-
/* @__PURE__ */ jsx("button", { type: "button", onClick: onRepost, style: { color: "var(--canvas-text)" }, children: /* @__PURE__ */ jsx(RefreshCw, { className: "w-5 h-5" }) }),
|
|
13674
|
-
/* @__PURE__ */ jsx("button", { type: "button", onClick: onShare, style: { color: "var(--canvas-text)" }, children: /* @__PURE__ */ jsx(Send, { className: "w-5 h-5" }) })
|
|
13689
|
+
/* @__PURE__ */ jsx("button", { type: "button", onClick: onComment, className: "cursor-pointer", style: { color: "var(--canvas-text)" }, children: /* @__PURE__ */ jsx(MessageCircle, { className: "w-5 h-5" }) }),
|
|
13690
|
+
/* @__PURE__ */ jsx("button", { type: "button", onClick: onRepost, className: "cursor-pointer", style: { color: "var(--canvas-text)" }, children: /* @__PURE__ */ jsx(RefreshCw, { className: "w-5 h-5" }) }),
|
|
13691
|
+
/* @__PURE__ */ jsx("button", { type: "button", onClick: onShare, className: "cursor-pointer", style: { color: "var(--canvas-text)" }, children: /* @__PURE__ */ jsx(Send, { className: "w-5 h-5" }) })
|
|
13675
13692
|
]
|
|
13676
13693
|
}
|
|
13677
13694
|
);
|
|
@@ -13915,7 +13932,7 @@ function RepostCard({ repost, onLike, onComment, onRepost, onShare }) {
|
|
|
13915
13932
|
"button",
|
|
13916
13933
|
{
|
|
13917
13934
|
type: "button",
|
|
13918
|
-
className: "flex items-center justify-center",
|
|
13935
|
+
className: "cursor-pointer flex items-center justify-center",
|
|
13919
13936
|
style: {
|
|
13920
13937
|
width: 32,
|
|
13921
13938
|
height: 32,
|
|
@@ -14040,7 +14057,7 @@ function PostCell({ post, onLike, onComment, onRepost, onShare, onMenuClick }) {
|
|
|
14040
14057
|
{
|
|
14041
14058
|
type: "button",
|
|
14042
14059
|
onClick: onMenuClick,
|
|
14043
|
-
className: "flex items-center justify-center",
|
|
14060
|
+
className: "cursor-pointer flex items-center justify-center",
|
|
14044
14061
|
style: {
|
|
14045
14062
|
width: 32,
|
|
14046
14063
|
height: 32,
|
|
@@ -14623,7 +14640,7 @@ function ControlButton({ icon, onClick, isActive = true, label }) {
|
|
|
14623
14640
|
className: cn(
|
|
14624
14641
|
"w-10 h-10 rounded-full flex items-center justify-center",
|
|
14625
14642
|
"shadow-sm transition-colors",
|
|
14626
|
-
isActive ? "bg-[var(--canvas-sidebar-light-text)] text-
|
|
14643
|
+
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
14644
|
),
|
|
14628
14645
|
children: icon
|
|
14629
14646
|
}
|
|
@@ -15151,8 +15168,8 @@ function CreditCardDisplay({
|
|
|
15151
15168
|
/* @__PURE__ */ jsx(
|
|
15152
15169
|
"span",
|
|
15153
15170
|
{
|
|
15154
|
-
className: "text-white/70
|
|
15155
|
-
style: { fontFamily: "var(--typo-global-font)" },
|
|
15171
|
+
className: "text-white/70 block mb-1",
|
|
15172
|
+
style: { fontFamily: "var(--typo-global-font)", fontSize: "var(--typo-body-xs-size)" },
|
|
15156
15173
|
children: "CARDHOLDER"
|
|
15157
15174
|
}
|
|
15158
15175
|
),
|
|
@@ -15161,7 +15178,7 @@ function CreditCardDisplay({
|
|
|
15161
15178
|
{
|
|
15162
15179
|
className: "text-white font-medium",
|
|
15163
15180
|
style: {
|
|
15164
|
-
fontSize: "
|
|
15181
|
+
fontSize: "var(--typo-body-m-size)",
|
|
15165
15182
|
fontFamily: "var(--typo-global-font)"
|
|
15166
15183
|
},
|
|
15167
15184
|
children: cardholderName
|
|
@@ -15172,8 +15189,8 @@ function CreditCardDisplay({
|
|
|
15172
15189
|
/* @__PURE__ */ jsx(
|
|
15173
15190
|
"span",
|
|
15174
15191
|
{
|
|
15175
|
-
className: "text-white/70
|
|
15176
|
-
style: { fontFamily: "var(--typo-global-font)" },
|
|
15192
|
+
className: "text-white/70 block mb-1",
|
|
15193
|
+
style: { fontFamily: "var(--typo-global-font)", fontSize: "var(--typo-body-xs-size)" },
|
|
15177
15194
|
children: "EXPIRES"
|
|
15178
15195
|
}
|
|
15179
15196
|
),
|
|
@@ -15182,7 +15199,7 @@ function CreditCardDisplay({
|
|
|
15182
15199
|
{
|
|
15183
15200
|
className: "text-white font-medium",
|
|
15184
15201
|
style: {
|
|
15185
|
-
fontSize: "
|
|
15202
|
+
fontSize: "var(--typo-body-m-size)",
|
|
15186
15203
|
fontFamily: "var(--typo-global-font)"
|
|
15187
15204
|
},
|
|
15188
15205
|
children: expiryDate
|
|
@@ -15248,7 +15265,8 @@ function CanvasItem({
|
|
|
15248
15265
|
"div",
|
|
15249
15266
|
{
|
|
15250
15267
|
onMouseDown: handleDragHandleMouseDown,
|
|
15251
|
-
className: "flex items-center gap-1.5 text-white/90
|
|
15268
|
+
className: "flex items-center gap-1.5 text-white/90 cursor-grab active:cursor-grabbing select-none",
|
|
15269
|
+
style: { fontSize: "var(--typo-body-xs-size)" },
|
|
15252
15270
|
children: [
|
|
15253
15271
|
/* @__PURE__ */ jsx(GripHorizontal, { className: "size-4" }),
|
|
15254
15272
|
/* @__PURE__ */ jsx("span", { className: "text-[11px] font-medium", children: item.componentType })
|
|
@@ -15424,9 +15442,10 @@ function DraggableComponent({ component }) {
|
|
|
15424
15442
|
/* @__PURE__ */ jsx(
|
|
15425
15443
|
"span",
|
|
15426
15444
|
{
|
|
15427
|
-
className: "text-
|
|
15445
|
+
className: "text-[var(--canvas-text)]",
|
|
15428
15446
|
style: {
|
|
15429
|
-
fontFamily: "var(--typo-body-s-font, var(--typo-global-font))"
|
|
15447
|
+
fontFamily: "var(--typo-body-s-font, var(--typo-global-font))",
|
|
15448
|
+
fontSize: "var(--typo-body-s-size)"
|
|
15430
15449
|
},
|
|
15431
15450
|
children: component.label
|
|
15432
15451
|
}
|
|
@@ -15442,17 +15461,18 @@ function CategorySection({ category, components, defaultExpanded = true }) {
|
|
|
15442
15461
|
"button",
|
|
15443
15462
|
{
|
|
15444
15463
|
onClick: () => setIsExpanded(!isExpanded),
|
|
15445
|
-
className: "flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-[var(--canvas-surface)] rounded-md transition-colors",
|
|
15464
|
+
className: "cursor-pointer flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-[var(--canvas-surface)] rounded-md transition-colors",
|
|
15446
15465
|
children: [
|
|
15447
15466
|
isExpanded ? /* @__PURE__ */ jsx(ChevronDown, { className: "size-4 text-[var(--canvas-text-muted)]" }) : /* @__PURE__ */ jsx(ChevronRight, { className: "size-4 text-[var(--canvas-text-muted)]" }),
|
|
15448
15467
|
/* @__PURE__ */ jsx(
|
|
15449
15468
|
"span",
|
|
15450
15469
|
{
|
|
15451
|
-
className: "
|
|
15470
|
+
className: "font-semibold uppercase tracking-wider text-[var(--canvas-text-muted)]",
|
|
15471
|
+
style: { fontSize: "var(--typo-body-xs-size)" },
|
|
15452
15472
|
children: category
|
|
15453
15473
|
}
|
|
15454
15474
|
),
|
|
15455
|
-
/* @__PURE__ */ jsx("span", { className: "ml-auto text-
|
|
15475
|
+
/* @__PURE__ */ jsx("span", { className: "ml-auto text-[var(--canvas-text-placeholder)]", style: { fontSize: "var(--typo-body-xs-size)" }, children: components.length })
|
|
15456
15476
|
]
|
|
15457
15477
|
}
|
|
15458
15478
|
),
|
|
@@ -15465,7 +15485,7 @@ function ComponentPalette({ className }) {
|
|
|
15465
15485
|
{
|
|
15466
15486
|
className: cn(
|
|
15467
15487
|
"w-[280px] h-full flex flex-col",
|
|
15468
|
-
"bg-
|
|
15488
|
+
"bg-[var(--canvas-background)] border-r border-[var(--canvas-border)]",
|
|
15469
15489
|
className
|
|
15470
15490
|
),
|
|
15471
15491
|
children: [
|
|
@@ -15473,9 +15493,10 @@ function ComponentPalette({ className }) {
|
|
|
15473
15493
|
/* @__PURE__ */ jsx(
|
|
15474
15494
|
"h2",
|
|
15475
15495
|
{
|
|
15476
|
-
className: "
|
|
15496
|
+
className: "font-semibold text-[var(--canvas-text)]",
|
|
15477
15497
|
style: {
|
|
15478
|
-
fontFamily: "var(--typo-body-m-font, var(--typo-global-font))"
|
|
15498
|
+
fontFamily: "var(--typo-body-m-font, var(--typo-global-font))",
|
|
15499
|
+
fontSize: "var(--typo-body-s-size)"
|
|
15479
15500
|
},
|
|
15480
15501
|
children: "Components"
|
|
15481
15502
|
}
|
|
@@ -15483,7 +15504,8 @@ function ComponentPalette({ className }) {
|
|
|
15483
15504
|
/* @__PURE__ */ jsx(
|
|
15484
15505
|
"p",
|
|
15485
15506
|
{
|
|
15486
|
-
className: "text-
|
|
15507
|
+
className: "text-[var(--canvas-text-muted)] mt-1",
|
|
15508
|
+
style: { fontSize: "var(--typo-body-xs-size)" },
|
|
15487
15509
|
children: "Drag components onto the canvas"
|
|
15488
15510
|
}
|
|
15489
15511
|
)
|
|
@@ -15501,9 +15523,9 @@ function ComponentPalette({ className }) {
|
|
|
15501
15523
|
category
|
|
15502
15524
|
);
|
|
15503
15525
|
}) }) }),
|
|
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-
|
|
15526
|
+
/* @__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
15527
|
"Tip: Press ",
|
|
15506
|
-
/* @__PURE__ */ jsx("kbd", { className: "px-1.5 py-0.5 bg-
|
|
15528
|
+
/* @__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
15529
|
" to remove selected"
|
|
15508
15530
|
] }) })
|
|
15509
15531
|
]
|
|
@@ -16295,14 +16317,15 @@ function ComponentSearch({
|
|
|
16295
16317
|
selectedComponents.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2", children: selectedComponents.map((component) => /* @__PURE__ */ jsxs(
|
|
16296
16318
|
"div",
|
|
16297
16319
|
{
|
|
16298
|
-
className: "flex items-center gap-1.5 px-2.5 py-1 rounded-full bg-[var(--canvas-surface-brand)] text-[var(--canvas-primary)]
|
|
16320
|
+
className: "flex items-center gap-1.5 px-2.5 py-1 rounded-full bg-[var(--canvas-surface-brand)] text-[var(--canvas-primary)]",
|
|
16321
|
+
style: { fontSize: "var(--typo-body-s-size)" },
|
|
16299
16322
|
children: [
|
|
16300
16323
|
/* @__PURE__ */ jsx("span", { className: "font-medium", children: component.name }),
|
|
16301
16324
|
/* @__PURE__ */ jsx(
|
|
16302
16325
|
"button",
|
|
16303
16326
|
{
|
|
16304
16327
|
onClick: () => removeComponent(component.id),
|
|
16305
|
-
className: "p-0.5 rounded-full hover:bg-[var(--canvas-primary)]/20 transition-colors",
|
|
16328
|
+
className: "cursor-pointer p-0.5 rounded-full hover:bg-[var(--canvas-primary)]/20 transition-colors",
|
|
16306
16329
|
children: /* @__PURE__ */ jsx(X, { className: "size-3" })
|
|
16307
16330
|
}
|
|
16308
16331
|
)
|
|
@@ -16329,10 +16352,11 @@ function ComponentSearch({
|
|
|
16329
16352
|
onChange: (e) => setSearchQuery(e.target.value),
|
|
16330
16353
|
onFocus: () => setIsOpen(true),
|
|
16331
16354
|
placeholder: "Search components...",
|
|
16332
|
-
className: "flex-1 bg-transparent text-
|
|
16355
|
+
className: "flex-1 bg-transparent text-[var(--canvas-text)] placeholder:text-[var(--canvas-text-placeholder)] outline-none",
|
|
16356
|
+
style: { fontSize: "var(--typo-body-s-size)" }
|
|
16333
16357
|
}
|
|
16334
16358
|
),
|
|
16335
|
-
/* @__PURE__ */ jsxs("span", { className: "text-
|
|
16359
|
+
/* @__PURE__ */ jsxs("span", { className: "text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-body-xs-size)" }, children: [
|
|
16336
16360
|
selectedComponents.length,
|
|
16337
16361
|
" selected"
|
|
16338
16362
|
] })
|
|
@@ -16353,7 +16377,8 @@ function ComponentSearch({
|
|
|
16353
16377
|
"button",
|
|
16354
16378
|
{
|
|
16355
16379
|
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)]
|
|
16380
|
+
className: "cursor-pointer 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",
|
|
16381
|
+
style: { fontSize: "var(--typo-body-xs-size)" },
|
|
16357
16382
|
children: [
|
|
16358
16383
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
16359
16384
|
category,
|
|
@@ -16374,7 +16399,7 @@ function ComponentSearch({
|
|
|
16374
16399
|
{
|
|
16375
16400
|
onClick: () => toggleComponent(component),
|
|
16376
16401
|
className: cn(
|
|
16377
|
-
"w-full flex items-start gap-3 px-3 py-2.5 text-left transition-colors border-b border-[var(--canvas-border)]/50 last:border-b-0",
|
|
16402
|
+
"cursor-pointer w-full flex items-start gap-3 px-3 py-2.5 text-left transition-colors border-b border-[var(--canvas-border)]/50 last:border-b-0",
|
|
16378
16403
|
isSelected ? "bg-[var(--canvas-surface-brand)]/50" : "hover:bg-[var(--canvas-surface)]"
|
|
16379
16404
|
),
|
|
16380
16405
|
children: [
|
|
@@ -16388,7 +16413,7 @@ function ComponentSearch({
|
|
|
16388
16413
|
children: isSelected && /* @__PURE__ */ jsx(
|
|
16389
16414
|
"svg",
|
|
16390
16415
|
{
|
|
16391
|
-
className: "size-3 text-
|
|
16416
|
+
className: "size-3 text-[var(--canvas-primary-foreground)]",
|
|
16392
16417
|
fill: "none",
|
|
16393
16418
|
viewBox: "0 0 24 24",
|
|
16394
16419
|
stroke: "currentColor",
|
|
@@ -16411,15 +16436,16 @@ function ComponentSearch({
|
|
|
16411
16436
|
"span",
|
|
16412
16437
|
{
|
|
16413
16438
|
className: cn(
|
|
16414
|
-
"
|
|
16439
|
+
"font-medium",
|
|
16415
16440
|
isSelected ? "text-[var(--canvas-primary)]" : "text-[var(--canvas-text)]"
|
|
16416
16441
|
),
|
|
16442
|
+
style: { fontSize: "var(--typo-body-s-size)" },
|
|
16417
16443
|
children: component.name
|
|
16418
16444
|
}
|
|
16419
16445
|
),
|
|
16420
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
16446
|
+
/* @__PURE__ */ jsx("span", { className: "text-[var(--canvas-text-placeholder)]", style: { fontSize: "var(--typo-body-xs-size)" }, children: component.path })
|
|
16421
16447
|
] }),
|
|
16422
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
16448
|
+
/* @__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
16449
|
] })
|
|
16424
16450
|
]
|
|
16425
16451
|
},
|
|
@@ -16427,7 +16453,7 @@ function ComponentSearch({
|
|
|
16427
16453
|
);
|
|
16428
16454
|
}) })
|
|
16429
16455
|
] }, category)),
|
|
16430
|
-
filteredComponents.length === 0 && /* @__PURE__ */ jsxs("div", { className: "px-3 py-6 text-center text-
|
|
16456
|
+
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
16457
|
'No components found for "',
|
|
16432
16458
|
searchQuery,
|
|
16433
16459
|
'"'
|
|
@@ -16544,11 +16570,11 @@ function CustomComponentHelper({ className }) {
|
|
|
16544
16570
|
const hasContent = componentName || componentDescription;
|
|
16545
16571
|
return /* @__PURE__ */ jsxs("div", { className: cn("space-y-6", className), children: [
|
|
16546
16572
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
16547
|
-
/* @__PURE__ */ jsx("h3", { className: "
|
|
16548
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
16573
|
+
/* @__PURE__ */ jsx("h3", { className: "font-semibold text-[var(--canvas-text)]", style: { fontSize: "var(--typo-body-l-size)" }, children: "Create Custom Component" }),
|
|
16574
|
+
/* @__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
16575
|
] }),
|
|
16550
16576
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
16551
|
-
/* @__PURE__ */ jsx("label", { className: "text-
|
|
16577
|
+
/* @__PURE__ */ jsx("label", { className: "text-[var(--canvas-text)]", style: { fontSize: "var(--typo-body-s-size)", fontWeight: 500 }, children: "Component Type" }),
|
|
16552
16578
|
/* @__PURE__ */ jsx("div", { className: "flex gap-2", children: [
|
|
16553
16579
|
{ id: "block", label: "Block" },
|
|
16554
16580
|
{ id: "page-template", label: "Page Template" },
|
|
@@ -16558,9 +16584,10 @@ function CustomComponentHelper({ className }) {
|
|
|
16558
16584
|
{
|
|
16559
16585
|
onClick: () => setComponentType(type.id),
|
|
16560
16586
|
className: cn(
|
|
16561
|
-
"px-4 py-2 rounded-lg
|
|
16562
|
-
componentType === type.id ? "bg-[var(--canvas-primary)] text-
|
|
16587
|
+
"cursor-pointer px-4 py-2 rounded-lg font-medium transition-all",
|
|
16588
|
+
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
16589
|
),
|
|
16590
|
+
style: { fontSize: "var(--typo-body-s-size)" },
|
|
16564
16591
|
children: type.label
|
|
16565
16592
|
},
|
|
16566
16593
|
type.id
|
|
@@ -16571,7 +16598,8 @@ function CustomComponentHelper({ className }) {
|
|
|
16571
16598
|
"label",
|
|
16572
16599
|
{
|
|
16573
16600
|
htmlFor: "component-name",
|
|
16574
|
-
className: "text-
|
|
16601
|
+
className: "text-[var(--canvas-text)]",
|
|
16602
|
+
style: { fontSize: "var(--typo-body-s-size)", fontWeight: 500 },
|
|
16575
16603
|
children: "Component Name"
|
|
16576
16604
|
}
|
|
16577
16605
|
),
|
|
@@ -16583,7 +16611,8 @@ function CustomComponentHelper({ className }) {
|
|
|
16583
16611
|
value: componentName,
|
|
16584
16612
|
onChange: (e) => setComponentName(e.target.value),
|
|
16585
16613
|
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)]
|
|
16614
|
+
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",
|
|
16615
|
+
style: { fontSize: "var(--typo-body-s-size)" }
|
|
16587
16616
|
}
|
|
16588
16617
|
)
|
|
16589
16618
|
] }),
|
|
@@ -16592,7 +16621,8 @@ function CustomComponentHelper({ className }) {
|
|
|
16592
16621
|
"label",
|
|
16593
16622
|
{
|
|
16594
16623
|
htmlFor: "component-description",
|
|
16595
|
-
className: "text-
|
|
16624
|
+
className: "text-[var(--canvas-text)]",
|
|
16625
|
+
style: { fontSize: "var(--typo-body-s-size)", fontWeight: 500 },
|
|
16596
16626
|
children: "Description"
|
|
16597
16627
|
}
|
|
16598
16628
|
),
|
|
@@ -16604,13 +16634,14 @@ function CustomComponentHelper({ className }) {
|
|
|
16604
16634
|
onChange: (e) => setComponentDescription(e.target.value),
|
|
16605
16635
|
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
16636
|
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)]
|
|
16637
|
+
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",
|
|
16638
|
+
style: { fontSize: "var(--typo-body-s-size)" }
|
|
16608
16639
|
}
|
|
16609
16640
|
)
|
|
16610
16641
|
] }),
|
|
16611
16642
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
16612
|
-
/* @__PURE__ */ jsx("label", { className: "text-
|
|
16613
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
16643
|
+
/* @__PURE__ */ jsx("label", { className: "text-[var(--canvas-text)]", style: { fontSize: "var(--typo-body-s-size)", fontWeight: 500 }, children: "Reference Components (optional)" }),
|
|
16644
|
+
/* @__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
16645
|
/* @__PURE__ */ jsx(
|
|
16615
16646
|
ComponentSearch,
|
|
16616
16647
|
{
|
|
@@ -16621,7 +16652,7 @@ function CustomComponentHelper({ className }) {
|
|
|
16621
16652
|
] }),
|
|
16622
16653
|
hasContent && /* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-dashed border-[var(--canvas-border)] bg-[var(--canvas-surface)] p-4", children: [
|
|
16623
16654
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-3", children: [
|
|
16624
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2
|
|
16655
|
+
/* @__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
16656
|
/* @__PURE__ */ jsx(Sparkles, { className: "size-4 text-[var(--canvas-primary)]" }),
|
|
16626
16657
|
"Generated Prompt"
|
|
16627
16658
|
] }),
|
|
@@ -16631,9 +16662,10 @@ function CustomComponentHelper({ className }) {
|
|
|
16631
16662
|
onClick: handleCopy,
|
|
16632
16663
|
disabled: !generatedPrompt,
|
|
16633
16664
|
className: cn(
|
|
16634
|
-
"flex items-center gap-1.5 px-2.5 py-1.5 rounded-md
|
|
16635
|
-
copied ? "bg-
|
|
16665
|
+
"cursor-pointer flex items-center gap-1.5 px-2.5 py-1.5 rounded-md font-medium transition-all",
|
|
16666
|
+
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
16667
|
),
|
|
16668
|
+
style: { fontSize: "var(--typo-body-xs-size)" },
|
|
16637
16669
|
children: copied ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
16638
16670
|
/* @__PURE__ */ jsx(Check, { className: "size-3" }),
|
|
16639
16671
|
"Copied!"
|
|
@@ -16644,9 +16676,9 @@ function CustomComponentHelper({ className }) {
|
|
|
16644
16676
|
}
|
|
16645
16677
|
)
|
|
16646
16678
|
] }),
|
|
16647
|
-
/* @__PURE__ */ jsx("pre", { className: "text-
|
|
16679
|
+
/* @__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
16680
|
] }),
|
|
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-
|
|
16681
|
+
!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
16682
|
] });
|
|
16651
16683
|
}
|
|
16652
16684
|
function toKebabCase(str) {
|
|
@@ -16772,7 +16804,7 @@ function TileCard({ item, onSave, onClick }) {
|
|
|
16772
16804
|
"button",
|
|
16773
16805
|
{
|
|
16774
16806
|
onClick: handlePrevImage,
|
|
16775
|
-
className: "flex items-center justify-center shrink-0 transition-transform hover:scale-105",
|
|
16807
|
+
className: "cursor-pointer flex items-center justify-center shrink-0 transition-transform hover:scale-105",
|
|
16776
16808
|
style: {
|
|
16777
16809
|
width: "32px",
|
|
16778
16810
|
height: "32px",
|
|
@@ -16794,7 +16826,7 @@ function TileCard({ item, onSave, onClick }) {
|
|
|
16794
16826
|
"button",
|
|
16795
16827
|
{
|
|
16796
16828
|
onClick: handleNextImage,
|
|
16797
|
-
className: "flex items-center justify-center shrink-0 transition-transform hover:scale-105",
|
|
16829
|
+
className: "cursor-pointer flex items-center justify-center shrink-0 transition-transform hover:scale-105",
|
|
16798
16830
|
style: {
|
|
16799
16831
|
width: "32px",
|
|
16800
16832
|
height: "32px",
|
|
@@ -16817,7 +16849,7 @@ function TileCard({ item, onSave, onClick }) {
|
|
|
16817
16849
|
"button",
|
|
16818
16850
|
{
|
|
16819
16851
|
onClick: handleSave,
|
|
16820
|
-
className: "flex items-center transition-transform hover:scale-105",
|
|
16852
|
+
className: "cursor-pointer flex items-center transition-transform hover:scale-105",
|
|
16821
16853
|
style: {
|
|
16822
16854
|
height: "var(--spacing-5xl, 40px)",
|
|
16823
16855
|
paddingLeft: "var(--spacing-xl, 16px)",
|
|
@@ -19672,7 +19704,7 @@ function DateCell({
|
|
|
19672
19704
|
"span",
|
|
19673
19705
|
{
|
|
19674
19706
|
className: cn(
|
|
19675
|
-
"font-semibold
|
|
19707
|
+
"font-semibold leading-6",
|
|
19676
19708
|
showStrikethrough && "line-through"
|
|
19677
19709
|
),
|
|
19678
19710
|
style: {
|
|
@@ -20096,13 +20128,14 @@ function PaginationButton({
|
|
|
20096
20128
|
type: "button",
|
|
20097
20129
|
onClick,
|
|
20098
20130
|
className: cn(
|
|
20099
|
-
"flex items-center justify-center shrink-0 transition-colors",
|
|
20100
|
-
"font-semibold
|
|
20131
|
+
"cursor-pointer flex items-center justify-center shrink-0 transition-colors",
|
|
20132
|
+
"font-semibold",
|
|
20101
20133
|
"size-[32px] rounded-[var(--radius-xs)]",
|
|
20102
20134
|
"border bg-[var(--canvas-background)]",
|
|
20103
20135
|
isSelected ? "border-[var(--canvas-primary)] text-[var(--canvas-primary)]" : "border-[var(--canvas-border)] text-[var(--canvas-text)] hover:bg-[var(--canvas-surface)]",
|
|
20104
20136
|
className
|
|
20105
20137
|
),
|
|
20138
|
+
style: { fontSize: "var(--typo-body-s-size)", lineHeight: "var(--typo-body-s-line-height)" },
|
|
20106
20139
|
"aria-current": isSelected ? "page" : void 0,
|
|
20107
20140
|
children: page
|
|
20108
20141
|
}
|
|
@@ -20138,13 +20171,13 @@ function NavigationButton({
|
|
|
20138
20171
|
"h-[32px] rounded-[var(--radius-xs)]",
|
|
20139
20172
|
"border bg-[var(--canvas-background)] border-[var(--canvas-border)]",
|
|
20140
20173
|
isIconOnly ? "w-[32px]" : "px-[var(--spacing-md)] gap-[var(--spacing-xs)]",
|
|
20141
|
-
disabled ? "text-[var(--canvas-text-placeholder)] cursor-not-allowed" : "text-[var(--canvas-text)] hover:bg-[var(--canvas-surface)]",
|
|
20174
|
+
disabled ? "text-[var(--canvas-text-placeholder)] cursor-not-allowed" : "cursor-pointer text-[var(--canvas-text)] hover:bg-[var(--canvas-surface)]",
|
|
20142
20175
|
className
|
|
20143
20176
|
),
|
|
20144
20177
|
"aria-label": type,
|
|
20145
20178
|
children: [
|
|
20146
20179
|
(type === "first" || type === "prev") && /* @__PURE__ */ jsx(Icon2, { className: "size-[20px]" }),
|
|
20147
|
-
label && /* @__PURE__ */ jsx("span", { className: "font-semibold
|
|
20180
|
+
label && /* @__PURE__ */ jsx("span", { className: "font-semibold", style: { fontSize: "var(--typo-body-s-size)", lineHeight: "var(--typo-body-s-line-height)" }, children: label }),
|
|
20148
20181
|
(type === "next" || type === "last") && /* @__PURE__ */ jsx(Icon2, { className: "size-[20px]" })
|
|
20149
20182
|
]
|
|
20150
20183
|
}
|
|
@@ -20246,8 +20279,8 @@ function Pagination({
|
|
|
20246
20279
|
showResultsText && /* @__PURE__ */ jsxs(
|
|
20247
20280
|
"span",
|
|
20248
20281
|
{
|
|
20249
|
-
className: "text-[
|
|
20250
|
-
style: { fontFamily: "var(--typo-global-font)" },
|
|
20282
|
+
className: "text-[var(--canvas-text)] whitespace-nowrap",
|
|
20283
|
+
style: { fontFamily: "var(--typo-global-font)", fontSize: "var(--typo-body-s-size)", lineHeight: "var(--typo-body-s-line-height)" },
|
|
20251
20284
|
children: [
|
|
20252
20285
|
"Viewing ",
|
|
20253
20286
|
formatNumber(startItem),
|
|
@@ -20364,7 +20397,7 @@ function PromptTemplate({
|
|
|
20364
20397
|
),
|
|
20365
20398
|
children: [
|
|
20366
20399
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-3", children: [
|
|
20367
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2
|
|
20400
|
+
/* @__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
20401
|
/* @__PURE__ */ jsx(Sparkles, { className: "size-4 text-[var(--canvas-primary)]" }),
|
|
20369
20402
|
title
|
|
20370
20403
|
] }),
|
|
@@ -20373,9 +20406,10 @@ function PromptTemplate({
|
|
|
20373
20406
|
{
|
|
20374
20407
|
onClick: handleCopy,
|
|
20375
20408
|
className: cn(
|
|
20376
|
-
"flex items-center gap-1.5 px-2.5 py-1.5 rounded-md
|
|
20377
|
-
copied ? "bg-
|
|
20409
|
+
"cursor-pointer flex items-center gap-1.5 px-2.5 py-1.5 rounded-md font-medium transition-all",
|
|
20410
|
+
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
20411
|
),
|
|
20412
|
+
style: { fontSize: "var(--typo-body-xs-size)" },
|
|
20379
20413
|
children: copied ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
20380
20414
|
/* @__PURE__ */ jsx(Check, { className: "size-3" }),
|
|
20381
20415
|
"Copied!"
|
|
@@ -20386,7 +20420,7 @@ function PromptTemplate({
|
|
|
20386
20420
|
}
|
|
20387
20421
|
)
|
|
20388
20422
|
] }),
|
|
20389
|
-
/* @__PURE__ */ jsx("pre", { className: "text-
|
|
20423
|
+
/* @__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
20424
|
]
|
|
20391
20425
|
}
|
|
20392
20426
|
);
|
|
@@ -20403,9 +20437,10 @@ function MiniPromptChip({ label, prompt }) {
|
|
|
20403
20437
|
{
|
|
20404
20438
|
onClick: handleCopy,
|
|
20405
20439
|
className: cn(
|
|
20406
|
-
"inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full
|
|
20407
|
-
copied ? "bg-
|
|
20440
|
+
"cursor-pointer inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full font-medium transition-all",
|
|
20441
|
+
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
20442
|
),
|
|
20443
|
+
style: { fontSize: "var(--typo-body-xs-size)" },
|
|
20409
20444
|
title: `Copy: ${prompt.slice(0, 100)}...`,
|
|
20410
20445
|
children: [
|
|
20411
20446
|
copied ? /* @__PURE__ */ jsx(Check, { className: "size-3" }) : /* @__PURE__ */ jsx(Copy, { className: "size-3" }),
|
|
@@ -20416,7 +20451,7 @@ function MiniPromptChip({ label, prompt }) {
|
|
|
20416
20451
|
}
|
|
20417
20452
|
function PromptChipsRow({ chips, label = "More prompts:" }) {
|
|
20418
20453
|
return /* @__PURE__ */ jsxs("div", { className: "pt-4 border-t border-[var(--canvas-border)]", children: [
|
|
20419
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
20454
|
+
/* @__PURE__ */ jsx("p", { className: "text-[var(--canvas-text-muted)] mb-2 font-medium", style: { fontSize: "var(--typo-body-xs-size)" }, children: label }),
|
|
20420
20455
|
/* @__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
20456
|
] });
|
|
20422
20457
|
}
|
|
@@ -20499,9 +20534,10 @@ function ScreenPromptTemplate() {
|
|
|
20499
20534
|
{
|
|
20500
20535
|
onClick: () => setPromptType(type),
|
|
20501
20536
|
className: cn(
|
|
20502
|
-
"flex items-center gap-2 px-4 py-2 rounded-lg
|
|
20503
|
-
isActive ? "bg-[var(--canvas-primary)] text-
|
|
20537
|
+
"cursor-pointer flex items-center gap-2 px-4 py-2 rounded-lg font-medium transition-all",
|
|
20538
|
+
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
20539
|
),
|
|
20540
|
+
style: { fontSize: "var(--typo-body-s-size)" },
|
|
20505
20541
|
children: [
|
|
20506
20542
|
/* @__PURE__ */ jsx(Icon2, { className: "size-4" }),
|
|
20507
20543
|
config.label
|
|
@@ -20511,10 +20547,10 @@ function ScreenPromptTemplate() {
|
|
|
20511
20547
|
);
|
|
20512
20548
|
}
|
|
20513
20549
|
) }),
|
|
20514
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
20550
|
+
/* @__PURE__ */ jsx("p", { className: "text-[var(--canvas-text-muted)] mb-3", style: { fontSize: "var(--typo-body-xs-size)" }, children: currentConfig.description }),
|
|
20515
20551
|
/* @__PURE__ */ jsx("div", { className: "border-t border-[var(--canvas-border)] my-4" }),
|
|
20516
20552
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-3", children: [
|
|
20517
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2
|
|
20553
|
+
/* @__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
20554
|
/* @__PURE__ */ jsx(Sparkles, { className: "size-4 text-[var(--canvas-primary)]" }),
|
|
20519
20555
|
"Generate with Cursor"
|
|
20520
20556
|
] }),
|
|
@@ -20523,9 +20559,10 @@ function ScreenPromptTemplate() {
|
|
|
20523
20559
|
{
|
|
20524
20560
|
onClick: handleCopy,
|
|
20525
20561
|
className: cn(
|
|
20526
|
-
"flex items-center gap-1.5 px-2.5 py-1.5 rounded-md
|
|
20527
|
-
copied ? "bg-
|
|
20562
|
+
"cursor-pointer flex items-center gap-1.5 px-2.5 py-1.5 rounded-md font-medium transition-all",
|
|
20563
|
+
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
20564
|
),
|
|
20565
|
+
style: { fontSize: "var(--typo-body-xs-size)" },
|
|
20529
20566
|
children: copied ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
20530
20567
|
/* @__PURE__ */ jsx(Check, { className: "size-3" }),
|
|
20531
20568
|
"Copied!"
|
|
@@ -20536,7 +20573,7 @@ function ScreenPromptTemplate() {
|
|
|
20536
20573
|
}
|
|
20537
20574
|
)
|
|
20538
20575
|
] }),
|
|
20539
|
-
/* @__PURE__ */ jsx("pre", { className: "text-
|
|
20576
|
+
/* @__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
20577
|
] });
|
|
20541
20578
|
}
|
|
20542
20579
|
function ScreenPromptBuilder({ className }) {
|
|
@@ -20609,11 +20646,11 @@ function ScreenPromptBuilder({ className }) {
|
|
|
20609
20646
|
const hasContent = selectedComponents.length > 0 || screenName || screenContext;
|
|
20610
20647
|
return /* @__PURE__ */ jsxs("div", { className: cn("space-y-6", className), children: [
|
|
20611
20648
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
20612
|
-
/* @__PURE__ */ jsx("h3", { className: "
|
|
20613
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
20649
|
+
/* @__PURE__ */ jsx("h3", { className: "font-semibold text-[var(--canvas-text)]", style: { fontSize: "var(--typo-body-l-size)" }, children: "Build from Components" }),
|
|
20650
|
+
/* @__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
20651
|
] }),
|
|
20615
20652
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
20616
|
-
/* @__PURE__ */ jsx("label", { className: "text-
|
|
20653
|
+
/* @__PURE__ */ jsx("label", { className: "text-[var(--canvas-text)]", style: { fontSize: "var(--typo-body-s-size)", fontWeight: 500 }, children: "Select Components" }),
|
|
20617
20654
|
/* @__PURE__ */ jsx(
|
|
20618
20655
|
ComponentSearch,
|
|
20619
20656
|
{
|
|
@@ -20627,7 +20664,8 @@ function ScreenPromptBuilder({ className }) {
|
|
|
20627
20664
|
"label",
|
|
20628
20665
|
{
|
|
20629
20666
|
htmlFor: "screen-name",
|
|
20630
|
-
className: "text-
|
|
20667
|
+
className: "text-[var(--canvas-text)]",
|
|
20668
|
+
style: { fontSize: "var(--typo-body-s-size)", fontWeight: 500 },
|
|
20631
20669
|
children: "Screen Name"
|
|
20632
20670
|
}
|
|
20633
20671
|
),
|
|
@@ -20639,7 +20677,8 @@ function ScreenPromptBuilder({ className }) {
|
|
|
20639
20677
|
value: screenName,
|
|
20640
20678
|
onChange: (e) => setScreenName(e.target.value),
|
|
20641
20679
|
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)]
|
|
20680
|
+
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",
|
|
20681
|
+
style: { fontSize: "var(--typo-body-s-size)" }
|
|
20643
20682
|
}
|
|
20644
20683
|
)
|
|
20645
20684
|
] }),
|
|
@@ -20648,7 +20687,8 @@ function ScreenPromptBuilder({ className }) {
|
|
|
20648
20687
|
"label",
|
|
20649
20688
|
{
|
|
20650
20689
|
htmlFor: "screen-context",
|
|
20651
|
-
className: "text-
|
|
20690
|
+
className: "text-[var(--canvas-text)]",
|
|
20691
|
+
style: { fontSize: "var(--typo-body-s-size)", fontWeight: 500 },
|
|
20652
20692
|
children: "Screen Purpose & Context"
|
|
20653
20693
|
}
|
|
20654
20694
|
),
|
|
@@ -20660,7 +20700,8 @@ function ScreenPromptBuilder({ className }) {
|
|
|
20660
20700
|
onChange: (e) => setScreenContext(e.target.value),
|
|
20661
20701
|
placeholder: "Describe what this screen should do, what users will accomplish here, and any specific requirements...",
|
|
20662
20702
|
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)]
|
|
20703
|
+
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",
|
|
20704
|
+
style: { fontSize: "var(--typo-body-s-size)" }
|
|
20664
20705
|
}
|
|
20665
20706
|
)
|
|
20666
20707
|
] }),
|
|
@@ -20669,7 +20710,8 @@ function ScreenPromptBuilder({ className }) {
|
|
|
20669
20710
|
"label",
|
|
20670
20711
|
{
|
|
20671
20712
|
htmlFor: "persona",
|
|
20672
|
-
className: "text-
|
|
20713
|
+
className: "text-[var(--canvas-text)]",
|
|
20714
|
+
style: { fontSize: "var(--typo-body-s-size)", fontWeight: 500 },
|
|
20673
20715
|
children: "Target Persona (optional)"
|
|
20674
20716
|
}
|
|
20675
20717
|
),
|
|
@@ -20679,7 +20721,8 @@ function ScreenPromptBuilder({ className }) {
|
|
|
20679
20721
|
id: "persona",
|
|
20680
20722
|
value: selectedPersona,
|
|
20681
20723
|
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)]
|
|
20724
|
+
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",
|
|
20725
|
+
style: { fontSize: "var(--typo-body-s-size)" },
|
|
20683
20726
|
children: [
|
|
20684
20727
|
/* @__PURE__ */ jsx("option", { value: "", children: "Select a persona..." }),
|
|
20685
20728
|
personas.map((persona) => /* @__PURE__ */ jsxs("option", { value: persona.id, children: [
|
|
@@ -20695,7 +20738,7 @@ function ScreenPromptBuilder({ className }) {
|
|
|
20695
20738
|
] }),
|
|
20696
20739
|
hasContent && /* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-dashed border-[var(--canvas-border)] bg-[var(--canvas-surface)] p-4", children: [
|
|
20697
20740
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-3", children: [
|
|
20698
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2
|
|
20741
|
+
/* @__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
20742
|
/* @__PURE__ */ jsx(Sparkles, { className: "size-4 text-[var(--canvas-primary)]" }),
|
|
20700
20743
|
"Generated Prompt"
|
|
20701
20744
|
] }),
|
|
@@ -20705,9 +20748,10 @@ function ScreenPromptBuilder({ className }) {
|
|
|
20705
20748
|
onClick: handleCopy,
|
|
20706
20749
|
disabled: !generatedPrompt,
|
|
20707
20750
|
className: cn(
|
|
20708
|
-
"flex items-center gap-1.5 px-2.5 py-1.5 rounded-md
|
|
20709
|
-
copied ? "bg-
|
|
20751
|
+
"cursor-pointer flex items-center gap-1.5 px-2.5 py-1.5 rounded-md font-medium transition-all",
|
|
20752
|
+
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
20753
|
),
|
|
20754
|
+
style: { fontSize: "var(--typo-body-xs-size)" },
|
|
20711
20755
|
children: copied ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
20712
20756
|
/* @__PURE__ */ jsx(Check, { className: "size-3" }),
|
|
20713
20757
|
"Copied!"
|
|
@@ -20718,18 +20762,18 @@ function ScreenPromptBuilder({ className }) {
|
|
|
20718
20762
|
}
|
|
20719
20763
|
)
|
|
20720
20764
|
] }),
|
|
20721
|
-
/* @__PURE__ */ jsx("pre", { className: "text-
|
|
20765
|
+
/* @__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
20766
|
] }),
|
|
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-
|
|
20767
|
+
!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
20768
|
] });
|
|
20725
20769
|
}
|
|
20726
20770
|
function ScreenNode({ data, selected }) {
|
|
20727
20771
|
const { screen, childScreens } = data;
|
|
20728
20772
|
const hasChildren = childScreens.length > 0;
|
|
20729
20773
|
const statusColors = {
|
|
20730
|
-
draft: "
|
|
20731
|
-
review: "
|
|
20732
|
-
approved: "
|
|
20774
|
+
draft: { bg: "var(--canvas-warning-surface)", text: "var(--canvas-warning)", border: "var(--canvas-warning)" },
|
|
20775
|
+
review: { bg: "var(--canvas-info-surface)", text: "var(--canvas-info)", border: "var(--canvas-info)" },
|
|
20776
|
+
approved: { bg: "var(--canvas-success-surface)", text: "var(--canvas-success)", border: "var(--canvas-success)" }
|
|
20733
20777
|
};
|
|
20734
20778
|
const typeLabels = {
|
|
20735
20779
|
page: null,
|
|
@@ -20742,7 +20786,7 @@ function ScreenNode({ data, selected }) {
|
|
|
20742
20786
|
"div",
|
|
20743
20787
|
{
|
|
20744
20788
|
className: cn(
|
|
20745
|
-
"rounded-lg border-2 bg-
|
|
20789
|
+
"rounded-lg border-2 bg-[var(--canvas-background)] shadow-sm min-w-[160px]",
|
|
20746
20790
|
selected ? "border-[var(--canvas-primary)] shadow-md" : "border-[var(--canvas-border)]"
|
|
20747
20791
|
),
|
|
20748
20792
|
children: [
|
|
@@ -20756,11 +20800,11 @@ function ScreenNode({ data, selected }) {
|
|
|
20756
20800
|
),
|
|
20757
20801
|
/* @__PURE__ */ jsxs("div", { className: "p-3", children: [
|
|
20758
20802
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 mb-1", children: [
|
|
20759
|
-
/* @__PURE__ */ jsx("span", {
|
|
20760
|
-
/* @__PURE__ */ jsx("span", { className: "font-medium text-
|
|
20803
|
+
/* @__PURE__ */ jsx("span", { style: { fontSize: "var(--typo-body-l-size)" }, children: screen.icon || "\u{1F4C4}" }),
|
|
20804
|
+
/* @__PURE__ */ jsx("span", { className: "font-medium text-[var(--canvas-text)] truncate", style: { fontSize: "var(--typo-body-s-size)" }, children: screen.name })
|
|
20761
20805
|
] }),
|
|
20762
20806
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
20763
|
-
/* @__PURE__ */ jsxs("span", { className: "text-
|
|
20807
|
+
/* @__PURE__ */ jsxs("span", { className: "text-[var(--canvas-text-muted)] font-mono", style: { fontSize: "var(--typo-body-xs-size)" }, children: [
|
|
20764
20808
|
"/",
|
|
20765
20809
|
screen.slug
|
|
20766
20810
|
] }),
|
|
@@ -20769,10 +20813,12 @@ function ScreenNode({ data, selected }) {
|
|
|
20769
20813
|
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-between mt-2 pt-2 border-t border-[var(--canvas-border)]", children: /* @__PURE__ */ jsx(
|
|
20770
20814
|
"span",
|
|
20771
20815
|
{
|
|
20772
|
-
className:
|
|
20773
|
-
|
|
20774
|
-
statusColors[screen.status]
|
|
20775
|
-
|
|
20816
|
+
className: "text-[10px] px-1.5 py-0.5 rounded border font-medium capitalize",
|
|
20817
|
+
style: {
|
|
20818
|
+
backgroundColor: statusColors[screen.status].bg,
|
|
20819
|
+
color: statusColors[screen.status].text,
|
|
20820
|
+
borderColor: statusColors[screen.status].border
|
|
20821
|
+
},
|
|
20776
20822
|
children: screen.status
|
|
20777
20823
|
}
|
|
20778
20824
|
) })
|
|
@@ -20781,7 +20827,7 @@ function ScreenNode({ data, selected }) {
|
|
|
20781
20827
|
"div",
|
|
20782
20828
|
{
|
|
20783
20829
|
className: cn(
|
|
20784
|
-
"px-3 py-2 flex items-center gap-2
|
|
20830
|
+
"px-3 py-2 flex items-center gap-2",
|
|
20785
20831
|
"hover:bg-[var(--canvas-surface)]",
|
|
20786
20832
|
i < childScreens.length - 1 && "border-b border-[var(--canvas-border)]"
|
|
20787
20833
|
),
|
|
@@ -20792,8 +20838,8 @@ function ScreenNode({ data, selected }) {
|
|
|
20792
20838
|
child.type === "drawer" && "\u{1F4E5}",
|
|
20793
20839
|
child.type === "state" && "\u{1F504}"
|
|
20794
20840
|
] }),
|
|
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: [
|
|
20841
|
+
/* @__PURE__ */ jsx("span", { className: "text-[var(--canvas-text)] truncate", style: { fontSize: "var(--typo-body-s-size)" }, children: child.name }),
|
|
20842
|
+
/* @__PURE__ */ jsxs("span", { className: "text-[var(--canvas-text-muted)] font-mono ml-auto", style: { fontSize: "var(--typo-body-xs-size)" }, children: [
|
|
20797
20843
|
"/",
|
|
20798
20844
|
child.slug
|
|
20799
20845
|
] })
|
|
@@ -20879,7 +20925,8 @@ function ScreenFlowchart({
|
|
|
20879
20925
|
"button",
|
|
20880
20926
|
{
|
|
20881
20927
|
onClick: onOpenFullscreen,
|
|
20882
|
-
className: "absolute top-3 right-3 z-10 flex items-center gap-1.5 px-3 py-1.5 rounded-md
|
|
20928
|
+
className: "cursor-pointer 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",
|
|
20929
|
+
style: { fontSize: "var(--typo-body-xs-size)" },
|
|
20883
20930
|
children: [
|
|
20884
20931
|
/* @__PURE__ */ jsx(ExternalLink, { className: "size-3" }),
|
|
20885
20932
|
"Open in new tab"
|
|
@@ -20901,7 +20948,7 @@ function ScreenFlowchart({
|
|
|
20901
20948
|
className: "bg-[var(--canvas-surface)] rounded-lg border border-[var(--canvas-border)]",
|
|
20902
20949
|
children: [
|
|
20903
20950
|
/* @__PURE__ */ jsx(Background, { variant: BackgroundVariant.Dots, gap: 20, size: 1 }),
|
|
20904
|
-
/* @__PURE__ */ jsx(Controls, { className: "!bg-
|
|
20951
|
+
/* @__PURE__ */ jsx(Controls, { className: "!bg-[var(--canvas-background)] !border-[var(--canvas-border)] !shadow-sm" })
|
|
20905
20952
|
]
|
|
20906
20953
|
}
|
|
20907
20954
|
)
|
|
@@ -20921,18 +20968,19 @@ function PersonaCard({ persona, className }) {
|
|
|
20921
20968
|
/* @__PURE__ */ jsx("div", { className: "text-3xl", children: persona.avatar || "\u{1F464}" }),
|
|
20922
20969
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
20923
20970
|
/* @__PURE__ */ jsx("h3", { className: "font-semibold text-[var(--canvas-text)]", children: persona.name }),
|
|
20924
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
20971
|
+
/* @__PURE__ */ jsx("p", { className: "text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-body-s-size)" }, children: persona.role })
|
|
20925
20972
|
] })
|
|
20926
20973
|
] }),
|
|
20927
20974
|
/* @__PURE__ */ jsxs("div", { className: "mb-4", children: [
|
|
20928
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5
|
|
20975
|
+
/* @__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
20976
|
/* @__PURE__ */ jsx(Target$1, { className: "size-3" }),
|
|
20930
20977
|
"Goals"
|
|
20931
20978
|
] }),
|
|
20932
20979
|
/* @__PURE__ */ jsx("ul", { className: "space-y-1", children: persona.goals.map((goal, i) => /* @__PURE__ */ jsxs(
|
|
20933
20980
|
"li",
|
|
20934
20981
|
{
|
|
20935
|
-
className: "text-
|
|
20982
|
+
className: "text-[var(--canvas-text)] flex items-start gap-2",
|
|
20983
|
+
style: { fontSize: "var(--typo-body-s-size)" },
|
|
20936
20984
|
children: [
|
|
20937
20985
|
/* @__PURE__ */ jsx("span", { className: "text-[var(--canvas-primary)] mt-1.5", children: "\u2022" }),
|
|
20938
20986
|
goal
|
|
@@ -20942,16 +20990,17 @@ function PersonaCard({ persona, className }) {
|
|
|
20942
20990
|
)) })
|
|
20943
20991
|
] }),
|
|
20944
20992
|
/* @__PURE__ */ jsxs("div", { className: "mb-4", children: [
|
|
20945
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5
|
|
20993
|
+
/* @__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
20994
|
/* @__PURE__ */ jsx(AlertCircle, { className: "size-3" }),
|
|
20947
20995
|
"Pain Points"
|
|
20948
20996
|
] }),
|
|
20949
20997
|
/* @__PURE__ */ jsx("ul", { className: "space-y-1", children: persona.painPoints.map((point, i) => /* @__PURE__ */ jsxs(
|
|
20950
20998
|
"li",
|
|
20951
20999
|
{
|
|
20952
|
-
className: "text-
|
|
21000
|
+
className: "text-[var(--canvas-text)] flex items-start gap-2",
|
|
21001
|
+
style: { fontSize: "var(--typo-body-s-size)" },
|
|
20953
21002
|
children: [
|
|
20954
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
21003
|
+
/* @__PURE__ */ jsx("span", { className: "text-[var(--canvas-destructive)] mt-1.5", children: "\u2022" }),
|
|
20955
21004
|
point
|
|
20956
21005
|
]
|
|
20957
21006
|
},
|
|
@@ -20960,7 +21009,7 @@ function PersonaCard({ persona, className }) {
|
|
|
20960
21009
|
] }),
|
|
20961
21010
|
/* @__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
21011
|
/* @__PURE__ */ jsx(Quote, { className: "size-4 text-[var(--canvas-text-muted)] shrink-0 mt-0.5" }),
|
|
20963
|
-
/* @__PURE__ */ jsxs("p", { className: "
|
|
21012
|
+
/* @__PURE__ */ jsxs("p", { className: "italic text-[var(--canvas-text-muted)]", style: { fontSize: "var(--typo-body-s-size)" }, children: [
|
|
20964
21013
|
'"',
|
|
20965
21014
|
persona.quote,
|
|
20966
21015
|
'"'
|
|
@@ -23679,14 +23728,14 @@ function PricingCards() {
|
|
|
23679
23728
|
"button",
|
|
23680
23729
|
{
|
|
23681
23730
|
onClick: () => setIsAnnual(!isAnnual),
|
|
23682
|
-
className: "relative w-20 h-11 rounded-full transition-colors",
|
|
23731
|
+
className: "cursor-pointer relative w-20 h-11 rounded-full transition-colors",
|
|
23683
23732
|
style: {
|
|
23684
23733
|
backgroundColor: isAnnual ? "var(--canvas-primary)" : "var(--canvas-border)"
|
|
23685
23734
|
},
|
|
23686
23735
|
children: /* @__PURE__ */ jsx(
|
|
23687
23736
|
"div",
|
|
23688
23737
|
{
|
|
23689
|
-
className: "absolute top-1 w-9 h-9 bg-
|
|
23738
|
+
className: "absolute top-1 w-9 h-9 bg-[var(--canvas-background)] rounded-full shadow transition-all",
|
|
23690
23739
|
style: {
|
|
23691
23740
|
left: isAnnual ? "calc(100% - 40px)" : "4px"
|
|
23692
23741
|
}
|