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 GoogleLogoIcon> = {
|
|
|
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 GoogleLogoIcon> = {
|
|
|
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-negative/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-negative/10 via-fm-icon-warning/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
|
|
89
|
+
<div className="border-fm-divider-primary from-fm-icon-negative/20 via-fm-icon-warning/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
90
|
<GoogleLogoIcon className="h-12 w-12" />
|
|
91
91
|
</div>
|
|
92
92
|
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
93
93
|
GoogleLogoIcon
|
|
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
|
The iconic Google logo for authentication, platform
|
|
97
97
|
integration, and service identification. Built with
|
|
98
98
|
accessibility in mind using Radix UI's AccessibleIcon
|
|
@@ -102,28 +102,28 @@ const meta: Meta<typeof GoogleLogoIcon> = {
|
|
|
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-negative 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-warning 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-icon-info 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 GoogleLogoIcon> = {
|
|
|
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-negative! 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 { GoogleLogoIcon } from "@icons/google-logo-icon"
|
|
150
150
|
|
|
151
151
|
function LoginPage() {
|
|
@@ -161,11 +161,11 @@ function LoginPage() {
|
|
|
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-negative! 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
|
|
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-divider-primary bg-fm-surface-contrast text-fm-primary hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg border px-6 py-3 transition-colors">
|
|
169
169
|
<GoogleLogoIcon className="h-5 w-5" />
|
|
170
170
|
<span>Sign in with Google</span>
|
|
171
171
|
</button>
|
|
@@ -176,94 +176,102 @@ function LoginPage() {
|
|
|
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-negative! 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
|
+
20
|
|
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-negative! 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
|
Google colors
|
|
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 paths
|
|
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-negative! 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-negative! 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 LoginPage() {
|
|
|
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-negative! 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
297
|
<GoogleLogoIcon className="!mx-auto mb-2 h-3 w-3" />
|
|
290
|
-
<span className="text-
|
|
298
|
+
<span className="text-fm-tertiary text-xs">
|
|
299
|
+
12px
|
|
300
|
+
</span>
|
|
291
301
|
</div>
|
|
292
302
|
<div className="text-center">
|
|
293
303
|
<GoogleLogoIcon className="!mx-auto mb-2 h-4 w-4" />
|
|
294
|
-
<span className="text-
|
|
304
|
+
<span className="text-fm-tertiary text-xs">
|
|
305
|
+
16px
|
|
306
|
+
</span>
|
|
295
307
|
</div>
|
|
296
308
|
<div className="text-center">
|
|
297
309
|
<GoogleLogoIcon className="!mx-auto mb-2 h-5 w-5" />
|
|
298
|
-
<span className="text-
|
|
310
|
+
<span className="text-fm-tertiary text-xs">
|
|
311
|
+
20px
|
|
312
|
+
</span>
|
|
299
313
|
</div>
|
|
300
314
|
<div className="text-center">
|
|
301
315
|
<GoogleLogoIcon className="!mx-auto mb-2 h-6 w-6" />
|
|
302
|
-
<span className="text-
|
|
316
|
+
<span className="text-fm-tertiary text-xs">
|
|
317
|
+
24px
|
|
318
|
+
</span>
|
|
303
319
|
</div>
|
|
304
320
|
<div className="text-center">
|
|
305
321
|
<GoogleLogoIcon className="!mx-auto mb-2 h-8 w-8" />
|
|
306
|
-
<span className="text-
|
|
322
|
+
<span className="text-fm-tertiary text-xs">
|
|
323
|
+
32px
|
|
324
|
+
</span>
|
|
307
325
|
</div>
|
|
308
326
|
<div className="text-center">
|
|
309
327
|
<GoogleLogoIcon className="!mx-auto mb-2 h-12 w-12" />
|
|
310
|
-
<span className="text-
|
|
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-negative! 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
|
<GoogleLogoIcon className="h-4 w-4" />
|
|
323
343
|
|
|
@@ -339,61 +359,61 @@ function LoginPage() {
|
|
|
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-negative! text-lg font-semibold">
|
|
348
368
|
Brand 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
372
|
<GoogleLogoIcon className="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
|
Original Google Colors
|
|
356
376
|
</div>
|
|
357
|
-
<div className="text-
|
|
377
|
+
<div className="text-fm-tertiary text-xs">
|
|
358
378
|
Default multicolor
|
|
359
379
|
</div>
|
|
360
380
|
</div>
|
|
361
381
|
</div>
|
|
362
382
|
<div className="flex items-center gap-4">
|
|
363
|
-
<div className="flex h-6 w-6 items-center justify-center rounded
|
|
383
|
+
<div className="bg-fm-surface-contrast flex h-6 w-6 items-center justify-center rounded">
|
|
364
384
|
<GoogleLogoIcon className="h-5 w-5" />
|
|
365
385
|
</div>
|
|
366
386
|
<div>
|
|
367
|
-
<div className="text-sm font-medium
|
|
387
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
368
388
|
On White Background
|
|
369
389
|
</div>
|
|
370
|
-
<div className="text-
|
|
390
|
+
<div className="text-fm-tertiary text-xs">
|
|
371
391
|
Optimal contrast
|
|
372
392
|
</div>
|
|
373
393
|
</div>
|
|
374
394
|
</div>
|
|
375
395
|
<div className="flex items-center gap-4">
|
|
376
|
-
<div className="flex h-6 w-6 items-center justify-center rounded
|
|
396
|
+
<div className="bg-fm-surface-secondary flex h-6 w-6 items-center justify-center rounded">
|
|
377
397
|
<GoogleLogoIcon className="h-5 w-5" />
|
|
378
398
|
</div>
|
|
379
399
|
<div>
|
|
380
|
-
<div className="text-sm font-medium
|
|
400
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
381
401
|
On Light Background
|
|
382
402
|
</div>
|
|
383
|
-
<div className="text-
|
|
403
|
+
<div className="text-fm-tertiary text-xs">
|
|
384
404
|
Light gray surface
|
|
385
405
|
</div>
|
|
386
406
|
</div>
|
|
387
407
|
</div>
|
|
388
408
|
<div className="flex items-center gap-4">
|
|
389
|
-
<div className="flex h-6 w-6 items-center justify-center rounded
|
|
409
|
+
<div className="bg-fm-surface-secondary flex h-6 w-6 items-center justify-center rounded">
|
|
390
410
|
<GoogleLogoIcon className="h-5 w-5" />
|
|
391
411
|
</div>
|
|
392
412
|
<div>
|
|
393
|
-
<div className="text-sm font-medium
|
|
413
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
394
414
|
On Dark Background
|
|
395
415
|
</div>
|
|
396
|
-
<div className="text-
|
|
416
|
+
<div className="text-fm-tertiary text-xs">
|
|
397
417
|
Dark surface adaptation
|
|
398
418
|
</div>
|
|
399
419
|
</div>
|
|
@@ -402,11 +422,11 @@ function LoginPage() {
|
|
|
402
422
|
</div>
|
|
403
423
|
|
|
404
424
|
<div className="!space-y-4">
|
|
405
|
-
<h3 className="text-lg font-semibold
|
|
425
|
+
<h3 className="text-fm-icon-negative! text-lg font-semibold">
|
|
406
426
|
Implementation Notes
|
|
407
427
|
</h3>
|
|
408
|
-
<div className="rounded-lg
|
|
409
|
-
<pre className="overflow-x-auto text-sm
|
|
428
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
429
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
410
430
|
{`// Google logo uses specific brand colors
|
|
411
431
|
// Red: #E94335, Green: #34A753
|
|
412
432
|
// Blue: #4285F3, Yellow: #FABB04
|
|
@@ -433,29 +453,29 @@ function LoginPage() {
|
|
|
433
453
|
|
|
434
454
|
{/* Usage Examples */}
|
|
435
455
|
<div className="!space-y-8">
|
|
436
|
-
<h2 className="text-center text-3xl font-bold
|
|
456
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
437
457
|
Usage Examples
|
|
438
458
|
</h2>
|
|
439
459
|
|
|
440
460
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
441
461
|
{/* Authentication Button */}
|
|
442
462
|
<div className="!space-y-4">
|
|
443
|
-
<h3 className="text-lg font-semibold
|
|
463
|
+
<h3 className="text-fm-icon-negative! text-lg font-semibold">
|
|
444
464
|
Authentication Button
|
|
445
465
|
</h3>
|
|
446
466
|
<div className="!space-y-4">
|
|
447
467
|
<div className="flex gap-4">
|
|
448
|
-
<button className="flex items-center gap-3 rounded-lg border
|
|
468
|
+
<button className="border-fm-divider-primary bg-fm-surface-contrast text-fm-primary hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg border px-6 py-3 transition-colors">
|
|
449
469
|
<GoogleLogoIcon className="h-5 w-5" />
|
|
450
470
|
Sign in with Google
|
|
451
471
|
</button>
|
|
452
|
-
<button className="flex items-center gap-3 rounded-lg border
|
|
472
|
+
<button className="border-fm-divider-primary bg-fm-surface-secondary text-fm-icon-active hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg border px-4 py-2 transition-colors">
|
|
453
473
|
<GoogleLogoIcon className="h-4 w-4" />
|
|
454
474
|
Continue
|
|
455
475
|
</button>
|
|
456
476
|
</div>
|
|
457
|
-
<div className="rounded-lg
|
|
458
|
-
<pre className="overflow-x-auto text-sm
|
|
477
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
478
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
459
479
|
{`// Primary Google authentication button
|
|
460
480
|
<button className="flex items-center gap-3 bg-white border border-gray-300 px-6 py-3 rounded-lg text-gray-700">
|
|
461
481
|
<GoogleLogoIcon className="h-5 w-5" />
|
|
@@ -474,30 +494,30 @@ function LoginPage() {
|
|
|
474
494
|
|
|
475
495
|
{/* Service Integration */}
|
|
476
496
|
<div className="!space-y-4">
|
|
477
|
-
<h3 className="text-lg font-semibold
|
|
497
|
+
<h3 className="text-fm-icon-negative! text-lg font-semibold">
|
|
478
498
|
Service Integration
|
|
479
499
|
</h3>
|
|
480
500
|
<div className="!space-y-4">
|
|
481
|
-
<div className="rounded-lg border
|
|
501
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
482
502
|
<div className="flex items-center justify-between">
|
|
483
503
|
<div className="flex items-center gap-4">
|
|
484
|
-
<div className="flex h-10 w-10 items-center justify-center rounded-lg
|
|
504
|
+
<div className="bg-fm-surface-contrast flex h-10 w-10 items-center justify-center rounded-lg">
|
|
485
505
|
<GoogleLogoIcon className="h-6 w-6" />
|
|
486
506
|
</div>
|
|
487
507
|
<div>
|
|
488
|
-
<div className="font-medium
|
|
508
|
+
<div className="text-fm-icon-active font-medium">
|
|
489
509
|
Google Drive
|
|
490
510
|
</div>
|
|
491
|
-
<div className="text-
|
|
511
|
+
<div className="text-fm-tertiary text-sm">
|
|
492
512
|
Connected to your account
|
|
493
513
|
</div>
|
|
494
514
|
</div>
|
|
495
515
|
</div>
|
|
496
|
-
<div className="h-2 w-2 rounded-full
|
|
516
|
+
<div className="bg-fm-icon-positive h-2 w-2 rounded-full"></div>
|
|
497
517
|
</div>
|
|
498
518
|
</div>
|
|
499
|
-
<div className="rounded-lg
|
|
500
|
-
<pre className="overflow-x-auto text-sm
|
|
519
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
520
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
501
521
|
{`<div className="flex items-center justify-between">
|
|
502
522
|
<div className="flex items-center gap-4">
|
|
503
523
|
<div className="flex h-10 w-10 items-center justify-center rounded-lg bg-white">
|
|
@@ -517,28 +537,28 @@ function LoginPage() {
|
|
|
517
537
|
|
|
518
538
|
{/* Account Selector */}
|
|
519
539
|
<div className="!space-y-4">
|
|
520
|
-
<h3 className="text-lg font-semibold
|
|
540
|
+
<h3 className="text-fm-icon-negative! text-lg font-semibold">
|
|
521
541
|
Account Selector
|
|
522
542
|
</h3>
|
|
523
543
|
<div className="!space-y-4">
|
|
524
|
-
<div className="rounded-lg border
|
|
544
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
525
545
|
<div className="space-y-3">
|
|
526
|
-
<div className="flex items-center gap-3 rounded-lg
|
|
546
|
+
<div className="bg-fm-surface-secondary flex items-center gap-3 rounded-lg p-3">
|
|
527
547
|
<GoogleLogoIcon className="h-5 w-5" />
|
|
528
548
|
<div className="flex-1">
|
|
529
|
-
<div className="text-sm font-medium
|
|
549
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
530
550
|
john@gmail.com
|
|
531
551
|
</div>
|
|
532
|
-
<div className="text-
|
|
552
|
+
<div className="text-fm-tertiary text-xs">
|
|
533
553
|
Personal account
|
|
534
554
|
</div>
|
|
535
555
|
</div>
|
|
536
|
-
<div className="h-2 w-2 rounded-full
|
|
556
|
+
<div className="bg-fm-icon-info h-2 w-2 rounded-full"></div>
|
|
537
557
|
</div>
|
|
538
558
|
</div>
|
|
539
559
|
</div>
|
|
540
|
-
<div className="rounded-lg
|
|
541
|
-
<pre className="overflow-x-auto text-sm
|
|
560
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
561
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
542
562
|
{`<div className="flex items-center gap-3 rounded-lg bg-white/5 p-3">
|
|
543
563
|
<GoogleLogoIcon className="h-5 w-5" />
|
|
544
564
|
<div className="flex-1">
|
|
@@ -554,30 +574,30 @@ function LoginPage() {
|
|
|
554
574
|
|
|
555
575
|
{/* Integration Card */}
|
|
556
576
|
<div className="!space-y-4">
|
|
557
|
-
<h3 className="text-lg font-semibold
|
|
577
|
+
<h3 className="text-fm-icon-negative! text-lg font-semibold">
|
|
558
578
|
Integration Card
|
|
559
579
|
</h3>
|
|
560
580
|
<div className="!space-y-4">
|
|
561
|
-
<div className="rounded-lg border
|
|
581
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
562
582
|
<div className="!space-y-4 text-center">
|
|
563
|
-
<div className="!mx-auto flex h-16 w-16 items-center justify-center rounded-lg
|
|
583
|
+
<div className="bg-fm-surface-contrast !mx-auto flex h-16 w-16 items-center justify-center rounded-lg">
|
|
564
584
|
<GoogleLogoIcon className="h-8 w-8" />
|
|
565
585
|
</div>
|
|
566
586
|
<div className="!space-y-2">
|
|
567
|
-
<h4 className="font-medium
|
|
587
|
+
<h4 className="text-fm-icon-active! font-medium">
|
|
568
588
|
Connect Google Workspace
|
|
569
589
|
</h4>
|
|
570
|
-
<p className="text-
|
|
590
|
+
<p className="text-fm-secondary! text-sm">
|
|
571
591
|
Sync your Google Calendar, Drive, and Gmail
|
|
572
592
|
</p>
|
|
573
593
|
</div>
|
|
574
|
-
<button className="
|
|
594
|
+
<button className="bg-fm-icon-info text-fm-icon-active hover:bg-fm-icon-info rounded-lg px-4 py-2 text-sm transition-colors">
|
|
575
595
|
Connect Now
|
|
576
596
|
</button>
|
|
577
597
|
</div>
|
|
578
598
|
</div>
|
|
579
|
-
<div className="rounded-lg
|
|
580
|
-
<pre className="overflow-x-auto text-sm
|
|
599
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
600
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
581
601
|
{`<div className="text-center">
|
|
582
602
|
<div className="mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-lg bg-white">
|
|
583
603
|
<GoogleLogoIcon className="h-8 w-8" />
|
|
@@ -599,64 +619,64 @@ function LoginPage() {
|
|
|
599
619
|
|
|
600
620
|
{/* Accessibility */}
|
|
601
621
|
<div className="!space-y-8">
|
|
602
|
-
<h2 className="text-center text-3xl font-bold
|
|
622
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
603
623
|
Accessibility Features
|
|
604
624
|
</h2>
|
|
605
625
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
606
|
-
<div className="!space-y-4 rounded-lg border
|
|
607
|
-
<h3 className="text-lg font-semibold
|
|
626
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
627
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
608
628
|
✅ Built-in Features
|
|
609
629
|
</h3>
|
|
610
|
-
<ul className="!space-y-2 text-sm
|
|
611
|
-
<li className="
|
|
630
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
631
|
+
<li className="text-fm-secondary!">
|
|
612
632
|
Uses Radix UI AccessibleIcon wrapper
|
|
613
633
|
</li>
|
|
614
|
-
<li className="
|
|
634
|
+
<li className="text-fm-secondary!">
|
|
615
635
|
Provides screen reader label "Google logo"
|
|
616
636
|
</li>
|
|
617
|
-
<li className="
|
|
637
|
+
<li className="text-fm-secondary!">
|
|
618
638
|
Supports keyboard navigation when interactive
|
|
619
639
|
</li>
|
|
620
|
-
<li className="
|
|
640
|
+
<li className="text-fm-secondary!">
|
|
621
641
|
Maintains proper color contrast ratios
|
|
622
642
|
</li>
|
|
623
|
-
<li className="
|
|
643
|
+
<li className="text-fm-secondary!">
|
|
624
644
|
Scales with user's font size preferences
|
|
625
645
|
</li>
|
|
626
646
|
</ul>
|
|
627
647
|
</div>
|
|
628
648
|
|
|
629
|
-
<div className="!space-y-4 rounded-lg border
|
|
630
|
-
<h3 className="text-lg font-semibold
|
|
649
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
650
|
+
<h3 className="text-fm-icon-negative! text-lg font-semibold">
|
|
631
651
|
💡 Best Practices
|
|
632
652
|
</h3>
|
|
633
|
-
<ul className="!space-y-2 text-sm
|
|
634
|
-
<li className="
|
|
653
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
654
|
+
<li className="text-fm-secondary!">
|
|
635
655
|
Always pair with descriptive text for actions
|
|
636
656
|
</li>
|
|
637
|
-
<li className="
|
|
657
|
+
<li className="text-fm-secondary!">
|
|
638
658
|
Use white backgrounds for optimal contrast
|
|
639
659
|
</li>
|
|
640
|
-
<li className="
|
|
660
|
+
<li className="text-fm-secondary!">
|
|
641
661
|
Ensure sufficient spacing around the logo
|
|
642
662
|
</li>
|
|
643
|
-
<li className="
|
|
663
|
+
<li className="text-fm-secondary!">
|
|
644
664
|
Add focus states for interactive elements
|
|
645
665
|
</li>
|
|
646
|
-
<li className="
|
|
666
|
+
<li className="text-fm-secondary!">
|
|
647
667
|
Follow Google's brand guidelines for usage
|
|
648
668
|
</li>
|
|
649
669
|
</ul>
|
|
650
670
|
</div>
|
|
651
671
|
</div>
|
|
652
672
|
|
|
653
|
-
<div className="rounded-lg border
|
|
654
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
673
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
674
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
655
675
|
Custom Accessibility Label
|
|
656
676
|
</h3>
|
|
657
677
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
658
|
-
<div className="rounded-lg
|
|
659
|
-
<pre className="overflow-x-auto text-sm
|
|
678
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
679
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
660
680
|
{`// Custom implementation with specific label
|
|
661
681
|
import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
|
|
662
682
|
|
|
@@ -676,14 +696,14 @@ function CustomGoogleIcon({ label = "Google", ...props }) {
|
|
|
676
696
|
</pre>
|
|
677
697
|
</div>
|
|
678
698
|
<div className="!space-y-4">
|
|
679
|
-
<p className="text-
|
|
699
|
+
<p className="text-fm-secondary! text-sm">
|
|
680
700
|
For specific contexts, you can wrap the GoogleLogoIcon
|
|
681
701
|
with a custom AccessibleIcon component that provides
|
|
682
702
|
more descriptive labels for authentication or service
|
|
683
703
|
integration.
|
|
684
704
|
</p>
|
|
685
|
-
<div className="
|
|
686
|
-
<div className="flex items-center gap-2 text-sm
|
|
705
|
+
<div className="border-fm-icon-negative/20 bg-fm-icon-negative/10 rounded-lg border p-4">
|
|
706
|
+
<div className="text-fm-icon-negative flex items-center gap-2 text-sm">
|
|
687
707
|
<GoogleLogoIcon className="h-4 w-4" />
|
|
688
708
|
<span>
|
|
689
709
|
This approach gives screen readers more context
|
|
@@ -697,48 +717,60 @@ function CustomGoogleIcon({ label = "Google", ...props }) {
|
|
|
697
717
|
|
|
698
718
|
{/* Related Icons */}
|
|
699
719
|
<div className="!space-y-8">
|
|
700
|
-
<h2 className="text-center text-3xl font-bold
|
|
720
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
701
721
|
Related Icons
|
|
702
722
|
</h2>
|
|
703
723
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
704
|
-
<div className="!space-y-3 rounded-lg border
|
|
705
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
724
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
725
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
706
726
|
<span className="text-2xl">🔐</span>
|
|
707
727
|
</div>
|
|
708
728
|
<div>
|
|
709
|
-
<div className="font-medium
|
|
710
|
-
|
|
729
|
+
<div className="text-fm-icon-active font-medium">
|
|
730
|
+
LoginIcon
|
|
731
|
+
</div>
|
|
732
|
+
<div className="text-fm-tertiary text-xs">
|
|
711
733
|
Authentication
|
|
712
734
|
</div>
|
|
713
735
|
</div>
|
|
714
736
|
</div>
|
|
715
|
-
<div className="!space-y-3 rounded-lg border
|
|
716
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
737
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
738
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
717
739
|
<span className="text-2xl">👤</span>
|
|
718
740
|
</div>
|
|
719
741
|
<div>
|
|
720
|
-
<div className="font-medium
|
|
721
|
-
|
|
742
|
+
<div className="text-fm-icon-active font-medium">
|
|
743
|
+
UserIcon
|
|
744
|
+
</div>
|
|
745
|
+
<div className="text-fm-tertiary text-xs">
|
|
746
|
+
User profile
|
|
747
|
+
</div>
|
|
722
748
|
</div>
|
|
723
749
|
</div>
|
|
724
|
-
<div className="!space-y-3 rounded-lg border
|
|
725
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
750
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
751
|
+
<div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
726
752
|
<span className="text-2xl">☁️</span>
|
|
727
753
|
</div>
|
|
728
754
|
<div>
|
|
729
|
-
<div className="font-medium
|
|
730
|
-
|
|
755
|
+
<div className="text-fm-icon-active font-medium">
|
|
756
|
+
CloudIcon
|
|
757
|
+
</div>
|
|
758
|
+
<div className="text-fm-tertiary text-xs">
|
|
731
759
|
Cloud services
|
|
732
760
|
</div>
|
|
733
761
|
</div>
|
|
734
762
|
</div>
|
|
735
|
-
<div className="!space-y-3 rounded-lg border
|
|
736
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
763
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
764
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
737
765
|
<span className="text-2xl">🔗</span>
|
|
738
766
|
</div>
|
|
739
767
|
<div>
|
|
740
|
-
<div className="font-medium
|
|
741
|
-
|
|
768
|
+
<div className="text-fm-icon-active font-medium">
|
|
769
|
+
LinkIcon
|
|
770
|
+
</div>
|
|
771
|
+
<div className="text-fm-tertiary text-xs">
|
|
772
|
+
Integration
|
|
773
|
+
</div>
|
|
742
774
|
</div>
|
|
743
775
|
</div>
|
|
744
776
|
</div>
|
|
@@ -746,14 +778,14 @@ function CustomGoogleIcon({ label = "Google", ...props }) {
|
|
|
746
778
|
</div>
|
|
747
779
|
|
|
748
780
|
{/* Footer */}
|
|
749
|
-
<div className="border-
|
|
781
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
750
782
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
751
783
|
<div className="!space-y-4 text-center">
|
|
752
|
-
<p className="
|
|
784
|
+
<p className="text-fm-tertiary!">
|
|
753
785
|
GoogleLogoIcon is part of the Aural UI icon library, built
|
|
754
786
|
with accessibility and brand consistency in mind.
|
|
755
787
|
</p>
|
|
756
|
-
<p className="text-
|
|
788
|
+
<p className="text-fm-placeholder! text-sm">
|
|
757
789
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
758
790
|
compatibility and follow WCAG guidelines.
|
|
759
791
|
</p>
|
|
@@ -794,8 +826,8 @@ const storyParameters = {
|
|
|
794
826
|
backgrounds: {
|
|
795
827
|
default: "dark",
|
|
796
828
|
values: [
|
|
797
|
-
{ name: "dark", value: "
|
|
798
|
-
{ name: "darker", value: "
|
|
829
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
830
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
799
831
|
],
|
|
800
832
|
},
|
|
801
833
|
}
|
|
@@ -809,8 +841,8 @@ export const Default: Story = {
|
|
|
809
841
|
},
|
|
810
842
|
parameters: storyParameters,
|
|
811
843
|
render: (args) => (
|
|
812
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
813
|
-
<div className="rounded-lg
|
|
844
|
+
<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">
|
|
845
|
+
<div className="bg-fm-surface-contrast rounded-lg p-4">
|
|
814
846
|
<GoogleLogoIcon {...args} />
|
|
815
847
|
</div>
|
|
816
848
|
</div>
|
|
@@ -828,42 +860,42 @@ export const SizeVariations: Story = {
|
|
|
828
860
|
},
|
|
829
861
|
},
|
|
830
862
|
render: () => (
|
|
831
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
863
|
+
<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">
|
|
832
864
|
<div className="text-center">
|
|
833
|
-
<div className="!mx-auto mb-2 rounded
|
|
865
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
|
|
834
866
|
<GoogleLogoIcon className="h-3 w-3" />
|
|
835
867
|
</div>
|
|
836
|
-
<span className="text-
|
|
868
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
837
869
|
</div>
|
|
838
870
|
<div className="text-center">
|
|
839
|
-
<div className="!mx-auto mb-2 rounded
|
|
871
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
|
|
840
872
|
<GoogleLogoIcon className="h-4 w-4" />
|
|
841
873
|
</div>
|
|
842
|
-
<span className="text-
|
|
874
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
843
875
|
</div>
|
|
844
876
|
<div className="text-center">
|
|
845
|
-
<div className="!mx-auto mb-2 rounded
|
|
877
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
|
|
846
878
|
<GoogleLogoIcon className="h-5 w-5" />
|
|
847
879
|
</div>
|
|
848
|
-
<span className="text-
|
|
880
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
849
881
|
</div>
|
|
850
882
|
<div className="text-center">
|
|
851
|
-
<div className="!mx-auto mb-2 rounded
|
|
883
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
|
|
852
884
|
<GoogleLogoIcon className="h-6 w-6" />
|
|
853
885
|
</div>
|
|
854
|
-
<span className="text-
|
|
886
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
855
887
|
</div>
|
|
856
888
|
<div className="text-center">
|
|
857
|
-
<div className="!mx-auto mb-2 rounded
|
|
889
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
|
|
858
890
|
<GoogleLogoIcon className="h-8 w-8" />
|
|
859
891
|
</div>
|
|
860
|
-
<span className="text-
|
|
892
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
861
893
|
</div>
|
|
862
894
|
<div className="text-center">
|
|
863
|
-
<div className="!mx-auto mb-2 rounded
|
|
895
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-3">
|
|
864
896
|
<GoogleLogoIcon className="h-12 w-12" />
|
|
865
897
|
</div>
|
|
866
|
-
<span className="text-
|
|
898
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
867
899
|
</div>
|
|
868
900
|
</div>
|
|
869
901
|
),
|
|
@@ -880,34 +912,42 @@ export const ColorVariations: Story = {
|
|
|
880
912
|
},
|
|
881
913
|
},
|
|
882
914
|
render: () => (
|
|
883
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
915
|
+
<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">
|
|
884
916
|
<div className="text-center">
|
|
885
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg
|
|
917
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg">
|
|
886
918
|
<GoogleLogoIcon className="h-8 w-8" />
|
|
887
919
|
</div>
|
|
888
|
-
<div className="text-sm font-medium
|
|
889
|
-
|
|
920
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
921
|
+
White Background
|
|
922
|
+
</div>
|
|
923
|
+
<div className="text-fm-tertiary text-xs">Recommended</div>
|
|
890
924
|
</div>
|
|
891
925
|
<div className="text-center">
|
|
892
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg
|
|
926
|
+
<div className="bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg">
|
|
893
927
|
<GoogleLogoIcon className="h-8 w-8" />
|
|
894
928
|
</div>
|
|
895
|
-
<div className="text-sm font-medium
|
|
896
|
-
|
|
929
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
930
|
+
Light Background
|
|
931
|
+
</div>
|
|
932
|
+
<div className="text-fm-placeholder text-xs">Good contrast</div>
|
|
897
933
|
</div>
|
|
898
934
|
<div className="text-center">
|
|
899
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg
|
|
935
|
+
<div className="bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg">
|
|
900
936
|
<GoogleLogoIcon className="h-8 w-8" />
|
|
901
937
|
</div>
|
|
902
|
-
<div className="text-sm font-medium
|
|
903
|
-
|
|
938
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
939
|
+
Dark Background
|
|
940
|
+
</div>
|
|
941
|
+
<div className="text-fm-placeholder text-xs">Acceptable</div>
|
|
904
942
|
</div>
|
|
905
943
|
<div className="text-center">
|
|
906
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
944
|
+
<div className="border-fm-divider-primary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border bg-transparent">
|
|
907
945
|
<GoogleLogoIcon className="h-8 w-8" />
|
|
908
946
|
</div>
|
|
909
|
-
<div className="text-sm font-medium
|
|
910
|
-
|
|
947
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
948
|
+
Transparent
|
|
949
|
+
</div>
|
|
950
|
+
<div className="text-fm-tertiary text-xs">Original colors</div>
|
|
911
951
|
</div>
|
|
912
952
|
</div>
|
|
913
953
|
),
|
|
@@ -924,16 +964,18 @@ export const UsageExamples: Story = {
|
|
|
924
964
|
},
|
|
925
965
|
},
|
|
926
966
|
render: () => (
|
|
927
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
967
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
928
968
|
{/* Authentication Buttons */}
|
|
929
969
|
<div className="!space-y-2">
|
|
930
|
-
<h3 className="text-sm font-medium
|
|
970
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
971
|
+
Authentication
|
|
972
|
+
</h3>
|
|
931
973
|
<div className="flex gap-4">
|
|
932
|
-
<button className="flex items-center gap-3 rounded-lg border
|
|
974
|
+
<button className="border-fm-divider-primary bg-fm-surface-contrast text-fm-primary hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg border px-6 py-3 transition-colors">
|
|
933
975
|
<GoogleLogoIcon className="h-5 w-5" />
|
|
934
976
|
Sign in with Google
|
|
935
977
|
</button>
|
|
936
|
-
<button className="flex items-center gap-3 rounded-lg border
|
|
978
|
+
<button className="border-fm-divider-primary bg-fm-surface-secondary text-fm-icon-active hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg border px-4 py-2 transition-colors">
|
|
937
979
|
<GoogleLogoIcon className="h-4 w-4" />
|
|
938
980
|
Continue
|
|
939
981
|
</button>
|
|
@@ -942,42 +984,48 @@ export const UsageExamples: Story = {
|
|
|
942
984
|
|
|
943
985
|
{/* Service Integration */}
|
|
944
986
|
<div className="!space-y-2">
|
|
945
|
-
<h3 className="text-sm font-medium
|
|
946
|
-
|
|
987
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
988
|
+
Service Integration
|
|
989
|
+
</h3>
|
|
990
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
947
991
|
<div className="flex items-center justify-between">
|
|
948
992
|
<div className="flex items-center gap-4">
|
|
949
|
-
<div className="flex h-10 w-10 items-center justify-center rounded-lg
|
|
993
|
+
<div className="bg-fm-surface-contrast flex h-10 w-10 items-center justify-center rounded-lg">
|
|
950
994
|
<GoogleLogoIcon className="h-6 w-6" />
|
|
951
995
|
</div>
|
|
952
996
|
<div>
|
|
953
|
-
<div className="font-medium
|
|
954
|
-
|
|
997
|
+
<div className="text-fm-icon-active font-medium">
|
|
998
|
+
Google Drive
|
|
999
|
+
</div>
|
|
1000
|
+
<div className="text-fm-tertiary text-sm">
|
|
955
1001
|
Connected to your account
|
|
956
1002
|
</div>
|
|
957
1003
|
</div>
|
|
958
1004
|
</div>
|
|
959
|
-
<div className="h-2 w-2 rounded-full
|
|
1005
|
+
<div className="bg-fm-icon-positive h-2 w-2 rounded-full"></div>
|
|
960
1006
|
</div>
|
|
961
1007
|
</div>
|
|
962
1008
|
</div>
|
|
963
1009
|
|
|
964
1010
|
{/* Integration Card */}
|
|
965
1011
|
<div className="!space-y-2">
|
|
966
|
-
<h3 className="text-sm font-medium
|
|
967
|
-
|
|
1012
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1013
|
+
Integration Card
|
|
1014
|
+
</h3>
|
|
1015
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
968
1016
|
<div className="!space-y-4 text-center">
|
|
969
|
-
<div className="!mx-auto flex h-16 w-16 items-center justify-center rounded-lg
|
|
1017
|
+
<div className="bg-fm-surface-contrast !mx-auto flex h-16 w-16 items-center justify-center rounded-lg">
|
|
970
1018
|
<GoogleLogoIcon className="h-8 w-8" />
|
|
971
1019
|
</div>
|
|
972
1020
|
<div className="!space-y-2">
|
|
973
|
-
<h4 className="font-medium
|
|
1021
|
+
<h4 className="text-fm-icon-active! font-medium">
|
|
974
1022
|
Connect Google Workspace
|
|
975
1023
|
</h4>
|
|
976
|
-
<p className="text-
|
|
1024
|
+
<p className="text-fm-secondary! text-sm">
|
|
977
1025
|
Sync your Google Calendar, Drive, and Gmail
|
|
978
1026
|
</p>
|
|
979
1027
|
</div>
|
|
980
|
-
<button className="
|
|
1028
|
+
<button className="bg-fm-icon-info text-fm-icon-active hover:bg-fm-icon-info rounded-lg px-4 py-2 text-sm transition-colors">
|
|
981
1029
|
Connect Now
|
|
982
1030
|
</button>
|
|
983
1031
|
</div>
|
|
@@ -1003,8 +1051,8 @@ export const Playground: Story = {
|
|
|
1003
1051
|
className: "",
|
|
1004
1052
|
},
|
|
1005
1053
|
render: (args) => (
|
|
1006
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1007
|
-
<div className="rounded-lg border
|
|
1054
|
+
<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">
|
|
1055
|
+
<div className="border-fm-divider-secondary bg-fm-surface-contrast rounded-lg border p-8">
|
|
1008
1056
|
<GoogleLogoIcon {...args} />
|
|
1009
1057
|
</div>
|
|
1010
1058
|
</div>
|