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 LayoutRightIcon> = {
|
|
|
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 LayoutRightIcon> = {
|
|
|
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-positive/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-positive/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
|
-
<LayoutRightIcon className="h-12 w-12
|
|
89
|
+
<div className="border-fm-icon-positive/30 from-fm-icon-positive/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
|
+
<LayoutRightIcon className="text-fm-icon-positive h-12 w-12" />
|
|
91
91
|
</div>
|
|
92
92
|
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
93
93
|
LayoutRightIcon
|
|
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 right sidebar layout icon for representing
|
|
97
97
|
right-aligned navigation, detail panels, and secondary
|
|
98
98
|
content areas. Perfect for layout controls, responsive
|
|
@@ -103,28 +103,28 @@ const meta: Meta<typeof LayoutRightIcon> = {
|
|
|
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-positive 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-positive 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 LayoutRightIcon> = {
|
|
|
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-positive! 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 { LayoutRightIcon } from "@icons/layout-right-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-positive! 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
|
-
<span className="text-
|
|
171
|
-
|
|
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-positive/20 bg-fm-icon-positive/10 hover:bg-fm-icon-positive/20 flex items-center gap-3 rounded-lg border px-4 py-2 transition-colors">
|
|
170
|
+
<span className="text-fm-icon-active">
|
|
171
|
+
Show Details
|
|
172
|
+
</span>
|
|
173
|
+
<LayoutRightIcon className="text-fm-icon-positive h-5 w-5" />
|
|
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-positive! 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-positive! 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-positive! 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-positive! 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-positive! 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
|
-
<LayoutRightIcon className="!mx-auto mb-2 h-3 w-3
|
|
291
|
-
<span className="text-
|
|
300
|
+
<LayoutRightIcon className="text-fm-icon-positive !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
|
-
<LayoutRightIcon className="!mx-auto mb-2 h-4 w-4
|
|
295
|
-
<span className="text-
|
|
306
|
+
<LayoutRightIcon className="text-fm-icon-positive !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
|
-
<LayoutRightIcon className="!mx-auto mb-2 h-5 w-5
|
|
299
|
-
<span className="text-
|
|
312
|
+
<LayoutRightIcon className="text-fm-icon-positive !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
|
-
<LayoutRightIcon className="!mx-auto mb-2 h-6 w-6
|
|
303
|
-
<span className="text-
|
|
318
|
+
<LayoutRightIcon className="text-fm-icon-positive !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
|
-
<LayoutRightIcon className="!mx-auto mb-2 h-8 w-8
|
|
307
|
-
<span className="text-
|
|
324
|
+
<LayoutRightIcon className="text-fm-icon-positive !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
|
-
<LayoutRightIcon className="!mx-auto mb-2 h-12 w-12
|
|
311
|
-
<span className="text-
|
|
330
|
+
<LayoutRightIcon className="text-fm-icon-positive !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-positive! 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
|
<LayoutRightIcon 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-positive! 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
|
-
<LayoutRightIcon className="h-6 w-6
|
|
375
|
+
<LayoutRightIcon className="text-fm-icon-positive 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-positive
|
|
360
382
|
</div>
|
|
361
383
|
</div>
|
|
362
384
|
</div>
|
|
363
385
|
<div className="flex items-center gap-4">
|
|
364
|
-
<LayoutRightIcon className="h-6 w-6
|
|
386
|
+
<LayoutRightIcon 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
|
-
<LayoutRightIcon className="h-6 w-6
|
|
397
|
+
<LayoutRightIcon className="text-fm-icon-positive 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-positive
|
|
382
404
|
</div>
|
|
383
405
|
</div>
|
|
384
406
|
</div>
|
|
385
407
|
<div className="flex items-center gap-4">
|
|
386
|
-
<LayoutRightIcon className="h-6 w-6
|
|
408
|
+
<LayoutRightIcon 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-positive! 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
|
<LayoutRightIcon className="h-6 w-6 text-emerald-400" />
|
|
407
429
|
<LayoutRightIcon className="h-6 w-6 text-teal-500" />
|
|
@@ -426,30 +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
|
{/* Detail Panel Toggle */}
|
|
435
457
|
<div className="!space-y-4">
|
|
436
|
-
<h3 className="text-lg font-semibold
|
|
458
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
437
459
|
Detail Panel Toggle
|
|
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
|
|
464
|
+
<h4 className="text-fm-icon-active! font-medium">
|
|
443
465
|
Document View
|
|
444
466
|
</h4>
|
|
445
|
-
<button className="flex items-center gap-2 rounded border
|
|
467
|
+
<button className="border-fm-icon-positive/30 bg-fm-icon-positive/20 text-fm-icon-positive hover:bg-fm-icon-positive/30 flex items-center gap-2 rounded border px-3 py-1.5 transition-colors">
|
|
446
468
|
<span className="text-sm">Show Properties</span>
|
|
447
469
|
<LayoutRightIcon className="h-4 w-4" />
|
|
448
470
|
</button>
|
|
449
471
|
</div>
|
|
450
472
|
</div>
|
|
451
|
-
<div className="rounded-lg
|
|
452
|
-
<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">
|
|
453
475
|
{`// Detail panel toggle button
|
|
454
476
|
<button className="flex items-center gap-2 bg-emerald-500/20 border border-emerald-500/30 px-3 py-1.5 rounded text-emerald-200">
|
|
455
477
|
<span className="text-sm">Show Properties</span>
|
|
@@ -462,17 +484,17 @@ function MyComponent() {
|
|
|
462
484
|
|
|
463
485
|
{/* Navigation Menu */}
|
|
464
486
|
<div className="!space-y-4">
|
|
465
|
-
<h3 className="text-lg font-semibold
|
|
487
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
466
488
|
Navigation Menu
|
|
467
489
|
</h3>
|
|
468
490
|
<div className="!space-y-4">
|
|
469
|
-
<div className="rounded-lg border
|
|
491
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
470
492
|
<div className="!space-y-2">
|
|
471
|
-
<div className="flex items-center gap-3 rounded-lg px-3 py-2
|
|
472
|
-
<div className="h-5 w-5 rounded
|
|
493
|
+
<div className="text-fm-tertiary hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg px-3 py-2">
|
|
494
|
+
<div className="bg-fm-surface-tertiary h-5 w-5 rounded"></div>
|
|
473
495
|
<span className="text-sm">Main Content</span>
|
|
474
496
|
</div>
|
|
475
|
-
<div className="flex items-center gap-3 rounded-lg
|
|
497
|
+
<div className="bg-fm-icon-positive/20 text-fm-icon-positive flex items-center gap-3 rounded-lg px-3 py-2">
|
|
476
498
|
<span className="text-sm font-medium">
|
|
477
499
|
Right Panel
|
|
478
500
|
</span>
|
|
@@ -480,8 +502,8 @@ function MyComponent() {
|
|
|
480
502
|
</div>
|
|
481
503
|
</div>
|
|
482
504
|
</div>
|
|
483
|
-
<div className="rounded-lg
|
|
484
|
-
<pre className="overflow-x-auto text-sm
|
|
505
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
506
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
485
507
|
{`// Active navigation item
|
|
486
508
|
<div className="flex items-center gap-3 bg-emerald-500/20 px-3 py-2 rounded-lg text-emerald-200">
|
|
487
509
|
<span className="text-sm font-medium">Right Panel</span>
|
|
@@ -494,39 +516,39 @@ function MyComponent() {
|
|
|
494
516
|
|
|
495
517
|
{/* Layout Picker */}
|
|
496
518
|
<div className="!space-y-4">
|
|
497
|
-
<h3 className="text-lg font-semibold
|
|
519
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
498
520
|
Layout Selection Tool
|
|
499
521
|
</h3>
|
|
500
522
|
<div className="!space-y-4">
|
|
501
|
-
<div className="rounded-lg border
|
|
523
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
502
524
|
<div className="!space-y-3">
|
|
503
|
-
<h4 className="text-sm font-medium
|
|
525
|
+
<h4 className="text-fm-icon-active! text-sm font-medium">
|
|
504
526
|
Choose Layout
|
|
505
527
|
</h4>
|
|
506
528
|
<div className="grid grid-cols-3 gap-2">
|
|
507
|
-
<button className="flex flex-col items-center gap-2 rounded-lg border
|
|
529
|
+
<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">
|
|
508
530
|
<div className="flex h-6 w-6 gap-1">
|
|
509
531
|
<div className="w-2 rounded bg-current"></div>
|
|
510
532
|
<div className="flex-1 rounded bg-current"></div>
|
|
511
533
|
</div>
|
|
512
534
|
<span className="text-xs">Left Sidebar</span>
|
|
513
535
|
</button>
|
|
514
|
-
<button className="flex flex-col items-center gap-2 rounded-lg border
|
|
536
|
+
<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">
|
|
515
537
|
<div className="grid h-6 w-6 grid-cols-2 gap-1">
|
|
516
538
|
<div className="rounded bg-current"></div>
|
|
517
539
|
<div className="rounded bg-current"></div>
|
|
518
540
|
</div>
|
|
519
541
|
<span className="text-xs">Split View</span>
|
|
520
542
|
</button>
|
|
521
|
-
<button className="flex flex-col items-center gap-2 rounded-lg border
|
|
543
|
+
<button className="border-fm-icon-positive/30 bg-fm-icon-positive/20 text-fm-icon-positive flex flex-col items-center gap-2 rounded-lg border p-3">
|
|
522
544
|
<LayoutRightIcon className="h-6 w-6" />
|
|
523
545
|
<span className="text-xs">Right Sidebar</span>
|
|
524
546
|
</button>
|
|
525
547
|
</div>
|
|
526
548
|
</div>
|
|
527
549
|
</div>
|
|
528
|
-
<div className="rounded-lg
|
|
529
|
-
<pre className="overflow-x-auto text-sm
|
|
550
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
551
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
530
552
|
{`// Layout selection grid
|
|
531
553
|
<div className="grid grid-cols-3 gap-2">
|
|
532
554
|
<button className="flex flex-col items-center gap-2 bg-emerald-500/20 border border-emerald-500/30 p-3 rounded-lg text-emerald-200">
|
|
@@ -542,30 +564,30 @@ function MyComponent() {
|
|
|
542
564
|
|
|
543
565
|
{/* Master-Detail Interface */}
|
|
544
566
|
<div className="!space-y-4">
|
|
545
|
-
<h3 className="text-lg font-semibold
|
|
567
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
546
568
|
Master-Detail Interface
|
|
547
569
|
</h3>
|
|
548
570
|
<div className="!space-y-4">
|
|
549
|
-
<div className="rounded-lg border
|
|
571
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
550
572
|
<div className="flex items-center justify-between">
|
|
551
573
|
<div className="flex items-center gap-2">
|
|
552
|
-
<span className="text-
|
|
574
|
+
<span className="text-fm-icon-active text-sm">
|
|
553
575
|
Email List
|
|
554
576
|
</span>
|
|
555
|
-
<div className="h-2 w-2 rounded-full
|
|
577
|
+
<div className="bg-fm-icon-info h-2 w-2 rounded-full"></div>
|
|
556
578
|
</div>
|
|
557
579
|
<div className="flex items-center gap-1">
|
|
558
|
-
<button className="
|
|
580
|
+
<button className="text-fm-tertiary hover:bg-fm-surface-secondary rounded p-2">
|
|
559
581
|
<div className="h-4 w-4 rounded border border-current"></div>
|
|
560
582
|
</button>
|
|
561
|
-
<button className="
|
|
583
|
+
<button className="bg-fm-icon-positive/20 text-fm-icon-positive rounded p-2">
|
|
562
584
|
<LayoutRightIcon className="h-4 w-4" />
|
|
563
585
|
</button>
|
|
564
586
|
</div>
|
|
565
587
|
</div>
|
|
566
588
|
</div>
|
|
567
|
-
<div className="rounded-lg
|
|
568
|
-
<pre className="overflow-x-auto text-sm
|
|
589
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
590
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
569
591
|
{`// Master-detail layout controls
|
|
570
592
|
<div className="flex items-center gap-1">
|
|
571
593
|
<button className="p-2 rounded text-white/60 hover:bg-white/10">
|
|
@@ -584,64 +606,64 @@ function MyComponent() {
|
|
|
584
606
|
|
|
585
607
|
{/* Accessibility */}
|
|
586
608
|
<div className="!space-y-8">
|
|
587
|
-
<h2 className="text-center text-3xl font-bold
|
|
609
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
588
610
|
Accessibility Features
|
|
589
611
|
</h2>
|
|
590
612
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
591
|
-
<div className="!space-y-4 rounded-lg border
|
|
592
|
-
<h3 className="text-lg font-semibold
|
|
613
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
614
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
593
615
|
✅ Built-in Features
|
|
594
616
|
</h3>
|
|
595
|
-
<ul className="!space-y-2 text-sm
|
|
596
|
-
<li className="
|
|
617
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
618
|
+
<li className="text-fm-secondary!">
|
|
597
619
|
Uses Radix UI AccessibleIcon wrapper
|
|
598
620
|
</li>
|
|
599
|
-
<li className="
|
|
621
|
+
<li className="text-fm-secondary!">
|
|
600
622
|
Provides screen reader label "Layout Right Icon"
|
|
601
623
|
</li>
|
|
602
|
-
<li className="
|
|
624
|
+
<li className="text-fm-secondary!">
|
|
603
625
|
Supports keyboard navigation when interactive
|
|
604
626
|
</li>
|
|
605
|
-
<li className="
|
|
627
|
+
<li className="text-fm-secondary!">
|
|
606
628
|
Maintains proper color contrast ratios
|
|
607
629
|
</li>
|
|
608
|
-
<li className="
|
|
630
|
+
<li className="text-fm-secondary!">
|
|
609
631
|
Scales with user's font size preferences
|
|
610
632
|
</li>
|
|
611
633
|
</ul>
|
|
612
634
|
</div>
|
|
613
635
|
|
|
614
|
-
<div className="!space-y-4 rounded-lg border
|
|
615
|
-
<h3 className="text-lg font-semibold
|
|
636
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
637
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
616
638
|
💡 Best Practices
|
|
617
639
|
</h3>
|
|
618
|
-
<ul className="!space-y-2 text-sm
|
|
619
|
-
<li className="
|
|
640
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
641
|
+
<li className="text-fm-secondary!">
|
|
620
642
|
Always pair with descriptive text or tooltips
|
|
621
643
|
</li>
|
|
622
|
-
<li className="
|
|
644
|
+
<li className="text-fm-secondary!">
|
|
623
645
|
Use consistent colors for layout controls
|
|
624
646
|
</li>
|
|
625
|
-
<li className="
|
|
647
|
+
<li className="text-fm-secondary!">
|
|
626
648
|
Ensure sufficient color contrast
|
|
627
649
|
</li>
|
|
628
|
-
<li className="
|
|
650
|
+
<li className="text-fm-secondary!">
|
|
629
651
|
Add focus states for interactive elements
|
|
630
652
|
</li>
|
|
631
|
-
<li className="
|
|
653
|
+
<li className="text-fm-secondary!">
|
|
632
654
|
Provide keyboard shortcuts for layout switching
|
|
633
655
|
</li>
|
|
634
656
|
</ul>
|
|
635
657
|
</div>
|
|
636
658
|
</div>
|
|
637
659
|
|
|
638
|
-
<div className="rounded-lg border
|
|
639
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
660
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
661
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
640
662
|
Custom Accessibility Label
|
|
641
663
|
</h3>
|
|
642
664
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
643
|
-
<div className="rounded-lg
|
|
644
|
-
<pre className="overflow-x-auto text-sm
|
|
665
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
666
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
645
667
|
{`// Custom implementation with specific label
|
|
646
668
|
import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
|
|
647
669
|
|
|
@@ -661,14 +683,14 @@ function CustomLayoutRightIcon({ label = "Toggle right sidebar", ...props }) {
|
|
|
661
683
|
</pre>
|
|
662
684
|
</div>
|
|
663
685
|
<div className="!space-y-4">
|
|
664
|
-
<p className="text-
|
|
686
|
+
<p className="text-fm-secondary! text-sm">
|
|
665
687
|
For specific contexts, you can wrap the LayoutRightIcon
|
|
666
688
|
with a custom AccessibleIcon component that provides
|
|
667
689
|
more descriptive labels for different right panel
|
|
668
690
|
actions.
|
|
669
691
|
</p>
|
|
670
|
-
<div className="
|
|
671
|
-
<div className="flex items-center gap-2 text-sm
|
|
692
|
+
<div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 rounded-lg border p-4">
|
|
693
|
+
<div className="text-fm-icon-positive flex items-center gap-2 text-sm">
|
|
672
694
|
<LayoutRightIcon className="h-4 w-4" />
|
|
673
695
|
<span>
|
|
674
696
|
This approach gives screen readers more context
|
|
@@ -683,63 +705,71 @@ function CustomLayoutRightIcon({ label = "Toggle right sidebar", ...props }) {
|
|
|
683
705
|
|
|
684
706
|
{/* Related Icons */}
|
|
685
707
|
<div className="!space-y-8">
|
|
686
|
-
<h2 className="text-center text-3xl font-bold
|
|
708
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
687
709
|
Related Icons
|
|
688
710
|
</h2>
|
|
689
711
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
690
|
-
<div className="!space-y-3 rounded-lg border
|
|
691
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
712
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
713
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
692
714
|
<div className="flex h-6 w-6 gap-1">
|
|
693
|
-
<div className="w-2 rounded
|
|
694
|
-
<div className="flex-1 rounded
|
|
715
|
+
<div className="bg-fm-icon-info w-2 rounded"></div>
|
|
716
|
+
<div className="bg-fm-icon-info flex-1 rounded"></div>
|
|
695
717
|
</div>
|
|
696
718
|
</div>
|
|
697
719
|
<div>
|
|
698
|
-
<div className="font-medium
|
|
720
|
+
<div className="text-fm-icon-active font-medium">
|
|
699
721
|
LayoutLeftIcon
|
|
700
722
|
</div>
|
|
701
|
-
<div className="text-
|
|
723
|
+
<div className="text-fm-tertiary text-xs">
|
|
724
|
+
Left sidebar
|
|
725
|
+
</div>
|
|
702
726
|
</div>
|
|
703
727
|
</div>
|
|
704
|
-
<div className="!space-y-3 rounded-lg border
|
|
705
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
728
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
729
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
706
730
|
<div className="flex h-6 w-6 gap-1">
|
|
707
|
-
<div className="flex-1 rounded
|
|
708
|
-
<div className="flex-1 rounded
|
|
731
|
+
<div className="bg-fm-icon-info flex-1 rounded"></div>
|
|
732
|
+
<div className="bg-fm-icon-info flex-1 rounded"></div>
|
|
709
733
|
</div>
|
|
710
734
|
</div>
|
|
711
735
|
<div>
|
|
712
|
-
<div className="font-medium
|
|
736
|
+
<div className="text-fm-icon-active font-medium">
|
|
713
737
|
LayoutColumnIcon
|
|
714
738
|
</div>
|
|
715
|
-
<div className="text-
|
|
739
|
+
<div className="text-fm-tertiary text-xs">
|
|
740
|
+
Two columns
|
|
741
|
+
</div>
|
|
716
742
|
</div>
|
|
717
743
|
</div>
|
|
718
|
-
<div className="!space-y-3 rounded-lg border
|
|
719
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
744
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
745
|
+
<div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
720
746
|
<div className="grid h-6 w-6 grid-cols-3 gap-1">
|
|
721
|
-
<div className="
|
|
722
|
-
<div className="
|
|
723
|
-
<div className="
|
|
724
|
-
<div className="
|
|
725
|
-
<div className="
|
|
726
|
-
<div className="
|
|
747
|
+
<div className="bg-fm-icon-warning rounded"></div>
|
|
748
|
+
<div className="bg-fm-icon-warning rounded"></div>
|
|
749
|
+
<div className="bg-fm-icon-warning rounded"></div>
|
|
750
|
+
<div className="bg-fm-icon-warning rounded"></div>
|
|
751
|
+
<div className="bg-fm-icon-warning rounded"></div>
|
|
752
|
+
<div className="bg-fm-icon-warning rounded"></div>
|
|
727
753
|
</div>
|
|
728
754
|
</div>
|
|
729
755
|
<div>
|
|
730
|
-
<div className="font-medium
|
|
731
|
-
|
|
756
|
+
<div className="text-fm-icon-active font-medium">
|
|
757
|
+
GridIcon
|
|
758
|
+
</div>
|
|
759
|
+
<div className="text-fm-tertiary text-xs">
|
|
760
|
+
Grid layouts
|
|
761
|
+
</div>
|
|
732
762
|
</div>
|
|
733
763
|
</div>
|
|
734
|
-
<div className="!space-y-3 rounded-lg border
|
|
735
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
736
|
-
<div className="h-6 w-6 rounded border-2
|
|
764
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
765
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
766
|
+
<div className="border-fm-secondary-500 h-6 w-6 rounded border-2"></div>
|
|
737
767
|
</div>
|
|
738
768
|
<div>
|
|
739
|
-
<div className="font-medium
|
|
769
|
+
<div className="text-fm-icon-active font-medium">
|
|
740
770
|
FullWidthIcon
|
|
741
771
|
</div>
|
|
742
|
-
<div className="text-
|
|
772
|
+
<div className="text-fm-tertiary text-xs">Full width</div>
|
|
743
773
|
</div>
|
|
744
774
|
</div>
|
|
745
775
|
</div>
|
|
@@ -747,15 +777,15 @@ function CustomLayoutRightIcon({ label = "Toggle right sidebar", ...props }) {
|
|
|
747
777
|
</div>
|
|
748
778
|
|
|
749
779
|
{/* Footer */}
|
|
750
|
-
<div className="border-
|
|
780
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
751
781
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
752
782
|
<div className="!space-y-4 text-center">
|
|
753
|
-
<p className="
|
|
783
|
+
<p className="text-fm-tertiary!">
|
|
754
784
|
LayoutRightIcon is part of the Aural UI icon library,
|
|
755
785
|
designed specifically for right sidebar layouts and detail
|
|
756
786
|
panels with accessibility in mind.
|
|
757
787
|
</p>
|
|
758
|
-
<p className="text-
|
|
788
|
+
<p className="text-fm-placeholder! text-sm">
|
|
759
789
|
Perfect for master-detail interfaces, property panels, and
|
|
760
790
|
applications that require flexible right-side content areas.
|
|
761
791
|
Follows WCAG guidelines for accessibility.
|
|
@@ -801,8 +831,8 @@ const storyParameters = {
|
|
|
801
831
|
backgrounds: {
|
|
802
832
|
default: "dark",
|
|
803
833
|
values: [
|
|
804
|
-
{ name: "dark", value: "
|
|
805
|
-
{ name: "darker", value: "
|
|
834
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
835
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
806
836
|
],
|
|
807
837
|
},
|
|
808
838
|
}
|
|
@@ -811,12 +841,12 @@ export const Default: Story = {
|
|
|
811
841
|
args: {
|
|
812
842
|
width: 24,
|
|
813
843
|
height: 24,
|
|
814
|
-
className: "text-
|
|
844
|
+
className: "text-fm-icon-positive",
|
|
815
845
|
withAccessibility: true,
|
|
816
846
|
},
|
|
817
847
|
parameters: storyParameters,
|
|
818
848
|
render: (args) => (
|
|
819
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
849
|
+
<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">
|
|
820
850
|
<LayoutRightIcon {...args} />
|
|
821
851
|
</div>
|
|
822
852
|
),
|
|
@@ -833,30 +863,30 @@ export const SizeVariations: Story = {
|
|
|
833
863
|
},
|
|
834
864
|
},
|
|
835
865
|
render: () => (
|
|
836
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
866
|
+
<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">
|
|
837
867
|
<div className="text-center">
|
|
838
|
-
<LayoutRightIcon className="!mx-auto mb-2 h-3 w-3
|
|
839
|
-
<span className="text-
|
|
868
|
+
<LayoutRightIcon className="text-fm-icon-positive !mx-auto mb-2 h-3 w-3" />
|
|
869
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
840
870
|
</div>
|
|
841
871
|
<div className="text-center">
|
|
842
|
-
<LayoutRightIcon className="!mx-auto mb-2 h-4 w-4
|
|
843
|
-
<span className="text-
|
|
872
|
+
<LayoutRightIcon className="text-fm-icon-positive !mx-auto mb-2 h-4 w-4" />
|
|
873
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
844
874
|
</div>
|
|
845
875
|
<div className="text-center">
|
|
846
|
-
<LayoutRightIcon className="!mx-auto mb-2 h-5 w-5
|
|
847
|
-
<span className="text-
|
|
876
|
+
<LayoutRightIcon className="text-fm-icon-positive !mx-auto mb-2 h-5 w-5" />
|
|
877
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
848
878
|
</div>
|
|
849
879
|
<div className="text-center">
|
|
850
|
-
<LayoutRightIcon className="!mx-auto mb-2 h-6 w-6
|
|
851
|
-
<span className="text-
|
|
880
|
+
<LayoutRightIcon className="text-fm-icon-positive !mx-auto mb-2 h-6 w-6" />
|
|
881
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
852
882
|
</div>
|
|
853
883
|
<div className="text-center">
|
|
854
|
-
<LayoutRightIcon className="!mx-auto mb-2 h-8 w-8
|
|
855
|
-
<span className="text-
|
|
884
|
+
<LayoutRightIcon className="text-fm-icon-positive !mx-auto mb-2 h-8 w-8" />
|
|
885
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
856
886
|
</div>
|
|
857
887
|
<div className="text-center">
|
|
858
|
-
<LayoutRightIcon className="!mx-auto mb-2 h-12 w-12
|
|
859
|
-
<span className="text-
|
|
888
|
+
<LayoutRightIcon className="text-fm-icon-positive !mx-auto mb-2 h-12 w-12" />
|
|
889
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
860
890
|
</div>
|
|
861
891
|
</div>
|
|
862
892
|
),
|
|
@@ -873,34 +903,38 @@ export const ColorVariations: Story = {
|
|
|
873
903
|
},
|
|
874
904
|
},
|
|
875
905
|
render: () => (
|
|
876
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
906
|
+
<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">
|
|
877
907
|
<div className="text-center">
|
|
878
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
879
|
-
<LayoutRightIcon className="h-8 w-8
|
|
908
|
+
<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">
|
|
909
|
+
<LayoutRightIcon className="text-fm-icon-positive h-8 w-8" />
|
|
910
|
+
</div>
|
|
911
|
+
<div className="text-fm-icon-active text-sm font-medium">Primary</div>
|
|
912
|
+
<div className="text-fm-icon-positive text-xs">
|
|
913
|
+
text-fm-icon-positive
|
|
880
914
|
</div>
|
|
881
|
-
<div className="text-sm font-medium text-white">Primary</div>
|
|
882
|
-
<div className="text-xs text-emerald-400">text-emerald-400</div>
|
|
883
915
|
</div>
|
|
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
|
-
<LayoutRightIcon 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
|
+
<LayoutRightIcon 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">Secondary</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
|
-
<LayoutRightIcon className="h-8 w-8
|
|
924
|
+
<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">
|
|
925
|
+
<LayoutRightIcon className="text-fm-icon-positive h-8 w-8" />
|
|
926
|
+
</div>
|
|
927
|
+
<div className="text-fm-icon-active text-sm font-medium">Accent</div>
|
|
928
|
+
<div className="text-fm-icon-positive text-xs">
|
|
929
|
+
text-fm-icon-positive
|
|
894
930
|
</div>
|
|
895
|
-
<div className="text-sm font-medium text-white">Accent</div>
|
|
896
|
-
<div className="text-xs text-green-400">text-green-400</div>
|
|
897
931
|
</div>
|
|
898
932
|
<div className="text-center">
|
|
899
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
900
|
-
<LayoutRightIcon className="h-8 w-8
|
|
933
|
+
<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">
|
|
934
|
+
<LayoutRightIcon className="text-fm-placeholder h-8 w-8" />
|
|
901
935
|
</div>
|
|
902
|
-
<div className="text-sm font-medium
|
|
903
|
-
<div className="text-
|
|
936
|
+
<div className="text-fm-icon-active text-sm font-medium">Muted</div>
|
|
937
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
904
938
|
</div>
|
|
905
939
|
</div>
|
|
906
940
|
),
|
|
@@ -917,14 +951,16 @@ export const UsageExamples: Story = {
|
|
|
917
951
|
},
|
|
918
952
|
},
|
|
919
953
|
render: () => (
|
|
920
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
954
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
921
955
|
{/* Detail Panel Toggle */}
|
|
922
956
|
<div className="!space-y-2">
|
|
923
|
-
<h3 className="text-sm font-medium
|
|
924
|
-
|
|
957
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
958
|
+
Detail Panel Toggle
|
|
959
|
+
</h3>
|
|
960
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
925
961
|
<div className="flex items-center justify-between">
|
|
926
|
-
<h4 className="font-medium
|
|
927
|
-
<button className="flex items-center gap-2 rounded border
|
|
962
|
+
<h4 className="text-fm-icon-active font-medium">Document View</h4>
|
|
963
|
+
<button className="border-fm-icon-positive/30 bg-fm-icon-positive/20 text-fm-icon-positive hover:bg-fm-icon-positive/30 flex items-center gap-2 rounded border px-3 py-1.5 transition-colors">
|
|
928
964
|
<span className="text-sm">Show Properties</span>
|
|
929
965
|
<LayoutRightIcon className="h-4 w-4" />
|
|
930
966
|
</button>
|
|
@@ -934,14 +970,16 @@ export const UsageExamples: Story = {
|
|
|
934
970
|
|
|
935
971
|
{/* Navigation Menu */}
|
|
936
972
|
<div className="!space-y-2">
|
|
937
|
-
<h3 className="text-sm font-medium
|
|
938
|
-
|
|
973
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
974
|
+
Navigation Menu
|
|
975
|
+
</h3>
|
|
976
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
939
977
|
<div className="!space-y-2">
|
|
940
|
-
<div className="flex items-center gap-3 rounded-lg px-3 py-2
|
|
941
|
-
<div className="h-5 w-5 rounded
|
|
978
|
+
<div className="text-fm-tertiary hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg px-3 py-2">
|
|
979
|
+
<div className="bg-fm-surface-tertiary h-5 w-5 rounded"></div>
|
|
942
980
|
<span className="text-sm">Main Content</span>
|
|
943
981
|
</div>
|
|
944
|
-
<div className="flex items-center gap-3 rounded-lg
|
|
982
|
+
<div className="bg-fm-icon-positive/20 text-fm-icon-positive flex items-center gap-3 rounded-lg px-3 py-2">
|
|
945
983
|
<span className="text-sm font-medium">Right Panel</span>
|
|
946
984
|
<LayoutRightIcon className="h-5 w-5" />
|
|
947
985
|
</div>
|
|
@@ -951,28 +989,30 @@ export const UsageExamples: Story = {
|
|
|
951
989
|
|
|
952
990
|
{/* Layout Picker */}
|
|
953
991
|
<div className="!space-y-2">
|
|
954
|
-
<h3 className="text-sm font-medium
|
|
992
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
955
993
|
Layout Selection Tool
|
|
956
994
|
</h3>
|
|
957
|
-
<div className="rounded-lg border
|
|
995
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
958
996
|
<div className="!space-y-3">
|
|
959
|
-
<h4 className="text-sm font-medium
|
|
997
|
+
<h4 className="text-fm-icon-active text-sm font-medium">
|
|
998
|
+
Choose Layout
|
|
999
|
+
</h4>
|
|
960
1000
|
<div className="grid grid-cols-3 gap-2">
|
|
961
|
-
<button className="flex flex-col items-center gap-2 rounded-lg border
|
|
1001
|
+
<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">
|
|
962
1002
|
<div className="flex h-6 w-6 gap-1">
|
|
963
1003
|
<div className="w-2 rounded bg-current"></div>
|
|
964
1004
|
<div className="flex-1 rounded bg-current"></div>
|
|
965
1005
|
</div>
|
|
966
1006
|
<span className="text-xs">Left Sidebar</span>
|
|
967
1007
|
</button>
|
|
968
|
-
<button className="flex flex-col items-center gap-2 rounded-lg border
|
|
1008
|
+
<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">
|
|
969
1009
|
<div className="grid h-6 w-6 grid-cols-2 gap-1">
|
|
970
1010
|
<div className="rounded bg-current"></div>
|
|
971
1011
|
<div className="rounded bg-current"></div>
|
|
972
1012
|
</div>
|
|
973
1013
|
<span className="text-xs">Split View</span>
|
|
974
1014
|
</button>
|
|
975
|
-
<button className="flex flex-col items-center gap-2 rounded-lg border
|
|
1015
|
+
<button className="border-fm-icon-positive/30 bg-fm-icon-positive/20 text-fm-icon-positive flex flex-col items-center gap-2 rounded-lg border p-3">
|
|
976
1016
|
<LayoutRightIcon className="h-6 w-6" />
|
|
977
1017
|
<span className="text-xs">Right Sidebar</span>
|
|
978
1018
|
</button>
|
|
@@ -997,11 +1037,11 @@ export const Playground: Story = {
|
|
|
997
1037
|
args: {
|
|
998
1038
|
width: 32,
|
|
999
1039
|
height: 32,
|
|
1000
|
-
className: "text-
|
|
1040
|
+
className: "text-fm-icon-positive",
|
|
1001
1041
|
},
|
|
1002
1042
|
render: (args) => (
|
|
1003
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1004
|
-
<div className="rounded-lg border
|
|
1043
|
+
<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">
|
|
1044
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1005
1045
|
<LayoutRightIcon {...args} />
|
|
1006
1046
|
</div>
|
|
1007
1047
|
</div>
|