aural-ui 3.0.6 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/dist/components/aspect-ratio/AspectRatio.stories.tsx +271 -242
  2. package/dist/components/avatar/Avatar.stories.tsx +84 -70
  3. package/dist/components/button/Button.stories.tsx +7 -7
  4. package/dist/components/button/index.tsx +7 -7
  5. package/dist/components/card/Card.stories.tsx +3 -3
  6. package/dist/components/char-count/CharCount.stories.tsx +9 -9
  7. package/dist/components/circular-loader/CircularLoader.stories.tsx +109 -93
  8. package/dist/components/clamp-lines/ClampLines.stories.tsx +25 -0
  9. package/dist/components/clamp-lines/index.tsx +6 -1
  10. package/dist/components/collapsible/Collapsible.stories.tsx +1 -1
  11. package/dist/components/command/Command.stories.tsx +52 -38
  12. package/dist/components/dialog/Dialog.stories.tsx +89 -84
  13. package/dist/components/divider/Divider.stories.tsx +86 -60
  14. package/dist/components/dot-loader/DotLoader.stories.tsx +12 -12
  15. package/dist/components/drawer/Drawer.stories.tsx +74 -44
  16. package/dist/components/drawer/index.tsx +3 -3
  17. package/dist/components/dropdown/Dropdown.stories.tsx +42 -32
  18. package/dist/components/helper-text/HelperText.stories.tsx +2 -2
  19. package/dist/components/hover-card/HoverCard.stories.tsx +211 -178
  20. package/dist/components/input/Input.stories.tsx +2 -2
  21. package/dist/components/input/index.tsx +2 -0
  22. package/dist/components/label/Label.stories.tsx +10 -10
  23. package/dist/components/list/List.stories.tsx +58 -44
  24. package/dist/components/marquee/Marquee.stories.tsx +131 -113
  25. package/dist/components/otp-inputs/OtpInputs.stories.tsx +47 -35
  26. package/dist/components/overlay/Overlay.stories.tsx +98 -92
  27. package/dist/components/overlay/index.tsx +4 -4
  28. package/dist/components/popover/Popover.stories.tsx +132 -106
  29. package/dist/components/radio/Radio.stories.tsx +2 -2
  30. package/dist/components/resizable/Resizable.stories.tsx +186 -138
  31. package/dist/components/scroll-area/ScrollArea.stories.tsx +174 -120
  32. package/dist/components/search/Search.stories.tsx +81 -59
  33. package/dist/components/select/Select.stories.tsx +3 -1
  34. package/dist/components/sheet/Sheet.stories.tsx +68 -54
  35. package/dist/components/slider/Slider.stories.tsx +71 -47
  36. package/dist/components/stepper/Stepper.stories.tsx +16 -16
  37. package/dist/components/switch/Switch.stories.tsx +12 -12
  38. package/dist/components/table/Table.stories.tsx +8 -6
  39. package/dist/components/tabs/Tabs.stories.tsx +324 -268
  40. package/dist/components/textarea/TextArea.stories.tsx +1 -1
  41. package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +16 -10
  42. package/dist/components/toast/Toast.stories.tsx +51 -45
  43. package/dist/components/toggle/Toggle.stories.tsx +111 -89
  44. package/dist/components/tooltip/Tooltip.stories.tsx +160 -144
  45. package/dist/icons/Icons.stories.tsx +2 -2
  46. package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +287 -237
  47. package/dist/icons/alert-icon/AlertIcon.stories.tsx +290 -248
  48. package/dist/icons/all-icons.tsx +97 -81
  49. package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +312 -270
  50. package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +294 -244
  51. package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +309 -279
  52. package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +294 -258
  53. package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +289 -255
  54. package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +288 -256
  55. package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +322 -288
  56. package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +340 -296
  57. package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +197 -177
  58. package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +390 -328
  59. package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +313 -277
  60. package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +367 -309
  61. package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +356 -308
  62. package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +280 -234
  63. package/dist/icons/camera-icon/CameraIcon.stories.tsx +370 -326
  64. package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +300 -256
  65. package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +298 -262
  66. package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +294 -260
  67. package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +291 -259
  68. package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +286 -256
  69. package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +282 -256
  70. package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +292 -256
  71. package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +338 -290
  72. package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +167 -148
  73. package/dist/icons/coin-icon/CoinIcon.stories.tsx +342 -296
  74. package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +342 -296
  75. package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +280 -238
  76. package/dist/icons/command-icon/CommandIcon.stories.tsx +328 -280
  77. package/dist/icons/copy-icon/CopyIcon.stories.tsx +294 -256
  78. package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +285 -235
  79. package/dist/icons/cross-icon/CrossIcon.stories.tsx +308 -266
  80. package/dist/icons/download-icon/DownloadIcon.stories.tsx +271 -231
  81. package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +330 -278
  82. package/dist/icons/email-icon/EmailIcon.stories.tsx +303 -257
  83. package/dist/icons/expand-icon/ExpandIcon.stories.tsx +324 -286
  84. package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +317 -271
  85. package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +320 -272
  86. package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +322 -280
  87. package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +315 -277
  88. package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +199 -177
  89. package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +304 -264
  90. package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +311 -277
  91. package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +327 -287
  92. package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +314 -278
  93. package/dist/icons/globe-icon/GlobeIcon.stories.tsx +113 -98
  94. package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +274 -226
  95. package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +349 -303
  96. package/dist/icons/head-icon/HeadIcon.stories.tsx +286 -246
  97. package/dist/icons/heart-icon/HeartIcon.stories.tsx +312 -268
  98. package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +246 -210
  99. package/dist/icons/image-icon/ImageIcon.stories.tsx +330 -284
  100. package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +326 -282
  101. package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +330 -294
  102. package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +288 -234
  103. package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +386 -330
  104. package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +305 -263
  105. package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +295 -259
  106. package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +296 -256
  107. package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +322 -282
  108. package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +399 -359
  109. package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +314 -272
  110. package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +238 -206
  111. package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +322 -276
  112. package/dist/icons/message-icon/MessageIcon.stories.tsx +192 -170
  113. package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +348 -304
  114. package/dist/icons/moon-icon/MoonIcon.stories.tsx +191 -167
  115. package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +380 -326
  116. package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +345 -291
  117. package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +310 -266
  118. package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +311 -271
  119. package/dist/icons/notes-icon/NotesIcon.stories.tsx +311 -271
  120. package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +309 -271
  121. package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +248 -210
  122. package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +310 -262
  123. package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +274 -236
  124. package/dist/icons/pause-icon/PauseIcon.stories.tsx +324 -280
  125. package/dist/icons/pencil-icon/PencilIcon.stories.tsx +323 -281
  126. package/dist/icons/phone-icon/PhoneIcon.stories.tsx +288 -240
  127. package/dist/icons/plus-icon/PlusIcon.stories.tsx +315 -273
  128. package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +278 -234
  129. package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +161 -151
  130. package/dist/icons/search-icon/SearchIcon.stories.tsx +324 -284
  131. package/dist/icons/setting-icon/SettingIcon.stories.tsx +306 -264
  132. package/dist/icons/share-icon/ShareIcon.stories.tsx +314 -272
  133. package/dist/icons/shield-icon/ShieldIcon.stories.tsx +281 -235
  134. package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +309 -250
  135. package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +317 -279
  136. package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +315 -279
  137. package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +299 -253
  138. package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +185 -169
  139. package/dist/icons/spinner-gradient-icon/index.tsx +6 -1
  140. package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +192 -168
  141. package/dist/icons/spinner-solid-icon/index.tsx +6 -1
  142. package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +212 -178
  143. package/dist/icons/spinner-solid-neutral-icon/index.tsx +1 -1
  144. package/dist/icons/star-icon/StarIcon.stories.tsx +290 -244
  145. package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +286 -234
  146. package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +272 -230
  147. package/dist/icons/sun-icon/SunIcon.stories.tsx +262 -226
  148. package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +321 -279
  149. package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +332 -282
  150. package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +394 -342
  151. package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +338 -290
  152. package/dist/icons/tick-icon/TickIcon.stories.tsx +364 -315
  153. package/dist/icons/trash-icon/TrashIcon.stories.tsx +293 -253
  154. package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +396 -338
  155. package/dist/icons/upload-icon/UploadIcon.stories.tsx +291 -247
  156. package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +309 -271
  157. package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +336 -290
  158. package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +382 -334
  159. package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +349 -305
  160. package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +327 -295
  161. package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +336 -296
  162. package/dist/icons/warning-icon/WarningIcon.stories.tsx +314 -274
  163. package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +311 -261
  164. package/dist/index.cjs +84 -84
  165. package/dist/index.js +84 -84
  166. package/dist/styles/aural-all-theme.css +1222 -0
  167. package/dist/styles/{aural-theme.css → aural-dark-theme.css} +15 -3
  168. package/dist/styles/aural-light-theme.css +1047 -0
  169. package/package.json +1 -1
