aural-ui 3.0.7 → 4.1.0

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 (183) hide show
  1. package/dist/components/aspect-ratio/AspectRatio.stories.tsx +290 -1199
  2. package/dist/components/avatar/Avatar.stories.tsx +235 -237
  3. package/dist/components/badge/Badge.stories.tsx +379 -116
  4. package/dist/components/banner/Banner.stories.tsx +445 -391
  5. package/dist/components/breadcrumb/Breadcrumb.stories.tsx +453 -199
  6. package/dist/components/button/Button.stories.tsx +585 -230
  7. package/dist/components/button/index.tsx +7 -7
  8. package/dist/components/card/Card.stories.tsx +619 -301
  9. package/dist/components/char-count/CharCount.stories.tsx +350 -248
  10. package/dist/components/checkbox/Checkbox.stories.tsx +309 -167
  11. package/dist/components/chip/Chip.stories.tsx +362 -168
  12. package/dist/components/circular-loader/CircularLoader.stories.tsx +221 -620
  13. package/dist/components/clamp-lines/ClampLines.stories.tsx +246 -117
  14. package/dist/components/collapsible/Collapsible.stories.tsx +391 -252
  15. package/dist/components/command/Command.stories.tsx +533 -856
  16. package/dist/components/dialog/Dialog.stories.tsx +505 -949
  17. package/dist/components/divider/Divider.stories.tsx +265 -502
  18. package/dist/components/dot-loader/DotLoader.stories.tsx +256 -257
  19. package/dist/components/drawer/Drawer.stories.tsx +659 -993
  20. package/dist/components/drawer/index.tsx +3 -3
  21. package/dist/components/dropdown/Dropdown.stories.tsx +643 -1018
  22. package/dist/components/form/Form.stories.tsx +560 -274
  23. package/dist/components/helper-text/HelperText.stories.tsx +199 -200
  24. package/dist/components/hover-card/HoverCard.stories.tsx +318 -1221
  25. package/dist/components/icon-button/IconButton.stories.tsx +837 -194
  26. package/dist/components/if-else/if-else.stories.tsx +370 -83
  27. package/dist/components/input/Input.stories.tsx +436 -368
  28. package/dist/components/label/Label.stories.tsx +156 -154
  29. package/dist/components/list/List.stories.tsx +485 -822
  30. package/dist/components/marquee/Marquee.stories.tsx +356 -694
  31. package/dist/components/otp-inputs/OtpInputs.stories.tsx +352 -410
  32. package/dist/components/overlay/Overlay.stories.tsx +452 -818
  33. package/dist/components/overlay/index.tsx +4 -4
  34. package/dist/components/pagination/Pagination.stories.tsx +721 -210
  35. package/dist/components/popover/Popover.stories.tsx +484 -873
  36. package/dist/components/radio/Radio.stories.tsx +432 -124
  37. package/dist/components/resizable/Resizable.stories.tsx +496 -752
  38. package/dist/components/scroll-area/ScrollArea.stories.tsx +384 -1006
  39. package/dist/components/search/Search.stories.tsx +314 -575
  40. package/dist/components/select/Select.stories.tsx +684 -787
  41. package/dist/components/sheet/Sheet.stories.tsx +671 -936
  42. package/dist/components/skelton/Skelton.stories.tsx +230 -764
  43. package/dist/components/slider/Slider.stories.tsx +384 -737
  44. package/dist/components/stepper/Stepper.stories.tsx +371 -514
  45. package/dist/components/switch/Switch.stories.tsx +461 -208
  46. package/dist/components/switch-case/SwitchCase.stories.tsx +367 -188
  47. package/dist/components/table/Table.stories.tsx +770 -914
  48. package/dist/components/tabs/Tabs.stories.tsx +459 -1400
  49. package/dist/components/tag/Tag.stories.tsx +714 -542
  50. package/dist/components/textarea/TextArea.stories.tsx +621 -562
  51. package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +228 -148
  52. package/dist/components/toast/Toast.stories.tsx +452 -1333
  53. package/dist/components/toggle/Toggle.stories.tsx +488 -909
  54. package/dist/components/tooltip/Tooltip.stories.tsx +344 -1372
  55. package/dist/components/typography/Typography.stories.tsx +406 -89
  56. package/dist/hooks/use-change-state/UseChangeState.stories.tsx +309 -606
  57. package/dist/hooks/use-previous/UsePrevious.stories.tsx +367 -917
  58. package/dist/hooks/use-standalone-pagination/UseStandalonePagination.stories.tsx +639 -867
  59. package/dist/icons/Icons.stories.tsx +0 -12
  60. package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +226 -1013
  61. package/dist/icons/alert-icon/AlertIcon.stories.tsx +109 -929
  62. package/dist/icons/all-icons.tsx +124 -87
  63. package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +140 -971
  64. package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +148 -888
  65. package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +135 -1019
  66. package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +137 -953
  67. package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +138 -997
  68. package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +136 -942
  69. package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +148 -1092
  70. package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +146 -1211
  71. package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +126 -615
  72. package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +144 -1164
  73. package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +167 -985
  74. package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +122 -1179
  75. package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +124 -1168
  76. package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +119 -850
  77. package/dist/icons/camera-icon/CameraIcon.stories.tsx +112 -1213
  78. package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +117 -934
  79. package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +160 -961
  80. package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +163 -961
  81. package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +144 -942
  82. package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +129 -966
  83. package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +147 -964
  84. package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +145 -975
  85. package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +150 -1142
  86. package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +114 -461
  87. package/dist/icons/coin-icon/CoinIcon.stories.tsx +124 -1322
  88. package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +117 -1318
  89. package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +114 -903
  90. package/dist/icons/command-icon/CommandIcon.stories.tsx +127 -1042
  91. package/dist/icons/copy-icon/CopyIcon.stories.tsx +123 -962
  92. package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +147 -999
  93. package/dist/icons/cross-icon/CrossIcon.stories.tsx +139 -960
  94. package/dist/icons/download-icon/DownloadIcon.stories.tsx +126 -820
  95. package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +124 -1031
  96. package/dist/icons/email-icon/EmailIcon.stories.tsx +115 -936
  97. package/dist/icons/expand-icon/ExpandIcon.stories.tsx +112 -1111
  98. package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +144 -1025
  99. package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +143 -1036
  100. package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +127 -1011
  101. package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +126 -1056
  102. package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +125 -614
  103. package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +119 -1050
  104. package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +169 -989
  105. package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +115 -1145
  106. package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +115 -1122
  107. package/dist/icons/globe-icon/GlobeIcon.stories.tsx +130 -313
  108. package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +145 -940
  109. package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +119 -1174
  110. package/dist/icons/head-icon/HeadIcon.stories.tsx +111 -916
  111. package/dist/icons/heart-icon/HeartIcon.stories.tsx +120 -1019
  112. package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +119 -683
  113. package/dist/icons/image-icon/ImageIcon.stories.tsx +105 -1121
  114. package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +111 -1192
  115. package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +136 -1256
  116. package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +159 -962
  117. package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +161 -1385
  118. package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +124 -972
  119. package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +119 -948
  120. package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +119 -942
  121. package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +108 -1215
  122. package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +154 -1517
  123. package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +110 -1188
  124. package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +119 -678
  125. package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +123 -1184
  126. package/dist/icons/message-icon/MessageIcon.stories.tsx +114 -538
  127. package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +116 -1158
  128. package/dist/icons/moon-icon/MoonIcon.stories.tsx +120 -536
  129. package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +109 -1184
  130. package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +115 -1134
  131. package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +119 -971
  132. package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +111 -1100
  133. package/dist/icons/notes-icon/NotesIcon.stories.tsx +119 -1101
  134. package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +109 -1111
  135. package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +122 -684
  136. package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +113 -954
  137. package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +112 -877
  138. package/dist/icons/pause-icon/PauseIcon.stories.tsx +113 -1000
  139. package/dist/icons/pencil-icon/PencilIcon.stories.tsx +115 -1070
  140. package/dist/icons/phone-icon/PhoneIcon.stories.tsx +115 -978
  141. package/dist/icons/plus-icon/PlusIcon.stories.tsx +106 -1093
  142. package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +107 -829
  143. package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +102 -469
  144. package/dist/icons/search-icon/SearchIcon.stories.tsx +111 -1124
  145. package/dist/icons/setting-icon/SettingIcon.stories.tsx +107 -970
  146. package/dist/icons/share-icon/ShareIcon.stories.tsx +120 -1025
  147. package/dist/icons/shield-icon/ShieldIcon.stories.tsx +117 -931
  148. package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +137 -1104
  149. package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +172 -982
  150. package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +164 -983
  151. package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +105 -958
  152. package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +158 -580
  153. package/dist/icons/spinner-gradient-icon/index.tsx +6 -1
  154. package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +158 -587
  155. package/dist/icons/spinner-solid-icon/index.tsx +6 -1
  156. package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +146 -682
  157. package/dist/icons/spinner-solid-neutral-icon/index.tsx +1 -1
  158. package/dist/icons/star-icon/StarIcon.stories.tsx +124 -904
  159. package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +112 -964
  160. package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +116 -852
  161. package/dist/icons/sun-icon/SunIcon.stories.tsx +120 -831
  162. package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +116 -950
  163. package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +123 -980
  164. package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +156 -1427
  165. package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +146 -1142
  166. package/dist/icons/tick-icon/TickIcon.stories.tsx +145 -1276
  167. package/dist/icons/trash-icon/TrashIcon.stories.tsx +108 -933
  168. package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +157 -1402
  169. package/dist/icons/upload-icon/UploadIcon.stories.tsx +115 -889
  170. package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +118 -984
  171. package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +125 -1049
  172. package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +123 -1356
  173. package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +110 -1171
  174. package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +112 -1093
  175. package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +115 -1087
  176. package/dist/icons/warning-icon/WarningIcon.stories.tsx +122 -1046
  177. package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +161 -936
  178. package/dist/index.cjs +84 -84
  179. package/dist/index.js +84 -84
  180. package/dist/styles/aural-all-theme.css +1222 -0
  181. package/dist/styles/{aural-theme.css → aural-dark-theme.css} +15 -3
  182. package/dist/styles/aural-light-theme.css +1047 -0
  183. package/package.json +1 -1
