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 LayoutLeftIcon> = {
|
|
|
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 LayoutLeftIcon> = {
|
|
|
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-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
|
-
<LayoutLeftIcon className="h-12 w-12
|
|
89
|
+
<div className="border-fm-icon-info/30 from-fm-icon-info/20 to-fm-icon-info/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
|
|
90
|
+
<LayoutLeftIcon 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
|
LayoutLeftIcon
|
|
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 specialized left sidebar layout icon for representing
|
|
97
97
|
left-aligned navigation, master-detail views, and sidebar
|
|
98
98
|
layouts. Perfect for layout controls, navigation toggles,
|
|
@@ -103,28 +103,28 @@ const meta: Meta<typeof LayoutLeftIcon> = {
|
|
|
103
103
|
{/* Stats */}
|
|
104
104
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
105
105
|
<div className="text-center">
|
|
106
|
-
<div className="text-3xl font-bold
|
|
106
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
107
107
|
Accessible
|
|
108
108
|
</div>
|
|
109
|
-
<div className="text-
|
|
109
|
+
<div className="text-fm-tertiary text-sm">
|
|
110
110
|
Screen reader friendly
|
|
111
111
|
</div>
|
|
112
112
|
</div>
|
|
113
|
-
<div className="h-8 w-px
|
|
113
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
114
114
|
<div className="text-center">
|
|
115
|
-
<div className="text-3xl font-bold
|
|
115
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
116
116
|
Scalable
|
|
117
117
|
</div>
|
|
118
|
-
<div className="text-
|
|
118
|
+
<div className="text-fm-tertiary text-sm">
|
|
119
119
|
Any size needed
|
|
120
120
|
</div>
|
|
121
121
|
</div>
|
|
122
|
-
<div className="h-8 w-px
|
|
122
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
123
123
|
<div className="text-center">
|
|
124
|
-
<div className="text-3xl font-bold
|
|
124
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
125
125
|
Flexible
|
|
126
126
|
</div>
|
|
127
|
-
<div className="text-
|
|
127
|
+
<div className="text-fm-tertiary text-sm">
|
|
128
128
|
Customizable styling
|
|
129
129
|
</div>
|
|
130
130
|
</div>
|
|
@@ -137,16 +137,16 @@ const meta: Meta<typeof LayoutLeftIcon> = {
|
|
|
137
137
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
138
138
|
{/* Quick Usage */}
|
|
139
139
|
<div className="!space-y-8">
|
|
140
|
-
<h2 className="text-center text-3xl font-bold
|
|
140
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
141
141
|
Quick Start
|
|
142
142
|
</h2>
|
|
143
143
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
144
144
|
<div className="!space-y-4">
|
|
145
|
-
<h3 className="text-xl font-semibold
|
|
145
|
+
<h3 className="text-fm-icon-info! text-xl font-semibold">
|
|
146
146
|
Basic Usage
|
|
147
147
|
</h3>
|
|
148
|
-
<div className="rounded-lg
|
|
149
|
-
<pre className="overflow-x-auto text-sm
|
|
148
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
149
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
150
150
|
{`import { LayoutLeftIcon } from "@icons/layout-left-icon"
|
|
151
151
|
|
|
152
152
|
function MyComponent() {
|
|
@@ -162,13 +162,15 @@ function MyComponent() {
|
|
|
162
162
|
</div>
|
|
163
163
|
|
|
164
164
|
<div className="!space-y-4">
|
|
165
|
-
<h3 className="text-xl font-semibold
|
|
165
|
+
<h3 className="text-fm-icon-info! text-xl font-semibold">
|
|
166
166
|
Live Preview
|
|
167
167
|
</h3>
|
|
168
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
169
|
-
<button className="flex items-center gap-3 rounded-lg border
|
|
170
|
-
<LayoutLeftIcon className="h-5 w-5
|
|
171
|
-
<span className="text-
|
|
168
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
169
|
+
<button className="border-fm-icon-info/20 bg-fm-icon-info/10 hover:bg-fm-icon-info/20 flex items-center gap-3 rounded-lg border px-4 py-2 transition-colors">
|
|
170
|
+
<LayoutLeftIcon className="text-fm-icon-info h-5 w-5" />
|
|
171
|
+
<span className="text-fm-icon-active">
|
|
172
|
+
Toggle Sidebar
|
|
173
|
+
</span>
|
|
172
174
|
</button>
|
|
173
175
|
</div>
|
|
174
176
|
</div>
|
|
@@ -177,94 +179,102 @@ function MyComponent() {
|
|
|
177
179
|
|
|
178
180
|
{/* Props Documentation */}
|
|
179
181
|
<div className="!space-y-8">
|
|
180
|
-
<h2 className="text-center text-3xl font-bold
|
|
182
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
181
183
|
Props & Configuration
|
|
182
184
|
</h2>
|
|
183
185
|
|
|
184
|
-
<div className="overflow-hidden rounded-lg border
|
|
185
|
-
<div className="bg-
|
|
186
|
-
<h3 className="text-xl font-semibold
|
|
186
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
187
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
188
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
189
|
+
Props
|
|
190
|
+
</h3>
|
|
187
191
|
</div>
|
|
188
192
|
<table className="!my-0 w-full">
|
|
189
|
-
<thead className="bg-
|
|
190
|
-
<tr className="border-
|
|
191
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
193
|
+
<thead className="bg-fm-surface-secondary">
|
|
194
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
195
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
192
196
|
Prop
|
|
193
197
|
</th>
|
|
194
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
198
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
195
199
|
Type
|
|
196
200
|
</th>
|
|
197
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
201
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
198
202
|
Default
|
|
199
203
|
</th>
|
|
200
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
204
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
201
205
|
Description
|
|
202
206
|
</th>
|
|
203
207
|
</tr>
|
|
204
208
|
</thead>
|
|
205
209
|
<tbody>
|
|
206
210
|
{" "}
|
|
207
|
-
<tr className="
|
|
208
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
211
|
+
<tr className="bg-fm-surface-secondary!">
|
|
212
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
209
213
|
withAccessibility
|
|
210
214
|
</td>
|
|
211
|
-
<td className="px-6 py-4 text-sm
|
|
215
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
212
216
|
boolean
|
|
213
217
|
</td>
|
|
214
|
-
<td className="px-6 py-4 text-sm
|
|
218
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
215
219
|
true
|
|
216
220
|
</td>
|
|
217
|
-
<td className="px-6 py-4 text-sm
|
|
221
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
218
222
|
Whether to wrap the icon with accessibility feature
|
|
219
223
|
</td>
|
|
220
224
|
</tr>
|
|
221
|
-
<tr className="border-
|
|
222
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
225
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
226
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
223
227
|
height
|
|
224
228
|
</td>
|
|
225
|
-
<td className="px-6 py-4 text-sm
|
|
229
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
226
230
|
number | string
|
|
227
231
|
</td>
|
|
228
|
-
<td className="px-6 py-4 text-sm
|
|
229
|
-
|
|
232
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
233
|
+
16
|
|
234
|
+
</td>
|
|
235
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
230
236
|
Height of the icon in pixels
|
|
231
237
|
</td>
|
|
232
238
|
</tr>
|
|
233
|
-
<tr className="border-
|
|
234
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
239
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
240
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
235
241
|
fill
|
|
236
242
|
</td>
|
|
237
|
-
<td className="px-6 py-4 text-sm
|
|
243
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
238
244
|
string
|
|
239
245
|
</td>
|
|
240
|
-
<td className="px-6 py-4 text-sm
|
|
246
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
241
247
|
currentColor
|
|
242
248
|
</td>
|
|
243
|
-
<td className="px-6 py-4 text-sm
|
|
249
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
244
250
|
Fill color of the icon
|
|
245
251
|
</td>
|
|
246
252
|
</tr>
|
|
247
|
-
<tr className="border-
|
|
248
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
253
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
254
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
249
255
|
className
|
|
250
256
|
</td>
|
|
251
|
-
<td className="px-6 py-4 text-sm
|
|
257
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
252
258
|
string
|
|
253
259
|
</td>
|
|
254
|
-
<td className="px-6 py-4 text-sm
|
|
255
|
-
|
|
260
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
261
|
+
-
|
|
262
|
+
</td>
|
|
263
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
256
264
|
CSS classes for styling
|
|
257
265
|
</td>
|
|
258
266
|
</tr>
|
|
259
|
-
<tr className="
|
|
260
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
267
|
+
<tr className="bg-fm-surface-secondary!">
|
|
268
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
261
269
|
...svgProps
|
|
262
270
|
</td>
|
|
263
|
-
<td className="px-6 py-4 text-sm
|
|
271
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
264
272
|
SVGProps
|
|
265
273
|
</td>
|
|
266
|
-
<td className="px-6 py-4 text-sm
|
|
267
|
-
|
|
274
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
275
|
+
-
|
|
276
|
+
</td>
|
|
277
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
268
278
|
All standard SVG element props
|
|
269
279
|
</td>
|
|
270
280
|
</tr>
|
|
@@ -275,50 +285,62 @@ function MyComponent() {
|
|
|
275
285
|
|
|
276
286
|
{/* Size Variations */}
|
|
277
287
|
<div className="!space-y-8">
|
|
278
|
-
<h2 className="text-center text-3xl font-bold
|
|
288
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
279
289
|
Size Variations
|
|
280
290
|
</h2>
|
|
281
|
-
<div className="rounded-lg border
|
|
291
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
282
292
|
<div className="!space-y-6">
|
|
283
293
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
284
294
|
<div className="!space-y-4">
|
|
285
|
-
<h3 className="text-lg font-semibold
|
|
295
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
286
296
|
Standard Sizes
|
|
287
297
|
</h3>
|
|
288
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
298
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
289
299
|
<div className="text-center">
|
|
290
|
-
<LayoutLeftIcon className="!mx-auto mb-2 h-3 w-3
|
|
291
|
-
<span className="text-
|
|
300
|
+
<LayoutLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
301
|
+
<span className="text-fm-tertiary text-xs">
|
|
302
|
+
12px
|
|
303
|
+
</span>
|
|
292
304
|
</div>
|
|
293
305
|
<div className="text-center">
|
|
294
|
-
<LayoutLeftIcon className="!mx-auto mb-2 h-4 w-4
|
|
295
|
-
<span className="text-
|
|
306
|
+
<LayoutLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
307
|
+
<span className="text-fm-tertiary text-xs">
|
|
308
|
+
16px
|
|
309
|
+
</span>
|
|
296
310
|
</div>
|
|
297
311
|
<div className="text-center">
|
|
298
|
-
<LayoutLeftIcon className="!mx-auto mb-2 h-5 w-5
|
|
299
|
-
<span className="text-
|
|
312
|
+
<LayoutLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
313
|
+
<span className="text-fm-tertiary text-xs">
|
|
314
|
+
20px
|
|
315
|
+
</span>
|
|
300
316
|
</div>
|
|
301
317
|
<div className="text-center">
|
|
302
|
-
<LayoutLeftIcon className="!mx-auto mb-2 h-6 w-6
|
|
303
|
-
<span className="text-
|
|
318
|
+
<LayoutLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
319
|
+
<span className="text-fm-tertiary text-xs">
|
|
320
|
+
24px
|
|
321
|
+
</span>
|
|
304
322
|
</div>
|
|
305
323
|
<div className="text-center">
|
|
306
|
-
<LayoutLeftIcon className="!mx-auto mb-2 h-8 w-8
|
|
307
|
-
<span className="text-
|
|
324
|
+
<LayoutLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
325
|
+
<span className="text-fm-tertiary text-xs">
|
|
326
|
+
32px
|
|
327
|
+
</span>
|
|
308
328
|
</div>
|
|
309
329
|
<div className="text-center">
|
|
310
|
-
<LayoutLeftIcon className="!mx-auto mb-2 h-12 w-12
|
|
311
|
-
<span className="text-
|
|
330
|
+
<LayoutLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
331
|
+
<span className="text-fm-tertiary text-xs">
|
|
332
|
+
48px
|
|
333
|
+
</span>
|
|
312
334
|
</div>
|
|
313
335
|
</div>
|
|
314
336
|
</div>
|
|
315
337
|
|
|
316
338
|
<div className="!space-y-4">
|
|
317
|
-
<h3 className="text-lg font-semibold
|
|
339
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
318
340
|
Code Example
|
|
319
341
|
</h3>
|
|
320
|
-
<div className="rounded-lg
|
|
321
|
-
<pre className="overflow-x-auto text-sm
|
|
342
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
343
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
322
344
|
{`// Small (16px)
|
|
323
345
|
<LayoutLeftIcon className="h-4 w-4" />
|
|
324
346
|
|
|
@@ -340,56 +362,56 @@ function MyComponent() {
|
|
|
340
362
|
|
|
341
363
|
{/* Color Variations */}
|
|
342
364
|
<div className="!space-y-8">
|
|
343
|
-
<h2 className="text-center text-3xl font-bold
|
|
365
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
344
366
|
Color Variations
|
|
345
367
|
</h2>
|
|
346
368
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
347
369
|
<div className="!space-y-4">
|
|
348
|
-
<h3 className="text-lg font-semibold
|
|
370
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
349
371
|
Layout Theme Colors
|
|
350
372
|
</h3>
|
|
351
|
-
<div className="!space-y-4 rounded-lg border
|
|
373
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
352
374
|
<div className="flex items-center gap-4">
|
|
353
|
-
<LayoutLeftIcon className="h-6 w-6
|
|
375
|
+
<LayoutLeftIcon className="text-fm-icon-info h-6 w-6" />
|
|
354
376
|
<div>
|
|
355
|
-
<div className="text-sm font-medium
|
|
377
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
356
378
|
Primary
|
|
357
379
|
</div>
|
|
358
|
-
<div className="text-
|
|
359
|
-
text-
|
|
380
|
+
<div className="text-fm-tertiary text-xs">
|
|
381
|
+
text-fm-icon-info
|
|
360
382
|
</div>
|
|
361
383
|
</div>
|
|
362
384
|
</div>
|
|
363
385
|
<div className="flex items-center gap-4">
|
|
364
|
-
<LayoutLeftIcon className="h-6 w-6
|
|
386
|
+
<LayoutLeftIcon className="text-fm-icon-info h-6 w-6" />
|
|
365
387
|
<div>
|
|
366
|
-
<div className="text-sm font-medium
|
|
388
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
367
389
|
Secondary
|
|
368
390
|
</div>
|
|
369
|
-
<div className="text-
|
|
370
|
-
text-
|
|
391
|
+
<div className="text-fm-tertiary text-xs">
|
|
392
|
+
text-fm-icon-info
|
|
371
393
|
</div>
|
|
372
394
|
</div>
|
|
373
395
|
</div>
|
|
374
396
|
<div className="flex items-center gap-4">
|
|
375
|
-
<LayoutLeftIcon className="h-6 w-6
|
|
397
|
+
<LayoutLeftIcon className="text-fm-icon-info h-6 w-6" />
|
|
376
398
|
<div>
|
|
377
|
-
<div className="text-sm font-medium
|
|
399
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
378
400
|
Accent
|
|
379
401
|
</div>
|
|
380
|
-
<div className="text-
|
|
381
|
-
text-
|
|
402
|
+
<div className="text-fm-tertiary text-xs">
|
|
403
|
+
text-fm-icon-info
|
|
382
404
|
</div>
|
|
383
405
|
</div>
|
|
384
406
|
</div>
|
|
385
407
|
<div className="flex items-center gap-4">
|
|
386
|
-
<LayoutLeftIcon className="h-6 w-6
|
|
408
|
+
<LayoutLeftIcon className="text-fm-placeholder h-6 w-6" />
|
|
387
409
|
<div>
|
|
388
|
-
<div className="text-sm font-medium
|
|
410
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
389
411
|
Muted
|
|
390
412
|
</div>
|
|
391
|
-
<div className="text-
|
|
392
|
-
text-
|
|
413
|
+
<div className="text-fm-tertiary text-xs">
|
|
414
|
+
text-fm-placeholder
|
|
393
415
|
</div>
|
|
394
416
|
</div>
|
|
395
417
|
</div>
|
|
@@ -397,11 +419,11 @@ function MyComponent() {
|
|
|
397
419
|
</div>
|
|
398
420
|
|
|
399
421
|
<div className="!space-y-4">
|
|
400
|
-
<h3 className="text-lg font-semibold
|
|
422
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
401
423
|
Custom Colors
|
|
402
424
|
</h3>
|
|
403
|
-
<div className="rounded-lg
|
|
404
|
-
<pre className="overflow-x-auto text-sm
|
|
425
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
426
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
405
427
|
{`// Using Tailwind classes
|
|
406
428
|
<LayoutLeftIcon className="h-6 w-6 text-cyan-400" />
|
|
407
429
|
<LayoutLeftIcon className="h-6 w-6 text-indigo-500" />
|
|
@@ -426,28 +448,30 @@ function MyComponent() {
|
|
|
426
448
|
|
|
427
449
|
{/* Usage Examples */}
|
|
428
450
|
<div className="!space-y-8">
|
|
429
|
-
<h2 className="text-center text-3xl font-bold
|
|
451
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
430
452
|
Usage Examples
|
|
431
453
|
</h2>
|
|
432
454
|
|
|
433
455
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
434
456
|
{/* Sidebar Toggle */}
|
|
435
457
|
<div className="!space-y-4">
|
|
436
|
-
<h3 className="text-lg font-semibold
|
|
458
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
437
459
|
Sidebar Toggle Button
|
|
438
460
|
</h3>
|
|
439
461
|
<div className="!space-y-4">
|
|
440
|
-
<div className="rounded-lg border
|
|
462
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
441
463
|
<div className="flex items-center justify-between">
|
|
442
|
-
<h4 className="font-medium
|
|
443
|
-
|
|
464
|
+
<h4 className="text-fm-icon-active! font-medium">
|
|
465
|
+
Dashboard
|
|
466
|
+
</h4>
|
|
467
|
+
<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 border px-3 py-1.5 transition-colors">
|
|
444
468
|
<LayoutLeftIcon className="h-4 w-4" />
|
|
445
469
|
<span className="text-sm">Toggle Sidebar</span>
|
|
446
470
|
</button>
|
|
447
471
|
</div>
|
|
448
472
|
</div>
|
|
449
|
-
<div className="rounded-lg
|
|
450
|
-
<pre className="overflow-x-auto text-sm
|
|
473
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
474
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
451
475
|
{`// Sidebar toggle button
|
|
452
476
|
<button className="flex items-center gap-2 bg-cyan-500/20 border border-cyan-500/30 px-3 py-1.5 rounded text-cyan-200">
|
|
453
477
|
<LayoutLeftIcon className="h-4 w-4" />
|
|
@@ -460,30 +484,30 @@ function MyComponent() {
|
|
|
460
484
|
|
|
461
485
|
{/* Navigation Menu */}
|
|
462
486
|
<div className="!space-y-4">
|
|
463
|
-
<h3 className="text-lg font-semibold
|
|
487
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
464
488
|
Navigation Menu
|
|
465
489
|
</h3>
|
|
466
490
|
<div className="!space-y-4">
|
|
467
|
-
<div className="rounded-lg border
|
|
491
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
468
492
|
<div className="!space-y-2">
|
|
469
|
-
<div className="flex items-center gap-3 rounded-lg
|
|
493
|
+
<div className="bg-fm-icon-info/20 text-fm-icon-info flex items-center gap-3 rounded-lg px-3 py-2">
|
|
470
494
|
<LayoutLeftIcon className="h-5 w-5" />
|
|
471
495
|
<span className="text-sm font-medium">
|
|
472
496
|
Left Panel
|
|
473
497
|
</span>
|
|
474
498
|
</div>
|
|
475
|
-
<div className="flex items-center gap-3 rounded-lg px-3 py-2
|
|
476
|
-
<div className="h-5 w-5 rounded
|
|
499
|
+
<div className="text-fm-tertiary hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg px-3 py-2">
|
|
500
|
+
<div className="bg-fm-surface-tertiary h-5 w-5 rounded"></div>
|
|
477
501
|
<span className="text-sm">Main Content</span>
|
|
478
502
|
</div>
|
|
479
|
-
<div className="flex items-center gap-3 rounded-lg px-3 py-2
|
|
480
|
-
<div className="h-5 w-5 rounded
|
|
503
|
+
<div className="text-fm-tertiary hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg px-3 py-2">
|
|
504
|
+
<div className="bg-fm-surface-tertiary h-5 w-5 rounded"></div>
|
|
481
505
|
<span className="text-sm">Right Panel</span>
|
|
482
506
|
</div>
|
|
483
507
|
</div>
|
|
484
508
|
</div>
|
|
485
|
-
<div className="rounded-lg
|
|
486
|
-
<pre className="overflow-x-auto text-sm
|
|
509
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
510
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
487
511
|
{`// Active navigation item
|
|
488
512
|
<div className="flex items-center gap-3 bg-cyan-500/20 px-3 py-2 rounded-lg text-cyan-200">
|
|
489
513
|
<LayoutLeftIcon className="h-5 w-5" />
|
|
@@ -496,36 +520,36 @@ function MyComponent() {
|
|
|
496
520
|
|
|
497
521
|
{/* Layout Picker */}
|
|
498
522
|
<div className="!space-y-4">
|
|
499
|
-
<h3 className="text-lg font-semibold
|
|
523
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
500
524
|
Layout Selection Tool
|
|
501
525
|
</h3>
|
|
502
526
|
<div className="!space-y-4">
|
|
503
|
-
<div className="rounded-lg border
|
|
527
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
504
528
|
<div className="!space-y-3">
|
|
505
|
-
<h4 className="text-sm font-medium
|
|
529
|
+
<h4 className="text-fm-icon-active! text-sm font-medium">
|
|
506
530
|
Choose Layout
|
|
507
531
|
</h4>
|
|
508
532
|
<div className="grid grid-cols-3 gap-2">
|
|
509
|
-
<button className="flex flex-col items-center gap-2 rounded-lg border
|
|
533
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info flex flex-col items-center gap-2 rounded-lg border p-3">
|
|
510
534
|
<LayoutLeftIcon className="h-6 w-6" />
|
|
511
535
|
<span className="text-xs">Left Sidebar</span>
|
|
512
536
|
</button>
|
|
513
|
-
<button className="flex flex-col items-center gap-2 rounded-lg border
|
|
537
|
+
<button className="border-fm-divider-primary bg-fm-surface-secondary text-fm-tertiary hover:bg-fm-surface-secondary flex flex-col items-center gap-2 rounded-lg border p-3">
|
|
514
538
|
<div className="grid h-6 w-6 grid-cols-2 gap-1">
|
|
515
539
|
<div className="rounded bg-current"></div>
|
|
516
540
|
<div className="rounded bg-current"></div>
|
|
517
541
|
</div>
|
|
518
542
|
<span className="text-xs">Split View</span>
|
|
519
543
|
</button>
|
|
520
|
-
<button className="flex flex-col items-center gap-2 rounded-lg border
|
|
544
|
+
<button className="border-fm-divider-primary bg-fm-surface-secondary text-fm-tertiary hover:bg-fm-surface-secondary flex flex-col items-center gap-2 rounded-lg border p-3">
|
|
521
545
|
<div className="h-6 w-6 rounded border border-current"></div>
|
|
522
546
|
<span className="text-xs">Full Width</span>
|
|
523
547
|
</button>
|
|
524
548
|
</div>
|
|
525
549
|
</div>
|
|
526
550
|
</div>
|
|
527
|
-
<div className="rounded-lg
|
|
528
|
-
<pre className="overflow-x-auto text-sm
|
|
551
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
552
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
529
553
|
{`// Layout selection grid
|
|
530
554
|
<div className="grid grid-cols-3 gap-2">
|
|
531
555
|
<button className="flex flex-col items-center gap-2 bg-cyan-500/20 border border-cyan-500/30 p-3 rounded-lg text-cyan-200">
|
|
@@ -541,36 +565,36 @@ function MyComponent() {
|
|
|
541
565
|
|
|
542
566
|
{/* Responsive Controls */}
|
|
543
567
|
<div className="!space-y-4">
|
|
544
|
-
<h3 className="text-lg font-semibold
|
|
568
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
545
569
|
Responsive Layout Controls
|
|
546
570
|
</h3>
|
|
547
571
|
<div className="!space-y-4">
|
|
548
|
-
<div className="rounded-lg border
|
|
572
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
549
573
|
<div className="flex items-center justify-between">
|
|
550
574
|
<div className="flex items-center gap-2">
|
|
551
|
-
<span className="text-
|
|
575
|
+
<span className="text-fm-icon-active text-sm">
|
|
552
576
|
Mobile View
|
|
553
577
|
</span>
|
|
554
|
-
<div className="h-2 w-2 rounded-full
|
|
578
|
+
<div className="bg-fm-icon-positive h-2 w-2 rounded-full"></div>
|
|
555
579
|
</div>
|
|
556
580
|
<div className="flex items-center gap-1">
|
|
557
|
-
<button className="
|
|
581
|
+
<button className="bg-fm-icon-info/20 text-fm-icon-info rounded p-2">
|
|
558
582
|
<LayoutLeftIcon className="h-4 w-4" />
|
|
559
583
|
</button>
|
|
560
|
-
<button className="
|
|
584
|
+
<button className="text-fm-tertiary hover:bg-fm-surface-secondary rounded p-2">
|
|
561
585
|
<div className="grid h-4 w-4 grid-cols-2 gap-0.5">
|
|
562
586
|
<div className="rounded-sm bg-current"></div>
|
|
563
587
|
<div className="rounded-sm bg-current"></div>
|
|
564
588
|
</div>
|
|
565
589
|
</button>
|
|
566
|
-
<button className="
|
|
590
|
+
<button className="text-fm-tertiary hover:bg-fm-surface-secondary rounded p-2">
|
|
567
591
|
<div className="h-4 w-4 rounded border border-current"></div>
|
|
568
592
|
</button>
|
|
569
593
|
</div>
|
|
570
594
|
</div>
|
|
571
595
|
</div>
|
|
572
|
-
<div className="rounded-lg
|
|
573
|
-
<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">
|
|
574
598
|
{`// Responsive layout controls
|
|
575
599
|
<div className="flex items-center gap-1">
|
|
576
600
|
<button className="p-2 rounded bg-cyan-500/20 text-cyan-400">
|
|
@@ -592,64 +616,64 @@ function MyComponent() {
|
|
|
592
616
|
|
|
593
617
|
{/* Accessibility */}
|
|
594
618
|
<div className="!space-y-8">
|
|
595
|
-
<h2 className="text-center text-3xl font-bold
|
|
619
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
596
620
|
Accessibility Features
|
|
597
621
|
</h2>
|
|
598
622
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
599
|
-
<div className="!space-y-4 rounded-lg border
|
|
600
|
-
<h3 className="text-lg font-semibold
|
|
623
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
624
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
601
625
|
✅ Built-in Features
|
|
602
626
|
</h3>
|
|
603
|
-
<ul className="!space-y-2 text-sm
|
|
604
|
-
<li className="
|
|
627
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
628
|
+
<li className="text-fm-secondary!">
|
|
605
629
|
Uses Radix UI AccessibleIcon wrapper
|
|
606
630
|
</li>
|
|
607
|
-
<li className="
|
|
631
|
+
<li className="text-fm-secondary!">
|
|
608
632
|
Provides screen reader label "Layout Left Icon"
|
|
609
633
|
</li>
|
|
610
|
-
<li className="
|
|
634
|
+
<li className="text-fm-secondary!">
|
|
611
635
|
Supports keyboard navigation when interactive
|
|
612
636
|
</li>
|
|
613
|
-
<li className="
|
|
637
|
+
<li className="text-fm-secondary!">
|
|
614
638
|
Maintains proper color contrast ratios
|
|
615
639
|
</li>
|
|
616
|
-
<li className="
|
|
640
|
+
<li className="text-fm-secondary!">
|
|
617
641
|
Scales with user's font size preferences
|
|
618
642
|
</li>
|
|
619
643
|
</ul>
|
|
620
644
|
</div>
|
|
621
645
|
|
|
622
|
-
<div className="!space-y-4 rounded-lg border
|
|
623
|
-
<h3 className="text-lg font-semibold
|
|
646
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
647
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
624
648
|
💡 Best Practices
|
|
625
649
|
</h3>
|
|
626
|
-
<ul className="!space-y-2 text-sm
|
|
627
|
-
<li className="
|
|
650
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
651
|
+
<li className="text-fm-secondary!">
|
|
628
652
|
Always pair with descriptive text or tooltips
|
|
629
653
|
</li>
|
|
630
|
-
<li className="
|
|
654
|
+
<li className="text-fm-secondary!">
|
|
631
655
|
Use consistent colors for layout controls
|
|
632
656
|
</li>
|
|
633
|
-
<li className="
|
|
657
|
+
<li className="text-fm-secondary!">
|
|
634
658
|
Ensure sufficient color contrast
|
|
635
659
|
</li>
|
|
636
|
-
<li className="
|
|
660
|
+
<li className="text-fm-secondary!">
|
|
637
661
|
Add focus states for interactive elements
|
|
638
662
|
</li>
|
|
639
|
-
<li className="
|
|
663
|
+
<li className="text-fm-secondary!">
|
|
640
664
|
Provide keyboard shortcuts for layout switching
|
|
641
665
|
</li>
|
|
642
666
|
</ul>
|
|
643
667
|
</div>
|
|
644
668
|
</div>
|
|
645
669
|
|
|
646
|
-
<div className="rounded-lg border
|
|
647
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
670
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
671
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
648
672
|
Custom Accessibility Label
|
|
649
673
|
</h3>
|
|
650
674
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
651
|
-
<div className="rounded-lg
|
|
652
|
-
<pre className="overflow-x-auto text-sm
|
|
675
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
676
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
653
677
|
{`// Custom implementation with specific label
|
|
654
678
|
import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
|
|
655
679
|
|
|
@@ -669,13 +693,13 @@ function CustomLayoutLeftIcon({ label = "Toggle left sidebar", ...props }) {
|
|
|
669
693
|
</pre>
|
|
670
694
|
</div>
|
|
671
695
|
<div className="!space-y-4">
|
|
672
|
-
<p className="text-
|
|
696
|
+
<p className="text-fm-secondary! text-sm">
|
|
673
697
|
For specific contexts, you can wrap the LayoutLeftIcon
|
|
674
698
|
with a custom AccessibleIcon component that provides
|
|
675
699
|
more descriptive labels for different sidebar actions.
|
|
676
700
|
</p>
|
|
677
|
-
<div className="
|
|
678
|
-
<div className="flex items-center gap-2 text-sm
|
|
701
|
+
<div className="border-fm-icon-info/20 bg-fm-icon-info/10 rounded-lg border p-4">
|
|
702
|
+
<div className="text-fm-icon-info flex items-center gap-2 text-sm">
|
|
679
703
|
<LayoutLeftIcon className="h-4 w-4" />
|
|
680
704
|
<span>
|
|
681
705
|
This approach gives screen readers more context
|
|
@@ -690,63 +714,71 @@ function CustomLayoutLeftIcon({ label = "Toggle left sidebar", ...props }) {
|
|
|
690
714
|
|
|
691
715
|
{/* Related Icons */}
|
|
692
716
|
<div className="!space-y-8">
|
|
693
|
-
<h2 className="text-center text-3xl font-bold
|
|
717
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
694
718
|
Related Icons
|
|
695
719
|
</h2>
|
|
696
720
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
697
|
-
<div className="!space-y-3 rounded-lg border
|
|
698
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
721
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
722
|
+
<div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
699
723
|
<div className="flex h-6 w-6 gap-1">
|
|
700
|
-
<div className="flex-1 rounded
|
|
701
|
-
<div className="w-2 rounded
|
|
724
|
+
<div className="bg-fm-icon-warning flex-1 rounded"></div>
|
|
725
|
+
<div className="bg-fm-icon-warning w-2 rounded"></div>
|
|
702
726
|
</div>
|
|
703
727
|
</div>
|
|
704
728
|
<div>
|
|
705
|
-
<div className="font-medium
|
|
729
|
+
<div className="text-fm-icon-active font-medium">
|
|
706
730
|
LayoutRightIcon
|
|
707
731
|
</div>
|
|
708
|
-
<div className="text-
|
|
732
|
+
<div className="text-fm-tertiary text-xs">
|
|
733
|
+
Right sidebar
|
|
734
|
+
</div>
|
|
709
735
|
</div>
|
|
710
736
|
</div>
|
|
711
|
-
<div className="!space-y-3 rounded-lg border
|
|
712
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
737
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
738
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
713
739
|
<div className="flex h-6 w-6 gap-1">
|
|
714
|
-
<div className="flex-1 rounded
|
|
715
|
-
<div className="flex-1 rounded
|
|
740
|
+
<div className="bg-fm-icon-info flex-1 rounded"></div>
|
|
741
|
+
<div className="bg-fm-icon-info flex-1 rounded"></div>
|
|
716
742
|
</div>
|
|
717
743
|
</div>
|
|
718
744
|
<div>
|
|
719
|
-
<div className="font-medium
|
|
745
|
+
<div className="text-fm-icon-active font-medium">
|
|
720
746
|
LayoutColumnIcon
|
|
721
747
|
</div>
|
|
722
|
-
<div className="text-
|
|
748
|
+
<div className="text-fm-tertiary text-xs">
|
|
749
|
+
Two columns
|
|
750
|
+
</div>
|
|
723
751
|
</div>
|
|
724
752
|
</div>
|
|
725
|
-
<div className="!space-y-3 rounded-lg border
|
|
726
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
753
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
754
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
727
755
|
<div className="grid h-6 w-6 grid-cols-3 gap-1">
|
|
728
|
-
<div className="
|
|
729
|
-
<div className="
|
|
730
|
-
<div className="
|
|
731
|
-
<div className="
|
|
732
|
-
<div className="
|
|
733
|
-
<div className="
|
|
756
|
+
<div className="bg-fm-icon-positive rounded"></div>
|
|
757
|
+
<div className="bg-fm-icon-positive rounded"></div>
|
|
758
|
+
<div className="bg-fm-icon-positive rounded"></div>
|
|
759
|
+
<div className="bg-fm-icon-positive rounded"></div>
|
|
760
|
+
<div className="bg-fm-icon-positive rounded"></div>
|
|
761
|
+
<div className="bg-fm-icon-positive rounded"></div>
|
|
734
762
|
</div>
|
|
735
763
|
</div>
|
|
736
764
|
<div>
|
|
737
|
-
<div className="font-medium
|
|
738
|
-
|
|
765
|
+
<div className="text-fm-icon-active font-medium">
|
|
766
|
+
GridIcon
|
|
767
|
+
</div>
|
|
768
|
+
<div className="text-fm-tertiary text-xs">
|
|
769
|
+
Grid layouts
|
|
770
|
+
</div>
|
|
739
771
|
</div>
|
|
740
772
|
</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
|
|
743
|
-
<div className="h-6 w-6 rounded border-2
|
|
773
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
774
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
775
|
+
<div className="border-fm-secondary-500 h-6 w-6 rounded border-2"></div>
|
|
744
776
|
</div>
|
|
745
777
|
<div>
|
|
746
|
-
<div className="font-medium
|
|
778
|
+
<div className="text-fm-icon-active font-medium">
|
|
747
779
|
FullWidthIcon
|
|
748
780
|
</div>
|
|
749
|
-
<div className="text-
|
|
781
|
+
<div className="text-fm-tertiary text-xs">Full width</div>
|
|
750
782
|
</div>
|
|
751
783
|
</div>
|
|
752
784
|
</div>
|
|
@@ -754,15 +786,15 @@ function CustomLayoutLeftIcon({ label = "Toggle left sidebar", ...props }) {
|
|
|
754
786
|
</div>
|
|
755
787
|
|
|
756
788
|
{/* Footer */}
|
|
757
|
-
<div className="border-
|
|
789
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
758
790
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
759
791
|
<div className="!space-y-4 text-center">
|
|
760
|
-
<p className="
|
|
792
|
+
<p className="text-fm-tertiary!">
|
|
761
793
|
LayoutLeftIcon is part of the Aural UI icon library,
|
|
762
794
|
designed specifically for left sidebar layouts and
|
|
763
795
|
navigation controls with accessibility in mind.
|
|
764
796
|
</p>
|
|
765
|
-
<p className="text-
|
|
797
|
+
<p className="text-fm-placeholder! text-sm">
|
|
766
798
|
Perfect for dashboards, admin panels, and applications that
|
|
767
799
|
require flexible sidebar navigation. Follows WCAG guidelines
|
|
768
800
|
for accessibility.
|
|
@@ -808,8 +840,8 @@ const storyParameters = {
|
|
|
808
840
|
backgrounds: {
|
|
809
841
|
default: "dark",
|
|
810
842
|
values: [
|
|
811
|
-
{ name: "dark", value: "
|
|
812
|
-
{ name: "darker", value: "
|
|
843
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
844
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
813
845
|
],
|
|
814
846
|
},
|
|
815
847
|
}
|
|
@@ -818,12 +850,12 @@ export const Default: Story = {
|
|
|
818
850
|
args: {
|
|
819
851
|
width: 24,
|
|
820
852
|
height: 24,
|
|
821
|
-
className: "text-
|
|
853
|
+
className: "text-fm-icon-info",
|
|
822
854
|
withAccessibility: true,
|
|
823
855
|
},
|
|
824
856
|
parameters: storyParameters,
|
|
825
857
|
render: (args) => (
|
|
826
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
858
|
+
<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">
|
|
827
859
|
<LayoutLeftIcon {...args} />
|
|
828
860
|
</div>
|
|
829
861
|
),
|
|
@@ -840,30 +872,30 @@ export const SizeVariations: Story = {
|
|
|
840
872
|
},
|
|
841
873
|
},
|
|
842
874
|
render: () => (
|
|
843
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
875
|
+
<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">
|
|
844
876
|
<div className="text-center">
|
|
845
|
-
<LayoutLeftIcon className="!mx-auto mb-2 h-3 w-3
|
|
846
|
-
<span className="text-
|
|
877
|
+
<LayoutLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
878
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
847
879
|
</div>
|
|
848
880
|
<div className="text-center">
|
|
849
|
-
<LayoutLeftIcon className="!mx-auto mb-2 h-4 w-4
|
|
850
|
-
<span className="text-
|
|
881
|
+
<LayoutLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
882
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
851
883
|
</div>
|
|
852
884
|
<div className="text-center">
|
|
853
|
-
<LayoutLeftIcon className="!mx-auto mb-2 h-5 w-5
|
|
854
|
-
<span className="text-
|
|
885
|
+
<LayoutLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
886
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
855
887
|
</div>
|
|
856
888
|
<div className="text-center">
|
|
857
|
-
<LayoutLeftIcon className="!mx-auto mb-2 h-6 w-6
|
|
858
|
-
<span className="text-
|
|
889
|
+
<LayoutLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
890
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
859
891
|
</div>
|
|
860
892
|
<div className="text-center">
|
|
861
|
-
<LayoutLeftIcon className="!mx-auto mb-2 h-8 w-8
|
|
862
|
-
<span className="text-
|
|
893
|
+
<LayoutLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
894
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
863
895
|
</div>
|
|
864
896
|
<div className="text-center">
|
|
865
|
-
<LayoutLeftIcon className="!mx-auto mb-2 h-12 w-12
|
|
866
|
-
<span className="text-
|
|
897
|
+
<LayoutLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
898
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
867
899
|
</div>
|
|
868
900
|
</div>
|
|
869
901
|
),
|
|
@@ -880,34 +912,34 @@ export const ColorVariations: Story = {
|
|
|
880
912
|
},
|
|
881
913
|
},
|
|
882
914
|
render: () => (
|
|
883
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
915
|
+
<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">
|
|
884
916
|
<div className="text-center">
|
|
885
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
886
|
-
<LayoutLeftIcon className="h-8 w-8
|
|
917
|
+
<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">
|
|
918
|
+
<LayoutLeftIcon className="text-fm-icon-info h-8 w-8" />
|
|
887
919
|
</div>
|
|
888
|
-
<div className="text-sm font-medium
|
|
889
|
-
<div className="text-
|
|
920
|
+
<div className="text-fm-icon-active text-sm font-medium">Primary</div>
|
|
921
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
890
922
|
</div>
|
|
891
923
|
<div className="text-center">
|
|
892
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
893
|
-
<LayoutLeftIcon className="h-8 w-8
|
|
924
|
+
<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">
|
|
925
|
+
<LayoutLeftIcon className="text-fm-icon-info h-8 w-8" />
|
|
894
926
|
</div>
|
|
895
|
-
<div className="text-sm font-medium
|
|
896
|
-
<div className="text-
|
|
927
|
+
<div className="text-fm-icon-active text-sm font-medium">Secondary</div>
|
|
928
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
897
929
|
</div>
|
|
898
930
|
<div className="text-center">
|
|
899
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
900
|
-
<LayoutLeftIcon className="h-8 w-8
|
|
931
|
+
<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">
|
|
932
|
+
<LayoutLeftIcon className="text-fm-icon-info h-8 w-8" />
|
|
901
933
|
</div>
|
|
902
|
-
<div className="text-sm font-medium
|
|
903
|
-
<div className="text-
|
|
934
|
+
<div className="text-fm-icon-active text-sm font-medium">Accent</div>
|
|
935
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
904
936
|
</div>
|
|
905
937
|
<div className="text-center">
|
|
906
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
907
|
-
<LayoutLeftIcon className="h-8 w-8
|
|
938
|
+
<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">
|
|
939
|
+
<LayoutLeftIcon className="text-fm-placeholder h-8 w-8" />
|
|
908
940
|
</div>
|
|
909
|
-
<div className="text-sm font-medium
|
|
910
|
-
<div className="text-
|
|
941
|
+
<div className="text-fm-icon-active text-sm font-medium">Muted</div>
|
|
942
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
911
943
|
</div>
|
|
912
944
|
</div>
|
|
913
945
|
),
|
|
@@ -924,16 +956,16 @@ export const UsageExamples: Story = {
|
|
|
924
956
|
},
|
|
925
957
|
},
|
|
926
958
|
render: () => (
|
|
927
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
959
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
928
960
|
{/* Sidebar Toggle */}
|
|
929
961
|
<div className="!space-y-2">
|
|
930
|
-
<h3 className="text-sm font-medium
|
|
962
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
931
963
|
Sidebar Toggle Button
|
|
932
964
|
</h3>
|
|
933
|
-
<div className="rounded-lg border
|
|
965
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
934
966
|
<div className="flex items-center justify-between">
|
|
935
|
-
<h4 className="font-medium
|
|
936
|
-
<button className="flex items-center gap-2 rounded border
|
|
967
|
+
<h4 className="text-fm-icon-active font-medium">Dashboard</h4>
|
|
968
|
+
<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 border px-3 py-1.5 transition-colors">
|
|
937
969
|
<LayoutLeftIcon className="h-4 w-4" />
|
|
938
970
|
<span className="text-sm">Toggle Sidebar</span>
|
|
939
971
|
</button>
|
|
@@ -943,15 +975,17 @@ export const UsageExamples: Story = {
|
|
|
943
975
|
|
|
944
976
|
{/* Navigation Menu */}
|
|
945
977
|
<div className="!space-y-2">
|
|
946
|
-
<h3 className="text-sm font-medium
|
|
947
|
-
|
|
978
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
979
|
+
Navigation Menu
|
|
980
|
+
</h3>
|
|
981
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
948
982
|
<div className="!space-y-2">
|
|
949
|
-
<div className="flex items-center gap-3 rounded-lg
|
|
983
|
+
<div className="bg-fm-icon-info/20 text-fm-icon-info flex items-center gap-3 rounded-lg px-3 py-2">
|
|
950
984
|
<LayoutLeftIcon className="h-5 w-5" />
|
|
951
985
|
<span className="text-sm font-medium">Left Panel</span>
|
|
952
986
|
</div>
|
|
953
|
-
<div className="flex items-center gap-3 rounded-lg px-3 py-2
|
|
954
|
-
<div className="h-5 w-5 rounded
|
|
987
|
+
<div className="text-fm-tertiary hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg px-3 py-2">
|
|
988
|
+
<div className="bg-fm-surface-tertiary h-5 w-5 rounded"></div>
|
|
955
989
|
<span className="text-sm">Main Content</span>
|
|
956
990
|
</div>
|
|
957
991
|
</div>
|
|
@@ -960,25 +994,27 @@ export const UsageExamples: Story = {
|
|
|
960
994
|
|
|
961
995
|
{/* Layout Picker */}
|
|
962
996
|
<div className="!space-y-2">
|
|
963
|
-
<h3 className="text-sm font-medium
|
|
997
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
964
998
|
Layout Selection Tool
|
|
965
999
|
</h3>
|
|
966
|
-
<div className="rounded-lg border
|
|
1000
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
967
1001
|
<div className="!space-y-3">
|
|
968
|
-
<h4 className="text-sm font-medium
|
|
1002
|
+
<h4 className="text-fm-icon-active text-sm font-medium">
|
|
1003
|
+
Choose Layout
|
|
1004
|
+
</h4>
|
|
969
1005
|
<div className="grid grid-cols-3 gap-2">
|
|
970
|
-
<button className="flex flex-col items-center gap-2 rounded-lg border
|
|
1006
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info flex flex-col items-center gap-2 rounded-lg border p-3">
|
|
971
1007
|
<LayoutLeftIcon className="h-6 w-6" />
|
|
972
1008
|
<span className="text-xs">Left Sidebar</span>
|
|
973
1009
|
</button>
|
|
974
|
-
<button className="flex flex-col items-center gap-2 rounded-lg border
|
|
1010
|
+
<button className="border-fm-divider-primary bg-fm-surface-secondary text-fm-tertiary hover:bg-fm-surface-secondary flex flex-col items-center gap-2 rounded-lg border p-3">
|
|
975
1011
|
<div className="grid h-6 w-6 grid-cols-2 gap-1">
|
|
976
1012
|
<div className="rounded bg-current"></div>
|
|
977
1013
|
<div className="rounded bg-current"></div>
|
|
978
1014
|
</div>
|
|
979
1015
|
<span className="text-xs">Split View</span>
|
|
980
1016
|
</button>
|
|
981
|
-
<button className="flex flex-col items-center gap-2 rounded-lg border
|
|
1017
|
+
<button className="border-fm-divider-primary bg-fm-surface-secondary text-fm-tertiary hover:bg-fm-surface-secondary flex flex-col items-center gap-2 rounded-lg border p-3">
|
|
982
1018
|
<div className="h-6 w-6 rounded border border-current"></div>
|
|
983
1019
|
<span className="text-xs">Full Width</span>
|
|
984
1020
|
</button>
|
|
@@ -1003,11 +1039,11 @@ export const Playground: Story = {
|
|
|
1003
1039
|
args: {
|
|
1004
1040
|
width: 32,
|
|
1005
1041
|
height: 32,
|
|
1006
|
-
className: "text-
|
|
1042
|
+
className: "text-fm-icon-info",
|
|
1007
1043
|
},
|
|
1008
1044
|
render: (args) => (
|
|
1009
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1010
|
-
<div className="rounded-lg border
|
|
1045
|
+
<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">
|
|
1046
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1011
1047
|
<LayoutLeftIcon {...args} />
|
|
1012
1048
|
</div>
|
|
1013
1049
|
</div>
|