@@ -11,9 +11,9 @@ const meta: Meta<typeof IndianFlagIcon> = {
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,59 +40,59 @@ const meta: Meta<typeof IndianFlagIcon> = {
40
40
  background: transparent !important;
41
41
  }
42
42
  body {
43
- background: #0a0a0a !important;
43
+ background: var(--color-fm-surface-primary) !important;
44
44
  }
45
45
  #storybook-docs {
46
- background: #0a0a0a !important;
46
+ background: var(--color-fm-surface-primary) !important;
47
47
  }
48
48
  .sbdocs-preview {
49
49
  background: transparent !important;
50
50
  border: none !important;
51
51
  }
52
52
  .sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
53
- color: white !important;
53
+ color: var(--color-fm-icon-active) !important;
54
54
  }
55
55
  .sbdocs-p, .sbdocs-li {
56
- color: rgba(255, 255, 255, 0.7) !important;
56
+ color: var(--color-fm-secondary) !important;
57
57
  }
58
58
  .sbdocs-code {
59
- background: rgba(255, 255, 255, 0.1) !important;
60
- color: rgba(168, 85, 247, 1) !important;
61
- border: 1px solid rgba(255, 255, 255, 0.1) !important;
59
+ background: var(--color-fm-surface-secondary) !important;
60
+ color: var(--color-fm-secondary-500) !important;
61
+ border: 1px solid var(--color-fm-divider-secondary) !important;
62
62
  }
63
63
  .sbdocs-pre {
64
- background: rgba(0, 0, 0, 0.4) !important;
65
- border: 1px solid rgba(255, 255, 255, 0.1) !important;
64
+ background: var(--color-fm-surface-secondary) !important;
65
+ border: 1px solid var(--color-fm-divider-secondary) !important;
66
66
  }
67
67
  .sbdocs-table {
68
- background: rgba(255, 255, 255, 0.05) !important;
69
- border: 1px solid rgba(255, 255, 255, 0.1) !important;
68
+ background: var(--color-fm-surface-secondary) !important;
69
+ border: 1px solid var(--color-fm-divider-secondary) !important;
70
70
  }
71
71
  .sbdocs-table th {
72
- background: rgba(255, 255, 255, 0.05) !important;
73
- color: white !important;
74
- border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
72
+ background: var(--color-fm-surface-secondary) !important;
73
+ color: var(--color-fm-icon-active) !important;
74
+ border-bottom: 1px solid var(--color-fm-divider-secondary) !important;
75
75
  }
76
76
  .sbdocs-table td {
77
- color: rgba(255, 255, 255, 0.7) !important;
78
- border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
77
+ color: var(--color-fm-secondary) !important;
78
+ border-bottom: 1px solid var(--color-fm-divider-tertiary) !important;
79
79
  }
