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