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 ChevronUpIcon> = {
|
|
|
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 ChevronUpIcon> = {
|
|
|
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-positive/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
|
-
<ChevronUpIcon className="h-12 w-12
|
|
89
|
+
<div className="border-fm-secondary-500/30 from-fm-secondary-500/20 to-fm-icon-positive/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
|
|
90
|
+
<ChevronUpIcon className="text-fm-secondary-600 h-12 w-12" />
|
|
91
91
|
</div>
|
|
92
92
|
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
93
93
|
ChevronUpIcon
|
|
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 versatile chevron up icon for upward navigation, collapse
|
|
97
97
|
controls, and ascending direction indicators. Built with
|
|
98
98
|
accessibility in mind using Radix UI's AccessibleIcon
|
|
@@ -102,28 +102,28 @@ const meta: Meta<typeof ChevronUpIcon> = {
|
|
|
102
102
|
{/* Stats */}
|
|
103
103
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
104
104
|
<div className="text-center">
|
|
105
|
-
<div className="text-3xl font-bold
|
|
105
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
106
106
|
Accessible
|
|
107
107
|
</div>
|
|
108
|
-
<div className="text-
|
|
108
|
+
<div className="text-fm-tertiary text-sm">
|
|
109
109
|
Screen reader friendly
|
|
110
110
|
</div>
|
|
111
111
|
</div>
|
|
112
|
-
<div className="h-8 w-px
|
|
112
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
113
113
|
<div className="text-center">
|
|
114
|
-
<div className="text-3xl font-bold
|
|
114
|
+
<div className="text-fm-icon-positive text-3xl font-bold">
|
|
115
115
|
Scalable
|
|
116
116
|
</div>
|
|
117
|
-
<div className="text-
|
|
117
|
+
<div className="text-fm-tertiary text-sm">
|
|
118
118
|
Any size needed
|
|
119
119
|
</div>
|
|
120
120
|
</div>
|
|
121
|
-
<div className="h-8 w-px
|
|
121
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
122
122
|
<div className="text-center">
|
|
123
|
-
<div className="text-3xl font-bold
|
|
123
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
124
124
|
Navigation
|
|
125
125
|
</div>
|
|
126
|
-
<div className="text-
|
|
126
|
+
<div className="text-fm-tertiary text-sm">
|
|
127
127
|
Upward movement
|
|
128
128
|
</div>
|
|
129
129
|
</div>
|
|
@@ -136,16 +136,16 @@ const meta: Meta<typeof ChevronUpIcon> = {
|
|
|
136
136
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
137
137
|
{/* Quick Usage */}
|
|
138
138
|
<div className="!space-y-8">
|
|
139
|
-
<h2 className="text-center text-3xl font-bold
|
|
139
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
140
140
|
Quick Start
|
|
141
141
|
</h2>
|
|
142
142
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
143
143
|
<div className="!space-y-4">
|
|
144
|
-
<h3 className="text-xl font-semibold
|
|
144
|
+
<h3 className="text-fm-secondary-600! text-xl font-semibold">
|
|
145
145
|
Basic Usage
|
|
146
146
|
</h3>
|
|
147
|
-
<div className="rounded-lg
|
|
148
|
-
<pre className="overflow-x-auto text-sm
|
|
147
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
148
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
149
149
|
{`import { ChevronUpIcon } from "@icons/chevron-up-icon"
|
|
150
150
|
|
|
151
151
|
function ScrollToTop() {
|
|
@@ -161,13 +161,13 @@ function ScrollToTop() {
|
|
|
161
161
|
</div>
|
|
162
162
|
|
|
163
163
|
<div className="!space-y-4">
|
|
164
|
-
<h3 className="text-xl font-semibold
|
|
164
|
+
<h3 className="text-fm-secondary-600! text-xl font-semibold">
|
|
165
165
|
Live Preview
|
|
166
166
|
</h3>
|
|
167
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
168
|
-
<button className="flex items-center gap-3 rounded-lg border
|
|
169
|
-
<ChevronUpIcon className="h-4 w-4
|
|
170
|
-
<span className="text-
|
|
167
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
168
|
+
<button className="border-fm-secondary-500/20 bg-fm-secondary-500/10 hover:bg-fm-secondary-500/20 flex items-center gap-3 rounded-lg border px-4 py-2 transition-colors">
|
|
169
|
+
<ChevronUpIcon className="text-fm-secondary-600 h-4 w-4" />
|
|
170
|
+
<span className="text-fm-icon-active">Back to Top</span>
|
|
171
171
|
</button>
|
|
172
172
|
</div>
|
|
173
173
|
</div>
|
|
@@ -176,108 +176,116 @@ function ScrollToTop() {
|
|
|
176
176
|
|
|
177
177
|
{/* Props Documentation */}
|
|
178
178
|
<div className="!space-y-8">
|
|
179
|
-
<h2 className="text-center text-3xl font-bold
|
|
179
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
180
180
|
Props & Configuration
|
|
181
181
|
</h2>
|
|
182
182
|
|
|
183
|
-
<div className="overflow-hidden rounded-lg border
|
|
184
|
-
<div className="bg-
|
|
185
|
-
<h3 className="text-xl font-semibold
|
|
183
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
184
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
185
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
186
|
+
Props
|
|
187
|
+
</h3>
|
|
186
188
|
</div>
|
|
187
189
|
<table className="!my-0 w-full">
|
|
188
|
-
<thead className="bg-
|
|
189
|
-
<tr className="border-
|
|
190
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
190
|
+
<thead className="bg-fm-surface-secondary">
|
|
191
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
192
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
191
193
|
Prop
|
|
192
194
|
</th>
|
|
193
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
195
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
194
196
|
Type
|
|
195
197
|
</th>
|
|
196
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
198
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
197
199
|
Default
|
|
198
200
|
</th>
|
|
199
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
201
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
200
202
|
Description
|
|
201
203
|
</th>
|
|
202
204
|
</tr>
|
|
203
205
|
</thead>
|
|
204
206
|
<tbody>
|
|
205
207
|
{" "}
|
|
206
|
-
<tr className="
|
|
207
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
208
|
+
<tr className="bg-fm-surface-secondary!">
|
|
209
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
208
210
|
withAccessibility
|
|
209
211
|
</td>
|
|
210
|
-
<td className="px-6 py-4 text-sm
|
|
212
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
211
213
|
boolean
|
|
212
214
|
</td>
|
|
213
|
-
<td className="px-6 py-4 text-sm
|
|
215
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
214
216
|
true
|
|
215
217
|
</td>
|
|
216
|
-
<td className="px-6 py-4 text-sm
|
|
218
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
217
219
|
Whether to wrap the icon with accessibility feature
|
|
218
220
|
</td>
|
|
219
221
|
</tr>
|
|
220
|
-
<tr className="border-
|
|
221
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
222
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
223
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
222
224
|
height
|
|
223
225
|
</td>
|
|
224
|
-
<td className="px-6 py-4 text-sm
|
|
226
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
225
227
|
number | string
|
|
226
228
|
</td>
|
|
227
|
-
<td className="px-6 py-4 text-sm
|
|
228
|
-
|
|
229
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
230
|
+
24
|
|
231
|
+
</td>
|
|
232
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
229
233
|
Height of the icon in pixels
|
|
230
234
|
</td>
|
|
231
235
|
</tr>
|
|
232
|
-
<tr className="border-
|
|
233
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
236
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
237
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
234
238
|
stroke
|
|
235
239
|
</td>
|
|
236
|
-
<td className="px-6 py-4 text-sm
|
|
240
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
237
241
|
string
|
|
238
242
|
</td>
|
|
239
|
-
<td className="px-6 py-4 text-sm
|
|
243
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
240
244
|
currentColor
|
|
241
245
|
</td>
|
|
242
|
-
<td className="px-6 py-4 text-sm
|
|
246
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
243
247
|
Stroke color of the icon
|
|
244
248
|
</td>
|
|
245
249
|
</tr>
|
|
246
|
-
<tr className="border-
|
|
247
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
250
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
251
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
248
252
|
className
|
|
249
253
|
</td>
|
|
250
|
-
<td className="px-6 py-4 text-sm
|
|
254
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
251
255
|
string
|
|
252
256
|
</td>
|
|
253
|
-
<td className="px-6 py-4 text-sm
|
|
254
|
-
|
|
257
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
258
|
+
-
|
|
259
|
+
</td>
|
|
260
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
255
261
|
CSS classes for styling (use for overrides)
|
|
256
262
|
</td>
|
|
257
263
|
</tr>
|
|
258
|
-
<tr className="border-
|
|
259
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
264
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
265
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
260
266
|
strokeWidth
|
|
261
267
|
</td>
|
|
262
|
-
<td className="px-6 py-4 text-sm
|
|
268
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
263
269
|
number | string
|
|
264
270
|
</td>
|
|
265
|
-
<td className="px-6 py-4 text-sm
|
|
271
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
266
272
|
1.5
|
|
267
273
|
</td>
|
|
268
|
-
<td className="px-6 py-4 text-sm
|
|
274
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
269
275
|
Stroke width of the chevron line
|
|
270
276
|
</td>
|
|
271
277
|
</tr>
|
|
272
|
-
<tr className="
|
|
273
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
278
|
+
<tr className="bg-fm-surface-secondary!">
|
|
279
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
274
280
|
...svgProps
|
|
275
281
|
</td>
|
|
276
|
-
<td className="px-6 py-4 text-sm
|
|
282
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
277
283
|
SVGProps
|
|
278
284
|
</td>
|
|
279
|
-
<td className="px-6 py-4 text-sm
|
|
280
|
-
|
|
285
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
286
|
+
-
|
|
287
|
+
</td>
|
|
288
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
281
289
|
All standard SVG element props
|
|
282
290
|
</td>
|
|
283
291
|
</tr>
|
|
@@ -288,50 +296,62 @@ function ScrollToTop() {
|
|
|
288
296
|
|
|
289
297
|
{/* Size Variations */}
|
|
290
298
|
<div className="!space-y-8">
|
|
291
|
-
<h2 className="text-center text-3xl font-bold
|
|
299
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
292
300
|
Size Variations
|
|
293
301
|
</h2>
|
|
294
|
-
<div className="rounded-lg border
|
|
302
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
295
303
|
<div className="!space-y-6">
|
|
296
304
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
297
305
|
<div className="!space-y-4">
|
|
298
|
-
<h3 className="text-lg font-semibold
|
|
306
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
299
307
|
Standard Sizes
|
|
300
308
|
</h3>
|
|
301
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
309
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
302
310
|
<div className="text-center">
|
|
303
|
-
<ChevronUpIcon className="!mx-auto mb-2 h-3 w-3
|
|
304
|
-
<span className="text-
|
|
311
|
+
<ChevronUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-3 w-3" />
|
|
312
|
+
<span className="text-fm-tertiary text-xs">
|
|
313
|
+
12px
|
|
314
|
+
</span>
|
|
305
315
|
</div>
|
|
306
316
|
<div className="text-center">
|
|
307
|
-
<ChevronUpIcon className="!mx-auto mb-2 h-4 w-4
|
|
308
|
-
<span className="text-
|
|
317
|
+
<ChevronUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-4 w-4" />
|
|
318
|
+
<span className="text-fm-tertiary text-xs">
|
|
319
|
+
16px
|
|
320
|
+
</span>
|
|
309
321
|
</div>
|
|
310
322
|
<div className="text-center">
|
|
311
|
-
<ChevronUpIcon className="!mx-auto mb-2 h-5 w-5
|
|
312
|
-
<span className="text-
|
|
323
|
+
<ChevronUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-5 w-5" />
|
|
324
|
+
<span className="text-fm-tertiary text-xs">
|
|
325
|
+
20px
|
|
326
|
+
</span>
|
|
313
327
|
</div>
|
|
314
328
|
<div className="text-center">
|
|
315
|
-
<ChevronUpIcon className="!mx-auto mb-2 h-6 w-6
|
|
316
|
-
<span className="text-
|
|
329
|
+
<ChevronUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-6 w-6" />
|
|
330
|
+
<span className="text-fm-tertiary text-xs">
|
|
331
|
+
24px
|
|
332
|
+
</span>
|
|
317
333
|
</div>
|
|
318
334
|
<div className="text-center">
|
|
319
|
-
<ChevronUpIcon className="!mx-auto mb-2 h-8 w-8
|
|
320
|
-
<span className="text-
|
|
335
|
+
<ChevronUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-8 w-8" />
|
|
336
|
+
<span className="text-fm-tertiary text-xs">
|
|
337
|
+
32px
|
|
338
|
+
</span>
|
|
321
339
|
</div>
|
|
322
340
|
<div className="text-center">
|
|
323
|
-
<ChevronUpIcon className="!mx-auto mb-2 h-12 w-12
|
|
324
|
-
<span className="text-
|
|
341
|
+
<ChevronUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-12 w-12" />
|
|
342
|
+
<span className="text-fm-tertiary text-xs">
|
|
343
|
+
48px
|
|
344
|
+
</span>
|
|
325
345
|
</div>
|
|
326
346
|
</div>
|
|
327
347
|
</div>
|
|
328
348
|
|
|
329
349
|
<div className="!space-y-4">
|
|
330
|
-
<h3 className="text-lg font-semibold
|
|
350
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
331
351
|
Code Example
|
|
332
352
|
</h3>
|
|
333
|
-
<div className="rounded-lg
|
|
334
|
-
<pre className="overflow-x-auto text-sm
|
|
353
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
354
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
335
355
|
{`// Small (16px)
|
|
336
356
|
<ChevronUpIcon className="h-4 w-4 " />
|
|
337
357
|
|
|
@@ -353,56 +373,56 @@ function ScrollToTop() {
|
|
|
353
373
|
|
|
354
374
|
{/* Color Variations */}
|
|
355
375
|
<div className="!space-y-8">
|
|
356
|
-
<h2 className="text-center text-3xl font-bold
|
|
376
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
357
377
|
Color Variations
|
|
358
378
|
</h2>
|
|
359
379
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
360
380
|
<div className="!space-y-4">
|
|
361
|
-
<h3 className="text-lg font-semibold
|
|
381
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
362
382
|
Semantic Colors
|
|
363
383
|
</h3>
|
|
364
|
-
<div className="!space-y-4 rounded-lg border
|
|
384
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
365
385
|
<div className="flex items-center gap-4">
|
|
366
|
-
<ChevronUpIcon className="h-6 w-6
|
|
386
|
+
<ChevronUpIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
367
387
|
<div>
|
|
368
|
-
<div className="text-sm font-medium
|
|
388
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
369
389
|
Primary
|
|
370
390
|
</div>
|
|
371
|
-
<div className="text-
|
|
372
|
-
text-
|
|
391
|
+
<div className="text-fm-tertiary text-xs">
|
|
392
|
+
text-fm-secondary-600
|
|
373
393
|
</div>
|
|
374
394
|
</div>
|
|
375
395
|
</div>
|
|
376
396
|
<div className="flex items-center gap-4">
|
|
377
|
-
<ChevronUpIcon className="h-6 w-6
|
|
397
|
+
<ChevronUpIcon className="text-fm-placeholder h-6 w-6" />
|
|
378
398
|
<div>
|
|
379
|
-
<div className="text-sm font-medium
|
|
399
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
380
400
|
Secondary
|
|
381
401
|
</div>
|
|
382
|
-
<div className="text-
|
|
383
|
-
text-
|
|
402
|
+
<div className="text-fm-tertiary text-xs">
|
|
403
|
+
text-fm-placeholder
|
|
384
404
|
</div>
|
|
385
405
|
</div>
|
|
386
406
|
</div>
|
|
387
407
|
<div className="flex items-center gap-4">
|
|
388
|
-
<ChevronUpIcon className="h-6 w-6
|
|
408
|
+
<ChevronUpIcon className="text-fm-icon-positive h-6 w-6" />
|
|
389
409
|
<div>
|
|
390
|
-
<div className="text-sm font-medium
|
|
410
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
391
411
|
Accent
|
|
392
412
|
</div>
|
|
393
|
-
<div className="text-
|
|
394
|
-
text-
|
|
413
|
+
<div className="text-fm-tertiary text-xs">
|
|
414
|
+
text-fm-icon-positive
|
|
395
415
|
</div>
|
|
396
416
|
</div>
|
|
397
417
|
</div>
|
|
398
418
|
<div className="flex items-center gap-4">
|
|
399
|
-
<ChevronUpIcon className="h-6 w-6
|
|
419
|
+
<ChevronUpIcon className="text-fm-placeholder h-6 w-6" />
|
|
400
420
|
<div>
|
|
401
|
-
<div className="text-sm font-medium
|
|
421
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
402
422
|
Disabled
|
|
403
423
|
</div>
|
|
404
|
-
<div className="text-
|
|
405
|
-
text-
|
|
424
|
+
<div className="text-fm-tertiary text-xs">
|
|
425
|
+
text-fm-placeholder
|
|
406
426
|
</div>
|
|
407
427
|
</div>
|
|
408
428
|
</div>
|
|
@@ -410,11 +430,11 @@ function ScrollToTop() {
|
|
|
410
430
|
</div>
|
|
411
431
|
|
|
412
432
|
<div className="!space-y-4">
|
|
413
|
-
<h3 className="text-lg font-semibold
|
|
433
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
414
434
|
Custom Colors
|
|
415
435
|
</h3>
|
|
416
|
-
<div className="rounded-lg
|
|
417
|
-
<pre className="overflow-x-auto text-sm
|
|
436
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
437
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
418
438
|
{`// Using Tailwind classes with
|
|
419
439
|
<ChevronUpIcon className="h-6 w-6 text-purple-400 " />
|
|
420
440
|
<ChevronUpIcon className="h-6 w-6 text-green-500 " />
|
|
@@ -439,28 +459,28 @@ function ScrollToTop() {
|
|
|
439
459
|
|
|
440
460
|
{/* Usage Examples */}
|
|
441
461
|
<div className="!space-y-8">
|
|
442
|
-
<h2 className="text-center text-3xl font-bold
|
|
462
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
443
463
|
Usage Examples
|
|
444
464
|
</h2>
|
|
445
465
|
|
|
446
466
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
447
467
|
{/* Scroll to Top */}
|
|
448
468
|
<div className="!space-y-4">
|
|
449
|
-
<h3 className="text-lg font-semibold
|
|
469
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
450
470
|
Scroll to Top Button
|
|
451
471
|
</h3>
|
|
452
472
|
<div className="!space-y-4">
|
|
453
473
|
<div className="flex items-center gap-4">
|
|
454
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
474
|
+
<button className="border-fm-secondary-500/30 bg-fm-secondary-500/10 text-fm-secondary-600 hover:bg-fm-secondary-500/20 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
455
475
|
<ChevronUpIcon className="h-4 w-4" />
|
|
456
476
|
Back to Top
|
|
457
477
|
</button>
|
|
458
|
-
<button className="flex items-center justify-center rounded-full border
|
|
478
|
+
<button className="border-fm-divider-primary bg-fm-surface-secondary text-fm-icon-active hover:bg-fm-surface-secondary flex items-center justify-center rounded-full border p-3 transition-colors">
|
|
459
479
|
<ChevronUpIcon className="h-5 w-5" />
|
|
460
480
|
</button>
|
|
461
481
|
</div>
|
|
462
|
-
<div className="rounded-lg
|
|
463
|
-
<pre className="overflow-x-auto text-sm
|
|
482
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
483
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
464
484
|
{`// Text button
|
|
465
485
|
<button className="flex items-center gap-2 bg-purple-500/10 border border-purple-500/30 px-4 py-2 rounded-lg">
|
|
466
486
|
<ChevronUpIcon className="h-4 w-4 " />
|
|
@@ -478,25 +498,25 @@ function ScrollToTop() {
|
|
|
478
498
|
|
|
479
499
|
{/* Collapsible Content */}
|
|
480
500
|
<div className="!space-y-4">
|
|
481
|
-
<h3 className="text-lg font-semibold
|
|
501
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
482
502
|
Collapsible Content
|
|
483
503
|
</h3>
|
|
484
504
|
<div className="!space-y-4">
|
|
485
|
-
<div className="rounded-lg border
|
|
505
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
486
506
|
<button className="flex w-full items-center justify-between text-left">
|
|
487
|
-
<span className="font-medium
|
|
507
|
+
<span className="text-fm-icon-active font-medium">
|
|
488
508
|
Advanced Settings
|
|
489
509
|
</span>
|
|
490
|
-
<ChevronUpIcon className="h-4 w-4
|
|
510
|
+
<ChevronUpIcon className="text-fm-tertiary h-4 w-4 transition-transform" />
|
|
491
511
|
</button>
|
|
492
|
-
<div className="mt-3 space-y-2 text-sm
|
|
512
|
+
<div className="text-fm-secondary mt-3 space-y-2 text-sm">
|
|
493
513
|
<div>Option 1: Enable advanced features</div>
|
|
494
514
|
<div>Option 2: Custom configuration</div>
|
|
495
515
|
<div>Option 3: Developer tools</div>
|
|
496
516
|
</div>
|
|
497
517
|
</div>
|
|
498
|
-
<div className="rounded-lg
|
|
499
|
-
<pre className="overflow-x-auto text-sm
|
|
518
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
519
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
500
520
|
{`// Collapsible header
|
|
501
521
|
<button className="flex w-full items-center justify-between text-left">
|
|
502
522
|
<span className="font-medium text-white">Advanced Settings</span>
|
|
@@ -520,28 +540,28 @@ function ScrollToTop() {
|
|
|
520
540
|
|
|
521
541
|
{/* Sort Controls */}
|
|
522
542
|
<div className="!space-y-4">
|
|
523
|
-
<h3 className="text-lg font-semibold
|
|
543
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
524
544
|
Sort Controls
|
|
525
545
|
</h3>
|
|
526
546
|
<div className="!space-y-4">
|
|
527
|
-
<div className="rounded-lg border
|
|
547
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
528
548
|
<div className="space-y-2">
|
|
529
|
-
<button className="flex w-full items-center justify-between rounded px-3 py-2 text-left
|
|
549
|
+
<button className="text-fm-icon-active hover:bg-fm-surface-secondary flex w-full items-center justify-between rounded px-3 py-2 text-left">
|
|
530
550
|
<span>Name</span>
|
|
531
|
-
<ChevronUpIcon className="h-4 w-4
|
|
551
|
+
<ChevronUpIcon className="text-fm-secondary-600 h-4 w-4" />
|
|
532
552
|
</button>
|
|
533
|
-
<button className="flex w-full items-center justify-between rounded px-3 py-2 text-left
|
|
553
|
+
<button className="text-fm-icon-active hover:bg-fm-surface-secondary flex w-full items-center justify-between rounded px-3 py-2 text-left">
|
|
534
554
|
<span>Date</span>
|
|
535
|
-
<ChevronUpIcon className="h-4 w-4
|
|
555
|
+
<ChevronUpIcon className="text-fm-placeholder h-4 w-4" />
|
|
536
556
|
</button>
|
|
537
|
-
<button className="flex w-full items-center justify-between rounded px-3 py-2 text-left
|
|
557
|
+
<button className="text-fm-icon-active hover:bg-fm-surface-secondary flex w-full items-center justify-between rounded px-3 py-2 text-left">
|
|
538
558
|
<span>Size</span>
|
|
539
|
-
<ChevronUpIcon className="h-4 w-4
|
|
559
|
+
<ChevronUpIcon className="text-fm-placeholder h-4 w-4" />
|
|
540
560
|
</button>
|
|
541
561
|
</div>
|
|
542
562
|
</div>
|
|
543
|
-
<div className="rounded-lg
|
|
544
|
-
<pre className="overflow-x-auto text-sm
|
|
563
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
564
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
545
565
|
{`// Sort button with active state
|
|
546
566
|
<button className="flex w-full items-center justify-between rounded px-3 py-2 text-left hover:bg-white/10">
|
|
547
567
|
<span>Name</span>
|
|
@@ -567,34 +587,34 @@ function ScrollToTop() {
|
|
|
567
587
|
|
|
568
588
|
{/* Accordion */}
|
|
569
589
|
<div className="!space-y-4">
|
|
570
|
-
<h3 className="text-lg font-semibold
|
|
590
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
571
591
|
Accordion Component
|
|
572
592
|
</h3>
|
|
573
593
|
<div className="!space-y-4">
|
|
574
594
|
<div className="w-full space-y-2">
|
|
575
|
-
<div className="rounded-lg border
|
|
595
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border">
|
|
576
596
|
<button className="flex w-full items-center justify-between p-4 text-left">
|
|
577
|
-
<span className="font-medium
|
|
597
|
+
<span className="text-fm-icon-active font-medium">
|
|
578
598
|
What is your return policy?
|
|
579
599
|
</span>
|
|
580
|
-
<ChevronUpIcon className="h-4 w-4
|
|
600
|
+
<ChevronUpIcon className="text-fm-tertiary h-4 w-4" />
|
|
581
601
|
</button>
|
|
582
|
-
<div className="border-
|
|
602
|
+
<div className="border-fm-divider-secondary text-fm-secondary border-t p-4 text-sm">
|
|
583
603
|
We offer a 30-day return policy for all items in
|
|
584
604
|
original condition.
|
|
585
605
|
</div>
|
|
586
606
|
</div>
|
|
587
|
-
<div className="rounded-lg border
|
|
607
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border">
|
|
588
608
|
<button className="flex w-full items-center justify-between p-4 text-left">
|
|
589
|
-
<span className="font-medium
|
|
609
|
+
<span className="text-fm-icon-active font-medium">
|
|
590
610
|
How do I track my order?
|
|
591
611
|
</span>
|
|
592
|
-
<ChevronUpIcon className="h-4 w-4 rotate-180
|
|
612
|
+
<ChevronUpIcon className="text-fm-tertiary h-4 w-4 rotate-180" />
|
|
593
613
|
</button>
|
|
594
614
|
</div>
|
|
595
615
|
</div>
|
|
596
|
-
<div className="rounded-lg
|
|
597
|
-
<pre className="overflow-x-auto text-sm
|
|
616
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
617
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
598
618
|
{`// Accordion item
|
|
599
619
|
<div className="rounded-lg border border-white/10 bg-white/5">
|
|
600
620
|
<button
|
|
@@ -626,64 +646,64 @@ function ScrollToTop() {
|
|
|
626
646
|
|
|
627
647
|
{/* Accessibility */}
|
|
628
648
|
<div className="!space-y-8">
|
|
629
|
-
<h2 className="text-center text-3xl font-bold
|
|
649
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
630
650
|
Accessibility Features
|
|
631
651
|
</h2>
|
|
632
652
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
633
|
-
<div className="!space-y-4 rounded-lg border
|
|
634
|
-
<h3 className="text-lg font-semibold
|
|
653
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
654
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
635
655
|
✅ Built-in Features
|
|
636
656
|
</h3>
|
|
637
|
-
<ul className="!space-y-2 text-sm
|
|
638
|
-
<li className="
|
|
657
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
658
|
+
<li className="text-fm-secondary!">
|
|
639
659
|
Uses Radix UI AccessibleIcon wrapper
|
|
640
660
|
</li>
|
|
641
|
-
<li className="
|
|
661
|
+
<li className="text-fm-secondary!">
|
|
642
662
|
Provides screen reader label "Chevron Up icon"
|
|
643
663
|
</li>
|
|
644
|
-
<li className="
|
|
664
|
+
<li className="text-fm-secondary!">
|
|
645
665
|
Supports keyboard navigation when interactive
|
|
646
666
|
</li>
|
|
647
|
-
<li className="
|
|
667
|
+
<li className="text-fm-secondary!">
|
|
648
668
|
Maintains proper color contrast ratios
|
|
649
669
|
</li>
|
|
650
|
-
<li className="
|
|
670
|
+
<li className="text-fm-secondary!">
|
|
651
671
|
Scales with user's font size preferences
|
|
652
672
|
</li>
|
|
653
673
|
</ul>
|
|
654
674
|
</div>
|
|
655
675
|
|
|
656
|
-
<div className="!space-y-4 rounded-lg border
|
|
657
|
-
<h3 className="text-lg font-semibold
|
|
676
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
677
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
658
678
|
💡 Best Practices
|
|
659
679
|
</h3>
|
|
660
|
-
<ul className="!space-y-2 text-sm
|
|
661
|
-
<li className="
|
|
680
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
681
|
+
<li className="text-fm-secondary!">
|
|
662
682
|
Use descriptive aria-labels for navigation buttons
|
|
663
683
|
</li>
|
|
664
|
-
<li className="
|
|
684
|
+
<li className="text-fm-secondary!">
|
|
665
685
|
Provide keyboard shortcuts for common actions
|
|
666
686
|
</li>
|
|
667
|
-
<li className="
|
|
687
|
+
<li className="text-fm-secondary!">
|
|
668
688
|
Ensure sufficient touch target size (44px minimum)
|
|
669
689
|
</li>
|
|
670
|
-
<li className="
|
|
690
|
+
<li className="text-fm-secondary!">
|
|
671
691
|
Add focus states for interactive elements
|
|
672
692
|
</li>
|
|
673
|
-
<li className="
|
|
693
|
+
<li className="text-fm-secondary!">
|
|
674
694
|
Consider aria-expanded for collapsible content
|
|
675
695
|
</li>
|
|
676
696
|
</ul>
|
|
677
697
|
</div>
|
|
678
698
|
</div>
|
|
679
699
|
|
|
680
|
-
<div className="rounded-lg border
|
|
681
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
700
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
701
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
682
702
|
Proper ARIA Implementation
|
|
683
703
|
</h3>
|
|
684
704
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
685
|
-
<div className="rounded-lg
|
|
686
|
-
<pre className="overflow-x-auto text-sm
|
|
705
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
706
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
687
707
|
{`// Scroll to top button with proper ARIA
|
|
688
708
|
<button
|
|
689
709
|
aria-label="Scroll to top of page"
|
|
@@ -719,13 +739,13 @@ function ScrollToTop() {
|
|
|
719
739
|
</pre>
|
|
720
740
|
</div>
|
|
721
741
|
<div className="!space-y-4">
|
|
722
|
-
<p className="text-
|
|
742
|
+
<p className="text-fm-secondary! text-sm">
|
|
723
743
|
Always provide context-appropriate ARIA labels for
|
|
724
744
|
upward navigation and collapsible content. The chevron
|
|
725
745
|
direction should indicate the intended action or state.
|
|
726
746
|
</p>
|
|
727
|
-
<div className="
|
|
728
|
-
<div className="flex items-center gap-2 text-sm
|
|
747
|
+
<div className="border-fm-secondary-500/20 bg-fm-secondary-500/10 rounded-lg border p-4">
|
|
748
|
+
<div className="text-fm-secondary-600 flex items-center gap-2 text-sm">
|
|
729
749
|
<ChevronUpIcon className="h-4 w-4" />
|
|
730
750
|
<span>
|
|
731
751
|
Consider the user's mental model of "up" direction
|
|
@@ -739,56 +759,60 @@ function ScrollToTop() {
|
|
|
739
759
|
|
|
740
760
|
{/* Related Icons */}
|
|
741
761
|
<div className="!space-y-8">
|
|
742
|
-
<h2 className="text-center text-3xl font-bold
|
|
762
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
743
763
|
Related Icons
|
|
744
764
|
</h2>
|
|
745
765
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
746
|
-
<div className="!space-y-3 rounded-lg border
|
|
747
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
748
|
-
<span className="
|
|
766
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
767
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
768
|
+
<span className="text-fm-icon-active! !text-2xl">↓</span>
|
|
749
769
|
</div>
|
|
750
770
|
<div>
|
|
751
|
-
<div className="font-medium
|
|
771
|
+
<div className="text-fm-icon-active font-medium">
|
|
752
772
|
ChevronDownIcon
|
|
753
773
|
</div>
|
|
754
|
-
<div className="text-
|
|
774
|
+
<div className="text-fm-tertiary text-xs">
|
|
755
775
|
Downward direction
|
|
756
776
|
</div>
|
|
757
777
|
</div>
|
|
758
778
|
</div>
|
|
759
|
-
<div className="!space-y-3 rounded-lg border
|
|
760
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
761
|
-
<span className="
|
|
779
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
780
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
781
|
+
<span className="text-fm-icon-active! !text-2xl">→</span>
|
|
762
782
|
</div>
|
|
763
783
|
<div>
|
|
764
|
-
<div className="font-medium
|
|
784
|
+
<div className="text-fm-icon-active font-medium">
|
|
765
785
|
ChevronRightIcon
|
|
766
786
|
</div>
|
|
767
|
-
<div className="text-
|
|
787
|
+
<div className="text-fm-tertiary text-xs">
|
|
768
788
|
Right direction
|
|
769
789
|
</div>
|
|
770
790
|
</div>
|
|
771
791
|
</div>
|
|
772
|
-
<div className="!space-y-3 rounded-lg border
|
|
773
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
774
|
-
<span className="
|
|
792
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
793
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
794
|
+
<span className="text-fm-icon-active! !text-2xl">←</span>
|
|
775
795
|
</div>
|
|
776
796
|
<div>
|
|
777
|
-
<div className="font-medium
|
|
797
|
+
<div className="text-fm-icon-active font-medium">
|
|
778
798
|
ChevronLeftIcon
|
|
779
799
|
</div>
|
|
780
|
-
<div className="text-
|
|
800
|
+
<div className="text-fm-tertiary text-xs">
|
|
781
801
|
Left direction
|
|
782
802
|
</div>
|
|
783
803
|
</div>
|
|
784
804
|
</div>
|
|
785
|
-
<div className="!space-y-3 rounded-lg border
|
|
786
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
787
|
-
<span className="
|
|
805
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
806
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
807
|
+
<span className="text-fm-icon-active! !text-2xl">↑</span>
|
|
788
808
|
</div>
|
|
789
809
|
<div>
|
|
790
|
-
<div className="font-medium
|
|
791
|
-
|
|
810
|
+
<div className="text-fm-icon-active font-medium">
|
|
811
|
+
ArrowUpIcon
|
|
812
|
+
</div>
|
|
813
|
+
<div className="text-fm-tertiary text-xs">
|
|
814
|
+
Arrow variant
|
|
815
|
+
</div>
|
|
792
816
|
</div>
|
|
793
817
|
</div>
|
|
794
818
|
</div>
|
|
@@ -796,14 +820,14 @@ function ScrollToTop() {
|
|
|
796
820
|
</div>
|
|
797
821
|
|
|
798
822
|
{/* Footer */}
|
|
799
|
-
<div className="border-
|
|
823
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
800
824
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
801
825
|
<div className="!space-y-4 text-center">
|
|
802
|
-
<p className="
|
|
826
|
+
<p className="text-fm-tertiary!">
|
|
803
827
|
ChevronUpIcon is part of the Aural UI icon library, built
|
|
804
828
|
with accessibility and intuitive upward navigation in mind.
|
|
805
829
|
</p>
|
|
806
|
-
<p className="text-
|
|
830
|
+
<p className="text-fm-placeholder! text-sm">
|
|
807
831
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
808
832
|
compatibility and follow WCAG guidelines.
|
|
809
833
|
</p>
|
|
@@ -852,8 +876,8 @@ const storyParameters = {
|
|
|
852
876
|
backgrounds: {
|
|
853
877
|
default: "dark",
|
|
854
878
|
values: [
|
|
855
|
-
{ name: "dark", value: "
|
|
856
|
-
{ name: "darker", value: "
|
|
879
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
880
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
857
881
|
],
|
|
858
882
|
},
|
|
859
883
|
}
|
|
@@ -862,12 +886,12 @@ export const Default: Story = {
|
|
|
862
886
|
args: {
|
|
863
887
|
width: 24,
|
|
864
888
|
height: 24,
|
|
865
|
-
className: "text-
|
|
889
|
+
className: "text-fm-secondary-600 ",
|
|
866
890
|
withAccessibility: true,
|
|
867
891
|
},
|
|
868
892
|
parameters: storyParameters,
|
|
869
893
|
render: (args) => (
|
|
870
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
894
|
+
<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">
|
|
871
895
|
<ChevronUpIcon {...args} />
|
|
872
896
|
</div>
|
|
873
897
|
),
|
|
@@ -884,30 +908,30 @@ export const SizeVariations: Story = {
|
|
|
884
908
|
},
|
|
885
909
|
},
|
|
886
910
|
render: () => (
|
|
887
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
911
|
+
<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">
|
|
888
912
|
<div className="text-center">
|
|
889
|
-
<ChevronUpIcon className="!mx-auto mb-2 h-3 w-3
|
|
890
|
-
<span className="text-
|
|
913
|
+
<ChevronUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-3 w-3" />
|
|
914
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
891
915
|
</div>
|
|
892
916
|
<div className="text-center">
|
|
893
|
-
<ChevronUpIcon className="!mx-auto mb-2 h-4 w-4
|
|
894
|
-
<span className="text-
|
|
917
|
+
<ChevronUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-4 w-4" />
|
|
918
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
895
919
|
</div>
|
|
896
920
|
<div className="text-center">
|
|
897
|
-
<ChevronUpIcon className="!mx-auto mb-2 h-5 w-5
|
|
898
|
-
<span className="text-
|
|
921
|
+
<ChevronUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-5 w-5" />
|
|
922
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
899
923
|
</div>
|
|
900
924
|
<div className="text-center">
|
|
901
|
-
<ChevronUpIcon className="!mx-auto mb-2 h-6 w-6
|
|
902
|
-
<span className="text-
|
|
925
|
+
<ChevronUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-6 w-6" />
|
|
926
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
903
927
|
</div>
|
|
904
928
|
<div className="text-center">
|
|
905
|
-
<ChevronUpIcon className="!mx-auto mb-2 h-8 w-8
|
|
906
|
-
<span className="text-
|
|
929
|
+
<ChevronUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-8 w-8" />
|
|
930
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
907
931
|
</div>
|
|
908
932
|
<div className="text-center">
|
|
909
|
-
<ChevronUpIcon className="!mx-auto mb-2 h-12 w-12
|
|
910
|
-
<span className="text-
|
|
933
|
+
<ChevronUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-12 w-12" />
|
|
934
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
911
935
|
</div>
|
|
912
936
|
</div>
|
|
913
937
|
),
|
|
@@ -924,34 +948,38 @@ export const ColorVariations: Story = {
|
|
|
924
948
|
},
|
|
925
949
|
},
|
|
926
950
|
render: () => (
|
|
927
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
951
|
+
<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">
|
|
928
952
|
<div className="text-center">
|
|
929
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
930
|
-
<ChevronUpIcon className="h-8 w-8
|
|
953
|
+
<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">
|
|
954
|
+
<ChevronUpIcon className="text-fm-secondary-600 h-8 w-8" />
|
|
955
|
+
</div>
|
|
956
|
+
<div className="text-fm-icon-active text-sm font-medium">Primary</div>
|
|
957
|
+
<div className="text-fm-secondary-600 text-xs">
|
|
958
|
+
text-fm-secondary-600
|
|
931
959
|
</div>
|
|
932
|
-
<div className="text-sm font-medium text-white">Primary</div>
|
|
933
|
-
<div className="text-xs text-purple-400">text-purple-400</div>
|
|
934
960
|
</div>
|
|
935
961
|
<div className="text-center">
|
|
936
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
937
|
-
<ChevronUpIcon className="h-8 w-8
|
|
962
|
+
<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">
|
|
963
|
+
<ChevronUpIcon className="text-fm-placeholder h-8 w-8" />
|
|
938
964
|
</div>
|
|
939
|
-
<div className="text-sm font-medium
|
|
940
|
-
<div className="text-
|
|
965
|
+
<div className="text-fm-icon-active text-sm font-medium">Secondary</div>
|
|
966
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
941
967
|
</div>
|
|
942
968
|
<div className="text-center">
|
|
943
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
944
|
-
<ChevronUpIcon className="h-8 w-8
|
|
969
|
+
<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">
|
|
970
|
+
<ChevronUpIcon className="text-fm-icon-positive h-8 w-8" />
|
|
971
|
+
</div>
|
|
972
|
+
<div className="text-fm-icon-active text-sm font-medium">Accent</div>
|
|
973
|
+
<div className="text-fm-icon-positive text-xs">
|
|
974
|
+
text-fm-icon-positive
|
|
945
975
|
</div>
|
|
946
|
-
<div className="text-sm font-medium text-white">Accent</div>
|
|
947
|
-
<div className="text-xs text-green-400">text-green-400</div>
|
|
948
976
|
</div>
|
|
949
977
|
<div className="text-center">
|
|
950
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
951
|
-
<ChevronUpIcon className="h-8 w-8
|
|
978
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
979
|
+
<ChevronUpIcon className="text-fm-placeholder h-8 w-8" />
|
|
952
980
|
</div>
|
|
953
|
-
<div className="text-sm font-medium
|
|
954
|
-
<div className="text-
|
|
981
|
+
<div className="text-fm-icon-active text-sm font-medium">Disabled</div>
|
|
982
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
955
983
|
</div>
|
|
956
984
|
</div>
|
|
957
985
|
),
|
|
@@ -968,16 +996,18 @@ export const UsageExamples: Story = {
|
|
|
968
996
|
},
|
|
969
997
|
},
|
|
970
998
|
render: () => (
|
|
971
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
999
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
972
1000
|
{/* Scroll to Top */}
|
|
973
1001
|
<div className="!space-y-2">
|
|
974
|
-
<h3 className="text-sm font-medium
|
|
1002
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1003
|
+
Scroll to Top
|
|
1004
|
+
</h3>
|
|
975
1005
|
<div className="flex items-center gap-4">
|
|
976
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
1006
|
+
<button className="border-fm-secondary-500/30 bg-fm-secondary-500/10 text-fm-secondary-600 hover:bg-fm-secondary-500/20 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
977
1007
|
<ChevronUpIcon className="h-4 w-4" />
|
|
978
1008
|
Back to Top
|
|
979
1009
|
</button>
|
|
980
|
-
<button className="flex items-center justify-center rounded-full border
|
|
1010
|
+
<button className="border-fm-divider-primary bg-fm-surface-secondary text-fm-icon-active hover:bg-fm-surface-secondary flex items-center justify-center rounded-full border p-3 transition-colors">
|
|
981
1011
|
<ChevronUpIcon className="h-5 w-5" />
|
|
982
1012
|
</button>
|
|
983
1013
|
</div>
|
|
@@ -985,13 +1015,17 @@ export const UsageExamples: Story = {
|
|
|
985
1015
|
|
|
986
1016
|
{/* Collapsible */}
|
|
987
1017
|
<div className="!space-y-2">
|
|
988
|
-
<h3 className="text-sm font-medium
|
|
989
|
-
|
|
1018
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1019
|
+
Collapsible Content
|
|
1020
|
+
</h3>
|
|
1021
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
990
1022
|
<button className="flex w-full items-center justify-between text-left">
|
|
991
|
-
<span className="font-medium
|
|
992
|
-
|
|
1023
|
+
<span className="text-fm-icon-active font-medium">
|
|
1024
|
+
Advanced Settings
|
|
1025
|
+
</span>
|
|
1026
|
+
<ChevronUpIcon className="text-fm-tertiary h-4 w-4 transition-transform" />
|
|
993
1027
|
</button>
|
|
994
|
-
<div className="mt-3 space-y-2 text-sm
|
|
1028
|
+
<div className="text-fm-secondary mt-3 space-y-2 text-sm">
|
|
995
1029
|
<div>Option 1: Enable advanced features</div>
|
|
996
1030
|
<div>Option 2: Custom configuration</div>
|
|
997
1031
|
</div>
|
|
@@ -1000,16 +1034,18 @@ export const UsageExamples: Story = {
|
|
|
1000
1034
|
|
|
1001
1035
|
{/* Sort Controls */}
|
|
1002
1036
|
<div className="!space-y-2">
|
|
1003
|
-
<h3 className="text-sm font-medium
|
|
1004
|
-
|
|
1037
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1038
|
+
Sort Controls
|
|
1039
|
+
</h3>
|
|
1040
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
1005
1041
|
<div className="space-y-2">
|
|
1006
|
-
<button className="flex w-full items-center justify-between rounded px-3 py-2 text-left
|
|
1042
|
+
<button className="text-fm-icon-active hover:bg-fm-surface-secondary flex w-full items-center justify-between rounded px-3 py-2 text-left">
|
|
1007
1043
|
<span>Name</span>
|
|
1008
|
-
<ChevronUpIcon className="h-4 w-4
|
|
1044
|
+
<ChevronUpIcon className="text-fm-secondary-600 h-4 w-4" />
|
|
1009
1045
|
</button>
|
|
1010
|
-
<button className="flex w-full items-center justify-between rounded px-3 py-2 text-left
|
|
1046
|
+
<button className="text-fm-icon-active hover:bg-fm-surface-secondary flex w-full items-center justify-between rounded px-3 py-2 text-left">
|
|
1011
1047
|
<span>Date</span>
|
|
1012
|
-
<ChevronUpIcon className="h-4 w-4
|
|
1048
|
+
<ChevronUpIcon className="text-fm-placeholder h-4 w-4" />
|
|
1013
1049
|
</button>
|
|
1014
1050
|
</div>
|
|
1015
1051
|
</div>
|
|
@@ -1031,12 +1067,12 @@ export const Playground: Story = {
|
|
|
1031
1067
|
args: {
|
|
1032
1068
|
width: 32,
|
|
1033
1069
|
height: 32,
|
|
1034
|
-
className: "text-
|
|
1070
|
+
className: "text-fm-secondary-600 ",
|
|
1035
1071
|
strokeWidth: 1.5,
|
|
1036
1072
|
},
|
|
1037
1073
|
render: (args) => (
|
|
1038
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1039
|
-
<div className="rounded-lg border
|
|
1074
|
+
<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">
|
|
1075
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1040
1076
|
<ChevronUpIcon {...args} />
|
|
1041
1077
|
</div>
|
|
1042
1078
|
</div>
|