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