aural-ui 3.0.7 → 4.0.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 (166) hide show
  1. package/dist/components/aspect-ratio/AspectRatio.stories.tsx +271 -242
  2. package/dist/components/avatar/Avatar.stories.tsx +84 -70
  3. package/dist/components/button/Button.stories.tsx +7 -7
  4. package/dist/components/button/index.tsx +7 -7
  5. package/dist/components/card/Card.stories.tsx +3 -3
  6. package/dist/components/char-count/CharCount.stories.tsx +9 -9
  7. package/dist/components/circular-loader/CircularLoader.stories.tsx +109 -93
  8. package/dist/components/collapsible/Collapsible.stories.tsx +1 -1
  9. package/dist/components/command/Command.stories.tsx +52 -38
  10. package/dist/components/dialog/Dialog.stories.tsx +89 -84
  11. package/dist/components/divider/Divider.stories.tsx +86 -60
  12. package/dist/components/dot-loader/DotLoader.stories.tsx +12 -12
  13. package/dist/components/drawer/Drawer.stories.tsx +74 -44
  14. package/dist/components/drawer/index.tsx +3 -3
  15. package/dist/components/dropdown/Dropdown.stories.tsx +42 -32
  16. package/dist/components/helper-text/HelperText.stories.tsx +2 -2
  17. package/dist/components/hover-card/HoverCard.stories.tsx +211 -178
  18. package/dist/components/input/Input.stories.tsx +2 -2
  19. package/dist/components/label/Label.stories.tsx +10 -10
  20. package/dist/components/list/List.stories.tsx +58 -44
  21. package/dist/components/marquee/Marquee.stories.tsx +131 -113
  22. package/dist/components/otp-inputs/OtpInputs.stories.tsx +47 -35
  23. package/dist/components/overlay/Overlay.stories.tsx +98 -92
  24. package/dist/components/overlay/index.tsx +4 -4
  25. package/dist/components/popover/Popover.stories.tsx +132 -106
  26. package/dist/components/radio/Radio.stories.tsx +2 -2
  27. package/dist/components/resizable/Resizable.stories.tsx +186 -138
  28. package/dist/components/scroll-area/ScrollArea.stories.tsx +174 -120
  29. package/dist/components/search/Search.stories.tsx +81 -59
  30. package/dist/components/select/Select.stories.tsx +3 -1
  31. package/dist/components/sheet/Sheet.stories.tsx +68 -54
  32. package/dist/components/slider/Slider.stories.tsx +71 -47
  33. package/dist/components/stepper/Stepper.stories.tsx +16 -16
  34. package/dist/components/switch/Switch.stories.tsx +12 -12
  35. package/dist/components/table/Table.stories.tsx +8 -6
  36. package/dist/components/tabs/Tabs.stories.tsx +324 -268
  37. package/dist/components/textarea/TextArea.stories.tsx +1 -1
  38. package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +16 -10
  39. package/dist/components/toast/Toast.stories.tsx +51 -45
  40. package/dist/components/toggle/Toggle.stories.tsx +111 -89
  41. package/dist/components/tooltip/Tooltip.stories.tsx +160 -144
  42. package/dist/icons/Icons.stories.tsx +2 -2
  43. package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +287 -237
  44. package/dist/icons/alert-icon/AlertIcon.stories.tsx +290 -248
  45. package/dist/icons/all-icons.tsx +97 -81
  46. package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +312 -270
  47. package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +294 -244
  48. package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +309 -279
  49. package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +294 -258
  50. package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +289 -255
  51. package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +288 -256
  52. package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +322 -288
  53. package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +340 -296
  54. package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +197 -177
  55. package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +390 -328
  56. package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +313 -277
  57. package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +367 -309
  58. package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +356 -308
  59. package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +280 -234
  60. package/dist/icons/camera-icon/CameraIcon.stories.tsx +370 -326
  61. package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +300 -256
  62. package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +298 -262
  63. package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +294 -260
  64. package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +291 -259
  65. package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +286 -256
  66. package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +282 -256
  67. package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +292 -256
  68. package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +338 -290
  69. package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +167 -148
  70. package/dist/icons/coin-icon/CoinIcon.stories.tsx +342 -296
  71. package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +342 -296
  72. package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +280 -238
  73. package/dist/icons/command-icon/CommandIcon.stories.tsx +328 -280
  74. package/dist/icons/copy-icon/CopyIcon.stories.tsx +294 -256
  75. package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +285 -235
  76. package/dist/icons/cross-icon/CrossIcon.stories.tsx +308 -266
  77. package/dist/icons/download-icon/DownloadIcon.stories.tsx +271 -231
  78. package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +330 -278
  79. package/dist/icons/email-icon/EmailIcon.stories.tsx +303 -257
  80. package/dist/icons/expand-icon/ExpandIcon.stories.tsx +324 -286
  81. package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +317 -271
  82. package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +320 -272
  83. package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +322 -280
  84. package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +315 -277
  85. package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +199 -177
  86. package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +304 -264
  87. package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +311 -277
  88. package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +327 -287
  89. package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +314 -278
  90. package/dist/icons/globe-icon/GlobeIcon.stories.tsx +113 -98
  91. package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +274 -226
  92. package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +349 -303
  93. package/dist/icons/head-icon/HeadIcon.stories.tsx +286 -246
  94. package/dist/icons/heart-icon/HeartIcon.stories.tsx +312 -268
  95. package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +246 -210
  96. package/dist/icons/image-icon/ImageIcon.stories.tsx +330 -284
  97. package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +326 -282
  98. package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +330 -294
  99. package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +288 -234
  100. package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +386 -330
  101. package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +305 -263
  102. package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +295 -259
  103. package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +296 -256
  104. package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +322 -282
  105. package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +399 -359
  106. package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +314 -272
  107. package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +238 -206
  108. package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +322 -276
  109. package/dist/icons/message-icon/MessageIcon.stories.tsx +192 -170
  110. package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +348 -304
  111. package/dist/icons/moon-icon/MoonIcon.stories.tsx +191 -167
  112. package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +380 -326
  113. package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +345 -291
  114. package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +310 -266
  115. package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +311 -271
  116. package/dist/icons/notes-icon/NotesIcon.stories.tsx +311 -271
  117. package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +309 -271
  118. package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +248 -210
  119. package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +310 -262
  120. package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +274 -236
  121. package/dist/icons/pause-icon/PauseIcon.stories.tsx +324 -280
  122. package/dist/icons/pencil-icon/PencilIcon.stories.tsx +323 -281
  123. package/dist/icons/phone-icon/PhoneIcon.stories.tsx +288 -240
  124. package/dist/icons/plus-icon/PlusIcon.stories.tsx +315 -273
  125. package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +278 -234
  126. package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +161 -151
  127. package/dist/icons/search-icon/SearchIcon.stories.tsx +324 -284
  128. package/dist/icons/setting-icon/SettingIcon.stories.tsx +306 -264
  129. package/dist/icons/share-icon/ShareIcon.stories.tsx +314 -272
  130. package/dist/icons/shield-icon/ShieldIcon.stories.tsx +281 -235
  131. package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +309 -250
  132. package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +317 -279
  133. package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +315 -279
  134. package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +299 -253
  135. package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +185 -169
  136. package/dist/icons/spinner-gradient-icon/index.tsx +6 -1
  137. package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +192 -168
  138. package/dist/icons/spinner-solid-icon/index.tsx +6 -1
  139. package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +212 -178
  140. package/dist/icons/spinner-solid-neutral-icon/index.tsx +1 -1
  141. package/dist/icons/star-icon/StarIcon.stories.tsx +290 -244
  142. package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +286 -234
  143. package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +272 -230
  144. package/dist/icons/sun-icon/SunIcon.stories.tsx +262 -226
  145. package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +321 -279
  146. package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +332 -282
  147. package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +394 -342
  148. package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +338 -290
  149. package/dist/icons/tick-icon/TickIcon.stories.tsx +364 -315
  150. package/dist/icons/trash-icon/TrashIcon.stories.tsx +293 -253
  151. package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +396 -338
  152. package/dist/icons/upload-icon/UploadIcon.stories.tsx +291 -247
  153. package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +309 -271
  154. package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +336 -290
  155. package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +382 -334
  156. package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +349 -305
  157. package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +327 -295
  158. package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +336 -296
  159. package/dist/icons/warning-icon/WarningIcon.stories.tsx +314 -274
  160. package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +311 -261
  161. package/dist/index.cjs +84 -84
  162. package/dist/index.js +84 -84
  163. package/dist/styles/aural-all-theme.css +1222 -0
  164. package/dist/styles/{aural-theme.css → aural-dark-theme.css} +15 -3
  165. package/dist/styles/aural-light-theme.css +1047 -0
  166. package/package.json +1 -1
