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 TickCircleIcon> = {
|
|
|
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 TickCircleIcon> = {
|
|
|
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 tick-bounce {
|
|
81
81
|
0%, 100% { transform: scale(1); }
|
|
@@ -94,19 +94,19 @@ const meta: Meta<typeof TickCircleIcon> = {
|
|
|
94
94
|
`}
|
|
95
95
|
</style>
|
|
96
96
|
|
|
97
|
-
<div className="
|
|
97
|
+
<div className="from-fm-surface-primary via-fm-icon-positive/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
|
|
98
98
|
{/* Header */}
|
|
99
|
-
<div className="relative overflow-hidden border-b
|
|
100
|
-
<div className="absolute inset-0 bg-
|
|
99
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
|
|
100
|
+
<div className="from-fm-icon-positive/10 to-fm-icon-positive/10 absolute inset-0 bg-linear-to-r via-transparent" />
|
|
101
101
|
<div className="relative !mx-auto max-w-7xl px-6 py-16">
|
|
102
102
|
<div className="!space-y-6 text-center">
|
|
103
|
-
<div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border
|
|
104
|
-
<TickCircleIcon className="h-12 w-12
|
|
103
|
+
<div className="border-fm-icon-positive/30 from-fm-icon-positive/20 to-fm-icon-positive/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
|
|
104
|
+
<TickCircleIcon className="text-fm-icon-positive h-12 w-12" />
|
|
105
105
|
</div>
|
|
106
106
|
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
107
107
|
TickCircleIcon
|
|
108
108
|
</h1>
|
|
109
|
-
<p className="!mx-auto max-w-3xl text-xl leading-relaxed
|
|
109
|
+
<p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
|
|
110
110
|
A success and completion icon featuring a checkmark inside a
|
|
111
111
|
circle. Perfect for confirmations, completed tasks, success
|
|
112
112
|
states, and positive feedback. Built with accessibility in
|
|
@@ -116,28 +116,28 @@ const meta: Meta<typeof TickCircleIcon> = {
|
|
|
116
116
|
{/* Stats */}
|
|
117
117
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
118
118
|
<div className="text-center">
|
|
119
|
-
<div className="text-3xl font-bold
|
|
119
|
+
<div className="text-fm-icon-positive text-3xl font-bold">
|
|
120
120
|
Success
|
|
121
121
|
</div>
|
|
122
|
-
<div className="text-
|
|
122
|
+
<div className="text-fm-tertiary text-sm">
|
|
123
123
|
Positive feedback
|
|
124
124
|
</div>
|
|
125
125
|
</div>
|
|
126
|
-
<div className="h-8 w-px
|
|
126
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
127
127
|
<div className="text-center">
|
|
128
|
-
<div className="text-3xl font-bold
|
|
128
|
+
<div className="text-fm-icon-positive text-3xl font-bold">
|
|
129
129
|
Complete
|
|
130
130
|
</div>
|
|
131
|
-
<div className="text-
|
|
131
|
+
<div className="text-fm-tertiary text-sm">
|
|
132
132
|
Task completion
|
|
133
133
|
</div>
|
|
134
134
|
</div>
|
|
135
|
-
<div className="h-8 w-px
|
|
135
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
136
136
|
<div className="text-center">
|
|
137
|
-
<div className="text-3xl font-bold
|
|
137
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
138
138
|
Verified
|
|
139
139
|
</div>
|
|
140
|
-
<div className="text-
|
|
140
|
+
<div className="text-fm-tertiary text-sm">
|
|
141
141
|
Confirmation states
|
|
142
142
|
</div>
|
|
143
143
|
</div>
|
|
@@ -150,16 +150,16 @@ const meta: Meta<typeof TickCircleIcon> = {
|
|
|
150
150
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
151
151
|
{/* Quick Usage */}
|
|
152
152
|
<div className="!space-y-8">
|
|
153
|
-
<h2 className="text-center text-3xl font-bold
|
|
153
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
154
154
|
Quick Start
|
|
155
155
|
</h2>
|
|
156
156
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
157
157
|
<div className="!space-y-4">
|
|
158
|
-
<h3 className="text-xl font-semibold
|
|
158
|
+
<h3 className="text-fm-icon-positive! text-xl font-semibold">
|
|
159
159
|
Basic Usage
|
|
160
160
|
</h3>
|
|
161
|
-
<div className="rounded-lg
|
|
162
|
-
<pre className="overflow-x-auto text-sm
|
|
161
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
162
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
163
163
|
{`import { TickCircleIcon } from "@icons/tick-circle-icon"
|
|
164
164
|
|
|
165
165
|
function SuccessMessage() {
|
|
@@ -175,13 +175,13 @@ function SuccessMessage() {
|
|
|
175
175
|
</div>
|
|
176
176
|
|
|
177
177
|
<div className="!space-y-4">
|
|
178
|
-
<h3 className="text-xl font-semibold
|
|
178
|
+
<h3 className="text-fm-icon-positive! text-xl font-semibold">
|
|
179
179
|
Live Preview
|
|
180
180
|
</h3>
|
|
181
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
182
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
183
|
-
<TickCircleIcon className="h-5 w-5
|
|
184
|
-
<span className="text-
|
|
181
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
182
|
+
<div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 flex items-center gap-3 rounded-lg border px-4 py-2">
|
|
183
|
+
<TickCircleIcon className="text-fm-icon-positive h-5 w-5" />
|
|
184
|
+
<span className="text-fm-icon-active">
|
|
185
185
|
Task completed successfully!
|
|
186
186
|
</span>
|
|
187
187
|
</div>
|
|
@@ -192,108 +192,116 @@ function SuccessMessage() {
|
|
|
192
192
|
|
|
193
193
|
{/* Props Documentation */}
|
|
194
194
|
<div className="!space-y-8">
|
|
195
|
-
<h2 className="text-center text-3xl font-bold
|
|
195
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
196
196
|
Props & Configuration
|
|
197
197
|
</h2>
|
|
198
198
|
|
|
199
|
-
<div className="overflow-hidden rounded-lg border
|
|
200
|
-
<div className="bg-
|
|
201
|
-
<h3 className="text-xl font-semibold
|
|
199
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
200
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
201
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
202
|
+
Props
|
|
203
|
+
</h3>
|
|
202
204
|
</div>
|
|
203
205
|
<table className="!my-0 w-full">
|
|
204
|
-
<thead className="bg-
|
|
205
|
-
<tr className="border-
|
|
206
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
206
|
+
<thead className="bg-fm-surface-secondary">
|
|
207
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
208
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
207
209
|
Prop
|
|
208
210
|
</th>
|
|
209
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
211
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
210
212
|
Type
|
|
211
213
|
</th>
|
|
212
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
214
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
213
215
|
Default
|
|
214
216
|
</th>
|
|
215
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
217
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
216
218
|
Description
|
|
217
219
|
</th>
|
|
218
220
|
</tr>
|
|
219
221
|
</thead>
|
|
220
222
|
<tbody>
|
|
221
223
|
{" "}
|
|
222
|
-
<tr className="
|
|
223
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
224
|
+
<tr className="bg-fm-surface-secondary!">
|
|
225
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
224
226
|
withAccessibility
|
|
225
227
|
</td>
|
|
226
|
-
<td className="px-6 py-4 text-sm
|
|
228
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
227
229
|
boolean
|
|
228
230
|
</td>
|
|
229
|
-
<td className="px-6 py-4 text-sm
|
|
231
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
230
232
|
true
|
|
231
233
|
</td>
|
|
232
|
-
<td className="px-6 py-4 text-sm
|
|
234
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
233
235
|
Whether to wrap the icon with accessibility feature
|
|
234
236
|
</td>
|
|
235
237
|
</tr>
|
|
236
|
-
<tr className="border-
|
|
237
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
238
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
239
|
+
<td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
|
|
238
240
|
height
|
|
239
241
|
</td>
|
|
240
|
-
<td className="px-6 py-4 text-sm
|
|
242
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
241
243
|
number | string
|
|
242
244
|
</td>
|
|
243
|
-
<td className="px-6 py-4 text-sm
|
|
244
|
-
|
|
245
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
246
|
+
16
|
|
247
|
+
</td>
|
|
248
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
245
249
|
Height of the icon in pixels
|
|
246
250
|
</td>
|
|
247
251
|
</tr>
|
|
248
|
-
<tr className="border-
|
|
249
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
252
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
253
|
+
<td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
|
|
250
254
|
fill
|
|
251
255
|
</td>
|
|
252
|
-
<td className="px-6 py-4 text-sm
|
|
256
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
253
257
|
string
|
|
254
258
|
</td>
|
|
255
|
-
<td className="px-6 py-4 text-sm
|
|
259
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
256
260
|
currentColor
|
|
257
261
|
</td>
|
|
258
|
-
<td className="px-6 py-4 text-sm
|
|
262
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
259
263
|
Fill color of the icon
|
|
260
264
|
</td>
|
|
261
265
|
</tr>
|
|
262
|
-
<tr className="border-
|
|
263
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
266
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
267
|
+
<td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
|
|
264
268
|
className
|
|
265
269
|
</td>
|
|
266
|
-
<td className="px-6 py-4 text-sm
|
|
270
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
267
271
|
string
|
|
268
272
|
</td>
|
|
269
|
-
<td className="px-6 py-4 text-sm
|
|
270
|
-
|
|
273
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
274
|
+
-
|
|
275
|
+
</td>
|
|
276
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
271
277
|
CSS classes for styling
|
|
272
278
|
</td>
|
|
273
279
|
</tr>
|
|
274
|
-
<tr className="border-
|
|
275
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
280
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
281
|
+
<td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
|
|
276
282
|
viewBox
|
|
277
283
|
</td>
|
|
278
|
-
<td className="px-6 py-4 text-sm
|
|
284
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
279
285
|
string
|
|
280
286
|
</td>
|
|
281
|
-
<td className="px-6 py-4 text-sm
|
|
287
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
282
288
|
"0 0 16 16"
|
|
283
289
|
</td>
|
|
284
|
-
<td className="px-6 py-4 text-sm
|
|
290
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
285
291
|
SVG viewBox for scaling
|
|
286
292
|
</td>
|
|
287
293
|
</tr>
|
|
288
|
-
<tr className="
|
|
289
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
294
|
+
<tr className="bg-fm-surface-secondary!">
|
|
295
|
+
<td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
|
|
290
296
|
...svgProps
|
|
291
297
|
</td>
|
|
292
|
-
<td className="px-6 py-4 text-sm
|
|
298
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
293
299
|
SVGProps
|
|
294
300
|
</td>
|
|
295
|
-
<td className="px-6 py-4 text-sm
|
|
296
|
-
|
|
301
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
302
|
+
-
|
|
303
|
+
</td>
|
|
304
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
297
305
|
All standard SVG element props
|
|
298
306
|
</td>
|
|
299
307
|
</tr>
|
|
@@ -304,50 +312,62 @@ function SuccessMessage() {
|
|
|
304
312
|
|
|
305
313
|
{/* Size Variations */}
|
|
306
314
|
<div className="!space-y-8">
|
|
307
|
-
<h2 className="text-center text-3xl font-bold
|
|
315
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
308
316
|
Size Variations
|
|
309
317
|
</h2>
|
|
310
|
-
<div className="rounded-lg border
|
|
318
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
311
319
|
<div className="!space-y-6">
|
|
312
320
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
313
321
|
<div className="!space-y-4">
|
|
314
|
-
<h3 className="text-lg font-semibold
|
|
322
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
315
323
|
Standard Sizes
|
|
316
324
|
</h3>
|
|
317
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
325
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
318
326
|
<div className="text-center">
|
|
319
|
-
<TickCircleIcon className="!mx-auto mb-2 h-3 w-3
|
|
320
|
-
<span className="text-
|
|
327
|
+
<TickCircleIcon className="text-fm-icon-positive !mx-auto mb-2 h-3 w-3" />
|
|
328
|
+
<span className="text-fm-tertiary text-xs">
|
|
329
|
+
12px
|
|
330
|
+
</span>
|
|
321
331
|
</div>
|
|
322
332
|
<div className="text-center">
|
|
323
|
-
<TickCircleIcon className="!mx-auto mb-2 h-4 w-4
|
|
324
|
-
<span className="text-
|
|
333
|
+
<TickCircleIcon className="text-fm-icon-positive !mx-auto mb-2 h-4 w-4" />
|
|
334
|
+
<span className="text-fm-tertiary text-xs">
|
|
335
|
+
16px
|
|
336
|
+
</span>
|
|
325
337
|
</div>
|
|
326
338
|
<div className="text-center">
|
|
327
|
-
<TickCircleIcon className="!mx-auto mb-2 h-5 w-5
|
|
328
|
-
<span className="text-
|
|
339
|
+
<TickCircleIcon className="text-fm-icon-positive !mx-auto mb-2 h-5 w-5" />
|
|
340
|
+
<span className="text-fm-tertiary text-xs">
|
|
341
|
+
20px
|
|
342
|
+
</span>
|
|
329
343
|
</div>
|
|
330
344
|
<div className="text-center">
|
|
331
|
-
<TickCircleIcon className="!mx-auto mb-2 h-6 w-6
|
|
332
|
-
<span className="text-
|
|
345
|
+
<TickCircleIcon className="text-fm-icon-positive !mx-auto mb-2 h-6 w-6" />
|
|
346
|
+
<span className="text-fm-tertiary text-xs">
|
|
347
|
+
24px
|
|
348
|
+
</span>
|
|
333
349
|
</div>
|
|
334
350
|
<div className="text-center">
|
|
335
|
-
<TickCircleIcon className="!mx-auto mb-2 h-8 w-8
|
|
336
|
-
<span className="text-
|
|
351
|
+
<TickCircleIcon className="text-fm-icon-positive !mx-auto mb-2 h-8 w-8" />
|
|
352
|
+
<span className="text-fm-tertiary text-xs">
|
|
353
|
+
32px
|
|
354
|
+
</span>
|
|
337
355
|
</div>
|
|
338
356
|
<div className="text-center">
|
|
339
|
-
<TickCircleIcon className="!mx-auto mb-2 h-12 w-12
|
|
340
|
-
<span className="text-
|
|
357
|
+
<TickCircleIcon className="text-fm-icon-positive !mx-auto mb-2 h-12 w-12" />
|
|
358
|
+
<span className="text-fm-tertiary text-xs">
|
|
359
|
+
48px
|
|
360
|
+
</span>
|
|
341
361
|
</div>
|
|
342
362
|
</div>
|
|
343
363
|
</div>
|
|
344
364
|
|
|
345
365
|
<div className="!space-y-4">
|
|
346
|
-
<h3 className="text-lg font-semibold
|
|
366
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
347
367
|
Code Example
|
|
348
368
|
</h3>
|
|
349
|
-
<div className="rounded-lg
|
|
350
|
-
<pre className="overflow-x-auto text-sm
|
|
369
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
370
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
351
371
|
{`// Small (16px)
|
|
352
372
|
<TickCircleIcon className="h-4 w-4" />
|
|
353
373
|
|
|
@@ -372,56 +392,56 @@ function SuccessMessage() {
|
|
|
372
392
|
|
|
373
393
|
{/* Color Variations */}
|
|
374
394
|
<div className="!space-y-8">
|
|
375
|
-
<h2 className="text-center text-3xl font-bold
|
|
395
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
376
396
|
Color Variations
|
|
377
397
|
</h2>
|
|
378
398
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
379
399
|
<div className="!space-y-4">
|
|
380
|
-
<h3 className="text-lg font-semibold
|
|
400
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
381
401
|
Semantic Colors
|
|
382
402
|
</h3>
|
|
383
|
-
<div className="!space-y-4 rounded-lg border
|
|
403
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
384
404
|
<div className="flex items-center gap-4">
|
|
385
|
-
<TickCircleIcon className="h-6 w-6
|
|
405
|
+
<TickCircleIcon className="text-fm-icon-positive h-6 w-6" />
|
|
386
406
|
<div>
|
|
387
|
-
<div className="text-sm font-medium
|
|
407
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
388
408
|
Success
|
|
389
409
|
</div>
|
|
390
|
-
<div className="text-
|
|
391
|
-
text-
|
|
410
|
+
<div className="text-fm-tertiary text-xs">
|
|
411
|
+
text-fm-icon-positive
|
|
392
412
|
</div>
|
|
393
413
|
</div>
|
|
394
414
|
</div>
|
|
395
415
|
<div className="flex items-center gap-4">
|
|
396
|
-
<TickCircleIcon className="h-6 w-6
|
|
416
|
+
<TickCircleIcon className="text-fm-icon-positive h-6 w-6" />
|
|
397
417
|
<div>
|
|
398
|
-
<div className="text-sm font-medium
|
|
418
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
399
419
|
Complete
|
|
400
420
|
</div>
|
|
401
|
-
<div className="text-
|
|
402
|
-
text-
|
|
421
|
+
<div className="text-fm-tertiary text-xs">
|
|
422
|
+
text-fm-icon-positive
|
|
403
423
|
</div>
|
|
404
424
|
</div>
|
|
405
425
|
</div>
|
|
406
426
|
<div className="flex items-center gap-4">
|
|
407
|
-
<TickCircleIcon className="h-6 w-6
|
|
427
|
+
<TickCircleIcon className="text-fm-icon-info h-6 w-6" />
|
|
408
428
|
<div>
|
|
409
|
-
<div className="text-sm font-medium
|
|
429
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
410
430
|
Verified
|
|
411
431
|
</div>
|
|
412
|
-
<div className="text-
|
|
413
|
-
text-
|
|
432
|
+
<div className="text-fm-tertiary text-xs">
|
|
433
|
+
text-fm-icon-info
|
|
414
434
|
</div>
|
|
415
435
|
</div>
|
|
416
436
|
</div>
|
|
417
437
|
<div className="flex items-center gap-4">
|
|
418
|
-
<TickCircleIcon className="h-6 w-6
|
|
438
|
+
<TickCircleIcon className="text-fm-icon-info h-6 w-6" />
|
|
419
439
|
<div>
|
|
420
|
-
<div className="text-sm font-medium
|
|
440
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
421
441
|
Info
|
|
422
442
|
</div>
|
|
423
|
-
<div className="text-
|
|
424
|
-
text-
|
|
443
|
+
<div className="text-fm-tertiary text-xs">
|
|
444
|
+
text-fm-icon-info
|
|
425
445
|
</div>
|
|
426
446
|
</div>
|
|
427
447
|
</div>
|
|
@@ -429,11 +449,11 @@ function SuccessMessage() {
|
|
|
429
449
|
</div>
|
|
430
450
|
|
|
431
451
|
<div className="!space-y-4">
|
|
432
|
-
<h3 className="text-lg font-semibold
|
|
452
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
433
453
|
Custom Colors
|
|
434
454
|
</h3>
|
|
435
|
-
<div className="rounded-lg
|
|
436
|
-
<pre className="overflow-x-auto text-sm
|
|
455
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
456
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
437
457
|
{`// Using Tailwind classes
|
|
438
458
|
<TickCircleIcon className="h-6 w-6 text-green-400" />
|
|
439
459
|
<TickCircleIcon className="h-6 w-6 text-emerald-500" />
|
|
@@ -461,33 +481,33 @@ function SuccessMessage() {
|
|
|
461
481
|
|
|
462
482
|
{/* Usage Examples */}
|
|
463
483
|
<div className="!space-y-8">
|
|
464
|
-
<h2 className="text-center text-3xl font-bold
|
|
484
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
465
485
|
Usage Examples
|
|
466
486
|
</h2>
|
|
467
487
|
|
|
468
488
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
469
489
|
{/* Success Message */}
|
|
470
490
|
<div className="!space-y-4">
|
|
471
|
-
<h3 className="text-lg font-semibold
|
|
491
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
472
492
|
Success Messages
|
|
473
493
|
</h3>
|
|
474
494
|
<div className="!space-y-4">
|
|
475
|
-
<div className="
|
|
495
|
+
<div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 rounded-lg border p-4">
|
|
476
496
|
<div className="flex items-start gap-3">
|
|
477
|
-
<TickCircleIcon className="mt-0.5 h-5 w-5 flex-shrink-0
|
|
497
|
+
<TickCircleIcon className="text-fm-icon-positive mt-0.5 h-5 w-5 flex-shrink-0" />
|
|
478
498
|
<div>
|
|
479
|
-
<h4 className="font-medium
|
|
499
|
+
<h4 className="text-fm-icon-positive! font-medium">
|
|
480
500
|
Account Created Successfully
|
|
481
501
|
</h4>
|
|
482
|
-
<p className="text-
|
|
502
|
+
<p className="text-fm-icon-positive!/80 text-sm">
|
|
483
503
|
Welcome to Aural UI! Your account has been set up
|
|
484
504
|
and you're ready to start building.
|
|
485
505
|
</p>
|
|
486
506
|
</div>
|
|
487
507
|
</div>
|
|
488
508
|
</div>
|
|
489
|
-
<div className="rounded-lg
|
|
490
|
-
<pre className="overflow-x-auto text-sm
|
|
509
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
510
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
491
511
|
{`<div className="border border-green-500/20 bg-green-500/10 p-4 rounded-lg">
|
|
492
512
|
<div className="flex items-start gap-3">
|
|
493
513
|
<TickCircleIcon className="h-5 w-5 text-green-400 mt-0.5 flex-shrink-0" />
|
|
@@ -506,39 +526,41 @@ function SuccessMessage() {
|
|
|
506
526
|
|
|
507
527
|
{/* Task Completion */}
|
|
508
528
|
<div className="!space-y-4">
|
|
509
|
-
<h3 className="text-lg font-semibold
|
|
529
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
510
530
|
Task Completion
|
|
511
531
|
</h3>
|
|
512
532
|
<div className="!space-y-4">
|
|
513
533
|
<div className="!space-y-3">
|
|
514
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
515
|
-
<TickCircleIcon className="h-5 w-5
|
|
516
|
-
<span className="flex-1
|
|
534
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded-lg border p-3">
|
|
535
|
+
<TickCircleIcon className="text-fm-icon-positive h-5 w-5" />
|
|
536
|
+
<span className="text-fm-icon-active flex-1">
|
|
517
537
|
Set up project repository
|
|
518
538
|
</span>
|
|
519
|
-
<span className="text-
|
|
539
|
+
<span className="text-fm-icon-positive text-xs">
|
|
520
540
|
Completed
|
|
521
541
|
</span>
|
|
522
542
|
</div>
|
|
523
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
524
|
-
<TickCircleIcon className="h-5 w-5
|
|
525
|
-
<span className="flex-1
|
|
543
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded-lg border p-3">
|
|
544
|
+
<TickCircleIcon className="text-fm-icon-positive h-5 w-5" />
|
|
545
|
+
<span className="text-fm-icon-active flex-1">
|
|
526
546
|
Install dependencies
|
|
527
547
|
</span>
|
|
528
|
-
<span className="text-
|
|
548
|
+
<span className="text-fm-icon-positive text-xs">
|
|
529
549
|
Completed
|
|
530
550
|
</span>
|
|
531
551
|
</div>
|
|
532
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
533
|
-
<div className="h-5 w-5 rounded-full border-2
|
|
534
|
-
<span className="flex-1
|
|
552
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded-lg border p-3 opacity-50">
|
|
553
|
+
<div className="border-fm-divider-primary h-5 w-5 rounded-full border-2"></div>
|
|
554
|
+
<span className="text-fm-secondary flex-1">
|
|
535
555
|
Configure development environment
|
|
536
556
|
</span>
|
|
537
|
-
<span className="text-
|
|
557
|
+
<span className="text-fm-placeholder text-xs">
|
|
558
|
+
Pending
|
|
559
|
+
</span>
|
|
538
560
|
</div>
|
|
539
561
|
</div>
|
|
540
|
-
<div className="rounded-lg
|
|
541
|
-
<pre className="overflow-x-auto text-sm
|
|
562
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
563
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
542
564
|
{`// Completed task
|
|
543
565
|
<div className="flex items-center gap-3 p-3 border border-white/10 bg-white/5 rounded-lg">
|
|
544
566
|
<TickCircleIcon className="h-5 w-5 text-green-400" />
|
|
@@ -559,30 +581,30 @@ function SuccessMessage() {
|
|
|
559
581
|
|
|
560
582
|
{/* Form Validation */}
|
|
561
583
|
<div className="!space-y-4">
|
|
562
|
-
<h3 className="text-lg font-semibold
|
|
584
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
563
585
|
Form Validation
|
|
564
586
|
</h3>
|
|
565
587
|
<div className="!space-y-4">
|
|
566
588
|
<div className="!space-y-2">
|
|
567
|
-
<label className="text-sm font-medium
|
|
589
|
+
<label className="text-fm-icon-active! text-sm font-medium">
|
|
568
590
|
Email Address
|
|
569
591
|
</label>
|
|
570
592
|
<div className="relative">
|
|
571
593
|
<input
|
|
572
594
|
type="email"
|
|
573
|
-
className="
|
|
595
|
+
className="border-fm-icon-positive/50 bg-fm-surface-secondary text-fm-icon-active! focus:border-fm-icon-positive w-full rounded-lg border px-3 py-2 pr-10 focus:ring-2 focus:ring-green-500/20"
|
|
574
596
|
placeholder="Enter your email"
|
|
575
597
|
defaultValue="user@example.com"
|
|
576
598
|
/>
|
|
577
|
-
<TickCircleIcon className="absolute top-1/2 right-3 h-4 w-4 -translate-y-1/2
|
|
599
|
+
<TickCircleIcon className="text-fm-icon-positive absolute top-1/2 right-3 h-4 w-4 -translate-y-1/2" />
|
|
578
600
|
</div>
|
|
579
|
-
<div className="flex items-center gap-2 text-sm
|
|
601
|
+
<div className="text-fm-icon-positive flex items-center gap-2 text-sm">
|
|
580
602
|
<TickCircleIcon className="h-4 w-4" />
|
|
581
603
|
<span>Valid email address</span>
|
|
582
604
|
</div>
|
|
583
605
|
</div>
|
|
584
|
-
<div className="rounded-lg
|
|
585
|
-
<pre className="overflow-x-auto text-sm
|
|
606
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
607
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
586
608
|
{`// Input with validation icon
|
|
587
609
|
<div className="relative">
|
|
588
610
|
<input className="pr-10 border-green-500/50" />
|
|
@@ -601,25 +623,25 @@ function SuccessMessage() {
|
|
|
601
623
|
|
|
602
624
|
{/* Button States */}
|
|
603
625
|
<div className="!space-y-4">
|
|
604
|
-
<h3 className="text-lg font-semibold
|
|
626
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
605
627
|
Button States
|
|
606
628
|
</h3>
|
|
607
629
|
<div className="!space-y-4">
|
|
608
630
|
<div className="flex gap-4">
|
|
609
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
631
|
+
<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">
|
|
610
632
|
<TickCircleIcon className="h-4 w-4" />
|
|
611
633
|
Mark Complete
|
|
612
634
|
</button>
|
|
613
635
|
<button
|
|
614
|
-
className="flex items-center gap-2 rounded-lg border
|
|
636
|
+
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"
|
|
615
637
|
disabled
|
|
616
638
|
>
|
|
617
639
|
<TickCircleIcon className="h-4 w-4" />
|
|
618
640
|
Already Completed
|
|
619
641
|
</button>
|
|
620
642
|
</div>
|
|
621
|
-
<div className="rounded-lg
|
|
622
|
-
<pre className="overflow-x-auto text-sm
|
|
643
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
644
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
623
645
|
{`// Success action button
|
|
624
646
|
<button className="flex items-center gap-2 bg-green-500/20 border border-green-500/30 px-4 py-2 rounded-lg">
|
|
625
647
|
<TickCircleIcon className="h-4 w-4" />
|
|
@@ -638,26 +660,26 @@ function SuccessMessage() {
|
|
|
638
660
|
|
|
639
661
|
{/* Verification Badge */}
|
|
640
662
|
<div className="!space-y-4">
|
|
641
|
-
<h3 className="text-lg font-semibold
|
|
663
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
642
664
|
Verification Badge
|
|
643
665
|
</h3>
|
|
644
666
|
<div className="!space-y-4">
|
|
645
667
|
<div className="flex items-center gap-3">
|
|
646
|
-
<div className="h-12 w-12 rounded-full
|
|
668
|
+
<div className="bg-fm-icon-info/20 h-12 w-12 rounded-full"></div>
|
|
647
669
|
<div>
|
|
648
670
|
<div className="flex items-center gap-2">
|
|
649
|
-
<span className="font-medium
|
|
671
|
+
<span className="text-fm-icon-active font-medium">
|
|
650
672
|
John Doe
|
|
651
673
|
</span>
|
|
652
|
-
<TickCircleIcon className="h-4 w-4
|
|
674
|
+
<TickCircleIcon className="text-fm-icon-info h-4 w-4" />
|
|
653
675
|
</div>
|
|
654
|
-
<p className="text-
|
|
676
|
+
<p className="text-fm-tertiary! text-sm">
|
|
655
677
|
Verified Account
|
|
656
678
|
</p>
|
|
657
679
|
</div>
|
|
658
680
|
</div>
|
|
659
|
-
<div className="rounded-lg
|
|
660
|
-
<pre className="overflow-x-auto text-sm
|
|
681
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
682
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
661
683
|
{`<div className="flex items-center gap-3">
|
|
662
684
|
<div className="h-12 w-12 rounded-full bg-blue-500/20"></div>
|
|
663
685
|
<div>
|
|
@@ -675,26 +697,26 @@ function SuccessMessage() {
|
|
|
675
697
|
|
|
676
698
|
{/* Toast Notification */}
|
|
677
699
|
<div className="!space-y-4">
|
|
678
|
-
<h3 className="text-lg font-semibold
|
|
700
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
679
701
|
Toast Notification
|
|
680
702
|
</h3>
|
|
681
703
|
<div className="!space-y-4">
|
|
682
|
-
<div className="flex items-start gap-3 rounded-lg border
|
|
683
|
-
<TickCircleIcon className="animate-tick-bounce h-5 w-5
|
|
704
|
+
<div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 flex items-start gap-3 rounded-lg border p-4 shadow-lg">
|
|
705
|
+
<TickCircleIcon className="animate-tick-bounce text-fm-icon-positive h-5 w-5" />
|
|
684
706
|
<div className="flex-1">
|
|
685
|
-
<p className="font-medium
|
|
707
|
+
<p className="text-fm-icon-positive! font-medium">
|
|
686
708
|
File uploaded successfully
|
|
687
709
|
</p>
|
|
688
|
-
<p className="text-
|
|
710
|
+
<p className="text-fm-icon-positive!/80 text-sm">
|
|
689
711
|
Your document has been saved.
|
|
690
712
|
</p>
|
|
691
713
|
</div>
|
|
692
|
-
<button className="text-
|
|
714
|
+
<button className="text-fm-icon-positive hover:text-fm-icon-positive">
|
|
693
715
|
✕
|
|
694
716
|
</button>
|
|
695
717
|
</div>
|
|
696
|
-
<div className="rounded-lg
|
|
697
|
-
<pre className="overflow-x-auto text-sm
|
|
718
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
719
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
698
720
|
{`<div className="flex items-center gap-3 p-4 border border-green-500/20 bg-green-500/10 rounded-lg shadow-lg">
|
|
699
721
|
<TickCircleIcon className="h-5 w-5 text-green-400 animate-bounce" />
|
|
700
722
|
<div className="flex-1">
|
|
@@ -712,55 +734,55 @@ function SuccessMessage() {
|
|
|
712
734
|
|
|
713
735
|
{/* Interactive States */}
|
|
714
736
|
<div className="!space-y-8">
|
|
715
|
-
<h2 className="text-center text-3xl font-bold
|
|
737
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
716
738
|
Interactive States & Animations
|
|
717
739
|
</h2>
|
|
718
740
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
719
741
|
<div className="!space-y-4">
|
|
720
|
-
<h3 className="text-lg font-semibold
|
|
742
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
721
743
|
Animation Effects
|
|
722
744
|
</h3>
|
|
723
|
-
<div className="!space-y-4 rounded-lg border
|
|
745
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
724
746
|
<div className="flex items-center gap-4">
|
|
725
|
-
<TickCircleIcon className="animate-tick-bounce h-8 w-8
|
|
747
|
+
<TickCircleIcon className="animate-tick-bounce text-fm-icon-positive h-8 w-8" />
|
|
726
748
|
<div>
|
|
727
|
-
<div className="text-sm font-medium
|
|
749
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
728
750
|
Bounce Effect
|
|
729
751
|
</div>
|
|
730
|
-
<div className="text-
|
|
752
|
+
<div className="text-fm-tertiary text-xs">
|
|
731
753
|
On completion
|
|
732
754
|
</div>
|
|
733
755
|
</div>
|
|
734
756
|
</div>
|
|
735
757
|
<div className="flex items-center gap-4">
|
|
736
|
-
<TickCircleIcon className="animate-tick-pulse h-8 w-8
|
|
758
|
+
<TickCircleIcon className="animate-tick-pulse text-fm-icon-positive h-8 w-8" />
|
|
737
759
|
<div>
|
|
738
|
-
<div className="text-sm font-medium
|
|
760
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
739
761
|
Pulse Animation
|
|
740
762
|
</div>
|
|
741
|
-
<div className="text-
|
|
763
|
+
<div className="text-fm-tertiary text-xs">
|
|
742
764
|
Continuous feedback
|
|
743
765
|
</div>
|
|
744
766
|
</div>
|
|
745
767
|
</div>
|
|
746
768
|
<div className="flex items-center gap-4">
|
|
747
|
-
<TickCircleIcon className="h-8 w-8
|
|
769
|
+
<TickCircleIcon className="text-fm-icon-positive h-8 w-8 transition-transform hover:scale-110" />
|
|
748
770
|
<div>
|
|
749
|
-
<div className="text-sm font-medium
|
|
771
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
750
772
|
Hover Scale
|
|
751
773
|
</div>
|
|
752
|
-
<div className="text-
|
|
774
|
+
<div className="text-fm-tertiary text-xs">
|
|
753
775
|
Interactive growth
|
|
754
776
|
</div>
|
|
755
777
|
</div>
|
|
756
778
|
</div>
|
|
757
779
|
<div className="flex items-center gap-4">
|
|
758
|
-
<TickCircleIcon className="h-8 w-8
|
|
780
|
+
<TickCircleIcon className="text-fm-icon-positive hover:text-fm-icon-positive h-8 w-8 transition-colors" />
|
|
759
781
|
<div>
|
|
760
|
-
<div className="text-sm font-medium
|
|
782
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
761
783
|
Color Transition
|
|
762
784
|
</div>
|
|
763
|
-
<div className="text-
|
|
785
|
+
<div className="text-fm-tertiary text-xs">
|
|
764
786
|
Smooth color change
|
|
765
787
|
</div>
|
|
766
788
|
</div>
|
|
@@ -769,11 +791,11 @@ function SuccessMessage() {
|
|
|
769
791
|
</div>
|
|
770
792
|
|
|
771
793
|
<div className="!space-y-4">
|
|
772
|
-
<h3 className="text-lg font-semibold
|
|
794
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
773
795
|
Interactive Examples
|
|
774
796
|
</h3>
|
|
775
|
-
<div className="rounded-lg
|
|
776
|
-
<pre className="overflow-x-auto text-sm
|
|
797
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
798
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
777
799
|
{`// Bounce animation on completion
|
|
778
800
|
<TickCircleIcon className="h-8 w-8 text-green-400 animate-bounce" />
|
|
779
801
|
|
|
@@ -807,64 +829,64 @@ function SuccessMessage() {
|
|
|
807
829
|
|
|
808
830
|
{/* Accessibility */}
|
|
809
831
|
<div className="!space-y-8">
|
|
810
|
-
<h2 className="text-center text-3xl font-bold
|
|
832
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
811
833
|
Accessibility Features
|
|
812
834
|
</h2>
|
|
813
835
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
814
|
-
<div className="!space-y-4 rounded-lg border
|
|
815
|
-
<h3 className="text-lg font-semibold
|
|
836
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
837
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
816
838
|
✅ Built-in Features
|
|
817
839
|
</h3>
|
|
818
|
-
<ul className="!space-y-2 text-sm
|
|
819
|
-
<li className="
|
|
840
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
841
|
+
<li className="text-fm-secondary!">
|
|
820
842
|
Uses Radix UI AccessibleIcon wrapper
|
|
821
843
|
</li>
|
|
822
|
-
<li className="
|
|
844
|
+
<li className="text-fm-secondary!">
|
|
823
845
|
Provides screen reader label "Tick Circle icon"
|
|
824
846
|
</li>
|
|
825
|
-
<li className="
|
|
847
|
+
<li className="text-fm-secondary!">
|
|
826
848
|
Supports keyboard navigation when interactive
|
|
827
849
|
</li>
|
|
828
|
-
<li className="
|
|
850
|
+
<li className="text-fm-secondary!">
|
|
829
851
|
Maintains proper color contrast ratios
|
|
830
852
|
</li>
|
|
831
|
-
<li className="
|
|
853
|
+
<li className="text-fm-secondary!">
|
|
832
854
|
Scales with user's font size preferences
|
|
833
855
|
</li>
|
|
834
856
|
</ul>
|
|
835
857
|
</div>
|
|
836
858
|
|
|
837
|
-
<div className="!space-y-4 rounded-lg border
|
|
838
|
-
<h3 className="text-lg font-semibold
|
|
859
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
860
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
839
861
|
💡 Best Practices
|
|
840
862
|
</h3>
|
|
841
|
-
<ul className="!space-y-2 text-sm
|
|
842
|
-
<li className="
|
|
863
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
864
|
+
<li className="text-fm-secondary!">
|
|
843
865
|
Always pair with descriptive text
|
|
844
866
|
</li>
|
|
845
|
-
<li className="
|
|
867
|
+
<li className="text-fm-secondary!">
|
|
846
868
|
Use consistent colors for success states
|
|
847
869
|
</li>
|
|
848
|
-
<li className="
|
|
870
|
+
<li className="text-fm-secondary!">
|
|
849
871
|
Ensure sufficient color contrast
|
|
850
872
|
</li>
|
|
851
|
-
<li className="
|
|
873
|
+
<li className="text-fm-secondary!">
|
|
852
874
|
Add focus states for interactive elements
|
|
853
875
|
</li>
|
|
854
|
-
<li className="
|
|
876
|
+
<li className="text-fm-secondary!">
|
|
855
877
|
Consider motion sensitivity for animations
|
|
856
878
|
</li>
|
|
857
879
|
</ul>
|
|
858
880
|
</div>
|
|
859
881
|
</div>
|
|
860
882
|
|
|
861
|
-
<div className="rounded-lg border
|
|
862
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
883
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
884
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
863
885
|
Custom Accessibility Implementation
|
|
864
886
|
</h3>
|
|
865
887
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
866
|
-
<div className="rounded-lg
|
|
867
|
-
<pre className="overflow-x-auto text-sm
|
|
888
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
889
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
868
890
|
{`// Custom implementation with specific label
|
|
869
891
|
import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
|
|
870
892
|
|
|
@@ -893,14 +915,14 @@ function CompletionIcon({ label = "Completed", ...props }) {
|
|
|
893
915
|
</pre>
|
|
894
916
|
</div>
|
|
895
917
|
<div className="!space-y-4">
|
|
896
|
-
<p className="text-
|
|
918
|
+
<p className="text-fm-secondary! text-sm">
|
|
897
919
|
When using TickCircleIcon for task completion or success
|
|
898
920
|
states, provide clear context about what was completed
|
|
899
921
|
or verified. The built-in accessible label helps screen
|
|
900
922
|
readers understand the positive nature of the icon.
|
|
901
923
|
</p>
|
|
902
|
-
<div className="
|
|
903
|
-
<div className="flex items-center gap-2 text-sm
|
|
924
|
+
<div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 rounded-lg border p-4">
|
|
925
|
+
<div className="text-fm-icon-positive flex items-center gap-2 text-sm">
|
|
904
926
|
<TickCircleIcon className="h-4 w-4" />
|
|
905
927
|
<span>
|
|
906
928
|
This ensures all users understand successful actions
|
|
@@ -914,46 +936,58 @@ function CompletionIcon({ label = "Completed", ...props }) {
|
|
|
914
936
|
|
|
915
937
|
{/* Related Icons */}
|
|
916
938
|
<div className="!space-y-8">
|
|
917
|
-
<h2 className="text-center text-3xl font-bold
|
|
939
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
918
940
|
Related Icons
|
|
919
941
|
</h2>
|
|
920
942
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
921
|
-
<div className="!space-y-3 rounded-lg border
|
|
922
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
943
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
944
|
+
<div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
923
945
|
<span className="text-2xl">⚠️</span>
|
|
924
946
|
</div>
|
|
925
947
|
<div>
|
|
926
|
-
<div className="font-medium
|
|
927
|
-
|
|
948
|
+
<div className="text-fm-icon-active font-medium">
|
|
949
|
+
AlertIcon
|
|
950
|
+
</div>
|
|
951
|
+
<div className="text-fm-tertiary text-xs">
|
|
928
952
|
Warning states
|
|
929
953
|
</div>
|
|
930
954
|
</div>
|
|
931
955
|
</div>
|
|
932
|
-
<div className="!space-y-3 rounded-lg border
|
|
933
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
956
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
957
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
934
958
|
<span className="text-2xl">ℹ️</span>
|
|
935
959
|
</div>
|
|
936
960
|
<div>
|
|
937
|
-
<div className="font-medium
|
|
938
|
-
|
|
961
|
+
<div className="text-fm-icon-active font-medium">
|
|
962
|
+
InfoIcon
|
|
963
|
+
</div>
|
|
964
|
+
<div className="text-fm-tertiary text-xs">
|
|
965
|
+
Information
|
|
966
|
+
</div>
|
|
939
967
|
</div>
|
|
940
968
|
</div>
|
|
941
|
-
<div className="!space-y-3 rounded-lg border
|
|
942
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
969
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
970
|
+
<div className="bg-fm-icon-negative/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
943
971
|
<span className="text-2xl">❌</span>
|
|
944
972
|
</div>
|
|
945
973
|
<div>
|
|
946
|
-
<div className="font-medium
|
|
947
|
-
|
|
974
|
+
<div className="text-fm-icon-active font-medium">
|
|
975
|
+
ErrorIcon
|
|
976
|
+
</div>
|
|
977
|
+
<div className="text-fm-tertiary text-xs">
|
|
978
|
+
Error states
|
|
979
|
+
</div>
|
|
948
980
|
</div>
|
|
949
981
|
</div>
|
|
950
|
-
<div className="!space-y-3 rounded-lg border
|
|
951
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
982
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
983
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
952
984
|
<span className="text-2xl">🔄</span>
|
|
953
985
|
</div>
|
|
954
986
|
<div>
|
|
955
|
-
<div className="font-medium
|
|
956
|
-
|
|
987
|
+
<div className="text-fm-icon-active font-medium">
|
|
988
|
+
LoadingIcon
|
|
989
|
+
</div>
|
|
990
|
+
<div className="text-fm-tertiary text-xs">
|
|
957
991
|
Progress states
|
|
958
992
|
</div>
|
|
959
993
|
</div>
|
|
@@ -963,15 +997,15 @@ function CompletionIcon({ label = "Completed", ...props }) {
|
|
|
963
997
|
</div>
|
|
964
998
|
|
|
965
999
|
{/* Footer */}
|
|
966
|
-
<div className="border-
|
|
1000
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
967
1001
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
968
1002
|
<div className="!space-y-4 text-center">
|
|
969
|
-
<p className="
|
|
1003
|
+
<p className="text-fm-tertiary!">
|
|
970
1004
|
TickCircleIcon is part of the Aural UI icon library,
|
|
971
1005
|
designed for success feedback, task completion, and positive
|
|
972
1006
|
user interactions.
|
|
973
1007
|
</p>
|
|
974
|
-
<p className="text-
|
|
1008
|
+
<p className="text-fm-placeholder! text-sm">
|
|
975
1009
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
976
1010
|
compatibility and follow WCAG guidelines for positive
|
|
977
1011
|
feedback elements.
|
|
@@ -1017,8 +1051,8 @@ const storyParameters = {
|
|
|
1017
1051
|
backgrounds: {
|
|
1018
1052
|
default: "dark",
|
|
1019
1053
|
values: [
|
|
1020
|
-
{ name: "dark", value: "
|
|
1021
|
-
{ name: "darker", value: "
|
|
1054
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
1055
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
1022
1056
|
],
|
|
1023
1057
|
},
|
|
1024
1058
|
}
|
|
@@ -1027,12 +1061,12 @@ export const Default: Story = {
|
|
|
1027
1061
|
args: {
|
|
1028
1062
|
width: 24,
|
|
1029
1063
|
height: 24,
|
|
1030
|
-
className: "text-
|
|
1064
|
+
className: "text-fm-icon-positive",
|
|
1031
1065
|
withAccessibility: true,
|
|
1032
1066
|
},
|
|
1033
1067
|
parameters: storyParameters,
|
|
1034
1068
|
render: (args) => (
|
|
1035
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1069
|
+
<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">
|
|
1036
1070
|
<TickCircleIcon {...args} />
|
|
1037
1071
|
</div>
|
|
1038
1072
|
),
|
|
@@ -1049,30 +1083,30 @@ export const SizeVariations: Story = {
|
|
|
1049
1083
|
},
|
|
1050
1084
|
},
|
|
1051
1085
|
render: () => (
|
|
1052
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
1086
|
+
<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">
|
|
1053
1087
|
<div className="text-center">
|
|
1054
|
-
<TickCircleIcon className="!mx-auto mb-2 h-3 w-3
|
|
1055
|
-
<span className="text-
|
|
1088
|
+
<TickCircleIcon className="text-fm-icon-positive !mx-auto mb-2 h-3 w-3" />
|
|
1089
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
1056
1090
|
</div>
|
|
1057
1091
|
<div className="text-center">
|
|
1058
|
-
<TickCircleIcon className="!mx-auto mb-2 h-4 w-4
|
|
1059
|
-
<span className="text-
|
|
1092
|
+
<TickCircleIcon className="text-fm-icon-positive !mx-auto mb-2 h-4 w-4" />
|
|
1093
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
1060
1094
|
</div>
|
|
1061
1095
|
<div className="text-center">
|
|
1062
|
-
<TickCircleIcon className="!mx-auto mb-2 h-5 w-5
|
|
1063
|
-
<span className="text-
|
|
1096
|
+
<TickCircleIcon className="text-fm-icon-positive !mx-auto mb-2 h-5 w-5" />
|
|
1097
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
1064
1098
|
</div>
|
|
1065
1099
|
<div className="text-center">
|
|
1066
|
-
<TickCircleIcon className="!mx-auto mb-2 h-6 w-6
|
|
1067
|
-
<span className="text-
|
|
1100
|
+
<TickCircleIcon className="text-fm-icon-positive !mx-auto mb-2 h-6 w-6" />
|
|
1101
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
1068
1102
|
</div>
|
|
1069
1103
|
<div className="text-center">
|
|
1070
|
-
<TickCircleIcon className="!mx-auto mb-2 h-8 w-8
|
|
1071
|
-
<span className="text-
|
|
1104
|
+
<TickCircleIcon className="text-fm-icon-positive !mx-auto mb-2 h-8 w-8" />
|
|
1105
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
1072
1106
|
</div>
|
|
1073
1107
|
<div className="text-center">
|
|
1074
|
-
<TickCircleIcon className="!mx-auto mb-2 h-12 w-12
|
|
1075
|
-
<span className="text-
|
|
1108
|
+
<TickCircleIcon className="text-fm-icon-positive !mx-auto mb-2 h-12 w-12" />
|
|
1109
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
1076
1110
|
</div>
|
|
1077
1111
|
</div>
|
|
1078
1112
|
),
|
|
@@ -1089,34 +1123,38 @@ export const ColorVariations: Story = {
|
|
|
1089
1123
|
},
|
|
1090
1124
|
},
|
|
1091
1125
|
render: () => (
|
|
1092
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
1126
|
+
<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">
|
|
1093
1127
|
<div className="text-center">
|
|
1094
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1095
|
-
<TickCircleIcon className="h-8 w-8
|
|
1128
|
+
<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">
|
|
1129
|
+
<TickCircleIcon className="text-fm-icon-positive h-8 w-8" />
|
|
1130
|
+
</div>
|
|
1131
|
+
<div className="text-fm-icon-active text-sm font-medium">Success</div>
|
|
1132
|
+
<div className="text-fm-icon-positive text-xs">
|
|
1133
|
+
text-fm-icon-positive
|
|
1096
1134
|
</div>
|
|
1097
|
-
<div className="text-sm font-medium text-white">Success</div>
|
|
1098
|
-
<div className="text-xs text-green-400">text-green-400</div>
|
|
1099
1135
|
</div>
|
|
1100
1136
|
<div className="text-center">
|
|
1101
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1102
|
-
<TickCircleIcon className="h-8 w-8
|
|
1137
|
+
<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">
|
|
1138
|
+
<TickCircleIcon className="text-fm-icon-positive h-8 w-8" />
|
|
1139
|
+
</div>
|
|
1140
|
+
<div className="text-fm-icon-active text-sm font-medium">Complete</div>
|
|
1141
|
+
<div className="text-fm-icon-positive text-xs">
|
|
1142
|
+
text-fm-icon-positive
|
|
1103
1143
|
</div>
|
|
1104
|
-
<div className="text-sm font-medium text-white">Complete</div>
|
|
1105
|
-
<div className="text-xs text-emerald-400">text-emerald-400</div>
|
|
1106
1144
|
</div>
|
|
1107
1145
|
<div className="text-center">
|
|
1108
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1109
|
-
<TickCircleIcon className="h-8 w-8
|
|
1146
|
+
<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">
|
|
1147
|
+
<TickCircleIcon className="text-fm-icon-info h-8 w-8" />
|
|
1110
1148
|
</div>
|
|
1111
|
-
<div className="text-sm font-medium
|
|
1112
|
-
<div className="text-
|
|
1149
|
+
<div className="text-fm-icon-active text-sm font-medium">Verified</div>
|
|
1150
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
1113
1151
|
</div>
|
|
1114
1152
|
<div className="text-center">
|
|
1115
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1116
|
-
<TickCircleIcon className="h-8 w-8
|
|
1153
|
+
<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">
|
|
1154
|
+
<TickCircleIcon className="text-fm-icon-info h-8 w-8" />
|
|
1117
1155
|
</div>
|
|
1118
|
-
<div className="text-sm font-medium
|
|
1119
|
-
<div className="text-
|
|
1156
|
+
<div className="text-fm-icon-active text-sm font-medium">Info</div>
|
|
1157
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
1120
1158
|
</div>
|
|
1121
1159
|
</div>
|
|
1122
1160
|
),
|
|
@@ -1133,18 +1171,20 @@ export const UsageExamples: Story = {
|
|
|
1133
1171
|
},
|
|
1134
1172
|
},
|
|
1135
1173
|
render: () => (
|
|
1136
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
1174
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
1137
1175
|
{/* Success Message */}
|
|
1138
1176
|
<div className="!space-y-2">
|
|
1139
|
-
<h3 className="text-sm font-medium
|
|
1140
|
-
|
|
1177
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1178
|
+
Success Message
|
|
1179
|
+
</h3>
|
|
1180
|
+
<div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 rounded-lg border p-4">
|
|
1141
1181
|
<div className="flex items-start gap-3">
|
|
1142
|
-
<TickCircleIcon className="mt-0.5 h-5 w-5 flex-shrink-0
|
|
1182
|
+
<TickCircleIcon className="text-fm-icon-positive mt-0.5 h-5 w-5 flex-shrink-0" />
|
|
1143
1183
|
<div>
|
|
1144
|
-
<h4 className="font-medium
|
|
1184
|
+
<h4 className="text-fm-icon-positive font-medium">
|
|
1145
1185
|
Account Created Successfully
|
|
1146
1186
|
</h4>
|
|
1147
|
-
<p className="text-
|
|
1187
|
+
<p className="text-fm-icon-positive/80 text-sm">
|
|
1148
1188
|
Welcome to Aural UI! Your account has been set up and you're
|
|
1149
1189
|
ready to start building.
|
|
1150
1190
|
</p>
|
|
@@ -1155,32 +1195,40 @@ export const UsageExamples: Story = {
|
|
|
1155
1195
|
|
|
1156
1196
|
{/* Task Completion */}
|
|
1157
1197
|
<div className="!space-y-2">
|
|
1158
|
-
<h3 className="text-sm font-medium
|
|
1198
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1199
|
+
Task Completion
|
|
1200
|
+
</h3>
|
|
1159
1201
|
<div className="!space-y-3">
|
|
1160
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
1161
|
-
<TickCircleIcon className="h-5 w-5
|
|
1162
|
-
<span className="flex-1
|
|
1163
|
-
|
|
1202
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded-lg border p-3">
|
|
1203
|
+
<TickCircleIcon className="text-fm-icon-positive h-5 w-5" />
|
|
1204
|
+
<span className="text-fm-icon-active flex-1">
|
|
1205
|
+
Set up project repository
|
|
1206
|
+
</span>
|
|
1207
|
+
<span className="text-fm-icon-positive text-xs">Completed</span>
|
|
1164
1208
|
</div>
|
|
1165
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
1166
|
-
<TickCircleIcon className="h-5 w-5
|
|
1167
|
-
<span className="flex-1
|
|
1168
|
-
|
|
1209
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded-lg border p-3">
|
|
1210
|
+
<TickCircleIcon className="text-fm-icon-positive h-5 w-5" />
|
|
1211
|
+
<span className="text-fm-icon-active flex-1">
|
|
1212
|
+
Install dependencies
|
|
1213
|
+
</span>
|
|
1214
|
+
<span className="text-fm-icon-positive text-xs">Completed</span>
|
|
1169
1215
|
</div>
|
|
1170
1216
|
</div>
|
|
1171
1217
|
</div>
|
|
1172
1218
|
|
|
1173
1219
|
{/* Form Validation */}
|
|
1174
1220
|
<div className="!space-y-2">
|
|
1175
|
-
<h3 className="text-sm font-medium
|
|
1221
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1222
|
+
Form Validation
|
|
1223
|
+
</h3>
|
|
1176
1224
|
<div className="relative">
|
|
1177
1225
|
<input
|
|
1178
1226
|
type="email"
|
|
1179
|
-
className="
|
|
1227
|
+
className="border-fm-icon-positive/50 bg-fm-surface-secondary text-fm-icon-active focus:border-fm-icon-positive w-full rounded-lg border px-3 py-2 pr-10 placeholder-white/50 focus:ring-2 focus:ring-green-500/20"
|
|
1180
1228
|
placeholder="Enter your email"
|
|
1181
1229
|
defaultValue="user@example.com"
|
|
1182
1230
|
/>
|
|
1183
|
-
<TickCircleIcon className="absolute top-1/2 right-3 h-4 w-4 -translate-y-1/2
|
|
1231
|
+
<TickCircleIcon className="text-fm-icon-positive absolute top-1/2 right-3 h-4 w-4 -translate-y-1/2" />
|
|
1184
1232
|
</div>
|
|
1185
1233
|
</div>
|
|
1186
1234
|
</div>
|
|
@@ -1200,11 +1248,11 @@ export const Playground: Story = {
|
|
|
1200
1248
|
args: {
|
|
1201
1249
|
width: 32,
|
|
1202
1250
|
height: 32,
|
|
1203
|
-
className: "text-
|
|
1251
|
+
className: "text-fm-icon-positive",
|
|
1204
1252
|
},
|
|
1205
1253
|
render: (args) => (
|
|
1206
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1207
|
-
<div className="rounded-lg border
|
|
1254
|
+
<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">
|
|
1255
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1208
1256
|
<TickCircleIcon {...args} />
|
|
1209
1257
|
</div>
|
|
1210
1258
|
</div>
|