aural-ui 3.0.6 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/aspect-ratio/AspectRatio.stories.tsx +271 -242
- package/dist/components/avatar/Avatar.stories.tsx +84 -70
- package/dist/components/button/Button.stories.tsx +7 -7
- package/dist/components/button/index.tsx +7 -7
- package/dist/components/card/Card.stories.tsx +3 -3
- package/dist/components/char-count/CharCount.stories.tsx +9 -9
- package/dist/components/circular-loader/CircularLoader.stories.tsx +109 -93
- package/dist/components/clamp-lines/ClampLines.stories.tsx +25 -0
- package/dist/components/clamp-lines/index.tsx +6 -1
- package/dist/components/collapsible/Collapsible.stories.tsx +1 -1
- package/dist/components/command/Command.stories.tsx +52 -38
- package/dist/components/dialog/Dialog.stories.tsx +89 -84
- package/dist/components/divider/Divider.stories.tsx +86 -60
- package/dist/components/dot-loader/DotLoader.stories.tsx +12 -12
- package/dist/components/drawer/Drawer.stories.tsx +74 -44
- package/dist/components/drawer/index.tsx +3 -3
- package/dist/components/dropdown/Dropdown.stories.tsx +42 -32
- package/dist/components/helper-text/HelperText.stories.tsx +2 -2
- package/dist/components/hover-card/HoverCard.stories.tsx +211 -178
- package/dist/components/input/Input.stories.tsx +2 -2
- package/dist/components/input/index.tsx +2 -0
- package/dist/components/label/Label.stories.tsx +10 -10
- package/dist/components/list/List.stories.tsx +58 -44
- package/dist/components/marquee/Marquee.stories.tsx +131 -113
- package/dist/components/otp-inputs/OtpInputs.stories.tsx +47 -35
- package/dist/components/overlay/Overlay.stories.tsx +98 -92
- package/dist/components/overlay/index.tsx +4 -4
- package/dist/components/popover/Popover.stories.tsx +132 -106
- package/dist/components/radio/Radio.stories.tsx +2 -2
- package/dist/components/resizable/Resizable.stories.tsx +186 -138
- package/dist/components/scroll-area/ScrollArea.stories.tsx +174 -120
- package/dist/components/search/Search.stories.tsx +81 -59
- package/dist/components/select/Select.stories.tsx +3 -1
- package/dist/components/sheet/Sheet.stories.tsx +68 -54
- package/dist/components/slider/Slider.stories.tsx +71 -47
- package/dist/components/stepper/Stepper.stories.tsx +16 -16
- package/dist/components/switch/Switch.stories.tsx +12 -12
- package/dist/components/table/Table.stories.tsx +8 -6
- package/dist/components/tabs/Tabs.stories.tsx +324 -268
- package/dist/components/textarea/TextArea.stories.tsx +1 -1
- package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +16 -10
- package/dist/components/toast/Toast.stories.tsx +51 -45
- package/dist/components/toggle/Toggle.stories.tsx +111 -89
- package/dist/components/tooltip/Tooltip.stories.tsx +160 -144
- package/dist/icons/Icons.stories.tsx +2 -2
- package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +287 -237
- package/dist/icons/alert-icon/AlertIcon.stories.tsx +290 -248
- package/dist/icons/all-icons.tsx +97 -81
- package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +312 -270
- package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +294 -244
- package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +309 -279
- package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +294 -258
- package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +289 -255
- package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +288 -256
- package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +322 -288
- package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +340 -296
- package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +197 -177
- package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +390 -328
- package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +313 -277
- package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +367 -309
- package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +356 -308
- package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +280 -234
- package/dist/icons/camera-icon/CameraIcon.stories.tsx +370 -326
- package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +300 -256
- package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +298 -262
- package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +294 -260
- package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +291 -259
- package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +286 -256
- package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +282 -256
- package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +292 -256
- package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +338 -290
- package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +167 -148
- package/dist/icons/coin-icon/CoinIcon.stories.tsx +342 -296
- package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +342 -296
- package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +280 -238
- package/dist/icons/command-icon/CommandIcon.stories.tsx +328 -280
- package/dist/icons/copy-icon/CopyIcon.stories.tsx +294 -256
- package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +285 -235
- package/dist/icons/cross-icon/CrossIcon.stories.tsx +308 -266
- package/dist/icons/download-icon/DownloadIcon.stories.tsx +271 -231
- package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +330 -278
- package/dist/icons/email-icon/EmailIcon.stories.tsx +303 -257
- package/dist/icons/expand-icon/ExpandIcon.stories.tsx +324 -286
- package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +317 -271
- package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +320 -272
- package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +322 -280
- package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +315 -277
- package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +199 -177
- package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +304 -264
- package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +311 -277
- package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +327 -287
- package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +314 -278
- package/dist/icons/globe-icon/GlobeIcon.stories.tsx +113 -98
- package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +274 -226
- package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +349 -303
- package/dist/icons/head-icon/HeadIcon.stories.tsx +286 -246
- package/dist/icons/heart-icon/HeartIcon.stories.tsx +312 -268
- package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +246 -210
- package/dist/icons/image-icon/ImageIcon.stories.tsx +330 -284
- package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +326 -282
- package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +330 -294
- package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +288 -234
- package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +386 -330
- package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +305 -263
- package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +295 -259
- package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +296 -256
- package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +322 -282
- package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +399 -359
- package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +314 -272
- package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +238 -206
- package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +322 -276
- package/dist/icons/message-icon/MessageIcon.stories.tsx +192 -170
- package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +348 -304
- package/dist/icons/moon-icon/MoonIcon.stories.tsx +191 -167
- package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +380 -326
- package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +345 -291
- package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +310 -266
- package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +311 -271
- package/dist/icons/notes-icon/NotesIcon.stories.tsx +311 -271
- package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +309 -271
- package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +248 -210
- package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +310 -262
- package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +274 -236
- package/dist/icons/pause-icon/PauseIcon.stories.tsx +324 -280
- package/dist/icons/pencil-icon/PencilIcon.stories.tsx +323 -281
- package/dist/icons/phone-icon/PhoneIcon.stories.tsx +288 -240
- package/dist/icons/plus-icon/PlusIcon.stories.tsx +315 -273
- package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +278 -234
- package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +161 -151
- package/dist/icons/search-icon/SearchIcon.stories.tsx +324 -284
- package/dist/icons/setting-icon/SettingIcon.stories.tsx +306 -264
- package/dist/icons/share-icon/ShareIcon.stories.tsx +314 -272
- package/dist/icons/shield-icon/ShieldIcon.stories.tsx +281 -235
- package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +309 -250
- package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +317 -279
- package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +315 -279
- package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +299 -253
- package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +185 -169
- package/dist/icons/spinner-gradient-icon/index.tsx +6 -1
- package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +192 -168
- package/dist/icons/spinner-solid-icon/index.tsx +6 -1
- package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +212 -178
- package/dist/icons/spinner-solid-neutral-icon/index.tsx +1 -1
- package/dist/icons/star-icon/StarIcon.stories.tsx +290 -244
- package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +286 -234
- package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +272 -230
- package/dist/icons/sun-icon/SunIcon.stories.tsx +262 -226
- package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +321 -279
- package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +332 -282
- package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +394 -342
- package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +338 -290
- package/dist/icons/tick-icon/TickIcon.stories.tsx +364 -315
- package/dist/icons/trash-icon/TrashIcon.stories.tsx +293 -253
- package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +396 -338
- package/dist/icons/upload-icon/UploadIcon.stories.tsx +291 -247
- package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +309 -271
- package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +336 -290
- package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +382 -334
- package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +349 -305
- package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +327 -295
- package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +336 -296
- package/dist/icons/warning-icon/WarningIcon.stories.tsx +314 -274
- package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +311 -261
- package/dist/index.cjs +84 -84
- package/dist/index.js +84 -84
- package/dist/styles/aural-all-theme.css +1222 -0
- package/dist/styles/{aural-theme.css → aural-dark-theme.css} +15 -3
- package/dist/styles/aural-light-theme.css +1047 -0
- package/package.json +1 -1
|
@@ -11,9 +11,9 @@ const meta: Meta<typeof ChevronDoubleLeftIcon> = {
|
|
|
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 ChevronDoubleLeftIcon> = {
|
|
|
40
40
|
background: transparent ;
|
|
41
41
|
}
|
|
42
42
|
body {
|
|
43
|
-
background:
|
|
43
|
+
background: var(--color-fm-surface-primary) ;
|
|
44
44
|
}
|
|
45
45
|
#storybook-docs {
|
|
46
|
-
background:
|
|
46
|
+
background: var(--color-fm-surface-primary) ;
|
|
47
47
|
}
|
|
48
48
|
.sbdocs-preview {
|
|
49
49
|
background: transparent ;
|
|
50
50
|
border: none ;
|
|
51
51
|
}
|
|
52
52
|
.sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
|
|
53
|
-
color:
|
|
53
|
+
color: var(--color-fm-icon-active) ;
|
|
54
54
|
}
|
|
55
55
|
.sbdocs-p, .sbdocs-li {
|
|
56
|
-
color:
|
|
56
|
+
color: var(--color-fm-secondary) ;
|
|
57
57
|
}
|
|
58
58
|
.sbdocs-code {
|
|
59
|
-
background:
|
|
60
|
-
color:
|
|
61
|
-
border: 1px solid
|
|
59
|
+
background: var(--color-fm-surface-secondary) ;
|
|
60
|
+
color: var(--color-fm-secondary-500) ;
|
|
61
|
+
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
62
62
|
}
|
|
63
63
|
.sbdocs-pre {
|
|
64
|
-
background:
|
|
65
|
-
border: 1px solid
|
|
64
|
+
background: var(--color-fm-surface-secondary) ;
|
|
65
|
+
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
66
66
|
}
|
|
67
67
|
.sbdocs-table {
|
|
68
|
-
background:
|
|
69
|
-
border: 1px solid
|
|
68
|
+
background: var(--color-fm-surface-secondary) ;
|
|
69
|
+
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
70
70
|
}
|
|
71
71
|
.sbdocs-table th {
|
|
72
|
-
background:
|
|
73
|
-
color:
|
|
74
|
-
border-bottom: 1px solid
|
|
72
|
+
background: var(--color-fm-surface-secondary) ;
|
|
73
|
+
color: var(--color-fm-icon-active) ;
|
|
74
|
+
border-bottom: 1px solid var(--color-fm-divider-secondary) ;
|
|
75
75
|
}
|
|
76
76
|
.sbdocs-table td {
|
|
77
|
-
color:
|
|
78
|
-
border-bottom: 1px solid
|
|
77
|
+
color: var(--color-fm-secondary) ;
|
|
78
|
+
border-bottom: 1px solid var(--color-fm-divider-tertiary) ;
|
|
79
79
|
}
|
|
80
80
|
`}
|
|
81
81
|
</style>
|
|
82
82
|
|
|
83
|
-
<div className="
|
|
83
|
+
<div className="from-fm-surface-primary via-fm-icon-info/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
|
|
84
84
|
{/* Header */}
|
|
85
|
-
<div className="relative overflow-hidden border-b
|
|
86
|
-
<div className="absolute inset-0 bg-
|
|
85
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
|
|
86
|
+
<div className="from-fm-icon-info/10 to-fm-icon-info/10 absolute inset-0 bg-linear-to-r via-transparent" />
|
|
87
87
|
<div className="relative !mx-auto max-w-7xl px-6 py-16">
|
|
88
88
|
<div className="!space-y-6 text-center">
|
|
89
|
-
<div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border
|
|
90
|
-
<ChevronDoubleLeftIcon className="h-12 w-12
|
|
89
|
+
<div className="border-fm-icon-info/30 from-fm-icon-info/20 to-fm-icon-info/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
|
|
90
|
+
<ChevronDoubleLeftIcon className="text-fm-icon-info h-12 w-12" />
|
|
91
91
|
</div>
|
|
92
92
|
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
93
93
|
ChevronDoubleLeftIcon
|
|
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 navigation icon featuring double chevrons pointing left,
|
|
97
97
|
perfect for pagination, breadcrumbs, and navigation
|
|
98
98
|
interfaces. Built with accessibility in mind using Radix
|
|
@@ -102,28 +102,28 @@ const meta: Meta<typeof ChevronDoubleLeftIcon> = {
|
|
|
102
102
|
{/* Stats */}
|
|
103
103
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
104
104
|
<div className="text-center">
|
|
105
|
-
<div className="text-3xl font-bold
|
|
105
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
106
106
|
Accessible
|
|
107
107
|
</div>
|
|
108
|
-
<div className="text-
|
|
108
|
+
<div className="text-fm-tertiary text-sm">
|
|
109
109
|
Screen reader friendly
|
|
110
110
|
</div>
|
|
111
111
|
</div>
|
|
112
|
-
<div className="h-8 w-px
|
|
112
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
113
113
|
<div className="text-center">
|
|
114
|
-
<div className="text-3xl font-bold
|
|
114
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
115
115
|
Scalable
|
|
116
116
|
</div>
|
|
117
|
-
<div className="text-
|
|
117
|
+
<div className="text-fm-tertiary text-sm">
|
|
118
118
|
Any size needed
|
|
119
119
|
</div>
|
|
120
120
|
</div>
|
|
121
|
-
<div className="h-8 w-px
|
|
121
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
122
122
|
<div className="text-center">
|
|
123
|
-
<div className="text-3xl font-bold
|
|
123
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
124
124
|
Navigation
|
|
125
125
|
</div>
|
|
126
|
-
<div className="text-
|
|
126
|
+
<div className="text-fm-tertiary text-sm">
|
|
127
127
|
UI directional cues
|
|
128
128
|
</div>
|
|
129
129
|
</div>
|
|
@@ -136,16 +136,16 @@ const meta: Meta<typeof ChevronDoubleLeftIcon> = {
|
|
|
136
136
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
137
137
|
{/* Quick Usage */}
|
|
138
138
|
<div className="!space-y-8">
|
|
139
|
-
<h2 className="text-center text-3xl font-bold
|
|
139
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
140
140
|
Quick Start
|
|
141
141
|
</h2>
|
|
142
142
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
143
143
|
<div className="!space-y-4">
|
|
144
|
-
<h3 className="text-xl font-semibold
|
|
144
|
+
<h3 className="text-fm-icon-info! text-xl font-semibold">
|
|
145
145
|
Basic Usage
|
|
146
146
|
</h3>
|
|
147
|
-
<div className="rounded-lg
|
|
148
|
-
<pre className="overflow-x-auto text-sm
|
|
147
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
148
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
149
149
|
{`import { ChevronDoubleLeftIcon } from "@icons/chevron-double-left-icon"
|
|
150
150
|
|
|
151
151
|
function PaginationButton() {
|
|
@@ -161,13 +161,13 @@ function PaginationButton() {
|
|
|
161
161
|
</div>
|
|
162
162
|
|
|
163
163
|
<div className="!space-y-4">
|
|
164
|
-
<h3 className="text-xl font-semibold
|
|
164
|
+
<h3 className="text-fm-icon-info! text-xl font-semibold">
|
|
165
165
|
Live Preview
|
|
166
166
|
</h3>
|
|
167
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
168
|
-
<button className="flex items-center gap-3 rounded-lg border
|
|
169
|
-
<ChevronDoubleLeftIcon className="h-5 w-5
|
|
170
|
-
<span className="text-
|
|
167
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
168
|
+
<button className="border-fm-icon-info/20 bg-fm-icon-info/10 hover:bg-fm-icon-info/20 flex items-center gap-3 rounded-lg border px-4 py-2 transition-colors">
|
|
169
|
+
<ChevronDoubleLeftIcon className="text-fm-icon-info h-5 w-5" />
|
|
170
|
+
<span className="text-fm-icon-active">First Page</span>
|
|
171
171
|
</button>
|
|
172
172
|
</div>
|
|
173
173
|
</div>
|
|
@@ -176,108 +176,116 @@ function PaginationButton() {
|
|
|
176
176
|
|
|
177
177
|
{/* Props Documentation */}
|
|
178
178
|
<div className="!space-y-8">
|
|
179
|
-
<h2 className="text-center text-3xl font-bold
|
|
179
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
180
180
|
Props & Configuration
|
|
181
181
|
</h2>
|
|
182
182
|
|
|
183
|
-
<div className="overflow-hidden rounded-lg border
|
|
184
|
-
<div className="bg-
|
|
185
|
-
<h3 className="text-xl font-semibold
|
|
183
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
184
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
185
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
186
|
+
Props
|
|
187
|
+
</h3>
|
|
186
188
|
</div>
|
|
187
189
|
<table className="!my-0 w-full">
|
|
188
|
-
<thead className="bg-
|
|
189
|
-
<tr className="border-
|
|
190
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
190
|
+
<thead className="bg-fm-surface-secondary">
|
|
191
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
192
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
191
193
|
Prop
|
|
192
194
|
</th>
|
|
193
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
195
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
194
196
|
Type
|
|
195
197
|
</th>
|
|
196
|
-
<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">
|
|
197
199
|
Default
|
|
198
200
|
</th>
|
|
199
|
-
<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">
|
|
200
202
|
Description
|
|
201
203
|
</th>
|
|
202
204
|
</tr>
|
|
203
205
|
</thead>
|
|
204
206
|
<tbody>
|
|
205
207
|
{" "}
|
|
206
|
-
<tr className="
|
|
207
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
208
|
+
<tr className="bg-fm-surface-secondary!">
|
|
209
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
208
210
|
withAccessibility
|
|
209
211
|
</td>
|
|
210
|
-
<td className="px-6 py-4 text-sm
|
|
212
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
211
213
|
boolean
|
|
212
214
|
</td>
|
|
213
|
-
<td className="px-6 py-4 text-sm
|
|
215
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
214
216
|
true
|
|
215
217
|
</td>
|
|
216
|
-
<td className="px-6 py-4 text-sm
|
|
218
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
217
219
|
Whether to wrap the icon with accessibility feature
|
|
218
220
|
</td>
|
|
219
221
|
</tr>
|
|
220
|
-
<tr className="border-
|
|
221
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
222
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
223
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
222
224
|
height
|
|
223
225
|
</td>
|
|
224
|
-
<td className="px-6 py-4 text-sm
|
|
226
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
225
227
|
number | string
|
|
226
228
|
</td>
|
|
227
|
-
<td className="px-6 py-4 text-sm
|
|
228
|
-
|
|
229
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
230
|
+
24
|
|
231
|
+
</td>
|
|
232
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
229
233
|
Height of the icon in pixels
|
|
230
234
|
</td>
|
|
231
235
|
</tr>
|
|
232
|
-
<tr className="border-
|
|
233
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
236
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
237
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
234
238
|
stroke
|
|
235
239
|
</td>
|
|
236
|
-
<td className="px-6 py-4 text-sm
|
|
240
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
237
241
|
string
|
|
238
242
|
</td>
|
|
239
|
-
<td className="px-6 py-4 text-sm
|
|
243
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
240
244
|
currentColor
|
|
241
245
|
</td>
|
|
242
|
-
<td className="px-6 py-4 text-sm
|
|
246
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
243
247
|
Stroke color of the icon
|
|
244
248
|
</td>
|
|
245
249
|
</tr>
|
|
246
|
-
<tr className="border-
|
|
247
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
250
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
251
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
248
252
|
className
|
|
249
253
|
</td>
|
|
250
|
-
<td className="px-6 py-4 text-sm
|
|
254
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
251
255
|
string
|
|
252
256
|
</td>
|
|
253
|
-
<td className="px-6 py-4 text-sm
|
|
254
|
-
|
|
257
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
258
|
+
-
|
|
259
|
+
</td>
|
|
260
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
255
261
|
CSS classes for styling (use for overrides)
|
|
256
262
|
</td>
|
|
257
263
|
</tr>
|
|
258
|
-
<tr className="border-
|
|
259
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
264
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
265
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
260
266
|
strokeWidth
|
|
261
267
|
</td>
|
|
262
|
-
<td className="px-6 py-4 text-sm
|
|
268
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
263
269
|
number | string
|
|
264
270
|
</td>
|
|
265
|
-
<td className="px-6 py-4 text-sm
|
|
271
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
266
272
|
1.5
|
|
267
273
|
</td>
|
|
268
|
-
<td className="px-6 py-4 text-sm
|
|
274
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
269
275
|
Stroke width of the chevron lines
|
|
270
276
|
</td>
|
|
271
277
|
</tr>
|
|
272
|
-
<tr className="
|
|
273
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
278
|
+
<tr className="bg-fm-surface-secondary!">
|
|
279
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
274
280
|
...svgProps
|
|
275
281
|
</td>
|
|
276
|
-
<td className="px-6 py-4 text-sm
|
|
282
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
277
283
|
SVGProps
|
|
278
284
|
</td>
|
|
279
|
-
<td className="px-6 py-4 text-sm
|
|
280
|
-
|
|
285
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
286
|
+
-
|
|
287
|
+
</td>
|
|
288
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
281
289
|
All standard SVG element props
|
|
282
290
|
</td>
|
|
283
291
|
</tr>
|
|
@@ -288,50 +296,62 @@ function PaginationButton() {
|
|
|
288
296
|
|
|
289
297
|
{/* Size Variations */}
|
|
290
298
|
<div className="!space-y-8">
|
|
291
|
-
<h2 className="text-center text-3xl font-bold
|
|
299
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
292
300
|
Size Variations
|
|
293
301
|
</h2>
|
|
294
|
-
<div className="rounded-lg border
|
|
302
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
295
303
|
<div className="!space-y-6">
|
|
296
304
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
297
305
|
<div className="!space-y-4">
|
|
298
|
-
<h3 className="text-lg font-semibold
|
|
306
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
299
307
|
Standard Sizes
|
|
300
308
|
</h3>
|
|
301
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
309
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
302
310
|
<div className="text-center">
|
|
303
|
-
<ChevronDoubleLeftIcon className="!mx-auto mb-2 h-3 w-3
|
|
304
|
-
<span className="text-
|
|
311
|
+
<ChevronDoubleLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
312
|
+
<span className="text-fm-tertiary text-xs">
|
|
313
|
+
12px
|
|
314
|
+
</span>
|
|
305
315
|
</div>
|
|
306
316
|
<div className="text-center">
|
|
307
|
-
<ChevronDoubleLeftIcon className="!mx-auto mb-2 h-4 w-4
|
|
308
|
-
<span className="text-
|
|
317
|
+
<ChevronDoubleLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
318
|
+
<span className="text-fm-tertiary text-xs">
|
|
319
|
+
16px
|
|
320
|
+
</span>
|
|
309
321
|
</div>
|
|
310
322
|
<div className="text-center">
|
|
311
|
-
<ChevronDoubleLeftIcon className="!mx-auto mb-2 h-5 w-5
|
|
312
|
-
<span className="text-
|
|
323
|
+
<ChevronDoubleLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
324
|
+
<span className="text-fm-tertiary text-xs">
|
|
325
|
+
20px
|
|
326
|
+
</span>
|
|
313
327
|
</div>
|
|
314
328
|
<div className="text-center">
|
|
315
|
-
<ChevronDoubleLeftIcon className="!mx-auto mb-2 h-6 w-6
|
|
316
|
-
<span className="text-
|
|
329
|
+
<ChevronDoubleLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
330
|
+
<span className="text-fm-tertiary text-xs">
|
|
331
|
+
24px
|
|
332
|
+
</span>
|
|
317
333
|
</div>
|
|
318
334
|
<div className="text-center">
|
|
319
|
-
<ChevronDoubleLeftIcon className="!mx-auto mb-2 h-8 w-8
|
|
320
|
-
<span className="text-
|
|
335
|
+
<ChevronDoubleLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
336
|
+
<span className="text-fm-tertiary text-xs">
|
|
337
|
+
32px
|
|
338
|
+
</span>
|
|
321
339
|
</div>
|
|
322
340
|
<div className="text-center">
|
|
323
|
-
<ChevronDoubleLeftIcon className="!mx-auto mb-2 h-12 w-12
|
|
324
|
-
<span className="text-
|
|
341
|
+
<ChevronDoubleLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
342
|
+
<span className="text-fm-tertiary text-xs">
|
|
343
|
+
48px
|
|
344
|
+
</span>
|
|
325
345
|
</div>
|
|
326
346
|
</div>
|
|
327
347
|
</div>
|
|
328
348
|
|
|
329
349
|
<div className="!space-y-4">
|
|
330
|
-
<h3 className="text-lg font-semibold
|
|
350
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
331
351
|
Code Example
|
|
332
352
|
</h3>
|
|
333
|
-
<div className="rounded-lg
|
|
334
|
-
<pre className="overflow-x-auto text-sm
|
|
353
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
354
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
335
355
|
{`// Small (16px)
|
|
336
356
|
<ChevronDoubleLeftIcon className="h-4 w-4 " />
|
|
337
357
|
|
|
@@ -353,56 +373,56 @@ function PaginationButton() {
|
|
|
353
373
|
|
|
354
374
|
{/* Color Variations */}
|
|
355
375
|
<div className="!space-y-8">
|
|
356
|
-
<h2 className="text-center text-3xl font-bold
|
|
376
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
357
377
|
Color Variations
|
|
358
378
|
</h2>
|
|
359
379
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
360
380
|
<div className="!space-y-4">
|
|
361
|
-
<h3 className="text-lg font-semibold
|
|
381
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
362
382
|
Semantic Colors
|
|
363
383
|
</h3>
|
|
364
|
-
<div className="!space-y-4 rounded-lg border
|
|
384
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
365
385
|
<div className="flex items-center gap-4">
|
|
366
|
-
<ChevronDoubleLeftIcon className="h-6 w-6
|
|
386
|
+
<ChevronDoubleLeftIcon className="text-fm-icon-info h-6 w-6" />
|
|
367
387
|
<div>
|
|
368
|
-
<div className="text-sm font-medium
|
|
388
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
369
389
|
Primary
|
|
370
390
|
</div>
|
|
371
|
-
<div className="text-
|
|
372
|
-
text-
|
|
391
|
+
<div className="text-fm-tertiary text-xs">
|
|
392
|
+
text-fm-icon-info
|
|
373
393
|
</div>
|
|
374
394
|
</div>
|
|
375
395
|
</div>
|
|
376
396
|
<div className="flex items-center gap-4">
|
|
377
|
-
<ChevronDoubleLeftIcon className="h-6 w-6
|
|
397
|
+
<ChevronDoubleLeftIcon className="text-fm-placeholder h-6 w-6" />
|
|
378
398
|
<div>
|
|
379
|
-
<div className="text-sm font-medium
|
|
399
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
380
400
|
Secondary
|
|
381
401
|
</div>
|
|
382
|
-
<div className="text-
|
|
383
|
-
text-
|
|
402
|
+
<div className="text-fm-tertiary text-xs">
|
|
403
|
+
text-fm-placeholder
|
|
384
404
|
</div>
|
|
385
405
|
</div>
|
|
386
406
|
</div>
|
|
387
407
|
<div className="flex items-center gap-4">
|
|
388
|
-
<ChevronDoubleLeftIcon className="h-6 w-6
|
|
408
|
+
<ChevronDoubleLeftIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
389
409
|
<div>
|
|
390
|
-
<div className="text-sm font-medium
|
|
410
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
391
411
|
Accent
|
|
392
412
|
</div>
|
|
393
|
-
<div className="text-
|
|
394
|
-
text-
|
|
413
|
+
<div className="text-fm-tertiary text-xs">
|
|
414
|
+
text-fm-secondary-600
|
|
395
415
|
</div>
|
|
396
416
|
</div>
|
|
397
417
|
</div>
|
|
398
418
|
<div className="flex items-center gap-4">
|
|
399
|
-
<ChevronDoubleLeftIcon className="h-6 w-6
|
|
419
|
+
<ChevronDoubleLeftIcon className="text-fm-placeholder h-6 w-6" />
|
|
400
420
|
<div>
|
|
401
|
-
<div className="text-sm font-medium
|
|
421
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
402
422
|
Disabled
|
|
403
423
|
</div>
|
|
404
|
-
<div className="text-
|
|
405
|
-
text-
|
|
424
|
+
<div className="text-fm-tertiary text-xs">
|
|
425
|
+
text-fm-placeholder
|
|
406
426
|
</div>
|
|
407
427
|
</div>
|
|
408
428
|
</div>
|
|
@@ -410,11 +430,11 @@ function PaginationButton() {
|
|
|
410
430
|
</div>
|
|
411
431
|
|
|
412
432
|
<div className="!space-y-4">
|
|
413
|
-
<h3 className="text-lg font-semibold
|
|
433
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
414
434
|
Custom Colors
|
|
415
435
|
</h3>
|
|
416
|
-
<div className="rounded-lg
|
|
417
|
-
<pre className="overflow-x-auto text-sm
|
|
436
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
437
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
418
438
|
{`// Using Tailwind classes with
|
|
419
439
|
<ChevronDoubleLeftIcon className="h-6 w-6 text-blue-400 " />
|
|
420
440
|
<ChevronDoubleLeftIcon className="h-6 w-6 text-purple-500 " />
|
|
@@ -439,31 +459,31 @@ function PaginationButton() {
|
|
|
439
459
|
|
|
440
460
|
{/* Usage Examples */}
|
|
441
461
|
<div className="!space-y-8">
|
|
442
|
-
<h2 className="text-center text-3xl font-bold
|
|
462
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
443
463
|
Usage Examples
|
|
444
464
|
</h2>
|
|
445
465
|
|
|
446
466
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
447
467
|
{/* Pagination */}
|
|
448
468
|
<div className="!space-y-4">
|
|
449
|
-
<h3 className="text-lg font-semibold
|
|
469
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
450
470
|
Pagination Controls
|
|
451
471
|
</h3>
|
|
452
472
|
<div className="!space-y-4">
|
|
453
|
-
<div className="flex items-center justify-center gap-2 rounded-lg border
|
|
454
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
473
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center justify-center gap-2 rounded-lg border p-4">
|
|
474
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/10 text-fm-icon-info hover:bg-fm-icon-info/20 flex items-center gap-2 rounded-lg border px-3 py-2 transition-colors">
|
|
455
475
|
<ChevronDoubleLeftIcon className="h-4 w-4" />
|
|
456
476
|
<span>First</span>
|
|
457
477
|
</button>
|
|
458
|
-
<button className="
|
|
478
|
+
<button className="border-fm-divider-primary bg-fm-surface-secondary text-fm-tertiary hover:bg-fm-surface-secondary rounded-lg border p-2 transition-colors">
|
|
459
479
|
<ChevronDoubleLeftIcon className="h-4 w-4" />
|
|
460
480
|
</button>
|
|
461
|
-
<span className="text-
|
|
481
|
+
<span className="text-fm-tertiary text-sm">
|
|
462
482
|
Page 5 of 10
|
|
463
483
|
</span>
|
|
464
484
|
</div>
|
|
465
|
-
<div className="rounded-lg
|
|
466
|
-
<pre className="overflow-x-auto text-sm
|
|
485
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
486
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
467
487
|
{`<div className="flex items-center gap-2">
|
|
468
488
|
<button className="flex items-center gap-2 bg-blue-500/10 border border-blue-500/30 px-3 py-2 rounded-lg">
|
|
469
489
|
<ChevronDoubleLeftIcon className="h-4 w-4 " />
|
|
@@ -480,22 +500,22 @@ function PaginationButton() {
|
|
|
480
500
|
|
|
481
501
|
{/* Breadcrumbs */}
|
|
482
502
|
<div className="!space-y-4">
|
|
483
|
-
<h3 className="text-lg font-semibold
|
|
503
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
484
504
|
Breadcrumb Navigation
|
|
485
505
|
</h3>
|
|
486
506
|
<div className="!space-y-4">
|
|
487
|
-
<div className="rounded-lg border
|
|
507
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
488
508
|
<nav className="flex items-center gap-2 text-sm">
|
|
489
|
-
<button className="flex items-center gap-1 rounded px-2 py-1
|
|
509
|
+
<button className="text-fm-icon-info hover:bg-fm-icon-info/10 flex items-center gap-1 rounded px-2 py-1">
|
|
490
510
|
<ChevronDoubleLeftIcon className="h-3 w-3" />
|
|
491
511
|
<span>Back to Start</span>
|
|
492
512
|
</button>
|
|
493
|
-
<span className="text-
|
|
494
|
-
<span className="text-
|
|
513
|
+
<span className="text-fm-placeholder">/</span>
|
|
514
|
+
<span className="text-fm-tertiary">Current Page</span>
|
|
495
515
|
</nav>
|
|
496
516
|
</div>
|
|
497
|
-
<div className="rounded-lg
|
|
498
|
-
<pre className="overflow-x-auto text-sm
|
|
517
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
518
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
499
519
|
{`<nav className="flex items-center gap-2 text-sm">
|
|
500
520
|
<button className="flex items-center gap-1 rounded px-2 py-1 text-blue-300 hover:bg-blue-500/10">
|
|
501
521
|
<ChevronDoubleLeftIcon className="h-3 w-3 " />
|
|
@@ -511,24 +531,24 @@ function PaginationButton() {
|
|
|
511
531
|
|
|
512
532
|
{/* Table Navigation */}
|
|
513
533
|
<div className="!space-y-4">
|
|
514
|
-
<h3 className="text-lg font-semibold
|
|
534
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
515
535
|
Table Navigation
|
|
516
536
|
</h3>
|
|
517
537
|
<div className="!space-y-4">
|
|
518
|
-
<div className="overflow-hidden rounded-lg border
|
|
519
|
-
<div className="flex items-center justify-between border-b
|
|
520
|
-
<span className="text-
|
|
538
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
539
|
+
<div className="border-fm-divider-secondary flex items-center justify-between border-b p-4">
|
|
540
|
+
<span className="text-fm-secondary text-sm">
|
|
521
541
|
Showing 1-10 of 100 items
|
|
522
542
|
</span>
|
|
523
543
|
<div className="flex items-center gap-1">
|
|
524
544
|
<button
|
|
525
|
-
className="
|
|
545
|
+
className="text-fm-icon-info hover:bg-fm-icon-info/10 rounded p-1"
|
|
526
546
|
aria-label="Go to first page"
|
|
527
547
|
>
|
|
528
548
|
<ChevronDoubleLeftIcon className="h-4 w-4" />
|
|
529
549
|
</button>
|
|
530
550
|
<button
|
|
531
|
-
className="rounded p-1
|
|
551
|
+
className="text-fm-placeholder rounded p-1"
|
|
532
552
|
disabled
|
|
533
553
|
aria-label="Previous page"
|
|
534
554
|
>
|
|
@@ -537,8 +557,8 @@ function PaginationButton() {
|
|
|
537
557
|
</div>
|
|
538
558
|
</div>
|
|
539
559
|
</div>
|
|
540
|
-
<div className="rounded-lg
|
|
541
|
-
<pre className="overflow-x-auto text-sm
|
|
560
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
561
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
542
562
|
{`<div className="flex items-center justify-between p-4">
|
|
543
563
|
<span className="text-sm text-white/70">
|
|
544
564
|
Showing 1-10 of 100 items
|
|
@@ -556,25 +576,25 @@ function PaginationButton() {
|
|
|
556
576
|
|
|
557
577
|
{/* Sidebar Toggle */}
|
|
558
578
|
<div className="!space-y-4">
|
|
559
|
-
<h3 className="text-lg font-semibold
|
|
579
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
560
580
|
Sidebar Collapse
|
|
561
581
|
</h3>
|
|
562
582
|
<div className="!space-y-4">
|
|
563
|
-
<div className="flex h-32 rounded-lg border
|
|
564
|
-
<div className="w-64 border-r
|
|
583
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 rounded-lg border">
|
|
584
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary w-64 border-r p-4">
|
|
565
585
|
<div className="flex items-center justify-between">
|
|
566
|
-
<span className="text-
|
|
567
|
-
<button className="
|
|
586
|
+
<span className="text-fm-icon-active">Sidebar</span>
|
|
587
|
+
<button className="text-fm-tertiary hover:bg-fm-surface-secondary rounded p-1">
|
|
568
588
|
<ChevronDoubleLeftIcon className="h-4 w-4" />
|
|
569
589
|
</button>
|
|
570
590
|
</div>
|
|
571
591
|
</div>
|
|
572
592
|
<div className="flex-1 p-4">
|
|
573
|
-
<span className="text-
|
|
593
|
+
<span className="text-fm-tertiary">Main Content</span>
|
|
574
594
|
</div>
|
|
575
595
|
</div>
|
|
576
|
-
<div className="rounded-lg
|
|
577
|
-
<pre className="overflow-x-auto text-sm
|
|
596
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
597
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
578
598
|
{`// Sidebar collapse button
|
|
579
599
|
<button className="rounded p-1 text-white/60 hover:bg-white/10" aria-label="Collapse sidebar">
|
|
580
600
|
<ChevronDoubleLeftIcon className="h-4 w-4 " />
|
|
@@ -591,64 +611,64 @@ function PaginationButton() {
|
|
|
591
611
|
|
|
592
612
|
{/* Accessibility */}
|
|
593
613
|
<div className="!space-y-8">
|
|
594
|
-
<h2 className="text-center text-3xl font-bold
|
|
614
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
595
615
|
Accessibility Features
|
|
596
616
|
</h2>
|
|
597
617
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
598
|
-
<div className="!space-y-4 rounded-lg border
|
|
599
|
-
<h3 className="text-lg font-semibold
|
|
618
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
619
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
600
620
|
✅ Built-in Features
|
|
601
621
|
</h3>
|
|
602
|
-
<ul className="!space-y-2 text-sm
|
|
603
|
-
<li className="
|
|
622
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
623
|
+
<li className="text-fm-secondary!">
|
|
604
624
|
Uses Radix UI AccessibleIcon wrapper
|
|
605
625
|
</li>
|
|
606
|
-
<li className="
|
|
626
|
+
<li className="text-fm-secondary!">
|
|
607
627
|
Provides screen reader label "Chevron Double Left icon"
|
|
608
628
|
</li>
|
|
609
|
-
<li className="
|
|
629
|
+
<li className="text-fm-secondary!">
|
|
610
630
|
Supports keyboard navigation when interactive
|
|
611
631
|
</li>
|
|
612
|
-
<li className="
|
|
632
|
+
<li className="text-fm-secondary!">
|
|
613
633
|
Maintains proper color contrast ratios
|
|
614
634
|
</li>
|
|
615
|
-
<li className="
|
|
635
|
+
<li className="text-fm-secondary!">
|
|
616
636
|
Scales with user's font size preferences
|
|
617
637
|
</li>
|
|
618
638
|
</ul>
|
|
619
639
|
</div>
|
|
620
640
|
|
|
621
|
-
<div className="!space-y-4 rounded-lg border
|
|
622
|
-
<h3 className="text-lg font-semibold
|
|
641
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
642
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
623
643
|
💡 Best Practices
|
|
624
644
|
</h3>
|
|
625
|
-
<ul className="!space-y-2 text-sm
|
|
626
|
-
<li className="
|
|
645
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
646
|
+
<li className="text-fm-secondary!">
|
|
627
647
|
Use descriptive aria-labels for buttons
|
|
628
648
|
</li>
|
|
629
|
-
<li className="
|
|
649
|
+
<li className="text-fm-secondary!">
|
|
630
650
|
Provide context for navigation direction
|
|
631
651
|
</li>
|
|
632
|
-
<li className="
|
|
652
|
+
<li className="text-fm-secondary!">
|
|
633
653
|
Ensure sufficient color contrast
|
|
634
654
|
</li>
|
|
635
|
-
<li className="
|
|
655
|
+
<li className="text-fm-secondary!">
|
|
636
656
|
Add focus states for interactive elements
|
|
637
657
|
</li>
|
|
638
|
-
<li className="
|
|
658
|
+
<li className="text-fm-secondary!">
|
|
639
659
|
Consider disabled states for navigation limits
|
|
640
660
|
</li>
|
|
641
661
|
</ul>
|
|
642
662
|
</div>
|
|
643
663
|
</div>
|
|
644
664
|
|
|
645
|
-
<div className="rounded-lg border
|
|
646
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
665
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
666
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
647
667
|
Proper ARIA Labels
|
|
648
668
|
</h3>
|
|
649
669
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
650
|
-
<div className="rounded-lg
|
|
651
|
-
<pre className="overflow-x-auto text-sm
|
|
670
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
671
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
652
672
|
{`// Pagination buttons with proper labels
|
|
653
673
|
<button
|
|
654
674
|
aria-label="Go to first page"
|
|
@@ -677,13 +697,13 @@ function PaginationButton() {
|
|
|
677
697
|
</pre>
|
|
678
698
|
</div>
|
|
679
699
|
<div className="!space-y-4">
|
|
680
|
-
<p className="text-
|
|
700
|
+
<p className="text-fm-secondary! text-sm">
|
|
681
701
|
Always provide meaningful aria-labels that describe the
|
|
682
702
|
action, not just the icon. This helps screen reader
|
|
683
703
|
users understand the purpose of navigation elements.
|
|
684
704
|
</p>
|
|
685
|
-
<div className="
|
|
686
|
-
<div className="flex items-center gap-2 text-sm
|
|
705
|
+
<div className="border-fm-icon-info/20 bg-fm-icon-info/10 rounded-lg border p-4">
|
|
706
|
+
<div className="text-fm-icon-info flex items-center gap-2 text-sm">
|
|
687
707
|
<ChevronDoubleLeftIcon className="h-4 w-4" />
|
|
688
708
|
<span>Good labels improve navigation clarity</span>
|
|
689
709
|
</div>
|
|
@@ -695,54 +715,62 @@ function PaginationButton() {
|
|
|
695
715
|
|
|
696
716
|
{/* Related Icons */}
|
|
697
717
|
<div className="!space-y-8">
|
|
698
|
-
<h2 className="text-center text-3xl font-bold
|
|
718
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
699
719
|
Related Icons
|
|
700
720
|
</h2>
|
|
701
721
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
702
|
-
<div className="!space-y-3 rounded-lg border
|
|
703
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
704
|
-
<span className="rotate-180 !text-2xl
|
|
722
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
723
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
724
|
+
<span className="text-fm-icon-active rotate-180 !text-2xl">
|
|
725
|
+
»
|
|
726
|
+
</span>
|
|
705
727
|
</div>
|
|
706
728
|
<div>
|
|
707
|
-
<div className="font-medium
|
|
729
|
+
<div className="text-fm-icon-active font-medium">
|
|
708
730
|
ChevronDoubleRightIcon
|
|
709
731
|
</div>
|
|
710
|
-
<div className="text-
|
|
732
|
+
<div className="text-fm-tertiary text-xs">
|
|
711
733
|
Navigate forward
|
|
712
734
|
</div>
|
|
713
735
|
</div>
|
|
714
736
|
</div>
|
|
715
|
-
<div className="!space-y-3 rounded-lg border
|
|
716
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
717
|
-
<span className="
|
|
737
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
738
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
739
|
+
<span className="text-fm-icon-active !text-2xl">‹</span>
|
|
718
740
|
</div>
|
|
719
741
|
<div>
|
|
720
|
-
<div className="font-medium
|
|
742
|
+
<div className="text-fm-icon-active font-medium">
|
|
721
743
|
ChevronLeftIcon
|
|
722
744
|
</div>
|
|
723
|
-
<div className="text-
|
|
745
|
+
<div className="text-fm-tertiary text-xs">
|
|
724
746
|
Single step back
|
|
725
747
|
</div>
|
|
726
748
|
</div>
|
|
727
749
|
</div>
|
|
728
|
-
<div className="!space-y-3 rounded-lg border
|
|
729
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
730
|
-
<span className="
|
|
750
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
751
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
752
|
+
<span className="text-fm-icon-active !text-2xl">↑</span>
|
|
731
753
|
</div>
|
|
732
754
|
<div>
|
|
733
|
-
<div className="font-medium
|
|
734
|
-
|
|
755
|
+
<div className="text-fm-icon-active font-medium">
|
|
756
|
+
ArrowUpIcon
|
|
757
|
+
</div>
|
|
758
|
+
<div className="text-fm-tertiary text-xs">
|
|
735
759
|
Vertical navigation
|
|
736
760
|
</div>
|
|
737
761
|
</div>
|
|
738
762
|
</div>
|
|
739
|
-
<div className="!space-y-3 rounded-lg border
|
|
740
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
741
|
-
<span className="
|
|
763
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
764
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
765
|
+
<span className="text-fm-icon-active !text-2xl">⟲</span>
|
|
742
766
|
</div>
|
|
743
767
|
<div>
|
|
744
|
-
<div className="font-medium
|
|
745
|
-
|
|
768
|
+
<div className="text-fm-icon-active font-medium">
|
|
769
|
+
RefreshIcon
|
|
770
|
+
</div>
|
|
771
|
+
<div className="text-fm-tertiary text-xs">
|
|
772
|
+
Reset/reload
|
|
773
|
+
</div>
|
|
746
774
|
</div>
|
|
747
775
|
</div>
|
|
748
776
|
</div>
|
|
@@ -750,14 +778,14 @@ function PaginationButton() {
|
|
|
750
778
|
</div>
|
|
751
779
|
|
|
752
780
|
{/* Footer */}
|
|
753
|
-
<div className="border-
|
|
781
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
754
782
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
755
783
|
<div className="!space-y-4 text-center">
|
|
756
|
-
<p className="
|
|
784
|
+
<p className="text-fm-tertiary!">
|
|
757
785
|
ChevronDoubleLeftIcon is part of the Aural UI icon library,
|
|
758
786
|
built with accessibility and navigation clarity in mind.
|
|
759
787
|
</p>
|
|
760
|
-
<p className="text-
|
|
788
|
+
<p className="text-fm-placeholder! text-sm">
|
|
761
789
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
762
790
|
compatibility and follow WCAG guidelines.
|
|
763
791
|
</p>
|
|
@@ -806,8 +834,8 @@ const storyParameters = {
|
|
|
806
834
|
backgrounds: {
|
|
807
835
|
default: "dark",
|
|
808
836
|
values: [
|
|
809
|
-
{ name: "dark", value: "
|
|
810
|
-
{ name: "darker", value: "
|
|
837
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
838
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
811
839
|
],
|
|
812
840
|
},
|
|
813
841
|
}
|
|
@@ -816,12 +844,12 @@ export const Default: Story = {
|
|
|
816
844
|
args: {
|
|
817
845
|
width: 24,
|
|
818
846
|
height: 24,
|
|
819
|
-
className: "text-
|
|
847
|
+
className: "text-fm-icon-info ",
|
|
820
848
|
withAccessibility: true,
|
|
821
849
|
},
|
|
822
850
|
parameters: storyParameters,
|
|
823
851
|
render: (args) => (
|
|
824
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
852
|
+
<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">
|
|
825
853
|
<ChevronDoubleLeftIcon {...args} />
|
|
826
854
|
</div>
|
|
827
855
|
),
|
|
@@ -838,30 +866,30 @@ export const SizeVariations: Story = {
|
|
|
838
866
|
},
|
|
839
867
|
},
|
|
840
868
|
render: () => (
|
|
841
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
869
|
+
<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">
|
|
842
870
|
<div className="text-center">
|
|
843
|
-
<ChevronDoubleLeftIcon className="!mx-auto mb-2 h-3 w-3
|
|
844
|
-
<span className="text-
|
|
871
|
+
<ChevronDoubleLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
872
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
845
873
|
</div>
|
|
846
874
|
<div className="text-center">
|
|
847
|
-
<ChevronDoubleLeftIcon className="!mx-auto mb-2 h-4 w-4
|
|
848
|
-
<span className="text-
|
|
875
|
+
<ChevronDoubleLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
876
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
849
877
|
</div>
|
|
850
878
|
<div className="text-center">
|
|
851
|
-
<ChevronDoubleLeftIcon className="!mx-auto mb-2 h-5 w-5
|
|
852
|
-
<span className="text-
|
|
879
|
+
<ChevronDoubleLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
880
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
853
881
|
</div>
|
|
854
882
|
<div className="text-center">
|
|
855
|
-
<ChevronDoubleLeftIcon className="!mx-auto mb-2 h-6 w-6
|
|
856
|
-
<span className="text-
|
|
883
|
+
<ChevronDoubleLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
884
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
857
885
|
</div>
|
|
858
886
|
<div className="text-center">
|
|
859
|
-
<ChevronDoubleLeftIcon className="!mx-auto mb-2 h-8 w-8
|
|
860
|
-
<span className="text-
|
|
887
|
+
<ChevronDoubleLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
888
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
861
889
|
</div>
|
|
862
890
|
<div className="text-center">
|
|
863
|
-
<ChevronDoubleLeftIcon className="!mx-auto mb-2 h-12 w-12
|
|
864
|
-
<span className="text-
|
|
891
|
+
<ChevronDoubleLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
892
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
865
893
|
</div>
|
|
866
894
|
</div>
|
|
867
895
|
),
|
|
@@ -878,34 +906,36 @@ export const ColorVariations: Story = {
|
|
|
878
906
|
},
|
|
879
907
|
},
|
|
880
908
|
render: () => (
|
|
881
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
909
|
+
<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">
|
|
882
910
|
<div className="text-center">
|
|
883
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
884
|
-
<ChevronDoubleLeftIcon className="h-8 w-8
|
|
911
|
+
<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">
|
|
912
|
+
<ChevronDoubleLeftIcon className="text-fm-icon-info h-8 w-8" />
|
|
885
913
|
</div>
|
|
886
|
-
<div className="text-sm font-medium
|
|
887
|
-
<div className="text-
|
|
914
|
+
<div className="text-fm-icon-active text-sm font-medium">Primary</div>
|
|
915
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
888
916
|
</div>
|
|
889
917
|
<div className="text-center">
|
|
890
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
891
|
-
<ChevronDoubleLeftIcon className="h-8 w-8
|
|
918
|
+
<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">
|
|
919
|
+
<ChevronDoubleLeftIcon className="text-fm-placeholder h-8 w-8" />
|
|
892
920
|
</div>
|
|
893
|
-
<div className="text-sm font-medium
|
|
894
|
-
<div className="text-
|
|
921
|
+
<div className="text-fm-icon-active text-sm font-medium">Secondary</div>
|
|
922
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
895
923
|
</div>
|
|
896
924
|
<div className="text-center">
|
|
897
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
898
|
-
<ChevronDoubleLeftIcon className="h-8 w-8
|
|
925
|
+
<div className="border-fm-secondary-500/30 bg-fm-secondary-500/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
926
|
+
<ChevronDoubleLeftIcon className="text-fm-secondary-600 h-8 w-8" />
|
|
927
|
+
</div>
|
|
928
|
+
<div className="text-fm-icon-active text-sm font-medium">Accent</div>
|
|
929
|
+
<div className="text-fm-secondary-600 text-xs">
|
|
930
|
+
text-fm-secondary-600
|
|
899
931
|
</div>
|
|
900
|
-
<div className="text-sm font-medium text-white">Accent</div>
|
|
901
|
-
<div className="text-xs text-purple-400">text-purple-400</div>
|
|
902
932
|
</div>
|
|
903
933
|
<div className="text-center">
|
|
904
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
905
|
-
<ChevronDoubleLeftIcon className="h-8 w-8
|
|
934
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
935
|
+
<ChevronDoubleLeftIcon className="text-fm-placeholder h-8 w-8" />
|
|
906
936
|
</div>
|
|
907
|
-
<div className="text-sm font-medium
|
|
908
|
-
<div className="text-
|
|
937
|
+
<div className="text-fm-icon-active text-sm font-medium">Disabled</div>
|
|
938
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
909
939
|
</div>
|
|
910
940
|
</div>
|
|
911
941
|
),
|
|
@@ -922,56 +952,60 @@ export const UsageExamples: Story = {
|
|
|
922
952
|
},
|
|
923
953
|
},
|
|
924
954
|
render: () => (
|
|
925
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
955
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
926
956
|
{/* Pagination */}
|
|
927
957
|
<div className="!space-y-2">
|
|
928
|
-
<h3 className="text-sm font-medium
|
|
929
|
-
|
|
930
|
-
|
|
958
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
959
|
+
Pagination Controls
|
|
960
|
+
</h3>
|
|
961
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center justify-center gap-2 rounded-lg border p-4">
|
|
962
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/10 text-fm-icon-info hover:bg-fm-icon-info/20 flex items-center gap-2 rounded-lg border px-3 py-2 transition-colors">
|
|
931
963
|
<ChevronDoubleLeftIcon className="h-4 w-4" />
|
|
932
964
|
<span>First</span>
|
|
933
965
|
</button>
|
|
934
|
-
<button className="
|
|
966
|
+
<button className="border-fm-divider-primary bg-fm-surface-secondary text-fm-tertiary hover:bg-fm-surface-secondary rounded-lg border p-2 transition-colors">
|
|
935
967
|
<ChevronDoubleLeftIcon className="h-4 w-4" />
|
|
936
968
|
</button>
|
|
937
|
-
<span className="text-
|
|
969
|
+
<span className="text-fm-tertiary text-sm">Page 5 of 10</span>
|
|
938
970
|
</div>
|
|
939
971
|
</div>
|
|
940
972
|
|
|
941
973
|
{/* Breadcrumbs */}
|
|
942
974
|
<div className="!space-y-2">
|
|
943
|
-
<h3 className="text-sm font-medium
|
|
975
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
944
976
|
Breadcrumb Navigation
|
|
945
977
|
</h3>
|
|
946
|
-
<div className="rounded-lg border
|
|
978
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
947
979
|
<nav className="flex items-center gap-2 text-sm">
|
|
948
|
-
<button className="flex items-center gap-1 rounded px-2 py-1
|
|
980
|
+
<button className="text-fm-icon-info hover:bg-fm-icon-info/10 flex items-center gap-1 rounded px-2 py-1">
|
|
949
981
|
<ChevronDoubleLeftIcon className="h-3 w-3" />
|
|
950
982
|
<span>Back to Start</span>
|
|
951
983
|
</button>
|
|
952
|
-
<span className="text-
|
|
953
|
-
<span className="text-
|
|
984
|
+
<span className="text-fm-placeholder">/</span>
|
|
985
|
+
<span className="text-fm-tertiary">Current Page</span>
|
|
954
986
|
</nav>
|
|
955
987
|
</div>
|
|
956
988
|
</div>
|
|
957
989
|
|
|
958
990
|
{/* Table Navigation */}
|
|
959
991
|
<div className="!space-y-2">
|
|
960
|
-
<h3 className="text-sm font-medium
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
992
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
993
|
+
Table Navigation
|
|
994
|
+
</h3>
|
|
995
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
996
|
+
<div className="border-fm-divider-secondary flex items-center justify-between border-b p-4">
|
|
997
|
+
<span className="text-fm-secondary text-sm">
|
|
964
998
|
Showing 1-10 of 100 items
|
|
965
999
|
</span>
|
|
966
1000
|
<div className="flex items-center gap-1">
|
|
967
1001
|
<button
|
|
968
|
-
className="
|
|
1002
|
+
className="text-fm-icon-info hover:bg-fm-icon-info/10 rounded p-1"
|
|
969
1003
|
aria-label="Go to first page"
|
|
970
1004
|
>
|
|
971
1005
|
<ChevronDoubleLeftIcon className="h-4 w-4" />
|
|
972
1006
|
</button>
|
|
973
1007
|
<button
|
|
974
|
-
className="rounded p-1
|
|
1008
|
+
className="text-fm-placeholder rounded p-1"
|
|
975
1009
|
disabled
|
|
976
1010
|
aria-label="Previous page"
|
|
977
1011
|
>
|
|
@@ -984,18 +1018,20 @@ export const UsageExamples: Story = {
|
|
|
984
1018
|
|
|
985
1019
|
{/* Sidebar Toggle */}
|
|
986
1020
|
<div className="!space-y-2">
|
|
987
|
-
<h3 className="text-sm font-medium
|
|
988
|
-
|
|
989
|
-
|
|
1021
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1022
|
+
Sidebar Collapse
|
|
1023
|
+
</h3>
|
|
1024
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 rounded-lg border">
|
|
1025
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary w-64 border-r p-4">
|
|
990
1026
|
<div className="flex items-center justify-between">
|
|
991
|
-
<span className="text-
|
|
992
|
-
<button className="
|
|
1027
|
+
<span className="text-fm-icon-active">Sidebar</span>
|
|
1028
|
+
<button className="text-fm-tertiary hover:bg-fm-surface-secondary rounded p-1">
|
|
993
1029
|
<ChevronDoubleLeftIcon className="h-4 w-4" />
|
|
994
1030
|
</button>
|
|
995
1031
|
</div>
|
|
996
1032
|
</div>
|
|
997
1033
|
<div className="flex-1 p-4">
|
|
998
|
-
<span className="text-
|
|
1034
|
+
<span className="text-fm-tertiary">Main Content</span>
|
|
999
1035
|
</div>
|
|
1000
1036
|
</div>
|
|
1001
1037
|
</div>
|
|
@@ -1016,12 +1052,12 @@ export const Playground: Story = {
|
|
|
1016
1052
|
args: {
|
|
1017
1053
|
width: 32,
|
|
1018
1054
|
height: 32,
|
|
1019
|
-
className: "text-
|
|
1055
|
+
className: "text-fm-icon-info ",
|
|
1020
1056
|
strokeWidth: 1.5,
|
|
1021
1057
|
},
|
|
1022
1058
|
render: (args) => (
|
|
1023
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1024
|
-
<div className="rounded-lg border
|
|
1059
|
+
<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">
|
|
1060
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1025
1061
|
<ChevronDoubleLeftIcon {...args} />
|
|
1026
1062
|
</div>
|
|
1027
1063
|
</div>
|