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.
Files changed (88) hide show
  1. package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +952 -0
  2. package/dist/icons/apple-logo-icon/index.tsx +26 -0
  3. package/dist/icons/apple-logo-icon/meta.ts +8 -0
  4. package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +1008 -0
  5. package/dist/icons/arrow-left-icon/index.tsx +24 -0
  6. package/dist/icons/arrow-left-icon/meta.ts +8 -0
  7. package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +1050 -0
  8. package/dist/icons/backward-ten-seconds-icon/index.tsx +35 -0
  9. package/dist/icons/backward-ten-seconds-icon/meta.ts +8 -0
  10. package/dist/icons/camera-icon/CameraIcon.stories.tsx +1271 -0
  11. package/dist/icons/camera-icon/index.tsx +22 -0
  12. package/dist/icons/camera-icon/meta.ts +8 -0
  13. package/dist/icons/coin-icon/CoinIcon.stories.tsx +1382 -0
  14. package/dist/icons/coin-icon/index.tsx +36 -0
  15. package/dist/icons/coin-icon/meta.ts +8 -0
  16. package/dist/icons/email-icon/EmailIcon.stories.tsx +995 -0
  17. package/dist/icons/email-icon/index.tsx +22 -0
  18. package/dist/icons/email-icon/meta.ts +8 -0
  19. package/dist/icons/expand-icon/ExpandIcon.stories.tsx +1167 -0
  20. package/dist/icons/expand-icon/index.tsx +22 -0
  21. package/dist/icons/expand-icon/meta.ts +8 -0
  22. package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +1054 -0
  23. package/dist/icons/forward-ten-seconds-icon/index.tsx +33 -0
  24. package/dist/icons/forward-ten-seconds-icon/meta.ts +8 -0
  25. package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +1004 -0
  26. package/dist/icons/google-logo-icon/index.tsx +34 -0
  27. package/dist/icons/google-logo-icon/meta.ts +8 -0
  28. package/dist/icons/heart-icon/HeartIcon.stories.tsx +1080 -0
  29. package/dist/icons/heart-icon/index.tsx +21 -0
  30. package/dist/icons/heart-icon/meta.ts +8 -0
  31. package/dist/icons/index.ts +32 -4
  32. package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +1020 -0
  33. package/dist/icons/indian-flag-icon/index.tsx +46 -0
  34. package/dist/icons/indian-flag-icon/meta.ts +8 -0
  35. package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +1449 -0
  36. package/dist/icons/instagram-icon/index.tsx +17 -0
  37. package/dist/icons/instagram-icon/meta.ts +8 -0
  38. package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +1582 -0
  39. package/dist/icons/linked-in-icon/index.tsx +17 -0
  40. package/dist/icons/linked-in-icon/meta.ts +8 -0
  41. package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +1214 -0
  42. package/dist/icons/minimize-icon/index.tsx +22 -0
  43. package/dist/icons/minimize-icon/meta.ts +8 -0
  44. package/dist/icons/pause-icon/PauseIcon.stories.tsx +1060 -0
  45. package/dist/icons/pause-icon/index.tsx +30 -0
  46. package/dist/icons/pause-icon/meta.ts +8 -0
  47. package/dist/icons/share-icon/ShareIcon.stories.tsx +1081 -0
  48. package/dist/icons/share-icon/index.tsx +22 -0
  49. package/dist/icons/share-icon/meta.ts +8 -0
  50. package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +1047 -0
  51. package/dist/icons/skip-backward-icon/index.tsx +29 -0
  52. package/dist/icons/skip-backward-icon/meta.ts +8 -0
  53. package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +1049 -0
  54. package/dist/icons/skip-forward-icon/index.tsx +29 -0
  55. package/dist/icons/skip-forward-icon/meta.ts +8 -0
  56. package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +1020 -0
  57. package/dist/icons/store-coin-icon/index.tsx +35 -0
  58. package/dist/icons/store-coin-icon/meta.ts +8 -0
  59. package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +1489 -0
  60. package/dist/icons/threads-icon/index.tsx +17 -0
  61. package/dist/icons/threads-icon/meta.ts +8 -0
  62. package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +1463 -0
  63. package/dist/icons/twitter-x-icon/index.tsx +17 -0
  64. package/dist/icons/twitter-x-icon/meta.ts +8 -0
  65. package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +1105 -0
  66. package/dist/icons/video-play-list-icon/index.tsx +22 -0
  67. package/dist/icons/video-play-list-icon/meta.ts +8 -0
  68. package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +1416 -0
  69. package/dist/icons/voice-playing-icon/index.tsx +24 -0
  70. package/dist/icons/voice-playing-icon/meta.ts +8 -0
  71. package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +1230 -0
  72. package/dist/icons/volume-full-icon/index.tsx +25 -0
  73. package/dist/icons/volume-full-icon/meta.ts +8 -0
  74. package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +1153 -0
  75. package/dist/icons/volume-half-icon/index.tsx +25 -0
  76. package/dist/icons/volume-half-icon/meta.ts +8 -0
  77. package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +1144 -0
  78. package/dist/icons/volume-off-icon/index.tsx +26 -0
  79. package/dist/icons/volume-off-icon/meta.ts +8 -0
  80. package/dist/icons/warning-icon/WarningIcon.stories.tsx +1106 -0
  81. package/dist/icons/warning-icon/index.tsx +27 -0
  82. package/dist/icons/warning-icon/meta.ts +8 -0
  83. package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +996 -0
  84. package/dist/icons/youtube-icon/index.tsx +24 -0
  85. package/dist/icons/youtube-icon/meta.ts +8 -0
  86. package/dist/index.js +1 -1
  87. package/dist/styles/aural-theme.css +9 -0
  88. package/package.json +1 -1
