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
|
@@ -148,18 +148,20 @@ export const BasicHorizontal: Story = {
|
|
|
148
148
|
},
|
|
149
149
|
render: (args) => (
|
|
150
150
|
<div className="h-96 w-full p-8">
|
|
151
|
-
<h3 className="mb-4 text-lg font-medium
|
|
151
|
+
<h3 className="text-fm-primary mb-4 text-lg font-medium">
|
|
152
152
|
Basic Horizontal Layout
|
|
153
153
|
</h3>
|
|
154
154
|
<ResizablePanelGroup
|
|
155
155
|
{...args}
|
|
156
|
-
className="overflow-hidden rounded-lg border
|
|
156
|
+
className="border-fm-divider-secondary overflow-hidden rounded-lg border"
|
|
157
157
|
>
|
|
158
158
|
<ResizablePanel defaultSize={50}>
|
|
159
159
|
<div className="flex h-full items-center justify-center bg-blue-500/10 p-4">
|
|
160
160
|
<div className="text-center">
|
|
161
|
-
<h4 className="text-lg font-medium
|
|
162
|
-
|
|
161
|
+
<h4 className="text-fm-primary text-lg font-medium">
|
|
162
|
+
Left Panel
|
|
163
|
+
</h4>
|
|
164
|
+
<p className="text-fm-secondary text-sm">Resize me!</p>
|
|
163
165
|
</div>
|
|
164
166
|
</div>
|
|
165
167
|
</ResizablePanel>
|
|
@@ -167,8 +169,10 @@ export const BasicHorizontal: Story = {
|
|
|
167
169
|
<ResizablePanel defaultSize={50}>
|
|
168
170
|
<div className="flex h-full items-center justify-center bg-purple-500/10 p-4">
|
|
169
171
|
<div className="text-center">
|
|
170
|
-
<h4 className="text-lg font-medium
|
|
171
|
-
|
|
172
|
+
<h4 className="text-fm-primary text-lg font-medium">
|
|
173
|
+
Right Panel
|
|
174
|
+
</h4>
|
|
175
|
+
<p className="text-fm-secondary text-sm">I resize too!</p>
|
|
172
176
|
</div>
|
|
173
177
|
</div>
|
|
174
178
|
</ResizablePanel>
|
|
@@ -189,18 +193,18 @@ export const BasicHorizontal: Story = {
|
|
|
189
193
|
export const VerticalWithHandles: Story = {
|
|
190
194
|
render: () => (
|
|
191
195
|
<div className="h-96 w-full p-8">
|
|
192
|
-
<h3 className="mb-4 text-lg font-medium
|
|
196
|
+
<h3 className="text-fm-primary mb-4 text-lg font-medium">
|
|
193
197
|
Vertical Layout with Visual Handles
|
|
194
198
|
</h3>
|
|
195
199
|
<ResizablePanelGroup
|
|
196
200
|
direction="vertical"
|
|
197
|
-
className="overflow-hidden rounded-lg border
|
|
201
|
+
className="border-fm-divider-secondary overflow-hidden rounded-lg border"
|
|
198
202
|
>
|
|
199
203
|
<ResizablePanel defaultSize={40}>
|
|
200
204
|
<div className="flex h-full items-center justify-center bg-green-500/10 p-4">
|
|
201
205
|
<div className="text-center">
|
|
202
|
-
<h4 className="text-lg font-medium
|
|
203
|
-
<p className="text-
|
|
206
|
+
<h4 className="text-fm-primary text-lg font-medium">Top Panel</h4>
|
|
207
|
+
<p className="text-fm-secondary text-sm">40% default size</p>
|
|
204
208
|
</div>
|
|
205
209
|
</div>
|
|
206
210
|
</ResizablePanel>
|
|
@@ -208,9 +212,11 @@ export const VerticalWithHandles: Story = {
|
|
|
208
212
|
<ResizablePanel defaultSize={60}>
|
|
209
213
|
<div className="flex h-full items-center justify-center bg-orange-500/10 p-4">
|
|
210
214
|
<div className="text-center">
|
|
211
|
-
<h4 className="text-lg font-medium
|
|
212
|
-
|
|
213
|
-
|
|
215
|
+
<h4 className="text-fm-primary text-lg font-medium">
|
|
216
|
+
Bottom Panel
|
|
217
|
+
</h4>
|
|
218
|
+
<p className="text-fm-secondary text-sm">60% default size</p>
|
|
219
|
+
<p className="text-fm-tertiary mt-2 text-xs">
|
|
214
220
|
Notice the rotated handle icon
|
|
215
221
|
</p>
|
|
216
222
|
</div>
|
|
@@ -233,36 +239,40 @@ export const VerticalWithHandles: Story = {
|
|
|
233
239
|
export const ThreePanel: Story = {
|
|
234
240
|
render: () => (
|
|
235
241
|
<div className="h-96 w-full p-8">
|
|
236
|
-
<h3 className="mb-4 text-lg font-medium
|
|
242
|
+
<h3 className="text-fm-primary mb-4 text-lg font-medium">
|
|
237
243
|
Three Panel Layout
|
|
238
244
|
</h3>
|
|
239
245
|
<ResizablePanelGroup
|
|
240
246
|
direction="horizontal"
|
|
241
|
-
className="overflow-hidden rounded-lg border
|
|
247
|
+
className="border-fm-divider-secondary overflow-hidden rounded-lg border"
|
|
242
248
|
>
|
|
243
249
|
<ResizablePanel defaultSize={25} minSize={15}>
|
|
244
250
|
<div className="flex h-full flex-col justify-center bg-red-500/10 p-4">
|
|
245
|
-
<h4 className="text-sm font-medium
|
|
246
|
-
<p className="mt-1 text-xs
|
|
247
|
-
<p className="mt-1 text-xs
|
|
251
|
+
<h4 className="text-fm-primary text-sm font-medium">Sidebar</h4>
|
|
252
|
+
<p className="text-fm-secondary mt-1 text-xs">25% default</p>
|
|
253
|
+
<p className="text-fm-tertiary mt-1 text-xs">15% minimum</p>
|
|
248
254
|
</div>
|
|
249
255
|
</ResizablePanel>
|
|
250
256
|
<ResizableHandle withHandle />
|
|
251
257
|
<ResizablePanel defaultSize={50}>
|
|
252
258
|
<div className="flex h-full items-center justify-center bg-blue-500/10 p-4">
|
|
253
259
|
<div className="text-center">
|
|
254
|
-
<h4 className="text-lg font-medium
|
|
255
|
-
|
|
256
|
-
|
|
260
|
+
<h4 className="text-fm-primary text-lg font-medium">
|
|
261
|
+
Main Content
|
|
262
|
+
</h4>
|
|
263
|
+
<p className="text-fm-secondary text-sm">50% default size</p>
|
|
264
|
+
<p className="text-fm-tertiary mt-2 text-xs">
|
|
265
|
+
Primary content area
|
|
266
|
+
</p>
|
|
257
267
|
</div>
|
|
258
268
|
</div>
|
|
259
269
|
</ResizablePanel>
|
|
260
270
|
<ResizableHandle withHandle />
|
|
261
271
|
<ResizablePanel defaultSize={25} minSize={20}>
|
|
262
272
|
<div className="flex h-full flex-col justify-center bg-purple-500/10 p-4">
|
|
263
|
-
<h4 className="text-sm font-medium
|
|
264
|
-
<p className="mt-1 text-xs
|
|
265
|
-
<p className="mt-1 text-xs
|
|
273
|
+
<h4 className="text-fm-primary text-sm font-medium">Right Panel</h4>
|
|
274
|
+
<p className="text-fm-secondary mt-1 text-xs">25% default</p>
|
|
275
|
+
<p className="text-fm-tertiary mt-1 text-xs">20% minimum</p>
|
|
266
276
|
</div>
|
|
267
277
|
</ResizablePanel>
|
|
268
278
|
</ResizablePanelGroup>
|
|
@@ -282,21 +292,21 @@ export const ThreePanel: Story = {
|
|
|
282
292
|
export const NestedLayouts: Story = {
|
|
283
293
|
render: () => (
|
|
284
294
|
<div className="h-96 w-full p-8">
|
|
285
|
-
<h3 className="mb-4 text-lg font-medium
|
|
295
|
+
<h3 className="text-fm-primary mb-4 text-lg font-medium">
|
|
286
296
|
Nested Resizable Layouts
|
|
287
297
|
</h3>
|
|
288
298
|
<ResizablePanelGroup
|
|
289
299
|
direction="horizontal"
|
|
290
|
-
className="overflow-hidden rounded-lg border
|
|
300
|
+
className="border-fm-divider-secondary overflow-hidden rounded-lg border"
|
|
291
301
|
>
|
|
292
302
|
<ResizablePanel defaultSize={30} minSize={25}>
|
|
293
303
|
<div className="flex h-full flex-col justify-center bg-indigo-500/10 p-4">
|
|
294
|
-
<h4 className="text-sm font-medium
|
|
295
|
-
<p className="mt-1 text-xs
|
|
304
|
+
<h4 className="text-fm-primary text-sm font-medium">Sidebar</h4>
|
|
305
|
+
<p className="text-fm-secondary mt-1 text-xs">Navigation & Tools</p>
|
|
296
306
|
<div className="mt-4 space-y-2">
|
|
297
|
-
<div className="h-2 rounded
|
|
298
|
-
<div className="h-2 rounded
|
|
299
|
-
<div className="h-2 rounded
|
|
307
|
+
<div className="bg-fm-surface-secondary h-2 rounded"></div>
|
|
308
|
+
<div className="bg-fm-surface-secondary h-2 rounded"></div>
|
|
309
|
+
<div className="bg-fm-surface-secondary h-2 rounded"></div>
|
|
300
310
|
</div>
|
|
301
311
|
</div>
|
|
302
312
|
</ResizablePanel>
|
|
@@ -306,11 +316,11 @@ export const NestedLayouts: Story = {
|
|
|
306
316
|
<ResizablePanel defaultSize={65}>
|
|
307
317
|
<div className="flex h-full items-center justify-center bg-green-500/10 p-4">
|
|
308
318
|
<div className="text-center">
|
|
309
|
-
<h4 className="text-lg font-medium
|
|
319
|
+
<h4 className="text-fm-primary text-lg font-medium">
|
|
310
320
|
Main Content Area
|
|
311
321
|
</h4>
|
|
312
|
-
<p className="text-
|
|
313
|
-
<p className="mt-2 text-xs
|
|
322
|
+
<p className="text-fm-secondary text-sm">Primary workspace</p>
|
|
323
|
+
<p className="text-fm-tertiary mt-2 text-xs">
|
|
314
324
|
This panel can be resized vertically
|
|
315
325
|
</p>
|
|
316
326
|
</div>
|
|
@@ -320,11 +330,13 @@ export const NestedLayouts: Story = {
|
|
|
320
330
|
<ResizablePanel defaultSize={35} minSize={25}>
|
|
321
331
|
<div className="flex h-full items-center justify-center bg-orange-500/10 p-4">
|
|
322
332
|
<div className="text-center">
|
|
323
|
-
<h4 className="text-md font-medium
|
|
333
|
+
<h4 className="text-md text-fm-primary font-medium">
|
|
324
334
|
Bottom Panel
|
|
325
335
|
</h4>
|
|
326
|
-
<p className="text-
|
|
327
|
-
|
|
336
|
+
<p className="text-fm-secondary text-sm">
|
|
337
|
+
Console / Terminal
|
|
338
|
+
</p>
|
|
339
|
+
<p className="text-fm-tertiary mt-2 text-xs">
|
|
328
340
|
Nested vertical layout
|
|
329
341
|
</p>
|
|
330
342
|
</div>
|
|
@@ -349,30 +361,32 @@ export const NestedLayouts: Story = {
|
|
|
349
361
|
export const HandleVariations: Story = {
|
|
350
362
|
render: () => (
|
|
351
363
|
<div className="space-y-8 p-8">
|
|
352
|
-
<h3 className="text-center text-lg font-medium
|
|
364
|
+
<h3 className="text-fm-primary text-center text-lg font-medium">
|
|
353
365
|
Handle Variations
|
|
354
366
|
</h3>
|
|
355
367
|
|
|
356
368
|
<div className="space-y-6">
|
|
357
369
|
{/* Without Visual Handle */}
|
|
358
370
|
<div className="space-y-2">
|
|
359
|
-
<h4 className="text-sm font-medium
|
|
371
|
+
<h4 className="text-fm-secondary text-sm font-medium">
|
|
360
372
|
Without Visual Handle
|
|
361
373
|
</h4>
|
|
362
374
|
<div className="h-32">
|
|
363
375
|
<ResizablePanelGroup
|
|
364
376
|
direction="horizontal"
|
|
365
|
-
className="overflow-hidden rounded-lg border
|
|
377
|
+
className="border-fm-divider-secondary overflow-hidden rounded-lg border"
|
|
366
378
|
>
|
|
367
379
|
<ResizablePanel defaultSize={50}>
|
|
368
380
|
<div className="flex h-full items-center justify-center bg-blue-500/10 p-4">
|
|
369
|
-
<span className="text-
|
|
381
|
+
<span className="text-fm-primary text-sm">
|
|
382
|
+
Minimal Handle
|
|
383
|
+
</span>
|
|
370
384
|
</div>
|
|
371
385
|
</ResizablePanel>
|
|
372
386
|
<ResizableHandle />
|
|
373
387
|
<ResizablePanel defaultSize={50}>
|
|
374
388
|
<div className="flex h-full items-center justify-center bg-purple-500/10 p-4">
|
|
375
|
-
<span className="text-
|
|
389
|
+
<span className="text-fm-primary text-sm">Clean Look</span>
|
|
376
390
|
</div>
|
|
377
391
|
</ResizablePanel>
|
|
378
392
|
</ResizablePanelGroup>
|
|
@@ -381,23 +395,25 @@ export const HandleVariations: Story = {
|
|
|
381
395
|
|
|
382
396
|
{/* With Visual Handle */}
|
|
383
397
|
<div className="space-y-2">
|
|
384
|
-
<h4 className="text-sm font-medium
|
|
398
|
+
<h4 className="text-fm-secondary text-sm font-medium">
|
|
385
399
|
With Visual Handle
|
|
386
400
|
</h4>
|
|
387
401
|
<div className="h-32">
|
|
388
402
|
<ResizablePanelGroup
|
|
389
403
|
direction="horizontal"
|
|
390
|
-
className="overflow-hidden rounded-lg border
|
|
404
|
+
className="border-fm-divider-secondary overflow-hidden rounded-lg border"
|
|
391
405
|
>
|
|
392
406
|
<ResizablePanel defaultSize={50}>
|
|
393
407
|
<div className="flex h-full items-center justify-center bg-green-500/10 p-4">
|
|
394
|
-
<span className="text-
|
|
408
|
+
<span className="text-fm-primary text-sm">
|
|
409
|
+
Clear Affordance
|
|
410
|
+
</span>
|
|
395
411
|
</div>
|
|
396
412
|
</ResizablePanel>
|
|
397
413
|
<ResizableHandle withHandle />
|
|
398
414
|
<ResizablePanel defaultSize={50}>
|
|
399
415
|
<div className="flex h-full items-center justify-center bg-orange-500/10 p-4">
|
|
400
|
-
<span className="text-
|
|
416
|
+
<span className="text-fm-primary text-sm">Easy to Spot</span>
|
|
401
417
|
</div>
|
|
402
418
|
</ResizablePanel>
|
|
403
419
|
</ResizablePanelGroup>
|
|
@@ -406,17 +422,19 @@ export const HandleVariations: Story = {
|
|
|
406
422
|
|
|
407
423
|
{/* Custom Styled Handle */}
|
|
408
424
|
<div className="space-y-2">
|
|
409
|
-
<h4 className="text-sm font-medium
|
|
425
|
+
<h4 className="text-fm-secondary text-sm font-medium">
|
|
410
426
|
Custom Styled Handle
|
|
411
427
|
</h4>
|
|
412
428
|
<div className="h-32">
|
|
413
429
|
<ResizablePanelGroup
|
|
414
430
|
direction="horizontal"
|
|
415
|
-
className="overflow-hidden rounded-lg border
|
|
431
|
+
className="border-fm-divider-secondary overflow-hidden rounded-lg border"
|
|
416
432
|
>
|
|
417
433
|
<ResizablePanel defaultSize={50}>
|
|
418
434
|
<div className="flex h-full items-center justify-center bg-red-500/10 p-4">
|
|
419
|
-
<span className="text-
|
|
435
|
+
<span className="text-fm-primary text-sm">
|
|
436
|
+
Custom Styling
|
|
437
|
+
</span>
|
|
420
438
|
</div>
|
|
421
439
|
</ResizablePanel>
|
|
422
440
|
<ResizableHandle
|
|
@@ -425,7 +443,7 @@ export const HandleVariations: Story = {
|
|
|
425
443
|
/>
|
|
426
444
|
<ResizablePanel defaultSize={50}>
|
|
427
445
|
<div className="flex h-full items-center justify-center bg-indigo-500/10 p-4">
|
|
428
|
-
<span className="text-
|
|
446
|
+
<span className="text-fm-primary text-sm">Themed Handle</span>
|
|
429
447
|
</div>
|
|
430
448
|
</ResizablePanel>
|
|
431
449
|
</ResizablePanelGroup>
|
|
@@ -448,28 +466,28 @@ export const HandleVariations: Story = {
|
|
|
448
466
|
export const RealWorldExamples: Story = {
|
|
449
467
|
render: () => (
|
|
450
468
|
<div className="space-y-8 p-8">
|
|
451
|
-
<h3 className="text-center text-lg font-medium
|
|
469
|
+
<h3 className="text-fm-primary text-center text-lg font-medium">
|
|
452
470
|
Real-world Examples
|
|
453
471
|
</h3>
|
|
454
472
|
|
|
455
473
|
<div className="space-y-8">
|
|
456
474
|
{/* IDE Layout */}
|
|
457
475
|
<div className="space-y-4">
|
|
458
|
-
<h4 className="text-sm font-medium
|
|
476
|
+
<h4 className="text-fm-secondary text-sm font-medium">
|
|
459
477
|
IDE / Code Editor Layout
|
|
460
478
|
</h4>
|
|
461
479
|
<div className="h-80">
|
|
462
480
|
<ResizablePanelGroup
|
|
463
481
|
direction="horizontal"
|
|
464
|
-
className="overflow-hidden rounded-lg border
|
|
482
|
+
className="border-fm-divider-secondary overflow-hidden rounded-lg border"
|
|
465
483
|
>
|
|
466
484
|
{/* File Explorer */}
|
|
467
485
|
<ResizablePanel defaultSize={20} minSize={15}>
|
|
468
|
-
<div className="h-full
|
|
469
|
-
<h5 className="mb-3 text-xs font-medium
|
|
486
|
+
<div className="bg-fm-surface-primary h-full p-3">
|
|
487
|
+
<h5 className="text-fm-primary mb-3 text-xs font-medium">
|
|
470
488
|
EXPLORER
|
|
471
489
|
</h5>
|
|
472
|
-
<div className="space-y-1 text-xs
|
|
490
|
+
<div className="text-fm-secondary space-y-1 text-xs">
|
|
473
491
|
<div className="flex items-center gap-1">
|
|
474
492
|
<span>📁</span> src
|
|
475
493
|
</div>
|
|
@@ -492,28 +510,41 @@ export const RealWorldExamples: Story = {
|
|
|
492
510
|
<ResizablePanelGroup direction="vertical">
|
|
493
511
|
{/* Editor */}
|
|
494
512
|
<ResizablePanel defaultSize={70}>
|
|
495
|
-
<div className="h-full
|
|
496
|
-
<div className="mb-4 flex items-center gap-2 border-b
|
|
497
|
-
<span className="text-
|
|
498
|
-
|
|
513
|
+
<div className="bg-fm-surface-primary h-full p-4">
|
|
514
|
+
<div className="border-fm-divider-secondary mb-4 flex items-center gap-2 border-b pb-2">
|
|
515
|
+
<span className="text-fm-secondary text-xs">
|
|
516
|
+
App.tsx
|
|
517
|
+
</span>
|
|
518
|
+
<span className="text-fm-tertiary text-xs">×</span>
|
|
499
519
|
</div>
|
|
500
|
-
<div className="space-y-2 font-mono text-xs
|
|
520
|
+
<div className="text-fm-secondary space-y-2 font-mono text-xs">
|
|
501
521
|
<div>
|
|
502
|
-
<span className="text-
|
|
503
|
-
|
|
504
|
-
|
|
522
|
+
<span className="text-fm-icon-brand-secondary">
|
|
523
|
+
import
|
|
524
|
+
</span>{" "}
|
|
525
|
+
React{" "}
|
|
526
|
+
<span className="text-fm-icon-brand-secondary">
|
|
527
|
+
from
|
|
528
|
+
</span>{" "}
|
|
529
|
+
<span className="text-fm-positive">'react'</span>
|
|
505
530
|
</div>
|
|
506
531
|
<div></div>
|
|
507
532
|
<div>
|
|
508
|
-
<span className="text-
|
|
509
|
-
|
|
533
|
+
<span className="text-fm-icon-brand-secondary">
|
|
534
|
+
function
|
|
535
|
+
</span>{" "}
|
|
536
|
+
<span className="text-fm-info">App</span>() {"{"}
|
|
510
537
|
</div>
|
|
511
538
|
<div className="ml-4">
|
|
512
|
-
<span className="text-
|
|
539
|
+
<span className="text-fm-icon-brand-secondary">
|
|
540
|
+
return
|
|
541
|
+
</span>{" "}
|
|
542
|
+
(
|
|
513
543
|
</div>
|
|
514
544
|
<div className="ml-8">
|
|
515
|
-
<<span className="text-
|
|
516
|
-
World<
|
|
545
|
+
<<span className="text-fm-icon-negative">div</span>
|
|
546
|
+
>Hello World</
|
|
547
|
+
<span className="text-fm-icon-negative">div</span>
|
|
517
548
|
>
|
|
518
549
|
</div>
|
|
519
550
|
<div className="ml-4">)</div>
|
|
@@ -527,20 +558,20 @@ export const RealWorldExamples: Story = {
|
|
|
527
558
|
<ResizablePanel defaultSize={30} minSize={20}>
|
|
528
559
|
<div className="h-full bg-black/50 p-3">
|
|
529
560
|
<div className="mb-2 flex items-center gap-2">
|
|
530
|
-
<h5 className="text-xs font-medium
|
|
561
|
+
<h5 className="text-fm-primary text-xs font-medium">
|
|
531
562
|
TERMINAL
|
|
532
563
|
</h5>
|
|
533
|
-
<span className="text-
|
|
564
|
+
<span className="text-fm-tertiary text-xs">bash</span>
|
|
534
565
|
</div>
|
|
535
|
-
<div className="font-mono text-xs
|
|
566
|
+
<div className="text-fm-positive font-mono text-xs">
|
|
536
567
|
<div>$ npm start</div>
|
|
537
|
-
<div className="text-
|
|
568
|
+
<div className="text-fm-secondary">
|
|
538
569
|
Starting development server...
|
|
539
570
|
</div>
|
|
540
|
-
<div className="text-
|
|
571
|
+
<div className="text-fm-secondary">
|
|
541
572
|
Local: http://localhost:3000
|
|
542
573
|
</div>
|
|
543
|
-
<div className="text-
|
|
574
|
+
<div className="text-fm-positive">
|
|
544
575
|
✓ Compiled successfully!
|
|
545
576
|
</div>
|
|
546
577
|
</div>
|
|
@@ -552,11 +583,11 @@ export const RealWorldExamples: Story = {
|
|
|
552
583
|
|
|
553
584
|
{/* Right Sidebar */}
|
|
554
585
|
<ResizablePanel defaultSize={20} minSize={15}>
|
|
555
|
-
<div className="h-full
|
|
556
|
-
<h5 className="mb-3 text-xs font-medium
|
|
586
|
+
<div className="bg-fm-surface-primary h-full p-3">
|
|
587
|
+
<h5 className="text-fm-primary mb-3 text-xs font-medium">
|
|
557
588
|
OUTLINE
|
|
558
589
|
</h5>
|
|
559
|
-
<div className="space-y-1 text-xs
|
|
590
|
+
<div className="text-fm-secondary space-y-1 text-xs">
|
|
560
591
|
<div>📋 Components</div>
|
|
561
592
|
<div className="ml-3">⚛️ App</div>
|
|
562
593
|
<div className="ml-3">🎨 Header</div>
|
|
@@ -572,28 +603,28 @@ export const RealWorldExamples: Story = {
|
|
|
572
603
|
|
|
573
604
|
{/* Dashboard Layout */}
|
|
574
605
|
<div className="space-y-4">
|
|
575
|
-
<h4 className="text-sm font-medium
|
|
606
|
+
<h4 className="text-fm-secondary text-sm font-medium">
|
|
576
607
|
Dashboard Layout
|
|
577
608
|
</h4>
|
|
578
609
|
<div className="h-64">
|
|
579
610
|
<ResizablePanelGroup
|
|
580
611
|
direction="horizontal"
|
|
581
|
-
className="overflow-hidden rounded-lg border
|
|
612
|
+
className="border-fm-divider-secondary overflow-hidden rounded-lg border"
|
|
582
613
|
>
|
|
583
614
|
{/* Sidebar */}
|
|
584
615
|
<ResizablePanel defaultSize={25} minSize={20}>
|
|
585
616
|
<div className="h-full bg-blue-900/20 p-4">
|
|
586
|
-
<h5 className="mb-4 text-sm font-medium
|
|
617
|
+
<h5 className="text-fm-primary mb-4 text-sm font-medium">
|
|
587
618
|
Navigation
|
|
588
619
|
</h5>
|
|
589
620
|
<div className="space-y-3">
|
|
590
|
-
<div className="flex items-center gap-2 text-sm
|
|
621
|
+
<div className="text-fm-primary flex items-center gap-2 text-sm">
|
|
591
622
|
<span>📊</span> Dashboard
|
|
592
623
|
</div>
|
|
593
|
-
<div className="flex items-center gap-2 text-sm
|
|
624
|
+
<div className="text-fm-secondary flex items-center gap-2 text-sm">
|
|
594
625
|
<span>👥</span> Users
|
|
595
626
|
</div>
|
|
596
|
-
<div className="flex items-center gap-2 text-sm
|
|
627
|
+
<div className="text-fm-secondary flex items-center gap-2 text-sm">
|
|
597
628
|
<span>⚙️</span> Settings
|
|
598
629
|
</div>
|
|
599
630
|
</div>
|
|
@@ -607,27 +638,31 @@ export const RealWorldExamples: Story = {
|
|
|
607
638
|
{/* Top Metrics */}
|
|
608
639
|
<ResizablePanel defaultSize={40}>
|
|
609
640
|
<div className="h-full bg-green-900/20 p-4">
|
|
610
|
-
<h5 className="mb-3 text-sm font-medium
|
|
641
|
+
<h5 className="text-fm-primary mb-3 text-sm font-medium">
|
|
611
642
|
Key Metrics
|
|
612
643
|
</h5>
|
|
613
644
|
<div className="grid h-20 grid-cols-3 gap-4">
|
|
614
|
-
<div className="
|
|
615
|
-
<div className="text-lg font-bold
|
|
645
|
+
<div className="bg-fm-surface-secondary rounded p-3 text-center">
|
|
646
|
+
<div className="text-fm-primary text-lg font-bold">
|
|
616
647
|
1,234
|
|
617
648
|
</div>
|
|
618
|
-
<div className="text-
|
|
649
|
+
<div className="text-fm-secondary text-xs">Users</div>
|
|
619
650
|
</div>
|
|
620
|
-
<div className="
|
|
621
|
-
<div className="text-lg font-bold
|
|
651
|
+
<div className="bg-fm-surface-secondary rounded p-3 text-center">
|
|
652
|
+
<div className="text-fm-primary text-lg font-bold">
|
|
622
653
|
$12.3k
|
|
623
654
|
</div>
|
|
624
|
-
<div className="text-
|
|
655
|
+
<div className="text-fm-secondary text-xs">
|
|
656
|
+
Revenue
|
|
657
|
+
</div>
|
|
625
658
|
</div>
|
|
626
|
-
<div className="
|
|
627
|
-
<div className="text-lg font-bold
|
|
659
|
+
<div className="bg-fm-surface-secondary rounded p-3 text-center">
|
|
660
|
+
<div className="text-fm-primary text-lg font-bold">
|
|
628
661
|
98.5%
|
|
629
662
|
</div>
|
|
630
|
-
<div className="text-
|
|
663
|
+
<div className="text-fm-secondary text-xs">
|
|
664
|
+
Uptime
|
|
665
|
+
</div>
|
|
631
666
|
</div>
|
|
632
667
|
</div>
|
|
633
668
|
</div>
|
|
@@ -637,11 +672,11 @@ export const RealWorldExamples: Story = {
|
|
|
637
672
|
{/* Bottom Charts */}
|
|
638
673
|
<ResizablePanel defaultSize={60}>
|
|
639
674
|
<div className="h-full bg-purple-900/20 p-4">
|
|
640
|
-
<h5 className="mb-3 text-sm font-medium
|
|
675
|
+
<h5 className="text-fm-primary mb-3 text-sm font-medium">
|
|
641
676
|
Analytics
|
|
642
677
|
</h5>
|
|
643
|
-
<div className="flex h-full items-center justify-center rounded
|
|
644
|
-
<span className="text-
|
|
678
|
+
<div className="bg-fm-surface-secondary flex h-full items-center justify-center rounded p-4">
|
|
679
|
+
<span className="text-fm-secondary">📈 Chart Area</span>
|
|
645
680
|
</div>
|
|
646
681
|
</div>
|
|
647
682
|
</ResizablePanel>
|
|
@@ -667,51 +702,58 @@ export const RealWorldExamples: Story = {
|
|
|
667
702
|
export const AccessibilityDemo: Story = {
|
|
668
703
|
render: () => (
|
|
669
704
|
<div className="space-y-6 p-8">
|
|
670
|
-
<h3 className="text-center text-lg font-medium
|
|
705
|
+
<h3 className="text-fm-primary text-center text-lg font-medium">
|
|
671
706
|
Accessibility Features
|
|
672
707
|
</h3>
|
|
673
708
|
|
|
674
709
|
<div className="space-y-4">
|
|
675
710
|
<div className="rounded-lg border border-blue-500/30 bg-blue-900/10 p-4">
|
|
676
|
-
<h4 className="mb-2 text-sm font-medium
|
|
711
|
+
<h4 className="text-fm-info mb-2 text-sm font-medium">
|
|
677
712
|
Keyboard Navigation
|
|
678
713
|
</h4>
|
|
679
|
-
<p className="mb-2 text-xs
|
|
714
|
+
<p className="text-fm-info-sec mb-2 text-xs">
|
|
680
715
|
Try these keyboard interactions:
|
|
681
716
|
</p>
|
|
682
|
-
<ul className="space-y-1 text-xs
|
|
717
|
+
<ul className="text-fm-info-sec space-y-1 text-xs">
|
|
683
718
|
<li>
|
|
684
|
-
• <kbd className="
|
|
685
|
-
resize handles
|
|
719
|
+
• <kbd className="bg-fm-surface-secondary rounded px-1">Tab</kbd>{" "}
|
|
720
|
+
to focus resize handles
|
|
686
721
|
</li>
|
|
687
722
|
<li>
|
|
688
|
-
•
|
|
689
|
-
|
|
723
|
+
•{" "}
|
|
724
|
+
<kbd className="bg-fm-surface-secondary rounded px-1">
|
|
725
|
+
Arrow Keys
|
|
726
|
+
</kbd>{" "}
|
|
727
|
+
to resize panels
|
|
690
728
|
</li>
|
|
691
729
|
<li>
|
|
692
|
-
•
|
|
693
|
-
|
|
730
|
+
•{" "}
|
|
731
|
+
<kbd className="bg-fm-surface-secondary rounded px-1">Enter</kbd>{" "}
|
|
732
|
+
to activate resize mode
|
|
694
733
|
</li>
|
|
695
734
|
<li>
|
|
696
|
-
•
|
|
697
|
-
|
|
735
|
+
•{" "}
|
|
736
|
+
<kbd className="bg-fm-surface-secondary rounded px-1">Escape</kbd>{" "}
|
|
737
|
+
to exit resize mode
|
|
698
738
|
</li>
|
|
699
739
|
</ul>
|
|
700
740
|
</div>
|
|
701
741
|
|
|
702
742
|
<div className="h-48">
|
|
703
|
-
<h4 className="mb-2 text-sm font-medium
|
|
743
|
+
<h4 className="text-fm-secondary mb-2 text-sm font-medium">
|
|
704
744
|
Keyboard Accessible Resizing
|
|
705
745
|
</h4>
|
|
706
746
|
<ResizablePanelGroup
|
|
707
747
|
direction="horizontal"
|
|
708
|
-
className="overflow-hidden rounded-lg border
|
|
748
|
+
className="border-fm-divider-secondary overflow-hidden rounded-lg border"
|
|
709
749
|
>
|
|
710
750
|
<ResizablePanel defaultSize={40}>
|
|
711
751
|
<div className="flex h-full items-center justify-center bg-blue-500/10 p-4">
|
|
712
752
|
<div className="text-center">
|
|
713
|
-
<h5 className="text-md font-medium
|
|
714
|
-
|
|
753
|
+
<h5 className="text-md text-fm-primary font-medium">
|
|
754
|
+
Left Panel
|
|
755
|
+
</h5>
|
|
756
|
+
<p className="text-fm-secondary mt-1 text-xs">
|
|
715
757
|
Tab to the handle and use arrow keys
|
|
716
758
|
</p>
|
|
717
759
|
</div>
|
|
@@ -721,10 +763,10 @@ export const AccessibilityDemo: Story = {
|
|
|
721
763
|
<ResizablePanel defaultSize={60}>
|
|
722
764
|
<div className="flex h-full items-center justify-center bg-purple-500/10 p-4">
|
|
723
765
|
<div className="text-center">
|
|
724
|
-
<h5 className="text-md font-medium
|
|
766
|
+
<h5 className="text-md text-fm-primary font-medium">
|
|
725
767
|
Right Panel
|
|
726
768
|
</h5>
|
|
727
|
-
<p className="mt-1 text-xs
|
|
769
|
+
<p className="text-fm-secondary mt-1 text-xs">
|
|
728
770
|
Focus ring visible when handle is focused
|
|
729
771
|
</p>
|
|
730
772
|
</div>
|
|
@@ -733,11 +775,11 @@ export const AccessibilityDemo: Story = {
|
|
|
733
775
|
</ResizablePanelGroup>
|
|
734
776
|
</div>
|
|
735
777
|
|
|
736
|
-
<div className="rounded-lg border
|
|
737
|
-
<h4 className="mb-3 text-sm font-medium
|
|
778
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
779
|
+
<h4 className="text-fm-secondary mb-3 text-sm font-medium">
|
|
738
780
|
Screen Reader Support
|
|
739
781
|
</h4>
|
|
740
|
-
<div className="space-y-1 text-xs
|
|
782
|
+
<div className="text-fm-secondary space-y-1 text-xs">
|
|
741
783
|
<p>• Resize handles have proper ARIA labels</p>
|
|
742
784
|
<p>• Panel relationships are properly communicated</p>
|
|
743
785
|
<p>• Size changes are announced to screen readers</p>
|
|
@@ -764,30 +806,30 @@ export const InteractivePlayground: Story = {
|
|
|
764
806
|
|
|
765
807
|
return (
|
|
766
808
|
<div className="space-y-6 p-8">
|
|
767
|
-
<h3 className="text-center text-lg font-medium
|
|
809
|
+
<h3 className="text-fm-primary text-center text-lg font-medium">
|
|
768
810
|
Interactive Playground
|
|
769
811
|
</h3>
|
|
770
812
|
|
|
771
|
-
<div className="rounded-lg border
|
|
772
|
-
<h4 className="mb-2 text-sm font-medium
|
|
813
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
814
|
+
<h4 className="text-fm-secondary mb-2 text-sm font-medium">
|
|
773
815
|
Current Panel Sizes
|
|
774
816
|
</h4>
|
|
775
817
|
<div className="grid grid-cols-3 gap-4 text-xs">
|
|
776
818
|
<div className="text-center">
|
|
777
|
-
<div className="text-
|
|
778
|
-
<div className="font-mono
|
|
819
|
+
<div className="text-fm-primary">Left Panel</div>
|
|
820
|
+
<div className="text-fm-info font-mono">
|
|
779
821
|
{sizes[0].toFixed(1)}%
|
|
780
822
|
</div>
|
|
781
823
|
</div>
|
|
782
824
|
<div className="text-center">
|
|
783
|
-
<div className="text-
|
|
784
|
-
<div className="font-mono
|
|
825
|
+
<div className="text-fm-primary">Center Panel</div>
|
|
826
|
+
<div className="text-fm-positive font-mono">
|
|
785
827
|
{sizes[1].toFixed(1)}%
|
|
786
828
|
</div>
|
|
787
829
|
</div>
|
|
788
830
|
<div className="text-center">
|
|
789
|
-
<div className="text-
|
|
790
|
-
<div className="font-mono
|
|
831
|
+
<div className="text-fm-primary">Right Panel</div>
|
|
832
|
+
<div className="text-fm-icon-brand-secondary font-mono">
|
|
791
833
|
{sizes[2].toFixed(1)}%
|
|
792
834
|
</div>
|
|
793
835
|
</div>
|
|
@@ -797,16 +839,18 @@ export const InteractivePlayground: Story = {
|
|
|
797
839
|
<div className="h-64">
|
|
798
840
|
<ResizablePanelGroup
|
|
799
841
|
direction="horizontal"
|
|
800
|
-
className="overflow-hidden rounded-lg border
|
|
842
|
+
className="border-fm-divider-secondary overflow-hidden rounded-lg border"
|
|
801
843
|
onLayout={(newSizes) => setSizes(newSizes)}
|
|
802
844
|
>
|
|
803
845
|
<ResizablePanel defaultSize={25} minSize={15}>
|
|
804
846
|
<div className="flex h-full items-center justify-center bg-blue-500/10 p-4">
|
|
805
847
|
<div className="text-center">
|
|
806
|
-
<h5 className="text-md font-medium
|
|
807
|
-
|
|
848
|
+
<h5 className="text-md text-fm-primary font-medium">
|
|
849
|
+
Panel 1
|
|
850
|
+
</h5>
|
|
851
|
+
<p className="text-fm-secondary mt-1 text-xs">Min: 15%</p>
|
|
808
852
|
<div className="mx-auto mt-3 flex h-16 w-16 items-center justify-center rounded-full bg-blue-500/20">
|
|
809
|
-
<span className="font-mono text-xs
|
|
853
|
+
<span className="text-fm-info font-mono text-xs">
|
|
810
854
|
{sizes[0]?.toFixed(0)}%
|
|
811
855
|
</span>
|
|
812
856
|
</div>
|
|
@@ -818,10 +862,12 @@ export const InteractivePlayground: Story = {
|
|
|
818
862
|
<ResizablePanel defaultSize={50}>
|
|
819
863
|
<div className="flex h-full items-center justify-center bg-green-500/10 p-4">
|
|
820
864
|
<div className="text-center">
|
|
821
|
-
<h5 className="text-md font-medium
|
|
822
|
-
|
|
865
|
+
<h5 className="text-md text-fm-primary font-medium">
|
|
866
|
+
Panel 2
|
|
867
|
+
</h5>
|
|
868
|
+
<p className="text-fm-secondary mt-1 text-xs">Flexible</p>
|
|
823
869
|
<div className="mx-auto mt-3 flex h-16 w-16 items-center justify-center rounded-full bg-green-500/20">
|
|
824
|
-
<span className="font-mono text-xs
|
|
870
|
+
<span className="text-fm-positive font-mono text-xs">
|
|
825
871
|
{sizes[1]?.toFixed(0)}%
|
|
826
872
|
</span>
|
|
827
873
|
</div>
|
|
@@ -833,10 +879,12 @@ export const InteractivePlayground: Story = {
|
|
|
833
879
|
<ResizablePanel defaultSize={25} minSize={20}>
|
|
834
880
|
<div className="flex h-full items-center justify-center bg-purple-500/10 p-4">
|
|
835
881
|
<div className="text-center">
|
|
836
|
-
<h5 className="text-md font-medium
|
|
837
|
-
|
|
882
|
+
<h5 className="text-md text-fm-primary font-medium">
|
|
883
|
+
Panel 3
|
|
884
|
+
</h5>
|
|
885
|
+
<p className="text-fm-secondary mt-1 text-xs">Min: 20%</p>
|
|
838
886
|
<div className="mx-auto mt-3 flex h-16 w-16 items-center justify-center rounded-full bg-purple-500/20">
|
|
839
|
-
<span className="font-mono text-xs
|
|
887
|
+
<span className="text-fm-icon-brand-secondary font-mono text-xs">
|
|
840
888
|
{sizes[2]?.toFixed(0)}%
|
|
841
889
|
</span>
|
|
842
890
|
</div>
|
|
@@ -846,7 +894,7 @@ export const InteractivePlayground: Story = {
|
|
|
846
894
|
</ResizablePanelGroup>
|
|
847
895
|
</div>
|
|
848
896
|
|
|
849
|
-
<div className="text-
|
|
897
|
+
<div className="text-fm-secondary text-center text-xs">
|
|
850
898
|
<p>
|
|
851
899
|
Drag the handles to resize panels and see the live size updates
|
|
852
900
|
above!
|