aural-ui 4.0.1 → 4.2.0
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/README.md +8 -1
- package/dist/components/aspect-ratio/AspectRatio.stories.tsx +290 -1228
- package/dist/components/avatar/Avatar.stories.tsx +219 -235
- package/dist/components/badge/Badge.stories.tsx +379 -116
- package/dist/components/banner/Banner.stories.tsx +445 -391
- package/dist/components/breadcrumb/Breadcrumb.stories.tsx +453 -199
- package/dist/components/button/Button.stories.tsx +585 -230
- package/dist/components/card/Card.stories.tsx +619 -301
- package/dist/components/char-count/CharCount.stories.tsx +350 -248
- package/dist/components/checkbox/Checkbox.stories.tsx +309 -167
- package/dist/components/chip/Chip.stories.tsx +362 -168
- package/dist/components/circular-loader/CircularLoader.stories.tsx +221 -636
- package/dist/components/clamp-lines/ClampLines.stories.tsx +246 -117
- package/dist/components/collapsible/Collapsible.stories.tsx +391 -252
- package/dist/components/command/Command.stories.tsx +530 -867
- package/dist/components/dialog/Dialog.stories.tsx +501 -950
- package/dist/components/divider/Divider.stories.tsx +264 -527
- package/dist/components/dot-loader/DotLoader.stories.tsx +256 -257
- package/dist/components/drawer/Drawer.stories.tsx +659 -1023
- package/dist/components/dropdown/Dropdown.stories.tsx +643 -1028
- package/dist/components/form/Form.stories.tsx +560 -274
- package/dist/components/helper-text/HelperText.stories.tsx +199 -200
- package/dist/components/hover-card/HoverCard.stories.tsx +318 -1254
- package/dist/components/icon-button/IconButton.stories.tsx +837 -194
- package/dist/components/if-else/if-else.stories.tsx +370 -83
- package/dist/components/input/Input.stories.tsx +436 -368
- package/dist/components/label/Label.stories.tsx +156 -154
- package/dist/components/list/List.stories.tsx +484 -835
- package/dist/components/marquee/Marquee.stories.tsx +356 -712
- package/dist/components/otp-inputs/OtpInputs.stories.tsx +352 -422
- package/dist/components/overlay/Overlay.stories.tsx +452 -824
- package/dist/components/pagination/Pagination.stories.tsx +721 -210
- package/dist/components/popover/Popover.stories.tsx +481 -896
- package/dist/components/radio/Radio.stories.tsx +432 -124
- package/dist/components/resizable/Resizable.stories.tsx +495 -799
- package/dist/components/scroll-area/ScrollArea.stories.tsx +383 -1059
- package/dist/components/search/Search.stories.tsx +312 -595
- package/dist/components/select/Select.stories.tsx +684 -789
- package/dist/components/sheet/Sheet.stories.tsx +671 -950
- package/dist/components/skelton/Skelton.stories.tsx +230 -764
- package/dist/components/slider/Slider.stories.tsx +383 -760
- package/dist/components/stepper/Stepper.stories.tsx +371 -514
- package/dist/components/switch/Switch.stories.tsx +461 -208
- package/dist/components/switch-case/SwitchCase.stories.tsx +367 -188
- package/dist/components/table/Table.stories.tsx +770 -916
- package/dist/components/tabs/Tabs.stories.tsx +458 -1455
- package/dist/components/tag/Tag.stories.tsx +714 -542
- package/dist/components/textarea/TextArea.stories.tsx +621 -562
- package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +228 -154
- package/dist/components/toast/Toast.stories.tsx +452 -1339
- package/dist/components/toggle/Toggle.stories.tsx +488 -931
- package/dist/components/tooltip/Tooltip.stories.tsx +344 -1388
- package/dist/components/typography/Typography.stories.tsx +406 -89
- package/dist/hooks/use-change-state/UseChangeState.stories.tsx +309 -606
- package/dist/hooks/use-previous/UsePrevious.stories.tsx +367 -917
- package/dist/hooks/use-standalone-pagination/UseStandalonePagination.stories.tsx +639 -867
- package/dist/icons/Icons.stories.tsx +0 -12
- package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +223 -1060
- package/dist/icons/alert-icon/AlertIcon.stories.tsx +106 -968
- package/dist/icons/all-icons.tsx +37 -16
- package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +137 -1010
- package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +145 -935
- package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +132 -1046
- package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +134 -986
- package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +135 -1028
- package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +133 -971
- package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +145 -1123
- package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +143 -1252
- package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +123 -632
- package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +141 -1223
- package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +164 -1018
- package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +121 -1236
- package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +121 -1213
- package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +116 -893
- package/dist/icons/camera-icon/CameraIcon.stories.tsx +109 -1254
- package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +114 -975
- package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +157 -994
- package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +160 -992
- package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +140 -970
- package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +126 -993
- package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +144 -987
- package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +141 -1007
- package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +147 -1187
- package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +110 -476
- package/dist/icons/coin-icon/CoinIcon.stories.tsx +120 -1364
- package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +113 -1360
- package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +111 -942
- package/dist/icons/command-icon/CommandIcon.stories.tsx +124 -1087
- package/dist/icons/copy-icon/CopyIcon.stories.tsx +119 -996
- package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +144 -1046
- package/dist/icons/cross-icon/CrossIcon.stories.tsx +136 -999
- package/dist/icons/download-icon/DownloadIcon.stories.tsx +123 -857
- package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +121 -1080
- package/dist/icons/email-icon/EmailIcon.stories.tsx +112 -979
- package/dist/icons/expand-icon/ExpandIcon.stories.tsx +109 -1146
- package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +141 -1068
- package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +140 -1081
- package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +124 -1050
- package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +123 -1091
- package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +122 -633
- package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +116 -1087
- package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +166 -1020
- package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +112 -1182
- package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +112 -1155
- package/dist/icons/globe-icon/GlobeIcon.stories.tsx +127 -325
- package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +142 -985
- package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +116 -1217
- package/dist/icons/head-icon/HeadIcon.stories.tsx +108 -953
- package/dist/icons/heart-icon/HeartIcon.stories.tsx +117 -1060
- package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +116 -716
- package/dist/icons/image-icon/ImageIcon.stories.tsx +102 -1164
- package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +108 -1233
- package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +133 -1289
- package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +155 -1012
- package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +158 -1438
- package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +121 -1011
- package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +116 -981
- package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +116 -979
- package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +105 -1252
- package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +151 -1554
- package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +107 -1227
- package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +116 -707
- package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +119 -1226
- package/dist/icons/message-icon/MessageIcon.stories.tsx +111 -557
- package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +112 -1198
- package/dist/icons/moon-icon/MoonIcon.stories.tsx +117 -557
- package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +106 -1235
- package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +112 -1185
- package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +116 -1012
- package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +108 -1137
- package/dist/icons/notes-icon/NotesIcon.stories.tsx +116 -1138
- package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +106 -1146
- package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +119 -719
- package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +110 -999
- package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +109 -912
- package/dist/icons/pause-icon/PauseIcon.stories.tsx +110 -1041
- package/dist/icons/pencil-icon/PencilIcon.stories.tsx +112 -1109
- package/dist/icons/phone-icon/PhoneIcon.stories.tsx +112 -1023
- package/dist/icons/plus-icon/PlusIcon.stories.tsx +103 -1132
- package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +104 -870
- package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +99 -476
- package/dist/icons/search-icon/SearchIcon.stories.tsx +108 -1161
- package/dist/icons/setting-icon/SettingIcon.stories.tsx +104 -1009
- package/dist/icons/share-icon/ShareIcon.stories.tsx +117 -1064
- package/dist/icons/shield-icon/ShieldIcon.stories.tsx +114 -974
- package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +134 -1160
- package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +169 -1017
- package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +161 -1016
- package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +102 -1001
- package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +155 -593
- package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +155 -608
- package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +142 -712
- package/dist/icons/star-icon/StarIcon.stories.tsx +120 -946
- package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +109 -1013
- package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +113 -891
- package/dist/icons/sun-icon/SunIcon.stories.tsx +117 -864
- package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +113 -989
- package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +120 -1027
- package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +153 -1476
- package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +143 -1187
- package/dist/icons/tick-icon/TickIcon.stories.tsx +142 -1322
- package/dist/icons/trash-icon/TrashIcon.stories.tsx +105 -970
- package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +154 -1457
- package/dist/icons/upload-icon/UploadIcon.stories.tsx +112 -930
- package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +115 -1019
- package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +122 -1092
- package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +120 -1401
- package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +107 -1212
- package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +109 -1122
- package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +112 -1124
- package/dist/icons/warning-icon/WarningIcon.stories.tsx +119 -1083
- package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +158 -983
- package/dist/index.cjs +90 -90
- package/dist/index.js +90 -90
- package/package.json +8 -3
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
import React from "react"
|
|
2
2
|
import type { Meta, StoryObj } from "@storybook/react-vite"
|
|
3
3
|
|
|
4
|
+
import { LinkedInIcon } from "src/ui/icons/linked-in-icon"
|
|
5
|
+
import { ThreadsIcon } from "src/ui/icons/threads-icon"
|
|
6
|
+
import { TwitterXIcon } from "src/ui/icons/twitter-x-icon"
|
|
7
|
+
import { YoutubeIcon } from "src/ui/icons/youtube-icon"
|
|
8
|
+
import {
|
|
9
|
+
IconBrandColors,
|
|
10
|
+
IconDefaultCanvas,
|
|
11
|
+
IconPlaygroundCanvas,
|
|
12
|
+
IconSizeVariations,
|
|
13
|
+
IconUsageCanvas,
|
|
14
|
+
IconUsageSection,
|
|
15
|
+
} from "src/ui/story-spec/icons/icon-story-canvas"
|
|
16
|
+
import { AuralIconDocsPage } from "src/ui/story-spec/icons/icon-story-docs-page"
|
|
17
|
+
|
|
4
18
|
import { InstagramIcon } from "."
|
|
5
19
|
|
|
6
20
|
const meta: Meta<typeof InstagramIcon> = {
|
|
@@ -18,1241 +32,71 @@ const meta: Meta<typeof InstagramIcon> = {
|
|
|
18
32
|
},
|
|
19
33
|
docs: {
|
|
20
34
|
page: () => (
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
{
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
.docs-story {
|
|
37
|
-
background: transparent ;
|
|
38
|
-
}
|
|
39
|
-
.sbdocs {
|
|
40
|
-
background: transparent ;
|
|
41
|
-
}
|
|
42
|
-
body {
|
|
43
|
-
background: var(--color-fm-surface-primary) ;
|
|
44
|
-
}
|
|
45
|
-
#storybook-docs {
|
|
46
|
-
background: var(--color-fm-surface-primary) ;
|
|
47
|
-
}
|
|
48
|
-
.sbdocs-preview {
|
|
49
|
-
background: transparent ;
|
|
50
|
-
border: none ;
|
|
51
|
-
}
|
|
52
|
-
.sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
|
|
53
|
-
color: var(--color-fm-icon-active) ;
|
|
54
|
-
}
|
|
55
|
-
.sbdocs-p, .sbdocs-li {
|
|
56
|
-
color: var(--color-fm-secondary) ;
|
|
57
|
-
}
|
|
58
|
-
.sbdocs-code {
|
|
59
|
-
background: var(--color-fm-surface-secondary) ;
|
|
60
|
-
color: var(--color-fm-secondary-500) ;
|
|
61
|
-
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
62
|
-
}
|
|
63
|
-
.sbdocs-pre {
|
|
64
|
-
background: var(--color-fm-surface-secondary) ;
|
|
65
|
-
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
66
|
-
}
|
|
67
|
-
.sbdocs-table {
|
|
68
|
-
background: var(--color-fm-surface-secondary) ;
|
|
69
|
-
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
70
|
-
}
|
|
71
|
-
.sbdocs-table th {
|
|
72
|
-
background: var(--color-fm-surface-secondary) ;
|
|
73
|
-
color: var(--color-fm-icon-active) ;
|
|
74
|
-
border-bottom: 1px solid var(--color-fm-divider-secondary) ;
|
|
75
|
-
}
|
|
76
|
-
.sbdocs-table td {
|
|
77
|
-
color: var(--color-fm-secondary) ;
|
|
78
|
-
border-bottom: 1px solid var(--color-fm-divider-tertiary) ;
|
|
79
|
-
}
|
|
80
|
-
`}
|
|
81
|
-
</style>
|
|
82
|
-
|
|
83
|
-
<div className="from-fm-surface-primary via-fm-secondary-500/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
|
|
84
|
-
{/* Header */}
|
|
85
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
|
|
86
|
-
<div className="from-fm-secondary-500/10 via-fm-secondary-500/10 to-fm-icon-warning/10 absolute inset-0 bg-linear-to-r" />
|
|
87
|
-
<div className="relative !mx-auto max-w-7xl px-6 py-16">
|
|
88
|
-
<div className="!space-y-6 text-center">
|
|
89
|
-
<div className="border-fm-secondary-500/30 from-fm-secondary-500/20 via-fm-secondary-500/20 to-fm-icon-warning/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
|
|
90
|
-
<InstagramIcon className="text-fm-icon-active h-12 w-12" />
|
|
91
|
-
</div>
|
|
92
|
-
<h1 className="text-fm-icon-active! text-5xl font-bold">
|
|
93
|
-
InstagramIcon
|
|
94
|
-
</h1>
|
|
95
|
-
<p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
|
|
96
|
-
The official Instagram brand icon featuring the iconic
|
|
97
|
-
camera design. Essential for photo sharing integration,
|
|
98
|
-
social media buttons, profile links, visual content
|
|
99
|
-
promotion, and any interface where Instagram platform
|
|
100
|
-
connectivity and brand recognition is needed.
|
|
101
|
-
</p>
|
|
102
|
-
|
|
103
|
-
{/* Stats */}
|
|
104
|
-
<div className="flex items-center justify-center gap-8 pt-8">
|
|
105
|
-
<div className="text-center">
|
|
106
|
-
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
107
|
-
Visual Content
|
|
108
|
-
</div>
|
|
109
|
-
<div className="text-fm-tertiary text-sm">
|
|
110
|
-
Photo & video sharing
|
|
111
|
-
</div>
|
|
112
|
-
</div>
|
|
113
|
-
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
114
|
-
<div className="text-center">
|
|
115
|
-
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
116
|
-
Creative Platform
|
|
117
|
-
</div>
|
|
118
|
-
<div className="text-fm-tertiary text-sm">
|
|
119
|
-
Artistic expression
|
|
120
|
-
</div>
|
|
121
|
-
</div>
|
|
122
|
-
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
123
|
-
<div className="text-center">
|
|
124
|
-
<div className="text-fm-icon-warning text-3xl font-bold">
|
|
125
|
-
Brand Identity
|
|
126
|
-
</div>
|
|
127
|
-
<div className="text-fm-tertiary text-sm">
|
|
128
|
-
Visual storytelling
|
|
129
|
-
</div>
|
|
130
|
-
</div>
|
|
131
|
-
</div>
|
|
132
|
-
</div>
|
|
133
|
-
</div>
|
|
134
|
-
</div>
|
|
135
|
-
|
|
136
|
-
{/* Content */}
|
|
137
|
-
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
138
|
-
{/* Quick Usage */}
|
|
139
|
-
<div className="!space-y-8">
|
|
140
|
-
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
141
|
-
Quick Start
|
|
142
|
-
</h2>
|
|
143
|
-
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
144
|
-
<div className="!space-y-4">
|
|
145
|
-
<h3 className="text-fm-secondary-600! text-xl font-semibold">
|
|
146
|
-
Basic Usage
|
|
147
|
-
</h3>
|
|
148
|
-
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
149
|
-
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
150
|
-
{`import { InstagramIcon } from "@icons/instagram-icon"
|
|
151
|
-
|
|
152
|
-
function SocialLinks() {
|
|
35
|
+
<AuralIconDocsPage
|
|
36
|
+
accentToken="warning"
|
|
37
|
+
features={[
|
|
38
|
+
{ title: "Brand Mark", description: "Instagram identity icon" },
|
|
39
|
+
{
|
|
40
|
+
title: "Social Media",
|
|
41
|
+
description: "Share and connect links",
|
|
42
|
+
},
|
|
43
|
+
{ title: "Accessible", description: "ARIA-ready by default" },
|
|
44
|
+
]}
|
|
45
|
+
quickStart={{
|
|
46
|
+
codeExample: `import { InstagramIcon } from "src/ui/icons/instagram-icon"
|
|
47
|
+
|
|
48
|
+
function InstagramLink() {
|
|
153
49
|
return (
|
|
154
|
-
<a
|
|
155
|
-
|
|
156
|
-
className="p-3 rounded-lg bg-gradient-to-br
|
|
157
|
-
from-pink-500 via-purple-500 to-orange-500
|
|
158
|
-
hover:from-pink-600 hover:to-orange-600
|
|
159
|
-
transition-all duration-300"
|
|
160
|
-
aria-label="Follow us on Instagram"
|
|
161
|
-
>
|
|
162
|
-
<InstagramIcon className="h-5 w-5 text-white" />
|
|
50
|
+
<a href="https://instagram.com/creator" target="_blank">
|
|
51
|
+
<InstagramIcon className="h-5 w-5 text-fm-icon-active" />
|
|
163
52
|
</a>
|
|
164
53
|
)
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
<table className="!my-0 w-full">
|
|
199
|
-
<thead className="bg-fm-surface-secondary">
|
|
200
|
-
<tr className="border-fm-divider-secondary border-b">
|
|
201
|
-
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
202
|
-
Prop
|
|
203
|
-
</th>
|
|
204
|
-
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
205
|
-
Type
|
|
206
|
-
</th>
|
|
207
|
-
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
208
|
-
Default
|
|
209
|
-
</th>
|
|
210
|
-
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
211
|
-
Description
|
|
212
|
-
</th>
|
|
213
|
-
</tr>
|
|
214
|
-
</thead>
|
|
215
|
-
<tbody>
|
|
216
|
-
{" "}
|
|
217
|
-
<tr className="bg-fm-surface-secondary!">
|
|
218
|
-
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
219
|
-
withAccessibility
|
|
220
|
-
</td>
|
|
221
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
222
|
-
boolean
|
|
223
|
-
</td>
|
|
224
|
-
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
225
|
-
true
|
|
226
|
-
</td>
|
|
227
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
228
|
-
Whether to wrap the icon with accessibility feature
|
|
229
|
-
</td>
|
|
230
|
-
</tr>
|
|
231
|
-
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
232
|
-
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
233
|
-
height
|
|
234
|
-
</td>
|
|
235
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
236
|
-
number | string
|
|
237
|
-
</td>
|
|
238
|
-
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
239
|
-
auto
|
|
240
|
-
</td>
|
|
241
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
242
|
-
Height of the icon (maintains aspect ratio)
|
|
243
|
-
</td>
|
|
244
|
-
</tr>
|
|
245
|
-
<tr className="border-fm-divider-tertiary border-b">
|
|
246
|
-
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
247
|
-
fill
|
|
248
|
-
</td>
|
|
249
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
250
|
-
string
|
|
251
|
-
</td>
|
|
252
|
-
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
253
|
-
currentColor
|
|
254
|
-
</td>
|
|
255
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
256
|
-
Fill color of the Instagram camera icon
|
|
257
|
-
</td>
|
|
258
|
-
</tr>
|
|
259
|
-
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
260
|
-
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
261
|
-
className
|
|
262
|
-
</td>
|
|
263
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
264
|
-
string
|
|
265
|
-
</td>
|
|
266
|
-
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
267
|
-
-
|
|
268
|
-
</td>
|
|
269
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
270
|
-
CSS classes for styling and sizing
|
|
271
|
-
</td>
|
|
272
|
-
</tr>
|
|
273
|
-
<tr className="border-fm-divider-tertiary border-b">
|
|
274
|
-
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
275
|
-
onClick
|
|
276
|
-
</td>
|
|
277
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
278
|
-
function
|
|
279
|
-
</td>
|
|
280
|
-
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
281
|
-
-
|
|
282
|
-
</td>
|
|
283
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
284
|
-
Click handler for social interactions
|
|
285
|
-
</td>
|
|
286
|
-
</tr>
|
|
287
|
-
<tr className="bg-fm-surface-secondary!">
|
|
288
|
-
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
289
|
-
...svgProps
|
|
290
|
-
</td>
|
|
291
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
292
|
-
SVGProps
|
|
293
|
-
</td>
|
|
294
|
-
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
295
|
-
-
|
|
296
|
-
</td>
|
|
297
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
298
|
-
All standard SVG element props
|
|
299
|
-
</td>
|
|
300
|
-
</tr>
|
|
301
|
-
</tbody>
|
|
302
|
-
</table>
|
|
303
|
-
</div>
|
|
304
|
-
|
|
305
|
-
<div className="border-fm-secondary-500/20 bg-fm-secondary-500/10 rounded-lg border p-4">
|
|
306
|
-
<div className="text-fm-secondary-600 flex items-center gap-2 text-sm">
|
|
307
|
-
<InstagramIcon className="h-4 w-4" />
|
|
308
|
-
<span>
|
|
309
|
-
<strong>Brand Guidelines:</strong> Use Instagram's
|
|
310
|
-
signature gradient colors (pink, purple, orange) for
|
|
311
|
-
optimal brand recognition and consistency.
|
|
312
|
-
</span>
|
|
313
|
-
</div>
|
|
314
|
-
</div>
|
|
315
|
-
</div>
|
|
316
|
-
|
|
317
|
-
{/* Size Variations */}
|
|
318
|
-
<div className="!space-y-8">
|
|
319
|
-
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
320
|
-
Size Variations
|
|
321
|
-
</h2>
|
|
322
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
323
|
-
<div className="!space-y-6">
|
|
324
|
-
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
325
|
-
<div className="!space-y-4">
|
|
326
|
-
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
327
|
-
Standard Sizes
|
|
328
|
-
</h3>
|
|
329
|
-
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
330
|
-
<div className="text-center">
|
|
331
|
-
<InstagramIcon className="text-fm-secondary-600 !mx-auto mb-2 h-3 w-3" />
|
|
332
|
-
<span className="text-fm-tertiary text-xs">
|
|
333
|
-
12px
|
|
334
|
-
</span>
|
|
335
|
-
</div>
|
|
336
|
-
<div className="text-center">
|
|
337
|
-
<InstagramIcon className="text-fm-secondary-600 !mx-auto mb-2 h-4 w-4" />
|
|
338
|
-
<span className="text-fm-tertiary text-xs">
|
|
339
|
-
16px
|
|
340
|
-
</span>
|
|
341
|
-
</div>
|
|
342
|
-
<div className="text-center">
|
|
343
|
-
<InstagramIcon className="text-fm-secondary-600 !mx-auto mb-2 h-5 w-5" />
|
|
344
|
-
<span className="text-fm-tertiary text-xs">
|
|
345
|
-
20px
|
|
346
|
-
</span>
|
|
347
|
-
</div>
|
|
348
|
-
<div className="text-center">
|
|
349
|
-
<InstagramIcon className="text-fm-secondary-600 !mx-auto mb-2 h-6 w-6" />
|
|
350
|
-
<span className="text-fm-tertiary text-xs">
|
|
351
|
-
24px
|
|
352
|
-
</span>
|
|
353
|
-
</div>
|
|
354
|
-
<div className="text-center">
|
|
355
|
-
<InstagramIcon className="text-fm-secondary-600 !mx-auto mb-2 h-8 w-8" />
|
|
356
|
-
<span className="text-fm-tertiary text-xs">
|
|
357
|
-
32px
|
|
358
|
-
</span>
|
|
359
|
-
</div>
|
|
360
|
-
<div className="text-center">
|
|
361
|
-
<InstagramIcon className="text-fm-secondary-600 !mx-auto mb-2 h-12 w-12" />
|
|
362
|
-
<span className="text-fm-tertiary text-xs">
|
|
363
|
-
48px
|
|
364
|
-
</span>
|
|
365
|
-
</div>
|
|
366
|
-
</div>
|
|
367
|
-
</div>
|
|
368
|
-
|
|
369
|
-
<div className="!space-y-4">
|
|
370
|
-
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
371
|
-
Code Example
|
|
372
|
-
</h3>
|
|
373
|
-
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
374
|
-
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
375
|
-
{`// Small (16px) - inline social links
|
|
376
|
-
<InstagramIcon className="h-4 w-4" />
|
|
377
|
-
|
|
378
|
-
// Medium (24px) - standard buttons
|
|
379
|
-
<InstagramIcon className="h-6 w-6" />
|
|
380
|
-
|
|
381
|
-
// Large (32px) - prominent displays
|
|
382
|
-
<InstagramIcon className="h-8 w-8" />
|
|
383
|
-
|
|
384
|
-
// Custom size with maintained aspect ratio
|
|
385
|
-
<InstagramIcon width={40} height={40} />`}
|
|
386
|
-
</pre>
|
|
387
|
-
</div>
|
|
388
|
-
</div>
|
|
389
|
-
</div>
|
|
390
|
-
</div>
|
|
391
|
-
</div>
|
|
392
|
-
</div>
|
|
393
|
-
|
|
394
|
-
{/* Color & Styling */}
|
|
395
|
-
<div className="!space-y-8">
|
|
396
|
-
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
397
|
-
Color & Styling
|
|
398
|
-
</h2>
|
|
399
|
-
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
400
|
-
<div className="!space-y-4">
|
|
401
|
-
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
402
|
-
Brand Colors & Gradients
|
|
403
|
-
</h3>
|
|
404
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
405
|
-
<div className="flex items-center gap-4">
|
|
406
|
-
<div className="from-fm-secondary-500 via-fm-secondary-500 to-fm-icon-warning flex h-12 w-12 items-center justify-center rounded-lg bg-linear-to-br">
|
|
407
|
-
<InstagramIcon className="text-fm-icon-active h-6 w-6" />
|
|
408
|
-
</div>
|
|
409
|
-
<div>
|
|
410
|
-
<div className="text-fm-icon-active text-sm font-medium">
|
|
411
|
-
Official Gradient
|
|
412
|
-
</div>
|
|
413
|
-
<div className="text-fm-tertiary text-xs">
|
|
414
|
-
Pink to purple to orange
|
|
415
|
-
</div>
|
|
416
|
-
</div>
|
|
417
|
-
</div>
|
|
418
|
-
<div className="flex items-center gap-4">
|
|
419
|
-
<div className="bg-fm-secondary-500 flex h-12 w-12 items-center justify-center rounded-lg">
|
|
420
|
-
<InstagramIcon className="text-fm-icon-active h-6 w-6" />
|
|
421
|
-
</div>
|
|
422
|
-
<div>
|
|
423
|
-
<div className="text-fm-icon-active text-sm font-medium">
|
|
424
|
-
Pink Monochrome
|
|
425
|
-
</div>
|
|
426
|
-
<div className="text-fm-tertiary text-xs">
|
|
427
|
-
Single brand color
|
|
428
|
-
</div>
|
|
429
|
-
</div>
|
|
430
|
-
</div>
|
|
431
|
-
<div className="flex items-center gap-4">
|
|
432
|
-
<div className="border-fm-divider-primary bg-fm-surface-contrast flex h-12 w-12 items-center justify-center rounded-lg border">
|
|
433
|
-
<InstagramIcon className="text-fm-icon-active h-6 w-6" />
|
|
434
|
-
</div>
|
|
435
|
-
<div>
|
|
436
|
-
<div className="text-fm-icon-active text-sm font-medium">
|
|
437
|
-
Monochrome Black
|
|
438
|
-
</div>
|
|
439
|
-
<div className="text-fm-tertiary text-xs">
|
|
440
|
-
Light backgrounds
|
|
441
|
-
</div>
|
|
442
|
-
</div>
|
|
443
|
-
</div>
|
|
444
|
-
<div className="flex items-center gap-4">
|
|
445
|
-
<div className="bg-fm-surface-secondary flex h-12 w-12 items-center justify-center rounded-lg">
|
|
446
|
-
<InstagramIcon className="text-fm-icon-active h-6 w-6" />
|
|
447
|
-
</div>
|
|
448
|
-
<div>
|
|
449
|
-
<div className="text-fm-icon-active text-sm font-medium">
|
|
450
|
-
Monochrome White
|
|
451
|
-
</div>
|
|
452
|
-
<div className="text-fm-tertiary text-xs">
|
|
453
|
-
Dark backgrounds
|
|
454
|
-
</div>
|
|
455
|
-
</div>
|
|
456
|
-
</div>
|
|
457
|
-
</div>
|
|
458
|
-
</div>
|
|
459
|
-
|
|
460
|
-
<div className="!space-y-4">
|
|
461
|
-
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
462
|
-
Gradient Examples
|
|
463
|
-
</h3>
|
|
464
|
-
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
465
|
-
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
466
|
-
{`// Official Instagram gradient background
|
|
467
|
-
<div className="bg-gradient-to-br from-pink-500
|
|
468
|
-
via-purple-500 to-orange-500 p-3 rounded-lg">
|
|
469
|
-
<InstagramIcon className="h-6 w-6 text-white" />
|
|
470
|
-
</div>
|
|
471
|
-
|
|
472
|
-
// Alternative gradient
|
|
473
|
-
<div className="bg-gradient-to-r from-pink-400
|
|
474
|
-
to-orange-400 p-3 rounded-lg">
|
|
475
|
-
<InstagramIcon className="h-6 w-6 text-white" />
|
|
476
|
-
</div>
|
|
477
|
-
|
|
478
|
-
// Monochrome with hover gradient
|
|
479
|
-
<div className="bg-gray-800 hover:bg-gradient-to-br
|
|
480
|
-
hover:from-pink-500 hover:to-orange-500
|
|
481
|
-
p-3 rounded-lg transition-all duration-300">
|
|
482
|
-
<InstagramIcon className="h-6 w-6 text-white" />
|
|
483
|
-
</div>
|
|
484
|
-
|
|
485
|
-
// Icon with gradient text color (using CSS)
|
|
486
|
-
<InstagramIcon
|
|
487
|
-
className="h-6 w-6 bg-gradient-to-r from-pink-500
|
|
488
|
-
to-orange-500 bg-clip-text text-transparent"
|
|
489
|
-
/>
|
|
490
|
-
|
|
491
|
-
// Inherit parent color
|
|
492
|
-
<InstagramIcon className="h-6 w-6" />`}
|
|
493
|
-
</pre>
|
|
494
|
-
</div>
|
|
495
|
-
</div>
|
|
496
|
-
</div>
|
|
497
|
-
</div>
|
|
498
|
-
|
|
499
|
-
{/* Usage Examples */}
|
|
500
|
-
<div className="!space-y-8">
|
|
501
|
-
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
502
|
-
Usage Examples
|
|
503
|
-
</h2>
|
|
504
|
-
|
|
505
|
-
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
506
|
-
{/* Social Media Cards */}
|
|
507
|
-
<div className="!space-y-4">
|
|
508
|
-
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
509
|
-
Social Media Cards
|
|
510
|
-
</h3>
|
|
511
|
-
<div className="!space-y-4">
|
|
512
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
513
|
-
<div className="space-y-4">
|
|
514
|
-
<h4 className="text-fm-icon-active mb-4 text-sm font-medium">
|
|
515
|
-
Follow us on social media
|
|
516
|
-
</h4>
|
|
517
|
-
<div className="grid grid-cols-2 gap-4">
|
|
518
|
-
<a href="#" className="group block">
|
|
519
|
-
<div className="from-fm-secondary-500 via-fm-secondary-500 to-fm-icon-warning rounded-lg bg-linear-to-br p-4 transition-transform group-hover:scale-105">
|
|
520
|
-
<div className="flex items-center gap-3">
|
|
521
|
-
<InstagramIcon className="text-fm-icon-active h-6 w-6 flex-shrink-0" />
|
|
522
|
-
<div>
|
|
523
|
-
<div className="text-fm-icon-active text-sm font-semibold">
|
|
524
|
-
Instagram
|
|
525
|
-
</div>
|
|
526
|
-
<div className="text-fm-icon-active/80 text-xs">
|
|
527
|
-
@ourcompany
|
|
528
|
-
</div>
|
|
529
|
-
</div>
|
|
530
|
-
</div>
|
|
531
|
-
<div className="text-fm-icon-active/90 mt-3 text-xs">
|
|
532
|
-
Behind-the-scenes content and daily updates
|
|
533
|
-
</div>
|
|
534
|
-
<div className="text-fm-icon-active mt-2 text-xs font-medium">
|
|
535
|
-
15.2k followers
|
|
536
|
-
</div>
|
|
537
|
-
</div>
|
|
538
|
-
</a>
|
|
539
|
-
<a href="#" className="group block">
|
|
540
|
-
<div className="border-fm-divider-contrast bg-fm-surface-primary group-hover:border-fm-divider-primary group-hover:bg-fm-surface-primary rounded-lg border p-4 transition-all">
|
|
541
|
-
<div className="flex items-center gap-3">
|
|
542
|
-
<div className="flex h-6 w-6 items-center justify-center">
|
|
543
|
-
<span className="text-fm-icon-active text-lg">
|
|
544
|
-
𝕏
|
|
545
|
-
</span>
|
|
546
|
-
</div>
|
|
547
|
-
<div>
|
|
548
|
-
<div className="text-fm-icon-active text-sm font-semibold">
|
|
549
|
-
X (Twitter)
|
|
550
|
-
</div>
|
|
551
|
-
<div className="text-fm-tertiary text-xs">
|
|
552
|
-
@ourcompany
|
|
553
|
-
</div>
|
|
554
|
-
</div>
|
|
555
|
-
</div>
|
|
556
|
-
<div className="text-fm-secondary mt-3 text-xs">
|
|
557
|
-
News, updates, and community discussions
|
|
558
|
-
</div>
|
|
559
|
-
<div className="text-fm-icon-active mt-2 text-xs font-medium">
|
|
560
|
-
8.7k followers
|
|
561
|
-
</div>
|
|
562
|
-
</div>
|
|
563
|
-
</a>
|
|
564
|
-
</div>
|
|
565
|
-
<div className="border-fm-divider-secondary border-t pt-4">
|
|
566
|
-
<div className="flex items-center justify-center gap-4">
|
|
567
|
-
<a
|
|
568
|
-
href="#"
|
|
569
|
-
className="from-fm-secondary-500 via-fm-secondary-500 to-fm-icon-warning rounded-lg bg-linear-to-br p-3 transition-transform hover:scale-110"
|
|
570
|
-
>
|
|
571
|
-
<InstagramIcon className="text-fm-icon-active h-5 w-5" />
|
|
572
|
-
</a>
|
|
573
|
-
<a
|
|
574
|
-
href="#"
|
|
575
|
-
className="border-fm-divider-contrast bg-fm-surface-primary rounded-lg border p-3 transition-transform hover:scale-110"
|
|
576
|
-
>
|
|
577
|
-
<span className="text-fm-icon-active text-lg">
|
|
578
|
-
𝕏
|
|
579
|
-
</span>
|
|
580
|
-
</a>
|
|
581
|
-
<a
|
|
582
|
-
href="#"
|
|
583
|
-
className="bg-fm-icon-info rounded-lg p-3 transition-transform hover:scale-110"
|
|
584
|
-
>
|
|
585
|
-
<span className="text-fm-icon-active text-lg">
|
|
586
|
-
📘
|
|
587
|
-
</span>
|
|
588
|
-
</a>
|
|
589
|
-
<a
|
|
590
|
-
href="#"
|
|
591
|
-
className="bg-fm-icon-info rounded-lg p-3 transition-transform hover:scale-110"
|
|
592
|
-
>
|
|
593
|
-
<span className="text-fm-icon-active text-lg">
|
|
594
|
-
💼
|
|
595
|
-
</span>
|
|
596
|
-
</a>
|
|
597
|
-
</div>
|
|
598
|
-
</div>
|
|
599
|
-
</div>
|
|
600
|
-
</div>
|
|
601
|
-
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
602
|
-
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
603
|
-
{`// Social media cards component
|
|
604
|
-
<div className="social-media-cards">
|
|
605
|
-
<h4>Follow us on social media</h4>
|
|
606
|
-
<div className="cards-grid">
|
|
607
|
-
<a href={instagramUrl} className="instagram-card">
|
|
608
|
-
<div className="card-content gradient-bg">
|
|
609
|
-
<div className="card-header">
|
|
610
|
-
<InstagramIcon className="h-6 w-6 text-white" />
|
|
611
|
-
<div className="platform-info">
|
|
612
|
-
<div className="platform-name">Instagram</div>
|
|
613
|
-
<div className="platform-handle">@ourcompany</div>
|
|
614
|
-
</div>
|
|
615
|
-
</div>
|
|
616
|
-
<div className="card-description">
|
|
617
|
-
Behind-the-scenes content and daily updates
|
|
618
|
-
</div>
|
|
619
|
-
<div className="follower-count">15.2k followers</div>
|
|
620
|
-
</div>
|
|
621
|
-
</a>
|
|
622
|
-
<TwitterCard />
|
|
623
|
-
</div>
|
|
624
|
-
<SocialIconRow />
|
|
625
|
-
</div>`}
|
|
626
|
-
</pre>
|
|
627
|
-
</div>
|
|
628
|
-
</div>
|
|
629
|
-
</div>
|
|
630
|
-
|
|
631
|
-
{/* Photo Gallery Integration */}
|
|
632
|
-
<div className="!space-y-4">
|
|
633
|
-
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
634
|
-
Photo Gallery Integration
|
|
635
|
-
</h3>
|
|
636
|
-
<div className="!space-y-4">
|
|
637
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
638
|
-
<div className="border-fm-divider-primary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
639
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-b p-4">
|
|
640
|
-
<div className="flex items-center justify-between">
|
|
641
|
-
<h4 className="text-fm-icon-active text-lg font-semibold">
|
|
642
|
-
Latest from Instagram
|
|
643
|
-
</h4>
|
|
644
|
-
<a
|
|
645
|
-
href="#"
|
|
646
|
-
className="from-fm-secondary-500 to-fm-icon-warning text-fm-icon-active hover:from-fm-secondary-600 hover:to-fm-icon-warning flex items-center gap-2 rounded-full bg-linear-to-r px-3 py-1 text-sm transition-colors"
|
|
647
|
-
>
|
|
648
|
-
<InstagramIcon className="h-4 w-4" />
|
|
649
|
-
<span>View All</span>
|
|
650
|
-
</a>
|
|
651
|
-
</div>
|
|
652
|
-
</div>
|
|
653
|
-
<div className="p-4">
|
|
654
|
-
<div className="grid grid-cols-3 gap-3">
|
|
655
|
-
<div className="from-fm-icon-info/20 to-fm-secondary-500/20 flex aspect-square items-center justify-center rounded-lg bg-linear-to-br">
|
|
656
|
-
<span className="text-2xl">🌅</span>
|
|
657
|
-
</div>
|
|
658
|
-
<div className="from-fm-icon-positive/20 to-fm-icon-info/20 flex aspect-square items-center justify-center rounded-lg bg-linear-to-br">
|
|
659
|
-
<span className="text-2xl">🌿</span>
|
|
660
|
-
</div>
|
|
661
|
-
<div className="from-fm-icon-warning/20 to-fm-icon-warning/20 flex aspect-square items-center justify-center rounded-lg bg-linear-to-br">
|
|
662
|
-
<span className="text-2xl">☕</span>
|
|
663
|
-
</div>
|
|
664
|
-
<div className="from-fm-secondary-500/20 to-fm-secondary-500/20 flex aspect-square items-center justify-center rounded-lg bg-linear-to-br">
|
|
665
|
-
<span className="text-2xl">🎨</span>
|
|
666
|
-
</div>
|
|
667
|
-
<div className="from-fm-icon-negative/20 to-fm-secondary-500/20 flex aspect-square items-center justify-center rounded-lg bg-linear-to-br">
|
|
668
|
-
<span className="text-2xl">🌺</span>
|
|
669
|
-
</div>
|
|
670
|
-
<div className="from-fm-icon-info/20 to-fm-icon-info/20 flex aspect-square items-center justify-center rounded-lg bg-linear-to-br">
|
|
671
|
-
<span className="text-2xl">🌊</span>
|
|
672
|
-
</div>
|
|
673
|
-
</div>
|
|
674
|
-
<div className="mt-4 text-center">
|
|
675
|
-
<a
|
|
676
|
-
href="#"
|
|
677
|
-
className="text-fm-secondary-600 hover:text-fm-secondary-600 text-sm transition-colors"
|
|
678
|
-
>
|
|
679
|
-
@ourcompany • 245 posts
|
|
680
|
-
</a>
|
|
681
|
-
</div>
|
|
682
|
-
</div>
|
|
683
|
-
</div>
|
|
684
|
-
</div>
|
|
685
|
-
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
686
|
-
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
687
|
-
{`// Instagram gallery feed widget
|
|
688
|
-
<div className="instagram-gallery">
|
|
689
|
-
<div className="gallery-header">
|
|
690
|
-
<h3>Latest from Instagram</h3>
|
|
691
|
-
<a
|
|
692
|
-
href={instagramUrl}
|
|
693
|
-
className="view-all-btn"
|
|
694
|
-
>
|
|
695
|
-
<InstagramIcon className="h-4 w-4" />
|
|
696
|
-
<span>View All</span>
|
|
697
|
-
</a>
|
|
698
|
-
</div>
|
|
699
|
-
<div className="photo-grid">
|
|
700
|
-
{instagramPosts.map(post => (
|
|
701
|
-
<a
|
|
702
|
-
key={post.id}
|
|
703
|
-
href={post.permalink}
|
|
704
|
-
className="photo-item"
|
|
705
|
-
target="_blank"
|
|
706
|
-
rel="noopener noreferrer"
|
|
707
|
-
>
|
|
708
|
-
<img
|
|
709
|
-
src={post.media_url}
|
|
710
|
-
alt={post.caption}
|
|
711
|
-
className="photo-image"
|
|
54
|
+
}`,
|
|
55
|
+
livePreview: (
|
|
56
|
+
<a href="#" target="_blank" rel="noreferrer">
|
|
57
|
+
<InstagramIcon className="text-fm-icon-active h-6 w-6" />
|
|
58
|
+
</a>
|
|
59
|
+
),
|
|
60
|
+
}}
|
|
61
|
+
relatedIcons={[
|
|
62
|
+
{
|
|
63
|
+
name: "LinkedInIcon",
|
|
64
|
+
description: "LinkedIn brand mark",
|
|
65
|
+
icon: LinkedInIcon,
|
|
66
|
+
accentToken: "info",
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: "ThreadsIcon",
|
|
70
|
+
description: "Threads brand mark",
|
|
71
|
+
icon: ThreadsIcon,
|
|
72
|
+
accentToken: "positive",
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: "TwitterXIcon",
|
|
76
|
+
description: "X (Twitter) brand mark",
|
|
77
|
+
icon: TwitterXIcon,
|
|
78
|
+
accentToken: "warning",
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
name: "YoutubeIcon",
|
|
82
|
+
description: "YouTube brand mark",
|
|
83
|
+
icon: YoutubeIcon,
|
|
84
|
+
accentToken: "negative",
|
|
85
|
+
},
|
|
86
|
+
]}
|
|
712
87
|
/>
|
|
713
|
-
<div className="photo-overlay">
|
|
714
|
-
<InstagramIcon className="h-5 w-5 text-white" />
|
|
715
|
-
</div>
|
|
716
|
-
</a>
|
|
717
|
-
))}
|
|
718
|
-
</div>
|
|
719
|
-
<div className="gallery-footer">
|
|
720
|
-
<a href={instagramUrl}>@{instagramHandle} • {postCount} posts</a>
|
|
721
|
-
</div>
|
|
722
|
-
</div>`}
|
|
723
|
-
</pre>
|
|
724
|
-
</div>
|
|
725
|
-
</div>
|
|
726
|
-
</div>
|
|
727
|
-
|
|
728
|
-
{/* Profile Bio Section */}
|
|
729
|
-
<div className="!space-y-4">
|
|
730
|
-
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
731
|
-
Creator Profile Bio
|
|
732
|
-
</h3>
|
|
733
|
-
<div className="!space-y-4">
|
|
734
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
735
|
-
<div className="border-fm-divider-primary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
736
|
-
<div className="from-fm-secondary-500/20 via-fm-secondary-500/20 to-fm-icon-warning/20 relative h-32 bg-linear-to-r">
|
|
737
|
-
<div className="absolute -bottom-8 left-6">
|
|
738
|
-
<div className="border-fm-divider-secondary from-fm-secondary-500 via-fm-secondary-500 to-fm-icon-warning flex h-16 w-16 items-center justify-center rounded-full border-4 bg-linear-to-br">
|
|
739
|
-
<span className="text-2xl">📸</span>
|
|
740
|
-
</div>
|
|
741
|
-
</div>
|
|
742
|
-
</div>
|
|
743
|
-
<div className="p-6 pt-12">
|
|
744
|
-
<div className="flex items-start justify-between">
|
|
745
|
-
<div>
|
|
746
|
-
<h4 className="text-fm-icon-active text-lg font-semibold">
|
|
747
|
-
Alex Thompson
|
|
748
|
-
</h4>
|
|
749
|
-
<p className="text-fm-tertiary text-sm">
|
|
750
|
-
@alexcreates
|
|
751
|
-
</p>
|
|
752
|
-
<p className="text-fm-secondary mt-2 max-w-sm text-sm">
|
|
753
|
-
Visual storyteller & photographer capturing
|
|
754
|
-
life's beautiful moments 📷✨
|
|
755
|
-
</p>
|
|
756
|
-
</div>
|
|
757
|
-
<button className="from-fm-secondary-500 to-fm-icon-warning text-fm-icon-active hover:from-fm-secondary-600 hover:to-fm-icon-warning rounded-lg bg-linear-to-r px-4 py-2 font-medium transition-colors">
|
|
758
|
-
Follow
|
|
759
|
-
</button>
|
|
760
|
-
</div>
|
|
761
|
-
<div className="mt-4 flex items-center gap-6">
|
|
762
|
-
<div className="text-sm">
|
|
763
|
-
<span className="text-fm-icon-active font-medium">
|
|
764
|
-
1,847
|
|
765
|
-
</span>
|
|
766
|
-
<span className="text-fm-tertiary ml-1">
|
|
767
|
-
Posts
|
|
768
|
-
</span>
|
|
769
|
-
</div>
|
|
770
|
-
<div className="text-sm">
|
|
771
|
-
<span className="text-fm-icon-active font-medium">
|
|
772
|
-
52.1k
|
|
773
|
-
</span>
|
|
774
|
-
<span className="text-fm-tertiary ml-1">
|
|
775
|
-
Followers
|
|
776
|
-
</span>
|
|
777
|
-
</div>
|
|
778
|
-
<div className="text-sm">
|
|
779
|
-
<span className="text-fm-icon-active font-medium">
|
|
780
|
-
943
|
|
781
|
-
</span>
|
|
782
|
-
<span className="text-fm-tertiary ml-1">
|
|
783
|
-
Following
|
|
784
|
-
</span>
|
|
785
|
-
</div>
|
|
786
|
-
</div>
|
|
787
|
-
<div className="border-fm-divider-secondary mt-4 flex items-center gap-4 border-t pt-4">
|
|
788
|
-
<span className="text-fm-tertiary text-sm">
|
|
789
|
-
Connect:
|
|
790
|
-
</span>
|
|
791
|
-
<div className="flex gap-2">
|
|
792
|
-
<a
|
|
793
|
-
href="#"
|
|
794
|
-
className="from-fm-secondary-500 via-fm-secondary-500 to-fm-icon-warning rounded bg-linear-to-br p-2 transition-transform hover:scale-110"
|
|
795
|
-
aria-label="Follow on Instagram"
|
|
796
|
-
>
|
|
797
|
-
<InstagramIcon className="text-fm-icon-active h-4 w-4" />
|
|
798
|
-
</a>
|
|
799
|
-
<a
|
|
800
|
-
href="#"
|
|
801
|
-
className="bg-fm-icon-negative hover:bg-fm-icon-negative rounded p-2 transition-colors"
|
|
802
|
-
aria-label="Subscribe on YouTube"
|
|
803
|
-
>
|
|
804
|
-
<span className="text-fm-icon-active text-sm">
|
|
805
|
-
📺
|
|
806
|
-
</span>
|
|
807
|
-
</a>
|
|
808
|
-
<a
|
|
809
|
-
href="#"
|
|
810
|
-
className="bg-fm-secondary-500 hover:bg-fm-secondary-600 rounded p-2 transition-colors"
|
|
811
|
-
aria-label="View TikTok"
|
|
812
|
-
>
|
|
813
|
-
<span className="text-fm-icon-active text-sm">
|
|
814
|
-
🎵
|
|
815
|
-
</span>
|
|
816
|
-
</a>
|
|
817
|
-
<a
|
|
818
|
-
href="#"
|
|
819
|
-
className="bg-fm-surface-tertiary hover:bg-fm-surface-secondary rounded p-2 transition-colors"
|
|
820
|
-
aria-label="Portfolio Website"
|
|
821
|
-
>
|
|
822
|
-
<span className="text-fm-icon-active text-sm">
|
|
823
|
-
🌐
|
|
824
|
-
</span>
|
|
825
|
-
</a>
|
|
826
|
-
</div>
|
|
827
|
-
</div>
|
|
828
|
-
</div>
|
|
829
|
-
</div>
|
|
830
|
-
</div>
|
|
831
|
-
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
832
|
-
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
833
|
-
{`// Creator profile with Instagram prominence
|
|
834
|
-
<div className="creator-profile">
|
|
835
|
-
<div className="profile-header">
|
|
836
|
-
<CoverImage gradient="instagram" />
|
|
837
|
-
<ProfileAvatar gradient="instagram" />
|
|
838
|
-
</div>
|
|
839
|
-
<div className="profile-content">
|
|
840
|
-
<div className="profile-info">
|
|
841
|
-
<CreatorDetails creator={creator} />
|
|
842
|
-
<FollowButton creatorId={creator.id} />
|
|
843
|
-
</div>
|
|
844
|
-
<ProfileStats stats={creator.stats} />
|
|
845
|
-
<div className="social-links">
|
|
846
|
-
<span>Connect:</span>
|
|
847
|
-
<div className="link-group">
|
|
848
|
-
<a
|
|
849
|
-
href={creator.socialLinks.instagram}
|
|
850
|
-
className="social-link instagram-link gradient-bg"
|
|
851
|
-
aria-label="Follow on Instagram"
|
|
852
|
-
>
|
|
853
|
-
<InstagramIcon className="h-4 w-4 text-white" />
|
|
854
|
-
</a>
|
|
855
|
-
<YouTubeLink url={creator.socialLinks.youtube} />
|
|
856
|
-
<TikTokLink url={creator.socialLinks.tiktok} />
|
|
857
|
-
<WebsiteLink url={creator.website} />
|
|
858
|
-
</div>
|
|
859
|
-
</div>
|
|
860
|
-
</div>
|
|
861
|
-
</div>`}
|
|
862
|
-
</pre>
|
|
863
|
-
</div>
|
|
864
|
-
</div>
|
|
865
|
-
</div>
|
|
866
|
-
|
|
867
|
-
{/* Brand Showcase */}
|
|
868
|
-
<div className="!space-y-4">
|
|
869
|
-
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
870
|
-
Brand Visual Showcase
|
|
871
|
-
</h3>
|
|
872
|
-
<div className="!space-y-4">
|
|
873
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
874
|
-
<div className="border-fm-divider-primary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
875
|
-
<div className="p-6">
|
|
876
|
-
<div className="mb-6 text-center">
|
|
877
|
-
<h4 className="text-fm-icon-active mb-2 text-xl font-semibold">
|
|
878
|
-
Share Your Story
|
|
879
|
-
</h4>
|
|
880
|
-
<p className="text-fm-secondary text-sm">
|
|
881
|
-
Show the world your brand's visual journey
|
|
882
|
-
</p>
|
|
883
|
-
</div>
|
|
884
|
-
<div className="mb-6 grid grid-cols-2 gap-4">
|
|
885
|
-
<div className="border-fm-secondary-500/20 from-fm-secondary-500/10 to-fm-icon-warning/10 rounded-lg border bg-linear-to-br p-4">
|
|
886
|
-
<div className="from-fm-secondary-500 via-fm-secondary-500 to-fm-icon-warning mb-3 flex h-12 w-12 items-center justify-center rounded-lg bg-linear-to-br">
|
|
887
|
-
<InstagramIcon className="text-fm-icon-active h-6 w-6" />
|
|
888
|
-
</div>
|
|
889
|
-
<h5 className="text-fm-icon-active mb-2 text-sm font-semibold">
|
|
890
|
-
Visual Content
|
|
891
|
-
</h5>
|
|
892
|
-
<p className="text-fm-tertiary text-xs">
|
|
893
|
-
Share photos, stories, and reels to showcase
|
|
894
|
-
your brand personality
|
|
895
|
-
</p>
|
|
896
|
-
</div>
|
|
897
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
898
|
-
<div className="bg-fm-secondary-500/20 mb-3 flex h-12 w-12 items-center justify-center rounded-lg">
|
|
899
|
-
<span className="text-xl">👥</span>
|
|
900
|
-
</div>
|
|
901
|
-
<h5 className="text-fm-icon-active mb-2 text-sm font-semibold">
|
|
902
|
-
Community
|
|
903
|
-
</h5>
|
|
904
|
-
<p className="text-fm-tertiary text-xs">
|
|
905
|
-
Build meaningful connections with your
|
|
906
|
-
audience through visual storytelling
|
|
907
|
-
</p>
|
|
908
|
-
</div>
|
|
909
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
910
|
-
<div className="bg-fm-icon-warning/20 mb-3 flex h-12 w-12 items-center justify-center rounded-lg">
|
|
911
|
-
<span className="text-xl">📈</span>
|
|
912
|
-
</div>
|
|
913
|
-
<h5 className="text-fm-icon-active mb-2 text-sm font-semibold">
|
|
914
|
-
Growth
|
|
915
|
-
</h5>
|
|
916
|
-
<p className="text-fm-tertiary text-xs">
|
|
917
|
-
Reach new audiences and grow your brand
|
|
918
|
-
presence organically
|
|
919
|
-
</p>
|
|
920
|
-
</div>
|
|
921
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
922
|
-
<div className="bg-fm-icon-info/20 mb-3 flex h-12 w-12 items-center justify-center rounded-lg">
|
|
923
|
-
<span className="text-xl">✨</span>
|
|
924
|
-
</div>
|
|
925
|
-
<h5 className="text-fm-icon-active mb-2 text-sm font-semibold">
|
|
926
|
-
Inspiration
|
|
927
|
-
</h5>
|
|
928
|
-
<p className="text-fm-tertiary text-xs">
|
|
929
|
-
Inspire others with authentic content that
|
|
930
|
-
reflects your values
|
|
931
|
-
</p>
|
|
932
|
-
</div>
|
|
933
|
-
</div>
|
|
934
|
-
<div className="text-center">
|
|
935
|
-
<a
|
|
936
|
-
href="#"
|
|
937
|
-
className="from-fm-secondary-500 via-fm-secondary-500 to-fm-icon-warning text-fm-icon-active hover:from-fm-secondary-600 hover:to-fm-icon-warning inline-flex items-center gap-2 rounded-lg bg-linear-to-r px-6 py-3 font-medium transition-colors"
|
|
938
|
-
>
|
|
939
|
-
<InstagramIcon className="h-5 w-5" />
|
|
940
|
-
<span>Get Started on Instagram</span>
|
|
941
|
-
</a>
|
|
942
|
-
</div>
|
|
943
|
-
</div>
|
|
944
|
-
</div>
|
|
945
|
-
</div>
|
|
946
|
-
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
947
|
-
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
948
|
-
{`// Brand showcase with Instagram integration
|
|
949
|
-
<div className="brand-showcase">
|
|
950
|
-
<div className="showcase-header">
|
|
951
|
-
<h2>Share Your Story</h2>
|
|
952
|
-
<p>Show the world your brand's visual journey</p>
|
|
953
|
-
</div>
|
|
954
|
-
<div className="feature-grid">
|
|
955
|
-
<div className="feature-card instagram-feature">
|
|
956
|
-
<div className="feature-icon gradient-bg">
|
|
957
|
-
<InstagramIcon className="h-6 w-6 text-white" />
|
|
958
|
-
</div>
|
|
959
|
-
<h3>Visual Content</h3>
|
|
960
|
-
<p>Share photos, stories, and reels to showcase your brand personality</p>
|
|
961
|
-
</div>
|
|
962
|
-
<CommunityFeature />
|
|
963
|
-
<GrowthFeature />
|
|
964
|
-
<InspirationFeature />
|
|
965
|
-
</div>
|
|
966
|
-
<div className="cta-section">
|
|
967
|
-
<a
|
|
968
|
-
href={instagramSignUpUrl}
|
|
969
|
-
className="cta-button gradient-bg"
|
|
970
|
-
>
|
|
971
|
-
<InstagramIcon className="h-5 w-5" />
|
|
972
|
-
<span>Get Started on Instagram</span>
|
|
973
|
-
</a>
|
|
974
|
-
</div>
|
|
975
|
-
</div>`}
|
|
976
|
-
</pre>
|
|
977
|
-
</div>
|
|
978
|
-
</div>
|
|
979
|
-
</div>
|
|
980
|
-
</div>
|
|
981
|
-
</div>
|
|
982
|
-
|
|
983
|
-
{/* Accessibility */}
|
|
984
|
-
<div className="!space-y-8">
|
|
985
|
-
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
986
|
-
Accessibility Features
|
|
987
|
-
</h2>
|
|
988
|
-
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
989
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
990
|
-
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
991
|
-
✅ Built-in Features
|
|
992
|
-
</h3>
|
|
993
|
-
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
994
|
-
<li className="text-fm-secondary!">
|
|
995
|
-
Uses Radix UI AccessibleIcon wrapper
|
|
996
|
-
</li>
|
|
997
|
-
<li className="text-fm-secondary!">
|
|
998
|
-
Provides screen reader label "Instagram icon"
|
|
999
|
-
</li>
|
|
1000
|
-
<li className="text-fm-secondary!">
|
|
1001
|
-
Supports keyboard navigation when interactive
|
|
1002
|
-
</li>
|
|
1003
|
-
<li className="text-fm-secondary!">
|
|
1004
|
-
High contrast design for visibility
|
|
1005
|
-
</li>
|
|
1006
|
-
<li className="text-fm-secondary!">
|
|
1007
|
-
Maintains aspect ratio across all sizes
|
|
1008
|
-
</li>
|
|
1009
|
-
</ul>
|
|
1010
|
-
</div>
|
|
1011
|
-
|
|
1012
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
1013
|
-
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
1014
|
-
💡 Best Practices
|
|
1015
|
-
</h3>
|
|
1016
|
-
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
1017
|
-
<li className="text-fm-secondary!">
|
|
1018
|
-
Always provide descriptive aria-labels for Instagram
|
|
1019
|
-
actions
|
|
1020
|
-
</li>
|
|
1021
|
-
<li className="text-fm-secondary!">
|
|
1022
|
-
Use Instagram's official gradient colors for brand
|
|
1023
|
-
consistency
|
|
1024
|
-
</li>
|
|
1025
|
-
<li className="text-fm-secondary!">
|
|
1026
|
-
Ensure sufficient contrast with gradient backgrounds
|
|
1027
|
-
</li>
|
|
1028
|
-
<li className="text-fm-secondary!">
|
|
1029
|
-
Include external link indicators for Instagram URLs
|
|
1030
|
-
</li>
|
|
1031
|
-
<li className="text-fm-secondary!">
|
|
1032
|
-
Consider visual content accessibility in related
|
|
1033
|
-
features
|
|
1034
|
-
</li>
|
|
1035
|
-
</ul>
|
|
1036
|
-
</div>
|
|
1037
|
-
</div>
|
|
1038
|
-
|
|
1039
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
1040
|
-
<h3 className="text-fm-icon-info! mb-4 text-lg font-semibold">
|
|
1041
|
-
Proper ARIA Implementation
|
|
1042
|
-
</h3>
|
|
1043
|
-
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
1044
|
-
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
1045
|
-
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
1046
|
-
{`// Instagram profile link
|
|
1047
|
-
<a
|
|
1048
|
-
href="https://instagram.com/username"
|
|
1049
|
-
className="instagram-link"
|
|
1050
|
-
aria-label="Follow @username on Instagram"
|
|
1051
|
-
target="_blank"
|
|
1052
|
-
rel="noopener noreferrer"
|
|
1053
|
-
>
|
|
1054
|
-
<InstagramIcon className="h-5 w-5 text-white" />
|
|
1055
|
-
</a>
|
|
1056
|
-
|
|
1057
|
-
// Photo gallery with Instagram integration
|
|
1058
|
-
<div className="instagram-gallery">
|
|
1059
|
-
<h2 id="gallery-title">Latest from Instagram</h2>
|
|
1060
|
-
<div
|
|
1061
|
-
className="photo-grid"
|
|
1062
|
-
role="grid"
|
|
1063
|
-
aria-labelledby="gallery-title"
|
|
1064
|
-
>
|
|
1065
|
-
{photos.map(photo => (
|
|
1066
|
-
<a
|
|
1067
|
-
key={photo.id}
|
|
1068
|
-
href={photo.permalink}
|
|
1069
|
-
role="gridcell"
|
|
1070
|
-
aria-label={photo.alt_text || photo.caption}
|
|
1071
|
-
target="_blank"
|
|
1072
|
-
rel="noopener noreferrer"
|
|
1073
|
-
>
|
|
1074
|
-
<img src={photo.thumbnail} alt={photo.alt_text} />
|
|
1075
|
-
<InstagramIcon className="overlay-icon" aria-hidden="true" />
|
|
1076
|
-
</a>
|
|
1077
|
-
))}
|
|
1078
|
-
</div>
|
|
1079
|
-
</div>
|
|
1080
|
-
|
|
1081
|
-
// Social media card
|
|
1082
|
-
<div className="social-card instagram-card">
|
|
1083
|
-
<a
|
|
1084
|
-
href={instagramUrl}
|
|
1085
|
-
aria-describedby="instagram-desc"
|
|
1086
|
-
>
|
|
1087
|
-
<InstagramIcon className="h-6 w-6" />
|
|
1088
|
-
<div className="platform-info">
|
|
1089
|
-
<div className="platform-name">Instagram</div>
|
|
1090
|
-
<div className="platform-handle">@company</div>
|
|
1091
|
-
</div>
|
|
1092
|
-
</a>
|
|
1093
|
-
<div id="instagram-desc" className="sr-only">
|
|
1094
|
-
Follow our Instagram for behind-the-scenes content and daily updates
|
|
1095
|
-
</div>
|
|
1096
|
-
</div>
|
|
1097
|
-
|
|
1098
|
-
// Share to Instagram button
|
|
1099
|
-
<button
|
|
1100
|
-
onClick={shareToInstagram}
|
|
1101
|
-
className="share-btn"
|
|
1102
|
-
aria-label="Share this content to Instagram Stories"
|
|
1103
|
-
>
|
|
1104
|
-
<InstagramIcon className="h-4 w-4" />
|
|
1105
|
-
<span>Share to Stories</span>
|
|
1106
|
-
</button>
|
|
1107
|
-
|
|
1108
|
-
// Creator profile with Instagram prominence
|
|
1109
|
-
<div className="creator-profile">
|
|
1110
|
-
<div className="profile-header">
|
|
1111
|
-
<h1>{creator.name}</h1>
|
|
1112
|
-
<div className="creator-social">
|
|
1113
|
-
<a
|
|
1114
|
-
href={creator.instagram}
|
|
1115
|
-
className="primary-social-link"
|
|
1116
|
-
aria-label={"Follow " + creator.name + " on Instagram"}
|
|
1117
|
-
>
|
|
1118
|
-
<InstagramIcon className="h-5 w-5" />
|
|
1119
|
-
<span className="sr-only">Primary social platform</span>
|
|
1120
|
-
</a>
|
|
1121
|
-
</div>
|
|
1122
|
-
</div>
|
|
1123
|
-
</div>`}
|
|
1124
|
-
</pre>
|
|
1125
|
-
</div>
|
|
1126
|
-
<div className="!space-y-4">
|
|
1127
|
-
<p className="text-fm-secondary! text-sm">
|
|
1128
|
-
When using InstagramIcon for visual content integration,
|
|
1129
|
-
always provide proper alt text for images and clear
|
|
1130
|
-
context about visual content accessibility for users
|
|
1131
|
-
with visual impairments.
|
|
1132
|
-
</p>
|
|
1133
|
-
<div className="border-fm-secondary-500/20 bg-fm-secondary-500/10 rounded-lg border p-4">
|
|
1134
|
-
<div className="text-fm-secondary-600 flex items-center gap-2 text-sm">
|
|
1135
|
-
<InstagramIcon className="h-4 w-4" />
|
|
1136
|
-
<span>
|
|
1137
|
-
Consider image descriptions and alt text when
|
|
1138
|
-
integrating Instagram content
|
|
1139
|
-
</span>
|
|
1140
|
-
</div>
|
|
1141
|
-
</div>
|
|
1142
|
-
</div>
|
|
1143
|
-
</div>
|
|
1144
|
-
</div>
|
|
1145
|
-
</div>
|
|
1146
|
-
|
|
1147
|
-
{/* Related Icons */}
|
|
1148
|
-
<div className="!space-y-8">
|
|
1149
|
-
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
1150
|
-
Related Icons
|
|
1151
|
-
</h2>
|
|
1152
|
-
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
1153
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
1154
|
-
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
1155
|
-
<span className="text-fm-icon-active! !text-2xl">📘</span>
|
|
1156
|
-
</div>
|
|
1157
|
-
<div>
|
|
1158
|
-
<div className="text-fm-icon-active font-medium">
|
|
1159
|
-
FacebookIcon
|
|
1160
|
-
</div>
|
|
1161
|
-
<div className="text-fm-tertiary text-xs">
|
|
1162
|
-
Social platform
|
|
1163
|
-
</div>
|
|
1164
|
-
</div>
|
|
1165
|
-
</div>
|
|
1166
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
1167
|
-
<div className="bg-fm-surface-primary !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
1168
|
-
<span className="text-fm-icon-active! !text-2xl">𝕏</span>
|
|
1169
|
-
</div>
|
|
1170
|
-
<div>
|
|
1171
|
-
<div className="text-fm-icon-active font-medium">
|
|
1172
|
-
TwitterXIcon
|
|
1173
|
-
</div>
|
|
1174
|
-
<div className="text-fm-tertiary text-xs">
|
|
1175
|
-
Social network
|
|
1176
|
-
</div>
|
|
1177
|
-
</div>
|
|
1178
|
-
</div>
|
|
1179
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
1180
|
-
<div className="bg-fm-icon-negative/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
1181
|
-
<span className="text-fm-icon-active! !text-2xl">📺</span>
|
|
1182
|
-
</div>
|
|
1183
|
-
<div>
|
|
1184
|
-
<div className="text-fm-icon-active font-medium">
|
|
1185
|
-
YouTubeIcon
|
|
1186
|
-
</div>
|
|
1187
|
-
<div className="text-fm-tertiary text-xs">
|
|
1188
|
-
Video platform
|
|
1189
|
-
</div>
|
|
1190
|
-
</div>
|
|
1191
|
-
</div>
|
|
1192
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
1193
|
-
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
1194
|
-
<span className="text-fm-icon-active! !text-2xl">🎵</span>
|
|
1195
|
-
</div>
|
|
1196
|
-
<div>
|
|
1197
|
-
<div className="text-fm-icon-active font-medium">
|
|
1198
|
-
TikTokIcon
|
|
1199
|
-
</div>
|
|
1200
|
-
<div className="text-fm-tertiary text-xs">
|
|
1201
|
-
Short video
|
|
1202
|
-
</div>
|
|
1203
|
-
</div>
|
|
1204
|
-
</div>
|
|
1205
|
-
</div>
|
|
1206
|
-
</div>
|
|
1207
|
-
</div>
|
|
1208
|
-
|
|
1209
|
-
{/* Footer */}
|
|
1210
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
1211
|
-
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
1212
|
-
<div className="!space-y-4 text-center">
|
|
1213
|
-
<p className="text-fm-tertiary!">
|
|
1214
|
-
InstagramIcon is part of the Aural UI icon library, built
|
|
1215
|
-
with accessibility and visual content integration best
|
|
1216
|
-
practices in mind.
|
|
1217
|
-
</p>
|
|
1218
|
-
<p className="text-fm-placeholder! text-sm">
|
|
1219
|
-
All icons use Radix UI's AccessibleIcon for screen reader
|
|
1220
|
-
compatibility and follow WCAG guidelines for social media
|
|
1221
|
-
recognition and visual content accessibility.
|
|
1222
|
-
</p>
|
|
1223
|
-
</div>
|
|
1224
|
-
</div>
|
|
1225
|
-
</div>
|
|
1226
|
-
</div>
|
|
1227
|
-
</>
|
|
1228
88
|
),
|
|
1229
89
|
},
|
|
1230
90
|
},
|
|
1231
91
|
tags: ["autodocs"],
|
|
1232
92
|
argTypes: {
|
|
1233
|
-
width: {
|
|
1234
|
-
control: { type: "range", min: 8, max: 96, step: 2 },
|
|
1235
|
-
description: "Width of the icon (maintains aspect ratio)",
|
|
1236
|
-
},
|
|
1237
|
-
withAccessibility: {
|
|
1238
|
-
control: "boolean",
|
|
1239
|
-
description: "Whether to wrap the icon with accessibility features",
|
|
1240
|
-
},
|
|
1241
|
-
height: {
|
|
1242
|
-
control: { type: "range", min: 8, max: 96, step: 2 },
|
|
1243
|
-
description: "Height of the icon (maintains aspect ratio)",
|
|
1244
|
-
},
|
|
1245
|
-
fill: {
|
|
1246
|
-
control: "color",
|
|
1247
|
-
description: "Fill color of the Instagram camera icon",
|
|
1248
|
-
},
|
|
1249
93
|
className: {
|
|
1250
94
|
control: "text",
|
|
1251
|
-
description: "CSS classes
|
|
95
|
+
description: "CSS classes including color token",
|
|
1252
96
|
},
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
description: "
|
|
97
|
+
withAccessibility: {
|
|
98
|
+
control: "boolean",
|
|
99
|
+
description: "Wrap with accessibility label",
|
|
1256
100
|
},
|
|
1257
101
|
},
|
|
1258
102
|
}
|
|
@@ -1260,252 +104,128 @@ function SocialLinks() {
|
|
|
1260
104
|
export default meta
|
|
1261
105
|
type Story = StoryObj<typeof InstagramIcon>
|
|
1262
106
|
|
|
1263
|
-
// Story parameters for consistent dark theme
|
|
1264
|
-
const storyParameters = {
|
|
1265
|
-
backgrounds: {
|
|
1266
|
-
default: "dark",
|
|
1267
|
-
values: [
|
|
1268
|
-
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
1269
|
-
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
1270
|
-
],
|
|
1271
|
-
},
|
|
1272
|
-
}
|
|
1273
|
-
|
|
1274
107
|
export const Default: Story = {
|
|
1275
108
|
args: {
|
|
1276
|
-
className: "h-
|
|
109
|
+
className: "h-6 w-6 text-fm-icon-active",
|
|
1277
110
|
withAccessibility: true,
|
|
1278
111
|
},
|
|
1279
|
-
parameters: storyParameters,
|
|
1280
112
|
render: (args) => (
|
|
1281
|
-
<
|
|
113
|
+
<IconDefaultCanvas>
|
|
1282
114
|
<InstagramIcon {...args} />
|
|
1283
|
-
</
|
|
115
|
+
</IconDefaultCanvas>
|
|
1284
116
|
),
|
|
1285
117
|
}
|
|
1286
118
|
|
|
1287
119
|
export const SizeVariations: Story = {
|
|
1288
|
-
|
|
1289
|
-
...storyParameters,
|
|
1290
|
-
docs: {
|
|
1291
|
-
description: {
|
|
1292
|
-
story:
|
|
1293
|
-
"InstagramIcon in different sizes, from small inline social links to large brand displays.",
|
|
1294
|
-
},
|
|
1295
|
-
},
|
|
1296
|
-
},
|
|
1297
|
-
render: () => (
|
|
1298
|
-
<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">
|
|
1299
|
-
<div className="text-center">
|
|
1300
|
-
<InstagramIcon className="text-fm-secondary-600 !mx-auto mb-2 h-3 w-3" />
|
|
1301
|
-
<span className="text-fm-tertiary text-xs">12px</span>
|
|
1302
|
-
</div>
|
|
1303
|
-
<div className="text-center">
|
|
1304
|
-
<InstagramIcon className="text-fm-secondary-600 !mx-auto mb-2 h-4 w-4" />
|
|
1305
|
-
<span className="text-fm-tertiary text-xs">16px</span>
|
|
1306
|
-
</div>
|
|
1307
|
-
<div className="text-center">
|
|
1308
|
-
<InstagramIcon className="text-fm-secondary-600 !mx-auto mb-2 h-5 w-5" />
|
|
1309
|
-
<span className="text-fm-tertiary text-xs">20px</span>
|
|
1310
|
-
</div>
|
|
1311
|
-
<div className="text-center">
|
|
1312
|
-
<InstagramIcon className="text-fm-secondary-600 !mx-auto mb-2 h-6 w-6" />
|
|
1313
|
-
<span className="text-fm-tertiary text-xs">24px</span>
|
|
1314
|
-
</div>
|
|
1315
|
-
<div className="text-center">
|
|
1316
|
-
<InstagramIcon className="text-fm-secondary-600 !mx-auto mb-2 h-8 w-8" />
|
|
1317
|
-
<span className="text-fm-tertiary text-xs">32px</span>
|
|
1318
|
-
</div>
|
|
1319
|
-
<div className="text-center">
|
|
1320
|
-
<InstagramIcon className="text-fm-secondary-600 !mx-auto mb-2 h-12 w-12" />
|
|
1321
|
-
<span className="text-fm-tertiary text-xs">48px</span>
|
|
1322
|
-
</div>
|
|
1323
|
-
</div>
|
|
1324
|
-
),
|
|
120
|
+
render: () => <IconSizeVariations icon={InstagramIcon} />,
|
|
1325
121
|
}
|
|
1326
122
|
|
|
1327
|
-
export const
|
|
1328
|
-
parameters: {
|
|
1329
|
-
...storyParameters,
|
|
1330
|
-
docs: {
|
|
1331
|
-
description: {
|
|
1332
|
-
story:
|
|
1333
|
-
"InstagramIcon with Instagram's signature gradient colors and brand-compliant styling.",
|
|
1334
|
-
},
|
|
1335
|
-
},
|
|
1336
|
-
},
|
|
123
|
+
export const BrandColors: Story = {
|
|
1337
124
|
render: () => (
|
|
1338
|
-
<
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
<div className="text-fm-tertiary text-xs">Dark backgrounds</div>
|
|
1374
|
-
</div>
|
|
1375
|
-
</div>
|
|
125
|
+
<IconBrandColors
|
|
126
|
+
icon={InstagramIcon}
|
|
127
|
+
variants={[
|
|
128
|
+
{
|
|
129
|
+
label: "Brand Gradient",
|
|
130
|
+
description: "Recommended",
|
|
131
|
+
cardClassName: "h-24 w-24",
|
|
132
|
+
cardStyle: {
|
|
133
|
+
background:
|
|
134
|
+
"linear-gradient(135deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%)",
|
|
135
|
+
},
|
|
136
|
+
iconClassName: "h-8 w-8 text-white",
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
label: "Light Background",
|
|
140
|
+
description: "Alternate",
|
|
141
|
+
cardClassName:
|
|
142
|
+
"border-fm-divider-secondary h-24 w-24 border bg-white",
|
|
143
|
+
iconClassName: "h-8 w-8 text-black",
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
label: "Primary Surface",
|
|
147
|
+
description: "Theme surface",
|
|
148
|
+
cardClassName: "bg-fm-surface-primary h-24 w-24",
|
|
149
|
+
iconClassName: "h-8 w-8 text-white",
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
label: "Transparent",
|
|
153
|
+
description: "Original mark",
|
|
154
|
+
cardClassName:
|
|
155
|
+
"border-fm-divider-contrast h-24 w-24 border bg-transparent",
|
|
156
|
+
iconClassName: "h-8 w-8 text-white",
|
|
157
|
+
},
|
|
158
|
+
]}
|
|
159
|
+
/>
|
|
1376
160
|
),
|
|
1377
161
|
}
|
|
1378
162
|
|
|
1379
163
|
export const UsageExamples: Story = {
|
|
1380
|
-
parameters: {
|
|
1381
|
-
...storyParameters,
|
|
1382
|
-
docs: {
|
|
1383
|
-
description: {
|
|
1384
|
-
story:
|
|
1385
|
-
"Real-world usage examples showing InstagramIcon in different visual content and social media contexts.",
|
|
1386
|
-
},
|
|
1387
|
-
},
|
|
1388
|
-
},
|
|
1389
164
|
render: () => (
|
|
1390
|
-
<
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
Behind-the-scenes content and daily updates
|
|
1411
|
-
</div>
|
|
1412
|
-
<div className="text-fm-icon-active mt-2 text-xs font-medium">
|
|
1413
|
-
15.2k followers
|
|
1414
|
-
</div>
|
|
1415
|
-
</div>
|
|
1416
|
-
</div>
|
|
1417
|
-
</div>
|
|
1418
|
-
|
|
1419
|
-
{/* Photo Gallery */}
|
|
1420
|
-
<div className="!space-y-2">
|
|
1421
|
-
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1422
|
-
Instagram Gallery Widget
|
|
1423
|
-
</h3>
|
|
1424
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
1425
|
-
<div className="mb-4 flex items-center justify-between">
|
|
1426
|
-
<h4 className="text-fm-icon-active text-sm font-semibold">
|
|
1427
|
-
Latest from Instagram
|
|
1428
|
-
</h4>
|
|
1429
|
-
<a
|
|
1430
|
-
href="#"
|
|
1431
|
-
className="from-fm-secondary-500 to-fm-icon-warning text-fm-icon-active hover:from-fm-secondary-600 hover:to-fm-icon-warning flex items-center gap-2 rounded-full bg-linear-to-r px-3 py-1 text-xs transition-colors"
|
|
1432
|
-
>
|
|
1433
|
-
<InstagramIcon className="h-3 w-3" />
|
|
1434
|
-
<span>View All</span>
|
|
1435
|
-
</a>
|
|
1436
|
-
</div>
|
|
1437
|
-
<div className="grid grid-cols-4 gap-2">
|
|
1438
|
-
<div className="from-fm-icon-info/20 to-fm-secondary-500/20 flex aspect-square items-center justify-center rounded bg-linear-to-br">
|
|
1439
|
-
<span className="text-lg">🌅</span>
|
|
1440
|
-
</div>
|
|
1441
|
-
<div className="from-fm-icon-positive/20 to-fm-icon-info/20 flex aspect-square items-center justify-center rounded bg-linear-to-br">
|
|
1442
|
-
<span className="text-lg">🌿</span>
|
|
1443
|
-
</div>
|
|
1444
|
-
<div className="from-fm-icon-warning/20 to-fm-icon-warning/20 flex aspect-square items-center justify-center rounded bg-linear-to-br">
|
|
1445
|
-
<span className="text-lg">☕</span>
|
|
1446
|
-
</div>
|
|
1447
|
-
<div className="from-fm-secondary-500/20 to-fm-secondary-500/20 flex aspect-square items-center justify-center rounded bg-linear-to-br">
|
|
1448
|
-
<span className="text-lg">🎨</span>
|
|
1449
|
-
</div>
|
|
1450
|
-
</div>
|
|
1451
|
-
</div>
|
|
1452
|
-
</div>
|
|
1453
|
-
|
|
1454
|
-
{/* Social Links */}
|
|
1455
|
-
<div className="!space-y-2">
|
|
1456
|
-
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1457
|
-
Social Media Links
|
|
1458
|
-
</h3>
|
|
1459
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
1460
|
-
<div className="flex items-center gap-3">
|
|
1461
|
-
<span className="text-fm-tertiary text-sm">Follow us:</span>
|
|
1462
|
-
<div className="flex gap-2">
|
|
1463
|
-
<a
|
|
1464
|
-
href="#"
|
|
1465
|
-
className="from-fm-secondary-500 via-fm-secondary-500 to-fm-icon-warning rounded bg-linear-to-br p-2 transition-transform hover:scale-110"
|
|
1466
|
-
>
|
|
1467
|
-
<InstagramIcon className="text-fm-icon-active h-4 w-4" />
|
|
1468
|
-
</a>
|
|
1469
|
-
<a
|
|
1470
|
-
href="#"
|
|
1471
|
-
className="border-fm-divider-contrast bg-fm-surface-primary rounded border p-2 transition-transform hover:scale-110"
|
|
1472
|
-
>
|
|
1473
|
-
<span className="text-fm-icon-active text-sm">𝕏</span>
|
|
1474
|
-
</a>
|
|
165
|
+
<IconUsageCanvas>
|
|
166
|
+
<IconUsageSection title="Social Follow Button">
|
|
167
|
+
<button
|
|
168
|
+
className="flex items-center gap-2 rounded-xl px-4 py-2 text-white"
|
|
169
|
+
style={{
|
|
170
|
+
background:
|
|
171
|
+
"linear-gradient(135deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%)",
|
|
172
|
+
}}
|
|
173
|
+
>
|
|
174
|
+
<InstagramIcon className="h-4 w-4 text-white" />
|
|
175
|
+
<span className="font-fm-text text-sm font-medium">
|
|
176
|
+
Follow on Instagram
|
|
177
|
+
</span>
|
|
178
|
+
</button>
|
|
179
|
+
</IconUsageSection>
|
|
180
|
+
|
|
181
|
+
<IconUsageSection title="Social Links Row">
|
|
182
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex w-full max-w-sm items-center justify-center gap-4 rounded-xl border p-4">
|
|
183
|
+
{[InstagramIcon, LinkedInIcon, TwitterXIcon, YoutubeIcon].map(
|
|
184
|
+
(Icon, i) => (
|
|
1475
185
|
<a
|
|
186
|
+
key={i}
|
|
1476
187
|
href="#"
|
|
1477
|
-
className="
|
|
188
|
+
className="border-fm-divider-secondary flex h-10 w-10 items-center justify-center rounded-xl border"
|
|
189
|
+
target="_blank"
|
|
190
|
+
rel="noreferrer"
|
|
1478
191
|
>
|
|
1479
|
-
<
|
|
192
|
+
<Icon className="text-fm-icon-active h-5 w-5" />
|
|
1480
193
|
</a>
|
|
194
|
+
)
|
|
195
|
+
)}
|
|
196
|
+
</div>
|
|
197
|
+
</IconUsageSection>
|
|
198
|
+
|
|
199
|
+
<IconUsageSection title="Creator Profile">
|
|
200
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary w-full max-w-sm rounded-xl border p-4">
|
|
201
|
+
<div className="flex items-center gap-3">
|
|
202
|
+
<div className="bg-fm-divider-secondary h-12 w-12 rounded-full" />
|
|
203
|
+
<div className="flex-1">
|
|
204
|
+
<div className="text-fm-primary font-fm-text text-sm font-medium">
|
|
205
|
+
Pocket FM
|
|
206
|
+
</div>
|
|
207
|
+
<div className="text-fm-secondary font-fm-text text-xs">
|
|
208
|
+
Audio entertainment
|
|
209
|
+
</div>
|
|
1481
210
|
</div>
|
|
211
|
+
<a href="#" target="_blank" rel="noreferrer" aria-label="Instagram">
|
|
212
|
+
<InstagramIcon className="text-fm-icon-inactive h-5 w-5" />
|
|
213
|
+
</a>
|
|
1482
214
|
</div>
|
|
1483
215
|
</div>
|
|
1484
|
-
</
|
|
1485
|
-
</
|
|
216
|
+
</IconUsageSection>
|
|
217
|
+
</IconUsageCanvas>
|
|
1486
218
|
),
|
|
1487
219
|
}
|
|
1488
220
|
|
|
1489
221
|
export const Playground: Story = {
|
|
1490
|
-
parameters: {
|
|
1491
|
-
...storyParameters,
|
|
1492
|
-
docs: {
|
|
1493
|
-
description: {
|
|
1494
|
-
story:
|
|
1495
|
-
"Interactive playground to experiment with different InstagramIcon configurations.",
|
|
1496
|
-
},
|
|
1497
|
-
},
|
|
1498
|
-
},
|
|
1499
222
|
args: {
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
className: "text-fm-secondary-600",
|
|
223
|
+
className: "h-8 w-8 text-fm-icon-active",
|
|
224
|
+
withAccessibility: true,
|
|
1503
225
|
},
|
|
1504
226
|
render: (args) => (
|
|
1505
|
-
<
|
|
1506
|
-
<
|
|
1507
|
-
|
|
1508
|
-
</div>
|
|
1509
|
-
</div>
|
|
227
|
+
<IconPlaygroundCanvas>
|
|
228
|
+
<InstagramIcon {...args} />
|
|
229
|
+
</IconPlaygroundCanvas>
|
|
1510
230
|
),
|
|
1511
231
|
}
|