aural-ui 3.0.7 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/dist/components/aspect-ratio/AspectRatio.stories.tsx +290 -1199
  2. package/dist/components/avatar/Avatar.stories.tsx +235 -237
  3. package/dist/components/badge/Badge.stories.tsx +379 -116
  4. package/dist/components/banner/Banner.stories.tsx +445 -391
  5. package/dist/components/breadcrumb/Breadcrumb.stories.tsx +453 -199
  6. package/dist/components/button/Button.stories.tsx +585 -230
  7. package/dist/components/button/index.tsx +7 -7
  8. package/dist/components/card/Card.stories.tsx +619 -301
  9. package/dist/components/char-count/CharCount.stories.tsx +350 -248
  10. package/dist/components/checkbox/Checkbox.stories.tsx +309 -167
  11. package/dist/components/chip/Chip.stories.tsx +362 -168
  12. package/dist/components/circular-loader/CircularLoader.stories.tsx +221 -620
  13. package/dist/components/clamp-lines/ClampLines.stories.tsx +246 -117
  14. package/dist/components/collapsible/Collapsible.stories.tsx +391 -252
  15. package/dist/components/command/Command.stories.tsx +533 -856
  16. package/dist/components/dialog/Dialog.stories.tsx +505 -949
  17. package/dist/components/divider/Divider.stories.tsx +265 -502
  18. package/dist/components/dot-loader/DotLoader.stories.tsx +256 -257
  19. package/dist/components/drawer/Drawer.stories.tsx +659 -993
  20. package/dist/components/drawer/index.tsx +3 -3
  21. package/dist/components/dropdown/Dropdown.stories.tsx +643 -1018
  22. package/dist/components/form/Form.stories.tsx +560 -274
  23. package/dist/components/helper-text/HelperText.stories.tsx +199 -200
  24. package/dist/components/hover-card/HoverCard.stories.tsx +318 -1221
  25. package/dist/components/icon-button/IconButton.stories.tsx +837 -194
  26. package/dist/components/if-else/if-else.stories.tsx +370 -83
  27. package/dist/components/input/Input.stories.tsx +436 -368
  28. package/dist/components/label/Label.stories.tsx +156 -154
  29. package/dist/components/list/List.stories.tsx +485 -822
  30. package/dist/components/marquee/Marquee.stories.tsx +356 -694
  31. package/dist/components/otp-inputs/OtpInputs.stories.tsx +352 -410
  32. package/dist/components/overlay/Overlay.stories.tsx +452 -818
  33. package/dist/components/overlay/index.tsx +4 -4
  34. package/dist/components/pagination/Pagination.stories.tsx +721 -210
  35. package/dist/components/popover/Popover.stories.tsx +484 -873
  36. package/dist/components/radio/Radio.stories.tsx +432 -124
  37. package/dist/components/resizable/Resizable.stories.tsx +496 -752
  38. package/dist/components/scroll-area/ScrollArea.stories.tsx +384 -1006
  39. package/dist/components/search/Search.stories.tsx +314 -575
  40. package/dist/components/select/Select.stories.tsx +684 -787
  41. package/dist/components/sheet/Sheet.stories.tsx +671 -936
  42. package/dist/components/skelton/Skelton.stories.tsx +230 -764
  43. package/dist/components/slider/Slider.stories.tsx +384 -737
  44. package/dist/components/stepper/Stepper.stories.tsx +371 -514
  45. package/dist/components/switch/Switch.stories.tsx +461 -208
  46. package/dist/components/switch-case/SwitchCase.stories.tsx +367 -188
  47. package/dist/components/table/Table.stories.tsx +770 -914
  48. package/dist/components/tabs/Tabs.stories.tsx +459 -1400
  49. package/dist/components/tag/Tag.stories.tsx +714 -542
  50. package/dist/components/textarea/TextArea.stories.tsx +621 -562
  51. package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +228 -148
  52. package/dist/components/toast/Toast.stories.tsx +452 -1333
  53. package/dist/components/toggle/Toggle.stories.tsx +488 -909
  54. package/dist/components/tooltip/Tooltip.stories.tsx +344 -1372
  55. package/dist/components/typography/Typography.stories.tsx +406 -89
  56. package/dist/hooks/use-change-state/UseChangeState.stories.tsx +309 -606
  57. package/dist/hooks/use-previous/UsePrevious.stories.tsx +367 -917
  58. package/dist/hooks/use-standalone-pagination/UseStandalonePagination.stories.tsx +639 -867
  59. package/dist/icons/Icons.stories.tsx +0 -12
  60. package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +226 -1013
  61. package/dist/icons/alert-icon/AlertIcon.stories.tsx +109 -929
  62. package/dist/icons/all-icons.tsx +124 -87
  63. package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +140 -971
  64. package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +148 -888
  65. package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +135 -1019
  66. package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +137 -953
  67. package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +138 -997
  68. package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +136 -942
  69. package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +148 -1092
  70. package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +146 -1211
  71. package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +126 -615
  72. package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +144 -1164
  73. package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +167 -985
  74. package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +122 -1179
  75. package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +124 -1168
  76. package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +119 -850
  77. package/dist/icons/camera-icon/CameraIcon.stories.tsx +112 -1213
  78. package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +117 -934
  79. package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +160 -961
  80. package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +163 -961
  81. package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +144 -942
  82. package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +129 -966
  83. package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +147 -964
  84. package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +145 -975
  85. package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +150 -1142
  86. package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +114 -461
  87. package/dist/icons/coin-icon/CoinIcon.stories.tsx +124 -1322
  88. package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +117 -1318
  89. package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +114 -903
  90. package/dist/icons/command-icon/CommandIcon.stories.tsx +127 -1042
  91. package/dist/icons/copy-icon/CopyIcon.stories.tsx +123 -962
  92. package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +147 -999
  93. package/dist/icons/cross-icon/CrossIcon.stories.tsx +139 -960
  94. package/dist/icons/download-icon/DownloadIcon.stories.tsx +126 -820
  95. package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +124 -1031
  96. package/dist/icons/email-icon/EmailIcon.stories.tsx +115 -936
  97. package/dist/icons/expand-icon/ExpandIcon.stories.tsx +112 -1111
  98. package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +144 -1025
  99. package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +143 -1036
  100. package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +127 -1011
  101. package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +126 -1056
  102. package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +125 -614
  103. package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +119 -1050
  104. package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +169 -989
  105. package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +115 -1145
  106. package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +115 -1122
  107. package/dist/icons/globe-icon/GlobeIcon.stories.tsx +130 -313
  108. package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +145 -940
  109. package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +119 -1174
  110. package/dist/icons/head-icon/HeadIcon.stories.tsx +111 -916
  111. package/dist/icons/heart-icon/HeartIcon.stories.tsx +120 -1019
  112. package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +119 -683
  113. package/dist/icons/image-icon/ImageIcon.stories.tsx +105 -1121
  114. package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +111 -1192
  115. package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +136 -1256
  116. package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +159 -962
  117. package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +161 -1385
  118. package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +124 -972
  119. package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +119 -948
  120. package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +119 -942
  121. package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +108 -1215
  122. package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +154 -1517
  123. package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +110 -1188
  124. package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +119 -678
  125. package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +123 -1184
  126. package/dist/icons/message-icon/MessageIcon.stories.tsx +114 -538
  127. package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +116 -1158
  128. package/dist/icons/moon-icon/MoonIcon.stories.tsx +120 -536
  129. package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +109 -1184
  130. package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +115 -1134
  131. package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +119 -971
  132. package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +111 -1100
  133. package/dist/icons/notes-icon/NotesIcon.stories.tsx +119 -1101
  134. package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +109 -1111
  135. package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +122 -684
  136. package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +113 -954
  137. package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +112 -877
  138. package/dist/icons/pause-icon/PauseIcon.stories.tsx +113 -1000
  139. package/dist/icons/pencil-icon/PencilIcon.stories.tsx +115 -1070
  140. package/dist/icons/phone-icon/PhoneIcon.stories.tsx +115 -978
  141. package/dist/icons/plus-icon/PlusIcon.stories.tsx +106 -1093
  142. package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +107 -829
  143. package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +102 -469
  144. package/dist/icons/search-icon/SearchIcon.stories.tsx +111 -1124
  145. package/dist/icons/setting-icon/SettingIcon.stories.tsx +107 -970
  146. package/dist/icons/share-icon/ShareIcon.stories.tsx +120 -1025
  147. package/dist/icons/shield-icon/ShieldIcon.stories.tsx +117 -931
  148. package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +137 -1104
  149. package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +172 -982
  150. package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +164 -983
  151. package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +105 -958
  152. package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +158 -580
  153. package/dist/icons/spinner-gradient-icon/index.tsx +6 -1
  154. package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +158 -587
  155. package/dist/icons/spinner-solid-icon/index.tsx +6 -1
  156. package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +146 -682
  157. package/dist/icons/spinner-solid-neutral-icon/index.tsx +1 -1
  158. package/dist/icons/star-icon/StarIcon.stories.tsx +124 -904
  159. package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +112 -964
  160. package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +116 -852
  161. package/dist/icons/sun-icon/SunIcon.stories.tsx +120 -831
  162. package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +116 -950
  163. package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +123 -980
  164. package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +156 -1427
  165. package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +146 -1142
  166. package/dist/icons/tick-icon/TickIcon.stories.tsx +145 -1276
  167. package/dist/icons/trash-icon/TrashIcon.stories.tsx +108 -933
  168. package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +157 -1402
  169. package/dist/icons/upload-icon/UploadIcon.stories.tsx +115 -889
  170. package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +118 -984
  171. package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +125 -1049
  172. package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +123 -1356
  173. package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +110 -1171
  174. package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +112 -1093
  175. package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +115 -1087
  176. package/dist/icons/warning-icon/WarningIcon.stories.tsx +122 -1046
  177. package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +161 -936
  178. package/dist/index.cjs +84 -84
  179. package/dist/index.js +84 -84
  180. package/dist/styles/aural-all-theme.css +1222 -0
  181. package/dist/styles/{aural-theme.css → aural-dark-theme.css} +15 -3
  182. package/dist/styles/aural-light-theme.css +1047 -0
  183. package/package.json +1 -1
