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 LayoutColumnIcon> = {
|
|
|
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 LayoutColumnIcon> = {
|
|
|
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
|
-
<LayoutColumnIcon 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
|
+
<LayoutColumnIcon 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
|
LayoutColumnIcon
|
|
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 layout column icon for representing two-column
|
|
97
97
|
layouts, sidebar navigation, dashboard panels, and content
|
|
98
98
|
organization. Perfect for layout controls, view switchers,
|
|
@@ -103,28 +103,28 @@ const meta: Meta<typeof LayoutColumnIcon> = {
|
|
|
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 LayoutColumnIcon> = {
|
|
|
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 { LayoutColumnIcon } from "@icons/layout-column-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
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
170
|
-
<LayoutColumnIcon 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
|
+
<div className="border-fm-icon-info/20 bg-fm-icon-info/10 flex items-center gap-3 rounded-lg border px-4 py-2">
|
|
170
|
+
<LayoutColumnIcon className="text-fm-icon-info h-5 w-5" />
|
|
171
|
+
<span className="text-fm-icon-active">
|
|
172
|
+
Two Column View
|
|
173
|
+
</span>
|
|
172
174
|
</div>
|
|
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
|
+
18
|
|
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
|
-
<LayoutColumnIcon className="!mx-auto mb-2 h-3 w-3
|
|
291
|
-
<span className="text-
|
|
300
|
+
<LayoutColumnIcon 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
|
-
<LayoutColumnIcon className="!mx-auto mb-2 h-4 w-4
|
|
295
|
-
<span className="text-
|
|
306
|
+
<LayoutColumnIcon 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
|
-
<LayoutColumnIcon className="!mx-auto mb-2 h-5 w-5
|
|
299
|
-
<span className="text-
|
|
312
|
+
<LayoutColumnIcon 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
|
-
<LayoutColumnIcon className="!mx-auto mb-2 h-6 w-6
|
|
303
|
-
<span className="text-
|
|
318
|
+
<LayoutColumnIcon 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
|
-
<LayoutColumnIcon className="!mx-auto mb-2 h-8 w-8
|
|
307
|
-
<span className="text-
|
|
324
|
+
<LayoutColumnIcon 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
|
-
<LayoutColumnIcon className="!mx-auto mb-2 h-12 w-12
|
|
311
|
-
<span className="text-
|
|
330
|
+
<LayoutColumnIcon 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
|
<LayoutColumnIcon 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
|
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
|
-
<LayoutColumnIcon className="h-6 w-6
|
|
375
|
+
<LayoutColumnIcon 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
|
-
<LayoutColumnIcon className="h-6 w-6
|
|
386
|
+
<LayoutColumnIcon className="text-fm-placeholder 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-placeholder
|
|
371
393
|
</div>
|
|
372
394
|
</div>
|
|
373
395
|
</div>
|
|
374
396
|
<div className="flex items-center gap-4">
|
|
375
|
-
<LayoutColumnIcon className="h-6 w-6
|
|
397
|
+
<LayoutColumnIcon className="text-fm-secondary-600 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-secondary-600
|
|
382
404
|
</div>
|
|
383
405
|
</div>
|
|
384
406
|
</div>
|
|
385
407
|
<div className="flex items-center gap-4">
|
|
386
|
-
<LayoutColumnIcon className="h-6 w-6
|
|
408
|
+
<LayoutColumnIcon className="text-fm-icon-positive 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
|
Success
|
|
390
412
|
</div>
|
|
391
|
-
<div className="text-
|
|
392
|
-
text-
|
|
413
|
+
<div className="text-fm-tertiary text-xs">
|
|
414
|
+
text-fm-icon-positive
|
|
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
|
<LayoutColumnIcon className="h-6 w-6 text-blue-400" />
|
|
407
429
|
<LayoutColumnIcon className="h-6 w-6 text-purple-500" />
|
|
@@ -426,23 +448,23 @@ 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
|
{/* Layout 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
|
Layout Toggle Controls
|
|
438
460
|
</h3>
|
|
439
461
|
<div className="!space-y-4">
|
|
440
|
-
<div className="flex items-center gap-2 rounded-lg border
|
|
441
|
-
<button className="flex items-center gap-2 rounded border
|
|
462
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-2 rounded-lg border p-4">
|
|
463
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info flex items-center gap-2 rounded border px-3 py-1.5">
|
|
442
464
|
<LayoutColumnIcon className="h-4 w-4" />
|
|
443
465
|
<span className="text-sm">Two Column</span>
|
|
444
466
|
</button>
|
|
445
|
-
<button className="flex items-center gap-2 rounded border
|
|
467
|
+
<button className="border-fm-divider-primary bg-fm-surface-secondary text-fm-tertiary hover:bg-fm-surface-secondary flex items-center gap-2 rounded border px-3 py-1.5">
|
|
446
468
|
<div className="grid h-4 w-4 grid-cols-3 gap-0.5">
|
|
447
469
|
<div className="rounded-sm bg-current opacity-60"></div>
|
|
448
470
|
<div className="rounded-sm bg-current opacity-60"></div>
|
|
@@ -450,13 +472,13 @@ function MyComponent() {
|
|
|
450
472
|
</div>
|
|
451
473
|
<span className="text-sm">Grid</span>
|
|
452
474
|
</button>
|
|
453
|
-
<button className="flex items-center gap-2 rounded border
|
|
475
|
+
<button className="border-fm-divider-primary bg-fm-surface-secondary text-fm-tertiary hover:bg-fm-surface-secondary flex items-center gap-2 rounded border px-3 py-1.5">
|
|
454
476
|
<div className="h-4 w-4 rounded border border-current"></div>
|
|
455
477
|
<span className="text-sm">Single</span>
|
|
456
478
|
</button>
|
|
457
479
|
</div>
|
|
458
|
-
<div className="rounded-lg
|
|
459
|
-
<pre className="overflow-x-auto text-sm
|
|
480
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
481
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
460
482
|
{`// Layout toggle buttons
|
|
461
483
|
<div className="flex items-center gap-2">
|
|
462
484
|
<button className="flex items-center gap-2 bg-blue-500/20 border border-blue-500/30 px-3 py-1.5 rounded text-blue-200">
|
|
@@ -475,30 +497,30 @@ function MyComponent() {
|
|
|
475
497
|
|
|
476
498
|
{/* Sidebar Navigation */}
|
|
477
499
|
<div className="!space-y-4">
|
|
478
|
-
<h3 className="text-lg font-semibold
|
|
500
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
479
501
|
Sidebar Navigation
|
|
480
502
|
</h3>
|
|
481
503
|
<div className="!space-y-4">
|
|
482
|
-
<div className="rounded-lg border
|
|
504
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
483
505
|
<div className="!space-y-2">
|
|
484
|
-
<div className="flex items-center gap-3 rounded-lg
|
|
506
|
+
<div className="bg-fm-icon-info/20 text-fm-icon-info flex items-center gap-3 rounded-lg px-3 py-2">
|
|
485
507
|
<LayoutColumnIcon className="h-5 w-5" />
|
|
486
508
|
<span className="text-sm font-medium">
|
|
487
509
|
Dashboard
|
|
488
510
|
</span>
|
|
489
511
|
</div>
|
|
490
|
-
<div className="flex items-center gap-3 rounded-lg px-3 py-2
|
|
491
|
-
<div className="h-5 w-5 rounded
|
|
512
|
+
<div className="text-fm-tertiary hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg px-3 py-2">
|
|
513
|
+
<div className="bg-fm-surface-tertiary h-5 w-5 rounded"></div>
|
|
492
514
|
<span className="text-sm">Analytics</span>
|
|
493
515
|
</div>
|
|
494
|
-
<div className="flex items-center gap-3 rounded-lg px-3 py-2
|
|
495
|
-
<div className="h-5 w-5 rounded
|
|
516
|
+
<div className="text-fm-tertiary hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg px-3 py-2">
|
|
517
|
+
<div className="bg-fm-surface-tertiary h-5 w-5 rounded"></div>
|
|
496
518
|
<span className="text-sm">Settings</span>
|
|
497
519
|
</div>
|
|
498
520
|
</div>
|
|
499
521
|
</div>
|
|
500
|
-
<div className="rounded-lg
|
|
501
|
-
<pre className="overflow-x-auto text-sm
|
|
522
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
523
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
502
524
|
{`// Active navigation item
|
|
503
525
|
<div className="flex items-center gap-3 bg-blue-500/20 px-3 py-2 rounded-lg text-blue-200">
|
|
504
526
|
<LayoutColumnIcon className="h-5 w-5" />
|
|
@@ -517,27 +539,27 @@ function MyComponent() {
|
|
|
517
539
|
|
|
518
540
|
{/* View Switcher */}
|
|
519
541
|
<div className="!space-y-4">
|
|
520
|
-
<h3 className="text-lg font-semibold
|
|
542
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
521
543
|
View Switcher
|
|
522
544
|
</h3>
|
|
523
545
|
<div className="!space-y-4">
|
|
524
|
-
<div className="flex items-center justify-between rounded-lg border
|
|
525
|
-
<h4 className="font-medium
|
|
546
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center justify-between rounded-lg border p-4">
|
|
547
|
+
<h4 className="text-fm-icon-active! font-medium">
|
|
526
548
|
Content View
|
|
527
549
|
</h4>
|
|
528
|
-
<div className="flex items-center rounded-lg border
|
|
529
|
-
<button className="flex items-center gap-2 rounded
|
|
550
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center rounded-lg border p-1">
|
|
551
|
+
<button className="bg-fm-icon-info/20 text-fm-icon-info flex items-center gap-2 rounded px-2 py-1">
|
|
530
552
|
<LayoutColumnIcon className="h-4 w-4" />
|
|
531
553
|
<span className="text-xs">Split</span>
|
|
532
554
|
</button>
|
|
533
|
-
<button className="flex items-center gap-2 rounded px-2 py-1
|
|
555
|
+
<button className="text-fm-tertiary hover:bg-fm-surface-secondary flex items-center gap-2 rounded px-2 py-1">
|
|
534
556
|
<div className="h-4 w-4 rounded border border-current"></div>
|
|
535
557
|
<span className="text-xs">Full</span>
|
|
536
558
|
</button>
|
|
537
559
|
</div>
|
|
538
560
|
</div>
|
|
539
|
-
<div className="rounded-lg
|
|
540
|
-
<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">
|
|
541
563
|
{`// View switcher component
|
|
542
564
|
<div className="flex items-center justify-between">
|
|
543
565
|
<h4 className="font-medium text-white">Content View</h4>
|
|
@@ -559,24 +581,24 @@ function MyComponent() {
|
|
|
559
581
|
|
|
560
582
|
{/* Toolbar Integration */}
|
|
561
583
|
<div className="!space-y-4">
|
|
562
|
-
<h3 className="text-lg font-semibold
|
|
584
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
563
585
|
Toolbar Integration
|
|
564
586
|
</h3>
|
|
565
587
|
<div className="!space-y-4">
|
|
566
|
-
<div className="flex items-center justify-between rounded-lg border
|
|
588
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center justify-between rounded-lg border p-3">
|
|
567
589
|
<div className="flex items-center gap-2">
|
|
568
|
-
<button className="rounded p-1.5
|
|
569
|
-
<div className="h-4 w-4 rounded
|
|
590
|
+
<button className="hover:bg-fm-surface-secondary rounded p-1.5">
|
|
591
|
+
<div className="bg-fm-surface-tertiary h-4 w-4 rounded"></div>
|
|
570
592
|
</button>
|
|
571
|
-
<button className="rounded p-1.5
|
|
572
|
-
<div className="h-4 w-4 rounded
|
|
593
|
+
<button className="hover:bg-fm-surface-secondary rounded p-1.5">
|
|
594
|
+
<div className="bg-fm-surface-tertiary h-4 w-4 rounded"></div>
|
|
573
595
|
</button>
|
|
574
596
|
</div>
|
|
575
597
|
<div className="flex items-center gap-1">
|
|
576
|
-
<button className="
|
|
598
|
+
<button className="bg-fm-icon-info/20 text-fm-icon-info rounded p-1.5">
|
|
577
599
|
<LayoutColumnIcon className="h-4 w-4" />
|
|
578
600
|
</button>
|
|
579
|
-
<button className="rounded p-1.5
|
|
601
|
+
<button className="text-fm-tertiary hover:bg-fm-surface-secondary rounded p-1.5">
|
|
580
602
|
<div className="grid h-4 w-4 grid-cols-2 gap-0.5">
|
|
581
603
|
<div className="rounded-sm bg-current"></div>
|
|
582
604
|
<div className="rounded-sm bg-current"></div>
|
|
@@ -584,13 +606,13 @@ function MyComponent() {
|
|
|
584
606
|
<div className="rounded-sm bg-current"></div>
|
|
585
607
|
</div>
|
|
586
608
|
</button>
|
|
587
|
-
<button className="rounded p-1.5
|
|
609
|
+
<button className="text-fm-tertiary hover:bg-fm-surface-secondary rounded p-1.5">
|
|
588
610
|
<div className="h-4 w-4 rounded border border-current"></div>
|
|
589
611
|
</button>
|
|
590
612
|
</div>
|
|
591
613
|
</div>
|
|
592
|
-
<div className="rounded-lg
|
|
593
|
-
<pre className="overflow-x-auto text-sm
|
|
614
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
615
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
594
616
|
{`// Toolbar with layout controls
|
|
595
617
|
<div className="flex items-center justify-between p-3">
|
|
596
618
|
<div className="flex items-center gap-2">
|
|
@@ -619,64 +641,64 @@ function MyComponent() {
|
|
|
619
641
|
|
|
620
642
|
{/* Accessibility */}
|
|
621
643
|
<div className="!space-y-8">
|
|
622
|
-
<h2 className="text-center text-3xl font-bold
|
|
644
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
623
645
|
Accessibility Features
|
|
624
646
|
</h2>
|
|
625
647
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
626
|
-
<div className="!space-y-4 rounded-lg border
|
|
627
|
-
<h3 className="text-lg font-semibold
|
|
648
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
649
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
628
650
|
✅ Built-in Features
|
|
629
651
|
</h3>
|
|
630
|
-
<ul className="!space-y-2 text-sm
|
|
631
|
-
<li className="
|
|
652
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
653
|
+
<li className="text-fm-secondary!">
|
|
632
654
|
Uses Radix UI AccessibleIcon wrapper
|
|
633
655
|
</li>
|
|
634
|
-
<li className="
|
|
656
|
+
<li className="text-fm-secondary!">
|
|
635
657
|
Provides screen reader label "Layout Column Icon"
|
|
636
658
|
</li>
|
|
637
|
-
<li className="
|
|
659
|
+
<li className="text-fm-secondary!">
|
|
638
660
|
Supports keyboard navigation when interactive
|
|
639
661
|
</li>
|
|
640
|
-
<li className="
|
|
662
|
+
<li className="text-fm-secondary!">
|
|
641
663
|
Maintains proper color contrast ratios
|
|
642
664
|
</li>
|
|
643
|
-
<li className="
|
|
665
|
+
<li className="text-fm-secondary!">
|
|
644
666
|
Scales with user's font size preferences
|
|
645
667
|
</li>
|
|
646
668
|
</ul>
|
|
647
669
|
</div>
|
|
648
670
|
|
|
649
|
-
<div className="!space-y-4 rounded-lg border
|
|
650
|
-
<h3 className="text-lg font-semibold
|
|
671
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
672
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
651
673
|
💡 Best Practices
|
|
652
674
|
</h3>
|
|
653
|
-
<ul className="!space-y-2 text-sm
|
|
654
|
-
<li className="
|
|
675
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
676
|
+
<li className="text-fm-secondary!">
|
|
655
677
|
Always pair with descriptive text labels
|
|
656
678
|
</li>
|
|
657
|
-
<li className="
|
|
679
|
+
<li className="text-fm-secondary!">
|
|
658
680
|
Use consistent colors for layout controls
|
|
659
681
|
</li>
|
|
660
|
-
<li className="
|
|
682
|
+
<li className="text-fm-secondary!">
|
|
661
683
|
Ensure sufficient color contrast
|
|
662
684
|
</li>
|
|
663
|
-
<li className="
|
|
685
|
+
<li className="text-fm-secondary!">
|
|
664
686
|
Add focus states for interactive elements
|
|
665
687
|
</li>
|
|
666
|
-
<li className="
|
|
688
|
+
<li className="text-fm-secondary!">
|
|
667
689
|
Provide keyboard shortcuts for layout switching
|
|
668
690
|
</li>
|
|
669
691
|
</ul>
|
|
670
692
|
</div>
|
|
671
693
|
</div>
|
|
672
694
|
|
|
673
|
-
<div className="rounded-lg border
|
|
674
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
695
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
696
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
675
697
|
Custom Accessibility Label
|
|
676
698
|
</h3>
|
|
677
699
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
678
|
-
<div className="rounded-lg
|
|
679
|
-
<pre className="overflow-x-auto text-sm
|
|
700
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
701
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
680
702
|
{`// Custom implementation with specific label
|
|
681
703
|
import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
|
|
682
704
|
|
|
@@ -696,13 +718,13 @@ function CustomLayoutColumnIcon({ label = "Switch to two column layout", ...prop
|
|
|
696
718
|
</pre>
|
|
697
719
|
</div>
|
|
698
720
|
<div className="!space-y-4">
|
|
699
|
-
<p className="text-
|
|
721
|
+
<p className="text-fm-secondary! text-sm">
|
|
700
722
|
For specific contexts, you can wrap the LayoutColumnIcon
|
|
701
723
|
with a custom AccessibleIcon component that provides
|
|
702
724
|
more descriptive labels for different layout actions.
|
|
703
725
|
</p>
|
|
704
|
-
<div className="
|
|
705
|
-
<div className="flex items-center gap-2 text-sm
|
|
726
|
+
<div className="border-fm-icon-info/20 bg-fm-icon-info/10 rounded-lg border p-4">
|
|
727
|
+
<div className="text-fm-icon-info flex items-center gap-2 text-sm">
|
|
706
728
|
<LayoutColumnIcon className="h-4 w-4" />
|
|
707
729
|
<span>
|
|
708
730
|
This approach gives screen readers more context
|
|
@@ -717,60 +739,72 @@ function CustomLayoutColumnIcon({ label = "Switch to two column layout", ...prop
|
|
|
717
739
|
|
|
718
740
|
{/* Related Icons */}
|
|
719
741
|
<div className="!space-y-8">
|
|
720
|
-
<h2 className="text-center text-3xl font-bold
|
|
742
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
721
743
|
Related Icons
|
|
722
744
|
</h2>
|
|
723
745
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
724
|
-
<div className="!space-y-3 rounded-lg border
|
|
725
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
746
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
747
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
726
748
|
<div className="grid h-6 w-6 grid-cols-3 gap-1">
|
|
727
|
-
<div className="
|
|
728
|
-
<div className="
|
|
729
|
-
<div className="
|
|
730
|
-
<div className="
|
|
731
|
-
<div className="
|
|
732
|
-
<div className="
|
|
749
|
+
<div className="bg-fm-icon-info rounded"></div>
|
|
750
|
+
<div className="bg-fm-icon-info rounded"></div>
|
|
751
|
+
<div className="bg-fm-icon-info rounded"></div>
|
|
752
|
+
<div className="bg-fm-icon-info rounded"></div>
|
|
753
|
+
<div className="bg-fm-icon-info rounded"></div>
|
|
754
|
+
<div className="bg-fm-icon-info rounded"></div>
|
|
733
755
|
</div>
|
|
734
756
|
</div>
|
|
735
757
|
<div>
|
|
736
|
-
<div className="font-medium
|
|
737
|
-
|
|
758
|
+
<div className="text-fm-icon-active font-medium">
|
|
759
|
+
GridIcon
|
|
760
|
+
</div>
|
|
761
|
+
<div className="text-fm-tertiary text-xs">
|
|
762
|
+
Grid layouts
|
|
763
|
+
</div>
|
|
738
764
|
</div>
|
|
739
765
|
</div>
|
|
740
|
-
<div className="!space-y-3 rounded-lg border
|
|
741
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
742
|
-
<div className="h-6 w-6 rounded border-2
|
|
766
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
767
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
768
|
+
<div className="border-fm-icon-positive h-6 w-6 rounded border-2"></div>
|
|
743
769
|
</div>
|
|
744
770
|
<div>
|
|
745
|
-
<div className="font-medium
|
|
771
|
+
<div className="text-fm-icon-active font-medium">
|
|
746
772
|
SingleViewIcon
|
|
747
773
|
</div>
|
|
748
|
-
<div className="text-
|
|
774
|
+
<div className="text-fm-tertiary text-xs">
|
|
775
|
+
Single column
|
|
776
|
+
</div>
|
|
749
777
|
</div>
|
|
750
778
|
</div>
|
|
751
|
-
<div className="!space-y-3 rounded-lg border
|
|
752
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
779
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
780
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
753
781
|
<div className="flex h-6 w-6 gap-1">
|
|
754
|
-
<div className="flex-1 rounded
|
|
755
|
-
<div className="flex-1 rounded
|
|
756
|
-
<div className="flex-1 rounded
|
|
782
|
+
<div className="bg-fm-secondary-500 flex-1 rounded"></div>
|
|
783
|
+
<div className="bg-fm-secondary-500 flex-1 rounded"></div>
|
|
784
|
+
<div className="bg-fm-secondary-500 flex-1 rounded"></div>
|
|
757
785
|
</div>
|
|
758
786
|
</div>
|
|
759
787
|
<div>
|
|
760
|
-
<div className="font-medium
|
|
761
|
-
|
|
788
|
+
<div className="text-fm-icon-active font-medium">
|
|
789
|
+
RowsIcon
|
|
790
|
+
</div>
|
|
791
|
+
<div className="text-fm-tertiary text-xs">
|
|
792
|
+
Row layouts
|
|
793
|
+
</div>
|
|
762
794
|
</div>
|
|
763
795
|
</div>
|
|
764
|
-
<div className="!space-y-3 rounded-lg border
|
|
765
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
796
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
797
|
+
<div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
766
798
|
<div className="flex h-6 w-6 gap-1">
|
|
767
|
-
<div className="w-2 rounded
|
|
768
|
-
<div className="flex-1 rounded
|
|
799
|
+
<div className="bg-fm-icon-warning w-2 rounded"></div>
|
|
800
|
+
<div className="bg-fm-icon-warning flex-1 rounded"></div>
|
|
769
801
|
</div>
|
|
770
802
|
</div>
|
|
771
803
|
<div>
|
|
772
|
-
<div className="font-medium
|
|
773
|
-
|
|
804
|
+
<div className="text-fm-icon-active font-medium">
|
|
805
|
+
SidebarIcon
|
|
806
|
+
</div>
|
|
807
|
+
<div className="text-fm-tertiary text-xs">
|
|
774
808
|
Sidebar layouts
|
|
775
809
|
</div>
|
|
776
810
|
</div>
|
|
@@ -780,15 +814,15 @@ function CustomLayoutColumnIcon({ label = "Switch to two column layout", ...prop
|
|
|
780
814
|
</div>
|
|
781
815
|
|
|
782
816
|
{/* Footer */}
|
|
783
|
-
<div className="border-
|
|
817
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
784
818
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
785
819
|
<div className="!space-y-4 text-center">
|
|
786
|
-
<p className="
|
|
820
|
+
<p className="text-fm-tertiary!">
|
|
787
821
|
LayoutColumnIcon is part of the Aural UI icon library,
|
|
788
822
|
designed specifically for layout controls and view switching
|
|
789
823
|
with accessibility in mind.
|
|
790
824
|
</p>
|
|
791
|
-
<p className="text-
|
|
825
|
+
<p className="text-fm-placeholder! text-sm">
|
|
792
826
|
Perfect for dashboards, content management systems, and
|
|
793
827
|
applications that require flexible layout options. Follows
|
|
794
828
|
WCAG guidelines for accessibility.
|
|
@@ -834,8 +868,8 @@ const storyParameters = {
|
|
|
834
868
|
backgrounds: {
|
|
835
869
|
default: "dark",
|
|
836
870
|
values: [
|
|
837
|
-
{ name: "dark", value: "
|
|
838
|
-
{ name: "darker", value: "
|
|
871
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
872
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
839
873
|
],
|
|
840
874
|
},
|
|
841
875
|
}
|
|
@@ -844,12 +878,12 @@ export const Default: Story = {
|
|
|
844
878
|
args: {
|
|
845
879
|
width: 24,
|
|
846
880
|
height: 24,
|
|
847
|
-
className: "text-
|
|
881
|
+
className: "text-fm-icon-info",
|
|
848
882
|
withAccessibility: true,
|
|
849
883
|
},
|
|
850
884
|
parameters: storyParameters,
|
|
851
885
|
render: (args) => (
|
|
852
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
886
|
+
<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">
|
|
853
887
|
<LayoutColumnIcon {...args} />
|
|
854
888
|
</div>
|
|
855
889
|
),
|
|
@@ -866,30 +900,30 @@ export const SizeVariations: Story = {
|
|
|
866
900
|
},
|
|
867
901
|
},
|
|
868
902
|
render: () => (
|
|
869
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
903
|
+
<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">
|
|
870
904
|
<div className="text-center">
|
|
871
|
-
<LayoutColumnIcon className="!mx-auto mb-2 h-3 w-3
|
|
872
|
-
<span className="text-
|
|
905
|
+
<LayoutColumnIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
906
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
873
907
|
</div>
|
|
874
908
|
<div className="text-center">
|
|
875
|
-
<LayoutColumnIcon className="!mx-auto mb-2 h-4 w-4
|
|
876
|
-
<span className="text-
|
|
909
|
+
<LayoutColumnIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
910
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
877
911
|
</div>
|
|
878
912
|
<div className="text-center">
|
|
879
|
-
<LayoutColumnIcon className="!mx-auto mb-2 h-5 w-5
|
|
880
|
-
<span className="text-
|
|
913
|
+
<LayoutColumnIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
914
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
881
915
|
</div>
|
|
882
916
|
<div className="text-center">
|
|
883
|
-
<LayoutColumnIcon className="!mx-auto mb-2 h-6 w-6
|
|
884
|
-
<span className="text-
|
|
917
|
+
<LayoutColumnIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
918
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
885
919
|
</div>
|
|
886
920
|
<div className="text-center">
|
|
887
|
-
<LayoutColumnIcon className="!mx-auto mb-2 h-8 w-8
|
|
888
|
-
<span className="text-
|
|
921
|
+
<LayoutColumnIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
922
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
889
923
|
</div>
|
|
890
924
|
<div className="text-center">
|
|
891
|
-
<LayoutColumnIcon className="!mx-auto mb-2 h-12 w-12
|
|
892
|
-
<span className="text-
|
|
925
|
+
<LayoutColumnIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
926
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
893
927
|
</div>
|
|
894
928
|
</div>
|
|
895
929
|
),
|
|
@@ -906,34 +940,38 @@ export const ColorVariations: Story = {
|
|
|
906
940
|
},
|
|
907
941
|
},
|
|
908
942
|
render: () => (
|
|
909
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
943
|
+
<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">
|
|
910
944
|
<div className="text-center">
|
|
911
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
912
|
-
<LayoutColumnIcon className="h-8 w-8
|
|
945
|
+
<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">
|
|
946
|
+
<LayoutColumnIcon className="text-fm-icon-info h-8 w-8" />
|
|
913
947
|
</div>
|
|
914
|
-
<div className="text-sm font-medium
|
|
915
|
-
<div className="text-
|
|
948
|
+
<div className="text-fm-icon-active text-sm font-medium">Primary</div>
|
|
949
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
916
950
|
</div>
|
|
917
951
|
<div className="text-center">
|
|
918
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
919
|
-
<LayoutColumnIcon className="h-8 w-8
|
|
952
|
+
<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">
|
|
953
|
+
<LayoutColumnIcon className="text-fm-placeholder h-8 w-8" />
|
|
920
954
|
</div>
|
|
921
|
-
<div className="text-sm font-medium
|
|
922
|
-
<div className="text-
|
|
955
|
+
<div className="text-fm-icon-active text-sm font-medium">Secondary</div>
|
|
956
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
923
957
|
</div>
|
|
924
958
|
<div className="text-center">
|
|
925
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
926
|
-
<LayoutColumnIcon className="h-8 w-8
|
|
959
|
+
<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">
|
|
960
|
+
<LayoutColumnIcon className="text-fm-secondary-600 h-8 w-8" />
|
|
961
|
+
</div>
|
|
962
|
+
<div className="text-fm-icon-active text-sm font-medium">Accent</div>
|
|
963
|
+
<div className="text-fm-secondary-600 text-xs">
|
|
964
|
+
text-fm-secondary-600
|
|
927
965
|
</div>
|
|
928
|
-
<div className="text-sm font-medium text-white">Accent</div>
|
|
929
|
-
<div className="text-xs text-purple-400">text-purple-400</div>
|
|
930
966
|
</div>
|
|
931
967
|
<div className="text-center">
|
|
932
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
933
|
-
<LayoutColumnIcon className="h-8 w-8
|
|
968
|
+
<div className="border-fm-icon-positive/30 bg-fm-icon-positive/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
969
|
+
<LayoutColumnIcon className="text-fm-icon-positive h-8 w-8" />
|
|
970
|
+
</div>
|
|
971
|
+
<div className="text-fm-icon-active text-sm font-medium">Success</div>
|
|
972
|
+
<div className="text-fm-icon-positive text-xs">
|
|
973
|
+
text-fm-icon-positive
|
|
934
974
|
</div>
|
|
935
|
-
<div className="text-sm font-medium text-white">Success</div>
|
|
936
|
-
<div className="text-xs text-emerald-400">text-emerald-400</div>
|
|
937
975
|
</div>
|
|
938
976
|
</div>
|
|
939
977
|
),
|
|
@@ -950,18 +988,18 @@ export const UsageExamples: Story = {
|
|
|
950
988
|
},
|
|
951
989
|
},
|
|
952
990
|
render: () => (
|
|
953
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
991
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
954
992
|
{/* Layout Toggle */}
|
|
955
993
|
<div className="!space-y-2">
|
|
956
|
-
<h3 className="text-sm font-medium
|
|
994
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
957
995
|
Layout Toggle Controls
|
|
958
996
|
</h3>
|
|
959
|
-
<div className="flex items-center gap-2 rounded-lg border
|
|
960
|
-
<button className="flex items-center gap-2 rounded border
|
|
997
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-2 rounded-lg border p-4">
|
|
998
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info flex items-center gap-2 rounded border px-3 py-1.5">
|
|
961
999
|
<LayoutColumnIcon className="h-4 w-4" />
|
|
962
1000
|
<span className="text-sm">Two Column</span>
|
|
963
1001
|
</button>
|
|
964
|
-
<button className="flex items-center gap-2 rounded border
|
|
1002
|
+
<button className="border-fm-divider-primary bg-fm-surface-secondary text-fm-tertiary hover:bg-fm-surface-secondary flex items-center gap-2 rounded border px-3 py-1.5">
|
|
965
1003
|
<div className="grid h-4 w-4 grid-cols-3 gap-0.5">
|
|
966
1004
|
<div className="rounded-sm bg-current opacity-60"></div>
|
|
967
1005
|
<div className="rounded-sm bg-current opacity-60"></div>
|
|
@@ -974,15 +1012,17 @@ export const UsageExamples: Story = {
|
|
|
974
1012
|
|
|
975
1013
|
{/* Sidebar Navigation */}
|
|
976
1014
|
<div className="!space-y-2">
|
|
977
|
-
<h3 className="text-sm font-medium
|
|
978
|
-
|
|
1015
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1016
|
+
Sidebar Navigation
|
|
1017
|
+
</h3>
|
|
1018
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
979
1019
|
<div className="!space-y-2">
|
|
980
|
-
<div className="flex items-center gap-3 rounded-lg
|
|
1020
|
+
<div className="bg-fm-icon-info/20 text-fm-icon-info flex items-center gap-3 rounded-lg px-3 py-2">
|
|
981
1021
|
<LayoutColumnIcon className="h-5 w-5" />
|
|
982
1022
|
<span className="text-sm font-medium">Dashboard</span>
|
|
983
1023
|
</div>
|
|
984
|
-
<div className="flex items-center gap-3 rounded-lg px-3 py-2
|
|
985
|
-
<div className="h-5 w-5 rounded
|
|
1024
|
+
<div className="text-fm-tertiary hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg px-3 py-2">
|
|
1025
|
+
<div className="bg-fm-surface-tertiary h-5 w-5 rounded"></div>
|
|
986
1026
|
<span className="text-sm">Analytics</span>
|
|
987
1027
|
</div>
|
|
988
1028
|
</div>
|
|
@@ -991,15 +1031,17 @@ export const UsageExamples: Story = {
|
|
|
991
1031
|
|
|
992
1032
|
{/* View Switcher */}
|
|
993
1033
|
<div className="!space-y-2">
|
|
994
|
-
<h3 className="text-sm font-medium
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
1034
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1035
|
+
View Switcher
|
|
1036
|
+
</h3>
|
|
1037
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center justify-between rounded-lg border p-4">
|
|
1038
|
+
<h4 className="text-fm-icon-active font-medium">Content View</h4>
|
|
1039
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center rounded-lg border p-1">
|
|
1040
|
+
<button className="bg-fm-icon-info/20 text-fm-icon-info flex items-center gap-2 rounded px-2 py-1">
|
|
999
1041
|
<LayoutColumnIcon className="h-4 w-4" />
|
|
1000
1042
|
<span className="text-xs">Split</span>
|
|
1001
1043
|
</button>
|
|
1002
|
-
<button className="flex items-center gap-2 rounded px-2 py-1
|
|
1044
|
+
<button className="text-fm-tertiary hover:bg-fm-surface-secondary flex items-center gap-2 rounded px-2 py-1">
|
|
1003
1045
|
<div className="h-4 w-4 rounded border border-current"></div>
|
|
1004
1046
|
<span className="text-xs">Full</span>
|
|
1005
1047
|
</button>
|
|
@@ -1023,11 +1065,11 @@ export const Playground: Story = {
|
|
|
1023
1065
|
args: {
|
|
1024
1066
|
width: 32,
|
|
1025
1067
|
height: 32,
|
|
1026
|
-
className: "text-
|
|
1068
|
+
className: "text-fm-icon-info",
|
|
1027
1069
|
},
|
|
1028
1070
|
render: (args) => (
|
|
1029
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1030
|
-
<div className="rounded-lg border
|
|
1071
|
+
<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">
|
|
1072
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1031
1073
|
<LayoutColumnIcon {...args} />
|
|
1032
1074
|
</div>
|
|
1033
1075
|
</div>
|