aural-ui 3.0.7 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/dist/components/aspect-ratio/AspectRatio.stories.tsx +271 -242
  2. package/dist/components/avatar/Avatar.stories.tsx +84 -70
  3. package/dist/components/button/Button.stories.tsx +7 -7
  4. package/dist/components/button/index.tsx +7 -7
  5. package/dist/components/card/Card.stories.tsx +3 -3
  6. package/dist/components/char-count/CharCount.stories.tsx +9 -9
  7. package/dist/components/circular-loader/CircularLoader.stories.tsx +109 -93
  8. package/dist/components/collapsible/Collapsible.stories.tsx +1 -1
  9. package/dist/components/command/Command.stories.tsx +52 -38
  10. package/dist/components/dialog/Dialog.stories.tsx +89 -84
  11. package/dist/components/divider/Divider.stories.tsx +86 -60
  12. package/dist/components/dot-loader/DotLoader.stories.tsx +12 -12
  13. package/dist/components/drawer/Drawer.stories.tsx +74 -44
  14. package/dist/components/drawer/index.tsx +3 -3
  15. package/dist/components/dropdown/Dropdown.stories.tsx +42 -32
  16. package/dist/components/helper-text/HelperText.stories.tsx +2 -2
  17. package/dist/components/hover-card/HoverCard.stories.tsx +211 -178
  18. package/dist/components/input/Input.stories.tsx +2 -2
  19. package/dist/components/label/Label.stories.tsx +10 -10
  20. package/dist/components/list/List.stories.tsx +58 -44
  21. package/dist/components/marquee/Marquee.stories.tsx +131 -113
  22. package/dist/components/otp-inputs/OtpInputs.stories.tsx +47 -35
  23. package/dist/components/overlay/Overlay.stories.tsx +98 -92
  24. package/dist/components/overlay/index.tsx +4 -4
  25. package/dist/components/popover/Popover.stories.tsx +132 -106
  26. package/dist/components/radio/Radio.stories.tsx +2 -2
  27. package/dist/components/resizable/Resizable.stories.tsx +186 -138
  28. package/dist/components/scroll-area/ScrollArea.stories.tsx +174 -120
  29. package/dist/components/search/Search.stories.tsx +81 -59
  30. package/dist/components/select/Select.stories.tsx +3 -1
  31. package/dist/components/sheet/Sheet.stories.tsx +68 -54
  32. package/dist/components/slider/Slider.stories.tsx +71 -47
  33. package/dist/components/stepper/Stepper.stories.tsx +16 -16
  34. package/dist/components/switch/Switch.stories.tsx +12 -12
  35. package/dist/components/table/Table.stories.tsx +8 -6
  36. package/dist/components/tabs/Tabs.stories.tsx +324 -268
  37. package/dist/components/textarea/TextArea.stories.tsx +1 -1
  38. package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +16 -10
  39. package/dist/components/toast/Toast.stories.tsx +51 -45
  40. package/dist/components/toggle/Toggle.stories.tsx +111 -89
  41. package/dist/components/tooltip/Tooltip.stories.tsx +160 -144
  42. package/dist/icons/Icons.stories.tsx +2 -2
  43. package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +287 -237
  44. package/dist/icons/alert-icon/AlertIcon.stories.tsx +290 -248
  45. package/dist/icons/all-icons.tsx +97 -81
  46. package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +312 -270
  47. package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +294 -244
  48. package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +309 -279
  49. package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +294 -258
  50. package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +289 -255
  51. package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +288 -256
  52. package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +322 -288
  53. package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +340 -296
  54. package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +197 -177
  55. package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +390 -328
  56. package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +313 -277
  57. package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +367 -309
  58. package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +356 -308
  59. package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +280 -234
  60. package/dist/icons/camera-icon/CameraIcon.stories.tsx +370 -326
  61. package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +300 -256
  62. package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +298 -262
  63. package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +294 -260
  64. package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +291 -259
  65. package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +286 -256
  66. package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +282 -256
  67. package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +292 -256
  68. package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +338 -290
  69. package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +167 -148
  70. package/dist/icons/coin-icon/CoinIcon.stories.tsx +342 -296
  71. package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +342 -296
  72. package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +280 -238
  73. package/dist/icons/command-icon/CommandIcon.stories.tsx +328 -280
  74. package/dist/icons/copy-icon/CopyIcon.stories.tsx +294 -256
  75. package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +285 -235
  76. package/dist/icons/cross-icon/CrossIcon.stories.tsx +308 -266
  77. package/dist/icons/download-icon/DownloadIcon.stories.tsx +271 -231
  78. package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +330 -278
  79. package/dist/icons/email-icon/EmailIcon.stories.tsx +303 -257
  80. package/dist/icons/expand-icon/ExpandIcon.stories.tsx +324 -286
  81. package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +317 -271
  82. package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +320 -272
  83. package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +322 -280
  84. package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +315 -277
  85. package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +199 -177
  86. package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +304 -264
  87. package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +311 -277
  88. package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +327 -287
  89. package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +314 -278
  90. package/dist/icons/globe-icon/GlobeIcon.stories.tsx +113 -98
  91. package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +274 -226
  92. package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +349 -303
  93. package/dist/icons/head-icon/HeadIcon.stories.tsx +286 -246
  94. package/dist/icons/heart-icon/HeartIcon.stories.tsx +312 -268
  95. package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +246 -210
  96. package/dist/icons/image-icon/ImageIcon.stories.tsx +330 -284
  97. package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +326 -282
  98. package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +330 -294
  99. package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +288 -234
  100. package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +386 -330
  101. package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +305 -263
  102. package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +295 -259
  103. package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +296 -256
  104. package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +322 -282
  105. package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +399 -359
  106. package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +314 -272
  107. package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +238 -206
  108. package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +322 -276
  109. package/dist/icons/message-icon/MessageIcon.stories.tsx +192 -170
  110. package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +348 -304
  111. package/dist/icons/moon-icon/MoonIcon.stories.tsx +191 -167
  112. package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +380 -326
  113. package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +345 -291
  114. package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +310 -266
  115. package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +311 -271
  116. package/dist/icons/notes-icon/NotesIcon.stories.tsx +311 -271
  117. package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +309 -271
  118. package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +248 -210
  119. package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +310 -262
  120. package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +274 -236
  121. package/dist/icons/pause-icon/PauseIcon.stories.tsx +324 -280
  122. package/dist/icons/pencil-icon/PencilIcon.stories.tsx +323 -281
  123. package/dist/icons/phone-icon/PhoneIcon.stories.tsx +288 -240
  124. package/dist/icons/plus-icon/PlusIcon.stories.tsx +315 -273
  125. package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +278 -234
  126. package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +161 -151
  127. package/dist/icons/search-icon/SearchIcon.stories.tsx +324 -284
  128. package/dist/icons/setting-icon/SettingIcon.stories.tsx +306 -264
  129. package/dist/icons/share-icon/ShareIcon.stories.tsx +314 -272
  130. package/dist/icons/shield-icon/ShieldIcon.stories.tsx +281 -235
  131. package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +309 -250
  132. package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +317 -279
  133. package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +315 -279
  134. package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +299 -253
  135. package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +185 -169
  136. package/dist/icons/spinner-gradient-icon/index.tsx +6 -1
  137. package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +192 -168
  138. package/dist/icons/spinner-solid-icon/index.tsx +6 -1
  139. package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +212 -178
  140. package/dist/icons/spinner-solid-neutral-icon/index.tsx +1 -1
  141. package/dist/icons/star-icon/StarIcon.stories.tsx +290 -244
  142. package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +286 -234
  143. package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +272 -230
  144. package/dist/icons/sun-icon/SunIcon.stories.tsx +262 -226
  145. package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +321 -279
  146. package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +332 -282
  147. package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +394 -342
  148. package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +338 -290
  149. package/dist/icons/tick-icon/TickIcon.stories.tsx +364 -315
  150. package/dist/icons/trash-icon/TrashIcon.stories.tsx +293 -253
  151. package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +396 -338
  152. package/dist/icons/upload-icon/UploadIcon.stories.tsx +291 -247
  153. package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +309 -271
  154. package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +336 -290
  155. package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +382 -334
  156. package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +349 -305
  157. package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +327 -295
  158. package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +336 -296
  159. package/dist/icons/warning-icon/WarningIcon.stories.tsx +314 -274
  160. package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +311 -261
  161. package/dist/index.cjs +84 -84
  162. package/dist/index.js +84 -84
  163. package/dist/styles/aural-all-theme.css +1222 -0
  164. package/dist/styles/{aural-theme.css → aural-dark-theme.css} +15 -3
  165. package/dist/styles/aural-light-theme.css +1047 -0
  166. package/package.json +1 -1
