aural-ui 3.0.6 → 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 (169) 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/clamp-lines/ClampLines.stories.tsx +25 -0
  9. package/dist/components/clamp-lines/index.tsx +6 -1
  10. package/dist/components/collapsible/Collapsible.stories.tsx +1 -1
  11. package/dist/components/command/Command.stories.tsx +52 -38
  12. package/dist/components/dialog/Dialog.stories.tsx +89 -84
  13. package/dist/components/divider/Divider.stories.tsx +86 -60
  14. package/dist/components/dot-loader/DotLoader.stories.tsx +12 -12
  15. package/dist/components/drawer/Drawer.stories.tsx +74 -44
  16. package/dist/components/drawer/index.tsx +3 -3
  17. package/dist/components/dropdown/Dropdown.stories.tsx +42 -32
  18. package/dist/components/helper-text/HelperText.stories.tsx +2 -2
  19. package/dist/components/hover-card/HoverCard.stories.tsx +211 -178
  20. package/dist/components/input/Input.stories.tsx +2 -2
  21. package/dist/components/input/index.tsx +2 -0
  22. package/dist/components/label/Label.stories.tsx +10 -10
  23. package/dist/components/list/List.stories.tsx +58 -44
  24. package/dist/components/marquee/Marquee.stories.tsx +131 -113
  25. package/dist/components/otp-inputs/OtpInputs.stories.tsx +47 -35
  26. package/dist/components/overlay/Overlay.stories.tsx +98 -92
  27. package/dist/components/overlay/index.tsx +4 -4
  28. package/dist/components/popover/Popover.stories.tsx +132 -106
  29. package/dist/components/radio/Radio.stories.tsx +2 -2
  30. package/dist/components/resizable/Resizable.stories.tsx +186 -138
  31. package/dist/components/scroll-area/ScrollArea.stories.tsx +174 -120
  32. package/dist/components/search/Search.stories.tsx +81 -59
  33. package/dist/components/select/Select.stories.tsx +3 -1
  34. package/dist/components/sheet/Sheet.stories.tsx +68 -54
  35. package/dist/components/slider/Slider.stories.tsx +71 -47
  36. package/dist/components/stepper/Stepper.stories.tsx +16 -16
  37. package/dist/components/switch/Switch.stories.tsx +12 -12
  38. package/dist/components/table/Table.stories.tsx +8 -6
  39. package/dist/components/tabs/Tabs.stories.tsx +324 -268
  40. package/dist/components/textarea/TextArea.stories.tsx +1 -1
  41. package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +16 -10
  42. package/dist/components/toast/Toast.stories.tsx +51 -45
  43. package/dist/components/toggle/Toggle.stories.tsx +111 -89
  44. package/dist/components/tooltip/Tooltip.stories.tsx +160 -144
  45. package/dist/icons/Icons.stories.tsx +2 -2
  46. package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +287 -237
  47. package/dist/icons/alert-icon/AlertIcon.stories.tsx +290 -248
  48. package/dist/icons/all-icons.tsx +97 -81
  49. package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +312 -270
  50. package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +294 -244
  51. package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +309 -279
  52. package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +294 -258
  53. package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +289 -255
  54. package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +288 -256
  55. package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +322 -288
  56. package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +340 -296
  57. package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +197 -177
  58. package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +390 -328
  59. package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +313 -277
  60. package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +367 -309
  61. package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +356 -308
  62. package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +280 -234
  63. package/dist/icons/camera-icon/CameraIcon.stories.tsx +370 -326
  64. package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +300 -256
  65. package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +298 -262
  66. package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +294 -260
  67. package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +291 -259
  68. package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +286 -256
  69. package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +282 -256
  70. package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +292 -256
  71. package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +338 -290
  72. package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +167 -148
  73. package/dist/icons/coin-icon/CoinIcon.stories.tsx +342 -296
  74. package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +342 -296
  75. package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +280 -238
  76. package/dist/icons/command-icon/CommandIcon.stories.tsx +328 -280
  77. package/dist/icons/copy-icon/CopyIcon.stories.tsx +294 -256
  78. package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +285 -235
  79. package/dist/icons/cross-icon/CrossIcon.stories.tsx +308 -266
  80. package/dist/icons/download-icon/DownloadIcon.stories.tsx +271 -231
  81. package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +330 -278
  82. package/dist/icons/email-icon/EmailIcon.stories.tsx +303 -257
  83. package/dist/icons/expand-icon/ExpandIcon.stories.tsx +324 -286
  84. package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +317 -271
  85. package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +320 -272
  86. package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +322 -280
  87. package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +315 -277
  88. package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +199 -177
  89. package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +304 -264
  90. package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +311 -277
  91. package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +327 -287
  92. package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +314 -278
  93. package/dist/icons/globe-icon/GlobeIcon.stories.tsx +113 -98
  94. package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +274 -226
  95. package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +349 -303
  96. package/dist/icons/head-icon/HeadIcon.stories.tsx +286 -246
  97. package/dist/icons/heart-icon/HeartIcon.stories.tsx +312 -268
  98. package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +246 -210
  99. package/dist/icons/image-icon/ImageIcon.stories.tsx +330 -284
  100. package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +326 -282
  101. package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +330 -294
  102. package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +288 -234
  103. package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +386 -330
  104. package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +305 -263
  105. package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +295 -259
  106. package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +296 -256
  107. package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +322 -282
  108. package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +399 -359
  109. package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +314 -272
  110. package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +238 -206
  111. package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +322 -276
  112. package/dist/icons/message-icon/MessageIcon.stories.tsx +192 -170
  113. package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +348 -304
  114. package/dist/icons/moon-icon/MoonIcon.stories.tsx +191 -167
  115. package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +380 -326
  116. package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +345 -291
  117. package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +310 -266
  118. package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +311 -271
  119. package/dist/icons/notes-icon/NotesIcon.stories.tsx +311 -271
  120. package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +309 -271
  121. package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +248 -210
  122. package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +310 -262
  123. package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +274 -236
  124. package/dist/icons/pause-icon/PauseIcon.stories.tsx +324 -280
  125. package/dist/icons/pencil-icon/PencilIcon.stories.tsx +323 -281
  126. package/dist/icons/phone-icon/PhoneIcon.stories.tsx +288 -240
  127. package/dist/icons/plus-icon/PlusIcon.stories.tsx +315 -273
  128. package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +278 -234
  129. package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +161 -151
  130. package/dist/icons/search-icon/SearchIcon.stories.tsx +324 -284
  131. package/dist/icons/setting-icon/SettingIcon.stories.tsx +306 -264
  132. package/dist/icons/share-icon/ShareIcon.stories.tsx +314 -272
  133. package/dist/icons/shield-icon/ShieldIcon.stories.tsx +281 -235
  134. package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +309 -250
  135. package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +317 -279
  136. package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +315 -279
  137. package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +299 -253
  138. package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +185 -169
  139. package/dist/icons/spinner-gradient-icon/index.tsx +6 -1
  140. package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +192 -168
  141. package/dist/icons/spinner-solid-icon/index.tsx +6 -1
  142. package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +212 -178
  143. package/dist/icons/spinner-solid-neutral-icon/index.tsx +1 -1
  144. package/dist/icons/star-icon/StarIcon.stories.tsx +290 -244
  145. package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +286 -234
  146. package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +272 -230
  147. package/dist/icons/sun-icon/SunIcon.stories.tsx +262 -226
  148. package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +321 -279
  149. package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +332 -282
  150. package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +394 -342
  151. package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +338 -290
  152. package/dist/icons/tick-icon/TickIcon.stories.tsx +364 -315
  153. package/dist/icons/trash-icon/TrashIcon.stories.tsx +293 -253
  154. package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +396 -338
  155. package/dist/icons/upload-icon/UploadIcon.stories.tsx +291 -247
  156. package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +309 -271
  157. package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +336 -290
  158. package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +382 -334
  159. package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +349 -305
  160. package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +327 -295
  161. package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +336 -296
  162. package/dist/icons/warning-icon/WarningIcon.stories.tsx +314 -274
  163. package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +311 -261
  164. package/dist/index.cjs +84 -84
  165. package/dist/index.js +84 -84
  166. package/dist/styles/aural-all-theme.css +1222 -0
  167. package/dist/styles/{aural-theme.css → aural-dark-theme.css} +15 -3
  168. package/dist/styles/aural-light-theme.css +1047 -0
  169. 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)}>