aural-ui 2.0.0 → 2.0.2

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 (74) hide show
  1. package/dist/components/badge/Badge.stories.tsx +7 -0
  2. package/dist/components/banner/Banner.stories.tsx +7 -0
  3. package/dist/components/button/Button.stories.tsx +7 -0
  4. package/dist/components/char-count/CharCount.stories.tsx +7 -0
  5. package/dist/components/checkbox/Checkbox.stories.tsx +7 -0
  6. package/dist/components/chip/Chip.stories.tsx +10 -0
  7. package/dist/components/collapsible/Collapsible.stories.tsx +7 -0
  8. package/dist/components/dropdown/index.tsx +18 -7
  9. package/dist/components/form/Form.stories.tsx +7 -0
  10. package/dist/components/helper-text/HelperText.stories.tsx +7 -0
  11. package/dist/components/icon-button/IconButton.stories.tsx +4 -0
  12. package/dist/components/if-else/if-else.stories.tsx +7 -0
  13. package/dist/components/input/Input.stories.tsx +7 -0
  14. package/dist/components/label/Label.stories.tsx +7 -0
  15. package/dist/components/overlay/index.tsx +1 -1
  16. package/dist/components/pagination/Pagination.stories.tsx +7 -0
  17. package/dist/components/radio/Radio.stories.tsx +7 -0
  18. package/dist/components/scroll-area/index.tsx +18 -5
  19. package/dist/components/select/Select.stories.tsx +7 -0
  20. package/dist/components/sheet/index.tsx +5 -2
  21. package/dist/components/stepper/Stepper.stories.tsx +7 -0
  22. package/dist/components/switch/Switch.stories.tsx +7 -0
  23. package/dist/components/switch-case/SwitchCase.stories.tsx +7 -0
  24. package/dist/components/tag/Tag.stories.tsx +7 -0
  25. package/dist/components/textarea/TextArea.stories.tsx +7 -0
  26. package/dist/components/textarea/index.tsx +2 -0
  27. package/dist/components/toast/Toast.stories.tsx +7 -0
  28. package/dist/components/typography/Typography.stories.tsx +7 -0
  29. package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +1101 -0
  30. package/dist/icons/ai-avatar-icon/index.tsx +36 -0
  31. package/dist/icons/ai-avatar-icon/meta.ts +8 -0
  32. package/dist/icons/all-icons.tsx +155 -79
  33. package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +1013 -0
  34. package/dist/icons/arrow-corner-up-left-icon/index.tsx +24 -0
  35. package/dist/icons/arrow-corner-up-left-icon/meta.ts +8 -0
  36. package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +1056 -0
  37. package/dist/icons/arrow-corner-up-right-icon/index.tsx +24 -0
  38. package/dist/icons/arrow-corner-up-right-icon/meta.ts +8 -0
  39. package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +992 -0
  40. package/dist/icons/capital-a-letter-icon/index.tsx +32 -0
  41. package/dist/icons/capital-a-letter-icon/meta.ts +8 -0
  42. package/dist/icons/head-icon/HeadIcon.stories.tsx +981 -0
  43. package/dist/icons/head-icon/index.tsx +26 -0
  44. package/dist/icons/head-icon/meta.ts +8 -0
  45. package/dist/icons/index.ts +40 -25
  46. package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +1027 -0
  47. package/dist/icons/layout-column-icon/index.tsx +23 -0
  48. package/dist/icons/layout-column-icon/meta.ts +8 -0
  49. package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +1007 -0
  50. package/dist/icons/layout-left-icon/index.tsx +26 -0
  51. package/dist/icons/layout-left-icon/meta.ts +8 -0
  52. package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +1001 -0
  53. package/dist/icons/layout-right-icon/index.tsx +26 -0
  54. package/dist/icons/layout-right-icon/meta.ts +8 -0
  55. package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +1032 -0
  56. package/dist/icons/musical-note-icon/index.tsx +25 -0
  57. package/dist/icons/musical-note-icon/meta.ts +8 -0
  58. package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +1010 -0
  59. package/dist/icons/paint-roll-icon/index.tsx +24 -0
  60. package/dist/icons/paint-roll-icon/meta.ts +8 -0
  61. package/dist/icons/setting-icon/SettingIcon.stories.tsx +1024 -0
  62. package/dist/icons/setting-icon/index.tsx +30 -0
  63. package/dist/icons/setting-icon/meta.ts +8 -0
  64. package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +1018 -0
  65. package/dist/icons/sparkles-soft-icon/index.tsx +29 -0
  66. package/dist/icons/sparkles-soft-icon/meta.ts +8 -0
  67. package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +1006 -0
  68. package/dist/icons/text-color-icon/index.tsx +35 -0
  69. package/dist/icons/text-color-icon/meta.ts +8 -0
  70. package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +1039 -0
  71. package/dist/icons/text-indicator-icon/index.tsx +24 -0
  72. package/dist/icons/text-indicator-icon/meta.ts +8 -0
  73. package/dist/index.js +124 -99
  74. package/package.json +1 -1