@@ -716,7 +716,7 @@ export const Unstyled: Story = {
716
716
  placeholder: "Completely unstyled textarea...",
717
717
  unstyled: true,
718
718
  className:
719
- "border-2 border-dashed border-gray-300 p-4 rounded-lg bg-gray-50",
719
+ "border-2 border-dashed border-fm-divider-secondary p-4 rounded-lg bg-fm-surface-secondary",
720
720
  fullWidth: true,
721
721
  },
722
722
  parameters: {
@@ -111,7 +111,9 @@ export const AllVariants: Story = {
111
111
  render: () => (
112
112
  <div className="flex flex-col gap-6">
113
113
  <div className="space-y-4">
114
- <h3 className="text-fm-lg font-semibold text-white">Promotional Tag</h3>
114
+ <h3 className="text-fm-lg text-fm-primary font-semibold">
115
+ Promotional Tag
116
+ </h3>
115
117
  <div className="flex gap-4">
116
118
  <ThumbnailTags variant="promotional" text="30% off" />
117
119
  <ThumbnailTags variant="promotional" text="NEW" />
@@ -120,7 +122,9 @@ export const AllVariants: Story = {
120
122
  </div>
121
123
 
122
124
  <div className="space-y-4">
123
- <h3 className="text-fm-lg font-semibold text-white">Checked Tag</h3>
125
+ <h3 className="text-fm-lg text-fm-primary font-semibold">
126
+ Checked Tag
127
+ </h3>
124
128
  <div className="flex gap-4">
125
129
  <ThumbnailTags variant="checked" />
126
130
  <ThumbnailTags variant="checked" />
@@ -129,7 +133,9 @@ export const AllVariants: Story = {
129
133
  </div>
130
134
 
131
135
  <div className="space-y-4">
132
- <h3 className="text-fm-lg font-semibold text-white">Engagement Tag</h3>
136
+ <h3 className="text-fm-lg text-fm-primary font-semibold">
137
+ Engagement Tag
138
+ </h3>
133
139
  <div className="flex gap-4">
134
140
  <ThumbnailTags
135
141
  variant="engagement"
@@ -150,14 +156,14 @@ export const AllVariants: Story = {
150
156
  </div>
151
157
 
152
158
  <div className="space-y-4">
153
- <h3 className="text-fm-lg font-semibold text-white">Top 10 Tag</h3>
159
+ <h3 className="text-fm-lg text-fm-primary font-semibold">Top 10 Tag</h3>
154
160
  <div className="flex gap-4">
155
161
  <ThumbnailTags variant="top10" />
156
162
  </div>
157
163
  </div>
158
164
 
159
165
  <div className="space-y-4">
160
- <h3 className="text-fm-lg font-semibold text-white">
166
+ <h3 className="text-fm-lg text-fm-primary font-semibold">
161
167
  Completed Series Tag
162
168
  </h3>
163
169
  <div className="flex gap-4">
@@ -166,7 +172,7 @@ export const AllVariants: Story = {
166
172
  </div>
167
173
 
168
174
  <div className="space-y-4">
169
- <h3 className="text-fm-lg font-semibold text-white">Ranked Tag</h3>
175
+ <h3 className="text-fm-lg text-fm-primary font-semibold">Ranked Tag</h3>
170
176
  <div className="flex gap-4">
171
177
  <ThumbnailTags variant="ranked" text="#1 show" />
172
178
  </div>
@@ -183,7 +189,7 @@ export const UseCases: Story = {
183
189
  render: () => (
184
190
  <div className="space-y-8">
185
191
  <div className="space-y-4">
186
- <h3 className="text-fm-lg font-semibold text-white">
192
+ <h3 className="text-fm-lg text-fm-primary font-semibold">
187
193
  Promotional Tags
188
194
  </h3>
189
195
  <div className="flex gap-4">
@@ -194,7 +200,7 @@ export const UseCases: Story = {
194
200
  </div>
195
201
 
196
202
  <div className="space-y-4">
197
- <h3 className="text-fm-lg font-semibold text-white">
203
+ <h3 className="text-fm-lg text-fm-primary font-semibold">
198
204
  Status Indicators
199
205
  </h3>
200
206
  <div className="flex gap-4">
@@ -203,7 +209,7 @@ export const UseCases: Story = {
203
209
  </div>
204
210
 
205
211
  <div className="space-y-4">
206
- <h3 className="text-fm-lg font-semibold text-white">
212
+ <h3 className="text-fm-lg text-fm-primary font-semibold">
207
213
  Engagement Metrics
208
214
  </h3>
209
215
  <div className="flex gap-4">
@@ -226,7 +232,7 @@ export const UseCases: Story = {
226
232
  </div>
227
233
 
228
234
  <div className="space-y-4">
229
- <h3 className="text-fm-lg font-semibold text-white">
235
+ <h3 className="text-fm-lg text-fm-primary font-semibold">
230
236
  Achievement Badges
231
237
  </h3>
232
238
  <div className="flex gap-4">
@@ -813,24 +813,26 @@ export const AccessibilityFeatures: Story = {
813
813
  <p>Toast notifications are built with accessibility in mind.</p>
814
814
 
815
815
  <div className="space-y-3">
816
- <div className="rounded-lg bg-blue-50 p-4">
817
- <h3 className="font-medium text-blue-900">Keyboard Navigation</h3>
818
- <p className="text-sm text-blue-700">
816
+ <div className="bg-fm-surface-info-sec rounded-lg p-4">
817
+ <h3 className="text-fm-info font-medium">Keyboard Navigation</h3>
818
+ <p className="text-fm-info-sec text-sm">
819
819
  Use Tab to focus toasts, Enter/Space to activate actions, Escape to
820
820
  dismiss.
821
821
  </p>
822
822
  </div>
823
823
 
824
- <div className="rounded-lg bg-green-50 p-4">
825
- <h3 className="font-medium text-green-900">Screen Reader Support</h3>
826
- <p className="text-sm text-green-700">
824
+ <div className="bg-fm-surface-positive-sec rounded-lg p-4">
825
+ <h3 className="text-fm-positive font-medium">
826
+ Screen Reader Support
827
+ </h3>
828
+ <p className="text-fm-positive text-sm">
827
829
  Toasts are announced to screen readers with proper ARIA labels.
828
830
  </p>
829
831
  </div>
830
832
 
831
- <div className="rounded-lg bg-purple-50 p-4">
832
- <h3 className="font-medium text-purple-900">Reduced Motion</h3>
833
- <p className="text-sm text-purple-700">
833
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
834
+ <h3 className="text-fm-primary font-medium">Reduced Motion</h3>
835
+ <p className="text-fm-secondary text-sm">
834
836
  Respects user's motion preferences for animations.
835
837
  </p>
836
838
  </div>
@@ -985,14 +987,14 @@ export const HeadlessCustomDesign: Story = {
985
987
  ) => {
986
988
  toast.custom((t) => (
987
989
  <div
988
- className={`flex items-center gap-3 rounded-xl border p-4 shadow-lg backdrop-blur-sm ${type === "success" ? "border-green-200 bg-green-50/90 text-green-800" : ""} ${type === "error" ? "border-red-200 bg-red-50/90 text-red-800" : ""} ${type === "warning" ? "border-orange-200 bg-orange-50/90 text-orange-800" : ""} ${type === "info" ? "border-blue-200 bg-blue-50/90 text-blue-800" : ""} transform transition-all duration-300 ease-in-out ${t ? "translate-x-0 opacity-100" : "translate-x-full opacity-0"} `}
990
+ className={`flex items-center gap-3 rounded-xl border p-4 shadow-lg backdrop-blur-sm ${type === "success" ? "border-fm-divider-positive bg-fm-surface-positive-sec text-fm-positive" : ""} ${type === "error" ? "border-fm-divider-secondary bg-fm-surface-negative-sec text-fm-negative" : ""} ${type === "warning" ? "border-fm-divider-warning bg-fm-surface-warning-sec text-fm-warning" : ""} ${type === "info" ? "border-fm-divider-secondary bg-fm-surface-info-sec text-fm-info" : ""} transform transition-all duration-300 ease-in-out ${t ? "translate-x-0 opacity-100" : "translate-x-full opacity-0"} `}
989
991
  >
990
992
  {/* Custom Icons */}
991
993
  <div className="flex-shrink-0">
992
994
  {type === "success" && (
993
- <div className="flex h-8 w-8 items-center justify-center rounded-full bg-green-100">
995
+ <div className="bg-fm-surface-positive-sec flex h-8 w-8 items-center justify-center rounded-full">
994
996
  <svg
995
- className="h-5 w-5 text-green-600"
997
+ className="text-fm-icon-positive h-5 w-5"
996
998
  fill="none"
997
999
  stroke="currentColor"
998
1000
  viewBox="0 0 24 24"
@@ -1007,9 +1009,9 @@ export const HeadlessCustomDesign: Story = {
1007
1009
  </div>
1008
1010
  )}
1009
1011
  {type === "error" && (
1010
- <div className="flex h-8 w-8 items-center justify-center rounded-full bg-red-100">
1012
+ <div className="bg-fm-surface-negative-sec flex h-8 w-8 items-center justify-center rounded-full">
1011
1013
  <svg
1012
- className="h-5 w-5 text-red-600"
1014
+ className="text-fm-icon-negative h-5 w-5"
1013
1015
  fill="none"
1014
1016
  stroke="currentColor"
1015
1017
  viewBox="0 0 24 24"
@@ -1024,9 +1026,9 @@ export const HeadlessCustomDesign: Story = {
1024
1026
  </div>
1025
1027
  )}
1026
1028
  {type === "warning" && (
1027
- <div className="flex h-8 w-8 items-center justify-center rounded-full bg-orange-100">
1029
+ <div className="bg-fm-surface-warning-sec flex h-8 w-8 items-center justify-center rounded-full">
1028
1030
  <svg
1029
- className="h-5 w-5 text-orange-600"
1031
+ className="text-fm-icon-warning h-5 w-5"
1030
1032
  fill="none"
1031
1033
  stroke="currentColor"
1032
1034
  viewBox="0 0 24 24"
@@ -1041,9 +1043,9 @@ export const HeadlessCustomDesign: Story = {
1041
1043
  </div>
1042
1044
  )}
1043
1045
  {type === "info" && (
1044
- <div className="flex h-8 w-8 items-center justify-center rounded-full bg-blue-100">
1046
+ <div className="bg-fm-surface-info-sec flex h-8 w-8 items-center justify-center rounded-full">
1045
1047
  <svg
1046
- className="h-5 w-5 text-blue-600"
1048
+ className="text-fm-info h-5 w-5"
1047
1049
  fill="none"
1048
1050
  stroke="currentColor"
1049
1051
  viewBox="0 0 24 24"
@@ -1088,7 +1090,7 @@ export const HeadlessCustomDesign: Story = {
1088
1090
  const cardToast = (title: string, description: string, avatar?: string) => {
1089
1091
  toast.custom((t) => (
1090
1092
  <div
1091
- className={`max-w-sm transform rounded-2xl border border-gray-200 bg-white p-4 shadow-xl transition-all duration-300 ease-in-out ${t ? "translate-y-0 scale-100 opacity-100" : "translate-y-2 scale-95 opacity-0"} `}
1093
+ className={`border-fm-divider-secondary bg-fm-surface-primary max-w-sm transform rounded-2xl border p-4 shadow-xl transition-all duration-300 ease-in-out ${t ? "translate-y-0 scale-100 opacity-100" : "translate-y-2 scale-95 opacity-0"} `}
1092
1094
  >
1093
1095
  <div className="flex items-start gap-3">
1094
1096
  {avatar && (
@@ -1101,15 +1103,19 @@ export const HeadlessCustomDesign: Story = {
1101
1103
  <div className="min-w-0 flex-1">
1102
1104
  <div className="flex items-start justify-between">
1103
1105
  <div>
1104
- <p className="text-sm font-semibold text-gray-900">{title}</p>
1105
- <p className="mt-1 text-sm text-gray-600">{description}</p>
1106
+ <p className="text-fm-primary text-sm font-semibold">
1107
+ {title}
1108
+ </p>
1109
+ <p className="text-fm-secondary mt-1 text-sm">
1110
+ {description}
1111
+ </p>
1106
1112
  </div>
1107
1113
  <button
1108
1114
  onClick={() => toast.dismiss(t)}
1109
- className="ml-2 flex-shrink-0 rounded-full p-1 transition-colors hover:bg-gray-100"
1115
+ className="hover:bg-fm-surface-secondary ml-2 flex-shrink-0 rounded-full p-1 transition-colors"
1110
1116
  >
1111
1117
  <svg
1112
- className="h-4 w-4 text-gray-400"
1118
+ className="text-fm-secondary h-4 w-4"
1113
1119
  fill="none"
1114
1120
  stroke="currentColor"
1115
1121
  viewBox="0 0 24 24"
@@ -1124,12 +1130,12 @@ export const HeadlessCustomDesign: Story = {
1124
1130
  </button>
1125
1131
  </div>
1126
1132
  <div className="mt-3 flex gap-2">
1127
- <button className="rounded-full bg-blue-600 px-3 py-1 text-xs text-white transition-colors hover:bg-blue-700">
1133
+ <button className="bg-fm-surface-info text-fm-surface-primary hover:bg-fm-surface-info rounded-full px-3 py-1 text-xs transition-colors">
1128
1134
  View
1129
1135
  </button>
1130
1136
  <button
1131
1137
  onClick={() => toast.dismiss(t)}
1132
- className="rounded-full bg-gray-100 px-3 py-1 text-xs text-gray-700 transition-colors hover:bg-gray-200"
1138
+ className="bg-fm-surface-secondary text-fm-secondary hover:bg-fm-surface-tertiary rounded-full px-3 py-1 text-xs transition-colors"
1133
1139
  >
1134
1140
  Dismiss
1135
1141
  </button>
@@ -1143,27 +1149,27 @@ export const HeadlessCustomDesign: Story = {
1143
1149
  const progressToast = (message: string) => {
1144
1150
  const toastId = toast.custom((t) => (
1145
1151
  <div
1146
- className={`min-w-[300px] transform rounded-xl border border-gray-200 bg-white p-4 shadow-lg transition-all duration-300 ease-in-out ${t ? "translate-x-0 opacity-100" : "translate-x-full opacity-0"} `}
1152
+ className={`border-fm-divider-secondary bg-fm-surface-primary min-w-[300px] transform rounded-xl border p-4 shadow-lg transition-all duration-300 ease-in-out ${t ? "translate-x-0 opacity-100" : "translate-x-full opacity-0"} `}
1147
1153
  >
1148
1154
  <div className="flex items-center gap-3">
1149
- <div className="flex h-8 w-8 items-center justify-center rounded-full bg-blue-100">
1150
- <div className="h-4 w-4 animate-spin rounded-full border-2 border-blue-600 border-t-transparent"></div>
1155
+ <div className="bg-fm-surface-info-sec flex h-8 w-8 items-center justify-center rounded-full">
1156
+ <div className="border-fm-info h-4 w-4 animate-spin rounded-full border-2 border-t-transparent"></div>
1151
1157
  </div>
1152
1158
  <div className="flex-1">
1153
- <p className="font-medium text-gray-900">{message}</p>
1154
- <div className="mt-2 h-2 w-full rounded-full bg-gray-200">
1159
+ <p className="text-fm-primary font-medium">{message}</p>
1160
+ <div className="bg-fm-surface-tertiary mt-2 h-2 w-full rounded-full">
1155
1161
  <div
1156
- className="progress-bar h-2 rounded-full bg-blue-600"
1162
+ className="progress-bar bg-fm-surface-info h-2 rounded-full"
1157
1163
  style={{ width: "0%" }}
1158
1164
  ></div>
1159
1165
  </div>
1160
1166
  </div>
1161
1167
  <button
1162
1168
  onClick={() => toast.dismiss(t)}
1163
- className="flex-shrink-0 rounded-full p-1 transition-colors hover:bg-gray-100"
1169
+ className="hover:bg-fm-surface-secondary flex-shrink-0 rounded-full p-1 transition-colors"
1164
1170
  >
1165
1171
  <svg
1166
- className="h-4 w-4 text-gray-400"
1172
+ className="text-fm-secondary h-4 w-4"
1167
1173
  fill="none"
1168
1174
  stroke="currentColor"
1169
1175
  viewBox="0 0 24 24"
@@ -1196,10 +1202,10 @@ export const HeadlessCustomDesign: Story = {
1196
1202
  setTimeout(() => {
1197
1203
  toast.dismiss(toastId)
1198
1204
  toast.custom(() => (
1199
- <div className="flex items-center gap-3 rounded-xl border border-green-200 bg-green-50 p-4">
1200
- <div className="flex h-8 w-8 items-center justify-center rounded-full bg-green-100">
1205
+ <div className="border-fm-divider-positive bg-fm-surface-positive-sec flex items-center gap-3 rounded-xl border p-4">
1206
+ <div className="bg-fm-surface-positive-sec flex h-8 w-8 items-center justify-center rounded-full">
1201
1207
  <svg
1202
- className="h-5 w-5 text-green-600"
1208
+ className="text-fm-icon-positive h-5 w-5"
1203
1209
  fill="none"
1204
1210
  stroke="currentColor"
1205
1211
  viewBox="0 0 24 24"
@@ -1212,7 +1218,7 @@ export const HeadlessCustomDesign: Story = {
1212
1218
  />
1213
1219
  </svg>
1214
1220
  </div>
1215
- <span className="font-medium text-green-800">
1221
+ <span className="text-fm-positive font-medium">
1216
1222
  Upload completed!
1217
1223
  </span>
1218
1224
  </div>
@@ -1225,17 +1231,17 @@ export const HeadlessCustomDesign: Story = {
1225
1231
  const glassmorphismToast = (message: string, emoji: string) => {
1226
1232
  toast.custom((t) => (
1227
1233
  <div
1228
- className={`transform rounded-2xl border border-white/30 bg-white/20 p-4 shadow-xl backdrop-blur-md transition-all duration-500 ease-out ${t ? "translate-y-0 scale-100 opacity-100" : "translate-y-4 scale-95 opacity-0"} `}
1234
+ className={`border-fm-divider-secondary bg-fm-surface-secondary transform rounded-2xl border p-4 shadow-xl backdrop-blur-md transition-all duration-500 ease-out ${t ? "translate-y-0 scale-100 opacity-100" : "translate-y-4 scale-95 opacity-0"} `}
1229
1235
  >
1230
1236
  <div className="flex items-center gap-3">
1231
1237
  <span className="text-2xl">{emoji}</span>
1232
- <span className="font-medium text-gray-800">{message}</span>
1238
+ <span className="text-fm-primary font-medium">{message}</span>
1233
1239
  <button
1234
1240
  onClick={() => toast.dismiss(t)}
1235
- className="ml-auto rounded-full p-1 transition-colors hover:bg-white/20"
1241
+ className="hover:bg-fm-surface-tertiary ml-auto rounded-full p-1 transition-colors"
1236
1242
  >
1237
1243
  <svg
1238
- className="h-4 w-4 text-gray-600"
1244
+ className="text-fm-secondary h-4 w-4"
1239
1245
  fill="none"
1240
1246
  stroke="currentColor"
1241
1247
  viewBox="0 0 24 24"
@@ -1377,8 +1383,8 @@ export const HeadlessCustomDesign: Story = {
1377
1383
  {/* Code Example */}
1378
1384
  <div className="space-y-3">
1379
1385
  <h3 className="text-lg font-medium">Implementation Example</h3>
1380
- <div className="rounded-lg bg-gray-50 p-4 text-sm">
1381
- <pre className="overflow-x-auto text-gray-800">
1386
+ <div className="bg-fm-surface-secondary rounded-lg p-4 text-sm">
1387
+ <pre className="text-fm-primary overflow-x-auto">
1382
1388
  {`// Custom toast with full control
1383
1389
  toast.custom((t) => (
1384
1390
  <div className={\`
@@ -1387,8 +1393,8 @@ toast.custom((t) => (
1387
1393
  \${t ? 'translate-x-0 opacity-100' : 'translate-x-full opacity-0'}
1388
1394
  \`}>
1389
1395
  <div className="flex items-center gap-3">
1390
- <div className="w-8 h-8 bg-blue-100 rounded-full flex items-center justify-center">
1391
- <CheckIcon className="w-5 h-5 text-blue-600" />
1396
+ <div className="w-8 h-8 bg-fm-surface-info-sec rounded-full flex items-center justify-center">
1397
+ <CheckIcon className="w-5 h-5 text-fm-info" />
1392
1398
  </div>
1393
1399
  <span className="font-medium">Custom message</span>
1394
1400
  <button onClick={() => toast.dismiss(t)}>