@getmicdrop/svelte-components 5.20.2 → 5.21.1

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 (259) hide show
  1. package/dist/calendar/AboutShow/AboutShow.spec.js +10 -10
  2. package/dist/calendar/AboutShow/AboutShow.svelte +11 -11
  3. package/dist/calendar/Calendar/MiniMonthCalendar.spec.js +9 -8
  4. package/dist/calendar/Calendar/MiniMonthCalendar.svelte +22 -25
  5. package/dist/calendar/Calendar/MiniMonthCalendar.svelte.d.ts.map +1 -1
  6. package/dist/calendar/FAQs/FAQs.spec.js +6 -6
  7. package/dist/calendar/FAQs/FAQs.svelte +4 -4
  8. package/dist/calendar/MonthSwitcher/MonthSwitcher.svelte +8 -12
  9. package/dist/calendar/OrderSummary/OrderSummary.svelte +36 -36
  10. package/dist/calendar/PublicCard/PublicCard.spec.js +3 -3
  11. package/dist/calendar/PublicCard/PublicCard.svelte +7 -7
  12. package/dist/calendar/ShowCard/ShowCard.spec.js +8 -8
  13. package/dist/calendar/ShowCard/ShowCard.svelte +8 -8
  14. package/dist/calendar/ShowTimeCard/ShowTimeCard.spec.js +4 -4
  15. package/dist/calendar/ShowTimeCard/ShowTimeCard.svelte +4 -4
  16. package/dist/components/Heading.spec.js +1 -1
  17. package/dist/components/Heading.svelte +1 -1
  18. package/dist/components/Layout/AppShell.svelte +4 -4
  19. package/dist/components/Layout/ContentSection.svelte +2 -2
  20. package/dist/components/Layout/Heading.svelte +3 -3
  21. package/dist/components/Layout/PageContainer.svelte +2 -2
  22. package/dist/components/Layout/Section.spec.js +4 -4
  23. package/dist/components/Layout/Text.svelte +7 -7
  24. package/dist/components/Layout/__tests__/AppShell.test.js +5 -5
  25. package/dist/components/Layout/__tests__/ContentSection.test.js +1 -1
  26. package/dist/components/Layout/__tests__/Heading.test.js +3 -3
  27. package/dist/components/Layout/__tests__/PageContainer.test.js +4 -4
  28. package/dist/components/Layout/__tests__/Text.test.js +9 -9
  29. package/dist/components/Text.spec.js +4 -4
  30. package/dist/components/Text.svelte +7 -7
  31. package/dist/patterns/chat/ChatActivityNotice.spec.js +1 -1
  32. package/dist/patterns/chat/ChatActivityNotice.svelte +3 -3
  33. package/dist/patterns/chat/ChatBubble.spec.js +1 -1
  34. package/dist/patterns/chat/ChatBubble.svelte +7 -7
  35. package/dist/patterns/chat/ChatContainer.spec.js +1 -1
  36. package/dist/patterns/chat/ChatContainer.svelte +3 -3
  37. package/dist/patterns/chat/ChatDateDivider.svelte +1 -1
  38. package/dist/patterns/chat/ChatInvitationBubble.spec.js +2 -2
  39. package/dist/patterns/chat/ChatInvitationBubble.svelte +1 -1
  40. package/dist/patterns/chat/ChatInvitationNotice.spec.js +2 -2
  41. package/dist/patterns/chat/ChatInvitationNotice.svelte +1 -1
  42. package/dist/patterns/chat/ChatMessageGroup.svelte +2 -2
  43. package/dist/patterns/chat/ChatSlotUpdate.svelte +2 -2
  44. package/dist/patterns/chat/ChatStatusBadge.spec.js +10 -10
  45. package/dist/patterns/chat/ChatStatusBadge.svelte +8 -8
  46. package/dist/patterns/chat/ChatStatusTransition.spec.js +9 -9
  47. package/dist/patterns/chat/ChatStatusTransition.svelte +5 -5
  48. package/dist/patterns/chat/ChatTextBubble.spec.js +4 -4
  49. package/dist/patterns/chat/ChatTextBubble.svelte +2 -2
  50. package/dist/patterns/data/DataList.spec.js +5 -5
  51. package/dist/patterns/data/DataList.svelte +1 -1
  52. package/dist/patterns/data/DataTable.spec.js +18 -18
  53. package/dist/patterns/data/DataTable.svelte +3 -3
  54. package/dist/patterns/forms/FormActions.spec.js +6 -6
  55. package/dist/patterns/forms/FormActions.stories.svelte +1 -1
  56. package/dist/patterns/forms/FormActions.svelte +1 -1
  57. package/dist/patterns/forms/FormSection.spec.js +4 -4
  58. package/dist/patterns/forms/FormSection.svelte +2 -2
  59. package/dist/patterns/forms/FormValidationSummary.spec.js +2 -2
  60. package/dist/patterns/forms/FormValidationSummary.stories.svelte +4 -4
  61. package/dist/patterns/forms/FormValidationSummary.svelte +4 -4
  62. package/dist/patterns/navigation/BottomNav.stories.svelte +23 -23
  63. package/dist/patterns/navigation/BottomNav.svelte +3 -3
  64. package/dist/patterns/navigation/Header.spec.js +9 -9
  65. package/dist/patterns/navigation/Header.svelte +13 -15
  66. package/dist/patterns/navigation/Header.svelte.d.ts.map +1 -1
  67. package/dist/patterns/page/PageLayout.spec.js +5 -5
  68. package/dist/patterns/page/PageLayout.svelte +1 -1
  69. package/dist/patterns/page/PageLoader.stories.svelte +5 -5
  70. package/dist/patterns/page/SectionHeader.spec.js +8 -8
  71. package/dist/patterns/page/SectionHeader.svelte +2 -2
  72. package/dist/presets/buttons.js +1 -1
  73. package/dist/presets/buttons.spec.js +4 -4
  74. package/dist/primitives/Accordion/Accordion.spec.js +5 -5
  75. package/dist/primitives/Accordion/Accordion.stories.svelte +9 -9
  76. package/dist/primitives/Accordion/Accordion.svelte +2 -2
  77. package/dist/primitives/Accordion/AccordionItem.spec.js +19 -28
  78. package/dist/primitives/Accordion/AccordionItem.svelte +4 -4
  79. package/dist/primitives/Avatar/Avatar.spec.js +11 -11
  80. package/dist/primitives/Avatar/Avatar.stories.svelte +6 -5
  81. package/dist/primitives/Avatar/Avatar.stories.svelte.d.ts.map +1 -1
  82. package/dist/primitives/Avatar/Avatar.svelte +3 -3
  83. package/dist/primitives/Badges/Badge.spec.js +10 -10
  84. package/dist/primitives/BottomSheet/BottomSheet.spec.js +5 -5
  85. package/dist/primitives/BottomSheet/BottomSheet.svelte +7 -7
  86. package/dist/primitives/Breadcrumb/Breadcrumb.spec.js +4 -2
  87. package/dist/primitives/Breadcrumb/Breadcrumb.svelte +4 -4
  88. package/dist/primitives/Button/Button.spec.js +15 -15
  89. package/dist/primitives/Button/Button.svelte +16 -16
  90. package/dist/primitives/Button/ButtonVariantShowcase.spec.js +1 -1
  91. package/dist/primitives/Button/ButtonVariantShowcase.svelte +18 -18
  92. package/dist/primitives/Card.spec.js +1 -1
  93. package/dist/primitives/Card.stories.svelte +1 -1
  94. package/dist/primitives/Card.svelte +1 -1
  95. package/dist/primitives/CardAction/CardAction.svelte +3 -3
  96. package/dist/primitives/Checkbox/Checkbox.spec.js +16 -16
  97. package/dist/primitives/Checkbox/Checkbox.stories.svelte +3 -3
  98. package/dist/primitives/Checkbox/Checkbox.svelte +9 -9
  99. package/dist/primitives/DarkModeToggle.spec.js +11 -11
  100. package/dist/primitives/DarkModeToggle.stories.svelte +8 -8
  101. package/dist/primitives/DarkModeToggle.svelte +4 -4
  102. package/dist/primitives/Drawer/Drawer.spec.js +4 -4
  103. package/dist/primitives/Drawer/Drawer.stories.svelte +6 -6
  104. package/dist/primitives/Drawer/Drawer.svelte +11 -11
  105. package/dist/primitives/Dropdown/Dropdown.spec.js +9 -9
  106. package/dist/primitives/Dropdown/Dropdown.stories.svelte +4 -4
  107. package/dist/primitives/Dropdown/Dropdown.svelte +2 -2
  108. package/dist/primitives/Dropdown/DropdownDivider.svelte +1 -1
  109. package/dist/primitives/Dropdown/DropdownItem.spec.js +8 -15
  110. package/dist/primitives/Dropdown/DropdownItem.svelte +3 -3
  111. package/dist/primitives/Helper/Helper.spec.js +6 -6
  112. package/dist/primitives/Helper/Helper.svelte +3 -3
  113. package/dist/primitives/Icons/Icon.stories.svelte +15 -15
  114. package/dist/primitives/Icons/IconGallery.stories.svelte +26 -26
  115. package/dist/primitives/Icons/Icons.spec.js +3 -3
  116. package/dist/primitives/Input/Input.spec.js +9 -9
  117. package/dist/primitives/Input/Input.svelte +11 -11
  118. package/dist/primitives/Input/Select.spec.js +7 -7
  119. package/dist/primitives/Input/Select.stories.svelte +1 -1
  120. package/dist/primitives/Input/Select.svelte +6 -6
  121. package/dist/primitives/Input/Textarea.spec.js +8 -8
  122. package/dist/primitives/Input/Textarea.stories.svelte +1 -1
  123. package/dist/primitives/Input/Textarea.svelte +2 -2
  124. package/dist/primitives/Label/Label.spec.js +20 -21
  125. package/dist/primitives/Label/Label.svelte +4 -4
  126. package/dist/primitives/LandingButton/LandingButton.svelte +3 -3
  127. package/dist/primitives/MenuItem/MenuItem.spec.js +5 -5
  128. package/dist/primitives/MenuItem/MenuItem.svelte +4 -4
  129. package/dist/primitives/Modal/Modal.stories.svelte +8 -8
  130. package/dist/primitives/Modal/Modal.svelte +4 -4
  131. package/dist/primitives/NavItem/NavItem.spec.js +2 -2
  132. package/dist/primitives/NavItem/NavItem.svelte +3 -3
  133. package/dist/primitives/NumberInput/NumberInput.spec.js +17 -17
  134. package/dist/primitives/NumberInput/NumberInput.svelte +8 -8
  135. package/dist/primitives/Pagination/DotIndicator.svelte +6 -6
  136. package/dist/primitives/Pagination/Pagination.spec.js +6 -6
  137. package/dist/primitives/Pagination/Pagination.stories.svelte +4 -4
  138. package/dist/primitives/Pagination/Pagination.svelte +3 -3
  139. package/dist/primitives/Radio/Radio.spec.js +19 -19
  140. package/dist/primitives/Radio/Radio.stories.svelte +5 -5
  141. package/dist/primitives/Radio/Radio.svelte +8 -8
  142. package/dist/primitives/SearchResultItem/SearchResultItem.svelte +5 -5
  143. package/dist/primitives/SidebarToggle/SidebarToggle.svelte +2 -2
  144. package/dist/primitives/Skeleton/CardPlaceholder.spec.js +1 -1
  145. package/dist/primitives/Skeleton/CardPlaceholder.svelte +11 -11
  146. package/dist/primitives/Skeleton/ImagePlaceholder.spec.js +2 -2
  147. package/dist/primitives/Skeleton/ImagePlaceholder.svelte +7 -7
  148. package/dist/primitives/Skeleton/ListPlaceholder.spec.js +2 -2
  149. package/dist/primitives/Skeleton/ListPlaceholder.svelte +5 -5
  150. package/dist/primitives/Skeleton/Skeleton.spec.js +7 -7
  151. package/dist/primitives/Skeleton/Skeleton.stories.svelte +4 -4
  152. package/dist/primitives/Skeleton/Skeleton.svelte +1 -1
  153. package/dist/primitives/Spinner/Spinner.spec.js +4 -5
  154. package/dist/primitives/Spinner/Spinner.stories.svelte +2 -2
  155. package/dist/primitives/Spinner/Spinner.svelte +1 -1
  156. package/dist/primitives/Tabs/Tabs.spec.js +14 -14
  157. package/dist/primitives/Tabs/Tabs.stories.svelte +6 -6
  158. package/dist/primitives/Tabs/Tabs.svelte +8 -8
  159. package/dist/primitives/Toggle.spec.js +3 -5
  160. package/dist/primitives/Toggle.stories.svelte +7 -7
  161. package/dist/primitives/Toggle.svelte +7 -7
  162. package/dist/primitives/Tooltip/Tooltip.svelte +5 -5
  163. package/dist/primitives/ValidationError.spec.js +1 -1
  164. package/dist/primitives/ValidationError.stories.svelte +8 -8
  165. package/dist/primitives/ValidationError.svelte +1 -1
  166. package/dist/recipes/CropImage/CropImage.stories.svelte +8 -8
  167. package/dist/recipes/CropImage/CropImage.svelte +7 -7
  168. package/dist/recipes/ImageUploader/ImageUploader.spec.js +1 -1
  169. package/dist/recipes/ImageUploader/ImageUploader.svelte +34 -56
  170. package/dist/recipes/SuperLogin/SuperLogin.svelte +25 -25
  171. package/dist/recipes/Toaster/Toaster.stories.svelte +10 -10
  172. package/dist/recipes/feedback/EmptyState/EmptyState.svelte +1 -1
  173. package/dist/recipes/feedback/ErrorDisplay.spec.js +1 -1
  174. package/dist/recipes/feedback/ErrorDisplay.stories.svelte +2 -2
  175. package/dist/recipes/feedback/ErrorDisplay.svelte +2 -2
  176. package/dist/recipes/feedback/StatusIndicator/StatusIndicator.svelte +7 -7
  177. package/dist/recipes/fields/CheckboxField.spec.js +2 -2
  178. package/dist/recipes/fields/CheckboxField.svelte +2 -2
  179. package/dist/recipes/fields/FormField.spec.js +4 -4
  180. package/dist/recipes/fields/FormField.svelte +1 -1
  181. package/dist/recipes/fields/RadioGroup.spec.js +1 -1
  182. package/dist/recipes/fields/RadioGroup.svelte +2 -2
  183. package/dist/recipes/fields/SelectField.spec.js +2 -2
  184. package/dist/recipes/fields/TextareaField.spec.js +2 -2
  185. package/dist/recipes/fields/ToggleField.spec.js +2 -2
  186. package/dist/recipes/fields/ToggleField.svelte +1 -1
  187. package/dist/recipes/inputs/MultiSelect.stories.svelte +2 -2
  188. package/dist/recipes/inputs/MultiSelect.svelte +10 -10
  189. package/dist/recipes/inputs/OTPInput.stories.svelte +9 -9
  190. package/dist/recipes/inputs/OTPInput.svelte +1 -1
  191. package/dist/recipes/inputs/PasswordInput.spec.js +2 -2
  192. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.spec.js +14 -14
  193. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte +3 -3
  194. package/dist/recipes/inputs/PasswordStrengthIndicator/TestWrapper.svelte +2 -2
  195. package/dist/recipes/inputs/PhoneInput.svelte +5 -5
  196. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.spec.js +10 -10
  197. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.stories.svelte +7 -7
  198. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte +11 -14
  199. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte.d.ts.map +1 -1
  200. package/dist/recipes/inputs/Search.spec.js +3 -3
  201. package/dist/recipes/inputs/Search.svelte +1 -1
  202. package/dist/recipes/inputs/phoneInput/CountrySelector.svelte +5 -5
  203. package/dist/recipes/modals/AlertModal.spec.js +36 -36
  204. package/dist/recipes/modals/AlertModal.svelte +8 -8
  205. package/dist/recipes/modals/ConfirmationModal.spec.js +20 -20
  206. package/dist/recipes/modals/ConfirmationModal.svelte +1 -1
  207. package/dist/recipes/modals/FeedbackModal.svelte +7 -7
  208. package/dist/recipes/modals/InputModal.spec.js +17 -17
  209. package/dist/recipes/modals/InputModal.svelte +3 -3
  210. package/dist/recipes/modals/ModalStateManager.spec.js +1 -1
  211. package/dist/recipes/modals/ModalStateManager.svelte +2 -2
  212. package/dist/recipes/modals/StatusModal.spec.js +7 -7
  213. package/dist/recipes/modals/StatusModal.svelte +10 -10
  214. package/dist/schemas/__tests__/order.test.js +1 -1
  215. package/dist/schemas/auth.d.ts +107 -17
  216. package/dist/schemas/auth.d.ts.map +1 -1
  217. package/dist/schemas/common.d.ts +41 -13
  218. package/dist/schemas/common.d.ts.map +1 -1
  219. package/dist/schemas/event.d.ts +147 -41
  220. package/dist/schemas/event.d.ts.map +1 -1
  221. package/dist/schemas/order.d.ts +208 -51
  222. package/dist/schemas/order.d.ts.map +1 -1
  223. package/dist/schemas/performer.d.ts +199 -44
  224. package/dist/schemas/performer.d.ts.map +1 -1
  225. package/dist/schemas/promo.d.ts +221 -55
  226. package/dist/schemas/promo.d.ts.map +1 -1
  227. package/dist/schemas/ticket.d.ts +187 -61
  228. package/dist/schemas/ticket.d.ts.map +1 -1
  229. package/dist/schemas/user.d.ts +114 -54
  230. package/dist/schemas/user.d.ts.map +1 -1
  231. package/dist/schemas/venue.d.ts +238 -20
  232. package/dist/schemas/venue.d.ts.map +1 -1
  233. package/dist/stories/ButtonAuditDashboard.spec.js +12 -12
  234. package/dist/stories/ButtonAuditDashboard.svelte +55 -55
  235. package/dist/stories/ButtonAuditReview.spec.js +8 -8
  236. package/dist/stories/ButtonAuditReview.svelte +87 -87
  237. package/dist/stories/ButtonGridView.spec.js +27 -27
  238. package/dist/stories/ButtonGridView.svelte +22 -22
  239. package/dist/stories/ButtonShowcase.spec.js +4 -4
  240. package/dist/stories/ButtonShowcase.svelte +119 -119
  241. package/dist/stories/ComponentConsolidation.stories.svelte +453 -453
  242. package/dist/stories/DesignSystemAudit.stories.svelte +127 -127
  243. package/dist/stories/PatternsGallery.spec.js +3 -3
  244. package/dist/stories/PatternsGallery.svelte +23 -23
  245. package/dist/stories/PrimitivesGallery.spec.js +9 -9
  246. package/dist/stories/PrimitivesGallery.svelte +68 -68
  247. package/dist/stories/RecipesGallery.svelte +26 -26
  248. package/dist/tokens/__tests__/typography-base.test.js +5 -5
  249. package/dist/tokens/__tests__/typography.test.js +32 -36
  250. package/dist/tokens/__tests__/variants.test.js +63 -78
  251. package/dist/tokens/tokens.css +15 -15
  252. package/dist/tokens/typography-base.css +16 -16
  253. package/dist/tokens/typography.d.ts +29 -29
  254. package/dist/tokens/typography.js +29 -29
  255. package/dist/tokens/utilities.css +35 -47
  256. package/dist/tokens/variants.d.ts +32 -32
  257. package/dist/tokens/variants.js +32 -32
  258. package/dist/utils/utils/utils.spec.js +2 -2
  259. package/package.json +1 -1
