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 PlusIcon> = {
|
|
|
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,42 +40,42 @@ const meta: Meta<typeof PlusIcon> = {
|
|
|
40
40
|
background: transparent !important;
|
|
41
41
|
}
|
|
42
42
|
body {
|
|
43
|
-
background:
|
|
43
|
+
background: var(--color-fm-surface-primary) !important;
|
|
44
44
|
}
|
|
45
45
|
#storybook-docs {
|
|
46
|
-
background:
|
|
46
|
+
background: var(--color-fm-surface-primary) !important;
|
|
47
47
|
}
|
|
48
48
|
.sbdocs-preview {
|
|
49
49
|
background: transparent !important;
|
|
50
50
|
border: none !important;
|
|
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) !important;
|
|
54
54
|
}
|
|
55
55
|
.sbdocs-p, .sbdocs-li {
|
|
56
|
-
color:
|
|
56
|
+
color: var(--color-fm-secondary) !important;
|
|
57
57
|
}
|
|
58
58
|
.sbdocs-code {
|
|
59
|
-
background:
|
|
60
|
-
color:
|
|
61
|
-
border: 1px solid
|
|
59
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
60
|
+
color: var(--color-fm-secondary-500) !important;
|
|
61
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
62
62
|
}
|
|
63
63
|
.sbdocs-pre {
|
|
64
|
-
background:
|
|
65
|
-
border: 1px solid
|
|
64
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
65
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
66
66
|
}
|
|
67
67
|
.sbdocs-table {
|
|
68
|
-
background:
|
|
69
|
-
border: 1px solid
|
|
68
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
69
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
70
70
|
}
|
|
71
71
|
.sbdocs-table th {
|
|
72
|
-
background:
|
|
73
|
-
color:
|
|
74
|
-
border-bottom: 1px solid
|
|
72
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
73
|
+
color: var(--color-fm-icon-active) !important;
|
|
74
|
+
border-bottom: 1px solid var(--color-fm-divider-secondary) !important;
|
|
75
75
|
}
|
|
76
76
|
.sbdocs-table td {
|
|
77
|
-
color:
|
|
78
|
-
border-bottom: 1px solid
|
|
77
|
+
color: var(--color-fm-secondary) !important;
|
|
78
|
+
border-bottom: 1px solid var(--color-fm-divider-tertiary) !important;
|
|
79
79
|
}
|
|
80
80
|
@keyframes plus-pulse {
|
|
81
81
|
0%, 100% { transform: scale(1); opacity: 1; }
|
|
@@ -105,19 +105,19 @@ const meta: Meta<typeof PlusIcon> = {
|
|
|
105
105
|
`}
|
|
106
106
|
</style>
|
|
107
107
|
|
|
108
|
-
<div className="
|
|
108
|
+
<div className="from-fm-surface-primary via-fm-icon-positive/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
|
|
109
109
|
{/* Header */}
|
|
110
|
-
<div className="relative overflow-hidden border-b
|
|
111
|
-
<div className="absolute inset-0 bg-
|
|
110
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
|
|
111
|
+
<div className="from-fm-icon-positive/10 to-fm-icon-info/10 absolute inset-0 bg-linear-to-r via-transparent" />
|
|
112
112
|
<div className="relative !mx-auto max-w-7xl px-6 py-16">
|
|
113
113
|
<div className="!space-y-6 text-center">
|
|
114
|
-
<div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border
|
|
115
|
-
<PlusIcon className="h-12 w-12
|
|
114
|
+
<div className="border-fm-icon-positive/30 from-fm-icon-positive/20 to-fm-icon-info/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
|
|
115
|
+
<PlusIcon className="text-fm-icon-positive h-12 w-12" />
|
|
116
116
|
</div>
|
|
117
117
|
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
118
118
|
PlusIcon
|
|
119
119
|
</h1>
|
|
120
|
-
<p className="!mx-auto max-w-3xl text-xl leading-relaxed
|
|
120
|
+
<p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
|
|
121
121
|
A versatile plus icon for adding content, creating new
|
|
122
122
|
items, and positive actions. Perfect for buttons, forms, and
|
|
123
123
|
CTAs. Built with accessibility in mind using Radix UI's
|
|
@@ -127,28 +127,28 @@ const meta: Meta<typeof PlusIcon> = {
|
|
|
127
127
|
{/* Stats */}
|
|
128
128
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
129
129
|
<div className="text-center">
|
|
130
|
-
<div className="text-3xl font-bold
|
|
130
|
+
<div className="text-fm-icon-positive text-3xl font-bold">
|
|
131
131
|
Add
|
|
132
132
|
</div>
|
|
133
|
-
<div className="text-
|
|
133
|
+
<div className="text-fm-tertiary text-sm">
|
|
134
134
|
Create new content
|
|
135
135
|
</div>
|
|
136
136
|
</div>
|
|
137
|
-
<div className="h-8 w-px
|
|
137
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
138
138
|
<div className="text-center">
|
|
139
|
-
<div className="text-3xl font-bold
|
|
139
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
140
140
|
Create
|
|
141
141
|
</div>
|
|
142
|
-
<div className="text-
|
|
142
|
+
<div className="text-fm-tertiary text-sm">
|
|
143
143
|
New items & actions
|
|
144
144
|
</div>
|
|
145
145
|
</div>
|
|
146
|
-
<div className="h-8 w-px
|
|
146
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
147
147
|
<div className="text-center">
|
|
148
|
-
<div className="text-3xl font-bold
|
|
148
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
149
149
|
Expand
|
|
150
150
|
</div>
|
|
151
|
-
<div className="text-
|
|
151
|
+
<div className="text-fm-tertiary text-sm">
|
|
152
152
|
Growth & addition
|
|
153
153
|
</div>
|
|
154
154
|
</div>
|
|
@@ -161,16 +161,16 @@ const meta: Meta<typeof PlusIcon> = {
|
|
|
161
161
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
162
162
|
{/* Quick Usage */}
|
|
163
163
|
<div className="!space-y-8">
|
|
164
|
-
<h2 className="text-center text-3xl font-bold
|
|
164
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
165
165
|
Quick Start
|
|
166
166
|
</h2>
|
|
167
167
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
168
168
|
<div className="!space-y-4">
|
|
169
|
-
<h3 className="text-xl font-semibold
|
|
169
|
+
<h3 className="text-fm-icon-positive! text-xl font-semibold">
|
|
170
170
|
Basic Usage
|
|
171
171
|
</h3>
|
|
172
|
-
<div className="rounded-lg
|
|
173
|
-
<pre className="overflow-x-auto text-sm
|
|
172
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
173
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
174
174
|
{`import { PlusIcon } from "@icons/plus-icon"
|
|
175
175
|
|
|
176
176
|
function AddButton() {
|
|
@@ -186,13 +186,13 @@ function AddButton() {
|
|
|
186
186
|
</div>
|
|
187
187
|
|
|
188
188
|
<div className="!space-y-4">
|
|
189
|
-
<h3 className="text-xl font-semibold
|
|
189
|
+
<h3 className="text-fm-icon-positive! text-xl font-semibold">
|
|
190
190
|
Live Preview
|
|
191
191
|
</h3>
|
|
192
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
193
|
-
<button className="flex items-center gap-3 rounded-lg border
|
|
194
|
-
<PlusIcon className="h-5 w-5
|
|
195
|
-
<span className="text-
|
|
192
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
193
|
+
<button className="border-fm-icon-positive/20 bg-fm-icon-positive/10 hover:bg-fm-icon-positive/20 flex items-center gap-3 rounded-lg border px-4 py-2 transition-colors">
|
|
194
|
+
<PlusIcon className="text-fm-icon-positive h-5 w-5" />
|
|
195
|
+
<span className="text-fm-icon-active">Add Item</span>
|
|
196
196
|
</button>
|
|
197
197
|
</div>
|
|
198
198
|
</div>
|
|
@@ -201,122 +201,130 @@ function AddButton() {
|
|
|
201
201
|
|
|
202
202
|
{/* Props Documentation */}
|
|
203
203
|
<div className="!space-y-8">
|
|
204
|
-
<h2 className="text-center text-3xl font-bold
|
|
204
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
205
205
|
Props & Configuration
|
|
206
206
|
</h2>
|
|
207
207
|
|
|
208
|
-
<div className="overflow-hidden rounded-lg border
|
|
209
|
-
<div className="bg-
|
|
210
|
-
<h3 className="text-xl font-semibold
|
|
208
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
209
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
210
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
211
|
+
Props
|
|
212
|
+
</h3>
|
|
211
213
|
</div>
|
|
212
214
|
<table className="!my-0 w-full">
|
|
213
|
-
<thead className="bg-
|
|
214
|
-
<tr className="border-
|
|
215
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
215
|
+
<thead className="bg-fm-surface-secondary">
|
|
216
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
217
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
216
218
|
Prop
|
|
217
219
|
</th>
|
|
218
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
220
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
219
221
|
Type
|
|
220
222
|
</th>
|
|
221
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
223
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
222
224
|
Default
|
|
223
225
|
</th>
|
|
224
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
226
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
225
227
|
Description
|
|
226
228
|
</th>
|
|
227
229
|
</tr>
|
|
228
230
|
</thead>
|
|
229
231
|
<tbody>
|
|
230
232
|
{" "}
|
|
231
|
-
<tr className="
|
|
232
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
233
|
+
<tr className="bg-fm-surface-secondary!">
|
|
234
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
233
235
|
withAccessibility
|
|
234
236
|
</td>
|
|
235
|
-
<td className="px-6 py-4 text-sm
|
|
237
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
236
238
|
boolean
|
|
237
239
|
</td>
|
|
238
|
-
<td className="px-6 py-4 text-sm
|
|
240
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
239
241
|
true
|
|
240
242
|
</td>
|
|
241
|
-
<td className="px-6 py-4 text-sm
|
|
243
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
242
244
|
Whether to wrap the icon with accessibility feature
|
|
243
245
|
</td>
|
|
244
246
|
</tr>
|
|
245
|
-
<tr className="border-
|
|
246
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
247
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
248
|
+
<td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
|
|
247
249
|
height
|
|
248
250
|
</td>
|
|
249
|
-
<td className="px-6 py-4 text-sm
|
|
251
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
250
252
|
number | string
|
|
251
253
|
</td>
|
|
252
|
-
<td className="px-6 py-4 text-sm
|
|
253
|
-
|
|
254
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
255
|
+
24
|
|
256
|
+
</td>
|
|
257
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
254
258
|
Height of the icon in pixels
|
|
255
259
|
</td>
|
|
256
260
|
</tr>
|
|
257
|
-
<tr className="border-
|
|
258
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
261
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
262
|
+
<td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
|
|
259
263
|
stroke
|
|
260
264
|
</td>
|
|
261
|
-
<td className="px-6 py-4 text-sm
|
|
265
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
262
266
|
string
|
|
263
267
|
</td>
|
|
264
|
-
<td className="px-6 py-4 text-sm
|
|
268
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
265
269
|
currentColor
|
|
266
270
|
</td>
|
|
267
|
-
<td className="px-6 py-4 text-sm
|
|
271
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
268
272
|
Stroke color of the plus lines
|
|
269
273
|
</td>
|
|
270
274
|
</tr>
|
|
271
|
-
<tr className="border-
|
|
272
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
275
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
276
|
+
<td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
|
|
273
277
|
strokeWidth
|
|
274
278
|
</td>
|
|
275
|
-
<td className="px-6 py-4 text-sm
|
|
279
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
276
280
|
number | string
|
|
277
281
|
</td>
|
|
278
|
-
<td className="px-6 py-4 text-sm
|
|
282
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
279
283
|
1.5
|
|
280
284
|
</td>
|
|
281
|
-
<td className="px-6 py-4 text-sm
|
|
285
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
282
286
|
Thickness of the stroke lines
|
|
283
287
|
</td>
|
|
284
288
|
</tr>
|
|
285
|
-
<tr className="border-
|
|
286
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
289
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
290
|
+
<td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
|
|
287
291
|
strokeLinecap
|
|
288
292
|
</td>
|
|
289
|
-
<td className="px-6 py-4 text-sm
|
|
293
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
290
294
|
string
|
|
291
295
|
</td>
|
|
292
|
-
<td className="px-6 py-4 text-sm
|
|
296
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
293
297
|
square
|
|
294
298
|
</td>
|
|
295
|
-
<td className="px-6 py-4 text-sm
|
|
299
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
296
300
|
Style of line endings
|
|
297
301
|
</td>
|
|
298
302
|
</tr>
|
|
299
|
-
<tr className="border-
|
|
300
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
303
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
304
|
+
<td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
|
|
301
305
|
className
|
|
302
306
|
</td>
|
|
303
|
-
<td className="px-6 py-4 text-sm
|
|
307
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
304
308
|
string
|
|
305
309
|
</td>
|
|
306
|
-
<td className="px-6 py-4 text-sm
|
|
307
|
-
|
|
310
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
311
|
+
-
|
|
312
|
+
</td>
|
|
313
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
308
314
|
CSS classes for styling
|
|
309
315
|
</td>
|
|
310
316
|
</tr>
|
|
311
|
-
<tr className="
|
|
312
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
317
|
+
<tr className="bg-fm-surface-secondary!">
|
|
318
|
+
<td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
|
|
313
319
|
...svgProps
|
|
314
320
|
</td>
|
|
315
|
-
<td className="px-6 py-4 text-sm
|
|
321
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
316
322
|
SVGProps
|
|
317
323
|
</td>
|
|
318
|
-
<td className="px-6 py-4 text-sm
|
|
319
|
-
|
|
324
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
325
|
+
-
|
|
326
|
+
</td>
|
|
327
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
320
328
|
All standard SVG element props
|
|
321
329
|
</td>
|
|
322
330
|
</tr>
|
|
@@ -327,50 +335,62 @@ function AddButton() {
|
|
|
327
335
|
|
|
328
336
|
{/* Size Variations */}
|
|
329
337
|
<div className="!space-y-8">
|
|
330
|
-
<h2 className="text-center text-3xl font-bold
|
|
338
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
331
339
|
Size Variations
|
|
332
340
|
</h2>
|
|
333
|
-
<div className="rounded-lg border
|
|
341
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
334
342
|
<div className="!space-y-6">
|
|
335
343
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
336
344
|
<div className="!space-y-4">
|
|
337
|
-
<h3 className="text-lg font-semibold
|
|
345
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
338
346
|
Standard Sizes
|
|
339
347
|
</h3>
|
|
340
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
348
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
341
349
|
<div className="text-center">
|
|
342
|
-
<PlusIcon className="!mx-auto mb-2 h-3 w-3
|
|
343
|
-
<span className="text-
|
|
350
|
+
<PlusIcon className="text-fm-icon-positive !mx-auto mb-2 h-3 w-3" />
|
|
351
|
+
<span className="text-fm-tertiary text-xs">
|
|
352
|
+
12px
|
|
353
|
+
</span>
|
|
344
354
|
</div>
|
|
345
355
|
<div className="text-center">
|
|
346
|
-
<PlusIcon className="!mx-auto mb-2 h-4 w-4
|
|
347
|
-
<span className="text-
|
|
356
|
+
<PlusIcon className="text-fm-icon-positive !mx-auto mb-2 h-4 w-4" />
|
|
357
|
+
<span className="text-fm-tertiary text-xs">
|
|
358
|
+
16px
|
|
359
|
+
</span>
|
|
348
360
|
</div>
|
|
349
361
|
<div className="text-center">
|
|
350
|
-
<PlusIcon className="!mx-auto mb-2 h-5 w-5
|
|
351
|
-
<span className="text-
|
|
362
|
+
<PlusIcon className="text-fm-icon-positive !mx-auto mb-2 h-5 w-5" />
|
|
363
|
+
<span className="text-fm-tertiary text-xs">
|
|
364
|
+
20px
|
|
365
|
+
</span>
|
|
352
366
|
</div>
|
|
353
367
|
<div className="text-center">
|
|
354
|
-
<PlusIcon className="!mx-auto mb-2 h-6 w-6
|
|
355
|
-
<span className="text-
|
|
368
|
+
<PlusIcon className="text-fm-icon-positive !mx-auto mb-2 h-6 w-6" />
|
|
369
|
+
<span className="text-fm-tertiary text-xs">
|
|
370
|
+
24px
|
|
371
|
+
</span>
|
|
356
372
|
</div>
|
|
357
373
|
<div className="text-center">
|
|
358
|
-
<PlusIcon className="!mx-auto mb-2 h-8 w-8
|
|
359
|
-
<span className="text-
|
|
374
|
+
<PlusIcon className="text-fm-icon-positive !mx-auto mb-2 h-8 w-8" />
|
|
375
|
+
<span className="text-fm-tertiary text-xs">
|
|
376
|
+
32px
|
|
377
|
+
</span>
|
|
360
378
|
</div>
|
|
361
379
|
<div className="text-center">
|
|
362
|
-
<PlusIcon className="!mx-auto mb-2 h-12 w-12
|
|
363
|
-
<span className="text-
|
|
380
|
+
<PlusIcon className="text-fm-icon-positive !mx-auto mb-2 h-12 w-12" />
|
|
381
|
+
<span className="text-fm-tertiary text-xs">
|
|
382
|
+
48px
|
|
383
|
+
</span>
|
|
364
384
|
</div>
|
|
365
385
|
</div>
|
|
366
386
|
</div>
|
|
367
387
|
|
|
368
388
|
<div className="!space-y-4">
|
|
369
|
-
<h3 className="text-lg font-semibold
|
|
389
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
370
390
|
Code Example
|
|
371
391
|
</h3>
|
|
372
|
-
<div className="rounded-lg
|
|
373
|
-
<pre className="overflow-x-auto text-sm
|
|
392
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
393
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
374
394
|
{`// Small (16px)
|
|
375
395
|
<PlusIcon className="h-4 w-4" />
|
|
376
396
|
|
|
@@ -392,56 +412,56 @@ function AddButton() {
|
|
|
392
412
|
|
|
393
413
|
{/* Color Variations */}
|
|
394
414
|
<div className="!space-y-8">
|
|
395
|
-
<h2 className="text-center text-3xl font-bold
|
|
415
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
396
416
|
Color Variations
|
|
397
417
|
</h2>
|
|
398
418
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
399
419
|
<div className="!space-y-4">
|
|
400
|
-
<h3 className="text-lg font-semibold
|
|
420
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
401
421
|
Semantic Colors
|
|
402
422
|
</h3>
|
|
403
|
-
<div className="!space-y-4 rounded-lg border
|
|
423
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
404
424
|
<div className="flex items-center gap-4">
|
|
405
|
-
<PlusIcon className="h-6 w-6
|
|
425
|
+
<PlusIcon className="text-fm-icon-positive h-6 w-6" />
|
|
406
426
|
<div>
|
|
407
|
-
<div className="text-sm font-medium
|
|
427
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
408
428
|
Success/Add
|
|
409
429
|
</div>
|
|
410
|
-
<div className="text-
|
|
411
|
-
text-
|
|
430
|
+
<div className="text-fm-tertiary text-xs">
|
|
431
|
+
text-fm-icon-positive
|
|
412
432
|
</div>
|
|
413
433
|
</div>
|
|
414
434
|
</div>
|
|
415
435
|
<div className="flex items-center gap-4">
|
|
416
|
-
<PlusIcon className="h-6 w-6
|
|
436
|
+
<PlusIcon className="text-fm-icon-info h-6 w-6" />
|
|
417
437
|
<div>
|
|
418
|
-
<div className="text-sm font-medium
|
|
438
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
419
439
|
Primary
|
|
420
440
|
</div>
|
|
421
|
-
<div className="text-
|
|
422
|
-
text-
|
|
441
|
+
<div className="text-fm-tertiary text-xs">
|
|
442
|
+
text-fm-icon-info
|
|
423
443
|
</div>
|
|
424
444
|
</div>
|
|
425
445
|
</div>
|
|
426
446
|
<div className="flex items-center gap-4">
|
|
427
|
-
<PlusIcon className="h-6 w-6
|
|
447
|
+
<PlusIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
428
448
|
<div>
|
|
429
|
-
<div className="text-sm font-medium
|
|
449
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
430
450
|
Creative
|
|
431
451
|
</div>
|
|
432
|
-
<div className="text-
|
|
433
|
-
text-
|
|
452
|
+
<div className="text-fm-tertiary text-xs">
|
|
453
|
+
text-fm-secondary-600
|
|
434
454
|
</div>
|
|
435
455
|
</div>
|
|
436
456
|
</div>
|
|
437
457
|
<div className="flex items-center gap-4">
|
|
438
|
-
<PlusIcon className="h-6 w-6
|
|
458
|
+
<PlusIcon className="text-fm-placeholder h-6 w-6" />
|
|
439
459
|
<div>
|
|
440
|
-
<div className="text-sm font-medium
|
|
460
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
441
461
|
Disabled
|
|
442
462
|
</div>
|
|
443
|
-
<div className="text-
|
|
444
|
-
text-
|
|
463
|
+
<div className="text-fm-tertiary text-xs">
|
|
464
|
+
text-fm-placeholder
|
|
445
465
|
</div>
|
|
446
466
|
</div>
|
|
447
467
|
</div>
|
|
@@ -449,11 +469,11 @@ function AddButton() {
|
|
|
449
469
|
</div>
|
|
450
470
|
|
|
451
471
|
<div className="!space-y-4">
|
|
452
|
-
<h3 className="text-lg font-semibold
|
|
472
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
453
473
|
Custom Colors
|
|
454
474
|
</h3>
|
|
455
|
-
<div className="rounded-lg
|
|
456
|
-
<pre className="overflow-x-auto text-sm
|
|
475
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
476
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
457
477
|
{`// Using Tailwind classes
|
|
458
478
|
<PlusIcon className="h-6 w-6 text-green-400" />
|
|
459
479
|
<PlusIcon className="h-6 w-6 text-blue-500" />
|
|
@@ -478,29 +498,29 @@ function AddButton() {
|
|
|
478
498
|
|
|
479
499
|
{/* Usage Examples */}
|
|
480
500
|
<div className="!space-y-8">
|
|
481
|
-
<h2 className="text-center text-3xl font-bold
|
|
501
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
482
502
|
Usage Examples
|
|
483
503
|
</h2>
|
|
484
504
|
|
|
485
505
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
486
506
|
{/* Add Button */}
|
|
487
507
|
<div className="!space-y-4">
|
|
488
|
-
<h3 className="text-lg font-semibold
|
|
508
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
489
509
|
Add Buttons
|
|
490
510
|
</h3>
|
|
491
511
|
<div className="!space-y-4">
|
|
492
512
|
<div className="flex gap-4">
|
|
493
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
513
|
+
<button className="border-fm-icon-positive/30 bg-fm-icon-positive/20 text-fm-icon-positive hover:bg-fm-icon-positive/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
494
514
|
<PlusIcon className="h-4 w-4" />
|
|
495
515
|
Add Item
|
|
496
516
|
</button>
|
|
497
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
517
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info hover:bg-fm-icon-info/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
498
518
|
<PlusIcon className="h-4 w-4" />
|
|
499
519
|
Create New
|
|
500
520
|
</button>
|
|
501
521
|
</div>
|
|
502
|
-
<div className="rounded-lg
|
|
503
|
-
<pre className="overflow-x-auto text-sm
|
|
522
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
523
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
504
524
|
{`<button className="flex items-center gap-2 bg-green-500/20 border border-green-500/30 px-4 py-2 rounded-lg">
|
|
505
525
|
<PlusIcon className="h-4 w-4" />
|
|
506
526
|
Add Item
|
|
@@ -517,20 +537,20 @@ function AddButton() {
|
|
|
517
537
|
|
|
518
538
|
{/* Floating Action Button */}
|
|
519
539
|
<div className="!space-y-4">
|
|
520
|
-
<h3 className="text-lg font-semibold
|
|
540
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
521
541
|
Floating Action Button
|
|
522
542
|
</h3>
|
|
523
543
|
<div className="!space-y-4">
|
|
524
544
|
<div className="flex gap-4">
|
|
525
|
-
<button className="flex h-12 w-12 items-center justify-center rounded-full
|
|
545
|
+
<button className="bg-fm-icon-positive text-fm-icon-active flex h-12 w-12 items-center justify-center rounded-full shadow-lg transition-transform hover:scale-110">
|
|
526
546
|
<PlusIcon className="h-6 w-6" />
|
|
527
547
|
</button>
|
|
528
|
-
<button className="flex h-10 w-10 items-center justify-center rounded-full
|
|
548
|
+
<button className="bg-fm-icon-info text-fm-icon-active flex h-10 w-10 items-center justify-center rounded-full shadow-lg transition-transform hover:scale-110">
|
|
529
549
|
<PlusIcon className="h-5 w-5" />
|
|
530
550
|
</button>
|
|
531
551
|
</div>
|
|
532
|
-
<div className="rounded-lg
|
|
533
|
-
<pre className="overflow-x-auto text-sm
|
|
552
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
553
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
534
554
|
{`// Large FAB
|
|
535
555
|
<button className="flex h-12 w-12 items-center justify-center rounded-full bg-green-500 text-white shadow-lg transition-transform hover:scale-110">
|
|
536
556
|
<PlusIcon className="h-6 w-6" />
|
|
@@ -547,40 +567,40 @@ function AddButton() {
|
|
|
547
567
|
|
|
548
568
|
{/* Form Fields */}
|
|
549
569
|
<div className="!space-y-4">
|
|
550
|
-
<h3 className="text-lg font-semibold
|
|
570
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
551
571
|
Dynamic Form Fields
|
|
552
572
|
</h3>
|
|
553
573
|
<div className="!space-y-4">
|
|
554
574
|
<div className="!space-y-3">
|
|
555
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
575
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded-lg border p-3">
|
|
556
576
|
<input
|
|
557
577
|
type="text"
|
|
558
|
-
className="flex-1 bg-transparent
|
|
578
|
+
className="text-fm-icon-active flex-1 bg-transparent placeholder-white/50 focus:outline-none"
|
|
559
579
|
placeholder="Enter skill"
|
|
560
580
|
defaultValue="JavaScript"
|
|
561
581
|
/>
|
|
562
|
-
<button className="
|
|
582
|
+
<button className="text-fm-tertiary hover:bg-fm-surface-secondary hover:text-fm-icon-positive rounded p-1">
|
|
563
583
|
<PlusIcon className="h-4 w-4" />
|
|
564
584
|
</button>
|
|
565
585
|
</div>
|
|
566
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
586
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded-lg border p-3">
|
|
567
587
|
<input
|
|
568
588
|
type="text"
|
|
569
|
-
className="flex-1 bg-transparent
|
|
589
|
+
className="text-fm-icon-active flex-1 bg-transparent placeholder-white/50 focus:outline-none"
|
|
570
590
|
placeholder="Enter skill"
|
|
571
591
|
defaultValue="React"
|
|
572
592
|
/>
|
|
573
|
-
<button className="
|
|
593
|
+
<button className="text-fm-tertiary hover:bg-fm-surface-secondary hover:text-fm-icon-positive rounded p-1">
|
|
574
594
|
<PlusIcon className="h-4 w-4" />
|
|
575
595
|
</button>
|
|
576
596
|
</div>
|
|
577
|
-
<button className="flex w-full items-center justify-center gap-2 rounded-lg border
|
|
597
|
+
<button className="border-fm-icon-positive/30 bg-fm-icon-positive/10 text-fm-icon-positive hover:bg-fm-icon-positive/20 flex w-full items-center justify-center gap-2 rounded-lg border py-2 transition-colors">
|
|
578
598
|
<PlusIcon className="h-4 w-4" />
|
|
579
599
|
Add Another Skill
|
|
580
600
|
</button>
|
|
581
601
|
</div>
|
|
582
|
-
<div className="rounded-lg
|
|
583
|
-
<pre className="overflow-x-auto text-sm
|
|
602
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
603
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
584
604
|
{`<div className="flex items-center gap-3 rounded-lg border border-white/10 bg-white/5 p-3">
|
|
585
605
|
<input className="flex-1 bg-transparent text-white" placeholder="Enter skill" />
|
|
586
606
|
<button className="rounded p-1 hover:bg-white/10 hover:text-green-400">
|
|
@@ -599,34 +619,34 @@ function AddButton() {
|
|
|
599
619
|
|
|
600
620
|
{/* Navigation Menu */}
|
|
601
621
|
<div className="!space-y-4">
|
|
602
|
-
<h3 className="text-lg font-semibold
|
|
622
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
603
623
|
Menu & Navigation
|
|
604
624
|
</h3>
|
|
605
625
|
<div className="!space-y-4">
|
|
606
|
-
<div className="rounded-lg border
|
|
626
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
607
627
|
<div className="!space-y-2">
|
|
608
|
-
<div className="flex items-center justify-between
|
|
628
|
+
<div className="text-fm-icon-active flex items-center justify-between">
|
|
609
629
|
<span>Projects</span>
|
|
610
|
-
<button className="
|
|
630
|
+
<button className="text-fm-tertiary hover:bg-fm-surface-secondary hover:text-fm-icon-positive rounded p-1">
|
|
611
631
|
<PlusIcon className="h-4 w-4" />
|
|
612
632
|
</button>
|
|
613
633
|
</div>
|
|
614
|
-
<div className="flex items-center justify-between
|
|
634
|
+
<div className="text-fm-icon-active flex items-center justify-between">
|
|
615
635
|
<span>Teams</span>
|
|
616
|
-
<button className="
|
|
636
|
+
<button className="text-fm-tertiary hover:bg-fm-surface-secondary hover:text-fm-icon-positive rounded p-1">
|
|
617
637
|
<PlusIcon className="h-4 w-4" />
|
|
618
638
|
</button>
|
|
619
639
|
</div>
|
|
620
|
-
<div className="flex items-center justify-between
|
|
640
|
+
<div className="text-fm-icon-active flex items-center justify-between">
|
|
621
641
|
<span>Workspaces</span>
|
|
622
|
-
<button className="
|
|
642
|
+
<button className="text-fm-tertiary hover:bg-fm-surface-secondary hover:text-fm-icon-positive rounded p-1">
|
|
623
643
|
<PlusIcon className="h-4 w-4" />
|
|
624
644
|
</button>
|
|
625
645
|
</div>
|
|
626
646
|
</div>
|
|
627
647
|
</div>
|
|
628
|
-
<div className="rounded-lg
|
|
629
|
-
<pre className="overflow-x-auto text-sm
|
|
648
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
649
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
630
650
|
{`<div className="flex items-center justify-between text-white">
|
|
631
651
|
<span>Projects</span>
|
|
632
652
|
<button className="rounded p-1 text-white/60 hover:bg-white/10 hover:text-green-400">
|
|
@@ -642,66 +662,66 @@ function AddButton() {
|
|
|
642
662
|
|
|
643
663
|
{/* Interactive States */}
|
|
644
664
|
<div className="!space-y-8">
|
|
645
|
-
<h2 className="text-center text-3xl font-bold
|
|
665
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
646
666
|
Interactive States & Animations
|
|
647
667
|
</h2>
|
|
648
668
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
649
669
|
<div className="!space-y-4">
|
|
650
|
-
<h3 className="text-lg font-semibold
|
|
670
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
651
671
|
Hover & Animation Effects
|
|
652
672
|
</h3>
|
|
653
|
-
<div className="!space-y-4 rounded-lg border
|
|
673
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
654
674
|
<div className="flex items-center gap-4">
|
|
655
|
-
<PlusIcon className="h-6 w-6
|
|
675
|
+
<PlusIcon className="text-fm-tertiary hover:text-fm-icon-positive h-6 w-6 transition-colors" />
|
|
656
676
|
<div>
|
|
657
|
-
<div className="text-sm font-medium
|
|
677
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
658
678
|
Color Change
|
|
659
679
|
</div>
|
|
660
|
-
<div className="text-
|
|
680
|
+
<div className="text-fm-tertiary text-xs">
|
|
661
681
|
Hover to see effect
|
|
662
682
|
</div>
|
|
663
683
|
</div>
|
|
664
684
|
</div>
|
|
665
685
|
<div className="flex items-center gap-4">
|
|
666
|
-
<PlusIcon className="h-6 w-6
|
|
686
|
+
<PlusIcon className="text-fm-icon-active h-6 w-6 transition-transform hover:scale-125 hover:rotate-90" />
|
|
667
687
|
<div>
|
|
668
|
-
<div className="text-sm font-medium
|
|
688
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
669
689
|
Scale & Rotate
|
|
670
690
|
</div>
|
|
671
|
-
<div className="text-
|
|
691
|
+
<div className="text-fm-tertiary text-xs">
|
|
672
692
|
Transform on hover
|
|
673
693
|
</div>
|
|
674
694
|
</div>
|
|
675
695
|
</div>
|
|
676
696
|
<div className="flex items-center gap-4">
|
|
677
|
-
<PlusIcon className="animate-plus-pulse h-6 w-6
|
|
697
|
+
<PlusIcon className="animate-plus-pulse text-fm-icon-positive h-6 w-6" />
|
|
678
698
|
<div>
|
|
679
|
-
<div className="text-sm font-medium
|
|
699
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
680
700
|
Add Pulse
|
|
681
701
|
</div>
|
|
682
|
-
<div className="text-
|
|
702
|
+
<div className="text-fm-tertiary text-xs">
|
|
683
703
|
Continuous animation
|
|
684
704
|
</div>
|
|
685
705
|
</div>
|
|
686
706
|
</div>
|
|
687
707
|
<div className="flex items-center gap-4">
|
|
688
|
-
<PlusIcon className="animate-plus-rotate h-6 w-6
|
|
708
|
+
<PlusIcon className="animate-plus-rotate text-fm-icon-info h-6 w-6" />
|
|
689
709
|
<div>
|
|
690
|
-
<div className="text-sm font-medium
|
|
710
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
691
711
|
Rotate Animation
|
|
692
712
|
</div>
|
|
693
|
-
<div className="text-
|
|
713
|
+
<div className="text-fm-tertiary text-xs">
|
|
694
714
|
45° rotation cycle
|
|
695
715
|
</div>
|
|
696
716
|
</div>
|
|
697
717
|
</div>
|
|
698
718
|
<div className="flex items-center gap-4">
|
|
699
|
-
<PlusIcon className="animate-plus-expand h-6 w-6
|
|
719
|
+
<PlusIcon className="animate-plus-expand text-fm-secondary-600 h-6 w-6" />
|
|
700
720
|
<div>
|
|
701
|
-
<div className="text-sm font-medium
|
|
721
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
702
722
|
Expand Effect
|
|
703
723
|
</div>
|
|
704
|
-
<div className="text-
|
|
724
|
+
<div className="text-fm-tertiary text-xs">
|
|
705
725
|
Scale expansion
|
|
706
726
|
</div>
|
|
707
727
|
</div>
|
|
@@ -710,11 +730,11 @@ function AddButton() {
|
|
|
710
730
|
</div>
|
|
711
731
|
|
|
712
732
|
<div className="!space-y-4">
|
|
713
|
-
<h3 className="text-lg font-semibold
|
|
733
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
714
734
|
State Examples
|
|
715
735
|
</h3>
|
|
716
|
-
<div className="rounded-lg
|
|
717
|
-
<pre className="overflow-x-auto text-sm
|
|
736
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
737
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
718
738
|
{`// Color change on hover
|
|
719
739
|
<PlusIcon className="h-6 w-6 text-white/60 transition-colors hover:text-green-400" />
|
|
720
740
|
|
|
@@ -740,64 +760,64 @@ function AddButton() {
|
|
|
740
760
|
|
|
741
761
|
{/* Accessibility */}
|
|
742
762
|
<div className="!space-y-8">
|
|
743
|
-
<h2 className="text-center text-3xl font-bold
|
|
763
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
744
764
|
Accessibility Features
|
|
745
765
|
</h2>
|
|
746
766
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
747
|
-
<div className="!space-y-4 rounded-lg border
|
|
748
|
-
<h3 className="text-lg font-semibold
|
|
767
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
768
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
749
769
|
✅ Built-in Features
|
|
750
770
|
</h3>
|
|
751
|
-
<ul className="!space-y-2 text-sm
|
|
752
|
-
<li className="
|
|
771
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
772
|
+
<li className="text-fm-secondary!">
|
|
753
773
|
Uses Radix UI AccessibleIcon wrapper
|
|
754
774
|
</li>
|
|
755
|
-
<li className="
|
|
775
|
+
<li className="text-fm-secondary!">
|
|
756
776
|
Provides screen reader label "Plus icon"
|
|
757
777
|
</li>
|
|
758
|
-
<li className="
|
|
778
|
+
<li className="text-fm-secondary!">
|
|
759
779
|
Supports keyboard navigation when interactive
|
|
760
780
|
</li>
|
|
761
|
-
<li className="
|
|
781
|
+
<li className="text-fm-secondary!">
|
|
762
782
|
Maintains proper color contrast ratios
|
|
763
783
|
</li>
|
|
764
|
-
<li className="
|
|
784
|
+
<li className="text-fm-secondary!">
|
|
765
785
|
Scales with user's font size preferences
|
|
766
786
|
</li>
|
|
767
787
|
</ul>
|
|
768
788
|
</div>
|
|
769
789
|
|
|
770
|
-
<div className="!space-y-4 rounded-lg border
|
|
771
|
-
<h3 className="text-lg font-semibold
|
|
790
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
791
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
772
792
|
💡 Best Practices
|
|
773
793
|
</h3>
|
|
774
|
-
<ul className="!space-y-2 text-sm
|
|
775
|
-
<li className="
|
|
794
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
795
|
+
<li className="text-fm-secondary!">
|
|
776
796
|
Always provide descriptive button labels
|
|
777
797
|
</li>
|
|
778
|
-
<li className="
|
|
798
|
+
<li className="text-fm-secondary!">
|
|
779
799
|
Use consistent placement for add actions
|
|
780
800
|
</li>
|
|
781
|
-
<li className="
|
|
801
|
+
<li className="text-fm-secondary!">
|
|
782
802
|
Ensure sufficient click/touch target sizes
|
|
783
803
|
</li>
|
|
784
|
-
<li className="
|
|
804
|
+
<li className="text-fm-secondary!">
|
|
785
805
|
Add focus states for keyboard navigation
|
|
786
806
|
</li>
|
|
787
|
-
<li className="
|
|
807
|
+
<li className="text-fm-secondary!">
|
|
788
808
|
Consider motion sensitivity for animations
|
|
789
809
|
</li>
|
|
790
810
|
</ul>
|
|
791
811
|
</div>
|
|
792
812
|
</div>
|
|
793
813
|
|
|
794
|
-
<div className="rounded-lg border
|
|
795
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
814
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
815
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
796
816
|
Custom Accessibility Implementation
|
|
797
817
|
</h3>
|
|
798
818
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
799
|
-
<div className="rounded-lg
|
|
800
|
-
<pre className="overflow-x-auto text-sm
|
|
819
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
820
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
801
821
|
{`// Add button with proper ARIA
|
|
802
822
|
<button
|
|
803
823
|
aria-label="Add new item to list"
|
|
@@ -832,13 +852,13 @@ function AddButton() {
|
|
|
832
852
|
</pre>
|
|
833
853
|
</div>
|
|
834
854
|
<div className="!space-y-4">
|
|
835
|
-
<p className="text-
|
|
855
|
+
<p className="text-fm-secondary! text-sm">
|
|
836
856
|
When using PlusIcon for adding functionality, provide
|
|
837
857
|
clear context about what will be added and any related
|
|
838
858
|
actions.
|
|
839
859
|
</p>
|
|
840
|
-
<div className="
|
|
841
|
-
<div className="flex items-center gap-2 text-sm
|
|
860
|
+
<div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 rounded-lg border p-4">
|
|
861
|
+
<div className="text-fm-icon-positive flex items-center gap-2 text-sm">
|
|
842
862
|
<PlusIcon className="h-4 w-4" />
|
|
843
863
|
<span>
|
|
844
864
|
This approach gives screen readers clear context
|
|
@@ -853,46 +873,60 @@ function AddButton() {
|
|
|
853
873
|
|
|
854
874
|
{/* Related Icons */}
|
|
855
875
|
<div className="!space-y-8">
|
|
856
|
-
<h2 className="text-center text-3xl font-bold
|
|
876
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
857
877
|
Related Icons
|
|
858
878
|
</h2>
|
|
859
879
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
860
|
-
<div className="!space-y-3 rounded-lg border
|
|
861
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
880
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
881
|
+
<div className="bg-fm-icon-negative/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
862
882
|
<span className="text-2xl">✖️</span>
|
|
863
883
|
</div>
|
|
864
884
|
<div>
|
|
865
|
-
<div className="font-medium
|
|
866
|
-
|
|
885
|
+
<div className="text-fm-icon-active font-medium">
|
|
886
|
+
CloseIcon
|
|
887
|
+
</div>
|
|
888
|
+
<div className="text-fm-tertiary text-xs">
|
|
889
|
+
Remove/Close
|
|
890
|
+
</div>
|
|
867
891
|
</div>
|
|
868
892
|
</div>
|
|
869
|
-
<div className="!space-y-3 rounded-lg border
|
|
870
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
893
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
894
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
871
895
|
<span className="text-2xl">📝</span>
|
|
872
896
|
</div>
|
|
873
897
|
<div>
|
|
874
|
-
<div className="font-medium
|
|
875
|
-
|
|
898
|
+
<div className="text-fm-icon-active font-medium">
|
|
899
|
+
EditIcon
|
|
900
|
+
</div>
|
|
901
|
+
<div className="text-fm-tertiary text-xs">
|
|
902
|
+
Edit content
|
|
903
|
+
</div>
|
|
876
904
|
</div>
|
|
877
905
|
</div>
|
|
878
|
-
<div className="!space-y-3 rounded-lg border
|
|
879
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
906
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
907
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
880
908
|
<span className="text-2xl">📋</span>
|
|
881
909
|
</div>
|
|
882
910
|
<div>
|
|
883
|
-
<div className="font-medium
|
|
884
|
-
|
|
911
|
+
<div className="text-fm-icon-active font-medium">
|
|
912
|
+
CopyIcon
|
|
913
|
+
</div>
|
|
914
|
+
<div className="text-fm-tertiary text-xs">
|
|
885
915
|
Duplicate content
|
|
886
916
|
</div>
|
|
887
917
|
</div>
|
|
888
918
|
</div>
|
|
889
|
-
<div className="!space-y-3 rounded-lg border
|
|
890
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
919
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
920
|
+
<div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
891
921
|
<span className="text-2xl">💾</span>
|
|
892
922
|
</div>
|
|
893
923
|
<div>
|
|
894
|
-
<div className="font-medium
|
|
895
|
-
|
|
924
|
+
<div className="text-fm-icon-active font-medium">
|
|
925
|
+
SaveIcon
|
|
926
|
+
</div>
|
|
927
|
+
<div className="text-fm-tertiary text-xs">
|
|
928
|
+
Save changes
|
|
929
|
+
</div>
|
|
896
930
|
</div>
|
|
897
931
|
</div>
|
|
898
932
|
</div>
|
|
@@ -900,14 +934,14 @@ function AddButton() {
|
|
|
900
934
|
</div>
|
|
901
935
|
|
|
902
936
|
{/* Footer */}
|
|
903
|
-
<div className="border-
|
|
937
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
904
938
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
905
939
|
<div className="!space-y-4 text-center">
|
|
906
|
-
<p className="
|
|
940
|
+
<p className="text-fm-tertiary!">
|
|
907
941
|
PlusIcon is part of the Aural UI icon library, built for
|
|
908
942
|
adding, creating, and positive actions.
|
|
909
943
|
</p>
|
|
910
|
-
<p className="text-
|
|
944
|
+
<p className="text-fm-placeholder! text-sm">
|
|
911
945
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
912
946
|
compatibility and follow WCAG guidelines for interactive
|
|
913
947
|
elements.
|
|
@@ -962,8 +996,8 @@ const storyParameters = {
|
|
|
962
996
|
backgrounds: {
|
|
963
997
|
default: "dark",
|
|
964
998
|
values: [
|
|
965
|
-
{ name: "dark", value: "
|
|
966
|
-
{ name: "darker", value: "
|
|
999
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
1000
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
967
1001
|
],
|
|
968
1002
|
},
|
|
969
1003
|
}
|
|
@@ -972,12 +1006,12 @@ export const Default: Story = {
|
|
|
972
1006
|
args: {
|
|
973
1007
|
width: 24,
|
|
974
1008
|
height: 24,
|
|
975
|
-
className: "text-
|
|
1009
|
+
className: "text-fm-icon-positive",
|
|
976
1010
|
withAccessibility: true,
|
|
977
1011
|
},
|
|
978
1012
|
parameters: storyParameters,
|
|
979
1013
|
render: (args) => (
|
|
980
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1014
|
+
<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">
|
|
981
1015
|
<PlusIcon {...args} />
|
|
982
1016
|
</div>
|
|
983
1017
|
),
|
|
@@ -994,30 +1028,30 @@ export const SizeVariations: Story = {
|
|
|
994
1028
|
},
|
|
995
1029
|
},
|
|
996
1030
|
render: () => (
|
|
997
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
1031
|
+
<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">
|
|
998
1032
|
<div className="text-center">
|
|
999
|
-
<PlusIcon className="!mx-auto mb-2 h-3 w-3
|
|
1000
|
-
<span className="text-
|
|
1033
|
+
<PlusIcon className="text-fm-icon-positive !mx-auto mb-2 h-3 w-3" />
|
|
1034
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
1001
1035
|
</div>
|
|
1002
1036
|
<div className="text-center">
|
|
1003
|
-
<PlusIcon className="!mx-auto mb-2 h-4 w-4
|
|
1004
|
-
<span className="text-
|
|
1037
|
+
<PlusIcon className="text-fm-icon-positive !mx-auto mb-2 h-4 w-4" />
|
|
1038
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
1005
1039
|
</div>
|
|
1006
1040
|
<div className="text-center">
|
|
1007
|
-
<PlusIcon className="!mx-auto mb-2 h-5 w-5
|
|
1008
|
-
<span className="text-
|
|
1041
|
+
<PlusIcon className="text-fm-icon-positive !mx-auto mb-2 h-5 w-5" />
|
|
1042
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
1009
1043
|
</div>
|
|
1010
1044
|
<div className="text-center">
|
|
1011
|
-
<PlusIcon className="!mx-auto mb-2 h-6 w-6
|
|
1012
|
-
<span className="text-
|
|
1045
|
+
<PlusIcon className="text-fm-icon-positive !mx-auto mb-2 h-6 w-6" />
|
|
1046
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
1013
1047
|
</div>
|
|
1014
1048
|
<div className="text-center">
|
|
1015
|
-
<PlusIcon className="!mx-auto mb-2 h-8 w-8
|
|
1016
|
-
<span className="text-
|
|
1049
|
+
<PlusIcon className="text-fm-icon-positive !mx-auto mb-2 h-8 w-8" />
|
|
1050
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
1017
1051
|
</div>
|
|
1018
1052
|
<div className="text-center">
|
|
1019
|
-
<PlusIcon className="!mx-auto mb-2 h-12 w-12
|
|
1020
|
-
<span className="text-
|
|
1053
|
+
<PlusIcon className="text-fm-icon-positive !mx-auto mb-2 h-12 w-12" />
|
|
1054
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
1021
1055
|
</div>
|
|
1022
1056
|
</div>
|
|
1023
1057
|
),
|
|
@@ -1034,34 +1068,40 @@ export const ColorVariations: Story = {
|
|
|
1034
1068
|
},
|
|
1035
1069
|
},
|
|
1036
1070
|
render: () => (
|
|
1037
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
1071
|
+
<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">
|
|
1038
1072
|
<div className="text-center">
|
|
1039
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1040
|
-
<PlusIcon className="h-8 w-8
|
|
1073
|
+
<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">
|
|
1074
|
+
<PlusIcon className="text-fm-icon-positive h-8 w-8" />
|
|
1075
|
+
</div>
|
|
1076
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
1077
|
+
Success/Add
|
|
1078
|
+
</div>
|
|
1079
|
+
<div className="text-fm-icon-positive text-xs">
|
|
1080
|
+
text-fm-icon-positive
|
|
1041
1081
|
</div>
|
|
1042
|
-
<div className="text-sm font-medium text-white">Success/Add</div>
|
|
1043
|
-
<div className="text-xs text-green-400">text-green-400</div>
|
|
1044
1082
|
</div>
|
|
1045
1083
|
<div className="text-center">
|
|
1046
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1047
|
-
<PlusIcon className="h-8 w-8
|
|
1084
|
+
<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">
|
|
1085
|
+
<PlusIcon className="text-fm-icon-info h-8 w-8" />
|
|
1048
1086
|
</div>
|
|
1049
|
-
<div className="text-sm font-medium
|
|
1050
|
-
<div className="text-
|
|
1087
|
+
<div className="text-fm-icon-active text-sm font-medium">Primary</div>
|
|
1088
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
1051
1089
|
</div>
|
|
1052
1090
|
<div className="text-center">
|
|
1053
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1054
|
-
<PlusIcon className="h-8 w-8
|
|
1091
|
+
<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">
|
|
1092
|
+
<PlusIcon className="text-fm-secondary-600 h-8 w-8" />
|
|
1093
|
+
</div>
|
|
1094
|
+
<div className="text-fm-icon-active text-sm font-medium">Creative</div>
|
|
1095
|
+
<div className="text-fm-secondary-600 text-xs">
|
|
1096
|
+
text-fm-secondary-600
|
|
1055
1097
|
</div>
|
|
1056
|
-
<div className="text-sm font-medium text-white">Creative</div>
|
|
1057
|
-
<div className="text-xs text-purple-400">text-purple-400</div>
|
|
1058
1098
|
</div>
|
|
1059
1099
|
<div className="text-center">
|
|
1060
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1061
|
-
<PlusIcon className="h-8 w-8
|
|
1100
|
+
<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">
|
|
1101
|
+
<PlusIcon className="text-fm-placeholder h-8 w-8" />
|
|
1062
1102
|
</div>
|
|
1063
|
-
<div className="text-sm font-medium
|
|
1064
|
-
<div className="text-
|
|
1103
|
+
<div className="text-fm-icon-active text-sm font-medium">Disabled</div>
|
|
1104
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
1065
1105
|
</div>
|
|
1066
1106
|
</div>
|
|
1067
1107
|
),
|
|
@@ -1078,16 +1118,16 @@ export const UsageExamples: Story = {
|
|
|
1078
1118
|
},
|
|
1079
1119
|
},
|
|
1080
1120
|
render: () => (
|
|
1081
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
1121
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
1082
1122
|
{/* Add Buttons */}
|
|
1083
1123
|
<div className="!space-y-2">
|
|
1084
|
-
<h3 className="text-sm font-medium
|
|
1124
|
+
<h3 className="text-fm-icon-active text-sm font-medium">Add Buttons</h3>
|
|
1085
1125
|
<div className="flex gap-4">
|
|
1086
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
1126
|
+
<button className="border-fm-icon-positive/30 bg-fm-icon-positive/20 text-fm-icon-positive hover:bg-fm-icon-positive/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
1087
1127
|
<PlusIcon className="h-4 w-4" />
|
|
1088
1128
|
Add Item
|
|
1089
1129
|
</button>
|
|
1090
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
1130
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info hover:bg-fm-icon-info/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
1091
1131
|
<PlusIcon className="h-4 w-4" />
|
|
1092
1132
|
Create New
|
|
1093
1133
|
</button>
|
|
@@ -1096,14 +1136,14 @@ export const UsageExamples: Story = {
|
|
|
1096
1136
|
|
|
1097
1137
|
{/* Floating Action Button */}
|
|
1098
1138
|
<div className="!space-y-2">
|
|
1099
|
-
<h3 className="text-sm font-medium
|
|
1139
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1100
1140
|
Floating Action Button
|
|
1101
1141
|
</h3>
|
|
1102
1142
|
<div className="flex gap-4">
|
|
1103
|
-
<button className="flex h-12 w-12 items-center justify-center rounded-full
|
|
1143
|
+
<button className="bg-fm-icon-positive text-fm-icon-active flex h-12 w-12 items-center justify-center rounded-full shadow-lg transition-transform hover:scale-110">
|
|
1104
1144
|
<PlusIcon className="h-6 w-6" />
|
|
1105
1145
|
</button>
|
|
1106
|
-
<button className="flex h-10 w-10 items-center justify-center rounded-full
|
|
1146
|
+
<button className="bg-fm-icon-info text-fm-icon-active flex h-10 w-10 items-center justify-center rounded-full shadow-lg transition-transform hover:scale-110">
|
|
1107
1147
|
<PlusIcon className="h-5 w-5" />
|
|
1108
1148
|
</button>
|
|
1109
1149
|
</div>
|
|
@@ -1111,20 +1151,22 @@ export const UsageExamples: Story = {
|
|
|
1111
1151
|
|
|
1112
1152
|
{/* Dynamic Form Fields */}
|
|
1113
1153
|
<div className="!space-y-2">
|
|
1114
|
-
<h3 className="text-sm font-medium
|
|
1154
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1155
|
+
Dynamic Form Fields
|
|
1156
|
+
</h3>
|
|
1115
1157
|
<div className="!space-y-3">
|
|
1116
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
1158
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded-lg border p-3">
|
|
1117
1159
|
<input
|
|
1118
1160
|
type="text"
|
|
1119
|
-
className="flex-1 bg-transparent
|
|
1161
|
+
className="text-fm-icon-active flex-1 bg-transparent placeholder-white/50 focus:outline-none"
|
|
1120
1162
|
placeholder="Enter skill"
|
|
1121
1163
|
defaultValue="JavaScript"
|
|
1122
1164
|
/>
|
|
1123
|
-
<button className="
|
|
1165
|
+
<button className="text-fm-tertiary hover:bg-fm-surface-secondary hover:text-fm-icon-positive rounded p-1">
|
|
1124
1166
|
<PlusIcon className="h-4 w-4" />
|
|
1125
1167
|
</button>
|
|
1126
1168
|
</div>
|
|
1127
|
-
<button className="flex w-full items-center justify-center gap-2 rounded-lg border
|
|
1169
|
+
<button className="border-fm-icon-positive/30 bg-fm-icon-positive/10 text-fm-icon-positive hover:bg-fm-icon-positive/20 flex w-full items-center justify-center gap-2 rounded-lg border py-2 transition-colors">
|
|
1128
1170
|
<PlusIcon className="h-4 w-4" />
|
|
1129
1171
|
Add Another Skill
|
|
1130
1172
|
</button>
|
|
@@ -1147,11 +1189,11 @@ export const Playground: Story = {
|
|
|
1147
1189
|
args: {
|
|
1148
1190
|
width: 32,
|
|
1149
1191
|
height: 32,
|
|
1150
|
-
className: "text-
|
|
1192
|
+
className: "text-fm-icon-positive",
|
|
1151
1193
|
},
|
|
1152
1194
|
render: (args) => (
|
|
1153
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1154
|
-
<div className="rounded-lg border
|
|
1195
|
+
<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">
|
|
1196
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1155
1197
|
<PlusIcon {...args} />
|
|
1156
1198
|
</div>
|
|
1157
1199
|
</div>
|