aural-ui 3.0.7 → 4.0.1

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