@@ -0,0 +1,1056 @@
1
+ import React from "react"
2
+ import type { Meta, StoryObj } from "@storybook/react"
3
+
4
+ import { ArrowCornerUpRightIcon } from "."
5
+
6
+ const meta: Meta<typeof ArrowCornerUpRightIcon> = {
7
+ title: "Icons/ArrowCornerUpRightIcon",
8
+ component: ArrowCornerUpRightIcon,
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-indigo-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-indigo-500/10 via-transparent to-purple-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-indigo-500/30 bg-gradient-to-br from-indigo-500/20 to-purple-500/20">
90
+ <ArrowCornerUpRightIcon className="h-12 w-12 text-indigo-400" />
91
+ </div>
92
+ <h1 className="!text-fm-primary text-5xl font-bold">
93
+ ArrowCornerUpRightIcon
94
+ </h1>
95
+ <p className="!mx-auto max-w-3xl text-xl leading-relaxed !text-white/70">
96
+ A directional icon for forward navigation, external links,
97
+ and expansion actions. Perfect for indicating outbound
98
+ navigation, next steps, and corner-based directional
99
+ movement. Built with accessibility in mind using Radix UI's
100
+ AccessibleIcon wrapper.
101
+ </p>
102
+
103
+ {/* Stats */}
104
+ <div className="flex items-center justify-center gap-8 pt-8">
105
+ <div className="text-center">
106
+ <div className="text-3xl font-bold text-indigo-300">
107
+ Accessible
108
+ </div>
109
+ <div className="text-sm text-white/60">
110
+ Screen reader friendly
111
+ </div>
112
+ </div>
113
+ <div className="h-8 w-px bg-white/20" />
114
+ <div className="text-center">
115
+ <div className="text-3xl font-bold text-purple-300">
116
+ Scalable
117
+ </div>
118
+ <div className="text-sm text-white/60">
119
+ Any size needed
120
+ </div>
121
+ </div>
122
+ <div className="h-8 w-px bg-white/20" />
123
+ <div className="text-center">
124
+ <div className="text-3xl font-bold text-blue-300">
125
+ Flexible
126
+ </div>
127
+ <div className="text-sm text-white/60">
128
+ Customizable styling
129
+ </div>
130
+ </div>
131
+ </div>
132
+ </div>
133
+ </div>
134
+ </div>
135
+
136
+ {/* Content */}
137
+ <div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
138
+ {/* Quick Usage */}
139
+ <div className="!space-y-8">
140
+ <h2 className="text-center text-3xl font-bold !text-white">
141
+ Quick Start
142
+ </h2>
143
+ <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
144
+ <div className="!space-y-4">
145
+ <h3 className="text-xl font-semibold !text-indigo-300">
146
+ Basic Usage
147
+ </h3>
148
+ <div className="rounded-lg bg-black/40 p-4">
149
+ <pre className="overflow-x-auto text-sm !text-green-300">
150
+ {`import { ArrowCornerUpRightIcon } from "@icons/arrow-corner-up-right-icon"
151
+
152
+ function MyComponent() {
153
+ return (
154
+ <a href="/next-page" className="flex items-center gap-2">
155
+ <span>Continue to next step</span>
156
+ <ArrowCornerUpRightIcon className="h-5 w-5 text-indigo-500" />
157
+ </a>
158
+ )
159
+ }`}
160
+ </pre>
161
+ </div>
162
+ </div>
163
+
164
+ <div className="!space-y-4">
165
+ <h3 className="text-xl font-semibold !text-indigo-300">
166
+ Live Preview
167
+ </h3>
168
+ <div className="flex h-32 items-center justify-center rounded-lg border border-white/10 bg-white/5">
169
+ <a
170
+ href="#"
171
+ className="flex items-center gap-3 rounded-lg border border-indigo-500/20 bg-indigo-500/10 px-4 py-2 transition-colors hover:bg-indigo-500/20"
172
+ >
173
+ <span className="text-white">
174
+ Continue to next step
175
+ </span>
176
+ <ArrowCornerUpRightIcon className="h-5 w-5 text-indigo-400" />
177
+ </a>
178
+ </div>
179
+ </div>
180
+ </div>
181
+ </div>
182
+
183
+ {/* Props Documentation */}
184
+ <div className="!space-y-8">
185
+ <h2 className="text-center text-3xl font-bold !text-white">
186
+ Props & Configuration
187
+ </h2>
188
+
189
+ <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
190
+ <div className="bg-white/5 p-4">
191
+ <h3 className="text-xl font-semibold !text-white">Props</h3>
192
+ </div>
193
+ <table className="!my-0 w-full">
194
+ <thead className="bg-white/5">
195
+ <tr className="border-b border-white/10">
196
+ <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
197
+ Prop
198
+ </th>
199
+ <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
200
+ Type
201
+ </th>
202
+ <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
203
+ Default
204
+ </th>
205
+ <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
206
+ Description
207
+ </th>
208
+ </tr>
209
+ </thead>
210
+ <tbody>
211
+ <tr className="border-b border-white/5">
212
+ <td className="px-6 py-4 font-mono text-sm !text-indigo-300">
213
+ width
214
+ </td>
215
+ <td className="px-6 py-4 text-sm !text-white/70">
216
+ number | string
217
+ </td>
218
+ <td className="px-6 py-4 text-sm !text-white/50">18</td>
219
+ <td className="px-6 py-4 text-sm !text-white/70">
220
+ Width of the icon in pixels
221
+ </td>
222
+ </tr>
223
+ <tr className="border-b border-white/5 !bg-black/10">
224
+ <td className="px-6 py-4 font-mono text-sm !text-indigo-300">
225
+ height
226
+ </td>
227
+ <td className="px-6 py-4 text-sm !text-white/70">
228
+ number | string
229
+ </td>
230
+ <td className="px-6 py-4 text-sm !text-white/50">18</td>
231
+ <td className="px-6 py-4 text-sm !text-white/70">
232
+ Height of the icon in pixels
233
+ </td>
234
+ </tr>
235
+ <tr className="border-b border-white/5">
236
+ <td className="px-6 py-4 font-mono text-sm !text-indigo-300">
237
+ stroke
238
+ </td>
239
+ <td className="px-6 py-4 text-sm !text-white/70">
240
+ string
241
+ </td>
242
+ <td className="px-6 py-4 text-sm !text-white/50">
243
+ currentColor
244
+ </td>
245
+ <td className="px-6 py-4 text-sm !text-white/70">
246
+ Stroke color of the icon
247
+ </td>
248
+ </tr>
249
+ <tr className="border-b border-white/5 !bg-black/10">
250
+ <td className="px-6 py-4 font-mono text-sm !text-indigo-300">
251
+ strokeWidth
252
+ </td>
253
+ <td className="px-6 py-4 text-sm !text-white/70">
254
+ number | string
255
+ </td>
256
+ <td className="px-6 py-4 text-sm !text-white/50">
257
+ 1.5
258
+ </td>
259
+ <td className="px-6 py-4 text-sm !text-white/70">
260
+ Width of the stroke
261
+ </td>
262
+ </tr>
263
+ <tr className="border-b border-white/5">
264
+ <td className="px-6 py-4 font-mono text-sm !text-indigo-300">
265
+ className
266
+ </td>
267
+ <td className="px-6 py-4 text-sm !text-white/70">
268
+ string
269
+ </td>
270
+ <td className="px-6 py-4 text-sm !text-white/50">-</td>
271
+ <td className="px-6 py-4 text-sm !text-white/70">
272
+ CSS classes for styling
273
+ </td>
274
+ </tr>
275
+ <tr className="!bg-black/10">
276
+ <td className="px-6 py-4 font-mono text-sm !text-indigo-300">
277
+ ...svgProps
278
+ </td>
279
+ <td className="px-6 py-4 text-sm !text-white/70">
280
+ SVGProps
281
+ </td>
282
+ <td className="px-6 py-4 text-sm !text-white/50">-</td>
283
+ <td className="px-6 py-4 text-sm !text-white/70">
284
+ All standard SVG element props
285
+ </td>
286
+ </tr>
287
+ </tbody>
288
+ </table>
289
+ </div>
290
+ </div>
291
+
292
+ {/* Size Variations */}
293
+ <div className="!space-y-8">
294
+ <h2 className="text-center text-3xl font-bold !text-white">
295
+ Size Variations
296
+ </h2>
297
+ <div className="rounded-lg border border-white/10 bg-white/5 p-8">
298
+ <div className="!space-y-6">
299
+ <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
300
+ <div className="!space-y-4">
301
+ <h3 className="text-lg font-semibold !text-indigo-300">
302
+ Standard Sizes
303
+ </h3>
304
+ <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
305
+ <div className="text-center">
306
+ <ArrowCornerUpRightIcon className="!mx-auto mb-2 h-3 w-3 text-indigo-400" />
307
+ <span className="text-xs text-white/60">12px</span>
308
+ </div>
309
+ <div className="text-center">
310
+ <ArrowCornerUpRightIcon className="!mx-auto mb-2 h-4 w-4 text-indigo-400" />
311
+ <span className="text-xs text-white/60">16px</span>
312
+ </div>
313
+ <div className="text-center">
314
+ <ArrowCornerUpRightIcon className="!mx-auto mb-2 h-5 w-5 text-indigo-400" />
315
+ <span className="text-xs text-white/60">20px</span>
316
+ </div>
317
+ <div className="text-center">
318
+ <ArrowCornerUpRightIcon className="!mx-auto mb-2 h-6 w-6 text-indigo-400" />
319
+ <span className="text-xs text-white/60">24px</span>
320
+ </div>
321
+ <div className="text-center">
322
+ <ArrowCornerUpRightIcon className="!mx-auto mb-2 h-8 w-8 text-indigo-400" />
323
+ <span className="text-xs text-white/60">32px</span>
324
+ </div>
325
+ <div className="text-center">
326
+ <ArrowCornerUpRightIcon className="!mx-auto mb-2 h-12 w-12 text-indigo-400" />
327
+ <span className="text-xs text-white/60">48px</span>
328
+ </div>
329
+ </div>
330
+ </div>
331
+
332
+ <div className="!space-y-4">
333
+ <h3 className="text-lg font-semibold !text-indigo-300">
334
+ Code Example
335
+ </h3>
336
+ <div className="rounded-lg bg-black/40 p-4">
337
+ <pre className="overflow-x-auto text-sm !text-blue-300">
338
+ {`// Small (16px)
339
+ <ArrowCornerUpRightIcon className="h-4 w-4" />
340
+
341
+ // Medium (24px)
342
+ <ArrowCornerUpRightIcon className="h-6 w-6" />
343
+
344
+ // Large (32px)
345
+ <ArrowCornerUpRightIcon className="h-8 w-8" />
346
+
347
+ // Custom size
348
+ <ArrowCornerUpRightIcon width={40} height={40} />`}
349
+ </pre>
350
+ </div>
351
+ </div>
352
+ </div>
353
+ </div>
354
+ </div>
355
+ </div>
356
+
357
+ {/* Color Variations */}
358
+ <div className="!space-y-8">
359
+ <h2 className="text-center text-3xl font-bold !text-white">
360
+ Color Variations
361
+ </h2>
362
+ <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
363
+ <div className="!space-y-4">
364
+ <h3 className="text-lg font-semibold !text-indigo-300">
365
+ Semantic Colors
366
+ </h3>
367
+ <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
368
+ <div className="flex items-center gap-4">
369
+ <ArrowCornerUpRightIcon className="h-6 w-6 text-indigo-400" />
370
+ <div>
371
+ <div className="text-sm font-medium text-white">
372
+ Primary
373
+ </div>
374
+ <div className="text-xs text-white/60">
375
+ text-indigo-400
376
+ </div>
377
+ </div>
378
+ </div>
379
+ <div className="flex items-center gap-4">
380
+ <ArrowCornerUpRightIcon className="h-6 w-6 text-purple-400" />
381
+ <div>
382
+ <div className="text-sm font-medium text-white">
383
+ Secondary
384
+ </div>
385
+ <div className="text-xs text-white/60">
386
+ text-purple-400
387
+ </div>
388
+ </div>
389
+ </div>
390
+ <div className="flex items-center gap-4">
391
+ <ArrowCornerUpRightIcon className="h-6 w-6 text-gray-400" />
392
+ <div>
393
+ <div className="text-sm font-medium text-white">
394
+ Neutral
395
+ </div>
396
+ <div className="text-xs text-white/60">
397
+ text-gray-400
398
+ </div>
399
+ </div>
400
+ </div>
401
+ <div className="flex items-center gap-4">
402
+ <ArrowCornerUpRightIcon className="h-6 w-6 text-blue-400" />
403
+ <div>
404
+ <div className="text-sm font-medium text-white">
405
+ Accent
406
+ </div>
407
+ <div className="text-xs text-white/60">
408
+ text-blue-400
409
+ </div>
410
+ </div>
411
+ </div>
412
+ </div>
413
+ </div>
414
+
415
+ <div className="!space-y-4">
416
+ <h3 className="text-lg font-semibold !text-indigo-300">
417
+ Custom Colors
418
+ </h3>
419
+ <div className="rounded-lg bg-black/40 p-4">
420
+ <pre className="overflow-x-auto text-sm !text-green-300">
421
+ {`// Using Tailwind classes
422
+ <ArrowCornerUpRightIcon className="h-6 w-6 text-indigo-400" />
423
+ <ArrowCornerUpRightIcon className="h-6 w-6 text-purple-500" />
424
+
425
+ // Using CSS custom properties
426
+ <ArrowCornerUpRightIcon
427
+ className="h-6 w-6"
428
+ style={{ color: 'var(--color-primary)' }}
429
+ />
430
+
431
+ // Direct stroke prop
432
+ <ArrowCornerUpRightIcon
433
+ width={24}
434
+ height={24}
435
+ stroke="#6366f1"
436
+ />`}
437
+ </pre>
438
+ </div>
439
+ </div>
440
+ </div>
441
+ </div>
442
+
443
+ {/* Usage Examples */}
444
+ <div className="!space-y-8">
445
+ <h2 className="text-center text-3xl font-bold !text-white">
446
+ Usage Examples
447
+ </h2>
448
+
449
+ <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
450
+ {/* External Links */}
451
+ <div className="!space-y-4">
452
+ <h3 className="text-lg font-semibold !text-indigo-300">
453
+ External Links
454
+ </h3>
455
+ <div className="!space-y-4">
456
+ <div className="!space-y-3">
457
+ <a
458
+ href="#"
459
+ className="group flex items-center gap-2 text-indigo-400 hover:text-indigo-300"
460
+ >
461
+ <span>Visit our documentation</span>
462
+ <ArrowCornerUpRightIcon className="h-4 w-4 transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5" />
463
+ </a>
464
+ <a
465
+ href="#"
466
+ className="group flex items-center gap-2 text-purple-400 hover:text-purple-300"
467
+ >
468
+ <span>Open in new tab</span>
469
+ <ArrowCornerUpRightIcon className="h-4 w-4 transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5" />
470
+ </a>
471
+ <a
472
+ href="#"
473
+ className="group flex items-center gap-2 text-blue-400 hover:text-blue-300"
474
+ >
475
+ <span>View on GitHub</span>
476
+ <ArrowCornerUpRightIcon className="h-4 w-4 transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5" />
477
+ </a>
478
+ </div>
479
+ <div className="rounded-lg bg-black/40 p-4">
480
+ <pre className="overflow-x-auto text-sm !text-green-300">
481
+ {`<a href="#" className="group flex items-center gap-2 text-indigo-400 hover:text-indigo-300">
482
+ <span>Visit our documentation</span>
483
+ <ArrowCornerUpRightIcon className="h-4 w-4 transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5" />
484
+ </a>
485
+
486
+ <a href="#" className="group flex items-center gap-2 text-purple-400 hover:text-purple-300">
487
+ <span>Open in new tab</span>
488
+ <ArrowCornerUpRightIcon className="h-4 w-4 transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5" />
489
+ </a>`}
490
+ </pre>
491
+ </div>
492
+ </div>
493
+ </div>
494
+
495
+ {/* Navigation Cards */}
496
+ <div className="!space-y-4">
497
+ <h3 className="text-lg font-semibold !text-indigo-300">
498
+ Navigation Cards
499
+ </h3>
500
+ <div className="!space-y-4">
501
+ <div className="grid gap-4">
502
+ <div className="group cursor-pointer rounded-lg border border-white/10 bg-white/5 p-4 transition-colors hover:bg-white/10">
503
+ <div className="flex items-center justify-between">
504
+ <div>
505
+ <h4 className="font-medium !text-white">
506
+ Next Step
507
+ </h4>
508
+ <p className="text-sm !text-white/60">
509
+ Continue with setup
510
+ </p>
511
+ </div>
512
+ <ArrowCornerUpRightIcon className="h-5 w-5 text-indigo-400 transition-transform group-hover:translate-x-1 group-hover:-translate-y-1" />
513
+ </div>
514
+ </div>
515
+ <div className="group cursor-pointer rounded-lg border border-white/10 bg-white/5 p-4 transition-colors hover:bg-white/10">
516
+ <div className="flex items-center justify-between">
517
+ <div>
518
+ <h4 className="font-medium !text-white">
519
+ Advanced Settings
520
+ </h4>
521
+ <p className="text-sm !text-white/60">
522
+ Configure advanced options
523
+ </p>
524
+ </div>
525
+ <ArrowCornerUpRightIcon className="h-5 w-5 text-purple-400 transition-transform group-hover:translate-x-1 group-hover:-translate-y-1" />
526
+ </div>
527
+ </div>
528
+ </div>
529
+ <div className="rounded-lg bg-black/40 p-4">
530
+ <pre className="overflow-x-auto text-sm !text-green-300">
531
+ {`<div className="group cursor-pointer rounded-lg border border-white/10 bg-white/5 p-4 transition-colors hover:bg-white/10">
532
+ <div className="flex items-center justify-between">
533
+ <div>
534
+ <h4 className="font-medium text-white">Next Step</h4>
535
+ <p className="text-sm text-white/60">Continue with setup</p>
536
+ </div>
537
+ <ArrowCornerUpRightIcon className="h-5 w-5 text-indigo-400 transition-transform group-hover:translate-x-1 group-hover:-translate-y-1" />
538
+ </div>
539
+ </div>`}
540
+ </pre>
541
+ </div>
542
+ </div>
543
+ </div>
544
+
545
+ {/* Action Buttons */}
546
+ <div className="!space-y-4">
547
+ <h3 className="text-lg font-semibold !text-indigo-300">
548
+ Action Buttons
549
+ </h3>
550
+ <div className="!space-y-4">
551
+ <div className="flex gap-4">
552
+ <button className="flex items-center gap-2 rounded-lg border border-indigo-500/30 bg-indigo-500/20 px-4 py-2 text-indigo-200 transition-colors hover:bg-indigo-500/30">
553
+ <span>Deploy Now</span>
554
+ <ArrowCornerUpRightIcon className="h-4 w-4" />
555
+ </button>
556
+ <button className="flex items-center gap-2 rounded-lg border border-purple-500/30 bg-purple-500/20 px-4 py-2 text-purple-200 transition-colors hover:bg-purple-500/30">
557
+ <span>Launch</span>
558
+ <ArrowCornerUpRightIcon className="h-4 w-4" />
559
+ </button>
560
+ </div>
561
+ <div className="rounded-lg bg-black/40 p-4">
562
+ <pre className="overflow-x-auto text-sm !text-green-300">
563
+ {`// Deploy button
564
+ <button className="flex items-center gap-2 bg-indigo-500/20 border border-indigo-500/30 px-4 py-2 rounded-lg">
565
+ <span>Deploy Now</span>
566
+ <ArrowCornerUpRightIcon className="h-4 w-4" />
567
+ </button>
568
+
569
+ // Launch button
570
+ <button className="flex items-center gap-2 bg-purple-500/20 border border-purple-500/30 px-4 py-2 rounded-lg">
571
+ <span>Launch</span>
572
+ <ArrowCornerUpRightIcon className="h-4 w-4" />
573
+ </button>`}
574
+ </pre>
575
+ </div>
576
+ </div>
577
+ </div>
578
+
579
+ {/* Call-to-Action */}
580
+ <div className="!space-y-4">
581
+ <h3 className="text-lg font-semibold !text-indigo-300">
582
+ Call-to-Action
583
+ </h3>
584
+ <div className="!space-y-4">
585
+ <div className="rounded-lg border border-indigo-500/20 bg-indigo-500/10 p-6">
586
+ <div className="!space-y-4">
587
+ <h4 className="text-xl font-medium !text-white">
588
+ Ready to get started?
589
+ </h4>
590
+ <p className="!text-white/80">
591
+ Join thousands of developers already using our
592
+ platform.
593
+ </p>
594
+ <button className="group flex items-center gap-2 rounded-lg bg-indigo-500 px-6 py-3 font-medium text-white transition-all hover:bg-indigo-600">
595
+ <span>Start your free trial</span>
596
+ <ArrowCornerUpRightIcon className="h-5 w-5 transition-transform group-hover:translate-x-1 group-hover:-translate-y-1" />
597
+ </button>
598
+ </div>
599
+ </div>
600
+ <div className="rounded-lg bg-black/40 p-4">
601
+ <pre className="overflow-x-auto text-sm !text-green-300">
602
+ {`<div className="rounded-lg border border-indigo-500/20 bg-indigo-500/10 p-6">
603
+ <div className="space-y-4">
604
+ <h4 className="text-xl font-medium text-white">Ready to get started?</h4>
605
+ <p className="!text-indigo-200/80">
606
+ Join thousands of developers already using our platform.
607
+ </p>
608
+ <button className="group flex items-center gap-2 rounded-lg bg-indigo-500 px-6 py-3 font-medium text-white transition-all hover:bg-indigo-600">
609
+ <span>Start your free trial</span>
610
+ <ArrowCornerUpRightIcon className="h-5 w-5 transition-transform group-hover:translate-x-1 group-hover:-translate-y-1" />
611
+ </button>
612
+ </div>
613
+ </div>`}
614
+ </pre>
615
+ </div>
616
+ </div>
617
+ </div>
618
+ </div>
619
+ </div>
620
+
621
+ {/* Accessibility */}
622
+ <div className="!space-y-8">
623
+ <h2 className="text-center text-3xl font-bold !text-white">
624
+ Accessibility Features
625
+ </h2>
626
+ <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
627
+ <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
628
+ <h3 className="text-lg font-semibold !text-green-300">
629
+ ✅ Built-in Features
630
+ </h3>
631
+ <ul className="!space-y-2 text-sm !text-white/70">
632
+ <li className="!text-white/70">
633
+ Uses Radix UI AccessibleIcon wrapper
634
+ </li>
635
+ <li className="!text-white/70">
636
+ Provides screen reader label "Arrow Corner Up Right
637
+ icon"
638
+ </li>
639
+ <li className="!text-white/70">
640
+ Supports keyboard navigation when interactive
641
+ </li>
642
+ <li className="!text-white/70">
643
+ Maintains proper color contrast ratios
644
+ </li>
645
+ <li className="!text-white/70">
646
+ Scales with user's font size preferences
647
+ </li>
648
+ </ul>
649
+ </div>
650
+
651
+ <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
652
+ <h3 className="text-lg font-semibold !text-indigo-300">
653
+ 💡 Best Practices
654
+ </h3>
655
+ <ul className="!space-y-2 text-sm text-white/70">
656
+ <li className="!text-white/70">
657
+ Always pair with descriptive text or aria-label
658
+ </li>
659
+ <li className="!text-white/70">
660
+ Use consistent positioning for forward navigation
661
+ </li>
662
+ <li className="!text-white/70">
663
+ Ensure sufficient color contrast
664
+ </li>
665
+ <li className="!text-white/70">
666
+ Add focus states for interactive elements
667
+ </li>
668
+ <li className="!text-white/70">
669
+ Consider motion sensitivity for hover effects
670
+ </li>
671
+ </ul>
672
+ </div>
673
+ </div>
674
+
675
+ <div className="rounded-lg border border-white/10 bg-white/5 p-6">
676
+ <h3 className="mb-4 text-lg font-semibold !text-purple-300">
677
+ Custom Accessibility Label
678
+ </h3>
679
+ <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
680
+ <div className="rounded-lg bg-black/40 p-4">
681
+ <pre className="overflow-x-auto text-sm !text-blue-300">
682
+ {`// Custom implementation with specific label
683
+ import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
684
+
685
+ function CustomArrowIcon({ label = "Navigate forward", ...props }) {
686
+ return (
687
+ <AccessibleIcon label={label}>
688
+ <ArrowCornerUpRightIcon {...props} />
689
+ </AccessibleIcon>
690
+ )
691
+ }
692
+
693
+ // Usage with specific context
694
+ <CustomArrowIcon
695
+ label="Continue to next step"
696
+ className="h-4 w-4 text-indigo-400"
697
+ />`}
698
+ </pre>
699
+ </div>
700
+ <div className="!space-y-4">
701
+ <p className="text-sm !text-white/70">
702
+ For specific contexts, you can wrap the
703
+ ArrowCornerUpRightIcon with a custom AccessibleIcon
704
+ component that provides more descriptive labels.
705
+ </p>
706
+ <div className="rounded-lg border border-indigo-500/20 bg-indigo-500/10 p-4">
707
+ <div className="flex items-center gap-2 text-sm text-indigo-200">
708
+ <span>
709
+ This approach gives screen readers more context
710
+ </span>
711
+ <ArrowCornerUpRightIcon className="h-4 w-4" />
712
+ </div>
713
+ </div>
714
+ </div>
715
+ </div>
716
+ </div>
717
+ </div>
718
+
719
+ {/* Related Icons */}
720
+ <div className="!space-y-8">
721
+ <h2 className="text-center text-3xl font-bold !text-white">
722
+ Related Icons
723
+ </h2>
724
+ <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
725
+ <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
726
+ <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
727
+ <span className="text-2xl">↗️</span>
728
+ </div>
729
+ <div>
730
+ <div className="font-medium text-white">
731
+ ArrowUpRightIcon
732
+ </div>
733
+ <div className="text-xs text-white/60">
734
+ Diagonal navigation
735
+ </div>
736
+ </div>
737
+ </div>
738
+ <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
739
+ <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-indigo-500/20">
740
+ <span className="text-2xl">➡️</span>
741
+ </div>
742
+ <div>
743
+ <div className="font-medium text-white">
744
+ ArrowRightIcon
745
+ </div>
746
+ <div className="text-xs text-white/60">
747
+ Horizontal navigation
748
+ </div>
749
+ </div>
750
+ </div>
751
+ <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
752
+ <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
753
+ <span className="text-2xl">⬆️</span>
754
+ </div>
755
+ <div>
756
+ <div className="font-medium text-white">ArrowUpIcon</div>
757
+ <div className="text-xs text-white/60">
758
+ Vertical navigation
759
+ </div>
760
+ </div>
761
+ </div>
762
+ <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
763
+ <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-cyan-500/20">
764
+ <span className="text-2xl">🔗</span>
765
+ </div>
766
+ <div>
767
+ <div className="font-medium text-white">
768
+ ExternalLinkIcon
769
+ </div>
770
+ <div className="text-xs text-white/60">
771
+ External links
772
+ </div>
773
+ </div>
774
+ </div>
775
+ </div>
776
+ </div>
777
+ </div>
778
+
779
+ {/* Footer */}
780
+ <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
781
+ <div className="!mx-auto max-w-7xl px-6 py-8">
782
+ <div className="!space-y-4 text-center">
783
+ <p className="!text-white/60">
784
+ ArrowCornerUpRightIcon is part of the Aural UI icon library,
785
+ built with accessibility and consistency in mind.
786
+ </p>
787
+ <p className="text-sm !text-white/40">
788
+ All icons use Radix UI's AccessibleIcon for screen reader
789
+ compatibility and follow WCAG guidelines.
790
+ </p>
791
+ </div>
792
+ </div>
793
+ </div>
794
+ </div>
795
+ </>
796
+ ),
797
+ },
798
+ },
799
+ tags: ["autodocs"],
800
+ argTypes: {
801
+ width: {
802
+ control: { type: "range", min: 8, max: 96, step: 2 },
803
+ description: "Width of the icon in pixels",
804
+ },
805
+ height: {
806
+ control: { type: "range", min: 8, max: 96, step: 2 },
807
+ description: "Height of the icon in pixels",
808
+ },
809
+ stroke: {
810
+ control: "color",
811
+ description: "Stroke color of the icon",
812
+ },
813
+ strokeWidth: {
814
+ control: { type: "range", min: 0.5, max: 4, step: 0.1 },
815
+ description: "Width of the stroke",
816
+ },
817
+ className: {
818
+ control: "text",
819
+ description: "CSS classes for styling",
820
+ },
821
+ },
822
+ }
823
+
824
+ export default meta
825
+ type Story = StoryObj<typeof ArrowCornerUpRightIcon>
826
+
827
+ // Story parameters for consistent dark theme
828
+ const storyParameters = {
829
+ backgrounds: {
830
+ default: "dark",
831
+ values: [
832
+ { name: "dark", value: "#0a0a0a" },
833
+ { name: "darker", value: "#000000" },
834
+ ],
835
+ },
836
+ }
837
+
838
+ export const Default: Story = {
839
+ args: {
840
+ width: 24,
841
+ height: 24,
842
+ className: "text-indigo-400",
843
+ },
844
+ parameters: storyParameters,
845
+ render: (args) => (
846
+ <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
847
+ <ArrowCornerUpRightIcon {...args} />
848
+ </div>
849
+ ),
850
+ }
851
+
852
+ export const SizeVariations: Story = {
853
+ parameters: {
854
+ ...storyParameters,
855
+ docs: {
856
+ description: {
857
+ story:
858
+ "ArrowCornerUpRightIcon in different sizes, from small UI elements to large displays.",
859
+ },
860
+ },
861
+ },
862
+ render: () => (
863
+ <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">
864
+ <div className="text-center">
865
+ <ArrowCornerUpRightIcon className="!mx-auto mb-2 h-3 w-3 text-indigo-400" />
866
+ <span className="text-xs text-white/60">12px</span>
867
+ </div>
868
+ <div className="text-center">
869
+ <ArrowCornerUpRightIcon className="!mx-auto mb-2 h-4 w-4 text-indigo-400" />
870
+ <span className="text-xs text-white/60">16px</span>
871
+ </div>
872
+ <div className="text-center">
873
+ <ArrowCornerUpRightIcon className="!mx-auto mb-2 h-5 w-5 text-indigo-400" />
874
+ <span className="text-xs text-white/60">20px</span>
875
+ </div>
876
+ <div className="text-center">
877
+ <ArrowCornerUpRightIcon className="!mx-auto mb-2 h-6 w-6 text-indigo-400" />
878
+ <span className="text-xs text-white/60">24px</span>
879
+ </div>
880
+ <div className="text-center">
881
+ <ArrowCornerUpRightIcon className="!mx-auto mb-2 h-8 w-8 text-indigo-400" />
882
+ <span className="text-xs text-white/60">32px</span>
883
+ </div>
884
+ <div className="text-center">
885
+ <ArrowCornerUpRightIcon className="!mx-auto mb-2 h-12 w-12 text-indigo-400" />
886
+ <span className="text-xs text-white/60">48px</span>
887
+ </div>
888
+ </div>
889
+ ),
890
+ }
891
+
892
+ export const ColorVariations: Story = {
893
+ parameters: {
894
+ ...storyParameters,
895
+ docs: {
896
+ description: {
897
+ story:
898
+ "ArrowCornerUpRightIcon in different semantic colors for various navigation contexts.",
899
+ },
900
+ },
901
+ },
902
+ render: () => (
903
+ <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">
904
+ <div className="text-center">
905
+ <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-indigo-500/30 bg-indigo-500/20">
906
+ <ArrowCornerUpRightIcon className="h-8 w-8 text-indigo-400" />
907
+ </div>
908
+ <div className="text-sm font-medium text-white">Primary</div>
909
+ <div className="text-xs text-indigo-400">text-indigo-400</div>
910
+ </div>
911
+ <div className="text-center">
912
+ <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-purple-500/30 bg-purple-500/20">
913
+ <ArrowCornerUpRightIcon className="h-8 w-8 text-purple-400" />
914
+ </div>
915
+ <div className="text-sm font-medium text-white">Secondary</div>
916
+ <div className="text-xs text-purple-400">text-purple-400</div>
917
+ </div>
918
+ <div className="text-center">
919
+ <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">
920
+ <ArrowCornerUpRightIcon className="h-8 w-8 text-gray-400" />
921
+ </div>
922
+ <div className="text-sm font-medium text-white">Neutral</div>
923
+ <div className="text-xs text-gray-400">text-gray-400</div>
924
+ </div>
925
+ <div className="text-center">
926
+ <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">
927
+ <ArrowCornerUpRightIcon className="h-8 w-8 text-blue-400" />
928
+ </div>
929
+ <div className="text-sm font-medium text-white">Accent</div>
930
+ <div className="text-xs text-blue-400">text-blue-400</div>
931
+ </div>
932
+ </div>
933
+ ),
934
+ }
935
+
936
+ export const NavigationExamples: Story = {
937
+ parameters: {
938
+ ...storyParameters,
939
+ docs: {
940
+ description: {
941
+ story:
942
+ "Real-world navigation examples showing ArrowCornerUpRightIcon in different UI contexts.",
943
+ },
944
+ },
945
+ },
946
+ render: () => (
947
+ <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
948
+ {/* External Links */}
949
+ <div className="!space-y-2">
950
+ <h3 className="text-sm font-medium text-white">External Links</h3>
951
+ <div className="!space-y-3">
952
+ <a
953
+ href="#"
954
+ className="group flex items-center gap-2 text-indigo-400 hover:text-indigo-300"
955
+ >
956
+ <span>Visit our documentation</span>
957
+ <ArrowCornerUpRightIcon className="h-4 w-4 transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5" />
958
+ </a>
959
+ <a
960
+ href="#"
961
+ className="group flex items-center gap-2 text-purple-400 hover:text-purple-300"
962
+ >
963
+ <span>Open in new tab</span>
964
+ <ArrowCornerUpRightIcon className="h-4 w-4 transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5" />
965
+ </a>
966
+ </div>
967
+ </div>
968
+
969
+ {/* Navigation Cards */}
970
+ <div className="!space-y-2">
971
+ <h3 className="text-sm font-medium text-white">Navigation Cards</h3>
972
+ <div className="grid gap-4">
973
+ <div className="group cursor-pointer rounded-lg border border-white/10 bg-white/5 p-4 transition-colors hover:bg-white/10">
974
+ <div className="flex items-center justify-between">
975
+ <div>
976
+ <h4 className="font-medium text-white">Next Step</h4>
977
+ <p className="text-sm text-white/60">Continue with setup</p>
978
+ </div>
979
+ <ArrowCornerUpRightIcon className="h-5 w-5 text-indigo-400 transition-transform group-hover:translate-x-1 group-hover:-translate-y-1" />
980
+ </div>
981
+ </div>
982
+ <div className="group cursor-pointer rounded-lg border border-white/10 bg-white/5 p-4 transition-colors hover:bg-white/10">
983
+ <div className="flex items-center justify-between">
984
+ <div>
985
+ <h4 className="font-medium text-white">Advanced Settings</h4>
986
+ <p className="text-sm text-white/60">
987
+ Configure advanced options
988
+ </p>
989
+ </div>
990
+ <ArrowCornerUpRightIcon className="h-5 w-5 text-purple-400 transition-transform group-hover:translate-x-1 group-hover:-translate-y-1" />
991
+ </div>
992
+ </div>
993
+ </div>
994
+ </div>
995
+
996
+ {/* Action Buttons */}
997
+ <div className="!space-y-2">
998
+ <h3 className="text-sm font-medium text-white">Action Buttons</h3>
999
+ <div className="flex gap-4">
1000
+ <button className="flex items-center gap-2 rounded-lg border border-indigo-500/30 bg-indigo-500/20 px-4 py-2 text-indigo-200 transition-colors hover:bg-indigo-500/30">
1001
+ <span>Deploy Now</span>
1002
+ <ArrowCornerUpRightIcon className="h-4 w-4" />
1003
+ </button>
1004
+ <button className="flex items-center gap-2 rounded-lg border border-purple-500/30 bg-purple-500/20 px-4 py-2 text-purple-200 transition-colors hover:bg-purple-500/30">
1005
+ <span>Launch</span>
1006
+ <ArrowCornerUpRightIcon className="h-4 w-4" />
1007
+ </button>
1008
+ </div>
1009
+ </div>
1010
+
1011
+ {/* Call-to-Action */}
1012
+ <div className="!space-y-2">
1013
+ <h3 className="text-sm font-medium text-white">Call-to-Action</h3>
1014
+ <div className="rounded-lg border border-indigo-500/20 bg-indigo-500/10 p-6">
1015
+ <div className="!space-y-4">
1016
+ <h4 className="text-xl font-medium text-white">
1017
+ Ready to get started?
1018
+ </h4>
1019
+ <p className="!text-indigo-200/80">
1020
+ Join thousands of developers already using our platform.
1021
+ </p>
1022
+ <button className="group flex items-center gap-2 rounded-lg bg-indigo-500 px-6 py-3 font-medium text-white transition-all hover:bg-indigo-600">
1023
+ <span>Start your free trial</span>
1024
+ <ArrowCornerUpRightIcon className="h-5 w-5 transition-transform group-hover:translate-x-1 group-hover:-translate-y-1" />
1025
+ </button>
1026
+ </div>
1027
+ </div>
1028
+ </div>
1029
+ </div>
1030
+ ),
1031
+ }
1032
+
1033
+ export const Playground: Story = {
1034
+ parameters: {
1035
+ ...storyParameters,
1036
+ docs: {
1037
+ description: {
1038
+ story:
1039
+ "Interactive playground to experiment with different ArrowCornerUpRightIcon configurations.",
1040
+ },
1041
+ },
1042
+ },
1043
+ args: {
1044
+ width: 32,
1045
+ height: 32,
1046
+ className: "text-indigo-400",
1047
+ strokeWidth: 1.5,
1048
+ },
1049
+ render: (args) => (
1050
+ <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1051
+ <div className="rounded-lg border border-white/10 bg-white/5 p-8">
1052
+ <ArrowCornerUpRightIcon {...args} />
1053
+ </div>
1054
+ </div>
1055
+ ),
1056
+ }