aural-ui 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +456 -0
  3. package/dist/components/aspect-ratio/AspectRatio.stories.tsx +1327 -0
  4. package/dist/components/aspect-ratio/index.tsx +10 -0
  5. package/dist/components/aspect-ratio/meta.ts +8 -0
  6. package/dist/components/avatar/Avatar.stories.tsx +645 -0
  7. package/dist/components/avatar/index.tsx +50 -0
  8. package/dist/components/avatar/meta.ts +8 -0
  9. package/dist/components/badge/Badge.stories.tsx +169 -0
  10. package/dist/components/badge/index.tsx +28 -0
  11. package/dist/components/badge/meta.ts +6 -0
  12. package/dist/components/banner/Banner.stories.tsx +475 -0
  13. package/dist/components/banner/index.tsx +256 -0
  14. package/dist/components/banner/meta.ts +36 -0
  15. package/dist/components/button/Button.stories.tsx +74 -0
  16. package/dist/components/button/index.tsx +158 -0
  17. package/dist/components/button/meta.ts +33 -0
  18. package/dist/components/card/Card.stories.tsx +377 -0
  19. package/dist/components/card/index.tsx +85 -0
  20. package/dist/components/card/meta.ts +14 -0
  21. package/dist/components/char-count/CharCount.stories.tsx +334 -0
  22. package/dist/components/char-count/index.tsx +51 -0
  23. package/dist/components/char-count/meta.ts +13 -0
  24. package/dist/components/checkbox/Checkbox.stories.tsx +209 -0
  25. package/dist/components/checkbox/index.tsx +34 -0
  26. package/dist/components/checkbox/meta.ts +19 -0
  27. package/dist/components/chip/Chip.stories.tsx +207 -0
  28. package/dist/components/chip/index.tsx +92 -0
  29. package/dist/components/chip/meta.ts +17 -0
  30. package/dist/components/circular-loader/CircularLoader.stories.tsx +741 -0
  31. package/dist/components/circular-loader/index.tsx +138 -0
  32. package/dist/components/circular-loader/meta.ts +11 -0
  33. package/dist/components/collapsible/Collapsible.stories.tsx +319 -0
  34. package/dist/components/collapsible/index.tsx +158 -0
  35. package/dist/components/collapsible/meta.ts +22 -0
  36. package/dist/components/command/Command.stories.tsx +996 -0
  37. package/dist/components/command/index.tsx +324 -0
  38. package/dist/components/command/meta.ts +18 -0
  39. package/dist/components/dialog/Dialog.stories.tsx +963 -0
  40. package/dist/components/dialog/index.tsx +250 -0
  41. package/dist/components/dialog/meta.ts +28 -0
  42. package/dist/components/divider/Divider.stories.tsx +633 -0
  43. package/dist/components/divider/index.tsx +181 -0
  44. package/dist/components/divider/meta.ts +12 -0
  45. package/dist/components/dot-loader/DotLoader.stories.tsx +352 -0
  46. package/dist/components/dot-loader/index.tsx +78 -0
  47. package/dist/components/dot-loader/meta.ts +14 -0
  48. package/dist/components/dropdown/Dropdown.stories.tsx +1210 -0
  49. package/dist/components/dropdown/index.tsx +479 -0
  50. package/dist/components/dropdown/meta.ts +21 -0
  51. package/dist/components/form/Form.stories.tsx +320 -0
  52. package/dist/components/form/index.tsx +183 -0
  53. package/dist/components/form/meta.ts +11 -0
  54. package/dist/components/helper-text/HelperText.stories.tsx +254 -0
  55. package/dist/components/helper-text/index.tsx +102 -0
  56. package/dist/components/helper-text/meta.ts +18 -0
  57. package/dist/components/hover-card/HoverCard.stories.tsx +1328 -0
  58. package/dist/components/hover-card/index.tsx +42 -0
  59. package/dist/components/hover-card/meta.ts +12 -0
  60. package/dist/components/icon-button/IconButton.stories.tsx +252 -0
  61. package/dist/components/icon-button/index.tsx +130 -0
  62. package/dist/components/icon-button/meta.ts +20 -0
  63. package/dist/components/if-else/if-else.stories.tsx +100 -0
  64. package/dist/components/if-else/index.tsx +56 -0
  65. package/dist/components/if-else/meta.ts +6 -0
  66. package/dist/components/index.ts +70 -0
  67. package/dist/components/input/Input.stories.tsx +431 -0
  68. package/dist/components/input/index.tsx +487 -0
  69. package/dist/components/input/meta.ts +28 -0
  70. package/dist/components/label/Label.stories.tsx +200 -0
  71. package/dist/components/label/index.tsx +43 -0
  72. package/dist/components/label/meta.ts +14 -0
  73. package/dist/components/list/List.stories.tsx +963 -0
  74. package/dist/components/list/index.tsx +567 -0
  75. package/dist/components/list/meta.ts +24 -0
  76. package/dist/components/marquee/Marquee.stories.tsx +819 -0
  77. package/dist/components/marquee/index.tsx +107 -0
  78. package/dist/components/marquee/meta.ts +6 -0
  79. package/dist/components/overlay/Overlay.stories.tsx +954 -0
  80. package/dist/components/overlay/index.tsx +58 -0
  81. package/dist/components/overlay/meta.ts +10 -0
  82. package/dist/components/pagination/Pagination.stories.tsx +354 -0
  83. package/dist/components/pagination/index.tsx +455 -0
  84. package/dist/components/pagination/meta.ts +29 -0
  85. package/dist/components/popover/Popover.stories.tsx +1037 -0
  86. package/dist/components/popover/index.tsx +67 -0
  87. package/dist/components/popover/meta.ts +12 -0
  88. package/dist/components/radio/Radio.stories.tsx +146 -0
  89. package/dist/components/radio/index.tsx +41 -0
  90. package/dist/components/radio/meta.ts +19 -0
  91. package/dist/components/resizable/Resizable.stories.tsx +866 -0
  92. package/dist/components/resizable/index.tsx +55 -0
  93. package/dist/components/resizable/meta.ts +12 -0
  94. package/dist/components/scroll-area/ScrollArea.stories.tsx +1104 -0
  95. package/dist/components/scroll-area/index.tsx +55 -0
  96. package/dist/components/scroll-area/meta.ts +8 -0
  97. package/dist/components/search/Search.stories.tsx +678 -0
  98. package/dist/components/search/index.tsx +141 -0
  99. package/dist/components/search/meta.ts +6 -0
  100. package/dist/components/select/Select.stories.tsx +962 -0
  101. package/dist/components/select/index.tsx +512 -0
  102. package/dist/components/select/meta.ts +40 -0
  103. package/dist/components/sheet/Sheet.stories.tsx +1060 -0
  104. package/dist/components/sheet/index.tsx +440 -0
  105. package/dist/components/sheet/meta.ts +38 -0
  106. package/dist/components/skelton/Skelton.stories.tsx +859 -0
  107. package/dist/components/skelton/index.tsx +17 -0
  108. package/dist/components/skelton/meta.ts +6 -0
  109. package/dist/components/slider/Slider.stories.tsx +876 -0
  110. package/dist/components/slider/index.tsx +156 -0
  111. package/dist/components/slider/meta.ts +29 -0
  112. package/dist/components/stepper/Stepper.stories.tsx +639 -0
  113. package/dist/components/stepper/index.tsx +650 -0
  114. package/dist/components/stepper/meta.ts +19 -0
  115. package/dist/components/switch/Switch.stories.tsx +85 -0
  116. package/dist/components/switch/index.tsx +37 -0
  117. package/dist/components/switch/meta.ts +24 -0
  118. package/dist/components/switch-case/SwitchCase.stories.tsx +209 -0
  119. package/dist/components/switch-case/index.tsx +89 -0
  120. package/dist/components/switch-case/meta.ts +6 -0
  121. package/dist/components/table/Table.stories.tsx +1095 -0
  122. package/dist/components/table/index.tsx +113 -0
  123. package/dist/components/table/meta.ts +20 -0
  124. package/dist/components/tabs/Tabs.stories.tsx +1379 -0
  125. package/dist/components/tabs/index.tsx +186 -0
  126. package/dist/components/tabs/meta.ts +25 -0
  127. package/dist/components/tag/Tag.stories.tsx +625 -0
  128. package/dist/components/tag/index.tsx +320 -0
  129. package/dist/components/tag/meta.ts +52 -0
  130. package/dist/components/textarea/TextArea.stories.tsx +723 -0
  131. package/dist/components/textarea/index.tsx +480 -0
  132. package/dist/components/textarea/meta.ts +23 -0
  133. package/dist/components/toast/Toast.stories.tsx +1427 -0
  134. package/dist/components/toast/index.tsx +26 -0
  135. package/dist/components/toast/meta.ts +19 -0
  136. package/dist/components/toggle/Toggle.stories.tsx +1093 -0
  137. package/dist/components/toggle/index.tsx +44 -0
  138. package/dist/components/toggle/meta.ts +19 -0
  139. package/dist/components/tooltip/Tooltip.stories.tsx +1548 -0
  140. package/dist/components/tooltip/index.tsx +304 -0
  141. package/dist/components/tooltip/meta.ts +21 -0
  142. package/dist/components/typography/Typography.stories.tsx +197 -0
  143. package/dist/components/typography/index.tsx +184 -0
  144. package/dist/components/typography/meta.ts +38 -0
  145. package/dist/fonts/LabGrotesque-Regular.ttf +0 -0
  146. package/dist/fonts/LabGrotesqueTRIAL-Bold.otf +0 -0
  147. package/dist/fonts/LabGrotesqueTRIAL-Light.otf +0 -0
  148. package/dist/fonts/LabGrotesqueTRIAL-Medium.otf +0 -0
  149. package/dist/fonts/LabGrotesqueTRIAL-Regular.otf +0 -0
  150. package/dist/fonts/PPSupplySans-Regular (1).otf +0 -0
  151. package/dist/fonts/PPSupplySans-Regular.otf +0 -0
  152. package/dist/fonts/PPSupplySans-Ultralight.otf +0 -0
  153. package/dist/hooks/index.ts +3 -0
  154. package/dist/hooks/use-previous/UsePrevious.stories.tsx +997 -0
  155. package/dist/hooks/use-previous/index.ts +15 -0
  156. package/dist/hooks/use-previous/meta.ts +6 -0
  157. package/dist/hooks/use-standalone-pagination/UseStandalonePagination.stories.tsx +983 -0
  158. package/dist/hooks/use-standalone-pagination/index.ts +146 -0
  159. package/dist/hooks/use-standalone-pagination/meta.ts +6 -0
  160. package/dist/icons/Icons.stories.tsx +29 -0
  161. package/dist/icons/alert-icon/AlertIcon.stories.tsx +991 -0
  162. package/dist/icons/alert-icon/index.tsx +48 -0
  163. package/dist/icons/alert-icon/meta.ts +8 -0
  164. package/dist/icons/all-icons.tsx +738 -0
  165. package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +1031 -0
  166. package/dist/icons/angle-down-icon/index.tsx +25 -0
  167. package/dist/icons/angle-down-icon/meta.ts +8 -0
  168. package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +1080 -0
  169. package/dist/icons/arrow-box-left-icon/index.tsx +24 -0
  170. package/dist/icons/arrow-box-left-icon/meta.ts +8 -0
  171. package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +1151 -0
  172. package/dist/icons/arrow-right-icon/index.tsx +26 -0
  173. package/dist/icons/arrow-right-icon/meta.ts +8 -0
  174. package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +1273 -0
  175. package/dist/icons/arrow-right-up-icon/index.tsx +24 -0
  176. package/dist/icons/arrow-right-up-icon/meta.ts +8 -0
  177. package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +670 -0
  178. package/dist/icons/art-board-icon/index.tsx +24 -0
  179. package/dist/icons/art-board-icon/meta.ts +7 -0
  180. package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +1244 -0
  181. package/dist/icons/audio-bar-icon/index.tsx +19 -0
  182. package/dist/icons/audio-bar-icon/meta.ts +8 -0
  183. package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +1239 -0
  184. package/dist/icons/bubble-check-icon/index.tsx +24 -0
  185. package/dist/icons/bubble-check-icon/meta.ts +8 -0
  186. package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +1228 -0
  187. package/dist/icons/bubble-crossed-icon/index.tsx +24 -0
  188. package/dist/icons/bubble-crossed-icon/meta.ts +8 -0
  189. package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +912 -0
  190. package/dist/icons/bubble-sparkle-icon/index.tsx +26 -0
  191. package/dist/icons/bubble-sparkle-icon/meta.ts +8 -0
  192. package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +1021 -0
  193. package/dist/icons/chevron-double-left-icon/index.tsx +34 -0
  194. package/dist/icons/chevron-double-left-icon/meta.ts +8 -0
  195. package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +1021 -0
  196. package/dist/icons/chevron-double-right-icon/index.tsx +34 -0
  197. package/dist/icons/chevron-double-right-icon/meta.ts +8 -0
  198. package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +1001 -0
  199. package/dist/icons/chevron-down-icon/index.tsx +27 -0
  200. package/dist/icons/chevron-down-icon/meta.ts +8 -0
  201. package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +1029 -0
  202. package/dist/icons/chevron-left-icon/index.tsx +27 -0
  203. package/dist/icons/chevron-left-icon/meta.ts +8 -0
  204. package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +1021 -0
  205. package/dist/icons/chevron-right-icon/index.tsx +27 -0
  206. package/dist/icons/chevron-right-icon/meta.ts +8 -0
  207. package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +1036 -0
  208. package/dist/icons/chevron-up-icon/index.tsx +27 -0
  209. package/dist/icons/chevron-up-icon/meta.ts +8 -0
  210. package/dist/icons/command-icon/CommandIcon.stories.tsx +1098 -0
  211. package/dist/icons/command-icon/index.tsx +24 -0
  212. package/dist/icons/command-icon/meta.ts +8 -0
  213. package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +1061 -0
  214. package/dist/icons/cross-circle-icon/index.tsx +23 -0
  215. package/dist/icons/cross-circle-icon/meta.ts +8 -0
  216. package/dist/icons/cross-icon/CrossIcon.stories.tsx +1027 -0
  217. package/dist/icons/cross-icon/index.tsx +24 -0
  218. package/dist/icons/cross-icon/meta.ts +8 -0
  219. package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +1092 -0
  220. package/dist/icons/edit-big-icon/index.tsx +22 -0
  221. package/dist/icons/edit-big-icon/meta.ts +8 -0
  222. package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +1090 -0
  223. package/dist/icons/eye-close-icon/index.tsx +26 -0
  224. package/dist/icons/eye-close-icon/meta.ts +8 -0
  225. package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +1098 -0
  226. package/dist/icons/eye-open-icon/index.tsx +24 -0
  227. package/dist/icons/eye-open-icon/meta.ts +8 -0
  228. package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +1071 -0
  229. package/dist/icons/feature-shine-icon/index.tsx +29 -0
  230. package/dist/icons/feature-shine-icon/meta.ts +8 -0
  231. package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +1115 -0
  232. package/dist/icons/file-chart-icon/index.tsx +24 -0
  233. package/dist/icons/file-chart-icon/meta.ts +8 -0
  234. package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +668 -0
  235. package/dist/icons/file-text-icon/index.tsx +24 -0
  236. package/dist/icons/file-text-icon/meta.ts +8 -0
  237. package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +1239 -0
  238. package/dist/icons/grip-vertical-icon/index.tsx +28 -0
  239. package/dist/icons/grip-vertical-icon/meta.ts +8 -0
  240. package/dist/icons/image-icon/ImageIcon.stories.tsx +1181 -0
  241. package/dist/icons/image-icon/index.tsx +24 -0
  242. package/dist/icons/image-icon/meta.ts +8 -0
  243. package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +1248 -0
  244. package/dist/icons/import-folder-icon/index.tsx +22 -0
  245. package/dist/icons/import-folder-icon/meta.ts +8 -0
  246. package/dist/icons/index.ts +46 -0
  247. package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +1272 -0
  248. package/dist/icons/light-bulb-simple-icon/index.tsx +24 -0
  249. package/dist/icons/light-bulb-simple-icon/meta.ts +8 -0
  250. package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +1245 -0
  251. package/dist/icons/magic-book-icon/index.tsx +32 -0
  252. package/dist/icons/magic-book-icon/meta.ts +8 -0
  253. package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +1251 -0
  254. package/dist/icons/maintenance-icon/index.tsx +23 -0
  255. package/dist/icons/maintenance-icon/meta.ts +8 -0
  256. package/dist/icons/message-icon/MessageIcon.stories.tsx +595 -0
  257. package/dist/icons/message-icon/index.tsx +30 -0
  258. package/dist/icons/message-icon/meta.ts +8 -0
  259. package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +1245 -0
  260. package/dist/icons/move-horizontal-icon/index.tsx +23 -0
  261. package/dist/icons/move-horizontal-icon/meta.ts +8 -0
  262. package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +1196 -0
  263. package/dist/icons/move-vertical-icon/index.tsx +23 -0
  264. package/dist/icons/move-vertical-icon/meta.ts +8 -0
  265. package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +1167 -0
  266. package/dist/icons/page-search-icon/index.tsx +21 -0
  267. package/dist/icons/page-search-icon/meta.ts +8 -0
  268. package/dist/icons/pencil-icon/PencilIcon.stories.tsx +1131 -0
  269. package/dist/icons/pencil-icon/index.tsx +21 -0
  270. package/dist/icons/pencil-icon/meta.ts +8 -0
  271. package/dist/icons/plus-icon/PlusIcon.stories.tsx +1151 -0
  272. package/dist/icons/plus-icon/index.tsx +24 -0
  273. package/dist/icons/plus-icon/meta.ts +8 -0
  274. package/dist/icons/search-icon/SearchIcon.stories.tsx +1181 -0
  275. package/dist/icons/search-icon/index.tsx +24 -0
  276. package/dist/icons/search-icon/meta.ts +8 -0
  277. package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +1167 -0
  278. package/dist/icons/site-logo-icon/index.tsx +79 -0
  279. package/dist/icons/site-logo-icon/meta.ts +8 -0
  280. package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +637 -0
  281. package/dist/icons/spinner-gradient-icon/index.tsx +53 -0
  282. package/dist/icons/spinner-gradient-icon/meta.ts +8 -0
  283. package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +644 -0
  284. package/dist/icons/spinner-solid-icon/index.tsx +59 -0
  285. package/dist/icons/spinner-solid-icon/meta.ts +8 -0
  286. package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +736 -0
  287. package/dist/icons/spinner-solid-neutral-icon/index.tsx +53 -0
  288. package/dist/icons/spinner-solid-neutral-icon/meta.ts +8 -0
  289. package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +1204 -0
  290. package/dist/icons/tick-circle-icon/index.tsx +23 -0
  291. package/dist/icons/tick-circle-icon/meta.ts +8 -0
  292. package/dist/icons/tick-icon/TickIcon.stories.tsx +1340 -0
  293. package/dist/icons/tick-icon/index.tsx +24 -0
  294. package/dist/icons/tick-icon/meta.ts +8 -0
  295. package/dist/icons/trash-icon/TrashIcon.stories.tsx +996 -0
  296. package/dist/icons/trash-icon/index.tsx +24 -0
  297. package/dist/icons/trash-icon/meta.ts +8 -0
  298. package/dist/icons/upload-icon/UploadIcon.stories.tsx +947 -0
  299. package/dist/icons/upload-icon/index.tsx +24 -0
  300. package/dist/icons/upload-icon/meta.ts +8 -0
  301. package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +1045 -0
  302. package/dist/icons/vertical-menu-icon/index.tsx +27 -0
  303. package/dist/icons/vertical-menu-icon/meta.ts +8 -0
  304. package/dist/index.d.ts +6 -0
  305. package/dist/index.js +206 -0
  306. package/dist/lib/utils.ts +6 -0
  307. package/dist/styles/aural-theme.css +1008 -0
  308. package/package.json +142 -0
