@timmbr/ui 1.4.1 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/dist/components/Accordion/Accordion.js +1 -1
  2. package/dist/components/Accordion/Accordion.styles.d.ts.map +1 -1
  3. package/dist/components/Accordion/Accordion.styles.js +3 -3
  4. package/dist/components/Alert/Alert.js +2 -2
  5. package/dist/components/Alert/Alert.styles.js +4 -4
  6. package/dist/components/AlertDialog/AlertDialog.styles.js +4 -4
  7. package/dist/components/AuthModal/AuthModal.d.ts +4 -0
  8. package/dist/components/AuthModal/AuthModal.d.ts.map +1 -0
  9. package/dist/components/AuthModal/AuthModal.js +89 -0
  10. package/dist/components/AuthModal/AuthModal.labels.d.ts +6 -0
  11. package/dist/components/AuthModal/AuthModal.labels.d.ts.map +1 -0
  12. package/dist/components/AuthModal/AuthModal.labels.js +52 -0
  13. package/dist/components/AuthModal/AuthModal.styles.d.ts +12 -0
  14. package/dist/components/AuthModal/AuthModal.styles.d.ts.map +1 -0
  15. package/dist/components/AuthModal/AuthModal.styles.js +38 -0
  16. package/dist/components/AuthModal/AuthModal.types.d.ts +158 -0
  17. package/dist/components/AuthModal/AuthModal.types.d.ts.map +1 -0
  18. package/dist/components/AuthModal/index.d.ts +6 -0
  19. package/dist/components/AuthModal/index.d.ts.map +1 -0
  20. package/dist/components/AuthModal/subcomponents/AuthModalBanner.d.ts +11 -0
  21. package/dist/components/AuthModal/subcomponents/AuthModalBanner.d.ts.map +1 -0
  22. package/dist/components/AuthModal/subcomponents/AuthModalBanner.js +58 -0
  23. package/dist/components/AuthModal/subcomponents/AuthModalIdentifierForm.d.ts +11 -0
  24. package/dist/components/AuthModal/subcomponents/AuthModalIdentifierForm.d.ts.map +1 -0
  25. package/dist/components/AuthModal/subcomponents/AuthModalIdentifierForm.js +62 -0
  26. package/dist/components/AuthModal/subcomponents/AuthModalOAuth.d.ts +11 -0
  27. package/dist/components/AuthModal/subcomponents/AuthModalOAuth.d.ts.map +1 -0
  28. package/dist/components/AuthModal/subcomponents/AuthModalOAuth.js +19 -0
  29. package/dist/components/AuthModal/subcomponents/AuthModalOtpForm.d.ts +10 -0
  30. package/dist/components/AuthModal/subcomponents/AuthModalOtpForm.d.ts.map +1 -0
  31. package/dist/components/AuthModal/subcomponents/AuthModalOtpForm.js +62 -0
  32. package/dist/components/AuthModal/subcomponents/AuthModalParts.d.ts +44 -0
  33. package/dist/components/AuthModal/subcomponents/AuthModalParts.d.ts.map +1 -0
  34. package/dist/components/AuthModal/subcomponents/AuthModalParts.js +134 -0
  35. package/dist/components/AuthModal/subcomponents/AuthModalPasswordForm.d.ts +10 -0
  36. package/dist/components/AuthModal/subcomponents/AuthModalPasswordForm.d.ts.map +1 -0
  37. package/dist/components/AuthModal/subcomponents/AuthModalPasswordForm.js +54 -0
  38. package/dist/components/AuthModal/subcomponents/AuthModalSetPasswordForm.d.ts +10 -0
  39. package/dist/components/AuthModal/subcomponents/AuthModalSetPasswordForm.d.ts.map +1 -0
  40. package/dist/components/AuthModal/subcomponents/AuthModalSetPasswordForm.js +79 -0
  41. package/dist/components/AuthModal/subcomponents/AuthModalSuccess.d.ts +10 -0
  42. package/dist/components/AuthModal/subcomponents/AuthModalSuccess.d.ts.map +1 -0
  43. package/dist/components/AuthModal/subcomponents/AuthModalSuccess.js +26 -0
  44. package/dist/components/AuthModal/subcomponents/OAuthButton.d.ts +12 -0
  45. package/dist/components/AuthModal/subcomponents/OAuthButton.d.ts.map +1 -0
  46. package/dist/components/AuthModal/subcomponents/OAuthButton.js +38 -0
  47. package/dist/components/AuthModal/subcomponents/index.d.ts +9 -0
  48. package/dist/components/AuthModal/subcomponents/index.d.ts.map +1 -0
  49. package/dist/components/Avatar/Avatar.styles.js +11 -11
  50. package/dist/components/Badge/Badge.styles.js +8 -8
  51. package/dist/components/Button/Button.styles.js +7 -7
  52. package/dist/components/Card/Card.styles.d.ts.map +1 -1
  53. package/dist/components/Card/Card.styles.js +5 -5
  54. package/dist/components/Checkbox/Checkbox.js +4 -4
  55. package/dist/components/Checkbox/Checkbox.styles.js +1 -1
  56. package/dist/components/Chip/Chip.js +1 -1
  57. package/dist/components/Chip/Chip.styles.js +5 -5
  58. package/dist/components/DataList/DataList.styles.js +3 -3
  59. package/dist/components/Dialog/Dialog.styles.js +6 -6
  60. package/dist/components/Divider/Divider.js +1 -1
  61. package/dist/components/Drawer/Drawer.styles.js +2 -2
  62. package/dist/components/Dropdown/Dropdown.js +2 -2
  63. package/dist/components/Dropdown/Dropdown.styles.js +2 -2
  64. package/dist/components/EmptyState/EmptyState.js +2 -2
  65. package/dist/components/EmptyState/EmptyState.styles.js +3 -3
  66. package/dist/components/FormField/FormField.js +1 -1
  67. package/dist/components/Heading/Heading.styles.d.ts.map +1 -1
  68. package/dist/components/Heading/Heading.styles.js +12 -10
  69. package/dist/components/Icon/Icon.styles.js +6 -6
  70. package/dist/components/ImageUpload/ImageUpload.js +6 -6
  71. package/dist/components/ImageUpload/subcomponents/ImageUploadDropzone.js +10 -10
  72. package/dist/components/ImageUpload/subcomponents/ImageUploadModal.js +8 -8
  73. package/dist/components/ImageUpload/subcomponents/ImageUploadSinglePreview.js +7 -7
  74. package/dist/components/ImageUpload/subcomponents/ImageUploadThumbnailCard.js +10 -10
  75. package/dist/components/Input/Input.js +4 -4
  76. package/dist/components/Input/Input.styles.js +6 -6
  77. package/dist/components/Label/Label.styles.js +4 -4
  78. package/dist/components/LinkButton/LinkButton.styles.js +6 -6
  79. package/dist/components/List/List.js +1 -1
  80. package/dist/components/List/List.styles.js +3 -3
  81. package/dist/components/NavFooter/NavFooter.styles.js +9 -9
  82. package/dist/components/NavFooter/subcomponents/FooterBrand.js +3 -3
  83. package/dist/components/NavFooter/subcomponents/FooterLegalBar.js +1 -1
  84. package/dist/components/NavFooter/subcomponents/FooterNavSection.js +4 -4
  85. package/dist/components/NavFooter/subcomponents/FooterNewsletter.js +7 -7
  86. package/dist/components/NavFooter/subcomponents/FooterOffice.js +5 -5
  87. package/dist/components/NavFooter/subcomponents/FooterSocial.js +3 -3
  88. package/dist/components/NavHeader/NavHeader.d.ts.map +1 -1
  89. package/dist/components/NavHeader/NavHeader.js +11 -3
  90. package/dist/components/NavHeader/NavHeader.styles.js +16 -16
  91. package/dist/components/NavHeader/NavHeader.types.d.ts +19 -0
  92. package/dist/components/NavHeader/NavHeader.types.d.ts.map +1 -1
  93. package/dist/components/NavHeader/subcomponents/NavActionLabelSkeleton.d.ts +4 -0
  94. package/dist/components/NavHeader/subcomponents/NavActionLabelSkeleton.d.ts.map +1 -0
  95. package/dist/components/NavHeader/subcomponents/NavActionLabelSkeleton.js +16 -0
  96. package/dist/components/NavHeader/subcomponents/NavActionOverflow.d.ts.map +1 -1
  97. package/dist/components/NavHeader/subcomponents/NavActionOverflow.js +6 -5
  98. package/dist/components/NavHeader/subcomponents/NavActions.d.ts +9 -0
  99. package/dist/components/NavHeader/subcomponents/NavActions.d.ts.map +1 -1
  100. package/dist/components/NavHeader/subcomponents/NavActions.js +51 -15
  101. package/dist/components/NavHeader/subcomponents/NavBrand.d.ts.map +1 -1
  102. package/dist/components/NavHeader/subcomponents/NavBrand.js +14 -15
  103. package/dist/components/NavHeader/subcomponents/NavItems.js +3 -3
  104. package/dist/components/NavHeader/subcomponents/NavItemsOverflow.js +7 -7
  105. package/dist/components/NavHeader/subcomponents/NavMobileSearchDrawer.js +5 -5
  106. package/dist/components/NavHeader/subcomponents/NavMobileTabSlider.js +2 -2
  107. package/dist/components/NavHeader/subcomponents/NavSearch.js +5 -5
  108. package/dist/components/NavHeader/subcomponents/OfferBanner.js +1 -1
  109. package/dist/components/OtpInput/OtpInput.d.ts +4 -0
  110. package/dist/components/OtpInput/OtpInput.d.ts.map +1 -0
  111. package/dist/components/OtpInput/OtpInput.js +114 -0
  112. package/dist/components/OtpInput/OtpInput.styles.d.ts +10 -0
  113. package/dist/components/OtpInput/OtpInput.styles.d.ts.map +1 -0
  114. package/dist/components/OtpInput/OtpInput.styles.js +49 -0
  115. package/dist/components/OtpInput/OtpInput.types.d.ts +40 -0
  116. package/dist/components/OtpInput/OtpInput.types.d.ts.map +1 -0
  117. package/dist/components/OtpInput/index.d.ts +4 -0
  118. package/dist/components/OtpInput/index.d.ts.map +1 -0
  119. package/dist/components/Pagination/Pagination.styles.js +3 -3
  120. package/dist/components/Popover/Popover.styles.js +1 -1
  121. package/dist/components/Progress/Progress.js +2 -2
  122. package/dist/components/Radio/Radio.js +4 -4
  123. package/dist/components/Radio/Radio.styles.js +1 -1
  124. package/dist/components/RangeSlider/RangeSlider.js +3 -3
  125. package/dist/components/RangeSlider/RangeSlider.styles.js +1 -1
  126. package/dist/components/Select/Select.js +2 -2
  127. package/dist/components/Select/Select.styles.js +8 -8
  128. package/dist/components/SideBarNavigation/SideBarNavigation.styles.js +8 -8
  129. package/dist/components/SideBarNavigation/subcomponents/SidebarBranding.js +3 -3
  130. package/dist/components/SideBarNavigation/subcomponents/SidebarFooter.js +1 -1
  131. package/dist/components/SideBarNavigation/subcomponents/SidebarPopoverMenu.js +4 -4
  132. package/dist/components/SideBarNavigation/subcomponents/SidebarProfile.js +9 -9
  133. package/dist/components/SideBarNavigation/subcomponents/SidebarSubItem.js +2 -2
  134. package/dist/components/Skeleton/Skeleton.styles.js +1 -1
  135. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  136. package/dist/components/Spinner/Spinner.js +9 -7
  137. package/dist/components/Spinner/Spinner.styles.d.ts +8 -2
  138. package/dist/components/Spinner/Spinner.styles.d.ts.map +1 -1
  139. package/dist/components/Spinner/Spinner.styles.js +27 -24
  140. package/dist/components/Spinner/Spinner.types.d.ts +9 -0
  141. package/dist/components/Spinner/Spinner.types.d.ts.map +1 -1
  142. package/dist/components/Stat/Stat.styles.js +4 -4
  143. package/dist/components/Switch/Switch.js +2 -2
  144. package/dist/components/Switch/Switch.styles.js +1 -1
  145. package/dist/components/Table/Table.js +1 -1
  146. package/dist/components/Table/Table.styles.js +5 -5
  147. package/dist/components/Table/TablePagination.js +4 -4
  148. package/dist/components/Tabs/Tabs.js +2 -2
  149. package/dist/components/Tabs/Tabs.styles.js +8 -8
  150. package/dist/components/Text/Text.d.ts.map +1 -1
  151. package/dist/components/Text/Text.js +2 -0
  152. package/dist/components/Text/Text.styles.d.ts +1 -0
  153. package/dist/components/Text/Text.styles.d.ts.map +1 -1
  154. package/dist/components/Text/Text.styles.js +21 -13
  155. package/dist/components/Text/Text.types.d.ts +5 -0
  156. package/dist/components/Text/Text.types.d.ts.map +1 -1
  157. package/dist/components/Textarea/Textarea.js +4 -4
  158. package/dist/components/Textarea/Textarea.styles.js +6 -6
  159. package/dist/components/Toast/Toast.js +3 -3
  160. package/dist/components/Toast/Toast.styles.js +5 -5
  161. package/dist/components/Toast/ToastContainer.js +1 -1
  162. package/dist/components/Tooltip/Tooltip.styles.js +1 -1
  163. package/dist/index.d.ts +2 -0
  164. package/dist/index.d.ts.map +1 -1
  165. package/dist/index.js +14 -1
  166. package/package.json +7 -6
  167. package/dist/components/CrossZoneLink/CrossZoneLink.d.ts +0 -10
  168. package/dist/components/CrossZoneLink/CrossZoneLink.d.ts.map +0 -1
  169. package/dist/components/CrossZoneLink/CrossZoneLink.js +0 -111
  170. package/dist/components/CrossZoneLink/CrossZoneLink.styles.d.ts +0 -8
  171. package/dist/components/CrossZoneLink/CrossZoneLink.styles.d.ts.map +0 -1
  172. package/dist/components/CrossZoneLink/CrossZoneLink.styles.js +0 -33
  173. package/dist/components/CrossZoneLink/CrossZoneLink.types.d.ts +0 -31
  174. package/dist/components/CrossZoneLink/CrossZoneLink.types.d.ts.map +0 -1
  175. package/dist/components/CrossZoneLink/index.d.ts +0 -4
  176. package/dist/components/CrossZoneLink/index.d.ts.map +0 -1
