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
@@ -11,9 +11,9 @@ const meta: Meta<typeof MoveVerticalIcon> = {
11
11
  backgrounds: {
12
12
  default: "dark",
13
13
  values: [
14
- { name: "dark", value: "#0a0a0a" },
15
- { name: "darker", value: "#000000" },
16
- { name: "light", value: "#ffffff" },
14
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
15
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
16
+ { name: "light", value: "var(--color-fm-neutral-1100)" },
17
17
  ],
18
18
  },
19
19
  docs: {
@@ -40,42 +40,42 @@ const meta: Meta<typeof MoveVerticalIcon> = {
40
40
  background: transparent ;
41
41
  }
42
42
  body {
43
- background: #0a0a0a ;
43
+ background: var(--color-fm-surface-primary) ;
44
44
  }
45
45
  #storybook-docs {
46
- background: #0a0a0a ;
46
+ background: var(--color-fm-surface-primary) ;
47
47
  }
48
48
  .sbdocs-preview {
49
49
  background: transparent ;
50
50
  border: none ;
51
51
  }
52
52
  .sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
53
- color: white ;
53
+ color: var(--color-fm-icon-active) ;
54
54
  }
55
55
  .sbdocs-p, .sbdocs-li {
56
- color: rgba(255, 255, 255, 0.7) ;
56
+ color: var(--color-fm-secondary) ;
57
57
  }
58
58
  .sbdocs-code {
59
- background: rgba(255, 255, 255, 0.1) ;
60
- color: rgba(168, 85, 247, 1) ;
61
- border: 1px solid rgba(255, 255, 255, 0.1) ;
59
+ background: var(--color-fm-surface-secondary) ;
60
+ color: var(--color-fm-secondary-500) ;
61
+ border: 1px solid var(--color-fm-divider-secondary) ;
62
62
  }
63
63
  .sbdocs-pre {
64
- background: rgba(0, 0, 0, 0.4) ;
65
- border: 1px solid rgba(255, 255, 255, 0.1) ;
64
+ background: var(--color-fm-surface-secondary) ;
65
+ border: 1px solid var(--color-fm-divider-secondary) ;
66
66
  }
67
67
  .sbdocs-table {
68
- background: rgba(255, 255, 255, 0.05) ;
69
- border: 1px solid rgba(255, 255, 255, 0.1) ;
68
+ background: var(--color-fm-surface-secondary) ;
69
+ border: 1px solid var(--color-fm-divider-secondary) ;
70
70
  }
71
71
  .sbdocs-table th {
72
- background: rgba(255, 255, 255, 0.05) ;
73
- color: white ;
74
- border-bottom: 1px solid rgba(255, 255, 255, 0.1) ;
72
+ background: var(--color-fm-surface-secondary) ;
73
+ color: var(--color-fm-icon-active) ;
74
+ border-bottom: 1px solid var(--color-fm-divider-secondary) ;
75
75
  }
76
76
  .sbdocs-table td {
77
- color: rgba(255, 255, 255, 0.7) ;
78
- border-bottom: 1px solid rgba(255, 255, 255, 0.05) ;
77
+ color: var(--color-fm-secondary) ;
78
+ border-bottom: 1px solid var(--color-fm-divider-tertiary) ;
79
79
  }