@@ -11,9 +11,9 @@ const meta: Meta<typeof GripVerticalIcon> = {
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 GripVerticalIcon> = {
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 wiggle {
81
81
  0%, 100% { transform: rotate(-3deg); }
@@ -87,19 +87,19 @@ const meta: Meta<typeof GripVerticalIcon> = {
87
87
  `}
88
88
  </style>
89
89
 
90
- <div className="min-h-screen bg-gradient-to-br from-gray-900 via-purple-900/20 to-gray-900">
90
+ <div className="bg-fm-surface-primary min-h-screen">
91
91
  {/* Header */}
92
- <div className="relative overflow-hidden border-b border-white/10 bg-black/20 backdrop-blur-xl">
93
- <div className="absolute inset-0 bg-gradient-to-r from-gray-500/10 via-transparent to-blue-500/10" />
92
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
93
+ <div className="from-fm-surface-tertiary/10 to-fm-icon-info/10 absolute inset-0 bg-linear-to-r via-transparent" />
94
94
  <div className="relative !mx-auto max-w-7xl px-6 py-16">
95
95
  <div className="!space-y-6 text-center">
96
- <div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border border-gray-500/30 bg-gradient-to-br from-gray-500/20 to-blue-500/20">
97
- <GripVerticalIcon className="h-12 w-12 text-gray-400" />
96
+ <div className="border-fm-divider-primary from-fm-surface-tertiary/20 to-fm-icon-info/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
97
+ <GripVerticalIcon className="text-fm-placeholder h-12 w-12" />
98
98
  </div>
99
99
  <h1 className="!text-fm-primary text-5xl font-bold">
100
100
  GripVerticalIcon
101
101
  </h1>
102
- <p className="!mx-auto max-w-3xl text-xl leading-relaxed !text-white/70">
102
+ <p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
103
103
  A versatile vertical grip icon featuring two columns of
104
104
  three dots each, commonly used as a drag handle indicator
105
105
  for vertical movement and reordering operations. Perfect for
@@ -111,28 +111,28 @@ const meta: Meta<typeof GripVerticalIcon> = {
111
111
  {/* Stats */}
112
112
  <div className="flex items-center justify-center gap-8 pt-8">
113
113
  <div className="text-center">
114
- <div className="text-3xl font-bold text-gray-300">
114
+ <div className="text-fm-secondary text-3xl font-bold">
115
115
  Draggable
116
116
  </div>
117
- <div className="text-sm text-white/60">
117
+ <div className="text-fm-tertiary text-sm">
118
118
  Vertical movement
119
119
  </div>
120
120
  </div>
121
- <div className="h-8 w-px bg-white/20" />
121
+ <div className="bg-fm-divider-primary h-8 w-px" />
122
122
  <div className="text-center">
123
- <div className="text-3xl font-bold text-blue-300">
123
+ <div className="text-fm-icon-info text-3xl font-bold">
124
124
  Sortable
125
125
  </div>
126
- <div className="text-sm text-white/60">
126
+ <div className="text-fm-tertiary text-sm">
127
127
  Reordering controls
128
128
  </div>
129
129
  </div>
130
- <div className="h-8 w-px bg-white/20" />
130
+ <div className="bg-fm-divider-primary h-8 w-px" />
131
131
  <div className="text-center">
132
- <div className="text-3xl font-bold text-cyan-300">
132
+ <div className="text-fm-icon-info text-3xl font-bold">
133
133
  Interactive
134
134
  </div>
135
- <div className="text-sm text-white/60">
135
+ <div className="text-fm-tertiary text-sm">
136
136
  Touch-friendly
137
137
  </div>
138
138
  </div>
@@ -145,16 +145,16 @@ const meta: Meta<typeof GripVerticalIcon> = {
145
145
  <div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
146
146
  {/* Quick Usage */}
147
147
  <div className="!space-y-8">
148
- <h2 className="text-center text-3xl font-bold !text-white">
148
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
149
149
  Quick Start
150
150
  </h2>
151
151
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
152
152
  <div className="!space-y-4">
153
- <h3 className="text-xl font-semibold !text-gray-300">
153
+ <h3 className="!text-fm-secondary text-xl font-semibold">
154
154
  Basic Usage
155
155
  </h3>
156
- <div className="rounded-lg bg-black/40 p-4">
157
- <pre className="overflow-x-auto text-sm !text-green-300">
156
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
157
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
158
158
  {`import { GripVerticalIcon } from "@icons/grip-vertical-icon"
159
159
 
160
160
  function SortableItem() {
@@ -170,13 +170,15 @@ function SortableItem() {
170
170
  </div>
171
171
 
172
172
  <div className="!space-y-4">
173
- <h3 className="text-xl font-semibold !text-gray-300">
173
+ <h3 className="!text-fm-secondary text-xl font-semibold">
174
174
  Live Preview
175
175
  </h3>
176
- <div className="flex h-32 items-center justify-center rounded-lg border border-white/10 bg-white/5">
177
- <div className="flex items-center gap-3 rounded-lg border border-gray-500/20 bg-gray-500/10 px-4 py-3">
178
- <GripVerticalIcon className="h-4 w-4 cursor-move text-gray-400" />
179
- <span className="text-white">Draggable List Item</span>
176
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
177
+ <div className="border-fm-divider-secondary bg-fm-surface-tertiary/10 flex items-center gap-3 rounded-lg border px-4 py-3">
178
+ <GripVerticalIcon className="text-fm-placeholder h-4 w-4 cursor-move" />
179
+ <span className="text-fm-icon-active">
180
+ Draggable List Item
181
+ </span>
180
182
  </div>
181
183
  </div>
182
184
  </div>
@@ -185,120 +187,130 @@ function SortableItem() {
185
187
 
186
188
  {/* Props Documentation */}
187
189
  <div className="!space-y-8">
188
- <h2 className="text-center text-3xl font-bold !text-white">
190
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
189
191
  Props & Configuration
190
192
  </h2>
191
193
 
192
- <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
193
- <div className="bg-white/5 p-4">
194
- <h3 className="text-xl font-semibold !text-white">Props</h3>
194
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
195
+ <div className="bg-fm-surface-secondary p-4">
196
+ <h3 className="text-fm-icon-active! text-xl font-semibold">
197
+ Props
198
+ </h3>
195
199
  </div>
196
200
  <table className="!my-0 w-full">
197
- <thead className="bg-white/5">
198
- <tr className="border-b border-white/10">
199
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
201
+ <thead className="bg-fm-surface-secondary">
202
+ <tr className="border-fm-divider-secondary border-b">
203
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
200
204
  Prop
201
205
  </th>
202
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
206
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
203
207
  Type
204
208
  </th>
205
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
209
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
206
210
  Default
207
211
  </th>
208
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
212
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
209
213
  Description
210
214
  </th>
211
215
  </tr>
212
216
  </thead>
213
217
  <tbody>
214
218
  {" "}
215
- <tr className="!bg-black/10">
216
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
219
+ <tr className="bg-fm-surface-secondary!">
220
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
217
221
  withAccessibility
218
222
  </td>
219
- <td className="px-6 py-4 text-sm !text-white/70">
223
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
220
224
  boolean
221
225
  </td>
222
- <td className="px-6 py-4 text-sm !text-white/50">
226
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
223
227
  true
224
228
  </td>
225
- <td className="px-6 py-4 text-sm !text-white/70">
229
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
226
230
  Whether to wrap the icon with accessibility feature
227
231
  </td>
228
232
  </tr>
229
- <tr className="border-b border-white/5 !bg-black/10">
230
- <td className="px-6 py-4 font-mono text-sm !text-gray-300">
233
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
234
+ <td className="!text-fm-secondary px-6 py-4 font-mono text-sm">
231
235
  height
232
236
  </td>
233
- <td className="px-6 py-4 text-sm !text-white/70">
237
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
234
238
  number | string
235
239
  </td>
236
- <td className="px-6 py-4 text-sm !text-white/50">24</td>
237
- <td className="px-6 py-4 text-sm !text-white/70">
240
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
241
+ 24
242
+ </td>
243
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
238
244
  Height of the icon in pixels
239
245
  </td>
240
246
  </tr>
241
- <tr className="border-b border-white/5">
242
- <td className="px-6 py-4 font-mono text-sm !text-gray-300">
247
+ <tr className="border-fm-divider-tertiary border-b">
248
+ <td className="!text-fm-secondary px-6 py-4 font-mono text-sm">
243
249
  stroke
244
250
  </td>
245
- <td className="px-6 py-4 text-sm !text-white/70">
251
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
246
252
  string
247
253
  </td>
248
- <td className="px-6 py-4 text-sm !text-white/50">
254
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
249
255
  currentColor
250
256
  </td>
251
- <td className="px-6 py-4 text-sm !text-white/70">
257
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
252
258
  Stroke color of the dots
253
259
  </td>
254
260
  </tr>
255
- <tr className="border-b border-white/5 !bg-black/10">
256
- <td className="px-6 py-4 font-mono text-sm !text-gray-300">
261
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
262
+ <td className="!text-fm-secondary px-6 py-4 font-mono text-sm">
257
263
  strokeWidth
258
264
  </td>
259
- <td className="px-6 py-4 text-sm !text-white/70">
265
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
260
266
  string | number
261
267
  </td>
262
- <td className="px-6 py-4 text-sm !text-white/50">2</td>
263
- <td className="px-6 py-4 text-sm !text-white/70">
268
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
269
+ 2
270
+ </td>
271
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
264
272
  Stroke width of the dots
265
273
  </td>
266
274
  </tr>
267
- <tr className="border-b border-white/5">
268
- <td className="px-6 py-4 font-mono text-sm !text-gray-300">
275
+ <tr className="border-fm-divider-tertiary border-b">
276
+ <td className="!text-fm-secondary px-6 py-4 font-mono text-sm">
269
277
  fill
270
278
  </td>
271
- <td className="px-6 py-4 text-sm !text-white/70">
279
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
272
280
  string
273
281
  </td>
274
- <td className="px-6 py-4 text-sm !text-white/50">
282
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
275
283
  none
276
284
  </td>
277
- <td className="px-6 py-4 text-sm !text-white/70">
285
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
278
286
  Fill color of the dots
279
287
  </td>
280
288
  </tr>
281
- <tr className="border-b border-white/5 !bg-black/10">
282
- <td className="px-6 py-4 font-mono text-sm !text-gray-300">
289
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
290
+ <td className="!text-fm-secondary px-6 py-4 font-mono text-sm">
283
291
  className
284
292
  </td>
285
- <td className="px-6 py-4 text-sm !text-white/70">
293
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
286
294
  string
287
295
  </td>
288
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
289
- <td className="px-6 py-4 text-sm !text-white/70">
296
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
297
+ -
298
+ </td>
299
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
290
300
  CSS classes for styling (use for overrides)
291
301
  </td>
292
302
  </tr>
293
- <tr className="!bg-black/10">
294
- <td className="px-6 py-4 font-mono text-sm !text-gray-300">
303
+ <tr className="bg-fm-surface-secondary!">
304
+ <td className="!text-fm-secondary px-6 py-4 font-mono text-sm">
295
305
  ...svgProps
296
306
  </td>
297
- <td className="px-6 py-4 text-sm !text-white/70">
307
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
298
308
  SVGProps
299
309
  </td>
300
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
301
- <td className="px-6 py-4 text-sm !text-white/70">
310
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
311
+ -
312
+ </td>
313
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
302
314
  All standard SVG element props
303
315
  </td>
304
316
  </tr>
@@ -309,50 +321,62 @@ function SortableItem() {
309
321
 
310
322
  {/* Size Variations */}
311
323
  <div className="!space-y-8">
312
- <h2 className="text-center text-3xl font-bold !text-white">
324
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
313
325
  Size Variations
314
326
  </h2>
315
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
327
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
316
328
  <div className="!space-y-6">
317
329
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
318
330
  <div className="!space-y-4">
319
- <h3 className="text-lg font-semibold !text-gray-300">
331
+ <h3 className="!text-fm-secondary text-lg font-semibold">
320
332
  Standard Sizes
321
333
  </h3>
322
- <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
334
+ <div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
323
335
  <div className="text-center">
324
- <GripVerticalIcon className="!mx-auto mb-2 h-3 w-3 text-gray-400" />
325
- <span className="text-xs text-white/60">12px</span>
336
+ <GripVerticalIcon className="text-fm-placeholder !mx-auto mb-2 h-3 w-3" />
337
+ <span className="text-fm-tertiary text-xs">
338
+ 12px
339
+ </span>
326
340
  </div>
327
341
  <div className="text-center">
328
- <GripVerticalIcon className="!mx-auto mb-2 h-4 w-4 text-gray-400" />
329
- <span className="text-xs text-white/60">16px</span>
342
+ <GripVerticalIcon className="text-fm-placeholder !mx-auto mb-2 h-4 w-4" />
343
+ <span className="text-fm-tertiary text-xs">
344
+ 16px
345
+ </span>
330
346
  </div>
331
347
  <div className="text-center">
332
- <GripVerticalIcon className="!mx-auto mb-2 h-5 w-5 text-gray-400" />
333
- <span className="text-xs text-white/60">20px</span>
348
+ <GripVerticalIcon className="text-fm-placeholder !mx-auto mb-2 h-5 w-5" />
349
+ <span className="text-fm-tertiary text-xs">
350
+ 20px
351
+ </span>
334
352
  </div>
335
353
  <div className="text-center">
336
- <GripVerticalIcon className="!mx-auto mb-2 h-6 w-6 text-gray-400" />
337
- <span className="text-xs text-white/60">24px</span>
354
+ <GripVerticalIcon className="text-fm-placeholder !mx-auto mb-2 h-6 w-6" />
355
+ <span className="text-fm-tertiary text-xs">
356
+ 24px
357
+ </span>
338
358
  </div>
339
359
  <div className="text-center">
340
- <GripVerticalIcon className="!mx-auto mb-2 h-8 w-8 text-gray-400" />
341
- <span className="text-xs text-white/60">32px</span>
360
+ <GripVerticalIcon className="text-fm-placeholder !mx-auto mb-2 h-8 w-8" />
361
+ <span className="text-fm-tertiary text-xs">
362
+ 32px
363
+ </span>
342
364
  </div>
343
365
  <div className="text-center">
344
- <GripVerticalIcon className="!mx-auto mb-2 h-12 w-12 text-gray-400" />
345
- <span className="text-xs text-white/60">48px</span>
366
+ <GripVerticalIcon className="text-fm-placeholder !mx-auto mb-2 h-12 w-12" />
367
+ <span className="text-fm-tertiary text-xs">
368
+ 48px
369
+ </span>
346
370
  </div>
347
371
  </div>
348
372
  </div>
349
373
 
350
374
  <div className="!space-y-4">
351
- <h3 className="text-lg font-semibold !text-gray-300">
375
+ <h3 className="!text-fm-secondary text-lg font-semibold">
352
376
  Code Example
353
377
  </h3>
354
- <div className="rounded-lg bg-black/40 p-4">
355
- <pre className="overflow-x-auto text-sm !text-cyan-300">
378
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
379
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
356
380
  {`// Small (16px)
357
381
  <GripVerticalIcon className="h-4 w-4 " />
358
382
 
@@ -378,56 +402,56 @@ function SortableItem() {
378
402
 
379
403
  {/* Color Variations */}
380
404
  <div className="!space-y-8">
381
- <h2 className="text-center text-3xl font-bold !text-white">
405
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
382
406
  Color Variations
383
407
  </h2>
384
408
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
385
409
  <div className="!space-y-4">
386
- <h3 className="text-lg font-semibold !text-gray-300">
410
+ <h3 className="!text-fm-secondary text-lg font-semibold">
387
411
  Semantic Colors
388
412
  </h3>
389
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
413
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
390
414
  <div className="flex items-center gap-4">
391
- <GripVerticalIcon className="h-6 w-6 text-gray-400" />
415
+ <GripVerticalIcon className="text-fm-placeholder h-6 w-6" />
392
416
  <div>
393
- <div className="text-sm font-medium text-white">
417
+ <div className="text-fm-icon-active text-sm font-medium">
394
418
  Default
395
419
  </div>
396
- <div className="text-xs text-white/60">
397
- text-gray-400
420
+ <div className="text-fm-tertiary text-xs">
421
+ text-fm-placeholder
398
422
  </div>
399
423
  </div>
400
424
  </div>
401
425
  <div className="flex items-center gap-4">
402
- <GripVerticalIcon className="h-6 w-6 text-white/50" />
426
+ <GripVerticalIcon className="text-fm-placeholder h-6 w-6" />
403
427
  <div>
404
- <div className="text-sm font-medium text-white">
428
+ <div className="text-fm-icon-active text-sm font-medium">
405
429
  Muted
406
430
  </div>
407
- <div className="text-xs text-white/60">
408
- text-white/50
431
+ <div className="text-fm-tertiary text-xs">
432
+ text-fm-placeholder
409
433
  </div>
410
434
  </div>
411
435
  </div>
412
436
  <div className="flex items-center gap-4">
413
- <GripVerticalIcon className="h-6 w-6 text-blue-400" />
437
+ <GripVerticalIcon className="text-fm-icon-info h-6 w-6" />
414
438
  <div>
415
- <div className="text-sm font-medium text-white">
439
+ <div className="text-fm-icon-active text-sm font-medium">
416
440
  Primary
417
441
  </div>
418
- <div className="text-xs text-white/60">
419
- text-blue-400
442
+ <div className="text-fm-tertiary text-xs">
443
+ text-fm-icon-info
420
444
  </div>
421
445
  </div>
422
446
  </div>
423
447
  <div className="flex items-center gap-4">
424
- <GripVerticalIcon className="h-6 w-6 text-white/30" />
448
+ <GripVerticalIcon className="text-fm-icon-active/30 h-6 w-6" />
425
449
  <div>
426
- <div className="text-sm font-medium text-white">
450
+ <div className="text-fm-icon-active text-sm font-medium">
427
451
  Disabled
428
452
  </div>
429
- <div className="text-xs text-white/60">
430
- text-white/30
453
+ <div className="text-fm-tertiary text-xs">
454
+ text-fm-icon-active/30
431
455
  </div>
432
456
  </div>
433
457
  </div>
@@ -435,11 +459,11 @@ function SortableItem() {
435
459
  </div>
436
460
 
437
461
  <div className="!space-y-4">
438
- <h3 className="text-lg font-semibold !text-gray-300">
462
+ <h3 className="!text-fm-secondary text-lg font-semibold">
439
463
  Custom Colors
440
464
  </h3>
441
- <div className="rounded-lg bg-black/40 p-4">
442
- <pre className="overflow-x-auto text-sm !text-green-300">
465
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
466
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
443
467
  {`// Using Tailwind classes with
444
468
  <GripVerticalIcon className="h-6 w-6 text-gray-400 " />
445
469
  <GripVerticalIcon className="h-6 w-6 text-blue-500 " />
@@ -465,18 +489,18 @@ function SortableItem() {
465
489
 
466
490
  {/* Usage Examples */}
467
491
  <div className="!space-y-8">
468
- <h2 className="text-center text-3xl font-bold !text-white">
492
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
469
493
  Usage Examples
470
494
  </h2>
471
495
 
472
496
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
473
497
  {/* Sortable List */}
474
498
  <div className="!space-y-4">
475
- <h3 className="text-lg font-semibold !text-gray-300">
499
+ <h3 className="!text-fm-secondary text-lg font-semibold">
476
500
  Sortable List
477
501
  </h3>
478
502
  <div className="!space-y-4">
479
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
503
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
480
504
  <div className="!space-y-2">
481
505
  {[
482
506
  "First Task",
@@ -486,21 +510,21 @@ function SortableItem() {
486
510
  ].map((task, index) => (
487
511
  <div
488
512
  key={index}
489
- className="flex items-center gap-3 rounded border border-white/10 bg-white/5 p-3 transition-colors hover:bg-white/10"
513
+ className="border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary flex items-center gap-3 rounded border p-3 transition-colors"
490
514
  >
491
- <GripVerticalIcon className="h-4 w-4 cursor-move text-white/40 transition-colors hover:text-white/70" />
492
- <span className="flex-1 text-sm text-white">
515
+ <GripVerticalIcon className="text-fm-placeholder hover:text-fm-secondary h-4 w-4 cursor-move transition-colors" />
516
+ <span className="text-fm-icon-active flex-1 text-sm">
493
517
  {task}
494
518
  </span>
495
- <span className="text-xs text-white/40">
519
+ <span className="text-fm-placeholder text-xs">
496
520
  #{index + 1}
497
521
  </span>
498
522
  </div>
499
523
  ))}
500
524
  </div>
501
525
  </div>
502
- <div className="rounded-lg bg-black/40 p-4">
503
- <pre className="overflow-x-auto text-sm !text-green-300">
526
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
527
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
504
528
  {`// Sortable list item
505
529
  <div className="flex items-center gap-3 p-3 border border-white/10 bg-white/5 rounded hover:bg-white/10 transition-colors">
506
530
  <GripVerticalIcon className="h-4 w-4 cursor-move text-white/40 hover:text-white/70 transition-colors " />
@@ -514,7 +538,7 @@ function SortableItem() {
514
538
 
515
539
  {/* Draggable Cards */}
516
540
  <div className="!space-y-4">
517
- <h3 className="text-lg font-semibold !text-gray-300">
541
+ <h3 className="!text-fm-secondary text-lg font-semibold">
518
542
  Draggable Cards
519
543
  </h3>
520
544
  <div className="!space-y-4">
@@ -523,28 +547,28 @@ function SortableItem() {
523
547
  (project, index) => (
524
548
  <div
525
549
  key={index}
526
- className="relative rounded-lg border border-white/10 bg-white/5 p-4 transition-colors hover:bg-white/10"
550
+ className="border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary relative rounded-lg border p-4 transition-colors"
527
551
  >
528
552
  <div className="absolute top-3 right-3">
529
- <GripVerticalIcon className="h-4 w-4 cursor-move text-white/30 transition-colors hover:text-white/60" />
553
+ <GripVerticalIcon className="text-fm-icon-active/30 hover:text-fm-tertiary h-4 w-4 cursor-move transition-colors" />
530
554
  </div>
531
- <h5 className="mb-2 text-sm font-medium !text-white">
555
+ <h5 className="text-fm-icon-active! mb-2 text-sm font-medium">
532
556
  {project}
533
557
  </h5>
534
- <p className="text-xs !text-white/60">
558
+ <p className="text-fm-tertiary! text-xs">
535
559
  Drag to reorder this card
536
560
  </p>
537
561
  <div className="mt-3 flex gap-2">
538
- <div className="h-2 w-2 rounded-full bg-green-400"></div>
539
- <div className="h-2 w-2 rounded-full bg-yellow-400"></div>
540
- <div className="h-2 w-2 rounded-full bg-red-400"></div>
562
+ <div className="bg-fm-icon-positive h-2 w-2 rounded-full"></div>
563
+ <div className="bg-fm-icon-warning h-2 w-2 rounded-full"></div>
564
+ <div className="bg-fm-icon-negative h-2 w-2 rounded-full"></div>
541
565
  </div>
542
566
  </div>
543
567
  )
544
568
  )}
545
569
  </div>
546
- <div className="rounded-lg bg-black/40 p-4">
547
- <pre className="overflow-x-auto text-sm !text-green-300">
570
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
571
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
548
572
  {`// Draggable card
549
573
  <div className="relative border border-white/10 bg-white/5 p-4 rounded-lg hover:bg-white/10 transition-colors">
550
574
  <div className="absolute top-3 right-3">
@@ -560,23 +584,23 @@ function SortableItem() {
560
584
 
561
585
  {/* Table Rows */}
562
586
  <div className="!space-y-4">
563
- <h3 className="text-lg font-semibold !text-gray-300">
587
+ <h3 className="!text-fm-secondary text-lg font-semibold">
564
588
  Sortable Table Rows
565
589
  </h3>
566
590
  <div className="!space-y-4">
567
- <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
568
- <div className="grid grid-cols-12 gap-4 border-b border-white/10 bg-white/5 p-3">
591
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
592
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary grid grid-cols-12 gap-4 border-b p-3">
569
593
  <div className="col-span-1"></div>
570
- <div className="col-span-4 text-xs font-medium text-white/70">
594
+ <div className="text-fm-secondary col-span-4 text-xs font-medium">
571
595
  Name
572
596
  </div>
573
- <div className="col-span-3 text-xs font-medium text-white/70">
597
+ <div className="text-fm-secondary col-span-3 text-xs font-medium">
574
598
  Status
575
599
  </div>
576
- <div className="col-span-2 text-xs font-medium text-white/70">
600
+ <div className="text-fm-secondary col-span-2 text-xs font-medium">
577
601
  Priority
578
602
  </div>
579
- <div className="col-span-2 text-xs font-medium text-white/70">
603
+ <div className="text-fm-secondary col-span-2 text-xs font-medium">
580
604
  Date
581
605
  </div>
582
606
  </div>
@@ -602,28 +626,28 @@ function SortableItem() {
602
626
  ].map((row, index) => (
603
627
  <div
604
628
  key={index}
605
- className="grid grid-cols-12 gap-4 border-b border-white/10 p-3 transition-colors hover:bg-white/5"
629
+ className="border-fm-divider-secondary hover:bg-fm-surface-secondary grid grid-cols-12 gap-4 border-b p-3 transition-colors"
606
630
  >
607
631
  <div className="col-span-1 flex items-center">
608
- <GripVerticalIcon className="h-4 w-4 cursor-move text-white/30 transition-colors hover:text-white/60" />
632
+ <GripVerticalIcon className="text-fm-icon-active/30 hover:text-fm-tertiary h-4 w-4 cursor-move transition-colors" />
609
633
  </div>
610
- <div className="col-span-4 text-sm text-white">
634
+ <div className="text-fm-icon-active col-span-4 text-sm">
611
635
  {row.name}
612
636
  </div>
613
- <div className="col-span-3 text-sm text-white/70">
637
+ <div className="text-fm-secondary col-span-3 text-sm">
614
638
  {row.status}
615
639
  </div>
616
- <div className="col-span-2 text-sm text-white/70">
640
+ <div className="text-fm-secondary col-span-2 text-sm">
617
641
  {row.priority}
618
642
  </div>
619
- <div className="col-span-2 text-sm text-white/70">
643
+ <div className="text-fm-secondary col-span-2 text-sm">
620
644
  {row.date}
621
645
  </div>
622
646
  </div>
623
647
  ))}
624
648
  </div>
625
- <div className="rounded-lg bg-black/40 p-4">
626
- <pre className="overflow-x-auto text-sm !text-green-300">
649
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
650
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
627
651
  {`// Table row with drag handle
628
652
  <div className="grid grid-cols-12 gap-4 p-3 border-b border-white/10 hover:bg-white/5 transition-colors">
629
653
  <div className="col-span-1 flex items-center">
@@ -641,11 +665,11 @@ function SortableItem() {
641
665
 
642
666
  {/* Menu Items */}
643
667
  <div className="!space-y-4">
644
- <h3 className="text-lg font-semibold !text-gray-300">
668
+ <h3 className="!text-fm-secondary text-lg font-semibold">
645
669
  Reorderable Menu
646
670
  </h3>
647
671
  <div className="!space-y-4">
648
- <div className="max-w-xs rounded-lg border border-white/10 bg-white/5 p-2">
672
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary max-w-xs rounded-lg border p-2">
649
673
  {[
650
674
  "Dashboard",
651
675
  "Projects",
@@ -655,20 +679,20 @@ function SortableItem() {
655
679
  ].map((item, index) => (
656
680
  <div
657
681
  key={index}
658
- className="flex cursor-pointer items-center gap-3 rounded p-2 transition-colors hover:bg-white/10"
682
+ className="hover:bg-fm-surface-secondary flex cursor-pointer items-center gap-3 rounded p-2 transition-colors"
659
683
  >
660
- <GripVerticalIcon className="h-3 w-3 cursor-move text-white/30" />
661
- <span className="flex-1 text-sm text-white">
684
+ <GripVerticalIcon className="text-fm-icon-active/30 h-3 w-3 cursor-move" />
685
+ <span className="text-fm-icon-active flex-1 text-sm">
662
686
  {item}
663
687
  </span>
664
- <span className="text-xs text-white/40">
688
+ <span className="text-fm-placeholder text-xs">
665
689
  ⌘{index + 1}
666
690
  </span>
667
691
  </div>
668
692
  ))}
669
693
  </div>
670
- <div className="rounded-lg bg-black/40 p-4">
671
- <pre className="overflow-x-auto text-sm !text-green-300">
694
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
695
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
672
696
  {`// Menu item with drag handle
673
697
  <div className="flex items-center gap-3 p-2 rounded hover:bg-white/10 transition-colors cursor-pointer">
674
698
  <GripVerticalIcon className="h-3 w-3 cursor-move text-white/30 " />
@@ -684,33 +708,33 @@ function SortableItem() {
684
708
 
685
709
  {/* Interactive States */}
686
710
  <div className="!space-y-8">
687
- <h2 className="text-center text-3xl font-bold !text-white">
711
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
688
712
  Interactive States & Animations
689
713
  </h2>
690
714
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
691
715
  <div className="!space-y-4">
692
- <h3 className="text-lg font-semibold !text-gray-300">
716
+ <h3 className="!text-fm-secondary text-lg font-semibold">
693
717
  Hover & Focus States
694
718
  </h3>
695
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
719
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
696
720
  <div className="flex items-center gap-4">
697
- <GripVerticalIcon className="h-6 w-6 text-white/60 transition-colors hover:text-white" />
721
+ <GripVerticalIcon className="text-fm-tertiary hover:text-fm-icon-active h-6 w-6 transition-colors" />
698
722
  <div>
699
- <div className="text-sm font-medium text-white">
723
+ <div className="text-fm-icon-active text-sm font-medium">
700
724
  Color Change
701
725
  </div>
702
- <div className="text-xs text-white/60">
703
- hover:text-white
726
+ <div className="text-fm-tertiary text-xs">
727
+ hover:text-fm-icon-active
704
728
  </div>
705
729
  </div>
706
730
  </div>
707
731
  <div className="flex items-center gap-4">
708
- <GripVerticalIcon className="h-6 w-6 text-white transition-transform hover:scale-110" />
732
+ <GripVerticalIcon className="text-fm-icon-active h-6 w-6 transition-transform hover:scale-110" />
709
733
  <div>
710
- <div className="text-sm font-medium text-white">
734
+ <div className="text-fm-icon-active text-sm font-medium">
711
735
  Scale Effect
712
736
  </div>
713
- <div className="text-xs text-white/60">
737
+ <div className="text-fm-tertiary text-xs">
714
738
  hover:scale-110
715
739
  </div>
716
740
  </div>
@@ -720,24 +744,24 @@ function SortableItem() {
720
744
  className="rounded p-2 focus:ring-2 focus:ring-blue-500 focus:outline-none"
721
745
  tabIndex={0}
722
746
  >
723
- <GripVerticalIcon className="h-6 w-6 text-white" />
747
+ <GripVerticalIcon className="text-fm-icon-active h-6 w-6" />
724
748
  </div>
725
749
  <div>
726
- <div className="text-sm font-medium text-white">
750
+ <div className="text-fm-icon-active text-sm font-medium">
727
751
  Focus Ring
728
752
  </div>
729
- <div className="text-xs text-white/60">
753
+ <div className="text-fm-tertiary text-xs">
730
754
  focus:ring-2
731
755
  </div>
732
756
  </div>
733
757
  </div>
734
758
  <div className="flex items-center gap-4">
735
- <GripVerticalIcon className="animate-wiggle h-6 w-6 text-purple-400" />
759
+ <GripVerticalIcon className="animate-wiggle text-fm-secondary-600 h-6 w-6" />
736
760
  <div>
737
- <div className="text-sm font-medium text-white">
761
+ <div className="text-fm-icon-active text-sm font-medium">
738
762
  Wiggle Animation
739
763
  </div>
740
- <div className="text-xs text-white/60">
764
+ <div className="text-fm-tertiary text-xs">
741
765
  Custom animation
742
766
  </div>
743
767
  </div>
@@ -746,11 +770,11 @@ function SortableItem() {
746
770
  </div>
747
771
 
748
772
  <div className="!space-y-4">
749
- <h3 className="text-lg font-semibold !text-gray-300">
773
+ <h3 className="!text-fm-secondary text-lg font-semibold">
750
774
  Cursor Styles
751
775
  </h3>
752
- <div className="rounded-lg bg-black/40 p-4">
753
- <pre className="overflow-x-auto text-sm !text-cyan-300">
776
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
777
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
754
778
  {`// Different cursor styles for grip icons
755
779
  <GripVerticalIcon className="h-6 w-6 cursor-move " />
756
780
  <GripVerticalIcon className="h-6 w-6 cursor-grab hover:cursor-grabbing " />
@@ -776,65 +800,65 @@ function SortableItem() {
776
800
 
777
801
  {/* Accessibility */}
778
802
  <div className="!space-y-8">
779
- <h2 className="text-center text-3xl font-bold !text-white">
803
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
780
804
  Accessibility Features
781
805
  </h2>
782
806
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
783
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
784
- <h3 className="text-lg font-semibold !text-green-300">
807
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
808
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
785
809
  ✅ Built-in Features
786
810
  </h3>
787
- <ul className="!space-y-2 text-sm !text-white/70">
788
- <li className="!text-white/70">
811
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
812
+ <li className="text-fm-secondary!">
789
813
  Uses Radix UI AccessibleIcon wrapper
790
814
  </li>
791
- <li className="!text-white/70">
815
+ <li className="text-fm-secondary!">
792
816
  Provides screen reader label "Grip Vertical icon"
793
817
  </li>
794
- <li className="!text-white/70">
818
+ <li className="text-fm-secondary!">
795
819
  Supports keyboard navigation when interactive
796
820
  </li>
797
- <li className="!text-white/70">
821
+ <li className="text-fm-secondary!">
798
822
  Maintains proper color contrast ratios
799
823
  </li>
800
- <li className="!text-white/70">
824
+ <li className="text-fm-secondary!">
801
825
  Scales with user's font size preferences
802
826
  </li>
803
827
  </ul>
804
828
  </div>
805
829
 
806
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
807
- <h3 className="text-lg font-semibold !text-gray-300">
830
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
831
+ <h3 className="!text-fm-secondary text-lg font-semibold">
808
832
  💡 Best Practices
809
833
  </h3>
810
- <ul className="!space-y-2 text-sm text-white/70">
811
- <li className="!text-white/70">
834
+ <ul className="text-fm-secondary !space-y-2 text-sm">
835
+ <li className="text-fm-secondary!">
812
836
  Always wrap in focusable elements (button, div with
813
837
  tabIndex)
814
838
  </li>
815
- <li className="!text-white/70">
839
+ <li className="text-fm-secondary!">
816
840
  Provide clear ARIA labels explaining drag functionality
817
841
  </li>
818
- <li className="!text-white/70">
842
+ <li className="text-fm-secondary!">
819
843
  Include keyboard instructions for reordering
820
844
  </li>
821
- <li className="!text-white/70">
845
+ <li className="text-fm-secondary!">
822
846
  Use appropriate cursor styles (cursor-move, cursor-grab)
823
847
  </li>
824
- <li className="!text-white/70">
848
+ <li className="text-fm-secondary!">
825
849
  Ensure sufficient touch target size (minimum 44px)
826
850
  </li>
827
851
  </ul>
828
852
  </div>
829
853
  </div>
830
854
 
831
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
832
- <h3 className="mb-4 text-lg font-semibold !text-purple-300">
855
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
856
+ <h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
833
857
  Proper ARIA Implementation
834
858
  </h3>
835
859
  <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
836
- <div className="rounded-lg bg-black/40 p-4">
837
- <pre className="overflow-x-auto text-sm !text-cyan-300">
860
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
861
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
838
862
  {`// Keyboard accessible drag handle
839
863
  <button
840
864
  aria-label="Reorder item - use arrow keys to move"
@@ -861,13 +885,13 @@ function SortableItem() {
861
885
  </pre>
862
886
  </div>
863
887
  <div className="!space-y-4">
864
- <p className="text-sm !text-white/70">
888
+ <p className="text-fm-secondary! text-sm">
865
889
  When using GripVerticalIcon for interactive reordering,
866
890
  provide keyboard alternatives and clear instructions for
867
891
  screen reader users.
868
892
  </p>
869
- <div className="rounded-lg border border-gray-500/20 bg-gray-500/10 p-4">
870
- <div className="flex items-center gap-2 text-sm text-gray-200">
893
+ <div className="border-fm-divider-secondary bg-fm-surface-tertiary/10 rounded-lg border p-4">
894
+ <div className="text-fm-secondary flex items-center gap-2 text-sm">
871
895
  <GripVerticalIcon className="h-4 w-4" />
872
896
  <span>
873
897
  Screen readers announce "Grip Vertical icon" for
@@ -882,52 +906,58 @@ function SortableItem() {
882
906
 
883
907
  {/* Related Icons */}
884
908
  <div className="!space-y-8">
885
- <h2 className="text-center text-3xl font-bold !text-white">
909
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
886
910
  Related Icons
887
911
  </h2>
888
912
  <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
889
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
890
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-gray-500/20">
891
- <span className="!text-2xl !text-white">⋮⋮</span>
913
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
914
+ <div className="bg-fm-surface-tertiary/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
915
+ <span className="text-fm-icon-active! !text-2xl">⋮⋮</span>
892
916
  </div>
893
917
  <div>
894
- <div className="font-medium text-white">
918
+ <div className="text-fm-icon-active font-medium">
895
919
  GripHorizontalIcon
896
920
  </div>
897
- <div className="text-xs text-white/60">
921
+ <div className="text-fm-tertiary text-xs">
898
922
  Horizontal movement
899
923
  </div>
900
924
  </div>
901
925
  </div>
902
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
903
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
926
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
927
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
904
928
  <span className="text-2xl">↕️</span>
905
929
  </div>
906
930
  <div>
907
- <div className="font-medium text-white">MoveIcon</div>
908
- <div className="text-xs text-white/60">
931
+ <div className="text-fm-icon-active font-medium">
932
+ MoveIcon
933
+ </div>
934
+ <div className="text-fm-tertiary text-xs">
909
935
  All directions
910
936
  </div>
911
937
  </div>
912
938
  </div>
913
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
914
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-green-500/20">
939
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
940
+ <div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
915
941
  <span className="text-2xl">⤴️</span>
916
942
  </div>
917
943
  <div>
918
- <div className="font-medium text-white">DragIcon</div>
919
- <div className="text-xs text-white/60">
944
+ <div className="text-fm-icon-active font-medium">
945
+ DragIcon
946
+ </div>
947
+ <div className="text-fm-tertiary text-xs">
920
948
  Drag operations
921
949
  </div>
922
950
  </div>
923
951
  </div>
924
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
925
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
952
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
953
+ <div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
926
954
  <span className="text-2xl">⚡</span>
927
955
  </div>
928
956
  <div>
929
- <div className="font-medium text-white">SortIcon</div>
930
- <div className="text-xs text-white/60">
957
+ <div className="text-fm-icon-active font-medium">
958
+ SortIcon
959
+ </div>
960
+ <div className="text-fm-tertiary text-xs">
931
961
  Sorting controls
932
962
  </div>
933
963
  </div>
@@ -937,14 +967,14 @@ function SortableItem() {
937
967
  </div>
938
968
 
939
969
  {/* Footer */}
940
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
970
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
941
971
  <div className="!mx-auto max-w-7xl px-6 py-8">
942
972
  <div className="!space-y-4 text-center">
943
- <p className="!text-white/60">
973
+ <p className="text-fm-tertiary!">
944
974
  GripVerticalIcon is part of the Aural UI icon library, built
945
975
  with drag-and-drop interactions and accessibility in mind.
946
976
  </p>
947
- <p className="text-sm !text-white/40">
977
+ <p className="text-fm-placeholder! text-sm">
948
978
  All icons use Radix UI's AccessibleIcon for screen reader
949
979
  compatibility and follow WCAG guidelines for interactive
950
980
  elements.
@@ -998,20 +1028,20 @@ const storyParameters = {
998
1028
  backgrounds: {
999
1029
  default: "dark",
1000
1030
  values: [
1001
- { name: "dark", value: "#0a0a0a" },
1002
- { name: "darker", value: "#000000" },
1031
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
1032
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
1003
1033
  ],
1004
1034
  },
1005
1035
  }
1006
1036
 
1007
1037
  export const Default: Story = {
1008
1038
  args: {
1009
- className: "h-6 w-6 text-gray-400 ",
1039
+ className: "h-6 w-6 text-fm-placeholder ",
1010
1040
  withAccessibility: true,
1011
1041
  },
1012
1042
  parameters: storyParameters,
1013
1043
  render: (args) => (
1014
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1044
+ <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">
1015
1045
  <GripVerticalIcon {...args} />
1016
1046
  </div>
1017
1047
  ),
@@ -1028,30 +1058,30 @@ export const SizeVariations: Story = {
1028
1058
  },
1029
1059
  },
1030
1060
  render: () => (
1031
- <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">
1061
+ <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">
1032
1062
  <div className="text-center">
1033
- <GripVerticalIcon className="!mx-auto mb-2 h-3 w-3 text-gray-400" />
1034
- <span className="text-xs text-white/60">12px</span>
1063
+ <GripVerticalIcon className="text-fm-placeholder !mx-auto mb-2 h-3 w-3" />
1064
+ <span className="text-fm-tertiary text-xs">12px</span>
1035
1065
  </div>
1036
1066
  <div className="text-center">
1037
- <GripVerticalIcon className="!mx-auto mb-2 h-4 w-4 text-gray-400" />
1038
- <span className="text-xs text-white/60">16px</span>
1067
+ <GripVerticalIcon className="text-fm-placeholder !mx-auto mb-2 h-4 w-4" />
1068
+ <span className="text-fm-tertiary text-xs">16px</span>
1039
1069
  </div>
1040
1070
  <div className="text-center">
1041
- <GripVerticalIcon className="!mx-auto mb-2 h-5 w-5 text-gray-400" />
1042
- <span className="text-xs text-white/60">20px</span>
1071
+ <GripVerticalIcon className="text-fm-placeholder !mx-auto mb-2 h-5 w-5" />
1072
+ <span className="text-fm-tertiary text-xs">20px</span>
1043
1073
  </div>
1044
1074
  <div className="text-center">
1045
- <GripVerticalIcon className="!mx-auto mb-2 h-6 w-6 text-gray-400" />
1046
- <span className="text-xs text-white/60">24px</span>
1075
+ <GripVerticalIcon className="text-fm-placeholder !mx-auto mb-2 h-6 w-6" />
1076
+ <span className="text-fm-tertiary text-xs">24px</span>
1047
1077
  </div>
1048
1078
  <div className="text-center">
1049
- <GripVerticalIcon className="!mx-auto mb-2 h-8 w-8 text-gray-400" />
1050
- <span className="text-xs text-white/60">32px</span>
1079
+ <GripVerticalIcon className="text-fm-placeholder !mx-auto mb-2 h-8 w-8" />
1080
+ <span className="text-fm-tertiary text-xs">32px</span>
1051
1081
  </div>
1052
1082
  <div className="text-center">
1053
- <GripVerticalIcon className="!mx-auto mb-2 h-12 w-12 text-gray-400" />
1054
- <span className="text-xs text-white/60">48px</span>
1083
+ <GripVerticalIcon className="text-fm-placeholder !mx-auto mb-2 h-12 w-12" />
1084
+ <span className="text-fm-tertiary text-xs">48px</span>
1055
1085
  </div>
1056
1086
  </div>
1057
1087
  ),
@@ -1068,34 +1098,36 @@ export const ColorVariations: Story = {
1068
1098
  },
1069
1099
  },
1070
1100
  render: () => (
1071
- <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">
1101
+ <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">
1072
1102
  <div className="text-center">
1073
- <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">
1074
- <GripVerticalIcon className="h-8 w-8 text-gray-400" />
1103
+ <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">
1104
+ <GripVerticalIcon className="text-fm-placeholder h-8 w-8" />
1075
1105
  </div>
1076
- <div className="text-sm font-medium text-white">Default</div>
1077
- <div className="text-xs text-gray-400">text-gray-400</div>
1106
+ <div className="text-fm-icon-active text-sm font-medium">Default</div>
1107
+ <div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
1078
1108
  </div>
1079
1109
  <div className="text-center">
1080
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-white/30 bg-white/20">
1081
- <GripVerticalIcon className="h-8 w-8 text-white/50" />
1110
+ <div className="border-fm-divider-primary bg-fm-divider-primary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
1111
+ <GripVerticalIcon className="text-fm-placeholder h-8 w-8" />
1082
1112
  </div>
1083
- <div className="text-sm font-medium text-white">Muted</div>
1084
- <div className="text-xs text-white/50">text-white/50</div>
1113
+ <div className="text-fm-icon-active text-sm font-medium">Muted</div>
1114
+ <div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
1085
1115
  </div>
1086
1116
  <div className="text-center">
1087
- <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">
1088
- <GripVerticalIcon className="h-8 w-8 text-blue-400" />
1117
+ <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">
1118
+ <GripVerticalIcon className="text-fm-icon-info h-8 w-8" />
1089
1119
  </div>
1090
- <div className="text-sm font-medium text-white">Primary</div>
1091
- <div className="text-xs text-blue-400">text-blue-400</div>
1120
+ <div className="text-fm-icon-active text-sm font-medium">Primary</div>
1121
+ <div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
1092
1122
  </div>
1093
1123
  <div className="text-center">
1094
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-white/10 bg-white/5">
1095
- <GripVerticalIcon className="h-8 w-8 text-white/30" />
1124
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
1125
+ <GripVerticalIcon className="text-fm-icon-active/30 h-8 w-8" />
1126
+ </div>
1127
+ <div className="text-fm-icon-active text-sm font-medium">Disabled</div>
1128
+ <div className="text-fm-icon-active/30 text-xs">
1129
+ text-fm-icon-active/30
1096
1130
  </div>
1097
- <div className="text-sm font-medium text-white">Disabled</div>
1098
- <div className="text-xs text-white/30">text-white/30</div>
1099
1131
  </div>
1100
1132
  </div>
1101
1133
  ),
@@ -1112,20 +1144,26 @@ export const UsageExamples: Story = {
1112
1144
  },
1113
1145
  },
1114
1146
  render: () => (
1115
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1147
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
1116
1148
  {/* Sortable List */}
1117
1149
  <div className="!space-y-2">
1118
- <h3 className="text-sm font-medium text-white">Sortable List</h3>
1119
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
1150
+ <h3 className="text-fm-icon-active text-sm font-medium">
1151
+ Sortable List
1152
+ </h3>
1153
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
1120
1154
  <div className="!space-y-2">
1121
1155
  {["First Task", "Second Task", "Third Task"].map((task, index) => (
1122
1156
  <div
1123
1157
  key={index}
1124
- className="flex items-center gap-3 rounded border border-white/10 bg-white/5 p-3 transition-colors hover:bg-white/10"
1158
+ className="border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary flex items-center gap-3 rounded border p-3 transition-colors"
1125
1159
  >
1126
- <GripVerticalIcon className="h-4 w-4 cursor-move text-white/40 transition-colors hover:text-white/70" />
1127
- <span className="flex-1 text-sm text-white">{task}</span>
1128
- <span className="text-xs text-white/40">#{index + 1}</span>
1160
+ <GripVerticalIcon className="text-fm-placeholder hover:text-fm-secondary h-4 w-4 cursor-move transition-colors" />
1161
+ <span className="text-fm-icon-active flex-1 text-sm">
1162
+ {task}
1163
+ </span>
1164
+ <span className="text-fm-placeholder text-xs">
1165
+ #{index + 1}
1166
+ </span>
1129
1167
  </div>
1130
1168
  ))}
1131
1169
  </div>
@@ -1134,18 +1172,24 @@ export const UsageExamples: Story = {
1134
1172
 
1135
1173
  {/* Draggable Cards */}
1136
1174
  <div className="!space-y-2">
1137
- <h3 className="text-sm font-medium text-white">Draggable Cards</h3>
1175
+ <h3 className="text-fm-icon-active text-sm font-medium">
1176
+ Draggable Cards
1177
+ </h3>
1138
1178
  <div className="grid grid-cols-1 gap-4 md:grid-cols-2">
1139
1179
  {["Project Alpha", "Project Beta"].map((project, index) => (
1140
1180
  <div
1141
1181
  key={index}
1142
- className="relative rounded-lg border border-white/10 bg-white/5 p-4 transition-colors hover:bg-white/10"
1182
+ className="border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary relative rounded-lg border p-4 transition-colors"
1143
1183
  >
1144
1184
  <div className="absolute top-3 right-3">
1145
- <GripVerticalIcon className="h-4 w-4 cursor-move text-white/30 transition-colors hover:text-white/60" />
1185
+ <GripVerticalIcon className="text-fm-icon-active/30 hover:text-fm-tertiary h-4 w-4 cursor-move transition-colors" />
1146
1186
  </div>
1147
- <h5 className="mb-2 text-sm font-medium text-white">{project}</h5>
1148
- <p className="text-xs text-white/60">Drag to reorder this card</p>
1187
+ <h5 className="text-fm-icon-active mb-2 text-sm font-medium">
1188
+ {project}
1189
+ </h5>
1190
+ <p className="text-fm-tertiary text-xs">
1191
+ Drag to reorder this card
1192
+ </p>
1149
1193
  </div>
1150
1194
  ))}
1151
1195
  </div>
@@ -1153,15 +1197,17 @@ export const UsageExamples: Story = {
1153
1197
 
1154
1198
  {/* Menu Items */}
1155
1199
  <div className="!space-y-2">
1156
- <h3 className="text-sm font-medium text-white">Reorderable Menu</h3>
1157
- <div className="max-w-xs rounded-lg border border-white/10 bg-white/5 p-2">
1200
+ <h3 className="text-fm-icon-active text-sm font-medium">
1201
+ Reorderable Menu
1202
+ </h3>
1203
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary max-w-xs rounded-lg border p-2">
1158
1204
  {["Dashboard", "Projects", "Settings"].map((item, index) => (
1159
1205
  <div
1160
1206
  key={index}
1161
- className="flex cursor-pointer items-center gap-3 rounded p-2 transition-colors hover:bg-white/10"
1207
+ className="hover:bg-fm-surface-secondary flex cursor-pointer items-center gap-3 rounded p-2 transition-colors"
1162
1208
  >
1163
- <GripVerticalIcon className="h-3 w-3 cursor-move text-white/30" />
1164
- <span className="flex-1 text-sm text-white">{item}</span>
1209
+ <GripVerticalIcon className="text-fm-icon-active/30 h-3 w-3 cursor-move" />
1210
+ <span className="text-fm-icon-active flex-1 text-sm">{item}</span>
1165
1211
  </div>
1166
1212
  ))}
1167
1213
  </div>
@@ -1181,39 +1227,39 @@ export const InteractiveStates: Story = {
1181
1227
  },
1182
1228
  },
1183
1229
  render: () => (
1184
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1230
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
1185
1231
  <div className="!space-y-4">
1186
- <h3 className="text-sm font-medium text-white/70">Hover Effects</h3>
1232
+ <h3 className="text-fm-secondary text-sm font-medium">Hover Effects</h3>
1187
1233
  <div className="flex gap-8">
1188
1234
  <div className="flex flex-col items-center gap-2">
1189
- <GripVerticalIcon className="h-8 w-8 text-white/60 transition-colors hover:text-white" />
1190
- <span className="text-xs text-white/60">Color Change</span>
1235
+ <GripVerticalIcon className="text-fm-tertiary hover:text-fm-icon-active h-8 w-8 transition-colors" />
1236
+ <span className="text-fm-tertiary text-xs">Color Change</span>
1191
1237
  </div>
1192
1238
  <div className="flex flex-col items-center gap-2">
1193
- <GripVerticalIcon className="h-8 w-8 text-white transition-transform hover:scale-110" />
1194
- <span className="text-xs text-white/60">Scale Up</span>
1239
+ <GripVerticalIcon className="text-fm-icon-active h-8 w-8 transition-transform hover:scale-110" />
1240
+ <span className="text-fm-tertiary text-xs">Scale Up</span>
1195
1241
  </div>
1196
1242
  <div className="flex flex-col items-center gap-2">
1197
- <GripVerticalIcon className="animate-wiggle h-8 w-8 text-purple-400" />
1198
- <span className="text-xs text-white/60">Wiggle Animation</span>
1243
+ <GripVerticalIcon className="animate-wiggle text-fm-secondary-600 h-8 w-8" />
1244
+ <span className="text-fm-tertiary text-xs">Wiggle Animation</span>
1199
1245
  </div>
1200
1246
  </div>
1201
1247
  </div>
1202
1248
 
1203
1249
  <div className="!space-y-4">
1204
- <h3 className="text-sm font-medium text-white/70">Cursor States</h3>
1250
+ <h3 className="text-fm-secondary text-sm font-medium">Cursor States</h3>
1205
1251
  <div className="flex gap-8">
1206
1252
  <div className="flex flex-col items-center gap-2">
1207
- <GripVerticalIcon className="h-8 w-8 cursor-move text-white" />
1208
- <span className="text-xs text-white/60">cursor-move</span>
1253
+ <GripVerticalIcon className="text-fm-icon-active h-8 w-8 cursor-move" />
1254
+ <span className="text-fm-tertiary text-xs">cursor-move</span>
1209
1255
  </div>
1210
1256
  <div className="flex flex-col items-center gap-2">
1211
- <GripVerticalIcon className="h-8 w-8 cursor-grab text-white hover:cursor-grabbing" />
1212
- <span className="text-xs text-white/60">cursor-grab</span>
1257
+ <GripVerticalIcon className="text-fm-icon-active h-8 w-8 cursor-grab hover:cursor-grabbing" />
1258
+ <span className="text-fm-tertiary text-xs">cursor-grab</span>
1213
1259
  </div>
1214
1260
  <div className="flex flex-col items-center gap-2">
1215
- <GripVerticalIcon className="h-8 w-8 cursor-ns-resize text-white" />
1216
- <span className="text-xs text-white/60">cursor-ns-resize</span>
1261
+ <GripVerticalIcon className="text-fm-icon-active h-8 w-8 cursor-ns-resize" />
1262
+ <span className="text-fm-tertiary text-xs">cursor-ns-resize</span>
1217
1263
  </div>
1218
1264
  </div>
1219
1265
  </div>
@@ -1234,12 +1280,12 @@ export const Playground: Story = {
1234
1280
  args: {
1235
1281
  width: 32,
1236
1282
  height: 32,
1237
- className: "text-gray-400 cursor-move ",
1283
+ className: "text-fm-placeholder cursor-move ",
1238
1284
  strokeWidth: 2,
1239
1285
  },
1240
1286
  render: (args) => (
1241
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1242
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
1287
+ <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">
1288
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
1243
1289
  <GripVerticalIcon {...args} />
1244
1290
  </div>
1245
1291
  </div>