@@ -405,7 +405,7 @@
405
405
  }
406
406
 
407
407
  // Call the success callback and wait for it to complete
408
- // (it sets session cookies and fetches user contexts needed by onNavigate)
408
+ // (consumers may fetch contexts/user data needed for routing)
409
409
  await onLoginSuccess({
410
410
  token: data.token,
411
411
  refreshToken: data.refreshToken || data.refreshtoken,
@@ -701,7 +701,7 @@
701
701
 
702
702
  <div class="w-full flex justify-center px-4">
703
703
  <div
704
- class="login-card bg-white dark:bg-gray-800 rounded-xl shadow-xl overflow-hidden {shake
704
+ class="login-card bg-card rounded-xl shadow-xl overflow-hidden {shake
705
705
  ? 'shake'
706
706
  : ''} {isViewTransitioning ? 'transition-height' : ''} {cardVisible ? 'card-visible' : 'card-hidden'}"
707
707
  style="height: {contentHeight ? contentHeight + 'px' : 'auto'}"
@@ -710,7 +710,7 @@
710
710
  {#if isCheckingEligibility}
711
711
  <div class="flex justify-center py-12">
712
712
  <div
713
- class="animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600"
713
+ class="animate-spin rounded-full h-8 w-8 border-b-2 border-brand-primary"
714
714
  ></div>
715
715
  </div>
716
716
  {:else if view === "login"}
@@ -729,7 +729,7 @@
729
729
  <h2 class={typography.h1}>
730
730
  {typeof labels.welcomeBackTitle === 'function' ? labels.welcomeBackTitle(rememberedUser.firstName) : labels.welcomeBackTitle}
731
731
  </h2>
732
- <Button variant="link" class="text-gray-500 hover:text-blue-600" onclick={handleNotMe}>
732
+ <Button variant="link" class="text-muted-foreground hover:text-brand-primary" onclick={handleNotMe}>
733
733
  {typeof labels.notYouButton === 'function' ? labels.notYouButton(rememberedUser.firstName) : labels.notYouButton}
734
734
  </Button>
735
735
  {:else}
@@ -766,7 +766,7 @@
766
766
  {#if errors.email && showErrors}
767
767
  <div
768
768
  transition:safeSlide={{ duration: 300, easing: cubicOut }}
769
- class="flex items-center gap-1.5 text-red-500"
769
+ class="flex items-center gap-1.5 text-accent-danger"
770
770
  role="alert"
771
771
  >
772
772
  <WarningIcon class="shrink-0" />
@@ -807,7 +807,7 @@
807
807
  {#if errors.password && showErrors}
808
808
  <div
809
809
  transition:safeSlide={{ duration: 300, easing: cubicOut }}
810
- class="flex items-center gap-1.5 text-red-500"
810
+ class="flex items-center gap-1.5 text-accent-danger"
811
811
  role="alert"
812
812
  >
813
813
  <WarningIcon class="shrink-0" />
@@ -841,11 +841,11 @@
841
841
  <div class="relative">
842
842
  <div class="absolute inset-0 flex items-center">
843
843
  <div
844
- class="w-full border-t border-gray-300 dark:border-gray-600"
844
+ class="w-full border-t border-stroke-primary"
845
845
  ></div>
846
846
  </div>
847
847
  <div class="relative flex justify-center text-sm">
848
- <span class={`px-2 bg-white dark:bg-gray-800 ${typography.textMuted}`}
848
+ <span class={`px-2 bg-card ${typography.textMuted}`}
849
849
  >{labels.or}</span
850
850
  >
851
851
  </div>
@@ -884,7 +884,7 @@
884
884
  onclick={() => handleAccountSelectInternal(account)}
885
885
  >
886
886
  <div
887
- class="h-10 w-10 rounded-md bg-gray-200 shrink-0 overflow-hidden mr-4"
887
+ class="h-10 w-10 rounded-md bg-bg-tertiary shrink-0 overflow-hidden mr-4"
888
888
  >
889
889
  {#if account.performerProfile?.profileImage}
890
890
  <img
@@ -894,7 +894,7 @@
894
894
  />
895
895
  {:else}
896
896
  <div
897
- class="h-full w-full flex items-center justify-center bg-blue-100 text-blue-600 font-medium"
897
+ class="h-full w-full flex items-center justify-center bg-status-info-bg text-brand-primary font-medium"
898
898
  >
899
899
  {account.organizationName
900
900
  ? account.organizationName[0].toUpperCase()
@@ -911,7 +911,7 @@
911
911
  </p>
912
912
  </div>
913
913
  <div
914
- class="text-gray-400 dark:text-gray-500 group-hover:text-gray-600 dark:group-hover:text-gray-300 transition-colors"
914
+ class="text-muted-foreground group-hover:text-text-secondary transition-colors"
915
915
  >
916
916
  <svg
917
917
  xmlns="http://www.w3.org/2000/svg"
@@ -930,8 +930,8 @@
930
930
  {/each}
931
931
  </div>
932
932
 
933
- <div class="pt-4 border-t border-gray-300 dark:border-gray-600">
934
- <Button variant="ghost" size="full" class="text-gray-500 dark:text-gray-400" onclick={handleReturnToSignIn}>
933
+ <div class="pt-4 border-t border-stroke-primary">
934
+ <Button variant="ghost" size="full" class="text-muted-foreground" onclick={handleReturnToSignIn}>
935
935
  {labels.loginDifferentEmail}
936
936
  </Button>
937
937
  </div>
@@ -982,7 +982,7 @@
982
982
  {#if errors.password && showErrors}
983
983
  <div
984
984
  transition:safeSlide={{ duration: 600, easing: cubicOut }}
985
- class="flex items-start gap-1.5 text-red-500"
985
+ class="flex items-start gap-1.5 text-accent-danger"
986
986
  role="alert"
987
987
  >
988
988
  <WarningIcon class="shrink-0 mt-1" />
@@ -1012,7 +1012,7 @@
1012
1012
  href={tosUrl}
1013
1013
  target="_blank"
1014
1014
  rel="noopener noreferrer"
1015
- class="text-blue-600 hover:underline dark:text-blue-400">{labels.termsOfService}</a
1015
+ class="text-brand-primary hover:underline">{labels.termsOfService}</a
1016
1016
  >.
1017
1017
  </p>
1018
1018
  </div>
@@ -1052,7 +1052,7 @@
1052
1052
  {#if errors.email && showErrors}
1053
1053
  <div
1054
1054
  transition:safeSlide={{ duration: 300, easing: cubicOut }}
1055
- class="flex items-center gap-1.5 text-red-500"
1055
+ class="flex items-center gap-1.5 text-accent-danger"
1056
1056
  role="alert"
1057
1057
  >
1058
1058
  <WarningIcon class="shrink-0" />
@@ -1116,7 +1116,7 @@
1116
1116
  {#if errors.email && showErrors}
1117
1117
  <div
1118
1118
  transition:safeSlide={{ duration: 300, easing: cubicOut }}
1119
- class="flex items-center gap-1.5 text-red-500"
1119
+ class="flex items-center gap-1.5 text-accent-danger"
1120
1120
  role="alert"
1121
1121
  >
1122
1122
  <WarningIcon class="shrink-0" />
@@ -1133,8 +1133,8 @@
1133
1133
  <p
1134
1134
  class="{typography.smMuted} {loginLinkMessage.includes('sent') ||
1135
1135
  loginLinkMessage.includes('check your email')
1136
- ? 'text-green-600 bg-green-50'
1137
- : 'text-red-600 bg-red-50'} p-3 rounded-md"
1136
+ ? 'text-accent-success bg-status-success-bg'
1137
+ : 'text-accent-danger bg-status-error-bg'} p-3 rounded-md"
1138
1138
  role="alert"
1139
1139
  >
1140
1140
  {loginLinkMessage}
@@ -1208,17 +1208,17 @@
1208
1208
 
1209
1209
  <style>
1210
1210
  .superlogin-container :global(body) {
1211
- background-color: #f8fafc;
1211
+ background-color: hsl(var(--bg-secondary));
1212
1212
  }
1213
1213
 
1214
1214
  .animated-gradient {
1215
1215
  background: linear-gradient(
1216
1216
  -45deg,
1217
- #c084fc,
1218
- #f9a8d4,
1219
- #93c5fd,
1220
- #a78bfa,
1221
- #f0abfc
1217
+ hsl(270 95% 75%),
1218
+ hsl(330 90% 82%),
1219
+ hsl(213 96% 78%),
1220
+ hsl(256 93% 76%),
1221
+ hsl(290 93% 83%)
1222
1222
  );
1223
1223
  background-size: 400% 400%;
1224
1224
  animation: gradientShift 15s ease infinite;
@@ -22,20 +22,20 @@
22
22
  <Toaster
23
23
  position="bottom-right"
24
24
  toastOptions={{
25
- class: "text-sm bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700",
25
+ class: "text-sm bg-card border border-border",
26
26
  classes: {
27
- error: "text-red-600 dark:text-red-400",
28
- success: "text-green-600 dark:text-green-400",
27
+ error: "text-accent-danger",
28
+ success: "text-accent-success",
29
29
  },
30
30
  }}
31
31
  />
32
32
  <button
33
33
  onclick={showSuccessToast}
34
- class="px-4 py-2 bg-green-600 text-white rounded-lg hover:bg-green-700"
34
+ class="px-4 py-2 bg-accent-success text-white rounded-lg hover:bg-accent-success"
35
35
  >
36
36
  Show Success Toast
37
37
  </button>
38
- <p class="mt-4 text-sm text-gray-500 dark:text-gray-400">Click the button to see a success toast notification</p>
38
+ <p class="mt-4 text-sm text-muted-foreground">Click the button to see a success toast notification</p>
39
39
  </div>
40
40
  </Story>
41
41
 
@@ -44,19 +44,19 @@
44
44
  <Toaster
45
45
  position="bottom-right"
46
46
  toastOptions={{
47
- class: "text-sm bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700",
47
+ class: "text-sm bg-card border border-border",
48
48
  classes: {
49
- error: "text-red-600 dark:text-red-400",
50
- success: "text-green-600 dark:text-green-400",
49
+ error: "text-accent-danger",
50
+ success: "text-accent-success",
51
51
  },
52
52
  }}
53
53
  />
54
54
  <button
55
55
  onclick={showErrorToast}
56
- class="px-4 py-2 bg-red-600 text-white rounded-lg hover:bg-red-700"
56
+ class="px-4 py-2 bg-accent-danger text-white rounded-lg hover:bg-accent-danger"
57
57
  >
58
58
  Show Error Toast
59
59
  </button>
60
- <p class="mt-4 text-sm text-gray-500 dark:text-gray-400">Click the button to see an error toast notification</p>
60
+ <p class="mt-4 text-sm text-muted-foreground">Click the button to see an error toast notification</p>
61
61
  </div>
62
62
  </Story>
@@ -56,7 +56,7 @@
56
56
  {#if icon || imageSrc}
57
57
  {#if iconType === 'component' && icon}
58
58
  {@const IconComponent = icon}
59
- <IconComponent class="mb-3 text-gray-400 dark:text-gray-500 {iconSize}" />
59
+ <IconComponent class="mb-3 text-muted-foreground {iconSize}" />
60
60
  {:else if iconType === 'image' && imageSrc}
61
61
  <img src={imageSrc} alt="" class="mb-3 {iconSize}" />
62
62
  {/if}
@@ -23,7 +23,7 @@ describe("ErrorDisplay Component Tests", () => {
23
23
  props: { error: "Error", show: true },
24
24
  });
25
25
  const icon = container.querySelector("svg");
26
- expect(icon).toHaveClass("text-red-600");
26
+ expect(icon).toHaveClass("text-accent-danger");
27
27
  });
28
28
 
29
29
  test("Has shake class when shake is true", () => {
@@ -64,7 +64,7 @@
64
64
  <Story name="Interactive Shake">
65
65
  <div class="space-y-4">
66
66
  <button
67
- class="px-4 py-2 bg-blue-500 text-white rounded hover:bg-primary"
67
+ class="px-4 py-2 bg-brand-primary text-white rounded hover:bg-primary"
68
68
  onclick={triggerShake}
69
69
  >
70
70
  Trigger Error Shake
@@ -95,7 +95,7 @@
95
95
  <input
96
96
  id="error-display-email"
97
97
  type="email"
98
- class="w-full px-3 py-2 border border-red-500 rounded"
98
+ class="w-full px-3 py-2 border border-status-error-border rounded"
99
99
  value="invalid-email"
100
100
  />
101
101
  <div class="mt-1">
@@ -46,8 +46,8 @@
46
46
  <div
47
47
  class="flex flex-col items-center justify-center px-6 py-10 text-center {shake ? 'animate-shake' : ''} {className}"
48
48
  >
49
- <div class="w-14 h-14 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center mb-4">
50
- <Icon name={icon} size="28" class="text-red-600 dark:text-red-400" />
49
+ <div class="w-14 h-14 rounded-full bg-status-error-bg flex items-center justify-center mb-4">
50
+ <Icon name={icon} size="28" class="text-accent-danger" />
51
51
  </div>
52
52
 
53
53
  {#if title}
@@ -26,7 +26,7 @@
26
26
  <div class="spinner" style="width: {size}px; height: {size}px;">
27
27
  <svg viewBox="0 0 50 50">
28
28
  <circle
29
- class="stroke-gray-200 dark:stroke-gray-600"
29
+ class="stroke-gray-200"
30
30
  cx="25"
31
31
  cy="25"
32
32
  r="20"
@@ -34,7 +34,7 @@
34
34
  stroke-width="4"
35
35
  />
36
36
  <circle
37
- class="spinner-head stroke-blue-700 dark:stroke-blue-500"
37
+ class="spinner-head stroke-blue-700"
38
38
  cx="25"
39
39
  cy="25"
40
40
  r="20"
@@ -47,7 +47,7 @@
47
47
  <div class="success-circle" style="width: {size}px; height: {size}px;">
48
48
  <svg viewBox="0 0 50 50">
49
49
  <circle
50
- class="stroke-green-600 fill-green-50 dark:fill-green-900/20"
50
+ class="stroke-accent-success fill-status-success-bg"
51
51
  cx="25"
52
52
  cy="25"
53
53
  r="23"
@@ -55,7 +55,7 @@
55
55
  stroke-width="2"
56
56
  />
57
57
  <polyline
58
- class="checkmark stroke-green-600"
58
+ class="checkmark stroke-accent-success"
59
59
  points="15,26 22,33 35,18"
60
60
  fill="none"
61
61
  stroke-width="3"
@@ -68,7 +68,7 @@
68
68
  <div class="error-circle" style="width: {size}px; height: {size}px;">
69
69
  <svg viewBox="0 0 50 50">
70
70
  <circle
71
- class="stroke-red-600 fill-red-50 dark:fill-red-900/20"
71
+ class="stroke-accent-danger fill-status-error-bg"
72
72
  cx="25"
73
73
  cy="25"
74
74
  r="23"
@@ -76,13 +76,13 @@
76
76
  stroke-width="2"
77
77
  />
78
78
  <line
79
- class="error-x stroke-red-600"
79
+ class="error-x stroke-accent-danger"
80
80
  x1="17" y1="17" x2="33" y2="33"
81
81
  stroke-width="3"
82
82
  stroke-linecap="round"
83
83
  />
84
84
  <line
85
- class="error-x error-x-2 stroke-red-600"
85
+ class="error-x error-x-2 stroke-accent-danger"
86
86
  x1="33" y1="17" x2="17" y2="33"
87
87
  stroke-width="3"
88
88
  stroke-linecap="round"
@@ -39,7 +39,7 @@ describe('CheckboxField Label', () => {
39
39
  test('error state applies error styling to label', () => {
40
40
  const { container } = render(CheckboxField, { props: { label: 'Test', error: 'Required' } });
41
41
  const labelSpan = container.querySelector('span');
42
- expect(labelSpan).toHaveClass('text-red-500');
42
+ expect(labelSpan).toHaveClass('text-accent-danger');
43
43
  });
44
44
  });
45
45
 
@@ -65,7 +65,7 @@ describe('CheckboxField Description', () => {
65
65
  describe('CheckboxField Error', () => {
66
66
  test('no error shows no validation message', () => {
67
67
  const { container } = render(CheckboxField);
68
- const errorDiv = container.querySelector('.text-red-600');
68
+ const errorDiv = container.querySelector('.text-accent-danger');
69
69
  expect(errorDiv).not.toBeInTheDocument();
70
70
  });
71
71
 
@@ -70,8 +70,8 @@
70
70
  {#if label || description}
71
71
  <div class="flex flex-col">
72
72
  {#if label}
73
- <span class={`${typography.label} ${error ? 'text-red-500' : ''}`}>
74
- {label}{#if required}<span class="text-red-500 ml-0.5">*</span>{/if}
73
+ <span class={`${typography.label} ${error ? 'text-accent-danger' : ''}`}>
74
+ {label}{#if required}<span class="text-accent-danger ml-0.5">*</span>{/if}
75
75
  </span>
76
76
  {/if}
77
77
  {#if description}
@@ -45,20 +45,20 @@ describe('FormField Label', () => {
45
45
 
46
46
  test('required asterisk has red color', () => {
47
47
  const { container } = render(FormField, { props: { label: 'Name', required: true } });
48
- const asterisk = container.querySelector('.text-red-500');
48
+ const asterisk = container.querySelector('.text-accent-danger');
49
49
  expect(asterisk).toHaveTextContent('*');
50
50
  });
51
51
 
52
52
  test('error changes label color to red', () => {
53
53
  const { container } = render(FormField, { props: { label: 'Email', error: 'Invalid' } });
54
54
  const label = container.querySelector('label');
55
- expect(label).toHaveClass('text-red-700');
55
+ expect(label).toHaveClass('text-status-error-text');
56
56
  });
57
57
 
58
58
  test('no error keeps label gray', () => {
59
59
  const { container } = render(FormField, { props: { label: 'Email' } });
60
60
  const label = container.querySelector('label');
61
- expect(label).toHaveClass('text-gray-900');
61
+ expect(label).toHaveClass('text-text-primary');
62
62
  });
63
63
  });
64
64
 
@@ -100,7 +100,7 @@ describe('FormField Error', () => {
100
100
 
101
101
  test('error message uses ValidationError component', () => {
102
102
  const { container } = render(FormField, { props: { error: 'Invalid input' } });
103
- const errorDiv = container.querySelector('.text-red-600');
103
+ const errorDiv = container.querySelector('.text-accent-danger');
104
104
  expect(errorDiv).toBeInTheDocument();
105
105
  });
106
106
  });
@@ -40,7 +40,7 @@
40
40
  <div class="space-y-1 {className}">
41
41
  {#if label}
42
42
  <Label for={id} color={labelColor}>
43
- {label}{#if required}<span class="text-red-500 ml-0.5">*</span>{/if}
43
+ {label}{#if required}<span class="text-accent-danger ml-0.5">*</span>{/if}
44
44
  </Label>
45
45
  {/if}
46
46
 
@@ -58,7 +58,7 @@ describe('RadioGroup Label', () => {
58
58
  test('error state applies red text to legend', () => {
59
59
  const { container } = render(RadioGroup, { props: { label: 'Test', error: 'Required' } });
60
60
  const legend = container.querySelector('legend');
61
- expect(legend).toHaveClass('text-red-500');
61
+ expect(legend).toHaveClass('text-accent-danger');
62
62
  });
63
63
  });
64
64
 
@@ -63,8 +63,8 @@
63
63
 
64
64
  <fieldset class={className}>
65
65
  {#if label}
66
- <legend class={`${typography.label} mb-2 ${error ? 'text-red-500' : ''}`}>
67
- {label}{#if required}<span class="text-red-500 ml-0.5">*</span>{/if}
66
+ <legend class={`${typography.label} mb-2 ${error ? 'text-accent-danger' : ''}`}>
67
+ {label}{#if required}<span class="text-accent-danger ml-0.5">*</span>{/if}
68
68
  </legend>
69
69
  {/if}
70
70
 
@@ -101,13 +101,13 @@ describe('SelectField Error', () => {
101
101
  test('error applies error border to button', () => {
102
102
  const { container } = render(SelectField, { props: { error: 'Required' } });
103
103
  const button = container.querySelector('button[aria-haspopup="listbox"]');
104
- expect(button).toHaveClass('border-red-500');
104
+ expect(button).toHaveClass('border-status-error-border');
105
105
  });
106
106
 
107
107
  test('no error means no error border', () => {
108
108
  const { container } = render(SelectField);
109
109
  const button = container.querySelector('button[aria-haspopup="listbox"]');
110
- expect(button).not.toHaveClass('border-red-500');
110
+ expect(button).not.toHaveClass('border-status-error-border');
111
111
  });
112
112
  });
113
113
 
@@ -92,7 +92,7 @@ describe('TextareaField Error', () => {
92
92
  test('no error shows no validation styling', () => {
93
93
  const { container } = render(TextareaField);
94
94
  const textarea = container.querySelector('textarea');
95
- expect(textarea).not.toHaveClass('border-red-500');
95
+ expect(textarea).not.toHaveClass('border-status-error-border');
96
96
  });
97
97
 
98
98
  test('error prop shows validation message', () => {
@@ -103,7 +103,7 @@ describe('TextareaField Error', () => {
103
103
  test('error applies error border to textarea', () => {
104
104
  const { container } = render(TextareaField, { props: { error: 'Required' } });
105
105
  const textarea = container.querySelector('textarea');
106
- expect(textarea).toHaveClass('border-red-500');
106
+ expect(textarea).toHaveClass('border-status-error-border');
107
107
  });
108
108
  });
109
109
 
@@ -35,7 +35,7 @@ describe('ToggleField Label', () => {
35
35
  test('error state applies error styling to label', () => {
36
36
  const { container } = render(ToggleField, { props: { label: 'Test', error: 'Required' } });
37
37
  const labelSpan = container.querySelector('span');
38
- expect(labelSpan).toHaveClass('text-red-500');
38
+ expect(labelSpan).toHaveClass('text-accent-danger');
39
39
  });
40
40
  });
41
41
 
@@ -61,7 +61,7 @@ describe('ToggleField Description', () => {
61
61
  describe('ToggleField Error', () => {
62
62
  test('no error shows no validation message', () => {
63
63
  const { container } = render(ToggleField);
64
- const errorDiv = container.querySelector('.text-red-600');
64
+ const errorDiv = container.querySelector('.text-accent-danger');
65
65
  expect(errorDiv).not.toBeInTheDocument();
66
66
  });
67
67
 
@@ -39,7 +39,7 @@
39
39
  {#if label || description}
40
40
  <div class="flex flex-col">
41
41
  {#if label}
42
- <span class={`${typography.label} ${error ? 'text-red-500' : ''}`}>
42
+ <span class={`${typography.label} ${error ? 'text-accent-danger' : ''}`}>
43
43
  {label}
44
44
  </span>
45
45
  {/if}
@@ -98,7 +98,7 @@
98
98
  onchange={(e) => console.log('Selected:', e.value)}
99
99
  />
100
100
 
101
- <div class="p-4 bg-gray-100 dark:bg-gray-700 rounded">
101
+ <div class="p-4 bg-muted rounded">
102
102
  <p class="text-sm font-medium">Selected: {selectedFruits.join(', ') || 'None'}</p>
103
103
  </div>
104
104
  </div>
@@ -125,7 +125,7 @@
125
125
 
126
126
  <button
127
127
  type="submit"
128
- class="w-full px-4 py-2 bg-blue-500 text-white rounded hover:bg-primary"
128
+ class="w-full px-4 py-2 bg-brand-primary text-white rounded hover:bg-primary"
129
129
  >
130
130
  Submit
131
131
  </button>
@@ -182,7 +182,7 @@
182
182
  {#if label}
183
183
  <div class="flex justify-start items-center gap-1">
184
184
  <label for={id || name} class={`${typography.label} leading-tight`}>
185
- {label}{#if required}<span class="text-red-500 font-medium text-sm ml-0.5">*</span>{/if}
185
+ {label}{#if required}<span class="text-accent-danger font-medium text-sm ml-0.5">*</span>{/if}
186
186
  </label>
187
187
  </div>
188
188
  {/if}
@@ -192,8 +192,8 @@
192
192
  <div
193
193
  bind:this={triggerElement}
194
194
  {id}
195
- class="flex items-center justify-between gap-2 w-full {sizeClass} bg-gray-50 dark:bg-gray-800 border rounded-lg cursor-pointer text-left transition-all focus:outline-hidden focus:ring-4 focus:ring-blue-300 dark:focus:ring-blue-800
196
- {error ? 'border-red-500 dark:border-red-500' : 'border-gray-300 dark:border-gray-600 hover:border-blue-500 dark:hover:border-blue-500 focus:border-blue-500 dark:focus:border-blue-500'}
195
+ class="flex items-center justify-between gap-2 w-full {sizeClass} bg-bg-secondary border rounded-lg cursor-pointer text-left transition-all focus:outline-hidden focus:ring-4 focus:ring-focus-ring
196
+ {error ? 'border-status-error-border' : 'border-stroke-primary hover:border-interactive-border focus:border-interactive-border'}
197
197
  {disabled ? 'opacity-50 cursor-not-allowed' : ''}
198
198
  {animateFocus ? 'multiselect-animate-focus' : ''}"
199
199
  role="combobox"
@@ -211,11 +211,11 @@
211
211
  {#if hasSelection}
212
212
  <div class="flex flex-wrap gap-1.5">
213
213
  {#each selectedItems as item}
214
- <span class="inline-flex items-center px-2 py-1 bg-blue-100 rounded dark:bg-blue-900">
214
+ <span class="inline-flex items-center px-2 py-1 bg-status-info-bg rounded">
215
215
  <span class={`${typography.sm} overflow-hidden text-ellipsis whitespace-nowrap`} style="color-scheme: light dark;">{item.name}</span>
216
216
  <button
217
217
  type="button"
218
- class="inline-flex items-center p-0.5 ms-1.5 text-sm text-blue-400 bg-transparent rounded-xs hover:bg-blue-200 hover:text-blue-900 dark:hover:bg-blue-800 dark:hover:text-blue-300"
218
+ class="inline-flex items-center p-0.5 ms-1.5 text-sm text-brand-primary bg-transparent rounded-xs hover:bg-status-info-bg/80 hover:text-brand-primary"
219
219
  onclick={(e) => removeItem(item, e)}
220
220
  aria-label={typeof labels.removeItem === 'function' ? labels.removeItem(item.name) : `Remove ${item.name}`}
221
221
  >
@@ -233,7 +233,7 @@
233
233
  {#if hasSelection && !hideClear}
234
234
  <button
235
235
  type="button"
236
- class="flex items-center justify-center w-5 h-5 p-0 bg-transparent border-none cursor-pointer text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-200 rounded"
236
+ class="flex items-center justify-center w-5 h-5 p-0 bg-transparent border-none cursor-pointer text-muted-foreground hover:text-text-secondary rounded"
237
237
  onclick={clearAll}
238
238
  aria-label={labels.clearAll}
239
239
  >
@@ -249,7 +249,7 @@
249
249
  <ul
250
250
  bind:this={dropdownElement}
251
251
  id="{id || name}-listbox"
252
- class="absolute top-full left-0 right-0 z-50 mt-1 bg-white dark:bg-gray-700 border border-gray-200 dark:border-gray-600 rounded-lg shadow-lg max-h-60 overflow-y-auto list-none m-0 py-1"
252
+ class="absolute top-full left-0 right-0 z-50 mt-1 bg-card border border-border rounded-lg shadow-lg max-h-60 overflow-y-auto list-none m-0 py-1"
253
253
  role="listbox"
254
254
  tabindex="-1"
255
255
  aria-multiselectable="true"
@@ -263,7 +263,7 @@
263
263
  <li
264
264
  id="{id || name}-option-{index}"
265
265
  class="flex items-center gap-2 px-3 py-2 cursor-pointer transition-colors {typography.sm}
266
- {index === focusedIndex || value.includes(item.value) ? 'bg-gray-100 dark:bg-gray-600' : 'hover:bg-gray-100 dark:hover:bg-gray-600'}"
266
+ {index === focusedIndex || value.includes(item.value) ? 'bg-muted' : 'hover:bg-muted'}"
267
267
  role="option"
268
268
  aria-selected={value.includes(item.value)}
269
269
  onclick={() => toggleItem(item)}
@@ -273,7 +273,7 @@
273
273
  <input
274
274
  type="checkbox"
275
275
  checked={value.includes(item.value)}
276
- class="multiselect-checkbox w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 rounded focus:ring-blue-500 dark:focus:ring-blue-600 dark:ring-offset-gray-700 dark:focus:ring-offset-gray-700 focus:ring-2 dark:bg-gray-600 dark:border-gray-500 {value.includes(item.value) ? 'multiselect-checkbox-checked' : ''}"
276
+ class="multiselect-checkbox w-4 h-4 text-brand-primary bg-muted border-stroke-primary rounded focus:ring-focus-ring focus:ring-2 {value.includes(item.value) ? 'multiselect-checkbox-checked' : ''}"
277
277
  tabindex="-1"
278
278
  onclick={(e) => { e.stopPropagation(); toggleItem(item); }}
279
279
  />
@@ -286,6 +286,6 @@
286
286
  </div>
287
287
 
288
288
  {#if error}
289
- <p class={`${typography.sm} text-red-500 dark:text-red-400`}>{error}</p>
289
+ <p class={`${typography.sm} text-accent-danger`}>{error}</p>
290
290
  {/if}
291
291
  </div>