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 ArrowCornerUpLeftIcon> = {
|
|
|
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 ArrowCornerUpLeftIcon> = {
|
|
|
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
|
-
<ArrowCornerUpLeftIcon 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
|
+
<ArrowCornerUpLeftIcon 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
|
ArrowCornerUpLeftIcon
|
|
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 icon for navigation, indicating upward and
|
|
97
97
|
leftward movement. Perfect for back navigation, return
|
|
98
98
|
actions, and corner-based directional indicators. Built with
|
|
@@ -103,28 +103,28 @@ const meta: Meta<typeof ArrowCornerUpLeftIcon> = {
|
|
|
103
103
|
{/* Stats */}
|
|
104
104
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
105
105
|
<div className="text-center">
|
|
106
|
-
<div className="text-3xl font-bold
|
|
106
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
107
107
|
Accessible
|
|
108
108
|
</div>
|
|
109
|
-
<div className="text-
|
|
109
|
+
<div className="text-fm-tertiary text-sm">
|
|
110
110
|
Screen reader friendly
|
|
111
111
|
</div>
|
|
112
112
|
</div>
|
|
113
|
-
<div className="h-8 w-px
|
|
113
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
114
114
|
<div className="text-center">
|
|
115
|
-
<div className="text-3xl font-bold
|
|
115
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
116
116
|
Scalable
|
|
117
117
|
</div>
|
|
118
|
-
<div className="text-
|
|
118
|
+
<div className="text-fm-tertiary text-sm">
|
|
119
119
|
Any size needed
|
|
120
120
|
</div>
|
|
121
121
|
</div>
|
|
122
|
-
<div className="h-8 w-px
|
|
122
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
123
123
|
<div className="text-center">
|
|
124
|
-
<div className="text-3xl font-bold
|
|
124
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
125
125
|
Flexible
|
|
126
126
|
</div>
|
|
127
|
-
<div className="text-
|
|
127
|
+
<div className="text-fm-tertiary text-sm">
|
|
128
128
|
Customizable styling
|
|
129
129
|
</div>
|
|
130
130
|
</div>
|
|
@@ -137,16 +137,16 @@ const meta: Meta<typeof ArrowCornerUpLeftIcon> = {
|
|
|
137
137
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
138
138
|
{/* Quick Usage */}
|
|
139
139
|
<div className="!space-y-8">
|
|
140
|
-
<h2 className="text-center text-3xl font-bold
|
|
140
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
141
141
|
Quick Start
|
|
142
142
|
</h2>
|
|
143
143
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
144
144
|
<div className="!space-y-4">
|
|
145
|
-
<h3 className="text-xl font-semibold
|
|
145
|
+
<h3 className="text-fm-icon-info! text-xl font-semibold">
|
|
146
146
|
Basic Usage
|
|
147
147
|
</h3>
|
|
148
|
-
<div className="rounded-lg
|
|
149
|
-
<pre className="overflow-x-auto text-sm
|
|
148
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
149
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
150
150
|
{`import { ArrowCornerUpLeftIcon } from "@icons/arrow-corner-up-left-icon"
|
|
151
151
|
|
|
152
152
|
function MyComponent() {
|
|
@@ -162,13 +162,15 @@ function MyComponent() {
|
|
|
162
162
|
</div>
|
|
163
163
|
|
|
164
164
|
<div className="!space-y-4">
|
|
165
|
-
<h3 className="text-xl font-semibold
|
|
165
|
+
<h3 className="text-fm-icon-info! text-xl font-semibold">
|
|
166
166
|
Live Preview
|
|
167
167
|
</h3>
|
|
168
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
169
|
-
<button className="flex items-center gap-3 rounded-lg border
|
|
170
|
-
<ArrowCornerUpLeftIcon className="h-5 w-5
|
|
171
|
-
<span className="text-
|
|
168
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
169
|
+
<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">
|
|
170
|
+
<ArrowCornerUpLeftIcon className="text-fm-icon-info h-5 w-5" />
|
|
171
|
+
<span className="text-fm-icon-active">
|
|
172
|
+
Back to previous
|
|
173
|
+
</span>
|
|
172
174
|
</button>
|
|
173
175
|
</div>
|
|
174
176
|
</div>
|
|
@@ -177,108 +179,116 @@ function MyComponent() {
|
|
|
177
179
|
|
|
178
180
|
{/* Props Documentation */}
|
|
179
181
|
<div className="!space-y-8">
|
|
180
|
-
<h2 className="text-center text-3xl font-bold
|
|
182
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
181
183
|
Props & Configuration
|
|
182
184
|
</h2>
|
|
183
185
|
|
|
184
|
-
<div className="overflow-hidden rounded-lg border
|
|
185
|
-
<div className="bg-
|
|
186
|
-
<h3 className="text-xl font-semibold
|
|
186
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
187
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
188
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
189
|
+
Props
|
|
190
|
+
</h3>
|
|
187
191
|
</div>
|
|
188
192
|
<table className="!my-0 w-full">
|
|
189
|
-
<thead className="bg-
|
|
190
|
-
<tr className="border-
|
|
191
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
193
|
+
<thead className="bg-fm-surface-secondary">
|
|
194
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
195
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
192
196
|
Prop
|
|
193
197
|
</th>
|
|
194
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
198
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
195
199
|
Type
|
|
196
200
|
</th>
|
|
197
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
201
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
198
202
|
Default
|
|
199
203
|
</th>
|
|
200
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
204
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
201
205
|
Description
|
|
202
206
|
</th>
|
|
203
207
|
</tr>
|
|
204
208
|
</thead>
|
|
205
209
|
<tbody>
|
|
206
210
|
{" "}
|
|
207
|
-
<tr className="
|
|
208
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
211
|
+
<tr className="bg-fm-surface-secondary!">
|
|
212
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
209
213
|
withAccessibility
|
|
210
214
|
</td>
|
|
211
|
-
<td className="px-6 py-4 text-sm
|
|
215
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
212
216
|
boolean
|
|
213
217
|
</td>
|
|
214
|
-
<td className="px-6 py-4 text-sm
|
|
218
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
215
219
|
true
|
|
216
220
|
</td>
|
|
217
|
-
<td className="px-6 py-4 text-sm
|
|
221
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
218
222
|
Whether to wrap the icon with accessibility feature
|
|
219
223
|
</td>
|
|
220
224
|
</tr>
|
|
221
|
-
<tr className="border-
|
|
222
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
225
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
226
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
223
227
|
height
|
|
224
228
|
</td>
|
|
225
|
-
<td className="px-6 py-4 text-sm
|
|
229
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
226
230
|
number | string
|
|
227
231
|
</td>
|
|
228
|
-
<td className="px-6 py-4 text-sm
|
|
229
|
-
|
|
232
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
233
|
+
18
|
|
234
|
+
</td>
|
|
235
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
230
236
|
Height of the icon in pixels
|
|
231
237
|
</td>
|
|
232
238
|
</tr>
|
|
233
|
-
<tr className="border-
|
|
234
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
239
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
240
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
235
241
|
stroke
|
|
236
242
|
</td>
|
|
237
|
-
<td className="px-6 py-4 text-sm
|
|
243
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
238
244
|
string
|
|
239
245
|
</td>
|
|
240
|
-
<td className="px-6 py-4 text-sm
|
|
246
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
241
247
|
currentColor
|
|
242
248
|
</td>
|
|
243
|
-
<td className="px-6 py-4 text-sm
|
|
249
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
244
250
|
Stroke color of the icon
|
|
245
251
|
</td>
|
|
246
252
|
</tr>
|
|
247
|
-
<tr className="border-
|
|
248
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
253
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
254
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
249
255
|
strokeWidth
|
|
250
256
|
</td>
|
|
251
|
-
<td className="px-6 py-4 text-sm
|
|
257
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
252
258
|
number | string
|
|
253
259
|
</td>
|
|
254
|
-
<td className="px-6 py-4 text-sm
|
|
260
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
255
261
|
1.5
|
|
256
262
|
</td>
|
|
257
|
-
<td className="px-6 py-4 text-sm
|
|
263
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
258
264
|
Width of the stroke
|
|
259
265
|
</td>
|
|
260
266
|
</tr>
|
|
261
|
-
<tr className="border-
|
|
262
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
267
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
268
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
263
269
|
className
|
|
264
270
|
</td>
|
|
265
|
-
<td className="px-6 py-4 text-sm
|
|
271
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
266
272
|
string
|
|
267
273
|
</td>
|
|
268
|
-
<td className="px-6 py-4 text-sm
|
|
269
|
-
|
|
274
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
275
|
+
-
|
|
276
|
+
</td>
|
|
277
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
270
278
|
CSS classes for styling
|
|
271
279
|
</td>
|
|
272
280
|
</tr>
|
|
273
|
-
<tr className="
|
|
274
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
281
|
+
<tr className="bg-fm-surface-secondary!">
|
|
282
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
275
283
|
...svgProps
|
|
276
284
|
</td>
|
|
277
|
-
<td className="px-6 py-4 text-sm
|
|
285
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
278
286
|
SVGProps
|
|
279
287
|
</td>
|
|
280
|
-
<td className="px-6 py-4 text-sm
|
|
281
|
-
|
|
288
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
289
|
+
-
|
|
290
|
+
</td>
|
|
291
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
282
292
|
All standard SVG element props
|
|
283
293
|
</td>
|
|
284
294
|
</tr>
|
|
@@ -289,50 +299,62 @@ function MyComponent() {
|
|
|
289
299
|
|
|
290
300
|
{/* Size Variations */}
|
|
291
301
|
<div className="!space-y-8">
|
|
292
|
-
<h2 className="text-center text-3xl font-bold
|
|
302
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
293
303
|
Size Variations
|
|
294
304
|
</h2>
|
|
295
|
-
<div className="rounded-lg border
|
|
305
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
296
306
|
<div className="!space-y-6">
|
|
297
307
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
298
308
|
<div className="!space-y-4">
|
|
299
|
-
<h3 className="text-lg font-semibold
|
|
309
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
300
310
|
Standard Sizes
|
|
301
311
|
</h3>
|
|
302
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
312
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
303
313
|
<div className="text-center">
|
|
304
|
-
<ArrowCornerUpLeftIcon className="!mx-auto mb-2 h-3 w-3
|
|
305
|
-
<span className="text-
|
|
314
|
+
<ArrowCornerUpLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
315
|
+
<span className="text-fm-tertiary text-xs">
|
|
316
|
+
12px
|
|
317
|
+
</span>
|
|
306
318
|
</div>
|
|
307
319
|
<div className="text-center">
|
|
308
|
-
<ArrowCornerUpLeftIcon className="!mx-auto mb-2 h-4 w-4
|
|
309
|
-
<span className="text-
|
|
320
|
+
<ArrowCornerUpLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
321
|
+
<span className="text-fm-tertiary text-xs">
|
|
322
|
+
16px
|
|
323
|
+
</span>
|
|
310
324
|
</div>
|
|
311
325
|
<div className="text-center">
|
|
312
|
-
<ArrowCornerUpLeftIcon className="!mx-auto mb-2 h-5 w-5
|
|
313
|
-
<span className="text-
|
|
326
|
+
<ArrowCornerUpLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
327
|
+
<span className="text-fm-tertiary text-xs">
|
|
328
|
+
20px
|
|
329
|
+
</span>
|
|
314
330
|
</div>
|
|
315
331
|
<div className="text-center">
|
|
316
|
-
<ArrowCornerUpLeftIcon className="!mx-auto mb-2 h-6 w-6
|
|
317
|
-
<span className="text-
|
|
332
|
+
<ArrowCornerUpLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
333
|
+
<span className="text-fm-tertiary text-xs">
|
|
334
|
+
24px
|
|
335
|
+
</span>
|
|
318
336
|
</div>
|
|
319
337
|
<div className="text-center">
|
|
320
|
-
<ArrowCornerUpLeftIcon className="!mx-auto mb-2 h-8 w-8
|
|
321
|
-
<span className="text-
|
|
338
|
+
<ArrowCornerUpLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
339
|
+
<span className="text-fm-tertiary text-xs">
|
|
340
|
+
32px
|
|
341
|
+
</span>
|
|
322
342
|
</div>
|
|
323
343
|
<div className="text-center">
|
|
324
|
-
<ArrowCornerUpLeftIcon className="!mx-auto mb-2 h-12 w-12
|
|
325
|
-
<span className="text-
|
|
344
|
+
<ArrowCornerUpLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
345
|
+
<span className="text-fm-tertiary text-xs">
|
|
346
|
+
48px
|
|
347
|
+
</span>
|
|
326
348
|
</div>
|
|
327
349
|
</div>
|
|
328
350
|
</div>
|
|
329
351
|
|
|
330
352
|
<div className="!space-y-4">
|
|
331
|
-
<h3 className="text-lg font-semibold
|
|
353
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
332
354
|
Code Example
|
|
333
355
|
</h3>
|
|
334
|
-
<div className="rounded-lg
|
|
335
|
-
<pre className="overflow-x-auto text-sm
|
|
356
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
357
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
336
358
|
{`// Small (16px)
|
|
337
359
|
<ArrowCornerUpLeftIcon className="h-4 w-4" />
|
|
338
360
|
|
|
@@ -354,56 +376,56 @@ function MyComponent() {
|
|
|
354
376
|
|
|
355
377
|
{/* Color Variations */}
|
|
356
378
|
<div className="!space-y-8">
|
|
357
|
-
<h2 className="text-center text-3xl font-bold
|
|
379
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
358
380
|
Color Variations
|
|
359
381
|
</h2>
|
|
360
382
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
361
383
|
<div className="!space-y-4">
|
|
362
|
-
<h3 className="text-lg font-semibold
|
|
384
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
363
385
|
Semantic Colors
|
|
364
386
|
</h3>
|
|
365
|
-
<div className="!space-y-4 rounded-lg border
|
|
387
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
366
388
|
<div className="flex items-center gap-4">
|
|
367
|
-
<ArrowCornerUpLeftIcon className="h-6 w-6
|
|
389
|
+
<ArrowCornerUpLeftIcon className="text-fm-icon-info h-6 w-6" />
|
|
368
390
|
<div>
|
|
369
|
-
<div className="text-sm font-medium
|
|
391
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
370
392
|
Primary
|
|
371
393
|
</div>
|
|
372
|
-
<div className="text-
|
|
373
|
-
text-
|
|
394
|
+
<div className="text-fm-tertiary text-xs">
|
|
395
|
+
text-fm-icon-info
|
|
374
396
|
</div>
|
|
375
397
|
</div>
|
|
376
398
|
</div>
|
|
377
399
|
<div className="flex items-center gap-4">
|
|
378
|
-
<ArrowCornerUpLeftIcon className="h-6 w-6
|
|
400
|
+
<ArrowCornerUpLeftIcon className="text-fm-icon-info h-6 w-6" />
|
|
379
401
|
<div>
|
|
380
|
-
<div className="text-sm font-medium
|
|
402
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
381
403
|
Secondary
|
|
382
404
|
</div>
|
|
383
|
-
<div className="text-
|
|
384
|
-
text-
|
|
405
|
+
<div className="text-fm-tertiary text-xs">
|
|
406
|
+
text-fm-icon-info
|
|
385
407
|
</div>
|
|
386
408
|
</div>
|
|
387
409
|
</div>
|
|
388
410
|
<div className="flex items-center gap-4">
|
|
389
|
-
<ArrowCornerUpLeftIcon className="h-6 w-6
|
|
411
|
+
<ArrowCornerUpLeftIcon className="text-fm-placeholder h-6 w-6" />
|
|
390
412
|
<div>
|
|
391
|
-
<div className="text-sm font-medium
|
|
413
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
392
414
|
Neutral
|
|
393
415
|
</div>
|
|
394
|
-
<div className="text-
|
|
395
|
-
text-
|
|
416
|
+
<div className="text-fm-tertiary text-xs">
|
|
417
|
+
text-fm-placeholder
|
|
396
418
|
</div>
|
|
397
419
|
</div>
|
|
398
420
|
</div>
|
|
399
421
|
<div className="flex items-center gap-4">
|
|
400
|
-
<ArrowCornerUpLeftIcon className="h-6 w-6
|
|
422
|
+
<ArrowCornerUpLeftIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
401
423
|
<div>
|
|
402
|
-
<div className="text-sm font-medium
|
|
424
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
403
425
|
Accent
|
|
404
426
|
</div>
|
|
405
|
-
<div className="text-
|
|
406
|
-
text-
|
|
427
|
+
<div className="text-fm-tertiary text-xs">
|
|
428
|
+
text-fm-secondary-600
|
|
407
429
|
</div>
|
|
408
430
|
</div>
|
|
409
431
|
</div>
|
|
@@ -411,11 +433,11 @@ function MyComponent() {
|
|
|
411
433
|
</div>
|
|
412
434
|
|
|
413
435
|
<div className="!space-y-4">
|
|
414
|
-
<h3 className="text-lg font-semibold
|
|
436
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
415
437
|
Custom Colors
|
|
416
438
|
</h3>
|
|
417
|
-
<div className="rounded-lg
|
|
418
|
-
<pre className="overflow-x-auto text-sm
|
|
439
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
440
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
419
441
|
{`// Using Tailwind classes
|
|
420
442
|
<ArrowCornerUpLeftIcon className="h-6 w-6 text-blue-400" />
|
|
421
443
|
<ArrowCornerUpLeftIcon className="h-6 w-6 text-indigo-500" />
|
|
@@ -440,29 +462,29 @@ function MyComponent() {
|
|
|
440
462
|
|
|
441
463
|
{/* Usage Examples */}
|
|
442
464
|
<div className="!space-y-8">
|
|
443
|
-
<h2 className="text-center text-3xl font-bold
|
|
465
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
444
466
|
Usage Examples
|
|
445
467
|
</h2>
|
|
446
468
|
|
|
447
469
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
448
470
|
{/* Navigation Button */}
|
|
449
471
|
<div className="!space-y-4">
|
|
450
|
-
<h3 className="text-lg font-semibold
|
|
472
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
451
473
|
Back Navigation
|
|
452
474
|
</h3>
|
|
453
475
|
<div className="!space-y-4">
|
|
454
476
|
<div className="flex items-center gap-4">
|
|
455
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
477
|
+
<button className="border-fm-icon-info/20 bg-fm-icon-info/10 text-fm-icon-info hover:bg-fm-icon-info/20 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
456
478
|
<ArrowCornerUpLeftIcon className="h-4 w-4" />
|
|
457
479
|
Back to Dashboard
|
|
458
480
|
</button>
|
|
459
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
481
|
+
<button className="border-fm-divider-secondary bg-fm-surface-tertiary/10 text-fm-secondary hover:bg-fm-surface-tertiary/20 flex items-center gap-2 rounded-lg border px-3 py-2 transition-colors">
|
|
460
482
|
<ArrowCornerUpLeftIcon className="h-3 w-3" />
|
|
461
483
|
Return
|
|
462
484
|
</button>
|
|
463
485
|
</div>
|
|
464
|
-
<div className="rounded-lg
|
|
465
|
-
<pre className="overflow-x-auto text-sm
|
|
486
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
487
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
466
488
|
{`<button className="flex items-center gap-2 bg-blue-500/10 border border-blue-500/20 px-4 py-2 rounded-lg">
|
|
467
489
|
<ArrowCornerUpLeftIcon className="h-4 w-4" />
|
|
468
490
|
Back to Dashboard
|
|
@@ -479,25 +501,27 @@ function MyComponent() {
|
|
|
479
501
|
|
|
480
502
|
{/* Breadcrumb Navigation */}
|
|
481
503
|
<div className="!space-y-4">
|
|
482
|
-
<h3 className="text-lg font-semibold
|
|
504
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
483
505
|
Breadcrumb Navigation
|
|
484
506
|
</h3>
|
|
485
507
|
<div className="!space-y-4">
|
|
486
508
|
<nav className="flex items-center space-x-2 text-sm">
|
|
487
|
-
<button className="flex items-center gap-1
|
|
509
|
+
<button className="text-fm-icon-info hover:text-fm-icon-info flex items-center gap-1">
|
|
488
510
|
<ArrowCornerUpLeftIcon className="h-3 w-3" />
|
|
489
511
|
<span>Home</span>
|
|
490
512
|
</button>
|
|
491
|
-
<span className="text-
|
|
492
|
-
<button className="flex items-center gap-1
|
|
513
|
+
<span className="text-fm-tertiary">/</span>
|
|
514
|
+
<button className="text-fm-icon-info hover:text-fm-icon-info flex items-center gap-1">
|
|
493
515
|
<ArrowCornerUpLeftIcon className="h-3 w-3" />
|
|
494
516
|
<span>Products</span>
|
|
495
517
|
</button>
|
|
496
|
-
<span className="text-
|
|
497
|
-
<span className="text-
|
|
518
|
+
<span className="text-fm-tertiary">/</span>
|
|
519
|
+
<span className="text-fm-icon-active">
|
|
520
|
+
Current Page
|
|
521
|
+
</span>
|
|
498
522
|
</nav>
|
|
499
|
-
<div className="rounded-lg
|
|
500
|
-
<pre className="overflow-x-auto text-sm
|
|
523
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
524
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
501
525
|
{`<nav className="flex items-center space-x-2 text-sm">
|
|
502
526
|
<button className="flex items-center gap-1 text-blue-400 hover:text-blue-300">
|
|
503
527
|
<ArrowCornerUpLeftIcon className="h-3 w-3" />
|
|
@@ -518,34 +542,36 @@ function MyComponent() {
|
|
|
518
542
|
|
|
519
543
|
{/* Menu Navigation */}
|
|
520
544
|
<div className="!space-y-4">
|
|
521
|
-
<h3 className="text-lg font-semibold
|
|
545
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
522
546
|
Menu Navigation
|
|
523
547
|
</h3>
|
|
524
548
|
<div className="!space-y-4">
|
|
525
|
-
<div className="rounded-lg border
|
|
549
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
526
550
|
<div className="space-y-2">
|
|
527
551
|
<div className="flex items-center justify-between">
|
|
528
|
-
<span className="text-
|
|
529
|
-
|
|
552
|
+
<span className="text-fm-icon-active">
|
|
553
|
+
Settings
|
|
554
|
+
</span>
|
|
555
|
+
<button className="text-fm-placeholder hover:text-fm-icon-active p-1">
|
|
530
556
|
<ArrowCornerUpLeftIcon className="h-4 w-4" />
|
|
531
557
|
</button>
|
|
532
558
|
</div>
|
|
533
559
|
<div className="flex items-center justify-between">
|
|
534
|
-
<span className="text-
|
|
535
|
-
<button className="
|
|
560
|
+
<span className="text-fm-icon-active">Profile</span>
|
|
561
|
+
<button className="text-fm-placeholder hover:text-fm-icon-active p-1">
|
|
536
562
|
<ArrowCornerUpLeftIcon className="h-4 w-4" />
|
|
537
563
|
</button>
|
|
538
564
|
</div>
|
|
539
565
|
<div className="flex items-center justify-between">
|
|
540
|
-
<span className="text-
|
|
541
|
-
<button className="
|
|
566
|
+
<span className="text-fm-icon-active">Help</span>
|
|
567
|
+
<button className="text-fm-placeholder hover:text-fm-icon-active p-1">
|
|
542
568
|
<ArrowCornerUpLeftIcon className="h-4 w-4" />
|
|
543
569
|
</button>
|
|
544
570
|
</div>
|
|
545
571
|
</div>
|
|
546
572
|
</div>
|
|
547
|
-
<div className="rounded-lg
|
|
548
|
-
<pre className="overflow-x-auto text-sm
|
|
573
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
574
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
549
575
|
{`<div className="space-y-2">
|
|
550
576
|
<div className="flex items-center justify-between">
|
|
551
577
|
<span className="text-white">Settings</span>
|
|
@@ -562,20 +588,20 @@ function MyComponent() {
|
|
|
562
588
|
|
|
563
589
|
{/* Floating Action */}
|
|
564
590
|
<div className="!space-y-4">
|
|
565
|
-
<h3 className="text-lg font-semibold
|
|
591
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
566
592
|
Floating Action Button
|
|
567
593
|
</h3>
|
|
568
594
|
<div className="!space-y-4">
|
|
569
|
-
<div className="relative h-32 rounded-lg border
|
|
570
|
-
<button className="absolute bottom-4 left-4 flex h-12 w-12 items-center justify-center rounded-full
|
|
571
|
-
<ArrowCornerUpLeftIcon className="h-5 w-5
|
|
595
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative h-32 rounded-lg border p-4">
|
|
596
|
+
<button className="bg-fm-icon-info hover:bg-fm-icon-info absolute bottom-4 left-4 flex h-12 w-12 items-center justify-center rounded-full shadow-lg transition-all hover:shadow-xl">
|
|
597
|
+
<ArrowCornerUpLeftIcon className="text-fm-icon-active h-5 w-5" />
|
|
572
598
|
</button>
|
|
573
|
-
<div className="text-
|
|
599
|
+
<div className="text-fm-tertiary text-center text-sm">
|
|
574
600
|
Hover over the floating button
|
|
575
601
|
</div>
|
|
576
602
|
</div>
|
|
577
|
-
<div className="rounded-lg
|
|
578
|
-
<pre className="overflow-x-auto text-sm
|
|
603
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
604
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
579
605
|
{`<button className="fixed bottom-4 left-4 flex h-12 w-12 items-center justify-center rounded-full bg-blue-500 shadow-lg transition-all hover:bg-blue-600 hover:shadow-xl">
|
|
580
606
|
<ArrowCornerUpLeftIcon className="h-5 w-5 text-white" />
|
|
581
607
|
</button>`}
|
|
@@ -588,64 +614,64 @@ function MyComponent() {
|
|
|
588
614
|
|
|
589
615
|
{/* Accessibility */}
|
|
590
616
|
<div className="!space-y-8">
|
|
591
|
-
<h2 className="text-center text-3xl font-bold
|
|
617
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
592
618
|
Accessibility Features
|
|
593
619
|
</h2>
|
|
594
620
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
595
|
-
<div className="!space-y-4 rounded-lg border
|
|
596
|
-
<h3 className="text-lg font-semibold
|
|
621
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
622
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
597
623
|
✅ Built-in Features
|
|
598
624
|
</h3>
|
|
599
|
-
<ul className="!space-y-2 text-sm
|
|
600
|
-
<li className="
|
|
625
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
626
|
+
<li className="text-fm-secondary!">
|
|
601
627
|
Uses Radix UI AccessibleIcon wrapper
|
|
602
628
|
</li>
|
|
603
|
-
<li className="
|
|
629
|
+
<li className="text-fm-secondary!">
|
|
604
630
|
Provides screen reader label "Arrow Corner Up Left icon"
|
|
605
631
|
</li>
|
|
606
|
-
<li className="
|
|
632
|
+
<li className="text-fm-secondary!">
|
|
607
633
|
Supports keyboard navigation when interactive
|
|
608
634
|
</li>
|
|
609
|
-
<li className="
|
|
635
|
+
<li className="text-fm-secondary!">
|
|
610
636
|
Maintains proper color contrast ratios
|
|
611
637
|
</li>
|
|
612
|
-
<li className="
|
|
638
|
+
<li className="text-fm-secondary!">
|
|
613
639
|
Scales with user's font size preferences
|
|
614
640
|
</li>
|
|
615
641
|
</ul>
|
|
616
642
|
</div>
|
|
617
643
|
|
|
618
|
-
<div className="!space-y-4 rounded-lg border
|
|
619
|
-
<h3 className="text-lg font-semibold
|
|
644
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
645
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
620
646
|
💡 Best Practices
|
|
621
647
|
</h3>
|
|
622
|
-
<ul className="!space-y-2 text-sm
|
|
623
|
-
<li className="
|
|
648
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
649
|
+
<li className="text-fm-secondary!">
|
|
624
650
|
Always pair with descriptive text or aria-label
|
|
625
651
|
</li>
|
|
626
|
-
<li className="
|
|
652
|
+
<li className="text-fm-secondary!">
|
|
627
653
|
Use consistent positioning for navigation
|
|
628
654
|
</li>
|
|
629
|
-
<li className="
|
|
655
|
+
<li className="text-fm-secondary!">
|
|
630
656
|
Ensure sufficient color contrast
|
|
631
657
|
</li>
|
|
632
|
-
<li className="
|
|
658
|
+
<li className="text-fm-secondary!">
|
|
633
659
|
Add focus states for interactive elements
|
|
634
660
|
</li>
|
|
635
|
-
<li className="
|
|
661
|
+
<li className="text-fm-secondary!">
|
|
636
662
|
Consider motion sensitivity for hover effects
|
|
637
663
|
</li>
|
|
638
664
|
</ul>
|
|
639
665
|
</div>
|
|
640
666
|
</div>
|
|
641
667
|
|
|
642
|
-
<div className="rounded-lg border
|
|
643
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
668
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
669
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
644
670
|
Custom Accessibility Label
|
|
645
671
|
</h3>
|
|
646
672
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
647
|
-
<div className="rounded-lg
|
|
648
|
-
<pre className="overflow-x-auto text-sm
|
|
673
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
674
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
649
675
|
{`// Custom implementation with specific label
|
|
650
676
|
import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
|
|
651
677
|
|
|
@@ -665,13 +691,13 @@ function CustomArrowIcon({ label = "Navigate back", ...props }) {
|
|
|
665
691
|
</pre>
|
|
666
692
|
</div>
|
|
667
693
|
<div className="!space-y-4">
|
|
668
|
-
<p className="text-
|
|
694
|
+
<p className="text-fm-secondary! text-sm">
|
|
669
695
|
For specific contexts, you can wrap the
|
|
670
696
|
ArrowCornerUpLeftIcon with a custom AccessibleIcon
|
|
671
697
|
component that provides more descriptive labels.
|
|
672
698
|
</p>
|
|
673
|
-
<div className="
|
|
674
|
-
<div className="flex items-center gap-2 text-sm
|
|
699
|
+
<div className="border-fm-icon-info/20 bg-fm-icon-info/10 rounded-lg border p-4">
|
|
700
|
+
<div className="text-fm-icon-info flex items-center gap-2 text-sm">
|
|
675
701
|
<ArrowCornerUpLeftIcon className="h-4 w-4" />
|
|
676
702
|
<span>
|
|
677
703
|
This approach gives screen readers more context
|
|
@@ -685,54 +711,58 @@ function CustomArrowIcon({ label = "Navigate back", ...props }) {
|
|
|
685
711
|
|
|
686
712
|
{/* Related Icons */}
|
|
687
713
|
<div className="!space-y-8">
|
|
688
|
-
<h2 className="text-center text-3xl font-bold
|
|
714
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
689
715
|
Related Icons
|
|
690
716
|
</h2>
|
|
691
717
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
692
|
-
<div className="!space-y-3 rounded-lg border
|
|
693
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
718
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
719
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
694
720
|
<span className="text-2xl">↖️</span>
|
|
695
721
|
</div>
|
|
696
722
|
<div>
|
|
697
|
-
<div className="font-medium
|
|
723
|
+
<div className="text-fm-icon-active font-medium">
|
|
698
724
|
ArrowUpLeftIcon
|
|
699
725
|
</div>
|
|
700
|
-
<div className="text-
|
|
726
|
+
<div className="text-fm-tertiary text-xs">
|
|
701
727
|
Diagonal navigation
|
|
702
728
|
</div>
|
|
703
729
|
</div>
|
|
704
730
|
</div>
|
|
705
|
-
<div className="!space-y-3 rounded-lg border
|
|
706
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
731
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
732
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
707
733
|
<span className="text-2xl">⬅️</span>
|
|
708
734
|
</div>
|
|
709
735
|
<div>
|
|
710
|
-
<div className="font-medium
|
|
736
|
+
<div className="text-fm-icon-active font-medium">
|
|
711
737
|
ArrowLeftIcon
|
|
712
738
|
</div>
|
|
713
|
-
<div className="text-
|
|
739
|
+
<div className="text-fm-tertiary text-xs">
|
|
714
740
|
Horizontal navigation
|
|
715
741
|
</div>
|
|
716
742
|
</div>
|
|
717
743
|
</div>
|
|
718
|
-
<div className="!space-y-3 rounded-lg border
|
|
719
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
744
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
745
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
720
746
|
<span className="text-2xl">⬆️</span>
|
|
721
747
|
</div>
|
|
722
748
|
<div>
|
|
723
|
-
<div className="font-medium
|
|
724
|
-
|
|
749
|
+
<div className="text-fm-icon-active font-medium">
|
|
750
|
+
ArrowUpIcon
|
|
751
|
+
</div>
|
|
752
|
+
<div className="text-fm-tertiary text-xs">
|
|
725
753
|
Vertical navigation
|
|
726
754
|
</div>
|
|
727
755
|
</div>
|
|
728
756
|
</div>
|
|
729
|
-
<div className="!space-y-3 rounded-lg border
|
|
730
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
757
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
758
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
731
759
|
<span className="text-2xl">🔄</span>
|
|
732
760
|
</div>
|
|
733
761
|
<div>
|
|
734
|
-
<div className="font-medium
|
|
735
|
-
|
|
762
|
+
<div className="text-fm-icon-active font-medium">
|
|
763
|
+
RefreshIcon
|
|
764
|
+
</div>
|
|
765
|
+
<div className="text-fm-tertiary text-xs">
|
|
736
766
|
Reload & refresh
|
|
737
767
|
</div>
|
|
738
768
|
</div>
|
|
@@ -742,14 +772,14 @@ function CustomArrowIcon({ label = "Navigate back", ...props }) {
|
|
|
742
772
|
</div>
|
|
743
773
|
|
|
744
774
|
{/* Footer */}
|
|
745
|
-
<div className="border-
|
|
775
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
746
776
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
747
777
|
<div className="!space-y-4 text-center">
|
|
748
|
-
<p className="
|
|
778
|
+
<p className="text-fm-tertiary!">
|
|
749
779
|
ArrowCornerUpLeftIcon is part of the Aural UI icon library,
|
|
750
780
|
built with accessibility and consistency in mind.
|
|
751
781
|
</p>
|
|
752
|
-
<p className="text-
|
|
782
|
+
<p className="text-fm-placeholder! text-sm">
|
|
753
783
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
754
784
|
compatibility and follow WCAG guidelines.
|
|
755
785
|
</p>
|
|
@@ -798,8 +828,8 @@ const storyParameters = {
|
|
|
798
828
|
backgrounds: {
|
|
799
829
|
default: "dark",
|
|
800
830
|
values: [
|
|
801
|
-
{ name: "dark", value: "
|
|
802
|
-
{ name: "darker", value: "
|
|
831
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
832
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
803
833
|
],
|
|
804
834
|
},
|
|
805
835
|
}
|
|
@@ -808,12 +838,12 @@ export const Default: Story = {
|
|
|
808
838
|
args: {
|
|
809
839
|
width: 24,
|
|
810
840
|
height: 24,
|
|
811
|
-
className: "text-
|
|
841
|
+
className: "text-fm-icon-info",
|
|
812
842
|
withAccessibility: true,
|
|
813
843
|
},
|
|
814
844
|
parameters: storyParameters,
|
|
815
845
|
render: (args) => (
|
|
816
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
846
|
+
<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">
|
|
817
847
|
<ArrowCornerUpLeftIcon {...args} />
|
|
818
848
|
</div>
|
|
819
849
|
),
|
|
@@ -830,30 +860,30 @@ export const SizeVariations: Story = {
|
|
|
830
860
|
},
|
|
831
861
|
},
|
|
832
862
|
render: () => (
|
|
833
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
863
|
+
<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">
|
|
834
864
|
<div className="text-center">
|
|
835
|
-
<ArrowCornerUpLeftIcon className="!mx-auto mb-2 h-3 w-3
|
|
836
|
-
<span className="text-
|
|
865
|
+
<ArrowCornerUpLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
866
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
837
867
|
</div>
|
|
838
868
|
<div className="text-center">
|
|
839
|
-
<ArrowCornerUpLeftIcon className="!mx-auto mb-2 h-4 w-4
|
|
840
|
-
<span className="text-
|
|
869
|
+
<ArrowCornerUpLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
870
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
841
871
|
</div>
|
|
842
872
|
<div className="text-center">
|
|
843
|
-
<ArrowCornerUpLeftIcon className="!mx-auto mb-2 h-5 w-5
|
|
844
|
-
<span className="text-
|
|
873
|
+
<ArrowCornerUpLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
874
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
845
875
|
</div>
|
|
846
876
|
<div className="text-center">
|
|
847
|
-
<ArrowCornerUpLeftIcon className="!mx-auto mb-2 h-6 w-6
|
|
848
|
-
<span className="text-
|
|
877
|
+
<ArrowCornerUpLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
878
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
849
879
|
</div>
|
|
850
880
|
<div className="text-center">
|
|
851
|
-
<ArrowCornerUpLeftIcon className="!mx-auto mb-2 h-8 w-8
|
|
852
|
-
<span className="text-
|
|
881
|
+
<ArrowCornerUpLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
882
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
853
883
|
</div>
|
|
854
884
|
<div className="text-center">
|
|
855
|
-
<ArrowCornerUpLeftIcon className="!mx-auto mb-2 h-12 w-12
|
|
856
|
-
<span className="text-
|
|
885
|
+
<ArrowCornerUpLeftIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
886
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
857
887
|
</div>
|
|
858
888
|
</div>
|
|
859
889
|
),
|
|
@@ -870,34 +900,36 @@ export const ColorVariations: Story = {
|
|
|
870
900
|
},
|
|
871
901
|
},
|
|
872
902
|
render: () => (
|
|
873
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
903
|
+
<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">
|
|
874
904
|
<div className="text-center">
|
|
875
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
876
|
-
<ArrowCornerUpLeftIcon className="h-8 w-8
|
|
905
|
+
<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">
|
|
906
|
+
<ArrowCornerUpLeftIcon className="text-fm-icon-info h-8 w-8" />
|
|
877
907
|
</div>
|
|
878
|
-
<div className="text-sm font-medium
|
|
879
|
-
<div className="text-
|
|
908
|
+
<div className="text-fm-icon-active text-sm font-medium">Primary</div>
|
|
909
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
880
910
|
</div>
|
|
881
911
|
<div className="text-center">
|
|
882
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
883
|
-
<ArrowCornerUpLeftIcon className="h-8 w-8
|
|
912
|
+
<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">
|
|
913
|
+
<ArrowCornerUpLeftIcon className="text-fm-icon-info h-8 w-8" />
|
|
884
914
|
</div>
|
|
885
|
-
<div className="text-sm font-medium
|
|
886
|
-
<div className="text-
|
|
915
|
+
<div className="text-fm-icon-active text-sm font-medium">Secondary</div>
|
|
916
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
887
917
|
</div>
|
|
888
918
|
<div className="text-center">
|
|
889
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
890
|
-
<ArrowCornerUpLeftIcon className="h-8 w-8
|
|
919
|
+
<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">
|
|
920
|
+
<ArrowCornerUpLeftIcon className="text-fm-placeholder h-8 w-8" />
|
|
891
921
|
</div>
|
|
892
|
-
<div className="text-sm font-medium
|
|
893
|
-
<div className="text-
|
|
922
|
+
<div className="text-fm-icon-active text-sm font-medium">Neutral</div>
|
|
923
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
894
924
|
</div>
|
|
895
925
|
<div className="text-center">
|
|
896
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
897
|
-
<ArrowCornerUpLeftIcon className="h-8 w-8
|
|
926
|
+
<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">
|
|
927
|
+
<ArrowCornerUpLeftIcon className="text-fm-secondary-600 h-8 w-8" />
|
|
928
|
+
</div>
|
|
929
|
+
<div className="text-fm-icon-active text-sm font-medium">Accent</div>
|
|
930
|
+
<div className="text-fm-secondary-600 text-xs">
|
|
931
|
+
text-fm-secondary-600
|
|
898
932
|
</div>
|
|
899
|
-
<div className="text-sm font-medium text-white">Accent</div>
|
|
900
|
-
<div className="text-xs text-purple-400">text-purple-400</div>
|
|
901
933
|
</div>
|
|
902
934
|
</div>
|
|
903
935
|
),
|
|
@@ -914,16 +946,18 @@ export const NavigationExamples: Story = {
|
|
|
914
946
|
},
|
|
915
947
|
},
|
|
916
948
|
render: () => (
|
|
917
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
949
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
918
950
|
{/* Back Navigation */}
|
|
919
951
|
<div className="!space-y-2">
|
|
920
|
-
<h3 className="text-sm font-medium
|
|
952
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
953
|
+
Back Navigation
|
|
954
|
+
</h3>
|
|
921
955
|
<div className="flex items-center gap-4">
|
|
922
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
956
|
+
<button className="border-fm-icon-info/20 bg-fm-icon-info/10 text-fm-icon-info hover:bg-fm-icon-info/20 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
923
957
|
<ArrowCornerUpLeftIcon className="h-4 w-4" />
|
|
924
958
|
Back to Dashboard
|
|
925
959
|
</button>
|
|
926
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
960
|
+
<button className="border-fm-divider-secondary bg-fm-surface-tertiary/10 text-fm-secondary hover:bg-fm-surface-tertiary/20 flex items-center gap-2 rounded-lg border px-3 py-2 transition-colors">
|
|
927
961
|
<ArrowCornerUpLeftIcon className="h-3 w-3" />
|
|
928
962
|
Return
|
|
929
963
|
</button>
|
|
@@ -932,44 +966,46 @@ export const NavigationExamples: Story = {
|
|
|
932
966
|
|
|
933
967
|
{/* Breadcrumb Navigation */}
|
|
934
968
|
<div className="!space-y-2">
|
|
935
|
-
<h3 className="text-sm font-medium
|
|
969
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
936
970
|
Breadcrumb Navigation
|
|
937
971
|
</h3>
|
|
938
972
|
<nav className="flex items-center space-x-2 text-sm">
|
|
939
|
-
<button className="flex items-center gap-1
|
|
973
|
+
<button className="text-fm-icon-info hover:text-fm-icon-info flex items-center gap-1">
|
|
940
974
|
<ArrowCornerUpLeftIcon className="h-3 w-3" />
|
|
941
975
|
<span>Home</span>
|
|
942
976
|
</button>
|
|
943
|
-
<span className="text-
|
|
944
|
-
<button className="flex items-center gap-1
|
|
977
|
+
<span className="text-fm-tertiary">/</span>
|
|
978
|
+
<button className="text-fm-icon-info hover:text-fm-icon-info flex items-center gap-1">
|
|
945
979
|
<ArrowCornerUpLeftIcon className="h-3 w-3" />
|
|
946
980
|
<span>Products</span>
|
|
947
981
|
</button>
|
|
948
|
-
<span className="text-
|
|
949
|
-
<span className="text-
|
|
982
|
+
<span className="text-fm-tertiary">/</span>
|
|
983
|
+
<span className="text-fm-icon-active">Current Page</span>
|
|
950
984
|
</nav>
|
|
951
985
|
</div>
|
|
952
986
|
|
|
953
987
|
{/* Menu Navigation */}
|
|
954
988
|
<div className="!space-y-2">
|
|
955
|
-
<h3 className="text-sm font-medium
|
|
956
|
-
|
|
989
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
990
|
+
Menu Navigation
|
|
991
|
+
</h3>
|
|
992
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
957
993
|
<div className="space-y-2">
|
|
958
994
|
<div className="flex items-center justify-between">
|
|
959
|
-
<span className="text-
|
|
960
|
-
<button className="
|
|
995
|
+
<span className="text-fm-icon-active">Settings</span>
|
|
996
|
+
<button className="text-fm-placeholder hover:text-fm-icon-active p-1">
|
|
961
997
|
<ArrowCornerUpLeftIcon className="h-4 w-4" />
|
|
962
998
|
</button>
|
|
963
999
|
</div>
|
|
964
1000
|
<div className="flex items-center justify-between">
|
|
965
|
-
<span className="text-
|
|
966
|
-
<button className="
|
|
1001
|
+
<span className="text-fm-icon-active">Profile</span>
|
|
1002
|
+
<button className="text-fm-placeholder hover:text-fm-icon-active p-1">
|
|
967
1003
|
<ArrowCornerUpLeftIcon className="h-4 w-4" />
|
|
968
1004
|
</button>
|
|
969
1005
|
</div>
|
|
970
1006
|
<div className="flex items-center justify-between">
|
|
971
|
-
<span className="text-
|
|
972
|
-
<button className="
|
|
1007
|
+
<span className="text-fm-icon-active">Help</span>
|
|
1008
|
+
<button className="text-fm-placeholder hover:text-fm-icon-active p-1">
|
|
973
1009
|
<ArrowCornerUpLeftIcon className="h-4 w-4" />
|
|
974
1010
|
</button>
|
|
975
1011
|
</div>
|
|
@@ -979,14 +1015,14 @@ export const NavigationExamples: Story = {
|
|
|
979
1015
|
|
|
980
1016
|
{/* Floating Action Button */}
|
|
981
1017
|
<div className="!space-y-2">
|
|
982
|
-
<h3 className="text-sm font-medium
|
|
1018
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
983
1019
|
Floating Action Button
|
|
984
1020
|
</h3>
|
|
985
|
-
<div className="relative h-32 rounded-lg border
|
|
986
|
-
<button className="absolute bottom-4 left-4 flex h-12 w-12 items-center justify-center rounded-full
|
|
987
|
-
<ArrowCornerUpLeftIcon className="h-5 w-5
|
|
1021
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative h-32 rounded-lg border p-4">
|
|
1022
|
+
<button className="bg-fm-icon-info hover:bg-fm-icon-info absolute bottom-4 left-4 flex h-12 w-12 items-center justify-center rounded-full shadow-lg transition-all hover:shadow-xl">
|
|
1023
|
+
<ArrowCornerUpLeftIcon className="text-fm-icon-active h-5 w-5" />
|
|
988
1024
|
</button>
|
|
989
|
-
<div className="text-
|
|
1025
|
+
<div className="text-fm-tertiary text-center text-sm">
|
|
990
1026
|
Hover over the floating button
|
|
991
1027
|
</div>
|
|
992
1028
|
</div>
|
|
@@ -1008,12 +1044,12 @@ export const Playground: Story = {
|
|
|
1008
1044
|
args: {
|
|
1009
1045
|
width: 32,
|
|
1010
1046
|
height: 32,
|
|
1011
|
-
className: "text-
|
|
1047
|
+
className: "text-fm-icon-info",
|
|
1012
1048
|
strokeWidth: 1.5,
|
|
1013
1049
|
},
|
|
1014
1050
|
render: (args) => (
|
|
1015
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1016
|
-
<div className="rounded-lg border
|
|
1051
|
+
<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">
|
|
1052
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1017
1053
|
<ArrowCornerUpLeftIcon {...args} />
|
|
1018
1054
|
</div>
|
|
1019
1055
|
</div>
|