@@ -1,6 +1,20 @@
1
1
  import React from "react"
2
2
  import type { Meta, StoryObj } from "@storybook/react-vite"
3
3
 
4
+ import { BubbleSparkleIcon } from "src/ui/icons/bubble-sparkle-icon"
5
+ import { FeatureShineIcon } from "src/ui/icons/feature-shine-icon"
6
+ import { SparklesSoftIcon } from "src/ui/icons/sparkles-soft-icon"
7
+ import { SuggestionIcon } from "src/ui/icons/suggestion-icon"
8
+ import {
9
+ IconColorVariations,
10
+ IconDefaultCanvas,
11
+ IconPlaygroundCanvas,
12
+ IconSizeVariations,
13
+ IconUsageCanvas,
14
+ IconUsageSection,
15
+ } from "src/ui/story-spec/icons/icon-story-canvas"
16
+ import { AuralIconDocsPage } from "src/ui/story-spec/icons/icon-story-docs-page"
17
+
4
18
  import { LightBulbSimpleIcon } from "."
5
19
 
6
20
  const meta: Meta<typeof LightBulbSimpleIcon> = {
@@ -11,993 +25,76 @@ const meta: Meta<typeof LightBulbSimpleIcon> = {
11
25
  backgrounds: {
12
26
  default: "dark",
13
27
  values: [
14
- { name: "dark", value: "#0a0a0a" },
15
- { name: "darker", value: "#000000" },
16
- { name: "light", value: "#ffffff" },
28
+ { name: "dark", value: "var(--color-fm-surface-primary)" },
29
+ { name: "darker", value: "var(--color-fm-neutral-0)" },
30
+ { name: "light", value: "var(--color-fm-neutral-1100)" },
17
31
  ],
18
32
  },
19
33
  docs: {
20
34
  page: () => (
21
- <>
22
- {/* Override default docs styling */}
23
- <style>
24
- {`
25
- .sbdocs-wrapper {
26
- padding: 0 ;
27
- max-width: none ;
28
- background: transparent ;
29
- }
30
- .sbdocs-content {
31
- max-width: none ;
32
- padding: 0 ;
33
- margin: 0 ;
34
- background: transparent ;
35
- }
36
- .docs-story {
37
- background: transparent ;
38
- }
39
- .sbdocs {
40
- background: transparent ;
41
- }
42
- body {
43
- background: #0a0a0a ;
44
- }
45
- #storybook-docs {
46
- background: #0a0a0a ;
47
- }
48
- .sbdocs-preview {
49
- background: transparent ;
50
- border: none ;
51
- }
52
- .sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
53
- color: white ;
54
- }
55
- .sbdocs-p, .sbdocs-li {
56
- color: rgba(255, 255, 255, 0.7) ;
57
- }
58
- .sbdocs-code {
59
- background: rgba(255, 255, 255, 0.1) ;
60
- color: rgba(168, 85, 247, 1) ;
61
- border: 1px solid rgba(255, 255, 255, 0.1) ;
62
- }
63
- .sbdocs-pre {
64
- background: rgba(0, 0, 0, 0.4) ;
65
- border: 1px solid rgba(255, 255, 255, 0.1) ;
66
- }
67
- .sbdocs-table {
68
- background: rgba(255, 255, 255, 0.05) ;
69
- border: 1px solid rgba(255, 255, 255, 0.1) ;
70
- }
71
- .sbdocs-table th {
72
- background: rgba(255, 255, 255, 0.05) ;
73
- color: white ;
74
- border-bottom: 1px solid rgba(255, 255, 255, 0.1) ;
75
- }
76
- .sbdocs-table td {
77
- color: rgba(255, 255, 255, 0.7) ;
78
- border-bottom: 1px solid rgba(255, 255, 255, 0.05) ;
79
- }
80
- @keyframes pulse {
81
- 0%, 100% { opacity: 1; }
82
- 50% { opacity: 0.5; }
83
- }
84
- .animate-pulse {
85
- animation: pulse 2s ease-in-out infinite;
86
- }
87
- @keyframes glow {
88
- 0%, 100% { filter: drop-shadow(0 0 5px rgba(253, 224, 71, 0.5)); }
89
- 50% { filter: drop-shadow(0 0 20px rgba(253, 224, 71, 0.8)); }
90
- }
91
- .animate-glow {
92
- animation: glow 2s ease-in-out infinite;
93
- }
94
- `}
95
- </style>
96
-
97
- <div className="min-h-screen bg-gradient-to-br from-gray-900 via-purple-900/20 to-gray-900">
98
- {/* Header */}
99
- <div className="relative overflow-hidden border-b border-white/10 bg-black/20 backdrop-blur-xl">
100
- <div className="absolute inset-0 bg-gradient-to-r from-yellow-500/10 via-transparent to-orange-500/10" />
101
- <div className="relative !mx-auto max-w-7xl px-6 py-16">
102
- <div className="!space-y-6 text-center">
103
- <div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border border-yellow-500/30 bg-gradient-to-br from-yellow-500/20 to-orange-500/20">
104
- <LightBulbSimpleIcon className="h-12 w-12 text-yellow-400" />
105
- </div>
106
- <h1 className="!text-fm-primary text-5xl font-bold">
107
- LightBulbSimpleIcon
108
- </h1>
109
- <p className="!mx-auto max-w-3xl text-xl leading-relaxed !text-white/70">
110
- A clean, simple light bulb icon perfect for representing
111
- ideas, innovation, creativity, and enlightenment. Features a
112
- classic bulb design with filament detail and threaded base.
113
- Built with accessibility in mind using Radix UI's
114
- AccessibleIcon wrapper.
115
- </p>
116
-
117
- {/* Stats */}
118
- <div className="flex items-center justify-center gap-8 pt-8">
119
- <div className="text-center">
120
- <div className="text-3xl font-bold text-yellow-300">
121
- Ideas
122
- </div>
123
- <div className="text-sm text-white/60">
124
- Innovation & creativity
125
- </div>
126
- </div>
127
- <div className="h-8 w-px bg-white/20" />
128
- <div className="text-center">
129
- <div className="text-3xl font-bold text-orange-300">
130
- Insight
131
- </div>
132
- <div className="text-sm text-white/60">
133
- Knowledge & learning
134
- </div>
135
- </div>
136
- <div className="h-8 w-px bg-white/20" />
137
- <div className="text-center">
138
- <div className="text-3xl font-bold text-amber-300">
139
- Inspiration
140
- </div>
141
- <div className="text-sm text-white/60">
142
- Eureka moments
143
- </div>
144
- </div>
145
- </div>
146
- </div>
147
- </div>
148
- </div>
149
-
150
- {/* Content */}
151
- <div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
152
- {/* Quick Usage */}
153
- <div className="!space-y-8">
154
- <h2 className="text-center text-3xl font-bold !text-white">
155
- Quick Start
156
- </h2>
157
- <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
158
- <div className="!space-y-4">
159
- <h3 className="text-xl font-semibold !text-yellow-300">
160
- Basic Usage
161
- </h3>
162
- <div className="rounded-lg bg-black/40 p-4">
163
- <pre className="overflow-x-auto text-sm !text-green-300">
164
- {`import { LightBulbSimpleIcon } from "@icons/light-bulb-simple-icon"
165
-
166
- function FeatureCard() {
35
+ <AuralIconDocsPage
36
+ accentToken="warning"
37
+ features={[
38
+ { title: "Insight", description: "Highlight tips or ideas" },
39
+ { title: "Tip", description: "Help and guidance cue" },
40
+ { title: "Accessible", description: "ARIA-ready by default" },
41
+ ]}
42
+ quickStart={{
43
+ codeExample: `import { LightBulbSimpleIcon } from "src/ui/icons/light-bulb-simple-icon"
44
+
45
+ function TipBanner() {
167
46
  return (
168
- <div className="flex items-center gap-3">
169
- <LightBulbSimpleIcon className="h-6 w-6 text-yellow-400 " />
170
- <span>Smart Ideas</span>
47
+ <div className="flex items-center gap-2">
48
+ <LightBulbSimpleIcon className="h-5 w-5 text-fm-icon-warning" />
49
+ <span>Pro tip: save your work often</span>
171
50
  </div>
172
51
  )
173
- }`}
174
- </pre>
175
- </div>
176
- </div>
177
-
178
- <div className="!space-y-4">
179
- <h3 className="text-xl font-semibold !text-yellow-300">
180
- Live Preview
181
- </h3>
182
- <div className="flex h-32 items-center justify-center rounded-lg border border-white/10 bg-white/5">
183
- <div className="flex items-center gap-3 rounded-lg border border-yellow-500/20 bg-yellow-500/10 px-4 py-3">
184
- <LightBulbSimpleIcon className="h-6 w-6 text-yellow-400" />
185
- <span className="text-white">Smart Ideas</span>
186
- </div>
187
- </div>
188
- </div>
189
- </div>
190
- </div>
191
-
192
- {/* Props Documentation */}
193
- <div className="!space-y-8">
194
- <h2 className="text-center text-3xl font-bold !text-white">
195
- Props & Configuration
196
- </h2>
197
-
198
- <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
199
- <div className="bg-white/5 p-4">
200
- <h3 className="text-xl font-semibold !text-white">Props</h3>
201
- </div>
202
- <table className="!my-0 w-full">
203
- <thead className="bg-white/5">
204
- <tr className="border-b border-white/10">
205
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
206
- Prop
207
- </th>
208
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
209
- Type
210
- </th>
211
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
212
- Default
213
- </th>
214
- <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
215
- Description
216
- </th>
217
- </tr>
218
- </thead>
219
- <tbody>
220
- {" "}
221
- <tr className="!bg-black/10">
222
- <td className="px-6 py-4 font-mono text-sm !text-blue-300">
223
- withAccessibility
224
- </td>
225
- <td className="px-6 py-4 text-sm !text-white/70">
226
- boolean
227
- </td>
228
- <td className="px-6 py-4 text-sm !text-white/50">
229
- true
230
- </td>
231
- <td className="px-6 py-4 text-sm !text-white/70">
232
- Whether to wrap the icon with accessibility feature
233
- </td>
234
- </tr>
235
- <tr className="border-b border-white/5 !bg-black/10">
236
- <td className="px-6 py-4 font-mono text-sm !text-yellow-300">
237
- height
238
- </td>
239
- <td className="px-6 py-4 text-sm !text-white/70">
240
- number | string
241
- </td>
242
- <td className="px-6 py-4 text-sm !text-white/50">24</td>
243
- <td className="px-6 py-4 text-sm !text-white/70">
244
- Height of the icon in pixels
245
- </td>
246
- </tr>
247
- <tr className="border-b border-white/5">
248
- <td className="px-6 py-4 font-mono text-sm !text-yellow-300">
249
- stroke
250
- </td>
251
- <td className="px-6 py-4 text-sm !text-white/70">
252
- string
253
- </td>
254
- <td className="px-6 py-4 text-sm !text-white/50">
255
- currentColor
256
- </td>
257
- <td className="px-6 py-4 text-sm !text-white/70">
258
- Stroke color of the bulb outline
259
- </td>
260
- </tr>
261
- <tr className="border-b border-white/5 !bg-black/10">
262
- <td className="px-6 py-4 font-mono text-sm !text-yellow-300">
263
- strokeWidth
264
- </td>
265
- <td className="px-6 py-4 text-sm !text-white/70">
266
- string | number
267
- </td>
268
- <td className="px-6 py-4 text-sm !text-white/50">
269
- 1.5
270
- </td>
271
- <td className="px-6 py-4 text-sm !text-white/70">
272
- Stroke width of the outline
273
- </td>
274
- </tr>
275
- <tr className="border-b border-white/5">
276
- <td className="px-6 py-4 font-mono text-sm !text-yellow-300">
277
- fill
278
- </td>
279
- <td className="px-6 py-4 text-sm !text-white/70">
280
- string
281
- </td>
282
- <td className="px-6 py-4 text-sm !text-white/50">
283
- none
284
- </td>
285
- <td className="px-6 py-4 text-sm !text-white/70">
286
- Fill color of the icon
287
- </td>
288
- </tr>
289
- <tr className="border-b border-white/5 !bg-black/10">
290
- <td className="px-6 py-4 font-mono text-sm !text-yellow-300">
291
- className
292
- </td>
293
- <td className="px-6 py-4 text-sm !text-white/70">
294
- string
295
- </td>
296
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
297
- <td className="px-6 py-4 text-sm !text-white/70">
298
- CSS classes for styling (use for overrides)
299
- </td>
300
- </tr>
301
- <tr className="!bg-black/10">
302
- <td className="px-6 py-4 font-mono text-sm !text-yellow-300">
303
- ...svgProps
304
- </td>
305
- <td className="px-6 py-4 text-sm !text-white/70">
306
- SVGProps
307
- </td>
308
- <td className="px-6 py-4 text-sm !text-white/50">-</td>
309
- <td className="px-6 py-4 text-sm !text-white/70">
310
- All standard SVG element props
311
- </td>
312
- </tr>
313
- </tbody>
314
- </table>
315
- </div>
316
- </div>
317
-
318
- {/* Size Variations */}
319
- <div className="!space-y-8">
320
- <h2 className="text-center text-3xl font-bold !text-white">
321
- Size Variations
322
- </h2>
323
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
324
- <div className="!space-y-6">
325
- <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
326
- <div className="!space-y-4">
327
- <h3 className="text-lg font-semibold !text-yellow-300">
328
- Standard Sizes
329
- </h3>
330
- <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
331
- <div className="text-center">
332
- <LightBulbSimpleIcon className="!mx-auto mb-2 h-3 w-3 text-yellow-400" />
333
- <span className="text-xs text-white/60">12px</span>
334
- </div>
335
- <div className="text-center">
336
- <LightBulbSimpleIcon className="!mx-auto mb-2 h-4 w-4 text-yellow-400" />
337
- <span className="text-xs text-white/60">16px</span>
338
- </div>
339
- <div className="text-center">
340
- <LightBulbSimpleIcon className="!mx-auto mb-2 h-5 w-5 text-yellow-400" />
341
- <span className="text-xs text-white/60">20px</span>
342
- </div>
343
- <div className="text-center">
344
- <LightBulbSimpleIcon className="!mx-auto mb-2 h-6 w-6 text-yellow-400" />
345
- <span className="text-xs text-white/60">24px</span>
346
- </div>
347
- <div className="text-center">
348
- <LightBulbSimpleIcon className="!mx-auto mb-2 h-8 w-8 text-yellow-400" />
349
- <span className="text-xs text-white/60">32px</span>
350
- </div>
351
- <div className="text-center">
352
- <LightBulbSimpleIcon className="!mx-auto mb-2 h-12 w-12 text-yellow-400" />
353
- <span className="text-xs text-white/60">48px</span>
354
- </div>
355
- </div>
356
- </div>
357
-
358
- <div className="!space-y-4">
359
- <h3 className="text-lg font-semibold !text-yellow-300">
360
- Code Example
361
- </h3>
362
- <div className="rounded-lg bg-black/40 p-4">
363
- <pre className="overflow-x-auto text-sm !text-cyan-300">
364
- {`// Small (16px)
365
- <LightBulbSimpleIcon className="h-4 w-4 " />
366
-
367
- // Medium (24px)
368
- <LightBulbSimpleIcon className="h-6 w-6 " />
369
-
370
- // Large (32px)
371
- <LightBulbSimpleIcon className="h-8 w-8 " />
372
-
373
- // Custom size for hero sections
374
- <LightBulbSimpleIcon
375
- width={40}
376
- height={40}
377
- className="text-yellow-400 "
378
- />`}
379
- </pre>
380
- </div>
381
- </div>
382
- </div>
383
- </div>
384
- </div>
52
+ }`,
53
+ livePreview: (
54
+ <div className="flex items-center gap-2">
55
+ <LightBulbSimpleIcon className="text-fm-icon-warning h-6 w-6" />
385
56
  </div>
386
-
387
- {/* Color Variations */}
388
- <div className="!space-y-8">
389
- <h2 className="text-center text-3xl font-bold !text-white">
390
- Color Variations
391
- </h2>
392
- <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
393
- <div className="!space-y-4">
394
- <h3 className="text-lg font-semibold !text-yellow-300">
395
- Semantic Colors
396
- </h3>
397
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
398
- <div className="flex items-center gap-4">
399
- <LightBulbSimpleIcon className="h-6 w-6 text-yellow-400" />
400
- <div>
401
- <div className="text-sm font-medium text-white">
402
- Innovation
403
- </div>
404
- <div className="text-xs text-white/60">
405
- text-yellow-400
406
- </div>
407
- </div>
408
- </div>
409
- <div className="flex items-center gap-4">
410
- <LightBulbSimpleIcon className="h-6 w-6 text-orange-400" />
411
- <div>
412
- <div className="text-sm font-medium text-white">
413
- Creativity
414
- </div>
415
- <div className="text-xs text-white/60">
416
- text-orange-400
417
- </div>
418
- </div>
419
- </div>
420
- <div className="flex items-center gap-4">
421
- <LightBulbSimpleIcon className="h-6 w-6 text-amber-400" />
422
- <div>
423
- <div className="text-sm font-medium text-white">
424
- Inspiration
425
- </div>
426
- <div className="text-xs text-white/60">
427
- text-amber-400
428
- </div>
429
- </div>
430
- </div>
431
- <div className="flex items-center gap-4">
432
- <LightBulbSimpleIcon className="h-6 w-6 text-blue-400" />
433
- <div>
434
- <div className="text-sm font-medium text-white">
435
- Knowledge
436
- </div>
437
- <div className="text-xs text-white/60">
438
- text-blue-400
439
- </div>
440
- </div>
441
- </div>
442
- </div>
443
- </div>
444
-
445
- <div className="!space-y-4">
446
- <h3 className="text-lg font-semibold !text-yellow-300">
447
- Custom Colors
448
- </h3>
449
- <div className="rounded-lg bg-black/40 p-4">
450
- <pre className="overflow-x-auto text-sm !text-green-300">
451
- {`// Using Tailwind classes with
452
- <LightBulbSimpleIcon className="h-6 w-6 text-yellow-400 " />
453
- <LightBulbSimpleIcon className="h-6 w-6 text-orange-500 " />
454
-
455
- // Using CSS custom properties
456
- <LightBulbSimpleIcon
457
- className="h-6 w-6 "
458
- style={{ color: 'var(--color-innovation)' }}
459
- />
460
-
461
- // Direct stroke prop
462
- <LightBulbSimpleIcon
463
- width={24}
464
- height={24}
465
- stroke="#fbbf24"
466
- />`}
467
- </pre>
468
- </div>
469
- </div>
470
- </div>
471
- </div>
472
-
473
- {/* Usage Examples */}
474
- <div className="!space-y-8">
475
- <h2 className="text-center text-3xl font-bold !text-white">
476
- Usage Examples
477
- </h2>
478
-
479
- <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
480
- {/* Feature Card */}
481
- <div className="!space-y-4">
482
- <h3 className="text-lg font-semibold !text-yellow-300">
483
- Feature Card
484
- </h3>
485
- <div className="!space-y-4">
486
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
487
- <div className="flex items-start gap-4">
488
- <div className="flex h-12 w-12 items-center justify-center rounded-lg border border-yellow-500/30 bg-yellow-500/20">
489
- <LightBulbSimpleIcon className="h-6 w-6 text-yellow-400" />
490
- </div>
491
- <div className="flex-1">
492
- <h4 className="mb-2 text-lg font-semibold !text-white">
493
- Smart Innovation
494
- </h4>
495
- <p className="text-sm !text-white/70">
496
- Breakthrough ideas and creative solutions powered
497
- by intelligent insights and data-driven
498
- innovation.
499
- </p>
500
- </div>
501
- </div>
502
- </div>
503
- <div className="rounded-lg bg-black/40 p-4">
504
- <pre className="overflow-x-auto text-sm !text-green-300">
505
- {`<div className="border border-white/10 bg-white/5 p-6 rounded-lg">
506
- <div className="flex items-start gap-4">
507
- <div className="flex h-12 w-12 items-center justify-center rounded-lg border border-yellow-500/30 bg-yellow-500/20">
508
- <LightBulbSimpleIcon className="h-6 w-6 text-yellow-400 " />
509
- </div>
510
- <div className="flex-1">
511
- <h4 className="mb-2 text-lg font-semibold text-white">Smart Innovation</h4>
512
- <p className="text-sm text-white/70">
513
- Breakthrough ideas and creative solutions powered by intelligent insights.
514
- </p>
515
- </div>
516
- </div>
517
- </div>`}
518
- </pre>
519
- </div>
520
- </div>
521
- </div>
522
-
523
- {/* Tips Section */}
524
- <div className="!space-y-4">
525
- <h3 className="text-lg font-semibold !text-yellow-300">
526
- Tips & Insights
527
- </h3>
528
- <div className="!space-y-4">
529
- <div className="!space-y-3">
530
- {[
531
- {
532
- text: "Use keyboard shortcuts to boost productivity",
533
- type: "tip",
534
- },
535
- {
536
- text: "Try the new AI-powered suggestions feature",
537
- type: "insight",
538
- },
539
- {
540
- text: "Explore advanced settings for power users",
541
- type: "idea",
542
- },
543
- ].map((item, index) => (
544
- <div
545
- key={index}
546
- className="flex items-center gap-3 rounded-lg border border-white/10 bg-white/5 p-3"
547
- >
548
- <LightBulbSimpleIcon
549
- className={`h-4 w-4 ${
550
- item.type === "tip"
551
- ? "text-yellow-400"
552
- : item.type === "insight"
553
- ? "text-orange-400"
554
- : "text-amber-400"
555
- }`}
556
- />
557
- <div className="flex-1">
558
- <span className="text-sm text-white">
559
- {item.text}
560
- </span>
561
- </div>
562
- <div
563
- className={`rounded px-2 py-1 text-xs ${
564
- item.type === "tip"
565
- ? "bg-yellow-500/20 text-yellow-300"
566
- : item.type === "insight"
567
- ? "bg-orange-500/20 text-orange-300"
568
- : "bg-amber-500/20 text-amber-300"
569
- }`}
570
- >
571
- {item.type}
572
- </div>
573
- </div>
574
- ))}
575
- </div>
576
- <div className="rounded-lg bg-black/40 p-4">
577
- <pre className="overflow-x-auto text-sm !text-green-300">
578
- {`// Tip item
579
- <div className="flex items-center gap-3 border border-white/10 bg-white/5 p-3 rounded-lg">
580
- <LightBulbSimpleIcon className="h-4 w-4 text-yellow-400 " />
581
- <div className="flex-1">
582
- <span className="text-sm text-white">Use keyboard shortcuts to boost productivity</span>
583
- </div>
584
- <div className="text-xs px-2 py-1 rounded bg-yellow-500/20 text-yellow-300">
585
- tip
586
- </div>
587
- </div>`}
588
- </pre>
589
- </div>
590
- </div>
591
- </div>
592
-
593
- {/* Hero Section */}
594
- <div className="!space-y-4">
595
- <h3 className="text-lg font-semibold !text-yellow-300">
596
- Hero Section
597
- </h3>
598
- <div className="!space-y-4">
599
- <div className="relative overflow-hidden rounded-lg border border-yellow-500/20 bg-gradient-to-br from-yellow-500/10 to-orange-500/10 p-8 text-center">
600
- <div className="absolute inset-0 bg-gradient-to-r from-transparent via-yellow-500/5 to-transparent" />
601
- <div className="relative">
602
- <LightBulbSimpleIcon className="!mx-auto mb-4 h-16 w-16 text-yellow-400" />
603
- <h2 className="mb-4 text-3xl font-bold !text-white">
604
- Bright Ideas Await
605
- </h2>
606
- <p className="mb-6 text-lg !text-white/70">
607
- Discover innovative solutions and creative
608
- inspiration
609
- </p>
610
- <button className="rounded-lg bg-yellow-500/20 px-6 py-3 text-yellow-200 transition-colors hover:bg-yellow-500/30">
611
- Get Started
612
- </button>
613
- </div>
614
- </div>
615
- <div className="rounded-lg bg-black/40 p-4">
616
- <pre className="overflow-x-auto text-sm !text-green-300">
617
- {`// Hero section with light bulb
618
- <div className="relative overflow-hidden rounded-lg border border-yellow-500/20 bg-gradient-to-br from-yellow-500/10 to-orange-500/10 p-8 text-center">
619
- <div className="relative">
620
- <LightBulbSimpleIcon className="mx-auto mb-4 h-16 w-16 text-yellow-400 " />
621
- <h2 className="mb-4 text-3xl font-bold text-white">Bright Ideas Await</h2>
622
- <p className="mb-6 text-lg text-white/70">
623
- Discover innovative solutions and creative inspiration
624
- </p>
625
- <button className="rounded-lg bg-yellow-500/20 px-6 py-3 text-yellow-200 hover:bg-yellow-500/30">
626
- Get Started
627
- </button>
628
- </div>
629
- </div>`}
630
- </pre>
631
- </div>
632
- </div>
633
- </div>
634
-
635
- {/* Navigation Menu */}
636
- <div className="!space-y-4">
637
- <h3 className="text-lg font-semibold !text-yellow-300">
638
- Navigation Menu
639
- </h3>
640
- <div className="!space-y-4">
641
- <div className="max-w-xs rounded-lg border border-white/10 bg-white/5 p-3">
642
- {[
643
- { name: "Dashboard", icon: "📊", active: false },
644
- {
645
- name: "Ideas",
646
- icon: "LightBulbSimpleIcon",
647
- active: true,
648
- },
649
- { name: "Projects", icon: "📁", active: false },
650
- { name: "Team", icon: "👥", active: false },
651
- ].map((item, index) => (
652
- <div
653
- key={index}
654
- className={`flex cursor-pointer items-center gap-3 rounded p-2 transition-colors ${
655
- item.active
656
- ? "bg-yellow-500/20 text-yellow-200"
657
- : "text-white/70 hover:bg-white/10"
658
- }`}
659
- >
660
- {item.icon === "LightBulbSimpleIcon" ? (
661
- <LightBulbSimpleIcon
662
- className={`h-4 w-4 ${
663
- item.active
664
- ? "text-yellow-400"
665
- : "text-white/50"
666
- }`}
667
- />
668
- ) : (
669
- <span className="text-sm">{item.icon}</span>
670
- )}
671
- <span className="flex-1 text-sm">{item.name}</span>
672
- {item.active && (
673
- <div className="h-2 w-2 rounded-full bg-yellow-400"></div>
674
- )}
675
- </div>
676
- ))}
677
- </div>
678
- <div className="rounded-lg bg-black/40 p-4">
679
- <pre className="overflow-x-auto text-sm !text-green-300">
680
- {`// Navigation item
681
- <div className="flex items-center gap-3 p-2 rounded bg-yellow-500/20 text-yellow-200 cursor-pointer">
682
- <LightBulbSimpleIcon className="h-4 w-4 text-yellow-400 " />
683
- <span className="flex-1 text-sm">Ideas</span>
684
- <div className="h-2 w-2 rounded-full bg-yellow-400"></div>
685
- </div>`}
686
- </pre>
687
- </div>
688
- </div>
689
- </div>
690
- </div>
691
- </div>
692
-
693
- {/* Interactive States */}
694
- <div className="!space-y-8">
695
- <h2 className="text-center text-3xl font-bold !text-white">
696
- Interactive States & Animations
697
- </h2>
698
- <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
699
- <div className="!space-y-4">
700
- <h3 className="text-lg font-semibold !text-yellow-300">
701
- Hover & Animation Effects
702
- </h3>
703
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
704
- <div className="flex items-center gap-4">
705
- <LightBulbSimpleIcon className="h-6 w-6 text-white/60 transition-colors hover:text-yellow-400" />
706
- <div>
707
- <div className="text-sm font-medium text-white">
708
- Color Change
709
- </div>
710
- <div className="text-xs text-white/60">
711
- hover:text-yellow-400
712
- </div>
713
- </div>
714
- </div>
715
- <div className="flex items-center gap-4">
716
- <LightBulbSimpleIcon className="h-6 w-6 text-white transition-transform hover:scale-110" />
717
- <div>
718
- <div className="text-sm font-medium text-white">
719
- Scale Effect
720
- </div>
721
- <div className="text-xs text-white/60">
722
- hover:scale-110
723
- </div>
724
- </div>
725
- </div>
726
- <div className="flex items-center gap-4">
727
- <LightBulbSimpleIcon className="h-6 w-6 animate-pulse text-yellow-400" />
728
- <div>
729
- <div className="text-sm font-medium text-white">
730
- Thinking
731
- </div>
732
- <div className="text-xs text-white/60">
733
- animate-pulse
734
- </div>
735
- </div>
736
- </div>
737
- <div className="flex items-center gap-4">
738
- <LightBulbSimpleIcon className="animate-glow h-6 w-6 text-yellow-400" />
739
- <div>
740
- <div className="text-sm font-medium text-white">
741
- Eureka Moment
742
- </div>
743
- <div className="text-xs text-white/60">
744
- animate-glow
745
- </div>
746
- </div>
747
- </div>
748
- </div>
749
- </div>
750
-
751
- <div className="!space-y-4">
752
- <h3 className="text-lg font-semibold !text-yellow-300">
753
- Animation Examples
754
- </h3>
755
- <div className="rounded-lg bg-black/40 p-4">
756
- <pre className="overflow-x-auto text-sm !text-cyan-300">
757
- {`// Hover effects
758
- <LightBulbSimpleIcon className="h-6 w-6 text-white/60 hover:text-yellow-400 transition-colors " />
759
-
760
- // Scale on hover
761
- <LightBulbSimpleIcon className="h-6 w-6 text-white hover:scale-110 transition-transform " />
762
-
763
- // Thinking animation
764
- <LightBulbSimpleIcon className="h-6 w-6 text-yellow-400 animate-pulse " />
765
-
766
- // Glow effect for "aha!" moments
767
- <LightBulbSimpleIcon className="h-6 w-6 text-yellow-400 animate-glow " />
768
-
769
- // Custom glow animation
770
- @keyframes glow {
771
- 0%, 100% { filter: drop-shadow(0 0 5px rgba(253, 224, 71, 0.5)); }
772
- 50% { filter: drop-shadow(0 0 20px rgba(253, 224, 71, 0.8)); }
773
- }
774
-
775
- .animate-glow {
776
- animation: glow 2s ease-in-out infinite;
777
- }`}
778
- </pre>
779
- </div>
780
- </div>
781
- </div>
782
- </div>
783
-
784
- {/* Accessibility */}
785
- <div className="!space-y-8">
786
- <h2 className="text-center text-3xl font-bold !text-white">
787
- Accessibility Features
788
- </h2>
789
- <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
790
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
791
- <h3 className="text-lg font-semibold !text-green-300">
792
- ✅ Built-in Features
793
- </h3>
794
- <ul className="!space-y-2 text-sm !text-white/70">
795
- <li className="!text-white/70">
796
- Uses Radix UI AccessibleIcon wrapper
797
- </li>
798
- <li className="!text-white/70">
799
- Provides screen reader label "Light bulb icon"
800
- </li>
801
- <li className="!text-white/70">
802
- Supports keyboard navigation when interactive
803
- </li>
804
- <li className="!text-white/70">
805
- Maintains proper color contrast ratios
806
- </li>
807
- <li className="!text-white/70">
808
- Scales with user's font size preferences
809
- </li>
810
- </ul>
811
- </div>
812
-
813
- <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
814
- <h3 className="text-lg font-semibold !text-yellow-300">
815
- 💡 Best Practices
816
- </h3>
817
- <ul className="!space-y-2 text-sm text-white/70">
818
- <li className="!text-white/70">
819
- Always pair with descriptive context
820
- </li>
821
- <li className="!text-white/70">
822
- Use consistent colors for idea/innovation themes
823
- </li>
824
- <li className="!text-white/70">
825
- Consider motion sensitivity for glow animations
826
- </li>
827
- <li className="!text-white/70">
828
- Add focus states for interactive elements
829
- </li>
830
- <li className="!text-white/70">
831
- Provide alternative text for complex contexts
832
- </li>
833
- </ul>
834
- </div>
835
- </div>
836
-
837
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
838
- <h3 className="mb-4 text-lg font-semibold !text-purple-300">
839
- Innovation & Ideas Accessibility
840
- </h3>
841
- <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
842
- <div className="rounded-lg bg-black/40 p-4">
843
- <pre className="overflow-x-auto text-sm !text-cyan-300">
844
- {`// Ideas button with proper ARIA
845
- <button
846
- aria-label="View creative ideas and innovation suggestions"
847
- className="flex items-center gap-2 p-3 rounded-lg focus:ring-2 focus:ring-yellow-500"
848
- onClick={handleIdeasView}
849
- >
850
- <LightBulbSimpleIcon className="h-5 w-5 text-yellow-400 " />
851
- <span>Ideas</span>
852
- </button>
853
-
854
- // Feature card with semantic structure
855
- <div
856
- role="article"
857
- aria-labelledby="innovation-title"
858
- className="border border-white/10 bg-white/5 p-6 rounded-lg"
859
- >
860
- <div className="flex items-start gap-4">
861
- <div className="flex h-12 w-12 items-center justify-center rounded-lg bg-yellow-500/20" aria-hidden="true">
862
- <LightBulbSimpleIcon className="h-6 w-6 text-yellow-400 " />
863
- </div>
864
- <div>
865
- <h4 id="innovation-title" className="text-lg font-semibold text-white">
866
- Smart Innovation
867
- </h4>
868
- <p className="text-sm text-white/70">
869
- Breakthrough ideas and creative solutions powered by intelligent insights.
870
- </p>
871
- </div>
872
- </div>
873
- </div>`}
874
- </pre>
875
- </div>
876
- <div className="!space-y-4">
877
- <p className="text-sm !text-white/70">
878
- When using LightBulbSimpleIcon for ideas and innovation
879
- features, provide clear context about what creative
880
- functionality or insights users can expect.
881
- </p>
882
- <div className="rounded-lg border border-yellow-500/20 bg-yellow-500/10 p-4">
883
- <div className="flex items-center gap-2 text-sm text-yellow-200">
884
- <LightBulbSimpleIcon className="h-4 w-4" />
885
- <span>
886
- Screen readers understand this represents creative
887
- thinking
888
- </span>
889
- </div>
890
- </div>
891
- </div>
892
- </div>
893
- </div>
894
- </div>
895
-
896
- {/* Related Icons */}
897
- <div className="!space-y-8">
898
- <h2 className="text-center text-3xl font-bold !text-white">
899
- Related Icons
900
- </h2>
901
- <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
902
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
903
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
904
- <span className="text-2xl">🧠</span>
905
- </div>
906
- <div>
907
- <div className="font-medium text-white">BrainIcon</div>
908
- <div className="text-xs text-white/60">
909
- Intelligence & thinking
910
- </div>
911
- </div>
912
- </div>
913
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
914
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
915
- <span className="text-2xl">⚡</span>
916
- </div>
917
- <div>
918
- <div className="font-medium text-white">SparkIcon</div>
919
- <div className="text-xs text-white/60">
920
- Inspiration & energy
921
- </div>
922
- </div>
923
- </div>
924
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
925
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-green-500/20">
926
- <span className="text-2xl">🎯</span>
927
- </div>
928
- <div>
929
- <div className="font-medium text-white">TargetIcon</div>
930
- <div className="text-xs text-white/60">
931
- Goals & objectives
932
- </div>
933
- </div>
934
- </div>
935
- <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
936
- <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-orange-500/20">
937
- <span className="text-2xl">🚀</span>
938
- </div>
939
- <div>
940
- <div className="font-medium text-white">RocketIcon</div>
941
- <div className="text-xs text-white/60">
942
- Launch & growth
943
- </div>
944
- </div>
945
- </div>
946
- </div>
947
- </div>
948
- </div>
949
-
950
- {/* Footer */}
951
- <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
952
- <div className="!mx-auto max-w-7xl px-6 py-8">
953
- <div className="!space-y-4 text-center">
954
- <p className="!text-white/60">
955
- LightBulbSimpleIcon is part of the Aural UI icon library,
956
- built for representing creativity, innovation, and bright
957
- ideas.
958
- </p>
959
- <p className="text-sm !text-white/40">
960
- All icons use Radix UI's AccessibleIcon for screen reader
961
- compatibility and follow WCAG guidelines for creative
962
- applications.
963
- </p>
964
- </div>
965
- </div>
966
- </div>
967
- </div>
968
- </>
57
+ ),
58
+ }}
59
+ relatedIcons={[
60
+ {
61
+ name: "SuggestionIcon",
62
+ description: "Suggestion / idea icon",
63
+ icon: SuggestionIcon,
64
+ accentToken: "info",
65
+ },
66
+ {
67
+ name: "FeatureShineIcon",
68
+ description: "Feature highlight / shine icon",
69
+ icon: FeatureShineIcon,
70
+ accentToken: "positive",
71
+ },
72
+ {
73
+ name: "BubbleSparkleIcon",
74
+ description: "AI sparkle bubble icon",
75
+ icon: BubbleSparkleIcon,
76
+ accentToken: "warning",
77
+ },
78
+ {
79
+ name: "SparklesSoftIcon",
80
+ description: "Soft sparkle / AI glow icon",
81
+ icon: SparklesSoftIcon,
82
+ accentToken: "negative",
83
+ },
84
+ ]}
85
+ />
969
86
  ),
970
87
  },
971
88
  },
