aural-ui 3.0.6 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/aspect-ratio/AspectRatio.stories.tsx +271 -242
- package/dist/components/avatar/Avatar.stories.tsx +84 -70
- package/dist/components/button/Button.stories.tsx +7 -7
- package/dist/components/button/index.tsx +7 -7
- package/dist/components/card/Card.stories.tsx +3 -3
- package/dist/components/char-count/CharCount.stories.tsx +9 -9
- package/dist/components/circular-loader/CircularLoader.stories.tsx +109 -93
- package/dist/components/clamp-lines/ClampLines.stories.tsx +25 -0
- package/dist/components/clamp-lines/index.tsx +6 -1
- package/dist/components/collapsible/Collapsible.stories.tsx +1 -1
- package/dist/components/command/Command.stories.tsx +52 -38
- package/dist/components/dialog/Dialog.stories.tsx +89 -84
- package/dist/components/divider/Divider.stories.tsx +86 -60
- package/dist/components/dot-loader/DotLoader.stories.tsx +12 -12
- package/dist/components/drawer/Drawer.stories.tsx +74 -44
- package/dist/components/drawer/index.tsx +3 -3
- package/dist/components/dropdown/Dropdown.stories.tsx +42 -32
- package/dist/components/helper-text/HelperText.stories.tsx +2 -2
- package/dist/components/hover-card/HoverCard.stories.tsx +211 -178
- package/dist/components/input/Input.stories.tsx +2 -2
- package/dist/components/input/index.tsx +2 -0
- package/dist/components/label/Label.stories.tsx +10 -10
- package/dist/components/list/List.stories.tsx +58 -44
- package/dist/components/marquee/Marquee.stories.tsx +131 -113
- package/dist/components/otp-inputs/OtpInputs.stories.tsx +47 -35
- package/dist/components/overlay/Overlay.stories.tsx +98 -92
- package/dist/components/overlay/index.tsx +4 -4
- package/dist/components/popover/Popover.stories.tsx +132 -106
- package/dist/components/radio/Radio.stories.tsx +2 -2
- package/dist/components/resizable/Resizable.stories.tsx +186 -138
- package/dist/components/scroll-area/ScrollArea.stories.tsx +174 -120
- package/dist/components/search/Search.stories.tsx +81 -59
- package/dist/components/select/Select.stories.tsx +3 -1
- package/dist/components/sheet/Sheet.stories.tsx +68 -54
- package/dist/components/slider/Slider.stories.tsx +71 -47
- package/dist/components/stepper/Stepper.stories.tsx +16 -16
- package/dist/components/switch/Switch.stories.tsx +12 -12
- package/dist/components/table/Table.stories.tsx +8 -6
- package/dist/components/tabs/Tabs.stories.tsx +324 -268
- package/dist/components/textarea/TextArea.stories.tsx +1 -1
- package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +16 -10
- package/dist/components/toast/Toast.stories.tsx +51 -45
- package/dist/components/toggle/Toggle.stories.tsx +111 -89
- package/dist/components/tooltip/Tooltip.stories.tsx +160 -144
- package/dist/icons/Icons.stories.tsx +2 -2
- package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +287 -237
- package/dist/icons/alert-icon/AlertIcon.stories.tsx +290 -248
- package/dist/icons/all-icons.tsx +97 -81
- package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +312 -270
- package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +294 -244
- package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +309 -279
- package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +294 -258
- package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +289 -255
- package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +288 -256
- package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +322 -288
- package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +340 -296
- package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +197 -177
- package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +390 -328
- package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +313 -277
- package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +367 -309
- package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +356 -308
- package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +280 -234
- package/dist/icons/camera-icon/CameraIcon.stories.tsx +370 -326
- package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +300 -256
- package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +298 -262
- package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +294 -260
- package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +291 -259
- package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +286 -256
- package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +282 -256
- package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +292 -256
- package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +338 -290
- package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +167 -148
- package/dist/icons/coin-icon/CoinIcon.stories.tsx +342 -296
- package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +342 -296
- package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +280 -238
- package/dist/icons/command-icon/CommandIcon.stories.tsx +328 -280
- package/dist/icons/copy-icon/CopyIcon.stories.tsx +294 -256
- package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +285 -235
- package/dist/icons/cross-icon/CrossIcon.stories.tsx +308 -266
- package/dist/icons/download-icon/DownloadIcon.stories.tsx +271 -231
- package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +330 -278
- package/dist/icons/email-icon/EmailIcon.stories.tsx +303 -257
- package/dist/icons/expand-icon/ExpandIcon.stories.tsx +324 -286
- package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +317 -271
- package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +320 -272
- package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +322 -280
- package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +315 -277
- package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +199 -177
- package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +304 -264
- package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +311 -277
- package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +327 -287
- package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +314 -278
- package/dist/icons/globe-icon/GlobeIcon.stories.tsx +113 -98
- package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +274 -226
- package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +349 -303
- package/dist/icons/head-icon/HeadIcon.stories.tsx +286 -246
- package/dist/icons/heart-icon/HeartIcon.stories.tsx +312 -268
- package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +246 -210
- package/dist/icons/image-icon/ImageIcon.stories.tsx +330 -284
- package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +326 -282
- package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +330 -294
- package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +288 -234
- package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +386 -330
- package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +305 -263
- package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +295 -259
- package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +296 -256
- package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +322 -282
- package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +399 -359
- package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +314 -272
- package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +238 -206
- package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +322 -276
- package/dist/icons/message-icon/MessageIcon.stories.tsx +192 -170
- package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +348 -304
- package/dist/icons/moon-icon/MoonIcon.stories.tsx +191 -167
- package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +380 -326
- package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +345 -291
- package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +310 -266
- package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +311 -271
- package/dist/icons/notes-icon/NotesIcon.stories.tsx +311 -271
- package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +309 -271
- package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +248 -210
- package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +310 -262
- package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +274 -236
- package/dist/icons/pause-icon/PauseIcon.stories.tsx +324 -280
- package/dist/icons/pencil-icon/PencilIcon.stories.tsx +323 -281
- package/dist/icons/phone-icon/PhoneIcon.stories.tsx +288 -240
- package/dist/icons/plus-icon/PlusIcon.stories.tsx +315 -273
- package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +278 -234
- package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +161 -151
- package/dist/icons/search-icon/SearchIcon.stories.tsx +324 -284
- package/dist/icons/setting-icon/SettingIcon.stories.tsx +306 -264
- package/dist/icons/share-icon/ShareIcon.stories.tsx +314 -272
- package/dist/icons/shield-icon/ShieldIcon.stories.tsx +281 -235
- package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +309 -250
- package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +317 -279
- package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +315 -279
- package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +299 -253
- package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +185 -169
- package/dist/icons/spinner-gradient-icon/index.tsx +6 -1
- package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +192 -168
- package/dist/icons/spinner-solid-icon/index.tsx +6 -1
- package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +212 -178
- package/dist/icons/spinner-solid-neutral-icon/index.tsx +1 -1
- package/dist/icons/star-icon/StarIcon.stories.tsx +290 -244
- package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +286 -234
- package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +272 -230
- package/dist/icons/sun-icon/SunIcon.stories.tsx +262 -226
- package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +321 -279
- package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +332 -282
- package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +394 -342
- package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +338 -290
- package/dist/icons/tick-icon/TickIcon.stories.tsx +364 -315
- package/dist/icons/trash-icon/TrashIcon.stories.tsx +293 -253
- package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +396 -338
- package/dist/icons/upload-icon/UploadIcon.stories.tsx +291 -247
- package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +309 -271
- package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +336 -290
- package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +382 -334
- package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +349 -305
- package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +327 -295
- package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +336 -296
- package/dist/icons/warning-icon/WarningIcon.stories.tsx +314 -274
- package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +311 -261
- package/dist/index.cjs +84 -84
- package/dist/index.js +84 -84
- package/dist/styles/aural-all-theme.css +1222 -0
- package/dist/styles/{aural-theme.css → aural-dark-theme.css} +15 -3
- package/dist/styles/aural-light-theme.css +1047 -0
- package/package.json +1 -1
|
@@ -11,9 +11,9 @@ const meta: Meta<typeof ShareIcon> = {
|
|
|
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 ShareIcon> = {
|
|
|
40
40
|
background: transparent !important;
|
|
41
41
|
}
|
|
42
42
|
body {
|
|
43
|
-
background:
|
|
43
|
+
background: var(--color-fm-surface-primary) !important;
|
|
44
44
|
}
|
|
45
45
|
#storybook-docs {
|
|
46
|
-
background:
|
|
46
|
+
background: var(--color-fm-surface-primary) !important;
|
|
47
47
|
}
|
|
48
48
|
.sbdocs-preview {
|
|
49
49
|
background: transparent !important;
|
|
50
50
|
border: none !important;
|
|
51
51
|
}
|
|
52
52
|
.sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
|
|
53
|
-
color:
|
|
53
|
+
color: var(--color-fm-icon-active) !important;
|
|
54
54
|
}
|
|
55
55
|
.sbdocs-p, .sbdocs-li {
|
|
56
|
-
color:
|
|
56
|
+
color: var(--color-fm-secondary) !important;
|
|
57
57
|
}
|
|
58
58
|
.sbdocs-code {
|
|
59
|
-
background:
|
|
60
|
-
color:
|
|
61
|
-
border: 1px solid
|
|
59
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
60
|
+
color: var(--color-fm-secondary-500) !important;
|
|
61
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
62
62
|
}
|
|
63
63
|
.sbdocs-pre {
|
|
64
|
-
background:
|
|
65
|
-
border: 1px solid
|
|
64
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
65
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
66
66
|
}
|
|
67
67
|
.sbdocs-table {
|
|
68
|
-
background:
|
|
69
|
-
border: 1px solid
|
|
68
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
69
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
70
70
|
}
|
|
71
71
|
.sbdocs-table th {
|
|
72
|
-
background:
|
|
73
|
-
color:
|
|
74
|
-
border-bottom: 1px solid
|
|
72
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
73
|
+
color: var(--color-fm-icon-active) !important;
|
|
74
|
+
border-bottom: 1px solid var(--color-fm-divider-secondary) !important;
|
|
75
75
|
}
|
|
76
76
|
.sbdocs-table td {
|
|
77
|
-
color:
|
|
78
|
-
border-bottom: 1px solid
|
|
77
|
+
color: var(--color-fm-secondary) !important;
|
|
78
|
+
border-bottom: 1px solid var(--color-fm-divider-tertiary) !important;
|
|
79
79
|
}
|
|
80
80
|
`}
|
|
81
81
|
</style>
|
|
82
82
|
|
|
83
|
-
<div className="
|
|
83
|
+
<div className="from-fm-surface-primary via-fm-icon-info/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
|
|
84
84
|
{/* Header */}
|
|
85
|
-
<div className="relative overflow-hidden border-b
|
|
86
|
-
<div className="absolute inset-0 bg-
|
|
85
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
|
|
86
|
+
<div className="from-fm-icon-info/10 to-fm-icon-info/10 absolute inset-0 bg-linear-to-r via-transparent" />
|
|
87
87
|
<div className="relative !mx-auto max-w-7xl px-6 py-16">
|
|
88
88
|
<div className="!space-y-6 text-center">
|
|
89
|
-
<div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border
|
|
90
|
-
<ShareIcon className="h-12 w-12
|
|
89
|
+
<div className="border-fm-icon-info/30 from-fm-icon-info/20 to-fm-icon-info/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
|
|
90
|
+
<ShareIcon className="text-fm-icon-info h-12 w-12" />
|
|
91
91
|
</div>
|
|
92
92
|
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
93
93
|
ShareIcon
|
|
94
94
|
</h1>
|
|
95
|
-
<p className="!mx-auto max-w-3xl text-xl leading-relaxed
|
|
95
|
+
<p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
|
|
96
96
|
A versatile share icon for social sharing, content
|
|
97
97
|
distribution, and collaboration features. Built with
|
|
98
98
|
accessibility in mind using Radix UI's AccessibleIcon
|
|
@@ -102,28 +102,28 @@ const meta: Meta<typeof ShareIcon> = {
|
|
|
102
102
|
{/* Stats */}
|
|
103
103
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
104
104
|
<div className="text-center">
|
|
105
|
-
<div className="text-3xl font-bold
|
|
105
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
106
106
|
Accessible
|
|
107
107
|
</div>
|
|
108
|
-
<div className="text-
|
|
108
|
+
<div className="text-fm-tertiary text-sm">
|
|
109
109
|
Screen reader friendly
|
|
110
110
|
</div>
|
|
111
111
|
</div>
|
|
112
|
-
<div className="h-8 w-px
|
|
112
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
113
113
|
<div className="text-center">
|
|
114
|
-
<div className="text-3xl font-bold
|
|
114
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
115
115
|
Scalable
|
|
116
116
|
</div>
|
|
117
|
-
<div className="text-
|
|
117
|
+
<div className="text-fm-tertiary text-sm">
|
|
118
118
|
Any size needed
|
|
119
119
|
</div>
|
|
120
120
|
</div>
|
|
121
|
-
<div className="h-8 w-px
|
|
121
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
122
122
|
<div className="text-center">
|
|
123
|
-
<div className="text-3xl font-bold
|
|
123
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
124
124
|
Flexible
|
|
125
125
|
</div>
|
|
126
|
-
<div className="text-
|
|
126
|
+
<div className="text-fm-tertiary text-sm">
|
|
127
127
|
Customizable styling
|
|
128
128
|
</div>
|
|
129
129
|
</div>
|
|
@@ -136,16 +136,16 @@ const meta: Meta<typeof ShareIcon> = {
|
|
|
136
136
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
137
137
|
{/* Quick Usage */}
|
|
138
138
|
<div className="!space-y-8">
|
|
139
|
-
<h2 className="text-center text-3xl font-bold
|
|
139
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
140
140
|
Quick Start
|
|
141
141
|
</h2>
|
|
142
142
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
143
143
|
<div className="!space-y-4">
|
|
144
|
-
<h3 className="text-xl font-semibold
|
|
144
|
+
<h3 className="text-fm-icon-info! text-xl font-semibold">
|
|
145
145
|
Basic Usage
|
|
146
146
|
</h3>
|
|
147
|
-
<div className="rounded-lg
|
|
148
|
-
<pre className="overflow-x-auto text-sm
|
|
147
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
148
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
149
149
|
{`import { ShareIcon } from "@icons/share-icon"
|
|
150
150
|
|
|
151
151
|
function MyComponent() {
|
|
@@ -158,11 +158,11 @@ function MyComponent() {
|
|
|
158
158
|
</div>
|
|
159
159
|
|
|
160
160
|
<div className="!space-y-4">
|
|
161
|
-
<h3 className="text-xl font-semibold
|
|
161
|
+
<h3 className="text-fm-icon-info! text-xl font-semibold">
|
|
162
162
|
Live Preview
|
|
163
163
|
</h3>
|
|
164
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
165
|
-
<ShareIcon className="h-12 w-12
|
|
164
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
165
|
+
<ShareIcon className="text-fm-icon-info h-12 w-12" />
|
|
166
166
|
</div>
|
|
167
167
|
</div>
|
|
168
168
|
</div>
|
|
@@ -170,122 +170,130 @@ function MyComponent() {
|
|
|
170
170
|
|
|
171
171
|
{/* Props Documentation */}
|
|
172
172
|
<div className="!space-y-8">
|
|
173
|
-
<h2 className="text-center text-3xl font-bold
|
|
173
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
174
174
|
Props & Configuration
|
|
175
175
|
</h2>
|
|
176
176
|
|
|
177
|
-
<div className="overflow-hidden rounded-lg border
|
|
178
|
-
<div className="bg-
|
|
179
|
-
<h3 className="text-xl font-semibold
|
|
177
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
178
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
179
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
180
|
+
Props
|
|
181
|
+
</h3>
|
|
180
182
|
</div>
|
|
181
183
|
<table className="!my-0 w-full">
|
|
182
|
-
<thead className="bg-
|
|
183
|
-
<tr className="border-
|
|
184
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
184
|
+
<thead className="bg-fm-surface-secondary">
|
|
185
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
186
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
185
187
|
Prop
|
|
186
188
|
</th>
|
|
187
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
189
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
188
190
|
Type
|
|
189
191
|
</th>
|
|
190
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
192
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
191
193
|
Default
|
|
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
|
Description
|
|
195
197
|
</th>
|
|
196
198
|
</tr>
|
|
197
199
|
</thead>
|
|
198
200
|
<tbody>
|
|
199
201
|
{" "}
|
|
200
|
-
<tr className="
|
|
201
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
202
|
+
<tr className="bg-fm-surface-secondary!">
|
|
203
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
202
204
|
withAccessibility
|
|
203
205
|
</td>
|
|
204
|
-
<td className="px-6 py-4 text-sm
|
|
206
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
205
207
|
boolean
|
|
206
208
|
</td>
|
|
207
|
-
<td className="px-6 py-4 text-sm
|
|
209
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
208
210
|
true
|
|
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
|
Whether to wrap the icon with accessibility feature
|
|
212
214
|
</td>
|
|
213
215
|
</tr>
|
|
214
|
-
<tr className="border-
|
|
215
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
216
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
217
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
216
218
|
height
|
|
217
219
|
</td>
|
|
218
|
-
<td className="px-6 py-4 text-sm
|
|
220
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
219
221
|
number | string
|
|
220
222
|
</td>
|
|
221
|
-
<td className="px-6 py-4 text-sm
|
|
222
|
-
|
|
223
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
224
|
+
24
|
|
225
|
+
</td>
|
|
226
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
223
227
|
Height of the icon in pixels
|
|
224
228
|
</td>
|
|
225
229
|
</tr>
|
|
226
|
-
<tr className="border-
|
|
227
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
230
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
231
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
228
232
|
stroke
|
|
229
233
|
</td>
|
|
230
|
-
<td className="px-6 py-4 text-sm
|
|
234
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
231
235
|
string
|
|
232
236
|
</td>
|
|
233
|
-
<td className="px-6 py-4 text-sm
|
|
237
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
234
238
|
currentColor
|
|
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
|
Stroke color of the share icon
|
|
238
242
|
</td>
|
|
239
243
|
</tr>
|
|
240
|
-
<tr className="border-
|
|
241
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
244
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
245
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
242
246
|
strokeWidth
|
|
243
247
|
</td>
|
|
244
|
-
<td className="px-6 py-4 text-sm
|
|
248
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
245
249
|
number | string
|
|
246
250
|
</td>
|
|
247
|
-
<td className="px-6 py-4 text-sm
|
|
251
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
248
252
|
1.5
|
|
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
|
Width of the stroke line
|
|
252
256
|
</td>
|
|
253
257
|
</tr>
|
|
254
|
-
<tr className="border-
|
|
255
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
258
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
259
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
256
260
|
strokeLinecap
|
|
257
261
|
</td>
|
|
258
|
-
<td className="px-6 py-4 text-sm
|
|
262
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
259
263
|
string
|
|
260
264
|
</td>
|
|
261
|
-
<td className="px-6 py-4 text-sm
|
|
265
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
262
266
|
square
|
|
263
267
|
</td>
|
|
264
|
-
<td className="px-6 py-4 text-sm
|
|
268
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
265
269
|
Style of line endings
|
|
266
270
|
</td>
|
|
267
271
|
</tr>
|
|
268
|
-
<tr className="border-
|
|
269
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
272
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
273
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
270
274
|
className
|
|
271
275
|
</td>
|
|
272
|
-
<td className="px-6 py-4 text-sm
|
|
276
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
273
277
|
string
|
|
274
278
|
</td>
|
|
275
|
-
<td className="px-6 py-4 text-sm
|
|
276
|
-
|
|
279
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
280
|
+
-
|
|
281
|
+
</td>
|
|
282
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
277
283
|
CSS classes for styling
|
|
278
284
|
</td>
|
|
279
285
|
</tr>
|
|
280
|
-
<tr className="
|
|
281
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
286
|
+
<tr className="bg-fm-surface-secondary!">
|
|
287
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
282
288
|
onClick
|
|
283
289
|
</td>
|
|
284
|
-
<td className="px-6 py-4 text-sm
|
|
290
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
285
291
|
function
|
|
286
292
|
</td>
|
|
287
|
-
<td className="px-6 py-4 text-sm
|
|
288
|
-
|
|
293
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
294
|
+
-
|
|
295
|
+
</td>
|
|
296
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
289
297
|
Click handler for interactions
|
|
290
298
|
</td>
|
|
291
299
|
</tr>
|
|
@@ -296,21 +304,21 @@ function MyComponent() {
|
|
|
296
304
|
{/* Styling Options */}
|
|
297
305
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
298
306
|
<div className="!space-y-4">
|
|
299
|
-
<h3 className="text-lg font-semibold
|
|
307
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
300
308
|
Share Button Styles
|
|
301
309
|
</h3>
|
|
302
310
|
<div className="!space-y-4">
|
|
303
311
|
<div className="flex gap-4">
|
|
304
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
312
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info flex items-center gap-2 rounded-lg border px-4 py-2">
|
|
305
313
|
<ShareIcon className="h-4 w-4" />
|
|
306
314
|
Share
|
|
307
315
|
</button>
|
|
308
|
-
<button className="
|
|
316
|
+
<button className="text-fm-icon-info hover:bg-fm-icon-info/20 rounded-lg p-2 transition-colors">
|
|
309
317
|
<ShareIcon className="h-4 w-4" />
|
|
310
318
|
</button>
|
|
311
319
|
</div>
|
|
312
|
-
<div className="rounded-lg
|
|
313
|
-
<pre className="overflow-x-auto text-sm
|
|
320
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
321
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
314
322
|
{`// Button with text
|
|
315
323
|
<button className="flex items-center gap-2 bg-blue-500/20 border border-blue-500/30 px-4 py-2 rounded-lg">
|
|
316
324
|
<ShareIcon className="h-4 w-4" />
|
|
@@ -327,17 +335,17 @@ function MyComponent() {
|
|
|
327
335
|
</div>
|
|
328
336
|
|
|
329
337
|
<div className="!space-y-4">
|
|
330
|
-
<h3 className="text-lg font-semibold
|
|
338
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
331
339
|
Color Customization
|
|
332
340
|
</h3>
|
|
333
341
|
<div className="!space-y-4">
|
|
334
342
|
<div className="flex gap-4">
|
|
335
|
-
<ShareIcon className="h-6 w-6
|
|
336
|
-
<ShareIcon className="h-6 w-6
|
|
337
|
-
<ShareIcon className="h-6 w-6
|
|
343
|
+
<ShareIcon className="text-fm-icon-info h-6 w-6" />
|
|
344
|
+
<ShareIcon className="text-fm-icon-info h-6 w-6" />
|
|
345
|
+
<ShareIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
338
346
|
</div>
|
|
339
|
-
<div className="rounded-lg
|
|
340
|
-
<pre className="overflow-x-auto text-sm
|
|
347
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
348
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
341
349
|
{`// Using Tailwind classes
|
|
342
350
|
<ShareIcon className="h-6 w-6 text-blue-400" />
|
|
343
351
|
<ShareIcon className="h-6 w-6 text-cyan-400" />
|
|
@@ -363,50 +371,62 @@ function MyComponent() {
|
|
|
363
371
|
|
|
364
372
|
{/* Size Variations */}
|
|
365
373
|
<div className="!space-y-8">
|
|
366
|
-
<h2 className="text-center text-3xl font-bold
|
|
374
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
367
375
|
Size Variations
|
|
368
376
|
</h2>
|
|
369
|
-
<div className="rounded-lg border
|
|
377
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
370
378
|
<div className="!space-y-6">
|
|
371
379
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
372
380
|
<div className="!space-y-4">
|
|
373
|
-
<h3 className="text-lg font-semibold
|
|
381
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
374
382
|
Standard Sizes
|
|
375
383
|
</h3>
|
|
376
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
384
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
377
385
|
<div className="text-center">
|
|
378
|
-
<ShareIcon className="!mx-auto mb-2 h-3 w-3
|
|
379
|
-
<span className="text-
|
|
386
|
+
<ShareIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
387
|
+
<span className="text-fm-tertiary text-xs">
|
|
388
|
+
12px
|
|
389
|
+
</span>
|
|
380
390
|
</div>
|
|
381
391
|
<div className="text-center">
|
|
382
|
-
<ShareIcon className="!mx-auto mb-2 h-4 w-4
|
|
383
|
-
<span className="text-
|
|
392
|
+
<ShareIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
393
|
+
<span className="text-fm-tertiary text-xs">
|
|
394
|
+
16px
|
|
395
|
+
</span>
|
|
384
396
|
</div>
|
|
385
397
|
<div className="text-center">
|
|
386
|
-
<ShareIcon className="!mx-auto mb-2 h-5 w-5
|
|
387
|
-
<span className="text-
|
|
398
|
+
<ShareIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
399
|
+
<span className="text-fm-tertiary text-xs">
|
|
400
|
+
20px
|
|
401
|
+
</span>
|
|
388
402
|
</div>
|
|
389
403
|
<div className="text-center">
|
|
390
|
-
<ShareIcon className="!mx-auto mb-2 h-6 w-6
|
|
391
|
-
<span className="text-
|
|
404
|
+
<ShareIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
405
|
+
<span className="text-fm-tertiary text-xs">
|
|
406
|
+
24px
|
|
407
|
+
</span>
|
|
392
408
|
</div>
|
|
393
409
|
<div className="text-center">
|
|
394
|
-
<ShareIcon className="!mx-auto mb-2 h-8 w-8
|
|
395
|
-
<span className="text-
|
|
410
|
+
<ShareIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
411
|
+
<span className="text-fm-tertiary text-xs">
|
|
412
|
+
32px
|
|
413
|
+
</span>
|
|
396
414
|
</div>
|
|
397
415
|
<div className="text-center">
|
|
398
|
-
<ShareIcon className="!mx-auto mb-2 h-12 w-12
|
|
399
|
-
<span className="text-
|
|
416
|
+
<ShareIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
417
|
+
<span className="text-fm-tertiary text-xs">
|
|
418
|
+
48px
|
|
419
|
+
</span>
|
|
400
420
|
</div>
|
|
401
421
|
</div>
|
|
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-info! text-lg font-semibold">
|
|
406
426
|
Code Example
|
|
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-info! overflow-x-auto text-sm">
|
|
410
430
|
{`// Small (16px)
|
|
411
431
|
<ShareIcon className="h-4 w-4" />
|
|
412
432
|
|
|
@@ -428,56 +448,56 @@ function MyComponent() {
|
|
|
428
448
|
|
|
429
449
|
{/* Color Variations */}
|
|
430
450
|
<div className="!space-y-8">
|
|
431
|
-
<h2 className="text-center text-3xl font-bold
|
|
451
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
432
452
|
Color Variations
|
|
433
453
|
</h2>
|
|
434
454
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
435
455
|
<div className="!space-y-4">
|
|
436
|
-
<h3 className="text-lg font-semibold
|
|
456
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
437
457
|
Semantic Colors
|
|
438
458
|
</h3>
|
|
439
|
-
<div className="!space-y-4 rounded-lg border
|
|
459
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
440
460
|
<div className="flex items-center gap-4">
|
|
441
|
-
<ShareIcon className="h-6 w-6
|
|
461
|
+
<ShareIcon className="text-fm-icon-info h-6 w-6" />
|
|
442
462
|
<div>
|
|
443
|
-
<div className="text-sm font-medium
|
|
463
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
444
464
|
Primary
|
|
445
465
|
</div>
|
|
446
|
-
<div className="text-
|
|
447
|
-
text-
|
|
466
|
+
<div className="text-fm-tertiary text-xs">
|
|
467
|
+
text-fm-icon-info
|
|
448
468
|
</div>
|
|
449
469
|
</div>
|
|
450
470
|
</div>
|
|
451
471
|
<div className="flex items-center gap-4">
|
|
452
|
-
<ShareIcon className="h-6 w-6
|
|
472
|
+
<ShareIcon className="text-fm-icon-info h-6 w-6" />
|
|
453
473
|
<div>
|
|
454
|
-
<div className="text-sm font-medium
|
|
474
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
455
475
|
Social
|
|
456
476
|
</div>
|
|
457
|
-
<div className="text-
|
|
458
|
-
text-
|
|
477
|
+
<div className="text-fm-tertiary text-xs">
|
|
478
|
+
text-fm-icon-info
|
|
459
479
|
</div>
|
|
460
480
|
</div>
|
|
461
481
|
</div>
|
|
462
482
|
<div className="flex items-center gap-4">
|
|
463
|
-
<ShareIcon className="h-6 w-6
|
|
483
|
+
<ShareIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
464
484
|
<div>
|
|
465
|
-
<div className="text-sm font-medium
|
|
485
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
466
486
|
Creative
|
|
467
487
|
</div>
|
|
468
|
-
<div className="text-
|
|
469
|
-
text-
|
|
488
|
+
<div className="text-fm-tertiary text-xs">
|
|
489
|
+
text-fm-secondary-600
|
|
470
490
|
</div>
|
|
471
491
|
</div>
|
|
472
492
|
</div>
|
|
473
493
|
<div className="flex items-center gap-4">
|
|
474
|
-
<ShareIcon className="h-6 w-6
|
|
494
|
+
<ShareIcon className="text-fm-placeholder h-6 w-6" />
|
|
475
495
|
<div>
|
|
476
|
-
<div className="text-sm font-medium
|
|
496
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
477
497
|
Disabled
|
|
478
498
|
</div>
|
|
479
|
-
<div className="text-
|
|
480
|
-
text-
|
|
499
|
+
<div className="text-fm-tertiary text-xs">
|
|
500
|
+
text-fm-placeholder
|
|
481
501
|
</div>
|
|
482
502
|
</div>
|
|
483
503
|
</div>
|
|
@@ -485,11 +505,11 @@ function MyComponent() {
|
|
|
485
505
|
</div>
|
|
486
506
|
|
|
487
507
|
<div className="!space-y-4">
|
|
488
|
-
<h3 className="text-lg font-semibold
|
|
508
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
489
509
|
Custom Colors
|
|
490
510
|
</h3>
|
|
491
|
-
<div className="rounded-lg
|
|
492
|
-
<pre className="overflow-x-auto text-sm
|
|
511
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
512
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
493
513
|
{`// Using Tailwind classes
|
|
494
514
|
<ShareIcon className="h-6 w-6 text-blue-400" />
|
|
495
515
|
<ShareIcon className="h-6 w-6 text-cyan-500" />
|
|
@@ -514,29 +534,29 @@ function MyComponent() {
|
|
|
514
534
|
|
|
515
535
|
{/* Usage Examples */}
|
|
516
536
|
<div className="!space-y-8">
|
|
517
|
-
<h2 className="text-center text-3xl font-bold
|
|
537
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
518
538
|
Usage Examples
|
|
519
539
|
</h2>
|
|
520
540
|
|
|
521
541
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
522
542
|
{/* Share Button */}
|
|
523
543
|
<div className="!space-y-4">
|
|
524
|
-
<h3 className="text-lg font-semibold
|
|
544
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
525
545
|
Share Buttons
|
|
526
546
|
</h3>
|
|
527
547
|
<div className="!space-y-4">
|
|
528
548
|
<div className="flex gap-4">
|
|
529
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
549
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info hover:bg-fm-icon-info/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
530
550
|
<ShareIcon className="h-4 w-4" />
|
|
531
551
|
Share Post
|
|
532
552
|
</button>
|
|
533
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
553
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info hover:bg-fm-icon-info/30 flex items-center gap-2 rounded-lg border px-3 py-2 transition-colors">
|
|
534
554
|
<ShareIcon className="h-4 w-4" />
|
|
535
555
|
Share Link
|
|
536
556
|
</button>
|
|
537
557
|
</div>
|
|
538
|
-
<div className="rounded-lg
|
|
539
|
-
<pre className="overflow-x-auto text-sm
|
|
558
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
559
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
540
560
|
{`// Primary share button
|
|
541
561
|
<button className="flex items-center gap-2 bg-blue-500/20 border border-blue-500/30 px-4 py-2 rounded-lg">
|
|
542
562
|
<ShareIcon className="h-4 w-4" />
|
|
@@ -555,30 +575,30 @@ function MyComponent() {
|
|
|
555
575
|
|
|
556
576
|
{/* Social Share Menu */}
|
|
557
577
|
<div className="!space-y-4">
|
|
558
|
-
<h3 className="text-lg font-semibold
|
|
578
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
559
579
|
Social Share Menu
|
|
560
580
|
</h3>
|
|
561
581
|
<div className="!space-y-4">
|
|
562
|
-
<div className="rounded-lg border
|
|
563
|
-
<div className="mb-3 text-sm font-medium
|
|
582
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
583
|
+
<div className="text-fm-icon-active mb-3 text-sm font-medium">
|
|
564
584
|
Share this article
|
|
565
585
|
</div>
|
|
566
586
|
<div className="flex gap-3">
|
|
567
|
-
<button className="flex items-center gap-2 rounded-lg
|
|
587
|
+
<button className="bg-fm-icon-info text-fm-icon-active hover:bg-fm-icon-info flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors">
|
|
568
588
|
<span>📘</span>
|
|
569
589
|
Facebook
|
|
570
590
|
</button>
|
|
571
|
-
<button className="flex items-center gap-2 rounded-lg
|
|
591
|
+
<button className="bg-fm-surface-primary text-fm-icon-active hover:bg-fm-surface-secondary flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors">
|
|
572
592
|
<span>𝕏</span>
|
|
573
593
|
Twitter
|
|
574
594
|
</button>
|
|
575
|
-
<button className="
|
|
595
|
+
<button className="text-fm-icon-info hover:bg-fm-icon-info/20 rounded-lg p-2 transition-colors">
|
|
576
596
|
<ShareIcon className="h-4 w-4" />
|
|
577
597
|
</button>
|
|
578
598
|
</div>
|
|
579
599
|
</div>
|
|
580
|
-
<div className="rounded-lg
|
|
581
|
-
<pre className="overflow-x-auto text-sm
|
|
600
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
601
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
582
602
|
{`<div className="flex gap-3">
|
|
583
603
|
<button className="bg-blue-600 px-3 py-2 rounded-lg text-white">
|
|
584
604
|
Facebook
|
|
@@ -597,36 +617,36 @@ function MyComponent() {
|
|
|
597
617
|
|
|
598
618
|
{/* Content Card */}
|
|
599
619
|
<div className="!space-y-4">
|
|
600
|
-
<h3 className="text-lg font-semibold
|
|
620
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
601
621
|
Content Card Actions
|
|
602
622
|
</h3>
|
|
603
623
|
<div className="!space-y-4">
|
|
604
|
-
<div className="rounded-lg border
|
|
624
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
605
625
|
<div className="mb-3">
|
|
606
|
-
<h4 className="mb-1 text-sm font-medium
|
|
626
|
+
<h4 className="text-fm-icon-active! mb-1 text-sm font-medium">
|
|
607
627
|
Building Better User Interfaces
|
|
608
628
|
</h4>
|
|
609
|
-
<p className="text-
|
|
629
|
+
<p className="text-fm-tertiary! text-xs">
|
|
610
630
|
A comprehensive guide to modern design patterns
|
|
611
631
|
</p>
|
|
612
632
|
</div>
|
|
613
633
|
<div className="flex items-center justify-between">
|
|
614
634
|
<div className="flex items-center gap-4">
|
|
615
|
-
<span className="text-
|
|
635
|
+
<span className="text-fm-tertiary text-xs">
|
|
616
636
|
2 min read
|
|
617
637
|
</span>
|
|
618
|
-
<span className="text-
|
|
619
|
-
<span className="text-
|
|
638
|
+
<span className="text-fm-tertiary text-xs">•</span>
|
|
639
|
+
<span className="text-fm-tertiary text-xs">
|
|
620
640
|
Design
|
|
621
641
|
</span>
|
|
622
642
|
</div>
|
|
623
|
-
<button className="
|
|
643
|
+
<button className="text-fm-icon-info hover:bg-fm-icon-info/20 rounded-lg p-2 transition-colors">
|
|
624
644
|
<ShareIcon className="h-4 w-4" />
|
|
625
645
|
</button>
|
|
626
646
|
</div>
|
|
627
647
|
</div>
|
|
628
|
-
<div className="rounded-lg
|
|
629
|
-
<pre className="overflow-x-auto text-sm
|
|
648
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
649
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
630
650
|
{`<div className="flex items-center justify-between">
|
|
631
651
|
<div className="flex items-center gap-4">
|
|
632
652
|
{/* Article metadata */}
|
|
@@ -642,36 +662,36 @@ function MyComponent() {
|
|
|
642
662
|
|
|
643
663
|
{/* Toolbar Action */}
|
|
644
664
|
<div className="!space-y-4">
|
|
645
|
-
<h3 className="text-lg font-semibold
|
|
665
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
646
666
|
Toolbar Actions
|
|
647
667
|
</h3>
|
|
648
668
|
<div className="!space-y-4">
|
|
649
|
-
<div className="rounded-lg border
|
|
650
|
-
<div className="flex items-center justify-between rounded border
|
|
669
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
670
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center justify-between rounded border p-3">
|
|
651
671
|
<div className="flex items-center gap-3">
|
|
652
|
-
<span className="text-sm font-medium
|
|
672
|
+
<span className="text-fm-icon-active text-sm font-medium">
|
|
653
673
|
Document.pdf
|
|
654
674
|
</span>
|
|
655
|
-
<span className="text-
|
|
656
|
-
<span className="text-
|
|
675
|
+
<span className="text-fm-tertiary text-xs">•</span>
|
|
676
|
+
<span className="text-fm-tertiary text-xs">
|
|
657
677
|
2.4 MB
|
|
658
678
|
</span>
|
|
659
679
|
</div>
|
|
660
680
|
<div className="flex items-center gap-2">
|
|
661
|
-
<button className="
|
|
681
|
+
<button className="text-fm-placeholder hover:bg-fm-icon-info/20 hover:text-fm-icon-info rounded-lg p-2 transition-colors">
|
|
662
682
|
<span className="text-sm">👁️</span>
|
|
663
683
|
</button>
|
|
664
|
-
<button className="
|
|
684
|
+
<button className="text-fm-placeholder hover:bg-fm-icon-info/20 hover:text-fm-icon-info rounded-lg p-2 transition-colors">
|
|
665
685
|
<ShareIcon className="h-4 w-4" />
|
|
666
686
|
</button>
|
|
667
|
-
<button className="
|
|
687
|
+
<button className="text-fm-placeholder hover:bg-fm-icon-positive/20 hover:text-fm-icon-positive rounded-lg p-2 transition-colors">
|
|
668
688
|
<span className="text-sm">⬇️</span>
|
|
669
689
|
</button>
|
|
670
690
|
</div>
|
|
671
691
|
</div>
|
|
672
692
|
</div>
|
|
673
|
-
<div className="rounded-lg
|
|
674
|
-
<pre className="overflow-x-auto text-sm
|
|
693
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
694
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
675
695
|
{`// File toolbar with share action
|
|
676
696
|
<div className="flex items-center gap-2">
|
|
677
697
|
<button className="p-2 rounded-lg text-gray-400 hover:bg-blue-500/20 hover:text-blue-400 transition-colors">
|
|
@@ -687,64 +707,64 @@ function MyComponent() {
|
|
|
687
707
|
|
|
688
708
|
{/* Accessibility */}
|
|
689
709
|
<div className="!space-y-8">
|
|
690
|
-
<h2 className="text-center text-3xl font-bold
|
|
710
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
691
711
|
Accessibility Features
|
|
692
712
|
</h2>
|
|
693
713
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
694
|
-
<div className="!space-y-4 rounded-lg border
|
|
695
|
-
<h3 className="text-lg font-semibold
|
|
714
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
715
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
696
716
|
✅ Built-in Features
|
|
697
717
|
</h3>
|
|
698
|
-
<ul className="!space-y-2 text-sm
|
|
699
|
-
<li className="
|
|
718
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
719
|
+
<li className="text-fm-secondary!">
|
|
700
720
|
Uses Radix UI AccessibleIcon wrapper
|
|
701
721
|
</li>
|
|
702
|
-
<li className="
|
|
722
|
+
<li className="text-fm-secondary!">
|
|
703
723
|
Provides screen reader label "Share icon"
|
|
704
724
|
</li>
|
|
705
|
-
<li className="
|
|
725
|
+
<li className="text-fm-secondary!">
|
|
706
726
|
Supports keyboard navigation when interactive
|
|
707
727
|
</li>
|
|
708
|
-
<li className="
|
|
728
|
+
<li className="text-fm-secondary!">
|
|
709
729
|
Maintains proper color contrast ratios
|
|
710
730
|
</li>
|
|
711
|
-
<li className="
|
|
731
|
+
<li className="text-fm-secondary!">
|
|
712
732
|
Scales with user's font size preferences
|
|
713
733
|
</li>
|
|
714
734
|
</ul>
|
|
715
735
|
</div>
|
|
716
736
|
|
|
717
|
-
<div className="!space-y-4 rounded-lg border
|
|
718
|
-
<h3 className="text-lg font-semibold
|
|
737
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
738
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
719
739
|
💡 Best Practices
|
|
720
740
|
</h3>
|
|
721
|
-
<ul className="!space-y-2 text-sm
|
|
722
|
-
<li className="
|
|
741
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
742
|
+
<li className="text-fm-secondary!">
|
|
723
743
|
Always pair with descriptive labels
|
|
724
744
|
</li>
|
|
725
|
-
<li className="
|
|
745
|
+
<li className="text-fm-secondary!">
|
|
726
746
|
Provide clear feedback on share actions
|
|
727
747
|
</li>
|
|
728
|
-
<li className="
|
|
748
|
+
<li className="text-fm-secondary!">
|
|
729
749
|
Ensure sufficient color contrast
|
|
730
750
|
</li>
|
|
731
|
-
<li className="
|
|
751
|
+
<li className="text-fm-secondary!">
|
|
732
752
|
Add focus states for interactive elements
|
|
733
753
|
</li>
|
|
734
|
-
<li className="
|
|
754
|
+
<li className="text-fm-secondary!">
|
|
735
755
|
Consider providing share confirmation
|
|
736
756
|
</li>
|
|
737
757
|
</ul>
|
|
738
758
|
</div>
|
|
739
759
|
</div>
|
|
740
760
|
|
|
741
|
-
<div className="rounded-lg border
|
|
742
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
761
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
762
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
743
763
|
Custom Accessibility Label
|
|
744
764
|
</h3>
|
|
745
765
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
746
|
-
<div className="rounded-lg
|
|
747
|
-
<pre className="overflow-x-auto text-sm
|
|
766
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
767
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
748
768
|
{`// Custom implementation with specific label
|
|
749
769
|
import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
|
|
750
770
|
|
|
@@ -764,13 +784,13 @@ function CustomShareIcon({ label = "Share", ...props }) {
|
|
|
764
784
|
</pre>
|
|
765
785
|
</div>
|
|
766
786
|
<div className="!space-y-4">
|
|
767
|
-
<p className="text-
|
|
787
|
+
<p className="text-fm-secondary! text-sm">
|
|
768
788
|
For specific contexts, you can wrap the ShareIcon with a
|
|
769
789
|
custom AccessibleIcon component that provides more
|
|
770
790
|
descriptive labels.
|
|
771
791
|
</p>
|
|
772
|
-
<div className="
|
|
773
|
-
<div className="flex items-center gap-2 text-sm
|
|
792
|
+
<div className="border-fm-icon-info/20 bg-fm-icon-info/10 rounded-lg border p-4">
|
|
793
|
+
<div className="text-fm-icon-info flex items-center gap-2 text-sm">
|
|
774
794
|
<ShareIcon className="h-4 w-4" />
|
|
775
795
|
<span>
|
|
776
796
|
This approach gives screen readers more context
|
|
@@ -784,44 +804,58 @@ function CustomShareIcon({ label = "Share", ...props }) {
|
|
|
784
804
|
|
|
785
805
|
{/* Related Icons */}
|
|
786
806
|
<div className="!space-y-8">
|
|
787
|
-
<h2 className="text-center text-3xl font-bold
|
|
807
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
788
808
|
Related Icons
|
|
789
809
|
</h2>
|
|
790
810
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
791
|
-
<div className="!space-y-3 rounded-lg border
|
|
792
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
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-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
793
813
|
<span className="text-2xl">📤</span>
|
|
794
814
|
</div>
|
|
795
815
|
<div>
|
|
796
|
-
<div className="font-medium
|
|
797
|
-
|
|
816
|
+
<div className="text-fm-icon-active font-medium">
|
|
817
|
+
SendIcon
|
|
818
|
+
</div>
|
|
819
|
+
<div className="text-fm-tertiary text-xs">
|
|
820
|
+
Send messages
|
|
821
|
+
</div>
|
|
798
822
|
</div>
|
|
799
823
|
</div>
|
|
800
|
-
<div className="!space-y-3 rounded-lg border
|
|
801
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
802
|
-
<span className="
|
|
824
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
825
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
826
|
+
<span className="text-fm-icon-active! !text-2xl">🔗</span>
|
|
803
827
|
</div>
|
|
804
828
|
<div>
|
|
805
|
-
<div className="font-medium
|
|
806
|
-
|
|
829
|
+
<div className="text-fm-icon-active font-medium">
|
|
830
|
+
LinkIcon
|
|
831
|
+
</div>
|
|
832
|
+
<div className="text-fm-tertiary text-xs">Copy links</div>
|
|
807
833
|
</div>
|
|
808
834
|
</div>
|
|
809
|
-
<div className="!space-y-3 rounded-lg border
|
|
810
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
835
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
836
|
+
<div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
811
837
|
<span className="text-2xl">📋</span>
|
|
812
838
|
</div>
|
|
813
839
|
<div>
|
|
814
|
-
<div className="font-medium
|
|
815
|
-
|
|
840
|
+
<div className="text-fm-icon-active font-medium">
|
|
841
|
+
CopyIcon
|
|
842
|
+
</div>
|
|
843
|
+
<div className="text-fm-tertiary text-xs">
|
|
844
|
+
Copy content
|
|
845
|
+
</div>
|
|
816
846
|
</div>
|
|
817
847
|
</div>
|
|
818
|
-
<div className="!space-y-3 rounded-lg border
|
|
819
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
848
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
849
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
820
850
|
<span className="text-2xl">📧</span>
|
|
821
851
|
</div>
|
|
822
852
|
<div>
|
|
823
|
-
<div className="font-medium
|
|
824
|
-
|
|
853
|
+
<div className="text-fm-icon-active font-medium">
|
|
854
|
+
EmailIcon
|
|
855
|
+
</div>
|
|
856
|
+
<div className="text-fm-tertiary text-xs">
|
|
857
|
+
Email sharing
|
|
858
|
+
</div>
|
|
825
859
|
</div>
|
|
826
860
|
</div>
|
|
827
861
|
</div>
|
|
@@ -829,14 +863,14 @@ function CustomShareIcon({ label = "Share", ...props }) {
|
|
|
829
863
|
</div>
|
|
830
864
|
|
|
831
865
|
{/* Footer */}
|
|
832
|
-
<div className="border-
|
|
866
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
833
867
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
834
868
|
<div className="!space-y-4 text-center">
|
|
835
|
-
<p className="
|
|
869
|
+
<p className="text-fm-tertiary!">
|
|
836
870
|
ShareIcon is part of the Aural UI icon library, built with
|
|
837
871
|
accessibility and consistency in mind.
|
|
838
872
|
</p>
|
|
839
|
-
<p className="text-
|
|
873
|
+
<p className="text-fm-placeholder! text-sm">
|
|
840
874
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
841
875
|
compatibility and follow WCAG guidelines.
|
|
842
876
|
</p>
|
|
@@ -881,8 +915,8 @@ const storyParameters = {
|
|
|
881
915
|
backgrounds: {
|
|
882
916
|
default: "dark",
|
|
883
917
|
values: [
|
|
884
|
-
{ name: "dark", value: "
|
|
885
|
-
{ name: "darker", value: "
|
|
918
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
919
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
886
920
|
],
|
|
887
921
|
},
|
|
888
922
|
}
|
|
@@ -891,12 +925,12 @@ export const Default: Story = {
|
|
|
891
925
|
args: {
|
|
892
926
|
width: 24,
|
|
893
927
|
height: 24,
|
|
894
|
-
className: "text-
|
|
928
|
+
className: "text-fm-icon-info",
|
|
895
929
|
withAccessibility: true,
|
|
896
930
|
},
|
|
897
931
|
parameters: storyParameters,
|
|
898
932
|
render: (args) => (
|
|
899
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
933
|
+
<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">
|
|
900
934
|
<ShareIcon {...args} />
|
|
901
935
|
</div>
|
|
902
936
|
),
|
|
@@ -913,30 +947,30 @@ export const SizeVariations: Story = {
|
|
|
913
947
|
},
|
|
914
948
|
},
|
|
915
949
|
render: () => (
|
|
916
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
950
|
+
<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">
|
|
917
951
|
<div className="text-center">
|
|
918
|
-
<ShareIcon className="!mx-auto mb-2 h-3 w-3
|
|
919
|
-
<span className="text-
|
|
952
|
+
<ShareIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
953
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
920
954
|
</div>
|
|
921
955
|
<div className="text-center">
|
|
922
|
-
<ShareIcon className="!mx-auto mb-2 h-4 w-4
|
|
923
|
-
<span className="text-
|
|
956
|
+
<ShareIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
957
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
924
958
|
</div>
|
|
925
959
|
<div className="text-center">
|
|
926
|
-
<ShareIcon className="!mx-auto mb-2 h-5 w-5
|
|
927
|
-
<span className="text-
|
|
960
|
+
<ShareIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
961
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
928
962
|
</div>
|
|
929
963
|
<div className="text-center">
|
|
930
|
-
<ShareIcon className="!mx-auto mb-2 h-6 w-6
|
|
931
|
-
<span className="text-
|
|
964
|
+
<ShareIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
965
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
932
966
|
</div>
|
|
933
967
|
<div className="text-center">
|
|
934
|
-
<ShareIcon className="!mx-auto mb-2 h-8 w-8
|
|
935
|
-
<span className="text-
|
|
968
|
+
<ShareIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
969
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
936
970
|
</div>
|
|
937
971
|
<div className="text-center">
|
|
938
|
-
<ShareIcon className="!mx-auto mb-2 h-12 w-12
|
|
939
|
-
<span className="text-
|
|
972
|
+
<ShareIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
973
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
940
974
|
</div>
|
|
941
975
|
</div>
|
|
942
976
|
),
|
|
@@ -953,34 +987,36 @@ export const ColorVariations: Story = {
|
|
|
953
987
|
},
|
|
954
988
|
},
|
|
955
989
|
render: () => (
|
|
956
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
990
|
+
<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">
|
|
957
991
|
<div className="text-center">
|
|
958
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
959
|
-
<ShareIcon className="h-8 w-8
|
|
992
|
+
<div className="border-fm-icon-info/30 bg-fm-icon-info/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
993
|
+
<ShareIcon className="text-fm-icon-info h-8 w-8" />
|
|
960
994
|
</div>
|
|
961
|
-
<div className="text-sm font-medium
|
|
962
|
-
<div className="text-
|
|
995
|
+
<div className="text-fm-icon-active text-sm font-medium">Primary</div>
|
|
996
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
963
997
|
</div>
|
|
964
998
|
<div className="text-center">
|
|
965
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
966
|
-
<ShareIcon className="h-8 w-8
|
|
999
|
+
<div className="border-fm-icon-info/30 bg-fm-icon-info/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
1000
|
+
<ShareIcon className="text-fm-icon-info h-8 w-8" />
|
|
967
1001
|
</div>
|
|
968
|
-
<div className="text-sm font-medium
|
|
969
|
-
<div className="text-
|
|
1002
|
+
<div className="text-fm-icon-active text-sm font-medium">Social</div>
|
|
1003
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
970
1004
|
</div>
|
|
971
1005
|
<div className="text-center">
|
|
972
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
973
|
-
<ShareIcon className="h-8 w-8
|
|
1006
|
+
<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">
|
|
1007
|
+
<ShareIcon className="text-fm-secondary-600 h-8 w-8" />
|
|
1008
|
+
</div>
|
|
1009
|
+
<div className="text-fm-icon-active text-sm font-medium">Creative</div>
|
|
1010
|
+
<div className="text-fm-secondary-600 text-xs">
|
|
1011
|
+
text-fm-secondary-600
|
|
974
1012
|
</div>
|
|
975
|
-
<div className="text-sm font-medium text-white">Creative</div>
|
|
976
|
-
<div className="text-xs text-purple-400">text-purple-400</div>
|
|
977
1013
|
</div>
|
|
978
1014
|
<div className="text-center">
|
|
979
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
980
|
-
<ShareIcon className="h-8 w-8
|
|
1015
|
+
<div className="border-fm-divider-primary bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
1016
|
+
<ShareIcon className="text-fm-placeholder h-8 w-8" />
|
|
981
1017
|
</div>
|
|
982
|
-
<div className="text-sm font-medium
|
|
983
|
-
<div className="text-
|
|
1018
|
+
<div className="text-fm-icon-active text-sm font-medium">Disabled</div>
|
|
1019
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
984
1020
|
</div>
|
|
985
1021
|
</div>
|
|
986
1022
|
),
|
|
@@ -997,16 +1033,18 @@ export const UsageExamples: Story = {
|
|
|
997
1033
|
},
|
|
998
1034
|
},
|
|
999
1035
|
render: () => (
|
|
1000
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
1036
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
1001
1037
|
{/* Share Buttons */}
|
|
1002
1038
|
<div className="!space-y-2">
|
|
1003
|
-
<h3 className="text-sm font-medium
|
|
1039
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1040
|
+
Share Buttons
|
|
1041
|
+
</h3>
|
|
1004
1042
|
<div className="flex gap-4">
|
|
1005
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
1043
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info hover:bg-fm-icon-info/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
1006
1044
|
<ShareIcon className="h-4 w-4" />
|
|
1007
1045
|
Share Post
|
|
1008
1046
|
</button>
|
|
1009
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
1047
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info hover:bg-fm-icon-info/30 flex items-center gap-2 rounded-lg border px-3 py-2 transition-colors">
|
|
1010
1048
|
<ShareIcon className="h-4 w-4" />
|
|
1011
1049
|
Share Link
|
|
1012
1050
|
</button>
|
|
@@ -1015,21 +1053,23 @@ export const UsageExamples: Story = {
|
|
|
1015
1053
|
|
|
1016
1054
|
{/* Social Share Menu */}
|
|
1017
1055
|
<div className="!space-y-2">
|
|
1018
|
-
<h3 className="text-sm font-medium
|
|
1019
|
-
|
|
1020
|
-
|
|
1056
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1057
|
+
Social Share Menu
|
|
1058
|
+
</h3>
|
|
1059
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
1060
|
+
<div className="text-fm-icon-active mb-3 text-sm font-medium">
|
|
1021
1061
|
Share this article
|
|
1022
1062
|
</div>
|
|
1023
1063
|
<div className="flex gap-3">
|
|
1024
|
-
<button className="flex items-center gap-2 rounded-lg
|
|
1064
|
+
<button className="bg-fm-icon-info text-fm-icon-active hover:bg-fm-icon-info flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors">
|
|
1025
1065
|
<span>📘</span>
|
|
1026
1066
|
Facebook
|
|
1027
1067
|
</button>
|
|
1028
|
-
<button className="flex items-center gap-2 rounded-lg
|
|
1068
|
+
<button className="bg-fm-surface-primary text-fm-icon-active hover:bg-fm-surface-secondary flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors">
|
|
1029
1069
|
<span>𝕏</span>
|
|
1030
1070
|
Twitter
|
|
1031
1071
|
</button>
|
|
1032
|
-
<button className="
|
|
1072
|
+
<button className="text-fm-icon-info hover:bg-fm-icon-info/20 rounded-lg p-2 transition-colors">
|
|
1033
1073
|
<ShareIcon className="h-4 w-4" />
|
|
1034
1074
|
</button>
|
|
1035
1075
|
</div>
|
|
@@ -1038,23 +1078,25 @@ export const UsageExamples: Story = {
|
|
|
1038
1078
|
|
|
1039
1079
|
{/* Content Card */}
|
|
1040
1080
|
<div className="!space-y-2">
|
|
1041
|
-
<h3 className="text-sm font-medium
|
|
1042
|
-
|
|
1081
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1082
|
+
Content Card Actions
|
|
1083
|
+
</h3>
|
|
1084
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
1043
1085
|
<div className="mb-3">
|
|
1044
|
-
<h4 className="mb-1 text-sm font-medium
|
|
1086
|
+
<h4 className="text-fm-icon-active! mb-1 text-sm font-medium">
|
|
1045
1087
|
Building Better User Interfaces
|
|
1046
1088
|
</h4>
|
|
1047
|
-
<p className="text-
|
|
1089
|
+
<p className="text-fm-tertiary! text-xs">
|
|
1048
1090
|
A comprehensive guide to modern design patterns
|
|
1049
1091
|
</p>
|
|
1050
1092
|
</div>
|
|
1051
1093
|
<div className="flex items-center justify-between">
|
|
1052
1094
|
<div className="flex items-center gap-4">
|
|
1053
|
-
<span className="text-
|
|
1054
|
-
<span className="text-
|
|
1055
|
-
<span className="text-
|
|
1095
|
+
<span className="text-fm-tertiary text-xs">2 min read</span>
|
|
1096
|
+
<span className="text-fm-tertiary text-xs">•</span>
|
|
1097
|
+
<span className="text-fm-tertiary text-xs">Design</span>
|
|
1056
1098
|
</div>
|
|
1057
|
-
<button className="
|
|
1099
|
+
<button className="text-fm-icon-info hover:bg-fm-icon-info/20 rounded-lg p-2 transition-colors">
|
|
1058
1100
|
<ShareIcon className="h-4 w-4" />
|
|
1059
1101
|
</button>
|
|
1060
1102
|
</div>
|
|
@@ -1077,11 +1119,11 @@ export const Playground: Story = {
|
|
|
1077
1119
|
args: {
|
|
1078
1120
|
width: 32,
|
|
1079
1121
|
height: 32,
|
|
1080
|
-
className: "text-
|
|
1122
|
+
className: "text-fm-icon-info",
|
|
1081
1123
|
},
|
|
1082
1124
|
render: (args) => (
|
|
1083
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1084
|
-
<div className="rounded-lg border
|
|
1125
|
+
<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">
|
|
1126
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1085
1127
|
<ShareIcon {...args} />
|
|
1086
1128
|
</div>
|
|
1087
1129
|
</div>
|