80
80
  `}
81
81
  </style>
82
82
 
83
- <div className="min-h-screen bg-gradient-to-br from-gray-900 via-orange-900/20 to-gray-900">
83
+ <div className="from-fm-surface-primary via-fm-icon-warning/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
84
84
  {/* Header */}
85
- <div className="relative overflow-hidden border-b border-white/10 bg-black/20 backdrop-blur-xl">
86
- <div className="absolute inset-0 bg-gradient-to-r from-orange-500/10 via-white/5 to-green-500/10" />
85
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
86
+ <div className="from-fm-icon-warning/10 to-fm-icon-positive/10 absolute inset-0 bg-linear-to-r via-transparent" />
87
87
  <div className="relative !mx-auto max-w-7xl px-6 py-16">
88
88
  <div className="!space-y-6 text-center">
89
- <div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border border-orange-500/30 bg-gradient-to-br from-orange-500/20 via-white/10 to-green-500/20">
89
+ <div className="border-fm-icon-warning/30 from-fm-icon-warning/20 to-fm-icon-positive/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br via-transparent">
90
90
  <IndianFlagIcon className="h-12 w-12" />
91
91
  </div>
92
92
  <h1 className="!text-fm-primary text-5xl font-bold">
93
93
  IndianFlagIcon
94
94
  </h1>
95
- <p className="!mx-auto max-w-3xl text-xl leading-relaxed !text-white/70">
95
+ <p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
96
96
  The Indian national flag icon representing India's
97
97
  sovereignty, cultural identity, and national pride. Built
98
98
  with accessibility in mind using Radix UI's AccessibleIcon
@@ -102,28 +102,28 @@ const meta: Meta<typeof IndianFlagIcon> = {
102
102
  {/* Stats */}
103
103
  <div className="flex items-center justify-center gap-8 pt-8">
104
104
  <div className="text-center">
105
- <div className="text-3xl font-bold text-orange-300">
105
+ <div className="text-fm-icon-warning text-3xl font-bold">
106
106
  Accessible
107
107
  </div>
108
- <div className="text-sm text-white/60">
108
+ <div className="text-fm-tertiary text-sm">
109
109
  Screen reader friendly
110
110
  </div>
111
111
  </div>
112
- <div className="h-8 w-px bg-white/20" />
112
+ <div className="bg-fm-divider-primary h-8 w-px" />
113
113
  <div className="text-center">
114
- <div className="text-3xl font-bold text-white">
114
+ <div className="text-fm-icon-active text-3xl font-bold">
115
115
  Scalable
116
116
  </div>
117
- <div className="text-sm text-white/60">
117
+ <div className="text-fm-tertiary text-sm">
118
118
  Any size needed
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-green-300">
123
+ <div className="text-fm-icon-positive text-3xl font-bold">
124
124
  Flexible
125
125
  </div>
126
- <div className="text-sm text-white/60">
126
+ <div className="text-fm-tertiary text-sm">
127
127
  Customizable styling
128
128
  </div>
129
129
  </div>
@@ -136,16 +136,16 @@ const meta: Meta<typeof IndianFlagIcon> = {
136
136
  <div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
137
137
  {/* Quick Usage */}
138
138
  <div className="!space-y-8">
139
- <h2 className="text-center text-3xl font-bold !text-white">
139
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
140
140
  Quick Start
141
141
  </h2>
142
142
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
143
143
  <div className="!space-y-4">
144
- <h3 className="text-xl font-semibold !text-orange-300">
144
+ <h3 className="text-fm-icon-warning! text-xl font-semibold">
145
145
  Basic Usage
146
146
  </h3>
147
- <div className="rounded-lg bg-black/40 p-4">
148
- <pre className="overflow-x-auto text-sm !text-green-300">
147
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
148
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
149
149
  {`import { IndianFlagIcon } from "@icons/indian-flag-icon"
150
150
 
