aural-ui 2.0.9 → 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 +102 -111
- package/dist/styles/aural-theme.css +9 -0
- package/package.json +4 -2
|
@@ -0,0 +1,952 @@
|
|
|
1
|
+
import React from "react"
|
|
2
|
+
import type { Meta, StoryObj } from "@storybook/react"
|
|
3
|
+
|
|
4
|
+
import { AppleLogoIcon } from "."
|
|
5
|
+
|
|
6
|
+
const meta: Meta<typeof AppleLogoIcon> = {
|
|
7
|
+
title: "Icons/AppleLogoIcon",
|
|
8
|
+
component: AppleLogoIcon,
|
|
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 !important;
|
|
27
|
+
max-width: none !important;
|
|
28
|
+
background: transparent !important;
|
|
29
|
+
}
|
|
30
|
+
.sbdocs-content {
|
|
31
|
+
max-width: none !important;
|
|
32
|
+
padding: 0 !important;
|
|
33
|
+
margin: 0 !important;
|
|
34
|
+
background: transparent !important;
|
|
35
|
+
}
|
|
36
|
+
.docs-story {
|
|
37
|
+
background: transparent !important;
|
|
38
|
+
}
|
|
39
|
+
.sbdocs {
|
|
40
|
+
background: transparent !important;
|
|
41
|
+
}
|
|
42
|
+
body {
|
|
43
|
+
background: #0a0a0a !important;
|
|
44
|
+
}
|
|
45
|
+
#storybook-docs {
|
|
46
|
+
background: #0a0a0a !important;
|
|
47
|
+
}
|
|
48
|
+
.sbdocs-preview {
|
|
49
|
+
background: transparent !important;
|
|
50
|
+
border: none !important;
|
|
51
|
+
}
|
|
52
|
+
.sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
|
|
53
|
+
color: white !important;
|
|
54
|
+
}
|
|
55
|
+
.sbdocs-p, .sbdocs-li {
|
|
56
|
+
color: rgba(255, 255, 255, 0.7) !important;
|
|
57
|
+
}
|
|
58
|
+
.sbdocs-code {
|
|
59
|
+
background: rgba(255, 255, 255, 0.1) !important;
|
|
60
|
+
color: rgba(168, 85, 247, 1) !important;
|
|
61
|
+
border: 1px solid rgba(255, 255, 255, 0.1) !important;
|
|
62
|
+
}
|
|
63
|
+
.sbdocs-pre {
|
|
64
|
+
background: rgba(0, 0, 0, 0.4) !important;
|
|
65
|
+
border: 1px solid rgba(255, 255, 255, 0.1) !important;
|
|
66
|
+
}
|
|
67
|
+
.sbdocs-table {
|
|
68
|
+
background: rgba(255, 255, 255, 0.05) !important;
|
|
69
|
+
border: 1px solid rgba(255, 255, 255, 0.1) !important;
|
|
70
|
+
}
|
|
71
|
+
.sbdocs-table th {
|
|
72
|
+
background: rgba(255, 255, 255, 0.05) !important;
|
|
73
|
+
color: white !important;
|
|
74
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
|
|
75
|
+
}
|
|
76
|
+
.sbdocs-table td {
|
|
77
|
+
color: rgba(255, 255, 255, 0.7) !important;
|
|
78
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
|
|
79
|
+
}
|
|
80
|
+
`}
|
|
81
|
+
</style>
|
|
82
|
+
|
|
83
|
+
<div className="min-h-screen bg-gradient-to-br from-gray-900 via-blue-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-blue-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-gray-500/30 bg-gradient-to-br from-gray-500/20 to-blue-500/20">
|
|
90
|
+
<AppleLogoIcon className="h-12 w-12 text-white" />
|
|
91
|
+
</div>
|
|
92
|
+
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
93
|
+
AppleLogoIcon
|
|
94
|
+
</h1>
|
|
95
|
+
<p className="!mx-auto max-w-3xl text-xl leading-relaxed !text-white/70">
|
|
96
|
+
The iconic Apple logo for branding, authentication, and
|
|
97
|
+
platform identification. Built with accessibility in mind
|
|
98
|
+
using Radix UI's AccessibleIcon wrapper for seamless screen
|
|
99
|
+
reader support.
|
|
100
|
+
</p>
|
|
101
|
+
|
|
102
|
+
{/* Stats */}
|
|
103
|
+
<div className="flex items-center justify-center gap-8 pt-8">
|
|
104
|
+
<div className="text-center">
|
|
105
|
+
<div className="text-3xl font-bold text-blue-300">
|
|
106
|
+
Accessible
|
|
107
|
+
</div>
|
|
108
|
+
<div className="text-sm text-white/60">
|
|
109
|
+
Screen reader friendly
|
|
110
|
+
</div>
|
|
111
|
+
</div>
|
|
112
|
+
<div className="h-8 w-px bg-white/20" />
|
|
113
|
+
<div className="text-center">
|
|
114
|
+
<div className="text-3xl font-bold text-gray-300">
|
|
115
|
+
Scalable
|
|
116
|
+
</div>
|
|
117
|
+
<div className="text-sm text-white/60">
|
|
118
|
+
Any size needed
|
|
119
|
+
</div>
|
|
120
|
+
</div>
|
|
121
|
+
<div className="h-8 w-px bg-white/20" />
|
|
122
|
+
<div className="text-center">
|
|
123
|
+
<div className="text-3xl font-bold text-purple-300">
|
|
124
|
+
Flexible
|
|
125
|
+
</div>
|
|
126
|
+
<div className="text-sm text-white/60">
|
|
127
|
+
Customizable styling
|
|
128
|
+
</div>
|
|
129
|
+
</div>
|
|
130
|
+
</div>
|
|
131
|
+
</div>
|
|
132
|
+
</div>
|
|
133
|
+
</div>
|
|
134
|
+
|
|
135
|
+
{/* Content */}
|
|
136
|
+
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
137
|
+
{/* Quick Usage */}
|
|
138
|
+
<div className="!space-y-8">
|
|
139
|
+
<h2 className="text-center text-3xl font-bold !text-white">
|
|
140
|
+
Quick Start
|
|
141
|
+
</h2>
|
|
142
|
+
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
143
|
+
<div className="!space-y-4">
|
|
144
|
+
<h3 className="text-xl font-semibold !text-blue-300">
|
|
145
|
+
Basic Usage
|
|
146
|
+
</h3>
|
|
147
|
+
<div className="rounded-lg bg-black/40 p-4">
|
|
148
|
+
<pre className="overflow-x-auto text-sm !text-green-300">
|
|
149
|
+
{`import { AppleLogoIcon } from "@icons/apple-logo-icon"
|
|
150
|
+
|
|
151
|
+
function LoginPage() {
|
|
152
|
+
return (
|
|
153
|
+
<button className="flex items-center gap-3">
|
|
154
|
+
<AppleLogoIcon className="h-5 w-5 text-white" />
|
|
155
|
+
<span>Sign in with Apple</span>
|
|
156
|
+
</button>
|
|
157
|
+
)
|
|
158
|
+
}`}
|
|
159
|
+
</pre>
|
|
160
|
+
</div>
|
|
161
|
+
</div>
|
|
162
|
+
|
|
163
|
+
<div className="!space-y-4">
|
|
164
|
+
<h3 className="text-xl font-semibold !text-blue-300">
|
|
165
|
+
Live Preview
|
|
166
|
+
</h3>
|
|
167
|
+
<div className="flex h-32 items-center justify-center rounded-lg border border-white/10 bg-white/5">
|
|
168
|
+
<button className="flex items-center gap-3 rounded-lg border border-gray-500/20 bg-black px-6 py-3 transition-colors hover:bg-gray-900">
|
|
169
|
+
<AppleLogoIcon className="h-5 w-5 text-white" />
|
|
170
|
+
<span className="text-white">Sign in with Apple</span>
|
|
171
|
+
</button>
|
|
172
|
+
</div>
|
|
173
|
+
</div>
|
|
174
|
+
</div>
|
|
175
|
+
</div>
|
|
176
|
+
|
|
177
|
+
{/* Props Documentation */}
|
|
178
|
+
<div className="!space-y-8">
|
|
179
|
+
<h2 className="text-center text-3xl font-bold !text-white">
|
|
180
|
+
Props & Configuration
|
|
181
|
+
</h2>
|
|
182
|
+
|
|
183
|
+
<div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
|
|
184
|
+
<div className="bg-white/5 p-4">
|
|
185
|
+
<h3 className="text-xl font-semibold !text-white">Props</h3>
|
|
186
|
+
</div>
|
|
187
|
+
<table className="!my-0 w-full">
|
|
188
|
+
<thead className="bg-white/5">
|
|
189
|
+
<tr className="border-b border-white/10">
|
|
190
|
+
<th className="px-6 py-4 text-left text-sm font-semibold !text-white">
|
|
191
|
+
Prop
|
|
192
|
+
</th>
|
|
193
|
+
<th className="px-6 py-4 text-left text-sm font-semibold !text-white">
|
|
194
|
+
Type
|
|
195
|
+
</th>
|
|
196
|
+
<th className="px-6 py-4 text-left text-sm font-semibold !text-white">
|
|
197
|
+
Default
|
|
198
|
+
</th>
|
|
199
|
+
<th className="px-6 py-4 text-left text-sm font-semibold !text-white">
|
|
200
|
+
Description
|
|
201
|
+
</th>
|
|
202
|
+
</tr>
|
|
203
|
+
</thead>
|
|
204
|
+
<tbody>
|
|
205
|
+
<tr className="border-b border-white/5">
|
|
206
|
+
<td className="px-6 py-4 font-mono text-sm !text-blue-300">
|
|
207
|
+
width
|
|
208
|
+
</td>
|
|
209
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
210
|
+
number | string
|
|
211
|
+
</td>
|
|
212
|
+
<td className="px-6 py-4 text-sm !text-white/50">20</td>
|
|
213
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
214
|
+
Width of the icon in pixels
|
|
215
|
+
</td>
|
|
216
|
+
</tr>
|
|
217
|
+
<tr className="border-b border-white/5 !bg-black/10">
|
|
218
|
+
<td className="px-6 py-4 font-mono text-sm !text-blue-300">
|
|
219
|
+
height
|
|
220
|
+
</td>
|
|
221
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
222
|
+
number | string
|
|
223
|
+
</td>
|
|
224
|
+
<td className="px-6 py-4 text-sm !text-white/50">20</td>
|
|
225
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
226
|
+
Height of the icon in pixels
|
|
227
|
+
</td>
|
|
228
|
+
</tr>
|
|
229
|
+
<tr className="border-b border-white/5">
|
|
230
|
+
<td className="px-6 py-4 font-mono text-sm !text-blue-300">
|
|
231
|
+
fill
|
|
232
|
+
</td>
|
|
233
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
234
|
+
string
|
|
235
|
+
</td>
|
|
236
|
+
<td className="px-6 py-4 text-sm !text-white/50">
|
|
237
|
+
#fff
|
|
238
|
+
</td>
|
|
239
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
240
|
+
Fill color of the icon
|
|
241
|
+
</td>
|
|
242
|
+
</tr>
|
|
243
|
+
<tr className="border-b border-white/5 !bg-black/10">
|
|
244
|
+
<td className="px-6 py-4 font-mono text-sm !text-blue-300">
|
|
245
|
+
className
|
|
246
|
+
</td>
|
|
247
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
248
|
+
string
|
|
249
|
+
</td>
|
|
250
|
+
<td className="px-6 py-4 text-sm !text-white/50">-</td>
|
|
251
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
252
|
+
CSS classes for styling
|
|
253
|
+
</td>
|
|
254
|
+
</tr>
|
|
255
|
+
<tr className="!bg-black/10">
|
|
256
|
+
<td className="px-6 py-4 font-mono text-sm !text-blue-300">
|
|
257
|
+
...svgProps
|
|
258
|
+
</td>
|
|
259
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
260
|
+
SVGProps
|
|
261
|
+
</td>
|
|
262
|
+
<td className="px-6 py-4 text-sm !text-white/50">-</td>
|
|
263
|
+
<td className="px-6 py-4 text-sm !text-white/70">
|
|
264
|
+
All standard SVG element props
|
|
265
|
+
</td>
|
|
266
|
+
</tr>
|
|
267
|
+
</tbody>
|
|
268
|
+
</table>
|
|
269
|
+
</div>
|
|
270
|
+
</div>
|
|
271
|
+
|
|
272
|
+
{/* Size Variations */}
|
|
273
|
+
<div className="!space-y-8">
|
|
274
|
+
<h2 className="text-center text-3xl font-bold !text-white">
|
|
275
|
+
Size Variations
|
|
276
|
+
</h2>
|
|
277
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-8">
|
|
278
|
+
<div className="!space-y-6">
|
|
279
|
+
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
280
|
+
<div className="!space-y-4">
|
|
281
|
+
<h3 className="text-lg font-semibold !text-blue-300">
|
|
282
|
+
Standard Sizes
|
|
283
|
+
</h3>
|
|
284
|
+
<div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
|
|
285
|
+
<div className="text-center">
|
|
286
|
+
<AppleLogoIcon className="!mx-auto mb-2 h-3 w-3 text-white" />
|
|
287
|
+
<span className="text-xs text-white/60">12px</span>
|
|
288
|
+
</div>
|
|
289
|
+
<div className="text-center">
|
|
290
|
+
<AppleLogoIcon className="!mx-auto mb-2 h-4 w-4 text-white" />
|
|
291
|
+
<span className="text-xs text-white/60">16px</span>
|
|
292
|
+
</div>
|
|
293
|
+
<div className="text-center">
|
|
294
|
+
<AppleLogoIcon className="!mx-auto mb-2 h-5 w-5 text-white" />
|
|
295
|
+
<span className="text-xs text-white/60">20px</span>
|
|
296
|
+
</div>
|
|
297
|
+
<div className="text-center">
|
|
298
|
+
<AppleLogoIcon className="!mx-auto mb-2 h-6 w-6 text-white" />
|
|
299
|
+
<span className="text-xs text-white/60">24px</span>
|
|
300
|
+
</div>
|
|
301
|
+
<div className="text-center">
|
|
302
|
+
<AppleLogoIcon className="!mx-auto mb-2 h-8 w-8 text-white" />
|
|
303
|
+
<span className="text-xs text-white/60">32px</span>
|
|
304
|
+
</div>
|
|
305
|
+
<div className="text-center">
|
|
306
|
+
<AppleLogoIcon className="!mx-auto mb-2 h-12 w-12 text-white" />
|
|
307
|
+
<span className="text-xs text-white/60">48px</span>
|
|
308
|
+
</div>
|
|
309
|
+
</div>
|
|
310
|
+
</div>
|
|
311
|
+
|
|
312
|
+
<div className="!space-y-4">
|
|
313
|
+
<h3 className="text-lg font-semibold !text-blue-300">
|
|
314
|
+
Code Example
|
|
315
|
+
</h3>
|
|
316
|
+
<div className="rounded-lg bg-black/40 p-4">
|
|
317
|
+
<pre className="overflow-x-auto text-sm !text-blue-300">
|
|
318
|
+
{`// Small (16px)
|
|
319
|
+
<AppleLogoIcon className="h-4 w-4" />
|
|
320
|
+
|
|
321
|
+
// Medium (24px)
|
|
322
|
+
<AppleLogoIcon className="h-6 w-6" />
|
|
323
|
+
|
|
324
|
+
// Large (32px)
|
|
325
|
+
<AppleLogoIcon className="h-8 w-8" />
|
|
326
|
+
|
|
327
|
+
// Custom size
|
|
328
|
+
<AppleLogoIcon width={40} height={40} />`}
|
|
329
|
+
</pre>
|
|
330
|
+
</div>
|
|
331
|
+
</div>
|
|
332
|
+
</div>
|
|
333
|
+
</div>
|
|
334
|
+
</div>
|
|
335
|
+
</div>
|
|
336
|
+
|
|
337
|
+
{/* Color Variations */}
|
|
338
|
+
<div className="!space-y-8">
|
|
339
|
+
<h2 className="text-center text-3xl font-bold !text-white">
|
|
340
|
+
Color Variations
|
|
341
|
+
</h2>
|
|
342
|
+
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
343
|
+
<div className="!space-y-4">
|
|
344
|
+
<h3 className="text-lg font-semibold !text-blue-300">
|
|
345
|
+
Brand Colors
|
|
346
|
+
</h3>
|
|
347
|
+
<div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
|
|
348
|
+
<div className="flex items-center gap-4">
|
|
349
|
+
<AppleLogoIcon className="h-6 w-6 text-white" />
|
|
350
|
+
<div>
|
|
351
|
+
<div className="text-sm font-medium text-white">
|
|
352
|
+
Classic White
|
|
353
|
+
</div>
|
|
354
|
+
<div className="text-xs text-white/60">
|
|
355
|
+
text-white
|
|
356
|
+
</div>
|
|
357
|
+
</div>
|
|
358
|
+
</div>
|
|
359
|
+
<div className="flex items-center gap-4">
|
|
360
|
+
<AppleLogoIcon className="h-6 w-6 text-gray-800" />
|
|
361
|
+
<div>
|
|
362
|
+
<div className="text-sm font-medium text-white">
|
|
363
|
+
Space Gray
|
|
364
|
+
</div>
|
|
365
|
+
<div className="text-xs text-white/60">
|
|
366
|
+
text-gray-800
|
|
367
|
+
</div>
|
|
368
|
+
</div>
|
|
369
|
+
</div>
|
|
370
|
+
<div className="flex items-center gap-4">
|
|
371
|
+
<AppleLogoIcon className="h-6 w-6 text-blue-500" />
|
|
372
|
+
<div>
|
|
373
|
+
<div className="text-sm font-medium text-white">
|
|
374
|
+
Apple Blue
|
|
375
|
+
</div>
|
|
376
|
+
<div className="text-xs text-white/60">
|
|
377
|
+
text-blue-500
|
|
378
|
+
</div>
|
|
379
|
+
</div>
|
|
380
|
+
</div>
|
|
381
|
+
<div className="flex items-center gap-4">
|
|
382
|
+
<AppleLogoIcon className="h-6 w-6 text-gray-400" />
|
|
383
|
+
<div>
|
|
384
|
+
<div className="text-sm font-medium text-white">
|
|
385
|
+
Neutral
|
|
386
|
+
</div>
|
|
387
|
+
<div className="text-xs text-white/60">
|
|
388
|
+
text-gray-400
|
|
389
|
+
</div>
|
|
390
|
+
</div>
|
|
391
|
+
</div>
|
|
392
|
+
</div>
|
|
393
|
+
</div>
|
|
394
|
+
|
|
395
|
+
<div className="!space-y-4">
|
|
396
|
+
<h3 className="text-lg font-semibold !text-blue-300">
|
|
397
|
+
Custom Colors
|
|
398
|
+
</h3>
|
|
399
|
+
<div className="rounded-lg bg-black/40 p-4">
|
|
400
|
+
<pre className="overflow-x-auto text-sm !text-green-300">
|
|
401
|
+
{`// Using Tailwind classes
|
|
402
|
+
<AppleLogoIcon className="h-6 w-6 text-white" />
|
|
403
|
+
<AppleLogoIcon className="h-6 w-6 text-gray-800" />
|
|
404
|
+
|
|
405
|
+
// Using CSS custom properties
|
|
406
|
+
<AppleLogoIcon
|
|
407
|
+
className="h-6 w-6"
|
|
408
|
+
style={{ color: 'var(--brand-primary)' }}
|
|
409
|
+
/>
|
|
410
|
+
|
|
411
|
+
// Direct fill prop
|
|
412
|
+
<AppleLogoIcon
|
|
413
|
+
width={24}
|
|
414
|
+
height={24}
|
|
415
|
+
fill="#ffffff"
|
|
416
|
+
/>`}
|
|
417
|
+
</pre>
|
|
418
|
+
</div>
|
|
419
|
+
</div>
|
|
420
|
+
</div>
|
|
421
|
+
</div>
|
|
422
|
+
|
|
423
|
+
{/* Usage Examples */}
|
|
424
|
+
<div className="!space-y-8">
|
|
425
|
+
<h2 className="text-center text-3xl font-bold !text-white">
|
|
426
|
+
Usage Examples
|
|
427
|
+
</h2>
|
|
428
|
+
|
|
429
|
+
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
430
|
+
{/* Authentication Button */}
|
|
431
|
+
<div className="!space-y-4">
|
|
432
|
+
<h3 className="text-lg font-semibold !text-blue-300">
|
|
433
|
+
Authentication Button
|
|
434
|
+
</h3>
|
|
435
|
+
<div className="!space-y-4">
|
|
436
|
+
<div className="flex gap-4">
|
|
437
|
+
<button className="flex items-center gap-3 rounded-lg bg-black px-6 py-3 text-white transition-colors hover:bg-gray-900">
|
|
438
|
+
<AppleLogoIcon className="h-5 w-5" />
|
|
439
|
+
Sign in with Apple
|
|
440
|
+
</button>
|
|
441
|
+
<button className="flex items-center gap-3 rounded-lg border border-white/20 bg-white/5 px-4 py-2 text-white transition-colors hover:bg-white/10">
|
|
442
|
+
<AppleLogoIcon className="h-4 w-4" />
|
|
443
|
+
Continue
|
|
444
|
+
</button>
|
|
445
|
+
</div>
|
|
446
|
+
<div className="rounded-lg bg-black/40 p-4">
|
|
447
|
+
<pre className="overflow-x-auto text-sm !text-green-300">
|
|
448
|
+
{`// Primary authentication button
|
|
449
|
+
<button className="flex items-center gap-3 bg-black px-6 py-3 rounded-lg text-white">
|
|
450
|
+
<AppleLogoIcon className="h-5 w-5" />
|
|
451
|
+
Sign in with Apple
|
|
452
|
+
</button>
|
|
453
|
+
|
|
454
|
+
// Secondary continue button
|
|
455
|
+
<button className="flex items-center gap-3 bg-white/5 border border-white/20 px-4 py-2 rounded-lg">
|
|
456
|
+
<AppleLogoIcon className="h-4 w-4" />
|
|
457
|
+
Continue
|
|
458
|
+
</button>`}
|
|
459
|
+
</pre>
|
|
460
|
+
</div>
|
|
461
|
+
</div>
|
|
462
|
+
</div>
|
|
463
|
+
|
|
464
|
+
{/* App Footer */}
|
|
465
|
+
<div className="!space-y-4">
|
|
466
|
+
<h3 className="text-lg font-semibold !text-blue-300">
|
|
467
|
+
App Footer
|
|
468
|
+
</h3>
|
|
469
|
+
<div className="!space-y-4">
|
|
470
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-6">
|
|
471
|
+
<div className="flex items-center justify-center gap-4">
|
|
472
|
+
<span className="text-sm text-white/70">
|
|
473
|
+
Available on
|
|
474
|
+
</span>
|
|
475
|
+
<div className="flex items-center gap-2">
|
|
476
|
+
<AppleLogoIcon className="h-6 w-6 text-white" />
|
|
477
|
+
<span className="text-white">App Store</span>
|
|
478
|
+
</div>
|
|
479
|
+
</div>
|
|
480
|
+
</div>
|
|
481
|
+
<div className="rounded-lg bg-black/40 p-4">
|
|
482
|
+
<pre className="overflow-x-auto text-sm !text-green-300">
|
|
483
|
+
{`<div className="flex items-center justify-center gap-4">
|
|
484
|
+
<span className="text-sm text-white/70">Available on</span>
|
|
485
|
+
<div className="flex items-center gap-2">
|
|
486
|
+
<AppleLogoIcon className="h-6 w-6 text-white" />
|
|
487
|
+
<span className="text-white">App Store</span>
|
|
488
|
+
</div>
|
|
489
|
+
</div>`}
|
|
490
|
+
</pre>
|
|
491
|
+
</div>
|
|
492
|
+
</div>
|
|
493
|
+
</div>
|
|
494
|
+
|
|
495
|
+
{/* Platform Badge */}
|
|
496
|
+
<div className="!space-y-4">
|
|
497
|
+
<h3 className="text-lg font-semibold !text-blue-300">
|
|
498
|
+
Platform Badge
|
|
499
|
+
</h3>
|
|
500
|
+
<div className="!space-y-4">
|
|
501
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-6">
|
|
502
|
+
<div className="inline-flex items-center gap-2 rounded-full border border-gray-500/30 bg-gray-500/10 px-3 py-1">
|
|
503
|
+
<AppleLogoIcon className="h-4 w-4 text-white" />
|
|
504
|
+
<span className="text-sm text-white">macOS</span>
|
|
505
|
+
</div>
|
|
506
|
+
</div>
|
|
507
|
+
<div className="rounded-lg bg-black/40 p-4">
|
|
508
|
+
<pre className="overflow-x-auto text-sm !text-green-300">
|
|
509
|
+
{`<div className="inline-flex items-center gap-2 rounded-full border border-gray-500/30 bg-gray-500/10 px-3 py-1">
|
|
510
|
+
<AppleLogoIcon className="h-4 w-4 text-white" />
|
|
511
|
+
<span className="text-sm text-white">macOS</span>
|
|
512
|
+
</div>`}
|
|
513
|
+
</pre>
|
|
514
|
+
</div>
|
|
515
|
+
</div>
|
|
516
|
+
</div>
|
|
517
|
+
|
|
518
|
+
{/* Download Card */}
|
|
519
|
+
<div className="!space-y-4">
|
|
520
|
+
<h3 className="text-lg font-semibold !text-blue-300">
|
|
521
|
+
Download Card
|
|
522
|
+
</h3>
|
|
523
|
+
<div className="!space-y-4">
|
|
524
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-6">
|
|
525
|
+
<div className="flex items-center justify-between">
|
|
526
|
+
<div className="flex items-center gap-4">
|
|
527
|
+
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-black">
|
|
528
|
+
<AppleLogoIcon className="h-6 w-6 text-white" />
|
|
529
|
+
</div>
|
|
530
|
+
<div>
|
|
531
|
+
<div className="font-medium text-white">
|
|
532
|
+
iOS App
|
|
533
|
+
</div>
|
|
534
|
+
<div className="text-sm text-white/60">
|
|
535
|
+
Download for iPhone & iPad
|
|
536
|
+
</div>
|
|
537
|
+
</div>
|
|
538
|
+
</div>
|
|
539
|
+
<button className="rounded-lg bg-blue-500 px-4 py-2 text-sm text-white transition-colors hover:bg-blue-600">
|
|
540
|
+
Download
|
|
541
|
+
</button>
|
|
542
|
+
</div>
|
|
543
|
+
</div>
|
|
544
|
+
<div className="rounded-lg bg-black/40 p-4">
|
|
545
|
+
<pre className="overflow-x-auto text-sm !text-green-300">
|
|
546
|
+
{`<div className="flex items-center justify-between">
|
|
547
|
+
<div className="flex items-center gap-4">
|
|
548
|
+
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-black">
|
|
549
|
+
<AppleLogoIcon className="h-6 w-6 text-white" />
|
|
550
|
+
</div>
|
|
551
|
+
<div>
|
|
552
|
+
<div className="font-medium text-white">iOS App</div>
|
|
553
|
+
<div className="text-sm text-white/60">Download for iPhone & iPad</div>
|
|
554
|
+
</div>
|
|
555
|
+
</div>
|
|
556
|
+
<button className="bg-blue-500 hover:bg-blue-600 px-4 py-2 rounded-lg text-sm text-white">
|
|
557
|
+
Download
|
|
558
|
+
</button>
|
|
559
|
+
</div>`}
|
|
560
|
+
</pre>
|
|
561
|
+
</div>
|
|
562
|
+
</div>
|
|
563
|
+
</div>
|
|
564
|
+
</div>
|
|
565
|
+
</div>
|
|
566
|
+
|
|
567
|
+
{/* Accessibility */}
|
|
568
|
+
<div className="!space-y-8">
|
|
569
|
+
<h2 className="text-center text-3xl font-bold !text-white">
|
|
570
|
+
Accessibility Features
|
|
571
|
+
</h2>
|
|
572
|
+
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
573
|
+
<div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
|
|
574
|
+
<h3 className="text-lg font-semibold !text-green-300">
|
|
575
|
+
✅ Built-in Features
|
|
576
|
+
</h3>
|
|
577
|
+
<ul className="!space-y-2 text-sm !text-white/70">
|
|
578
|
+
<li className="!text-white/70">
|
|
579
|
+
Uses Radix UI AccessibleIcon wrapper
|
|
580
|
+
</li>
|
|
581
|
+
<li className="!text-white/70">
|
|
582
|
+
Provides screen reader label "Apple logo"
|
|
583
|
+
</li>
|
|
584
|
+
<li className="!text-white/70">
|
|
585
|
+
Supports keyboard navigation when interactive
|
|
586
|
+
</li>
|
|
587
|
+
<li className="!text-white/70">
|
|
588
|
+
Maintains proper color contrast ratios
|
|
589
|
+
</li>
|
|
590
|
+
<li className="!text-white/70">
|
|
591
|
+
Scales with user's font size preferences
|
|
592
|
+
</li>
|
|
593
|
+
</ul>
|
|
594
|
+
</div>
|
|
595
|
+
|
|
596
|
+
<div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
|
|
597
|
+
<h3 className="text-lg font-semibold !text-blue-300">
|
|
598
|
+
💡 Best Practices
|
|
599
|
+
</h3>
|
|
600
|
+
<ul className="!space-y-2 text-sm text-white/70">
|
|
601
|
+
<li className="!text-white/70">
|
|
602
|
+
Always pair with descriptive text for actions
|
|
603
|
+
</li>
|
|
604
|
+
<li className="!text-white/70">
|
|
605
|
+
Use consistent sizing across similar contexts
|
|
606
|
+
</li>
|
|
607
|
+
<li className="!text-white/70">
|
|
608
|
+
Ensure sufficient color contrast on backgrounds
|
|
609
|
+
</li>
|
|
610
|
+
<li className="!text-white/70">
|
|
611
|
+
Add focus states for interactive elements
|
|
612
|
+
</li>
|
|
613
|
+
<li className="!text-white/70">
|
|
614
|
+
Consider brand guidelines for Apple logo usage
|
|
615
|
+
</li>
|
|
616
|
+
</ul>
|
|
617
|
+
</div>
|
|
618
|
+
</div>
|
|
619
|
+
|
|
620
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-6">
|
|
621
|
+
<h3 className="mb-4 text-lg font-semibold !text-purple-300">
|
|
622
|
+
Custom Accessibility Label
|
|
623
|
+
</h3>
|
|
624
|
+
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
625
|
+
<div className="rounded-lg bg-black/40 p-4">
|
|
626
|
+
<pre className="overflow-x-auto text-sm !text-blue-300">
|
|
627
|
+
{`// Custom implementation with specific label
|
|
628
|
+
import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
|
|
629
|
+
|
|
630
|
+
function CustomAppleIcon({ label = "Apple", ...props }) {
|
|
631
|
+
return (
|
|
632
|
+
<AccessibleIcon label={label}>
|
|
633
|
+
<AppleLogoIcon {...props} />
|
|
634
|
+
</AccessibleIcon>
|
|
635
|
+
)
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
// Usage with specific context
|
|
639
|
+
<CustomAppleIcon
|
|
640
|
+
label="Sign in with Apple"
|
|
641
|
+
className="h-5 w-5 text-white"
|
|
642
|
+
/>`}
|
|
643
|
+
</pre>
|
|
644
|
+
</div>
|
|
645
|
+
<div className="!space-y-4">
|
|
646
|
+
<p className="text-sm !text-white/70">
|
|
647
|
+
For specific contexts, you can wrap the AppleLogoIcon
|
|
648
|
+
with a custom AccessibleIcon component that provides
|
|
649
|
+
more descriptive labels for authentication or platform
|
|
650
|
+
identification.
|
|
651
|
+
</p>
|
|
652
|
+
<div className="rounded-lg border border-blue-500/20 bg-blue-500/10 p-4">
|
|
653
|
+
<div className="flex items-center gap-2 text-sm text-blue-200">
|
|
654
|
+
<AppleLogoIcon className="h-4 w-4" />
|
|
655
|
+
<span>
|
|
656
|
+
This approach gives screen readers more context
|
|
657
|
+
</span>
|
|
658
|
+
</div>
|
|
659
|
+
</div>
|
|
660
|
+
</div>
|
|
661
|
+
</div>
|
|
662
|
+
</div>
|
|
663
|
+
</div>
|
|
664
|
+
|
|
665
|
+
{/* Related Icons */}
|
|
666
|
+
<div className="!space-y-8">
|
|
667
|
+
<h2 className="text-center text-3xl font-bold !text-white">
|
|
668
|
+
Related Icons
|
|
669
|
+
</h2>
|
|
670
|
+
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
671
|
+
<div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
|
|
672
|
+
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-green-500/20">
|
|
673
|
+
<span className="text-2xl">🔐</span>
|
|
674
|
+
</div>
|
|
675
|
+
<div>
|
|
676
|
+
<div className="font-medium text-white">LoginIcon</div>
|
|
677
|
+
<div className="text-xs text-white/60">
|
|
678
|
+
Authentication
|
|
679
|
+
</div>
|
|
680
|
+
</div>
|
|
681
|
+
</div>
|
|
682
|
+
<div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
|
|
683
|
+
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
|
|
684
|
+
<span className="text-2xl">👤</span>
|
|
685
|
+
</div>
|
|
686
|
+
<div>
|
|
687
|
+
<div className="font-medium text-white">UserIcon</div>
|
|
688
|
+
<div className="text-xs text-white/60">User profile</div>
|
|
689
|
+
</div>
|
|
690
|
+
</div>
|
|
691
|
+
<div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
|
|
692
|
+
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-orange-500/20">
|
|
693
|
+
<span className="text-2xl">📱</span>
|
|
694
|
+
</div>
|
|
695
|
+
<div>
|
|
696
|
+
<div className="font-medium text-white">MobileIcon</div>
|
|
697
|
+
<div className="text-xs text-white/60">
|
|
698
|
+
Device platform
|
|
699
|
+
</div>
|
|
700
|
+
</div>
|
|
701
|
+
</div>
|
|
702
|
+
<div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
|
|
703
|
+
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
|
|
704
|
+
<span className="text-2xl">⬇️</span>
|
|
705
|
+
</div>
|
|
706
|
+
<div>
|
|
707
|
+
<div className="font-medium text-white">DownloadIcon</div>
|
|
708
|
+
<div className="text-xs text-white/60">Download apps</div>
|
|
709
|
+
</div>
|
|
710
|
+
</div>
|
|
711
|
+
</div>
|
|
712
|
+
</div>
|
|
713
|
+
</div>
|
|
714
|
+
|
|
715
|
+
{/* Footer */}
|
|
716
|
+
<div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
|
|
717
|
+
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
718
|
+
<div className="!space-y-4 text-center">
|
|
719
|
+
<p className="!text-white/60">
|
|
720
|
+
AppleLogoIcon is part of the Aural UI icon library, built
|
|
721
|
+
with accessibility and brand consistency in mind.
|
|
722
|
+
</p>
|
|
723
|
+
<p className="text-sm !text-white/40">
|
|
724
|
+
All icons use Radix UI's AccessibleIcon for screen reader
|
|
725
|
+
compatibility and follow WCAG guidelines.
|
|
726
|
+
</p>
|
|
727
|
+
</div>
|
|
728
|
+
</div>
|
|
729
|
+
</div>
|
|
730
|
+
</div>
|
|
731
|
+
</>
|
|
732
|
+
),
|
|
733
|
+
},
|
|
734
|
+
},
|
|
735
|
+
tags: ["autodocs"],
|
|
736
|
+
argTypes: {
|
|
737
|
+
width: {
|
|
738
|
+
control: { type: "range", min: 8, max: 96, step: 2 },
|
|
739
|
+
description: "Width of the icon in pixels",
|
|
740
|
+
},
|
|
741
|
+
height: {
|
|
742
|
+
control: { type: "range", min: 8, max: 96, step: 2 },
|
|
743
|
+
description: "Height of the icon in pixels",
|
|
744
|
+
},
|
|
745
|
+
fill: {
|
|
746
|
+
control: "color",
|
|
747
|
+
description: "Fill color of the icon",
|
|
748
|
+
},
|
|
749
|
+
className: {
|
|
750
|
+
control: "text",
|
|
751
|
+
description: "CSS classes for styling",
|
|
752
|
+
},
|
|
753
|
+
},
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
export default meta
|
|
757
|
+
type Story = StoryObj<typeof AppleLogoIcon>
|
|
758
|
+
|
|
759
|
+
// Story parameters for consistent dark theme
|
|
760
|
+
const storyParameters = {
|
|
761
|
+
backgrounds: {
|
|
762
|
+
default: "dark",
|
|
763
|
+
values: [
|
|
764
|
+
{ name: "dark", value: "#0a0a0a" },
|
|
765
|
+
{ name: "darker", value: "#000000" },
|
|
766
|
+
],
|
|
767
|
+
},
|
|
768
|
+
}
|
|
769
|
+
|
|
770
|
+
export const Default: Story = {
|
|
771
|
+
args: {
|
|
772
|
+
width: 20,
|
|
773
|
+
height: 20,
|
|
774
|
+
className: "text-white",
|
|
775
|
+
},
|
|
776
|
+
parameters: storyParameters,
|
|
777
|
+
render: (args) => (
|
|
778
|
+
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
|
|
779
|
+
<AppleLogoIcon {...args} />
|
|
780
|
+
</div>
|
|
781
|
+
),
|
|
782
|
+
}
|
|
783
|
+
|
|
784
|
+
export const SizeVariations: Story = {
|
|
785
|
+
parameters: {
|
|
786
|
+
...storyParameters,
|
|
787
|
+
docs: {
|
|
788
|
+
description: {
|
|
789
|
+
story:
|
|
790
|
+
"AppleLogoIcon in different sizes, from small UI elements to large brand displays.",
|
|
791
|
+
},
|
|
792
|
+
},
|
|
793
|
+
},
|
|
794
|
+
render: () => (
|
|
795
|
+
<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">
|
|
796
|
+
<div className="text-center">
|
|
797
|
+
<AppleLogoIcon className="!mx-auto mb-2 h-3 w-3 text-white" />
|
|
798
|
+
<span className="text-xs text-white/60">12px</span>
|
|
799
|
+
</div>
|
|
800
|
+
<div className="text-center">
|
|
801
|
+
<AppleLogoIcon className="!mx-auto mb-2 h-4 w-4 text-white" />
|
|
802
|
+
<span className="text-xs text-white/60">16px</span>
|
|
803
|
+
</div>
|
|
804
|
+
<div className="text-center">
|
|
805
|
+
<AppleLogoIcon className="!mx-auto mb-2 h-5 w-5 text-white" />
|
|
806
|
+
<span className="text-xs text-white/60">20px</span>
|
|
807
|
+
</div>
|
|
808
|
+
<div className="text-center">
|
|
809
|
+
<AppleLogoIcon className="!mx-auto mb-2 h-6 w-6 text-white" />
|
|
810
|
+
<span className="text-xs text-white/60">24px</span>
|
|
811
|
+
</div>
|
|
812
|
+
<div className="text-center">
|
|
813
|
+
<AppleLogoIcon className="!mx-auto mb-2 h-8 w-8 text-white" />
|
|
814
|
+
<span className="text-xs text-white/60">32px</span>
|
|
815
|
+
</div>
|
|
816
|
+
<div className="text-center">
|
|
817
|
+
<AppleLogoIcon className="!mx-auto mb-2 h-12 w-12 text-white" />
|
|
818
|
+
<span className="text-xs text-white/60">48px</span>
|
|
819
|
+
</div>
|
|
820
|
+
</div>
|
|
821
|
+
),
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
export const ColorVariations: Story = {
|
|
825
|
+
parameters: {
|
|
826
|
+
...storyParameters,
|
|
827
|
+
docs: {
|
|
828
|
+
description: {
|
|
829
|
+
story:
|
|
830
|
+
"AppleLogoIcon in different brand and semantic colors for various contexts.",
|
|
831
|
+
},
|
|
832
|
+
},
|
|
833
|
+
},
|
|
834
|
+
render: () => (
|
|
835
|
+
<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">
|
|
836
|
+
<div className="text-center">
|
|
837
|
+
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-white/30 bg-white/20">
|
|
838
|
+
<AppleLogoIcon className="h-8 w-8 text-white" />
|
|
839
|
+
</div>
|
|
840
|
+
<div className="text-sm font-medium text-white">Classic White</div>
|
|
841
|
+
<div className="text-xs text-white/60">text-white</div>
|
|
842
|
+
</div>
|
|
843
|
+
<div className="text-center">
|
|
844
|
+
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-gray-500/30 bg-gray-500/20">
|
|
845
|
+
<AppleLogoIcon className="h-8 w-8 text-gray-800" />
|
|
846
|
+
</div>
|
|
847
|
+
<div className="text-sm font-medium text-white">Space Gray</div>
|
|
848
|
+
<div className="text-xs text-gray-400">text-gray-800</div>
|
|
849
|
+
</div>
|
|
850
|
+
<div className="text-center">
|
|
851
|
+
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-blue-500/30 bg-blue-500/20">
|
|
852
|
+
<AppleLogoIcon className="h-8 w-8 text-blue-500" />
|
|
853
|
+
</div>
|
|
854
|
+
<div className="text-sm font-medium text-white">Apple Blue</div>
|
|
855
|
+
<div className="text-xs text-blue-400">text-blue-500</div>
|
|
856
|
+
</div>
|
|
857
|
+
<div className="text-center">
|
|
858
|
+
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-gray-400/30 bg-gray-400/20">
|
|
859
|
+
<AppleLogoIcon className="h-8 w-8 text-gray-400" />
|
|
860
|
+
</div>
|
|
861
|
+
<div className="text-sm font-medium text-white">Neutral</div>
|
|
862
|
+
<div className="text-xs text-gray-400">text-gray-400</div>
|
|
863
|
+
</div>
|
|
864
|
+
</div>
|
|
865
|
+
),
|
|
866
|
+
}
|
|
867
|
+
|
|
868
|
+
export const UsageExamples: Story = {
|
|
869
|
+
parameters: {
|
|
870
|
+
...storyParameters,
|
|
871
|
+
docs: {
|
|
872
|
+
description: {
|
|
873
|
+
story:
|
|
874
|
+
"Real-world usage examples showing AppleLogoIcon in different branding and authentication contexts.",
|
|
875
|
+
},
|
|
876
|
+
},
|
|
877
|
+
},
|
|
878
|
+
render: () => (
|
|
879
|
+
<div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
|
|
880
|
+
{/* Authentication Buttons */}
|
|
881
|
+
<div className="!space-y-2">
|
|
882
|
+
<h3 className="text-sm font-medium text-white">Authentication</h3>
|
|
883
|
+
<div className="flex gap-4">
|
|
884
|
+
<button className="flex items-center gap-3 rounded-lg bg-black px-6 py-3 text-white transition-colors hover:bg-gray-900">
|
|
885
|
+
<AppleLogoIcon className="h-5 w-5" />
|
|
886
|
+
Sign in with Apple
|
|
887
|
+
</button>
|
|
888
|
+
<button className="flex items-center gap-3 rounded-lg border border-white/20 bg-white/5 px-4 py-2 text-white transition-colors hover:bg-white/10">
|
|
889
|
+
<AppleLogoIcon className="h-4 w-4" />
|
|
890
|
+
Continue
|
|
891
|
+
</button>
|
|
892
|
+
</div>
|
|
893
|
+
</div>
|
|
894
|
+
|
|
895
|
+
{/* Platform Badge */}
|
|
896
|
+
<div className="!space-y-2">
|
|
897
|
+
<h3 className="text-sm font-medium text-white">Platform Badge</h3>
|
|
898
|
+
<div className="inline-flex items-center gap-2 rounded-full border border-gray-500/30 bg-gray-500/10 px-3 py-1">
|
|
899
|
+
<AppleLogoIcon className="h-4 w-4 text-white" />
|
|
900
|
+
<span className="text-sm text-white">macOS</span>
|
|
901
|
+
</div>
|
|
902
|
+
</div>
|
|
903
|
+
|
|
904
|
+
{/* Download Card */}
|
|
905
|
+
<div className="!space-y-2">
|
|
906
|
+
<h3 className="text-sm font-medium text-white">Download Card</h3>
|
|
907
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-6">
|
|
908
|
+
<div className="flex items-center justify-between">
|
|
909
|
+
<div className="flex items-center gap-4">
|
|
910
|
+
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-black">
|
|
911
|
+
<AppleLogoIcon className="h-6 w-6 text-white" />
|
|
912
|
+
</div>
|
|
913
|
+
<div>
|
|
914
|
+
<div className="font-medium text-white">iOS App</div>
|
|
915
|
+
<div className="text-sm text-white/60">
|
|
916
|
+
Download for iPhone & iPad
|
|
917
|
+
</div>
|
|
918
|
+
</div>
|
|
919
|
+
</div>
|
|
920
|
+
<button className="rounded-lg bg-blue-500 px-4 py-2 text-sm text-white transition-colors hover:bg-blue-600">
|
|
921
|
+
Download
|
|
922
|
+
</button>
|
|
923
|
+
</div>
|
|
924
|
+
</div>
|
|
925
|
+
</div>
|
|
926
|
+
</div>
|
|
927
|
+
),
|
|
928
|
+
}
|
|
929
|
+
|
|
930
|
+
export const Playground: Story = {
|
|
931
|
+
parameters: {
|
|
932
|
+
...storyParameters,
|
|
933
|
+
docs: {
|
|
934
|
+
description: {
|
|
935
|
+
story:
|
|
936
|
+
"Interactive playground to experiment with different AppleLogoIcon configurations.",
|
|
937
|
+
},
|
|
938
|
+
},
|
|
939
|
+
},
|
|
940
|
+
args: {
|
|
941
|
+
width: 32,
|
|
942
|
+
height: 32,
|
|
943
|
+
className: "text-white",
|
|
944
|
+
},
|
|
945
|
+
render: (args) => (
|
|
946
|
+
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
|
|
947
|
+
<div className="rounded-lg border border-white/10 bg-white/5 p-8">
|
|
948
|
+
<AppleLogoIcon {...args} />
|
|
949
|
+
</div>
|
|
950
|
+
</div>
|
|
951
|
+
),
|
|
952
|
+
}
|