@@ -0,0 +1,1151 @@
1
+ import React from "react"
2
+ import type { Meta, StoryObj } from "@storybook/react"
3
+
4
+ import { ArrowRightIcon } from "."
5
+
6
+ const meta: Meta<typeof ArrowRightIcon> = {
7
+ title: "Icons/ArrowRightIcon",
8
+ component: ArrowRightIcon,
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-purple-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-purple-500/10 via-transparent to-blue-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-cyan-500/30 bg-gradient-to-br from-cyan-500/20 to-blue-500/20">
90
+ <ArrowRightIcon className="h-12 w-12 text-cyan-400" />
91
+ </div>
92
+ <h1 className="text-5xl font-bold !text-white">
93
+ ArrowRightIcon
94
+ </h1>
95
+ <p className="!mx-auto max-w-3xl text-xl leading-relaxed !text-white/70">
96
+ A directional navigation icon indicating forward movement
97
+ and progression. Perfect for next buttons, call-to-action
98
+ elements, and guiding users through workflows.
99
+ </p>
100
+
101
+ {/* Stats */}
102
+ <div className="flex items-center justify-center gap-8 pt-8">
103
+ <div className="text-center">
104
+ <div className="text-3xl font-bold text-cyan-300">
105
+ Progress
106
+ </div>
107
+ <div className="text-sm text-white/60">
108
+ Forward movement
109
+ </div>
110
+ </div>
111
+ <div className="h-8 w-px bg-white/20" />
112
+ <div className="text-center">
113
+ <div className="text-3xl font-bold text-blue-300">
114
+ Action
115
+ </div>
116
+ <div className="text-sm text-white/60">
117
+ Call to action
118
+ </div>
119
+ </div>
120
+ <div className="h-8 w-px bg-white/20" />
121
+ <div className="text-center">
122
+ <div className="text-3xl font-bold text-indigo-300">
123
+ Flow
124
+ </div>
125
+ <div className="text-sm text-white/60">
126
+ Workflow guidance
127
+ </div>
128
+ </div>
129
+ </div>
130
+ </div>
131
+ </div>
132
+ </div>
133
+
134
+ {/* Content */}
135
+ <div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
136
+ {/* Quick Usage */}
137
+ <div className="!space-y-8">
138
+ <h2 className="text-center text-3xl font-bold !text-white">
139
+ Quick Start
140
+ </h2>
141
+ <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
142
+ <div className="!space-y-4">
143
+ <h3 className="text-xl font-semibold !text-cyan-300">
144
+ Basic Usage
145
+ </h3>
146
+ <div className="rounded-lg bg-black/40 p-4">
147
+ <pre className="overflow-x-auto text-sm !text-green-300">
148
+ {`import { ArrowRightIcon } from "@icons/arrow-right-icon"
149
+
150
+ function NextButton() {
151
+ return (
152
+ <button className="flex items-center gap-2">
153
+ <span>Next Step</span>
154
+ <ArrowRightIcon className="h-4 w-4 text-gray-400" />
155
+ </button>
156
+ )
157
+ }`}
158
+ </pre>
159
+ </div>
160
+ </div>
161
+
162
+ <div className="!space-y-4">
163
+ <h3 className="text-xl font-semibold !text-cyan-300">
164
+ Live Preview
165
+ </h3>
166
+ <div className="flex h-32 items-center justify-center rounded-lg border border-white/10 bg-white/5">
167
+ <button className="flex items-center gap-2 rounded-lg border border-cyan-500/20 bg-cyan-500/10 px-4 py-2 text-white transition-colors hover:bg-cyan-500/20">
168
+ <span>Next Step</span>
169
+ <ArrowRightIcon className="h-4 w-4 text-cyan-400 transition-transform hover:translate-x-1" />
170
+ </button>
171
+ </div>
172
+ </div>
173
+ </div>
174
+ </div>
175
+
176
+ {/* Props Documentation */}
177
+ <div className="!space-y-8">
178
+ <h2 className="text-center text-3xl font-bold !text-white">
179
+ Props & Configuration
180
+ </h2>
181
+
182
+ <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
183
+ <div className="bg-white/5 p-4">
184
+ <h3 className="text-xl font-semibold !text-white">Props</h3>
185
+ </div>
186
+ <table className="!my-0 w-full">
187
+ <thead className="bg-white/5">
188
+ <tr className="border-b border-white/10">
189
+ <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
190
+ Prop
191
+ </th>
192
+ <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
193
+ Type
194
+ </th>
195
+ <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
196
+ Default
197
+ </th>
198
+ <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
199
+ Description
200
+ </th>
201
+ </tr>
202
+ </thead>
203
+ <tbody>
204
+ <tr className="border-b border-white/5">
205
+ <td className="px-6 py-4 font-mono text-sm !text-cyan-300">
206
+ width
207
+ </td>
208
+ <td className="px-6 py-4 text-sm !text-white/70">
209
+ number | string
210
+ </td>
211
+ <td className="px-6 py-4 text-sm !text-white/50">16</td>
212
+ <td className="px-6 py-4 text-sm !text-white/70">
213
+ Width of the icon in pixels
214
+ </td>
215
+ </tr>
216
+ <tr className="border-b border-white/5 !bg-black/10">
217
+ <td className="px-6 py-4 font-mono text-sm !text-cyan-300">
218
+ height
219
+ </td>
220
+ <td className="px-6 py-4 text-sm !text-white/70">
221
+ number | string
222
+ </td>
223
+ <td className="px-6 py-4 text-sm !text-white/50">14</td>
224
+ <td className="px-6 py-4 text-sm !text-white/70">
225
+ Height of the icon in pixels
226
+ </td>
227
+ </tr>
228
+ <tr className="border-b border-white/5">
229
+ <td className="px-6 py-4 font-mono text-sm !text-cyan-300">
230
+ stroke
231
+ </td>
232
+ <td className="px-6 py-4 text-sm !text-white/70">
233
+ string
234
+ </td>
235
+ <td className="px-6 py-4 text-sm !text-white/50">
236
+ currentColor
237
+ </td>
238
+ <td className="px-6 py-4 text-sm !text-white/70">
239
+ Stroke color of the icon
240
+ </td>
241
+ </tr>
242
+ <tr className="border-b border-white/5 !bg-black/10">
243
+ <td className="px-6 py-4 font-mono text-sm !text-cyan-300">
244
+ strokeWidth
245
+ </td>
246
+ <td className="px-6 py-4 text-sm !text-white/70">
247
+ number | string
248
+ </td>
249
+ <td className="px-6 py-4 text-sm !text-white/50">
250
+ 1.5
251
+ </td>
252
+ <td className="px-6 py-4 text-sm !text-white/70">
253
+ Stroke width of the icon
254
+ </td>
255
+ </tr>
256
+ <tr className="border-b border-white/5">
257
+ <td className="px-6 py-4 font-mono text-sm !text-cyan-300">
258
+ strokeLinecap
259
+ </td>
260
+ <td className="px-6 py-4 text-sm !text-white/70">
261
+ string
262
+ </td>
263
+ <td className="px-6 py-4 text-sm !text-white/50">
264
+ square
265
+ </td>
266
+ <td className="px-6 py-4 text-sm !text-white/70">
267
+ Line cap style for stroke
268
+ </td>
269
+ </tr>
270
+ <tr className="border-b border-white/5 !bg-black/10">
271
+ <td className="px-6 py-4 font-mono text-sm !text-cyan-300">
272
+ className
273
+ </td>
274
+ <td className="px-6 py-4 text-sm !text-white/70">
275
+ string
276
+ </td>
277
+ <td className="px-6 py-4 text-sm !text-white/50">-</td>
278
+ <td className="px-6 py-4 text-sm !text-white/70">
279
+ CSS classes for styling
280
+ </td>
281
+ </tr>
282
+ <tr className="!bg-black/10">
283
+ <td className="px-6 py-4 font-mono text-sm !text-cyan-300">
284
+ ...svgProps
285
+ </td>
286
+ <td className="px-6 py-4 text-sm !text-white/70">
287
+ SVGProps
288
+ </td>
289
+ <td className="px-6 py-4 text-sm !text-white/50">-</td>
290
+ <td className="px-6 py-4 text-sm !text-white/70">
291
+ All standard SVG element props
292
+ </td>
293
+ </tr>
294
+ </tbody>
295
+ </table>
296
+ </div>
297
+ </div>
298
+
299
+ {/* Size Variations */}
300
+ <div className="!space-y-8">
301
+ <h2 className="text-center text-3xl font-bold !text-white">
302
+ Size Variations
303
+ </h2>
304
+ <div className="rounded-lg border border-white/10 bg-white/5 p-8">
305
+ <div className="!space-y-6">
306
+ <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
307
+ <div className="!space-y-4">
308
+ <h3 className="text-lg font-semibold !text-cyan-300">
309
+ Standard Sizes
310
+ </h3>
311
+ <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
312
+ <div className="text-center">
313
+ <ArrowRightIcon className="!mx-auto mb-2 h-3 w-3 text-cyan-400" />
314
+ <span className="text-xs text-white/60">12px</span>
315
+ </div>
316
+ <div className="text-center">
317
+ <ArrowRightIcon className="!mx-auto mb-2 h-4 w-4 text-cyan-400" />
318
+ <span className="text-xs text-white/60">16px</span>
319
+ </div>
320
+ <div className="text-center">
321
+ <ArrowRightIcon className="!mx-auto mb-2 h-5 w-5 text-cyan-400" />
322
+ <span className="text-xs text-white/60">20px</span>
323
+ </div>
324
+ <div className="text-center">
325
+ <ArrowRightIcon className="!mx-auto mb-2 h-6 w-6 text-cyan-400" />
326
+ <span className="text-xs text-white/60">24px</span>
327
+ </div>
328
+ <div className="text-center">
329
+ <ArrowRightIcon className="!mx-auto mb-2 h-8 w-8 text-cyan-400" />
330
+ <span className="text-xs text-white/60">32px</span>
331
+ </div>
332
+ <div className="text-center">
333
+ <ArrowRightIcon className="!mx-auto mb-2 h-12 w-12 text-cyan-400" />
334
+ <span className="text-xs text-white/60">48px</span>
335
+ </div>
336
+ </div>
337
+ </div>
338
+
339
+ <div className="!space-y-4">
340
+ <h3 className="text-lg font-semibold !text-cyan-300">
341
+ Code Example
342
+ </h3>
343
+ <div className="rounded-lg bg-black/40 p-4">
344
+ <pre className="overflow-x-auto text-sm !text-green-300">
345
+ {`// Small (16px)
346
+ <ArrowRightIcon className="h-4 w-4" />
347
+
348
+ // Medium (24px)
349
+ <ArrowRightIcon className="h-6 w-6" />
350
+
351
+ // Large (32px)
352
+ <ArrowRightIcon className="h-8 w-8" />
353
+
354
+ // Custom size
355
+ <ArrowRightIcon width={40} height={35} />`}
356
+ </pre>
357
+ </div>
358
+ </div>
359
+ </div>
360
+ </div>
361
+ </div>
362
+ </div>
363
+
364
+ {/* Direction & Animation */}
365
+ <div className="!space-y-8">
366
+ <h2 className="text-center text-3xl font-bold !text-white">
367
+ Direction & Animation
368
+ </h2>
369
+ <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
370
+ <div className="!space-y-4">
371
+ <h3 className="text-lg font-semibold !text-cyan-300">
372
+ Directional Variants
373
+ </h3>
374
+ <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
375
+ <div className="grid grid-cols-2 gap-4">
376
+ <div className="flex flex-col items-center gap-2">
377
+ <ArrowRightIcon className="h-6 w-6 text-cyan-400" />
378
+ <span className="text-xs !text-white/60">
379
+ Right (Default)
380
+ </span>
381
+ </div>
382
+ <div className="flex flex-col items-center gap-2">
383
+ <ArrowRightIcon className="h-6 w-6 rotate-180 text-cyan-400" />
384
+ <span className="text-xs !text-white/60">
385
+ Left (rotate-180)
386
+ </span>
387
+ </div>
388
+ <div className="flex flex-col items-center gap-2">
389
+ <ArrowRightIcon className="h-6 w-6 -rotate-90 text-cyan-400" />
390
+ <span className="text-xs !text-white/60">
391
+ Up (-rotate-90)
392
+ </span>
393
+ </div>
394
+ <div className="flex flex-col items-center gap-2">
395
+ <ArrowRightIcon className="h-6 w-6 rotate-90 text-cyan-400" />
396
+ <span className="text-xs !text-white/60">
397
+ Down (rotate-90)
398
+ </span>
399
+ </div>
400
+ </div>
401
+ </div>
402
+ </div>
403
+
404
+ <div className="!space-y-4">
405
+ <h3 className="text-lg font-semibold !text-cyan-300">
406
+ Animation Examples
407
+ </h3>
408
+ <div className="rounded-lg bg-black/40 p-4">
409
+ <pre className="overflow-x-auto text-sm !text-green-300">
410
+ {`// Smooth slide animation
411
+ <ArrowRightIcon className="h-4 w-4 transition-transform hover:translate-x-1" />
412
+
413
+ // Button with progressive animation
414
+ <button className="group flex items-center gap-2">
415
+ <span>Continue</span>
416
+ <ArrowRightIcon className="h-4 w-4 transition-transform group-hover:translate-x-1" />
417
+ </button>
418
+
419
+ // Pulsing call-to-action
420
+ <ArrowRightIcon className="h-4 w-4 animate-pulse text-cyan-400" />`}
421
+ </pre>
422
+ </div>
423
+ </div>
424
+ </div>
425
+ </div>
426
+
427
+ {/* Usage Examples */}
428
+ <div className="!space-y-8">
429
+ <h2 className="text-center text-3xl font-bold !text-white">
430
+ Usage Examples
431
+ </h2>
432
+
433
+ <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
434
+ {/* Call to Action Button */}
435
+ <div className="!space-y-4">
436
+ <h3 className="text-lg font-semibold !text-cyan-300">
437
+ Call to Action Button
438
+ </h3>
439
+ <div className="!space-y-4">
440
+ <button className="group flex items-center gap-2 rounded-lg border border-cyan-500/20 bg-cyan-500/10 px-6 py-3 text-white transition-all hover:bg-cyan-500/20">
441
+ <span>Get Started</span>
442
+ <ArrowRightIcon className="h-4 w-4 text-cyan-400 transition-transform group-hover:translate-x-1" />
443
+ </button>
444
+ <div className="rounded-lg bg-black/40 p-4">
445
+ <pre className="overflow-x-auto text-sm !text-green-300">
446
+ {`<button className="group flex items-center gap-2 px-6 py-3 bg-cyan-500/10 border border-cyan-500/20 rounded-lg">
447
+ <span>Get Started</span>
448
+ <ArrowRightIcon className="h-4 w-4 text-cyan-400 transition-transform group-hover:translate-x-1" />
449
+ </button>`}
450
+ </pre>
451
+ </div>
452
+ </div>
453
+ </div>
454
+
455
+ {/* Navigation Link */}
456
+ <div className="!space-y-4">
457
+ <h3 className="text-lg font-semibold !text-cyan-300">
458
+ Navigation Link
459
+ </h3>
460
+ <div className="!space-y-4">
461
+ <div className="!space-y-3">
462
+ <a
463
+ href="#"
464
+ className="group flex items-center justify-between rounded-lg border border-white/10 bg-white/5 p-4 transition-colors hover:bg-white/10"
465
+ >
466
+ <div>
467
+ <h4 className="font-medium !text-white">
468
+ Documentation
469
+ </h4>
470
+ <p className="text-sm !text-white/60">
471
+ Learn how to use our components
472
+ </p>
473
+ </div>
474
+ <ArrowRightIcon className="h-5 w-5 text-cyan-400 transition-transform group-hover:translate-x-1" />
475
+ </a>
476
+ <a
477
+ href="#"
478
+ className="group flex items-center justify-between rounded-lg border border-white/10 bg-white/5 p-4 transition-colors hover:bg-white/10"
479
+ >
480
+ <div>
481
+ <h4 className="font-medium !text-white">
482
+ Examples
483
+ </h4>
484
+ <p className="text-sm !text-white/60">
485
+ Browse through code examples
486
+ </p>
487
+ </div>
488
+ <ArrowRightIcon className="h-5 w-5 text-cyan-400 transition-transform group-hover:translate-x-1" />
489
+ </a>
490
+ </div>
491
+ <div className="rounded-lg bg-black/40 p-4">
492
+ <pre className="overflow-x-auto text-sm !text-green-300">
493
+ {`<a href="#" className="group flex items-center justify-between p-4 rounded-lg border border-white/10 bg-white/5 hover:bg-white/10">
494
+ <div>
495
+ <h4 className="font-medium text-white">Documentation</h4>
496
+ <p className="text-sm text-white/60">Learn how to use our components</p>
497
+ </div>
498
+ <ArrowRightIcon className="h-5 w-5 text-cyan-400 transition-transform group-hover:translate-x-1" />
499
+ </a>`}
500
+ </pre>
501
+ </div>
502
+ </div>
503
+ </div>
504
+
505
+ {/* Step Navigation */}
506
+ <div className="!space-y-4">
507
+ <h3 className="text-lg font-semibold !text-cyan-300">
508
+ Step Navigation
509
+ </h3>
510
+ <div className="!space-y-4">
511
+ <div className="rounded-lg border border-white/10 bg-white/5 p-4">
512
+ <div className="flex items-center justify-between">
513
+ <div>
514
+ <div className="text-sm font-medium !text-white">
515
+ Step 2 of 5
516
+ </div>
517
+ <div className="text-xs !text-white/60">
518
+ Personal Information
519
+ </div>
520
+ </div>
521
+ <button className="flex items-center gap-2 rounded border border-cyan-500/20 bg-cyan-500/10 px-4 py-2 text-sm transition-colors hover:bg-cyan-500/20">
522
+ <span className="!text-white">Continue</span>
523
+ <ArrowRightIcon className="h-4 w-4 text-cyan-400" />
524
+ </button>
525
+ </div>
526
+ </div>
527
+ <div className="rounded-lg bg-black/40 p-4">
528
+ <pre className="overflow-x-auto text-sm !text-green-300">
529
+ {`<div className="flex items-center justify-between">
530
+ <div>
531
+ <div className="text-sm font-medium text-white">Step 2 of 5</div>
532
+ <div className="text-xs text-white/60">Personal Information</div>
533
+ </div>
534
+ <button className="flex items-center gap-2 px-4 py-2 text-sm bg-cyan-500/10 border border-cyan-500/20 rounded">
535
+ <span>Continue</span>
536
+ <ArrowRightIcon className="h-4 w-4 text-cyan-400" />
537
+ </button>
538
+ </div>`}
539
+ </pre>
540
+ </div>
541
+ </div>
542
+ </div>
543
+
544
+ {/* Pagination Next */}
545
+ <div className="!space-y-4">
546
+ <h3 className="text-lg font-semibold !text-cyan-300">
547
+ Pagination Controls
548
+ </h3>
549
+ <div className="!space-y-4">
550
+ <div className="flex items-center justify-between">
551
+ <button className="flex items-center gap-2 rounded border border-white/10 bg-white/5 px-3 py-2 text-sm transition-colors hover:bg-white/10">
552
+ <ArrowRightIcon className="h-4 w-4 rotate-180 text-gray-400" />
553
+ <span className="!text-white">Previous</span>
554
+ </button>
555
+ <span className="text-sm !text-white/70">
556
+ Page 3 of 12
557
+ </span>
558
+ <button className="flex items-center gap-2 rounded border border-white/10 bg-white/5 px-3 py-2 text-sm transition-colors hover:bg-white/10">
559
+ <span className="!text-white">Next</span>
560
+ <ArrowRightIcon className="h-4 w-4 text-cyan-400" />
561
+ </button>
562
+ </div>
563
+ <div className="rounded-lg bg-black/40 p-4">
564
+ <pre className="overflow-x-auto text-sm !text-green-300">
565
+ {`<div className="flex items-center justify-between">
566
+ <button className="flex items-center gap-2 px-3 py-2 text-sm">
567
+ <ArrowRightIcon className="h-4 w-4 rotate-180 text-gray-400" />
568
+ <span>Previous</span>
569
+ </button>
570
+ <span className="text-sm text-white/70">Page 3 of 12</span>
571
+ <button className="flex items-center gap-2 px-3 py-2 text-sm">
572
+ <span>Next</span>
573
+ <ArrowRightIcon className="h-4 w-4 text-cyan-400" />
574
+ </button>
575
+ </div>`}
576
+ </pre>
577
+ </div>
578
+ </div>
579
+ </div>
580
+
581
+ {/* External Link */}
582
+ <div className="!space-y-4">
583
+ <h3 className="text-lg font-semibold !text-cyan-300">
584
+ External Link
585
+ </h3>
586
+ <div className="!space-y-4">
587
+ <div className="!space-y-2">
588
+ <a
589
+ href="#"
590
+ className="inline-flex items-center gap-1 text-sm text-cyan-400 hover:text-cyan-300"
591
+ >
592
+ Learn more
593
+ <ArrowRightIcon className="h-3 w-3" />
594
+ </a>
595
+ <a
596
+ href="#"
597
+ className="inline-flex items-center gap-1 text-sm text-cyan-400 hover:text-cyan-300"
598
+ >
599
+ View documentation
600
+ <ArrowRightIcon className="h-3 w-3" />
601
+ </a>
602
+ <a
603
+ href="#"
604
+ className="inline-flex items-center gap-1 text-sm text-cyan-400 hover:text-cyan-300"
605
+ >
606
+ Visit our blog
607
+ <ArrowRightIcon className="h-3 w-3" />
608
+ </a>
609
+ </div>
610
+ <div className="rounded-lg bg-black/40 p-4">
611
+ <pre className="overflow-x-auto text-sm !text-green-300">
612
+ {`<a href="#" className="inline-flex items-center gap-1 text-sm text-cyan-400 hover:text-cyan-300">
613
+ Learn more
614
+ <ArrowRightIcon className="h-3 w-3" />
615
+ </a>
616
+
617
+ <a href="#" className="inline-flex items-center gap-1 text-sm text-cyan-400 hover:text-cyan-300">
618
+ View documentation
619
+ <ArrowRightIcon className="h-3 w-3" />
620
+ </a>`}
621
+ </pre>
622
+ </div>
623
+ </div>
624
+ </div>
625
+
626
+ {/* Card Actions */}
627
+ <div className="!space-y-4">
628
+ <h3 className="text-lg font-semibold !text-cyan-300">
629
+ Card with Actions
630
+ </h3>
631
+ <div className="!space-y-4">
632
+ <div className="rounded-lg border border-white/10 bg-white/5 p-6">
633
+ <div className="!space-y-4">
634
+ <div>
635
+ <h4 className="font-medium !text-white">
636
+ Pro Plan
637
+ </h4>
638
+ <p className="text-sm !text-white/60">
639
+ Advanced features for power users
640
+ </p>
641
+ </div>
642
+ <div className="flex items-center justify-between">
643
+ <span className="text-2xl font-bold !text-white">
644
+ $29
645
+ <span className="text-sm font-normal text-white/60">
646
+ /month
647
+ </span>
648
+ </span>
649
+ <button className="flex items-center gap-2 rounded bg-cyan-500 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-cyan-600">
650
+ Upgrade Now
651
+ <ArrowRightIcon className="h-4 w-4" />
652
+ </button>
653
+ </div>
654
+ </div>
655
+ </div>
656
+ <div className="rounded-lg bg-black/40 p-4">
657
+ <pre className="overflow-x-auto text-sm !text-green-300">
658
+ {`<div className="rounded-lg border border-white/10 bg-white/5 p-6">
659
+ <div className="space-y-4">
660
+ <div>
661
+ <h4 className="font-medium text-white">Pro Plan</h4>
662
+ <p className="text-sm text-white/60">Advanced features for power users</p>
663
+ </div>
664
+ <div className="flex items-center justify-between">
665
+ <span className="text-2xl font-bold text-white">$29<span className="text-sm font-normal text-white/60">/month</span></span>
666
+ <button className="flex items-center gap-2 px-4 py-2 bg-cyan-500 rounded text-sm font-medium text-white">
667
+ Upgrade Now
668
+ <ArrowRightIcon className="h-4 w-4" />
669
+ </button>
670
+ </div>
671
+ </div>
672
+ </div>`}
673
+ </pre>
674
+ </div>
675
+ </div>
676
+ </div>
677
+ </div>
678
+ </div>
679
+
680
+ {/* Accessibility */}
681
+ <div className="!space-y-8">
682
+ <h2 className="text-center text-3xl font-bold !text-white">
683
+ Accessibility Features
684
+ </h2>
685
+ <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
686
+ <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
687
+ <h3 className="text-lg font-semibold !text-green-300">
688
+ ✅ Built-in Features
689
+ </h3>
690
+ <ul className="!space-y-2 text-sm !text-white/70">
691
+ <li className="!text-white/70">
692
+ Uses Radix UI AccessibleIcon wrapper
693
+ </li>
694
+ <li className="!text-white/70">
695
+ Provides screen reader label "Arrow Right icon"
696
+ </li>
697
+ <li className="!text-white/70">
698
+ Supports keyboard navigation when used in buttons
699
+ </li>
700
+ <li className="!text-white/70">
701
+ Maintains proper color contrast ratios
702
+ </li>
703
+ <li className="!text-white/70">
704
+ Respects user's motion preferences for animations
705
+ </li>
706
+ </ul>
707
+ </div>
708
+
709
+ <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
710
+ <h3 className="text-lg font-semibold !text-cyan-300">
711
+ 💡 Best Practices
712
+ </h3>
713
+ <ul className="!space-y-2 text-sm text-white/70">
714
+ <li className="!text-white/70">
715
+ Always pair with descriptive text or aria-label
716
+ </li>
717
+ <li className="!text-white/70">
718
+ Use consistent direction conventions
719
+ </li>
720
+ <li className="!text-white/70">
721
+ Provide clear focus indicators for interactive elements
722
+ </li>
723
+ <li className="!text-white/70">
724
+ Test navigation flow with keyboard only
725
+ </li>
726
+ <li className="!text-white/70">
727
+ Consider touch targets on mobile devices
728
+ </li>
729
+ </ul>
730
+ </div>
731
+ </div>
732
+
733
+ <div className="rounded-lg border border-white/10 bg-white/5 p-6">
734
+ <h3 className="mb-4 text-lg font-semibold !text-purple-300">
735
+ Accessible Button Implementation
736
+ </h3>
737
+ <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
738
+ <div className="rounded-lg bg-black/40 p-4">
739
+ <pre className="overflow-x-auto text-sm !text-blue-300">
740
+ {`// Accessible next button with proper labeling
741
+ function AccessibleNextButton({ onNext, children, disabled = false }) {
742
+ return (
743
+ <button
744
+ onClick={onNext}
745
+ disabled={disabled}
746
+ aria-label="Proceed to next step"
747
+ className="flex items-center gap-2 px-4 py-2 rounded-lg focus:ring-2 focus:ring-cyan-500 disabled:opacity-50"
748
+ >
749
+ {children}
750
+ <ArrowRightIcon
751
+ className="h-4 w-4 text-cyan-400"
752
+ aria-hidden="true"
753
+ />
754
+ </button>
755
+ )
756
+ }
757
+
758
+ // Usage
759
+ <AccessibleNextButton onNext={() => handleNext()}>
760
+ Continue
761
+ </AccessibleNextButton>`}
762
+ </pre>
763
+ </div>
764
+ <div className="!space-y-4">
765
+ <p className="text-sm !text-white/70">
766
+ This implementation includes proper ARIA labeling,
767
+ keyboard navigation, and disabled states for optimal
768
+ accessibility.
769
+ </p>
770
+ <div className="rounded-lg border border-cyan-500/20 bg-cyan-500/10 p-4">
771
+ <div className="flex items-center gap-2 text-sm !text-cyan-200">
772
+ <ArrowRightIcon className="h-4 w-4" />
773
+ <span>
774
+ The icon is marked as aria-hidden since the button
775
+ provides context
776
+ </span>
777
+ </div>
778
+ </div>
779
+ </div>
780
+ </div>
781
+ </div>
782
+ </div>
783
+
784
+ {/* Related Icons */}
785
+ <div className="!space-y-8">
786
+ <h2 className="text-center text-3xl font-bold !text-white">
787
+ Related Icons
788
+ </h2>
789
+ <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
790
+ <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
791
+ <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-cyan-500/20">
792
+ <ArrowRightIcon className="h-6 w-6 rotate-180 text-cyan-400" />
793
+ </div>
794
+ <div>
795
+ <div className="font-medium text-white">
796
+ ArrowLeftIcon
797
+ </div>
798
+ <div className="text-xs text-white/60">
799
+ Previous/back actions
800
+ </div>
801
+ </div>
802
+ </div>
803
+ <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
804
+ <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
805
+ <ArrowRightIcon className="h-6 w-6 -rotate-90 text-blue-400" />
806
+ </div>
807
+ <div>
808
+ <div className="font-medium text-white">ArrowUpIcon</div>
809
+ <div className="text-xs text-white/60">
810
+ Upward movement
811
+ </div>
812
+ </div>
813
+ </div>
814
+ <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
815
+ <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
816
+ <ArrowRightIcon className="h-6 w-6 rotate-90 text-purple-400" />
817
+ </div>
818
+ <div>
819
+ <div className="font-medium text-white">
820
+ ArrowDownIcon
821
+ </div>
822
+ <div className="text-xs text-white/60">
823
+ Downward movement
824
+ </div>
825
+ </div>
826
+ </div>
827
+ <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
828
+ <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-emerald-500/20">
829
+ <span className="text-2xl">➡️</span>
830
+ </div>
831
+ <div>
832
+ <div className="font-medium text-white">
833
+ ChevronRightIcon
834
+ </div>
835
+ <div className="text-xs text-white/60">
836
+ Alternative arrow style
837
+ </div>
838
+ </div>
839
+ </div>
840
+ </div>
841
+ </div>
842
+ </div>
843
+
844
+ {/* Footer */}
845
+ <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
846
+ <div className="!mx-auto max-w-7xl px-6 py-8">
847
+ <div className="!space-y-4 text-center">
848
+ <p className="!text-white/60">
849
+ ArrowRightIcon is part of the Aural UI icon library,
850
+ designed for clear forward progression and action guidance.
851
+ </p>
852
+ <p className="text-sm !text-white/40">
853
+ Perfect for call-to-action buttons, navigation links, step
854
+ progression, and any interface requiring forward direction
855
+ indication.
856
+ </p>
857
+ </div>
858
+ </div>
859
+ </div>
860
+ </div>
861
+ </>
862
+ ),
863
+ },
864
+ },
865
+ tags: ["autodocs"],
866
+ argTypes: {
867
+ width: {
868
+ control: { type: "range", min: 8, max: 96, step: 2 },
869
+ description: "Width of the icon in pixels",
870
+ },
871
+ height: {
872
+ control: { type: "range", min: 6, max: 84, step: 2 },
873
+ description: "Height of the icon in pixels",
874
+ },
875
+ stroke: {
876
+ control: "color",
877
+ description: "Stroke color of the icon",
878
+ },
879
+ strokeWidth: {
880
+ control: { type: "range", min: 1, max: 4, step: 0.5 },
881
+ description: "Stroke width of the icon",
882
+ },
883
+ strokeLinecap: {
884
+ control: { type: "select" },
885
+ options: ["butt", "round", "square"],
886
+ description: "Line cap style for stroke",
887
+ },
888
+ className: {
889
+ control: "text",
890
+ description: "CSS classes for styling",
891
+ },
892
+ },
893
+ }
894
+
895
+ export default meta
896
+ type Story = StoryObj<typeof ArrowRightIcon>
897
+
898
+ // Story parameters for consistent dark theme
899
+ const storyParameters = {
900
+ backgrounds: {
901
+ default: "dark",
902
+ values: [
903
+ { name: "dark", value: "#0a0a0a" },
904
+ { name: "darker", value: "#000000" },
905
+ ],
906
+ },
907
+ }
908
+
909
+ export const Default: Story = {
910
+ args: {
911
+ width: 24,
912
+ height: 21,
913
+ className: "text-cyan-400",
914
+ },
915
+ parameters: storyParameters,
916
+ render: (args) => (
917
+ <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
918
+ <ArrowRightIcon {...args} />
919
+ </div>
920
+ ),
921
+ }
922
+
923
+ export const SizeVariations: Story = {
924
+ parameters: {
925
+ ...storyParameters,
926
+ docs: {
927
+ description: {
928
+ story:
929
+ "ArrowRightIcon in different sizes, from small inline links to large call-to-action buttons.",
930
+ },
931
+ },
932
+ },
933
+ render: () => (
934
+ <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">
935
+ <div className="text-center">
936
+ <ArrowRightIcon className="!mx-auto mb-2 h-3 w-3 text-cyan-400" />
937
+ <span className="text-xs text-white/60">12px</span>
938
+ </div>
939
+ <div className="text-center">
940
+ <ArrowRightIcon className="!mx-auto mb-2 h-4 w-4 text-cyan-400" />
941
+ <span className="text-xs text-white/60">16px</span>
942
+ </div>
943
+ <div className="text-center">
944
+ <ArrowRightIcon className="!mx-auto mb-2 h-5 w-5 text-cyan-400" />
945
+ <span className="text-xs text-white/60">20px</span>
946
+ </div>
947
+ <div className="text-center">
948
+ <ArrowRightIcon className="!mx-auto mb-2 h-6 w-6 text-cyan-400" />
949
+ <span className="text-xs text-white/60">24px</span>
950
+ </div>
951
+ <div className="text-center">
952
+ <ArrowRightIcon className="!mx-auto mb-2 h-8 w-8 text-cyan-400" />
953
+ <span className="text-xs text-white/60">32px</span>
954
+ </div>
955
+ <div className="text-center">
956
+ <ArrowRightIcon className="!mx-auto mb-2 h-12 w-12 text-cyan-400" />
957
+ <span className="text-xs text-white/60">48px</span>
958
+ </div>
959
+ </div>
960
+ ),
961
+ }
962
+
963
+ export const DirectionalVariations: Story = {
964
+ parameters: {
965
+ ...storyParameters,
966
+ docs: {
967
+ description: {
968
+ story:
969
+ "ArrowRightIcon rotated to different directions for various navigation purposes.",
970
+ },
971
+ },
972
+ },
973
+ render: () => (
974
+ <div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8 md:grid-cols-4">
975
+ <div className="text-center">
976
+ <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-cyan-500/30 bg-cyan-500/20">
977
+ <ArrowRightIcon className="h-8 w-8 text-cyan-400" />
978
+ </div>
979
+ <div className="text-sm font-medium text-white">Right</div>
980
+ <div className="text-xs text-cyan-400">Default</div>
981
+ </div>
982
+ <div className="text-center">
983
+ <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">
984
+ <ArrowRightIcon className="h-8 w-8 rotate-180 text-blue-400" />
985
+ </div>
986
+ <div className="text-sm font-medium text-white">Left</div>
987
+ <div className="text-xs text-blue-400">rotate-180</div>
988
+ </div>
989
+ <div className="text-center">
990
+ <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">
991
+ <ArrowRightIcon className="h-8 w-8 -rotate-90 text-indigo-400" />
992
+ </div>
993
+ <div className="text-sm font-medium text-white">Up</div>
994
+ <div className="text-xs text-indigo-400">-rotate-90</div>
995
+ </div>
996
+ <div className="text-center">
997
+ <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">
998
+ <ArrowRightIcon className="h-8 w-8 rotate-90 text-purple-400" />
999
+ </div>
1000
+ <div className="text-sm font-medium text-white">Down</div>
1001
+ <div className="text-xs text-purple-400">rotate-90</div>
1002
+ </div>
1003
+ </div>
1004
+ ),
1005
+ }
1006
+
1007
+ export const UsageExamples: Story = {
1008
+ parameters: {
1009
+ ...storyParameters,
1010
+ docs: {
1011
+ description: {
1012
+ story:
1013
+ "Real-world usage examples showing ArrowRightIcon in different UI contexts.",
1014
+ },
1015
+ },
1016
+ },
1017
+ render: () => (
1018
+ <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1019
+ {/* Call to Action */}
1020
+ <div className="!space-y-2">
1021
+ <h3 className="text-sm font-medium text-white">
1022
+ Call to Action Button
1023
+ </h3>
1024
+ <button className="group flex items-center gap-2 rounded-lg border border-cyan-500/20 bg-cyan-500/10 px-6 py-3 text-white transition-all hover:bg-cyan-500/20">
1025
+ <span>Get Started</span>
1026
+ <ArrowRightIcon className="h-4 w-4 text-cyan-400 transition-transform group-hover:translate-x-1" />
1027
+ </button>
1028
+ </div>
1029
+
1030
+ {/* Navigation Link */}
1031
+ <div className="!space-y-2">
1032
+ <h3 className="text-sm font-medium text-white">Navigation Link</h3>
1033
+ <a
1034
+ href="#"
1035
+ className="group flex items-center justify-between rounded-lg border border-white/10 bg-white/5 p-4 transition-colors hover:bg-white/10"
1036
+ >
1037
+ <div>
1038
+ <h4 className="font-medium text-white">Documentation</h4>
1039
+ <p className="text-sm text-white/60">
1040
+ Learn how to use our components
1041
+ </p>
1042
+ </div>
1043
+ <ArrowRightIcon className="h-5 w-5 text-cyan-400 transition-transform group-hover:translate-x-1" />
1044
+ </a>
1045
+ </div>
1046
+
1047
+ {/* Pagination */}
1048
+ <div className="!space-y-2">
1049
+ <h3 className="text-sm font-medium text-white">Pagination</h3>
1050
+ <div className="flex items-center justify-between">
1051
+ <button className="flex items-center gap-2 rounded border border-white/10 bg-white/5 px-3 py-2 text-sm transition-colors hover:bg-white/10">
1052
+ <ArrowRightIcon className="h-4 w-4 rotate-180 text-gray-400" />
1053
+ <span className="text-white">Previous</span>
1054
+ </button>
1055
+ <span className="text-sm text-white/70">Page 3 of 12</span>
1056
+ <button className="flex items-center gap-2 rounded border border-white/10 bg-white/5 px-3 py-2 text-sm transition-colors hover:bg-white/10">
1057
+ <span className="text-white">Next</span>
1058
+ <ArrowRightIcon className="h-4 w-4 text-cyan-400" />
1059
+ </button>
1060
+ </div>
1061
+ </div>
1062
+
1063
+ {/* External Links */}
1064
+ <div className="!space-y-2">
1065
+ <h3 className="text-sm font-medium text-white">External Links</h3>
1066
+ <div className="!space-y-2">
1067
+ <a
1068
+ href="#"
1069
+ className="inline-flex items-center gap-1 text-sm text-cyan-400 hover:text-cyan-300"
1070
+ >
1071
+ Learn more
1072
+ <ArrowRightIcon className="h-3 w-3" />
1073
+ </a>
1074
+ <br />
1075
+ <a
1076
+ href="#"
1077
+ className="inline-flex items-center gap-1 text-sm text-cyan-400 hover:text-cyan-300"
1078
+ >
1079
+ View documentation
1080
+ <ArrowRightIcon className="h-3 w-3" />
1081
+ </a>
1082
+ </div>
1083
+ </div>
1084
+ </div>
1085
+ ),
1086
+ }
1087
+
1088
+ export const AnimatedStates: Story = {
1089
+ parameters: {
1090
+ ...storyParameters,
1091
+ docs: {
1092
+ description: {
1093
+ story:
1094
+ "ArrowRightIcon with different animation states for interactive elements.",
1095
+ },
1096
+ },
1097
+ },
1098
+ render: () => (
1099
+ <div className="grid min-h-dvh grid-cols-1 items-center gap-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8 md:grid-cols-3">
1100
+ <div className="text-center">
1101
+ <h3 className="mb-4 text-lg font-medium text-white">Hover Animation</h3>
1102
+ <button className="group rounded-lg border border-cyan-500/30 bg-cyan-500/10 px-6 py-3 transition-colors hover:bg-cyan-500/20">
1103
+ <ArrowRightIcon className="h-6 w-6 text-cyan-400 transition-transform duration-300 group-hover:translate-x-2" />
1104
+ </button>
1105
+ <p className="mt-2 text-xs text-white/60">Hover to slide right</p>
1106
+ </div>
1107
+
1108
+ <div className="text-center">
1109
+ <h3 className="mb-4 text-lg font-medium text-white">Pulse Animation</h3>
1110
+ <button className="rounded-lg border border-cyan-500/30 bg-cyan-500/10 px-6 py-3">
1111
+ <ArrowRightIcon className="h-6 w-6 animate-pulse text-cyan-400" />
1112
+ </button>
1113
+ <p className="mt-2 text-xs text-white/60">Attention grabbing</p>
1114
+ </div>
1115
+
1116
+ <div className="text-center">
1117
+ <h3 className="mb-4 text-lg font-medium text-white">Color Change</h3>
1118
+ <button className="rounded-lg border border-cyan-500/30 bg-cyan-500/10 px-6 py-3 transition-colors hover:bg-cyan-500/20">
1119
+ <ArrowRightIcon className="h-6 w-6 text-cyan-400 transition-colors duration-300 hover:text-cyan-200" />
1120
+ </button>
1121
+ <p className="mt-2 text-xs text-white/60">Hover to lighten</p>
1122
+ </div>
1123
+ </div>
1124
+ ),
1125
+ }
1126
+
1127
+ export const Playground: Story = {
1128
+ parameters: {
1129
+ ...storyParameters,
1130
+ docs: {
1131
+ description: {
1132
+ story:
1133
+ "Interactive playground to experiment with different ArrowRightIcon configurations.",
1134
+ },
1135
+ },
1136
+ },
1137
+ args: {
1138
+ width: 32,
1139
+ height: 28,
1140
+ className: "text-cyan-400",
1141
+ strokeWidth: 1.5,
1142
+ strokeLinecap: "square",
1143
+ },
1144
+ render: (args) => (
1145
+ <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1146
+ <div className="rounded-lg border border-white/10 bg-white/5 p-8">
1147
+ <ArrowRightIcon {...args} />
1148
+ </div>
1149
+ </div>
1150
+ ),
1151
+ }