151
151
  function CountrySelector() {
@@ -161,13 +161,13 @@ function CountrySelector() {
161
161
  </div>
162
162
 
163
163
  <div className="!space-y-4">
164
- <h3 className="text-xl font-semibold !text-orange-300">
164
+ <h3 className="text-fm-icon-warning! text-xl font-semibold">
165
165
  Live Preview
166
166
  </h3>
167
- <div className="flex h-32 items-center justify-center rounded-lg border border-white/10 bg-white/5">
168
- <div className="flex items-center gap-3 rounded-lg border border-orange-500/20 bg-orange-500/10 px-4 py-2">
167
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
168
+ <div className="border-fm-icon-warning/20 bg-fm-icon-warning/10 flex items-center gap-3 rounded-lg border px-4 py-2">
169
169
  <IndianFlagIcon className="h-6 w-6" />
170
- <span className="text-white">India</span>
170
+ <span className="text-fm-icon-active">India</span>
171
171
  </div>
172
172
  </div>
173
173
  </div>
@@ -176,94 +176,102 @@ function CountrySelector() {
176
176
 
177
177
  {/* Props Documentation */}
178
178
  <div className="!space-y-8">
179
- <h2 className="text-center text-3xl font-bold !text-white">
179
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
180
180
  Props & Configuration
181
181
  </h2>
182
182
 
183
- <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
184
- <div className="bg-white/5 p-4">
185
- <h3 className="text-xl font-semibold !text-white">Props</h3>
183
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
184
+ <div className="bg-fm-surface-secondary p-4">
185
+ <h3 className="text-fm-icon-active! text-xl font-semibold">
186
+ Props
187
+ </h3>
186
188
  </div>
187
189
  <table className="!my-0 w-full">
188
- <thead className="bg-white/5">
189
- <tr className="border-b border-white/10">
190
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
190
+ <thead className="bg-fm-surface-secondary">
191
+ <tr className="border-fm-divider-secondary border-b">
192
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
191
193
  Prop
192
194
  </th>
193
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
195
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
194
196
  Type
195
197
  </th>
196
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
198
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
197
199
  Default
198
200
  </th>
199
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
201
+ <th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
200
202
  Description
201
203
  </th>
202
204
  </tr>
203
205
  </thead>
204
206
  <tbody>
205
207
  {" "}
206
- <tr className="!bg-black/10">
207
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
208
+ <tr className="bg-fm-surface-secondary!">
209
+ <td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
208
210
  withAccessibility
209
211
  </td>
210
- <td className="px-6 py-4 text-sm !text-white/70">
212
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
211
213
  boolean
212
214
  </td>
213
- <td className="px-6 py-4 text-sm !text-white/50">
215
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
214
216
  true
215
217
  </td>
216
- <td className="px-6 py-4 text-sm !text-white/70">
218
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
217
219
  Whether to wrap the icon with accessibility feature
218
220
  </td>
219
221
  </tr>
220
- <tr className="border-b border-white/5 !bg-black/10">
221
- <td className="px-6 py-4 font-mono text-sm !text-orange-300">
222
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
223
+ <td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
222
224
  height
223
225
  </td>
224
- <td className="px-6 py-4 text-sm !text-white/70">
226
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
225
227
  number | string
226
228
  </td>
227
- <td className="px-6 py-4 text-sm !text-white/50">15</td>
228
- <td className="px-6 py-4 text-sm !text-white/70">
229
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
230
+ 15
231
+ </td>
232
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
229
233
  Height of the icon in pixels
230
234
  </td>
231
235
  </tr>
232
- <tr className="border-b border-white/5">
233
- <td className="px-6 py-4 font-mono text-sm !text-orange-300">
236
+ <tr className="border-fm-divider-tertiary border-b">
237
+ <td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
234
238
  fill
235
239
  </td>
236
- <td className="px-6 py-4 text-sm !text-white/70">
240
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
237
241
  string
238
242
  </td>
239
- <td className="px-6 py-4 text-sm !text-white/50">
243
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
240
244
  Flag pattern
241
245
  </td>
242
- <td className="px-6 py-4 text-sm !text-white/70">
246
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
243
247
  Uses embedded flag pattern
244
248
  </td>
245
249
  </tr>
246
- <tr className="border-b border-white/5 !bg-black/10">
247
- <td className="px-6 py-4 font-mono text-sm !text-orange-300">
250
+ <tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
251
+ <td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
248
252
  className
249
253
  </td>
250
- <td className="px-6 py-4 text-sm !text-white/70">
254
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
251
255
  string
252
256
  </td>
253
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
254
- <td className="px-6 py-4 text-sm !text-white/70">
257
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
258
+ -
259
+ </td>
260
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
255
261
  CSS classes for styling
256
262
  </td>
257
263
  </tr>
258
- <tr className="!bg-black/10">
259
- <td className="px-6 py-4 font-mono text-sm !text-orange-300">
264
+ <tr className="bg-fm-surface-secondary!">
265
+ <td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
260
266
  ...svgProps
261
267
  </td>
262
- <td className="px-6 py-4 text-sm !text-white/70">
268
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
263
269
  SVGProps
264
270
  </td>
265
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
266
- <td className="px-6 py-4 text-sm !text-white/70">
271
+ <td className="text-fm-placeholder! px-6 py-4 text-sm">
272
+ -
273
+ </td>
274
+ <td className="text-fm-secondary! px-6 py-4 text-sm">
267
275
  All standard SVG element props
268
276
  </td>
269
277
  </tr>
@@ -274,50 +282,62 @@ function CountrySelector() {
274
282
 
275
283
  {/* Size Variations */}
276
284
  <div className="!space-y-8">
277
- <h2 className="text-center text-3xl font-bold !text-white">
285
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
278
286
  Size Variations
279
287
  </h2>
280
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
288
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
281
289
  <div className="!space-y-6">
282
290
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
283
291
  <div className="!space-y-4">
284
- <h3 className="text-lg font-semibold !text-orange-300">
292
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
285
293
  Standard Sizes
286
294
  </h3>
287
- <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
295
+ <div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
288
296
  <div className="text-center">
289
297
  <IndianFlagIcon className="!mx-auto mb-2 h-3 w-3" />
290
- <span className="text-xs text-white/60">12px</span>
298
+ <span className="text-fm-tertiary text-xs">
299
+ 12px
300
+ </span>
291
301
  </div>
292
302
  <div className="text-center">
293
303
  <IndianFlagIcon className="!mx-auto mb-2 h-4 w-4" />
294
- <span className="text-xs text-white/60">16px</span>
304
+ <span className="text-fm-tertiary text-xs">
305
+ 16px
306
+ </span>
295
307
  </div>
296
308
  <div className="text-center">
297
309
  <IndianFlagIcon className="!mx-auto mb-2 h-5 w-5" />
298
- <span className="text-xs text-white/60">20px</span>
310
+ <span className="text-fm-tertiary text-xs">
311
+ 20px
312
+ </span>
299
313
  </div>
300
314
  <div className="text-center">
301
315
  <IndianFlagIcon className="!mx-auto mb-2 h-6 w-6" />
302
- <span className="text-xs text-white/60">24px</span>
316
+ <span className="text-fm-tertiary text-xs">
317
+ 24px
318
+ </span>
303
319
  </div>
304
320
  <div className="text-center">
305
321
  <IndianFlagIcon className="!mx-auto mb-2 h-8 w-8" />
306
- <span className="text-xs text-white/60">32px</span>
322
+ <span className="text-fm-tertiary text-xs">
323
+ 32px
324
+ </span>
307
325
  </div>
308
326
  <div className="text-center">
309
327
  <IndianFlagIcon className="!mx-auto mb-2 h-12 w-12" />
310
- <span className="text-xs text-white/60">48px</span>
328
+ <span className="text-fm-tertiary text-xs">
329
+ 48px
330
+ </span>
311
331
  </div>
312
332
  </div>
313
333
  </div>
314
334
 
315
335
  <div className="!space-y-4">
316
- <h3 className="text-lg font-semibold !text-orange-300">
336
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
317
337
  Code Example
318
338
  </h3>
319
- <div className="rounded-lg bg-black/40 p-4">
320
- <pre className="overflow-x-auto text-sm !text-blue-300">
339
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
340
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
321
341
  {`// Small (16px)
322
342
  <IndianFlagIcon className="h-4 w-4" />
323
343
 
@@ -339,61 +359,61 @@ function CountrySelector() {
339
359
 
340
360
  {/* Color Variations */}
341
361
  <div className="!space-y-8">
342
- <h2 className="text-center text-3xl font-bold !text-white">
362
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
343
363
  Color Variations
344
364
  </h2>
345
365
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
346
366
  <div className="!space-y-4">
347
- <h3 className="text-lg font-semibold !text-orange-300">
367
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
348
368
  Display Contexts
349
369
  </h3>
350
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
370
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
351
371
  <div className="flex items-center gap-4">
352
372
  <IndianFlagIcon className="h-6 w-6" />
353
373
  <div>
354
- <div className="text-sm font-medium text-white">
374
+ <div className="text-fm-icon-active text-sm font-medium">
355
375
  Original Colors
356
376
  </div>
357
- <div className="text-xs text-white/60">
377
+ <div className="text-fm-tertiary text-xs">
358
378
  Default flag pattern
359
379
  </div>
360
380
  </div>
361
381
  </div>
362
382
  <div className="flex items-center gap-4">
363
- <div className="rounded bg-white p-1">
383
+ <div className="bg-fm-surface-contrast rounded p-1">
364
384
  <IndianFlagIcon className="h-5 w-5" />
365
385
  </div>
366
386
  <div>
367
- <div className="text-sm font-medium text-white">
387
+ <div className="text-fm-icon-active text-sm font-medium">
368
388
  On White Background
369
389
  </div>
370
- <div className="text-xs text-white/60">
390
+ <div className="text-fm-tertiary text-xs">
371
391
  Optimal contrast
372
392
  </div>
373
393
  </div>
374
394
  </div>
375
395
  <div className="flex items-center gap-4">
376
- <div className="rounded bg-gray-100 p-1">
396
+ <div className="bg-fm-surface-secondary rounded p-1">
377
397
  <IndianFlagIcon className="h-5 w-5" />
378
398
  </div>
379
399
  <div>
380
- <div className="text-sm font-medium text-white">
400
+ <div className="text-fm-icon-active text-sm font-medium">
381
401
  On Light Background
382
402
  </div>
383
- <div className="text-xs text-white/60">
403
+ <div className="text-fm-tertiary text-xs">
384
404
  Light gray surface
385
405
  </div>
386
406
  </div>
387
407
  </div>
388
408
  <div className="flex items-center gap-4">
389
- <div className="rounded bg-gray-800 p-1">
409
+ <div className="bg-fm-surface-secondary rounded p-1">
390
410
  <IndianFlagIcon className="h-5 w-5" />
391
411
  </div>
392
412
  <div>
393
- <div className="text-sm font-medium text-white">
413
+ <div className="text-fm-icon-active text-sm font-medium">
394
414
  On Dark Background
395
415
  </div>
396
- <div className="text-xs text-white/60">
416
+ <div className="text-fm-tertiary text-xs">
397
417
  Dark surface
398
418
  </div>
399
419
  </div>
@@ -402,11 +422,11 @@ function CountrySelector() {
402
422
  </div>
403
423
 
404
424
  <div className="!space-y-4">
405
- <h3 className="text-lg font-semibold !text-orange-300">
425
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
406
426
  Implementation Notes
407
427
  </h3>
408
- <div className="rounded-lg bg-black/40 p-4">
409
- <pre className="overflow-x-auto text-sm !text-green-300">
428
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
429
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
410
430
  {`// Indian flag uses embedded pattern
411
431
  // Orange (saffron), White, Green with Ashoka Chakra
412
432
 
@@ -432,29 +452,31 @@ function CountrySelector() {
432
452
 
433
453
  {/* Usage Examples */}
434
454
  <div className="!space-y-8">
435
- <h2 className="text-center text-3xl font-bold !text-white">
455
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
436
456
  Usage Examples
437
457
  </h2>
438
458
 
439
459
  <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
440
460
  {/* Country Selector */}
441
461
  <div className="!space-y-4">
442
- <h3 className="text-lg font-semibold !text-orange-300">
462
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
443
463
  Country Selector
444
464
  </h3>
445
465
  <div className="!space-y-4">
446
466
  <div className="flex gap-4">
447
- <button className="flex items-center gap-3 rounded-lg border border-orange-500/20 bg-orange-500/10 px-4 py-2 text-white transition-colors hover:bg-orange-500/20">
467
+ <button className="border-fm-icon-warning/20 bg-fm-icon-warning/10 text-fm-icon-active hover:bg-fm-icon-warning/20 flex items-center gap-3 rounded-lg border px-4 py-2 transition-colors">
448
468
  <IndianFlagIcon className="h-5 w-5" />
449
469
  India
450
470
  </button>
451
- <div className="flex items-center gap-2 rounded-lg border border-white/20 bg-white/5 px-3 py-2">
471
+ <div className="border-fm-divider-primary bg-fm-surface-secondary flex items-center gap-2 rounded-lg border px-3 py-2">
452
472
  <IndianFlagIcon className="h-4 w-4" />
453
- <span className="text-sm text-white">IN</span>
473
+ <span className="text-fm-icon-active text-sm">
474
+ IN
475
+ </span>
454
476
  </div>
455
477
  </div>
456
- <div className="rounded-lg bg-black/40 p-4">
457
- <pre className="overflow-x-auto text-sm !text-green-300">
478
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
479
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
458
480
  {`// Country selection button
459
481
  <button className="flex items-center gap-3 border border-orange-500/20 bg-orange-500/10 px-4 py-2 rounded-lg">
460
482
  <IndianFlagIcon className="h-5 w-5" />
@@ -473,35 +495,35 @@ function CountrySelector() {
473
495
 
474
496
  {/* Location Display */}
475
497
  <div className="!space-y-4">
476
- <h3 className="text-lg font-semibold !text-orange-300">
498
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
477
499
  Location Display
478
500
  </h3>
479
501
  <div className="!space-y-4">
480
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
502
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
481
503
  <div className="flex items-center justify-between">
482
504
  <div className="flex items-center gap-4">
483
- <div className="flex h-10 w-10 items-center justify-center rounded-lg bg-orange-500/20">
505
+ <div className="bg-fm-icon-warning/20 flex h-10 w-10 items-center justify-center rounded-lg">
484
506
  <IndianFlagIcon className="h-6 w-6" />
485
507
  </div>
486
508
  <div>
487
- <div className="font-medium text-white">
509
+ <div className="text-fm-icon-active font-medium">
488
510
  Mumbai, India
489
511
  </div>
490
- <div className="text-sm text-white/60">
512
+ <div className="text-fm-tertiary text-sm">
491
513
  Maharashtra, IN
492
514
  </div>
493
515
  </div>
494
516
  </div>
495
517
  <div className="text-right">
496
- <div className="text-sm font-medium text-white">
518
+ <div className="text-fm-icon-active text-sm font-medium">
497
519
  UTC +5:30
498
520
  </div>
499
- <div className="text-xs text-white/60">IST</div>
521
+ <div className="text-fm-tertiary text-xs">IST</div>
500
522
  </div>
501
523
  </div>
502
524
  </div>
503
- <div className="rounded-lg bg-black/40 p-4">
504
- <pre className="overflow-x-auto text-sm !text-green-300">
525
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
526
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
505
527
  {`<div className="flex items-center justify-between">
506
528
  <div className="flex items-center gap-4">
507
529
  <div className="flex h-10 w-10 items-center justify-center rounded-lg bg-orange-500/20">
@@ -524,35 +546,39 @@ function CountrySelector() {
524
546
 
525
547
  {/* Language Selector */}
526
548
  <div className="!space-y-4">
527
- <h3 className="text-lg font-semibold !text-orange-300">
549
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
528
550
  Language Selector
529
551
  </h3>
530
552
  <div className="!space-y-4">
531
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
553
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
532
554
  <div className="space-y-3">
533
- <div className="flex items-center gap-3 rounded-lg bg-white/5 p-3">
555
+ <div className="bg-fm-surface-secondary flex items-center gap-3 rounded-lg p-3">
534
556
  <IndianFlagIcon className="h-5 w-5" />
535
557
  <div className="flex-1">
536
- <div className="text-sm font-medium text-white">
558
+ <div className="text-fm-icon-active text-sm font-medium">
537
559
  हिन्दी (Hindi)
538
560
  </div>
539
- <div className="text-xs text-white/60">India</div>
561
+ <div className="text-fm-tertiary text-xs">
562
+ India
563
+ </div>
540
564
  </div>
541
- <div className="h-2 w-2 rounded-full bg-orange-400"></div>
565
+ <div className="bg-fm-icon-warning h-2 w-2 rounded-full"></div>
542
566
  </div>
543
- <div className="flex items-center gap-3 rounded-lg p-3 hover:bg-white/5">
567
+ <div className="hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg p-3">
544
568
  <IndianFlagIcon className="h-5 w-5" />
545
569
  <div className="flex-1">
546
- <div className="text-sm font-medium text-white">
570
+ <div className="text-fm-icon-active text-sm font-medium">
547
571
  English (India)
548
572
  </div>
549
- <div className="text-xs text-white/60">India</div>
573
+ <div className="text-fm-tertiary text-xs">
574
+ India
575
+ </div>
550
576
  </div>
551
577
  </div>
552
578
  </div>
553
579
  </div>
554
- <div className="rounded-lg bg-black/40 p-4">
555
- <pre className="overflow-x-auto text-sm !text-green-300">
580
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
581
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
556
582
  {`<div className="flex items-center gap-3 rounded-lg bg-white/5 p-3">
557
583
  <IndianFlagIcon className="h-5 w-5" />
558
584
  <div className="flex-1">
@@ -568,29 +594,29 @@ function CountrySelector() {
568
594
 
569
595
  {/* User Profile */}
570
596
  <div className="!space-y-4">
571
- <h3 className="text-lg font-semibold !text-orange-300">
597
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
572
598
  User Profile
573
599
  </h3>
574
600
  <div className="!space-y-4">
575
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
601
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
576
602
  <div className="text-center">
577
- <div className="!mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-gradient-to-br from-orange-500/20 to-green-500/20">
603
+ <div className="from-fm-icon-warning/20 to-fm-icon-positive/20 !mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-linear-to-br">
578
604
  <span className="text-2xl">👤</span>
579
605
  </div>
580
- <h4 className="mb-2 font-medium !text-white">
606
+ <h4 className="text-fm-icon-active! mb-2 font-medium">
581
607
  Arjun Patel
582
608
  </h4>
583
- <div className="flex items-center justify-center gap-2 text-sm !text-white/70">
609
+ <div className="text-fm-secondary! flex items-center justify-center gap-2 text-sm">
584
610
  <IndianFlagIcon className="h-4 w-4" />
585
611
  <span>Delhi, India</span>
586
612
  </div>
587
- <button className="mt-4 rounded-lg bg-orange-500 px-4 py-2 text-sm text-white transition-colors hover:bg-orange-600">
613
+ <button className="bg-fm-icon-warning text-fm-icon-active hover:bg-fm-icon-warning mt-4 rounded-lg px-4 py-2 text-sm transition-colors">
588
614
  View Profile
589
615
  </button>
590
616
  </div>
591
617
  </div>
592
- <div className="rounded-lg bg-black/40 p-4">
593
- <pre className="overflow-x-auto text-sm !text-green-300">
618
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
619
+ <pre className="text-fm-icon-positive! overflow-x-auto text-sm">
594
620
  {`<div className="text-center">
595
621
  <div className="mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-gradient-to-br from-orange-500/20 to-green-500/20">
596
622
  <span className="text-2xl">👤</span>
@@ -613,64 +639,64 @@ function CountrySelector() {
613
639
 
614
640
  {/* Accessibility */}
615
641
  <div className="!space-y-8">
616
- <h2 className="text-center text-3xl font-bold !text-white">
642
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
617
643
  Accessibility Features
618
644
  </h2>
619
645
  <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
620
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
621
- <h3 className="text-lg font-semibold !text-green-300">
646
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
647
+ <h3 className="text-fm-icon-positive! text-lg font-semibold">
622
648
  ✅ Built-in Features
623
649
  </h3>
624
- <ul className="!space-y-2 text-sm !text-white/70">
625
- <li className="!text-white/70">
650
+ <ul className="text-fm-secondary! !space-y-2 text-sm">
651
+ <li className="text-fm-secondary!">
626
652
  Uses Radix UI AccessibleIcon wrapper
627
653
  </li>
628
- <li className="!text-white/70">
654
+ <li className="text-fm-secondary!">
629
655
  Provides screen reader label "Indian Flag icon"
630
656
  </li>
631
- <li className="!text-white/70">
657
+ <li className="text-fm-secondary!">
632
658
  Supports keyboard navigation when interactive
633
659
  </li>
634
- <li className="!text-white/70">
660
+ <li className="text-fm-secondary!">
635
661
  Maintains proper color contrast ratios
636
662
  </li>
637
- <li className="!text-white/70">
663
+ <li className="text-fm-secondary!">
638
664
  Scales with user's font size preferences
639
665
  </li>
640
666
  </ul>
641
667
  </div>
642
668
 
643
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
644
- <h3 className="text-lg font-semibold !text-orange-300">
669
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
670
+ <h3 className="text-fm-icon-warning! text-lg font-semibold">
645
671
  💡 Best Practices
646
672
  </h3>
647
- <ul className="!space-y-2 text-sm text-white/70">
648
- <li className="!text-white/70">
673
+ <ul className="text-fm-secondary !space-y-2 text-sm">
674
+ <li className="text-fm-secondary!">
649
675
  Always pair with descriptive text for context
650
676
  </li>
651
- <li className="!text-white/70">
677
+ <li className="text-fm-secondary!">
652
678
  Use light backgrounds for optimal visibility
653
679
  </li>
654
- <li className="!text-white/70">
680
+ <li className="text-fm-secondary!">
655
681
  Ensure sufficient spacing around the flag
656
682
  </li>
657
- <li className="!text-white/70">
683
+ <li className="text-fm-secondary!">
658
684
  Add focus states for interactive elements
659
685
  </li>
660
- <li className="!text-white/70">
686
+ <li className="text-fm-secondary!">
661
687
  Respect flag usage guidelines and cultural sensitivity
662
688
  </li>
663
689
  </ul>
664
690
  </div>
665
691
  </div>
666
692
 
667
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
668
- <h3 className="mb-4 text-lg font-semibold !text-purple-300">
693
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
694
+ <h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
669
695
  Custom Accessibility Label
670
696
  </h3>
671
697
  <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
672
- <div className="rounded-lg bg-black/40 p-4">
673
- <pre className="overflow-x-auto text-sm !text-blue-300">
698
+ <div className="bg-fm-surface-secondary rounded-lg p-4">
699
+ <pre className="text-fm-icon-info! overflow-x-auto text-sm">
674
700
  {`// Custom implementation with specific label
675
701
  import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
676
702
 
@@ -690,14 +716,14 @@ function CustomIndianFlagIcon({ label = "India", ...props }) {
690
716
  </pre>
691
717
  </div>
692
718
  <div className="!space-y-4">
693
- <p className="text-sm !text-white/70">
719
+ <p className="text-fm-secondary! text-sm">
694
720
  For specific contexts, you can wrap the IndianFlagIcon
695
721
  with a custom AccessibleIcon component that provides
696
722
  more descriptive labels for country selection or
697
723
  geographic identification.
698
724
  </p>
699
- <div className="rounded-lg border border-orange-500/20 bg-orange-500/10 p-4">
700
- <div className="flex items-center gap-2 text-sm text-orange-200">
725
+ <div className="border-fm-icon-warning/20 bg-fm-icon-warning/10 rounded-lg border p-4">
726
+ <div className="text-fm-icon-warning flex items-center gap-2 text-sm">
701
727
  <IndianFlagIcon className="h-4 w-4" />
702
728
  <span>
703
729
  This approach gives screen readers more context
@@ -711,50 +737,58 @@ function CustomIndianFlagIcon({ label = "India", ...props }) {
711
737
 
712
738
  {/* Related Icons */}
713
739
  <div className="!space-y-8">
714
- <h2 className="text-center text-3xl font-bold !text-white">
740
+ <h2 className="text-fm-icon-active! text-center text-3xl font-bold">
715
741
  Related Icons
716
742
  </h2>
717
743
  <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
718
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
719
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
744
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
745
+ <div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
720
746
  <span className="text-2xl">🌍</span>
721
747
  </div>
722
748
  <div>
723
- <div className="font-medium text-white">GlobeIcon</div>
724
- <div className="text-xs text-white/60">
749
+ <div className="text-fm-icon-active font-medium">
750
+ GlobeIcon
751
+ </div>
752
+ <div className="text-fm-tertiary text-xs">
725
753
  Global locations
726
754
  </div>
727
755
  </div>
728
756
  </div>
729
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
730
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-green-500/20">
757
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
758
+ <div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
731
759
  <span className="text-2xl">📍</span>
732
760
  </div>
733
761
  <div>
734
- <div className="font-medium text-white">LocationIcon</div>
735
- <div className="text-xs text-white/60">
762
+ <div className="text-fm-icon-active font-medium">
763
+ LocationIcon
764
+ </div>
765
+ <div className="text-fm-tertiary text-xs">
736
766
  Geographic pins
737
767
  </div>
738
768
  </div>
739
769
  </div>
740
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
741
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
770
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
771
+ <div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
742
772
  <span className="text-2xl">🗺️</span>
743
773
  </div>
744
774
  <div>
745
- <div className="font-medium text-white">MapIcon</div>
746
- <div className="text-xs text-white/60">
775
+ <div className="text-fm-icon-active font-medium">
776
+ MapIcon
777
+ </div>
778
+ <div className="text-fm-tertiary text-xs">
747
779
  Maps and navigation
748
780
  </div>
749
781
  </div>
750
782
  </div>
751
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
752
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-orange-500/20">
783
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
784
+ <div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
753
785
  <span className="text-2xl">🌐</span>
754
786
  </div>
755
787
  <div>
756
- <div className="font-medium text-white">LanguageIcon</div>
757
- <div className="text-xs text-white/60">
788
+ <div className="text-fm-icon-active font-medium">
789
+ LanguageIcon
790
+ </div>
791
+ <div className="text-fm-tertiary text-xs">
758
792
  Language selection
759
793
  </div>
760
794
  </div>
@@ -764,14 +798,14 @@ function CustomIndianFlagIcon({ label = "India", ...props }) {
764
798
  </div>
765
799
 
766
800
  {/* Footer */}
767
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
801
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
768
802
  <div className="!mx-auto max-w-7xl px-6 py-8">
769
803
  <div className="!space-y-4 text-center">
770
- <p className="!text-white/60">
804
+ <p className="text-fm-tertiary!">
771
805
  IndianFlagIcon is part of the Aural UI icon library, built
772
806
  with accessibility and cultural respect in mind.
773
807
  </p>
774
- <p className="text-sm !text-white/40">
808
+ <p className="text-fm-placeholder! text-sm">
775
809
  All icons use Radix UI's AccessibleIcon for screen reader
776
810
  compatibility and follow WCAG guidelines.
777
811
  </p>
@@ -812,8 +846,8 @@ const storyParameters = {
812
846
  backgrounds: {
813
847
  default: "dark",
814
848
  values: [
815
- { name: "dark", value: "#0a0a0a" },
816
- { name: "darker", value: "#000000" },
849
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
850
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
817
851
  ],
818
852
  },
819
853
  }
@@ -827,8 +861,8 @@ export const Default: Story = {
827
861
  },
828
862
  parameters: storyParameters,
829
863
  render: (args) => (
830
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
831
- <div className="rounded-lg border border-white/10 bg-white/5 p-4">
864
+ <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">
865
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
832
866
  <IndianFlagIcon {...args} />
833
867
  </div>
834
868
  </div>
@@ -846,42 +880,42 @@ export const SizeVariations: Story = {
846
880
  },
847
881
  },
848
882
  render: () => (
849
- <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">
883
+ <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">
850
884
  <div className="text-center">
851
- <div className="!mx-auto mb-2 rounded bg-white p-2">
885
+ <div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
852
886
  <IndianFlagIcon className="h-3 w-3" />
853
887
  </div>
854
- <span className="text-xs text-white/60">12px</span>
888
+ <span className="text-fm-tertiary text-xs">12px</span>
855
889
  </div>
856
890
  <div className="text-center">
857
- <div className="!mx-auto mb-2 rounded bg-white p-2">
891
+ <div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
858
892
  <IndianFlagIcon className="h-4 w-4" />
859
893
  </div>
860
- <span className="text-xs text-white/60">16px</span>
894
+ <span className="text-fm-tertiary text-xs">16px</span>
861
895
  </div>
862
896
  <div className="text-center">
863
- <div className="!mx-auto mb-2 rounded bg-white p-2">
897
+ <div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
864
898
  <IndianFlagIcon className="h-5 w-5" />
865
899
  </div>
866
- <span className="text-xs text-white/60">20px</span>
900
+ <span className="text-fm-tertiary text-xs">20px</span>
867
901
  </div>
868
902
  <div className="text-center">
869
- <div className="!mx-auto mb-2 rounded bg-white p-2">
903
+ <div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
870
904
  <IndianFlagIcon className="h-6 w-6" />
871
905
  </div>
872
- <span className="text-xs text-white/60">24px</span>
906
+ <span className="text-fm-tertiary text-xs">24px</span>
873
907
  </div>
874
908
  <div className="text-center">
875
- <div className="!mx-auto mb-2 rounded bg-white p-2">
909
+ <div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
876
910
  <IndianFlagIcon className="h-8 w-8" />
877
911
  </div>
878
- <span className="text-xs text-white/60">32px</span>
912
+ <span className="text-fm-tertiary text-xs">32px</span>
879
913
  </div>
880
914
  <div className="text-center">
881
- <div className="!mx-auto mb-2 rounded bg-white p-3">
915
+ <div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-3">
882
916
  <IndianFlagIcon className="h-12 w-12" />
883
917
  </div>
884
- <span className="text-xs text-white/60">48px</span>
918
+ <span className="text-fm-tertiary text-xs">48px</span>
885
919
  </div>
886
920
  </div>
887
921
  ),
@@ -898,34 +932,42 @@ export const ColorVariations: Story = {
898
932
  },
899
933
  },
900
934
  render: () => (
901
- <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">
935
+ <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">
902
936
  <div className="text-center">
903
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg bg-white">
937
+ <div className="bg-fm-surface-contrast !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg">
904
938
  <IndianFlagIcon className="h-10 w-10" />
905
939
  </div>
906
- <div className="text-sm font-medium text-white">White Background</div>
907
- <div className="text-xs text-white/60">Recommended</div>
940
+ <div className="text-fm-icon-active text-sm font-medium">
941
+ White Background
942
+ </div>
943
+ <div className="text-fm-tertiary text-xs">Recommended</div>
908
944
  </div>
909
945
  <div className="text-center">
910
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg bg-gray-100">
946
+ <div className="bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg">
911
947
  <IndianFlagIcon className="h-10 w-10" />
912
948
  </div>
913
- <div className="text-sm font-medium text-white">Light Background</div>
914
- <div className="text-xs text-gray-400">Good contrast</div>
949
+ <div className="text-fm-icon-active text-sm font-medium">
950
+ Light Background
951
+ </div>
952
+ <div className="text-fm-placeholder text-xs">Good contrast</div>
915
953
  </div>
916
954
  <div className="text-center">
917
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg bg-gray-800">
955
+ <div className="bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg">
918
956
  <IndianFlagIcon className="h-10 w-10" />
919
957
  </div>
920
- <div className="text-sm font-medium text-white">Dark Background</div>
921
- <div className="text-xs text-gray-400">Acceptable</div>
958
+ <div className="text-fm-icon-active text-sm font-medium">
959
+ Dark Background
960
+ </div>
961
+ <div className="text-fm-placeholder text-xs">Acceptable</div>
922
962
  </div>
923
963
  <div className="text-center">
924
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-white/20 bg-transparent">
964
+ <div className="border-fm-divider-primary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border bg-transparent">
925
965
  <IndianFlagIcon className="h-10 w-10" />
926
966
  </div>
927
- <div className="text-sm font-medium text-white">Transparent</div>
928
- <div className="text-xs text-white/60">Original colors</div>
967
+ <div className="text-fm-icon-active text-sm font-medium">
968
+ Transparent
969
+ </div>
970
+ <div className="text-fm-tertiary text-xs">Original colors</div>
929
971
  </div>
930
972
  </div>
931
973
  ),
@@ -942,39 +984,47 @@ export const UsageExamples: Story = {
942
984
  },
943
985
  },
944
986
  render: () => (
945
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
987
+ <div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
946
988
  {/* Country Selector */}
947
989
  <div className="!space-y-2">
948
- <h3 className="text-sm font-medium text-white">Country Selector</h3>
990
+ <h3 className="text-fm-icon-active text-sm font-medium">
991
+ Country Selector
992
+ </h3>
949
993
  <div className="flex gap-4">
950
- <button className="flex items-center gap-3 rounded-lg border border-orange-500/20 bg-orange-500/10 px-4 py-2 text-white transition-colors hover:bg-orange-500/20">
994
+ <button className="border-fm-icon-warning/20 bg-fm-icon-warning/10 text-fm-icon-active hover:bg-fm-icon-warning/20 flex items-center gap-3 rounded-lg border px-4 py-2 transition-colors">
951
995
  <IndianFlagIcon className="h-5 w-5" />
952
996
  India
953
997
  </button>
954
- <div className="flex items-center gap-2 rounded-lg border border-white/20 bg-white/5 px-3 py-2">
998
+ <div className="border-fm-divider-primary bg-fm-surface-secondary flex items-center gap-2 rounded-lg border px-3 py-2">
955
999
  <IndianFlagIcon className="h-4 w-4" />
956
- <span className="text-sm text-white">IN</span>
1000
+ <span className="text-fm-icon-active text-sm">IN</span>
957
1001
  </div>
958
1002
  </div>
959
1003
  </div>
960
1004
 
961
1005
  {/* Location Display */}
962
1006
  <div className="!space-y-2">
963
- <h3 className="text-sm font-medium text-white">Location Display</h3>
964
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
1007
+ <h3 className="text-fm-icon-active text-sm font-medium">
1008
+ Location Display
1009
+ </h3>
1010
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
965
1011
  <div className="flex items-center justify-between">
966
1012
  <div className="flex items-center gap-4">
967
- <div className="flex h-10 w-10 items-center justify-center rounded-lg bg-orange-500/20">
1013
+ <div className="bg-fm-icon-warning/20 flex h-10 w-10 items-center justify-center rounded-lg">
968
1014
  <IndianFlagIcon className="h-6 w-6" />
969
1015
  </div>
970
1016
  <div>
971
- <div className="font-medium text-white">Mumbai, India</div>
972
- <div className="text-sm text-white/60">Maharashtra, IN</div>
1017
+ <div className="text-fm-icon-active font-medium">
1018
+ Mumbai, India
1019
+ </div>
1020
+ <div className="text-fm-tertiary text-sm">Maharashtra, IN</div>
973
1021
  </div>
974
1022
  </div>
975
1023
  <div className="text-right">
976
- <div className="text-sm font-medium text-white">UTC +5:30</div>
977
- <div className="text-xs text-white/60">IST</div>
1024
+ <div className="text-fm-icon-active text-sm font-medium">
1025
+ UTC +5:30
1026
+ </div>
1027
+ <div className="text-fm-tertiary text-xs">IST</div>
978
1028
  </div>
979
1029
  </div>
980
1030
  </div>
@@ -982,18 +1032,22 @@ export const UsageExamples: Story = {
982
1032
 
983
1033
  {/* User Profile */}
984
1034
  <div className="!space-y-2">
985
- <h3 className="text-sm font-medium text-white">User Profile</h3>
986
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
1035
+ <h3 className="text-fm-icon-active text-sm font-medium">
1036
+ User Profile
1037
+ </h3>
1038
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
987
1039
  <div className="text-center">
988
- <div className="!mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-gradient-to-br from-orange-500/20 to-green-500/20">
1040
+ <div className="from-fm-icon-warning/20 to-fm-icon-positive/20 !mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-linear-to-br">
989
1041
  <span className="text-2xl">👤</span>
990
1042
  </div>
991
- <h4 className="mb-2 font-medium text-white">Arjun Patel</h4>
992
- <div className="flex items-center justify-center gap-2 text-sm text-white/70">
1043
+ <h4 className="text-fm-icon-active mb-2 font-medium">
1044
+ Arjun Patel
1045
+ </h4>
1046
+ <div className="text-fm-secondary flex items-center justify-center gap-2 text-sm">
993
1047
  <IndianFlagIcon className="h-4 w-4" />
994
1048
  <span>Delhi, India</span>
995
1049
  </div>
996
- <button className="mt-4 rounded-lg bg-orange-500 px-4 py-2 text-sm text-white transition-colors hover:bg-orange-600">
1050
+ <button className="bg-fm-icon-warning text-fm-icon-active hover:bg-fm-icon-warning mt-4 rounded-lg px-4 py-2 text-sm transition-colors">
997
1051
  View Profile
998
1052
  </button>
999
1053
  </div>
@@ -1019,8 +1073,8 @@ export const Playground: Story = {
1019
1073
  className: "",
1020
1074
  },
1021
1075
  render: (args) => (
1022
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1023
- <div className="rounded-lg border border-white/10 bg-white p-8">
1076
+ <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">
1077
+ <div className="border-fm-divider-secondary bg-fm-surface-contrast rounded-lg border p-8">
1024
1078
  <IndianFlagIcon {...args} />
1025
1079
  </div>
1026
1080
  </div>