@@ -25,8 +25,8 @@ const IconUsageModal: React.FC<{
25
25
  function MyComponent() {
26
26
  return (
27
27
  <div className="flex items-center gap-2">
28
- <${iconName} className="h-5 w-5 text-white" />
29
- <span>Icon with text</span>
28
+ <${iconName} className="text-fm-primary h-5 w-5" />
29
+ <span className="text-fm-primary">Icon with text</span>
30
30
  </div>
31
31
  )
32
32
  }`,
@@ -37,10 +37,10 @@ function MyComponent() {
37
37
 
38
38
  function CustomIcon() {
39
39
  return (
40
- <${iconName}
41
- width={32}
42
- height={32}
43
- className="text-blue-500"
40
+ <${iconName}
41
+ width={32}
42
+ height={32}
43
+ className="text-fm-info"
44
44
  />
45
45
  )
46
46
  }`,
@@ -65,7 +65,7 @@ function IconButton() {
65
65
 
66
66
  function InteractiveIcon() {
67
67
  return (
68
- <${iconName} className="h-6 w-6 text-gray-400 transition-colors hover:text-white" />
68
+ <${iconName} className="text-fm-tertiary hover:text-fm-primary h-6 w-6 transition-colors" />
69
69
  )
70
70
  }`,
71
71
  },
@@ -86,19 +86,19 @@ function InteractiveIcon() {
86
86
  <DialogContent
87
87
  classes={{
88
88
  content: "max-w-4xl",
89
- root: "bg-gray-900 text-white",
89
+ root: "bg-fm-surface-secondary text-fm-primary",
90
90
  }}
91
91
  >
92
- <DialogHeader className="border-b border-white/10 pb-4">
92
+ <DialogHeader className="border-fm-divider-secondary border-b pb-4">
93
93
  <div className="flex items-center gap-4">
94
- <div className="rounded-lg bg-white/5 p-3">
95
- <IconComponent className="h-8 w-8 text-white" />
94
+ <div className="bg-fm-surface-tertiary/20 rounded-lg p-3">
95
+ <IconComponent className="text-fm-primary h-8 w-8" />
96
96
  </div>
97
97
  <div>
98
- <DialogTitle className="text-xl font-semibold text-white">
98
+ <DialogTitle className="text-fm-primary text-xl font-semibold">
99
99
  {iconName}
100
100
  </DialogTitle>
101
- <p className="text-sm text-white/60">
101
+ <p className="text-fm-tertiary text-sm">
102
102
  Usage examples and implementation
103
103
  </p>
104
104
  </div>
@@ -109,11 +109,11 @@ function InteractiveIcon() {
109
109
  {/* Usage Examples */}
110
110
  {usageExamples.map((example, index) => (
111
111
  <div key={index} className="space-y-3">
112
- <h3 className="text-lg font-medium text-white">
112
+ <h3 className="text-fm-primary text-lg font-medium">
113
113
  {example.title}
114
114
  </h3>
115
115
  <div className="relative">
116
- <pre className="overflow-x-auto rounded-lg border border-white/10 bg-black/40 p-4 text-sm text-gray-300">
116
+ <pre className="border-fm-divider-secondary bg-fm-surface-secondary text-fm-secondary overflow-x-auto rounded-lg border p-4 text-sm">
117
117
  <code>{example.code}</code>
118
118
  </pre>
119
119
  <Button
@@ -129,75 +129,87 @@ function InteractiveIcon() {
129
129
  ))}
130
130
 
131
131
  {/* Live Preview */}
132
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
133
- <h3 className="mb-4 text-lg font-medium text-white">
132
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
133
+ <h3 className="text-fm-primary mb-4 text-lg font-medium">
134
134
  Live Preview
135
135
  </h3>
136
136
  <div className="flex flex-wrap items-center gap-6">
137
137
  <div className="text-center">
138
- <IconComponent className="mb-2 h-6 w-6 text-white" />
139
- <span className="text-xs text-white/60">Default</span>
138
+ <IconComponent className="text-fm-primary mb-2 h-6 w-6" />
139
+ <span className="text-fm-tertiary text-xs">Default</span>
140
140
  </div>
141
141
  <div className="text-center">
142
- <IconComponent className="mb-2 h-8 w-8 text-blue-400" />
143
- <span className="text-xs text-white/60">Large Blue</span>
142
+ <IconComponent className="text-fm-info mb-2 h-8 w-8" />
143
+ <span className="text-fm-tertiary text-xs">Large Info</span>
144
144
  </div>
145
145
  <div className="text-center">
146
- <IconComponent className="mb-2 h-4 w-4 text-green-400" />
147
- <span className="text-xs text-white/60">Small Green</span>
146
+ <IconComponent className="text-fm-positive mb-2 h-4 w-4" />
147
+ <span className="text-fm-tertiary text-xs">Small Positive</span>
148
148
  </div>
149
149
  <div className="text-center">
150
- <IconComponent className="mb-2 h-6 w-6 text-red-400" />
151
- <span className="text-xs text-white/60">Red</span>
150
+ <IconComponent className="text-fm-negative mb-2 h-6 w-6" />
151
+ <span className="text-fm-tertiary text-xs">Negative</span>
152
152
  </div>
153
153
  <div className="text-center">
154
- <IconComponent className="mb-2 h-6 w-6 text-yellow-400" />
155
- <span className="text-xs text-white/60">Yellow</span>
154
+ <IconComponent className="text-fm-warning mb-2 h-6 w-6" />
155
+ <span className="text-fm-tertiary text-xs">Warning</span>
156
156
  </div>
157
157
  </div>
158
158
  </div>
159
159
 
160
160
  {/* Icon Properties */}
161
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
162
- <h3 className="mb-4 text-lg font-medium text-white">
161
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
162
+ <h3 className="text-fm-primary mb-4 text-lg font-medium">
163
163
  Icon Properties
164
164
  </h3>
165
165
  <div className="grid grid-cols-1 gap-4 md:grid-cols-2">
166
166
  <div className="space-y-2">
167
- <h4 className="text-sm font-medium text-white/80">
167
+ <h4 className="text-fm-secondary text-sm font-medium">
168
168
  Common Props
169
169
  </h4>
170
- <ul className="space-y-1 text-sm text-white/60">
170
+ <ul className="text-fm-tertiary space-y-1 text-sm">
171
171
  <li>
172
- <code className="rounded bg-black/20 px-1">className</code>{" "}
172
+ <code className="bg-fm-surface-tertiary/40 rounded px-1">
173
+ className
174
+ </code>{" "}
173
175
  - CSS classes
174
176
  </li>
175
177
  <li>
176
- <code className="rounded bg-black/20 px-1">width</code> -
177
- Icon width
178
+ <code className="bg-fm-surface-tertiary/40 rounded px-1">
179
+ width
180
+ </code>{" "}
181
+ - Icon width
178
182
  </li>
179
183
  <li>
180
- <code className="rounded bg-black/20 px-1">height</code> -
181
- Icon height
184
+ <code className="bg-fm-surface-tertiary/40 rounded px-1">
185
+ height
186
+ </code>{" "}
187
+ - Icon height
182
188
  </li>
183
189
  </ul>
184
190
  </div>
185
191
  <div className="space-y-2">
186
- <h4 className="text-sm font-medium text-white/80">SVG Props</h4>
187
- <ul className="space-y-1 text-sm text-white/60">
192
+ <h4 className="text-fm-secondary text-sm font-medium">
193
+ SVG Props
194
+ </h4>
195
+ <ul className="text-fm-tertiary space-y-1 text-sm">
188
196
  <li>
189
- <code className="rounded bg-black/20 px-1">stroke</code> -
190
- Stroke color
197
+ <code className="bg-fm-surface-tertiary/40 rounded px-1">
198
+ stroke
199
+ </code>{" "}
200
+ - Stroke color
191
201
  </li>
192
202
  <li>
193
- <code className="rounded bg-black/20 px-1">
203
+ <code className="bg-fm-surface-tertiary/40 rounded px-1">
194
204
  strokeWidth
195
205
  </code>{" "}
196
206
  - Stroke width
197
207
  </li>
198
208
  <li>
199
- <code className="rounded bg-black/20 px-1">fill</code> -
200
- Fill color
209
+ <code className="bg-fm-surface-tertiary/40 rounded px-1">
210
+ fill
211
+ </code>{" "}
212
+ - Fill color
201
213
  </li>
202
214
  </ul>
203
215
  </div>
@@ -218,11 +230,17 @@ const IconCategory: React.FC<IconCategoryProps> = ({ category, children }) => {
218
230
  return (
219
231
  <div className="space-y-8">
220
232
  <div className="flex items-center gap-4">
221
- <div className="h-px flex-1 bg-gradient-to-r from-purple-500/50 to-transparent" />
222
- <h2 className="rounded-full border border-purple-500/20 bg-purple-500/10 px-4 py-2 text-lg font-semibold text-purple-300">
233
+ <div
234
+ className="h-px flex-1"
235
+ style={{ background: "var(--gradient-fm-stroke-neutral)" }}
236
+ />
237
+ <h2 className="border-fm-secondary-500/20 bg-fm-secondary-500/10 text-fm-secondary-800 rounded-full border px-4 py-2 text-lg font-semibold">
223
238
  {category}
224
239
  </h2>
225
- <div className="h-px flex-1 bg-gradient-to-l from-purple-500/50 to-transparent" />
240
+ <div
241
+ className="h-px flex-1"
242
+ style={{ background: "var(--gradient-fm-stroke-neutral)" }}
243
+ />
226
244
  </div>
227
245
  <div className="space-y-12">{children}</div>
228
246
  </div>
@@ -253,9 +271,11 @@ const IconGrid: React.FC<IconGridProps> = ({
253
271
  return (
254
272
  <div className="space-y-6">
255
273
  <div className="space-y-2">
256
- <h3 className="text-2xl font-bold text-white">{title}</h3>
274
+ <h3 className="text-fm-primary text-2xl font-bold">{title}</h3>
257
275
  {description && (
258
- <p className="text-sm leading-relaxed text-white/70">{description}</p>
276
+ <p className="text-fm-secondary text-sm leading-relaxed">
277
+ {description}
278
+ </p>
259
279
  )}
260
280
  </div>
261
281
  <div className="grid grid-cols-2 gap-4 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 xl:grid-cols-8">
@@ -263,32 +283,32 @@ const IconGrid: React.FC<IconGridProps> = ({
263
283
  <div
264
284
  key={name}
265
285
  onClick={() => onIconClick?.(name, IconComponent)}
266
- className="group relative cursor-pointer overflow-hidden rounded-lg border border-white/10 bg-white/5 transition-all duration-200 hover:scale-105 hover:border-white/20 hover:bg-white/10"
286
+ className="border-fm-divider-secondary bg-fm-surface-secondary hover:border-fm-divider-primary group hover:bg-fm-surface-tertiary/20 relative cursor-pointer overflow-hidden rounded-lg border transition-all duration-200 hover:scale-105"
267
287
  >
268
288
  {/* Icon Display */}
269
- <div className="flex h-24 items-center justify-center bg-gradient-to-br from-white/5 to-white/10 transition-all duration-200 group-hover:from-white/10 group-hover:to-white/15">
270
- <IconComponent className="h-8 w-8 text-white transition-all duration-200 group-hover:scale-110 group-hover:text-blue-400" />
289
+ <div className="from-fm-surface-secondary/50 to-fm-surface-tertiary/20 group-hover:from-fm-surface-secondary group-hover:to-fm-surface-tertiary/40 flex h-24 items-center justify-center bg-linear-to-br transition-all duration-200">
290
+ <IconComponent className="text-fm-primary group-hover:text-fm-info h-8 w-8 transition-all duration-200 group-hover:scale-110" />
271
291
  </div>
272
292
 
273
293
  {/* Icon Info */}
274
294
  <div className="space-y-2 p-3">
275
- <h4 className="truncate text-xs font-medium text-white">
295
+ <h4 className="text-fm-primary truncate text-xs font-medium">
276
296
  {name}
277
297
  </h4>
278
298
  {category && (
279
- <span className="inline-block rounded-full bg-purple-500/20 px-2 py-1 text-xs text-purple-300">
299
+ <span className="bg-fm-secondary-500/20 text-fm-icon-brand-secondary inline-block rounded-full px-2 py-1 text-xs">
280
300
  {category}
281
301
  </span>
282
302
  )}
283
303
  </div>
284
304
 
285
305
  {/* Hover overlay */}
286
- <div className="absolute inset-0 flex flex-col items-center justify-center bg-black/80 opacity-0 backdrop-blur-sm transition-opacity duration-200 group-hover:opacity-100">
287
- <IconComponent className="mb-2 h-8 w-8 text-white" />
288
- <p className="px-2 text-center text-xs font-medium text-white">
306
+ <div className="bg-fm-surface-secondary/80 absolute inset-0 flex flex-col items-center justify-center opacity-0 backdrop-blur-sm transition-opacity duration-200 group-hover:opacity-100">
307
+ <IconComponent className="text-fm-primary mb-2 h-8 w-8" />
308
+ <p className="text-fm-primary px-2 text-center text-xs font-medium">
289
309
  {name}
290
310
  </p>
291
- <p className="mt-1 text-xs text-blue-300">Click for usage</p>
311
+ <p className="text-fm-info mt-1 text-xs">Click for usage</p>
292
312
  </div>
293
313
  </div>
294
314
  ))}
@@ -378,6 +398,19 @@ export const Icons: React.FC = () => {
378
398
  return "actions"
379
399
  }
380
400
 
401
+ // Social platform icons
402
+ if (
403
+ name.includes("instagram") ||
404
+ name.includes("linkedin") ||
405
+ name.includes("twitter") ||
406
+ name.includes("threads") ||
407
+ name.includes("youtube") ||
408
+ name.includes("facebook") ||
409
+ name.includes("whatsapp")
410
+ ) {
411
+ return "social"
412
+ }
413
+
381
414
  // Interface icons
382
415
  if (
383
416
  name.includes("eye") ||
@@ -574,16 +607,18 @@ export const Icons: React.FC = () => {
574
607
  const categoryCount = Object.keys(iconsByCategory).length
575
608
 
576
609
  return (
577
- <div className="min-h-screen bg-gradient-to-br from-gray-900 via-purple-900/20 to-gray-900">
610
+ <div className="bg-fm-surface-primary min-h-screen">
578
611
  {/* Header */}
579
- <div className="relative overflow-hidden border-b border-white/10 bg-black/20 backdrop-blur-xl">
580
- <div className="absolute inset-0 bg-gradient-to-r from-purple-500/10 via-transparent to-blue-500/10" />
612
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary/50 relative overflow-hidden border-b backdrop-blur-xl">
613
+ <div
614
+ aria-hidden="true"
615
+ className="absolute inset-0 opacity-70"
616
+ style={{ backgroundImage: "var(--gradient-fm-background)" }}
617
+ />
581
618
  <div className="relative mx-auto max-w-7xl px-6 py-16">
582
619
  <div className="space-y-6 text-center">
583
- <h1 className="bg-gradient-to-r from-white via-purple-200 to-white bg-clip-text text-5xl font-bold text-transparent">
584
- Icon Library
585
- </h1>
586
- <p className="mx-auto max-w-3xl text-xl leading-relaxed text-white/70">
620
+ <h1 className="text-fm-primary text-5xl font-bold">Icon Library</h1>
621
+ <p className="text-fm-secondary mx-auto max-w-3xl text-xl leading-relaxed">
587
622
  A comprehensive collection of carefully crafted icons built with
588
623
  accessibility in mind. Each icon is optimized for clarity and
589
624
  consistency across your interface.
@@ -592,24 +627,24 @@ export const Icons: React.FC = () => {
592
627
  {/* Stats */}
593
628
  <div className="flex items-center justify-center gap-8 pt-8">
594
629
  <div className="text-center">
595
- <div className="text-3xl font-bold text-purple-300">
630
+ <div className="text-fm-icon-brand-secondary text-3xl font-bold">
596
631
  {totalIcons}
597
632
  </div>
598
- <div className="text-sm text-white/60">Total icons</div>
633
+ <div className="text-fm-tertiary text-sm">Total icons</div>
599
634
  </div>
600
- <div className="h-8 w-px bg-white/20" />
635
+ <div className="bg-fm-divider-secondary h-8 w-px" />
601
636
  <div className="text-center">
602
- <div className="text-3xl font-bold text-blue-300">
637
+ <div className="text-fm-info text-3xl font-bold">
603
638
  {categoryCount}
604
639
  </div>
605
- <div className="text-sm text-white/60">Categories</div>
640
+ <div className="text-fm-tertiary text-sm">Categories</div>
606
641
  </div>
607
- <div className="h-8 w-px bg-white/20" />
642
+ <div className="bg-fm-divider-secondary h-8 w-px" />
608
643
  <div className="text-center">
609
- <div className="text-3xl font-bold text-green-300">
644
+ <div className="text-fm-positive text-3xl font-bold">
610
645
  Accessible
611
646
  </div>
612
- <div className="text-sm text-white/60">Radix UI</div>
647
+ <div className="text-fm-tertiary text-sm">Radix UI</div>
613
648
  </div>
614
649
  </div>
615
650
  </div>
@@ -617,7 +652,7 @@ export const Icons: React.FC = () => {
617
652
  </div>
618
653
 
619
654
  {/* Controls */}
620
- <div className="sticky top-0 z-40 border-b border-white/10 bg-black/80 backdrop-blur-xl">
655
+ <div className="border-fm-divider-secondary bg-fm-surface-primary/80 sticky top-0 z-40 border-b backdrop-blur-xl">
621
656
  <div className="mx-auto max-w-7xl px-6 py-4">
622
657
  <div className="flex flex-col items-center justify-between gap-4 sm:flex-row">
623
658
  <div className="flex flex-wrap gap-2">
@@ -627,8 +662,8 @@ export const Icons: React.FC = () => {
627
662
  onClick={() => setSelectedCategory(category)}
628
663
  className={`rounded-full px-4 py-2 text-sm font-medium transition-all duration-200 ${
629
664
  selectedCategory === category
630
- ? "bg-purple-500 text-white shadow-lg shadow-purple-500/25"
631
- : "bg-white/5 text-white/70 hover:bg-white/10 hover:text-white"
665
+ ? "bg-fm-secondary-500 text-fm-primary shadow-fm-secondary-500/25 shadow-lg"
666
+ : "bg-fm-surface-secondary text-fm-secondary hover:bg-fm-surface-tertiary/30 hover:text-fm-primary"
632
667
  }`}
633
668
  >
634
669
  {category.charAt(0).toUpperCase() + category.slice(1)}
@@ -642,13 +677,13 @@ export const Icons: React.FC = () => {
642
677
  placeholder="Search icons..."
643
678
  value={searchTerm}
644
679
  onChange={(e) => setSearchTerm(e.target.value)}
645
- className="w-64 rounded-lg border border-white/10 bg-white/5 py-2 pr-10 pl-4 text-white placeholder-white/50 focus:border-purple-500/50 focus:ring-2 focus:ring-purple-500/50 focus:outline-none"
680
+ className="border-fm-divider-secondary bg-fm-surface-secondary text-fm-primary focus:border-fm-secondary-500/50 focus:ring-fm-secondary-500/50 placeholder:text-fm-placeholder w-64 rounded-lg border py-2 pr-10 pl-4 focus:ring-2 focus:outline-none"
646
681
  />
647
- <div className="absolute top-1/2 right-3 -translate-y-1/2 text-white/50">
682
+ <div className="text-fm-tertiary absolute top-1/2 right-3 -translate-y-1/2">
648
683
  {searchTerm ? (
649
684
  <button
650
685
  onClick={() => setSearchTerm("")}
651
- className="hover:text-white"
686
+ className="hover:text-fm-primary"
652
687
  >
653
688
  <svg
654
689
  className="h-4 w-4"
@@ -686,11 +721,11 @@ export const Icons: React.FC = () => {
686
721
  {/* Search Results Indicator */}
687
722
  {searchTerm && (
688
723
  <div className="mt-4 text-center">
689
- <p className="text-sm text-white/70">
724
+ <p className="text-fm-secondary text-sm">
690
725
  {filteredIcons.length > 0 ? (
691
726
  <>
692
727
  Found{" "}
693
- <span className="font-medium text-purple-300">
728
+ <span className="text-fm-icon-brand-secondary font-medium">
694
729
  {filteredIcons.length}
695
730
  </span>{" "}
696
731
  icons matching "{searchTerm}"
@@ -698,7 +733,7 @@ export const Icons: React.FC = () => {
698
733
  ) : (
699
734
  <>
700
735
  No icons found matching "
701
- <span className="font-medium text-red-300">
736
+ <span className="text-fm-negative-sec font-medium">
702
737
  {searchTerm}
703
738
  </span>
704
739
  "
@@ -717,14 +752,16 @@ export const Icons: React.FC = () => {
717
752
  <div className="py-16 text-center">
718
753
  <div className="mx-auto max-w-md space-y-4">
719
754
  <div className="text-6xl">🔍</div>
720
- <h3 className="text-xl font-medium text-white">No icons found</h3>
721
- <p className="text-white/60">
755
+ <h3 className="text-fm-primary text-xl font-medium">
756
+ No icons found
757
+ </h3>
758
+ <p className="text-fm-secondary">
722
759
  Try searching for a different term or clear your search to see
723
760
  all icons.
724
761
  </p>
725
762
  <button
726
763
  onClick={() => setSearchTerm("")}
727
- className="mt-4 rounded-full bg-purple-500 px-6 py-2 text-sm font-medium text-white transition-colors hover:bg-purple-600"
764
+ className="bg-fm-secondary-500 text-fm-primary hover:bg-fm-secondary-600 mt-4 rounded-full px-6 py-2 text-sm font-medium transition-colors"
728
765
  >
729
766
  Clear Search
730
767
  </button>
@@ -784,14 +821,14 @@ export const Icons: React.FC = () => {
784
821
  </div>
785
822
 
786
823
  {/* Footer */}
787
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
824
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary/50 border-t backdrop-blur-xl">
788
825
  <div className="mx-auto max-w-7xl px-6 py-8">
789
826
  <div className="space-y-4 text-center">
790
- <p className="text-white/60">
827
+ <p className="text-fm-tertiary">
791
828
  All icons are built with Radix UI's AccessibleIcon for screen
792
829
  reader compatibility.
793
830
  </p>
794
- <p className="text-sm text-white/40">
831
+ <p className="text-fm-placeholder text-sm">
795
832
  Click any icon to see usage examples and copy implementation code.
796
833
  </p>
797
834
  </div>