@@ -5,18 +5,18 @@ const avatarRootVariants = cva(
5
5
  {
6
6
  variants: {
7
7
  size: {
8
- xs: "size-6 text-[10px]",
9
- sm: "size-8 text-xs",
10
- md: "size-10 text-[15px]",
11
- lg: "size-12 text-base",
12
- xl: "size-16 text-xl",
13
- "2xl": "size-20 text-2xl"
8
+ xs: "size-6 text-caption",
9
+ sm: "size-8 text-body-3",
10
+ md: "size-10 text-body-2",
11
+ lg: "size-12 text-body-1",
12
+ xl: "size-16 text-h5",
13
+ "2xl": "size-20 text-h4"
14
14
  },
15
15
  variant: {
16
- primary: "bg-primary text-white",
16
+ primary: "bg-primary text-grey-50",
17
17
  secondary: "bg-secondary text-secondary-foreground",
18
18
  subtle: "bg-bg-subtle text-foreground",
19
- grey: "bg-grey-700 text-white",
19
+ grey: "bg-grey-700 text-grey-50",
20
20
  outline: "bg-background border border-grey-300 dark:border-grey-700 text-foreground"
21
21
  }
22
22
  },
@@ -31,10 +31,10 @@ const avatarStatusVariants = cva(
31
31
  {
32
32
  variants: {
33
33
  status: {
34
- online: "bg-emerald-500",
34
+ online: "bg-success",
35
35
  offline: "bg-grey-400",
36
- busy: "bg-rose-500",
37
- away: "bg-amber-500"
36
+ busy: "bg-destructive",
37
+ away: "bg-warning"
38
38
  },
39
39
  size: {
40
40
  xs: "size-1.5",
@@ -5,19 +5,19 @@ const badgeVariants = cva(
5
5
  {
6
6
  variants: {
7
7
  variant: {
8
- primary: "bg-primary-300 text-white",
9
- brand: "bg-primary text-white",
10
- default: "bg-primary text-white",
8
+ primary: "bg-primary-300 text-grey-50",
9
+ brand: "bg-primary text-grey-50",
10
+ default: "bg-primary text-grey-50",
11
11
  secondary: "bg-secondary text-secondary-foreground",
12
12
  outline: "border border-grey-300 dark:border-grey-700 bg-transparent text-foreground",
13
13
  subtle: "bg-bg-subtle text-foreground",
14
- success: "bg-emerald-600 text-white",
15
- destructive: "bg-destructive text-white"
14
+ success: "bg-success text-grey-50",
15
+ destructive: "bg-destructive text-grey-50"
16
16
  },
17
17
  size: {
18
- sm: "px-1.5 py-0.5 text-xs",
19
- md: "px-2 py-1 text-[14px]",
20
- lg: "px-3 py-1.5 text-base font-medium"
18
+ sm: "px-1.5 py-0.5 text-body-3",
19
+ md: "px-2 py-1 text-body-2",
20
+ lg: "px-3 py-1.5 text-body-1 font-medium"
21
21
  }
22
22
  },
23
23
  defaultVariants: {
@@ -5,19 +5,19 @@ const buttonVariants = cva(
5
5
  {
6
6
  variants: {
7
7
  variant: {
8
- default: "bg-primary text-white hover:bg-primary-600 hover:brightness-105 hover:shadow-md active:bg-primary-700 active:brightness-95 shadow-sm",
9
- primary: "bg-primary text-white hover:bg-primary-600 hover:brightness-105 hover:shadow-md active:bg-primary-700 active:brightness-95 shadow-sm",
8
+ default: "bg-primary text-grey-50 hover:bg-primary-600 hover:brightness-105 hover:shadow-md active:bg-primary-700 active:brightness-95 shadow-sm",
9
+ primary: "bg-primary text-grey-50 hover:bg-primary-600 hover:brightness-105 hover:shadow-md active:bg-primary-700 active:brightness-95 shadow-sm",
10
10
  secondary: "bg-secondary text-secondary-foreground hover:bg-bg-subtle hover:brightness-105 active:bg-secondary-foreground/10 active:brightness-95 shadow-xs hover:shadow-sm",
11
11
  outline: "border border-grey-300 dark:border-grey-700 bg-transparent text-foreground hover:bg-grey-100 dark:hover:bg-grey-900 active:bg-grey-200 dark:active:bg-grey-800 hover:border-grey-400 dark:hover:border-grey-600",
12
12
  ghost: "text-foreground hover:bg-grey-100 dark:hover:bg-grey-900 active:bg-grey-200 dark:active:bg-grey-800",
13
- destructive: "bg-destructive text-white hover:bg-red-700 hover:brightness-105 hover:shadow-md active:brightness-95 shadow-sm",
13
+ destructive: "bg-destructive text-grey-50 hover:bg-destructive/90 hover:brightness-105 hover:shadow-md active:brightness-95 shadow-sm",
14
14
  link: "text-primary underline-offset-4 hover:underline p-0 h-auto active:scale-100 font-normal"
15
15
  },
16
16
  size: {
17
- sm: "h-9 px-3 text-xs",
18
- default: "h-11 px-5 text-sm",
19
- md: "h-11 px-5 text-sm",
20
- lg: "h-[52px] px-6 text-base",
17
+ sm: "h-9 px-3 text-body-3",
18
+ default: "h-11 px-5 text-body-2",
19
+ md: "h-11 px-5 text-body-2",
20
+ lg: "h-[52px] px-6 text-body-1",
21
21
  icon: "h-10 w-10 p-0 shrink-0"
22
22
  }
23
23
  },
@@ -1 +1 @@
1
- {"version":3,"file":"Card.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Card/Card.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,YAAY;;;8EA2BxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,oFAAoC,CAAC;AACpE,eAAO,MAAM,iBAAiB,oFAAmF,CAAC;AAClH,eAAO,MAAM,uBAAuB,oFAA4C,CAAC;AACjF,eAAO,MAAM,mBAAmB,oFAA6B,CAAC;AAC9D,eAAO,MAAM,kBAAkB,oFAAmG,CAAC;AAEnI,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"Card.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Card/Card.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,YAAY;;;8EA2BxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,oFAAoC,CAAC;AACpE,eAAO,MAAM,iBAAiB,oFAAwE,CAAC;AACvG,eAAO,MAAM,uBAAuB,oFAAgD,CAAC;AACrF,eAAO,MAAM,mBAAmB,oFAA6B,CAAC;AAC9D,eAAO,MAAM,kBAAkB,oFAAmG,CAAC;AAEnI,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -5,10 +5,10 @@ const cardVariants = cva(
5
5
  {
6
6
  variants: {
7
7
  variant: {
8
- outline: "border border-grey-200 dark:border-grey-800 bg-white dark:bg-grey-900 shadow-sm",
9
- elevated: "border border-transparent bg-white dark:bg-grey-900 shadow-md hover:shadow-lg",
8
+ outline: "border border-grey-200 dark:border-grey-800 bg-grey-50 dark:bg-grey-900 shadow-sm",
9
+ elevated: "border border-transparent bg-grey-50 dark:bg-grey-900 shadow-md hover:shadow-lg",
10
10
  subtle: "border border-transparent bg-grey-50 dark:bg-grey-950",
11
- interactive: "border border-grey-200 dark:border-grey-800 bg-white dark:bg-grey-900 shadow-sm hover:border-primary hover:shadow-md cursor-pointer"
11
+ interactive: "border border-grey-200 dark:border-grey-800 bg-grey-50 dark:bg-grey-900 shadow-sm hover:border-primary hover:shadow-md cursor-pointer"
12
12
  },
13
13
  padding: {
14
14
  none: "p-0",
@@ -25,8 +25,8 @@ const cardVariants = cva(
25
25
  }
26
26
  );
27
27
  const cardHeaderVariants = cva("flex flex-col gap-1.5 mb-4");
28
- const cardTitleVariants = cva("text-lg font-serif font-bold text-foreground leading-tight tracking-tight");
29
- const cardDescriptionVariants = cva("text-sm text-muted leading-relaxed");
28
+ const cardTitleVariants = cva("text-h6 font-bold text-foreground leading-tight tracking-tight");
29
+ const cardDescriptionVariants = cva("text-body-2 text-muted leading-relaxed");
30
30
  const cardContentVariants = cva("flex flex-col gap-4");
31
31
  const cardFooterVariants = cva("flex items-center justify-between pt-4 mt-4 border-t border-grey-100 dark:border-grey-800");
32
32
 
@@ -39,7 +39,7 @@ const Checkbox = React.forwardRef(
39
39
  {
40
40
  className: cn(checkboxIndicatorVariants({ size })),
41
41
  children: [
42
- /* @__PURE__ */ jsx("span", { className: "hidden [[data-state=indeterminate]_&]:block w-2.5 h-0.5 bg-white rounded-full" }),
42
+ /* @__PURE__ */ jsx("span", { className: "hidden [[data-state=indeterminate]_&]:block w-2.5 h-0.5 bg-grey-50 rounded-full" }),
43
43
  /* @__PURE__ */ jsx(Check, { className: "[[data-state=indeterminate]_&]:hidden w-full h-full stroke-[3]" })
44
44
  ]
45
45
  }
@@ -68,16 +68,16 @@ const Checkbox = React.forwardRef(
68
68
  {
69
69
  htmlFor: id,
70
70
  className: cn(
71
- "text-sm font-medium text-foreground cursor-pointer select-none leading-snug",
71
+ "text-body-2 font-medium text-foreground cursor-pointer select-none leading-snug",
72
72
  disabled && "cursor-not-allowed"
73
73
  ),
74
74
  children: label
75
75
  }
76
76
  ),
77
- description && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted leading-normal mt-0.5", children: description })
77
+ description && /* @__PURE__ */ jsx("p", { className: "text-body-3 text-muted leading-normal mt-0.5", children: description })
78
78
  ] })
79
79
  ] }),
80
- errorMessage && /* @__PURE__ */ jsx("p", { className: "text-xs text-destructive font-medium pl-7", children: errorMessage })
80
+ errorMessage && /* @__PURE__ */ jsx("p", { className: "text-body-3 text-destructive font-medium pl-7", children: errorMessage })
81
81
  ]
82
82
  }
83
83
  );
@@ -1,7 +1,7 @@
1
1
  import { cva } from 'class-variance-authority';
2
2
 
3
3
  const checkboxVariants = cva(
4
- "peer shrink-0 rounded-[2px] border border-grey-300 dark:border-grey-600 bg-white dark:bg-grey-900 transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=checked]:text-white data-[state=indeterminate]:bg-primary data-[state=indeterminate]:border-primary data-[state=indeterminate]:text-white cursor-pointer flex items-center justify-center",
4
+ "peer shrink-0 rounded-[2px] border border-grey-300 dark:border-grey-600 bg-grey-50 dark:bg-grey-900 transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=checked]:text-grey-50 data-[state=indeterminate]:bg-primary data-[state=indeterminate]:border-primary data-[state=indeterminate]:text-grey-50 cursor-pointer flex items-center justify-center",
5
5
  {
6
6
  variants: {
7
7
  size: {
@@ -60,7 +60,7 @@ const Chip = React.forwardRef(
60
60
  tabIndex: -1,
61
61
  onClick: handleRemove,
62
62
  "aria-label": "Remove",
63
- className: "shrink-0 -mr-1 size-4 rounded-full inline-flex items-center justify-center opacity-70 hover:opacity-100 hover:bg-black/10 dark:hover:bg-white/20 transition-all cursor-pointer",
63
+ className: "shrink-0 -mr-1 size-4 rounded-full inline-flex items-center justify-center opacity-70 hover:opacity-100 hover:bg-grey-1000/10 dark:hover:bg-grey-50/20 transition-all cursor-pointer",
64
64
  children: /* @__PURE__ */ jsx(X, { className: "size-3" })
65
65
  }
66
66
  )
@@ -6,7 +6,7 @@ const chipVariants = cva(
6
6
  variants: {
7
7
  variant: {
8
8
  subtle: "bg-grey-100 dark:bg-grey-800 text-foreground border border-transparent",
9
- filled: "bg-primary text-white border border-transparent shadow-xs",
9
+ filled: "bg-primary text-grey-50 border border-transparent shadow-xs",
10
10
  outlined: "bg-transparent border border-grey-300 dark:border-grey-700 text-foreground"
11
11
  },
12
12
  color: {
@@ -17,16 +17,16 @@ const chipVariants = cva(
17
17
  destructive: "bg-destructive/10 text-destructive border-destructive/20"
18
18
  },
19
19
  size: {
20
- sm: "h-6 px-2.5 text-[11px]",
21
- default: "h-8 px-3 text-xs",
22
- lg: "h-9 px-4 text-sm"
20
+ sm: "h-6 px-2.5 text-caption-lg",
21
+ default: "h-8 px-3 text-body-3",
22
+ lg: "h-9 px-4 text-body-2"
23
23
  },
24
24
  clickable: {
25
25
  true: "cursor-pointer hover:brightness-95 active:scale-95 focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-1",
26
26
  false: ""
27
27
  },
28
28
  selected: {
29
- true: "bg-primary text-white border-primary shadow-xs",
29
+ true: "bg-primary text-grey-50 border-primary shadow-xs",
30
30
  false: ""
31
31
  }
32
32
  },
@@ -7,9 +7,9 @@ const dataListVariants = cva("font-sans text-foreground", {
7
7
  vertical: "flex flex-col"
8
8
  },
9
9
  size: {
10
- sm: "text-xs gap-1.5",
11
- default: "text-sm gap-2.5",
12
- lg: "text-base gap-3.5"
10
+ sm: "text-body-3 gap-1.5",
11
+ default: "text-body-2 gap-2.5",
12
+ lg: "text-body-1 gap-3.5"
13
13
  },
14
14
  divided: {
15
15
  true: "divide-y divide-grey-200 dark:divide-grey-800",
@@ -1,25 +1,25 @@
1
1
  import { cva } from 'class-variance-authority';
2
2
 
3
3
  const dialogOverlayVariants = cva(
4
- "fixed inset-0 z-50 bg-black/60 backdrop-blur-xs transition-opacity duration-200 data-[state=open]:animate-fade-in data-[state=closed]:animate-fade-out"
4
+ "fixed inset-0 z-50 bg-grey-1000/60 backdrop-blur-xs transition-opacity duration-200 data-[state=open]:animate-fade-in data-[state=closed]:animate-fade-out"
5
5
  );
6
6
  const dialogContentVariants = cva(
7
- "relative pointer-events-auto flex flex-col w-full max-w-lg max-h-[calc(100vh-2rem)] sm:max-h-[calc(100vh-4rem)] rounded-xl border border-grey-200 dark:border-grey-800 bg-white dark:bg-grey-900 shadow-xl font-sans text-foreground overflow-hidden data-[state=open]:animate-dialog-scale-in data-[state=closed]:animate-dialog-scale-out"
7
+ "relative pointer-events-auto flex flex-col w-full max-w-lg max-h-[calc(100vh-2rem)] sm:max-h-[calc(100vh-4rem)] rounded-xl border border-grey-200 dark:border-grey-800 bg-grey-50 dark:bg-grey-900 shadow-xl font-sans text-foreground overflow-hidden data-[state=open]:animate-dialog-scale-in data-[state=closed]:animate-dialog-scale-out"
8
8
  );
9
9
  const dialogHeaderVariants = cva(
10
- "flex flex-col space-y-1.5 text-left p-6 pb-4 border-b border-grey-100 dark:border-grey-800/60 shrink-0 bg-white dark:bg-grey-900 pr-12"
10
+ "flex flex-col space-y-1.5 text-left p-6 pb-4 border-b border-grey-100 dark:border-grey-800/60 shrink-0 bg-grey-50 dark:bg-grey-900 pr-12"
11
11
  );
12
12
  const dialogBodyVariants = cva(
13
13
  "flex-1 overflow-y-auto p-6 min-h-0"
14
14
  );
15
15
  const dialogFooterVariants = cva(
16
- "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 gap-2 p-6 pt-4 border-t border-grey-100 dark:border-grey-800/60 shrink-0 bg-white dark:bg-grey-900"
16
+ "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 gap-2 p-6 pt-4 border-t border-grey-100 dark:border-grey-800/60 shrink-0 bg-grey-50 dark:bg-grey-900"
17
17
  );
18
18
  const dialogTitleVariants = cva(
19
- "text-xl font-display font-semibold leading-none tracking-tight text-foreground"
19
+ "text-h5 font-semibold leading-none tracking-tight text-foreground"
20
20
  );
21
21
  const dialogDescriptionVariants = cva(
22
- "text-sm text-muted-foreground font-sans leading-relaxed"
22
+ "text-body-2 text-muted-foreground leading-relaxed"
23
23
  );
24
24
 
25
25
  export { dialogBodyVariants, dialogContentVariants, dialogDescriptionVariants, dialogFooterVariants, dialogHeaderVariants, dialogOverlayVariants, dialogTitleVariants };
@@ -41,7 +41,7 @@ const Divider = React.forwardRef(
41
41
  "data-slot": "divider",
42
42
  "data-testid": "timmbr-divider",
43
43
  style,
44
- className: cn("flex items-center w-full my-4 gap-3 text-xs font-medium text-grey-500 dark:text-grey-400", className),
44
+ className: cn("flex items-center w-full my-4 gap-3 text-body-3 font-medium text-grey-500 dark:text-grey-400", className),
45
45
  ...props,
46
46
  children: [
47
47
  /* @__PURE__ */ jsx("div", { className: leftLineClass }),
@@ -1,10 +1,10 @@
1
1
  import { cva } from 'class-variance-authority';
2
2
 
3
3
  const drawerOverlayVariants = cva(
4
- "fixed inset-0 z-50 bg-black/60 backdrop-blur-xs transition-opacity duration-300 data-[state=open]:animate-fade-in data-[state=closed]:animate-fade-out"
4
+ "fixed inset-0 z-50 bg-grey-1000/60 backdrop-blur-xs transition-opacity duration-300 data-[state=open]:animate-fade-in data-[state=closed]:animate-fade-out"
5
5
  );
6
6
  const drawerContentVariants = cva(
7
- "fixed z-50 gap-4 bg-white dark:bg-grey-900 p-6 shadow-2xl transition ease-in-out duration-300 font-sans text-foreground border-grey-200 dark:border-grey-800",
7
+ "fixed z-50 gap-4 bg-grey-50 dark:bg-grey-900 p-6 shadow-2xl transition ease-in-out duration-300 font-sans text-foreground border-grey-200 dark:border-grey-800",
8
8
  {
9
9
  variants: {
10
10
  side: {
@@ -98,7 +98,7 @@ const DropdownMenuLabel = React.forwardRef(({ className, inset, ...props }, ref)
98
98
  ref,
99
99
  "data-slot": "dropdown-label",
100
100
  className: cn(
101
- "px-2 py-1.5 text-xs font-semibold text-muted-foreground uppercase tracking-wider",
101
+ "px-2 py-1.5 text-body-3 font-semibold text-muted-foreground uppercase tracking-wider",
102
102
  inset && "pl-8",
103
103
  className
104
104
  ),
@@ -123,7 +123,7 @@ const DropdownMenuShortcut = ({
123
123
  return /* @__PURE__ */ jsx(
124
124
  "span",
125
125
  {
126
- className: cn("ml-auto text-xs tracking-widest text-muted-foreground font-mono", className),
126
+ className: cn("ml-auto text-body-3 tracking-widest text-muted-foreground tabular-nums", className),
127
127
  ...props
128
128
  }
129
129
  );
@@ -1,10 +1,10 @@
1
1
  import { cva } from 'class-variance-authority';
2
2
 
3
3
  const dropdownContentVariants = cva(
4
- "z-50 min-w-[8rem] overflow-hidden rounded-md border border-grey-200 dark:border-grey-700 bg-white dark:bg-grey-900 p-1 text-foreground shadow-lg font-sans transition-all duration-150 data-[state=open]:animate-scale-in data-[state=closed]:animate-scale-out"
4
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border border-grey-200 dark:border-grey-700 bg-grey-50 dark:bg-grey-900 p-1 text-foreground shadow-lg font-sans transition-all duration-150 data-[state=open]:animate-scale-in data-[state=closed]:animate-scale-out"
5
5
  );
6
6
  const dropdownItemVariants = cva(
7
- "relative flex cursor-pointer select-none items-center rounded-sm px-2.5 py-1.5 text-sm outline-none transition-colors hover:bg-grey-100 dark:hover:bg-grey-800 focus:bg-grey-100 dark:focus:bg-grey-800 focus:text-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50"
7
+ "relative flex cursor-pointer select-none items-center rounded-sm px-2.5 py-1.5 text-body-2 outline-none transition-colors hover:bg-grey-100 dark:hover:bg-grey-800 focus:bg-grey-100 dark:focus:bg-grey-800 focus:text-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50"
8
8
  );
9
9
 
10
10
  export { dropdownContentVariants, dropdownItemVariants };
@@ -47,7 +47,7 @@ const EmptyState = React.forwardRef(
47
47
  title && /* @__PURE__ */ jsx(
48
48
  "h3",
49
49
  {
50
- className: "text-base font-display font-semibold text-foreground tracking-tight",
50
+ className: "text-h6 font-semibold text-foreground tracking-tight",
51
51
  "data-slot": "empty-state-title",
52
52
  children: title
53
53
  }
@@ -55,7 +55,7 @@ const EmptyState = React.forwardRef(
55
55
  description && /* @__PURE__ */ jsx(
56
56
  "p",
57
57
  {
58
- className: "text-xs text-muted-foreground mt-1.5 max-w-sm leading-relaxed",
58
+ className: "text-body-3 text-muted-foreground mt-1.5 max-w-sm leading-relaxed",
59
59
  "data-slot": "empty-state-description",
60
60
  children: description
61
61
  }
@@ -26,9 +26,9 @@ const emptyStateIconWrapperVariants = cva(
26
26
  {
27
27
  variants: {
28
28
  size: {
29
- sm: "size-10 text-lg",
30
- default: "size-14 text-2xl",
31
- lg: "size-20 text-3xl"
29
+ sm: "size-10 text-subtitle-1",
30
+ default: "size-14 text-h4",
31
+ lg: "size-20 text-h3"
32
32
  }
33
33
  },
34
34
  defaultVariants: {
@@ -39,7 +39,7 @@ const FormField = React.forwardRef(
39
39
  {
40
40
  id: `${id}-desc`,
41
41
  className: cn(
42
- "text-xs mt-1 flex items-center gap-1.5",
42
+ "text-body-3 mt-1 flex items-center gap-1.5",
43
43
  isError ? "text-destructive font-medium" : "text-muted"
44
44
  ),
45
45
  children: [
@@ -1 +1 @@
1
- {"version":3,"file":"Heading.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Heading/Heading.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,eAAe;;;;;8EAqC1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"Heading.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Heading/Heading.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,eAAO,MAAM,eAAe;;;;;8EAuC1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -1,18 +1,20 @@
1
1
  import { cva } from 'class-variance-authority';
2
2
 
3
- const headingVariants = cva("transition-colors leading-[1.3] text-foreground", {
3
+ const headingVariants = cva("transition-colors text-foreground", {
4
4
  variants: {
5
5
  level: {
6
- 1: "text-[64px]",
7
- 2: "text-[48px]",
8
- 3: "text-[32px]",
9
- 4: "text-[24px] tracking-[-0.02em]",
10
- 5: "text-[20px]",
11
- 6: "text-[20px]"
6
+ 1: "text-h1",
7
+ 2: "text-h2",
8
+ 3: "text-h3",
9
+ 4: "text-h4",
10
+ 5: "text-h5",
11
+ 6: "text-h6"
12
12
  },
13
13
  font: {
14
- display: "font-display font-normal",
15
- title: "font-title font-bold"
14
+ // The h* tokens already use the display font.
15
+ display: "",
16
+ // Override the token's family ("!" so it wins regardless of CSS order).
17
+ title: "font-title! font-bold"
16
18
  },
17
19
  foreground: {
18
20
  default: "text-foreground",
@@ -21,7 +23,7 @@ const headingVariants = cva("transition-colors leading-[1.3] text-foreground", {
21
23
  primary: "text-primary",
22
24
  secondary: "text-secondary-foreground",
23
25
  destructive: "text-destructive",
24
- white: "text-white",
26
+ white: "text-grey-50",
25
27
  inherit: "text-inherit"
26
28
  },
27
29
  weight: {
@@ -5,11 +5,11 @@ const iconVariants = cva(
5
5
  {
6
6
  variants: {
7
7
  size: {
8
- xs: "size-3 text-xs",
9
- sm: "size-4 text-sm",
10
- md: "size-5 text-base",
11
- lg: "size-6 text-lg",
12
- xl: "size-8 text-2xl"
8
+ xs: "size-3 text-body-3",
9
+ sm: "size-4 text-body-2",
10
+ md: "size-5 text-body-1",
11
+ lg: "size-6 text-subtitle-1",
12
+ xl: "size-8 text-h4"
13
13
  },
14
14
  foreground: {
15
15
  default: "text-foreground",
@@ -18,7 +18,7 @@ const iconVariants = cva(
18
18
  primary: "text-primary",
19
19
  secondary: "text-secondary-foreground",
20
20
  destructive: "text-destructive",
21
- white: "text-white",
21
+ white: "text-grey-50",
22
22
  inherit: "text-inherit"
23
23
  },
24
24
  clickable: {
@@ -201,15 +201,15 @@ const ImageUpload = React.forwardRef(
201
201
  ...props,
202
202
  children: [
203
203
  (label || maxFiles || minFiles) && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2 select-none", children: [
204
- label && /* @__PURE__ */ jsxs("label", { className: "text-xs font-semibold text-foreground tracking-wide flex items-center gap-1.5", children: [
204
+ label && /* @__PURE__ */ jsxs("label", { className: "text-body-3 font-semibold text-foreground tracking-wide flex items-center gap-1.5", children: [
205
205
  /* @__PURE__ */ jsx("span", { children: label }),
206
- minFiles && minFiles > 0 && /* @__PURE__ */ jsxs("span", { className: "text-[11px] text-muted font-normal", children: [
206
+ minFiles && minFiles > 0 && /* @__PURE__ */ jsxs("span", { className: "text-caption-lg text-muted font-normal", children: [
207
207
  "(Min ",
208
208
  minFiles,
209
209
  ")"
210
210
  ] })
211
211
  ] }),
212
- multiple && /* @__PURE__ */ jsxs("span", { className: "text-[11px] font-medium text-muted", children: [
212
+ multiple && /* @__PURE__ */ jsxs("span", { className: "text-caption-lg font-medium text-muted", children: [
213
213
  items.length,
214
214
  maxFiles ? ` / ${maxFiles}` : "",
215
215
  " uploaded"
@@ -284,7 +284,7 @@ const ImageUpload = React.forwardRef(
284
284
  onDragLeave: handleDragLeave,
285
285
  onDrop: handleDrop
286
286
  }
287
- ) : /* @__PURE__ */ jsxs("div", { className: "w-full rounded-xl border border-dashed border-grey-300 dark:border-grey-700 bg-grey-50/50 dark:bg-grey-900/30 p-3 text-center text-xs text-muted", children: [
287
+ ) : /* @__PURE__ */ jsxs("div", { className: "w-full rounded-xl border border-dashed border-grey-300 dark:border-grey-700 bg-grey-50/50 dark:bg-grey-900/30 p-3 text-center text-body-3 text-muted", children: [
288
288
  "Maximum upload limit reached (",
289
289
  maxFiles,
290
290
  "/",
@@ -334,8 +334,8 @@ const ImageUpload = React.forwardRef(
334
334
  "p",
335
335
  {
336
336
  className: cn(
337
- "text-xs mt-1 flex items-center gap-1.5 leading-normal",
338
- isError ? "text-destructive font-medium" : minFilesWarning ? "text-amber-600 dark:text-amber-400 font-medium" : "text-muted"
337
+ "text-body-3 mt-1 flex items-center gap-1.5 leading-normal",
338
+ isError ? "text-destructive font-medium" : minFilesWarning ? "text-warning dark:text-warning font-medium" : "text-muted"
339
339
  ),
340
340
  children: [
341
341
  (isError || minFilesWarning) && /* @__PURE__ */ jsx(AlertCircle, { className: "size-3.5 shrink-0", "aria-hidden": "true" }),
@@ -64,38 +64,38 @@ const ImageUploadDropzone = ({
64
64
  ),
65
65
  children: isUploading ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center gap-2", children: [
66
66
  /* @__PURE__ */ jsx(Spinner, { size: "md" }),
67
- /* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-foreground", children: loadingText })
67
+ /* @__PURE__ */ jsx("span", { className: "text-body-3 font-medium text-foreground", children: loadingText })
68
68
  ] }) : size === "compact" ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center gap-1.5 text-center pointer-events-none", children: [
69
- /* @__PURE__ */ jsx("div", { className: "size-8 rounded-lg bg-white dark:bg-grey-800 border border-grey-200 dark:border-grey-700 shadow-xs flex items-center justify-center text-primary", children: isDragging ? /* @__PURE__ */ jsx(UploadCloudIcon, { className: "size-4 text-primary animate-bounce" }) : /* @__PURE__ */ jsx(Plus, { className: "size-4 text-primary" }) }),
69
+ /* @__PURE__ */ jsx("div", { className: "size-8 rounded-lg bg-grey-50 dark:bg-grey-800 border border-grey-200 dark:border-grey-700 shadow-xs flex items-center justify-center text-primary", children: isDragging ? /* @__PURE__ */ jsx(UploadCloudIcon, { className: "size-4 text-primary animate-bounce" }) : /* @__PURE__ */ jsx(Plus, { className: "size-4 text-primary" }) }),
70
70
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5", children: [
71
- /* @__PURE__ */ jsxs("span", { className: "text-xs font-medium text-foreground", children: [
71
+ /* @__PURE__ */ jsxs("span", { className: "text-body-3 font-medium text-foreground", children: [
72
72
  /* @__PURE__ */ jsx("span", { className: "text-primary underline font-semibold", children: hasItems ? "Add more files" : "Click to upload" }),
73
73
  " ",
74
74
  "or drag & drop"
75
75
  ] }),
76
- /* @__PURE__ */ jsxs("span", { className: "text-[11px] text-muted", children: [
76
+ /* @__PURE__ */ jsxs("span", { className: "text-caption-lg text-muted", children: [
77
77
  mediaType === "video" ? `MP4, WEBM, MOV (Max ${maxMb}MB)` : mediaType === "all" ? `Images & Videos (Max ${maxMb}MB each)` : `PNG, JPG, WEBP (Max ${maxMb}MB each)`,
78
78
  maxFiles && ` • Up to ${maxFiles} items`
79
79
  ] })
80
80
  ] })
81
81
  ] }) : aspectRatio === "square" ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center gap-1.5 text-center pointer-events-none p-1", children: [
82
- /* @__PURE__ */ jsx("div", { className: "size-8 rounded-lg bg-white dark:bg-grey-800 border border-grey-200 dark:border-grey-700 shadow-xs flex items-center justify-center text-primary", children: isDragging ? /* @__PURE__ */ jsx(UploadCloudIcon, { className: "size-4 text-primary animate-bounce" }) : /* @__PURE__ */ jsx(ImageIcon, { className: "size-4 text-primary" }) }),
82
+ /* @__PURE__ */ jsx("div", { className: "size-8 rounded-lg bg-grey-50 dark:bg-grey-800 border border-grey-200 dark:border-grey-700 shadow-xs flex items-center justify-center text-primary", children: isDragging ? /* @__PURE__ */ jsx(UploadCloudIcon, { className: "size-4 text-primary animate-bounce" }) : /* @__PURE__ */ jsx(ImageIcon, { className: "size-4 text-primary" }) }),
83
83
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5", children: [
84
- /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold text-primary underline", children: "Upload" }),
85
- /* @__PURE__ */ jsxs("span", { className: "text-[10px] text-muted", children: [
84
+ /* @__PURE__ */ jsx("span", { className: "text-body-3 font-semibold text-primary underline", children: "Upload" }),
85
+ /* @__PURE__ */ jsxs("span", { className: "text-caption text-muted", children: [
86
86
  "Max ",
87
87
  maxMb,
88
88
  "MB"
89
89
  ] })
90
90
  ] })
91
91
  ] }) : /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center gap-2 text-center pointer-events-none", children: [
92
- /* @__PURE__ */ jsx("div", { className: "size-10 rounded-xl bg-white dark:bg-grey-800 border border-grey-200 dark:border-grey-700 shadow-xs flex items-center justify-center text-primary", children: isDragging ? /* @__PURE__ */ jsx(UploadCloudIcon, { className: "size-5 text-primary animate-bounce" }) : mediaType === "video" ? /* @__PURE__ */ jsx(FilmIcon, { className: "size-5 text-primary" }) : /* @__PURE__ */ jsx(ImageIcon, { className: "size-5 text-primary" }) }),
92
+ /* @__PURE__ */ jsx("div", { className: "size-10 rounded-xl bg-grey-50 dark:bg-grey-800 border border-grey-200 dark:border-grey-700 shadow-xs flex items-center justify-center text-primary", children: isDragging ? /* @__PURE__ */ jsx(UploadCloudIcon, { className: "size-5 text-primary animate-bounce" }) : mediaType === "video" ? /* @__PURE__ */ jsx(FilmIcon, { className: "size-5 text-primary" }) : /* @__PURE__ */ jsx(ImageIcon, { className: "size-5 text-primary" }) }),
93
93
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5", children: [
94
- /* @__PURE__ */ jsxs("span", { className: "text-xs font-medium text-foreground", children: [
94
+ /* @__PURE__ */ jsxs("span", { className: "text-body-3 font-medium text-foreground", children: [
95
95
  /* @__PURE__ */ jsx("span", { className: "text-primary underline font-semibold", children: "Click to upload" }),
96
96
  " or drag and drop"
97
97
  ] }),
98
- /* @__PURE__ */ jsx("span", { className: "text-[11px] text-muted", children: mediaType === "video" ? `MP4, WEBM, MOV (Max ${maxMb}MB)` : mediaType === "all" ? `PNG, JPG, WEBP, MP4 (Max ${maxMb}MB)` : `PNG, JPG, or WEBP (Max ${maxMb}MB)` })
98
+ /* @__PURE__ */ jsx("span", { className: "text-caption-lg text-muted", children: mediaType === "video" ? `MP4, WEBM, MOV (Max ${maxMb}MB)` : mediaType === "all" ? `PNG, JPG, WEBP, MP4 (Max ${maxMb}MB)` : `PNG, JPG, or WEBP (Max ${maxMb}MB)` })
99
99
  ] })
100
100
  ] })
101
101
  }
@@ -42,7 +42,7 @@ const ImageUploadModal = ({
42
42
  animate: shouldAnimate ? { opacity: 1 } : void 0,
43
43
  exit: shouldAnimate ? { opacity: 0 } : void 0,
44
44
  transition: getTransition("fast"),
45
- className: "fixed inset-0 z-[100] flex flex-col items-center justify-center p-4 sm:p-6 bg-black/60 backdrop-blur-xs",
45
+ className: "fixed inset-0 z-[100] flex flex-col items-center justify-center p-4 sm:p-6 bg-grey-1000/60 backdrop-blur-xs",
46
46
  onClick: onClose,
47
47
  children: /* @__PURE__ */ jsxs(
48
48
  motion.div,
@@ -51,14 +51,14 @@ const ImageUploadModal = ({
51
51
  animate: shouldAnimate ? { scale: 1, opacity: 1 } : void 0,
52
52
  exit: shouldAnimate ? { scale: 0.95, opacity: 0 } : void 0,
53
53
  transition: getTransition("spring"),
54
- className: "relative max-w-2xl max-h-[85vh] w-full bg-white dark:bg-grey-950 border border-grey-200 dark:border-grey-800 rounded-2xl overflow-hidden shadow-2xl flex flex-col",
54
+ className: "relative max-w-2xl max-h-[85vh] w-full bg-grey-50 dark:bg-grey-950 border border-grey-200 dark:border-grey-800 rounded-2xl overflow-hidden shadow-2xl flex flex-col",
55
55
  onClick: (e) => e.stopPropagation(),
56
56
  children: [
57
57
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between px-5 py-3 border-b border-grey-200 dark:border-grey-800 bg-grey-50/80 dark:bg-grey-900/80 backdrop-blur-xs select-none", children: [
58
58
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
59
- /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold text-foreground tracking-wide truncate max-w-xs sm:max-w-md", children: activeItem.name || `Media Item #${activeIndex + 1}` }),
60
- activeIndex === 0 && /* @__PURE__ */ jsx("span", { className: "bg-emerald-500/10 text-emerald-700 dark:text-emerald-400 border border-emerald-500/20 text-[10px] font-semibold px-2 py-0.5 rounded-full", children: "Cover" }),
61
- /* @__PURE__ */ jsxs("span", { className: "text-[11px] text-muted", children: [
59
+ /* @__PURE__ */ jsx("span", { className: "text-body-3 font-semibold text-foreground tracking-wide truncate max-w-xs sm:max-w-md", children: activeItem.name || `Media Item #${activeIndex + 1}` }),
60
+ activeIndex === 0 && /* @__PURE__ */ jsx("span", { className: "bg-success/10 text-success dark:text-success border border-success/20 text-caption font-semibold px-2 py-0.5 rounded-full", children: "Cover" }),
61
+ /* @__PURE__ */ jsxs("span", { className: "text-caption-lg text-muted", children: [
62
62
  "(",
63
63
  activeIndex + 1,
64
64
  " of ",
@@ -77,7 +77,7 @@ const ImageUploadModal = ({
77
77
  }
78
78
  ) })
79
79
  ] }),
80
- /* @__PURE__ */ jsxs("div", { className: "relative flex-1 flex items-center justify-center p-4 min-h-[260px] max-h-[70vh] bg-grey-100/50 dark:bg-black/50 overflow-hidden", children: [
80
+ /* @__PURE__ */ jsxs("div", { className: "relative flex-1 flex items-center justify-center p-4 min-h-[260px] max-h-[70vh] bg-grey-100/50 dark:bg-grey-1000/50 overflow-hidden", children: [
81
81
  isVideoMedia(activeItem) ? /* @__PURE__ */ jsx(
82
82
  "video",
83
83
  {
@@ -104,7 +104,7 @@ const ImageUploadModal = ({
104
104
  e.stopPropagation();
105
105
  onNavigate(activeIndex > 0 ? activeIndex - 1 : items.length - 1);
106
106
  },
107
- className: "absolute left-3 top-1/2 -translate-y-1/2 size-9 rounded-full bg-white/90 hover:bg-white dark:bg-grey-800/90 dark:hover:bg-grey-800 border border-grey-200 dark:border-grey-700 text-foreground flex items-center justify-center transition-all backdrop-blur-xs cursor-pointer shadow-md",
107
+ className: "absolute left-3 top-1/2 -translate-y-1/2 size-9 rounded-full bg-grey-50/90 hover:bg-grey-50 dark:bg-grey-800/90 dark:hover:bg-grey-800 border border-grey-200 dark:border-grey-700 text-foreground flex items-center justify-center transition-all backdrop-blur-xs cursor-pointer shadow-md",
108
108
  title: "Previous (Left Arrow)",
109
109
  children: /* @__PURE__ */ jsx(ChevronLeft, { className: "size-4" })
110
110
  }
@@ -117,7 +117,7 @@ const ImageUploadModal = ({
117
117
  e.stopPropagation();
118
118
  onNavigate(activeIndex < items.length - 1 ? activeIndex + 1 : 0);
119
119
  },
120
- className: "absolute right-3 top-1/2 -translate-y-1/2 size-9 rounded-full bg-white/90 hover:bg-white dark:bg-grey-800/90 dark:hover:bg-grey-800 border border-grey-200 dark:border-grey-700 text-foreground flex items-center justify-center transition-all backdrop-blur-xs cursor-pointer shadow-md",
120
+ className: "absolute right-3 top-1/2 -translate-y-1/2 size-9 rounded-full bg-grey-50/90 hover:bg-grey-50 dark:bg-grey-800/90 dark:hover:bg-grey-800 border border-grey-200 dark:border-grey-700 text-foreground flex items-center justify-center transition-all backdrop-blur-xs cursor-pointer shadow-md",
121
121
  title: "Next (Right Arrow)",
122
122
  children: /* @__PURE__ */ jsx(ChevronRight, { className: "size-4" })
123
123
  }