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 StarIcon> = {
|
|
|
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: {
|
|
@@ -39,59 +39,59 @@ const meta: Meta<typeof StarIcon> = {
|
|
|
39
39
|
background: transparent !important;
|
|
40
40
|
}
|
|
41
41
|
body {
|
|
42
|
-
background:
|
|
42
|
+
background: var(--color-fm-surface-primary) !important;
|
|
43
43
|
}
|
|
44
44
|
#storybook-docs {
|
|
45
|
-
background:
|
|
45
|
+
background: var(--color-fm-surface-primary) !important;
|
|
46
46
|
}
|
|
47
47
|
.sbdocs-preview {
|
|
48
48
|
background: transparent !important;
|
|
49
49
|
border: none !important;
|
|
50
50
|
}
|
|
51
51
|
.sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
|
|
52
|
-
color:
|
|
52
|
+
color: var(--color-fm-icon-active) !important;
|
|
53
53
|
}
|
|
54
54
|
.sbdocs-p, .sbdocs-li {
|
|
55
|
-
color:
|
|
55
|
+
color: var(--color-fm-secondary) !important;
|
|
56
56
|
}
|
|
57
57
|
.sbdocs-code {
|
|
58
|
-
background:
|
|
59
|
-
color:
|
|
60
|
-
border: 1px solid
|
|
58
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
59
|
+
color: var(--color-fm-secondary-500) !important;
|
|
60
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
61
61
|
}
|
|
62
62
|
.sbdocs-pre {
|
|
63
|
-
background:
|
|
64
|
-
border: 1px solid
|
|
63
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
64
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
65
65
|
}
|
|
66
66
|
.sbdocs-table {
|
|
67
|
-
background:
|
|
68
|
-
border: 1px solid
|
|
67
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
68
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
69
69
|
}
|
|
70
70
|
.sbdocs-table th {
|
|
71
|
-
background:
|
|
72
|
-
color:
|
|
73
|
-
border-bottom: 1px solid
|
|
71
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
72
|
+
color: var(--color-fm-icon-active) !important;
|
|
73
|
+
border-bottom: 1px solid var(--color-fm-divider-secondary) !important;
|
|
74
74
|
}
|
|
75
75
|
.sbdocs-table td {
|
|
76
|
-
color:
|
|
77
|
-
border-bottom: 1px solid
|
|
76
|
+
color: var(--color-fm-secondary) !important;
|
|
77
|
+
border-bottom: 1px solid var(--color-fm-divider-tertiary) !important;
|
|
78
78
|
}
|
|
79
79
|
`}
|
|
80
80
|
</style>
|
|
81
81
|
|
|
82
|
-
<div className="
|
|
82
|
+
<div className="from-fm-surface-primary via-fm-icon-warning/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
|
|
83
83
|
{/* Header */}
|
|
84
|
-
<div className="relative overflow-hidden border-b
|
|
85
|
-
<div className="absolute inset-0 bg-
|
|
84
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
|
|
85
|
+
<div className="from-fm-icon-warning/10 to-fm-icon-warning/10 absolute inset-0 bg-linear-to-r via-transparent" />
|
|
86
86
|
<div className="relative !mx-auto max-w-7xl px-6 py-16">
|
|
87
87
|
<div className="!space-y-6 text-center">
|
|
88
|
-
<div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border
|
|
89
|
-
<StarIcon className="h-12 w-12
|
|
88
|
+
<div className="border-fm-icon-warning/30 from-fm-icon-warning/20 to-fm-icon-warning/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
|
|
89
|
+
<StarIcon className="text-fm-icon-warning h-12 w-12" />
|
|
90
90
|
</div>
|
|
91
91
|
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
92
92
|
StarIcon
|
|
93
93
|
</h1>
|
|
94
|
-
<p className="!mx-auto max-w-3xl text-xl leading-relaxed
|
|
94
|
+
<p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
|
|
95
95
|
A classic star icon for ratings, favorites, bookmarks, and
|
|
96
96
|
highlighting important content. Perfect for review systems,
|
|
97
97
|
wishlists, and premium features. Built with accessibility in
|
|
@@ -101,28 +101,28 @@ const meta: Meta<typeof StarIcon> = {
|
|
|
101
101
|
{/* Stats */}
|
|
102
102
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
103
103
|
<div className="text-center">
|
|
104
|
-
<div className="text-3xl font-bold
|
|
104
|
+
<div className="text-fm-icon-warning text-3xl font-bold">
|
|
105
105
|
Rate
|
|
106
106
|
</div>
|
|
107
|
-
<div className="text-
|
|
107
|
+
<div className="text-fm-tertiary text-sm">
|
|
108
108
|
Reviews & ratings
|
|
109
109
|
</div>
|
|
110
110
|
</div>
|
|
111
|
-
<div className="h-8 w-px
|
|
111
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
112
112
|
<div className="text-center">
|
|
113
|
-
<div className="text-3xl font-bold
|
|
113
|
+
<div className="text-fm-icon-warning text-3xl font-bold">
|
|
114
114
|
Favorite
|
|
115
115
|
</div>
|
|
116
|
-
<div className="text-
|
|
116
|
+
<div className="text-fm-tertiary text-sm">
|
|
117
117
|
Save & bookmark
|
|
118
118
|
</div>
|
|
119
119
|
</div>
|
|
120
|
-
<div className="h-8 w-px
|
|
120
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
121
121
|
<div className="text-center">
|
|
122
|
-
<div className="text-3xl font-bold
|
|
122
|
+
<div className="text-fm-icon-warning text-3xl font-bold">
|
|
123
123
|
Premium
|
|
124
124
|
</div>
|
|
125
|
-
<div className="text-
|
|
125
|
+
<div className="text-fm-tertiary text-sm">
|
|
126
126
|
Highlight features
|
|
127
127
|
</div>
|
|
128
128
|
</div>
|
|
@@ -135,16 +135,16 @@ const meta: Meta<typeof StarIcon> = {
|
|
|
135
135
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
136
136
|
{/* Quick Usage */}
|
|
137
137
|
<div className="!space-y-8">
|
|
138
|
-
<h2 className="text-center text-3xl font-bold
|
|
138
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
139
139
|
Quick Start
|
|
140
140
|
</h2>
|
|
141
141
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
142
142
|
<div className="!space-y-4">
|
|
143
|
-
<h3 className="text-xl font-semibold
|
|
143
|
+
<h3 className="text-fm-icon-warning! text-xl font-semibold">
|
|
144
144
|
Basic Usage
|
|
145
145
|
</h3>
|
|
146
|
-
<div className="rounded-lg
|
|
147
|
-
<pre className="overflow-x-auto text-sm
|
|
146
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
147
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
148
148
|
{`import { StarIcon } from "@icons/star-icon"
|
|
149
149
|
|
|
150
150
|
function RatingStar() {
|
|
@@ -159,12 +159,12 @@ function RatingStar() {
|
|
|
159
159
|
</div>
|
|
160
160
|
|
|
161
161
|
<div className="!space-y-4">
|
|
162
|
-
<h3 className="text-xl font-semibold
|
|
162
|
+
<h3 className="text-fm-icon-warning! text-xl font-semibold">
|
|
163
163
|
Live Preview
|
|
164
164
|
</h3>
|
|
165
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
166
|
-
<button className="
|
|
167
|
-
<StarIcon className="h-6 w-6
|
|
165
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
166
|
+
<button className="border-fm-icon-warning/20 bg-fm-icon-warning/10 hover:bg-fm-icon-warning/20 rounded-lg border p-3 transition-colors">
|
|
167
|
+
<StarIcon className="text-fm-icon-warning h-6 w-6" />
|
|
168
168
|
</button>
|
|
169
169
|
</div>
|
|
170
170
|
</div>
|
|
@@ -173,108 +173,116 @@ function RatingStar() {
|
|
|
173
173
|
|
|
174
174
|
{/* Props Documentation */}
|
|
175
175
|
<div className="!space-y-8">
|
|
176
|
-
<h2 className="text-center text-3xl font-bold
|
|
176
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
177
177
|
Props & Configuration
|
|
178
178
|
</h2>
|
|
179
179
|
|
|
180
|
-
<div className="overflow-hidden rounded-lg border
|
|
181
|
-
<div className="bg-
|
|
182
|
-
<h3 className="text-xl font-semibold
|
|
180
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
181
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
182
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
183
|
+
Props
|
|
184
|
+
</h3>
|
|
183
185
|
</div>
|
|
184
186
|
<table className="!my-0 w-full">
|
|
185
|
-
<thead className="bg-
|
|
186
|
-
<tr className="border-
|
|
187
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
187
|
+
<thead className="bg-fm-surface-secondary">
|
|
188
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
189
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
188
190
|
Prop
|
|
189
191
|
</th>
|
|
190
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
192
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
191
193
|
Type
|
|
192
194
|
</th>
|
|
193
|
-
<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">
|
|
194
196
|
Default
|
|
195
197
|
</th>
|
|
196
|
-
<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">
|
|
197
199
|
Description
|
|
198
200
|
</th>
|
|
199
201
|
</tr>
|
|
200
202
|
</thead>
|
|
201
203
|
<tbody>
|
|
202
204
|
{" "}
|
|
203
|
-
<tr className="
|
|
204
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
205
|
+
<tr className="bg-fm-surface-secondary!">
|
|
206
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
205
207
|
withAccessibility
|
|
206
208
|
</td>
|
|
207
|
-
<td className="px-6 py-4 text-sm
|
|
209
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
208
210
|
boolean
|
|
209
211
|
</td>
|
|
210
|
-
<td className="px-6 py-4 text-sm
|
|
212
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
211
213
|
true
|
|
212
214
|
</td>
|
|
213
|
-
<td className="px-6 py-4 text-sm
|
|
215
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
214
216
|
Whether to wrap the icon with accessibility feature
|
|
215
217
|
</td>
|
|
216
218
|
</tr>
|
|
217
|
-
<tr className="border-
|
|
218
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
219
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
220
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
219
221
|
height
|
|
220
222
|
</td>
|
|
221
|
-
<td className="px-6 py-4 text-sm
|
|
223
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
222
224
|
number | string
|
|
223
225
|
</td>
|
|
224
|
-
<td className="px-6 py-4 text-sm
|
|
225
|
-
|
|
226
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
227
|
+
24
|
|
228
|
+
</td>
|
|
229
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
226
230
|
Height of the icon in pixels
|
|
227
231
|
</td>
|
|
228
232
|
</tr>
|
|
229
|
-
<tr className="border-
|
|
230
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
233
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
234
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
231
235
|
stroke
|
|
232
236
|
</td>
|
|
233
|
-
<td className="px-6 py-4 text-sm
|
|
237
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
234
238
|
string
|
|
235
239
|
</td>
|
|
236
|
-
<td className="px-6 py-4 text-sm
|
|
240
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
237
241
|
currentColor
|
|
238
242
|
</td>
|
|
239
|
-
<td className="px-6 py-4 text-sm
|
|
243
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
240
244
|
Stroke color of the star
|
|
241
245
|
</td>
|
|
242
246
|
</tr>
|
|
243
|
-
<tr className="border-
|
|
244
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
247
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
248
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
245
249
|
strokeWidth
|
|
246
250
|
</td>
|
|
247
|
-
<td className="px-6 py-4 text-sm
|
|
251
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
248
252
|
string | number
|
|
249
253
|
</td>
|
|
250
|
-
<td className="px-6 py-4 text-sm
|
|
254
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
251
255
|
1.5
|
|
252
256
|
</td>
|
|
253
|
-
<td className="px-6 py-4 text-sm
|
|
257
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
254
258
|
Width of the stroke
|
|
255
259
|
</td>
|
|
256
260
|
</tr>
|
|
257
|
-
<tr className="border-
|
|
258
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
261
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
262
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
259
263
|
className
|
|
260
264
|
</td>
|
|
261
|
-
<td className="px-6 py-4 text-sm
|
|
265
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
262
266
|
string
|
|
263
267
|
</td>
|
|
264
|
-
<td className="px-6 py-4 text-sm
|
|
265
|
-
|
|
268
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
269
|
+
-
|
|
270
|
+
</td>
|
|
271
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
266
272
|
CSS classes for styling
|
|
267
273
|
</td>
|
|
268
274
|
</tr>
|
|
269
|
-
<tr className="
|
|
270
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
275
|
+
<tr className="bg-fm-surface-secondary!">
|
|
276
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
271
277
|
...svgProps
|
|
272
278
|
</td>
|
|
273
|
-
<td className="px-6 py-4 text-sm
|
|
279
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
274
280
|
SVGProps
|
|
275
281
|
</td>
|
|
276
|
-
<td className="px-6 py-4 text-sm
|
|
277
|
-
|
|
282
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
283
|
+
-
|
|
284
|
+
</td>
|
|
285
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
278
286
|
All standard SVG element props
|
|
279
287
|
</td>
|
|
280
288
|
</tr>
|
|
@@ -285,50 +293,62 @@ function RatingStar() {
|
|
|
285
293
|
|
|
286
294
|
{/* Size Variations */}
|
|
287
295
|
<div className="!space-y-8">
|
|
288
|
-
<h2 className="text-center text-3xl font-bold
|
|
296
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
289
297
|
Size Variations
|
|
290
298
|
</h2>
|
|
291
|
-
<div className="rounded-lg border
|
|
299
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
292
300
|
<div className="!space-y-6">
|
|
293
301
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
294
302
|
<div className="!space-y-4">
|
|
295
|
-
<h3 className="text-lg font-semibold
|
|
303
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
296
304
|
Standard Sizes
|
|
297
305
|
</h3>
|
|
298
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
306
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
299
307
|
<div className="text-center">
|
|
300
|
-
<StarIcon className="!mx-auto mb-2 h-3 w-3
|
|
301
|
-
<span className="text-
|
|
308
|
+
<StarIcon className="text-fm-icon-warning !mx-auto mb-2 h-3 w-3" />
|
|
309
|
+
<span className="text-fm-tertiary text-xs">
|
|
310
|
+
12px
|
|
311
|
+
</span>
|
|
302
312
|
</div>
|
|
303
313
|
<div className="text-center">
|
|
304
|
-
<StarIcon className="!mx-auto mb-2 h-4 w-4
|
|
305
|
-
<span className="text-
|
|
314
|
+
<StarIcon className="text-fm-icon-warning !mx-auto mb-2 h-4 w-4" />
|
|
315
|
+
<span className="text-fm-tertiary text-xs">
|
|
316
|
+
16px
|
|
317
|
+
</span>
|
|
306
318
|
</div>
|
|
307
319
|
<div className="text-center">
|
|
308
|
-
<StarIcon className="!mx-auto mb-2 h-5 w-5
|
|
309
|
-
<span className="text-
|
|
320
|
+
<StarIcon className="text-fm-icon-warning !mx-auto mb-2 h-5 w-5" />
|
|
321
|
+
<span className="text-fm-tertiary text-xs">
|
|
322
|
+
20px
|
|
323
|
+
</span>
|
|
310
324
|
</div>
|
|
311
325
|
<div className="text-center">
|
|
312
|
-
<StarIcon className="!mx-auto mb-2 h-6 w-6
|
|
313
|
-
<span className="text-
|
|
326
|
+
<StarIcon className="text-fm-icon-warning !mx-auto mb-2 h-6 w-6" />
|
|
327
|
+
<span className="text-fm-tertiary text-xs">
|
|
328
|
+
24px
|
|
329
|
+
</span>
|
|
314
330
|
</div>
|
|
315
331
|
<div className="text-center">
|
|
316
|
-
<StarIcon className="!mx-auto mb-2 h-8 w-8
|
|
317
|
-
<span className="text-
|
|
332
|
+
<StarIcon className="text-fm-icon-warning !mx-auto mb-2 h-8 w-8" />
|
|
333
|
+
<span className="text-fm-tertiary text-xs">
|
|
334
|
+
32px
|
|
335
|
+
</span>
|
|
318
336
|
</div>
|
|
319
337
|
<div className="text-center">
|
|
320
|
-
<StarIcon className="!mx-auto mb-2 h-12 w-12
|
|
321
|
-
<span className="text-
|
|
338
|
+
<StarIcon className="text-fm-icon-warning !mx-auto mb-2 h-12 w-12" />
|
|
339
|
+
<span className="text-fm-tertiary text-xs">
|
|
340
|
+
48px
|
|
341
|
+
</span>
|
|
322
342
|
</div>
|
|
323
343
|
</div>
|
|
324
344
|
</div>
|
|
325
345
|
|
|
326
346
|
<div className="!space-y-4">
|
|
327
|
-
<h3 className="text-lg font-semibold
|
|
347
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
328
348
|
Code Example
|
|
329
349
|
</h3>
|
|
330
|
-
<div className="rounded-lg
|
|
331
|
-
<pre className="overflow-x-auto text-sm
|
|
350
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
351
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
332
352
|
{`// Small (16px)
|
|
333
353
|
<StarIcon className="h-4 w-4" />
|
|
334
354
|
|
|
@@ -350,56 +370,56 @@ function RatingStar() {
|
|
|
350
370
|
|
|
351
371
|
{/* Color Variations */}
|
|
352
372
|
<div className="!space-y-8">
|
|
353
|
-
<h2 className="text-center text-3xl font-bold
|
|
373
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
354
374
|
Color Variations
|
|
355
375
|
</h2>
|
|
356
376
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
357
377
|
<div className="!space-y-4">
|
|
358
|
-
<h3 className="text-lg font-semibold
|
|
378
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
359
379
|
Semantic Colors
|
|
360
380
|
</h3>
|
|
361
|
-
<div className="!space-y-4 rounded-lg border
|
|
381
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
362
382
|
<div className="flex items-center gap-4">
|
|
363
|
-
<StarIcon className="h-6 w-6
|
|
383
|
+
<StarIcon className="text-fm-icon-warning h-6 w-6" />
|
|
364
384
|
<div>
|
|
365
|
-
<div className="text-sm font-medium
|
|
385
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
366
386
|
Rating/Favorite
|
|
367
387
|
</div>
|
|
368
|
-
<div className="text-
|
|
369
|
-
text-
|
|
388
|
+
<div className="text-fm-tertiary text-xs">
|
|
389
|
+
text-fm-icon-warning
|
|
370
390
|
</div>
|
|
371
391
|
</div>
|
|
372
392
|
</div>
|
|
373
393
|
<div className="flex items-center gap-4">
|
|
374
|
-
<StarIcon className="h-6 w-6
|
|
394
|
+
<StarIcon className="text-fm-icon-warning h-6 w-6" />
|
|
375
395
|
<div>
|
|
376
|
-
<div className="text-sm font-medium
|
|
396
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
377
397
|
Premium/Highlight
|
|
378
398
|
</div>
|
|
379
|
-
<div className="text-
|
|
380
|
-
text-
|
|
399
|
+
<div className="text-fm-tertiary text-xs">
|
|
400
|
+
text-fm-icon-warning
|
|
381
401
|
</div>
|
|
382
402
|
</div>
|
|
383
403
|
</div>
|
|
384
404
|
<div className="flex items-center gap-4">
|
|
385
|
-
<StarIcon className="h-6 w-6
|
|
405
|
+
<StarIcon className="text-fm-placeholder h-6 w-6" />
|
|
386
406
|
<div>
|
|
387
|
-
<div className="text-sm font-medium
|
|
407
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
388
408
|
Inactive/Empty
|
|
389
409
|
</div>
|
|
390
|
-
<div className="text-
|
|
391
|
-
text-
|
|
410
|
+
<div className="text-fm-tertiary text-xs">
|
|
411
|
+
text-fm-placeholder
|
|
392
412
|
</div>
|
|
393
413
|
</div>
|
|
394
414
|
</div>
|
|
395
415
|
<div className="flex items-center gap-4">
|
|
396
|
-
<StarIcon className="h-6 w-6
|
|
416
|
+
<StarIcon className="text-fm-tertiary h-6 w-6" />
|
|
397
417
|
<div>
|
|
398
|
-
<div className="text-sm font-medium
|
|
418
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
399
419
|
Muted
|
|
400
420
|
</div>
|
|
401
|
-
<div className="text-
|
|
402
|
-
text-
|
|
421
|
+
<div className="text-fm-tertiary text-xs">
|
|
422
|
+
text-fm-tertiary
|
|
403
423
|
</div>
|
|
404
424
|
</div>
|
|
405
425
|
</div>
|
|
@@ -407,11 +427,11 @@ function RatingStar() {
|
|
|
407
427
|
</div>
|
|
408
428
|
|
|
409
429
|
<div className="!space-y-4">
|
|
410
|
-
<h3 className="text-lg font-semibold
|
|
430
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
411
431
|
Custom Colors
|
|
412
432
|
</h3>
|
|
413
|
-
<div className="rounded-lg
|
|
414
|
-
<pre className="overflow-x-auto text-sm
|
|
433
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
434
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
415
435
|
{`// Using Tailwind classes
|
|
416
436
|
<StarIcon className="h-6 w-6 text-yellow-400" />
|
|
417
437
|
<StarIcon className="h-6 w-6 text-orange-500" />
|
|
@@ -436,14 +456,14 @@ function RatingStar() {
|
|
|
436
456
|
|
|
437
457
|
{/* Usage Examples */}
|
|
438
458
|
<div className="!space-y-8">
|
|
439
|
-
<h2 className="text-center text-3xl font-bold
|
|
459
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
440
460
|
Usage Examples
|
|
441
461
|
</h2>
|
|
442
462
|
|
|
443
463
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
444
464
|
{/* Rating System */}
|
|
445
465
|
<div className="!space-y-4">
|
|
446
|
-
<h3 className="text-lg font-semibold
|
|
466
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
447
467
|
Rating System
|
|
448
468
|
</h3>
|
|
449
469
|
<div className="!space-y-4">
|
|
@@ -453,12 +473,12 @@ function RatingStar() {
|
|
|
453
473
|
key={star}
|
|
454
474
|
className="p-1 transition-transform hover:scale-110"
|
|
455
475
|
>
|
|
456
|
-
<StarIcon className="h-5 w-5
|
|
476
|
+
<StarIcon className="text-fm-icon-warning h-5 w-5" />
|
|
457
477
|
</button>
|
|
458
478
|
))}
|
|
459
479
|
</div>
|
|
460
|
-
<div className="rounded-lg
|
|
461
|
-
<pre className="overflow-x-auto text-sm
|
|
480
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
481
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
462
482
|
{`// 5-star rating system
|
|
463
483
|
{[1, 2, 3, 4, 5].map((star) => (
|
|
464
484
|
<button key={star} className="p-1 hover:scale-110 transition-transform">
|
|
@@ -472,21 +492,21 @@ function RatingStar() {
|
|
|
472
492
|
|
|
473
493
|
{/* Favorite Button */}
|
|
474
494
|
<div className="!space-y-4">
|
|
475
|
-
<h3 className="text-lg font-semibold
|
|
495
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
476
496
|
Favorite Button
|
|
477
497
|
</h3>
|
|
478
498
|
<div className="!space-y-4">
|
|
479
499
|
<div className="flex gap-4">
|
|
480
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
500
|
+
<button className="border-fm-icon-warning/30 bg-fm-icon-warning/20 text-fm-icon-warning hover:bg-fm-icon-warning/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
481
501
|
<StarIcon className="h-4 w-4" />
|
|
482
502
|
Add to Favorites
|
|
483
503
|
</button>
|
|
484
|
-
<button className="rounded-lg p-2 transition-colors
|
|
485
|
-
<StarIcon className="h-5 w-5
|
|
504
|
+
<button className="hover:bg-fm-surface-secondary rounded-lg p-2 transition-colors">
|
|
505
|
+
<StarIcon className="text-fm-icon-warning h-5 w-5" />
|
|
486
506
|
</button>
|
|
487
507
|
</div>
|
|
488
|
-
<div className="rounded-lg
|
|
489
|
-
<pre className="overflow-x-auto text-sm
|
|
508
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
509
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
490
510
|
{`// Favorite button with text
|
|
491
511
|
<button className="flex items-center gap-2 bg-yellow-500/20 border border-yellow-500/30 px-4 py-2 rounded-lg">
|
|
492
512
|
<StarIcon className="h-4 w-4" />
|
|
@@ -504,25 +524,25 @@ function RatingStar() {
|
|
|
504
524
|
|
|
505
525
|
{/* Premium Feature */}
|
|
506
526
|
<div className="!space-y-4">
|
|
507
|
-
<h3 className="text-lg font-semibold
|
|
527
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
508
528
|
Premium Feature
|
|
509
529
|
</h3>
|
|
510
530
|
<div className="!space-y-4">
|
|
511
|
-
<div className="
|
|
531
|
+
<div className="border-fm-icon-warning/30 bg-fm-icon-warning/10 rounded-lg border p-4">
|
|
512
532
|
<div className="flex items-center gap-3">
|
|
513
|
-
<StarIcon className="h-5 w-5
|
|
533
|
+
<StarIcon className="text-fm-icon-warning h-5 w-5" />
|
|
514
534
|
<div>
|
|
515
|
-
<h4 className="font-medium
|
|
535
|
+
<h4 className="text-fm-icon-active font-medium">
|
|
516
536
|
Premium Feature
|
|
517
537
|
</h4>
|
|
518
|
-
<p className="text-
|
|
538
|
+
<p className="text-fm-secondary text-sm">
|
|
519
539
|
Unlock advanced analytics
|
|
520
540
|
</p>
|
|
521
541
|
</div>
|
|
522
542
|
</div>
|
|
523
543
|
</div>
|
|
524
|
-
<div className="rounded-lg
|
|
525
|
-
<pre className="overflow-x-auto text-sm
|
|
544
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
545
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
526
546
|
{`// Premium feature indicator
|
|
527
547
|
<div className="flex items-center gap-3 border border-orange-500/30 bg-orange-500/10 p-4 rounded-lg">
|
|
528
548
|
<StarIcon className="h-5 w-5 text-orange-400" />
|
|
@@ -538,25 +558,25 @@ function RatingStar() {
|
|
|
538
558
|
|
|
539
559
|
{/* Bookmark */}
|
|
540
560
|
<div className="!space-y-4">
|
|
541
|
-
<h3 className="text-lg font-semibold
|
|
561
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
542
562
|
Bookmark
|
|
543
563
|
</h3>
|
|
544
564
|
<div className="!space-y-4">
|
|
545
|
-
<div className="flex items-center justify-between rounded-lg border
|
|
565
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center justify-between rounded-lg border p-4">
|
|
546
566
|
<div>
|
|
547
|
-
<h4 className="font-medium
|
|
567
|
+
<h4 className="text-fm-icon-active font-medium">
|
|
548
568
|
Article Title
|
|
549
569
|
</h4>
|
|
550
|
-
<p className="text-
|
|
570
|
+
<p className="text-fm-secondary text-sm">
|
|
551
571
|
Brief description...
|
|
552
572
|
</p>
|
|
553
573
|
</div>
|
|
554
|
-
<button className="
|
|
574
|
+
<button className="text-fm-tertiary hover:bg-fm-surface-secondary hover:text-fm-icon-warning rounded p-1">
|
|
555
575
|
<StarIcon className="h-4 w-4" />
|
|
556
576
|
</button>
|
|
557
577
|
</div>
|
|
558
|
-
<div className="rounded-lg
|
|
559
|
-
<pre className="overflow-x-auto text-sm
|
|
578
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
579
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
560
580
|
{`// Bookmark button in list item
|
|
561
581
|
<div className="flex items-center justify-between border border-white/10 bg-white/5 p-4 rounded-lg">
|
|
562
582
|
<div>
|
|
@@ -576,65 +596,65 @@ function RatingStar() {
|
|
|
576
596
|
|
|
577
597
|
{/* Accessibility */}
|
|
578
598
|
<div className="!space-y-8">
|
|
579
|
-
<h2 className="text-center text-3xl font-bold
|
|
599
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
580
600
|
Accessibility Features
|
|
581
601
|
</h2>
|
|
582
602
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
583
|
-
<div className="!space-y-4 rounded-lg border
|
|
584
|
-
<h3 className="text-lg font-semibold
|
|
603
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
604
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
585
605
|
✅ Built-in Features
|
|
586
606
|
</h3>
|
|
587
|
-
<ul className="!space-y-2 text-sm
|
|
588
|
-
<li className="
|
|
607
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
608
|
+
<li className="text-fm-secondary!">
|
|
589
609
|
Uses Radix UI AccessibleIcon wrapper
|
|
590
610
|
</li>
|
|
591
|
-
<li className="
|
|
611
|
+
<li className="text-fm-secondary!">
|
|
592
612
|
Provides screen reader label "Star icon"
|
|
593
613
|
</li>
|
|
594
|
-
<li className="
|
|
614
|
+
<li className="text-fm-secondary!">
|
|
595
615
|
Supports keyboard navigation when interactive
|
|
596
616
|
</li>
|
|
597
|
-
<li className="
|
|
617
|
+
<li className="text-fm-secondary!">
|
|
598
618
|
Maintains proper color contrast ratios
|
|
599
619
|
</li>
|
|
600
|
-
<li className="
|
|
620
|
+
<li className="text-fm-secondary!">
|
|
601
621
|
Scales with user's font size preferences
|
|
602
622
|
</li>
|
|
603
623
|
</ul>
|
|
604
624
|
</div>
|
|
605
625
|
|
|
606
|
-
<div className="!space-y-4 rounded-lg border
|
|
607
|
-
<h3 className="text-lg font-semibold
|
|
626
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
627
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
608
628
|
💡 Best Practices
|
|
609
629
|
</h3>
|
|
610
|
-
<ul className="!space-y-2 text-sm
|
|
611
|
-
<li className="
|
|
630
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
631
|
+
<li className="text-fm-secondary!">
|
|
612
632
|
Always provide descriptive button labels for star
|
|
613
633
|
actions
|
|
614
634
|
</li>
|
|
615
|
-
<li className="
|
|
635
|
+
<li className="text-fm-secondary!">
|
|
616
636
|
Use consistent placement for rating and favorite buttons
|
|
617
637
|
</li>
|
|
618
|
-
<li className="
|
|
638
|
+
<li className="text-fm-secondary!">
|
|
619
639
|
Ensure sufficient touch target size (44px minimum)
|
|
620
640
|
</li>
|
|
621
|
-
<li className="
|
|
641
|
+
<li className="text-fm-secondary!">
|
|
622
642
|
Provide visible focus states for keyboard users
|
|
623
643
|
</li>
|
|
624
|
-
<li className="
|
|
644
|
+
<li className="text-fm-secondary!">
|
|
625
645
|
Consider color-blind users with alternative indicators
|
|
626
646
|
</li>
|
|
627
647
|
</ul>
|
|
628
648
|
</div>
|
|
629
649
|
</div>
|
|
630
650
|
|
|
631
|
-
<div className="rounded-lg border
|
|
632
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
651
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
652
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
633
653
|
Proper ARIA Implementation
|
|
634
654
|
</h3>
|
|
635
655
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
636
|
-
<div className="rounded-lg
|
|
637
|
-
<pre className="overflow-x-auto text-sm
|
|
656
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
657
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
638
658
|
{`// Rating star with ARIA
|
|
639
659
|
<button
|
|
640
660
|
aria-label="Rate 4 stars"
|
|
@@ -660,13 +680,13 @@ function RatingStar() {
|
|
|
660
680
|
</pre>
|
|
661
681
|
</div>
|
|
662
682
|
<div className="!space-y-4">
|
|
663
|
-
<p className="text-
|
|
683
|
+
<p className="text-fm-secondary! text-sm">
|
|
664
684
|
When using StarIcon for interactive elements, provide
|
|
665
685
|
clear context about the rating level or action being
|
|
666
686
|
performed.
|
|
667
687
|
</p>
|
|
668
|
-
<div className="
|
|
669
|
-
<div className="flex items-center gap-2 text-sm
|
|
688
|
+
<div className="border-fm-icon-warning/20 bg-fm-icon-warning/10 rounded-lg border p-4">
|
|
689
|
+
<div className="text-fm-icon-warning flex items-center gap-2 text-sm">
|
|
670
690
|
<StarIcon className="h-4 w-4" />
|
|
671
691
|
<span>
|
|
672
692
|
Screen readers need context about rating levels and
|
|
@@ -681,44 +701,54 @@ function RatingStar() {
|
|
|
681
701
|
|
|
682
702
|
{/* Related Icons */}
|
|
683
703
|
<div className="!space-y-8">
|
|
684
|
-
<h2 className="text-center text-3xl font-bold
|
|
704
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
685
705
|
Related Icons
|
|
686
706
|
</h2>
|
|
687
707
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
688
|
-
<div className="!space-y-3 rounded-lg border
|
|
689
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
690
|
-
<span className="
|
|
708
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
709
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
710
|
+
<span className="text-fm-icon-active! !text-2xl">❤️</span>
|
|
691
711
|
</div>
|
|
692
712
|
<div>
|
|
693
|
-
<div className="font-medium
|
|
694
|
-
|
|
713
|
+
<div className="text-fm-icon-active font-medium">
|
|
714
|
+
HeartIcon
|
|
715
|
+
</div>
|
|
716
|
+
<div className="text-fm-tertiary text-xs">Like/Love</div>
|
|
695
717
|
</div>
|
|
696
718
|
</div>
|
|
697
|
-
<div className="!space-y-3 rounded-lg border
|
|
698
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
699
|
-
<span className="
|
|
719
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
720
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
721
|
+
<span className="text-fm-icon-active! !text-2xl">✓</span>
|
|
700
722
|
</div>
|
|
701
723
|
<div>
|
|
702
|
-
<div className="font-medium
|
|
703
|
-
|
|
724
|
+
<div className="text-fm-icon-active font-medium">
|
|
725
|
+
CheckIcon
|
|
726
|
+
</div>
|
|
727
|
+
<div className="text-fm-tertiary text-xs">Complete</div>
|
|
704
728
|
</div>
|
|
705
729
|
</div>
|
|
706
|
-
<div className="!space-y-3 rounded-lg border
|
|
707
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
708
|
-
<span className="
|
|
730
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
731
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
732
|
+
<span className="text-fm-icon-active! !text-2xl">🔖</span>
|
|
709
733
|
</div>
|
|
710
734
|
<div>
|
|
711
|
-
<div className="font-medium
|
|
712
|
-
|
|
735
|
+
<div className="text-fm-icon-active font-medium">
|
|
736
|
+
BookmarkIcon
|
|
737
|
+
</div>
|
|
738
|
+
<div className="text-fm-tertiary text-xs">Save page</div>
|
|
713
739
|
</div>
|
|
714
740
|
</div>
|
|
715
|
-
<div className="!space-y-3 rounded-lg border
|
|
716
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
717
|
-
<span className="
|
|
741
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
742
|
+
<div className="bg-fm-icon-negative/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
743
|
+
<span className="text-fm-icon-active! !text-2xl">✖️</span>
|
|
718
744
|
</div>
|
|
719
745
|
<div>
|
|
720
|
-
<div className="font-medium
|
|
721
|
-
|
|
746
|
+
<div className="text-fm-icon-active font-medium">
|
|
747
|
+
CrossIcon
|
|
748
|
+
</div>
|
|
749
|
+
<div className="text-fm-tertiary text-xs">
|
|
750
|
+
Close/Remove
|
|
751
|
+
</div>
|
|
722
752
|
</div>
|
|
723
753
|
</div>
|
|
724
754
|
</div>
|
|
@@ -726,14 +756,14 @@ function RatingStar() {
|
|
|
726
756
|
</div>
|
|
727
757
|
|
|
728
758
|
{/* Footer */}
|
|
729
|
-
<div className="border-
|
|
759
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
730
760
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
731
761
|
<div className="!space-y-4 text-center">
|
|
732
|
-
<p className="
|
|
762
|
+
<p className="text-fm-tertiary!">
|
|
733
763
|
StarIcon is part of the Aural UI icon library, built for
|
|
734
764
|
ratings, favorites, and premium features.
|
|
735
765
|
</p>
|
|
736
|
-
<p className="text-
|
|
766
|
+
<p className="text-fm-placeholder! text-sm">
|
|
737
767
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
738
768
|
compatibility and follow WCAG guidelines.
|
|
739
769
|
</p>
|
|
@@ -786,20 +816,20 @@ const storyParameters = {
|
|
|
786
816
|
backgrounds: {
|
|
787
817
|
default: "dark",
|
|
788
818
|
values: [
|
|
789
|
-
{ name: "dark", value: "
|
|
790
|
-
{ name: "darker", value: "
|
|
819
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
820
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
791
821
|
],
|
|
792
822
|
},
|
|
793
823
|
}
|
|
794
824
|
|
|
795
825
|
export const Default: Story = {
|
|
796
826
|
args: {
|
|
797
|
-
className: "h-6 w-6 text-
|
|
827
|
+
className: "h-6 w-6 text-fm-icon-warning",
|
|
798
828
|
withAccessibility: true,
|
|
799
829
|
},
|
|
800
830
|
parameters: storyParameters,
|
|
801
831
|
render: (args) => (
|
|
802
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
832
|
+
<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">
|
|
803
833
|
<StarIcon {...args} />
|
|
804
834
|
</div>
|
|
805
835
|
),
|
|
@@ -816,30 +846,30 @@ export const SizeVariations: Story = {
|
|
|
816
846
|
},
|
|
817
847
|
},
|
|
818
848
|
render: () => (
|
|
819
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
849
|
+
<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">
|
|
820
850
|
<div className="text-center">
|
|
821
|
-
<StarIcon className="!mx-auto mb-2 h-3 w-3
|
|
822
|
-
<span className="text-
|
|
851
|
+
<StarIcon className="text-fm-icon-warning !mx-auto mb-2 h-3 w-3" />
|
|
852
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
823
853
|
</div>
|
|
824
854
|
<div className="text-center">
|
|
825
|
-
<StarIcon className="!mx-auto mb-2 h-4 w-4
|
|
826
|
-
<span className="text-
|
|
855
|
+
<StarIcon className="text-fm-icon-warning !mx-auto mb-2 h-4 w-4" />
|
|
856
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
827
857
|
</div>
|
|
828
858
|
<div className="text-center">
|
|
829
|
-
<StarIcon className="!mx-auto mb-2 h-5 w-5
|
|
830
|
-
<span className="text-
|
|
859
|
+
<StarIcon className="text-fm-icon-warning !mx-auto mb-2 h-5 w-5" />
|
|
860
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
831
861
|
</div>
|
|
832
862
|
<div className="text-center">
|
|
833
|
-
<StarIcon className="!mx-auto mb-2 h-6 w-6
|
|
834
|
-
<span className="text-
|
|
863
|
+
<StarIcon className="text-fm-icon-warning !mx-auto mb-2 h-6 w-6" />
|
|
864
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
835
865
|
</div>
|
|
836
866
|
<div className="text-center">
|
|
837
|
-
<StarIcon className="!mx-auto mb-2 h-8 w-8
|
|
838
|
-
<span className="text-
|
|
867
|
+
<StarIcon className="text-fm-icon-warning !mx-auto mb-2 h-8 w-8" />
|
|
868
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
839
869
|
</div>
|
|
840
870
|
<div className="text-center">
|
|
841
|
-
<StarIcon className="!mx-auto mb-2 h-12 w-12
|
|
842
|
-
<span className="text-
|
|
871
|
+
<StarIcon className="text-fm-icon-warning !mx-auto mb-2 h-12 w-12" />
|
|
872
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
843
873
|
</div>
|
|
844
874
|
</div>
|
|
845
875
|
),
|
|
@@ -855,34 +885,40 @@ export const ColorVariations: Story = {
|
|
|
855
885
|
},
|
|
856
886
|
},
|
|
857
887
|
render: () => (
|
|
858
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
888
|
+
<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">
|
|
859
889
|
<div className="text-center">
|
|
860
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
861
|
-
<StarIcon className="h-8 w-8
|
|
890
|
+
<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">
|
|
891
|
+
<StarIcon className="text-fm-icon-warning h-8 w-8" />
|
|
862
892
|
</div>
|
|
863
|
-
<div className="text-sm font-medium
|
|
864
|
-
|
|
893
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
894
|
+
Rating/Favorite
|
|
895
|
+
</div>
|
|
896
|
+
<div className="text-fm-icon-warning text-xs">text-fm-icon-warning</div>
|
|
865
897
|
</div>
|
|
866
898
|
<div className="text-center">
|
|
867
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
868
|
-
<StarIcon className="h-8 w-8
|
|
899
|
+
<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">
|
|
900
|
+
<StarIcon className="text-fm-icon-warning h-8 w-8" />
|
|
901
|
+
</div>
|
|
902
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
903
|
+
Premium/Highlight
|
|
869
904
|
</div>
|
|
870
|
-
<div className="text-
|
|
871
|
-
<div className="text-xs text-orange-400">text-orange-400</div>
|
|
905
|
+
<div className="text-fm-icon-warning text-xs">text-fm-icon-warning</div>
|
|
872
906
|
</div>
|
|
873
907
|
<div className="text-center">
|
|
874
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
875
|
-
<StarIcon className="h-8 w-8
|
|
908
|
+
<div className="border-fm-divider-primary bg-fm-surface-tertiary/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
909
|
+
<StarIcon className="text-fm-placeholder h-8 w-8" />
|
|
910
|
+
</div>
|
|
911
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
912
|
+
Inactive/Empty
|
|
876
913
|
</div>
|
|
877
|
-
<div className="text-
|
|
878
|
-
<div className="text-xs text-gray-400">text-gray-400</div>
|
|
914
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
879
915
|
</div>
|
|
880
916
|
<div className="text-center">
|
|
881
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
882
|
-
<StarIcon className="h-8 w-8
|
|
917
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
918
|
+
<StarIcon className="text-fm-tertiary h-8 w-8" />
|
|
883
919
|
</div>
|
|
884
|
-
<div className="text-sm font-medium
|
|
885
|
-
<div className="text-
|
|
920
|
+
<div className="text-fm-icon-active text-sm font-medium">Muted</div>
|
|
921
|
+
<div className="text-fm-tertiary text-xs">text-fm-tertiary</div>
|
|
886
922
|
</div>
|
|
887
923
|
</div>
|
|
888
924
|
),
|
|
@@ -899,17 +935,19 @@ export const UsageExamples: Story = {
|
|
|
899
935
|
},
|
|
900
936
|
},
|
|
901
937
|
render: () => (
|
|
902
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
938
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
903
939
|
{/* Rating System */}
|
|
904
940
|
<div className="!space-y-2">
|
|
905
|
-
<h3 className="text-sm font-medium
|
|
941
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
942
|
+
Rating System
|
|
943
|
+
</h3>
|
|
906
944
|
<div className="flex gap-1">
|
|
907
945
|
{[1, 2, 3, 4, 5].map((star) => (
|
|
908
946
|
<button
|
|
909
947
|
key={star}
|
|
910
948
|
className="p-1 transition-transform hover:scale-110"
|
|
911
949
|
>
|
|
912
|
-
<StarIcon className="h-5 w-5
|
|
950
|
+
<StarIcon className="text-fm-icon-warning h-5 w-5" />
|
|
913
951
|
</button>
|
|
914
952
|
))}
|
|
915
953
|
</div>
|
|
@@ -917,27 +955,35 @@ export const UsageExamples: Story = {
|
|
|
917
955
|
|
|
918
956
|
{/* Favorite Button */}
|
|
919
957
|
<div className="!space-y-2">
|
|
920
|
-
<h3 className="text-sm font-medium
|
|
958
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
959
|
+
Favorite Button
|
|
960
|
+
</h3>
|
|
921
961
|
<div className="flex gap-4">
|
|
922
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
962
|
+
<button className="border-fm-icon-warning/30 bg-fm-icon-warning/20 text-fm-icon-warning hover:bg-fm-icon-warning/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
923
963
|
<StarIcon className="h-4 w-4" />
|
|
924
964
|
Add to Favorites
|
|
925
965
|
</button>
|
|
926
|
-
<button className="rounded-lg p-2 transition-colors
|
|
927
|
-
<StarIcon className="h-5 w-5
|
|
966
|
+
<button className="hover:bg-fm-surface-secondary rounded-lg p-2 transition-colors">
|
|
967
|
+
<StarIcon className="text-fm-icon-warning h-5 w-5" />
|
|
928
968
|
</button>
|
|
929
969
|
</div>
|
|
930
970
|
</div>
|
|
931
971
|
|
|
932
972
|
{/* Premium Feature */}
|
|
933
973
|
<div className="!space-y-2">
|
|
934
|
-
<h3 className="text-sm font-medium
|
|
935
|
-
|
|
974
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
975
|
+
Premium Feature
|
|
976
|
+
</h3>
|
|
977
|
+
<div className="border-fm-icon-warning/30 bg-fm-icon-warning/10 rounded-lg border p-4">
|
|
936
978
|
<div className="flex items-center gap-3">
|
|
937
|
-
<StarIcon className="h-5 w-5
|
|
979
|
+
<StarIcon className="text-fm-icon-warning h-5 w-5" />
|
|
938
980
|
<div>
|
|
939
|
-
<h4 className="font-medium
|
|
940
|
-
|
|
981
|
+
<h4 className="text-fm-icon-active font-medium">
|
|
982
|
+
Premium Feature
|
|
983
|
+
</h4>
|
|
984
|
+
<p className="text-fm-secondary text-sm">
|
|
985
|
+
Unlock advanced analytics
|
|
986
|
+
</p>
|
|
941
987
|
</div>
|
|
942
988
|
</div>
|
|
943
989
|
</div>
|
|
@@ -959,11 +1005,11 @@ export const Playground: Story = {
|
|
|
959
1005
|
args: {
|
|
960
1006
|
width: 32,
|
|
961
1007
|
height: 32,
|
|
962
|
-
className: "text-
|
|
1008
|
+
className: "text-fm-icon-warning",
|
|
963
1009
|
},
|
|
964
1010
|
render: (args) => (
|
|
965
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
966
|
-
<div className="rounded-lg border
|
|
1011
|
+
<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">
|
|
1012
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
967
1013
|
<StarIcon {...args} />
|
|
968
1014
|
</div>
|
|
969
1015
|
</div>
|