972
89
  tags: ["autodocs"],
973
90
  argTypes: {
974
- width: {
975
- control: { type: "range", min: 8, max: 96, step: 2 },
976
- description: "Width of the icon in pixels",
91
+ className: {
92
+ control: "text",
93
+ description: "CSS classes including color token",
977
94
  },
978
95
  withAccessibility: {
979
96
  control: "boolean",
980
- description: "Whether to wrap the icon with accessibility features",
981
- },
982
- height: {
983
- control: { type: "range", min: 8, max: 96, step: 2 },
984
- description: "Height of the icon in pixels",
985
- },
986
- stroke: {
987
- control: "color",
988
- description: "Stroke color of the bulb outline",
989
- },
990
- strokeWidth: {
991
- control: { type: "range", min: 0.5, max: 4, step: 0.5 },
992
- description: "Stroke width of the outline",
993
- },
994
- fill: {
995
- control: "color",
996
- description: "Fill color of the icon",
997
- },
998
- className: {
999
- control: "text",
1000
- description: "CSS classes for styling (use for overrides)",
97
+ description: "Wrap with accessibility label",
1001
98
  },
1002
99
  },
1003
100
  }
@@ -1005,276 +102,72 @@ function FeatureCard() {
1005
102
  export default meta
1006
103
  type Story = StoryObj<typeof LightBulbSimpleIcon>
1007
104
 
1008
- // Story parameters for consistent dark theme
1009
- const storyParameters = {
1010
- backgrounds: {
1011
- default: "dark",
1012
- values: [
1013
- { name: "dark", value: "#0a0a0a" },
1014
- { name: "darker", value: "#000000" },
1015
- ],
1016
- },
1017
- }
1018
-
1019
105
  export const Default: Story = {
1020
106
  args: {
1021
- className: "h-6 w-6 text-yellow-400 ",
107
+ className: "h-6 w-6 text-fm-icon-warning",
1022
108
  withAccessibility: true,
1023
109
  },
1024
- parameters: storyParameters,
1025
110
  render: (args) => (
1026
- <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
111
+ <IconDefaultCanvas>
1027
112
  <LightBulbSimpleIcon {...args} />
1028
- </div>
113
+ </IconDefaultCanvas>
1029
114
  ),
1030
115
  }
1031
116
 
1032
117
  export const SizeVariations: Story = {
1033
- parameters: {
1034
- ...storyParameters,
1035
- docs: {
1036
- description: {
1037
- story:
1038
- "LightBulbSimpleIcon in different sizes, from small UI elements to large hero displays.",
1039
- },
1040
- },
1041
- },
1042
- render: () => (
1043
- <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">
1044
- <div className="text-center">
1045
- <LightBulbSimpleIcon className="!mx-auto mb-2 h-3 w-3 text-yellow-400" />
1046
- <span className="text-xs text-white/60">12px</span>
1047
- </div>
1048
- <div className="text-center">
1049
- <LightBulbSimpleIcon className="!mx-auto mb-2 h-4 w-4 text-yellow-400" />
1050
- <span className="text-xs text-white/60">16px</span>
1051
- </div>
1052
- <div className="text-center">
1053
- <LightBulbSimpleIcon className="!mx-auto mb-2 h-5 w-5 text-yellow-400" />
1054
- <span className="text-xs text-white/60">20px</span>
1055
- </div>
1056
- <div className="text-center">
1057
- <LightBulbSimpleIcon className="!mx-auto mb-2 h-6 w-6 text-yellow-400" />
1058
- <span className="text-xs text-white/60">24px</span>
1059
- </div>
1060
- <div className="text-center">
1061
- <LightBulbSimpleIcon className="!mx-auto mb-2 h-8 w-8 text-yellow-400" />
1062
- <span className="text-xs text-white/60">32px</span>
1063
- </div>
1064
- <div className="text-center">
1065
- <LightBulbSimpleIcon className="!mx-auto mb-2 h-12 w-12 text-yellow-400" />
1066
- <span className="text-xs text-white/60">48px</span>
1067
- </div>
1068
- </div>
1069
- ),
118
+ render: () => <IconSizeVariations icon={LightBulbSimpleIcon} />,
1070
119
  }
1071
120
 
1072
121
  export const ColorVariations: Story = {
1073
- parameters: {
1074
- ...storyParameters,
1075
- docs: {
1076
- description: {
1077
- story:
1078
- "LightBulbSimpleIcon in different colors for various innovation and creativity contexts.",
1079
- },
1080
- },
1081
- },
1082
- render: () => (
1083
- <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">
1084
- <div className="text-center">
1085
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-yellow-500/30 bg-yellow-500/20">
1086
- <LightBulbSimpleIcon className="h-8 w-8 text-yellow-400" />
1087
- </div>
1088
- <div className="text-sm font-medium text-white">Innovation</div>
1089
- <div className="text-xs text-yellow-400">text-yellow-400</div>
1090
- </div>
1091
- <div className="text-center">
1092
- <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">
1093
- <LightBulbSimpleIcon className="h-8 w-8 text-orange-400" />
1094
- </div>
1095
- <div className="text-sm font-medium text-white">Creativity</div>
1096
- <div className="text-xs text-orange-400">text-orange-400</div>
1097
- </div>
1098
- <div className="text-center">
1099
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-amber-500/30 bg-amber-500/20">
1100
- <LightBulbSimpleIcon className="h-8 w-8 text-amber-400" />
1101
- </div>
1102
- <div className="text-sm font-medium text-white">Inspiration</div>
1103
- <div className="text-xs text-amber-400">text-amber-400</div>
1104
- </div>
1105
- <div className="text-center">
1106
- <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-blue-500/30 bg-blue-500/20">
1107
- <LightBulbSimpleIcon className="h-8 w-8 text-blue-400" />
1108
- </div>
1109
- <div className="text-sm font-medium text-white">Knowledge</div>
1110
- <div className="text-xs text-blue-400">text-blue-400</div>
1111
- </div>
1112
- </div>
1113
- ),
122
+ render: () => <IconColorVariations icon={LightBulbSimpleIcon} />,
1114
123
  }
1115
124
 
1116
125
  export const UsageExamples: Story = {
1117
- parameters: {
1118
- ...storyParameters,
1119
- docs: {
1120
- description: {
1121
- story:
1122
- "Real-world usage examples showing LightBulbSimpleIcon in different innovation and creativity contexts.",
1123
- },
1124
- },
1125
- },
1126
126
  render: () => (
1127
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1128
- {/* Feature Card */}
1129
- <div className="!space-y-2">
1130
- <h3 className="text-sm font-medium text-white">Feature Card</h3>
1131
- <div className="rounded-lg border border-white/10 bg-white/5 p-6">
1132
- <div className="flex items-start gap-4">
1133
- <div className="flex h-12 w-12 items-center justify-center rounded-lg border border-yellow-500/30 bg-yellow-500/20">
1134
- <LightBulbSimpleIcon className="h-6 w-6 text-yellow-400" />
1135
- </div>
1136
- <div className="flex-1">
1137
- <h4 className="mb-2 text-lg font-semibold !text-white">
1138
- Smart Innovation
1139
- </h4>
1140
- <p className="text-sm !text-white/70">
1141
- Breakthrough ideas and creative solutions powered by intelligent
1142
- insights.
1143
- </p>
1144
- </div>
1145
- </div>
127
+ <IconUsageCanvas>
128
+ <IconUsageSection title="Tip Banner">
129
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary flex w-full max-w-sm items-start gap-3 rounded-xl border px-4 py-3">
130
+ <LightBulbSimpleIcon className="text-fm-icon-warning mt-0.5 h-4 w-4 shrink-0" />
131
+ <span className="text-fm-secondary font-fm-text text-sm">
132
+ Pro tip: save your work often to avoid losing progress.
133
+ </span>
1146
134
  </div>
1147
- </div>
1148
-
1149
- {/* Tips Section */}
1150
- <div className="!space-y-2">
1151
- <h3 className="text-sm font-medium text-white">Tips & Insights</h3>
1152
- <div className="!space-y-3">
1153
- {[
1154
- {
1155
- text: "Use keyboard shortcuts to boost productivity",
1156
- type: "tip",
1157
- },
1158
- {
1159
- text: "Try the new AI-powered suggestions feature",
1160
- type: "insight",
1161
- },
1162
- { text: "Explore advanced settings for power users", type: "idea" },
1163
- ].map((item, index) => (
1164
- <div
1165
- key={index}
1166
- className="flex items-center gap-3 rounded-lg border border-white/10 bg-white/5 p-3"
1167
- >
1168
- <LightBulbSimpleIcon
1169
- className={`h-4 w-4 ${
1170
- item.type === "tip"
1171
- ? "text-yellow-400"
1172
- : item.type === "insight"
1173
- ? "text-orange-400"
1174
- : "text-amber-400"
1175
- }`}
1176
- />
1177
- <div className="flex-1">
1178
- <span className="text-sm text-white">{item.text}</span>
1179
- </div>
1180
- <div
1181
- className={`rounded px-2 py-1 text-xs ${
1182
- item.type === "tip"
1183
- ? "bg-yellow-500/20 text-yellow-300"
1184
- : item.type === "insight"
1185
- ? "bg-orange-500/20 text-orange-300"
1186
- : "bg-amber-500/20 text-amber-300"
1187
- }`}
1188
- >
1189
- {item.type}
1190
- </div>
1191
- </div>
1192
- ))}
1193
- </div>
1194
- </div>
1195
-
1196
- {/* Hero Section Preview */}
1197
- <div className="!space-y-2">
1198
- <h3 className="text-sm font-medium text-white">Hero Section</h3>
1199
- <div className="relative overflow-hidden rounded-lg border border-yellow-500/20 bg-gradient-to-br from-yellow-500/10 to-orange-500/10 p-8 text-center">
1200
- <div className="relative">
1201
- <LightBulbSimpleIcon className="!mx-auto mb-4 h-16 w-16 text-yellow-400" />
1202
- <h2 className="mb-4 text-3xl font-bold text-white">
1203
- Bright Ideas Await
1204
- </h2>
1205
- <p className="mb-6 text-lg text-white/70">
1206
- Discover innovative solutions and creative inspiration
1207
- </p>
1208
- <button className="rounded-lg bg-yellow-500/20 px-6 py-3 text-yellow-200 transition-colors hover:bg-yellow-500/30">
1209
- Get Started
1210
- </button>
135
+ </IconUsageSection>
136
+
137
+ <IconUsageSection title="Insight Card">
138
+ <div className="border-fm-divider-secondary bg-fm-surface-secondary w-full max-w-sm rounded-xl border p-4">
139
+ <div className="mb-2 flex items-center gap-2">
140
+ <LightBulbSimpleIcon className="text-fm-icon-warning h-5 w-5" />
141
+ <span className="text-fm-primary font-fm-text text-sm font-medium">
142
+ Did you know?
143
+ </span>
1211
144
  </div>
145
+ <p className="text-fm-secondary font-fm-text text-xs">
146
+ Adding cover art improves episode discovery by up to 40%.
147
+ </p>
1212
148
  </div>
1213
- </div>
1214
- </div>
1215
- ),
1216
- }
1217
-
1218
- export const InteractiveStates: Story = {
1219
- parameters: {
1220
- ...storyParameters,
1221
- docs: {
1222
- description: {
1223
- story:
1224
- "Interactive states showing hover effects, animations, and creative visual effects for the light bulb icon.",
1225
- },
1226
- },
1227
- },
1228
- render: () => (
1229
- <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1230
- <div className="!space-y-4">
1231
- <h3 className="text-sm font-medium text-white/70">
1232
- Hover & Animation Effects
1233
- </h3>
1234
- <div className="flex gap-8">
1235
- <div className="flex flex-col items-center gap-2">
1236
- <LightBulbSimpleIcon className="h-8 w-8 text-white/60 transition-colors hover:text-yellow-400" />
1237
- <span className="text-xs text-white/60">Color Change</span>
1238
- </div>
1239
- <div className="flex flex-col items-center gap-2">
1240
- <LightBulbSimpleIcon className="h-8 w-8 text-white transition-transform hover:scale-110" />
1241
- <span className="text-xs text-white/60">Scale Up</span>
1242
- </div>
1243
- <div className="flex flex-col items-center gap-2">
1244
- <LightBulbSimpleIcon className="h-8 w-8 animate-pulse text-yellow-400" />
1245
- <span className="text-xs text-white/60">Thinking</span>
1246
- </div>
1247
- <div className="flex flex-col items-center gap-2">
1248
- <LightBulbSimpleIcon className="animate-glow h-8 w-8 text-yellow-400" />
1249
- <span className="text-xs text-white/60">Eureka!</span>
1250
- </div>
1251
- </div>
1252
- </div>
1253
- </div>
149
+ </IconUsageSection>
150
+
151
+ <IconUsageSection title="Help Tooltip Trigger">
152
+ <button className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-2 rounded-xl border px-3 py-2">
153
+ <LightBulbSimpleIcon className="text-fm-icon-warning h-4 w-4" />
154
+ <span className="text-fm-primary font-fm-text text-sm">
155
+ Show tips
156
+ </span>
157
+ </button>
158
+ </IconUsageSection>
159
+ </IconUsageCanvas>
1254
160
  ),
1255
161
  }
1256
162
 
1257
163
  export const Playground: Story = {
1258
- parameters: {
1259
- ...storyParameters,
1260
- docs: {
1261
- description: {
1262
- story:
1263
- "Interactive playground to experiment with different LightBulbSimpleIcon configurations.",
1264
- },
1265
- },
1266
- },
1267
164
  args: {
1268
- width: 32,
1269
- height: 32,
1270
- className: "text-yellow-400 ",
1271
- strokeWidth: 1.5,
165
+ className: "h-8 w-8 text-fm-icon-warning",
166
+ withAccessibility: true,
1272
167
  },
1273
168
  render: (args) => (
1274
- <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1275
- <div className="rounded-lg border border-white/10 bg-white/5 p-8">
1276
- <LightBulbSimpleIcon {...args} />
1277
- </div>
1278
- </div>
169
+ <IconPlaygroundCanvas>
170
+ <LightBulbSimpleIcon {...args} />
171
+ </IconPlaygroundCanvas>
1279
172
  ),
1280
173
  }