aural-ui 3.0.6 → 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/clamp-lines/ClampLines.stories.tsx +25 -0
- package/dist/components/clamp-lines/index.tsx +6 -1
- 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/input/index.tsx +2 -0
- 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 SettingIcon> = {
|
|
|
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 SettingIcon> = {
|
|
|
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="from-fm-surface-primary via-fm-icon-info/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
|
|
84
84
|
{/* Header */}
|
|
85
|
-
<div className="relative overflow-hidden border-b
|
|
86
|
-
<div className="absolute inset-0 bg-
|
|
85
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
|
|
86
|
+
<div className="from-fm-icon-info/10 to-fm-secondary-500/10 absolute inset-0 bg-linear-to-r via-transparent" />
|
|
87
87
|
<div className="relative !mx-auto max-w-7xl px-6 py-16">
|
|
88
88
|
<div className="!space-y-6 text-center">
|
|
89
|
-
<div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border
|
|
90
|
-
<SettingIcon 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
|
+
<SettingIcon 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
|
SettingIcon
|
|
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 settings icon for configuration panels, user
|
|
97
97
|
preferences, and system controls. Built with accessibility
|
|
98
98
|
in mind using Radix UI's AccessibleIcon wrapper.
|
|
@@ -101,28 +101,28 @@ const meta: Meta<typeof SettingIcon> = {
|
|
|
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-info text-3xl font-bold">
|
|
105
105
|
Accessible
|
|
106
106
|
</div>
|
|
107
|
-
<div className="text-
|
|
107
|
+
<div className="text-fm-tertiary text-sm">
|
|
108
108
|
Screen reader friendly
|
|
109
109
|
</div>
|
|
110
110
|
</div>
|
|
111
|
-
<div className="h-8 w-px
|
|
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-secondary-600 text-3xl font-bold">
|
|
114
114
|
Scalable
|
|
115
115
|
</div>
|
|
116
|
-
<div className="text-
|
|
116
|
+
<div className="text-fm-tertiary text-sm">
|
|
117
117
|
Any size needed
|
|
118
118
|
</div>
|
|
119
119
|
</div>
|
|
120
|
-
<div className="h-8 w-px
|
|
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-info text-3xl font-bold">
|
|
123
123
|
Flexible
|
|
124
124
|
</div>
|
|
125
|
-
<div className="text-
|
|
125
|
+
<div className="text-fm-tertiary text-sm">
|
|
126
126
|
Customizable styling
|
|
127
127
|
</div>
|
|
128
128
|
</div>
|
|
@@ -135,16 +135,16 @@ const meta: Meta<typeof SettingIcon> = {
|
|
|
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-info! 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 { SettingIcon } from "@icons/setting-icon"
|
|
149
149
|
|
|
150
150
|
function MyComponent() {
|
|
@@ -160,13 +160,13 @@ function MyComponent() {
|
|
|
160
160
|
</div>
|
|
161
161
|
|
|
162
162
|
<div className="!space-y-4">
|
|
163
|
-
<h3 className="text-xl font-semibold
|
|
163
|
+
<h3 className="text-fm-icon-info! text-xl font-semibold">
|
|
164
164
|
Live Preview
|
|
165
165
|
</h3>
|
|
166
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
167
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
168
|
-
<SettingIcon className="h-5 w-5
|
|
169
|
-
<span className="text-
|
|
166
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
167
|
+
<div className="border-fm-icon-info/20 bg-fm-icon-info/10 flex items-center gap-3 rounded-lg border px-4 py-2">
|
|
168
|
+
<SettingIcon className="text-fm-icon-info h-5 w-5" />
|
|
169
|
+
<span className="text-fm-icon-active">Settings</span>
|
|
170
170
|
</div>
|
|
171
171
|
</div>
|
|
172
172
|
</div>
|
|
@@ -175,108 +175,116 @@ function MyComponent() {
|
|
|
175
175
|
|
|
176
176
|
{/* Props Documentation */}
|
|
177
177
|
<div className="!space-y-8">
|
|
178
|
-
<h2 className="text-center text-3xl font-bold
|
|
178
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
179
179
|
Props & Configuration
|
|
180
180
|
</h2>
|
|
181
181
|
|
|
182
|
-
<div className="overflow-hidden rounded-lg border
|
|
183
|
-
<div className="bg-
|
|
184
|
-
<h3 className="text-xl font-semibold
|
|
182
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
183
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
184
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
185
|
+
Props
|
|
186
|
+
</h3>
|
|
185
187
|
</div>
|
|
186
188
|
<table className="!my-0 w-full">
|
|
187
|
-
<thead className="bg-
|
|
188
|
-
<tr className="border-
|
|
189
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
189
|
+
<thead className="bg-fm-surface-secondary">
|
|
190
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
191
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
190
192
|
Prop
|
|
191
193
|
</th>
|
|
192
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
194
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
193
195
|
Type
|
|
194
196
|
</th>
|
|
195
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
197
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
196
198
|
Default
|
|
197
199
|
</th>
|
|
198
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
200
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
199
201
|
Description
|
|
200
202
|
</th>
|
|
201
203
|
</tr>
|
|
202
204
|
</thead>
|
|
203
205
|
<tbody>
|
|
204
206
|
{" "}
|
|
205
|
-
<tr className="
|
|
206
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
207
|
+
<tr className="bg-fm-surface-secondary!">
|
|
208
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
207
209
|
withAccessibility
|
|
208
210
|
</td>
|
|
209
|
-
<td className="px-6 py-4 text-sm
|
|
211
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
210
212
|
boolean
|
|
211
213
|
</td>
|
|
212
|
-
<td className="px-6 py-4 text-sm
|
|
214
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
213
215
|
true
|
|
214
216
|
</td>
|
|
215
|
-
<td className="px-6 py-4 text-sm
|
|
217
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
216
218
|
Whether to wrap the icon with accessibility feature
|
|
217
219
|
</td>
|
|
218
220
|
</tr>
|
|
219
|
-
<tr className="border-
|
|
220
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
221
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
222
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
221
223
|
height
|
|
222
224
|
</td>
|
|
223
|
-
<td className="px-6 py-4 text-sm
|
|
225
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
224
226
|
number | string
|
|
225
227
|
</td>
|
|
226
|
-
<td className="px-6 py-4 text-sm
|
|
227
|
-
|
|
228
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
229
|
+
12
|
|
230
|
+
</td>
|
|
231
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
228
232
|
Height of the icon in pixels
|
|
229
233
|
</td>
|
|
230
234
|
</tr>
|
|
231
|
-
<tr className="border-
|
|
232
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
235
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
236
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
233
237
|
stroke
|
|
234
238
|
</td>
|
|
235
|
-
<td className="px-6 py-4 text-sm
|
|
239
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
236
240
|
string
|
|
237
241
|
</td>
|
|
238
|
-
<td className="px-6 py-4 text-sm
|
|
242
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
239
243
|
currentColor
|
|
240
244
|
</td>
|
|
241
|
-
<td className="px-6 py-4 text-sm
|
|
245
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
242
246
|
Stroke color of the icon
|
|
243
247
|
</td>
|
|
244
248
|
</tr>
|
|
245
|
-
<tr className="border-
|
|
246
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
249
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
250
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
247
251
|
strokeWidth
|
|
248
252
|
</td>
|
|
249
|
-
<td className="px-6 py-4 text-sm
|
|
253
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
250
254
|
number | string
|
|
251
255
|
</td>
|
|
252
|
-
<td className="px-6 py-4 text-sm
|
|
256
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
253
257
|
0.75
|
|
254
258
|
</td>
|
|
255
|
-
<td className="px-6 py-4 text-sm
|
|
259
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
256
260
|
Width of the stroke lines
|
|
257
261
|
</td>
|
|
258
262
|
</tr>
|
|
259
|
-
<tr className="border-
|
|
260
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
263
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
264
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
261
265
|
className
|
|
262
266
|
</td>
|
|
263
|
-
<td className="px-6 py-4 text-sm
|
|
267
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
264
268
|
string
|
|
265
269
|
</td>
|
|
266
|
-
<td className="px-6 py-4 text-sm
|
|
267
|
-
|
|
270
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
271
|
+
-
|
|
272
|
+
</td>
|
|
273
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
268
274
|
CSS classes for styling
|
|
269
275
|
</td>
|
|
270
276
|
</tr>
|
|
271
|
-
<tr className="
|
|
272
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
277
|
+
<tr className="bg-fm-surface-secondary!">
|
|
278
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
273
279
|
...svgProps
|
|
274
280
|
</td>
|
|
275
|
-
<td className="px-6 py-4 text-sm
|
|
281
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
276
282
|
SVGProps
|
|
277
283
|
</td>
|
|
278
|
-
<td className="px-6 py-4 text-sm
|
|
279
|
-
|
|
284
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
285
|
+
-
|
|
286
|
+
</td>
|
|
287
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
280
288
|
All standard SVG element props
|
|
281
289
|
</td>
|
|
282
290
|
</tr>
|
|
@@ -287,50 +295,62 @@ function MyComponent() {
|
|
|
287
295
|
|
|
288
296
|
{/* Size Variations */}
|
|
289
297
|
<div className="!space-y-8">
|
|
290
|
-
<h2 className="text-center text-3xl font-bold
|
|
298
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
291
299
|
Size Variations
|
|
292
300
|
</h2>
|
|
293
|
-
<div className="rounded-lg border
|
|
301
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
294
302
|
<div className="!space-y-6">
|
|
295
303
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
296
304
|
<div className="!space-y-4">
|
|
297
|
-
<h3 className="text-lg font-semibold
|
|
305
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
298
306
|
Standard Sizes
|
|
299
307
|
</h3>
|
|
300
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
308
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
301
309
|
<div className="text-center">
|
|
302
|
-
<SettingIcon className="!mx-auto mb-2 h-3 w-3
|
|
303
|
-
<span className="text-
|
|
310
|
+
<SettingIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
311
|
+
<span className="text-fm-tertiary text-xs">
|
|
312
|
+
12px
|
|
313
|
+
</span>
|
|
304
314
|
</div>
|
|
305
315
|
<div className="text-center">
|
|
306
|
-
<SettingIcon className="!mx-auto mb-2 h-4 w-4
|
|
307
|
-
<span className="text-
|
|
316
|
+
<SettingIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
317
|
+
<span className="text-fm-tertiary text-xs">
|
|
318
|
+
16px
|
|
319
|
+
</span>
|
|
308
320
|
</div>
|
|
309
321
|
<div className="text-center">
|
|
310
|
-
<SettingIcon className="!mx-auto mb-2 h-5 w-5
|
|
311
|
-
<span className="text-
|
|
322
|
+
<SettingIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
323
|
+
<span className="text-fm-tertiary text-xs">
|
|
324
|
+
20px
|
|
325
|
+
</span>
|
|
312
326
|
</div>
|
|
313
327
|
<div className="text-center">
|
|
314
|
-
<SettingIcon className="!mx-auto mb-2 h-6 w-6
|
|
315
|
-
<span className="text-
|
|
328
|
+
<SettingIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
329
|
+
<span className="text-fm-tertiary text-xs">
|
|
330
|
+
24px
|
|
331
|
+
</span>
|
|
316
332
|
</div>
|
|
317
333
|
<div className="text-center">
|
|
318
|
-
<SettingIcon className="!mx-auto mb-2 h-8 w-8
|
|
319
|
-
<span className="text-
|
|
334
|
+
<SettingIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
335
|
+
<span className="text-fm-tertiary text-xs">
|
|
336
|
+
32px
|
|
337
|
+
</span>
|
|
320
338
|
</div>
|
|
321
339
|
<div className="text-center">
|
|
322
|
-
<SettingIcon className="!mx-auto mb-2 h-12 w-12
|
|
323
|
-
<span className="text-
|
|
340
|
+
<SettingIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
341
|
+
<span className="text-fm-tertiary text-xs">
|
|
342
|
+
48px
|
|
343
|
+
</span>
|
|
324
344
|
</div>
|
|
325
345
|
</div>
|
|
326
346
|
</div>
|
|
327
347
|
|
|
328
348
|
<div className="!space-y-4">
|
|
329
|
-
<h3 className="text-lg font-semibold
|
|
349
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
330
350
|
Code Example
|
|
331
351
|
</h3>
|
|
332
|
-
<div className="rounded-lg
|
|
333
|
-
<pre className="overflow-x-auto text-sm
|
|
352
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
353
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
334
354
|
{`// Small (16px)
|
|
335
355
|
<SettingIcon className="h-4 w-4" />
|
|
336
356
|
|
|
@@ -352,56 +372,56 @@ function MyComponent() {
|
|
|
352
372
|
|
|
353
373
|
{/* Color Variations */}
|
|
354
374
|
<div className="!space-y-8">
|
|
355
|
-
<h2 className="text-center text-3xl font-bold
|
|
375
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
356
376
|
Color Variations
|
|
357
377
|
</h2>
|
|
358
378
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
359
379
|
<div className="!space-y-4">
|
|
360
|
-
<h3 className="text-lg font-semibold
|
|
380
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
361
381
|
Theme Colors
|
|
362
382
|
</h3>
|
|
363
|
-
<div className="!space-y-4 rounded-lg border
|
|
383
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
364
384
|
<div className="flex items-center gap-4">
|
|
365
|
-
<SettingIcon className="h-6 w-6
|
|
385
|
+
<SettingIcon className="text-fm-icon-info h-6 w-6" />
|
|
366
386
|
<div>
|
|
367
|
-
<div className="text-sm font-medium
|
|
387
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
368
388
|
Primary
|
|
369
389
|
</div>
|
|
370
|
-
<div className="text-
|
|
371
|
-
text-
|
|
390
|
+
<div className="text-fm-tertiary text-xs">
|
|
391
|
+
text-fm-icon-info
|
|
372
392
|
</div>
|
|
373
393
|
</div>
|
|
374
394
|
</div>
|
|
375
395
|
<div className="flex items-center gap-4">
|
|
376
|
-
<SettingIcon className="h-6 w-6
|
|
396
|
+
<SettingIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
377
397
|
<div>
|
|
378
|
-
<div className="text-sm font-medium
|
|
398
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
379
399
|
Secondary
|
|
380
400
|
</div>
|
|
381
|
-
<div className="text-
|
|
382
|
-
text-
|
|
401
|
+
<div className="text-fm-tertiary text-xs">
|
|
402
|
+
text-fm-secondary-600
|
|
383
403
|
</div>
|
|
384
404
|
</div>
|
|
385
405
|
</div>
|
|
386
406
|
<div className="flex items-center gap-4">
|
|
387
|
-
<SettingIcon className="h-6 w-6
|
|
407
|
+
<SettingIcon className="text-fm-placeholder h-6 w-6" />
|
|
388
408
|
<div>
|
|
389
|
-
<div className="text-sm font-medium
|
|
409
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
390
410
|
Neutral
|
|
391
411
|
</div>
|
|
392
|
-
<div className="text-
|
|
393
|
-
text-
|
|
412
|
+
<div className="text-fm-tertiary text-xs">
|
|
413
|
+
text-fm-placeholder
|
|
394
414
|
</div>
|
|
395
415
|
</div>
|
|
396
416
|
</div>
|
|
397
417
|
<div className="flex items-center gap-4">
|
|
398
|
-
<SettingIcon className="h-6 w-6
|
|
418
|
+
<SettingIcon className="text-fm-icon-active h-6 w-6" />
|
|
399
419
|
<div>
|
|
400
|
-
<div className="text-sm font-medium
|
|
420
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
401
421
|
Light
|
|
402
422
|
</div>
|
|
403
|
-
<div className="text-
|
|
404
|
-
text-
|
|
423
|
+
<div className="text-fm-tertiary text-xs">
|
|
424
|
+
text-fm-icon-active
|
|
405
425
|
</div>
|
|
406
426
|
</div>
|
|
407
427
|
</div>
|
|
@@ -409,11 +429,11 @@ function MyComponent() {
|
|
|
409
429
|
</div>
|
|
410
430
|
|
|
411
431
|
<div className="!space-y-4">
|
|
412
|
-
<h3 className="text-lg font-semibold
|
|
432
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
413
433
|
Custom Colors
|
|
414
434
|
</h3>
|
|
415
|
-
<div className="rounded-lg
|
|
416
|
-
<pre className="overflow-x-auto text-sm
|
|
435
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
436
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
417
437
|
{`// Using Tailwind classes
|
|
418
438
|
<SettingIcon className="h-6 w-6 text-blue-400" />
|
|
419
439
|
<SettingIcon className="h-6 w-6 text-purple-500" />
|
|
@@ -438,37 +458,41 @@ function MyComponent() {
|
|
|
438
458
|
|
|
439
459
|
{/* Usage Examples */}
|
|
440
460
|
<div className="!space-y-8">
|
|
441
|
-
<h2 className="text-center text-3xl font-bold
|
|
461
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
442
462
|
Usage Examples
|
|
443
463
|
</h2>
|
|
444
464
|
|
|
445
465
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
446
466
|
{/* Settings Menu */}
|
|
447
467
|
<div className="!space-y-4">
|
|
448
|
-
<h3 className="text-lg font-semibold
|
|
468
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
449
469
|
Settings Menu
|
|
450
470
|
</h3>
|
|
451
471
|
<div className="!space-y-4">
|
|
452
|
-
<div className="rounded-lg border
|
|
472
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
453
473
|
<div className="!space-y-3">
|
|
454
|
-
<div className="flex items-center gap-3 rounded-lg p-2
|
|
455
|
-
<SettingIcon className="h-5 w-5
|
|
456
|
-
<span className="text-
|
|
474
|
+
<div className="hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg p-2">
|
|
475
|
+
<SettingIcon className="text-fm-icon-info h-5 w-5" />
|
|
476
|
+
<span className="text-fm-icon-active">
|
|
477
|
+
General Settings
|
|
478
|
+
</span>
|
|
457
479
|
</div>
|
|
458
|
-
<div className="flex items-center gap-3 rounded-lg p-2
|
|
459
|
-
<SettingIcon className="h-5 w-5
|
|
460
|
-
<span className="text-
|
|
480
|
+
<div className="hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg p-2">
|
|
481
|
+
<SettingIcon className="text-fm-secondary-600 h-5 w-5" />
|
|
482
|
+
<span className="text-fm-icon-active">
|
|
461
483
|
Privacy & Security
|
|
462
484
|
</span>
|
|
463
485
|
</div>
|
|
464
|
-
<div className="flex items-center gap-3 rounded-lg p-2
|
|
465
|
-
<SettingIcon className="h-5 w-5
|
|
466
|
-
<span className="text-
|
|
486
|
+
<div className="hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg p-2">
|
|
487
|
+
<SettingIcon className="text-fm-placeholder h-5 w-5" />
|
|
488
|
+
<span className="text-fm-icon-active">
|
|
489
|
+
Notifications
|
|
490
|
+
</span>
|
|
467
491
|
</div>
|
|
468
492
|
</div>
|
|
469
493
|
</div>
|
|
470
|
-
<div className="rounded-lg
|
|
471
|
-
<pre className="overflow-x-auto text-sm
|
|
494
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
495
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
472
496
|
{`<div className="space-y-3">
|
|
473
497
|
{settingsItems.map((item) => (
|
|
474
498
|
<div key={item.id} className="flex items-center gap-3 p-2 rounded-lg hover:bg-white/5">
|
|
@@ -484,21 +508,21 @@ function MyComponent() {
|
|
|
484
508
|
|
|
485
509
|
{/* Settings Button */}
|
|
486
510
|
<div className="!space-y-4">
|
|
487
|
-
<h3 className="text-lg font-semibold
|
|
511
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
488
512
|
Settings Button
|
|
489
513
|
</h3>
|
|
490
514
|
<div className="!space-y-4">
|
|
491
515
|
<div className="flex gap-4">
|
|
492
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
516
|
+
<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-4 py-2 transition-colors">
|
|
493
517
|
<SettingIcon className="h-4 w-4" />
|
|
494
518
|
Settings
|
|
495
519
|
</button>
|
|
496
|
-
<button className="flex h-10 w-10 items-center justify-center rounded-lg border
|
|
520
|
+
<button className="border-fm-divider-primary bg-fm-surface-tertiary/20 text-fm-secondary hover:bg-fm-surface-tertiary/30 flex h-10 w-10 items-center justify-center rounded-lg border transition-colors">
|
|
497
521
|
<SettingIcon className="h-5 w-5" />
|
|
498
522
|
</button>
|
|
499
523
|
</div>
|
|
500
|
-
<div className="rounded-lg
|
|
501
|
-
<pre className="overflow-x-auto text-sm
|
|
524
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
525
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
502
526
|
{`// Settings button with text
|
|
503
527
|
<button className="flex items-center gap-2 bg-blue-500/20 border border-blue-500/30 px-4 py-2 rounded-lg">
|
|
504
528
|
<SettingIcon className="h-4 w-4" />
|
|
@@ -516,26 +540,26 @@ function MyComponent() {
|
|
|
516
540
|
|
|
517
541
|
{/* Toolbar Integration */}
|
|
518
542
|
<div className="!space-y-4">
|
|
519
|
-
<h3 className="text-lg font-semibold
|
|
543
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
520
544
|
Toolbar Integration
|
|
521
545
|
</h3>
|
|
522
546
|
<div className="!space-y-4">
|
|
523
|
-
<div className="flex items-center gap-2 rounded-lg border
|
|
524
|
-
<button className="rounded p-1.5
|
|
547
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-2 rounded-lg border p-3">
|
|
548
|
+
<button className="hover:bg-fm-surface-secondary rounded p-1.5">
|
|
525
549
|
<span className="sr-only">Home</span>
|
|
526
550
|
<span className="text-lg">🏠</span>
|
|
527
551
|
</button>
|
|
528
|
-
<button className="rounded p-1.5
|
|
552
|
+
<button className="hover:bg-fm-surface-secondary rounded p-1.5">
|
|
529
553
|
<span className="sr-only">Search</span>
|
|
530
554
|
<span className="text-lg">🔍</span>
|
|
531
555
|
</button>
|
|
532
|
-
<div className="h-4 w-px
|
|
533
|
-
<button className="rounded p-1.5
|
|
534
|
-
<SettingIcon className="h-4 w-4
|
|
556
|
+
<div className="bg-fm-divider-primary h-4 w-px"></div>
|
|
557
|
+
<button className="hover:bg-fm-surface-secondary rounded p-1.5">
|
|
558
|
+
<SettingIcon className="text-fm-icon-active h-4 w-4" />
|
|
535
559
|
</button>
|
|
536
560
|
</div>
|
|
537
|
-
<div className="rounded-lg
|
|
538
|
-
<pre className="overflow-x-auto text-sm
|
|
561
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
562
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
539
563
|
{`<div className="flex items-center gap-2 bg-white/5 border border-white/10 p-3 rounded-lg">
|
|
540
564
|
<button className="p-1.5 rounded hover:bg-white/10">
|
|
541
565
|
<HomeIcon className="h-4 w-4 text-white" />
|
|
@@ -555,13 +579,13 @@ function MyComponent() {
|
|
|
555
579
|
|
|
556
580
|
{/* Dropdown Menu */}
|
|
557
581
|
<div className="!space-y-4">
|
|
558
|
-
<h3 className="text-lg font-semibold
|
|
582
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
559
583
|
Dropdown Menu
|
|
560
584
|
</h3>
|
|
561
585
|
<div className="!space-y-4">
|
|
562
586
|
<div className="inline-block">
|
|
563
587
|
<div className="relative">
|
|
564
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
588
|
+
<button className="border-fm-divider-primary bg-fm-surface-secondary text-fm-icon-active flex items-center gap-2 rounded-lg border px-3 py-2">
|
|
565
589
|
Account
|
|
566
590
|
<svg
|
|
567
591
|
className="h-4 w-4"
|
|
@@ -577,25 +601,25 @@ function MyComponent() {
|
|
|
577
601
|
/>
|
|
578
602
|
</svg>
|
|
579
603
|
</button>
|
|
580
|
-
<div className="absolute top-full right-0 mt-1 w-48 rounded-lg border
|
|
604
|
+
<div className="border-fm-divider-secondary bg-fm-surface-tertiary absolute top-full right-0 mt-1 w-48 rounded-lg border py-1 shadow-lg">
|
|
581
605
|
<a
|
|
582
606
|
href="#"
|
|
583
|
-
className="flex items-center gap-3 px-4 py-2 text-sm
|
|
607
|
+
className="text-fm-icon-active hover:bg-fm-surface-secondary flex items-center gap-3 px-4 py-2 text-sm"
|
|
584
608
|
>
|
|
585
609
|
<span className="text-lg">👤</span>
|
|
586
610
|
Profile
|
|
587
611
|
</a>
|
|
588
612
|
<a
|
|
589
613
|
href="#"
|
|
590
|
-
className="flex items-center gap-3 px-4 py-2 text-sm
|
|
614
|
+
className="text-fm-icon-active hover:bg-fm-surface-secondary flex items-center gap-3 px-4 py-2 text-sm"
|
|
591
615
|
>
|
|
592
|
-
<SettingIcon className="h-4 w-4
|
|
616
|
+
<SettingIcon className="text-fm-icon-info h-4 w-4" />
|
|
593
617
|
Settings
|
|
594
618
|
</a>
|
|
595
|
-
<hr className="my-1
|
|
619
|
+
<hr className="border-fm-divider-secondary my-1" />
|
|
596
620
|
<a
|
|
597
621
|
href="#"
|
|
598
|
-
className="flex items-center gap-3 px-4 py-2 text-sm
|
|
622
|
+
className="text-fm-icon-active hover:bg-fm-surface-secondary flex items-center gap-3 px-4 py-2 text-sm"
|
|
599
623
|
>
|
|
600
624
|
<span className="text-lg">🚪</span>
|
|
601
625
|
Sign out
|
|
@@ -603,8 +627,8 @@ function MyComponent() {
|
|
|
603
627
|
</div>
|
|
604
628
|
</div>
|
|
605
629
|
</div>
|
|
606
|
-
<div className="rounded-lg
|
|
607
|
-
<pre className="overflow-x-auto text-sm
|
|
630
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
631
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
608
632
|
{`<div className="dropdown-menu">
|
|
609
633
|
<a href="#" className="flex items-center gap-3 px-4 py-2 hover:bg-white/5">
|
|
610
634
|
<ProfileIcon className="h-4 w-4" />
|
|
@@ -628,64 +652,64 @@ function MyComponent() {
|
|
|
628
652
|
|
|
629
653
|
{/* Accessibility */}
|
|
630
654
|
<div className="!space-y-8">
|
|
631
|
-
<h2 className="text-center text-3xl font-bold
|
|
655
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
632
656
|
Accessibility Features
|
|
633
657
|
</h2>
|
|
634
658
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
635
|
-
<div className="!space-y-4 rounded-lg border
|
|
636
|
-
<h3 className="text-lg font-semibold
|
|
659
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
660
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
637
661
|
✅ Built-in Features
|
|
638
662
|
</h3>
|
|
639
|
-
<ul className="!space-y-2 text-sm
|
|
640
|
-
<li className="
|
|
663
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
664
|
+
<li className="text-fm-secondary!">
|
|
641
665
|
Uses Radix UI AccessibleIcon wrapper
|
|
642
666
|
</li>
|
|
643
|
-
<li className="
|
|
667
|
+
<li className="text-fm-secondary!">
|
|
644
668
|
Provides screen reader label "Setting Icon"
|
|
645
669
|
</li>
|
|
646
|
-
<li className="
|
|
670
|
+
<li className="text-fm-secondary!">
|
|
647
671
|
Supports keyboard navigation when interactive
|
|
648
672
|
</li>
|
|
649
|
-
<li className="
|
|
673
|
+
<li className="text-fm-secondary!">
|
|
650
674
|
Maintains proper color contrast ratios
|
|
651
675
|
</li>
|
|
652
|
-
<li className="
|
|
676
|
+
<li className="text-fm-secondary!">
|
|
653
677
|
Scales with user's font size preferences
|
|
654
678
|
</li>
|
|
655
679
|
</ul>
|
|
656
680
|
</div>
|
|
657
681
|
|
|
658
|
-
<div className="!space-y-4 rounded-lg border
|
|
659
|
-
<h3 className="text-lg font-semibold
|
|
682
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
683
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
660
684
|
💡 Best Practices
|
|
661
685
|
</h3>
|
|
662
|
-
<ul className="!space-y-2 text-sm
|
|
663
|
-
<li className="
|
|
686
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
687
|
+
<li className="text-fm-secondary!">
|
|
664
688
|
Use descriptive button labels or tooltips
|
|
665
689
|
</li>
|
|
666
|
-
<li className="
|
|
690
|
+
<li className="text-fm-secondary!">
|
|
667
691
|
Ensure sufficient touch target size (44px minimum)
|
|
668
692
|
</li>
|
|
669
|
-
<li className="
|
|
693
|
+
<li className="text-fm-secondary!">
|
|
670
694
|
Provide clear focus indicators
|
|
671
695
|
</li>
|
|
672
|
-
<li className="
|
|
696
|
+
<li className="text-fm-secondary!">
|
|
673
697
|
Use consistent placement in UI layouts
|
|
674
698
|
</li>
|
|
675
|
-
<li className="
|
|
699
|
+
<li className="text-fm-secondary!">
|
|
676
700
|
Consider reduced motion preferences
|
|
677
701
|
</li>
|
|
678
702
|
</ul>
|
|
679
703
|
</div>
|
|
680
704
|
</div>
|
|
681
705
|
|
|
682
|
-
<div className="rounded-lg border
|
|
683
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
706
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
707
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
684
708
|
Custom Accessibility Label
|
|
685
709
|
</h3>
|
|
686
710
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
687
|
-
<div className="rounded-lg
|
|
688
|
-
<pre className="overflow-x-auto text-sm
|
|
711
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
712
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
689
713
|
{`// Custom implementation with specific label
|
|
690
714
|
import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
|
|
691
715
|
|
|
@@ -705,13 +729,13 @@ function CustomSettingIcon({ label = "Settings", ...props }) {
|
|
|
705
729
|
</pre>
|
|
706
730
|
</div>
|
|
707
731
|
<div className="!space-y-4">
|
|
708
|
-
<p className="text-
|
|
732
|
+
<p className="text-fm-secondary! text-sm">
|
|
709
733
|
For specific contexts, you can wrap the SettingIcon with
|
|
710
734
|
a custom AccessibleIcon component that provides more
|
|
711
735
|
descriptive labels.
|
|
712
736
|
</p>
|
|
713
|
-
<div className="
|
|
714
|
-
<div className="flex items-center gap-2 text-sm
|
|
737
|
+
<div className="border-fm-icon-info/20 bg-fm-icon-info/10 rounded-lg border p-4">
|
|
738
|
+
<div className="text-fm-icon-info flex items-center gap-2 text-sm">
|
|
715
739
|
<SettingIcon className="h-4 w-4" />
|
|
716
740
|
<span>
|
|
717
741
|
This approach gives screen readers more context
|
|
@@ -725,48 +749,58 @@ function CustomSettingIcon({ label = "Settings", ...props }) {
|
|
|
725
749
|
|
|
726
750
|
{/* Related Icons */}
|
|
727
751
|
<div className="!space-y-8">
|
|
728
|
-
<h2 className="text-center text-3xl font-bold
|
|
752
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
729
753
|
Related Icons
|
|
730
754
|
</h2>
|
|
731
755
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
732
|
-
<div className="!space-y-3 rounded-lg border
|
|
733
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
756
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
757
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
734
758
|
<span className="text-2xl">👤</span>
|
|
735
759
|
</div>
|
|
736
760
|
<div>
|
|
737
|
-
<div className="font-medium
|
|
738
|
-
|
|
761
|
+
<div className="text-fm-icon-active font-medium">
|
|
762
|
+
UserIcon
|
|
763
|
+
</div>
|
|
764
|
+
<div className="text-fm-tertiary text-xs">
|
|
765
|
+
User profiles
|
|
766
|
+
</div>
|
|
739
767
|
</div>
|
|
740
768
|
</div>
|
|
741
|
-
<div className="!space-y-3 rounded-lg border
|
|
742
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
769
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
770
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
743
771
|
<span className="text-2xl">🔧</span>
|
|
744
772
|
</div>
|
|
745
773
|
<div>
|
|
746
|
-
<div className="font-medium
|
|
747
|
-
|
|
774
|
+
<div className="text-fm-icon-active font-medium">
|
|
775
|
+
ToolIcon
|
|
776
|
+
</div>
|
|
777
|
+
<div className="text-fm-tertiary text-xs">
|
|
748
778
|
Tools & utilities
|
|
749
779
|
</div>
|
|
750
780
|
</div>
|
|
751
781
|
</div>
|
|
752
|
-
<div className="!space-y-3 rounded-lg border
|
|
753
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
782
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
783
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
754
784
|
<span className="text-2xl">⚙️</span>
|
|
755
785
|
</div>
|
|
756
786
|
<div>
|
|
757
|
-
<div className="font-medium
|
|
758
|
-
|
|
787
|
+
<div className="text-fm-icon-active font-medium">
|
|
788
|
+
GearIcon
|
|
789
|
+
</div>
|
|
790
|
+
<div className="text-fm-tertiary text-xs">
|
|
759
791
|
System settings
|
|
760
792
|
</div>
|
|
761
793
|
</div>
|
|
762
794
|
</div>
|
|
763
|
-
<div className="!space-y-3 rounded-lg border
|
|
764
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
795
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
796
|
+
<div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
765
797
|
<span className="text-2xl">🎛️</span>
|
|
766
798
|
</div>
|
|
767
799
|
<div>
|
|
768
|
-
<div className="font-medium
|
|
769
|
-
|
|
800
|
+
<div className="text-fm-icon-active font-medium">
|
|
801
|
+
ControlIcon
|
|
802
|
+
</div>
|
|
803
|
+
<div className="text-fm-tertiary text-xs">
|
|
770
804
|
Control panels
|
|
771
805
|
</div>
|
|
772
806
|
</div>
|
|
@@ -776,14 +810,14 @@ function CustomSettingIcon({ label = "Settings", ...props }) {
|
|
|
776
810
|
</div>
|
|
777
811
|
|
|
778
812
|
{/* Footer */}
|
|
779
|
-
<div className="border-
|
|
813
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
780
814
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
781
815
|
<div className="!space-y-4 text-center">
|
|
782
|
-
<p className="
|
|
816
|
+
<p className="text-fm-tertiary!">
|
|
783
817
|
SettingIcon is part of the Aural UI icon library, built with
|
|
784
818
|
accessibility and consistency in mind.
|
|
785
819
|
</p>
|
|
786
|
-
<p className="text-
|
|
820
|
+
<p className="text-fm-placeholder! text-sm">
|
|
787
821
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
788
822
|
compatibility and follow WCAG guidelines.
|
|
789
823
|
</p>
|
|
@@ -832,8 +866,8 @@ const storyParameters = {
|
|
|
832
866
|
backgrounds: {
|
|
833
867
|
default: "dark",
|
|
834
868
|
values: [
|
|
835
|
-
{ name: "dark", value: "
|
|
836
|
-
{ name: "darker", value: "
|
|
869
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
870
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
837
871
|
],
|
|
838
872
|
},
|
|
839
873
|
}
|
|
@@ -842,12 +876,12 @@ export const Default: Story = {
|
|
|
842
876
|
args: {
|
|
843
877
|
width: 24,
|
|
844
878
|
height: 24,
|
|
845
|
-
className: "text-
|
|
879
|
+
className: "text-fm-icon-info",
|
|
846
880
|
withAccessibility: true,
|
|
847
881
|
},
|
|
848
882
|
parameters: storyParameters,
|
|
849
883
|
render: (args) => (
|
|
850
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
884
|
+
<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">
|
|
851
885
|
<SettingIcon {...args} />
|
|
852
886
|
</div>
|
|
853
887
|
),
|
|
@@ -864,30 +898,30 @@ export const SizeVariations: Story = {
|
|
|
864
898
|
},
|
|
865
899
|
},
|
|
866
900
|
render: () => (
|
|
867
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
901
|
+
<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">
|
|
868
902
|
<div className="text-center">
|
|
869
|
-
<SettingIcon className="!mx-auto mb-2 h-3 w-3
|
|
870
|
-
<span className="text-
|
|
903
|
+
<SettingIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
904
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
871
905
|
</div>
|
|
872
906
|
<div className="text-center">
|
|
873
|
-
<SettingIcon className="!mx-auto mb-2 h-4 w-4
|
|
874
|
-
<span className="text-
|
|
907
|
+
<SettingIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
908
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
875
909
|
</div>
|
|
876
910
|
<div className="text-center">
|
|
877
|
-
<SettingIcon className="!mx-auto mb-2 h-5 w-5
|
|
878
|
-
<span className="text-
|
|
911
|
+
<SettingIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
912
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
879
913
|
</div>
|
|
880
914
|
<div className="text-center">
|
|
881
|
-
<SettingIcon className="!mx-auto mb-2 h-6 w-6
|
|
882
|
-
<span className="text-
|
|
915
|
+
<SettingIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
916
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
883
917
|
</div>
|
|
884
918
|
<div className="text-center">
|
|
885
|
-
<SettingIcon className="!mx-auto mb-2 h-8 w-8
|
|
886
|
-
<span className="text-
|
|
919
|
+
<SettingIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
920
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
887
921
|
</div>
|
|
888
922
|
<div className="text-center">
|
|
889
|
-
<SettingIcon className="!mx-auto mb-2 h-12 w-12
|
|
890
|
-
<span className="text-
|
|
923
|
+
<SettingIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
924
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
891
925
|
</div>
|
|
892
926
|
</div>
|
|
893
927
|
),
|
|
@@ -904,34 +938,36 @@ export const ColorVariations: Story = {
|
|
|
904
938
|
},
|
|
905
939
|
},
|
|
906
940
|
render: () => (
|
|
907
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
941
|
+
<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">
|
|
908
942
|
<div className="text-center">
|
|
909
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
910
|
-
<SettingIcon className="h-8 w-8
|
|
943
|
+
<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">
|
|
944
|
+
<SettingIcon className="text-fm-icon-info h-8 w-8" />
|
|
911
945
|
</div>
|
|
912
|
-
<div className="text-sm font-medium
|
|
913
|
-
<div className="text-
|
|
946
|
+
<div className="text-fm-icon-active text-sm font-medium">Primary</div>
|
|
947
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
914
948
|
</div>
|
|
915
949
|
<div className="text-center">
|
|
916
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
917
|
-
<SettingIcon className="h-8 w-8
|
|
950
|
+
<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">
|
|
951
|
+
<SettingIcon className="text-fm-secondary-600 h-8 w-8" />
|
|
952
|
+
</div>
|
|
953
|
+
<div className="text-fm-icon-active text-sm font-medium">Secondary</div>
|
|
954
|
+
<div className="text-fm-secondary-600 text-xs">
|
|
955
|
+
text-fm-secondary-600
|
|
918
956
|
</div>
|
|
919
|
-
<div className="text-sm font-medium text-white">Secondary</div>
|
|
920
|
-
<div className="text-xs text-purple-400">text-purple-400</div>
|
|
921
957
|
</div>
|
|
922
958
|
<div className="text-center">
|
|
923
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
924
|
-
<SettingIcon className="h-8 w-8
|
|
959
|
+
<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">
|
|
960
|
+
<SettingIcon className="text-fm-placeholder h-8 w-8" />
|
|
925
961
|
</div>
|
|
926
|
-
<div className="text-sm font-medium
|
|
927
|
-
<div className="text-
|
|
962
|
+
<div className="text-fm-icon-active text-sm font-medium">Neutral</div>
|
|
963
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
928
964
|
</div>
|
|
929
965
|
<div className="text-center">
|
|
930
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
931
|
-
<SettingIcon className="h-8 w-8
|
|
966
|
+
<div className="border-fm-divider-primary bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
967
|
+
<SettingIcon className="text-fm-icon-active h-8 w-8" />
|
|
932
968
|
</div>
|
|
933
|
-
<div className="text-sm font-medium
|
|
934
|
-
<div className="text-
|
|
969
|
+
<div className="text-fm-icon-active text-sm font-medium">Light</div>
|
|
970
|
+
<div className="text-fm-tertiary text-xs">text-fm-icon-active</div>
|
|
935
971
|
</div>
|
|
936
972
|
</div>
|
|
937
973
|
),
|
|
@@ -948,23 +984,25 @@ export const UsageExamples: Story = {
|
|
|
948
984
|
},
|
|
949
985
|
},
|
|
950
986
|
render: () => (
|
|
951
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
987
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
952
988
|
{/* Settings Menu */}
|
|
953
989
|
<div className="!space-y-2">
|
|
954
|
-
<h3 className="text-sm font-medium
|
|
955
|
-
|
|
990
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
991
|
+
Settings Menu
|
|
992
|
+
</h3>
|
|
993
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
956
994
|
<div className="!space-y-3">
|
|
957
|
-
<div className="flex items-center gap-3 rounded-lg p-2
|
|
958
|
-
<SettingIcon className="h-5 w-5
|
|
959
|
-
<span className="text-
|
|
995
|
+
<div className="hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg p-2">
|
|
996
|
+
<SettingIcon className="text-fm-icon-info h-5 w-5" />
|
|
997
|
+
<span className="text-fm-icon-active">General Settings</span>
|
|
960
998
|
</div>
|
|
961
|
-
<div className="flex items-center gap-3 rounded-lg p-2
|
|
962
|
-
<SettingIcon className="h-5 w-5
|
|
963
|
-
<span className="text-
|
|
999
|
+
<div className="hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg p-2">
|
|
1000
|
+
<SettingIcon className="text-fm-secondary-600 h-5 w-5" />
|
|
1001
|
+
<span className="text-fm-icon-active">Privacy & Security</span>
|
|
964
1002
|
</div>
|
|
965
|
-
<div className="flex items-center gap-3 rounded-lg p-2
|
|
966
|
-
<SettingIcon className="h-5 w-5
|
|
967
|
-
<span className="text-
|
|
1003
|
+
<div className="hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg p-2">
|
|
1004
|
+
<SettingIcon className="text-fm-placeholder h-5 w-5" />
|
|
1005
|
+
<span className="text-fm-icon-active">Notifications</span>
|
|
968
1006
|
</div>
|
|
969
1007
|
</div>
|
|
970
1008
|
</div>
|
|
@@ -972,13 +1010,15 @@ export const UsageExamples: Story = {
|
|
|
972
1010
|
|
|
973
1011
|
{/* Settings Button */}
|
|
974
1012
|
<div className="!space-y-2">
|
|
975
|
-
<h3 className="text-sm font-medium
|
|
1013
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1014
|
+
Settings Button
|
|
1015
|
+
</h3>
|
|
976
1016
|
<div className="flex gap-4">
|
|
977
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
1017
|
+
<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-4 py-2 transition-colors">
|
|
978
1018
|
<SettingIcon className="h-4 w-4" />
|
|
979
1019
|
Settings
|
|
980
1020
|
</button>
|
|
981
|
-
<button className="flex h-10 w-10 items-center justify-center rounded-lg border
|
|
1021
|
+
<button className="border-fm-divider-primary bg-fm-surface-tertiary/20 text-fm-secondary hover:bg-fm-surface-tertiary/30 flex h-10 w-10 items-center justify-center rounded-lg border transition-colors">
|
|
982
1022
|
<SettingIcon className="h-5 w-5" />
|
|
983
1023
|
</button>
|
|
984
1024
|
</div>
|
|
@@ -986,19 +1026,21 @@ export const UsageExamples: Story = {
|
|
|
986
1026
|
|
|
987
1027
|
{/* Toolbar Integration */}
|
|
988
1028
|
<div className="!space-y-2">
|
|
989
|
-
<h3 className="text-sm font-medium
|
|
990
|
-
|
|
991
|
-
|
|
1029
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1030
|
+
Toolbar Integration
|
|
1031
|
+
</h3>
|
|
1032
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-2 rounded-lg border p-3">
|
|
1033
|
+
<button className="hover:bg-fm-surface-secondary rounded p-1.5">
|
|
992
1034
|
<span className="sr-only">Home</span>
|
|
993
1035
|
<span className="text-lg">🏠</span>
|
|
994
1036
|
</button>
|
|
995
|
-
<button className="rounded p-1.5
|
|
1037
|
+
<button className="hover:bg-fm-surface-secondary rounded p-1.5">
|
|
996
1038
|
<span className="sr-only">Search</span>
|
|
997
1039
|
<span className="text-lg">🔍</span>
|
|
998
1040
|
</button>
|
|
999
|
-
<div className="h-4 w-px
|
|
1000
|
-
<button className="rounded p-1.5
|
|
1001
|
-
<SettingIcon className="h-4 w-4
|
|
1041
|
+
<div className="bg-fm-divider-primary h-4 w-px"></div>
|
|
1042
|
+
<button className="hover:bg-fm-surface-secondary rounded p-1.5">
|
|
1043
|
+
<SettingIcon className="text-fm-icon-active h-4 w-4" />
|
|
1002
1044
|
</button>
|
|
1003
1045
|
</div>
|
|
1004
1046
|
</div>
|
|
@@ -1019,12 +1061,12 @@ export const Playground: Story = {
|
|
|
1019
1061
|
args: {
|
|
1020
1062
|
width: 32,
|
|
1021
1063
|
height: 32,
|
|
1022
|
-
className: "text-
|
|
1064
|
+
className: "text-fm-icon-info",
|
|
1023
1065
|
strokeWidth: 0.75,
|
|
1024
1066
|
},
|
|
1025
1067
|
render: (args) => (
|
|
1026
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1027
|
-
<div className="rounded-lg border
|
|
1068
|
+
<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">
|
|
1069
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1028
1070
|
<SettingIcon {...args} />
|
|
1029
1071
|
</div>
|
|
1030
1072
|
</div>
|