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
|
@@ -716,7 +716,7 @@ export const Unstyled: Story = {
|
|
|
716
716
|
placeholder: "Completely unstyled textarea...",
|
|
717
717
|
unstyled: true,
|
|
718
718
|
className:
|
|
719
|
-
"border-2 border-dashed border-
|
|
719
|
+
"border-2 border-dashed border-fm-divider-secondary p-4 rounded-lg bg-fm-surface-secondary",
|
|
720
720
|
fullWidth: true,
|
|
721
721
|
},
|
|
722
722
|
parameters: {
|
|
@@ -111,7 +111,9 @@ export const AllVariants: Story = {
|
|
|
111
111
|
render: () => (
|
|
112
112
|
<div className="flex flex-col gap-6">
|
|
113
113
|
<div className="space-y-4">
|
|
114
|
-
<h3 className="text-fm-lg font-semibold
|
|
114
|
+
<h3 className="text-fm-lg text-fm-primary font-semibold">
|
|
115
|
+
Promotional Tag
|
|
116
|
+
</h3>
|
|
115
117
|
<div className="flex gap-4">
|
|
116
118
|
<ThumbnailTags variant="promotional" text="30% off" />
|
|
117
119
|
<ThumbnailTags variant="promotional" text="NEW" />
|
|
@@ -120,7 +122,9 @@ export const AllVariants: Story = {
|
|
|
120
122
|
</div>
|
|
121
123
|
|
|
122
124
|
<div className="space-y-4">
|
|
123
|
-
<h3 className="text-fm-lg font-semibold
|
|
125
|
+
<h3 className="text-fm-lg text-fm-primary font-semibold">
|
|
126
|
+
Checked Tag
|
|
127
|
+
</h3>
|
|
124
128
|
<div className="flex gap-4">
|
|
125
129
|
<ThumbnailTags variant="checked" />
|
|
126
130
|
<ThumbnailTags variant="checked" />
|
|
@@ -129,7 +133,9 @@ export const AllVariants: Story = {
|
|
|
129
133
|
</div>
|
|
130
134
|
|
|
131
135
|
<div className="space-y-4">
|
|
132
|
-
<h3 className="text-fm-lg font-semibold
|
|
136
|
+
<h3 className="text-fm-lg text-fm-primary font-semibold">
|
|
137
|
+
Engagement Tag
|
|
138
|
+
</h3>
|
|
133
139
|
<div className="flex gap-4">
|
|
134
140
|
<ThumbnailTags
|
|
135
141
|
variant="engagement"
|
|
@@ -150,14 +156,14 @@ export const AllVariants: Story = {
|
|
|
150
156
|
</div>
|
|
151
157
|
|
|
152
158
|
<div className="space-y-4">
|
|
153
|
-
<h3 className="text-fm-lg font-semibold
|
|
159
|
+
<h3 className="text-fm-lg text-fm-primary font-semibold">Top 10 Tag</h3>
|
|
154
160
|
<div className="flex gap-4">
|
|
155
161
|
<ThumbnailTags variant="top10" />
|
|
156
162
|
</div>
|
|
157
163
|
</div>
|
|
158
164
|
|
|
159
165
|
<div className="space-y-4">
|
|
160
|
-
<h3 className="text-fm-lg font-semibold
|
|
166
|
+
<h3 className="text-fm-lg text-fm-primary font-semibold">
|
|
161
167
|
Completed Series Tag
|
|
162
168
|
</h3>
|
|
163
169
|
<div className="flex gap-4">
|
|
@@ -166,7 +172,7 @@ export const AllVariants: Story = {
|
|
|
166
172
|
</div>
|
|
167
173
|
|
|
168
174
|
<div className="space-y-4">
|
|
169
|
-
<h3 className="text-fm-lg font-semibold
|
|
175
|
+
<h3 className="text-fm-lg text-fm-primary font-semibold">Ranked Tag</h3>
|
|
170
176
|
<div className="flex gap-4">
|
|
171
177
|
<ThumbnailTags variant="ranked" text="#1 show" />
|
|
172
178
|
</div>
|
|
@@ -183,7 +189,7 @@ export const UseCases: Story = {
|
|
|
183
189
|
render: () => (
|
|
184
190
|
<div className="space-y-8">
|
|
185
191
|
<div className="space-y-4">
|
|
186
|
-
<h3 className="text-fm-lg font-semibold
|
|
192
|
+
<h3 className="text-fm-lg text-fm-primary font-semibold">
|
|
187
193
|
Promotional Tags
|
|
188
194
|
</h3>
|
|
189
195
|
<div className="flex gap-4">
|
|
@@ -194,7 +200,7 @@ export const UseCases: Story = {
|
|
|
194
200
|
</div>
|
|
195
201
|
|
|
196
202
|
<div className="space-y-4">
|
|
197
|
-
<h3 className="text-fm-lg font-semibold
|
|
203
|
+
<h3 className="text-fm-lg text-fm-primary font-semibold">
|
|
198
204
|
Status Indicators
|
|
199
205
|
</h3>
|
|
200
206
|
<div className="flex gap-4">
|
|
@@ -203,7 +209,7 @@ export const UseCases: Story = {
|
|
|
203
209
|
</div>
|
|
204
210
|
|
|
205
211
|
<div className="space-y-4">
|
|
206
|
-
<h3 className="text-fm-lg font-semibold
|
|
212
|
+
<h3 className="text-fm-lg text-fm-primary font-semibold">
|
|
207
213
|
Engagement Metrics
|
|
208
214
|
</h3>
|
|
209
215
|
<div className="flex gap-4">
|
|
@@ -226,7 +232,7 @@ export const UseCases: Story = {
|
|
|
226
232
|
</div>
|
|
227
233
|
|
|
228
234
|
<div className="space-y-4">
|
|
229
|
-
<h3 className="text-fm-lg font-semibold
|
|
235
|
+
<h3 className="text-fm-lg text-fm-primary font-semibold">
|
|
230
236
|
Achievement Badges
|
|
231
237
|
</h3>
|
|
232
238
|
<div className="flex gap-4">
|
|
@@ -813,24 +813,26 @@ export const AccessibilityFeatures: Story = {
|
|
|
813
813
|
<p>Toast notifications are built with accessibility in mind.</p>
|
|
814
814
|
|
|
815
815
|
<div className="space-y-3">
|
|
816
|
-
<div className="rounded-lg
|
|
817
|
-
<h3 className="font-medium
|
|
818
|
-
<p className="text-
|
|
816
|
+
<div className="bg-fm-surface-info-sec rounded-lg p-4">
|
|
817
|
+
<h3 className="text-fm-info font-medium">Keyboard Navigation</h3>
|
|
818
|
+
<p className="text-fm-info-sec text-sm">
|
|
819
819
|
Use Tab to focus toasts, Enter/Space to activate actions, Escape to
|
|
820
820
|
dismiss.
|
|
821
821
|
</p>
|
|
822
822
|
</div>
|
|
823
823
|
|
|
824
|
-
<div className="rounded-lg
|
|
825
|
-
<h3 className="font-medium
|
|
826
|
-
|
|
824
|
+
<div className="bg-fm-surface-positive-sec rounded-lg p-4">
|
|
825
|
+
<h3 className="text-fm-positive font-medium">
|
|
826
|
+
Screen Reader Support
|
|
827
|
+
</h3>
|
|
828
|
+
<p className="text-fm-positive text-sm">
|
|
827
829
|
Toasts are announced to screen readers with proper ARIA labels.
|
|
828
830
|
</p>
|
|
829
831
|
</div>
|
|
830
832
|
|
|
831
|
-
<div className="rounded-lg
|
|
832
|
-
<h3 className="font-medium
|
|
833
|
-
<p className="text-
|
|
833
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
834
|
+
<h3 className="text-fm-primary font-medium">Reduced Motion</h3>
|
|
835
|
+
<p className="text-fm-secondary text-sm">
|
|
834
836
|
Respects user's motion preferences for animations.
|
|
835
837
|
</p>
|
|
836
838
|
</div>
|
|
@@ -985,14 +987,14 @@ export const HeadlessCustomDesign: Story = {
|
|
|
985
987
|
) => {
|
|
986
988
|
toast.custom((t) => (
|
|
987
989
|
<div
|
|
988
|
-
className={`flex items-center gap-3 rounded-xl border p-4 shadow-lg backdrop-blur-sm ${type === "success" ? "border-
|
|
990
|
+
className={`flex items-center gap-3 rounded-xl border p-4 shadow-lg backdrop-blur-sm ${type === "success" ? "border-fm-divider-positive bg-fm-surface-positive-sec text-fm-positive" : ""} ${type === "error" ? "border-fm-divider-secondary bg-fm-surface-negative-sec text-fm-negative" : ""} ${type === "warning" ? "border-fm-divider-warning bg-fm-surface-warning-sec text-fm-warning" : ""} ${type === "info" ? "border-fm-divider-secondary bg-fm-surface-info-sec text-fm-info" : ""} transform transition-all duration-300 ease-in-out ${t ? "translate-x-0 opacity-100" : "translate-x-full opacity-0"} `}
|
|
989
991
|
>
|
|
990
992
|
{/* Custom Icons */}
|
|
991
993
|
<div className="flex-shrink-0">
|
|
992
994
|
{type === "success" && (
|
|
993
|
-
<div className="flex h-8 w-8 items-center justify-center rounded-full
|
|
995
|
+
<div className="bg-fm-surface-positive-sec flex h-8 w-8 items-center justify-center rounded-full">
|
|
994
996
|
<svg
|
|
995
|
-
className="h-5 w-5
|
|
997
|
+
className="text-fm-icon-positive h-5 w-5"
|
|
996
998
|
fill="none"
|
|
997
999
|
stroke="currentColor"
|
|
998
1000
|
viewBox="0 0 24 24"
|
|
@@ -1007,9 +1009,9 @@ export const HeadlessCustomDesign: Story = {
|
|
|
1007
1009
|
</div>
|
|
1008
1010
|
)}
|
|
1009
1011
|
{type === "error" && (
|
|
1010
|
-
<div className="flex h-8 w-8 items-center justify-center rounded-full
|
|
1012
|
+
<div className="bg-fm-surface-negative-sec flex h-8 w-8 items-center justify-center rounded-full">
|
|
1011
1013
|
<svg
|
|
1012
|
-
className="h-5 w-5
|
|
1014
|
+
className="text-fm-icon-negative h-5 w-5"
|
|
1013
1015
|
fill="none"
|
|
1014
1016
|
stroke="currentColor"
|
|
1015
1017
|
viewBox="0 0 24 24"
|
|
@@ -1024,9 +1026,9 @@ export const HeadlessCustomDesign: Story = {
|
|
|
1024
1026
|
</div>
|
|
1025
1027
|
)}
|
|
1026
1028
|
{type === "warning" && (
|
|
1027
|
-
<div className="flex h-8 w-8 items-center justify-center rounded-full
|
|
1029
|
+
<div className="bg-fm-surface-warning-sec flex h-8 w-8 items-center justify-center rounded-full">
|
|
1028
1030
|
<svg
|
|
1029
|
-
className="h-5 w-5
|
|
1031
|
+
className="text-fm-icon-warning h-5 w-5"
|
|
1030
1032
|
fill="none"
|
|
1031
1033
|
stroke="currentColor"
|
|
1032
1034
|
viewBox="0 0 24 24"
|
|
@@ -1041,9 +1043,9 @@ export const HeadlessCustomDesign: Story = {
|
|
|
1041
1043
|
</div>
|
|
1042
1044
|
)}
|
|
1043
1045
|
{type === "info" && (
|
|
1044
|
-
<div className="flex h-8 w-8 items-center justify-center rounded-full
|
|
1046
|
+
<div className="bg-fm-surface-info-sec flex h-8 w-8 items-center justify-center rounded-full">
|
|
1045
1047
|
<svg
|
|
1046
|
-
className="h-5 w-5
|
|
1048
|
+
className="text-fm-info h-5 w-5"
|
|
1047
1049
|
fill="none"
|
|
1048
1050
|
stroke="currentColor"
|
|
1049
1051
|
viewBox="0 0 24 24"
|
|
@@ -1088,7 +1090,7 @@ export const HeadlessCustomDesign: Story = {
|
|
|
1088
1090
|
const cardToast = (title: string, description: string, avatar?: string) => {
|
|
1089
1091
|
toast.custom((t) => (
|
|
1090
1092
|
<div
|
|
1091
|
-
className={`max-w-sm transform rounded-2xl border
|
|
1093
|
+
className={`border-fm-divider-secondary bg-fm-surface-primary max-w-sm transform rounded-2xl border p-4 shadow-xl transition-all duration-300 ease-in-out ${t ? "translate-y-0 scale-100 opacity-100" : "translate-y-2 scale-95 opacity-0"} `}
|
|
1092
1094
|
>
|
|
1093
1095
|
<div className="flex items-start gap-3">
|
|
1094
1096
|
{avatar && (
|
|
@@ -1101,15 +1103,19 @@ export const HeadlessCustomDesign: Story = {
|
|
|
1101
1103
|
<div className="min-w-0 flex-1">
|
|
1102
1104
|
<div className="flex items-start justify-between">
|
|
1103
1105
|
<div>
|
|
1104
|
-
<p className="text-sm font-semibold
|
|
1105
|
-
|
|
1106
|
+
<p className="text-fm-primary text-sm font-semibold">
|
|
1107
|
+
{title}
|
|
1108
|
+
</p>
|
|
1109
|
+
<p className="text-fm-secondary mt-1 text-sm">
|
|
1110
|
+
{description}
|
|
1111
|
+
</p>
|
|
1106
1112
|
</div>
|
|
1107
1113
|
<button
|
|
1108
1114
|
onClick={() => toast.dismiss(t)}
|
|
1109
|
-
className="ml-2 flex-shrink-0 rounded-full p-1 transition-colors
|
|
1115
|
+
className="hover:bg-fm-surface-secondary ml-2 flex-shrink-0 rounded-full p-1 transition-colors"
|
|
1110
1116
|
>
|
|
1111
1117
|
<svg
|
|
1112
|
-
className="h-4 w-4
|
|
1118
|
+
className="text-fm-secondary h-4 w-4"
|
|
1113
1119
|
fill="none"
|
|
1114
1120
|
stroke="currentColor"
|
|
1115
1121
|
viewBox="0 0 24 24"
|
|
@@ -1124,12 +1130,12 @@ export const HeadlessCustomDesign: Story = {
|
|
|
1124
1130
|
</button>
|
|
1125
1131
|
</div>
|
|
1126
1132
|
<div className="mt-3 flex gap-2">
|
|
1127
|
-
<button className="
|
|
1133
|
+
<button className="bg-fm-surface-info text-fm-surface-primary hover:bg-fm-surface-info rounded-full px-3 py-1 text-xs transition-colors">
|
|
1128
1134
|
View
|
|
1129
1135
|
</button>
|
|
1130
1136
|
<button
|
|
1131
1137
|
onClick={() => toast.dismiss(t)}
|
|
1132
|
-
className="
|
|
1138
|
+
className="bg-fm-surface-secondary text-fm-secondary hover:bg-fm-surface-tertiary rounded-full px-3 py-1 text-xs transition-colors"
|
|
1133
1139
|
>
|
|
1134
1140
|
Dismiss
|
|
1135
1141
|
</button>
|
|
@@ -1143,27 +1149,27 @@ export const HeadlessCustomDesign: Story = {
|
|
|
1143
1149
|
const progressToast = (message: string) => {
|
|
1144
1150
|
const toastId = toast.custom((t) => (
|
|
1145
1151
|
<div
|
|
1146
|
-
className={`min-w-[300px] transform rounded-xl border
|
|
1152
|
+
className={`border-fm-divider-secondary bg-fm-surface-primary min-w-[300px] transform rounded-xl border p-4 shadow-lg transition-all duration-300 ease-in-out ${t ? "translate-x-0 opacity-100" : "translate-x-full opacity-0"} `}
|
|
1147
1153
|
>
|
|
1148
1154
|
<div className="flex items-center gap-3">
|
|
1149
|
-
<div className="flex h-8 w-8 items-center justify-center rounded-full
|
|
1150
|
-
<div className="h-4 w-4 animate-spin rounded-full border-2 border-
|
|
1155
|
+
<div className="bg-fm-surface-info-sec flex h-8 w-8 items-center justify-center rounded-full">
|
|
1156
|
+
<div className="border-fm-info h-4 w-4 animate-spin rounded-full border-2 border-t-transparent"></div>
|
|
1151
1157
|
</div>
|
|
1152
1158
|
<div className="flex-1">
|
|
1153
|
-
<p className="font-medium
|
|
1154
|
-
<div className="mt-2 h-2 w-full rounded-full
|
|
1159
|
+
<p className="text-fm-primary font-medium">{message}</p>
|
|
1160
|
+
<div className="bg-fm-surface-tertiary mt-2 h-2 w-full rounded-full">
|
|
1155
1161
|
<div
|
|
1156
|
-
className="progress-bar h-2 rounded-full
|
|
1162
|
+
className="progress-bar bg-fm-surface-info h-2 rounded-full"
|
|
1157
1163
|
style={{ width: "0%" }}
|
|
1158
1164
|
></div>
|
|
1159
1165
|
</div>
|
|
1160
1166
|
</div>
|
|
1161
1167
|
<button
|
|
1162
1168
|
onClick={() => toast.dismiss(t)}
|
|
1163
|
-
className="flex-shrink-0 rounded-full p-1 transition-colors
|
|
1169
|
+
className="hover:bg-fm-surface-secondary flex-shrink-0 rounded-full p-1 transition-colors"
|
|
1164
1170
|
>
|
|
1165
1171
|
<svg
|
|
1166
|
-
className="h-4 w-4
|
|
1172
|
+
className="text-fm-secondary h-4 w-4"
|
|
1167
1173
|
fill="none"
|
|
1168
1174
|
stroke="currentColor"
|
|
1169
1175
|
viewBox="0 0 24 24"
|
|
@@ -1196,10 +1202,10 @@ export const HeadlessCustomDesign: Story = {
|
|
|
1196
1202
|
setTimeout(() => {
|
|
1197
1203
|
toast.dismiss(toastId)
|
|
1198
1204
|
toast.custom(() => (
|
|
1199
|
-
<div className="flex items-center gap-3 rounded-xl border
|
|
1200
|
-
<div className="flex h-8 w-8 items-center justify-center rounded-full
|
|
1205
|
+
<div className="border-fm-divider-positive bg-fm-surface-positive-sec flex items-center gap-3 rounded-xl border p-4">
|
|
1206
|
+
<div className="bg-fm-surface-positive-sec flex h-8 w-8 items-center justify-center rounded-full">
|
|
1201
1207
|
<svg
|
|
1202
|
-
className="h-5 w-5
|
|
1208
|
+
className="text-fm-icon-positive h-5 w-5"
|
|
1203
1209
|
fill="none"
|
|
1204
1210
|
stroke="currentColor"
|
|
1205
1211
|
viewBox="0 0 24 24"
|
|
@@ -1212,7 +1218,7 @@ export const HeadlessCustomDesign: Story = {
|
|
|
1212
1218
|
/>
|
|
1213
1219
|
</svg>
|
|
1214
1220
|
</div>
|
|
1215
|
-
<span className="font-medium
|
|
1221
|
+
<span className="text-fm-positive font-medium">
|
|
1216
1222
|
Upload completed!
|
|
1217
1223
|
</span>
|
|
1218
1224
|
</div>
|
|
@@ -1225,17 +1231,17 @@ export const HeadlessCustomDesign: Story = {
|
|
|
1225
1231
|
const glassmorphismToast = (message: string, emoji: string) => {
|
|
1226
1232
|
toast.custom((t) => (
|
|
1227
1233
|
<div
|
|
1228
|
-
className={`transform rounded-2xl border
|
|
1234
|
+
className={`border-fm-divider-secondary bg-fm-surface-secondary transform rounded-2xl border p-4 shadow-xl backdrop-blur-md transition-all duration-500 ease-out ${t ? "translate-y-0 scale-100 opacity-100" : "translate-y-4 scale-95 opacity-0"} `}
|
|
1229
1235
|
>
|
|
1230
1236
|
<div className="flex items-center gap-3">
|
|
1231
1237
|
<span className="text-2xl">{emoji}</span>
|
|
1232
|
-
<span className="font-medium
|
|
1238
|
+
<span className="text-fm-primary font-medium">{message}</span>
|
|
1233
1239
|
<button
|
|
1234
1240
|
onClick={() => toast.dismiss(t)}
|
|
1235
|
-
className="ml-auto rounded-full p-1 transition-colors
|
|
1241
|
+
className="hover:bg-fm-surface-tertiary ml-auto rounded-full p-1 transition-colors"
|
|
1236
1242
|
>
|
|
1237
1243
|
<svg
|
|
1238
|
-
className="h-4 w-4
|
|
1244
|
+
className="text-fm-secondary h-4 w-4"
|
|
1239
1245
|
fill="none"
|
|
1240
1246
|
stroke="currentColor"
|
|
1241
1247
|
viewBox="0 0 24 24"
|
|
@@ -1377,8 +1383,8 @@ export const HeadlessCustomDesign: Story = {
|
|
|
1377
1383
|
{/* Code Example */}
|
|
1378
1384
|
<div className="space-y-3">
|
|
1379
1385
|
<h3 className="text-lg font-medium">Implementation Example</h3>
|
|
1380
|
-
<div className="rounded-lg
|
|
1381
|
-
<pre className="overflow-x-auto
|
|
1386
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4 text-sm">
|
|
1387
|
+
<pre className="text-fm-primary overflow-x-auto">
|
|
1382
1388
|
{`// Custom toast with full control
|
|
1383
1389
|
toast.custom((t) => (
|
|
1384
1390
|
<div className={\`
|
|
@@ -1387,8 +1393,8 @@ toast.custom((t) => (
|
|
|
1387
1393
|
\${t ? 'translate-x-0 opacity-100' : 'translate-x-full opacity-0'}
|
|
1388
1394
|
\`}>
|
|
1389
1395
|
<div className="flex items-center gap-3">
|
|
1390
|
-
<div className="w-8 h-8 bg-
|
|
1391
|
-
<CheckIcon className="w-5 h-5 text-
|
|
1396
|
+
<div className="w-8 h-8 bg-fm-surface-info-sec rounded-full flex items-center justify-center">
|
|
1397
|
+
<CheckIcon className="w-5 h-5 text-fm-info" />
|
|
1392
1398
|
</div>
|
|
1393
1399
|
<span className="font-medium">Custom message</span>
|
|
1394
1400
|
<button onClick={() => toast.dismiss(t)}>
|