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