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 WarningIcon> = {
|
|
|
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 WarningIcon> = {
|
|
|
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="from-fm-surface-primary via-fm-icon-warning/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
|
|
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-icon-warning/10 to-fm-icon-warning/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
|
-
<WarningIcon className="h-12 w-12
|
|
89
|
+
<div className="border-fm-icon-warning/30 from-fm-icon-warning/20 to-fm-icon-warning/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
|
|
90
|
+
<WarningIcon className="text-fm-icon-warning 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
|
WarningIcon
|
|
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 universal warning alert icon for user interfaces. Features
|
|
97
97
|
the classic triangular warning design with exclamation mark,
|
|
98
98
|
essential for error states, validation messages,
|
|
@@ -103,28 +103,28 @@ const meta: Meta<typeof WarningIcon> = {
|
|
|
103
103
|
{/* Stats */}
|
|
104
104
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
105
105
|
<div className="text-center">
|
|
106
|
-
<div className="text-3xl font-bold
|
|
106
|
+
<div className="text-fm-icon-warning text-3xl font-bold">
|
|
107
107
|
Alert Users
|
|
108
108
|
</div>
|
|
109
|
-
<div className="text-
|
|
109
|
+
<div className="text-fm-tertiary text-sm">
|
|
110
110
|
Critical warnings
|
|
111
111
|
</div>
|
|
112
112
|
</div>
|
|
113
|
-
<div className="h-8 w-px
|
|
113
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
114
114
|
<div className="text-center">
|
|
115
|
-
<div className="text-3xl font-bold
|
|
115
|
+
<div className="text-fm-icon-warning text-3xl font-bold">
|
|
116
116
|
Accessible
|
|
117
117
|
</div>
|
|
118
|
-
<div className="text-
|
|
118
|
+
<div className="text-fm-tertiary text-sm">
|
|
119
119
|
Screen reader friendly
|
|
120
120
|
</div>
|
|
121
121
|
</div>
|
|
122
|
-
<div className="h-8 w-px
|
|
122
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
123
123
|
<div className="text-center">
|
|
124
|
-
<div className="text-3xl font-bold
|
|
124
|
+
<div className="text-fm-icon-warning text-3xl font-bold">
|
|
125
125
|
Universal
|
|
126
126
|
</div>
|
|
127
|
-
<div className="text-
|
|
127
|
+
<div className="text-fm-tertiary text-sm">
|
|
128
128
|
Standard alert symbol
|
|
129
129
|
</div>
|
|
130
130
|
</div>
|
|
@@ -137,16 +137,16 @@ const meta: Meta<typeof WarningIcon> = {
|
|
|
137
137
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
138
138
|
{/* Quick Usage */}
|
|
139
139
|
<div className="!space-y-8">
|
|
140
|
-
<h2 className="text-center text-3xl font-bold
|
|
140
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
141
141
|
Quick Start
|
|
142
142
|
</h2>
|
|
143
143
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
144
144
|
<div className="!space-y-4">
|
|
145
|
-
<h3 className="text-xl font-semibold
|
|
145
|
+
<h3 className="text-fm-icon-warning! text-xl font-semibold">
|
|
146
146
|
Basic Usage
|
|
147
147
|
</h3>
|
|
148
|
-
<div className="rounded-lg
|
|
149
|
-
<pre className="overflow-x-auto text-sm
|
|
148
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
149
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
150
150
|
{`import { WarningIcon } from "@icons/warning-icon"
|
|
151
151
|
|
|
152
152
|
function ErrorAlert() {
|
|
@@ -162,13 +162,15 @@ function ErrorAlert() {
|
|
|
162
162
|
</div>
|
|
163
163
|
|
|
164
164
|
<div className="!space-y-4">
|
|
165
|
-
<h3 className="text-xl font-semibold
|
|
165
|
+
<h3 className="text-fm-icon-warning! text-xl font-semibold">
|
|
166
166
|
Live Preview
|
|
167
167
|
</h3>
|
|
168
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
169
|
-
<div className="flex items-center gap-2 rounded-lg border
|
|
170
|
-
<WarningIcon className="h-5 w-5
|
|
171
|
-
<span className="text-
|
|
168
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
169
|
+
<div className="border-fm-icon-warning/20 bg-fm-icon-warning/10 flex items-center gap-2 rounded-lg border p-3">
|
|
170
|
+
<WarningIcon className="text-fm-icon-warning h-5 w-5" />
|
|
171
|
+
<span className="text-fm-icon-warning">
|
|
172
|
+
Warning message
|
|
173
|
+
</span>
|
|
172
174
|
</div>
|
|
173
175
|
</div>
|
|
174
176
|
</div>
|
|
@@ -177,122 +179,130 @@ function ErrorAlert() {
|
|
|
177
179
|
|
|
178
180
|
{/* Props Documentation */}
|
|
179
181
|
<div className="!space-y-8">
|
|
180
|
-
<h2 className="text-center text-3xl font-bold
|
|
182
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
181
183
|
Props & Configuration
|
|
182
184
|
</h2>
|
|
183
185
|
|
|
184
|
-
<div className="overflow-hidden rounded-lg border
|
|
185
|
-
<div className="bg-
|
|
186
|
-
<h3 className="text-xl font-semibold
|
|
186
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
187
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
188
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
189
|
+
Props
|
|
190
|
+
</h3>
|
|
187
191
|
</div>
|
|
188
192
|
<table className="!my-0 w-full">
|
|
189
|
-
<thead className="bg-
|
|
190
|
-
<tr className="border-
|
|
191
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
193
|
+
<thead className="bg-fm-surface-secondary">
|
|
194
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
195
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
192
196
|
Prop
|
|
193
197
|
</th>
|
|
194
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
198
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
195
199
|
Type
|
|
196
200
|
</th>
|
|
197
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
201
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
198
202
|
Default
|
|
199
203
|
</th>
|
|
200
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
204
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
201
205
|
Description
|
|
202
206
|
</th>
|
|
203
207
|
</tr>
|
|
204
208
|
</thead>
|
|
205
209
|
<tbody>
|
|
206
210
|
{" "}
|
|
207
|
-
<tr className="
|
|
208
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
211
|
+
<tr className="bg-fm-surface-secondary!">
|
|
212
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
209
213
|
withAccessibility
|
|
210
214
|
</td>
|
|
211
|
-
<td className="px-6 py-4 text-sm
|
|
215
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
212
216
|
boolean
|
|
213
217
|
</td>
|
|
214
|
-
<td className="px-6 py-4 text-sm
|
|
218
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
215
219
|
true
|
|
216
220
|
</td>
|
|
217
|
-
<td className="px-6 py-4 text-sm
|
|
221
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
218
222
|
Whether to wrap the icon with accessibility feature
|
|
219
223
|
</td>
|
|
220
224
|
</tr>
|
|
221
|
-
<tr className="border-
|
|
222
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
225
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
226
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
223
227
|
height
|
|
224
228
|
</td>
|
|
225
|
-
<td className="px-6 py-4 text-sm
|
|
229
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
226
230
|
number | string
|
|
227
231
|
</td>
|
|
228
|
-
<td className="px-6 py-4 text-sm
|
|
229
|
-
|
|
232
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
233
|
+
24
|
|
234
|
+
</td>
|
|
235
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
230
236
|
Height of the icon in pixels
|
|
231
237
|
</td>
|
|
232
238
|
</tr>
|
|
233
|
-
<tr className="border-
|
|
234
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
239
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
240
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
235
241
|
stroke
|
|
236
242
|
</td>
|
|
237
|
-
<td className="px-6 py-4 text-sm
|
|
243
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
238
244
|
string
|
|
239
245
|
</td>
|
|
240
|
-
<td className="px-6 py-4 text-sm
|
|
246
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
241
247
|
currentColor
|
|
242
248
|
</td>
|
|
243
|
-
<td className="px-6 py-4 text-sm
|
|
249
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
244
250
|
Stroke color of the icon
|
|
245
251
|
</td>
|
|
246
252
|
</tr>
|
|
247
|
-
<tr className="border-
|
|
248
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
253
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
254
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
249
255
|
strokeWidth
|
|
250
256
|
</td>
|
|
251
|
-
<td className="px-6 py-4 text-sm
|
|
257
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
252
258
|
string | number
|
|
253
259
|
</td>
|
|
254
|
-
<td className="px-6 py-4 text-sm
|
|
260
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
255
261
|
1.5
|
|
256
262
|
</td>
|
|
257
|
-
<td className="px-6 py-4 text-sm
|
|
263
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
258
264
|
Width of the stroke
|
|
259
265
|
</td>
|
|
260
266
|
</tr>
|
|
261
|
-
<tr className="border-
|
|
262
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
267
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
268
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
263
269
|
strokeLinecap
|
|
264
270
|
</td>
|
|
265
|
-
<td className="px-6 py-4 text-sm
|
|
271
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
266
272
|
string
|
|
267
273
|
</td>
|
|
268
|
-
<td className="px-6 py-4 text-sm
|
|
274
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
269
275
|
square
|
|
270
276
|
</td>
|
|
271
|
-
<td className="px-6 py-4 text-sm
|
|
277
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
272
278
|
Style of line endings
|
|
273
279
|
</td>
|
|
274
280
|
</tr>
|
|
275
|
-
<tr className="border-
|
|
276
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
281
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
282
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
277
283
|
className
|
|
278
284
|
</td>
|
|
279
|
-
<td className="px-6 py-4 text-sm
|
|
285
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
280
286
|
string
|
|
281
287
|
</td>
|
|
282
|
-
<td className="px-6 py-4 text-sm
|
|
283
|
-
|
|
288
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
289
|
+
-
|
|
290
|
+
</td>
|
|
291
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
284
292
|
CSS classes for styling (use for overrides)
|
|
285
293
|
</td>
|
|
286
294
|
</tr>
|
|
287
|
-
<tr className="
|
|
288
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
295
|
+
<tr className="bg-fm-surface-secondary!">
|
|
296
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
289
297
|
...svgProps
|
|
290
298
|
</td>
|
|
291
|
-
<td className="px-6 py-4 text-sm
|
|
299
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
292
300
|
SVGProps
|
|
293
301
|
</td>
|
|
294
|
-
<td className="px-6 py-4 text-sm
|
|
295
|
-
|
|
302
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
303
|
+
-
|
|
304
|
+
</td>
|
|
305
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
296
306
|
All standard SVG element props
|
|
297
307
|
</td>
|
|
298
308
|
</tr>
|
|
@@ -303,50 +313,62 @@ function ErrorAlert() {
|
|
|
303
313
|
|
|
304
314
|
{/* Size Variations */}
|
|
305
315
|
<div className="!space-y-8">
|
|
306
|
-
<h2 className="text-center text-3xl font-bold
|
|
316
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
307
317
|
Size Variations
|
|
308
318
|
</h2>
|
|
309
|
-
<div className="rounded-lg border
|
|
319
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
310
320
|
<div className="!space-y-6">
|
|
311
321
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
312
322
|
<div className="!space-y-4">
|
|
313
|
-
<h3 className="text-lg font-semibold
|
|
323
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
314
324
|
Standard Sizes
|
|
315
325
|
</h3>
|
|
316
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
326
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
317
327
|
<div className="text-center">
|
|
318
|
-
<WarningIcon className="!mx-auto mb-2 h-3 w-3
|
|
319
|
-
<span className="text-
|
|
328
|
+
<WarningIcon className="text-fm-icon-warning !mx-auto mb-2 h-3 w-3" />
|
|
329
|
+
<span className="text-fm-tertiary text-xs">
|
|
330
|
+
12px
|
|
331
|
+
</span>
|
|
320
332
|
</div>
|
|
321
333
|
<div className="text-center">
|
|
322
|
-
<WarningIcon className="!mx-auto mb-2 h-4 w-4
|
|
323
|
-
<span className="text-
|
|
334
|
+
<WarningIcon className="text-fm-icon-warning !mx-auto mb-2 h-4 w-4" />
|
|
335
|
+
<span className="text-fm-tertiary text-xs">
|
|
336
|
+
16px
|
|
337
|
+
</span>
|
|
324
338
|
</div>
|
|
325
339
|
<div className="text-center">
|
|
326
|
-
<WarningIcon className="!mx-auto mb-2 h-5 w-5
|
|
327
|
-
<span className="text-
|
|
340
|
+
<WarningIcon className="text-fm-icon-warning !mx-auto mb-2 h-5 w-5" />
|
|
341
|
+
<span className="text-fm-tertiary text-xs">
|
|
342
|
+
20px
|
|
343
|
+
</span>
|
|
328
344
|
</div>
|
|
329
345
|
<div className="text-center">
|
|
330
|
-
<WarningIcon className="!mx-auto mb-2 h-6 w-6
|
|
331
|
-
<span className="text-
|
|
346
|
+
<WarningIcon className="text-fm-icon-warning !mx-auto mb-2 h-6 w-6" />
|
|
347
|
+
<span className="text-fm-tertiary text-xs">
|
|
348
|
+
24px
|
|
349
|
+
</span>
|
|
332
350
|
</div>
|
|
333
351
|
<div className="text-center">
|
|
334
|
-
<WarningIcon className="!mx-auto mb-2 h-8 w-8
|
|
335
|
-
<span className="text-
|
|
352
|
+
<WarningIcon className="text-fm-icon-warning !mx-auto mb-2 h-8 w-8" />
|
|
353
|
+
<span className="text-fm-tertiary text-xs">
|
|
354
|
+
32px
|
|
355
|
+
</span>
|
|
336
356
|
</div>
|
|
337
357
|
<div className="text-center">
|
|
338
|
-
<WarningIcon className="!mx-auto mb-2 h-12 w-12
|
|
339
|
-
<span className="text-
|
|
358
|
+
<WarningIcon className="text-fm-icon-warning !mx-auto mb-2 h-12 w-12" />
|
|
359
|
+
<span className="text-fm-tertiary text-xs">
|
|
360
|
+
48px
|
|
361
|
+
</span>
|
|
340
362
|
</div>
|
|
341
363
|
</div>
|
|
342
364
|
</div>
|
|
343
365
|
|
|
344
366
|
<div className="!space-y-4">
|
|
345
|
-
<h3 className="text-lg font-semibold
|
|
367
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
346
368
|
Code Example
|
|
347
369
|
</h3>
|
|
348
|
-
<div className="rounded-lg
|
|
349
|
-
<pre className="overflow-x-auto text-sm
|
|
370
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
371
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
350
372
|
{`// Small (16px) - inline warnings
|
|
351
373
|
<WarningIcon className="h-4 w-4" />
|
|
352
374
|
|
|
@@ -368,56 +390,56 @@ function ErrorAlert() {
|
|
|
368
390
|
|
|
369
391
|
{/* Color Variations */}
|
|
370
392
|
<div className="!space-y-8">
|
|
371
|
-
<h2 className="text-center text-3xl font-bold
|
|
393
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
372
394
|
Color Variations
|
|
373
395
|
</h2>
|
|
374
396
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
375
397
|
<div className="!space-y-4">
|
|
376
|
-
<h3 className="text-lg font-semibold
|
|
398
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
377
399
|
Semantic Colors
|
|
378
400
|
</h3>
|
|
379
|
-
<div className="!space-y-4 rounded-lg border
|
|
401
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
380
402
|
<div className="flex items-center gap-4">
|
|
381
|
-
<WarningIcon className="h-6 w-6
|
|
403
|
+
<WarningIcon className="text-fm-icon-warning h-6 w-6" />
|
|
382
404
|
<div>
|
|
383
|
-
<div className="text-sm font-medium
|
|
405
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
384
406
|
Warning
|
|
385
407
|
</div>
|
|
386
|
-
<div className="text-
|
|
387
|
-
text-
|
|
408
|
+
<div className="text-fm-tertiary text-xs">
|
|
409
|
+
text-fm-icon-warning
|
|
388
410
|
</div>
|
|
389
411
|
</div>
|
|
390
412
|
</div>
|
|
391
413
|
<div className="flex items-center gap-4">
|
|
392
|
-
<WarningIcon className="h-6 w-6
|
|
414
|
+
<WarningIcon className="text-fm-icon-warning h-6 w-6" />
|
|
393
415
|
<div>
|
|
394
|
-
<div className="text-sm font-medium
|
|
416
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
395
417
|
Caution
|
|
396
418
|
</div>
|
|
397
|
-
<div className="text-
|
|
398
|
-
text-
|
|
419
|
+
<div className="text-fm-tertiary text-xs">
|
|
420
|
+
text-fm-icon-warning
|
|
399
421
|
</div>
|
|
400
422
|
</div>
|
|
401
423
|
</div>
|
|
402
424
|
<div className="flex items-center gap-4">
|
|
403
|
-
<WarningIcon className="h-6 w-6
|
|
425
|
+
<WarningIcon className="text-fm-icon-warning h-6 w-6" />
|
|
404
426
|
<div>
|
|
405
|
-
<div className="text-sm font-medium
|
|
427
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
406
428
|
Alert
|
|
407
429
|
</div>
|
|
408
|
-
<div className="text-
|
|
409
|
-
text-
|
|
430
|
+
<div className="text-fm-tertiary text-xs">
|
|
431
|
+
text-fm-icon-warning
|
|
410
432
|
</div>
|
|
411
433
|
</div>
|
|
412
434
|
</div>
|
|
413
435
|
<div className="flex items-center gap-4">
|
|
414
|
-
<WarningIcon className="h-6 w-6
|
|
436
|
+
<WarningIcon className="text-fm-icon-negative h-6 w-6" />
|
|
415
437
|
<div>
|
|
416
|
-
<div className="text-sm font-medium
|
|
438
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
417
439
|
Critical
|
|
418
440
|
</div>
|
|
419
|
-
<div className="text-
|
|
420
|
-
text-
|
|
441
|
+
<div className="text-fm-tertiary text-xs">
|
|
442
|
+
text-fm-icon-negative
|
|
421
443
|
</div>
|
|
422
444
|
</div>
|
|
423
445
|
</div>
|
|
@@ -425,11 +447,11 @@ function ErrorAlert() {
|
|
|
425
447
|
</div>
|
|
426
448
|
|
|
427
449
|
<div className="!space-y-4">
|
|
428
|
-
<h3 className="text-lg font-semibold
|
|
450
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
429
451
|
Custom Colors
|
|
430
452
|
</h3>
|
|
431
|
-
<div className="rounded-lg
|
|
432
|
-
<pre className="overflow-x-auto text-sm
|
|
453
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
454
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
433
455
|
{`// Using Tailwind classes
|
|
434
456
|
<WarningIcon className="h-6 w-6 text-yellow-400" />
|
|
435
457
|
<WarningIcon className="h-6 w-6 text-amber-500" />
|
|
@@ -454,29 +476,29 @@ function ErrorAlert() {
|
|
|
454
476
|
|
|
455
477
|
{/* Usage Examples */}
|
|
456
478
|
<div className="!space-y-8">
|
|
457
|
-
<h2 className="text-center text-3xl font-bold
|
|
479
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
458
480
|
Usage Examples
|
|
459
481
|
</h2>
|
|
460
482
|
|
|
461
483
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
462
484
|
{/* Form Validation */}
|
|
463
485
|
<div className="!space-y-4">
|
|
464
|
-
<h3 className="text-lg font-semibold
|
|
486
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
465
487
|
Form Validation
|
|
466
488
|
</h3>
|
|
467
489
|
<div className="!space-y-4">
|
|
468
|
-
<div className="rounded-lg border
|
|
490
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
469
491
|
<div className="!space-y-4">
|
|
470
492
|
<div>
|
|
471
|
-
<label className="mb-2 block text-sm font-medium
|
|
493
|
+
<label className="text-fm-icon-active mb-2 block text-sm font-medium">
|
|
472
494
|
Email Address
|
|
473
495
|
</label>
|
|
474
496
|
<input
|
|
475
497
|
type="email"
|
|
476
|
-
className="w-full rounded-lg border
|
|
498
|
+
className="border-fm-icon-negative/50 bg-fm-surface-secondary text-fm-icon-active w-full rounded-lg border p-3 placeholder-white/50"
|
|
477
499
|
placeholder="Enter your email"
|
|
478
500
|
/>
|
|
479
|
-
<div className="mt-2 flex items-center gap-2
|
|
501
|
+
<div className="text-fm-icon-negative mt-2 flex items-center gap-2">
|
|
480
502
|
<WarningIcon className="h-4 w-4" />
|
|
481
503
|
<span className="text-sm">
|
|
482
504
|
Please enter a valid email address
|
|
@@ -484,15 +506,15 @@ function ErrorAlert() {
|
|
|
484
506
|
</div>
|
|
485
507
|
</div>
|
|
486
508
|
<div>
|
|
487
|
-
<label className="mb-2 block text-sm font-medium
|
|
509
|
+
<label className="text-fm-icon-active mb-2 block text-sm font-medium">
|
|
488
510
|
Password
|
|
489
511
|
</label>
|
|
490
512
|
<input
|
|
491
513
|
type="password"
|
|
492
|
-
className="w-full rounded-lg border
|
|
514
|
+
className="border-fm-icon-warning/50 bg-fm-surface-secondary text-fm-icon-active w-full rounded-lg border p-3 placeholder-white/50"
|
|
493
515
|
placeholder="Enter your password"
|
|
494
516
|
/>
|
|
495
|
-
<div className="mt-2 flex items-center gap-2
|
|
517
|
+
<div className="text-fm-icon-warning mt-2 flex items-center gap-2">
|
|
496
518
|
<WarningIcon className="h-4 w-4" />
|
|
497
519
|
<span className="text-sm">
|
|
498
520
|
Password must be at least 8 characters
|
|
@@ -501,8 +523,8 @@ function ErrorAlert() {
|
|
|
501
523
|
</div>
|
|
502
524
|
</div>
|
|
503
525
|
</div>
|
|
504
|
-
<div className="rounded-lg
|
|
505
|
-
<pre className="overflow-x-auto text-sm
|
|
526
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
527
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
506
528
|
{`// Form validation with warning icon
|
|
507
529
|
<div className="field-error">
|
|
508
530
|
<div className="flex items-center gap-2 text-red-400">
|
|
@@ -525,50 +547,50 @@ function ErrorAlert() {
|
|
|
525
547
|
|
|
526
548
|
{/* Alert Banners */}
|
|
527
549
|
<div className="!space-y-4">
|
|
528
|
-
<h3 className="text-lg font-semibold
|
|
550
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
529
551
|
Alert Banners
|
|
530
552
|
</h3>
|
|
531
553
|
<div className="!space-y-4">
|
|
532
554
|
<div className="!space-y-3">
|
|
533
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
534
|
-
<WarningIcon className="h-6 w-6 flex-shrink-0
|
|
555
|
+
<div className="border-fm-icon-warning/30 bg-fm-icon-warning/10 flex items-center gap-3 rounded-lg border p-4">
|
|
556
|
+
<WarningIcon className="text-fm-icon-warning h-6 w-6 flex-shrink-0" />
|
|
535
557
|
<div>
|
|
536
|
-
<div className="font-medium
|
|
558
|
+
<div className="text-fm-icon-warning font-medium">
|
|
537
559
|
System Maintenance
|
|
538
560
|
</div>
|
|
539
|
-
<div className="text-
|
|
561
|
+
<div className="text-fm-icon-warning/70 text-sm">
|
|
540
562
|
Scheduled maintenance will occur tonight from 2-4
|
|
541
563
|
AM EST.
|
|
542
564
|
</div>
|
|
543
565
|
</div>
|
|
544
566
|
</div>
|
|
545
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
546
|
-
<WarningIcon className="h-6 w-6 flex-shrink-0
|
|
567
|
+
<div className="border-fm-icon-negative/30 bg-fm-icon-negative/10 flex items-center gap-3 rounded-lg border p-4">
|
|
568
|
+
<WarningIcon className="text-fm-icon-negative h-6 w-6 flex-shrink-0" />
|
|
547
569
|
<div>
|
|
548
|
-
<div className="font-medium
|
|
570
|
+
<div className="text-fm-icon-negative font-medium">
|
|
549
571
|
Service Disruption
|
|
550
572
|
</div>
|
|
551
|
-
<div className="text-
|
|
573
|
+
<div className="text-fm-icon-negative/70 text-sm">
|
|
552
574
|
We're experiencing issues with our payment system.
|
|
553
575
|
Please try again later.
|
|
554
576
|
</div>
|
|
555
577
|
</div>
|
|
556
578
|
</div>
|
|
557
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
558
|
-
<WarningIcon className="h-6 w-6 flex-shrink-0
|
|
579
|
+
<div className="border-fm-icon-warning/30 bg-fm-icon-warning/10 flex items-center gap-3 rounded-lg border p-4">
|
|
580
|
+
<WarningIcon className="text-fm-icon-warning h-6 w-6 flex-shrink-0" />
|
|
559
581
|
<div>
|
|
560
|
-
<div className="font-medium
|
|
582
|
+
<div className="text-fm-icon-warning font-medium">
|
|
561
583
|
Security Alert
|
|
562
584
|
</div>
|
|
563
|
-
<div className="text-
|
|
585
|
+
<div className="text-fm-icon-warning/70 text-sm">
|
|
564
586
|
Unusual login activity detected. Please verify
|
|
565
587
|
your account.
|
|
566
588
|
</div>
|
|
567
589
|
</div>
|
|
568
590
|
</div>
|
|
569
591
|
</div>
|
|
570
|
-
<div className="rounded-lg
|
|
571
|
-
<pre className="overflow-x-auto text-sm
|
|
592
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
593
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
572
594
|
{`// Alert banner component
|
|
573
595
|
<div className="alert-banner warning">
|
|
574
596
|
<div className="flex items-center gap-3">
|
|
@@ -588,37 +610,37 @@ function ErrorAlert() {
|
|
|
588
610
|
|
|
589
611
|
{/* Confirmation Dialogs */}
|
|
590
612
|
<div className="!space-y-4">
|
|
591
|
-
<h3 className="text-lg font-semibold
|
|
613
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
592
614
|
Confirmation Dialogs
|
|
593
615
|
</h3>
|
|
594
616
|
<div className="!space-y-4">
|
|
595
|
-
<div className="rounded-lg border
|
|
617
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
596
618
|
<div className="!space-y-4 text-center">
|
|
597
|
-
<div className="!mx-auto flex h-16 w-16 items-center justify-center rounded-full
|
|
598
|
-
<WarningIcon className="h-8 w-8
|
|
619
|
+
<div className="bg-fm-icon-warning/20 !mx-auto flex h-16 w-16 items-center justify-center rounded-full">
|
|
620
|
+
<WarningIcon className="text-fm-icon-warning h-8 w-8" />
|
|
599
621
|
</div>
|
|
600
622
|
<div>
|
|
601
|
-
<h3 className="text-lg font-semibold
|
|
623
|
+
<h3 className="text-fm-icon-active text-lg font-semibold">
|
|
602
624
|
Delete Account
|
|
603
625
|
</h3>
|
|
604
|
-
<p className="mt-2 text-sm
|
|
626
|
+
<p className="text-fm-secondary mt-2 text-sm">
|
|
605
627
|
Are you sure you want to delete your account? This
|
|
606
628
|
action cannot be undone and all your data will be
|
|
607
629
|
permanently removed.
|
|
608
630
|
</p>
|
|
609
631
|
</div>
|
|
610
632
|
<div className="flex justify-center gap-3 pt-4">
|
|
611
|
-
<button className="rounded-lg border
|
|
633
|
+
<button className="border-fm-divider-primary text-fm-icon-active hover:bg-fm-surface-secondary rounded-lg border px-4 py-2">
|
|
612
634
|
Cancel
|
|
613
635
|
</button>
|
|
614
|
-
<button className="
|
|
636
|
+
<button className="bg-fm-icon-negative text-fm-icon-active hover:bg-fm-icon-negative rounded-lg px-4 py-2">
|
|
615
637
|
Delete Account
|
|
616
638
|
</button>
|
|
617
639
|
</div>
|
|
618
640
|
</div>
|
|
619
641
|
</div>
|
|
620
|
-
<div className="rounded-lg
|
|
621
|
-
<pre className="overflow-x-auto text-sm
|
|
642
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
643
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
622
644
|
{`// Confirmation dialog with warning
|
|
623
645
|
<div className="confirmation-dialog">
|
|
624
646
|
<div className="icon-container">
|
|
@@ -638,42 +660,42 @@ function ErrorAlert() {
|
|
|
638
660
|
|
|
639
661
|
{/* Toast Notifications */}
|
|
640
662
|
<div className="!space-y-4">
|
|
641
|
-
<h3 className="text-lg font-semibold
|
|
663
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
642
664
|
Toast Notifications
|
|
643
665
|
</h3>
|
|
644
666
|
<div className="!space-y-4">
|
|
645
667
|
<div className="!space-y-3">
|
|
646
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
647
|
-
<WarningIcon className="h-5 w-5 flex-shrink-0
|
|
668
|
+
<div className="border-fm-icon-warning/30 bg-fm-icon-warning/10 flex items-center gap-3 rounded-lg border p-4 shadow-lg">
|
|
669
|
+
<WarningIcon className="text-fm-icon-warning h-5 w-5 flex-shrink-0" />
|
|
648
670
|
<div className="flex-1">
|
|
649
|
-
<div className="text-sm font-medium
|
|
671
|
+
<div className="text-fm-icon-warning text-sm font-medium">
|
|
650
672
|
Connection Issue
|
|
651
673
|
</div>
|
|
652
|
-
<div className="text-
|
|
674
|
+
<div className="text-fm-icon-warning/70 text-xs">
|
|
653
675
|
Check your internet connection and try again.
|
|
654
676
|
</div>
|
|
655
677
|
</div>
|
|
656
|
-
<button className="text-
|
|
678
|
+
<button className="text-fm-icon-warning/60 hover:text-fm-icon-warning">
|
|
657
679
|
<div className="h-4 w-4">×</div>
|
|
658
680
|
</button>
|
|
659
681
|
</div>
|
|
660
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
661
|
-
<WarningIcon className="h-5 w-5 flex-shrink-0
|
|
682
|
+
<div className="border-fm-icon-warning/30 bg-fm-icon-warning/10 flex items-center gap-3 rounded-lg border p-4 shadow-lg">
|
|
683
|
+
<WarningIcon className="text-fm-icon-warning h-5 w-5 flex-shrink-0" />
|
|
662
684
|
<div className="flex-1">
|
|
663
|
-
<div className="text-sm font-medium
|
|
685
|
+
<div className="text-fm-icon-warning text-sm font-medium">
|
|
664
686
|
Storage Almost Full
|
|
665
687
|
</div>
|
|
666
|
-
<div className="text-
|
|
688
|
+
<div className="text-fm-icon-warning/70 text-xs">
|
|
667
689
|
You're using 95% of your storage space.
|
|
668
690
|
</div>
|
|
669
691
|
</div>
|
|
670
|
-
<button className="text-
|
|
692
|
+
<button className="text-fm-icon-warning/60 hover:text-fm-icon-warning">
|
|
671
693
|
<div className="h-4 w-4">×</div>
|
|
672
694
|
</button>
|
|
673
695
|
</div>
|
|
674
696
|
</div>
|
|
675
|
-
<div className="rounded-lg
|
|
676
|
-
<pre className="overflow-x-auto text-sm
|
|
697
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
698
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
677
699
|
{`// Toast notification with warning
|
|
678
700
|
<div className="toast warning">
|
|
679
701
|
<div className="flex items-center gap-3">
|
|
@@ -696,64 +718,64 @@ function ErrorAlert() {
|
|
|
696
718
|
|
|
697
719
|
{/* Accessibility */}
|
|
698
720
|
<div className="!space-y-8">
|
|
699
|
-
<h2 className="text-center text-3xl font-bold
|
|
721
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
700
722
|
Accessibility Features
|
|
701
723
|
</h2>
|
|
702
724
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
703
|
-
<div className="!space-y-4 rounded-lg border
|
|
704
|
-
<h3 className="text-lg font-semibold
|
|
725
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
726
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
705
727
|
✅ Built-in Features
|
|
706
728
|
</h3>
|
|
707
|
-
<ul className="!space-y-2 text-sm
|
|
708
|
-
<li className="
|
|
729
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
730
|
+
<li className="text-fm-secondary!">
|
|
709
731
|
Uses Radix UI AccessibleIcon wrapper
|
|
710
732
|
</li>
|
|
711
|
-
<li className="
|
|
733
|
+
<li className="text-fm-secondary!">
|
|
712
734
|
Provides screen reader label "Warning icon"
|
|
713
735
|
</li>
|
|
714
|
-
<li className="
|
|
736
|
+
<li className="text-fm-secondary!">
|
|
715
737
|
Supports keyboard navigation when interactive
|
|
716
738
|
</li>
|
|
717
|
-
<li className="
|
|
739
|
+
<li className="text-fm-secondary!">
|
|
718
740
|
Maintains proper color contrast ratios
|
|
719
741
|
</li>
|
|
720
|
-
<li className="
|
|
742
|
+
<li className="text-fm-secondary!">
|
|
721
743
|
Scales with user's font size preferences
|
|
722
744
|
</li>
|
|
723
745
|
</ul>
|
|
724
746
|
</div>
|
|
725
747
|
|
|
726
|
-
<div className="!space-y-4 rounded-lg border
|
|
727
|
-
<h3 className="text-lg font-semibold
|
|
748
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
749
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
728
750
|
💡 Best Practices
|
|
729
751
|
</h3>
|
|
730
|
-
<ul className="!space-y-2 text-sm
|
|
731
|
-
<li className="
|
|
752
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
753
|
+
<li className="text-fm-secondary!">
|
|
732
754
|
Always provide descriptive warning messages
|
|
733
755
|
</li>
|
|
734
|
-
<li className="
|
|
756
|
+
<li className="text-fm-secondary!">
|
|
735
757
|
Use appropriate color combinations for severity
|
|
736
758
|
</li>
|
|
737
|
-
<li className="
|
|
759
|
+
<li className="text-fm-secondary!">
|
|
738
760
|
Include role="alert" for critical warnings
|
|
739
761
|
</li>
|
|
740
|
-
<li className="
|
|
762
|
+
<li className="text-fm-secondary!">
|
|
741
763
|
Provide alternative text for screen readers
|
|
742
764
|
</li>
|
|
743
|
-
<li className="
|
|
765
|
+
<li className="text-fm-secondary!">
|
|
744
766
|
Consider animation for attention-grabbing alerts
|
|
745
767
|
</li>
|
|
746
768
|
</ul>
|
|
747
769
|
</div>
|
|
748
770
|
</div>
|
|
749
771
|
|
|
750
|
-
<div className="rounded-lg border
|
|
751
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
772
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
773
|
+
<h3 className="text-fm-icon-warning! mb-4 text-lg font-semibold">
|
|
752
774
|
Proper ARIA Implementation
|
|
753
775
|
</h3>
|
|
754
776
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
755
|
-
<div className="rounded-lg
|
|
756
|
-
<pre className="overflow-x-auto text-sm
|
|
777
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
778
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
757
779
|
{`// Alert banner with proper ARIA
|
|
758
780
|
<div
|
|
759
781
|
role="alert"
|
|
@@ -793,14 +815,14 @@ function ErrorAlert() {
|
|
|
793
815
|
</pre>
|
|
794
816
|
</div>
|
|
795
817
|
<div className="!space-y-4">
|
|
796
|
-
<p className="text-
|
|
818
|
+
<p className="text-fm-secondary! text-sm">
|
|
797
819
|
When using WarningIcon for alerts and warnings, always
|
|
798
820
|
provide proper ARIA roles and descriptive text to ensure
|
|
799
821
|
screen reader users understand the importance and
|
|
800
822
|
context.
|
|
801
823
|
</p>
|
|
802
|
-
<div className="
|
|
803
|
-
<div className="flex items-center gap-2 text-sm
|
|
824
|
+
<div className="border-fm-icon-warning/20 bg-fm-icon-warning/10 rounded-lg border p-4">
|
|
825
|
+
<div className="text-fm-icon-warning flex items-center gap-2 text-sm">
|
|
804
826
|
<WarningIcon className="h-4 w-4" />
|
|
805
827
|
<span>
|
|
806
828
|
Critical warnings should use role="alert" for
|
|
@@ -815,46 +837,58 @@ function ErrorAlert() {
|
|
|
815
837
|
|
|
816
838
|
{/* Related Icons */}
|
|
817
839
|
<div className="!space-y-8">
|
|
818
|
-
<h2 className="text-center text-3xl font-bold
|
|
840
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
819
841
|
Related Icons
|
|
820
842
|
</h2>
|
|
821
843
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
822
|
-
<div className="!space-y-3 rounded-lg border
|
|
823
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
824
|
-
<span className="
|
|
844
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
845
|
+
<div className="bg-fm-icon-negative/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
846
|
+
<span className="text-fm-icon-active! !text-2xl">❌</span>
|
|
825
847
|
</div>
|
|
826
848
|
<div>
|
|
827
|
-
<div className="font-medium
|
|
828
|
-
|
|
849
|
+
<div className="text-fm-icon-active font-medium">
|
|
850
|
+
ErrorIcon
|
|
851
|
+
</div>
|
|
852
|
+
<div className="text-fm-tertiary text-xs">
|
|
853
|
+
Error states
|
|
854
|
+
</div>
|
|
829
855
|
</div>
|
|
830
856
|
</div>
|
|
831
|
-
<div className="!space-y-3 rounded-lg border
|
|
832
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
833
|
-
<span className="
|
|
857
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
858
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
859
|
+
<span className="text-fm-icon-active! !text-2xl">✓</span>
|
|
834
860
|
</div>
|
|
835
861
|
<div>
|
|
836
|
-
<div className="font-medium
|
|
837
|
-
|
|
862
|
+
<div className="text-fm-icon-active font-medium">
|
|
863
|
+
SuccessIcon
|
|
864
|
+
</div>
|
|
865
|
+
<div className="text-fm-tertiary text-xs">
|
|
838
866
|
Success states
|
|
839
867
|
</div>
|
|
840
868
|
</div>
|
|
841
869
|
</div>
|
|
842
|
-
<div className="!space-y-3 rounded-lg border
|
|
843
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
844
|
-
<span className="
|
|
870
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
871
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
872
|
+
<span className="text-fm-icon-active! !text-2xl">ℹ</span>
|
|
845
873
|
</div>
|
|
846
874
|
<div>
|
|
847
|
-
<div className="font-medium
|
|
848
|
-
|
|
875
|
+
<div className="text-fm-icon-active font-medium">
|
|
876
|
+
InfoIcon
|
|
877
|
+
</div>
|
|
878
|
+
<div className="text-fm-tertiary text-xs">
|
|
879
|
+
Information
|
|
880
|
+
</div>
|
|
849
881
|
</div>
|
|
850
882
|
</div>
|
|
851
|
-
<div className="!space-y-3 rounded-lg border
|
|
852
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
853
|
-
<span className="
|
|
883
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
884
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
885
|
+
<span className="text-fm-icon-active! !text-2xl">?</span>
|
|
854
886
|
</div>
|
|
855
887
|
<div>
|
|
856
|
-
<div className="font-medium
|
|
857
|
-
|
|
888
|
+
<div className="text-fm-icon-active font-medium">
|
|
889
|
+
HelpIcon
|
|
890
|
+
</div>
|
|
891
|
+
<div className="text-fm-tertiary text-xs">
|
|
858
892
|
Help & support
|
|
859
893
|
</div>
|
|
860
894
|
</div>
|
|
@@ -864,14 +898,14 @@ function ErrorAlert() {
|
|
|
864
898
|
</div>
|
|
865
899
|
|
|
866
900
|
{/* Footer */}
|
|
867
|
-
<div className="border-
|
|
901
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
868
902
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
869
903
|
<div className="!space-y-4 text-center">
|
|
870
|
-
<p className="
|
|
904
|
+
<p className="text-fm-tertiary!">
|
|
871
905
|
WarningIcon is part of the Aural UI icon library, built with
|
|
872
906
|
accessibility and user experience best practices in mind.
|
|
873
907
|
</p>
|
|
874
|
-
<p className="text-
|
|
908
|
+
<p className="text-fm-placeholder! text-sm">
|
|
875
909
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
876
910
|
compatibility and follow WCAG guidelines for alerts and
|
|
877
911
|
warnings.
|
|
@@ -929,20 +963,20 @@ const storyParameters = {
|
|
|
929
963
|
backgrounds: {
|
|
930
964
|
default: "dark",
|
|
931
965
|
values: [
|
|
932
|
-
{ name: "dark", value: "
|
|
933
|
-
{ name: "darker", value: "
|
|
966
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
967
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
934
968
|
],
|
|
935
969
|
},
|
|
936
970
|
}
|
|
937
971
|
|
|
938
972
|
export const Default: Story = {
|
|
939
973
|
args: {
|
|
940
|
-
className: "h-8 w-8 text-
|
|
974
|
+
className: "h-8 w-8 text-fm-icon-warning",
|
|
941
975
|
withAccessibility: true,
|
|
942
976
|
},
|
|
943
977
|
parameters: storyParameters,
|
|
944
978
|
render: (args) => (
|
|
945
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
979
|
+
<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">
|
|
946
980
|
<WarningIcon {...args} />
|
|
947
981
|
</div>
|
|
948
982
|
),
|
|
@@ -959,30 +993,30 @@ export const SizeVariations: Story = {
|
|
|
959
993
|
},
|
|
960
994
|
},
|
|
961
995
|
render: () => (
|
|
962
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
996
|
+
<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">
|
|
963
997
|
<div className="text-center">
|
|
964
|
-
<WarningIcon className="!mx-auto mb-2 h-3 w-3
|
|
965
|
-
<span className="text-
|
|
998
|
+
<WarningIcon className="text-fm-icon-warning !mx-auto mb-2 h-3 w-3" />
|
|
999
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
966
1000
|
</div>
|
|
967
1001
|
<div className="text-center">
|
|
968
|
-
<WarningIcon className="!mx-auto mb-2 h-4 w-4
|
|
969
|
-
<span className="text-
|
|
1002
|
+
<WarningIcon className="text-fm-icon-warning !mx-auto mb-2 h-4 w-4" />
|
|
1003
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
970
1004
|
</div>
|
|
971
1005
|
<div className="text-center">
|
|
972
|
-
<WarningIcon className="!mx-auto mb-2 h-5 w-5
|
|
973
|
-
<span className="text-
|
|
1006
|
+
<WarningIcon className="text-fm-icon-warning !mx-auto mb-2 h-5 w-5" />
|
|
1007
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
974
1008
|
</div>
|
|
975
1009
|
<div className="text-center">
|
|
976
|
-
<WarningIcon className="!mx-auto mb-2 h-6 w-6
|
|
977
|
-
<span className="text-
|
|
1010
|
+
<WarningIcon className="text-fm-icon-warning !mx-auto mb-2 h-6 w-6" />
|
|
1011
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
978
1012
|
</div>
|
|
979
1013
|
<div className="text-center">
|
|
980
|
-
<WarningIcon className="!mx-auto mb-2 h-8 w-8
|
|
981
|
-
<span className="text-
|
|
1014
|
+
<WarningIcon className="text-fm-icon-warning !mx-auto mb-2 h-8 w-8" />
|
|
1015
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
982
1016
|
</div>
|
|
983
1017
|
<div className="text-center">
|
|
984
|
-
<WarningIcon className="!mx-auto mb-2 h-12 w-12
|
|
985
|
-
<span className="text-
|
|
1018
|
+
<WarningIcon className="text-fm-icon-warning !mx-auto mb-2 h-12 w-12" />
|
|
1019
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
986
1020
|
</div>
|
|
987
1021
|
</div>
|
|
988
1022
|
),
|
|
@@ -999,34 +1033,36 @@ export const ColorVariations: Story = {
|
|
|
999
1033
|
},
|
|
1000
1034
|
},
|
|
1001
1035
|
render: () => (
|
|
1002
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
1036
|
+
<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">
|
|
1003
1037
|
<div className="text-center">
|
|
1004
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1005
|
-
<WarningIcon className="h-8 w-8
|
|
1038
|
+
<div className="border-fm-icon-warning/30 bg-fm-icon-warning/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
1039
|
+
<WarningIcon className="text-fm-icon-warning h-8 w-8" />
|
|
1006
1040
|
</div>
|
|
1007
|
-
<div className="text-sm font-medium
|
|
1008
|
-
<div className="text-
|
|
1041
|
+
<div className="text-fm-icon-active text-sm font-medium">Warning</div>
|
|
1042
|
+
<div className="text-fm-icon-warning text-xs">text-fm-icon-warning</div>
|
|
1009
1043
|
</div>
|
|
1010
1044
|
<div className="text-center">
|
|
1011
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1012
|
-
<WarningIcon className="h-8 w-8
|
|
1045
|
+
<div className="border-fm-icon-warning/30 bg-fm-icon-warning/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
1046
|
+
<WarningIcon className="text-fm-icon-warning h-8 w-8" />
|
|
1013
1047
|
</div>
|
|
1014
|
-
<div className="text-sm font-medium
|
|
1015
|
-
<div className="text-
|
|
1048
|
+
<div className="text-fm-icon-active text-sm font-medium">Caution</div>
|
|
1049
|
+
<div className="text-fm-icon-warning text-xs">text-fm-icon-warning</div>
|
|
1016
1050
|
</div>
|
|
1017
1051
|
<div className="text-center">
|
|
1018
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1019
|
-
<WarningIcon className="h-8 w-8
|
|
1052
|
+
<div className="border-fm-icon-warning/30 bg-fm-icon-warning/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
1053
|
+
<WarningIcon className="text-fm-icon-warning h-8 w-8" />
|
|
1020
1054
|
</div>
|
|
1021
|
-
<div className="text-sm font-medium
|
|
1022
|
-
<div className="text-
|
|
1055
|
+
<div className="text-fm-icon-active text-sm font-medium">Alert</div>
|
|
1056
|
+
<div className="text-fm-icon-warning text-xs">text-fm-icon-warning</div>
|
|
1023
1057
|
</div>
|
|
1024
1058
|
<div className="text-center">
|
|
1025
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1026
|
-
<WarningIcon className="h-8 w-8
|
|
1059
|
+
<div className="border-fm-icon-negative/30 bg-fm-icon-negative/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
1060
|
+
<WarningIcon className="text-fm-icon-negative h-8 w-8" />
|
|
1061
|
+
</div>
|
|
1062
|
+
<div className="text-fm-icon-active text-sm font-medium">Critical</div>
|
|
1063
|
+
<div className="text-fm-icon-negative text-xs">
|
|
1064
|
+
text-fm-icon-negative
|
|
1027
1065
|
</div>
|
|
1028
|
-
<div className="text-sm font-medium text-white">Critical</div>
|
|
1029
|
-
<div className="text-xs text-red-400">text-red-400</div>
|
|
1030
1066
|
</div>
|
|
1031
1067
|
</div>
|
|
1032
1068
|
),
|
|
@@ -1043,22 +1079,24 @@ export const UsageExamples: Story = {
|
|
|
1043
1079
|
},
|
|
1044
1080
|
},
|
|
1045
1081
|
render: () => (
|
|
1046
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
1082
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
1047
1083
|
{/* Form Validation */}
|
|
1048
1084
|
<div className="!space-y-2">
|
|
1049
|
-
<h3 className="text-sm font-medium
|
|
1050
|
-
|
|
1085
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1086
|
+
Form Validation
|
|
1087
|
+
</h3>
|
|
1088
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
1051
1089
|
<div className="!space-y-4">
|
|
1052
1090
|
<div>
|
|
1053
|
-
<label className="mb-2 block text-sm font-medium
|
|
1091
|
+
<label className="text-fm-icon-active mb-2 block text-sm font-medium">
|
|
1054
1092
|
Email Address
|
|
1055
1093
|
</label>
|
|
1056
1094
|
<input
|
|
1057
1095
|
type="email"
|
|
1058
|
-
className="w-full rounded-lg border
|
|
1096
|
+
className="border-fm-icon-negative/50 bg-fm-surface-secondary text-fm-icon-active w-full rounded-lg border p-3 placeholder-white/50"
|
|
1059
1097
|
placeholder="Enter your email"
|
|
1060
1098
|
/>
|
|
1061
|
-
<div className="mt-2 flex items-center gap-2
|
|
1099
|
+
<div className="text-fm-icon-negative mt-2 flex items-center gap-2">
|
|
1062
1100
|
<WarningIcon className="h-4 w-4" />
|
|
1063
1101
|
<span className="text-sm">
|
|
1064
1102
|
Please enter a valid email address
|
|
@@ -1071,14 +1109,16 @@ export const UsageExamples: Story = {
|
|
|
1071
1109
|
|
|
1072
1110
|
{/* Alert Banner */}
|
|
1073
1111
|
<div className="!space-y-2">
|
|
1074
|
-
<h3 className="text-sm font-medium
|
|
1075
|
-
|
|
1076
|
-
|
|
1112
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1113
|
+
Alert Banner
|
|
1114
|
+
</h3>
|
|
1115
|
+
<div className="border-fm-icon-warning/30 bg-fm-icon-warning/10 flex items-center gap-3 rounded-lg border p-4">
|
|
1116
|
+
<WarningIcon className="text-fm-icon-warning h-6 w-6 flex-shrink-0" />
|
|
1077
1117
|
<div>
|
|
1078
|
-
<div className="font-medium
|
|
1118
|
+
<div className="text-fm-icon-warning font-medium">
|
|
1079
1119
|
System Maintenance
|
|
1080
1120
|
</div>
|
|
1081
|
-
<div className="text-
|
|
1121
|
+
<div className="text-fm-icon-warning/70 text-sm">
|
|
1082
1122
|
Scheduled maintenance will occur tonight from 2-4 AM EST.
|
|
1083
1123
|
</div>
|
|
1084
1124
|
</div>
|
|
@@ -1101,12 +1141,12 @@ export const Playground: Story = {
|
|
|
1101
1141
|
args: {
|
|
1102
1142
|
width: 24,
|
|
1103
1143
|
height: 24,
|
|
1104
|
-
className: "text-
|
|
1144
|
+
className: "text-fm-icon-warning",
|
|
1105
1145
|
strokeLinecap: "square",
|
|
1106
1146
|
},
|
|
1107
1147
|
render: (args) => (
|
|
1108
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1109
|
-
<div className="rounded-lg border
|
|
1148
|
+
<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">
|
|
1149
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1110
1150
|
<WarningIcon {...args} />
|
|
1111
1151
|
</div>
|
|
1112
1152
|
</div>
|