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