canvas-ui-sdk 0.3.8 → 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.
Files changed (32) hide show
  1. package/dist/index.js +65 -63
  2. package/dist/index.js.map +1 -1
  3. package/package.json +1 -1
  4. package/registry/blocks/component-palette.json +1 -1
  5. package/registry/blocks/component-search.json +1 -1
  6. package/registry/blocks/custom-component-helper.json +1 -1
  7. package/registry/blocks/faqs-table.json +1 -1
  8. package/registry/blocks/infinity-canvas.json +1 -1
  9. package/registry/blocks/menu-section.json +1 -1
  10. package/registry/blocks/messenger-sidebar.json +1 -1
  11. package/registry/blocks/mobile-bottom-nav.json +1 -1
  12. package/registry/blocks/pagination.json +1 -1
  13. package/registry/blocks/pill-tabs.json +1 -1
  14. package/registry/blocks/pricing-cards.json +1 -1
  15. package/registry/blocks/profile-card.json +1 -1
  16. package/registry/blocks/prompt-template.json +1 -1
  17. package/registry/blocks/screen-flowchart.json +1 -1
  18. package/registry/blocks/screen-prompt-builder.json +1 -1
  19. package/registry/blocks/screen-prompt-template.json +1 -1
  20. package/registry/blocks/sidebar-cards.json +1 -1
  21. package/registry/blocks/slideshow-grid-tiles.json +1 -1
  22. package/registry/blocks/social-feed.json +1 -1
  23. package/registry/blocks/upvoting-posts-table.json +1 -1
  24. package/registry/layout/double-sidebar.json +1 -1
  25. package/registry/layout/header.json +1 -1
  26. package/registry/layout/icon-sidebar.json +1 -1
  27. package/registry/layout/project-context-shell.json +1 -1
  28. package/registry/layout/sidebar-nav.json +1 -1
  29. package/registry/ui/button.json +1 -1
  30. package/registry/ui/line-tabs.json +1 -1
  31. package/registry/ui/selectable-pills.json +1 -1
  32. package/registry/ui/tabs.json +1 -1
