aural-ui 2.1.0 → 2.1.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/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +952 -0
- package/dist/icons/apple-logo-icon/index.tsx +26 -0
- package/dist/icons/apple-logo-icon/meta.ts +8 -0
- package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +1008 -0
- package/dist/icons/arrow-left-icon/index.tsx +24 -0
- package/dist/icons/arrow-left-icon/meta.ts +8 -0
- package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +1050 -0
- package/dist/icons/backward-ten-seconds-icon/index.tsx +35 -0
- package/dist/icons/backward-ten-seconds-icon/meta.ts +8 -0
- package/dist/icons/camera-icon/CameraIcon.stories.tsx +1271 -0
- package/dist/icons/camera-icon/index.tsx +22 -0
- package/dist/icons/camera-icon/meta.ts +8 -0
- package/dist/icons/coin-icon/CoinIcon.stories.tsx +1382 -0
- package/dist/icons/coin-icon/index.tsx +36 -0
- package/dist/icons/coin-icon/meta.ts +8 -0
- package/dist/icons/email-icon/EmailIcon.stories.tsx +995 -0
- package/dist/icons/email-icon/index.tsx +22 -0
- package/dist/icons/email-icon/meta.ts +8 -0
- package/dist/icons/expand-icon/ExpandIcon.stories.tsx +1167 -0
- package/dist/icons/expand-icon/index.tsx +22 -0
- package/dist/icons/expand-icon/meta.ts +8 -0
- package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +1054 -0
- package/dist/icons/forward-ten-seconds-icon/index.tsx +33 -0
- package/dist/icons/forward-ten-seconds-icon/meta.ts +8 -0
- package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +1004 -0
- package/dist/icons/google-logo-icon/index.tsx +34 -0
- package/dist/icons/google-logo-icon/meta.ts +8 -0
- package/dist/icons/heart-icon/HeartIcon.stories.tsx +1080 -0
- package/dist/icons/heart-icon/index.tsx +21 -0
- package/dist/icons/heart-icon/meta.ts +8 -0
- package/dist/icons/index.ts +32 -4
- package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +1020 -0
- package/dist/icons/indian-flag-icon/index.tsx +46 -0
- package/dist/icons/indian-flag-icon/meta.ts +8 -0
- package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +1449 -0
- package/dist/icons/instagram-icon/index.tsx +17 -0
- package/dist/icons/instagram-icon/meta.ts +8 -0
- package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +1582 -0
- package/dist/icons/linked-in-icon/index.tsx +17 -0
- package/dist/icons/linked-in-icon/meta.ts +8 -0
- package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +1214 -0
- package/dist/icons/minimize-icon/index.tsx +22 -0
- package/dist/icons/minimize-icon/meta.ts +8 -0
- package/dist/icons/pause-icon/PauseIcon.stories.tsx +1060 -0
- package/dist/icons/pause-icon/index.tsx +30 -0
- package/dist/icons/pause-icon/meta.ts +8 -0
- package/dist/icons/share-icon/ShareIcon.stories.tsx +1081 -0
- package/dist/icons/share-icon/index.tsx +22 -0
- package/dist/icons/share-icon/meta.ts +8 -0
- package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +1047 -0
- package/dist/icons/skip-backward-icon/index.tsx +29 -0
- package/dist/icons/skip-backward-icon/meta.ts +8 -0
- package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +1049 -0
- package/dist/icons/skip-forward-icon/index.tsx +29 -0
- package/dist/icons/skip-forward-icon/meta.ts +8 -0
- package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +1020 -0
- package/dist/icons/store-coin-icon/index.tsx +35 -0
- package/dist/icons/store-coin-icon/meta.ts +8 -0
- package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +1489 -0
- package/dist/icons/threads-icon/index.tsx +17 -0
- package/dist/icons/threads-icon/meta.ts +8 -0
- package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +1463 -0
- package/dist/icons/twitter-x-icon/index.tsx +17 -0
- package/dist/icons/twitter-x-icon/meta.ts +8 -0
- package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +1105 -0
- package/dist/icons/video-play-list-icon/index.tsx +22 -0
- package/dist/icons/video-play-list-icon/meta.ts +8 -0
- package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +1416 -0
- package/dist/icons/voice-playing-icon/index.tsx +24 -0
- package/dist/icons/voice-playing-icon/meta.ts +8 -0
- package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +1230 -0
- package/dist/icons/volume-full-icon/index.tsx +25 -0
- package/dist/icons/volume-full-icon/meta.ts +8 -0
- package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +1153 -0
- package/dist/icons/volume-half-icon/index.tsx +25 -0
- package/dist/icons/volume-half-icon/meta.ts +8 -0
- package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +1144 -0
- package/dist/icons/volume-off-icon/index.tsx +26 -0
- package/dist/icons/volume-off-icon/meta.ts +8 -0
- package/dist/icons/warning-icon/WarningIcon.stories.tsx +1106 -0
- package/dist/icons/warning-icon/index.tsx +27 -0
- package/dist/icons/warning-icon/meta.ts +8 -0
- package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +996 -0
- package/dist/icons/youtube-icon/index.tsx +24 -0
- package/dist/icons/youtube-icon/meta.ts +8 -0
- package/dist/index.js +1 -1
- package/dist/styles/aural-theme.css +9 -0
- package/package.json +1 -1
|
@@ -0,0 +1,1489 @@
|
|
|
1
|
+
import React from "react"
|
|
2
|
+
import type { Meta, StoryObj } from "@storybook/react"
|
|
3
|
+
|
|
4
|
+
import { ThreadsIcon } from "."
|
|
5
|
+
|
|
6
|
+
const meta: Meta<typeof ThreadsIcon> = {
|
|
7
|
+
title: "Icons/ThreadsIcon",
|
|
8
|
+
component: ThreadsIcon,
|
|
9
|
+
parameters: {
|
|
10
|
+
layout: "fullscreen",
|
|
11
|
+
backgrounds: {
|
|
12
|
+
default: "dark",
|
|
13
|
+
values: [
|
|
14
|
+
{ name: "dark", value: "#0a0a0a" },
|
|
15
|
+
{ name: "darker", value: "#000000" },
|
|
16
|
+
{ name: "light", value: "#ffffff" },
|
|
17
|
+
],
|
|
18
|
+
},
|
|
19
|
+
docs: {
|
|
20
|
+
page: () => (
|
|
21
|
+
<>
|
|
22
|
+
{/* Override default docs styling */}
|
|
23
|
+
<style>
|
|
24
|
+
{`
|
|
25
|
+
.sbdocs-wrapper {
|
|
26
|
+
padding: 0 ;
|
|
27
|
+
max-width: none ;
|
|
28
|
+
background: transparent ;
|
|
29
|
+
}
|
|
30
|
+
.sbdocs-content {
|
|
31
|
+
max-width: none ;
|
|
32
|
+
padding: 0 ;
|
|
33
|
+
margin: 0 ;
|
|
34
|
+
background: transparent ;
|
|
35
|
+
}
|
|
36
|
+
.docs-story {
|
|
37
|
+
background: transparent ;
|
|
38
|
+
}
|
|
39
|
+
.sbdocs {
|
|
40
|
+
background: transparent ;
|
|
41
|
+
}
|
|
42
|
+
body {
|
|
43
|
+
background: #0a0a0a ;
|
|
44
|
+
}
|
|
45
|
+
#storybook-docs {
|
|
46
|
+
background: #0a0a0a ;
|
|
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: white ;
|
|
54
|
+
}
|
|
55
|
+
.sbdocs-p, .sbdocs-li {
|
|
56
|
+
color: rgba(255, 255, 255, 0.7) ;
|
|
57
|
+
}
|
|
58
|
+
.sbdocs-code {
|
|
59
|
+
background: rgba(255, 255, 255, 0.1) ;
|
|
60
|
+
color: rgba(168, 85, 247, 1) ;
|
|
61
|
+
border: 1px solid rgba(255, 255, 255, 0.1) ;
|
|
62
|
+
}
|
|
63
|
+
.sbdocs-pre {
|
|
64
|
+
background: rgba(0, 0, 0, 0.4) ;
|
|
65
|
+
border: 1px solid rgba(255, 255, 255, 0.1) ;
|
|
66
|
+
}
|
|
67
|
+
.sbdocs-table {
|
|
68
|
+
background: rgba(255, 255, 255, 0.05) ;
|
|
69
|
+
border: 1px solid rgba(255, 255, 255, 0.1) ;
|
|
70
|
+
}
|
|
71
|
+
.sbdocs-table th {
|
|
72
|
+
background: rgba(255, 255, 255, 0.05) ;
|
|
73
|
+
color: white ;
|
|
74
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.1) ;
|
|
75
|
+
}
|
|
76
|
+
.sbdocs-table td {
|
|
77
|
+
color: rgba(255, 255, 255, 0.7) ;
|
|
78
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.05) ;
|
|
79
|
+
}
|
|
80
|
+
`}
|
|
81
|
+
</style>
|
|
82
|
+
|
|
83
|
+
<div className="min-h-screen bg-gradient-to-br from-gray-900 via-zinc-900/20 to-gray-900">
|
|
84
|
+
{/* Header */}
|
|
85
|
+
<div className="relative overflow-hidden border-b border-white/10 bg-black/20 backdrop-blur-xl">
|
|
86
|
+
<div className="absolute inset-0 bg-gradient-to-r from-zinc-500/10 via-transparent to-gray-500/10" />
|
|
87
|
+
<div className="relative !mx-auto max-w-7xl px-6 py-16">
|
|
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 border-zinc-500/30 bg-gradient-to-br from-zinc-500/20 to-gray-500/20">
|
|
90
|
+
<ThreadsIcon className="h-12 w-12 text-white" />
|
|
91
|
+
</div>
|
|
92
|
+
<h1 className="text-5xl font-bold !text-white">
|
|
93
|
+
ThreadsIcon
|
|
94
|
+
</h1>
|
|
95
|
+
<p className="!mx-auto max-w-3xl text-xl leading-relaxed !text-white/70">
|
|
96
|
+
The official Threads brand icon featuring the distinctive
|
|
97
|
+
"@" symbol design. Essential for text-based social
|
|
98
|
+
networking, conversation platforms, community engagement,
|
|
99
|
+
discussion threads, and any interface where Threads platform
|
|
100
|
+
connectivity and threaded conversations are featured.
|
|
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-3xl font-bold text-zinc-300">
|
|
107
|
+
Text Conversations
|
|
108
|
+
</div>
|
|
109
|
+
<div className="text-sm text-white/60">
|
|
110
|
+
Threaded discussions
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
113
|
+
<div className="h-8 w-px bg-white/20" />
|
|
114
|
+
<div className="text-center">
|
|
115
|
+
<div className="text-3xl font-bold text-gray-300">
|
|
116
|
+
Community Platform
|
|
117
|
+
</div>
|
|
118
|
+
<div className="text-sm text-white/60">
|
|
119
|
+
Social networking
|
|
120
|
+
</div>
|
|
121
|
+
</div>
|
|
122
|
+
<div className="h-8 w-px bg-white/20" />
|
|
123
|
+
<div className="text-center">
|
|
124
|
+
<div className="text-3xl font-bold text-neutral-300">
|
|
125
|
+
Meta Ecosystem
|
|
126
|
+
</div>
|
|
127
|
+
<div className="text-sm text-white/60">
|
|
128
|
+
Integrated platform
|
|
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-center text-3xl font-bold !text-white">
|
|
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-xl font-semibold !text-zinc-300">
|
|
146
|
+
Basic Usage
|
|
147
|
+
</h3>
|
|
148
|
+
<div className="rounded-lg bg-black/40 p-4">
|
|
149
|
+
<pre className="overflow-x-auto text-sm !text-green-300">
|
|
150
|
+
{`import { ThreadsIcon } from "@icons/threads-icon"
|
|
151
|
+
|
|
152
|
+
function SocialShare() {
|
|
153
|
+
return (
|
|
154
|
+
<button
|
|
155
|
+
onClick={shareToThreads}
|
|
156
|
+
className="flex items-center gap-2 p-2 rounded-lg
|
|
157
|
+
bg-black hover:bg-gray-800 border border-gray-700
|
|
158
|
+
transition-colors"
|
|
159
|
+
aria-label="Share on Threads"
|
|
160
|
+
>
|
|
161
|
+
<ThreadsIcon className="h-5 w-5 text-white" />
|
|
162
|
+
<span className="text-white">Share on Threads</span>
|
|
163
|
+
</button>
|
|
164
|
+
)
|
|
165
|
+
}`}
|
|
166
|
+
</pre>
|
|
167
|
+
</div>
|
|
168
|
+
</div>
|
|
169
|
+
|
|
170
|
+
<div className="!space-y-4">
|
|
171
|
+
<h3 className="text-xl font-semibold !text-zinc-300">
|
|
172
|
+
Live Preview
|
|
173
|
+
</h3>
|
|
174
|
+
<div className="flex h-32 items-center justify-center rounded-lg border border-white/10 bg-white/5">
|
|
175
|
+
<button className="flex items-center gap-2 rounded-lg border border-gray-700 bg-black px-4 py-2 transition-colors hover:bg-gray-800">
|
|
176
|
+
<ThreadsIcon className="h-5 w-5 text-white" />
|
|
177
|
+
<span className="font-medium text-white">
|
|
178
|
+
Share on Threads
|
|
179
|
+
</span>
|
|
180
|
+
</button>
|
|
181
|
+
</div>
|
|
182
|
+
</div>
|
|
183
|
+
</div>
|
|
184
|
+
</div>
|
|
185
|
+
|
|
186
|
+
{/* Props Documentation */}
|
|
187
|
+
<div className="!space-y-8">
|
|
188
|
+
<h2 className="text-center text-3xl font-bold !text-white">
|
|
189
|
+
Props & Configuration
|
|
190
|
+
</h2>
|
|
191
|
+
|
|
192
|
+
<div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
|
|
193
|
+
<div className="bg-white/5 p-4">
|
|
194
|
+
<h3 className="text-xl font-semibold !text-white">Props</h3>
|
|
195
|
+
</div>
|
|
196
|
+
<table className="!my-0 w-full">
|
|
197
|
+
<thead className="bg-white/5">
|
|
198
|
+
<tr className="border-b border-white/10">
|
|
199
|
+
<th className="px-6 py-4 text-left text-sm font-semibold !text-white">
|
|
200
|
+
Prop
|
|
201
|
+
</th>
|
|
202
|
+
<th className="px-6 py-4 text-left text-sm font-semibold !text-white">
|
|
203
|
+
Type
|
|
204
|
+
</th>
|
|
205
|
+
<th className="px-6 py-4 text-left text-sm font-semibold !text-white">
|
|
206
|
+
Default
|
|
207
|
+
</th>
|
|
208
|
+
<th className="px-6 py-4 text-left text-sm font-semibold !text-white">
|
|
209
|
+
Description
|
|
210
|
+
</th>
|
|
211
|
+
</tr>
|
|
212
|
+
</thead>
|
|
213
|
+
<tbody>
|
|
214
|
+
<tr className="border-b border-white/5">
|
|
215
|
+
<td className="px-6 py-4 font-mono text-sm !text-zinc-300">
|
|
216
|
+
width
|
|
217
|
+
</td>
|
|
218
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
219
|
+
number | string
|
|
220
|
+
</td>
|
|
221
|
+
<td className="px-6 py-4 text-sm !text-white/50">
|
|
222
|
+
auto
|
|
223
|
+
</td>
|
|
224
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
225
|
+
Width of the icon (maintains aspect ratio)
|
|
226
|
+
</td>
|
|
227
|
+
</tr>
|
|
228
|
+
<tr className="border-b border-white/5 !bg-black/10">
|
|
229
|
+
<td className="px-6 py-4 font-mono text-sm !text-zinc-300">
|
|
230
|
+
height
|
|
231
|
+
</td>
|
|
232
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
233
|
+
number | string
|
|
234
|
+
</td>
|
|
235
|
+
<td className="px-6 py-4 text-sm !text-white/50">
|
|
236
|
+
auto
|
|
237
|
+
</td>
|
|
238
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
239
|
+
Height of the icon (maintains aspect ratio)
|
|
240
|
+
</td>
|
|
241
|
+
</tr>
|
|
242
|
+
<tr className="border-b border-white/5">
|
|
243
|
+
<td className="px-6 py-4 font-mono text-sm !text-zinc-300">
|
|
244
|
+
fill
|
|
245
|
+
</td>
|
|
246
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
247
|
+
string
|
|
248
|
+
</td>
|
|
249
|
+
<td className="px-6 py-4 text-sm !text-white/50">
|
|
250
|
+
currentColor
|
|
251
|
+
</td>
|
|
252
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
253
|
+
Fill color of the Threads "@" symbol
|
|
254
|
+
</td>
|
|
255
|
+
</tr>
|
|
256
|
+
<tr className="border-b border-white/5 !bg-black/10">
|
|
257
|
+
<td className="px-6 py-4 font-mono text-sm !text-zinc-300">
|
|
258
|
+
className
|
|
259
|
+
</td>
|
|
260
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
261
|
+
string
|
|
262
|
+
</td>
|
|
263
|
+
<td className="px-6 py-4 text-sm !text-white/50">-</td>
|
|
264
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
265
|
+
CSS classes for styling and sizing
|
|
266
|
+
</td>
|
|
267
|
+
</tr>
|
|
268
|
+
<tr className="border-b border-white/5">
|
|
269
|
+
<td className="px-6 py-4 font-mono text-sm !text-zinc-300">
|
|
270
|
+
onClick
|
|
271
|
+
</td>
|
|
272
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
273
|
+
function
|
|
274
|
+
</td>
|
|
275
|
+
<td className="px-6 py-4 text-sm !text-white/50">-</td>
|
|
276
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
277
|
+
Click handler for social interactions
|
|
278
|
+
</td>
|
|
279
|
+
</tr>
|
|
280
|
+
<tr className="!bg-black/10">
|
|
281
|
+
<td className="px-6 py-4 font-mono text-sm !text-zinc-300">
|
|
282
|
+
...svgProps
|
|
283
|
+
</td>
|
|
284
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
285
|
+
SVGProps
|
|
286
|
+
</td>
|
|
287
|
+
<td className="px-6 py-4 text-sm !text-white/50">-</td>
|
|
288
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
289
|
+
All standard SVG element props
|
|
290
|
+
</td>
|
|
291
|
+
</tr>
|
|
292
|
+
</tbody>
|
|
293
|
+
</table>
|
|
294
|
+
</div>
|
|
295
|
+
|
|
296
|
+
<div className="rounded-lg border border-zinc-500/20 bg-zinc-500/10 p-4">
|
|
297
|
+
<div className="flex items-center gap-2 text-sm text-zinc-200">
|
|
298
|
+
<ThreadsIcon className="h-4 w-4" />
|
|
299
|
+
<span>
|
|
300
|
+
<strong>Brand Guidelines:</strong> Threads typically uses
|
|
301
|
+
black/white monochrome design for clean, text-focused
|
|
302
|
+
branding that emphasizes conversation over visual content.
|
|
303
|
+
</span>
|
|
304
|
+
</div>
|
|
305
|
+
</div>
|
|
306
|
+
</div>
|
|
307
|
+
|
|
308
|
+
{/* Size Variations */}
|
|
309
|
+
<div className="!space-y-8">
|
|
310
|
+
<h2 className="text-center text-3xl font-bold !text-white">
|
|
311
|
+
Size Variations
|
|
312
|
+
</h2>
|
|
313
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-8">
|
|
314
|
+
<div className="!space-y-6">
|
|
315
|
+
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
316
|
+
<div className="!space-y-4">
|
|
317
|
+
<h3 className="text-lg font-semibold !text-zinc-300">
|
|
318
|
+
Standard Sizes
|
|
319
|
+
</h3>
|
|
320
|
+
<div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
|
|
321
|
+
<div className="text-center">
|
|
322
|
+
<ThreadsIcon className="!mx-auto mb-2 h-3 w-3 text-white" />
|
|
323
|
+
<span className="text-xs text-white/60">12px</span>
|
|
324
|
+
</div>
|
|
325
|
+
<div className="text-center">
|
|
326
|
+
<ThreadsIcon className="!mx-auto mb-2 h-4 w-4 text-white" />
|
|
327
|
+
<span className="text-xs text-white/60">16px</span>
|
|
328
|
+
</div>
|
|
329
|
+
<div className="text-center">
|
|
330
|
+
<ThreadsIcon className="!mx-auto mb-2 h-5 w-5 text-white" />
|
|
331
|
+
<span className="text-xs text-white/60">20px</span>
|
|
332
|
+
</div>
|
|
333
|
+
<div className="text-center">
|
|
334
|
+
<ThreadsIcon className="!mx-auto mb-2 h-6 w-6 text-white" />
|
|
335
|
+
<span className="text-xs text-white/60">24px</span>
|
|
336
|
+
</div>
|
|
337
|
+
<div className="text-center">
|
|
338
|
+
<ThreadsIcon className="!mx-auto mb-2 h-8 w-8 text-white" />
|
|
339
|
+
<span className="text-xs text-white/60">32px</span>
|
|
340
|
+
</div>
|
|
341
|
+
<div className="text-center">
|
|
342
|
+
<ThreadsIcon className="!mx-auto mb-2 h-12 w-12 text-white" />
|
|
343
|
+
<span className="text-xs text-white/60">48px</span>
|
|
344
|
+
</div>
|
|
345
|
+
</div>
|
|
346
|
+
</div>
|
|
347
|
+
|
|
348
|
+
<div className="!space-y-4">
|
|
349
|
+
<h3 className="text-lg font-semibold !text-zinc-300">
|
|
350
|
+
Code Example
|
|
351
|
+
</h3>
|
|
352
|
+
<div className="rounded-lg bg-black/40 p-4">
|
|
353
|
+
<pre className="overflow-x-auto text-sm !text-cyan-300">
|
|
354
|
+
{`// Small (16px) - inline social links
|
|
355
|
+
<ThreadsIcon className="h-4 w-4" />
|
|
356
|
+
|
|
357
|
+
// Medium (24px) - standard buttons
|
|
358
|
+
<ThreadsIcon className="h-6 w-6" />
|
|
359
|
+
|
|
360
|
+
// Large (32px) - prominent displays
|
|
361
|
+
<ThreadsIcon className="h-8 w-8" />
|
|
362
|
+
|
|
363
|
+
// Custom size with maintained aspect ratio
|
|
364
|
+
<ThreadsIcon width={40} height={40} />`}
|
|
365
|
+
</pre>
|
|
366
|
+
</div>
|
|
367
|
+
</div>
|
|
368
|
+
</div>
|
|
369
|
+
</div>
|
|
370
|
+
</div>
|
|
371
|
+
</div>
|
|
372
|
+
|
|
373
|
+
{/* Color & Styling */}
|
|
374
|
+
<div className="!space-y-8">
|
|
375
|
+
<h2 className="text-center text-3xl font-bold !text-white">
|
|
376
|
+
Color & Styling
|
|
377
|
+
</h2>
|
|
378
|
+
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
379
|
+
<div className="!space-y-4">
|
|
380
|
+
<h3 className="text-lg font-semibold !text-zinc-300">
|
|
381
|
+
Brand Colors
|
|
382
|
+
</h3>
|
|
383
|
+
<div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
|
|
384
|
+
<div className="flex items-center gap-4">
|
|
385
|
+
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-black">
|
|
386
|
+
<ThreadsIcon className="h-6 w-6 text-white" />
|
|
387
|
+
</div>
|
|
388
|
+
<div>
|
|
389
|
+
<div className="text-sm font-medium text-white">
|
|
390
|
+
Official Black
|
|
391
|
+
</div>
|
|
392
|
+
<div className="text-xs text-white/60">
|
|
393
|
+
Primary brand color
|
|
394
|
+
</div>
|
|
395
|
+
</div>
|
|
396
|
+
</div>
|
|
397
|
+
<div className="flex items-center gap-4">
|
|
398
|
+
<div className="flex h-12 w-12 items-center justify-center rounded-lg border border-gray-300 bg-white">
|
|
399
|
+
<ThreadsIcon className="h-6 w-6 text-black" />
|
|
400
|
+
</div>
|
|
401
|
+
<div>
|
|
402
|
+
<div className="text-sm font-medium text-white">
|
|
403
|
+
Inverted White
|
|
404
|
+
</div>
|
|
405
|
+
<div className="text-xs text-white/60">
|
|
406
|
+
Light backgrounds
|
|
407
|
+
</div>
|
|
408
|
+
</div>
|
|
409
|
+
</div>
|
|
410
|
+
<div className="flex items-center gap-4">
|
|
411
|
+
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-gray-600">
|
|
412
|
+
<ThreadsIcon className="h-6 w-6 text-white" />
|
|
413
|
+
</div>
|
|
414
|
+
<div>
|
|
415
|
+
<div className="text-sm font-medium text-white">
|
|
416
|
+
Neutral Gray
|
|
417
|
+
</div>
|
|
418
|
+
<div className="text-xs text-white/60">
|
|
419
|
+
Subtle integration
|
|
420
|
+
</div>
|
|
421
|
+
</div>
|
|
422
|
+
</div>
|
|
423
|
+
<div className="flex items-center gap-4">
|
|
424
|
+
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500">
|
|
425
|
+
<ThreadsIcon className="h-6 w-6 text-white" />
|
|
426
|
+
</div>
|
|
427
|
+
<div>
|
|
428
|
+
<div className="text-sm font-medium text-white">
|
|
429
|
+
Accent Color
|
|
430
|
+
</div>
|
|
431
|
+
<div className="text-xs text-white/60">
|
|
432
|
+
Themed integration
|
|
433
|
+
</div>
|
|
434
|
+
</div>
|
|
435
|
+
</div>
|
|
436
|
+
</div>
|
|
437
|
+
</div>
|
|
438
|
+
|
|
439
|
+
<div className="!space-y-4">
|
|
440
|
+
<h3 className="text-lg font-semibold !text-zinc-300">
|
|
441
|
+
Usage Examples
|
|
442
|
+
</h3>
|
|
443
|
+
<div className="rounded-lg bg-black/40 p-4">
|
|
444
|
+
<pre className="overflow-x-auto text-sm !text-green-300">
|
|
445
|
+
{`// Official black on white
|
|
446
|
+
<ThreadsIcon className="h-6 w-6 text-black" />
|
|
447
|
+
|
|
448
|
+
// White on black (official)
|
|
449
|
+
<ThreadsIcon className="h-6 w-6 text-white" />
|
|
450
|
+
|
|
451
|
+
// Inherit parent text color
|
|
452
|
+
<ThreadsIcon className="h-5 w-5" />
|
|
453
|
+
|
|
454
|
+
// Custom themed color
|
|
455
|
+
<ThreadsIcon
|
|
456
|
+
className="h-6 w-6 text-blue-500"
|
|
457
|
+
/>
|
|
458
|
+
|
|
459
|
+
// Hover state with transition
|
|
460
|
+
<ThreadsIcon
|
|
461
|
+
className="h-6 w-6 text-gray-400
|
|
462
|
+
hover:text-white transition-colors"
|
|
463
|
+
/>
|
|
464
|
+
|
|
465
|
+
// Background with proper contrast
|
|
466
|
+
<div className="bg-black p-2 rounded">
|
|
467
|
+
<ThreadsIcon className="h-6 w-6 text-white" />
|
|
468
|
+
</div>`}
|
|
469
|
+
</pre>
|
|
470
|
+
</div>
|
|
471
|
+
</div>
|
|
472
|
+
</div>
|
|
473
|
+
</div>
|
|
474
|
+
|
|
475
|
+
{/* Usage Examples */}
|
|
476
|
+
<div className="!space-y-8">
|
|
477
|
+
<h2 className="text-center text-3xl font-bold !text-white">
|
|
478
|
+
Usage Examples
|
|
479
|
+
</h2>
|
|
480
|
+
|
|
481
|
+
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
482
|
+
{/* Social Share Buttons */}
|
|
483
|
+
<div className="!space-y-4">
|
|
484
|
+
<h3 className="text-lg font-semibold !text-zinc-300">
|
|
485
|
+
Social Share Integration
|
|
486
|
+
</h3>
|
|
487
|
+
<div className="!space-y-4">
|
|
488
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-6">
|
|
489
|
+
<div className="space-y-4">
|
|
490
|
+
<h4 className="mb-3 text-sm font-medium text-white">
|
|
491
|
+
Share this post
|
|
492
|
+
</h4>
|
|
493
|
+
<div className="flex flex-wrap gap-3">
|
|
494
|
+
<button className="flex items-center gap-2 rounded-lg border border-gray-700 bg-black px-4 py-2 transition-colors hover:bg-gray-800">
|
|
495
|
+
<ThreadsIcon className="h-4 w-4 text-white" />
|
|
496
|
+
<span className="text-sm text-white">
|
|
497
|
+
Share on Threads
|
|
498
|
+
</span>
|
|
499
|
+
</button>
|
|
500
|
+
<button className="flex items-center gap-2 rounded-lg border border-gray-700 bg-black px-4 py-2 transition-colors hover:bg-gray-800">
|
|
501
|
+
<span className="text-sm text-white">𝕏</span>
|
|
502
|
+
<span className="text-sm text-white">
|
|
503
|
+
Share on X
|
|
504
|
+
</span>
|
|
505
|
+
</button>
|
|
506
|
+
<button className="flex items-center gap-2 rounded-lg bg-blue-600 px-4 py-2 transition-colors hover:bg-blue-700">
|
|
507
|
+
<span className="text-sm text-white">📘</span>
|
|
508
|
+
<span className="text-sm text-white">
|
|
509
|
+
Facebook
|
|
510
|
+
</span>
|
|
511
|
+
</button>
|
|
512
|
+
</div>
|
|
513
|
+
<div className="border-t border-white/10 pt-4">
|
|
514
|
+
<div className="flex items-center gap-3">
|
|
515
|
+
<span className="text-sm text-white/60">
|
|
516
|
+
Follow the conversation:
|
|
517
|
+
</span>
|
|
518
|
+
<div className="flex gap-2">
|
|
519
|
+
<a
|
|
520
|
+
href="#"
|
|
521
|
+
className="rounded border border-gray-700 bg-black p-2 transition-colors hover:bg-gray-800"
|
|
522
|
+
>
|
|
523
|
+
<ThreadsIcon className="h-4 w-4 text-white" />
|
|
524
|
+
</a>
|
|
525
|
+
<a
|
|
526
|
+
href="#"
|
|
527
|
+
className="rounded border border-gray-700 bg-black p-2 transition-colors hover:bg-gray-800"
|
|
528
|
+
>
|
|
529
|
+
<span className="text-sm text-white">𝕏</span>
|
|
530
|
+
</a>
|
|
531
|
+
<a
|
|
532
|
+
href="#"
|
|
533
|
+
className="rounded bg-blue-600 p-2 transition-colors hover:bg-blue-700"
|
|
534
|
+
>
|
|
535
|
+
<span className="text-sm text-white">📘</span>
|
|
536
|
+
</a>
|
|
537
|
+
</div>
|
|
538
|
+
</div>
|
|
539
|
+
</div>
|
|
540
|
+
</div>
|
|
541
|
+
</div>
|
|
542
|
+
<div className="rounded-lg bg-black/40 p-4">
|
|
543
|
+
<pre className="overflow-x-auto text-sm !text-green-300">
|
|
544
|
+
{`// Social sharing component with Threads
|
|
545
|
+
<div className="share-buttons">
|
|
546
|
+
<h4>Share this post</h4>
|
|
547
|
+
<div className="button-group">
|
|
548
|
+
<button
|
|
549
|
+
onClick={() => shareToThreads(postUrl, postTitle)}
|
|
550
|
+
className="share-btn threads-btn"
|
|
551
|
+
>
|
|
552
|
+
<ThreadsIcon className="h-4 w-4 text-white" />
|
|
553
|
+
<span>Share on Threads</span>
|
|
554
|
+
</button>
|
|
555
|
+
<TwitterShareButton />
|
|
556
|
+
<FacebookShareButton />
|
|
557
|
+
</div>
|
|
558
|
+
<div className="follow-section">
|
|
559
|
+
<span>Follow the conversation:</span>
|
|
560
|
+
<div className="social-links">
|
|
561
|
+
<a
|
|
562
|
+
href="https://threads.net/@username"
|
|
563
|
+
className="social-link threads-link"
|
|
564
|
+
aria-label="Follow us on Threads"
|
|
565
|
+
>
|
|
566
|
+
<ThreadsIcon className="h-4 w-4 text-white" />
|
|
567
|
+
</a>
|
|
568
|
+
<TwitterLink />
|
|
569
|
+
<FacebookLink />
|
|
570
|
+
</div>
|
|
571
|
+
</div>
|
|
572
|
+
</div>`}
|
|
573
|
+
</pre>
|
|
574
|
+
</div>
|
|
575
|
+
</div>
|
|
576
|
+
</div>
|
|
577
|
+
|
|
578
|
+
{/* Discussion Thread Widget */}
|
|
579
|
+
<div className="!space-y-4">
|
|
580
|
+
<h3 className="text-lg font-semibold !text-zinc-300">
|
|
581
|
+
Discussion Thread Widget
|
|
582
|
+
</h3>
|
|
583
|
+
<div className="!space-y-4">
|
|
584
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-6">
|
|
585
|
+
<div className="overflow-hidden rounded-lg border border-white/20 bg-black/50">
|
|
586
|
+
<div className="border-b border-white/10 bg-white/5 p-4">
|
|
587
|
+
<div className="flex items-center justify-between">
|
|
588
|
+
<div className="flex items-center gap-3">
|
|
589
|
+
<ThreadsIcon className="h-5 w-5 text-white" />
|
|
590
|
+
<div>
|
|
591
|
+
<h4 className="text-sm font-semibold text-white">
|
|
592
|
+
Latest Discussion
|
|
593
|
+
</h4>
|
|
594
|
+
<p className="text-xs text-white/60">
|
|
595
|
+
Join the conversation on Threads
|
|
596
|
+
</p>
|
|
597
|
+
</div>
|
|
598
|
+
</div>
|
|
599
|
+
<a
|
|
600
|
+
href="#"
|
|
601
|
+
className="text-xs text-zinc-400 transition-colors hover:text-white"
|
|
602
|
+
>
|
|
603
|
+
View Thread
|
|
604
|
+
</a>
|
|
605
|
+
</div>
|
|
606
|
+
</div>
|
|
607
|
+
<div className="space-y-3 p-4">
|
|
608
|
+
<div className="flex gap-3">
|
|
609
|
+
<div className="flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-full bg-white/10">
|
|
610
|
+
<span className="text-xs">👤</span>
|
|
611
|
+
</div>
|
|
612
|
+
<div className="flex-1">
|
|
613
|
+
<div className="mb-1 flex items-center gap-2">
|
|
614
|
+
<span className="text-sm font-medium text-white">
|
|
615
|
+
Alex Chen
|
|
616
|
+
</span>
|
|
617
|
+
<span className="text-xs text-white/40">
|
|
618
|
+
@alexchen
|
|
619
|
+
</span>
|
|
620
|
+
<span className="text-xs text-white/40">
|
|
621
|
+
•
|
|
622
|
+
</span>
|
|
623
|
+
<span className="text-xs text-white/40">
|
|
624
|
+
2h
|
|
625
|
+
</span>
|
|
626
|
+
</div>
|
|
627
|
+
<p className="text-sm text-white/80">
|
|
628
|
+
Really excited about the new design system
|
|
629
|
+
updates. The accessibility improvements are
|
|
630
|
+
game-changing! 🎨
|
|
631
|
+
</p>
|
|
632
|
+
<div className="mt-2 flex items-center gap-4">
|
|
633
|
+
<button className="text-xs text-white/60 transition-colors hover:text-white">
|
|
634
|
+
Reply
|
|
635
|
+
</button>
|
|
636
|
+
<button className="text-xs text-white/60 transition-colors hover:text-white">
|
|
637
|
+
💬 12
|
|
638
|
+
</button>
|
|
639
|
+
<button className="text-xs text-white/60 transition-colors hover:text-white">
|
|
640
|
+
🔄 8
|
|
641
|
+
</button>
|
|
642
|
+
<button className="text-xs text-white/60 transition-colors hover:text-white">
|
|
643
|
+
❤️ 24
|
|
644
|
+
</button>
|
|
645
|
+
</div>
|
|
646
|
+
</div>
|
|
647
|
+
</div>
|
|
648
|
+
<div className="flex gap-3">
|
|
649
|
+
<div className="flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-full bg-white/10">
|
|
650
|
+
<span className="text-xs">👤</span>
|
|
651
|
+
</div>
|
|
652
|
+
<div className="flex-1">
|
|
653
|
+
<div className="mb-1 flex items-center gap-2">
|
|
654
|
+
<span className="text-sm font-medium text-white">
|
|
655
|
+
Sarah Kim
|
|
656
|
+
</span>
|
|
657
|
+
<span className="text-xs text-white/40">
|
|
658
|
+
@sarahk
|
|
659
|
+
</span>
|
|
660
|
+
<span className="text-xs text-white/40">
|
|
661
|
+
•
|
|
662
|
+
</span>
|
|
663
|
+
<span className="text-xs text-white/40">
|
|
664
|
+
1h
|
|
665
|
+
</span>
|
|
666
|
+
</div>
|
|
667
|
+
<p className="text-sm text-white/80">
|
|
668
|
+
@alexchen Totally agree! The color contrast
|
|
669
|
+
ratios are so much better now. Perfect for our
|
|
670
|
+
vision-impaired users.
|
|
671
|
+
</p>
|
|
672
|
+
<div className="mt-2 flex items-center gap-4">
|
|
673
|
+
<button className="text-xs text-white/60 transition-colors hover:text-white">
|
|
674
|
+
Reply
|
|
675
|
+
</button>
|
|
676
|
+
<button className="text-xs text-white/60 transition-colors hover:text-white">
|
|
677
|
+
💬 5
|
|
678
|
+
</button>
|
|
679
|
+
<button className="text-xs text-white/60 transition-colors hover:text-white">
|
|
680
|
+
🔄 3
|
|
681
|
+
</button>
|
|
682
|
+
<button className="text-xs text-white/60 transition-colors hover:text-white">
|
|
683
|
+
❤️ 15
|
|
684
|
+
</button>
|
|
685
|
+
</div>
|
|
686
|
+
</div>
|
|
687
|
+
</div>
|
|
688
|
+
<div className="border-t border-white/10 pt-3">
|
|
689
|
+
<a
|
|
690
|
+
href="#"
|
|
691
|
+
className="flex items-center gap-2 text-sm text-zinc-400 transition-colors hover:text-white"
|
|
692
|
+
>
|
|
693
|
+
<ThreadsIcon className="h-4 w-4" />
|
|
694
|
+
<span>Continue reading on Threads</span>
|
|
695
|
+
</a>
|
|
696
|
+
</div>
|
|
697
|
+
</div>
|
|
698
|
+
</div>
|
|
699
|
+
</div>
|
|
700
|
+
<div className="rounded-lg bg-black/40 p-4">
|
|
701
|
+
<pre className="overflow-x-auto text-sm !text-green-300">
|
|
702
|
+
{`// Discussion thread widget
|
|
703
|
+
<div className="threads-widget">
|
|
704
|
+
<div className="widget-header">
|
|
705
|
+
<div className="platform-info">
|
|
706
|
+
<ThreadsIcon className="h-5 w-5 text-white" />
|
|
707
|
+
<div className="platform-details">
|
|
708
|
+
<h3>Latest Discussion</h3>
|
|
709
|
+
<p>Join the conversation on Threads</p>
|
|
710
|
+
</div>
|
|
711
|
+
</div>
|
|
712
|
+
<a href={threadsUrl} className="view-thread-link">
|
|
713
|
+
View Thread
|
|
714
|
+
</a>
|
|
715
|
+
</div>
|
|
716
|
+
<div className="thread-posts">
|
|
717
|
+
{threadPosts.map(post => (
|
|
718
|
+
<div key={post.id} className="thread-post">
|
|
719
|
+
<UserAvatar user={post.author} />
|
|
720
|
+
<div className="post-content">
|
|
721
|
+
<PostHeader post={post} />
|
|
722
|
+
<PostText text={post.text} />
|
|
723
|
+
<PostActions
|
|
724
|
+
post={post}
|
|
725
|
+
onReply={handleReply}
|
|
726
|
+
onRepost={handleRepost}
|
|
727
|
+
onLike={handleLike}
|
|
728
|
+
/>
|
|
729
|
+
</div>
|
|
730
|
+
</div>
|
|
731
|
+
))}
|
|
732
|
+
</div>
|
|
733
|
+
<div className="widget-footer">
|
|
734
|
+
<a href={threadsUrl} className="continue-reading">
|
|
735
|
+
<ThreadsIcon className="h-4 w-4" />
|
|
736
|
+
<span>Continue reading on Threads</span>
|
|
737
|
+
</a>
|
|
738
|
+
</div>
|
|
739
|
+
</div>`}
|
|
740
|
+
</pre>
|
|
741
|
+
</div>
|
|
742
|
+
</div>
|
|
743
|
+
</div>
|
|
744
|
+
|
|
745
|
+
{/* Community Profile */}
|
|
746
|
+
<div className="!space-y-4">
|
|
747
|
+
<h3 className="text-lg font-semibold !text-zinc-300">
|
|
748
|
+
Community Profile
|
|
749
|
+
</h3>
|
|
750
|
+
<div className="!space-y-4">
|
|
751
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-6">
|
|
752
|
+
<div className="overflow-hidden rounded-lg border border-white/20 bg-black/50">
|
|
753
|
+
<div className="relative h-32 bg-gradient-to-r from-gray-800 to-zinc-800">
|
|
754
|
+
<div className="absolute -bottom-8 left-6">
|
|
755
|
+
<div className="flex h-16 w-16 items-center justify-center rounded-full border-4 border-black/50 bg-white/10">
|
|
756
|
+
<span className="text-2xl">💬</span>
|
|
757
|
+
</div>
|
|
758
|
+
</div>
|
|
759
|
+
</div>
|
|
760
|
+
<div className="p-6 pt-12">
|
|
761
|
+
<div className="flex items-start justify-between">
|
|
762
|
+
<div>
|
|
763
|
+
<h4 className="text-lg font-semibold text-white">
|
|
764
|
+
Design Community
|
|
765
|
+
</h4>
|
|
766
|
+
<p className="text-sm text-white/60">
|
|
767
|
+
@designcommunity
|
|
768
|
+
</p>
|
|
769
|
+
<p className="mt-2 text-sm text-white/70">
|
|
770
|
+
A space for designers to share ideas, get
|
|
771
|
+
feedback, and discuss the latest trends in
|
|
772
|
+
UI/UX 🎨
|
|
773
|
+
</p>
|
|
774
|
+
</div>
|
|
775
|
+
<button className="rounded-lg bg-white px-4 py-2 font-medium text-black transition-colors hover:bg-gray-100">
|
|
776
|
+
Follow
|
|
777
|
+
</button>
|
|
778
|
+
</div>
|
|
779
|
+
<div className="mt-4 flex items-center gap-6">
|
|
780
|
+
<div className="text-sm">
|
|
781
|
+
<span className="font-medium text-white">
|
|
782
|
+
2,847
|
|
783
|
+
</span>
|
|
784
|
+
<span className="ml-1 text-white/60">
|
|
785
|
+
Threads
|
|
786
|
+
</span>
|
|
787
|
+
</div>
|
|
788
|
+
<div className="text-sm">
|
|
789
|
+
<span className="font-medium text-white">
|
|
790
|
+
15.2k
|
|
791
|
+
</span>
|
|
792
|
+
<span className="ml-1 text-white/60">
|
|
793
|
+
Followers
|
|
794
|
+
</span>
|
|
795
|
+
</div>
|
|
796
|
+
<div className="text-sm">
|
|
797
|
+
<span className="font-medium text-white">
|
|
798
|
+
943
|
|
799
|
+
</span>
|
|
800
|
+
<span className="ml-1 text-white/60">
|
|
801
|
+
Following
|
|
802
|
+
</span>
|
|
803
|
+
</div>
|
|
804
|
+
</div>
|
|
805
|
+
<div className="mt-4 flex items-center gap-4 border-t border-white/10 pt-4">
|
|
806
|
+
<span className="text-sm text-white/60">
|
|
807
|
+
Join the conversation:
|
|
808
|
+
</span>
|
|
809
|
+
<div className="flex gap-2">
|
|
810
|
+
<a
|
|
811
|
+
href="#"
|
|
812
|
+
className="rounded border border-gray-700 bg-black p-2 transition-colors hover:bg-gray-800"
|
|
813
|
+
aria-label="Follow on Threads"
|
|
814
|
+
>
|
|
815
|
+
<ThreadsIcon className="h-4 w-4 text-white" />
|
|
816
|
+
</a>
|
|
817
|
+
<a
|
|
818
|
+
href="#"
|
|
819
|
+
className="rounded bg-blue-500 p-2 transition-colors hover:bg-blue-600"
|
|
820
|
+
aria-label="Connect on Discord"
|
|
821
|
+
>
|
|
822
|
+
<span className="text-sm text-white">🎮</span>
|
|
823
|
+
</a>
|
|
824
|
+
<a
|
|
825
|
+
href="#"
|
|
826
|
+
className="rounded bg-gray-600 p-2 transition-colors hover:bg-gray-700"
|
|
827
|
+
aria-label="View Website"
|
|
828
|
+
>
|
|
829
|
+
<span className="text-sm text-white">🌐</span>
|
|
830
|
+
</a>
|
|
831
|
+
</div>
|
|
832
|
+
</div>
|
|
833
|
+
</div>
|
|
834
|
+
</div>
|
|
835
|
+
</div>
|
|
836
|
+
<div className="rounded-lg bg-black/40 p-4">
|
|
837
|
+
<pre className="overflow-x-auto text-sm !text-green-300">
|
|
838
|
+
{`// Community profile with Threads integration
|
|
839
|
+
<div className="community-profile">
|
|
840
|
+
<div className="profile-header">
|
|
841
|
+
<CoverImage />
|
|
842
|
+
<CommunityAvatar />
|
|
843
|
+
</div>
|
|
844
|
+
<div className="profile-content">
|
|
845
|
+
<div className="community-info">
|
|
846
|
+
<CommunityDetails community={community} />
|
|
847
|
+
<FollowButton communityId={community.id} />
|
|
848
|
+
</div>
|
|
849
|
+
<CommunityStats stats={community.stats} />
|
|
850
|
+
<div className="social-links">
|
|
851
|
+
<span>Join the conversation:</span>
|
|
852
|
+
<div className="link-group">
|
|
853
|
+
<a
|
|
854
|
+
href={community.socialLinks.threads}
|
|
855
|
+
className="social-link threads-link"
|
|
856
|
+
aria-label="Follow on Threads"
|
|
857
|
+
>
|
|
858
|
+
<ThreadsIcon className="h-4 w-4 text-white" />
|
|
859
|
+
</a>
|
|
860
|
+
<DiscordLink url={community.socialLinks.discord} />
|
|
861
|
+
<WebsiteLink url={community.website} />
|
|
862
|
+
</div>
|
|
863
|
+
</div>
|
|
864
|
+
</div>
|
|
865
|
+
</div>`}
|
|
866
|
+
</pre>
|
|
867
|
+
</div>
|
|
868
|
+
</div>
|
|
869
|
+
</div>
|
|
870
|
+
|
|
871
|
+
{/* Text-Based Content Hub */}
|
|
872
|
+
<div className="!space-y-4">
|
|
873
|
+
<h3 className="text-lg font-semibold !text-zinc-300">
|
|
874
|
+
Text-Based Content Hub
|
|
875
|
+
</h3>
|
|
876
|
+
<div className="!space-y-4">
|
|
877
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-6">
|
|
878
|
+
<div className="overflow-hidden rounded-lg border border-white/20 bg-black/50">
|
|
879
|
+
<div className="p-6">
|
|
880
|
+
<div className="mb-6 text-center">
|
|
881
|
+
<h4 className="mb-2 text-xl font-semibold text-white">
|
|
882
|
+
Join the Conversation
|
|
883
|
+
</h4>
|
|
884
|
+
<p className="text-sm text-white/70">
|
|
885
|
+
Share your thoughts and connect with like-minded
|
|
886
|
+
people
|
|
887
|
+
</p>
|
|
888
|
+
</div>
|
|
889
|
+
<div className="mb-6 grid grid-cols-2 gap-4">
|
|
890
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-4">
|
|
891
|
+
<div className="mb-3 flex h-12 w-12 items-center justify-center rounded-lg border border-gray-700 bg-black">
|
|
892
|
+
<ThreadsIcon className="h-6 w-6 text-white" />
|
|
893
|
+
</div>
|
|
894
|
+
<h5 className="mb-2 text-sm font-semibold text-white">
|
|
895
|
+
Text Discussions
|
|
896
|
+
</h5>
|
|
897
|
+
<p className="text-xs text-white/60">
|
|
898
|
+
Share your thoughts in threaded conversations
|
|
899
|
+
with the community
|
|
900
|
+
</p>
|
|
901
|
+
</div>
|
|
902
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-4">
|
|
903
|
+
<div className="mb-3 flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
|
|
904
|
+
<span className="text-xl">🧵</span>
|
|
905
|
+
</div>
|
|
906
|
+
<h5 className="mb-2 text-sm font-semibold text-white">
|
|
907
|
+
Follow Threads
|
|
908
|
+
</h5>
|
|
909
|
+
<p className="text-xs text-white/60">
|
|
910
|
+
Stay updated on conversations that matter to
|
|
911
|
+
you
|
|
912
|
+
</p>
|
|
913
|
+
</div>
|
|
914
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-4">
|
|
915
|
+
<div className="mb-3 flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
|
|
916
|
+
<span className="text-xl">🔗</span>
|
|
917
|
+
</div>
|
|
918
|
+
<h5 className="mb-2 text-sm font-semibold text-white">
|
|
919
|
+
Share Ideas
|
|
920
|
+
</h5>
|
|
921
|
+
<p className="text-xs text-white/60">
|
|
922
|
+
Connect your content across different
|
|
923
|
+
platforms
|
|
924
|
+
</p>
|
|
925
|
+
</div>
|
|
926
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-4">
|
|
927
|
+
<div className="mb-3 flex h-12 w-12 items-center justify-center rounded-lg bg-green-500/20">
|
|
928
|
+
<span className="text-xl">👥</span>
|
|
929
|
+
</div>
|
|
930
|
+
<h5 className="mb-2 text-sm font-semibold text-white">
|
|
931
|
+
Build Community
|
|
932
|
+
</h5>
|
|
933
|
+
<p className="text-xs text-white/60">
|
|
934
|
+
Create meaningful connections through
|
|
935
|
+
authentic conversations
|
|
936
|
+
</p>
|
|
937
|
+
</div>
|
|
938
|
+
</div>
|
|
939
|
+
<div className="text-center">
|
|
940
|
+
<a
|
|
941
|
+
href="#"
|
|
942
|
+
className="inline-flex items-center gap-2 rounded-lg border border-gray-700 bg-black px-6 py-3 font-medium text-white transition-colors hover:bg-gray-800"
|
|
943
|
+
>
|
|
944
|
+
<ThreadsIcon className="h-5 w-5" />
|
|
945
|
+
<span>Start a Thread</span>
|
|
946
|
+
</a>
|
|
947
|
+
</div>
|
|
948
|
+
</div>
|
|
949
|
+
</div>
|
|
950
|
+
</div>
|
|
951
|
+
<div className="rounded-lg bg-black/40 p-4">
|
|
952
|
+
<pre className="overflow-x-auto text-sm !text-green-300">
|
|
953
|
+
{`// Text-based content hub with Threads integration
|
|
954
|
+
<div className="content-hub">
|
|
955
|
+
<div className="hub-header">
|
|
956
|
+
<h2>Join the Conversation</h2>
|
|
957
|
+
<p>Share your thoughts and connect with like-minded people</p>
|
|
958
|
+
</div>
|
|
959
|
+
<div className="feature-grid">
|
|
960
|
+
<div className="feature-card threads-feature">
|
|
961
|
+
<div className="feature-icon">
|
|
962
|
+
<ThreadsIcon className="h-6 w-6 text-white" />
|
|
963
|
+
</div>
|
|
964
|
+
<h3>Text Discussions</h3>
|
|
965
|
+
<p>Share your thoughts in threaded conversations with the community</p>
|
|
966
|
+
</div>
|
|
967
|
+
<FollowThreadsFeature />
|
|
968
|
+
<ShareIdeasFeature />
|
|
969
|
+
<BuildCommunityFeature />
|
|
970
|
+
</div>
|
|
971
|
+
<div className="cta-section">
|
|
972
|
+
<a
|
|
973
|
+
href={threadsCreateUrl}
|
|
974
|
+
className="cta-button threads-cta"
|
|
975
|
+
>
|
|
976
|
+
<ThreadsIcon className="h-5 w-5" />
|
|
977
|
+
<span>Start a Thread</span>
|
|
978
|
+
</a>
|
|
979
|
+
</div>
|
|
980
|
+
</div>`}
|
|
981
|
+
</pre>
|
|
982
|
+
</div>
|
|
983
|
+
</div>
|
|
984
|
+
</div>
|
|
985
|
+
</div>
|
|
986
|
+
</div>
|
|
987
|
+
|
|
988
|
+
{/* Accessibility */}
|
|
989
|
+
<div className="!space-y-8">
|
|
990
|
+
<h2 className="text-center text-3xl font-bold !text-white">
|
|
991
|
+
Accessibility Features
|
|
992
|
+
</h2>
|
|
993
|
+
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
994
|
+
<div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
|
|
995
|
+
<h3 className="text-lg font-semibold !text-green-300">
|
|
996
|
+
✅ Built-in Features
|
|
997
|
+
</h3>
|
|
998
|
+
<ul className="!space-y-2 text-sm !text-white/70">
|
|
999
|
+
<li className="!text-white/70">
|
|
1000
|
+
Uses Radix UI AccessibleIcon wrapper
|
|
1001
|
+
</li>
|
|
1002
|
+
<li className="!text-white/70">
|
|
1003
|
+
Provides screen reader label "Threads icon"
|
|
1004
|
+
</li>
|
|
1005
|
+
<li className="!text-white/70">
|
|
1006
|
+
Supports keyboard navigation when interactive
|
|
1007
|
+
</li>
|
|
1008
|
+
<li className="!text-white/70">
|
|
1009
|
+
High contrast design for visibility
|
|
1010
|
+
</li>
|
|
1011
|
+
<li className="!text-white/70">
|
|
1012
|
+
Maintains aspect ratio across all sizes
|
|
1013
|
+
</li>
|
|
1014
|
+
</ul>
|
|
1015
|
+
</div>
|
|
1016
|
+
|
|
1017
|
+
<div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
|
|
1018
|
+
<h3 className="text-lg font-semibold !text-zinc-300">
|
|
1019
|
+
💡 Best Practices
|
|
1020
|
+
</h3>
|
|
1021
|
+
<ul className="!space-y-2 text-sm text-white/70">
|
|
1022
|
+
<li className="!text-white/70">
|
|
1023
|
+
Always provide descriptive aria-labels for Threads
|
|
1024
|
+
actions
|
|
1025
|
+
</li>
|
|
1026
|
+
<li className="!text-white/70">
|
|
1027
|
+
Use Threads' text-focused branding consistently
|
|
1028
|
+
</li>
|
|
1029
|
+
<li className="!text-white/70">
|
|
1030
|
+
Ensure sufficient contrast with monochrome design
|
|
1031
|
+
</li>
|
|
1032
|
+
<li className="!text-white/70">
|
|
1033
|
+
Include external link indicators for Threads URLs
|
|
1034
|
+
</li>
|
|
1035
|
+
<li className="!text-white/70">
|
|
1036
|
+
Consider conversation context in related features
|
|
1037
|
+
</li>
|
|
1038
|
+
</ul>
|
|
1039
|
+
</div>
|
|
1040
|
+
</div>
|
|
1041
|
+
|
|
1042
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-6">
|
|
1043
|
+
<h3 className="mb-4 text-lg font-semibold !text-blue-300">
|
|
1044
|
+
Proper ARIA Implementation
|
|
1045
|
+
</h3>
|
|
1046
|
+
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
1047
|
+
<div className="rounded-lg bg-black/40 p-4">
|
|
1048
|
+
<pre className="overflow-x-auto text-sm !text-cyan-300">
|
|
1049
|
+
{`// Threads profile link
|
|
1050
|
+
<a
|
|
1051
|
+
href="https://threads.net/@username"
|
|
1052
|
+
className="threads-link"
|
|
1053
|
+
aria-label="Follow @username on Threads"
|
|
1054
|
+
target="_blank"
|
|
1055
|
+
rel="noopener noreferrer"
|
|
1056
|
+
>
|
|
1057
|
+
<ThreadsIcon className="h-5 w-5 text-white" />
|
|
1058
|
+
</a>
|
|
1059
|
+
|
|
1060
|
+
// Discussion thread widget
|
|
1061
|
+
<div className="threads-widget">
|
|
1062
|
+
<h2 id="discussion-title">Latest Discussion</h2>
|
|
1063
|
+
<div
|
|
1064
|
+
className="thread-posts"
|
|
1065
|
+
role="feed"
|
|
1066
|
+
aria-labelledby="discussion-title"
|
|
1067
|
+
>
|
|
1068
|
+
{posts.map(post => (
|
|
1069
|
+
<article
|
|
1070
|
+
key={post.id}
|
|
1071
|
+
aria-label={post.author.name + " posted: " + post.text}
|
|
1072
|
+
>
|
|
1073
|
+
<PostContent post={post} />
|
|
1074
|
+
</article>
|
|
1075
|
+
))}
|
|
1076
|
+
</div>
|
|
1077
|
+
<a
|
|
1078
|
+
href={threadsUrl}
|
|
1079
|
+
aria-label="Continue reading this discussion on Threads"
|
|
1080
|
+
>
|
|
1081
|
+
<ThreadsIcon className="h-4 w-4" />
|
|
1082
|
+
<span>Continue reading on Threads</span>
|
|
1083
|
+
</a>
|
|
1084
|
+
</div>
|
|
1085
|
+
|
|
1086
|
+
// Share to Threads button
|
|
1087
|
+
<button
|
|
1088
|
+
onClick={shareToThreads}
|
|
1089
|
+
className="share-btn"
|
|
1090
|
+
aria-label="Share this content to Threads"
|
|
1091
|
+
>
|
|
1092
|
+
<ThreadsIcon className="h-4 w-4" />
|
|
1093
|
+
<span>Share on Threads</span>
|
|
1094
|
+
</button>
|
|
1095
|
+
|
|
1096
|
+
// Community profile with Threads emphasis
|
|
1097
|
+
<div className="community-profile">
|
|
1098
|
+
<div className="profile-header">
|
|
1099
|
+
<h1>{community.name}</h1>
|
|
1100
|
+
<div className="community-social">
|
|
1101
|
+
<a
|
|
1102
|
+
href={community.threads}
|
|
1103
|
+
className="primary-social-link"
|
|
1104
|
+
aria-label={"Join " + community.name + " community on Threads"}
|
|
1105
|
+
>
|
|
1106
|
+
<ThreadsIcon className="h-5 w-5" />
|
|
1107
|
+
<span className="sr-only">Primary discussion platform</span>
|
|
1108
|
+
</a>
|
|
1109
|
+
</div>
|
|
1110
|
+
</div>
|
|
1111
|
+
</div>
|
|
1112
|
+
|
|
1113
|
+
// Thread creation widget
|
|
1114
|
+
<div
|
|
1115
|
+
className="thread-composer"
|
|
1116
|
+
role="form"
|
|
1117
|
+
aria-label="Create a new thread"
|
|
1118
|
+
>
|
|
1119
|
+
<textarea
|
|
1120
|
+
aria-label="What's on your mind?"
|
|
1121
|
+
placeholder="Start a thread..."
|
|
1122
|
+
/>
|
|
1123
|
+
<button
|
|
1124
|
+
type="submit"
|
|
1125
|
+
aria-label="Post thread to Threads"
|
|
1126
|
+
>
|
|
1127
|
+
<ThreadsIcon className="h-4 w-4" />
|
|
1128
|
+
<span>Post Thread</span>
|
|
1129
|
+
</button>
|
|
1130
|
+
</div>`}
|
|
1131
|
+
</pre>
|
|
1132
|
+
</div>
|
|
1133
|
+
<div className="!space-y-4">
|
|
1134
|
+
<p className="text-sm !text-white/70">
|
|
1135
|
+
When using ThreadsIcon for conversation integration,
|
|
1136
|
+
always provide clear context about the discussion topic
|
|
1137
|
+
and ensure users understand the threading nature of the
|
|
1138
|
+
platform.
|
|
1139
|
+
</p>
|
|
1140
|
+
<div className="rounded-lg border border-zinc-500/20 bg-zinc-500/10 p-4">
|
|
1141
|
+
<div className="flex items-center gap-2 text-sm text-zinc-200">
|
|
1142
|
+
<ThreadsIcon className="h-4 w-4" />
|
|
1143
|
+
<span>
|
|
1144
|
+
Consider conversation flow and threading context for
|
|
1145
|
+
screen readers
|
|
1146
|
+
</span>
|
|
1147
|
+
</div>
|
|
1148
|
+
</div>
|
|
1149
|
+
</div>
|
|
1150
|
+
</div>
|
|
1151
|
+
</div>
|
|
1152
|
+
</div>
|
|
1153
|
+
|
|
1154
|
+
{/* Related Icons */}
|
|
1155
|
+
<div className="!space-y-8">
|
|
1156
|
+
<h2 className="text-center text-3xl font-bold !text-white">
|
|
1157
|
+
Related Icons
|
|
1158
|
+
</h2>
|
|
1159
|
+
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
1160
|
+
<div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
|
|
1161
|
+
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-black">
|
|
1162
|
+
<span className="!text-2xl !text-white">𝕏</span>
|
|
1163
|
+
</div>
|
|
1164
|
+
<div>
|
|
1165
|
+
<div className="font-medium text-white">TwitterXIcon</div>
|
|
1166
|
+
<div className="text-xs text-white/60">
|
|
1167
|
+
Social network
|
|
1168
|
+
</div>
|
|
1169
|
+
</div>
|
|
1170
|
+
</div>
|
|
1171
|
+
<div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
|
|
1172
|
+
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-gradient-to-br from-pink-500 via-purple-500 to-orange-500">
|
|
1173
|
+
<span className="!text-2xl !text-white">📷</span>
|
|
1174
|
+
</div>
|
|
1175
|
+
<div>
|
|
1176
|
+
<div className="font-medium text-white">
|
|
1177
|
+
InstagramIcon
|
|
1178
|
+
</div>
|
|
1179
|
+
<div className="text-xs text-white/60">
|
|
1180
|
+
Visual content
|
|
1181
|
+
</div>
|
|
1182
|
+
</div>
|
|
1183
|
+
</div>
|
|
1184
|
+
<div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
|
|
1185
|
+
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
|
|
1186
|
+
<span className="!text-2xl !text-white">📘</span>
|
|
1187
|
+
</div>
|
|
1188
|
+
<div>
|
|
1189
|
+
<div className="font-medium text-white">FacebookIcon</div>
|
|
1190
|
+
<div className="text-xs text-white/60">
|
|
1191
|
+
Social platform
|
|
1192
|
+
</div>
|
|
1193
|
+
</div>
|
|
1194
|
+
</div>
|
|
1195
|
+
<div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
|
|
1196
|
+
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-600/20">
|
|
1197
|
+
<span className="!text-2xl !text-white">💼</span>
|
|
1198
|
+
</div>
|
|
1199
|
+
<div>
|
|
1200
|
+
<div className="font-medium text-white">LinkedInIcon</div>
|
|
1201
|
+
<div className="text-xs text-white/60">
|
|
1202
|
+
Professional network
|
|
1203
|
+
</div>
|
|
1204
|
+
</div>
|
|
1205
|
+
</div>
|
|
1206
|
+
</div>
|
|
1207
|
+
</div>
|
|
1208
|
+
</div>
|
|
1209
|
+
|
|
1210
|
+
{/* Footer */}
|
|
1211
|
+
<div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
|
|
1212
|
+
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
1213
|
+
<div className="!space-y-4 text-center">
|
|
1214
|
+
<p className="!text-white/60">
|
|
1215
|
+
ThreadsIcon is part of the Aural UI icon library, built with
|
|
1216
|
+
accessibility and conversation platform integration best
|
|
1217
|
+
practices in mind.
|
|
1218
|
+
</p>
|
|
1219
|
+
<p className="text-sm !text-white/40">
|
|
1220
|
+
All icons use Radix UI's AccessibleIcon for screen reader
|
|
1221
|
+
compatibility and follow WCAG guidelines for social platform
|
|
1222
|
+
recognition and conversation accessibility.
|
|
1223
|
+
</p>
|
|
1224
|
+
</div>
|
|
1225
|
+
</div>
|
|
1226
|
+
</div>
|
|
1227
|
+
</div>
|
|
1228
|
+
</>
|
|
1229
|
+
),
|
|
1230
|
+
},
|
|
1231
|
+
},
|
|
1232
|
+
tags: ["autodocs"],
|
|
1233
|
+
argTypes: {
|
|
1234
|
+
width: {
|
|
1235
|
+
control: { type: "range", min: 8, max: 96, step: 2 },
|
|
1236
|
+
description: "Width of the icon (maintains aspect ratio)",
|
|
1237
|
+
},
|
|
1238
|
+
height: {
|
|
1239
|
+
control: { type: "range", min: 8, max: 96, step: 2 },
|
|
1240
|
+
description: "Height of the icon (maintains aspect ratio)",
|
|
1241
|
+
},
|
|
1242
|
+
fill: {
|
|
1243
|
+
control: "color",
|
|
1244
|
+
description: "Fill color of the Threads @ symbol",
|
|
1245
|
+
},
|
|
1246
|
+
className: {
|
|
1247
|
+
control: "text",
|
|
1248
|
+
description: "CSS classes for styling and sizing",
|
|
1249
|
+
},
|
|
1250
|
+
onClick: {
|
|
1251
|
+
action: "clicked",
|
|
1252
|
+
description: "Click handler for social interactions",
|
|
1253
|
+
},
|
|
1254
|
+
},
|
|
1255
|
+
}
|
|
1256
|
+
|
|
1257
|
+
export default meta
|
|
1258
|
+
type Story = StoryObj<typeof ThreadsIcon>
|
|
1259
|
+
|
|
1260
|
+
// Story parameters for consistent dark theme
|
|
1261
|
+
const storyParameters = {
|
|
1262
|
+
backgrounds: {
|
|
1263
|
+
default: "dark",
|
|
1264
|
+
values: [
|
|
1265
|
+
{ name: "dark", value: "#0a0a0a" },
|
|
1266
|
+
{ name: "darker", value: "#000000" },
|
|
1267
|
+
],
|
|
1268
|
+
},
|
|
1269
|
+
}
|
|
1270
|
+
|
|
1271
|
+
export const Default: Story = {
|
|
1272
|
+
args: {
|
|
1273
|
+
className: "h-8 w-8 text-white",
|
|
1274
|
+
},
|
|
1275
|
+
parameters: storyParameters,
|
|
1276
|
+
render: (args) => (
|
|
1277
|
+
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
|
|
1278
|
+
<ThreadsIcon {...args} />
|
|
1279
|
+
</div>
|
|
1280
|
+
),
|
|
1281
|
+
}
|
|
1282
|
+
|
|
1283
|
+
export const SizeVariations: Story = {
|
|
1284
|
+
parameters: {
|
|
1285
|
+
...storyParameters,
|
|
1286
|
+
docs: {
|
|
1287
|
+
description: {
|
|
1288
|
+
story:
|
|
1289
|
+
"ThreadsIcon in different sizes, from small inline social links to large conversation displays.",
|
|
1290
|
+
},
|
|
1291
|
+
},
|
|
1292
|
+
},
|
|
1293
|
+
render: () => (
|
|
1294
|
+
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
|
|
1295
|
+
<div className="text-center">
|
|
1296
|
+
<ThreadsIcon className="!mx-auto mb-2 h-3 w-3 text-white" />
|
|
1297
|
+
<span className="text-xs text-white/60">12px</span>
|
|
1298
|
+
</div>
|
|
1299
|
+
<div className="text-center">
|
|
1300
|
+
<ThreadsIcon className="!mx-auto mb-2 h-4 w-4 text-white" />
|
|
1301
|
+
<span className="text-xs text-white/60">16px</span>
|
|
1302
|
+
</div>
|
|
1303
|
+
<div className="text-center">
|
|
1304
|
+
<ThreadsIcon className="!mx-auto mb-2 h-5 w-5 text-white" />
|
|
1305
|
+
<span className="text-xs text-white/60">20px</span>
|
|
1306
|
+
</div>
|
|
1307
|
+
<div className="text-center">
|
|
1308
|
+
<ThreadsIcon className="!mx-auto mb-2 h-6 w-6 text-white" />
|
|
1309
|
+
<span className="text-xs text-white/60">24px</span>
|
|
1310
|
+
</div>
|
|
1311
|
+
<div className="text-center">
|
|
1312
|
+
<ThreadsIcon className="!mx-auto mb-2 h-8 w-8 text-white" />
|
|
1313
|
+
<span className="text-xs text-white/60">32px</span>
|
|
1314
|
+
</div>
|
|
1315
|
+
<div className="text-center">
|
|
1316
|
+
<ThreadsIcon className="!mx-auto mb-2 h-12 w-12 text-white" />
|
|
1317
|
+
<span className="text-xs text-white/60">48px</span>
|
|
1318
|
+
</div>
|
|
1319
|
+
</div>
|
|
1320
|
+
),
|
|
1321
|
+
}
|
|
1322
|
+
|
|
1323
|
+
export const BrandColors: Story = {
|
|
1324
|
+
parameters: {
|
|
1325
|
+
...storyParameters,
|
|
1326
|
+
docs: {
|
|
1327
|
+
description: {
|
|
1328
|
+
story:
|
|
1329
|
+
"ThreadsIcon in different brand-compliant colors for various design contexts.",
|
|
1330
|
+
},
|
|
1331
|
+
},
|
|
1332
|
+
},
|
|
1333
|
+
render: () => (
|
|
1334
|
+
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8 md:grid-cols-4">
|
|
1335
|
+
<div className="text-center">
|
|
1336
|
+
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg bg-black">
|
|
1337
|
+
<ThreadsIcon className="h-8 w-8 text-white" />
|
|
1338
|
+
</div>
|
|
1339
|
+
<div className="text-sm font-medium text-white">Official Black</div>
|
|
1340
|
+
<div className="text-xs text-white/60">Primary brand</div>
|
|
1341
|
+
</div>
|
|
1342
|
+
<div className="text-center">
|
|
1343
|
+
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-gray-300 bg-white">
|
|
1344
|
+
<ThreadsIcon className="h-8 w-8 text-black" />
|
|
1345
|
+
</div>
|
|
1346
|
+
<div className="text-sm font-medium text-white">Inverted White</div>
|
|
1347
|
+
<div className="text-xs text-white/60">Light backgrounds</div>
|
|
1348
|
+
</div>
|
|
1349
|
+
<div className="text-center">
|
|
1350
|
+
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg bg-gray-600">
|
|
1351
|
+
<ThreadsIcon className="h-8 w-8 text-white" />
|
|
1352
|
+
</div>
|
|
1353
|
+
<div className="text-sm font-medium text-white">Neutral Gray</div>
|
|
1354
|
+
<div className="text-xs text-white/60">Subtle integration</div>
|
|
1355
|
+
</div>
|
|
1356
|
+
<div className="text-center">
|
|
1357
|
+
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg bg-blue-500">
|
|
1358
|
+
<ThreadsIcon className="h-8 w-8 text-white" />
|
|
1359
|
+
</div>
|
|
1360
|
+
<div className="text-sm font-medium text-white">Accent Color</div>
|
|
1361
|
+
<div className="text-xs text-white/60">Themed integration</div>
|
|
1362
|
+
</div>
|
|
1363
|
+
</div>
|
|
1364
|
+
),
|
|
1365
|
+
}
|
|
1366
|
+
|
|
1367
|
+
export const UsageExamples: Story = {
|
|
1368
|
+
parameters: {
|
|
1369
|
+
...storyParameters,
|
|
1370
|
+
docs: {
|
|
1371
|
+
description: {
|
|
1372
|
+
story:
|
|
1373
|
+
"Real-world usage examples showing ThreadsIcon in different conversation and social media contexts.",
|
|
1374
|
+
},
|
|
1375
|
+
},
|
|
1376
|
+
},
|
|
1377
|
+
render: () => (
|
|
1378
|
+
<div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
|
|
1379
|
+
{/* Share Button */}
|
|
1380
|
+
<div className="!space-y-2">
|
|
1381
|
+
<h3 className="text-sm font-medium text-white">Social Share Button</h3>
|
|
1382
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-4">
|
|
1383
|
+
<div className="flex gap-3">
|
|
1384
|
+
<button className="flex items-center gap-2 rounded-lg border border-gray-700 bg-black px-4 py-2 transition-colors hover:bg-gray-800">
|
|
1385
|
+
<ThreadsIcon className="h-4 w-4 text-white" />
|
|
1386
|
+
<span className="text-sm text-white">Share on Threads</span>
|
|
1387
|
+
</button>
|
|
1388
|
+
<button className="flex items-center gap-2 rounded-lg border border-gray-700 bg-black px-4 py-2 transition-colors hover:bg-gray-800">
|
|
1389
|
+
<span className="text-sm text-white">𝕏</span>
|
|
1390
|
+
<span className="text-sm text-white">Share on X</span>
|
|
1391
|
+
</button>
|
|
1392
|
+
</div>
|
|
1393
|
+
</div>
|
|
1394
|
+
</div>
|
|
1395
|
+
|
|
1396
|
+
{/* Discussion Widget */}
|
|
1397
|
+
<div className="!space-y-2">
|
|
1398
|
+
<h3 className="text-sm font-medium text-white">
|
|
1399
|
+
Discussion Thread Widget
|
|
1400
|
+
</h3>
|
|
1401
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-4">
|
|
1402
|
+
<div className="mb-3 flex items-center justify-between">
|
|
1403
|
+
<div className="flex items-center gap-2">
|
|
1404
|
+
<ThreadsIcon className="h-4 w-4 text-white" />
|
|
1405
|
+
<span className="text-sm font-medium text-white">
|
|
1406
|
+
Latest Discussion
|
|
1407
|
+
</span>
|
|
1408
|
+
</div>
|
|
1409
|
+
<a
|
|
1410
|
+
href="#"
|
|
1411
|
+
className="text-xs text-zinc-400 transition-colors hover:text-white"
|
|
1412
|
+
>
|
|
1413
|
+
View Thread
|
|
1414
|
+
</a>
|
|
1415
|
+
</div>
|
|
1416
|
+
<div className="space-y-2">
|
|
1417
|
+
<div className="flex gap-2">
|
|
1418
|
+
<div className="flex h-6 w-6 items-center justify-center rounded-full bg-white/10">
|
|
1419
|
+
<span className="text-xs">👤</span>
|
|
1420
|
+
</div>
|
|
1421
|
+
<div className="flex-1">
|
|
1422
|
+
<div className="text-xs text-white/60">Alex Chen • 2h</div>
|
|
1423
|
+
<div className="text-sm text-white/80">
|
|
1424
|
+
Really excited about the new updates! 🎨
|
|
1425
|
+
</div>
|
|
1426
|
+
</div>
|
|
1427
|
+
</div>
|
|
1428
|
+
</div>
|
|
1429
|
+
</div>
|
|
1430
|
+
</div>
|
|
1431
|
+
|
|
1432
|
+
{/* Social Links */}
|
|
1433
|
+
<div className="!space-y-2">
|
|
1434
|
+
<h3 className="text-sm font-medium text-white">Social Media Links</h3>
|
|
1435
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-4">
|
|
1436
|
+
<div className="flex items-center gap-3">
|
|
1437
|
+
<span className="text-sm text-white/60">
|
|
1438
|
+
Follow the conversation:
|
|
1439
|
+
</span>
|
|
1440
|
+
<div className="flex gap-2">
|
|
1441
|
+
<a
|
|
1442
|
+
href="#"
|
|
1443
|
+
className="rounded border border-gray-700 bg-black p-2 transition-colors hover:bg-gray-800"
|
|
1444
|
+
>
|
|
1445
|
+
<ThreadsIcon className="h-4 w-4 text-white" />
|
|
1446
|
+
</a>
|
|
1447
|
+
<a
|
|
1448
|
+
href="#"
|
|
1449
|
+
className="rounded border border-gray-700 bg-black p-2 transition-colors hover:bg-gray-800"
|
|
1450
|
+
>
|
|
1451
|
+
<span className="text-sm text-white">𝕏</span>
|
|
1452
|
+
</a>
|
|
1453
|
+
<a
|
|
1454
|
+
href="#"
|
|
1455
|
+
className="rounded bg-blue-600 p-2 transition-colors hover:bg-blue-700"
|
|
1456
|
+
>
|
|
1457
|
+
<span className="text-sm text-white">📘</span>
|
|
1458
|
+
</a>
|
|
1459
|
+
</div>
|
|
1460
|
+
</div>
|
|
1461
|
+
</div>
|
|
1462
|
+
</div>
|
|
1463
|
+
</div>
|
|
1464
|
+
),
|
|
1465
|
+
}
|
|
1466
|
+
|
|
1467
|
+
export const Playground: Story = {
|
|
1468
|
+
parameters: {
|
|
1469
|
+
...storyParameters,
|
|
1470
|
+
docs: {
|
|
1471
|
+
description: {
|
|
1472
|
+
story:
|
|
1473
|
+
"Interactive playground to experiment with different ThreadsIcon configurations.",
|
|
1474
|
+
},
|
|
1475
|
+
},
|
|
1476
|
+
},
|
|
1477
|
+
args: {
|
|
1478
|
+
width: 24,
|
|
1479
|
+
height: 24,
|
|
1480
|
+
className: "text-white",
|
|
1481
|
+
},
|
|
1482
|
+
render: (args) => (
|
|
1483
|
+
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
|
|
1484
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-8">
|
|
1485
|
+
<ThreadsIcon {...args} />
|
|
1486
|
+
</div>
|
|
1487
|
+
</div>
|
|
1488
|
+
),
|
|
1489
|
+
}
|