@@ -0,0 +1,1582 @@
1
+ import React from "react"
2
+ import type { Meta, StoryObj } from "@storybook/react"
3
+
4
+ import { LinkedInIcon } from "."
5
+
6
+ const meta: Meta<typeof LinkedInIcon> = {
7
+ title: "Icons/LinkedInIcon",
8
+ component: LinkedInIcon,
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-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-indigo-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-blue-500/30 bg-gradient-to-br from-blue-500/20 to-indigo-500/20">
90
+ <LinkedInIcon className="h-12 w-12 text-white" />
91
+ </div>
92
+ <h1 className="text-5xl font-bold !text-white">
93
+ LinkedInIcon
94
+ </h1>
95
+ <p className="!mx-auto max-w-3xl text-xl leading-relaxed !text-white/70">
96
+ The official LinkedIn brand icon featuring the distinctive
97
+ square design with profile silhouette. Essential for
98
+ professional networking, career development, business
99
+ connections, recruitment platforms, and any interface where
100
+ LinkedIn platform integration and professional identity are
101
+ emphasized.
102
+ </p>
103
+
104
+ {/* Stats */}
105
+ <div className="flex items-center justify-center gap-8 pt-8">
106
+ <div className="text-center">
107
+ <div className="text-3xl font-bold text-blue-300">
108
+ Professional Network
109
+ </div>
110
+ <div className="text-sm text-white/60">
111
+ Career development
112
+ </div>
113
+ </div>
114
+ <div className="h-8 w-px bg-white/20" />
115
+ <div className="text-center">
116
+ <div className="text-3xl font-bold text-indigo-300">
117
+ Business Platform
118
+ </div>
119
+ <div className="text-sm text-white/60">
120
+ Industry connections
121
+ </div>
122
+ </div>
123
+ <div className="h-8 w-px bg-white/20" />
124
+ <div className="text-center">
125
+ <div className="text-3xl font-bold text-cyan-300">
126
+ Recruitment Hub
127
+ </div>
128
+ <div className="text-sm text-white/60">
129
+ Talent acquisition
130
+ </div>
131
+ </div>
132
+ </div>
133
+ </div>
134
+ </div>
135
+ </div>
136
+
137
+ {/* Content */}
138
+ <div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
139
+ {/* Quick Usage */}
140
+ <div className="!space-y-8">
141
+ <h2 className="text-center text-3xl font-bold !text-white">
142
+ Quick Start
143
+ </h2>
144
+ <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
145
+ <div className="!space-y-4">
146
+ <h3 className="text-xl font-semibold !text-blue-300">
147
+ Basic Usage
148
+ </h3>
149
+ <div className="rounded-lg bg-black/40 p-4">
150
+ <pre className="overflow-x-auto text-sm !text-green-300">
151
+ {`import { LinkedInIcon } from "@icons/linked-in-icon"
152
+
153
+ function ProfessionalProfile() {
154
+ return (
155
+ <a
156
+ href="https://linkedin.com/in/username"
157
+ className="flex items-center gap-2 p-2 rounded-lg
158
+ bg-blue-600 hover:bg-blue-700
159
+ transition-colors"
160
+ aria-label="Connect on LinkedIn"
161
+ >
162
+ <LinkedInIcon className="h-5 w-5 text-white" />
163
+ <span className="text-white">Connect on LinkedIn</span>
164
+ </a>
165
+ )
166
+ }`}
167
+ </pre>
168
+ </div>
169
+ </div>
170
+
171
+ <div className="!space-y-4">
172
+ <h3 className="text-xl font-semibold !text-blue-300">
173
+ Live Preview
174
+ </h3>
175
+ <div className="flex h-32 items-center justify-center rounded-lg border border-white/10 bg-white/5">
176
+ <a
177
+ href="#"
178
+ className="flex items-center gap-2 rounded-lg bg-blue-600 px-4 py-2 transition-colors hover:bg-blue-700"
179
+ >
180
+ <LinkedInIcon className="h-5 w-5 text-white" />
181
+ <span className="font-medium text-white">
182
+ Connect on LinkedIn
183
+ </span>
184
+ </a>
185
+ </div>
186
+ </div>
187
+ </div>
188
+ </div>
189
+
190
+ {/* Props Documentation */}
191
+ <div className="!space-y-8">
192
+ <h2 className="text-center text-3xl font-bold !text-white">
193
+ Props & Configuration
194
+ </h2>
195
+
196
+ <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
197
+ <div className="bg-white/5 p-4">
198
+ <h3 className="text-xl font-semibold !text-white">Props</h3>
199
+ </div>
200
+ <table className="!my-0 w-full">
201
+ <thead className="bg-white/5">
202
+ <tr className="border-b border-white/10">
203
+ <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
204
+ Prop
205
+ </th>
206
+ <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
207
+ Type
208
+ </th>
209
+ <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
210
+ Default
211
+ </th>
212
+ <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
213
+ Description
214
+ </th>
215
+ </tr>
216
+ </thead>
217
+ <tbody>
218
+ <tr className="border-b border-white/5">
219
+ <td className="px-6 py-4 font-mono text-sm !text-blue-300">
220
+ width
221
+ </td>
222
+ <td className="px-6 py-4 text-sm !text-white/70">
223
+ number | string
224
+ </td>
225
+ <td className="px-6 py-4 text-sm !text-white/50">
226
+ auto
227
+ </td>
228
+ <td className="px-6 py-4 text-sm !text-white/70">
229
+ Width of the icon (maintains aspect ratio)
230
+ </td>
231
+ </tr>
232
+ <tr className="border-b border-white/5 !bg-black/10">
233
+ <td className="px-6 py-4 font-mono text-sm !text-blue-300">
234
+ height
235
+ </td>
236
+ <td className="px-6 py-4 text-sm !text-white/70">
237
+ number | string
238
+ </td>
239
+ <td className="px-6 py-4 text-sm !text-white/50">
240
+ auto
241
+ </td>
242
+ <td className="px-6 py-4 text-sm !text-white/70">
243
+ Height of the icon (maintains aspect ratio)
244
+ </td>
245
+ </tr>
246
+ <tr className="border-b border-white/5">
247
+ <td className="px-6 py-4 font-mono text-sm !text-blue-300">
248
+ fill
249
+ </td>
250
+ <td className="px-6 py-4 text-sm !text-white/70">
251
+ string
252
+ </td>
253
+ <td className="px-6 py-4 text-sm !text-white/50">
254
+ currentColor
255
+ </td>
256
+ <td className="px-6 py-4 text-sm !text-white/70">
257
+ Fill color of the LinkedIn square icon
258
+ </td>
259
+ </tr>
260
+ <tr className="border-b border-white/5 !bg-black/10">
261
+ <td className="px-6 py-4 font-mono text-sm !text-blue-300">
262
+ className
263
+ </td>
264
+ <td className="px-6 py-4 text-sm !text-white/70">
265
+ string
266
+ </td>
267
+ <td className="px-6 py-4 text-sm !text-white/50">-</td>
268
+ <td className="px-6 py-4 text-sm !text-white/70">
269
+ CSS classes for styling and sizing
270
+ </td>
271
+ </tr>
272
+ <tr className="border-b border-white/5">
273
+ <td className="px-6 py-4 font-mono text-sm !text-blue-300">
274
+ onClick
275
+ </td>
276
+ <td className="px-6 py-4 text-sm !text-white/70">
277
+ function
278
+ </td>
279
+ <td className="px-6 py-4 text-sm !text-white/50">-</td>
280
+ <td className="px-6 py-4 text-sm !text-white/70">
281
+ Click handler for professional interactions
282
+ </td>
283
+ </tr>
284
+ <tr className="!bg-black/10">
285
+ <td className="px-6 py-4 font-mono text-sm !text-blue-300">
286
+ ...svgProps
287
+ </td>
288
+ <td className="px-6 py-4 text-sm !text-white/70">
289
+ SVGProps
290
+ </td>
291
+ <td className="px-6 py-4 text-sm !text-white/50">-</td>
292
+ <td className="px-6 py-4 text-sm !text-white/70">
293
+ All standard SVG element props
294
+ </td>
295
+ </tr>
296
+ </tbody>
297
+ </table>
298
+ </div>
299
+
300
+ <div className="rounded-lg border border-blue-500/20 bg-blue-500/10 p-4">
301
+ <div className="flex items-center gap-2 text-sm text-blue-200">
302
+ <LinkedInIcon className="h-4 w-4" />
303
+ <span>
304
+ <strong>Brand Guidelines:</strong> Use LinkedIn's
305
+ signature blue color (#0077B5) for optimal brand
306
+ recognition and professional consistency.
307
+ </span>
308
+ </div>
309
+ </div>
310
+ </div>
311
+
312
+ {/* Size Variations */}
313
+ <div className="!space-y-8">
314
+ <h2 className="text-center text-3xl font-bold !text-white">
315
+ Size Variations
316
+ </h2>
317
+ <div className="rounded-lg border border-white/10 bg-white/5 p-8">
318
+ <div className="!space-y-6">
319
+ <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
320
+ <div className="!space-y-4">
321
+ <h3 className="text-lg font-semibold !text-blue-300">
322
+ Standard Sizes
323
+ </h3>
324
+ <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
325
+ <div className="text-center">
326
+ <LinkedInIcon className="!mx-auto mb-2 h-3 w-3 text-blue-400" />
327
+ <span className="text-xs text-white/60">12px</span>
328
+ </div>
329
+ <div className="text-center">
330
+ <LinkedInIcon className="!mx-auto mb-2 h-4 w-4 text-blue-400" />
331
+ <span className="text-xs text-white/60">16px</span>
332
+ </div>
333
+ <div className="text-center">
334
+ <LinkedInIcon className="!mx-auto mb-2 h-5 w-5 text-blue-400" />
335
+ <span className="text-xs text-white/60">20px</span>
336
+ </div>
337
+ <div className="text-center">
338
+ <LinkedInIcon className="!mx-auto mb-2 h-6 w-6 text-blue-400" />
339
+ <span className="text-xs text-white/60">24px</span>
340
+ </div>
341
+ <div className="text-center">
342
+ <LinkedInIcon className="!mx-auto mb-2 h-8 w-8 text-blue-400" />
343
+ <span className="text-xs text-white/60">32px</span>
344
+ </div>
345
+ <div className="text-center">
346
+ <LinkedInIcon className="!mx-auto mb-2 h-12 w-12 text-blue-400" />
347
+ <span className="text-xs text-white/60">48px</span>
348
+ </div>
349
+ </div>
350
+ </div>
351
+
352
+ <div className="!space-y-4">
353
+ <h3 className="text-lg font-semibold !text-blue-300">
354
+ Code Example
355
+ </h3>
356
+ <div className="rounded-lg bg-black/40 p-4">
357
+ <pre className="overflow-x-auto text-sm !text-cyan-300">
358
+ {`// Small (16px) - inline professional links
359
+ <LinkedInIcon className="h-4 w-4" />
360
+
361
+ // Medium (24px) - standard buttons
362
+ <LinkedInIcon className="h-6 w-6" />
363
+
364
+ // Large (32px) - prominent displays
365
+ <LinkedInIcon className="h-8 w-8" />
366
+
367
+ // Custom size with maintained aspect ratio
368
+ <LinkedInIcon width={40} height={40} />`}
369
+ </pre>
370
+ </div>
371
+ </div>
372
+ </div>
373
+ </div>
374
+ </div>
375
+ </div>
376
+
377
+ {/* Color & Styling */}
378
+ <div className="!space-y-8">
379
+ <h2 className="text-center text-3xl font-bold !text-white">
380
+ Color & Styling
381
+ </h2>
382
+ <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
383
+ <div className="!space-y-4">
384
+ <h3 className="text-lg font-semibold !text-blue-300">
385
+ Brand Colors
386
+ </h3>
387
+ <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
388
+ <div className="flex items-center gap-4">
389
+ <div
390
+ className="flex h-12 w-12 items-center justify-center rounded-lg bg-blue-600"
391
+ style={{ backgroundColor: "#0077B5" }}
392
+ >
393
+ <LinkedInIcon className="h-6 w-6 text-white" />
394
+ </div>
395
+ <div>
396
+ <div className="text-sm font-medium text-white">
397
+ Official Blue
398
+ </div>
399
+ <div className="text-xs text-white/60">
400
+ #0077B5 LinkedIn brand
401
+ </div>
402
+ </div>
403
+ </div>
404
+ <div className="flex items-center gap-4">
405
+ <div className="flex h-12 w-12 items-center justify-center rounded-lg bg-blue-700">
406
+ <LinkedInIcon className="h-6 w-6 text-white" />
407
+ </div>
408
+ <div>
409
+ <div className="text-sm font-medium text-white">
410
+ Dark Blue
411
+ </div>
412
+ <div className="text-xs text-white/60">
413
+ Hover state variant
414
+ </div>
415
+ </div>
416
+ </div>
417
+ <div className="flex items-center gap-4">
418
+ <div className="flex h-12 w-12 items-center justify-center rounded-lg border border-gray-300 bg-white">
419
+ <LinkedInIcon className="h-6 w-6 text-blue-600" />
420
+ </div>
421
+ <div>
422
+ <div className="text-sm font-medium text-white">
423
+ Blue on White
424
+ </div>
425
+ <div className="text-xs text-white/60">
426
+ Light backgrounds
427
+ </div>
428
+ </div>
429
+ </div>
430
+ <div className="flex items-center gap-4">
431
+ <div className="flex h-12 w-12 items-center justify-center rounded-lg bg-gray-800">
432
+ <LinkedInIcon className="h-6 w-6 text-white" />
433
+ </div>
434
+ <div>
435
+ <div className="text-sm font-medium text-white">
436
+ Monochrome White
437
+ </div>
438
+ <div className="text-xs text-white/60">
439
+ Dark backgrounds
440
+ </div>
441
+ </div>
442
+ </div>
443
+ </div>
444
+ </div>
445
+
446
+ <div className="!space-y-4">
447
+ <h3 className="text-lg font-semibold !text-blue-300">
448
+ Usage Examples
449
+ </h3>
450
+ <div className="rounded-lg bg-black/40 p-4">
451
+ <pre className="overflow-x-auto text-sm !text-green-300">
452
+ {`// Official LinkedIn blue
453
+ <LinkedInIcon
454
+ className="h-6 w-6 text-white"
455
+ style={{ color: '#0077B5' }}
456
+ />
457
+
458
+ // White on LinkedIn blue background
459
+ <div className="bg-blue-600 p-3 rounded-lg">
460
+ <LinkedInIcon className="h-6 w-6 text-white" />
461
+ </div>
462
+
463
+ // Blue on white background
464
+ <div className="bg-white p-3 rounded-lg">
465
+ <LinkedInIcon className="h-6 w-6 text-blue-600" />
466
+ </div>
467
+
468
+ // Inherit parent text color
469
+ <LinkedInIcon className="h-5 w-5" />
470
+
471
+ // Hover state with transition
472
+ <LinkedInIcon
473
+ className="h-6 w-6 text-blue-600
474
+ hover:text-blue-700 transition-colors"
475
+ />
476
+
477
+ // Professional button style
478
+ <button className="bg-blue-600 hover:bg-blue-700
479
+ p-3 rounded-lg transition-colors">
480
+ <LinkedInIcon className="h-5 w-5 text-white" />
481
+ </button>`}
482
+ </pre>
483
+ </div>
484
+ </div>
485
+ </div>
486
+ </div>
487
+
488
+ {/* Usage Examples */}
489
+ <div className="!space-y-8">
490
+ <h2 className="text-center text-3xl font-bold !text-white">
491
+ Usage Examples
492
+ </h2>
493
+
494
+ <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
495
+ {/* Professional Profile Card */}
496
+ <div className="!space-y-4">
497
+ <h3 className="text-lg font-semibold !text-blue-300">
498
+ Professional Profile Card
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="overflow-hidden rounded-lg border border-white/20 bg-black/50">
503
+ <div className="relative h-32 bg-gradient-to-r from-blue-600/20 to-indigo-600/20">
504
+ <div className="absolute -bottom-8 left-6">
505
+ <div className="flex h-16 w-16 items-center justify-center rounded-full border-4 border-black/50 bg-white/10">
506
+ <span className="text-2xl">👨‍💼</span>
507
+ </div>
508
+ </div>
509
+ </div>
510
+ <div className="p-6 pt-12">
511
+ <div className="flex items-start justify-between">
512
+ <div>
513
+ <h4 className="text-lg font-semibold text-white">
514
+ Michael Johnson
515
+ </h4>
516
+ <p className="text-sm text-white/60">
517
+ Senior Product Manager
518
+ </p>
519
+ <p className="text-sm text-blue-400">
520
+ TechCorp Solutions
521
+ </p>
522
+ <p className="mt-2 text-sm text-white/70">
523
+ 10+ years experience in product strategy and
524
+ team leadership
525
+ </p>
526
+ </div>
527
+ <a
528
+ href="#"
529
+ className="rounded-lg bg-blue-600 px-4 py-2 font-medium text-white transition-colors hover:bg-blue-700"
530
+ >
531
+ Connect
532
+ </a>
533
+ </div>
534
+ <div className="mt-4 flex items-center gap-6">
535
+ <div className="text-sm">
536
+ <span className="font-medium text-white">
537
+ 847
538
+ </span>
539
+ <span className="ml-1 text-white/60">
540
+ Connections
541
+ </span>
542
+ </div>
543
+ <div className="text-sm">
544
+ <span className="font-medium text-white">
545
+ 15
546
+ </span>
547
+ <span className="ml-1 text-white/60">
548
+ Mutual
549
+ </span>
550
+ </div>
551
+ </div>
552
+ <div className="mt-4 flex items-center gap-4 border-t border-white/10 pt-4">
553
+ <span className="text-sm text-white/60">
554
+ Professional networks:
555
+ </span>
556
+ <div className="flex gap-2">
557
+ <a
558
+ href="#"
559
+ className="rounded bg-blue-600 p-2 transition-colors hover:bg-blue-700"
560
+ aria-label="Connect on LinkedIn"
561
+ >
562
+ <LinkedInIcon className="h-4 w-4 text-white" />
563
+ </a>
564
+ <a
565
+ href="#"
566
+ className="rounded border border-gray-700 bg-black p-2 transition-colors hover:bg-gray-800"
567
+ aria-label="Follow on X"
568
+ >
569
+ <span className="text-sm text-white">𝕏</span>
570
+ </a>
571
+ <a
572
+ href="#"
573
+ className="rounded bg-gray-600 p-2 transition-colors hover:bg-gray-700"
574
+ aria-label="View GitHub"
575
+ >
576
+ <span className="text-sm text-white">🐙</span>
577
+ </a>
578
+ </div>
579
+ </div>
580
+ </div>
581
+ </div>
582
+ </div>
583
+ <div className="rounded-lg bg-black/40 p-4">
584
+ <pre className="overflow-x-auto text-sm !text-green-300">
585
+ {`// Professional profile card
586
+ <div className="profile-card">
587
+ <div className="profile-header">
588
+ <CoverImage />
589
+ <ProfileAvatar />
590
+ </div>
591
+ <div className="profile-content">
592
+ <div className="profile-info">
593
+ <ProfessionalDetails professional={professional} />
594
+ <ConnectButton userId={professional.id} />
595
+ </div>
596
+ <ConnectionStats stats={professional.connections} />
597
+ <div className="professional-links">
598
+ <span>Professional networks:</span>
599
+ <div className="link-group">
600
+ <a
601
+ href={professional.linkedinUrl}
602
+ className="social-link linkedin-link"
603
+ aria-label="Connect on LinkedIn"
604
+ >
605
+ <LinkedInIcon className="h-4 w-4 text-white" />
606
+ </a>
607
+ <TwitterLink url={professional.twitterUrl} />
608
+ <GitHubLink url={professional.githubUrl} />
609
+ </div>
610
+ </div>
611
+ </div>
612
+ </div>`}
613
+ </pre>
614
+ </div>
615
+ </div>
616
+ </div>
617
+
618
+ {/* Recruitment Platform */}
619
+ <div className="!space-y-4">
620
+ <h3 className="text-lg font-semibold !text-blue-300">
621
+ Recruitment Platform
622
+ </h3>
623
+ <div className="!space-y-4">
624
+ <div className="rounded-lg border border-white/10 bg-white/5 p-6">
625
+ <div className="overflow-hidden rounded-lg border border-white/20 bg-black/50">
626
+ <div className="border-b border-white/10 bg-blue-600/10 p-4">
627
+ <div className="flex items-center justify-between">
628
+ <div className="flex items-center gap-3">
629
+ <LinkedInIcon className="h-6 w-6 text-blue-400" />
630
+ <div>
631
+ <h4 className="text-lg font-semibold text-white">
632
+ Talent Acquisition
633
+ </h4>
634
+ <p className="text-sm text-white/60">
635
+ Connect with top professionals
636
+ </p>
637
+ </div>
638
+ </div>
639
+ <button className="rounded-lg bg-blue-600 px-4 py-2 font-medium text-white transition-colors hover:bg-blue-700">
640
+ Post Job
641
+ </button>
642
+ </div>
643
+ </div>
644
+ <div className="p-6">
645
+ <div className="mb-6 grid grid-cols-2 gap-4">
646
+ <div className="rounded-lg border border-white/10 bg-white/5 p-4">
647
+ <div className="mb-3 flex items-center gap-3">
648
+ <div className="flex h-10 w-10 items-center justify-center rounded-lg bg-blue-600/20">
649
+ <LinkedInIcon className="h-5 w-5 text-blue-400" />
650
+ </div>
651
+ <div>
652
+ <h5 className="text-sm font-semibold text-white">
653
+ LinkedIn Sourcing
654
+ </h5>
655
+ <p className="text-xs text-white/60">
656
+ Professional network
657
+ </p>
658
+ </div>
659
+ </div>
660
+ <div className="mb-1 text-2xl font-bold text-blue-400">
661
+ 847
662
+ </div>
663
+ <div className="text-xs text-white/60">
664
+ Qualified candidates
665
+ </div>
666
+ </div>
667
+ <div className="rounded-lg border border-white/10 bg-white/5 p-4">
668
+ <div className="mb-3 flex items-center gap-3">
669
+ <div className="flex h-10 w-10 items-center justify-center rounded-lg bg-green-500/20">
670
+ <span className="text-lg text-green-400">
671
+ 🎯
672
+ </span>
673
+ </div>
674
+ <div>
675
+ <h5 className="text-sm font-semibold text-white">
676
+ Active Hiring
677
+ </h5>
678
+ <p className="text-xs text-white/60">
679
+ Open positions
680
+ </p>
681
+ </div>
682
+ </div>
683
+ <div className="mb-1 text-2xl font-bold text-green-400">
684
+ 23
685
+ </div>
686
+ <div className="text-xs text-white/60">
687
+ Roles available
688
+ </div>
689
+ </div>
690
+ </div>
691
+ <div className="space-y-3">
692
+ <div className="flex items-center justify-between rounded-lg border border-white/10 bg-white/5 p-3">
693
+ <div className="flex items-center gap-3">
694
+ <div className="flex h-8 w-8 items-center justify-center rounded-full bg-white/10">
695
+ <span className="text-xs">👨‍💻</span>
696
+ </div>
697
+ <div>
698
+ <div className="text-sm font-medium text-white">
699
+ Senior React Developer
700
+ </div>
701
+ <div className="text-xs text-white/60">
702
+ Remote • Full-time • $120k-160k
703
+ </div>
704
+ </div>
705
+ </div>
706
+ <div className="flex items-center gap-2">
707
+ <span className="text-xs text-blue-400">
708
+ 47 applicants
709
+ </span>
710
+ <a
711
+ href="#"
712
+ className="rounded bg-blue-600 p-1 transition-colors hover:bg-blue-700"
713
+ >
714
+ <LinkedInIcon className="h-3 w-3 text-white" />
715
+ </a>
716
+ </div>
717
+ </div>
718
+ <div className="flex items-center justify-between rounded-lg border border-white/10 bg-white/5 p-3">
719
+ <div className="flex items-center gap-3">
720
+ <div className="flex h-8 w-8 items-center justify-center rounded-full bg-white/10">
721
+ <span className="text-xs">👩‍🎨</span>
722
+ </div>
723
+ <div>
724
+ <div className="text-sm font-medium text-white">
725
+ UX Designer
726
+ </div>
727
+ <div className="text-xs text-white/60">
728
+ Hybrid • Full-time • $90k-130k
729
+ </div>
730
+ </div>
731
+ </div>
732
+ <div className="flex items-center gap-2">
733
+ <span className="text-xs text-blue-400">
734
+ 32 applicants
735
+ </span>
736
+ <a
737
+ href="#"
738
+ className="rounded bg-blue-600 p-1 transition-colors hover:bg-blue-700"
739
+ >
740
+ <LinkedInIcon className="h-3 w-3 text-white" />
741
+ </a>
742
+ </div>
743
+ </div>
744
+ </div>
745
+ </div>
746
+ </div>
747
+ </div>
748
+ <div className="rounded-lg bg-black/40 p-4">
749
+ <pre className="overflow-x-auto text-sm !text-green-300">
750
+ {`// Recruitment platform with LinkedIn integration
751
+ <div className="recruitment-platform">
752
+ <div className="platform-header">
753
+ <div className="platform-info">
754
+ <LinkedInIcon className="h-6 w-6 text-blue-400" />
755
+ <div className="platform-details">
756
+ <h3>Talent Acquisition</h3>
757
+ <p>Connect with top professionals</p>
758
+ </div>
759
+ </div>
760
+ <PostJobButton />
761
+ </div>
762
+ <div className="recruitment-stats">
763
+ <StatCard
764
+ icon={<LinkedInIcon />}
765
+ title="LinkedIn Sourcing"
766
+ value={qualifiedCandidates}
767
+ description="Qualified candidates"
768
+ />
769
+ <StatCard
770
+ icon="🎯"
771
+ title="Active Hiring"
772
+ value={openPositions}
773
+ description="Roles available"
774
+ />
775
+ </div>
776
+ <div className="job-listings">
777
+ {jobListings.map(job => (
778
+ <div key={job.id} className="job-listing">
779
+ <JobDetails job={job} />
780
+ <div className="job-actions">
781
+ <span className="applicant-count">{job.applicants} applicants</span>
782
+ <a
783
+ href={generateLinkedInJobUrl(job)}
784
+ className="linkedin-action"
785
+ aria-label="Share job on LinkedIn"
786
+ >
787
+ <LinkedInIcon className="h-3 w-3 text-white" />
788
+ </a>
789
+ </div>
790
+ </div>
791
+ ))}
792
+ </div>
793
+ </div>`}
794
+ </pre>
795
+ </div>
796
+ </div>
797
+ </div>
798
+
799
+ {/* Business Team Directory */}
800
+ <div className="!space-y-4">
801
+ <h3 className="text-lg font-semibold !text-blue-300">
802
+ Business Team Directory
803
+ </h3>
804
+ <div className="!space-y-4">
805
+ <div className="rounded-lg border border-white/10 bg-white/5 p-6">
806
+ <div className="overflow-hidden rounded-lg border border-white/20 bg-black/50">
807
+ <div className="border-b border-white/10 bg-white/5 p-4">
808
+ <h4 className="text-lg font-semibold text-white">
809
+ Leadership Team
810
+ </h4>
811
+ <p className="text-sm text-white/60">
812
+ Connect with our executives and department heads
813
+ </p>
814
+ </div>
815
+ <div className="space-y-4 p-4">
816
+ <div className="grid grid-cols-1 gap-4 md:grid-cols-2">
817
+ <div className="rounded-lg border border-white/10 bg-white/5 p-4">
818
+ <div className="mb-3 flex items-center gap-3">
819
+ <div className="flex h-12 w-12 items-center justify-center rounded-full bg-white/10">
820
+ <span className="text-lg">👩‍💼</span>
821
+ </div>
822
+ <div className="flex-1">
823
+ <h5 className="text-sm font-semibold text-white">
824
+ Sarah Chen
825
+ </h5>
826
+ <p className="text-xs text-white/60">
827
+ Chief Executive Officer
828
+ </p>
829
+ </div>
830
+ <a
831
+ href="#"
832
+ className="rounded bg-blue-600 p-2 transition-colors hover:bg-blue-700"
833
+ aria-label="Connect with Sarah Chen on LinkedIn"
834
+ >
835
+ <LinkedInIcon className="h-4 w-4 text-white" />
836
+ </a>
837
+ </div>
838
+ <p className="text-xs text-white/70">
839
+ 15+ years leading tech companies through rapid
840
+ growth phases
841
+ </p>
842
+ </div>
843
+ <div className="rounded-lg border border-white/10 bg-white/5 p-4">
844
+ <div className="mb-3 flex items-center gap-3">
845
+ <div className="flex h-12 w-12 items-center justify-center rounded-full bg-white/10">
846
+ <span className="text-lg">👨‍💻</span>
847
+ </div>
848
+ <div className="flex-1">
849
+ <h5 className="text-sm font-semibold text-white">
850
+ David Rodriguez
851
+ </h5>
852
+ <p className="text-xs text-white/60">
853
+ Chief Technology Officer
854
+ </p>
855
+ </div>
856
+ <a
857
+ href="#"
858
+ className="rounded bg-blue-600 p-2 transition-colors hover:bg-blue-700"
859
+ aria-label="Connect with David Rodriguez on LinkedIn"
860
+ >
861
+ <LinkedInIcon className="h-4 w-4 text-white" />
862
+ </a>
863
+ </div>
864
+ <p className="text-xs text-white/70">
865
+ Former engineering lead at major tech
866
+ companies, patent holder
867
+ </p>
868
+ </div>
869
+ <div className="rounded-lg border border-white/10 bg-white/5 p-4">
870
+ <div className="mb-3 flex items-center gap-3">
871
+ <div className="flex h-12 w-12 items-center justify-center rounded-full bg-white/10">
872
+ <span className="text-lg">👩‍🎨</span>
873
+ </div>
874
+ <div className="flex-1">
875
+ <h5 className="text-sm font-semibold text-white">
876
+ Emily Johnson
877
+ </h5>
878
+ <p className="text-xs text-white/60">
879
+ Head of Design
880
+ </p>
881
+ </div>
882
+ <a
883
+ href="#"
884
+ className="rounded bg-blue-600 p-2 transition-colors hover:bg-blue-700"
885
+ aria-label="Connect with Emily Johnson on LinkedIn"
886
+ >
887
+ <LinkedInIcon className="h-4 w-4 text-white" />
888
+ </a>
889
+ </div>
890
+ <p className="text-xs text-white/70">
891
+ Award-winning designer with expertise in user
892
+ experience and brand strategy
893
+ </p>
894
+ </div>
895
+ <div className="rounded-lg border border-white/10 bg-white/5 p-4">
896
+ <div className="mb-3 flex items-center gap-3">
897
+ <div className="flex h-12 w-12 items-center justify-center rounded-full bg-white/10">
898
+ <span className="text-lg">👨‍💼</span>
899
+ </div>
900
+ <div className="flex-1">
901
+ <h5 className="text-sm font-semibold text-white">
902
+ Marcus Thompson
903
+ </h5>
904
+ <p className="text-xs text-white/60">
905
+ VP of Sales
906
+ </p>
907
+ </div>
908
+ <a
909
+ href="#"
910
+ className="rounded bg-blue-600 p-2 transition-colors hover:bg-blue-700"
911
+ aria-label="Connect with Marcus Thompson on LinkedIn"
912
+ >
913
+ <LinkedInIcon className="h-4 w-4 text-white" />
914
+ </a>
915
+ </div>
916
+ <p className="text-xs text-white/70">
917
+ Top sales performer with track record of
918
+ building high-performing teams
919
+ </p>
920
+ </div>
921
+ </div>
922
+ </div>
923
+ </div>
924
+ </div>
925
+ <div className="rounded-lg bg-black/40 p-4">
926
+ <pre className="overflow-x-auto text-sm !text-green-300">
927
+ {`// Business team directory
928
+ <div className="team-directory">
929
+ <div className="directory-header">
930
+ <h3>Leadership Team</h3>
931
+ <p>Connect with our executives and department heads</p>
932
+ </div>
933
+ <div className="team-grid">
934
+ {leadershipTeam.map(member => (
935
+ <div key={member.id} className="team-member-card">
936
+ <div className="member-header">
937
+ <Avatar member={member} />
938
+ <div className="member-info">
939
+ <h4 className="member-name">{member.name}</h4>
940
+ <p className="member-title">{member.title}</p>
941
+ </div>
942
+ <a
943
+ href={member.linkedinUrl}
944
+ className="linkedin-connect"
945
+ aria-label={"Connect with " + member.name + " on LinkedIn"}
946
+ >
947
+ <LinkedInIcon className="h-4 w-4 text-white" />
948
+ </a>
949
+ </div>
950
+ <p className="member-bio">{member.bio}</p>
951
+ </div>
952
+ ))}
953
+ </div>
954
+ </div>`}
955
+ </pre>
956
+ </div>
957
+ </div>
958
+ </div>
959
+
960
+ {/* Professional Share Widget */}
961
+ <div className="!space-y-4">
962
+ <h3 className="text-lg font-semibold !text-blue-300">
963
+ Professional Content Sharing
964
+ </h3>
965
+ <div className="!space-y-4">
966
+ <div className="rounded-lg border border-white/10 bg-white/5 p-6">
967
+ <div className="overflow-hidden rounded-lg border border-white/20 bg-black/50">
968
+ <div className="p-6">
969
+ <div className="mb-6 text-center">
970
+ <h4 className="mb-2 text-xl font-semibold text-white">
971
+ Share Your Success
972
+ </h4>
973
+ <p className="text-sm text-white/70">
974
+ Expand your professional network and showcase
975
+ achievements
976
+ </p>
977
+ </div>
978
+ <div className="mb-6 grid grid-cols-2 gap-4">
979
+ <div className="rounded-lg border border-blue-500/20 bg-blue-500/10 p-4">
980
+ <div className="mb-3 flex h-12 w-12 items-center justify-center rounded-lg bg-blue-600">
981
+ <LinkedInIcon className="h-6 w-6 text-white" />
982
+ </div>
983
+ <h5 className="mb-2 text-sm font-semibold text-white">
984
+ Professional Network
985
+ </h5>
986
+ <p className="text-xs text-white/60">
987
+ Share achievements and insights with your
988
+ professional network
989
+ </p>
990
+ </div>
991
+ <div className="rounded-lg border border-white/10 bg-white/5 p-4">
992
+ <div className="mb-3 flex h-12 w-12 items-center justify-center rounded-lg bg-indigo-500/20">
993
+ <span className="text-xl">🚀</span>
994
+ </div>
995
+ <h5 className="mb-2 text-sm font-semibold text-white">
996
+ Career Growth
997
+ </h5>
998
+ <p className="text-xs text-white/60">
999
+ Build your personal brand and advance your
1000
+ career
1001
+ </p>
1002
+ </div>
1003
+ <div className="rounded-lg border border-white/10 bg-white/5 p-4">
1004
+ <div className="mb-3 flex h-12 w-12 items-center justify-center rounded-lg bg-green-500/20">
1005
+ <span className="text-xl">🤝</span>
1006
+ </div>
1007
+ <h5 className="mb-2 text-sm font-semibold text-white">
1008
+ Business Connections
1009
+ </h5>
1010
+ <p className="text-xs text-white/60">
1011
+ Connect with industry leaders and potential
1012
+ collaborators
1013
+ </p>
1014
+ </div>
1015
+ <div className="rounded-lg border border-white/10 bg-white/5 p-4">
1016
+ <div className="mb-3 flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
1017
+ <span className="text-xl">💼</span>
1018
+ </div>
1019
+ <h5 className="mb-2 text-sm font-semibold text-white">
1020
+ Thought Leadership
1021
+ </h5>
1022
+ <p className="text-xs text-white/60">
1023
+ Establish yourself as an industry expert and
1024
+ influencer
1025
+ </p>
1026
+ </div>
1027
+ </div>
1028
+ <div className="text-center">
1029
+ <a
1030
+ href="#"
1031
+ className="inline-flex items-center gap-2 rounded-lg bg-blue-600 px-6 py-3 font-medium text-white transition-colors hover:bg-blue-700"
1032
+ >
1033
+ <LinkedInIcon className="h-5 w-5" />
1034
+ <span>Share on LinkedIn</span>
1035
+ </a>
1036
+ </div>
1037
+ </div>
1038
+ </div>
1039
+ </div>
1040
+ <div className="rounded-lg bg-black/40 p-4">
1041
+ <pre className="overflow-x-auto text-sm !text-green-300">
1042
+ {`// Professional content sharing widget
1043
+ <div className="content-sharing-widget">
1044
+ <div className="widget-header">
1045
+ <h2>Share Your Success</h2>
1046
+ <p>Expand your professional network and showcase achievements</p>
1047
+ </div>
1048
+ <div className="feature-grid">
1049
+ <div className="feature-card linkedin-feature">
1050
+ <div className="feature-icon">
1051
+ <LinkedInIcon className="h-6 w-6 text-white" />
1052
+ </div>
1053
+ <h3>Professional Network</h3>
1054
+ <p>Share achievements and insights with your professional network</p>
1055
+ </div>
1056
+ <CareerGrowthFeature />
1057
+ <BusinessConnectionsFeature />
1058
+ <ThoughtLeadershipFeature />
1059
+ </div>
1060
+ <div className="cta-section">
1061
+ <a
1062
+ href={linkedinShareUrl}
1063
+ className="cta-button linkedin-cta"
1064
+ >
1065
+ <LinkedInIcon className="h-5 w-5" />
1066
+ <span>Share on LinkedIn</span>
1067
+ </a>
1068
+ </div>
1069
+ </div>`}
1070
+ </pre>
1071
+ </div>
1072
+ </div>
1073
+ </div>
1074
+ </div>
1075
+ </div>
1076
+
1077
+ {/* Accessibility */}
1078
+ <div className="!space-y-8">
1079
+ <h2 className="text-center text-3xl font-bold !text-white">
1080
+ Accessibility Features
1081
+ </h2>
1082
+ <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
1083
+ <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
1084
+ <h3 className="text-lg font-semibold !text-green-300">
1085
+ ✅ Built-in Features
1086
+ </h3>
1087
+ <ul className="!space-y-2 text-sm !text-white/70">
1088
+ <li className="!text-white/70">
1089
+ Uses Radix UI AccessibleIcon wrapper
1090
+ </li>
1091
+ <li className="!text-white/70">
1092
+ Provides screen reader label "LinkedIn icon"
1093
+ </li>
1094
+ <li className="!text-white/70">
1095
+ Supports keyboard navigation when interactive
1096
+ </li>
1097
+ <li className="!text-white/70">
1098
+ High contrast design for visibility
1099
+ </li>
1100
+ <li className="!text-white/70">
1101
+ Maintains aspect ratio across all sizes
1102
+ </li>
1103
+ </ul>
1104
+ </div>
1105
+
1106
+ <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
1107
+ <h3 className="text-lg font-semibold !text-blue-300">
1108
+ 💡 Best Practices
1109
+ </h3>
1110
+ <ul className="!space-y-2 text-sm text-white/70">
1111
+ <li className="!text-white/70">
1112
+ Always provide descriptive aria-labels for LinkedIn
1113
+ actions
1114
+ </li>
1115
+ <li className="!text-white/70">
1116
+ Use LinkedIn's official blue color for brand consistency
1117
+ </li>
1118
+ <li className="!text-white/70">
1119
+ Ensure sufficient contrast with professional contexts
1120
+ </li>
1121
+ <li className="!text-white/70">
1122
+ Include external link indicators for LinkedIn URLs
1123
+ </li>
1124
+ <li className="!text-white/70">
1125
+ Consider professional context in related features
1126
+ </li>
1127
+ </ul>
1128
+ </div>
1129
+ </div>
1130
+
1131
+ <div className="rounded-lg border border-white/10 bg-white/5 p-6">
1132
+ <h3 className="mb-4 text-lg font-semibold !text-blue-300">
1133
+ Proper ARIA Implementation
1134
+ </h3>
1135
+ <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
1136
+ <div className="rounded-lg bg-black/40 p-4">
1137
+ <pre className="overflow-x-auto text-sm !text-cyan-300">
1138
+ {`// LinkedIn profile link
1139
+ <a
1140
+ href="https://linkedin.com/in/username"
1141
+ className="linkedin-link"
1142
+ aria-label="Connect with username on LinkedIn"
1143
+ target="_blank"
1144
+ rel="noopener noreferrer"
1145
+ >
1146
+ <LinkedInIcon className="h-5 w-5 text-white" />
1147
+ </a>
1148
+
1149
+ // Professional team directory
1150
+ <div className="team-directory">
1151
+ <h2 id="team-title">Leadership Team</h2>
1152
+ <div
1153
+ className="team-grid"
1154
+ role="grid"
1155
+ aria-labelledby="team-title"
1156
+ >
1157
+ {teamMembers.map(member => (
1158
+ <div
1159
+ key={member.id}
1160
+ role="gridcell"
1161
+ className="team-member"
1162
+ >
1163
+ <MemberInfo member={member} />
1164
+ <a
1165
+ href={member.linkedinUrl}
1166
+ aria-label={"Connect with " + member.name + " on LinkedIn"}
1167
+ target="_blank"
1168
+ rel="noopener noreferrer"
1169
+ >
1170
+ <LinkedInIcon className="h-4 w-4" />
1171
+ </a>
1172
+ </div>
1173
+ ))}
1174
+ </div>
1175
+ </div>
1176
+
1177
+ // Share to LinkedIn button
1178
+ <button
1179
+ onClick={shareToLinkedIn}
1180
+ className="share-btn"
1181
+ aria-label="Share this content on LinkedIn"
1182
+ >
1183
+ <LinkedInIcon className="h-4 w-4" />
1184
+ <span>Share on LinkedIn</span>
1185
+ </button>
1186
+
1187
+ // Professional profile card
1188
+ <div className="profile-card">
1189
+ <div className="profile-header">
1190
+ <h1>{professional.name}</h1>
1191
+ <div className="professional-social">
1192
+ <a
1193
+ href={professional.linkedin}
1194
+ className="primary-professional-link"
1195
+ aria-label={"Connect with " + professional.name + " on LinkedIn"}
1196
+ >
1197
+ <LinkedInIcon className="h-5 w-5" />
1198
+ <span className="sr-only">Primary professional network</span>
1199
+ </a>
1200
+ </div>
1201
+ </div>
1202
+ </div>
1203
+
1204
+ // Recruitment platform
1205
+ <div className="recruitment-platform">
1206
+ <div className="job-listings">
1207
+ {jobs.map(job => (
1208
+ <article
1209
+ key={job.id}
1210
+ className="job-listing"
1211
+ aria-label={job.title + " at " + job.company}
1212
+ >
1213
+ <JobDetails job={job} />
1214
+ <div className="job-actions">
1215
+ <a
1216
+ href={generateLinkedInJobUrl(job)}
1217
+ aria-label="Share this job posting on LinkedIn"
1218
+ target="_blank"
1219
+ rel="noopener noreferrer"
1220
+ >
1221
+ <LinkedInIcon className="h-3 w-3" />
1222
+ </a>
1223
+ </div>
1224
+ </article>
1225
+ ))}
1226
+ </div>
1227
+ </div>`}
1228
+ </pre>
1229
+ </div>
1230
+ <div className="!space-y-4">
1231
+ <p className="text-sm !text-white/70">
1232
+ When using LinkedInIcon for professional integration,
1233
+ always provide clear context about the professional
1234
+ relationship and ensure users understand the networking
1235
+ implications of their actions.
1236
+ </p>
1237
+ <div className="rounded-lg border border-blue-500/20 bg-blue-500/10 p-4">
1238
+ <div className="flex items-center gap-2 text-sm text-blue-200">
1239
+ <LinkedInIcon className="h-4 w-4" />
1240
+ <span>
1241
+ Consider professional context and career
1242
+ implications for screen readers
1243
+ </span>
1244
+ </div>
1245
+ </div>
1246
+ </div>
1247
+ </div>
1248
+ </div>
1249
+ </div>
1250
+
1251
+ {/* Related Icons */}
1252
+ <div className="!space-y-8">
1253
+ <h2 className="text-center text-3xl font-bold !text-white">
1254
+ Related Icons
1255
+ </h2>
1256
+ <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
1257
+ <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
1258
+ <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-black">
1259
+ <span className="!text-2xl !text-white">𝕏</span>
1260
+ </div>
1261
+ <div>
1262
+ <div className="font-medium text-white">TwitterXIcon</div>
1263
+ <div className="text-xs text-white/60">
1264
+ Social network
1265
+ </div>
1266
+ </div>
1267
+ </div>
1268
+ <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
1269
+ <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">
1270
+ <span className="!text-2xl !text-white">📷</span>
1271
+ </div>
1272
+ <div>
1273
+ <div className="font-medium text-white">
1274
+ InstagramIcon
1275
+ </div>
1276
+ <div className="text-xs text-white/60">
1277
+ Visual content
1278
+ </div>
1279
+ </div>
1280
+ </div>
1281
+ <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
1282
+ <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
1283
+ <span className="!text-2xl !text-white">📘</span>
1284
+ </div>
1285
+ <div>
1286
+ <div className="font-medium text-white">FacebookIcon</div>
1287
+ <div className="text-xs text-white/60">
1288
+ Social platform
1289
+ </div>
1290
+ </div>
1291
+ </div>
1292
+ <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
1293
+ <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-gray-600">
1294
+ <span className="!text-2xl !text-white">🐙</span>
1295
+ </div>
1296
+ <div>
1297
+ <div className="font-medium text-white">GitHubIcon</div>
1298
+ <div className="text-xs text-white/60">
1299
+ Code repository
1300
+ </div>
1301
+ </div>
1302
+ </div>
1303
+ </div>
1304
+ </div>
1305
+ </div>
1306
+
1307
+ {/* Footer */}
1308
+ <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
1309
+ <div className="!mx-auto max-w-7xl px-6 py-8">
1310
+ <div className="!space-y-4 text-center">
1311
+ <p className="!text-white/60">
1312
+ LinkedInIcon is part of the Aural UI icon library, built
1313
+ with accessibility and professional networking best
1314
+ practices in mind.
1315
+ </p>
1316
+ <p className="text-sm !text-white/40">
1317
+ All icons use Radix UI's AccessibleIcon for screen reader
1318
+ compatibility and follow WCAG guidelines for professional
1319
+ platform recognition and career development accessibility.
1320
+ </p>
1321
+ </div>
1322
+ </div>
1323
+ </div>
1324
+ </div>
1325
+ </>
1326
+ ),
1327
+ },
1328
+ },
1329
+ tags: ["autodocs"],
1330
+ argTypes: {
1331
+ width: {
1332
+ control: { type: "range", min: 8, max: 96, step: 2 },
1333
+ description: "Width of the icon (maintains aspect ratio)",
1334
+ },
1335
+ height: {
1336
+ control: { type: "range", min: 8, max: 96, step: 2 },
1337
+ description: "Height of the icon (maintains aspect ratio)",
1338
+ },
1339
+ fill: {
1340
+ control: "color",
1341
+ description: "Fill color of the LinkedIn square icon",
1342
+ },
1343
+ className: {
1344
+ control: "text",
1345
+ description: "CSS classes for styling and sizing",
1346
+ },
1347
+ onClick: {
1348
+ action: "clicked",
1349
+ description: "Click handler for professional interactions",
1350
+ },
1351
+ },
1352
+ }
1353
+
1354
+ export default meta
1355
+ type Story = StoryObj<typeof LinkedInIcon>
1356
+
1357
+ // Story parameters for consistent dark theme
1358
+ const storyParameters = {
1359
+ backgrounds: {
1360
+ default: "dark",
1361
+ values: [
1362
+ { name: "dark", value: "#0a0a0a" },
1363
+ { name: "darker", value: "#000000" },
1364
+ ],
1365
+ },
1366
+ }
1367
+
1368
+ export const Default: Story = {
1369
+ args: {
1370
+ className: "h-8 w-8 text-blue-500",
1371
+ },
1372
+ parameters: storyParameters,
1373
+ render: (args) => (
1374
+ <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1375
+ <LinkedInIcon {...args} />
1376
+ </div>
1377
+ ),
1378
+ }
1379
+
1380
+ export const SizeVariations: Story = {
1381
+ parameters: {
1382
+ ...storyParameters,
1383
+ docs: {
1384
+ description: {
1385
+ story:
1386
+ "LinkedInIcon in different sizes, from small inline professional links to large recruitment displays.",
1387
+ },
1388
+ },
1389
+ },
1390
+ render: () => (
1391
+ <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">
1392
+ <div className="text-center">
1393
+ <LinkedInIcon className="!mx-auto mb-2 h-3 w-3 text-blue-400" />
1394
+ <span className="text-xs text-white/60">12px</span>
1395
+ </div>
1396
+ <div className="text-center">
1397
+ <LinkedInIcon className="!mx-auto mb-2 h-4 w-4 text-blue-400" />
1398
+ <span className="text-xs text-white/60">16px</span>
1399
+ </div>
1400
+ <div className="text-center">
1401
+ <LinkedInIcon className="!mx-auto mb-2 h-5 w-5 text-blue-400" />
1402
+ <span className="text-xs text-white/60">20px</span>
1403
+ </div>
1404
+ <div className="text-center">
1405
+ <LinkedInIcon className="!mx-auto mb-2 h-6 w-6 text-blue-400" />
1406
+ <span className="text-xs text-white/60">24px</span>
1407
+ </div>
1408
+ <div className="text-center">
1409
+ <LinkedInIcon className="!mx-auto mb-2 h-8 w-8 text-blue-400" />
1410
+ <span className="text-xs text-white/60">32px</span>
1411
+ </div>
1412
+ <div className="text-center">
1413
+ <LinkedInIcon className="!mx-auto mb-2 h-12 w-12 text-blue-400" />
1414
+ <span className="text-xs text-white/60">48px</span>
1415
+ </div>
1416
+ </div>
1417
+ ),
1418
+ }
1419
+
1420
+ export const BrandColors: Story = {
1421
+ parameters: {
1422
+ ...storyParameters,
1423
+ docs: {
1424
+ description: {
1425
+ story:
1426
+ "LinkedInIcon in different brand-compliant colors for various professional contexts.",
1427
+ },
1428
+ },
1429
+ },
1430
+ render: () => (
1431
+ <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">
1432
+ <div className="text-center">
1433
+ <div
1434
+ className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg bg-blue-600"
1435
+ style={{ backgroundColor: "#0077B5" }}
1436
+ >
1437
+ <LinkedInIcon className="h-8 w-8 text-white" />
1438
+ </div>
1439
+ <div className="text-sm font-medium text-white">Official Blue</div>
1440
+ <div className="text-xs text-blue-400">#0077B5</div>
1441
+ </div>
1442
+ <div className="text-center">
1443
+ <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg bg-blue-700">
1444
+ <LinkedInIcon className="h-8 w-8 text-white" />
1445
+ </div>
1446
+ <div className="text-sm font-medium text-white">Dark Blue</div>
1447
+ <div className="text-xs text-blue-400">Hover state</div>
1448
+ </div>
1449
+ <div className="text-center">
1450
+ <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-gray-300 bg-white">
1451
+ <LinkedInIcon className="h-8 w-8 text-blue-600" />
1452
+ </div>
1453
+ <div className="text-sm font-medium text-white">Blue on White</div>
1454
+ <div className="text-xs text-white/60">Light backgrounds</div>
1455
+ </div>
1456
+ <div className="text-center">
1457
+ <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg bg-gray-800">
1458
+ <LinkedInIcon className="h-8 w-8 text-white" />
1459
+ </div>
1460
+ <div className="text-sm font-medium text-white">Monochrome White</div>
1461
+ <div className="text-xs text-white/60">Dark backgrounds</div>
1462
+ </div>
1463
+ </div>
1464
+ ),
1465
+ }
1466
+
1467
+ export const UsageExamples: Story = {
1468
+ parameters: {
1469
+ ...storyParameters,
1470
+ docs: {
1471
+ description: {
1472
+ story:
1473
+ "Real-world usage examples showing LinkedInIcon in different professional and networking contexts.",
1474
+ },
1475
+ },
1476
+ },
1477
+ render: () => (
1478
+ <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1479
+ {/* Professional Profile */}
1480
+ <div className="!space-y-2">
1481
+ <h3 className="text-sm font-medium text-white">Professional Profile</h3>
1482
+ <div className="rounded-lg border border-white/10 bg-white/5 p-4">
1483
+ <div className="flex items-center gap-4 rounded border border-white/10 bg-black/30 p-4">
1484
+ <div className="flex h-12 w-12 items-center justify-center rounded-full bg-white/10">
1485
+ <span className="text-lg">👨‍💼</span>
1486
+ </div>
1487
+ <div className="flex-1">
1488
+ <div className="text-sm font-medium text-white">
1489
+ Michael Johnson
1490
+ </div>
1491
+ <div className="text-xs text-white/60">
1492
+ Senior Product Manager at TechCorp
1493
+ </div>
1494
+ </div>
1495
+ <a
1496
+ href="#"
1497
+ className="rounded bg-blue-600 p-2 transition-colors hover:bg-blue-700"
1498
+ >
1499
+ <LinkedInIcon className="h-4 w-4 text-white" />
1500
+ </a>
1501
+ </div>
1502
+ </div>
1503
+ </div>
1504
+
1505
+ {/* Recruitment */}
1506
+ <div className="!space-y-2">
1507
+ <h3 className="text-sm font-medium text-white">Recruitment Platform</h3>
1508
+ <div className="rounded-lg border border-white/10 bg-white/5 p-4">
1509
+ <div className="flex items-center justify-between rounded border border-blue-500/20 bg-blue-600/10 p-3">
1510
+ <div className="flex items-center gap-2">
1511
+ <LinkedInIcon className="h-5 w-5 text-blue-400" />
1512
+ <span className="text-sm font-medium text-white">
1513
+ Talent Acquisition
1514
+ </span>
1515
+ </div>
1516
+ <button className="rounded bg-blue-600 px-3 py-1 text-sm text-white transition-colors hover:bg-blue-700">
1517
+ Post Job
1518
+ </button>
1519
+ </div>
1520
+ </div>
1521
+ </div>
1522
+
1523
+ {/* Professional Links */}
1524
+ <div className="!space-y-2">
1525
+ <h3 className="text-sm font-medium text-white">
1526
+ Professional Social Links
1527
+ </h3>
1528
+ <div className="rounded-lg border border-white/10 bg-white/5 p-4">
1529
+ <div className="flex items-center gap-3">
1530
+ <span className="text-sm text-white/60">
1531
+ Professional networks:
1532
+ </span>
1533
+ <div className="flex gap-2">
1534
+ <a
1535
+ href="#"
1536
+ className="rounded bg-blue-600 p-2 transition-colors hover:bg-blue-700"
1537
+ >
1538
+ <LinkedInIcon className="h-4 w-4 text-white" />
1539
+ </a>
1540
+ <a
1541
+ href="#"
1542
+ className="rounded border border-gray-700 bg-black p-2 transition-colors hover:bg-gray-800"
1543
+ >
1544
+ <span className="text-sm text-white">𝕏</span>
1545
+ </a>
1546
+ <a
1547
+ href="#"
1548
+ className="rounded bg-gray-600 p-2 transition-colors hover:bg-gray-700"
1549
+ >
1550
+ <span className="text-sm text-white">🐙</span>
1551
+ </a>
1552
+ </div>
1553
+ </div>
1554
+ </div>
1555
+ </div>
1556
+ </div>
1557
+ ),
1558
+ }
1559
+
1560
+ export const Playground: Story = {
1561
+ parameters: {
1562
+ ...storyParameters,
1563
+ docs: {
1564
+ description: {
1565
+ story:
1566
+ "Interactive playground to experiment with different LinkedInIcon configurations.",
1567
+ },
1568
+ },
1569
+ },
1570
+ args: {
1571
+ width: 24,
1572
+ height: 24,
1573
+ className: "text-blue-500",
1574
+ },
1575
+ render: (args) => (
1576
+ <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1577
+ <div className="rounded-lg border border-white/10 bg-white/5 p-8">
1578
+ <LinkedInIcon {...args} />
1579
+ </div>
1580
+ </div>
1581
+ ),
1582
+ }