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 HeadIcon> = {
|
|
|
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 HeadIcon> = {
|
|
|
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-secondary-500/10 to-fm-icon-info/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
|
-
<HeadIcon className="h-12 w-12
|
|
89
|
+
<div className="border-fm-icon-info/30 from-fm-icon-info/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
|
+
<HeadIcon className="text-fm-icon-info h-12 w-12" />
|
|
91
91
|
</div>
|
|
92
92
|
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
93
93
|
HeadIcon
|
|
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 versatile head/profile icon for user avatars, profile
|
|
97
97
|
sections, and account-related elements. Built with
|
|
98
98
|
accessibility in mind using Radix UI's AccessibleIcon
|
|
@@ -102,28 +102,28 @@ const meta: Meta<typeof HeadIcon> = {
|
|
|
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-info 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-icon-info text-3xl font-bold">
|
|
124
124
|
Flexible
|
|
125
125
|
</div>
|
|
126
|
-
<div className="text-
|
|
126
|
+
<div className="text-fm-tertiary text-sm">
|
|
127
127
|
Customizable styling
|
|
128
128
|
</div>
|
|
129
129
|
</div>
|
|
@@ -136,16 +136,16 @@ const meta: Meta<typeof HeadIcon> = {
|
|
|
136
136
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
137
137
|
{/* Quick Usage */}
|
|
138
138
|
<div className="!space-y-8">
|
|
139
|
-
<h2 className="text-center text-3xl font-bold
|
|
139
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
140
140
|
Quick Start
|
|
141
141
|
</h2>
|
|
142
142
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
143
143
|
<div className="!space-y-4">
|
|
144
|
-
<h3 className="text-xl font-semibold
|
|
144
|
+
<h3 className="text-fm-icon-info! text-xl font-semibold">
|
|
145
145
|
Basic Usage
|
|
146
146
|
</h3>
|
|
147
|
-
<div className="rounded-lg
|
|
148
|
-
<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">
|
|
149
149
|
{`import { HeadIcon } from "@icons/head-icon"
|
|
150
150
|
|
|
151
151
|
function MyComponent() {
|
|
@@ -161,13 +161,15 @@ function MyComponent() {
|
|
|
161
161
|
</div>
|
|
162
162
|
|
|
163
163
|
<div className="!space-y-4">
|
|
164
|
-
<h3 className="text-xl font-semibold
|
|
164
|
+
<h3 className="text-fm-icon-info! text-xl font-semibold">
|
|
165
165
|
Live Preview
|
|
166
166
|
</h3>
|
|
167
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
168
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
169
|
-
<HeadIcon className="h-5 w-5
|
|
170
|
-
<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-info/20 bg-fm-icon-info/10 flex items-center gap-3 rounded-lg border px-4 py-2">
|
|
169
|
+
<HeadIcon className="text-fm-icon-info h-5 w-5" />
|
|
170
|
+
<span className="text-fm-icon-active">
|
|
171
|
+
User Profile
|
|
172
|
+
</span>
|
|
171
173
|
</div>
|
|
172
174
|
</div>
|
|
173
175
|
</div>
|
|
@@ -176,108 +178,116 @@ function MyComponent() {
|
|
|
176
178
|
|
|
177
179
|
{/* Props Documentation */}
|
|
178
180
|
<div className="!space-y-8">
|
|
179
|
-
<h2 className="text-center text-3xl font-bold
|
|
181
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
180
182
|
Props & Configuration
|
|
181
183
|
</h2>
|
|
182
184
|
|
|
183
|
-
<div className="overflow-hidden rounded-lg border
|
|
184
|
-
<div className="bg-
|
|
185
|
-
<h3 className="text-xl font-semibold
|
|
185
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
186
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
187
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
188
|
+
Props
|
|
189
|
+
</h3>
|
|
186
190
|
</div>
|
|
187
191
|
<table className="!my-0 w-full">
|
|
188
|
-
<thead className="bg-
|
|
189
|
-
<tr className="border-
|
|
190
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
192
|
+
<thead className="bg-fm-surface-secondary">
|
|
193
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
194
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
191
195
|
Prop
|
|
192
196
|
</th>
|
|
193
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
197
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
194
198
|
Type
|
|
195
199
|
</th>
|
|
196
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
200
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
197
201
|
Default
|
|
198
202
|
</th>
|
|
199
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
203
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
200
204
|
Description
|
|
201
205
|
</th>
|
|
202
206
|
</tr>
|
|
203
207
|
</thead>
|
|
204
208
|
<tbody>
|
|
205
209
|
{" "}
|
|
206
|
-
<tr className="
|
|
207
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
210
|
+
<tr className="bg-fm-surface-secondary!">
|
|
211
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
208
212
|
withAccessibility
|
|
209
213
|
</td>
|
|
210
|
-
<td className="px-6 py-4 text-sm
|
|
214
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
211
215
|
boolean
|
|
212
216
|
</td>
|
|
213
|
-
<td className="px-6 py-4 text-sm
|
|
217
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
214
218
|
true
|
|
215
219
|
</td>
|
|
216
|
-
<td className="px-6 py-4 text-sm
|
|
220
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
217
221
|
Whether to wrap the icon with accessibility feature
|
|
218
222
|
</td>
|
|
219
223
|
</tr>
|
|
220
|
-
<tr className="border-
|
|
221
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
224
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
225
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
222
226
|
height
|
|
223
227
|
</td>
|
|
224
|
-
<td className="px-6 py-4 text-sm
|
|
228
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
225
229
|
number | string
|
|
226
230
|
</td>
|
|
227
|
-
<td className="px-6 py-4 text-sm
|
|
228
|
-
|
|
231
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
232
|
+
17
|
|
233
|
+
</td>
|
|
234
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
229
235
|
Height of the icon in pixels
|
|
230
236
|
</td>
|
|
231
237
|
</tr>
|
|
232
|
-
<tr className="border-
|
|
233
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
238
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
239
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
234
240
|
stroke
|
|
235
241
|
</td>
|
|
236
|
-
<td className="px-6 py-4 text-sm
|
|
242
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
237
243
|
string
|
|
238
244
|
</td>
|
|
239
|
-
<td className="px-6 py-4 text-sm
|
|
245
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
240
246
|
currentColor
|
|
241
247
|
</td>
|
|
242
|
-
<td className="px-6 py-4 text-sm
|
|
248
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
243
249
|
Stroke color of the icon
|
|
244
250
|
</td>
|
|
245
251
|
</tr>
|
|
246
|
-
<tr className="border-
|
|
247
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
252
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
253
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
248
254
|
strokeWidth
|
|
249
255
|
</td>
|
|
250
|
-
<td className="px-6 py-4 text-sm
|
|
256
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
251
257
|
number | string
|
|
252
258
|
</td>
|
|
253
|
-
<td className="px-6 py-4 text-sm
|
|
259
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
254
260
|
1.5
|
|
255
261
|
</td>
|
|
256
|
-
<td className="px-6 py-4 text-sm
|
|
262
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
257
263
|
Width of the stroke
|
|
258
264
|
</td>
|
|
259
265
|
</tr>
|
|
260
|
-
<tr className="border-
|
|
261
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
266
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
267
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
262
268
|
className
|
|
263
269
|
</td>
|
|
264
|
-
<td className="px-6 py-4 text-sm
|
|
270
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
265
271
|
string
|
|
266
272
|
</td>
|
|
267
|
-
<td className="px-6 py-4 text-sm
|
|
268
|
-
|
|
273
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
274
|
+
-
|
|
275
|
+
</td>
|
|
276
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
269
277
|
CSS classes for styling
|
|
270
278
|
</td>
|
|
271
279
|
</tr>
|
|
272
|
-
<tr className="
|
|
273
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
280
|
+
<tr className="bg-fm-surface-secondary!">
|
|
281
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
274
282
|
...svgProps
|
|
275
283
|
</td>
|
|
276
|
-
<td className="px-6 py-4 text-sm
|
|
284
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
277
285
|
SVGProps
|
|
278
286
|
</td>
|
|
279
|
-
<td className="px-6 py-4 text-sm
|
|
280
|
-
|
|
287
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
288
|
+
-
|
|
289
|
+
</td>
|
|
290
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
281
291
|
All standard SVG element props
|
|
282
292
|
</td>
|
|
283
293
|
</tr>
|
|
@@ -288,50 +298,62 @@ function MyComponent() {
|
|
|
288
298
|
|
|
289
299
|
{/* Size Variations */}
|
|
290
300
|
<div className="!space-y-8">
|
|
291
|
-
<h2 className="text-center text-3xl font-bold
|
|
301
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
292
302
|
Size Variations
|
|
293
303
|
</h2>
|
|
294
|
-
<div className="rounded-lg border
|
|
304
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
295
305
|
<div className="!space-y-6">
|
|
296
306
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
297
307
|
<div className="!space-y-4">
|
|
298
|
-
<h3 className="text-lg font-semibold
|
|
308
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
299
309
|
Standard Sizes
|
|
300
310
|
</h3>
|
|
301
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
311
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
302
312
|
<div className="text-center">
|
|
303
|
-
<HeadIcon className="!mx-auto mb-2 h-3 w-3
|
|
304
|
-
<span className="text-
|
|
313
|
+
<HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
314
|
+
<span className="text-fm-tertiary text-xs">
|
|
315
|
+
12px
|
|
316
|
+
</span>
|
|
305
317
|
</div>
|
|
306
318
|
<div className="text-center">
|
|
307
|
-
<HeadIcon className="!mx-auto mb-2 h-4 w-4
|
|
308
|
-
<span className="text-
|
|
319
|
+
<HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
320
|
+
<span className="text-fm-tertiary text-xs">
|
|
321
|
+
16px
|
|
322
|
+
</span>
|
|
309
323
|
</div>
|
|
310
324
|
<div className="text-center">
|
|
311
|
-
<HeadIcon className="!mx-auto mb-2 h-5 w-5
|
|
312
|
-
<span className="text-
|
|
325
|
+
<HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
326
|
+
<span className="text-fm-tertiary text-xs">
|
|
327
|
+
20px
|
|
328
|
+
</span>
|
|
313
329
|
</div>
|
|
314
330
|
<div className="text-center">
|
|
315
|
-
<HeadIcon className="!mx-auto mb-2 h-6 w-6
|
|
316
|
-
<span className="text-
|
|
331
|
+
<HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
332
|
+
<span className="text-fm-tertiary text-xs">
|
|
333
|
+
24px
|
|
334
|
+
</span>
|
|
317
335
|
</div>
|
|
318
336
|
<div className="text-center">
|
|
319
|
-
<HeadIcon className="!mx-auto mb-2 h-8 w-8
|
|
320
|
-
<span className="text-
|
|
337
|
+
<HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
338
|
+
<span className="text-fm-tertiary text-xs">
|
|
339
|
+
32px
|
|
340
|
+
</span>
|
|
321
341
|
</div>
|
|
322
342
|
<div className="text-center">
|
|
323
|
-
<HeadIcon className="!mx-auto mb-2 h-12 w-12
|
|
324
|
-
<span className="text-
|
|
343
|
+
<HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
344
|
+
<span className="text-fm-tertiary text-xs">
|
|
345
|
+
48px
|
|
346
|
+
</span>
|
|
325
347
|
</div>
|
|
326
348
|
</div>
|
|
327
349
|
</div>
|
|
328
350
|
|
|
329
351
|
<div className="!space-y-4">
|
|
330
|
-
<h3 className="text-lg font-semibold
|
|
352
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
331
353
|
Code Example
|
|
332
354
|
</h3>
|
|
333
|
-
<div className="rounded-lg
|
|
334
|
-
<pre className="overflow-x-auto text-sm
|
|
355
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
356
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
335
357
|
{`// Small (16px)
|
|
336
358
|
<HeadIcon className="h-4 w-4" />
|
|
337
359
|
|
|
@@ -353,56 +375,56 @@ function MyComponent() {
|
|
|
353
375
|
|
|
354
376
|
{/* Color Variations */}
|
|
355
377
|
<div className="!space-y-8">
|
|
356
|
-
<h2 className="text-center text-3xl font-bold
|
|
378
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
357
379
|
Color Variations
|
|
358
380
|
</h2>
|
|
359
381
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
360
382
|
<div className="!space-y-4">
|
|
361
|
-
<h3 className="text-lg font-semibold
|
|
383
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
362
384
|
Profile States
|
|
363
385
|
</h3>
|
|
364
|
-
<div className="!space-y-4 rounded-lg border
|
|
386
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
365
387
|
<div className="flex items-center gap-4">
|
|
366
|
-
<HeadIcon className="h-6 w-6
|
|
388
|
+
<HeadIcon className="text-fm-icon-info h-6 w-6" />
|
|
367
389
|
<div>
|
|
368
|
-
<div className="text-sm font-medium
|
|
390
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
369
391
|
Default User
|
|
370
392
|
</div>
|
|
371
|
-
<div className="text-
|
|
372
|
-
text-
|
|
393
|
+
<div className="text-fm-tertiary text-xs">
|
|
394
|
+
text-fm-icon-info
|
|
373
395
|
</div>
|
|
374
396
|
</div>
|
|
375
397
|
</div>
|
|
376
398
|
<div className="flex items-center gap-4">
|
|
377
|
-
<HeadIcon className="h-6 w-6
|
|
399
|
+
<HeadIcon className="text-fm-icon-positive h-6 w-6" />
|
|
378
400
|
<div>
|
|
379
|
-
<div className="text-sm font-medium
|
|
401
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
380
402
|
Active User
|
|
381
403
|
</div>
|
|
382
|
-
<div className="text-
|
|
383
|
-
text-
|
|
404
|
+
<div className="text-fm-tertiary text-xs">
|
|
405
|
+
text-fm-icon-positive
|
|
384
406
|
</div>
|
|
385
407
|
</div>
|
|
386
408
|
</div>
|
|
387
409
|
<div className="flex items-center gap-4">
|
|
388
|
-
<HeadIcon className="h-6 w-6
|
|
410
|
+
<HeadIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
389
411
|
<div>
|
|
390
|
-
<div className="text-sm font-medium
|
|
412
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
391
413
|
Premium User
|
|
392
414
|
</div>
|
|
393
|
-
<div className="text-
|
|
394
|
-
text-
|
|
415
|
+
<div className="text-fm-tertiary text-xs">
|
|
416
|
+
text-fm-secondary-600
|
|
395
417
|
</div>
|
|
396
418
|
</div>
|
|
397
419
|
</div>
|
|
398
420
|
<div className="flex items-center gap-4">
|
|
399
|
-
<HeadIcon className="h-6 w-6
|
|
421
|
+
<HeadIcon className="text-fm-placeholder h-6 w-6" />
|
|
400
422
|
<div>
|
|
401
|
-
<div className="text-sm font-medium
|
|
423
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
402
424
|
Inactive User
|
|
403
425
|
</div>
|
|
404
|
-
<div className="text-
|
|
405
|
-
text-
|
|
426
|
+
<div className="text-fm-tertiary text-xs">
|
|
427
|
+
text-fm-placeholder
|
|
406
428
|
</div>
|
|
407
429
|
</div>
|
|
408
430
|
</div>
|
|
@@ -410,11 +432,11 @@ function MyComponent() {
|
|
|
410
432
|
</div>
|
|
411
433
|
|
|
412
434
|
<div className="!space-y-4">
|
|
413
|
-
<h3 className="text-lg font-semibold
|
|
435
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
414
436
|
Custom Colors
|
|
415
437
|
</h3>
|
|
416
|
-
<div className="rounded-lg
|
|
417
|
-
<pre className="overflow-x-auto text-sm
|
|
438
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
439
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
418
440
|
{`// Using Tailwind classes
|
|
419
441
|
<HeadIcon className="h-6 w-6 text-blue-400" />
|
|
420
442
|
<HeadIcon className="h-6 w-6 text-purple-500" />
|
|
@@ -439,34 +461,34 @@ function MyComponent() {
|
|
|
439
461
|
|
|
440
462
|
{/* Usage Examples */}
|
|
441
463
|
<div className="!space-y-8">
|
|
442
|
-
<h2 className="text-center text-3xl font-bold
|
|
464
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
443
465
|
Usage Examples
|
|
444
466
|
</h2>
|
|
445
467
|
|
|
446
468
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
447
469
|
{/* User Profile Card */}
|
|
448
470
|
<div className="!space-y-4">
|
|
449
|
-
<h3 className="text-lg font-semibold
|
|
471
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
450
472
|
User Profile Card
|
|
451
473
|
</h3>
|
|
452
474
|
<div className="!space-y-4">
|
|
453
|
-
<div className="rounded-lg border
|
|
475
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
454
476
|
<div className="flex items-center gap-3">
|
|
455
|
-
<div className="flex h-12 w-12 items-center justify-center rounded-full border
|
|
456
|
-
<HeadIcon className="h-6 w-6
|
|
477
|
+
<div className="border-fm-icon-info/30 bg-fm-icon-info/20 flex h-12 w-12 items-center justify-center rounded-full border">
|
|
478
|
+
<HeadIcon className="text-fm-icon-info h-6 w-6" />
|
|
457
479
|
</div>
|
|
458
480
|
<div>
|
|
459
|
-
<h4 className="font-medium
|
|
481
|
+
<h4 className="text-fm-icon-active! font-medium">
|
|
460
482
|
John Doe
|
|
461
483
|
</h4>
|
|
462
|
-
<p className="text-
|
|
484
|
+
<p className="text-fm-tertiary! text-sm">
|
|
463
485
|
Software Engineer
|
|
464
486
|
</p>
|
|
465
487
|
</div>
|
|
466
488
|
</div>
|
|
467
489
|
</div>
|
|
468
|
-
<div className="rounded-lg
|
|
469
|
-
<pre className="overflow-x-auto text-sm
|
|
490
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
491
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
470
492
|
{`<div className="flex items-center gap-3">
|
|
471
493
|
<div className="flex h-12 w-12 items-center justify-center rounded-full bg-blue-500/20 border border-blue-500/30">
|
|
472
494
|
<HeadIcon className="h-6 w-6 text-blue-400" />
|
|
@@ -483,37 +505,37 @@ function MyComponent() {
|
|
|
483
505
|
|
|
484
506
|
{/* Navigation Menu */}
|
|
485
507
|
<div className="!space-y-4">
|
|
486
|
-
<h3 className="text-lg font-semibold
|
|
508
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
487
509
|
Navigation Menu
|
|
488
510
|
</h3>
|
|
489
511
|
<div className="!space-y-4">
|
|
490
|
-
<div className="rounded-lg border
|
|
512
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
491
513
|
<nav className="!space-y-2">
|
|
492
514
|
<a
|
|
493
515
|
href="#"
|
|
494
|
-
className="flex items-center gap-3 rounded-lg px-3 py-2
|
|
516
|
+
className="text-fm-secondary hover:bg-fm-surface-secondary hover:text-fm-icon-active flex items-center gap-3 rounded-lg px-3 py-2"
|
|
495
517
|
>
|
|
496
518
|
<HeadIcon className="h-5 w-5" />
|
|
497
519
|
<span>Profile</span>
|
|
498
520
|
</a>
|
|
499
521
|
<a
|
|
500
522
|
href="#"
|
|
501
|
-
className="flex items-center gap-3 rounded-lg px-3 py-2
|
|
523
|
+
className="text-fm-secondary hover:bg-fm-surface-secondary hover:text-fm-icon-active flex items-center gap-3 rounded-lg px-3 py-2"
|
|
502
524
|
>
|
|
503
525
|
<span className="h-5 w-5">⚙️</span>
|
|
504
526
|
<span>Settings</span>
|
|
505
527
|
</a>
|
|
506
528
|
<a
|
|
507
529
|
href="#"
|
|
508
|
-
className="flex items-center gap-3 rounded-lg px-3 py-2
|
|
530
|
+
className="text-fm-secondary hover:bg-fm-surface-secondary hover:text-fm-icon-active flex items-center gap-3 rounded-lg px-3 py-2"
|
|
509
531
|
>
|
|
510
532
|
<span className="h-5 w-5">📊</span>
|
|
511
533
|
<span>Analytics</span>
|
|
512
534
|
</a>
|
|
513
535
|
</nav>
|
|
514
536
|
</div>
|
|
515
|
-
<div className="rounded-lg
|
|
516
|
-
<pre className="overflow-x-auto text-sm
|
|
537
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
538
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
517
539
|
{`<nav className="space-y-2">
|
|
518
540
|
<a href="#" className="flex items-center gap-3 rounded-lg px-3 py-2 hover:bg-white/10">
|
|
519
541
|
<HeadIcon className="h-5 w-5" />
|
|
@@ -528,19 +550,19 @@ function MyComponent() {
|
|
|
528
550
|
|
|
529
551
|
{/* Account Dropdown */}
|
|
530
552
|
<div className="!space-y-4">
|
|
531
|
-
<h3 className="text-lg font-semibold
|
|
553
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
532
554
|
Account Dropdown
|
|
533
555
|
</h3>
|
|
534
556
|
<div className="!space-y-4">
|
|
535
557
|
<div className="relative inline-block">
|
|
536
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
558
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info hover:bg-fm-icon-info/30 flex items-center gap-2 rounded-lg border px-3 py-2 transition-colors">
|
|
537
559
|
<HeadIcon className="h-4 w-4" />
|
|
538
560
|
<span>My Account</span>
|
|
539
561
|
<span className="text-xs">▼</span>
|
|
540
562
|
</button>
|
|
541
563
|
</div>
|
|
542
|
-
<div className="rounded-lg
|
|
543
|
-
<pre className="overflow-x-auto text-sm
|
|
564
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
565
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
544
566
|
{`<button className="flex items-center gap-2 bg-blue-500/20 border border-blue-500/30 px-3 py-2 rounded-lg">
|
|
545
567
|
<HeadIcon className="h-4 w-4" />
|
|
546
568
|
<span>My Account</span>
|
|
@@ -553,26 +575,26 @@ function MyComponent() {
|
|
|
553
575
|
|
|
554
576
|
{/* User Status */}
|
|
555
577
|
<div className="!space-y-4">
|
|
556
|
-
<h3 className="text-lg font-semibold
|
|
578
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
557
579
|
User Status Indicator
|
|
558
580
|
</h3>
|
|
559
581
|
<div className="!space-y-4">
|
|
560
582
|
<div className="flex gap-4">
|
|
561
583
|
<div className="relative">
|
|
562
|
-
<HeadIcon className="h-8 w-8
|
|
563
|
-
<div className="absolute -right-1 -bottom-1 h-3 w-3 rounded-full border-2
|
|
584
|
+
<HeadIcon className="text-fm-icon-positive h-8 w-8" />
|
|
585
|
+
<div className="border-fm-divider-contrast bg-fm-icon-positive absolute -right-1 -bottom-1 h-3 w-3 rounded-full border-2"></div>
|
|
564
586
|
</div>
|
|
565
587
|
<div className="relative">
|
|
566
|
-
<HeadIcon className="h-8 w-8
|
|
567
|
-
<div className="absolute -right-1 -bottom-1 h-3 w-3 rounded-full border-2
|
|
588
|
+
<HeadIcon className="text-fm-icon-warning h-8 w-8" />
|
|
589
|
+
<div className="border-fm-divider-contrast bg-fm-icon-warning absolute -right-1 -bottom-1 h-3 w-3 rounded-full border-2"></div>
|
|
568
590
|
</div>
|
|
569
591
|
<div className="relative">
|
|
570
|
-
<HeadIcon className="h-8 w-8
|
|
571
|
-
<div className="absolute -right-1 -bottom-1 h-3 w-3 rounded-full border-2
|
|
592
|
+
<HeadIcon className="text-fm-placeholder h-8 w-8" />
|
|
593
|
+
<div className="border-fm-divider-contrast bg-fm-surface-tertiary absolute -right-1 -bottom-1 h-3 w-3 rounded-full border-2"></div>
|
|
572
594
|
</div>
|
|
573
595
|
</div>
|
|
574
|
-
<div className="rounded-lg
|
|
575
|
-
<pre className="overflow-x-auto text-sm
|
|
596
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
597
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
576
598
|
{`<div className="relative">
|
|
577
599
|
<HeadIcon className="h-8 w-8 text-green-400" />
|
|
578
600
|
<div className="absolute -bottom-1 -right-1 h-3 w-3 rounded-full border-2 border-gray-900 bg-green-400"></div>
|
|
@@ -586,64 +608,64 @@ function MyComponent() {
|
|
|
586
608
|
|
|
587
609
|
{/* Accessibility */}
|
|
588
610
|
<div className="!space-y-8">
|
|
589
|
-
<h2 className="text-center text-3xl font-bold
|
|
611
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
590
612
|
Accessibility Features
|
|
591
613
|
</h2>
|
|
592
614
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
593
|
-
<div className="!space-y-4 rounded-lg border
|
|
594
|
-
<h3 className="text-lg font-semibold
|
|
615
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
616
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
595
617
|
✅ Built-in Features
|
|
596
618
|
</h3>
|
|
597
|
-
<ul className="!space-y-2 text-sm
|
|
598
|
-
<li className="
|
|
619
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
620
|
+
<li className="text-fm-secondary!">
|
|
599
621
|
Uses Radix UI AccessibleIcon wrapper
|
|
600
622
|
</li>
|
|
601
|
-
<li className="
|
|
623
|
+
<li className="text-fm-secondary!">
|
|
602
624
|
Provides screen reader label "Head Icon"
|
|
603
625
|
</li>
|
|
604
|
-
<li className="
|
|
626
|
+
<li className="text-fm-secondary!">
|
|
605
627
|
Supports keyboard navigation when interactive
|
|
606
628
|
</li>
|
|
607
|
-
<li className="
|
|
629
|
+
<li className="text-fm-secondary!">
|
|
608
630
|
Maintains proper color contrast ratios
|
|
609
631
|
</li>
|
|
610
|
-
<li className="
|
|
632
|
+
<li className="text-fm-secondary!">
|
|
611
633
|
Scales with user's font size preferences
|
|
612
634
|
</li>
|
|
613
635
|
</ul>
|
|
614
636
|
</div>
|
|
615
637
|
|
|
616
|
-
<div className="!space-y-4 rounded-lg border
|
|
617
|
-
<h3 className="text-lg font-semibold
|
|
638
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
639
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
618
640
|
💡 Best Practices
|
|
619
641
|
</h3>
|
|
620
|
-
<ul className="!space-y-2 text-sm
|
|
621
|
-
<li className="
|
|
642
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
643
|
+
<li className="text-fm-secondary!">
|
|
622
644
|
Use for user profile and account contexts
|
|
623
645
|
</li>
|
|
624
|
-
<li className="
|
|
646
|
+
<li className="text-fm-secondary!">
|
|
625
647
|
Pair with user names or descriptions
|
|
626
648
|
</li>
|
|
627
|
-
<li className="
|
|
649
|
+
<li className="text-fm-secondary!">
|
|
628
650
|
Ensure sufficient color contrast
|
|
629
651
|
</li>
|
|
630
|
-
<li className="
|
|
652
|
+
<li className="text-fm-secondary!">
|
|
631
653
|
Add focus states for interactive elements
|
|
632
654
|
</li>
|
|
633
|
-
<li className="
|
|
655
|
+
<li className="text-fm-secondary!">
|
|
634
656
|
Consider adding status indicators when needed
|
|
635
657
|
</li>
|
|
636
658
|
</ul>
|
|
637
659
|
</div>
|
|
638
660
|
</div>
|
|
639
661
|
|
|
640
|
-
<div className="rounded-lg border
|
|
641
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
662
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
663
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
642
664
|
Custom Accessibility Label
|
|
643
665
|
</h3>
|
|
644
666
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
645
|
-
<div className="rounded-lg
|
|
646
|
-
<pre className="overflow-x-auto text-sm
|
|
667
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
668
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
647
669
|
{`// Custom implementation with specific label
|
|
648
670
|
import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
|
|
649
671
|
|
|
@@ -663,13 +685,13 @@ function CustomHeadIcon({ label = "User profile", ...props }) {
|
|
|
663
685
|
</pre>
|
|
664
686
|
</div>
|
|
665
687
|
<div className="!space-y-4">
|
|
666
|
-
<p className="text-
|
|
688
|
+
<p className="text-fm-secondary! text-sm">
|
|
667
689
|
For specific contexts, you can wrap the HeadIcon with a
|
|
668
690
|
custom AccessibleIcon component that provides more
|
|
669
691
|
descriptive labels.
|
|
670
692
|
</p>
|
|
671
|
-
<div className="
|
|
672
|
-
<div className="flex items-center gap-2 text-sm
|
|
693
|
+
<div className="border-fm-icon-info/20 bg-fm-icon-info/10 rounded-lg border p-4">
|
|
694
|
+
<div className="text-fm-icon-info flex items-center gap-2 text-sm">
|
|
673
695
|
<HeadIcon className="h-4 w-4" />
|
|
674
696
|
<span>
|
|
675
697
|
This approach gives screen readers more context
|
|
@@ -683,50 +705,58 @@ function CustomHeadIcon({ label = "User profile", ...props }) {
|
|
|
683
705
|
|
|
684
706
|
{/* Related Icons */}
|
|
685
707
|
<div className="!space-y-8">
|
|
686
|
-
<h2 className="text-center text-3xl font-bold
|
|
708
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
687
709
|
Related Icons
|
|
688
710
|
</h2>
|
|
689
711
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
690
|
-
<div className="!space-y-3 rounded-lg border
|
|
691
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
712
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
713
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
692
714
|
<span className="text-2xl">👥</span>
|
|
693
715
|
</div>
|
|
694
716
|
<div>
|
|
695
|
-
<div className="font-medium
|
|
696
|
-
|
|
717
|
+
<div className="text-fm-icon-active font-medium">
|
|
718
|
+
GroupIcon
|
|
719
|
+
</div>
|
|
720
|
+
<div className="text-fm-tertiary text-xs">
|
|
697
721
|
Multiple users
|
|
698
722
|
</div>
|
|
699
723
|
</div>
|
|
700
724
|
</div>
|
|
701
|
-
<div className="!space-y-3 rounded-lg border
|
|
702
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
725
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
726
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
703
727
|
<span className="text-2xl">⚙️</span>
|
|
704
728
|
</div>
|
|
705
729
|
<div>
|
|
706
|
-
<div className="font-medium
|
|
707
|
-
|
|
730
|
+
<div className="text-fm-icon-active font-medium">
|
|
731
|
+
SettingsIcon
|
|
732
|
+
</div>
|
|
733
|
+
<div className="text-fm-tertiary text-xs">
|
|
708
734
|
Account settings
|
|
709
735
|
</div>
|
|
710
736
|
</div>
|
|
711
737
|
</div>
|
|
712
|
-
<div className="!space-y-3 rounded-lg border
|
|
713
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
738
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
739
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
714
740
|
<span className="text-2xl">🔐</span>
|
|
715
741
|
</div>
|
|
716
742
|
<div>
|
|
717
|
-
<div className="font-medium
|
|
718
|
-
|
|
743
|
+
<div className="text-fm-icon-active font-medium">
|
|
744
|
+
SecurityIcon
|
|
745
|
+
</div>
|
|
746
|
+
<div className="text-fm-tertiary text-xs">
|
|
719
747
|
Security & auth
|
|
720
748
|
</div>
|
|
721
749
|
</div>
|
|
722
750
|
</div>
|
|
723
|
-
<div className="!space-y-3 rounded-lg border
|
|
724
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
751
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
752
|
+
<div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
725
753
|
<span className="text-2xl">📊</span>
|
|
726
754
|
</div>
|
|
727
755
|
<div>
|
|
728
|
-
<div className="font-medium
|
|
729
|
-
|
|
756
|
+
<div className="text-fm-icon-active font-medium">
|
|
757
|
+
StatsIcon
|
|
758
|
+
</div>
|
|
759
|
+
<div className="text-fm-tertiary text-xs">
|
|
730
760
|
User analytics
|
|
731
761
|
</div>
|
|
732
762
|
</div>
|
|
@@ -736,14 +766,14 @@ function CustomHeadIcon({ label = "User profile", ...props }) {
|
|
|
736
766
|
</div>
|
|
737
767
|
|
|
738
768
|
{/* Footer */}
|
|
739
|
-
<div className="border-
|
|
769
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
740
770
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
741
771
|
<div className="!space-y-4 text-center">
|
|
742
|
-
<p className="
|
|
772
|
+
<p className="text-fm-tertiary!">
|
|
743
773
|
HeadIcon is part of the Aural UI icon library, built with
|
|
744
774
|
accessibility and consistency in mind.
|
|
745
775
|
</p>
|
|
746
|
-
<p className="text-
|
|
776
|
+
<p className="text-fm-placeholder! text-sm">
|
|
747
777
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
748
778
|
compatibility and follow WCAG guidelines.
|
|
749
779
|
</p>
|
|
@@ -792,8 +822,8 @@ const storyParameters = {
|
|
|
792
822
|
backgrounds: {
|
|
793
823
|
default: "dark",
|
|
794
824
|
values: [
|
|
795
|
-
{ name: "dark", value: "
|
|
796
|
-
{ name: "darker", value: "
|
|
825
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
826
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
797
827
|
],
|
|
798
828
|
},
|
|
799
829
|
}
|
|
@@ -802,12 +832,12 @@ export const Default: Story = {
|
|
|
802
832
|
args: {
|
|
803
833
|
width: 24,
|
|
804
834
|
height: 24,
|
|
805
|
-
className: "text-
|
|
835
|
+
className: "text-fm-icon-info",
|
|
806
836
|
withAccessibility: true,
|
|
807
837
|
},
|
|
808
838
|
parameters: storyParameters,
|
|
809
839
|
render: (args) => (
|
|
810
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
840
|
+
<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">
|
|
811
841
|
<HeadIcon {...args} />
|
|
812
842
|
</div>
|
|
813
843
|
),
|
|
@@ -824,30 +854,30 @@ export const SizeVariations: Story = {
|
|
|
824
854
|
},
|
|
825
855
|
},
|
|
826
856
|
render: () => (
|
|
827
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
857
|
+
<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">
|
|
828
858
|
<div className="text-center">
|
|
829
|
-
<HeadIcon className="!mx-auto mb-2 h-3 w-3
|
|
830
|
-
<span className="text-
|
|
859
|
+
<HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
860
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
831
861
|
</div>
|
|
832
862
|
<div className="text-center">
|
|
833
|
-
<HeadIcon className="!mx-auto mb-2 h-4 w-4
|
|
834
|
-
<span className="text-
|
|
863
|
+
<HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
864
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
835
865
|
</div>
|
|
836
866
|
<div className="text-center">
|
|
837
|
-
<HeadIcon className="!mx-auto mb-2 h-5 w-5
|
|
838
|
-
<span className="text-
|
|
867
|
+
<HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
868
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
839
869
|
</div>
|
|
840
870
|
<div className="text-center">
|
|
841
|
-
<HeadIcon className="!mx-auto mb-2 h-6 w-6
|
|
842
|
-
<span className="text-
|
|
871
|
+
<HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
872
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
843
873
|
</div>
|
|
844
874
|
<div className="text-center">
|
|
845
|
-
<HeadIcon className="!mx-auto mb-2 h-8 w-8
|
|
846
|
-
<span className="text-
|
|
875
|
+
<HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
876
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
847
877
|
</div>
|
|
848
878
|
<div className="text-center">
|
|
849
|
-
<HeadIcon className="!mx-auto mb-2 h-12 w-12
|
|
850
|
-
<span className="text-
|
|
879
|
+
<HeadIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
880
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
851
881
|
</div>
|
|
852
882
|
</div>
|
|
853
883
|
),
|
|
@@ -864,34 +894,38 @@ export const ColorVariations: Story = {
|
|
|
864
894
|
},
|
|
865
895
|
},
|
|
866
896
|
render: () => (
|
|
867
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
897
|
+
<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">
|
|
868
898
|
<div className="text-center">
|
|
869
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
870
|
-
<HeadIcon className="h-8 w-8
|
|
899
|
+
<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">
|
|
900
|
+
<HeadIcon className="text-fm-icon-info h-8 w-8" />
|
|
871
901
|
</div>
|
|
872
|
-
<div className="text-sm font-medium
|
|
873
|
-
<div className="text-
|
|
902
|
+
<div className="text-fm-icon-active text-sm font-medium">Default</div>
|
|
903
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
874
904
|
</div>
|
|
875
905
|
<div className="text-center">
|
|
876
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
877
|
-
<HeadIcon className="h-8 w-8
|
|
906
|
+
<div className="border-fm-icon-positive/30 bg-fm-icon-positive/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
907
|
+
<HeadIcon className="text-fm-icon-positive h-8 w-8" />
|
|
908
|
+
</div>
|
|
909
|
+
<div className="text-fm-icon-active text-sm font-medium">Active</div>
|
|
910
|
+
<div className="text-fm-icon-positive text-xs">
|
|
911
|
+
text-fm-icon-positive
|
|
878
912
|
</div>
|
|
879
|
-
<div className="text-sm font-medium text-white">Active</div>
|
|
880
|
-
<div className="text-xs text-green-400">text-green-400</div>
|
|
881
913
|
</div>
|
|
882
914
|
<div className="text-center">
|
|
883
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
884
|
-
<HeadIcon className="h-8 w-8
|
|
915
|
+
<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">
|
|
916
|
+
<HeadIcon className="text-fm-secondary-600 h-8 w-8" />
|
|
917
|
+
</div>
|
|
918
|
+
<div className="text-fm-icon-active text-sm font-medium">Premium</div>
|
|
919
|
+
<div className="text-fm-secondary-600 text-xs">
|
|
920
|
+
text-fm-secondary-600
|
|
885
921
|
</div>
|
|
886
|
-
<div className="text-sm font-medium text-white">Premium</div>
|
|
887
|
-
<div className="text-xs text-purple-400">text-purple-400</div>
|
|
888
922
|
</div>
|
|
889
923
|
<div className="text-center">
|
|
890
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
891
|
-
<HeadIcon className="h-8 w-8
|
|
924
|
+
<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">
|
|
925
|
+
<HeadIcon className="text-fm-placeholder h-8 w-8" />
|
|
892
926
|
</div>
|
|
893
|
-
<div className="text-sm font-medium
|
|
894
|
-
<div className="text-
|
|
927
|
+
<div className="text-fm-icon-active text-sm font-medium">Inactive</div>
|
|
928
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
895
929
|
</div>
|
|
896
930
|
</div>
|
|
897
931
|
),
|
|
@@ -908,18 +942,20 @@ export const UsageExamples: Story = {
|
|
|
908
942
|
},
|
|
909
943
|
},
|
|
910
944
|
render: () => (
|
|
911
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
945
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
912
946
|
{/* User Profile Card */}
|
|
913
947
|
<div className="!space-y-2">
|
|
914
|
-
<h3 className="text-sm font-medium
|
|
915
|
-
|
|
948
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
949
|
+
User Profile Card
|
|
950
|
+
</h3>
|
|
951
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
916
952
|
<div className="flex items-center gap-3">
|
|
917
|
-
<div className="flex h-12 w-12 items-center justify-center rounded-full border
|
|
918
|
-
<HeadIcon className="h-6 w-6
|
|
953
|
+
<div className="border-fm-icon-info/30 bg-fm-icon-info/20 flex h-12 w-12 items-center justify-center rounded-full border">
|
|
954
|
+
<HeadIcon className="text-fm-icon-info h-6 w-6" />
|
|
919
955
|
</div>
|
|
920
956
|
<div>
|
|
921
|
-
<h4 className="font-medium
|
|
922
|
-
<p className="text-
|
|
957
|
+
<h4 className="text-fm-icon-active font-medium">John Doe</h4>
|
|
958
|
+
<p className="text-fm-tertiary text-sm">Software Engineer</p>
|
|
923
959
|
</div>
|
|
924
960
|
</div>
|
|
925
961
|
</div>
|
|
@@ -927,19 +963,21 @@ export const UsageExamples: Story = {
|
|
|
927
963
|
|
|
928
964
|
{/* Navigation Menu */}
|
|
929
965
|
<div className="!space-y-2">
|
|
930
|
-
<h3 className="text-sm font-medium
|
|
931
|
-
|
|
966
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
967
|
+
Navigation Menu
|
|
968
|
+
</h3>
|
|
969
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
932
970
|
<nav className="!space-y-2">
|
|
933
971
|
<a
|
|
934
972
|
href="#"
|
|
935
|
-
className="flex items-center gap-3 rounded-lg px-3 py-2
|
|
973
|
+
className="text-fm-secondary hover:bg-fm-surface-secondary hover:text-fm-icon-active flex items-center gap-3 rounded-lg px-3 py-2"
|
|
936
974
|
>
|
|
937
975
|
<HeadIcon className="h-5 w-5" />
|
|
938
976
|
<span>Profile</span>
|
|
939
977
|
</a>
|
|
940
978
|
<a
|
|
941
979
|
href="#"
|
|
942
|
-
className="flex items-center gap-3 rounded-lg px-3 py-2
|
|
980
|
+
className="text-fm-secondary hover:bg-fm-surface-secondary hover:text-fm-icon-active flex items-center gap-3 rounded-lg px-3 py-2"
|
|
943
981
|
>
|
|
944
982
|
<span className="h-5 w-5">⚙️</span>
|
|
945
983
|
<span>Settings</span>
|
|
@@ -950,9 +988,11 @@ export const UsageExamples: Story = {
|
|
|
950
988
|
|
|
951
989
|
{/* Account Dropdown */}
|
|
952
990
|
<div className="!space-y-2">
|
|
953
|
-
<h3 className="text-sm font-medium
|
|
991
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
992
|
+
Account Dropdown
|
|
993
|
+
</h3>
|
|
954
994
|
<div className="flex gap-4">
|
|
955
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
995
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info hover:bg-fm-icon-info/30 flex items-center gap-2 rounded-lg border px-3 py-2 transition-colors">
|
|
956
996
|
<HeadIcon className="h-4 w-4" />
|
|
957
997
|
<span>My Account</span>
|
|
958
998
|
<span className="text-xs">▼</span>
|
|
@@ -976,12 +1016,12 @@ export const Playground: Story = {
|
|
|
976
1016
|
args: {
|
|
977
1017
|
width: 32,
|
|
978
1018
|
height: 32,
|
|
979
|
-
className: "text-
|
|
1019
|
+
className: "text-fm-icon-info",
|
|
980
1020
|
strokeWidth: 1.5,
|
|
981
1021
|
},
|
|
982
1022
|
render: (args) => (
|
|
983
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
984
|
-
<div className="rounded-lg border
|
|
1023
|
+
<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">
|
|
1024
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
985
1025
|
<HeadIcon {...args} />
|
|
986
1026
|
</div>
|
|
987
1027
|
</div>
|