aural-ui 3.0.6 → 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/clamp-lines/ClampLines.stories.tsx +25 -0
- package/dist/components/clamp-lines/index.tsx +6 -1
- 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/input/index.tsx +2 -0
- 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 EmailIcon> = {
|
|
|
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 EmailIcon> = {
|
|
|
40
40
|
background: transparent !important;
|
|
41
41
|
}
|
|
42
42
|
body {
|
|
43
|
-
background:
|
|
43
|
+
background: var(--color-fm-surface-primary) !important;
|
|
44
44
|
}
|
|
45
45
|
#storybook-docs {
|
|
46
|
-
background:
|
|
46
|
+
background: var(--color-fm-surface-primary) !important;
|
|
47
47
|
}
|
|
48
48
|
.sbdocs-preview {
|
|
49
49
|
background: transparent !important;
|
|
50
50
|
border: none !important;
|
|
51
51
|
}
|
|
52
52
|
.sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
|
|
53
|
-
color:
|
|
53
|
+
color: var(--color-fm-icon-active) !important;
|
|
54
54
|
}
|
|
55
55
|
.sbdocs-p, .sbdocs-li {
|
|
56
|
-
color:
|
|
56
|
+
color: var(--color-fm-secondary) !important;
|
|
57
57
|
}
|
|
58
58
|
.sbdocs-code {
|
|
59
|
-
background:
|
|
60
|
-
color:
|
|
61
|
-
border: 1px solid
|
|
59
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
60
|
+
color: var(--color-fm-secondary-500) !important;
|
|
61
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
62
62
|
}
|
|
63
63
|
.sbdocs-pre {
|
|
64
|
-
background:
|
|
65
|
-
border: 1px solid
|
|
64
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
65
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
66
66
|
}
|
|
67
67
|
.sbdocs-table {
|
|
68
|
-
background:
|
|
69
|
-
border: 1px solid
|
|
68
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
69
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
70
70
|
}
|
|
71
71
|
.sbdocs-table th {
|
|
72
|
-
background:
|
|
73
|
-
color:
|
|
74
|
-
border-bottom: 1px solid
|
|
72
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
73
|
+
color: var(--color-fm-icon-active) !important;
|
|
74
|
+
border-bottom: 1px solid var(--color-fm-divider-secondary) !important;
|
|
75
75
|
}
|
|
76
76
|
.sbdocs-table td {
|
|
77
|
-
color:
|
|
78
|
-
border-bottom: 1px solid
|
|
77
|
+
color: var(--color-fm-secondary) !important;
|
|
78
|
+
border-bottom: 1px solid var(--color-fm-divider-tertiary) !important;
|
|
79
79
|
}
|
|
80
80
|
`}
|
|
81
81
|
</style>
|
|
82
82
|
|
|
83
|
-
<div className="
|
|
83
|
+
<div className="from-fm-surface-primary via-fm-icon-info/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="
|
|
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-info/10 via-fm-icon-info/10 to-fm-icon-info/10 absolute inset-0 bg-linear-to-r" />
|
|
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
|
-
<EmailIcon className="h-12 w-12
|
|
89
|
+
<div className="border-fm-icon-info/30 from-fm-icon-info/20 to-fm-icon-info/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
|
|
90
|
+
<EmailIcon className="text-fm-icon-info h-12 w-12" />
|
|
91
91
|
</div>
|
|
92
92
|
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
93
93
|
EmailIcon
|
|
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 versatile mail envelope icon for email functionality,
|
|
97
97
|
messaging systems, and communication features. Built with
|
|
98
98
|
accessibility in mind using Radix UI's AccessibleIcon
|
|
@@ -102,28 +102,28 @@ const meta: Meta<typeof EmailIcon> = {
|
|
|
102
102
|
{/* Stats */}
|
|
103
103
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
104
104
|
<div className="text-center">
|
|
105
|
-
<div className="text-3xl font-bold
|
|
105
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
106
106
|
Accessible
|
|
107
107
|
</div>
|
|
108
|
-
<div className="text-
|
|
108
|
+
<div className="text-fm-tertiary text-sm">
|
|
109
109
|
Screen reader friendly
|
|
110
110
|
</div>
|
|
111
111
|
</div>
|
|
112
|
-
<div className="h-8 w-px
|
|
112
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
113
113
|
<div className="text-center">
|
|
114
|
-
<div className="text-3xl font-bold
|
|
114
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
115
115
|
Scalable
|
|
116
116
|
</div>
|
|
117
|
-
<div className="text-
|
|
117
|
+
<div className="text-fm-tertiary text-sm">
|
|
118
118
|
Any size needed
|
|
119
119
|
</div>
|
|
120
120
|
</div>
|
|
121
|
-
<div className="h-8 w-px
|
|
121
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
122
122
|
<div className="text-center">
|
|
123
|
-
<div className="text-3xl font-bold
|
|
123
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
124
124
|
Flexible
|
|
125
125
|
</div>
|
|
126
|
-
<div className="text-
|
|
126
|
+
<div className="text-fm-tertiary text-sm">
|
|
127
127
|
Customizable styling
|
|
128
128
|
</div>
|
|
129
129
|
</div>
|
|
@@ -136,16 +136,16 @@ const meta: Meta<typeof EmailIcon> = {
|
|
|
136
136
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
137
137
|
{/* Quick Usage */}
|
|
138
138
|
<div className="!space-y-8">
|
|
139
|
-
<h2 className="text-center text-3xl font-bold
|
|
139
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
140
140
|
Quick Start
|
|
141
141
|
</h2>
|
|
142
142
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
143
143
|
<div className="!space-y-4">
|
|
144
|
-
<h3 className="text-xl font-semibold
|
|
144
|
+
<h3 className="text-fm-icon-info! text-xl font-semibold">
|
|
145
145
|
Basic Usage
|
|
146
146
|
</h3>
|
|
147
|
-
<div className="rounded-lg
|
|
148
|
-
<pre className="overflow-x-auto text-sm
|
|
147
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
148
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
149
149
|
{`import { EmailIcon } from "@icons/mail-icon"
|
|
150
150
|
|
|
151
151
|
function ContactForm() {
|
|
@@ -161,13 +161,13 @@ function ContactForm() {
|
|
|
161
161
|
</div>
|
|
162
162
|
|
|
163
163
|
<div className="!space-y-4">
|
|
164
|
-
<h3 className="text-xl font-semibold
|
|
164
|
+
<h3 className="text-fm-icon-info! text-xl font-semibold">
|
|
165
165
|
Live Preview
|
|
166
166
|
</h3>
|
|
167
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
168
|
-
<button className="flex items-center gap-3 rounded-lg border
|
|
169
|
-
<EmailIcon className="h-5 w-5
|
|
170
|
-
<span className="text-
|
|
167
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
168
|
+
<button className="border-fm-icon-info/20 bg-fm-icon-info/10 hover:bg-fm-icon-info/20 flex items-center gap-3 rounded-lg border px-4 py-2 transition-colors">
|
|
169
|
+
<EmailIcon className="text-fm-icon-info h-5 w-5" />
|
|
170
|
+
<span className="text-fm-icon-active">Send Email</span>
|
|
171
171
|
</button>
|
|
172
172
|
</div>
|
|
173
173
|
</div>
|
|
@@ -176,94 +176,102 @@ function ContactForm() {
|
|
|
176
176
|
|
|
177
177
|
{/* Props Documentation */}
|
|
178
178
|
<div className="!space-y-8">
|
|
179
|
-
<h2 className="text-center text-3xl font-bold
|
|
179
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
180
180
|
Props & Configuration
|
|
181
181
|
</h2>
|
|
182
182
|
|
|
183
|
-
<div className="overflow-hidden rounded-lg border
|
|
184
|
-
<div className="bg-
|
|
185
|
-
<h3 className="text-xl font-semibold
|
|
183
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
184
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
185
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
186
|
+
Props
|
|
187
|
+
</h3>
|
|
186
188
|
</div>
|
|
187
189
|
<table className="!my-0 w-full">
|
|
188
|
-
<thead className="bg-
|
|
189
|
-
<tr className="border-
|
|
190
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
190
|
+
<thead className="bg-fm-surface-secondary">
|
|
191
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
192
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
191
193
|
Prop
|
|
192
194
|
</th>
|
|
193
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
195
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
194
196
|
Type
|
|
195
197
|
</th>
|
|
196
|
-
<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">
|
|
197
199
|
Default
|
|
198
200
|
</th>
|
|
199
|
-
<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">
|
|
200
202
|
Description
|
|
201
203
|
</th>
|
|
202
204
|
</tr>
|
|
203
205
|
</thead>
|
|
204
206
|
<tbody>
|
|
205
207
|
{" "}
|
|
206
|
-
<tr className="
|
|
207
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
208
|
+
<tr className="bg-fm-surface-secondary!">
|
|
209
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
208
210
|
withAccessibility
|
|
209
211
|
</td>
|
|
210
|
-
<td className="px-6 py-4 text-sm
|
|
212
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
211
213
|
boolean
|
|
212
214
|
</td>
|
|
213
|
-
<td className="px-6 py-4 text-sm
|
|
215
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
214
216
|
true
|
|
215
217
|
</td>
|
|
216
|
-
<td className="px-6 py-4 text-sm
|
|
218
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
217
219
|
Whether to wrap the icon with accessibility feature
|
|
218
220
|
</td>
|
|
219
221
|
</tr>
|
|
220
|
-
<tr className="border-
|
|
221
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
222
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
223
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
222
224
|
height
|
|
223
225
|
</td>
|
|
224
|
-
<td className="px-6 py-4 text-sm
|
|
226
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
225
227
|
number | string
|
|
226
228
|
</td>
|
|
227
|
-
<td className="px-6 py-4 text-sm
|
|
228
|
-
|
|
229
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
230
|
+
21
|
|
231
|
+
</td>
|
|
232
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
229
233
|
Height of the icon in pixels
|
|
230
234
|
</td>
|
|
231
235
|
</tr>
|
|
232
|
-
<tr className="border-
|
|
233
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
236
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
237
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
234
238
|
fill
|
|
235
239
|
</td>
|
|
236
|
-
<td className="px-6 py-4 text-sm
|
|
240
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
237
241
|
string
|
|
238
242
|
</td>
|
|
239
|
-
<td className="px-6 py-4 text-sm
|
|
243
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
240
244
|
currentColor
|
|
241
245
|
</td>
|
|
242
|
-
<td className="px-6 py-4 text-sm
|
|
246
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
243
247
|
Fill color of the icon
|
|
244
248
|
</td>
|
|
245
249
|
</tr>
|
|
246
|
-
<tr className="border-
|
|
247
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
250
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
251
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
248
252
|
className
|
|
249
253
|
</td>
|
|
250
|
-
<td className="px-6 py-4 text-sm
|
|
254
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
251
255
|
string
|
|
252
256
|
</td>
|
|
253
|
-
<td className="px-6 py-4 text-sm
|
|
254
|
-
|
|
257
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
258
|
+
-
|
|
259
|
+
</td>
|
|
260
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
255
261
|
CSS classes for styling
|
|
256
262
|
</td>
|
|
257
263
|
</tr>
|
|
258
|
-
<tr className="
|
|
259
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
264
|
+
<tr className="bg-fm-surface-secondary!">
|
|
265
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
260
266
|
...svgProps
|
|
261
267
|
</td>
|
|
262
|
-
<td className="px-6 py-4 text-sm
|
|
268
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
263
269
|
SVGProps
|
|
264
270
|
</td>
|
|
265
|
-
<td className="px-6 py-4 text-sm
|
|
266
|
-
|
|
271
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
272
|
+
-
|
|
273
|
+
</td>
|
|
274
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
267
275
|
All standard SVG element props
|
|
268
276
|
</td>
|
|
269
277
|
</tr>
|
|
@@ -274,50 +282,62 @@ function ContactForm() {
|
|
|
274
282
|
|
|
275
283
|
{/* Size Variations */}
|
|
276
284
|
<div className="!space-y-8">
|
|
277
|
-
<h2 className="text-center text-3xl font-bold
|
|
285
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
278
286
|
Size Variations
|
|
279
287
|
</h2>
|
|
280
|
-
<div className="rounded-lg border
|
|
288
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
281
289
|
<div className="!space-y-6">
|
|
282
290
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
283
291
|
<div className="!space-y-4">
|
|
284
|
-
<h3 className="text-lg font-semibold
|
|
292
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
285
293
|
Standard Sizes
|
|
286
294
|
</h3>
|
|
287
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
295
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
288
296
|
<div className="text-center">
|
|
289
|
-
<EmailIcon className="!mx-auto mb-2 h-3 w-3
|
|
290
|
-
<span className="text-
|
|
297
|
+
<EmailIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
298
|
+
<span className="text-fm-tertiary text-xs">
|
|
299
|
+
12px
|
|
300
|
+
</span>
|
|
291
301
|
</div>
|
|
292
302
|
<div className="text-center">
|
|
293
|
-
<EmailIcon className="!mx-auto mb-2 h-4 w-4
|
|
294
|
-
<span className="text-
|
|
303
|
+
<EmailIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
304
|
+
<span className="text-fm-tertiary text-xs">
|
|
305
|
+
16px
|
|
306
|
+
</span>
|
|
295
307
|
</div>
|
|
296
308
|
<div className="text-center">
|
|
297
|
-
<EmailIcon className="!mx-auto mb-2 h-5 w-5
|
|
298
|
-
<span className="text-
|
|
309
|
+
<EmailIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
310
|
+
<span className="text-fm-tertiary text-xs">
|
|
311
|
+
20px
|
|
312
|
+
</span>
|
|
299
313
|
</div>
|
|
300
314
|
<div className="text-center">
|
|
301
|
-
<EmailIcon className="!mx-auto mb-2 h-6 w-6
|
|
302
|
-
<span className="text-
|
|
315
|
+
<EmailIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
316
|
+
<span className="text-fm-tertiary text-xs">
|
|
317
|
+
24px
|
|
318
|
+
</span>
|
|
303
319
|
</div>
|
|
304
320
|
<div className="text-center">
|
|
305
|
-
<EmailIcon className="!mx-auto mb-2 h-8 w-8
|
|
306
|
-
<span className="text-
|
|
321
|
+
<EmailIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
322
|
+
<span className="text-fm-tertiary text-xs">
|
|
323
|
+
32px
|
|
324
|
+
</span>
|
|
307
325
|
</div>
|
|
308
326
|
<div className="text-center">
|
|
309
|
-
<EmailIcon className="!mx-auto mb-2 h-12 w-12
|
|
310
|
-
<span className="text-
|
|
327
|
+
<EmailIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
328
|
+
<span className="text-fm-tertiary text-xs">
|
|
329
|
+
48px
|
|
330
|
+
</span>
|
|
311
331
|
</div>
|
|
312
332
|
</div>
|
|
313
333
|
</div>
|
|
314
334
|
|
|
315
335
|
<div className="!space-y-4">
|
|
316
|
-
<h3 className="text-lg font-semibold
|
|
336
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
317
337
|
Code Example
|
|
318
338
|
</h3>
|
|
319
|
-
<div className="rounded-lg
|
|
320
|
-
<pre className="overflow-x-auto text-sm
|
|
339
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
340
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
321
341
|
{`// Small (16px)
|
|
322
342
|
<EmailIcon className="h-4 w-4" />
|
|
323
343
|
|
|
@@ -339,56 +359,56 @@ function ContactForm() {
|
|
|
339
359
|
|
|
340
360
|
{/* Color Variations */}
|
|
341
361
|
<div className="!space-y-8">
|
|
342
|
-
<h2 className="text-center text-3xl font-bold
|
|
362
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
343
363
|
Color Variations
|
|
344
364
|
</h2>
|
|
345
365
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
346
366
|
<div className="!space-y-4">
|
|
347
|
-
<h3 className="text-lg font-semibold
|
|
367
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
348
368
|
Semantic Colors
|
|
349
369
|
</h3>
|
|
350
|
-
<div className="!space-y-4 rounded-lg border
|
|
370
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
351
371
|
<div className="flex items-center gap-4">
|
|
352
|
-
<EmailIcon className="h-6 w-6
|
|
372
|
+
<EmailIcon className="text-fm-icon-info h-6 w-6" />
|
|
353
373
|
<div>
|
|
354
|
-
<div className="text-sm font-medium
|
|
374
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
355
375
|
Primary
|
|
356
376
|
</div>
|
|
357
|
-
<div className="text-
|
|
358
|
-
text-
|
|
377
|
+
<div className="text-fm-tertiary text-xs">
|
|
378
|
+
text-fm-icon-info
|
|
359
379
|
</div>
|
|
360
380
|
</div>
|
|
361
381
|
</div>
|
|
362
382
|
<div className="flex items-center gap-4">
|
|
363
|
-
<EmailIcon className="h-6 w-6
|
|
383
|
+
<EmailIcon className="text-fm-icon-positive h-6 w-6" />
|
|
364
384
|
<div>
|
|
365
|
-
<div className="text-sm font-medium
|
|
385
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
366
386
|
Success
|
|
367
387
|
</div>
|
|
368
|
-
<div className="text-
|
|
369
|
-
text-
|
|
388
|
+
<div className="text-fm-tertiary text-xs">
|
|
389
|
+
text-fm-icon-positive
|
|
370
390
|
</div>
|
|
371
391
|
</div>
|
|
372
392
|
</div>
|
|
373
393
|
<div className="flex items-center gap-4">
|
|
374
|
-
<EmailIcon className="h-6 w-6
|
|
394
|
+
<EmailIcon className="text-fm-icon-warning h-6 w-6" />
|
|
375
395
|
<div>
|
|
376
|
-
<div className="text-sm font-medium
|
|
396
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
377
397
|
Warning
|
|
378
398
|
</div>
|
|
379
|
-
<div className="text-
|
|
380
|
-
text-
|
|
399
|
+
<div className="text-fm-tertiary text-xs">
|
|
400
|
+
text-fm-icon-warning
|
|
381
401
|
</div>
|
|
382
402
|
</div>
|
|
383
403
|
</div>
|
|
384
404
|
<div className="flex items-center gap-4">
|
|
385
|
-
<EmailIcon className="h-6 w-6
|
|
405
|
+
<EmailIcon className="text-fm-placeholder h-6 w-6" />
|
|
386
406
|
<div>
|
|
387
|
-
<div className="text-sm font-medium
|
|
407
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
388
408
|
Neutral
|
|
389
409
|
</div>
|
|
390
|
-
<div className="text-
|
|
391
|
-
text-
|
|
410
|
+
<div className="text-fm-tertiary text-xs">
|
|
411
|
+
text-fm-placeholder
|
|
392
412
|
</div>
|
|
393
413
|
</div>
|
|
394
414
|
</div>
|
|
@@ -396,11 +416,11 @@ function ContactForm() {
|
|
|
396
416
|
</div>
|
|
397
417
|
|
|
398
418
|
<div className="!space-y-4">
|
|
399
|
-
<h3 className="text-lg font-semibold
|
|
419
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
400
420
|
Custom Colors
|
|
401
421
|
</h3>
|
|
402
|
-
<div className="rounded-lg
|
|
403
|
-
<pre className="overflow-x-auto text-sm
|
|
422
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
423
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
404
424
|
{`// Using Tailwind classes
|
|
405
425
|
<EmailIcon className="h-6 w-6 text-blue-400" />
|
|
406
426
|
<EmailIcon className="h-6 w-6 text-green-500" />
|
|
@@ -425,29 +445,29 @@ function ContactForm() {
|
|
|
425
445
|
|
|
426
446
|
{/* Usage Examples */}
|
|
427
447
|
<div className="!space-y-8">
|
|
428
|
-
<h2 className="text-center text-3xl font-bold
|
|
448
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
429
449
|
Usage Examples
|
|
430
450
|
</h2>
|
|
431
451
|
|
|
432
452
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
433
453
|
{/* Email Button */}
|
|
434
454
|
<div className="!space-y-4">
|
|
435
|
-
<h3 className="text-lg font-semibold
|
|
455
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
436
456
|
Email Actions
|
|
437
457
|
</h3>
|
|
438
458
|
<div className="!space-y-4">
|
|
439
459
|
<div className="flex gap-4">
|
|
440
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
460
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info hover:bg-fm-icon-info/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
441
461
|
<EmailIcon className="h-4 w-4" />
|
|
442
462
|
Send Email
|
|
443
463
|
</button>
|
|
444
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
464
|
+
<button className="border-fm-icon-positive/30 bg-fm-icon-positive/20 text-fm-icon-positive hover:bg-fm-icon-positive/30 flex items-center gap-2 rounded-lg border px-3 py-2 transition-colors">
|
|
445
465
|
<EmailIcon className="h-4 w-4" />
|
|
446
466
|
Compose
|
|
447
467
|
</button>
|
|
448
468
|
</div>
|
|
449
|
-
<div className="rounded-lg
|
|
450
|
-
<pre className="overflow-x-auto text-sm
|
|
469
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
470
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
451
471
|
{`// Primary email button
|
|
452
472
|
<button className="flex items-center gap-2 bg-blue-500/20 border border-blue-500/30 px-4 py-2 rounded-lg">
|
|
453
473
|
<EmailIcon className="h-4 w-4" />
|
|
@@ -466,32 +486,32 @@ function ContactForm() {
|
|
|
466
486
|
|
|
467
487
|
{/* Contact Card */}
|
|
468
488
|
<div className="!space-y-4">
|
|
469
|
-
<h3 className="text-lg font-semibold
|
|
489
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
470
490
|
Contact Information
|
|
471
491
|
</h3>
|
|
472
492
|
<div className="!space-y-4">
|
|
473
|
-
<div className="rounded-lg border
|
|
493
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
474
494
|
<div className="flex items-center justify-between">
|
|
475
495
|
<div className="flex items-center gap-3">
|
|
476
|
-
<div className="flex h-10 w-10 items-center justify-center rounded-lg
|
|
477
|
-
<EmailIcon className="h-5 w-5
|
|
496
|
+
<div className="bg-fm-icon-info/20 flex h-10 w-10 items-center justify-center rounded-lg">
|
|
497
|
+
<EmailIcon className="text-fm-icon-info h-5 w-5" />
|
|
478
498
|
</div>
|
|
479
499
|
<div>
|
|
480
|
-
<div className="text-sm font-medium
|
|
500
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
481
501
|
john@example.com
|
|
482
502
|
</div>
|
|
483
|
-
<div className="text-
|
|
503
|
+
<div className="text-fm-tertiary text-xs">
|
|
484
504
|
Primary email address
|
|
485
505
|
</div>
|
|
486
506
|
</div>
|
|
487
507
|
</div>
|
|
488
|
-
<button className="
|
|
508
|
+
<button className="text-fm-placeholder hover:bg-fm-icon-info/20 hover:text-fm-icon-info rounded-lg p-2 transition-colors">
|
|
489
509
|
<EmailIcon className="h-4 w-4" />
|
|
490
510
|
</button>
|
|
491
511
|
</div>
|
|
492
512
|
</div>
|
|
493
|
-
<div className="rounded-lg
|
|
494
|
-
<pre className="overflow-x-auto text-sm
|
|
513
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
514
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
495
515
|
{`<div className="flex items-center justify-between">
|
|
496
516
|
<div className="flex items-center gap-3">
|
|
497
517
|
<div className="flex h-10 w-10 items-center justify-center rounded-lg bg-blue-500/20">
|
|
@@ -513,37 +533,37 @@ function ContactForm() {
|
|
|
513
533
|
|
|
514
534
|
{/* Newsletter Card */}
|
|
515
535
|
<div className="!space-y-4">
|
|
516
|
-
<h3 className="text-lg font-semibold
|
|
536
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
517
537
|
Newsletter Signup
|
|
518
538
|
</h3>
|
|
519
539
|
<div className="!space-y-4">
|
|
520
|
-
<div className="
|
|
540
|
+
<div className="border-fm-icon-info/20 bg-fm-icon-info/5 rounded-lg border p-6">
|
|
521
541
|
<div className="flex items-start gap-4">
|
|
522
|
-
<div className="flex h-12 w-12 items-center justify-center rounded-lg
|
|
523
|
-
<EmailIcon className="h-6 w-6
|
|
542
|
+
<div className="bg-fm-icon-info/20 flex h-12 w-12 items-center justify-center rounded-lg">
|
|
543
|
+
<EmailIcon className="text-fm-icon-info h-6 w-6" />
|
|
524
544
|
</div>
|
|
525
545
|
<div className="flex-1">
|
|
526
|
-
<h4 className="mb-2 font-medium
|
|
546
|
+
<h4 className="text-fm-icon-active! mb-2 font-medium">
|
|
527
547
|
Stay Updated
|
|
528
548
|
</h4>
|
|
529
|
-
<p className="mb-4 text-sm
|
|
549
|
+
<p className="text-fm-secondary! mb-4 text-sm">
|
|
530
550
|
Subscribe to our newsletter for the latest updates
|
|
531
551
|
and insights.
|
|
532
552
|
</p>
|
|
533
553
|
<div className="flex gap-3">
|
|
534
554
|
<input
|
|
535
|
-
className="flex-1 rounded-lg border
|
|
555
|
+
className="border-fm-divider-primary bg-fm-surface-secondary text-fm-icon-active flex-1 rounded-lg border px-3 py-2 text-sm placeholder-white/50"
|
|
536
556
|
placeholder="Enter your email"
|
|
537
557
|
/>
|
|
538
|
-
<button className="
|
|
558
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info rounded-lg border px-4 py-2 text-sm">
|
|
539
559
|
Subscribe
|
|
540
560
|
</button>
|
|
541
561
|
</div>
|
|
542
562
|
</div>
|
|
543
563
|
</div>
|
|
544
564
|
</div>
|
|
545
|
-
<div className="rounded-lg
|
|
546
|
-
<pre className="overflow-x-auto text-sm
|
|
565
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
566
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
547
567
|
{`<div className="border border-blue-500/20 bg-blue-500/5 p-6 rounded-lg">
|
|
548
568
|
<div className="flex items-start gap-4">
|
|
549
569
|
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
|
|
@@ -565,28 +585,30 @@ function ContactForm() {
|
|
|
565
585
|
|
|
566
586
|
{/* Email Status */}
|
|
567
587
|
<div className="!space-y-4">
|
|
568
|
-
<h3 className="text-lg font-semibold
|
|
588
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
569
589
|
Email Status
|
|
570
590
|
</h3>
|
|
571
591
|
<div className="!space-y-4">
|
|
572
|
-
<div className="!space-y-3 rounded-lg border
|
|
592
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4">
|
|
573
593
|
<div className="flex items-center gap-3 rounded px-3 py-2 text-sm">
|
|
574
|
-
<EmailIcon className="h-4 w-4
|
|
575
|
-
<span className="text-
|
|
576
|
-
<span className="ml-auto h-2 w-2 rounded-full
|
|
594
|
+
<EmailIcon className="text-fm-icon-info h-4 w-4" />
|
|
595
|
+
<span className="text-fm-icon-active">Inbox (5)</span>
|
|
596
|
+
<span className="bg-fm-icon-info ml-auto h-2 w-2 rounded-full"></span>
|
|
577
597
|
</div>
|
|
578
598
|
<div className="flex items-center gap-3 rounded px-3 py-2 text-sm">
|
|
579
|
-
<EmailIcon className="h-4 w-4
|
|
580
|
-
<span className="text-
|
|
599
|
+
<EmailIcon className="text-fm-icon-positive h-4 w-4" />
|
|
600
|
+
<span className="text-fm-icon-active">Sent</span>
|
|
581
601
|
</div>
|
|
582
602
|
<div className="flex items-center gap-3 rounded px-3 py-2 text-sm">
|
|
583
|
-
<EmailIcon className="h-4 w-4
|
|
584
|
-
<span className="text-
|
|
585
|
-
|
|
603
|
+
<EmailIcon className="text-fm-icon-warning h-4 w-4" />
|
|
604
|
+
<span className="text-fm-icon-active">
|
|
605
|
+
Drafts (2)
|
|
606
|
+
</span>
|
|
607
|
+
<span className="bg-fm-icon-warning ml-auto h-2 w-2 rounded-full"></span>
|
|
586
608
|
</div>
|
|
587
609
|
</div>
|
|
588
|
-
<div className="rounded-lg
|
|
589
|
-
<pre className="overflow-x-auto text-sm
|
|
610
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
611
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
590
612
|
{`// Email status indicators
|
|
591
613
|
<div className="flex items-center gap-3 px-3 py-2 text-sm rounded">
|
|
592
614
|
<EmailIcon className="h-4 w-4 text-blue-400" />
|
|
@@ -602,64 +624,64 @@ function ContactForm() {
|
|
|
602
624
|
|
|
603
625
|
{/* Accessibility */}
|
|
604
626
|
<div className="!space-y-8">
|
|
605
|
-
<h2 className="text-center text-3xl font-bold
|
|
627
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
606
628
|
Accessibility Features
|
|
607
629
|
</h2>
|
|
608
630
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
609
|
-
<div className="!space-y-4 rounded-lg border
|
|
610
|
-
<h3 className="text-lg font-semibold
|
|
631
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
632
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
611
633
|
✅ Built-in Features
|
|
612
634
|
</h3>
|
|
613
|
-
<ul className="!space-y-2 text-sm
|
|
614
|
-
<li className="
|
|
635
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
636
|
+
<li className="text-fm-secondary!">
|
|
615
637
|
Uses Radix UI AccessibleIcon wrapper
|
|
616
638
|
</li>
|
|
617
|
-
<li className="
|
|
639
|
+
<li className="text-fm-secondary!">
|
|
618
640
|
Provides screen reader label "Email icon"
|
|
619
641
|
</li>
|
|
620
|
-
<li className="
|
|
642
|
+
<li className="text-fm-secondary!">
|
|
621
643
|
Supports keyboard navigation when interactive
|
|
622
644
|
</li>
|
|
623
|
-
<li className="
|
|
645
|
+
<li className="text-fm-secondary!">
|
|
624
646
|
Maintains proper color contrast ratios
|
|
625
647
|
</li>
|
|
626
|
-
<li className="
|
|
648
|
+
<li className="text-fm-secondary!">
|
|
627
649
|
Scales with user's font size preferences
|
|
628
650
|
</li>
|
|
629
651
|
</ul>
|
|
630
652
|
</div>
|
|
631
653
|
|
|
632
|
-
<div className="!space-y-4 rounded-lg border
|
|
633
|
-
<h3 className="text-lg font-semibold
|
|
654
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
655
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
634
656
|
💡 Best Practices
|
|
635
657
|
</h3>
|
|
636
|
-
<ul className="!space-y-2 text-sm
|
|
637
|
-
<li className="
|
|
658
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
659
|
+
<li className="text-fm-secondary!">
|
|
638
660
|
Always pair with descriptive text for actions
|
|
639
661
|
</li>
|
|
640
|
-
<li className="
|
|
662
|
+
<li className="text-fm-secondary!">
|
|
641
663
|
Use consistent colors for email states
|
|
642
664
|
</li>
|
|
643
|
-
<li className="
|
|
665
|
+
<li className="text-fm-secondary!">
|
|
644
666
|
Ensure sufficient color contrast on backgrounds
|
|
645
667
|
</li>
|
|
646
|
-
<li className="
|
|
668
|
+
<li className="text-fm-secondary!">
|
|
647
669
|
Add focus states for interactive elements
|
|
648
670
|
</li>
|
|
649
|
-
<li className="
|
|
671
|
+
<li className="text-fm-secondary!">
|
|
650
672
|
Consider unread indicators for clarity
|
|
651
673
|
</li>
|
|
652
674
|
</ul>
|
|
653
675
|
</div>
|
|
654
676
|
</div>
|
|
655
677
|
|
|
656
|
-
<div className="rounded-lg border
|
|
657
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
678
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
679
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
658
680
|
Custom Accessibility Label
|
|
659
681
|
</h3>
|
|
660
682
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
661
|
-
<div className="rounded-lg
|
|
662
|
-
<pre className="overflow-x-auto text-sm
|
|
683
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
684
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
663
685
|
{`// Custom implementation with specific label
|
|
664
686
|
import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
|
|
665
687
|
|
|
@@ -679,14 +701,14 @@ function CustomEmailIcon({ label = "Email", ...props }) {
|
|
|
679
701
|
</pre>
|
|
680
702
|
</div>
|
|
681
703
|
<div className="!space-y-4">
|
|
682
|
-
<p className="text-
|
|
704
|
+
<p className="text-fm-secondary! text-sm">
|
|
683
705
|
For specific contexts, you can wrap the EmailIcon with a
|
|
684
706
|
custom AccessibleIcon component that provides more
|
|
685
707
|
descriptive labels for email functionality and
|
|
686
708
|
messaging.
|
|
687
709
|
</p>
|
|
688
|
-
<div className="
|
|
689
|
-
<div className="flex items-center gap-2 text-sm
|
|
710
|
+
<div className="border-fm-icon-info/20 bg-fm-icon-info/10 rounded-lg border p-4">
|
|
711
|
+
<div className="text-fm-icon-info flex items-center gap-2 text-sm">
|
|
690
712
|
<EmailIcon className="h-4 w-4" />
|
|
691
713
|
<span>
|
|
692
714
|
This approach gives screen readers more context
|
|
@@ -700,44 +722,60 @@ function CustomEmailIcon({ label = "Email", ...props }) {
|
|
|
700
722
|
|
|
701
723
|
{/* Related Icons */}
|
|
702
724
|
<div className="!space-y-8">
|
|
703
|
-
<h2 className="text-center text-3xl font-bold
|
|
725
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
704
726
|
Related Icons
|
|
705
727
|
</h2>
|
|
706
728
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
707
|
-
<div className="!space-y-3 rounded-lg border
|
|
708
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
729
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
730
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
709
731
|
<span className="text-2xl">📨</span>
|
|
710
732
|
</div>
|
|
711
733
|
<div>
|
|
712
|
-
<div className="font-medium
|
|
713
|
-
|
|
734
|
+
<div className="text-fm-icon-active font-medium">
|
|
735
|
+
InboxIcon
|
|
736
|
+
</div>
|
|
737
|
+
<div className="text-fm-tertiary text-xs">
|
|
738
|
+
Email inbox
|
|
739
|
+
</div>
|
|
714
740
|
</div>
|
|
715
741
|
</div>
|
|
716
|
-
<div className="!space-y-3 rounded-lg border
|
|
717
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
742
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
743
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
718
744
|
<span className="text-2xl">💬</span>
|
|
719
745
|
</div>
|
|
720
746
|
<div>
|
|
721
|
-
<div className="font-medium
|
|
722
|
-
|
|
747
|
+
<div className="text-fm-icon-active font-medium">
|
|
748
|
+
MessageIcon
|
|
749
|
+
</div>
|
|
750
|
+
<div className="text-fm-tertiary text-xs">
|
|
751
|
+
Chat messages
|
|
752
|
+
</div>
|
|
723
753
|
</div>
|
|
724
754
|
</div>
|
|
725
|
-
<div className="!space-y-3 rounded-lg border
|
|
726
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
755
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
756
|
+
<div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
727
757
|
<span className="text-2xl">📧</span>
|
|
728
758
|
</div>
|
|
729
759
|
<div>
|
|
730
|
-
<div className="font-medium
|
|
731
|
-
|
|
760
|
+
<div className="text-fm-icon-active font-medium">
|
|
761
|
+
SendIcon
|
|
762
|
+
</div>
|
|
763
|
+
<div className="text-fm-tertiary text-xs">
|
|
764
|
+
Send actions
|
|
765
|
+
</div>
|
|
732
766
|
</div>
|
|
733
767
|
</div>
|
|
734
|
-
<div className="!space-y-3 rounded-lg border
|
|
735
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
768
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
769
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
736
770
|
<span className="text-2xl">📮</span>
|
|
737
771
|
</div>
|
|
738
772
|
<div>
|
|
739
|
-
<div className="font-medium
|
|
740
|
-
|
|
773
|
+
<div className="text-fm-icon-active font-medium">
|
|
774
|
+
MailboxIcon
|
|
775
|
+
</div>
|
|
776
|
+
<div className="text-fm-tertiary text-xs">
|
|
777
|
+
Mail delivery
|
|
778
|
+
</div>
|
|
741
779
|
</div>
|
|
742
780
|
</div>
|
|
743
781
|
</div>
|
|
@@ -745,14 +783,14 @@ function CustomEmailIcon({ label = "Email", ...props }) {
|
|
|
745
783
|
</div>
|
|
746
784
|
|
|
747
785
|
{/* Footer */}
|
|
748
|
-
<div className="border-
|
|
786
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
749
787
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
750
788
|
<div className="!space-y-4 text-center">
|
|
751
|
-
<p className="
|
|
789
|
+
<p className="text-fm-tertiary!">
|
|
752
790
|
EmailIcon is part of the Aural UI icon library, built with
|
|
753
791
|
accessibility and communication clarity in mind.
|
|
754
792
|
</p>
|
|
755
|
-
<p className="text-
|
|
793
|
+
<p className="text-fm-placeholder! text-sm">
|
|
756
794
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
757
795
|
compatibility and follow WCAG guidelines.
|
|
758
796
|
</p>
|
|
@@ -797,8 +835,8 @@ const storyParameters = {
|
|
|
797
835
|
backgrounds: {
|
|
798
836
|
default: "dark",
|
|
799
837
|
values: [
|
|
800
|
-
{ name: "dark", value: "
|
|
801
|
-
{ name: "darker", value: "
|
|
838
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
839
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
802
840
|
],
|
|
803
841
|
},
|
|
804
842
|
}
|
|
@@ -807,12 +845,12 @@ export const Default: Story = {
|
|
|
807
845
|
args: {
|
|
808
846
|
width: 20,
|
|
809
847
|
height: 21,
|
|
810
|
-
className: "text-
|
|
848
|
+
className: "text-fm-icon-info",
|
|
811
849
|
withAccessibility: true,
|
|
812
850
|
},
|
|
813
851
|
parameters: storyParameters,
|
|
814
852
|
render: (args) => (
|
|
815
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
853
|
+
<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">
|
|
816
854
|
<EmailIcon {...args} />
|
|
817
855
|
</div>
|
|
818
856
|
),
|
|
@@ -829,30 +867,30 @@ export const SizeVariations: Story = {
|
|
|
829
867
|
},
|
|
830
868
|
},
|
|
831
869
|
render: () => (
|
|
832
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
870
|
+
<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">
|
|
833
871
|
<div className="text-center">
|
|
834
|
-
<EmailIcon className="!mx-auto mb-2 h-3 w-3
|
|
835
|
-
<span className="text-
|
|
872
|
+
<EmailIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
873
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
836
874
|
</div>
|
|
837
875
|
<div className="text-center">
|
|
838
|
-
<EmailIcon className="!mx-auto mb-2 h-4 w-4
|
|
839
|
-
<span className="text-
|
|
876
|
+
<EmailIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
877
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
840
878
|
</div>
|
|
841
879
|
<div className="text-center">
|
|
842
|
-
<EmailIcon className="!mx-auto mb-2 h-5 w-5
|
|
843
|
-
<span className="text-
|
|
880
|
+
<EmailIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
881
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
844
882
|
</div>
|
|
845
883
|
<div className="text-center">
|
|
846
|
-
<EmailIcon className="!mx-auto mb-2 h-6 w-6
|
|
847
|
-
<span className="text-
|
|
884
|
+
<EmailIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
885
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
848
886
|
</div>
|
|
849
887
|
<div className="text-center">
|
|
850
|
-
<EmailIcon className="!mx-auto mb-2 h-8 w-8
|
|
851
|
-
<span className="text-
|
|
888
|
+
<EmailIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
889
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
852
890
|
</div>
|
|
853
891
|
<div className="text-center">
|
|
854
|
-
<EmailIcon className="!mx-auto mb-2 h-12 w-12
|
|
855
|
-
<span className="text-
|
|
892
|
+
<EmailIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
893
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
856
894
|
</div>
|
|
857
895
|
</div>
|
|
858
896
|
),
|
|
@@ -869,34 +907,36 @@ export const ColorVariations: Story = {
|
|
|
869
907
|
},
|
|
870
908
|
},
|
|
871
909
|
render: () => (
|
|
872
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
910
|
+
<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">
|
|
873
911
|
<div className="text-center">
|
|
874
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
875
|
-
<EmailIcon className="h-8 w-8
|
|
912
|
+
<div className="border-fm-icon-info/30 bg-fm-icon-info/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
913
|
+
<EmailIcon className="text-fm-icon-info h-8 w-8" />
|
|
876
914
|
</div>
|
|
877
|
-
<div className="text-sm font-medium
|
|
878
|
-
<div className="text-
|
|
915
|
+
<div className="text-fm-icon-active text-sm font-medium">Primary</div>
|
|
916
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
879
917
|
</div>
|
|
880
918
|
<div className="text-center">
|
|
881
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
882
|
-
<EmailIcon className="h-8 w-8
|
|
919
|
+
<div className="border-fm-icon-positive/30 bg-fm-icon-positive/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
920
|
+
<EmailIcon className="text-fm-icon-positive h-8 w-8" />
|
|
921
|
+
</div>
|
|
922
|
+
<div className="text-fm-icon-active text-sm font-medium">Success</div>
|
|
923
|
+
<div className="text-fm-icon-positive text-xs">
|
|
924
|
+
text-fm-icon-positive
|
|
883
925
|
</div>
|
|
884
|
-
<div className="text-sm font-medium text-white">Success</div>
|
|
885
|
-
<div className="text-xs text-green-400">text-green-400</div>
|
|
886
926
|
</div>
|
|
887
927
|
<div className="text-center">
|
|
888
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
889
|
-
<EmailIcon className="h-8 w-8
|
|
928
|
+
<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">
|
|
929
|
+
<EmailIcon className="text-fm-icon-warning h-8 w-8" />
|
|
890
930
|
</div>
|
|
891
|
-
<div className="text-sm font-medium
|
|
892
|
-
<div className="text-
|
|
931
|
+
<div className="text-fm-icon-active text-sm font-medium">Warning</div>
|
|
932
|
+
<div className="text-fm-icon-warning text-xs">text-fm-icon-warning</div>
|
|
893
933
|
</div>
|
|
894
934
|
<div className="text-center">
|
|
895
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
896
|
-
<EmailIcon className="h-8 w-8
|
|
935
|
+
<div className="border-fm-divider-primary bg-fm-surface-tertiary/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
936
|
+
<EmailIcon className="text-fm-placeholder h-8 w-8" />
|
|
897
937
|
</div>
|
|
898
|
-
<div className="text-sm font-medium
|
|
899
|
-
<div className="text-
|
|
938
|
+
<div className="text-fm-icon-active text-sm font-medium">Neutral</div>
|
|
939
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
900
940
|
</div>
|
|
901
941
|
</div>
|
|
902
942
|
),
|
|
@@ -913,16 +953,18 @@ export const UsageExamples: Story = {
|
|
|
913
953
|
},
|
|
914
954
|
},
|
|
915
955
|
render: () => (
|
|
916
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
956
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
917
957
|
{/* Email Actions */}
|
|
918
958
|
<div className="!space-y-2">
|
|
919
|
-
<h3 className="text-sm font-medium
|
|
959
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
960
|
+
Email Actions
|
|
961
|
+
</h3>
|
|
920
962
|
<div className="flex gap-4">
|
|
921
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
963
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info hover:bg-fm-icon-info/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
922
964
|
<EmailIcon className="h-4 w-4" />
|
|
923
965
|
Send Email
|
|
924
966
|
</button>
|
|
925
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
967
|
+
<button className="border-fm-icon-positive/30 bg-fm-icon-positive/20 text-fm-icon-positive hover:bg-fm-icon-positive/30 flex items-center gap-2 rounded-lg border px-3 py-2 transition-colors">
|
|
926
968
|
<EmailIcon className="h-4 w-4" />
|
|
927
969
|
Compose
|
|
928
970
|
</button>
|
|
@@ -931,23 +973,25 @@ export const UsageExamples: Story = {
|
|
|
931
973
|
|
|
932
974
|
{/* Contact Information */}
|
|
933
975
|
<div className="!space-y-2">
|
|
934
|
-
<h3 className="text-sm font-medium
|
|
935
|
-
|
|
976
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
977
|
+
Contact Information
|
|
978
|
+
</h3>
|
|
979
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
936
980
|
<div className="flex items-center justify-between">
|
|
937
981
|
<div className="flex items-center gap-3">
|
|
938
|
-
<div className="flex h-10 w-10 items-center justify-center rounded-lg
|
|
939
|
-
<EmailIcon className="h-5 w-5
|
|
982
|
+
<div className="bg-fm-icon-info/20 flex h-10 w-10 items-center justify-center rounded-lg">
|
|
983
|
+
<EmailIcon className="text-fm-icon-info h-5 w-5" />
|
|
940
984
|
</div>
|
|
941
985
|
<div>
|
|
942
|
-
<div className="text-sm font-medium
|
|
986
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
943
987
|
john@example.com
|
|
944
988
|
</div>
|
|
945
|
-
<div className="text-
|
|
989
|
+
<div className="text-fm-tertiary text-xs">
|
|
946
990
|
Primary email address
|
|
947
991
|
</div>
|
|
948
992
|
</div>
|
|
949
993
|
</div>
|
|
950
|
-
<button className="
|
|
994
|
+
<button className="text-fm-placeholder hover:bg-fm-icon-info/20 hover:text-fm-icon-info rounded-lg p-2 transition-colors">
|
|
951
995
|
<EmailIcon className="h-4 w-4" />
|
|
952
996
|
</button>
|
|
953
997
|
</div>
|
|
@@ -956,21 +1000,23 @@ export const UsageExamples: Story = {
|
|
|
956
1000
|
|
|
957
1001
|
{/* Email Status */}
|
|
958
1002
|
<div className="!space-y-2">
|
|
959
|
-
<h3 className="text-sm font-medium
|
|
960
|
-
|
|
1003
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1004
|
+
Email Status
|
|
1005
|
+
</h3>
|
|
1006
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4">
|
|
961
1007
|
<div className="flex items-center gap-3 rounded px-3 py-2 text-sm">
|
|
962
|
-
<EmailIcon className="h-4 w-4
|
|
963
|
-
<span className="text-
|
|
964
|
-
<span className="ml-auto h-2 w-2 rounded-full
|
|
1008
|
+
<EmailIcon className="text-fm-icon-info h-4 w-4" />
|
|
1009
|
+
<span className="text-fm-icon-active">Inbox (5)</span>
|
|
1010
|
+
<span className="bg-fm-icon-info ml-auto h-2 w-2 rounded-full"></span>
|
|
965
1011
|
</div>
|
|
966
1012
|
<div className="flex items-center gap-3 rounded px-3 py-2 text-sm">
|
|
967
|
-
<EmailIcon className="h-4 w-4
|
|
968
|
-
<span className="text-
|
|
1013
|
+
<EmailIcon className="text-fm-icon-positive h-4 w-4" />
|
|
1014
|
+
<span className="text-fm-icon-active">Sent</span>
|
|
969
1015
|
</div>
|
|
970
1016
|
<div className="flex items-center gap-3 rounded px-3 py-2 text-sm">
|
|
971
|
-
<EmailIcon className="h-4 w-4
|
|
972
|
-
<span className="text-
|
|
973
|
-
<span className="ml-auto h-2 w-2 rounded-full
|
|
1017
|
+
<EmailIcon className="text-fm-icon-warning h-4 w-4" />
|
|
1018
|
+
<span className="text-fm-icon-active">Drafts (2)</span>
|
|
1019
|
+
<span className="bg-fm-icon-warning ml-auto h-2 w-2 rounded-full"></span>
|
|
974
1020
|
</div>
|
|
975
1021
|
</div>
|
|
976
1022
|
</div>
|
|
@@ -991,11 +1037,11 @@ export const Playground: Story = {
|
|
|
991
1037
|
args: {
|
|
992
1038
|
width: 32,
|
|
993
1039
|
height: 32,
|
|
994
|
-
className: "text-
|
|
1040
|
+
className: "text-fm-icon-info",
|
|
995
1041
|
},
|
|
996
1042
|
render: (args) => (
|
|
997
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
998
|
-
<div className="rounded-lg border
|
|
1043
|
+
<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">
|
|
1044
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
999
1045
|
<EmailIcon {...args} />
|
|
1000
1046
|
</div>
|
|
1001
1047
|
</div>
|