package/dist/index.js CHANGED
@@ -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: {
@@ -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 })
@@ -2054,7 +2054,7 @@ 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",
@@ -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
@@ -3761,7 +3761,7 @@ function Header({
3761
3761
  "button",
3762
3762
  {
3763
3763
  onClick: () => onRemoveCartItem?.(item.id),
3764
- className: "text-left mt-[var(--spacing-xs)] hover:underline",
3764
+ className: "cursor-pointer text-left mt-[var(--spacing-xs)] hover:underline",
3765
3765
  style: {
3766
3766
  fontFamily: "var(--typo-body-s-font, var(--typo-global-font))",
3767
3767
  fontSize: "var(--typo-body-s-size)",
@@ -3844,7 +3844,7 @@ function Header({
3844
3844
  "button",
3845
3845
  {
3846
3846
  onClick: onMarkAsRead,
3847
- className: "hover:underline",
3847
+ className: "cursor-pointer hover:underline",
3848
3848
  style: {
3849
3849
  fontFamily: "var(--typo-body-s-font, var(--typo-global-font))",
3850
3850
  fontSize: "var(--typo-body-s-size)",
@@ -3920,7 +3920,7 @@ function Header({
3920
3920
  "button",
3921
3921
  {
3922
3922
  onClick: onViewMoreMessages,
3923
- className: "hover:underline",
3923
+ className: "cursor-pointer hover:underline",
3924
3924
  style: {
3925
3925
  fontFamily: "var(--typo-body-s-font, var(--typo-global-font))",
3926
3926
  fontSize: "var(--typo-body-s-size)",
@@ -3957,7 +3957,7 @@ function Header({
3957
3957
  "button",
3958
3958
  {
3959
3959
  onClick: onMarkNotificationsAsRead,
3960
- className: "hover:underline",
3960
+ className: "cursor-pointer hover:underline",
3961
3961
  style: {
3962
3962
  fontFamily: "var(--typo-body-s-font, var(--typo-global-font))",
3963
3963
  fontSize: "var(--typo-body-s-size)",
@@ -4034,7 +4034,7 @@ function Header({
4034
4034
  "button",
4035
4035
  {
4036
4036
  onClick: onViewMoreNotifications,
4037
- className: "hover:underline",
4037
+ className: "cursor-pointer hover:underline",
4038
4038
  style: {
4039
4039
  fontFamily: "var(--typo-body-s-font, var(--typo-global-font))",
4040
4040
  fontSize: "var(--typo-body-s-size)",
@@ -4107,7 +4107,7 @@ function Header({
4107
4107
  /* @__PURE__ */ jsx(
4108
4108
  "button",
4109
4109
  {
4110
- 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)]"}`,
4111
4111
  "aria-label": "Search",
4112
4112
  children: /* @__PURE__ */ jsx(Search, { className: "size-4" })
4113
4113
  }
@@ -4116,7 +4116,7 @@ function Header({
4116
4116
  /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
4117
4117
  "button",
4118
4118
  {
4119
- 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)]"}`,
4120
4120
  "aria-label": "Notifications",
4121
4121
  children: /* @__PURE__ */ jsx(Bell, { className: "size-4" })
4122
4122
  }
@@ -4127,7 +4127,7 @@ function Header({
4127
4127
  /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
4128
4128
  "button",
4129
4129
  {
4130
- 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)]"}`,
4131
4131
  "aria-label": "Messages",
4132
4132
  children: /* @__PURE__ */ jsx(MessageSquare, { className: "size-4" })
4133
4133
  }
@@ -4138,7 +4138,7 @@ function Header({
4138
4138
  /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
4139
4139
  "button",
4140
4140
  {
4141
- 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)]"}`,
4142
4142
  "aria-label": "Cart",
4143
4143
  children: /* @__PURE__ */ jsx(ShoppingCart, { className: "size-4" })
4144
4144
  }
@@ -4166,7 +4166,7 @@ function Header({
4166
4166
  )
4167
4167
  ] }),
4168
4168
  /* @__PURE__ */ jsxs(DropdownMenu, { children: [
4169
- /* @__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: [
4170
4170
  /* @__PURE__ */ jsx(AvatarImage, { src: avatarUrl, alt: "User avatar" }),
4171
4171
  /* @__PURE__ */ jsx(
4172
4172
  AvatarFallback,
@@ -4238,7 +4238,7 @@ function Header({
4238
4238
  }
4239
4239
  setIsMobileMenuOpen(false);
4240
4240
  },
4241
- 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",
4242
4242
  children: [
4243
4243
  Icon2 && /* @__PURE__ */ jsx(
4244
4244
  "div",
@@ -4367,7 +4367,7 @@ function SidebarNav({ sections, variant = "dark", onItemClick }) {
4367
4367
  }
4368
4368
  },
4369
4369
  className: cn(
4370
- "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",
4371
4371
  // Dark variant (desktop sidebar)
4372
4372
  isDark && isActive && !hasChildren && "bg-[var(--canvas-sidebar-dark-active-bg)] text-[var(--canvas-sidebar-dark-active-text)]",
4373
4373
  isDark && !isActive && "text-[var(--canvas-sidebar-dark-text)] hover:bg-[var(--canvas-sidebar-dark-active-bg)]/50",
@@ -4426,7 +4426,7 @@ function SidebarNav({ sections, variant = "dark", onItemClick }) {
4426
4426
  {
4427
4427
  onClick: () => onItemClick?.(child),
4428
4428
  className: cn(
4429
- "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",
4430
4430
  // Dark variant
4431
4431
  isDark && isChildActive && "bg-[var(--canvas-sidebar-dark-active-bg)] text-[var(--canvas-sidebar-dark-active-text)]",
4432
4432
  isDark && !isChildActive && "text-[var(--canvas-sidebar-dark-text)] hover:bg-[var(--canvas-sidebar-dark-active-bg)]/50",
@@ -4793,7 +4793,7 @@ function IconNavItem({ item, variant = "dark", onClick }) {
4793
4793
  {
4794
4794
  onClick,
4795
4795
  className: cn(
4796
- "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",
4797
4797
  // Dark variant
4798
4798
  isDark && isActive && "bg-[var(--canvas-sidebar-dark-active-bg)]",
4799
4799
  isDark && !isActive && "hover:bg-[var(--canvas-sidebar-dark-active-bg)]/50",
@@ -5127,7 +5127,7 @@ function IconColumnItem({ section, isActive, variant, onClick }) {
5127
5127
  {
5128
5128
  onClick,
5129
5129
  className: cn(
5130
- "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",
5131
5131
  // Dark variant
5132
5132
  isDark && isActive && "bg-[var(--canvas-sidebar-dark-active-bg)]",
5133
5133
  isDark && !isActive && "hover:bg-[var(--canvas-sidebar-dark-active-bg)]/50",
@@ -5160,7 +5160,7 @@ function NavTabItem({ tab, isActive, variant, onClick }) {
5160
5160
  {
5161
5161
  onClick,
5162
5162
  className: cn(
5163
- "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",
5164
5164
  // Dark variant
5165
5165
  isDark && isActive && "bg-[var(--canvas-sidebar-dark-active-bg)] text-[var(--canvas-sidebar-dark-active-text)]",
5166
5166
  isDark && !isActive && "text-[var(--canvas-sidebar-dark-text)] hover:bg-[var(--canvas-sidebar-dark-active-bg)]/50",
@@ -5549,7 +5549,7 @@ function MobileNavTab({ item, variant = "light", onClick }) {
5549
5549
  onClick,
5550
5550
  className: cn(
5551
5551
  // Match icon-sidebar dimensions: 64px × 64px
5552
- "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",
5553
5553
  // Dark variant
5554
5554
  isDark && isActive && "bg-[var(--canvas-sidebar-dark-active-bg)]",
5555
5555
  isDark && !isActive && "hover:bg-[var(--canvas-sidebar-dark-active-bg)]/50",
@@ -6376,7 +6376,7 @@ function LinksCard({
6376
6376
  "a",
6377
6377
  {
6378
6378
  href: link.href,
6379
- 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",
6380
6380
  children: content
6381
6381
  },
6382
6382
  link.id
@@ -6387,7 +6387,7 @@ function LinksCard({
6387
6387
  {
6388
6388
  type: "button",
6389
6389
  onClick: link.onClick,
6390
- 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",
6391
6391
  children: content
6392
6392
  },
6393
6393
  link.id
@@ -6985,7 +6985,7 @@ function ProjectContextShell({
6985
6985
  {
6986
6986
  onClick: () => onTabChange(tab.id),
6987
6987
  className: cn(
6988
- "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",
6989
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)]"
6990
6990
  ),
6991
6991
  children: [
@@ -7292,7 +7292,7 @@ function MessengerSidebar({
7292
7292
  /* @__PURE__ */ jsx(
7293
7293
  "button",
7294
7294
  {
7295
- 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",
7296
7296
  style: {
7297
7297
  backgroundColor: "var(--canvas-background)",
7298
7298
  borderColor: "var(--canvas-border)"
@@ -7310,7 +7310,7 @@ function MessengerSidebar({
7310
7310
  /* @__PURE__ */ jsx(
7311
7311
  "button",
7312
7312
  {
7313
- 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",
7314
7314
  style: {
7315
7315
  backgroundColor: "var(--canvas-background)",
7316
7316
  borderColor: "var(--canvas-border)"
@@ -7356,7 +7356,7 @@ function ThreadRow({ thread, isSelected, onSelect }) {
7356
7356
  "button",
7357
7357
  {
7358
7358
  onClick: onSelect,
7359
- 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",
7360
7360
  style: {
7361
7361
  backgroundColor: isSelected ? "var(--canvas-surface)" : "var(--canvas-background)",
7362
7362
  borderColor: "var(--canvas-border)"
@@ -8127,7 +8127,7 @@ function MenuSectionItem({
8127
8127
  {
8128
8128
  type: "button",
8129
8129
  onClick: () => setExpanded(!expanded),
8130
- 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",
8131
8131
  children: [
8132
8132
  /* @__PURE__ */ jsx(
8133
8133
  "div",
@@ -8220,7 +8220,7 @@ function PillTabs({
8220
8220
  {
8221
8221
  onClick: () => onTabChange?.(tab.id),
8222
8222
  className: cn(
8223
- "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",
8224
8224
  "bg-[var(--canvas-border)]",
8225
8225
  isActive && "bg-[var(--canvas-surface-brand)]"
8226
8226
  ),
@@ -10162,7 +10162,7 @@ function CommentInput({
10162
10162
  "button",
10163
10163
  {
10164
10164
  type: "button",
10165
- 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",
10166
10166
  style: { color: "var(--canvas-text-placeholder)" },
10167
10167
  children: /* @__PURE__ */ jsx(Paperclip, { className: "w-5 h-5" })
10168
10168
  }
@@ -10194,7 +10194,7 @@ function CommentActions({
10194
10194
  {
10195
10195
  type: "button",
10196
10196
  onClick: onReply,
10197
- className: "flex items-center",
10197
+ className: "cursor-pointer flex items-center",
10198
10198
  style: {
10199
10199
  gap: "var(--spacing-sm)",
10200
10200
  fontFamily: "var(--typo-body-s-font, var(--typo-global-font))",
@@ -10211,7 +10211,7 @@ function CommentActions({
10211
10211
  {
10212
10212
  type: "button",
10213
10213
  onClick: onLike,
10214
- className: "flex items-center",
10214
+ className: "cursor-pointer flex items-center",
10215
10215
  style: {
10216
10216
  gap: "var(--spacing-sm)",
10217
10217
  fontFamily: "var(--typo-body-s-font, var(--typo-global-font))",
@@ -10411,6 +10411,7 @@ function PostCommentItem({
10411
10411
  {
10412
10412
  type: "button",
10413
10413
  onClick: () => setShowReplies(!showReplies),
10414
+ className: "cursor-pointer",
10414
10415
  style: {
10415
10416
  fontFamily: "var(--typo-body-xs-font, var(--typo-global-font))",
10416
10417
  fontSize: "var(--typo-body-xs-size)",
@@ -10458,7 +10459,7 @@ function PostCard({
10458
10459
  {
10459
10460
  type: "button",
10460
10461
  onClick: onUpvote,
10461
- className: "flex items-center justify-center",
10462
+ className: "cursor-pointer flex items-center justify-center",
10462
10463
  style: {
10463
10464
  width: 40,
10464
10465
  height: 40,
@@ -10602,7 +10603,7 @@ function PostCard({
10602
10603
  "button",
10603
10604
  {
10604
10605
  type: "button",
10605
- className: "flex items-center",
10606
+ className: "cursor-pointer flex items-center",
10606
10607
  style: {
10607
10608
  gap: "var(--spacing-sm)",
10608
10609
  fontFamily: "var(--typo-body-s-font, var(--typo-global-font))",
@@ -11351,7 +11352,7 @@ function FaqsTable({
11351
11352
  "button",
11352
11353
  {
11353
11354
  onClick: () => toggleItem(item.id),
11354
- className: "flex items-center justify-between w-full text-left",
11355
+ className: "cursor-pointer flex items-center justify-between w-full text-left",
11355
11356
  style: { gap: "var(--spacing-xl)" },
11356
11357
  "aria-expanded": isExpanded,
11357
11358
  "aria-controls": `faq-answer-${item.id}`,
@@ -11475,7 +11476,7 @@ function ProfileCard({
11475
11476
  "button",
11476
11477
  {
11477
11478
  onClick: onMenuClick,
11478
- 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",
11479
11480
  "aria-label": "More options",
11480
11481
  children: /* @__PURE__ */ jsx(MoreHorizontal, { className: "size-4 text-[var(--canvas-text-muted)]" })
11481
11482
  }
@@ -11530,7 +11531,7 @@ function ProfileCard({
11530
11531
  "a",
11531
11532
  {
11532
11533
  href: link.href || "#",
11533
- 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",
11534
11535
  children: [
11535
11536
  /* @__PURE__ */ jsx(IconComponent, { className: "size-4" }),
11536
11537
  /* @__PURE__ */ jsx(Typography, { variant: "body-s", color: "muted", as: "span", children: link.label })
@@ -13648,9 +13649,9 @@ function PostComposer({ placeholder = "What's on your mind?", imagePreview, onPo
13648
13649
  },
13649
13650
  children: [
13650
13651
  /* @__PURE__ */ jsxs("div", { className: "flex items-center", style: { gap: "var(--spacing-lg)" }, children: [
13651
- /* @__PURE__ */ jsx("button", { type: "button", style: { color: "var(--canvas-text)" }, children: /* @__PURE__ */ jsx(Paperclip, { className: "w-5 h-5" }) }),
13652
- /* @__PURE__ */ jsx("button", { type: "button", style: { color: "var(--canvas-text)" }, children: /* @__PURE__ */ jsx(Video, { className: "w-5 h-5" }) }),
13653
- /* @__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" }) })
13654
13655
  ] }),
13655
13656
  /* @__PURE__ */ jsx(Button, { variant: "primary", size: "sm", onClick: handlePost, children: "Post" })
13656
13657
  ]
@@ -13672,6 +13673,7 @@ function ActionIconsRow({ isLiked, onLike, onComment, onRepost, onShare }) {
13672
13673
  {
13673
13674
  type: "button",
13674
13675
  onClick: onLike,
13676
+ className: "cursor-pointer",
13675
13677
  style: { color: isLiked ? "var(--canvas-destructive)" : "var(--canvas-text)" },
13676
13678
  children: /* @__PURE__ */ jsx(
13677
13679
  Heart$1,
@@ -13684,9 +13686,9 @@ function ActionIconsRow({ isLiked, onLike, onComment, onRepost, onShare }) {
13684
13686
  )
13685
13687
  }
13686
13688
  ),
13687
- /* @__PURE__ */ jsx("button", { type: "button", onClick: onComment, style: { color: "var(--canvas-text)" }, children: /* @__PURE__ */ jsx(MessageCircle, { className: "w-5 h-5" }) }),
13688
- /* @__PURE__ */ jsx("button", { type: "button", onClick: onRepost, style: { color: "var(--canvas-text)" }, children: /* @__PURE__ */ jsx(RefreshCw, { className: "w-5 h-5" }) }),
13689
- /* @__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" }) })
13690
13692
  ]
13691
13693
  }
13692
13694
  );
@@ -13930,7 +13932,7 @@ function RepostCard({ repost, onLike, onComment, onRepost, onShare }) {
13930
13932
  "button",
13931
13933
  {
13932
13934
  type: "button",
13933
- className: "flex items-center justify-center",
13935
+ className: "cursor-pointer flex items-center justify-center",
13934
13936
  style: {
13935
13937
  width: 32,
13936
13938
  height: 32,
@@ -14055,7 +14057,7 @@ function PostCell({ post, onLike, onComment, onRepost, onShare, onMenuClick }) {
14055
14057
  {
14056
14058
  type: "button",
14057
14059
  onClick: onMenuClick,
14058
- className: "flex items-center justify-center",
14060
+ className: "cursor-pointer flex items-center justify-center",
14059
14061
  style: {
14060
14062
  width: 32,
14061
14063
  height: 32,
@@ -15459,7 +15461,7 @@ function CategorySection({ category, components, defaultExpanded = true }) {
15459
15461
  "button",
15460
15462
  {
15461
15463
  onClick: () => setIsExpanded(!isExpanded),
15462
- 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",
15463
15465
  children: [
15464
15466
  isExpanded ? /* @__PURE__ */ jsx(ChevronDown, { className: "size-4 text-[var(--canvas-text-muted)]" }) : /* @__PURE__ */ jsx(ChevronRight, { className: "size-4 text-[var(--canvas-text-muted)]" }),
15465
15467
  /* @__PURE__ */ jsx(
@@ -16323,7 +16325,7 @@ function ComponentSearch({
16323
16325
  "button",
16324
16326
  {
16325
16327
  onClick: () => removeComponent(component.id),
16326
- 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",
16327
16329
  children: /* @__PURE__ */ jsx(X, { className: "size-3" })
16328
16330
  }
16329
16331
  )
@@ -16375,7 +16377,7 @@ function ComponentSearch({
16375
16377
  "button",
16376
16378
  {
16377
16379
  onClick: () => toggleCategory(category),
16378
- className: "w-full flex items-center justify-between px-3 py-2 bg-[var(--canvas-surface)] border-b border-[var(--canvas-border)] font-semibold text-[var(--canvas-text-muted)] uppercase tracking-wide hover:bg-[var(--canvas-surface-brand)]/50",
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",
16379
16381
  style: { fontSize: "var(--typo-body-xs-size)" },
16380
16382
  children: [
16381
16383
  /* @__PURE__ */ jsxs("span", { children: [
@@ -16397,7 +16399,7 @@ function ComponentSearch({
16397
16399
  {
16398
16400
  onClick: () => toggleComponent(component),
16399
16401
  className: cn(
16400
- "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",
16401
16403
  isSelected ? "bg-[var(--canvas-surface-brand)]/50" : "hover:bg-[var(--canvas-surface)]"
16402
16404
  ),
16403
16405
  children: [
@@ -16582,7 +16584,7 @@ function CustomComponentHelper({ className }) {
16582
16584
  {
16583
16585
  onClick: () => setComponentType(type.id),
16584
16586
  className: cn(
16585
- "px-4 py-2 rounded-lg font-medium transition-all",
16587
+ "cursor-pointer px-4 py-2 rounded-lg font-medium transition-all",
16586
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)]"
16587
16589
  ),
16588
16590
  style: { fontSize: "var(--typo-body-s-size)" },
@@ -16660,7 +16662,7 @@ function CustomComponentHelper({ className }) {
16660
16662
  onClick: handleCopy,
16661
16663
  disabled: !generatedPrompt,
16662
16664
  className: cn(
16663
- "flex items-center gap-1.5 px-2.5 py-1.5 rounded-md font-medium transition-all",
16665
+ "cursor-pointer flex items-center gap-1.5 px-2.5 py-1.5 rounded-md font-medium transition-all",
16664
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)]"
16665
16667
  ),
16666
16668
  style: { fontSize: "var(--typo-body-xs-size)" },
@@ -16802,7 +16804,7 @@ function TileCard({ item, onSave, onClick }) {
16802
16804
  "button",
16803
16805
  {
16804
16806
  onClick: handlePrevImage,
16805
- 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",
16806
16808
  style: {
16807
16809
  width: "32px",
16808
16810
  height: "32px",
@@ -16824,7 +16826,7 @@ function TileCard({ item, onSave, onClick }) {
16824
16826
  "button",
16825
16827
  {
16826
16828
  onClick: handleNextImage,
16827
- 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",
16828
16830
  style: {
16829
16831
  width: "32px",
16830
16832
  height: "32px",
@@ -16847,7 +16849,7 @@ function TileCard({ item, onSave, onClick }) {
16847
16849
  "button",
16848
16850
  {
16849
16851
  onClick: handleSave,
16850
- className: "flex items-center transition-transform hover:scale-105",
16852
+ className: "cursor-pointer flex items-center transition-transform hover:scale-105",
16851
16853
  style: {
16852
16854
  height: "var(--spacing-5xl, 40px)",
16853
16855
  paddingLeft: "var(--spacing-xl, 16px)",
@@ -20126,7 +20128,7 @@ function PaginationButton({
20126
20128
  type: "button",
20127
20129
  onClick,
20128
20130
  className: cn(
20129
- "flex items-center justify-center shrink-0 transition-colors",
20131
+ "cursor-pointer flex items-center justify-center shrink-0 transition-colors",
20130
20132
  "font-semibold",
20131
20133
  "size-[32px] rounded-[var(--radius-xs)]",
20132
20134
  "border bg-[var(--canvas-background)]",
@@ -20169,7 +20171,7 @@ function NavigationButton({
20169
20171
  "h-[32px] rounded-[var(--radius-xs)]",
20170
20172
  "border bg-[var(--canvas-background)] border-[var(--canvas-border)]",
20171
20173
  isIconOnly ? "w-[32px]" : "px-[var(--spacing-md)] gap-[var(--spacing-xs)]",
20172
- 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)]",
20173
20175
  className
20174
20176
  ),
20175
20177
  "aria-label": type,
@@ -20404,7 +20406,7 @@ function PromptTemplate({
20404
20406
  {
20405
20407
  onClick: handleCopy,
20406
20408
  className: cn(
20407
- "flex items-center gap-1.5 px-2.5 py-1.5 rounded-md font-medium transition-all",
20409
+ "cursor-pointer flex items-center gap-1.5 px-2.5 py-1.5 rounded-md font-medium transition-all",
20408
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)]"
20409
20411
  ),
20410
20412
  style: { fontSize: "var(--typo-body-xs-size)" },
@@ -20435,7 +20437,7 @@ function MiniPromptChip({ label, prompt }) {
20435
20437
  {
20436
20438
  onClick: handleCopy,
20437
20439
  className: cn(
20438
- "inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full font-medium transition-all",
20440
+ "cursor-pointer inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full font-medium transition-all",
20439
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)]"
20440
20442
  ),
20441
20443
  style: { fontSize: "var(--typo-body-xs-size)" },
@@ -20532,7 +20534,7 @@ function ScreenPromptTemplate() {
20532
20534
  {
20533
20535
  onClick: () => setPromptType(type),
20534
20536
  className: cn(
20535
- "flex items-center gap-2 px-4 py-2 rounded-lg font-medium transition-all",
20537
+ "cursor-pointer flex items-center gap-2 px-4 py-2 rounded-lg font-medium transition-all",
20536
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)]"
20537
20539
  ),
20538
20540
  style: { fontSize: "var(--typo-body-s-size)" },
@@ -20557,7 +20559,7 @@ function ScreenPromptTemplate() {
20557
20559
  {
20558
20560
  onClick: handleCopy,
20559
20561
  className: cn(
20560
- "flex items-center gap-1.5 px-2.5 py-1.5 rounded-md font-medium transition-all",
20562
+ "cursor-pointer flex items-center gap-1.5 px-2.5 py-1.5 rounded-md font-medium transition-all",
20561
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)]"
20562
20564
  ),
20563
20565
  style: { fontSize: "var(--typo-body-xs-size)" },
@@ -20746,7 +20748,7 @@ function ScreenPromptBuilder({ className }) {
20746
20748
  onClick: handleCopy,
20747
20749
  disabled: !generatedPrompt,
20748
20750
  className: cn(
20749
- "flex items-center gap-1.5 px-2.5 py-1.5 rounded-md font-medium transition-all",
20751
+ "cursor-pointer flex items-center gap-1.5 px-2.5 py-1.5 rounded-md font-medium transition-all",
20750
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)]"
20751
20753
  ),
20752
20754
  style: { fontSize: "var(--typo-body-xs-size)" },
@@ -20923,7 +20925,7 @@ function ScreenFlowchart({
20923
20925
  "button",
20924
20926
  {
20925
20927
  onClick: onOpenFullscreen,
20926
- className: "absolute top-3 right-3 z-10 flex items-center gap-1.5 px-3 py-1.5 rounded-md font-medium bg-[var(--canvas-background)] text-[var(--canvas-text-muted)] border border-[var(--canvas-border)] hover:border-[var(--canvas-primary)] hover:text-[var(--canvas-primary)] transition-colors",
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",
20927
20929
  style: { fontSize: "var(--typo-body-xs-size)" },
20928
20930
  children: [
20929
20931
  /* @__PURE__ */ jsx(ExternalLink, { className: "size-3" }),
@@ -23726,7 +23728,7 @@ function PricingCards() {
23726
23728
  "button",
23727
23729
  {
23728
23730
  onClick: () => setIsAnnual(!isAnnual),
23729
- className: "relative w-20 h-11 rounded-full transition-colors",
23731
+ className: "cursor-pointer relative w-20 h-11 rounded-full transition-colors",
23730
23732
  style: {
23731
23733
  backgroundColor: isAnnual ? "var(--canvas-primary)" : "var(--canvas-border)"
23732
23734
  },