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 PhoneIcon> = {
|
|
|
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,57 +40,59 @@ const meta: Meta<typeof PhoneIcon> = {
|
|
|
40
40
|
background: transparent ;
|
|
41
41
|
}
|
|
42
42
|
body {
|
|
43
|
-
background:
|
|
43
|
+
background: var(--color-fm-surface-primary) ;
|
|
44
44
|
}
|
|
45
45
|
#storybook-docs {
|
|
46
|
-
background:
|
|
46
|
+
background: var(--color-fm-surface-primary) ;
|
|
47
47
|
}
|
|
48
48
|
.sbdocs-preview {
|
|
49
49
|
background: transparent ;
|
|
50
50
|
border: none ;
|
|
51
51
|
}
|
|
52
52
|
.sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
|
|
53
|
-
color:
|
|
53
|
+
color: var(--color-fm-icon-active) ;
|
|
54
54
|
}
|
|
55
55
|
.sbdocs-p, .sbdocs-li {
|
|
56
|
-
color:
|
|
56
|
+
color: var(--color-fm-secondary) ;
|
|
57
57
|
}
|
|
58
58
|
.sbdocs-code {
|
|
59
|
-
background:
|
|
60
|
-
color:
|
|
61
|
-
border: 1px solid
|
|
59
|
+
background: var(--color-fm-surface-secondary) ;
|
|
60
|
+
color: var(--color-fm-secondary-500) ;
|
|
61
|
+
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
62
62
|
}
|
|
63
63
|
.sbdocs-pre {
|
|
64
|
-
background:
|
|
65
|
-
border: 1px solid
|
|
64
|
+
background: var(--color-fm-surface-secondary) ;
|
|
65
|
+
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
66
66
|
}
|
|
67
67
|
.sbdocs-table {
|
|
68
|
-
background:
|
|
69
|
-
border: 1px solid
|
|
68
|
+
background: var(--color-fm-surface-secondary) ;
|
|
69
|
+
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
70
70
|
}
|
|
71
71
|
.sbdocs-table th {
|
|
72
|
-
background:
|
|
73
|
-
color:
|
|
74
|
-
border-bottom: 1px solid
|
|
72
|
+
background: var(--color-fm-surface-secondary) ;
|
|
73
|
+
color: var(--color-fm-icon-active) ;
|
|
74
|
+
border-bottom: 1px solid var(--color-fm-divider-secondary) ;
|
|
75
75
|
}
|
|
76
76
|
.sbdocs-table td {
|
|
77
|
-
color:
|
|
78
|
-
border-bottom: 1px solid
|
|
77
|
+
color: var(--color-fm-secondary) ;
|
|
78
|
+
border-bottom: 1px solid var(--color-fm-divider-tertiary) ;
|
|
79
79
|
}
|
|
80
80
|
`}
|
|
81
81
|
</style>
|
|
82
82
|
|
|
83
|
-
<div className="
|
|
83
|
+
<div className="bg-fm-surface-primary min-h-screen">
|
|
84
84
|
{/* Header */}
|
|
85
|
-
<div className="relative overflow-hidden border-b
|
|
86
|
-
<div className="absolute inset-0 bg-
|
|
85
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
|
|
86
|
+
<div className="from-fm-secondary-500/10 to-fm-secondary-500/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
|
|
89
|
+
<div className="border-fm-secondary-500/30 from-fm-secondary-500/20 to-fm-secondary-500/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
|
|
90
90
|
<PhoneIcon className="text-fm-secondary-800 h-12 w-12" />
|
|
91
91
|
</div>
|
|
92
|
-
<h1 className="text-5xl font-bold
|
|
93
|
-
|
|
92
|
+
<h1 className="text-fm-icon-active! text-5xl font-bold">
|
|
93
|
+
PhoneIcon
|
|
94
|
+
</h1>
|
|
95
|
+
<p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
|
|
94
96
|
A universal phone icon for communication interfaces.
|
|
95
97
|
Features the classic mobile phone design, essential for
|
|
96
98
|
contact lists, call buttons, messaging apps, and any
|
|
@@ -101,28 +103,28 @@ const meta: Meta<typeof PhoneIcon> = {
|
|
|
101
103
|
{/* Stats */}
|
|
102
104
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
103
105
|
<div className="text-center">
|
|
104
|
-
<div className="text-3xl font-bold
|
|
106
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
105
107
|
Call Action
|
|
106
108
|
</div>
|
|
107
|
-
<div className="text-
|
|
109
|
+
<div className="text-fm-tertiary text-sm">
|
|
108
110
|
Initiate calls
|
|
109
111
|
</div>
|
|
110
112
|
</div>
|
|
111
|
-
<div className="h-8 w-px
|
|
113
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
112
114
|
<div className="text-center">
|
|
113
|
-
<div className="text-3xl font-bold
|
|
115
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
114
116
|
Accessible
|
|
115
117
|
</div>
|
|
116
|
-
<div className="text-
|
|
118
|
+
<div className="text-fm-tertiary text-sm">
|
|
117
119
|
Screen reader friendly
|
|
118
120
|
</div>
|
|
119
121
|
</div>
|
|
120
|
-
<div className="h-8 w-px
|
|
122
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
121
123
|
<div className="text-center">
|
|
122
|
-
<div className="text-3xl font-bold
|
|
124
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
123
125
|
Universal
|
|
124
126
|
</div>
|
|
125
|
-
<div className="text-
|
|
127
|
+
<div className="text-fm-tertiary text-sm">
|
|
126
128
|
Standard communication icon
|
|
127
129
|
</div>
|
|
128
130
|
</div>
|
|
@@ -135,16 +137,16 @@ const meta: Meta<typeof PhoneIcon> = {
|
|
|
135
137
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
136
138
|
{/* Quick Usage */}
|
|
137
139
|
<div className="!space-y-8">
|
|
138
|
-
<h2 className="text-center text-3xl font-bold
|
|
140
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
139
141
|
Quick Start
|
|
140
142
|
</h2>
|
|
141
143
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
142
144
|
<div className="!space-y-4">
|
|
143
|
-
<h3 className="text-xl font-semibold
|
|
145
|
+
<h3 className="text-fm-secondary-600! text-xl font-semibold">
|
|
144
146
|
Basic Usage
|
|
145
147
|
</h3>
|
|
146
|
-
<div className="rounded-lg
|
|
147
|
-
<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">
|
|
148
150
|
{`import { PhoneIcon } from "@icons/phone-icon"
|
|
149
151
|
|
|
150
152
|
function ContactCard() {
|
|
@@ -162,11 +164,11 @@ function ContactCard() {
|
|
|
162
164
|
</div>
|
|
163
165
|
|
|
164
166
|
<div className="!space-y-4">
|
|
165
|
-
<h3 className="text-xl font-semibold
|
|
167
|
+
<h3 className="text-fm-secondary-600! text-xl font-semibold">
|
|
166
168
|
Live Preview
|
|
167
169
|
</h3>
|
|
168
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
169
|
-
<button className="
|
|
170
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
171
|
+
<button className="border-fm-secondary-500/20 bg-fm-secondary-500/10 hover:bg-fm-secondary-500/20 rounded-lg border p-3 transition-colors">
|
|
170
172
|
<PhoneIcon className="h-6 w-6" />
|
|
171
173
|
</button>
|
|
172
174
|
</div>
|
|
@@ -176,108 +178,116 @@ function ContactCard() {
|
|
|
176
178
|
|
|
177
179
|
{/* Props Documentation */}
|
|
178
180
|
<div className="!space-y-8">
|
|
179
|
-
<h2 className="text-center text-3xl font-bold
|
|
181
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
180
182
|
Props & Configuration
|
|
181
183
|
</h2>
|
|
182
184
|
|
|
183
|
-
<div className="overflow-hidden rounded-lg border
|
|
184
|
-
<div className="bg-
|
|
185
|
-
<h3 className="text-xl font-semibold
|
|
185
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
186
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
187
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
188
|
+
Props
|
|
189
|
+
</h3>
|
|
186
190
|
</div>
|
|
187
191
|
<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
|
|
192
|
+
<thead className="bg-fm-surface-secondary">
|
|
193
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
194
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
191
195
|
Prop
|
|
192
196
|
</th>
|
|
193
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
197
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
194
198
|
Type
|
|
195
199
|
</th>
|
|
196
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
200
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
197
201
|
Default
|
|
198
202
|
</th>
|
|
199
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
203
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
200
204
|
Description
|
|
201
205
|
</th>
|
|
202
206
|
</tr>
|
|
203
207
|
</thead>
|
|
204
208
|
<tbody>
|
|
205
209
|
{" "}
|
|
206
|
-
<tr className="
|
|
207
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
210
|
+
<tr className="bg-fm-surface-secondary!">
|
|
211
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
208
212
|
withAccessibility
|
|
209
213
|
</td>
|
|
210
|
-
<td className="px-6 py-4 text-sm
|
|
214
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
211
215
|
boolean
|
|
212
216
|
</td>
|
|
213
|
-
<td className="px-6 py-4 text-sm
|
|
217
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
214
218
|
true
|
|
215
219
|
</td>
|
|
216
|
-
<td className="px-6 py-4 text-sm
|
|
220
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
217
221
|
Whether to wrap the icon with accessibility feature
|
|
218
222
|
</td>
|
|
219
223
|
</tr>
|
|
220
|
-
<tr className="border-
|
|
221
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
224
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
225
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
222
226
|
height
|
|
223
227
|
</td>
|
|
224
|
-
<td className="px-6 py-4 text-sm
|
|
228
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
225
229
|
number | string
|
|
226
230
|
</td>
|
|
227
|
-
<td className="px-6 py-4 text-sm
|
|
228
|
-
|
|
231
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
232
|
+
14
|
|
233
|
+
</td>
|
|
234
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
229
235
|
Height of the icon in pixels
|
|
230
236
|
</td>
|
|
231
237
|
</tr>
|
|
232
|
-
<tr className="border-
|
|
233
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
238
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
239
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
234
240
|
stroke
|
|
235
241
|
</td>
|
|
236
|
-
<td className="px-6 py-4 text-sm
|
|
242
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
237
243
|
string
|
|
238
244
|
</td>
|
|
239
|
-
<td className="px-6 py-4 text-sm
|
|
245
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
240
246
|
#C58AFF
|
|
241
247
|
</td>
|
|
242
|
-
<td className="px-6 py-4 text-sm
|
|
248
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
243
249
|
Stroke color of the icon
|
|
244
250
|
</td>
|
|
245
251
|
</tr>
|
|
246
|
-
<tr className="border-
|
|
247
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
252
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
253
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
248
254
|
strokeWidth
|
|
249
255
|
</td>
|
|
250
|
-
<td className="px-6 py-4 text-sm
|
|
256
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
251
257
|
string | number
|
|
252
258
|
</td>
|
|
253
|
-
<td className="px-6 py-4 text-sm
|
|
259
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
254
260
|
1.2
|
|
255
261
|
</td>
|
|
256
|
-
<td className="px-6 py-4 text-sm
|
|
262
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
257
263
|
Width of the stroke
|
|
258
264
|
</td>
|
|
259
265
|
</tr>
|
|
260
|
-
<tr className="border-
|
|
261
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
266
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
267
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
262
268
|
className
|
|
263
269
|
</td>
|
|
264
|
-
<td className="px-6 py-4 text-sm
|
|
270
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
265
271
|
string
|
|
266
272
|
</td>
|
|
267
|
-
<td className="px-6 py-4 text-sm
|
|
268
|
-
|
|
273
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
274
|
+
-
|
|
275
|
+
</td>
|
|
276
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
269
277
|
CSS classes for styling (use for overrides)
|
|
270
278
|
</td>
|
|
271
279
|
</tr>
|
|
272
|
-
<tr className="
|
|
273
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
280
|
+
<tr className="bg-fm-surface-secondary!">
|
|
281
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
274
282
|
...svgProps
|
|
275
283
|
</td>
|
|
276
|
-
<td className="px-6 py-4 text-sm
|
|
284
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
277
285
|
SVGProps
|
|
278
286
|
</td>
|
|
279
|
-
<td className="px-6 py-4 text-sm
|
|
280
|
-
|
|
287
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
288
|
+
-
|
|
289
|
+
</td>
|
|
290
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
281
291
|
All standard SVG element props
|
|
282
292
|
</td>
|
|
283
293
|
</tr>
|
|
@@ -288,50 +298,62 @@ function ContactCard() {
|
|
|
288
298
|
|
|
289
299
|
{/* Size Variations */}
|
|
290
300
|
<div className="!space-y-8">
|
|
291
|
-
<h2 className="text-center text-3xl font-bold
|
|
301
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
292
302
|
Size Variations
|
|
293
303
|
</h2>
|
|
294
|
-
<div className="rounded-lg border
|
|
304
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
295
305
|
<div className="!space-y-6">
|
|
296
306
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
297
307
|
<div className="!space-y-4">
|
|
298
|
-
<h3 className="text-lg font-semibold
|
|
308
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
299
309
|
Standard Sizes
|
|
300
310
|
</h3>
|
|
301
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
311
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
302
312
|
<div className="text-center">
|
|
303
313
|
<PhoneIcon className="!mx-auto mb-2 size-3" />
|
|
304
|
-
<span className="text-
|
|
314
|
+
<span className="text-fm-tertiary text-xs">
|
|
315
|
+
12px
|
|
316
|
+
</span>
|
|
305
317
|
</div>
|
|
306
318
|
<div className="text-center">
|
|
307
319
|
<PhoneIcon className="!mx-auto mb-2 size-4" />
|
|
308
|
-
<span className="text-
|
|
320
|
+
<span className="text-fm-tertiary text-xs">
|
|
321
|
+
16px
|
|
322
|
+
</span>
|
|
309
323
|
</div>
|
|
310
324
|
<div className="text-center">
|
|
311
325
|
<PhoneIcon className="!mx-auto mb-2 size-5" />
|
|
312
|
-
<span className="text-
|
|
326
|
+
<span className="text-fm-tertiary text-xs">
|
|
327
|
+
20px
|
|
328
|
+
</span>
|
|
313
329
|
</div>
|
|
314
330
|
<div className="text-center">
|
|
315
331
|
<PhoneIcon className="!mx-auto mb-2 size-6" />
|
|
316
|
-
<span className="text-
|
|
332
|
+
<span className="text-fm-tertiary text-xs">
|
|
333
|
+
24px
|
|
334
|
+
</span>
|
|
317
335
|
</div>
|
|
318
336
|
<div className="text-center">
|
|
319
337
|
<PhoneIcon className="!mx-auto mb-2 size-8" />
|
|
320
|
-
<span className="text-
|
|
338
|
+
<span className="text-fm-tertiary text-xs">
|
|
339
|
+
32px
|
|
340
|
+
</span>
|
|
321
341
|
</div>
|
|
322
342
|
<div className="text-center">
|
|
323
343
|
<PhoneIcon className="!mx-auto mb-2 h-12 w-12" />
|
|
324
|
-
<span className="text-
|
|
344
|
+
<span className="text-fm-tertiary text-xs">
|
|
345
|
+
48px
|
|
346
|
+
</span>
|
|
325
347
|
</div>
|
|
326
348
|
</div>
|
|
327
349
|
</div>
|
|
328
350
|
|
|
329
351
|
<div className="!space-y-4">
|
|
330
|
-
<h3 className="text-lg font-semibold
|
|
352
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
331
353
|
Code Example
|
|
332
354
|
</h3>
|
|
333
|
-
<div className="rounded-lg
|
|
334
|
-
<pre className="overflow-x-auto text-sm
|
|
355
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
356
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
335
357
|
{`// Small (16px)
|
|
336
358
|
<PhoneIcon className="size-4" />
|
|
337
359
|
|
|
@@ -353,54 +375,54 @@ function ContactCard() {
|
|
|
353
375
|
|
|
354
376
|
{/* Color Variations */}
|
|
355
377
|
<div className="!space-y-8">
|
|
356
|
-
<h2 className="text-center text-3xl font-bold
|
|
378
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
357
379
|
Color Variations
|
|
358
380
|
</h2>
|
|
359
381
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
360
382
|
<div className="!space-y-4">
|
|
361
|
-
<h3 className="text-lg font-semibold
|
|
383
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
362
384
|
Semantic Colors
|
|
363
385
|
</h3>
|
|
364
|
-
<div className="!space-y-4 rounded-lg border
|
|
386
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
365
387
|
<div className="flex items-center gap-4">
|
|
366
388
|
<PhoneIcon className="h-6 w-6" />
|
|
367
389
|
<div>
|
|
368
|
-
<div className="text-sm font-medium
|
|
390
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
369
391
|
Primary
|
|
370
392
|
</div>
|
|
371
|
-
<div className="text-
|
|
393
|
+
<div className="text-fm-tertiary text-xs"></div>
|
|
372
394
|
</div>
|
|
373
395
|
</div>
|
|
374
396
|
<div className="flex items-center gap-4">
|
|
375
|
-
<PhoneIcon className="h-6 w-6
|
|
397
|
+
<PhoneIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
376
398
|
<div>
|
|
377
|
-
<div className="text-sm font-medium
|
|
399
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
378
400
|
Secondary
|
|
379
401
|
</div>
|
|
380
|
-
<div className="text-
|
|
381
|
-
text-
|
|
402
|
+
<div className="text-fm-tertiary text-xs">
|
|
403
|
+
text-fm-secondary-600
|
|
382
404
|
</div>
|
|
383
405
|
</div>
|
|
384
406
|
</div>
|
|
385
407
|
<div className="flex items-center gap-4">
|
|
386
|
-
<PhoneIcon className="h-6 w-6
|
|
408
|
+
<PhoneIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
387
409
|
<div>
|
|
388
|
-
<div className="text-sm font-medium
|
|
410
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
389
411
|
Accent
|
|
390
412
|
</div>
|
|
391
|
-
<div className="text-
|
|
392
|
-
text-
|
|
413
|
+
<div className="text-fm-tertiary text-xs">
|
|
414
|
+
text-fm-secondary-600
|
|
393
415
|
</div>
|
|
394
416
|
</div>
|
|
395
417
|
</div>
|
|
396
418
|
<div className="flex items-center gap-4">
|
|
397
|
-
<PhoneIcon className="h-6 w-6
|
|
419
|
+
<PhoneIcon className="text-fm-placeholder h-6 w-6" />
|
|
398
420
|
<div>
|
|
399
|
-
<div className="text-sm font-medium
|
|
421
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
400
422
|
Disabled
|
|
401
423
|
</div>
|
|
402
|
-
<div className="text-
|
|
403
|
-
text-
|
|
424
|
+
<div className="text-fm-tertiary text-xs">
|
|
425
|
+
text-fm-placeholder
|
|
404
426
|
</div>
|
|
405
427
|
</div>
|
|
406
428
|
</div>
|
|
@@ -408,11 +430,11 @@ function ContactCard() {
|
|
|
408
430
|
</div>
|
|
409
431
|
|
|
410
432
|
<div className="!space-y-4">
|
|
411
|
-
<h3 className="text-lg font-semibold
|
|
433
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
412
434
|
Custom Colors
|
|
413
435
|
</h3>
|
|
414
|
-
<div className="rounded-lg
|
|
415
|
-
<pre className="overflow-x-auto text-sm
|
|
436
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
437
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
416
438
|
{`// Using Tailwind classes
|
|
417
439
|
<PhoneIcon className="h-6 w-6" />
|
|
418
440
|
<PhoneIcon className="h-6 w-6 text-violet-500" />
|
|
@@ -437,37 +459,37 @@ function ContactCard() {
|
|
|
437
459
|
|
|
438
460
|
{/* Usage Examples */}
|
|
439
461
|
<div className="!space-y-8">
|
|
440
|
-
<h2 className="text-center text-3xl font-bold
|
|
462
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
441
463
|
Usage Examples
|
|
442
464
|
</h2>
|
|
443
465
|
|
|
444
466
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
445
467
|
{/* Contact Card */}
|
|
446
468
|
<div className="!space-y-4">
|
|
447
|
-
<h3 className="text-lg font-semibold
|
|
469
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
448
470
|
Contact Card
|
|
449
471
|
</h3>
|
|
450
472
|
<div className="!space-y-4">
|
|
451
|
-
<div className="rounded-lg border
|
|
473
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
452
474
|
<div className="mb-4 flex items-center gap-3">
|
|
453
|
-
<div className="h-12 w-12 rounded-full bg-
|
|
475
|
+
<div className="from-fm-secondary-500/20 to-fm-secondary-500/20 h-12 w-12 rounded-full bg-linear-to-br" />
|
|
454
476
|
<div>
|
|
455
|
-
<div className="text-sm font-medium
|
|
477
|
+
<div className="text-fm-icon-active! text-sm font-medium">
|
|
456
478
|
John Doe
|
|
457
479
|
</div>
|
|
458
|
-
<div className="text-
|
|
480
|
+
<div className="text-fm-tertiary! text-xs">
|
|
459
481
|
+1 (555) 123-4567
|
|
460
482
|
</div>
|
|
461
483
|
</div>
|
|
462
484
|
</div>
|
|
463
485
|
<div className="flex items-center justify-center gap-4">
|
|
464
|
-
<button className="
|
|
486
|
+
<button className="border-fm-secondary-500/20 bg-fm-secondary-500/10 hover:bg-fm-secondary-500/20 rounded-lg border p-3 transition-colors">
|
|
465
487
|
<PhoneIcon className="h-6 w-6" />
|
|
466
488
|
</button>
|
|
467
489
|
</div>
|
|
468
490
|
</div>
|
|
469
|
-
<div className="rounded-lg
|
|
470
|
-
<pre className="overflow-x-auto text-sm
|
|
491
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
492
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
471
493
|
{`// Contact card with call button
|
|
472
494
|
<div className="contact-card">
|
|
473
495
|
<div className="contact-info">
|
|
@@ -491,42 +513,42 @@ function ContactCard() {
|
|
|
491
513
|
|
|
492
514
|
{/* Call History */}
|
|
493
515
|
<div className="!space-y-4">
|
|
494
|
-
<h3 className="text-lg font-semibold
|
|
516
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
495
517
|
Call History
|
|
496
518
|
</h3>
|
|
497
519
|
<div className="!space-y-4">
|
|
498
|
-
<div className="rounded-lg border
|
|
520
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
499
521
|
<div className="!space-y-3">
|
|
500
522
|
<div className="flex items-center justify-between">
|
|
501
523
|
<div>
|
|
502
|
-
<div className="text-sm font-medium
|
|
524
|
+
<div className="text-fm-icon-active! text-sm font-medium">
|
|
503
525
|
Jane Smith
|
|
504
526
|
</div>
|
|
505
|
-
<div className="text-
|
|
527
|
+
<div className="text-fm-tertiary! text-xs">
|
|
506
528
|
Today, 2:30 PM
|
|
507
529
|
</div>
|
|
508
530
|
</div>
|
|
509
|
-
<button className="rounded-lg p-2
|
|
531
|
+
<button className="hover:bg-fm-surface-secondary rounded-lg p-2">
|
|
510
532
|
<PhoneIcon className="h-5 w-5" />
|
|
511
533
|
</button>
|
|
512
534
|
</div>
|
|
513
535
|
<div className="flex items-center justify-between">
|
|
514
536
|
<div>
|
|
515
|
-
<div className="text-sm font-medium
|
|
537
|
+
<div className="text-fm-icon-active! text-sm font-medium">
|
|
516
538
|
Bob Johnson
|
|
517
539
|
</div>
|
|
518
|
-
<div className="text-
|
|
540
|
+
<div className="text-fm-tertiary! text-xs">
|
|
519
541
|
Yesterday, 4:15 PM
|
|
520
542
|
</div>
|
|
521
543
|
</div>
|
|
522
|
-
<button className="rounded-lg p-2
|
|
544
|
+
<button className="hover:bg-fm-surface-secondary rounded-lg p-2">
|
|
523
545
|
<PhoneIcon className="h-5 w-5" />
|
|
524
546
|
</button>
|
|
525
547
|
</div>
|
|
526
548
|
</div>
|
|
527
549
|
</div>
|
|
528
|
-
<div className="rounded-lg
|
|
529
|
-
<pre className="overflow-x-auto text-sm
|
|
550
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
551
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
530
552
|
{`// Call history list
|
|
531
553
|
<div className="call-history">
|
|
532
554
|
{calls.map((call) => (
|
|
@@ -551,27 +573,27 @@ function ContactCard() {
|
|
|
551
573
|
|
|
552
574
|
{/* Quick Dial */}
|
|
553
575
|
<div className="!space-y-4">
|
|
554
|
-
<h3 className="text-lg font-semibold
|
|
576
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
555
577
|
Quick Dial
|
|
556
578
|
</h3>
|
|
557
579
|
<div className="!space-y-4">
|
|
558
|
-
<div className="rounded-lg border
|
|
580
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
559
581
|
<div className="mb-4 text-center">
|
|
560
|
-
<div className="text-sm font-medium
|
|
582
|
+
<div className="text-fm-icon-active! text-sm font-medium">
|
|
561
583
|
Emergency Contact
|
|
562
584
|
</div>
|
|
563
|
-
<div className="text-
|
|
585
|
+
<div className="text-fm-tertiary! text-xs">
|
|
564
586
|
Press to call
|
|
565
587
|
</div>
|
|
566
588
|
</div>
|
|
567
589
|
<div className="flex items-center justify-center">
|
|
568
|
-
<button className="
|
|
590
|
+
<button className="border-fm-secondary-500/30 bg-fm-secondary-500/10 hover:bg-fm-secondary-500/20 rounded-full border-2 p-6 transition-colors">
|
|
569
591
|
<PhoneIcon className="h-10 w-10" />
|
|
570
592
|
</button>
|
|
571
593
|
</div>
|
|
572
594
|
</div>
|
|
573
|
-
<div className="rounded-lg
|
|
574
|
-
<pre className="overflow-x-auto text-sm
|
|
595
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
596
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
575
597
|
{`// Quick dial button
|
|
576
598
|
<button
|
|
577
599
|
onClick={initiateCall}
|
|
@@ -587,30 +609,30 @@ function ContactCard() {
|
|
|
587
609
|
|
|
588
610
|
{/* Phone Number Input */}
|
|
589
611
|
<div className="!space-y-4">
|
|
590
|
-
<h3 className="text-lg font-semibold
|
|
612
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
591
613
|
Phone Number Input
|
|
592
614
|
</h3>
|
|
593
615
|
<div className="!space-y-4">
|
|
594
|
-
<div className="rounded-lg border
|
|
616
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
595
617
|
<div className="mb-4">
|
|
596
|
-
<label className="mb-2 block text-xs
|
|
618
|
+
<label className="text-fm-tertiary mb-2 block text-xs">
|
|
597
619
|
Phone Number
|
|
598
620
|
</label>
|
|
599
|
-
<div className="flex items-center gap-2 rounded-lg border
|
|
621
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-2 rounded-lg border px-3 py-2">
|
|
600
622
|
<PhoneIcon className="h-4 w-4" />
|
|
601
623
|
<input
|
|
602
624
|
type="tel"
|
|
603
625
|
placeholder="+1 (555) 123-4567"
|
|
604
|
-
className="flex-1 bg-transparent text-sm
|
|
626
|
+
className="text-fm-icon-active placeholder:text-fm-placeholder flex-1 bg-transparent text-sm"
|
|
605
627
|
/>
|
|
606
628
|
</div>
|
|
607
629
|
</div>
|
|
608
|
-
<button className="
|
|
630
|
+
<button className="border-fm-secondary-500/20 bg-fm-secondary-500/10 hover:bg-fm-secondary-500/20 w-full rounded-lg border px-4 py-2 text-sm transition-colors">
|
|
609
631
|
Call Now
|
|
610
632
|
</button>
|
|
611
633
|
</div>
|
|
612
|
-
<div className="rounded-lg
|
|
613
|
-
<pre className="overflow-x-auto text-sm
|
|
634
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
635
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
614
636
|
{`// Phone input with icon
|
|
615
637
|
<div className="phone-input">
|
|
616
638
|
<label>Phone Number</label>
|
|
@@ -636,68 +658,68 @@ function ContactCard() {
|
|
|
636
658
|
|
|
637
659
|
{/* Accessibility */}
|
|
638
660
|
<div className="!space-y-8">
|
|
639
|
-
<h2 className="text-center text-3xl font-bold
|
|
661
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
640
662
|
Accessibility Features
|
|
641
663
|
</h2>
|
|
642
664
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
643
|
-
<div className="!space-y-4 rounded-lg border
|
|
644
|
-
<h3 className="text-lg font-semibold
|
|
665
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
666
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
645
667
|
✅ Built-in Features
|
|
646
668
|
</h3>
|
|
647
|
-
<ul className="!space-y-2 text-sm
|
|
648
|
-
<li className="
|
|
669
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
670
|
+
<li className="text-fm-secondary!">
|
|
649
671
|
Uses Radix UI AccessibleIcon wrapper
|
|
650
672
|
</li>
|
|
651
|
-
<li className="
|
|
673
|
+
<li className="text-fm-secondary!">
|
|
652
674
|
Provides screen reader label "Phone icon"
|
|
653
675
|
</li>
|
|
654
|
-
<li className="
|
|
676
|
+
<li className="text-fm-secondary!">
|
|
655
677
|
Supports keyboard navigation when interactive
|
|
656
678
|
</li>
|
|
657
|
-
<li className="
|
|
679
|
+
<li className="text-fm-secondary!">
|
|
658
680
|
Maintains proper color contrast ratios
|
|
659
681
|
</li>
|
|
660
|
-
<li className="
|
|
682
|
+
<li className="text-fm-secondary!">
|
|
661
683
|
Scales with user's font size preferences
|
|
662
684
|
</li>
|
|
663
685
|
</ul>
|
|
664
686
|
</div>
|
|
665
687
|
|
|
666
|
-
<div className="!space-y-4 rounded-lg border
|
|
667
|
-
<h3 className="text-lg font-semibold
|
|
688
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
689
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
668
690
|
💡 Best Practices
|
|
669
691
|
</h3>
|
|
670
|
-
<ul className="!space-y-2 text-sm
|
|
671
|
-
<li className="
|
|
692
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
693
|
+
<li className="text-fm-secondary!">
|
|
672
694
|
Always provide descriptive aria-labels for call buttons
|
|
673
695
|
</li>
|
|
674
|
-
<li className="
|
|
696
|
+
<li className="text-fm-secondary!">
|
|
675
697
|
Include phone number in accessible text when possible
|
|
676
698
|
</li>
|
|
677
|
-
<li className="
|
|
699
|
+
<li className="text-fm-secondary!">
|
|
678
700
|
Ensure sufficient touch target size (44px minimum)
|
|
679
701
|
</li>
|
|
680
|
-
<li className="
|
|
702
|
+
<li className="text-fm-secondary!">
|
|
681
703
|
Provide visible focus states for keyboard users
|
|
682
704
|
</li>
|
|
683
|
-
<li className="
|
|
705
|
+
<li className="text-fm-secondary!">
|
|
684
706
|
Consider voice control compatibility
|
|
685
707
|
</li>
|
|
686
708
|
</ul>
|
|
687
709
|
</div>
|
|
688
710
|
</div>
|
|
689
711
|
|
|
690
|
-
<div className="rounded-lg border
|
|
691
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
712
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
713
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
692
714
|
Proper ARIA Implementation
|
|
693
715
|
</h3>
|
|
694
716
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
695
|
-
<div className="rounded-lg
|
|
696
|
-
<pre className="overflow-x-auto text-sm
|
|
717
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
718
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
697
719
|
{`// Call button with proper ARIA
|
|
698
720
|
<button
|
|
699
721
|
aria-label={\`Call \${contactName}\`}
|
|
700
|
-
className="p-2 hover:bg-
|
|
722
|
+
className="p-2 hover:bg-fm-surface-secondary rounded-lg"
|
|
701
723
|
onClick={() => makeCall(phoneNumber)}
|
|
702
724
|
>
|
|
703
725
|
<PhoneIcon className="h-6 w-6" />
|
|
@@ -723,14 +745,14 @@ function ContactCard() {
|
|
|
723
745
|
</pre>
|
|
724
746
|
</div>
|
|
725
747
|
<div className="!space-y-4">
|
|
726
|
-
<p className="text-
|
|
748
|
+
<p className="text-fm-secondary! text-sm">
|
|
727
749
|
When using PhoneIcon for interactive elements, always
|
|
728
750
|
provide clear context about who or what will be called,
|
|
729
751
|
and ensure the phone number is accessible to screen
|
|
730
752
|
readers.
|
|
731
753
|
</p>
|
|
732
|
-
<div className="
|
|
733
|
-
<div className="flex items-center gap-2 text-sm
|
|
754
|
+
<div className="border-fm-secondary-500/20 bg-fm-secondary-500/10 rounded-lg border p-4">
|
|
755
|
+
<div className="text-fm-secondary-600 flex items-center gap-2 text-sm">
|
|
734
756
|
<PhoneIcon className="h-4 w-4" />
|
|
735
757
|
<span>
|
|
736
758
|
Screen readers need context about the call
|
|
@@ -745,44 +767,56 @@ function ContactCard() {
|
|
|
745
767
|
|
|
746
768
|
{/* Related Icons */}
|
|
747
769
|
<div className="!space-y-8">
|
|
748
|
-
<h2 className="text-center text-3xl font-bold
|
|
770
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
749
771
|
Related Icons
|
|
750
772
|
</h2>
|
|
751
773
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
752
|
-
<div className="!space-y-3 rounded-lg border
|
|
753
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
754
|
-
<span className="
|
|
774
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
775
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
776
|
+
<span className="text-fm-icon-active! !text-2xl">📧</span>
|
|
755
777
|
</div>
|
|
756
778
|
<div>
|
|
757
|
-
<div className="font-medium
|
|
758
|
-
|
|
779
|
+
<div className="text-fm-icon-active font-medium">
|
|
780
|
+
EmailIcon
|
|
781
|
+
</div>
|
|
782
|
+
<div className="text-fm-tertiary text-xs">Send email</div>
|
|
759
783
|
</div>
|
|
760
784
|
</div>
|
|
761
|
-
<div className="!space-y-3 rounded-lg border
|
|
762
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
763
|
-
<span className="
|
|
785
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
786
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
787
|
+
<span className="text-fm-icon-active! !text-2xl">💬</span>
|
|
764
788
|
</div>
|
|
765
789
|
<div>
|
|
766
|
-
<div className="font-medium
|
|
767
|
-
|
|
790
|
+
<div className="text-fm-icon-active font-medium">
|
|
791
|
+
MessageIcon
|
|
792
|
+
</div>
|
|
793
|
+
<div className="text-fm-tertiary text-xs">
|
|
794
|
+
Send message
|
|
795
|
+
</div>
|
|
768
796
|
</div>
|
|
769
797
|
</div>
|
|
770
|
-
<div className="!space-y-3 rounded-lg border
|
|
771
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
772
|
-
<span className="
|
|
798
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
799
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
800
|
+
<span className="text-fm-icon-active! !text-2xl">📱</span>
|
|
773
801
|
</div>
|
|
774
802
|
<div>
|
|
775
|
-
<div className="font-medium
|
|
776
|
-
|
|
803
|
+
<div className="text-fm-icon-active font-medium">
|
|
804
|
+
MobileIcon
|
|
805
|
+
</div>
|
|
806
|
+
<div className="text-fm-tertiary text-xs">
|
|
807
|
+
Mobile device
|
|
808
|
+
</div>
|
|
777
809
|
</div>
|
|
778
810
|
</div>
|
|
779
|
-
<div className="!space-y-3 rounded-lg border
|
|
780
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
781
|
-
<span className="
|
|
811
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
812
|
+
<div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
813
|
+
<span className="text-fm-icon-active! !text-2xl">👤</span>
|
|
782
814
|
</div>
|
|
783
815
|
<div>
|
|
784
|
-
<div className="font-medium
|
|
785
|
-
|
|
816
|
+
<div className="text-fm-icon-active font-medium">
|
|
817
|
+
UserIcon
|
|
818
|
+
</div>
|
|
819
|
+
<div className="text-fm-tertiary text-xs">
|
|
786
820
|
Contact profile
|
|
787
821
|
</div>
|
|
788
822
|
</div>
|
|
@@ -792,14 +826,14 @@ function ContactCard() {
|
|
|
792
826
|
</div>
|
|
793
827
|
|
|
794
828
|
{/* Footer */}
|
|
795
|
-
<div className="border-
|
|
829
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
796
830
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
797
831
|
<div className="!space-y-4 text-center">
|
|
798
|
-
<p className="
|
|
832
|
+
<p className="text-fm-tertiary!">
|
|
799
833
|
PhoneIcon is part of the Aural UI icon library, built with
|
|
800
834
|
accessibility and communication best practices in mind.
|
|
801
835
|
</p>
|
|
802
|
-
<p className="text-
|
|
836
|
+
<p className="text-fm-placeholder! text-sm">
|
|
803
837
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
804
838
|
compatibility and follow WCAG guidelines.
|
|
805
839
|
</p>
|
|
@@ -852,8 +886,8 @@ const storyParameters = {
|
|
|
852
886
|
backgrounds: {
|
|
853
887
|
default: "dark",
|
|
854
888
|
values: [
|
|
855
|
-
{ name: "dark", value: "
|
|
856
|
-
{ name: "darker", value: "
|
|
889
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
890
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
857
891
|
],
|
|
858
892
|
},
|
|
859
893
|
}
|
|
@@ -865,7 +899,7 @@ export const Default: Story = {
|
|
|
865
899
|
},
|
|
866
900
|
parameters: storyParameters,
|
|
867
901
|
render: (args) => (
|
|
868
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
902
|
+
<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">
|
|
869
903
|
<PhoneIcon {...args} />
|
|
870
904
|
</div>
|
|
871
905
|
),
|
|
@@ -882,30 +916,30 @@ export const SizeVariations: Story = {
|
|
|
882
916
|
},
|
|
883
917
|
},
|
|
884
918
|
render: () => (
|
|
885
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
919
|
+
<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">
|
|
886
920
|
<div className="text-center">
|
|
887
921
|
<PhoneIcon className="!mx-auto mb-2 h-3 w-3" />
|
|
888
|
-
<span className="text-
|
|
922
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
889
923
|
</div>
|
|
890
924
|
<div className="text-center">
|
|
891
925
|
<PhoneIcon className="!mx-auto mb-2 h-4 w-4" />
|
|
892
|
-
<span className="text-
|
|
926
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
893
927
|
</div>
|
|
894
928
|
<div className="text-center">
|
|
895
929
|
<PhoneIcon className="!mx-auto mb-2 h-5 w-5" />
|
|
896
|
-
<span className="text-
|
|
930
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
897
931
|
</div>
|
|
898
932
|
<div className="text-center">
|
|
899
933
|
<PhoneIcon className="!mx-auto mb-2 h-6 w-6" />
|
|
900
|
-
<span className="text-
|
|
934
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
901
935
|
</div>
|
|
902
936
|
<div className="text-center">
|
|
903
937
|
<PhoneIcon className="!mx-auto mb-2 h-8 w-8" />
|
|
904
|
-
<span className="text-
|
|
938
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
905
939
|
</div>
|
|
906
940
|
<div className="text-center">
|
|
907
941
|
<PhoneIcon className="!mx-auto mb-2 h-12 w-12" />
|
|
908
|
-
<span className="text-
|
|
942
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
909
943
|
</div>
|
|
910
944
|
</div>
|
|
911
945
|
),
|
|
@@ -921,34 +955,38 @@ export const ColorVariations: Story = {
|
|
|
921
955
|
},
|
|
922
956
|
},
|
|
923
957
|
render: () => (
|
|
924
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
958
|
+
<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">
|
|
925
959
|
<div className="text-center">
|
|
926
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
960
|
+
<div className="border-fm-secondary-500/30 bg-fm-secondary-500/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
927
961
|
<PhoneIcon className="h-8 w-8" />
|
|
928
962
|
</div>
|
|
929
|
-
<div className="text-sm font-medium
|
|
930
|
-
<div className="text-xs">text-
|
|
963
|
+
<div className="text-fm-icon-active text-sm font-medium">Primary</div>
|
|
964
|
+
<div className="text-xs">text-fm-secondary-600</div>
|
|
931
965
|
</div>
|
|
932
966
|
<div className="text-center">
|
|
933
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
934
|
-
<PhoneIcon className="h-8 w-8
|
|
967
|
+
<div className="border-fm-secondary-500/30 bg-fm-secondary-500/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
968
|
+
<PhoneIcon className="text-fm-secondary-600 h-8 w-8" />
|
|
969
|
+
</div>
|
|
970
|
+
<div className="text-fm-icon-active text-sm font-medium">Secondary</div>
|
|
971
|
+
<div className="text-fm-secondary-600 text-xs">
|
|
972
|
+
text-fm-secondary-600
|
|
935
973
|
</div>
|
|
936
|
-
<div className="text-sm font-medium text-white">Secondary</div>
|
|
937
|
-
<div className="text-xs text-violet-400">text-violet-400</div>
|
|
938
974
|
</div>
|
|
939
975
|
<div className="text-center">
|
|
940
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
941
|
-
<PhoneIcon className="h-8 w-8
|
|
976
|
+
<div className="border-fm-secondary-500/30 bg-fm-secondary-500/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
977
|
+
<PhoneIcon className="text-fm-secondary-600 h-8 w-8" />
|
|
978
|
+
</div>
|
|
979
|
+
<div className="text-fm-icon-active text-sm font-medium">Accent</div>
|
|
980
|
+
<div className="text-fm-secondary-600 text-xs">
|
|
981
|
+
text-fm-secondary-600
|
|
942
982
|
</div>
|
|
943
|
-
<div className="text-sm font-medium text-white">Accent</div>
|
|
944
|
-
<div className="text-xs text-fuchsia-400">text-fuchsia-400</div>
|
|
945
983
|
</div>
|
|
946
984
|
<div className="text-center">
|
|
947
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
948
|
-
<PhoneIcon className="h-8 w-8
|
|
985
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
986
|
+
<PhoneIcon className="text-fm-placeholder h-8 w-8" />
|
|
949
987
|
</div>
|
|
950
|
-
<div className="text-sm font-medium
|
|
951
|
-
<div className="text-
|
|
988
|
+
<div className="text-fm-icon-active text-sm font-medium">Disabled</div>
|
|
989
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
952
990
|
</div>
|
|
953
991
|
</div>
|
|
954
992
|
),
|
|
@@ -965,20 +1003,24 @@ export const UsageExamples: Story = {
|
|
|
965
1003
|
},
|
|
966
1004
|
},
|
|
967
1005
|
render: () => (
|
|
968
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
1006
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
969
1007
|
{/* Contact Card */}
|
|
970
1008
|
<div className="!space-y-2">
|
|
971
|
-
<h3 className="text-sm font-medium
|
|
972
|
-
|
|
1009
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1010
|
+
Contact Card
|
|
1011
|
+
</h3>
|
|
1012
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
973
1013
|
<div className="mb-4 flex items-center gap-3">
|
|
974
|
-
<div className="h-12 w-12 rounded-full bg-
|
|
1014
|
+
<div className="from-fm-secondary-500/20 to-fm-secondary-500/20 h-12 w-12 rounded-full bg-linear-to-br" />
|
|
975
1015
|
<div>
|
|
976
|
-
<div className="text-sm font-medium
|
|
977
|
-
|
|
1016
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
1017
|
+
John Doe
|
|
1018
|
+
</div>
|
|
1019
|
+
<div className="text-fm-tertiary text-xs">+1 (555) 123-4567</div>
|
|
978
1020
|
</div>
|
|
979
1021
|
</div>
|
|
980
1022
|
<div className="flex items-center justify-center gap-4">
|
|
981
|
-
<button className="
|
|
1023
|
+
<button className="border-fm-secondary-500/20 bg-fm-secondary-500/10 hover:bg-fm-secondary-500/20 rounded-lg border p-3 transition-colors">
|
|
982
1024
|
<PhoneIcon className="h-6 w-6" />
|
|
983
1025
|
</button>
|
|
984
1026
|
</div>
|
|
@@ -987,26 +1029,32 @@ export const UsageExamples: Story = {
|
|
|
987
1029
|
|
|
988
1030
|
{/* Call History */}
|
|
989
1031
|
<div className="!space-y-2">
|
|
990
|
-
<h3 className="text-sm font-medium
|
|
991
|
-
|
|
1032
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1033
|
+
Call History
|
|
1034
|
+
</h3>
|
|
1035
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
992
1036
|
<div className="!space-y-3">
|
|
993
1037
|
<div className="flex items-center justify-between">
|
|
994
1038
|
<div>
|
|
995
|
-
<div className="text-sm font-medium
|
|
996
|
-
|
|
1039
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
1040
|
+
Jane Smith
|
|
1041
|
+
</div>
|
|
1042
|
+
<div className="text-fm-tertiary text-xs">Today, 2:30 PM</div>
|
|
997
1043
|
</div>
|
|
998
|
-
<button className="rounded-lg p-2
|
|
1044
|
+
<button className="hover:bg-fm-surface-secondary rounded-lg p-2">
|
|
999
1045
|
<PhoneIcon className="h-5 w-5" />
|
|
1000
1046
|
</button>
|
|
1001
1047
|
</div>
|
|
1002
1048
|
<div className="flex items-center justify-between">
|
|
1003
1049
|
<div>
|
|
1004
|
-
<div className="text-sm font-medium
|
|
1050
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
1005
1051
|
Bob Johnson
|
|
1006
1052
|
</div>
|
|
1007
|
-
<div className="text-
|
|
1053
|
+
<div className="text-fm-tertiary text-xs">
|
|
1054
|
+
Yesterday, 4:15 PM
|
|
1055
|
+
</div>
|
|
1008
1056
|
</div>
|
|
1009
|
-
<button className="rounded-lg p-2
|
|
1057
|
+
<button className="hover:bg-fm-surface-secondary rounded-lg p-2">
|
|
1010
1058
|
<PhoneIcon className="h-5 w-5" />
|
|
1011
1059
|
</button>
|
|
1012
1060
|
</div>
|
|
@@ -1030,11 +1078,11 @@ export const Playground: Story = {
|
|
|
1030
1078
|
args: {
|
|
1031
1079
|
width: 24,
|
|
1032
1080
|
height: 24,
|
|
1033
|
-
className: "text-
|
|
1081
|
+
className: "text-fm-secondary-600",
|
|
1034
1082
|
},
|
|
1035
1083
|
render: (args) => (
|
|
1036
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1037
|
-
<div className="rounded-lg border
|
|
1084
|
+
<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">
|
|
1085
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1038
1086
|
<PhoneIcon {...args} />
|
|
1039
1087
|
</div>
|
|
1040
1088
|
</div>
|