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 BubbleCheckIcon> = {
|
|
|
11
11
|
backgrounds: {
|
|
12
12
|
default: "dark",
|
|
13
13
|
values: [
|
|
14
|
-
{ name: "dark", value: "
|
|
15
|
-
{ name: "darker", value: "
|
|
16
|
-
{ name: "light", value: "
|
|
14
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
15
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
16
|
+
{ name: "light", value: "var(--color-fm-neutral-1100)" },
|
|
17
17
|
],
|
|
18
18
|
},
|
|
19
19
|
docs: {
|
|
@@ -40,59 +40,59 @@ const meta: Meta<typeof BubbleCheckIcon> = {
|
|
|
40
40
|
background: transparent ;
|
|
41
41
|
}
|
|
42
42
|
body {
|
|
43
|
-
background:
|
|
43
|
+
background: var(--color-fm-surface-primary) ;
|
|
44
44
|
}
|
|
45
45
|
#storybook-docs {
|
|
46
|
-
background:
|
|
46
|
+
background: var(--color-fm-surface-primary) ;
|
|
47
47
|
}
|
|
48
48
|
.sbdocs-preview {
|
|
49
49
|
background: transparent ;
|
|
50
50
|
border: none ;
|
|
51
51
|
}
|
|
52
52
|
.sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
|
|
53
|
-
color:
|
|
53
|
+
color: var(--color-fm-icon-active) ;
|
|
54
54
|
}
|
|
55
55
|
.sbdocs-p, .sbdocs-li {
|
|
56
|
-
color:
|
|
56
|
+
color: var(--color-fm-secondary) ;
|
|
57
57
|
}
|
|
58
58
|
.sbdocs-code {
|
|
59
|
-
background:
|
|
60
|
-
color:
|
|
61
|
-
border: 1px solid
|
|
59
|
+
background: var(--color-fm-surface-secondary) ;
|
|
60
|
+
color: var(--color-fm-secondary-500) ;
|
|
61
|
+
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
62
62
|
}
|
|
63
63
|
.sbdocs-pre {
|
|
64
|
-
background:
|
|
65
|
-
border: 1px solid
|
|
64
|
+
background: var(--color-fm-surface-secondary) ;
|
|
65
|
+
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
66
66
|
}
|
|
67
67
|
.sbdocs-table {
|
|
68
|
-
background:
|
|
69
|
-
border: 1px solid
|
|
68
|
+
background: var(--color-fm-surface-secondary) ;
|
|
69
|
+
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
70
70
|
}
|
|
71
71
|
.sbdocs-table th {
|
|
72
|
-
background:
|
|
73
|
-
color:
|
|
74
|
-
border-bottom: 1px solid
|
|
72
|
+
background: var(--color-fm-surface-secondary) ;
|
|
73
|
+
color: var(--color-fm-icon-active) ;
|
|
74
|
+
border-bottom: 1px solid var(--color-fm-divider-secondary) ;
|
|
75
75
|
}
|
|
76
76
|
.sbdocs-table td {
|
|
77
|
-
color:
|
|
78
|
-
border-bottom: 1px solid
|
|
77
|
+
color: var(--color-fm-secondary) ;
|
|
78
|
+
border-bottom: 1px solid var(--color-fm-divider-tertiary) ;
|
|
79
79
|
}
|
|
80
80
|
`}
|
|
81
81
|
</style>
|
|
82
82
|
|
|
83
|
-
<div className="
|
|
83
|
+
<div className="bg-fm-surface-primary min-h-screen">
|
|
84
84
|
{/* Header */}
|
|
85
|
-
<div className="relative overflow-hidden border-b
|
|
86
|
-
<div className="absolute inset-0 bg-
|
|
85
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
|
|
86
|
+
<div className="from-fm-secondary-500/10 to-fm-icon-info/10 absolute inset-0 bg-linear-to-r via-transparent" />
|
|
87
87
|
<div className="relative !mx-auto max-w-7xl px-6 py-16">
|
|
88
88
|
<div className="!space-y-6 text-center">
|
|
89
|
-
<div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border
|
|
90
|
-
<BubbleCheckIcon className="h-12 w-12
|
|
89
|
+
<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">
|
|
90
|
+
<BubbleCheckIcon className="text-fm-icon-positive h-12 w-12" />
|
|
91
91
|
</div>
|
|
92
|
-
<h1 className="text-5xl font-bold
|
|
92
|
+
<h1 className="text-fm-icon-active! text-5xl font-bold">
|
|
93
93
|
BubbleCheckIcon
|
|
94
94
|
</h1>
|
|
95
|
-
<p className="!mx-auto max-w-3xl text-xl leading-relaxed
|
|
95
|
+
<p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
|
|
96
96
|
A communication icon representing successful messages,
|
|
97
97
|
confirmations, and positive feedback. Combines chat bubble
|
|
98
98
|
symbolism with checkmark validation for clear success
|
|
@@ -102,28 +102,28 @@ const meta: Meta<typeof BubbleCheckIcon> = {
|
|
|
102
102
|
{/* Stats */}
|
|
103
103
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
104
104
|
<div className="text-center">
|
|
105
|
-
<div className="text-3xl font-bold
|
|
105
|
+
<div className="text-fm-icon-positive text-3xl font-bold">
|
|
106
106
|
Success
|
|
107
107
|
</div>
|
|
108
|
-
<div className="text-
|
|
108
|
+
<div className="text-fm-tertiary text-sm">
|
|
109
109
|
Positive feedback
|
|
110
110
|
</div>
|
|
111
111
|
</div>
|
|
112
|
-
<div className="h-8 w-px
|
|
112
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
113
113
|
<div className="text-center">
|
|
114
|
-
<div className="text-3xl font-bold
|
|
114
|
+
<div className="text-fm-icon-positive text-3xl font-bold">
|
|
115
115
|
Communication
|
|
116
116
|
</div>
|
|
117
|
-
<div className="text-
|
|
117
|
+
<div className="text-fm-tertiary text-sm">
|
|
118
118
|
Message validation
|
|
119
119
|
</div>
|
|
120
120
|
</div>
|
|
121
|
-
<div className="h-8 w-px
|
|
121
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
122
122
|
<div className="text-center">
|
|
123
|
-
<div className="text-3xl font-bold
|
|
123
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
124
124
|
Confirmation
|
|
125
125
|
</div>
|
|
126
|
-
<div className="text-
|
|
126
|
+
<div className="text-fm-tertiary text-sm">
|
|
127
127
|
Action completed
|
|
128
128
|
</div>
|
|
129
129
|
</div>
|
|
@@ -136,16 +136,16 @@ const meta: Meta<typeof BubbleCheckIcon> = {
|
|
|
136
136
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
137
137
|
{/* Quick Usage */}
|
|
138
138
|
<div className="!space-y-8">
|
|
139
|
-
<h2 className="text-center text-3xl font-bold
|
|
139
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
140
140
|
Quick Start
|
|
141
141
|
</h2>
|
|
142
142
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
143
143
|
<div className="!space-y-4">
|
|
144
|
-
<h3 className="text-xl font-semibold
|
|
144
|
+
<h3 className="text-fm-icon-positive! text-xl font-semibold">
|
|
145
145
|
Basic Usage
|
|
146
146
|
</h3>
|
|
147
|
-
<div className="rounded-lg
|
|
148
|
-
<pre className="overflow-x-auto text-sm
|
|
147
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
148
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
149
149
|
{`import { BubbleCheckIcon } from "@icons/bubble-check-icon"
|
|
150
150
|
|
|
151
151
|
function SuccessMessage() {
|
|
@@ -161,13 +161,13 @@ function SuccessMessage() {
|
|
|
161
161
|
</div>
|
|
162
162
|
|
|
163
163
|
<div className="!space-y-4">
|
|
164
|
-
<h3 className="text-xl font-semibold
|
|
164
|
+
<h3 className="text-fm-icon-positive! text-xl font-semibold">
|
|
165
165
|
Live Preview
|
|
166
166
|
</h3>
|
|
167
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
168
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
169
|
-
<BubbleCheckIcon className="h-5 w-5
|
|
170
|
-
<span className="
|
|
167
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
168
|
+
<div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 flex items-center gap-3 rounded-lg border px-4 py-2">
|
|
169
|
+
<BubbleCheckIcon className="text-fm-icon-positive h-5 w-5" />
|
|
170
|
+
<span className="text-fm-icon-active!">
|
|
171
171
|
Message sent successfully!
|
|
172
172
|
</span>
|
|
173
173
|
</div>
|
|
@@ -178,122 +178,130 @@ function SuccessMessage() {
|
|
|
178
178
|
|
|
179
179
|
{/* Props Documentation */}
|
|
180
180
|
<div className="!space-y-8">
|
|
181
|
-
<h2 className="text-center text-3xl font-bold
|
|
181
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
182
182
|
Props & Configuration
|
|
183
183
|
</h2>
|
|
184
184
|
|
|
185
|
-
<div className="overflow-hidden rounded-lg border
|
|
186
|
-
<div className="bg-
|
|
187
|
-
<h3 className="text-xl font-semibold
|
|
185
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
186
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
187
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
188
|
+
Props
|
|
189
|
+
</h3>
|
|
188
190
|
</div>
|
|
189
191
|
<table className="!my-0 w-full">
|
|
190
|
-
<thead className="bg-
|
|
191
|
-
<tr className="border-
|
|
192
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
192
|
+
<thead className="bg-fm-surface-secondary">
|
|
193
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
194
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
193
195
|
Prop
|
|
194
196
|
</th>
|
|
195
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
197
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
196
198
|
Type
|
|
197
199
|
</th>
|
|
198
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
200
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
199
201
|
Default
|
|
200
202
|
</th>
|
|
201
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
203
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
202
204
|
Description
|
|
203
205
|
</th>
|
|
204
206
|
</tr>
|
|
205
207
|
</thead>
|
|
206
208
|
<tbody>
|
|
207
209
|
{" "}
|
|
208
|
-
<tr className="
|
|
209
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
210
|
+
<tr className="bg-fm-surface-secondary!">
|
|
211
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
210
212
|
withAccessibility
|
|
211
213
|
</td>
|
|
212
|
-
<td className="px-6 py-4 text-sm
|
|
214
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
213
215
|
boolean
|
|
214
216
|
</td>
|
|
215
|
-
<td className="px-6 py-4 text-sm
|
|
217
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
216
218
|
true
|
|
217
219
|
</td>
|
|
218
|
-
<td className="px-6 py-4 text-sm
|
|
220
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
219
221
|
Whether to wrap the icon with accessibility feature
|
|
220
222
|
</td>
|
|
221
223
|
</tr>
|
|
222
|
-
<tr className="border-
|
|
223
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
224
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
225
|
+
<td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
|
|
224
226
|
height
|
|
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
|
number | string
|
|
228
230
|
</td>
|
|
229
|
-
<td className="px-6 py-4 text-sm
|
|
230
|
-
|
|
231
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
232
|
+
24
|
|
233
|
+
</td>
|
|
234
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
231
235
|
Height of the icon in pixels
|
|
232
236
|
</td>
|
|
233
237
|
</tr>
|
|
234
|
-
<tr className="border-
|
|
235
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
238
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
239
|
+
<td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
|
|
236
240
|
stroke
|
|
237
241
|
</td>
|
|
238
|
-
<td className="px-6 py-4 text-sm
|
|
242
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
239
243
|
string
|
|
240
244
|
</td>
|
|
241
|
-
<td className="px-6 py-4 text-sm
|
|
245
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
242
246
|
currentColor
|
|
243
247
|
</td>
|
|
244
|
-
<td className="px-6 py-4 text-sm
|
|
248
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
245
249
|
Stroke color of the icon
|
|
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 bg-fm-surface-secondary! border-b">
|
|
253
|
+
<td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
|
|
250
254
|
strokeWidth
|
|
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
|
number | 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
|
1.5
|
|
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
|
Stroke width 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 border-b">
|
|
267
|
+
<td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
|
|
264
268
|
strokeLinecap
|
|
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
|
|
273
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
270
274
|
square
|
|
271
275
|
</td>
|
|
272
|
-
<td className="px-6 py-4 text-sm
|
|
276
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
273
277
|
Line cap style for stroke
|
|
274
278
|
</td>
|
|
275
279
|
</tr>
|
|
276
|
-
<tr className="border-
|
|
277
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
280
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
281
|
+
<td className="text-fm-icon-positive! px-6 py-4 font-mono text-sm">
|
|
278
282
|
className
|
|
279
283
|
</td>
|
|
280
|
-
<td className="px-6 py-4 text-sm
|
|
284
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
281
285
|
string
|
|
282
286
|
</td>
|
|
283
|
-
<td className="px-6 py-4 text-sm
|
|
284
|
-
|
|
287
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
288
|
+
-
|
|
289
|
+
</td>
|
|
290
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
285
291
|
CSS classes for styling
|
|
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
|
-
<BubbleCheckIcon className="!mx-auto mb-2 h-3 w-3
|
|
320
|
-
<span className="text-
|
|
327
|
+
<BubbleCheckIcon 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
|
-
<BubbleCheckIcon className="!mx-auto mb-2 h-4 w-4
|
|
324
|
-
<span className="text-
|
|
333
|
+
<BubbleCheckIcon 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
|
-
<BubbleCheckIcon className="!mx-auto mb-2 h-5 w-5
|
|
328
|
-
<span className="text-
|
|
339
|
+
<BubbleCheckIcon 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
|
-
<BubbleCheckIcon className="!mx-auto mb-2 h-6 w-6
|
|
332
|
-
<span className="text-
|
|
345
|
+
<BubbleCheckIcon 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
|
-
<BubbleCheckIcon className="!mx-auto mb-2 h-8 w-8
|
|
336
|
-
<span className="text-
|
|
351
|
+
<BubbleCheckIcon 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
|
-
<BubbleCheckIcon className="!mx-auto mb-2 h-12 w-12
|
|
340
|
-
<span className="text-
|
|
357
|
+
<BubbleCheckIcon 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
|
<BubbleCheckIcon className="h-4 w-4" />
|
|
353
373
|
|
|
@@ -369,56 +389,56 @@ function SuccessMessage() {
|
|
|
369
389
|
|
|
370
390
|
{/* Color Variations */}
|
|
371
391
|
<div className="!space-y-8">
|
|
372
|
-
<h2 className="text-center text-3xl font-bold
|
|
392
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
373
393
|
Color Variations
|
|
374
394
|
</h2>
|
|
375
395
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
376
396
|
<div className="!space-y-4">
|
|
377
|
-
<h3 className="text-lg font-semibold
|
|
397
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
378
398
|
Success States
|
|
379
399
|
</h3>
|
|
380
|
-
<div className="!space-y-4 rounded-lg border
|
|
400
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
381
401
|
<div className="flex items-center gap-4">
|
|
382
|
-
<BubbleCheckIcon className="h-6 w-6
|
|
402
|
+
<BubbleCheckIcon className="text-fm-icon-positive h-6 w-6" />
|
|
383
403
|
<div>
|
|
384
|
-
<div className="text-sm font-medium
|
|
404
|
+
<div className="text-fm-icon-active! text-sm font-medium">
|
|
385
405
|
Success
|
|
386
406
|
</div>
|
|
387
|
-
<div className="text-
|
|
388
|
-
text-
|
|
407
|
+
<div className="text-fm-tertiary! text-xs">
|
|
408
|
+
text-fm-icon-positive
|
|
389
409
|
</div>
|
|
390
410
|
</div>
|
|
391
411
|
</div>
|
|
392
412
|
<div className="flex items-center gap-4">
|
|
393
|
-
<BubbleCheckIcon className="h-6 w-6
|
|
413
|
+
<BubbleCheckIcon className="text-fm-icon-positive h-6 w-6" />
|
|
394
414
|
<div>
|
|
395
|
-
<div className="text-sm font-medium
|
|
415
|
+
<div className="text-fm-icon-active! text-sm font-medium">
|
|
396
416
|
Completed
|
|
397
417
|
</div>
|
|
398
|
-
<div className="text-
|
|
399
|
-
text-
|
|
418
|
+
<div className="text-fm-tertiary! text-xs">
|
|
419
|
+
text-fm-icon-positive
|
|
400
420
|
</div>
|
|
401
421
|
</div>
|
|
402
422
|
</div>
|
|
403
423
|
<div className="flex items-center gap-4">
|
|
404
|
-
<BubbleCheckIcon className="h-6 w-6
|
|
424
|
+
<BubbleCheckIcon className="text-fm-icon-info h-6 w-6" />
|
|
405
425
|
<div>
|
|
406
|
-
<div className="text-sm font-medium
|
|
426
|
+
<div className="text-fm-icon-active! text-sm font-medium">
|
|
407
427
|
Confirmed
|
|
408
428
|
</div>
|
|
409
|
-
<div className="text-
|
|
410
|
-
text-
|
|
429
|
+
<div className="text-fm-tertiary! text-xs">
|
|
430
|
+
text-fm-icon-info
|
|
411
431
|
</div>
|
|
412
432
|
</div>
|
|
413
433
|
</div>
|
|
414
434
|
<div className="flex items-center gap-4">
|
|
415
|
-
<BubbleCheckIcon className="h-6 w-6
|
|
435
|
+
<BubbleCheckIcon className="text-fm-icon-positive h-6 w-6" />
|
|
416
436
|
<div>
|
|
417
|
-
<div className="text-sm font-medium
|
|
437
|
+
<div className="text-fm-icon-active! text-sm font-medium">
|
|
418
438
|
Approved
|
|
419
439
|
</div>
|
|
420
|
-
<div className="text-
|
|
421
|
-
text-
|
|
440
|
+
<div className="text-fm-tertiary! text-xs">
|
|
441
|
+
text-fm-icon-positive
|
|
422
442
|
</div>
|
|
423
443
|
</div>
|
|
424
444
|
</div>
|
|
@@ -426,11 +446,11 @@ function SuccessMessage() {
|
|
|
426
446
|
</div>
|
|
427
447
|
|
|
428
448
|
<div className="!space-y-4">
|
|
429
|
-
<h3 className="text-lg font-semibold
|
|
449
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
430
450
|
Custom Colors
|
|
431
451
|
</h3>
|
|
432
|
-
<div className="rounded-lg
|
|
433
|
-
<pre className="overflow-x-auto text-sm
|
|
452
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
453
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
434
454
|
{`// Using Tailwind classes
|
|
435
455
|
<BubbleCheckIcon className="h-6 w-6 text-green-400" />
|
|
436
456
|
<BubbleCheckIcon className="h-6 w-6 text-emerald-500" />
|
|
@@ -455,33 +475,33 @@ function SuccessMessage() {
|
|
|
455
475
|
|
|
456
476
|
{/* Usage Examples */}
|
|
457
477
|
<div className="!space-y-8">
|
|
458
|
-
<h2 className="text-center text-3xl font-bold
|
|
478
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
459
479
|
Usage Examples
|
|
460
480
|
</h2>
|
|
461
481
|
|
|
462
482
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
463
483
|
{/* Success Message */}
|
|
464
484
|
<div className="!space-y-4">
|
|
465
|
-
<h3 className="text-lg font-semibold
|
|
485
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
466
486
|
Success Toast
|
|
467
487
|
</h3>
|
|
468
488
|
<div className="!space-y-4">
|
|
469
|
-
<div className="
|
|
489
|
+
<div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 rounded-lg border p-4">
|
|
470
490
|
<div className="flex items-start gap-3">
|
|
471
|
-
<BubbleCheckIcon className="mt-0.5 h-5 w-5 flex-shrink-0
|
|
491
|
+
<BubbleCheckIcon className="text-fm-icon-positive mt-0.5 h-5 w-5 flex-shrink-0" />
|
|
472
492
|
<div>
|
|
473
|
-
<h4 className="font-medium
|
|
493
|
+
<h4 className="text-fm-icon-positive! font-medium">
|
|
474
494
|
Message Sent
|
|
475
495
|
</h4>
|
|
476
|
-
<p className="text-
|
|
496
|
+
<p className="text-fm-icon-positive!/80 text-sm">
|
|
477
497
|
Your message has been delivered successfully to
|
|
478
498
|
all recipients.
|
|
479
499
|
</p>
|
|
480
500
|
</div>
|
|
481
501
|
</div>
|
|
482
502
|
</div>
|
|
483
|
-
<div className="rounded-lg
|
|
484
|
-
<pre className="overflow-x-auto text-sm
|
|
503
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
504
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
485
505
|
{`<div className="border border-green-500/20 bg-green-500/10 p-4 rounded-lg">
|
|
486
506
|
<div className="flex items-start gap-3">
|
|
487
507
|
<BubbleCheckIcon className="h-5 w-5 text-green-400 mt-0.5 flex-shrink-0" />
|
|
@@ -500,40 +520,40 @@ function SuccessMessage() {
|
|
|
500
520
|
|
|
501
521
|
{/* Chat Message Status */}
|
|
502
522
|
<div className="!space-y-4">
|
|
503
|
-
<h3 className="text-lg font-semibold
|
|
523
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
504
524
|
Chat Message Status
|
|
505
525
|
</h3>
|
|
506
526
|
<div className="!space-y-4">
|
|
507
527
|
<div className="!space-y-3">
|
|
508
528
|
<div className="flex justify-end">
|
|
509
|
-
<div className="max-w-xs rounded-lg
|
|
510
|
-
<p className="text-
|
|
529
|
+
<div className="bg-fm-icon-info max-w-xs rounded-lg px-3 py-2">
|
|
530
|
+
<p className="text-fm-icon-active! text-sm">
|
|
511
531
|
Hey! How are you doing?
|
|
512
532
|
</p>
|
|
513
533
|
<div className="mt-1 flex items-center justify-end gap-1">
|
|
514
|
-
<span className="text-
|
|
534
|
+
<span className="text-fm-icon-info text-xs">
|
|
515
535
|
2:30 PM
|
|
516
536
|
</span>
|
|
517
|
-
<BubbleCheckIcon className="h-3 w-3
|
|
537
|
+
<BubbleCheckIcon className="text-fm-icon-positive h-3 w-3" />
|
|
518
538
|
</div>
|
|
519
539
|
</div>
|
|
520
540
|
</div>
|
|
521
541
|
<div className="flex justify-end">
|
|
522
|
-
<div className="max-w-xs rounded-lg
|
|
523
|
-
<p className="text-
|
|
542
|
+
<div className="bg-fm-icon-info max-w-xs rounded-lg px-3 py-2">
|
|
543
|
+
<p className="text-fm-icon-active! text-sm">
|
|
524
544
|
Did you get my previous message?
|
|
525
545
|
</p>
|
|
526
546
|
<div className="mt-1 flex items-center justify-end gap-1">
|
|
527
|
-
<span className="text-
|
|
547
|
+
<span className="text-fm-icon-info text-xs">
|
|
528
548
|
2:32 PM
|
|
529
549
|
</span>
|
|
530
|
-
<BubbleCheckIcon className="h-3 w-3
|
|
550
|
+
<BubbleCheckIcon className="text-fm-icon-positive h-3 w-3" />
|
|
531
551
|
</div>
|
|
532
552
|
</div>
|
|
533
553
|
</div>
|
|
534
554
|
</div>
|
|
535
|
-
<div className="rounded-lg
|
|
536
|
-
<pre className="overflow-x-auto text-sm
|
|
555
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
556
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
537
557
|
{`<div className="flex justify-end">
|
|
538
558
|
<div className="max-w-xs rounded-lg bg-blue-500 px-3 py-2">
|
|
539
559
|
<p className="text-sm text-white">Hey! How are you doing?</p>
|
|
@@ -550,26 +570,26 @@ function SuccessMessage() {
|
|
|
550
570
|
|
|
551
571
|
{/* Form Confirmation */}
|
|
552
572
|
<div className="!space-y-4">
|
|
553
|
-
<h3 className="text-lg font-semibold
|
|
573
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
554
574
|
Form Confirmation
|
|
555
575
|
</h3>
|
|
556
576
|
<div className="!space-y-4">
|
|
557
|
-
<div className="rounded-lg border
|
|
577
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
558
578
|
<div className="text-center">
|
|
559
|
-
<div className="!mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full
|
|
560
|
-
<BubbleCheckIcon className="h-8 w-8
|
|
579
|
+
<div className="bg-fm-icon-positive/20 !mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full">
|
|
580
|
+
<BubbleCheckIcon className="text-fm-icon-positive h-8 w-8" />
|
|
561
581
|
</div>
|
|
562
|
-
<h3 className="mb-2 text-lg font-semibold
|
|
582
|
+
<h3 className="text-fm-icon-active! mb-2 text-lg font-semibold">
|
|
563
583
|
Form Submitted!
|
|
564
584
|
</h3>
|
|
565
|
-
<p className="text-
|
|
585
|
+
<p className="text-fm-secondary! text-sm">
|
|
566
586
|
We've received your feedback and will get back to
|
|
567
587
|
you within 24 hours.
|
|
568
588
|
</p>
|
|
569
589
|
</div>
|
|
570
590
|
</div>
|
|
571
|
-
<div className="rounded-lg
|
|
572
|
-
<pre className="overflow-x-auto text-sm
|
|
591
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
592
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
573
593
|
{`<div className="text-center">
|
|
574
594
|
<div className="mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-green-500/20">
|
|
575
595
|
<BubbleCheckIcon className="h-8 w-8 text-green-400" />
|
|
@@ -586,38 +606,38 @@ function SuccessMessage() {
|
|
|
586
606
|
|
|
587
607
|
{/* Status List */}
|
|
588
608
|
<div className="!space-y-4">
|
|
589
|
-
<h3 className="text-lg font-semibold
|
|
609
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
590
610
|
Status List
|
|
591
611
|
</h3>
|
|
592
612
|
<div className="!space-y-4">
|
|
593
|
-
<div className="!space-y-3 rounded-lg border
|
|
613
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4">
|
|
594
614
|
<div className="flex items-center gap-3">
|
|
595
|
-
<BubbleCheckIcon className="h-4 w-4
|
|
596
|
-
<span className="text-
|
|
615
|
+
<BubbleCheckIcon className="text-fm-icon-positive h-4 w-4" />
|
|
616
|
+
<span className="text-fm-icon-active! text-sm">
|
|
597
617
|
Email verification completed
|
|
598
618
|
</span>
|
|
599
619
|
</div>
|
|
600
620
|
<div className="flex items-center gap-3">
|
|
601
|
-
<BubbleCheckIcon className="h-4 w-4
|
|
602
|
-
<span className="text-
|
|
621
|
+
<BubbleCheckIcon className="text-fm-icon-positive h-4 w-4" />
|
|
622
|
+
<span className="text-fm-icon-active! text-sm">
|
|
603
623
|
Profile information updated
|
|
604
624
|
</span>
|
|
605
625
|
</div>
|
|
606
626
|
<div className="flex items-center gap-3">
|
|
607
|
-
<BubbleCheckIcon className="h-4 w-4
|
|
608
|
-
<span className="text-
|
|
627
|
+
<BubbleCheckIcon className="text-fm-icon-positive h-4 w-4" />
|
|
628
|
+
<span className="text-fm-icon-active! text-sm">
|
|
609
629
|
Security settings configured
|
|
610
630
|
</span>
|
|
611
631
|
</div>
|
|
612
632
|
<div className="flex items-center gap-3">
|
|
613
|
-
<div className="h-4 w-4 rounded-full border-2
|
|
614
|
-
<span className="text-
|
|
633
|
+
<div className="border-fm-divider-primary h-4 w-4 rounded-full border-2"></div>
|
|
634
|
+
<span className="text-fm-tertiary! text-sm">
|
|
615
635
|
Payment method pending
|
|
616
636
|
</span>
|
|
617
637
|
</div>
|
|
618
638
|
</div>
|
|
619
|
-
<div className="rounded-lg
|
|
620
|
-
<pre className="overflow-x-auto text-sm
|
|
639
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
640
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
621
641
|
{`<div className="space-y-3">
|
|
622
642
|
<div className="flex items-center gap-3">
|
|
623
643
|
<BubbleCheckIcon className="h-4 w-4 text-green-400" />
|
|
@@ -639,15 +659,15 @@ function SuccessMessage() {
|
|
|
639
659
|
|
|
640
660
|
{/* Notification Badges */}
|
|
641
661
|
<div className="!space-y-4">
|
|
642
|
-
<h3 className="text-lg font-semibold
|
|
662
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
643
663
|
Notification Badges
|
|
644
664
|
</h3>
|
|
645
665
|
<div className="!space-y-4">
|
|
646
666
|
<div className="flex gap-4">
|
|
647
667
|
<div className="relative">
|
|
648
|
-
<button className="
|
|
668
|
+
<button className="border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary rounded-lg border p-3 transition-colors">
|
|
649
669
|
<svg
|
|
650
|
-
className="h-5 w-5
|
|
670
|
+
className="text-fm-icon-active h-5 w-5"
|
|
651
671
|
fill="none"
|
|
652
672
|
stroke="currentColor"
|
|
653
673
|
viewBox="0 0 24 24"
|
|
@@ -666,12 +686,12 @@ function SuccessMessage() {
|
|
|
666
686
|
/>
|
|
667
687
|
</svg>
|
|
668
688
|
</button>
|
|
669
|
-
<BubbleCheckIcon className="absolute -top-1 -right-1 h-4 w-4
|
|
689
|
+
<BubbleCheckIcon className="text-fm-icon-positive absolute -top-1 -right-1 h-4 w-4" />
|
|
670
690
|
</div>
|
|
671
691
|
<div className="relative">
|
|
672
|
-
<button className="
|
|
692
|
+
<button className="border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary rounded-lg border p-3 transition-colors">
|
|
673
693
|
<svg
|
|
674
|
-
className="h-5 w-5
|
|
694
|
+
className="text-fm-icon-active h-5 w-5"
|
|
675
695
|
fill="none"
|
|
676
696
|
stroke="currentColor"
|
|
677
697
|
viewBox="0 0 24 24"
|
|
@@ -684,11 +704,11 @@ function SuccessMessage() {
|
|
|
684
704
|
/>
|
|
685
705
|
</svg>
|
|
686
706
|
</button>
|
|
687
|
-
<BubbleCheckIcon className="absolute -top-1 -right-1 h-4 w-4
|
|
707
|
+
<BubbleCheckIcon className="text-fm-icon-positive absolute -top-1 -right-1 h-4 w-4" />
|
|
688
708
|
</div>
|
|
689
709
|
</div>
|
|
690
|
-
<div className="rounded-lg
|
|
691
|
-
<pre className="overflow-x-auto text-sm
|
|
710
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
711
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
692
712
|
{`<div className="relative">
|
|
693
713
|
<button className="p-3 border border-white/10 bg-white/5 rounded-lg">
|
|
694
714
|
{/* Main icon */}
|
|
@@ -702,22 +722,22 @@ function SuccessMessage() {
|
|
|
702
722
|
|
|
703
723
|
{/* Action Button */}
|
|
704
724
|
<div className="!space-y-4">
|
|
705
|
-
<h3 className="text-lg font-semibold
|
|
725
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
706
726
|
Action Button
|
|
707
727
|
</h3>
|
|
708
728
|
<div className="!space-y-4">
|
|
709
729
|
<div className="flex gap-4">
|
|
710
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
730
|
+
<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">
|
|
711
731
|
<BubbleCheckIcon className="h-4 w-4" />
|
|
712
732
|
Mark as Read
|
|
713
733
|
</button>
|
|
714
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
734
|
+
<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">
|
|
715
735
|
<BubbleCheckIcon className="h-4 w-4" />
|
|
716
736
|
Approve Message
|
|
717
737
|
</button>
|
|
718
738
|
</div>
|
|
719
|
-
<div className="rounded-lg
|
|
720
|
-
<pre className="overflow-x-auto text-sm
|
|
739
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
740
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
721
741
|
{`// Confirm action button
|
|
722
742
|
<button className="flex items-center gap-2 bg-green-500/20 border border-green-500/30 px-4 py-2 rounded-lg">
|
|
723
743
|
<BubbleCheckIcon className="h-4 w-4" />
|
|
@@ -738,40 +758,42 @@ function SuccessMessage() {
|
|
|
738
758
|
|
|
739
759
|
{/* Animation States */}
|
|
740
760
|
<div className="!space-y-8">
|
|
741
|
-
<h2 className="text-center text-3xl font-bold
|
|
761
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
742
762
|
Animation States
|
|
743
763
|
</h2>
|
|
744
764
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-3">
|
|
745
765
|
<div className="text-center">
|
|
746
|
-
<h3 className="mb-4 text-lg font-medium
|
|
766
|
+
<h3 className="text-fm-icon-active! mb-4 text-lg font-medium">
|
|
747
767
|
Bounce Animation
|
|
748
768
|
</h3>
|
|
749
|
-
<div className="rounded-lg border
|
|
750
|
-
<BubbleCheckIcon className="!mx-auto h-8 w-8 animate-bounce
|
|
769
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border px-6 py-8">
|
|
770
|
+
<BubbleCheckIcon className="text-fm-icon-positive !mx-auto h-8 w-8 animate-bounce" />
|
|
751
771
|
</div>
|
|
752
|
-
<p className="mt-2 text-xs
|
|
772
|
+
<p className="text-fm-tertiary! mt-2 text-xs">
|
|
753
773
|
animate-bounce
|
|
754
774
|
</p>
|
|
755
775
|
</div>
|
|
756
776
|
|
|
757
777
|
<div className="text-center">
|
|
758
|
-
<h3 className="mb-4 text-lg font-medium
|
|
778
|
+
<h3 className="text-fm-icon-active! mb-4 text-lg font-medium">
|
|
759
779
|
Pulse Animation
|
|
760
780
|
</h3>
|
|
761
|
-
<div className="rounded-lg border
|
|
762
|
-
<BubbleCheckIcon className="!mx-auto h-8 w-8 animate-pulse
|
|
781
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border px-6 py-8">
|
|
782
|
+
<BubbleCheckIcon className="text-fm-icon-positive !mx-auto h-8 w-8 animate-pulse" />
|
|
763
783
|
</div>
|
|
764
|
-
<p className="mt-2 text-xs
|
|
784
|
+
<p className="text-fm-tertiary! mt-2 text-xs">
|
|
785
|
+
animate-pulse
|
|
786
|
+
</p>
|
|
765
787
|
</div>
|
|
766
788
|
|
|
767
789
|
<div className="text-center">
|
|
768
|
-
<h3 className="mb-4 text-lg font-medium
|
|
790
|
+
<h3 className="text-fm-icon-active! mb-4 text-lg font-medium">
|
|
769
791
|
Scale on Hover
|
|
770
792
|
</h3>
|
|
771
|
-
<div className="rounded-lg border
|
|
772
|
-
<BubbleCheckIcon className="!mx-auto h-8 w-8
|
|
793
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border px-6 py-8">
|
|
794
|
+
<BubbleCheckIcon className="text-fm-icon-positive !mx-auto h-8 w-8 transition-transform hover:scale-110" />
|
|
773
795
|
</div>
|
|
774
|
-
<p className="mt-2 text-xs
|
|
796
|
+
<p className="text-fm-tertiary! mt-2 text-xs">
|
|
775
797
|
hover:scale-110
|
|
776
798
|
</p>
|
|
777
799
|
</div>
|
|
@@ -780,64 +802,64 @@ function SuccessMessage() {
|
|
|
780
802
|
|
|
781
803
|
{/* Accessibility */}
|
|
782
804
|
<div className="!space-y-8">
|
|
783
|
-
<h2 className="text-center text-3xl font-bold
|
|
805
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
784
806
|
Accessibility Features
|
|
785
807
|
</h2>
|
|
786
808
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
787
|
-
<div className="!space-y-4 rounded-lg border
|
|
788
|
-
<h3 className="text-lg font-semibold
|
|
809
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
810
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
789
811
|
✅ Built-in Features
|
|
790
812
|
</h3>
|
|
791
|
-
<ul className="!space-y-2 text-sm
|
|
792
|
-
<li className="
|
|
813
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
814
|
+
<li className="text-fm-secondary!">
|
|
793
815
|
Uses Radix UI AccessibleIcon wrapper
|
|
794
816
|
</li>
|
|
795
|
-
<li className="
|
|
817
|
+
<li className="text-fm-secondary!">
|
|
796
818
|
Provides screen reader label "Bubble Check icon"
|
|
797
819
|
</li>
|
|
798
|
-
<li className="
|
|
820
|
+
<li className="text-fm-secondary!">
|
|
799
821
|
Supports keyboard navigation when interactive
|
|
800
822
|
</li>
|
|
801
|
-
<li className="
|
|
823
|
+
<li className="text-fm-secondary!">
|
|
802
824
|
Maintains proper color contrast ratios
|
|
803
825
|
</li>
|
|
804
|
-
<li className="
|
|
826
|
+
<li className="text-fm-secondary!">
|
|
805
827
|
Scales with user's font size preferences
|
|
806
828
|
</li>
|
|
807
829
|
</ul>
|
|
808
830
|
</div>
|
|
809
831
|
|
|
810
|
-
<div className="!space-y-4 rounded-lg border
|
|
811
|
-
<h3 className="text-lg font-semibold
|
|
832
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
833
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
812
834
|
💡 Best Practices
|
|
813
835
|
</h3>
|
|
814
|
-
<ul className="!space-y-2 text-sm
|
|
815
|
-
<li className="
|
|
836
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
837
|
+
<li className="text-fm-secondary!">
|
|
816
838
|
Always pair with descriptive success text
|
|
817
839
|
</li>
|
|
818
|
-
<li className="
|
|
840
|
+
<li className="text-fm-secondary!">
|
|
819
841
|
Use consistent colors for success states
|
|
820
842
|
</li>
|
|
821
|
-
<li className="
|
|
843
|
+
<li className="text-fm-secondary!">
|
|
822
844
|
Ensure sufficient color contrast for visibility
|
|
823
845
|
</li>
|
|
824
|
-
<li className="
|
|
846
|
+
<li className="text-fm-secondary!">
|
|
825
847
|
Add focus states for interactive elements
|
|
826
848
|
</li>
|
|
827
|
-
<li className="
|
|
849
|
+
<li className="text-fm-secondary!">
|
|
828
850
|
Consider animation preferences for users
|
|
829
851
|
</li>
|
|
830
852
|
</ul>
|
|
831
853
|
</div>
|
|
832
854
|
</div>
|
|
833
855
|
|
|
834
|
-
<div className="rounded-lg border
|
|
835
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
856
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
857
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
836
858
|
Custom Accessibility Implementation
|
|
837
859
|
</h3>
|
|
838
860
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
839
|
-
<div className="rounded-lg
|
|
840
|
-
<pre className="overflow-x-auto text-sm
|
|
861
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
862
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
841
863
|
{`// Custom implementation with specific context
|
|
842
864
|
import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
|
|
843
865
|
|
|
@@ -863,13 +885,13 @@ function SuccessMessageIcon({ label = "Success message", ...props }) {
|
|
|
863
885
|
</pre>
|
|
864
886
|
</div>
|
|
865
887
|
<div className="!space-y-4">
|
|
866
|
-
<p className="text-
|
|
888
|
+
<p className="text-fm-secondary! text-sm">
|
|
867
889
|
For specific contexts, you can wrap the BubbleCheckIcon
|
|
868
890
|
with a custom AccessibleIcon component that provides
|
|
869
891
|
more descriptive labels for different success scenarios.
|
|
870
892
|
</p>
|
|
871
|
-
<div className="
|
|
872
|
-
<div className="flex items-center gap-2 text-sm
|
|
893
|
+
<div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 rounded-lg border p-4">
|
|
894
|
+
<div className="text-fm-icon-positive flex items-center gap-2 text-sm">
|
|
873
895
|
<BubbleCheckIcon className="h-4 w-4" />
|
|
874
896
|
<span>
|
|
875
897
|
This gives screen readers specific context about the
|
|
@@ -884,48 +906,60 @@ function SuccessMessageIcon({ label = "Success message", ...props }) {
|
|
|
884
906
|
|
|
885
907
|
{/* Related Icons */}
|
|
886
908
|
<div className="!space-y-8">
|
|
887
|
-
<h2 className="text-center text-3xl font-bold
|
|
909
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
888
910
|
Related Icons
|
|
889
911
|
</h2>
|
|
890
912
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
891
|
-
<div className="!space-y-3 rounded-lg border
|
|
892
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
913
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
914
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
893
915
|
<span className="text-2xl">✅</span>
|
|
894
916
|
</div>
|
|
895
917
|
<div>
|
|
896
|
-
<div className="font-medium
|
|
897
|
-
|
|
918
|
+
<div className="text-fm-icon-active! font-medium">
|
|
919
|
+
CheckIcon
|
|
920
|
+
</div>
|
|
921
|
+
<div className="text-fm-tertiary! text-xs">
|
|
898
922
|
Simple checkmark
|
|
899
923
|
</div>
|
|
900
924
|
</div>
|
|
901
925
|
</div>
|
|
902
|
-
<div className="!space-y-3 rounded-lg border
|
|
903
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
926
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
927
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
904
928
|
<span className="text-2xl">💬</span>
|
|
905
929
|
</div>
|
|
906
930
|
<div>
|
|
907
|
-
<div className="font-medium
|
|
908
|
-
|
|
931
|
+
<div className="text-fm-icon-active! font-medium">
|
|
932
|
+
BubbleIcon
|
|
933
|
+
</div>
|
|
934
|
+
<div className="text-fm-tertiary! text-xs">
|
|
935
|
+
Chat bubble
|
|
936
|
+
</div>
|
|
909
937
|
</div>
|
|
910
938
|
</div>
|
|
911
|
-
<div className="!space-y-3 rounded-lg border
|
|
912
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
939
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
940
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
913
941
|
<span className="text-2xl">✉️</span>
|
|
914
942
|
</div>
|
|
915
943
|
<div>
|
|
916
|
-
<div className="font-medium
|
|
917
|
-
|
|
944
|
+
<div className="text-fm-icon-active! font-medium">
|
|
945
|
+
MessageIcon
|
|
946
|
+
</div>
|
|
947
|
+
<div className="text-fm-tertiary! text-xs">
|
|
918
948
|
Email message
|
|
919
949
|
</div>
|
|
920
950
|
</div>
|
|
921
951
|
</div>
|
|
922
|
-
<div className="!space-y-3 rounded-lg border
|
|
923
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
952
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
953
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
924
954
|
<span className="text-2xl">🎉</span>
|
|
925
955
|
</div>
|
|
926
956
|
<div>
|
|
927
|
-
<div className="font-medium
|
|
928
|
-
|
|
957
|
+
<div className="text-fm-icon-active! font-medium">
|
|
958
|
+
SuccessIcon
|
|
959
|
+
</div>
|
|
960
|
+
<div className="text-fm-tertiary! text-xs">
|
|
961
|
+
Celebration
|
|
962
|
+
</div>
|
|
929
963
|
</div>
|
|
930
964
|
</div>
|
|
931
965
|
</div>
|
|
@@ -933,15 +967,15 @@ function SuccessMessageIcon({ label = "Success message", ...props }) {
|
|
|
933
967
|
</div>
|
|
934
968
|
|
|
935
969
|
{/* Footer */}
|
|
936
|
-
<div className="border-
|
|
970
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
937
971
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
938
972
|
<div className="!space-y-4 text-center">
|
|
939
|
-
<p className="
|
|
973
|
+
<p className="text-fm-tertiary!">
|
|
940
974
|
BubbleCheckIcon is part of the Aural UI icon library,
|
|
941
975
|
designed for clear success communication and message
|
|
942
976
|
validation.
|
|
943
977
|
</p>
|
|
944
|
-
<p className="text-
|
|
978
|
+
<p className="text-fm-placeholder! text-sm">
|
|
945
979
|
Perfect for chat applications, form confirmations, status
|
|
946
980
|
indicators, and any interface requiring success feedback.
|
|
947
981
|
</p>
|
|
@@ -995,8 +1029,8 @@ const storyParameters = {
|
|
|
995
1029
|
backgrounds: {
|
|
996
1030
|
default: "dark",
|
|
997
1031
|
values: [
|
|
998
|
-
{ name: "dark", value: "
|
|
999
|
-
{ name: "darker", value: "
|
|
1032
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
1033
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
1000
1034
|
],
|
|
1001
1035
|
},
|
|
1002
1036
|
}
|
|
@@ -1005,12 +1039,12 @@ export const Default: Story = {
|
|
|
1005
1039
|
args: {
|
|
1006
1040
|
width: 24,
|
|
1007
1041
|
height: 24,
|
|
1008
|
-
className: "text-
|
|
1042
|
+
className: "text-fm-icon-positive",
|
|
1009
1043
|
withAccessibility: true,
|
|
1010
1044
|
},
|
|
1011
1045
|
parameters: storyParameters,
|
|
1012
1046
|
render: (args) => (
|
|
1013
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1047
|
+
<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">
|
|
1014
1048
|
<BubbleCheckIcon {...args} />
|
|
1015
1049
|
</div>
|
|
1016
1050
|
),
|
|
@@ -1027,30 +1061,30 @@ export const SizeVariations: Story = {
|
|
|
1027
1061
|
},
|
|
1028
1062
|
},
|
|
1029
1063
|
render: () => (
|
|
1030
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
1064
|
+
<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">
|
|
1031
1065
|
<div className="text-center">
|
|
1032
|
-
<BubbleCheckIcon className="!mx-auto mb-2 h-3 w-3
|
|
1033
|
-
<span className="text-
|
|
1066
|
+
<BubbleCheckIcon className="text-fm-icon-positive !mx-auto mb-2 h-3 w-3" />
|
|
1067
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
1034
1068
|
</div>
|
|
1035
1069
|
<div className="text-center">
|
|
1036
|
-
<BubbleCheckIcon className="!mx-auto mb-2 h-4 w-4
|
|
1037
|
-
<span className="text-
|
|
1070
|
+
<BubbleCheckIcon className="text-fm-icon-positive !mx-auto mb-2 h-4 w-4" />
|
|
1071
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
1038
1072
|
</div>
|
|
1039
1073
|
<div className="text-center">
|
|
1040
|
-
<BubbleCheckIcon className="!mx-auto mb-2 h-5 w-5
|
|
1041
|
-
<span className="text-
|
|
1074
|
+
<BubbleCheckIcon className="text-fm-icon-positive !mx-auto mb-2 h-5 w-5" />
|
|
1075
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
1042
1076
|
</div>
|
|
1043
1077
|
<div className="text-center">
|
|
1044
|
-
<BubbleCheckIcon className="!mx-auto mb-2 h-6 w-6
|
|
1045
|
-
<span className="text-
|
|
1078
|
+
<BubbleCheckIcon className="text-fm-icon-positive !mx-auto mb-2 h-6 w-6" />
|
|
1079
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
1046
1080
|
</div>
|
|
1047
1081
|
<div className="text-center">
|
|
1048
|
-
<BubbleCheckIcon className="!mx-auto mb-2 h-8 w-8
|
|
1049
|
-
<span className="text-
|
|
1082
|
+
<BubbleCheckIcon className="text-fm-icon-positive !mx-auto mb-2 h-8 w-8" />
|
|
1083
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
1050
1084
|
</div>
|
|
1051
1085
|
<div className="text-center">
|
|
1052
|
-
<BubbleCheckIcon className="!mx-auto mb-2 h-12 w-12
|
|
1053
|
-
<span className="text-
|
|
1086
|
+
<BubbleCheckIcon className="text-fm-icon-positive !mx-auto mb-2 h-12 w-12" />
|
|
1087
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
1054
1088
|
</div>
|
|
1055
1089
|
</div>
|
|
1056
1090
|
),
|
|
@@ -1067,34 +1101,44 @@ export const ColorVariations: Story = {
|
|
|
1067
1101
|
},
|
|
1068
1102
|
},
|
|
1069
1103
|
render: () => (
|
|
1070
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
1104
|
+
<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">
|
|
1071
1105
|
<div className="text-center">
|
|
1072
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1073
|
-
<BubbleCheckIcon className="h-8 w-8
|
|
1106
|
+
<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">
|
|
1107
|
+
<BubbleCheckIcon className="text-fm-icon-positive h-8 w-8" />
|
|
1108
|
+
</div>
|
|
1109
|
+
<div className="text-fm-icon-active! text-sm font-medium">Success</div>
|
|
1110
|
+
<div className="text-fm-icon-positive text-xs">
|
|
1111
|
+
text-fm-icon-positive
|
|
1074
1112
|
</div>
|
|
1075
|
-
<div className="text-sm font-medium !text-white">Success</div>
|
|
1076
|
-
<div className="text-xs text-green-400">text-green-400</div>
|
|
1077
1113
|
</div>
|
|
1078
1114
|
<div className="text-center">
|
|
1079
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1080
|
-
<BubbleCheckIcon className="h-8 w-8
|
|
1115
|
+
<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">
|
|
1116
|
+
<BubbleCheckIcon className="text-fm-icon-positive h-8 w-8" />
|
|
1117
|
+
</div>
|
|
1118
|
+
<div className="text-fm-icon-active! text-sm font-medium">
|
|
1119
|
+
Completed
|
|
1120
|
+
</div>
|
|
1121
|
+
<div className="text-fm-icon-positive text-xs">
|
|
1122
|
+
text-fm-icon-positive
|
|
1081
1123
|
</div>
|
|
1082
|
-
<div className="text-sm font-medium !text-white">Completed</div>
|
|
1083
|
-
<div className="text-xs text-emerald-400">text-emerald-400</div>
|
|
1084
1124
|
</div>
|
|
1085
1125
|
<div className="text-center">
|
|
1086
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1087
|
-
<BubbleCheckIcon className="h-8 w-8
|
|
1126
|
+
<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">
|
|
1127
|
+
<BubbleCheckIcon className="text-fm-icon-info h-8 w-8" />
|
|
1088
1128
|
</div>
|
|
1089
|
-
<div className="text-sm font-medium
|
|
1090
|
-
|
|
1129
|
+
<div className="text-fm-icon-active! text-sm font-medium">
|
|
1130
|
+
Confirmed
|
|
1131
|
+
</div>
|
|
1132
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
1091
1133
|
</div>
|
|
1092
1134
|
<div className="text-center">
|
|
1093
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1094
|
-
<BubbleCheckIcon className="h-8 w-8
|
|
1135
|
+
<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">
|
|
1136
|
+
<BubbleCheckIcon className="text-fm-icon-positive h-8 w-8" />
|
|
1137
|
+
</div>
|
|
1138
|
+
<div className="text-fm-icon-active! text-sm font-medium">Approved</div>
|
|
1139
|
+
<div className="text-fm-icon-positive text-xs">
|
|
1140
|
+
text-fm-icon-positive
|
|
1095
1141
|
</div>
|
|
1096
|
-
<div className="text-sm font-medium !text-white">Approved</div>
|
|
1097
|
-
<div className="text-xs text-lime-400">text-lime-400</div>
|
|
1098
1142
|
</div>
|
|
1099
1143
|
</div>
|
|
1100
1144
|
),
|
|
@@ -1111,16 +1155,20 @@ export const UsageExamples: Story = {
|
|
|
1111
1155
|
},
|
|
1112
1156
|
},
|
|
1113
1157
|
render: () => (
|
|
1114
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
1158
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
1115
1159
|
{/* Success Toast */}
|
|
1116
1160
|
<div className="!space-y-2">
|
|
1117
|
-
<h3 className="text-sm font-medium
|
|
1118
|
-
|
|
1161
|
+
<h3 className="text-fm-icon-active! text-sm font-medium">
|
|
1162
|
+
Success Toast
|
|
1163
|
+
</h3>
|
|
1164
|
+
<div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 rounded-lg border p-4">
|
|
1119
1165
|
<div className="flex items-start gap-3">
|
|
1120
|
-
<BubbleCheckIcon className="mt-0.5 h-5 w-5 flex-shrink-0
|
|
1166
|
+
<BubbleCheckIcon className="text-fm-icon-positive mt-0.5 h-5 w-5 flex-shrink-0" />
|
|
1121
1167
|
<div>
|
|
1122
|
-
<h4 className="font-medium
|
|
1123
|
-
|
|
1168
|
+
<h4 className="text-fm-icon-positive font-medium">
|
|
1169
|
+
Message Sent
|
|
1170
|
+
</h4>
|
|
1171
|
+
<p className="text-fm-icon-positive/80 text-sm">
|
|
1124
1172
|
Your message has been delivered successfully to all recipients.
|
|
1125
1173
|
</p>
|
|
1126
1174
|
</div>
|
|
@@ -1130,13 +1178,17 @@ export const UsageExamples: Story = {
|
|
|
1130
1178
|
|
|
1131
1179
|
{/* Chat Status */}
|
|
1132
1180
|
<div className="!space-y-2">
|
|
1133
|
-
<h3 className="text-sm font-medium
|
|
1181
|
+
<h3 className="text-fm-icon-active! text-sm font-medium">
|
|
1182
|
+
Chat Message Status
|
|
1183
|
+
</h3>
|
|
1134
1184
|
<div className="flex justify-end">
|
|
1135
|
-
<div className="max-w-xs rounded-lg
|
|
1136
|
-
<p className="text-
|
|
1185
|
+
<div className="bg-fm-icon-info max-w-xs rounded-lg px-3 py-2">
|
|
1186
|
+
<p className="text-fm-icon-active text-sm">
|
|
1187
|
+
Hey! How are you doing?
|
|
1188
|
+
</p>
|
|
1137
1189
|
<div className="mt-1 flex items-center justify-end gap-1">
|
|
1138
|
-
<span className="text-
|
|
1139
|
-
<BubbleCheckIcon className="h-3 w-3
|
|
1190
|
+
<span className="text-fm-icon-info text-xs">2:30 PM</span>
|
|
1191
|
+
<BubbleCheckIcon className="text-fm-icon-positive h-3 w-3" />
|
|
1140
1192
|
</div>
|
|
1141
1193
|
</div>
|
|
1142
1194
|
</div>
|
|
@@ -1144,15 +1196,17 @@ export const UsageExamples: Story = {
|
|
|
1144
1196
|
|
|
1145
1197
|
{/* Form Confirmation */}
|
|
1146
1198
|
<div className="!space-y-2">
|
|
1147
|
-
<h3 className="text-sm font-medium
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1199
|
+
<h3 className="text-fm-icon-active! text-sm font-medium">
|
|
1200
|
+
Form Confirmation
|
|
1201
|
+
</h3>
|
|
1202
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6 text-center">
|
|
1203
|
+
<div className="bg-fm-icon-positive/20 !mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full">
|
|
1204
|
+
<BubbleCheckIcon className="text-fm-icon-positive h-8 w-8" />
|
|
1151
1205
|
</div>
|
|
1152
|
-
<h3 className="mb-2 text-lg font-semibold
|
|
1206
|
+
<h3 className="text-fm-icon-active! mb-2 text-lg font-semibold">
|
|
1153
1207
|
Form Submitted!
|
|
1154
1208
|
</h3>
|
|
1155
|
-
<p className="text-
|
|
1209
|
+
<p className="text-fm-secondary! text-sm">
|
|
1156
1210
|
We've received your feedback and will get back to you within 24
|
|
1157
1211
|
hours.
|
|
1158
1212
|
</p>
|
|
@@ -1161,13 +1215,15 @@ export const UsageExamples: Story = {
|
|
|
1161
1215
|
|
|
1162
1216
|
{/* Action Buttons */}
|
|
1163
1217
|
<div className="!space-y-2">
|
|
1164
|
-
<h3 className="text-sm font-medium
|
|
1218
|
+
<h3 className="text-fm-icon-active! text-sm font-medium">
|
|
1219
|
+
Action Buttons
|
|
1220
|
+
</h3>
|
|
1165
1221
|
<div className="flex gap-4">
|
|
1166
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
1222
|
+
<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">
|
|
1167
1223
|
<BubbleCheckIcon className="h-4 w-4" />
|
|
1168
1224
|
Mark as Read
|
|
1169
1225
|
</button>
|
|
1170
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
1226
|
+
<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">
|
|
1171
1227
|
<BubbleCheckIcon className="h-4 w-4" />
|
|
1172
1228
|
Approve Message
|
|
1173
1229
|
</button>
|
|
@@ -1188,33 +1244,35 @@ export const AnimatedStates: Story = {
|
|
|
1188
1244
|
},
|
|
1189
1245
|
},
|
|
1190
1246
|
render: () => (
|
|
1191
|
-
<div className="grid min-h-dvh grid-cols-1 items-center gap-8 rounded-lg bg-
|
|
1247
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary grid min-h-dvh grid-cols-1 items-center gap-8 rounded-lg bg-linear-to-br p-8 md:grid-cols-3">
|
|
1192
1248
|
<div className="text-center">
|
|
1193
|
-
<h3 className="mb-4 text-lg font-medium
|
|
1249
|
+
<h3 className="text-fm-icon-active! mb-4 text-lg font-medium">
|
|
1194
1250
|
Bounce Animation
|
|
1195
1251
|
</h3>
|
|
1196
|
-
<div className="rounded-lg border
|
|
1197
|
-
<BubbleCheckIcon className="!mx-auto h-8 w-8 animate-bounce
|
|
1252
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border px-6 py-8">
|
|
1253
|
+
<BubbleCheckIcon className="text-fm-icon-positive !mx-auto h-8 w-8 animate-bounce" />
|
|
1198
1254
|
</div>
|
|
1199
|
-
<p className="mt-2 text-xs
|
|
1255
|
+
<p className="text-fm-tertiary! mt-2 text-xs">Success celebration</p>
|
|
1200
1256
|
</div>
|
|
1201
1257
|
|
|
1202
1258
|
<div className="text-center">
|
|
1203
|
-
<h3 className="mb-4 text-lg font-medium
|
|
1259
|
+
<h3 className="text-fm-icon-active! mb-4 text-lg font-medium">
|
|
1204
1260
|
Pulse Animation
|
|
1205
1261
|
</h3>
|
|
1206
|
-
<div className="rounded-lg border
|
|
1207
|
-
<BubbleCheckIcon className="!mx-auto h-8 w-8 animate-pulse
|
|
1262
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border px-6 py-8">
|
|
1263
|
+
<BubbleCheckIcon className="text-fm-icon-positive !mx-auto h-8 w-8 animate-pulse" />
|
|
1208
1264
|
</div>
|
|
1209
|
-
<p className="mt-2 text-xs
|
|
1265
|
+
<p className="text-fm-tertiary! mt-2 text-xs">Attention drawing</p>
|
|
1210
1266
|
</div>
|
|
1211
1267
|
|
|
1212
1268
|
<div className="text-center">
|
|
1213
|
-
<h3 className="mb-4 text-lg font-medium
|
|
1214
|
-
|
|
1215
|
-
|
|
1269
|
+
<h3 className="text-fm-icon-active! mb-4 text-lg font-medium">
|
|
1270
|
+
Scale on Hover
|
|
1271
|
+
</h3>
|
|
1272
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border px-6 py-8">
|
|
1273
|
+
<BubbleCheckIcon className="text-fm-icon-positive !mx-auto h-8 w-8 transition-transform hover:scale-110" />
|
|
1216
1274
|
</div>
|
|
1217
|
-
<p className="mt-2 text-xs
|
|
1275
|
+
<p className="text-fm-tertiary! mt-2 text-xs">Interactive feedback</p>
|
|
1218
1276
|
</div>
|
|
1219
1277
|
</div>
|
|
1220
1278
|
),
|
|
@@ -1233,13 +1291,13 @@ export const Playground: Story = {
|
|
|
1233
1291
|
args: {
|
|
1234
1292
|
width: 32,
|
|
1235
1293
|
height: 32,
|
|
1236
|
-
className: "text-
|
|
1294
|
+
className: "text-fm-icon-positive",
|
|
1237
1295
|
strokeWidth: 1.5,
|
|
1238
1296
|
strokeLinecap: "square",
|
|
1239
1297
|
},
|
|
1240
1298
|
render: (args) => (
|
|
1241
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1242
|
-
<div className="rounded-lg border
|
|
1299
|
+
<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">
|
|
1300
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1243
1301
|
<BubbleCheckIcon {...args} />
|
|
1244
1302
|
</div>
|
|
1245
1303
|
</div>
|