80
80
  @keyframes slide-up-down {
81
81
  0%, 100% { transform: translateY(0); }
@@ -95,19 +95,19 @@ const meta: Meta<typeof MoveVerticalIcon> = {
95
95
  `}
96
96
  </style>
97
97
 
98
- <div className="min-h-screen bg-gradient-to-br from-gray-900 via-blue-900/20 to-gray-900">
98
+ <div className="from-fm-surface-primary via-fm-icon-info/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
99
99
  {/* Header */}
100
- <div className="relative overflow-hidden border-b border-white/10 bg-black/20 backdrop-blur-xl">
101
- <div className="absolute inset-0 bg-gradient-to-r from-blue-500/10 via-transparent to-purple-500/10" />
100
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
101
+ <div className="from-fm-icon-info/10 to-fm-secondary-500/10 absolute inset-0 bg-linear-to-r via-transparent" />
102
102
  <div className="relative !mx-auto max-w-7xl px-6 py-16">
103
103
  <div className="!space-y-6 text-center">
104
- <div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border border-blue-500/30 bg-gradient-to-br from-blue-500/20 to-purple-500/20">
105
- <MoveVerticalIcon className="h-12 w-12 text-blue-400" />
104
+ <div className="border-fm-icon-info/30 from-fm-icon-info/20 to-fm-secondary-500/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
105
+ <MoveVerticalIcon className="text-fm-icon-info h-12 w-12" />
106
106
  </div>
107
107
  <h1 className="!text-fm-primary text-5xl font-bold">
108
108
  MoveVerticalIcon
109
109
  </h1>
110
- <p className="!mx-auto max-w-3xl text-xl leading-relaxed !text-white/70">
110
+ <p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
111
111
  A vertical movement icon featuring up and down arrows,
112
112
  perfect for indicating vertical drag operations, sortable
113
113
  lists, up/down navigation, and reordering controls. Built
@@ -118,26 +118,28 @@ const meta: Meta<typeof MoveVerticalIcon> = {
118
118
  {/* Stats */}
119
119
  <div className="flex items-center justify-center gap-8 pt-8">
120
120
  <div className="text-center">
121
- <div className="text-3xl font-bold text-blue-300">
121
+ <div className="text-fm-icon-info text-3xl font-bold">
122
122
  Sort
123
123
  </div>
124
- <div className="text-sm text-white/60">List ordering</div>
124
+ <div className="text-fm-tertiary text-sm">
125
+ List ordering
126
+ </div>
125
127
  </div>
126
- <div className="h-8 w-px bg-white/20" />
128
+ <div className="bg-fm-divider-primary h-8 w-px" />
127
129
  <div className="text-center">
128
- <div className="text-3xl font-bold text-purple-300">
130
+ <div className="text-fm-secondary-600 text-3xl font-bold">
129
131
  Navigate
130
132
  </div>
131
- <div className="text-sm text-white/60">
133
+ <div className="text-fm-tertiary text-sm">
132
134
  Up/down movement
133
135
  </div>
134
136
  </div>
135
- <div className="h-8 w-px bg-white/20" />
137
+ <div className="bg-fm-divider-primary h-8 w-px" />
136
138
  <div className="text-center">
137
- <div className="text-3xl font-bold text-cyan-300">
139
+ <div className="text-fm-icon-info text-3xl font-bold">
138
140
  Reorder
139
141
  </div>
140
- <div className="text-sm text-white/60">
142
+ <div className="text-fm-tertiary text-sm">
141
143
  Interactive handles
142
144
  </div>
143
145
  </div>
@@ -150,16 +152,16 @@ const meta: Meta<typeof MoveVerticalIcon> = {
150
152
  <div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
151
153
  {/* Quick Usage */}
152
154
  <div className="!space-y-8">
153
- <h2 className="text-center text-3xl font-bold !text-white">
155
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
154
156
  Quick Start
155
157
  </h2>
156
158
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
157
159
  <div className="!space-y-4">
158
- <h3 className="text-xl font-semibold !text-blue-300">
160
+ <h3 className="text-fm-icon-info! text-xl font-semibold">
159
161
  Basic Usage
160
162
  </h3>
161
- <div className="rounded-lg bg-black/40 p-4">
162
- <pre className="overflow-x-auto text-sm !text-green-300">
163
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
164
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
163
165
  {`import { MoveVerticalIcon } from "@icons/move-vertical-icon"
164
166
 
165
167
  function SortableItem({ children }) {
@@ -175,19 +177,19 @@ function SortableItem({ children }) {
175
177
  </div>
176
178
 
177
179
  <div className="!space-y-4">
178
- <h3 className="text-xl font-semibold !text-blue-300">
180
+ <h3 className="text-fm-icon-info! text-xl font-semibold">
179
181
  Live Preview
180
182
  </h3>
181
- <div className="flex items-center justify-center rounded-lg border border-white/10 bg-white/5 p-6">
183
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center justify-center rounded-lg border p-6">
182
184
  <div className="!space-y-2">
183
185
  {["First Item", "Second Item", "Third Item"].map(
184
186
  (item, index) => (
185
187
  <div
186
188
  key={index}
187
- className="flex items-center gap-3 rounded border border-white/10 bg-white/5 p-2"
189
+ className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded border p-2"
188
190
  >
189
- <MoveVerticalIcon className="h-4 w-4 cursor-move text-blue-400 hover:text-blue-300" />
190
- <span className="text-sm text-white/80">
191
+ <MoveVerticalIcon className="text-fm-icon-info hover:text-fm-icon-info h-4 w-4 cursor-move" />
192
+ <span className="text-fm-icon-active/80 text-sm">
191
193
  {item}
192
194
  </span>
193
195
  </div>
@@ -201,106 +203,116 @@ function SortableItem({ children }) {
201
203
 
202
204
  {/* Props Documentation */}
203
205
  <div className="!space-y-8">
204
- <h2 className="text-center text-3xl font-bold !text-white">
206
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
205
207
  Props & Configuration
206
208
  </h2>
207
209
 
208
- <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
209
- <div className="bg-white/5 p-4">
210
- <h3 className="text-xl font-semibold !text-white">Props</h3>
210
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
211
+ <div className="bg-fm-surface-secondary p-4">
212
+ <h3 className="text-fm-icon-active! text-xl font-semibold">
213
+ Props
214
+ </h3>
211
215
  </div>
212
216
  <table className="!my-0 w-full">
213
- <thead className="bg-white/5">
214
- <tr className="border-b border-white/10">
215
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
217
+ <thead className="bg-fm-surface-secondary">
218
+ <tr className="border-fm-divider-secondary border-b">
219
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
216
220
  Prop
217
221
  </th>
218
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
222
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
219
223
  Type
220
224
  </th>
221
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
225
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
222
226
  Default
223
227
  </th>
224
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
228
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
225
229
  Description
226
230
  </th>
227
231
  </tr>
228
232
  </thead>
229
233
  <tbody>
230
234
  {" "}
231
- <tr className="!bg-black/10">
232
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
235
+ <tr className="bg-fm-surface-secondary!">
236
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
233
237
  withAccessibility
234
238
  </td>
235
- <td className="px-6 py-4 text-sm !text-white/70">
239
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
236
240
  boolean
237
241
  </td>
238
- <td className="px-6 py-4 text-sm !text-white/50">
242
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
239
243
  true
240
244
  </td>
241
- <td className="px-6 py-4 text-sm !text-white/70">
245
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
242
246
  Whether to wrap the icon with accessibility feature
243
247
  </td>
244
248
  </tr>
245
- <tr className="border-b border-white/5 !bg-black/10">
246
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
249
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
250
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
247
251
  height
248
252
  </td>
249
- <td className="px-6 py-4 text-sm !text-white/70">
253
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
250
254
  number | string
251
255
  </td>
252
- <td className="px-6 py-4 text-sm !text-white/50">24</td>
253
- <td className="px-6 py-4 text-sm !text-white/70">
256
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
257
+ 24
258
+ </td>
259
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
254
260
  Height of the icon in pixels
255
261
  </td>
256
262
  </tr>
257
- <tr className="border-b border-white/5">
258
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
263
+ <tr className="border-fm-divider-tertiary border-b">
264
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
259
265
  stroke
260
266
  </td>
261
- <td className="px-6 py-4 text-sm !text-white/70">
267
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
262
268
  string
263
269
  </td>
264
- <td className="px-6 py-4 text-sm !text-white/50">
270
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
265
271
  currentColor
266
272
  </td>
267
- <td className="px-6 py-4 text-sm !text-white/70">
273
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
268
274
  Stroke color of the icon lines
269
275
  </td>
270
276
  </tr>
271
- <tr className="border-b border-white/5 !bg-black/10">
272
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
277
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
278
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
273
279
  strokeWidth
274
280
  </td>
275
- <td className="px-6 py-4 text-sm !text-white/70">
281
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
276
282
  string | number
277
283
  </td>
278
- <td className="px-6 py-4 text-sm !text-white/50">2</td>
279
- <td className="px-6 py-4 text-sm !text-white/70">
284
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
285
+ 2
286
+ </td>
287
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
280
288
  Width of the stroke lines
281
289
  </td>
282
290
  </tr>
283
- <tr className="border-b border-white/5">
284
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
291
+ <tr className="border-fm-divider-tertiary border-b">
292
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
285
293
  className
286
294
  </td>
287
- <td className="px-6 py-4 text-sm !text-white/70">
295
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
288
296
  string
289
297
  </td>
290
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
291
- <td className="px-6 py-4 text-sm !text-white/70">
298
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
299
+ -
300
+ </td>
301
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
292
302
  CSS classes for styling (use for overrides)
293
303
  </td>
294
304
  </tr>
295
- <tr className="!bg-black/10">
296
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
305
+ <tr className="bg-fm-surface-secondary!">
306
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
297
307
  ...svgProps
298
308
  </td>
299
- <td className="px-6 py-4 text-sm !text-white/70">
309
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
300
310
  SVGProps
301
311
  </td>
302
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
303
- <td className="px-6 py-4 text-sm !text-white/70">
312
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
313
+ -
314
+ </td>
315
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
304
316
  All standard SVG element props
305
317
  </td>
306
318
  </tr>
@@ -311,50 +323,62 @@ function SortableItem({ children }) {
311
323
 
312
324
  {/* Size Variations */}
313
325
  <div className="!space-y-8">
314
- <h2 className="text-center text-3xl font-bold !text-white">
326
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
315
327
  Size Variations
316
328
  </h2>
317
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
329
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
318
330
  <div className="!space-y-6">
319
331
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
320
332
  <div className="!space-y-4">
321
- <h3 className="text-lg font-semibold !text-blue-300">
333
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
322
334
  Standard Sizes
323
335
  </h3>
324
- <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
336
+ <div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
325
337
  <div className="text-center">
326
- <MoveVerticalIcon className="!mx-auto mb-2 h-3 w-3 text-blue-400" />
327
- <span className="text-xs text-white/60">12px</span>
338
+ <MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
339
+ <span className="text-fm-tertiary text-xs">
340
+ 12px
341
+ </span>
328
342
  </div>
329
343
  <div className="text-center">
330
- <MoveVerticalIcon className="!mx-auto mb-2 h-4 w-4 text-blue-400" />
331
- <span className="text-xs text-white/60">16px</span>
344
+ <MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
345
+ <span className="text-fm-tertiary text-xs">
346
+ 16px
347
+ </span>
332
348
  </div>
333
349
  <div className="text-center">
334
- <MoveVerticalIcon className="!mx-auto mb-2 h-5 w-5 text-blue-400" />
335
- <span className="text-xs text-white/60">20px</span>
350
+ <MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
351
+ <span className="text-fm-tertiary text-xs">
352
+ 20px
353
+ </span>
336
354
  </div>
337
355
  <div className="text-center">
338
- <MoveVerticalIcon className="!mx-auto mb-2 h-6 w-6 text-blue-400" />
339
- <span className="text-xs text-white/60">24px</span>
356
+ <MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
357
+ <span className="text-fm-tertiary text-xs">
358
+ 24px
359
+ </span>
340
360
  </div>
341
361
  <div className="text-center">
342
- <MoveVerticalIcon className="!mx-auto mb-2 h-8 w-8 text-blue-400" />
343
- <span className="text-xs text-white/60">32px</span>
362
+ <MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
363
+ <span className="text-fm-tertiary text-xs">
364
+ 32px
365
+ </span>
344
366
  </div>
345
367
  <div className="text-center">
346
- <MoveVerticalIcon className="!mx-auto mb-2 h-12 w-12 text-blue-400" />
347
- <span className="text-xs text-white/60">48px</span>
368
+ <MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
369
+ <span className="text-fm-tertiary text-xs">
370
+ 48px
371
+ </span>
348
372
  </div>
349
373
  </div>
350
374
  </div>
351
375
 
352
376
  <div className="!space-y-4">
353
- <h3 className="text-lg font-semibold !text-blue-300">
377
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
354
378
  Code Example
355
379
  </h3>
356
- <div className="rounded-lg bg-black/40 p-4">
357
- <pre className="overflow-x-auto text-sm !text-cyan-300">
380
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
381
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
358
382
  {`// Small (16px)
359
383
  <MoveVerticalIcon className="h-4 w-4 " />
360
384
 
@@ -376,56 +400,56 @@ function SortableItem({ children }) {
376
400
 
377
401
  {/* Color Variations */}
378
402
  <div className="!space-y-8">
379
- <h2 className="text-center text-3xl font-bold !text-white">
403
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
380
404
  Color Variations
381
405
  </h2>
382
406
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
383
407
  <div className="!space-y-4">
384
- <h3 className="text-lg font-semibold !text-blue-300">
408
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
385
409
  Semantic Colors
386
410
  </h3>
387
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
411
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
388
412
  <div className="flex items-center gap-4">
389
- <MoveVerticalIcon className="h-6 w-6 text-blue-400" />
413
+ <MoveVerticalIcon className="text-fm-icon-info h-6 w-6" />
390
414
  <div>
391
- <div className="text-sm font-medium text-white">
415
+ <div className="text-fm-icon-active text-sm font-medium">
392
416
  Primary
393
417
  </div>
394
- <div className="text-xs text-white/60">
395
- text-blue-400
418
+ <div className="text-fm-tertiary text-xs">
419
+ text-fm-icon-info
396
420
  </div>
397
421
  </div>
398
422
  </div>
399
423
  <div className="flex items-center gap-4">
400
- <MoveVerticalIcon className="h-6 w-6 text-purple-400" />
424
+ <MoveVerticalIcon className="text-fm-secondary-600 h-6 w-6" />
401
425
  <div>
402
- <div className="text-sm font-medium text-white">
426
+ <div className="text-fm-icon-active text-sm font-medium">
403
427
  Interactive
404
428
  </div>
405
- <div className="text-xs text-white/60">
406
- text-purple-400
429
+ <div className="text-fm-tertiary text-xs">
430
+ text-fm-secondary-600
407
431
  </div>
408
432
  </div>
409
433
  </div>
410
434
  <div className="flex items-center gap-4">
411
- <MoveVerticalIcon className="h-6 w-6 text-gray-400" />
435
+ <MoveVerticalIcon className="text-fm-placeholder h-6 w-6" />
412
436
  <div>
413
- <div className="text-sm font-medium text-white">
437
+ <div className="text-fm-icon-active text-sm font-medium">
414
438
  Disabled
415
439
  </div>
416
- <div className="text-xs text-white/60">
417
- text-gray-400
440
+ <div className="text-fm-tertiary text-xs">
441
+ text-fm-placeholder
418
442
  </div>
419
443
  </div>
420
444
  </div>
421
445
  <div className="flex items-center gap-4">
422
- <MoveVerticalIcon className="h-6 w-6 text-cyan-400" />
446
+ <MoveVerticalIcon className="text-fm-icon-info h-6 w-6" />
423
447
  <div>
424
- <div className="text-sm font-medium text-white">
448
+ <div className="text-fm-icon-active text-sm font-medium">
425
449
  Accent
426
450
  </div>
427
- <div className="text-xs text-white/60">
428
- text-cyan-400
451
+ <div className="text-fm-tertiary text-xs">
452
+ text-fm-icon-info
429
453
  </div>
430
454
  </div>
431
455
  </div>
@@ -433,11 +457,11 @@ function SortableItem({ children }) {
433
457
  </div>
434
458
 
435
459
  <div className="!space-y-4">
436
- <h3 className="text-lg font-semibold !text-blue-300">
460
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
437
461
  Custom Colors
438
462
  </h3>
439
- <div className="rounded-lg bg-black/40 p-4">
440
- <pre className="overflow-x-auto text-sm !text-green-300">
463
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
464
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
441
465
  {`// Using Tailwind classes with
442
466
  <MoveVerticalIcon className="h-6 w-6 text-blue-400 " />
443
467
  <MoveVerticalIcon className="h-6 w-6 text-purple-500 " />
@@ -462,32 +486,34 @@ function SortableItem({ children }) {
462
486
 
463
487
  {/* Usage Examples */}
464
488
  <div className="!space-y-8">
465
- <h2 className="text-center text-3xl font-bold !text-white">
489
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
466
490
  Usage Examples
467
491
  </h2>
468
492
 
469
493
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
470
494
  {/* Sortable List */}
471
495
  <div className="!space-y-4">
472
- <h3 className="text-lg font-semibold !text-blue-300">
496
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
473
497
  Sortable List
474
498
  </h3>
475
499
  <div className="!space-y-4">
476
- <div className="!space-y-2 rounded-lg border border-white/10 bg-white/5 p-4">
500
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-2 rounded-lg border p-4">
477
501
  {["First Item", "Second Item", "Third Item"].map(
478
502
  (item, index) => (
479
503
  <div
480
504
  key={index}
481
- className="flex items-center gap-3 rounded border border-white/10 bg-white/5 p-3"
505
+ className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded border p-3"
482
506
  >
483
- <MoveVerticalIcon className="h-4 w-4 cursor-move text-blue-400 hover:text-blue-300" />
484
- <span className="text-sm text-white">{item}</span>
507
+ <MoveVerticalIcon className="text-fm-icon-info hover:text-fm-icon-info h-4 w-4 cursor-move" />
508
+ <span className="text-fm-icon-active text-sm">
509
+ {item}
510
+ </span>
485
511
  </div>
486
512
  )
487
513
  )}
488
514
  </div>
489
- <div className="rounded-lg bg-black/40 p-4">
490
- <pre className="overflow-x-auto text-sm !text-green-300">
515
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
516
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
491
517
  {`{items.map((item, index) => (
492
518
  <div key={index} className="flex items-center gap-3 p-3">
493
519
  <MoveVerticalIcon className="h-4 w-4 cursor-move text-blue-400 hover:text-blue-300 " />
@@ -501,27 +527,27 @@ function SortableItem({ children }) {
501
527
 
502
528
  {/* Up/Down Navigation */}
503
529
  <div className="!space-y-4">
504
- <h3 className="text-lg font-semibold !text-blue-300">
530
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
505
531
  Up/Down Navigation
506
532
  </h3>
507
533
  <div className="!space-y-4">
508
534
  <div className="flex justify-center">
509
535
  <div className="flex flex-col gap-2">
510
- <button className="rounded-lg border border-white/20 bg-white/5 p-3 transition-colors hover:bg-white/10">
511
- <MoveVerticalIcon className="h-5 w-5 rotate-180 text-white" />
536
+ <button className="border-fm-divider-primary bg-fm-surface-secondary hover:bg-fm-surface-secondary rounded-lg border p-3 transition-colors">
537
+ <MoveVerticalIcon className="text-fm-icon-active h-5 w-5 rotate-180" />
512
538
  </button>
513
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
514
- <span className="text-sm text-white/70">
539
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
540
+ <span className="text-fm-secondary text-sm">
515
541
  Content Item
516
542
  </span>
517
543
  </div>
518
- <button className="rounded-lg border border-white/20 bg-white/5 p-3 transition-colors hover:bg-white/10">
519
- <MoveVerticalIcon className="h-5 w-5 text-white" />
544
+ <button className="border-fm-divider-primary bg-fm-surface-secondary hover:bg-fm-surface-secondary rounded-lg border p-3 transition-colors">
545
+ <MoveVerticalIcon className="text-fm-icon-active h-5 w-5" />
520
546
  </button>
521
547
  </div>
522
548
  </div>
523
- <div className="rounded-lg bg-black/40 p-4">
524
- <pre className="overflow-x-auto text-sm !text-green-300">
549
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
550
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
525
551
  {`// Up button (rotated)
526
552
  <button onClick={moveUp}>
527
553
  <MoveVerticalIcon className="h-5 w-5 rotate-180 text-white " />
@@ -538,20 +564,20 @@ function SortableItem({ children }) {
538
564
 
539
565
  {/* Table Row Reorder */}
540
566
  <div className="!space-y-4">
541
- <h3 className="text-lg font-semibold !text-blue-300">
567
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
542
568
  Table Row Reorder
543
569
  </h3>
544
570
  <div className="!space-y-4">
545
- <div className="rounded-lg border border-white/10 bg-white/5">
546
- <div className="flex border-b border-white/10 bg-white/5 p-3">
571
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border">
572
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex border-b p-3">
547
573
  <div className="w-8"></div>
548
- <div className="flex-1 text-sm font-medium text-white">
574
+ <div className="text-fm-icon-active flex-1 text-sm font-medium">
549
575
  Name
550
576
  </div>
551
- <div className="flex-1 text-sm font-medium text-white">
577
+ <div className="text-fm-icon-active flex-1 text-sm font-medium">
552
578
  Email
553
579
  </div>
554
- <div className="w-20 text-sm font-medium text-white">
580
+ <div className="text-fm-icon-active w-20 text-sm font-medium">
555
581
  Status
556
582
  </div>
557
583
  </div>
@@ -569,15 +595,15 @@ function SortableItem({ children }) {
569
595
  ].map((row, index) => (
570
596
  <div
571
597
  key={index}
572
- className="flex items-center border-b border-white/10 p-3 last:border-b-0"
598
+ className="border-fm-divider-secondary flex items-center border-b p-3 last:border-b-0"
573
599
  >
574
600
  <div className="w-8">
575
- <MoveVerticalIcon className="h-4 w-4 cursor-move text-white/30 hover:text-white/60" />
601
+ <MoveVerticalIcon className="text-fm-icon-active/30 hover:text-fm-tertiary h-4 w-4 cursor-move" />
576
602
  </div>
577
- <div className="flex-1 text-sm text-white/70">
603
+ <div className="text-fm-secondary flex-1 text-sm">
578
604
  {row.name}
579
605
  </div>
580
- <div className="flex-1 text-sm text-white/70">
606
+ <div className="text-fm-secondary flex-1 text-sm">
581
607
  {row.email}
582
608
  </div>
583
609
  <div className="w-20">
@@ -594,8 +620,8 @@ function SortableItem({ children }) {
594
620
  </div>
595
621
  ))}
596
622
  </div>
597
- <div className="rounded-lg bg-black/40 p-4">
598
- <pre className="overflow-x-auto text-sm !text-green-300">
623
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
624
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
599
625
  {`<td className="w-8">
600
626
  <MoveVerticalIcon className="h-4 w-4 cursor-move text-white/30 hover:text-white/60 " />
601
627
  </td>`}
@@ -606,7 +632,7 @@ function SortableItem({ children }) {
606
632
 
607
633
  {/* Card Reordering */}
608
634
  <div className="!space-y-4">
609
- <h3 className="text-lg font-semibold !text-blue-300">
635
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
610
636
  Card Reordering
611
637
  </h3>
612
638
  <div className="!space-y-4">
@@ -614,24 +640,24 @@ function SortableItem({ children }) {
614
640
  {["Task A", "Task B", "Task C"].map((task, index) => (
615
641
  <div
616
642
  key={index}
617
- className="relative rounded-lg border border-white/10 bg-white/5 p-4"
643
+ className="border-fm-divider-secondary bg-fm-surface-secondary relative rounded-lg border p-4"
618
644
  >
619
645
  <div className="absolute top-3 right-3">
620
- <MoveVerticalIcon className="h-4 w-4 cursor-move text-white/30 hover:text-white/60" />
646
+ <MoveVerticalIcon className="text-fm-icon-active/30 hover:text-fm-tertiary h-4 w-4 cursor-move" />
621
647
  </div>
622
648
  <div>
623
- <h4 className="text-sm font-medium !text-white">
649
+ <h4 className="text-fm-icon-active! text-sm font-medium">
624
650
  {task}
625
651
  </h4>
626
- <p className="text-xs !text-white/50">
652
+ <p className="text-fm-placeholder! text-xs">
627
653
  Task description goes here
628
654
  </p>
629
655
  </div>
630
656
  </div>
631
657
  ))}
632
658
  </div>
633
- <div className="rounded-lg bg-black/40 p-4">
634
- <pre className="overflow-x-auto text-sm !text-green-300">
659
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
660
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
635
661
  {`<div className="relative rounded-lg p-4">
636
662
  <div className="absolute top-3 right-3">
637
663
  <MoveVerticalIcon className="h-4 w-4 cursor-move text-white/30 hover:text-white/60 " />
@@ -647,55 +673,55 @@ function SortableItem({ children }) {
647
673
 
648
674
  {/* Interactive States */}
649
675
  <div className="!space-y-8">
650
- <h2 className="text-center text-3xl font-bold !text-white">
676
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
651
677
  Interactive States & Animations
652
678
  </h2>
653
679
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
654
680
  <div className="!space-y-4">
655
- <h3 className="text-lg font-semibold !text-blue-300">
681
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
656
682
  Hover & Animation Effects
657
683
  </h3>
658
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
684
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
659
685
  <div className="flex items-center gap-4">
660
- <MoveVerticalIcon className="h-6 w-6 text-white/60 transition-colors hover:text-blue-400" />
686
+ <MoveVerticalIcon className="text-fm-tertiary hover:text-fm-icon-info h-6 w-6 transition-colors" />
661
687
  <div>
662
- <div className="text-sm font-medium text-white">
688
+ <div className="text-fm-icon-active text-sm font-medium">
663
689
  Color Change
664
690
  </div>
665
- <div className="text-xs text-white/60">
691
+ <div className="text-fm-tertiary text-xs">
666
692
  Hover to see effect
667
693
  </div>
668
694
  </div>
669
695
  </div>
670
696
  <div className="flex items-center gap-4">
671
- <MoveVerticalIcon className="h-6 w-6 text-white transition-transform hover:scale-110" />
697
+ <MoveVerticalIcon className="text-fm-icon-active h-6 w-6 transition-transform hover:scale-110" />
672
698
  <div>
673
- <div className="text-sm font-medium text-white">
699
+ <div className="text-fm-icon-active text-sm font-medium">
674
700
  Scale Up
675
701
  </div>
676
- <div className="text-xs text-white/60">
702
+ <div className="text-fm-tertiary text-xs">
677
703
  Scale on hover
678
704
  </div>
679
705
  </div>
680
706
  </div>
681
707
  <div className="flex items-center gap-4">
682
- <MoveVerticalIcon className="animate-slide-vertical h-6 w-6 text-blue-400" />
708
+ <MoveVerticalIcon className="animate-slide-vertical text-fm-icon-info h-6 w-6" />
683
709
  <div>
684
- <div className="text-sm font-medium text-white">
710
+ <div className="text-fm-icon-active text-sm font-medium">
685
711
  Vertical Slide
686
712
  </div>
687
- <div className="text-xs text-white/60">
713
+ <div className="text-fm-tertiary text-xs">
688
714
  Continuous animation
689
715
  </div>
690
716
  </div>
691
717
  </div>
692
718
  <div className="flex items-center gap-4">
693
- <MoveVerticalIcon className="animate-pulse-bounce h-6 w-6 text-purple-400" />
719
+ <MoveVerticalIcon className="animate-pulse-bounce text-fm-secondary-600 h-6 w-6" />
694
720
  <div>
695
- <div className="text-sm font-medium text-white">
721
+ <div className="text-fm-icon-active text-sm font-medium">
696
722
  Pulse Bounce
697
723
  </div>
698
- <div className="text-xs text-white/60">
724
+ <div className="text-fm-tertiary text-xs">
699
725
  Bounce effect
700
726
  </div>
701
727
  </div>
@@ -704,11 +730,11 @@ function SortableItem({ children }) {
704
730
  </div>
705
731
 
706
732
  <div className="!space-y-4">
707
- <h3 className="text-lg font-semibold !text-blue-300">
733
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
708
734
  Cursor & State Examples
709
735
  </h3>
710
- <div className="rounded-lg bg-black/40 p-4">
711
- <pre className="overflow-x-auto text-sm !text-cyan-300">
736
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
737
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
712
738
  {`// Color change on hover
713
739
  <MoveVerticalIcon className="h-6 w-6 text-white/60 transition-colors hover:text-blue-400 " />
714
740
 
@@ -731,65 +757,65 @@ function SortableItem({ children }) {
731
757
 
732
758
  {/* Accessibility */}
733
759
  <div className="!space-y-8">
734
- <h2 className="text-center text-3xl font-bold !text-white">
760
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
735
761
  Accessibility Features
736
762
  </h2>
737
763
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
738
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
739
- <h3 className="text-lg font-semibold !text-green-300">
764
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
765
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
740
766
  ✅ Built-in Features
741
767
  </h3>
742
- <ul className="!space-y-2 text-sm !text-white/70">
743
- <li className="!text-white/70">
768
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
769
+ <li className="text-fm-secondary!">
744
770
  Uses Radix UI AccessibleIcon wrapper
745
771
  </li>
746
- <li className="!text-white/70">
772
+ <li className="text-fm-secondary!">
747
773
  Provides screen reader label "Move Vertical icon"
748
774
  </li>
749
- <li className="!text-white/70">
775
+ <li className="text-fm-secondary!">
750
776
  Supports keyboard navigation when interactive
751
777
  </li>
752
- <li className="!text-white/70">
778
+ <li className="text-fm-secondary!">
753
779
  Maintains proper color contrast ratios
754
780
  </li>
755
- <li className="!text-white/70">
781
+ <li className="text-fm-secondary!">
756
782
  Scales with user's font size preferences
757
783
  </li>
758
784
  </ul>
759
785
  </div>
760
786
 
761
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
762
- <h3 className="text-lg font-semibold !text-blue-300">
787
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
788
+ <h3 className="text-fm-icon-info! text-lg font-semibold">
763
789
  💡 Best Practices
764
790
  </h3>
765
- <ul className="!space-y-2 text-sm text-white/70">
766
- <li className="!text-white/70">
791
+ <ul className="text-fm-secondary !space-y-2 text-sm">
792
+ <li className="text-fm-secondary!">
767
793
  Always provide descriptive ARIA labels for interactive
768
794
  elements
769
795
  </li>
770
- <li className="!text-white/70">
796
+ <li className="text-fm-secondary!">
771
797
  Use appropriate cursor styles for different interactions
772
798
  </li>
773
- <li className="!text-white/70">
799
+ <li className="text-fm-secondary!">
774
800
  Ensure sufficient click/touch target sizes
775
801
  </li>
776
- <li className="!text-white/70">
802
+ <li className="text-fm-secondary!">
777
803
  Add focus states for keyboard navigation
778
804
  </li>
779
- <li className="!text-white/70">
805
+ <li className="text-fm-secondary!">
780
806
  Consider motion sensitivity for animations
781
807
  </li>
782
808
  </ul>
783
809
  </div>
784
810
  </div>
785
811
 
786
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
787
- <h3 className="mb-4 text-lg font-semibold !text-blue-300">
812
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
813
+ <h3 className="text-fm-icon-info! mb-4 text-lg font-semibold">
788
814
  Interactive Element Accessibility
789
815
  </h3>
790
816
  <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
791
- <div className="rounded-lg bg-black/40 p-4">
792
- <pre className="overflow-x-auto text-sm !text-cyan-300">
817
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
818
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
793
819
  {`// Sortable list item with proper ARIA
794
820
  <div
795
821
  role="listitem"
@@ -815,13 +841,13 @@ function SortableItem({ children }) {
815
841
  </pre>
816
842
  </div>
817
843
  <div className="!space-y-4">
818
- <p className="text-sm !text-white/70">
844
+ <p className="text-fm-secondary! text-sm">
819
845
  When using MoveVerticalIcon for interactive controls,
820
846
  provide clear context about the action being performed
821
847
  and the current state.
822
848
  </p>
823
- <div className="rounded-lg border border-blue-500/20 bg-blue-500/10 p-4">
824
- <div className="flex items-center gap-2 text-sm text-blue-200">
849
+ <div className="border-fm-icon-info/20 bg-fm-icon-info/10 rounded-lg border p-4">
850
+ <div className="text-fm-icon-info flex items-center gap-2 text-sm">
825
851
  <MoveVerticalIcon className="h-4 w-4" />
826
852
  <span>
827
853
  This approach gives screen readers more context
@@ -836,48 +862,58 @@ function SortableItem({ children }) {
836
862
 
837
863
  {/* Related Icons */}
838
864
  <div className="!space-y-8">
839
- <h2 className="text-center text-3xl font-bold !text-white">
865
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
840
866
  Related Icons
841
867
  </h2>
842
868
  <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
843
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
844
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
869
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
870
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
845
871
  <span className="text-2xl">↔️</span>
846
872
  </div>
847
873
  <div>
848
- <div className="font-medium text-white">
874
+ <div className="text-fm-icon-active font-medium">
849
875
  MoveHorizontalIcon
850
876
  </div>
851
- <div className="text-xs text-white/60">
877
+ <div className="text-fm-tertiary text-xs">
852
878
  Horizontal movement
853
879
  </div>
854
880
  </div>
855
881
  </div>
856
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
857
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
882
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
883
+ <div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
858
884
  <span className="text-2xl">🎯</span>
859
885
  </div>
860
886
  <div>
861
- <div className="font-medium text-white">DragIcon</div>
862
- <div className="text-xs text-white/60">Drag & drop</div>
887
+ <div className="text-fm-icon-active font-medium">
888
+ DragIcon
889
+ </div>
890
+ <div className="text-fm-tertiary text-xs">
891
+ Drag & drop
892
+ </div>
863
893
  </div>
864
894
  </div>
865
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
866
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-cyan-500/20">
895
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
896
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
867
897
  <span className="text-2xl">📋</span>
868
898
  </div>
869
899
  <div>
870
- <div className="font-medium text-white">SortIcon</div>
871
- <div className="text-xs text-white/60">Sort controls</div>
900
+ <div className="text-fm-icon-active font-medium">
901
+ SortIcon
902
+ </div>
903
+ <div className="text-fm-tertiary text-xs">
904
+ Sort controls
905
+ </div>
872
906
  </div>
873
907
  </div>
874
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
875
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-green-500/20">
908
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
909
+ <div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
876
910
  <span className="text-2xl">🔄</span>
877
911
  </div>
878
912
  <div>
879
- <div className="font-medium text-white">ReorderIcon</div>
880
- <div className="text-xs text-white/60">
913
+ <div className="text-fm-icon-active font-medium">
914
+ ReorderIcon
915
+ </div>
916
+ <div className="text-fm-tertiary text-xs">
881
917
  Reorder controls
882
918
  </div>
883
919
  </div>
@@ -887,15 +923,15 @@ function SortableItem({ children }) {
887
923
  </div>
888
924
 
889
925
  {/* Footer */}
890
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
926
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
891
927
  <div className="!mx-auto max-w-7xl px-6 py-8">
892
928
  <div className="!space-y-4 text-center">
893
- <p className="!text-white/60">
929
+ <p className="text-fm-tertiary!">
894
930
  MoveVerticalIcon is part of the Aural UI icon library, built
895
931
  for representing vertical movement, sorting, and reordering
896
932
  operations.
897
933
  </p>
898
- <p className="text-sm !text-white/40">
934
+ <p className="text-fm-placeholder! text-sm">
899
935
  All icons use Radix UI's AccessibleIcon for screen reader
900
936
  compatibility and follow WCAG guidelines for interactive
901
937
  controls.
@@ -945,20 +981,20 @@ const storyParameters = {
945
981
  backgrounds: {
946
982
  default: "dark",
947
983
  values: [
948
- { name: "dark", value: "#0a0a0a" },
949
- { name: "darker", value: "#000000" },
984
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
985
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
950
986
  ],
951
987
  },
952
988
  }
953
989
 
954
990
  export const Default: Story = {
955
991
  args: {
956
- className: "h-6 w-6 text-blue-400 ",
992
+ className: "h-6 w-6 text-fm-icon-info ",
957
993
  withAccessibility: true,
958
994
  },
959
995
  parameters: storyParameters,
960
996
  render: (args) => (
961
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
997
+ <div className="from-fm-surface-primary to-fm-surface-secondary flex h-32 min-h-dvh items-center justify-center rounded-lg bg-linear-to-br">
962
998
  <MoveVerticalIcon {...args} />
963
999
  </div>
964
1000
  ),
@@ -975,30 +1011,30 @@ export const SizeVariations: Story = {
975
1011
  },
976
1012
  },
977
1013
  render: () => (
978
- <div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1014
+ <div className="from-fm-surface-primary to-fm-surface-secondary flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-linear-to-br p-8">
979
1015
  <div className="text-center">
980
- <MoveVerticalIcon className="!mx-auto mb-2 h-3 w-3 text-blue-400" />
981
- <span className="text-xs text-white/60">12px</span>
1016
+ <MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
1017
+ <span className="text-fm-tertiary text-xs">12px</span>
982
1018
  </div>
983
1019
  <div className="text-center">
984
- <MoveVerticalIcon className="!mx-auto mb-2 h-4 w-4 text-blue-400" />
985
- <span className="text-xs text-white/60">16px</span>
1020
+ <MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
1021
+ <span className="text-fm-tertiary text-xs">16px</span>
986
1022
  </div>
987
1023
  <div className="text-center">
988
- <MoveVerticalIcon className="!mx-auto mb-2 h-5 w-5 text-blue-400" />
989
- <span className="text-xs text-white/60">20px</span>
1024
+ <MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
1025
+ <span className="text-fm-tertiary text-xs">20px</span>
990
1026
  </div>
991
1027
  <div className="text-center">
992
- <MoveVerticalIcon className="!mx-auto mb-2 h-6 w-6 text-blue-400" />
993
- <span className="text-xs text-white/60">24px</span>
1028
+ <MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
1029
+ <span className="text-fm-tertiary text-xs">24px</span>
994
1030
  </div>
995
1031
  <div className="text-center">
996
- <MoveVerticalIcon className="!mx-auto mb-2 h-8 w-8 text-blue-400" />
997
- <span className="text-xs text-white/60">32px</span>
1032
+ <MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
1033
+ <span className="text-fm-tertiary text-xs">32px</span>
998
1034
  </div>
999
1035
  <div className="text-center">
1000
- <MoveVerticalIcon className="!mx-auto mb-2 h-12 w-12 text-blue-400" />
1001
- <span className="text-xs text-white/60">48px</span>
1036
+ <MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
1037
+ <span className="text-fm-tertiary text-xs">48px</span>
1002
1038
  </div>
1003
1039
  </div>
1004
1040
  ),
@@ -1015,34 +1051,38 @@ export const ColorVariations: Story = {
1015
1051
  },
1016
1052
  },
1017
1053
  render: () => (
1018
- <div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8 md:grid-cols-4">
1054
+ <div className="from-fm-surface-primary to-fm-surface-secondary grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-linear-to-br p-8 md:grid-cols-4">
1019
1055
  <div className="text-center">
1020
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-blue-500/30 bg-blue-500/20">
1021
- <MoveVerticalIcon className="h-8 w-8 text-blue-400" />
1056
+ <div className="border-fm-icon-info/30 bg-fm-icon-info/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
1057
+ <MoveVerticalIcon className="text-fm-icon-info h-8 w-8" />
1022
1058
  </div>
1023
- <div className="text-sm font-medium text-white">Primary</div>
1024
- <div className="text-xs text-blue-400">text-blue-400</div>
1059
+ <div className="text-fm-icon-active text-sm font-medium">Primary</div>
1060
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
1025
1061
  </div>
1026
1062
  <div className="text-center">
1027
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-purple-500/30 bg-purple-500/20">
1028
- <MoveVerticalIcon className="h-8 w-8 text-purple-400" />
1063
+ <div className="border-fm-secondary-500/30 bg-fm-secondary-500/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
1064
+ <MoveVerticalIcon className="text-fm-secondary-600 h-8 w-8" />
1065
+ </div>
1066
+ <div className="text-fm-icon-active text-sm font-medium">
1067
+ Interactive
1068
+ </div>
1069
+ <div className="text-fm-secondary-600 text-xs">
1070
+ text-fm-secondary-600
1029
1071
  </div>
1030
- <div className="text-sm font-medium text-white">Interactive</div>
1031
- <div className="text-xs text-purple-400">text-purple-400</div>
1032
1072
  </div>
1033
1073
  <div className="text-center">
1034
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-gray-500/30 bg-gray-500/20">
1035
- <MoveVerticalIcon className="h-8 w-8 text-gray-400" />
1074
+ <div className="border-fm-divider-primary bg-fm-surface-tertiary/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
1075
+ <MoveVerticalIcon className="text-fm-placeholder h-8 w-8" />
1036
1076
  </div>
1037
- <div className="text-sm font-medium text-white">Disabled</div>
1038
- <div className="text-xs text-gray-400">text-gray-400</div>
1077
+ <div className="text-fm-icon-active text-sm font-medium">Disabled</div>
1078
+ <div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
1039
1079
  </div>
1040
1080
  <div className="text-center">
1041
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-cyan-500/30 bg-cyan-500/20">
1042
- <MoveVerticalIcon className="h-8 w-8 text-cyan-400" />
1081
+ <div className="border-fm-icon-info/30 bg-fm-icon-info/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
1082
+ <MoveVerticalIcon className="text-fm-icon-info h-8 w-8" />
1043
1083
  </div>
1044
- <div className="text-sm font-medium text-white">Accent</div>
1045
- <div className="text-xs text-cyan-400">text-cyan-400</div>
1084
+ <div className="text-fm-icon-active text-sm font-medium">Accent</div>
1085
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
1046
1086
  </div>
1047
1087
  </div>
1048
1088
  ),
@@ -1059,18 +1099,20 @@ export const UsageExamples: Story = {
1059
1099
  },
1060
1100
  },
1061
1101
  render: () => (
1062
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1102
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
1063
1103
  {/* Sortable List */}
1064
1104
  <div className="!space-y-2">
1065
- <h3 className="text-sm font-medium text-white">Sortable List</h3>
1066
- <div className="!space-y-2 rounded-lg border border-white/10 bg-white/5 p-4">
1105
+ <h3 className="text-fm-icon-active text-sm font-medium">
1106
+ Sortable List
1107
+ </h3>
1108
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-2 rounded-lg border p-4">
1067
1109
  {["First Item", "Second Item", "Third Item"].map((item, index) => (
1068
1110
  <div
1069
1111
  key={index}
1070
- className="flex items-center gap-3 rounded border border-white/10 bg-white/5 p-3"
1112
+ className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded border p-3"
1071
1113
  >
1072
- <MoveVerticalIcon className="h-4 w-4 cursor-move text-blue-400 hover:text-blue-300" />
1073
- <span className="text-sm text-white">{item}</span>
1114
+ <MoveVerticalIcon className="text-fm-icon-info hover:text-fm-icon-info h-4 w-4 cursor-move" />
1115
+ <span className="text-fm-icon-active text-sm">{item}</span>
1074
1116
  </div>
1075
1117
  ))}
1076
1118
  </div>
@@ -1078,17 +1120,19 @@ export const UsageExamples: Story = {
1078
1120
 
1079
1121
  {/* Up/Down Navigation */}
1080
1122
  <div className="!space-y-2">
1081
- <h3 className="text-sm font-medium text-white">Up/Down Navigation</h3>
1123
+ <h3 className="text-fm-icon-active text-sm font-medium">
1124
+ Up/Down Navigation
1125
+ </h3>
1082
1126
  <div className="flex justify-center">
1083
1127
  <div className="flex flex-col gap-2">
1084
- <button className="rounded-lg border border-white/20 bg-white/5 p-3 hover:bg-white/10">
1085
- <MoveVerticalIcon className="h-5 w-5 rotate-180 text-white" />
1128
+ <button className="border-fm-divider-primary bg-fm-surface-secondary hover:bg-fm-surface-secondary rounded-lg border p-3">
1129
+ <MoveVerticalIcon className="text-fm-icon-active h-5 w-5 rotate-180" />
1086
1130
  </button>
1087
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
1088
- <span className="text-sm text-white/70">Content Item</span>
1131
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
1132
+ <span className="text-fm-secondary text-sm">Content Item</span>
1089
1133
  </div>
1090
- <button className="rounded-lg border border-white/20 bg-white/5 p-3 hover:bg-white/10">
1091
- <MoveVerticalIcon className="h-5 w-5 text-white" />
1134
+ <button className="border-fm-divider-primary bg-fm-surface-secondary hover:bg-fm-surface-secondary rounded-lg border p-3">
1135
+ <MoveVerticalIcon className="text-fm-icon-active h-5 w-5" />
1092
1136
  </button>
1093
1137
  </div>
1094
1138
  </div>
@@ -1096,13 +1140,21 @@ export const UsageExamples: Story = {
1096
1140
 
1097
1141
  {/* Table Row Reorder */}
1098
1142
  <div className="!space-y-2">
1099
- <h3 className="text-sm font-medium text-white">Table Row Reorder</h3>
1100
- <div className="rounded-lg border border-white/10 bg-white/5">
1101
- <div className="flex border-b border-white/10 bg-white/5 p-3">
1143
+ <h3 className="text-fm-icon-active text-sm font-medium">
1144
+ Table Row Reorder
1145
+ </h3>
1146
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border">
1147
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex border-b p-3">
1102
1148
  <div className="w-8"></div>
1103
- <div className="flex-1 text-sm font-medium text-white">Name</div>
1104
- <div className="flex-1 text-sm font-medium text-white">Email</div>
1105
- <div className="w-20 text-sm font-medium text-white">Status</div>
1149
+ <div className="text-fm-icon-active flex-1 text-sm font-medium">
1150
+ Name
1151
+ </div>
1152
+ <div className="text-fm-icon-active flex-1 text-sm font-medium">
1153
+ Email
1154
+ </div>
1155
+ <div className="text-fm-icon-active w-20 text-sm font-medium">
1156
+ Status
1157
+ </div>
1106
1158
  </div>
1107
1159
  {[
1108
1160
  { name: "John Doe", email: "john@example.com", status: "Active" },
@@ -1114,13 +1166,15 @@ export const UsageExamples: Story = {
1114
1166
  ].map((row, index) => (
1115
1167
  <div
1116
1168
  key={index}
1117
- className="flex items-center border-b border-white/10 p-3 last:border-b-0"
1169
+ className="border-fm-divider-secondary flex items-center border-b p-3 last:border-b-0"
1118
1170
  >
1119
1171
  <div className="w-8">
1120
- <MoveVerticalIcon className="h-4 w-4 cursor-move text-white/30 hover:text-white/60" />
1172
+ <MoveVerticalIcon className="text-fm-icon-active/30 hover:text-fm-tertiary h-4 w-4 cursor-move" />
1173
+ </div>
1174
+ <div className="text-fm-secondary flex-1 text-sm">{row.name}</div>
1175
+ <div className="text-fm-secondary flex-1 text-sm">
1176
+ {row.email}
1121
1177
  </div>
1122
- <div className="flex-1 text-sm text-white/70">{row.name}</div>
1123
- <div className="flex-1 text-sm text-white/70">{row.email}</div>
1124
1178
  <div className="w-20">
1125
1179
  <span
1126
1180
  className={`rounded-full px-2 py-1 text-xs ${
@@ -1151,27 +1205,27 @@ export const InteractiveStates: Story = {
1151
1205
  },
1152
1206
  },
1153
1207
  render: () => (
1154
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1208
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
1155
1209
  <div className="!space-y-4">
1156
- <h3 className="text-sm font-medium text-white/70">
1210
+ <h3 className="text-fm-secondary text-sm font-medium">
1157
1211
  Hover & Animation Effects
1158
1212
  </h3>
1159
1213
  <div className="flex gap-8">
1160
1214
  <div className="flex flex-col items-center gap-2">
1161
- <MoveVerticalIcon className="h-8 w-8 text-white/60 transition-colors hover:text-blue-400" />
1162
- <span className="text-xs text-white/60">Color Change</span>
1215
+ <MoveVerticalIcon className="text-fm-tertiary hover:text-fm-icon-info h-8 w-8 transition-colors" />
1216
+ <span className="text-fm-tertiary text-xs">Color Change</span>
1163
1217
  </div>
1164
1218
  <div className="flex flex-col items-center gap-2">
1165
- <MoveVerticalIcon className="h-8 w-8 text-white transition-transform hover:scale-110" />
1166
- <span className="text-xs text-white/60">Scale Up</span>
1219
+ <MoveVerticalIcon className="text-fm-icon-active h-8 w-8 transition-transform hover:scale-110" />
1220
+ <span className="text-fm-tertiary text-xs">Scale Up</span>
1167
1221
  </div>
1168
1222
  <div className="flex flex-col items-center gap-2">
1169
- <MoveVerticalIcon className="animate-slide-vertical h-8 w-8 text-blue-400" />
1170
- <span className="text-xs text-white/60">Slide</span>
1223
+ <MoveVerticalIcon className="animate-slide-vertical text-fm-icon-info h-8 w-8" />
1224
+ <span className="text-fm-tertiary text-xs">Slide</span>
1171
1225
  </div>
1172
1226
  <div className="flex flex-col items-center gap-2">
1173
- <MoveVerticalIcon className="animate-pulse-bounce h-8 w-8 text-purple-400" />
1174
- <span className="text-xs text-white/60">Bounce</span>
1227
+ <MoveVerticalIcon className="animate-pulse-bounce text-fm-secondary-600 h-8 w-8" />
1228
+ <span className="text-fm-tertiary text-xs">Bounce</span>
1175
1229
  </div>
1176
1230
  </div>
1177
1231
  </div>
@@ -1192,11 +1246,11 @@ export const Playground: Story = {
1192
1246
  args: {
1193
1247
  width: 32,
1194
1248
  height: 32,
1195
- className: "text-blue-400 ",
1249
+ className: "text-fm-icon-info ",
1196
1250
  },
1197
1251
  render: (args) => (
1198
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1199
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
1252
+ <div className="from-fm-surface-primary to-fm-surface-secondary flex h-64 min-h-dvh items-center justify-center rounded-lg bg-linear-to-br">
1253
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
1200
1254
  <MoveVerticalIcon {...args} />
1201
1255
  </div>
1202
1256
  </div>