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,1092 @@
1
+ import React from "react"
2
+ import type { Meta, StoryObj } from "@storybook/react"
3
+
4
+ import { EditBigIcon } from "."
5
+
6
+ const meta: Meta<typeof EditBigIcon> = {
7
+ title: "Icons/EditBigIcon",
8
+ component: EditBigIcon,
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-blue-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-blue-500/30 bg-gradient-to-br from-blue-500/20 to-purple-500/20">
90
+ <EditBigIcon className="h-12 w-12 text-blue-400" />
91
+ </div>
92
+ <h1 className="!text-fm-primary text-5xl font-bold">
93
+ EditBigIcon
94
+ </h1>
95
+ <p className="!mx-auto max-w-3xl text-xl leading-relaxed !text-white/70">
96
+ A comprehensive edit icon for content modification, form
97
+ editing, and data management interfaces. Features a detailed
98
+ pencil and paper design that clearly communicates editing
99
+ functionality. Built with accessibility in mind using Radix
100
+ UI's 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-blue-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
+ Detailed
117
+ </div>
118
+ <div className="text-sm text-white/60">
119
+ Clear edit metaphor
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-indigo-300">
125
+ Versatile
126
+ </div>
127
+ <div className="text-sm text-white/60">
128
+ Multiple use cases
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-blue-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 { EditBigIcon } from "@icons/edit-big-icon"
151
+
152
+ function EditButton() {
153
+ return (
154
+ <button className="flex items-center gap-2 p-2 hover:bg-white/10 rounded-lg">
155
+ <EditBigIcon className="h-5 w-5 text-blue-400 " />
156
+ <span>Edit Content</span>
157
+ </button>
158
+ )
159
+ }`}
160
+ </pre>
161
+ </div>
162
+ </div>
163
+
164
+ <div className="!space-y-4">
165
+ <h3 className="text-xl font-semibold !text-blue-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
+ <button className="flex items-center gap-3 rounded-lg border border-blue-500/20 bg-blue-500/10 px-4 py-2 transition-colors hover:bg-blue-500/20">
170
+ <EditBigIcon className="h-5 w-5 text-blue-400" />
171
+ <span className="text-white">Edit Content</span>
172
+ </button>
173
+ </div>
174
+ </div>
175
+ </div>
176
+ </div>
177
+
178
+ {/* Props Documentation */}
179
+ <div className="!space-y-8">
180
+ <h2 className="text-center text-3xl font-bold !text-white">
181
+ Props & Configuration
182
+ </h2>
183
+
184
+ <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
185
+ <div className="bg-white/5 p-4">
186
+ <h3 className="text-xl font-semibold !text-white">Props</h3>
187
+ </div>
188
+ <table className="!my-0 w-full">
189
+ <thead className="bg-white/5">
190
+ <tr className="border-b border-white/10">
191
+ <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
192
+ Prop
193
+ </th>
194
+ <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
195
+ Type
196
+ </th>
197
+ <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
198
+ Default
199
+ </th>
200
+ <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
201
+ Description
202
+ </th>
203
+ </tr>
204
+ </thead>
205
+ <tbody>
206
+ <tr className="border-b border-white/5">
207
+ <td className="px-6 py-4 font-mono text-sm !text-blue-300">
208
+ width
209
+ </td>
210
+ <td className="px-6 py-4 text-sm !text-white/70">
211
+ number | string
212
+ </td>
213
+ <td className="px-6 py-4 text-sm !text-white/50">24</td>
214
+ <td className="px-6 py-4 text-sm !text-white/70">
215
+ Width of the icon in pixels
216
+ </td>
217
+ </tr>
218
+ <tr className="border-b border-white/5 !bg-black/10">
219
+ <td className="px-6 py-4 font-mono text-sm !text-blue-300">
220
+ height
221
+ </td>
222
+ <td className="px-6 py-4 text-sm !text-white/70">
223
+ number | string
224
+ </td>
225
+ <td className="px-6 py-4 text-sm !text-white/50">24</td>
226
+ <td className="px-6 py-4 text-sm !text-white/70">
227
+ Height of the icon in pixels
228
+ </td>
229
+ </tr>
230
+ <tr className="border-b border-white/5">
231
+ <td className="px-6 py-4 font-mono text-sm !text-blue-300">
232
+ fill
233
+ </td>
234
+ <td className="px-6 py-4 text-sm !text-white/70">
235
+ string
236
+ </td>
237
+ <td className="px-6 py-4 text-sm !text-white/50">
238
+ currentColor
239
+ </td>
240
+ <td className="px-6 py-4 text-sm !text-white/70">
241
+ Fill color of the icon
242
+ </td>
243
+ </tr>
244
+ <tr className="border-b border-white/5 !bg-black/10">
245
+ <td className="px-6 py-4 font-mono text-sm !text-blue-300">
246
+ className
247
+ </td>
248
+ <td className="px-6 py-4 text-sm !text-white/70">
249
+ string
250
+ </td>
251
+ <td className="px-6 py-4 text-sm !text-white/50">-</td>
252
+ <td className="px-6 py-4 text-sm !text-white/70">
253
+ CSS classes for styling (use for overrides)
254
+ </td>
255
+ </tr>
256
+ <tr className="border-b border-white/5">
257
+ <td className="px-6 py-4 font-mono text-sm !text-blue-300">
258
+ onClick
259
+ </td>
260
+ <td className="px-6 py-4 text-sm !text-white/70">
261
+ function
262
+ </td>
263
+ <td className="px-6 py-4 text-sm !text-white/50">-</td>
264
+ <td className="px-6 py-4 text-sm !text-white/70">
265
+ Click handler for interactive use
266
+ </td>
267
+ </tr>
268
+ <tr className="!bg-black/10">
269
+ <td className="px-6 py-4 font-mono text-sm !text-blue-300">
270
+ ...svgProps
271
+ </td>
272
+ <td className="px-6 py-4 text-sm !text-white/70">
273
+ SVGProps
274
+ </td>
275
+ <td className="px-6 py-4 text-sm !text-white/50">-</td>
276
+ <td className="px-6 py-4 text-sm !text-white/70">
277
+ All standard SVG element props
278
+ </td>
279
+ </tr>
280
+ </tbody>
281
+ </table>
282
+ </div>
283
+ </div>
284
+
285
+ {/* Size Variations */}
286
+ <div className="!space-y-8">
287
+ <h2 className="text-center text-3xl font-bold !text-white">
288
+ Size Variations
289
+ </h2>
290
+ <div className="rounded-lg border border-white/10 bg-white/5 p-8">
291
+ <div className="!space-y-6">
292
+ <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
293
+ <div className="!space-y-4">
294
+ <h3 className="text-lg font-semibold !text-blue-300">
295
+ Standard Sizes
296
+ </h3>
297
+ <div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
298
+ <div className="text-center">
299
+ <EditBigIcon className="!mx-auto mb-2 h-3 w-3 text-blue-400" />
300
+ <span className="text-xs text-white/60">12px</span>
301
+ </div>
302
+ <div className="text-center">
303
+ <EditBigIcon className="!mx-auto mb-2 h-4 w-4 text-blue-400" />
304
+ <span className="text-xs text-white/60">16px</span>
305
+ </div>
306
+ <div className="text-center">
307
+ <EditBigIcon className="!mx-auto mb-2 h-5 w-5 text-blue-400" />
308
+ <span className="text-xs text-white/60">20px</span>
309
+ </div>
310
+ <div className="text-center">
311
+ <EditBigIcon className="!mx-auto mb-2 h-6 w-6 text-blue-400" />
312
+ <span className="text-xs text-white/60">24px</span>
313
+ </div>
314
+ <div className="text-center">
315
+ <EditBigIcon className="!mx-auto mb-2 h-8 w-8 text-blue-400" />
316
+ <span className="text-xs text-white/60">32px</span>
317
+ </div>
318
+ <div className="text-center">
319
+ <EditBigIcon className="!mx-auto mb-2 h-12 w-12 text-blue-400" />
320
+ <span className="text-xs text-white/60">48px</span>
321
+ </div>
322
+ </div>
323
+ </div>
324
+
325
+ <div className="!space-y-4">
326
+ <h3 className="text-lg font-semibold !text-blue-300">
327
+ Code Example
328
+ </h3>
329
+ <div className="rounded-lg bg-black/40 p-4">
330
+ <pre className="overflow-x-auto text-sm !text-cyan-300">
331
+ {`// Small (16px)
332
+ <EditBigIcon className="h-4 w-4 " />
333
+
334
+ // Medium (24px)
335
+ <EditBigIcon className="h-6 w-6 " />
336
+
337
+ // Large (32px)
338
+ <EditBigIcon className="h-8 w-8 " />
339
+
340
+ // Custom size
341
+ <EditBigIcon width={40} height={40} />`}
342
+ </pre>
343
+ </div>
344
+ </div>
345
+ </div>
346
+ </div>
347
+ </div>
348
+ </div>
349
+
350
+ {/* Color Variations */}
351
+ <div className="!space-y-8">
352
+ <h2 className="text-center text-3xl font-bold !text-white">
353
+ Color Variations
354
+ </h2>
355
+ <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
356
+ <div className="!space-y-4">
357
+ <h3 className="text-lg font-semibold !text-blue-300">
358
+ Semantic Colors
359
+ </h3>
360
+ <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
361
+ <div className="flex items-center gap-4">
362
+ <EditBigIcon className="h-6 w-6 text-blue-400" />
363
+ <div>
364
+ <div className="text-sm font-medium text-white">
365
+ Primary / Edit
366
+ </div>
367
+ <div className="text-xs text-white/60">
368
+ text-blue-400
369
+ </div>
370
+ </div>
371
+ </div>
372
+ <div className="flex items-center gap-4">
373
+ <EditBigIcon className="h-6 w-6 text-purple-400" />
374
+ <div>
375
+ <div className="text-sm font-medium text-white">
376
+ Secondary / Modify
377
+ </div>
378
+ <div className="text-xs text-white/60">
379
+ text-purple-400
380
+ </div>
381
+ </div>
382
+ </div>
383
+ <div className="flex items-center gap-4">
384
+ <EditBigIcon className="h-6 w-6 text-gray-400" />
385
+ <div>
386
+ <div className="text-sm font-medium text-white">
387
+ Neutral / Disabled
388
+ </div>
389
+ <div className="text-xs text-white/60">
390
+ text-gray-400
391
+ </div>
392
+ </div>
393
+ </div>
394
+ <div className="flex items-center gap-4">
395
+ <EditBigIcon className="h-6 w-6 text-green-400" />
396
+ <div>
397
+ <div className="text-sm font-medium text-white">
398
+ Success / Save
399
+ </div>
400
+ <div className="text-xs text-white/60">
401
+ text-green-400
402
+ </div>
403
+ </div>
404
+ </div>
405
+ </div>
406
+ </div>
407
+
408
+ <div className="!space-y-4">
409
+ <h3 className="text-lg font-semibold !text-blue-300">
410
+ Custom Colors
411
+ </h3>
412
+ <div className="rounded-lg bg-black/40 p-4">
413
+ <pre className="overflow-x-auto text-sm !text-green-300">
414
+ {`// Using Tailwind classes with
415
+ <EditBigIcon className="h-6 w-6 text-blue-400 " />
416
+ <EditBigIcon className="h-6 w-6 text-purple-500 " />
417
+
418
+ // Using CSS custom properties
419
+ <EditBigIcon
420
+ className="h-6 w-6 "
421
+ style={{ color: 'var(--color-primary)' }}
422
+ />
423
+
424
+ // Direct fill prop
425
+ <EditBigIcon
426
+ width={24}
427
+ height={24}
428
+ fill="#3b82f6"
429
+ />`}
430
+ </pre>
431
+ </div>
432
+ </div>
433
+ </div>
434
+ </div>
435
+
436
+ {/* Usage Examples */}
437
+ <div className="!space-y-8">
438
+ <h2 className="text-center text-3xl font-bold !text-white">
439
+ Usage Examples
440
+ </h2>
441
+
442
+ <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
443
+ {/* Content Card Edit */}
444
+ <div className="!space-y-4">
445
+ <h3 className="text-lg font-semibold !text-blue-300">
446
+ Content Card Edit
447
+ </h3>
448
+ <div className="!space-y-4">
449
+ <div className="rounded-lg border border-white/10 bg-white/5 p-6">
450
+ <div className="mb-4 flex items-start justify-between">
451
+ <div>
452
+ <h4 className="mb-2 font-medium !text-white">
453
+ Article Title
454
+ </h4>
455
+ <p className="text-sm !text-white/70">
456
+ Lorem ipsum dolor sit amet, consectetur adipiscing
457
+ elit. Sed do eiusmod tempor incididunt ut labore.
458
+ </p>
459
+ </div>
460
+ <button className="rounded-lg p-2 transition-colors hover:bg-white/10">
461
+ <EditBigIcon className="h-5 w-5 text-blue-400" />
462
+ </button>
463
+ </div>
464
+ <div className="flex items-center gap-2 text-xs text-white/50">
465
+ <span>Last edited: 2 hours ago</span>
466
+ </div>
467
+ </div>
468
+ <div className="rounded-lg bg-black/40 p-4">
469
+ <pre className="overflow-x-auto text-sm !text-green-300">
470
+ {`// Content card with edit button
471
+ <div className="rounded-lg border border-white/10 bg-white/5 p-6">
472
+ <div className="flex items-start justify-between mb-4">
473
+ <div>
474
+ <h4 className="font-medium text-white mb-2">Article Title</h4>
475
+ <p className="text-sm text-white/70">Content preview...</p>
476
+ </div>
477
+ <button
478
+ className="p-2 hover:bg-white/10 rounded-lg transition-colors"
479
+ onClick={handleEdit}
480
+ >
481
+ <EditBigIcon className="h-5 w-5 text-blue-400 " />
482
+ </button>
483
+ </div>
484
+ </div>`}
485
+ </pre>
486
+ </div>
487
+ </div>
488
+ </div>
489
+
490
+ {/* Form Field Edit */}
491
+ <div className="!space-y-4">
492
+ <h3 className="text-lg font-semibold !text-blue-300">
493
+ Form Field Edit
494
+ </h3>
495
+ <div className="!space-y-4">
496
+ <div className="!space-y-4">
497
+ <div className="!space-y-2">
498
+ <label className="text-sm font-medium !text-white">
499
+ Profile Information
500
+ </label>
501
+ <div className="flex items-center gap-3">
502
+ <div className="flex-1">
503
+ <div className="rounded-lg border border-white/20 bg-white/5 px-3 py-2">
504
+ <div className="text-white">John Doe</div>
505
+ <div className="text-xs text-white/60">
506
+ john.doe@example.com
507
+ </div>
508
+ </div>
509
+ </div>
510
+ <button className="rounded-lg border border-blue-500/30 bg-blue-500/10 p-2 hover:bg-blue-500/20">
511
+ <EditBigIcon className="h-4 w-4 text-blue-400" />
512
+ </button>
513
+ </div>
514
+ </div>
515
+ </div>
516
+ <div className="rounded-lg bg-black/40 p-4">
517
+ <pre className="overflow-x-auto text-sm !text-green-300">
518
+ {`// Form field with edit trigger
519
+ <div className="flex items-center gap-3">
520
+ <div className="flex-1">
521
+ <div className="rounded-lg border border-white/20 bg-white/5 px-3 py-2">
522
+ <div className="text-white">John Doe</div>
523
+ <div className="text-xs text-white/60">john.doe@example.com</div>
524
+ </div>
525
+ </div>
526
+ <button
527
+ className="p-2 hover:bg-blue-500/20 rounded-lg border border-blue-500/30 bg-blue-500/10"
528
+ onClick={startEditing}
529
+ >
530
+ <EditBigIcon className="h-4 w-4 text-blue-400 " />
531
+ </button>
532
+ </div>`}
533
+ </pre>
534
+ </div>
535
+ </div>
536
+ </div>
537
+
538
+ {/* Table Row Actions */}
539
+ <div className="!space-y-4">
540
+ <h3 className="text-lg font-semibold !text-blue-300">
541
+ Table Row Actions
542
+ </h3>
543
+ <div className="!space-y-4">
544
+ <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
545
+ <table className="!my-0 w-full">
546
+ <thead className="bg-white/5">
547
+ <tr className="border-b border-white/10">
548
+ <th className="px-4 py-3 text-left text-sm font-medium !text-white">
549
+ Name
550
+ </th>
551
+ <th className="px-4 py-3 text-left text-sm font-medium !text-white">
552
+ Status
553
+ </th>
554
+ <th className="px-4 py-3 text-left text-sm font-medium !text-white">
555
+ Actions
556
+ </th>
557
+ </tr>
558
+ </thead>
559
+ <tbody>
560
+ <tr className="border-b border-white/5">
561
+ <td className="px-4 py-3 text-sm !text-white">
562
+ Project Alpha
563
+ </td>
564
+ <td className="px-4 py-3">
565
+ <span className="inline-flex items-center rounded-full bg-green-500/20 px-2 py-1 text-xs text-green-300">
566
+ Active
567
+ </span>
568
+ </td>
569
+ <td className="px-4 py-3">
570
+ <button className="rounded p-1 hover:bg-white/10">
571
+ <EditBigIcon className="h-4 w-4 text-blue-400" />
572
+ </button>
573
+ </td>
574
+ </tr>
575
+ <tr className="border-b border-white/5 !bg-black/10">
576
+ <td className="px-4 py-3 text-sm !text-white">
577
+ Project Beta
578
+ </td>
579
+ <td className="px-4 py-3">
580
+ <span className="inline-flex items-center rounded-full bg-yellow-500/20 px-2 py-1 text-xs text-yellow-300">
581
+ Pending
582
+ </span>
583
+ </td>
584
+ <td className="px-4 py-3">
585
+ <button className="rounded p-1 hover:bg-white/10">
586
+ <EditBigIcon className="h-4 w-4 text-blue-400" />
587
+ </button>
588
+ </td>
589
+ </tr>
590
+ </tbody>
591
+ </table>
592
+ </div>
593
+ <div className="rounded-lg bg-black/40 p-4">
594
+ <pre className="overflow-x-auto text-sm !text-green-300">
595
+ {`// Table with edit actions
596
+ <table className="w-full">
597
+ <thead>
598
+ <tr>
599
+ <th>Name</th>
600
+ <th>Status</th>
601
+ <th>Actions</th>
602
+ </tr>
603
+ </thead>
604
+ <tbody>
605
+ <tr>
606
+ <td>Project Alpha</td>
607
+ <td>Active</td>
608
+ <td>
609
+ <button
610
+ className="p-1 hover:bg-white/10 rounded"
611
+ onClick={() => editItem(item.id)}
612
+ >
613
+ <EditBigIcon className="h-4 w-4 text-blue-400 " />
614
+ </button>
615
+ </td>
616
+ </tr>
617
+ </tbody>
618
+ </table>`}
619
+ </pre>
620
+ </div>
621
+ </div>
622
+ </div>
623
+
624
+ {/* Inline Edit Mode */}
625
+ <div className="!space-y-4">
626
+ <h3 className="text-lg font-semibold !text-blue-300">
627
+ Inline Edit Mode
628
+ </h3>
629
+ <div className="!space-y-4">
630
+ <div className="!space-y-3">
631
+ <div className="flex items-center justify-between rounded-lg border border-white/10 bg-white/5 p-4">
632
+ <div className="flex items-center gap-3">
633
+ <EditBigIcon className="h-5 w-5 text-blue-400" />
634
+ <span className="font-medium text-white">
635
+ Edit Mode Active
636
+ </span>
637
+ </div>
638
+ <div className="flex gap-2">
639
+ <button className="rounded border border-green-500/30 bg-green-500/20 px-3 py-1 text-xs text-green-300">
640
+ Save
641
+ </button>
642
+ <button className="rounded border border-gray-500/30 bg-gray-500/20 px-3 py-1 text-xs text-gray-300">
643
+ Cancel
644
+ </button>
645
+ </div>
646
+ </div>
647
+ <div className="rounded-lg border border-blue-500/30 bg-blue-500/10 p-4">
648
+ <input
649
+ type="text"
650
+ className="w-full border-none bg-transparent text-white placeholder-white/50 focus:outline-none"
651
+ defaultValue="This content is now editable..."
652
+ />
653
+ </div>
654
+ </div>
655
+ <div className="rounded-lg bg-black/40 p-4">
656
+ <pre className="overflow-x-auto text-sm !text-green-300">
657
+ {`// Inline edit mode indicator
658
+ <div className="flex items-center justify-between rounded-lg border bg-white/5 p-4">
659
+ <div className="flex items-center gap-3">
660
+ <EditBigIcon className="h-5 w-5 text-blue-400 " />
661
+ <span className="font-medium text-white">Edit Mode Active</span>
662
+ </div>
663
+ <div className="flex gap-2">
664
+ <button onClick={saveChanges}>Save</button>
665
+ <button onClick={cancelEdit}>Cancel</button>
666
+ </div>
667
+ </div>`}
668
+ </pre>
669
+ </div>
670
+ </div>
671
+ </div>
672
+ </div>
673
+ </div>
674
+
675
+ {/* Accessibility */}
676
+ <div className="!space-y-8">
677
+ <h2 className="text-center text-3xl font-bold !text-white">
678
+ Accessibility Features
679
+ </h2>
680
+ <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
681
+ <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
682
+ <h3 className="text-lg font-semibold !text-green-300">
683
+ ✅ Built-in Features
684
+ </h3>
685
+ <ul className="!space-y-2 text-sm !text-white/70">
686
+ <li className="!text-white/70">
687
+ Uses Radix UI AccessibleIcon wrapper
688
+ </li>
689
+ <li className="!text-white/70">
690
+ Provides screen reader label "Edit Big icon"
691
+ </li>
692
+ <li className="!text-white/70">
693
+ Supports keyboard navigation when interactive
694
+ </li>
695
+ <li className="!text-white/70">
696
+ Maintains proper color contrast ratios
697
+ </li>
698
+ <li className="!text-white/70">
699
+ Scales with user's font size preferences
700
+ </li>
701
+ </ul>
702
+ </div>
703
+
704
+ <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
705
+ <h3 className="text-lg font-semibold !text-blue-300">
706
+ 💡 Best Practices
707
+ </h3>
708
+ <ul className="!space-y-2 text-sm text-white/70">
709
+ <li className="!text-white/70">
710
+ Always provide clear button labels for edit actions
711
+ </li>
712
+ <li className="!text-white/70">
713
+ Use consistent placement and styling
714
+ </li>
715
+ <li className="!text-white/70">
716
+ Ensure sufficient touch target size (44px minimum)
717
+ </li>
718
+ <li className="!text-white/70">
719
+ Provide visible focus states for keyboard users
720
+ </li>
721
+ <li className="!text-white/70">
722
+ Consider escape key to cancel edit operations
723
+ </li>
724
+ </ul>
725
+ </div>
726
+ </div>
727
+
728
+ <div className="rounded-lg border border-white/10 bg-white/5 p-6">
729
+ <h3 className="mb-4 text-lg font-semibold !text-purple-300">
730
+ Proper ARIA Implementation
731
+ </h3>
732
+ <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
733
+ <div className="rounded-lg bg-black/40 p-4">
734
+ <pre className="overflow-x-auto text-sm !text-cyan-300">
735
+ {`// Edit button with proper ARIA
736
+ <button
737
+ aria-label="Edit article"
738
+ className="p-2 hover:bg-white/10 rounded"
739
+ onClick={handleEdit}
740
+ >
741
+ <EditBigIcon className="h-5 w-5 text-blue-400 " />
742
+ </button>
743
+
744
+ // Edit mode indicator
745
+ <div
746
+ role="status"
747
+ aria-live="polite"
748
+ className="flex items-center gap-3"
749
+ >
750
+ <EditBigIcon className="h-5 w-5 text-blue-400 " />
751
+ <span>Edit mode active</span>
752
+ </div>
753
+
754
+ // Form edit trigger
755
+ <button
756
+ aria-label={\`Edit \${fieldName}\`}
757
+ aria-describedby="edit-help"
758
+ onClick={startEditing}
759
+ >
760
+ <EditBigIcon className="h-4 w-4 text-blue-400 " />
761
+ </button>`}
762
+ </pre>
763
+ </div>
764
+ <div className="!space-y-4">
765
+ <p className="text-sm !text-white/70">
766
+ When using EditBigIcon for interactive elements, always
767
+ provide descriptive aria-label attributes that explain
768
+ what content will be edited.
769
+ </p>
770
+ <div className="rounded-lg border border-blue-500/20 bg-blue-500/10 p-4">
771
+ <div className="flex items-center gap-2 text-sm text-blue-200">
772
+ <EditBigIcon className="h-4 w-4" />
773
+ <span>
774
+ Screen readers need context about what can be edited
775
+ </span>
776
+ </div>
777
+ </div>
778
+ </div>
779
+ </div>
780
+ </div>
781
+ </div>
782
+
783
+ {/* Related Icons */}
784
+ <div className="!space-y-8">
785
+ <h2 className="text-center text-3xl font-bold !text-white">
786
+ Related Icons
787
+ </h2>
788
+ <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
789
+ <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
790
+ <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-green-500/20">
791
+ <span className="text-2xl">💾</span>
792
+ </div>
793
+ <div>
794
+ <div className="font-medium text-white">SaveIcon</div>
795
+ <div className="text-xs text-white/60">Save changes</div>
796
+ </div>
797
+ </div>
798
+ <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
799
+ <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-red-500/20">
800
+ <span className="text-2xl">🗑️</span>
801
+ </div>
802
+ <div>
803
+ <div className="font-medium text-white">DeleteIcon</div>
804
+ <div className="text-xs text-white/60">
805
+ Remove content
806
+ </div>
807
+ </div>
808
+ </div>
809
+ <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
810
+ <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
811
+ <span className="text-2xl">👁️</span>
812
+ </div>
813
+ <div>
814
+ <div className="font-medium text-white">ViewIcon</div>
815
+ <div className="text-xs text-white/60">View content</div>
816
+ </div>
817
+ </div>
818
+ <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
819
+ <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-orange-500/20">
820
+ <span className="text-2xl">⚙️</span>
821
+ </div>
822
+ <div>
823
+ <div className="font-medium text-white">SettingsIcon</div>
824
+ <div className="text-xs text-white/60">Configure</div>
825
+ </div>
826
+ </div>
827
+ </div>
828
+ </div>
829
+ </div>
830
+
831
+ {/* Footer */}
832
+ <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
833
+ <div className="!mx-auto max-w-7xl px-6 py-8">
834
+ <div className="!space-y-4 text-center">
835
+ <p className="!text-white/60">
836
+ EditBigIcon is part of the Aural UI icon library, built with
837
+ clarity and accessibility in mind.
838
+ </p>
839
+ <p className="text-sm !text-white/40">
840
+ All icons use Radix UI's AccessibleIcon for screen reader
841
+ compatibility and follow WCAG guidelines.
842
+ </p>
843
+ </div>
844
+ </div>
845
+ </div>
846
+ </div>
847
+ </>
848
+ ),
849
+ },
850
+ },
851
+ tags: ["autodocs"],
852
+ argTypes: {
853
+ width: {
854
+ control: { type: "range", min: 8, max: 96, step: 2 },
855
+ description: "Width of the icon in pixels",
856
+ },
857
+ height: {
858
+ control: { type: "range", min: 8, max: 96, step: 2 },
859
+ description: "Height of the icon in pixels",
860
+ },
861
+ fill: {
862
+ control: "color",
863
+ description: "Fill color of the icon",
864
+ },
865
+ className: {
866
+ control: "text",
867
+ description: "CSS classes for styling (use for overrides)",
868
+ },
869
+ onClick: {
870
+ action: "clicked",
871
+ description: "Click handler for interactive use",
872
+ },
873
+ },
874
+ }
875
+
876
+ export default meta
877
+ type Story = StoryObj<typeof EditBigIcon>
878
+
879
+ // Story parameters for consistent dark theme
880
+ const storyParameters = {
881
+ backgrounds: {
882
+ default: "dark",
883
+ values: [
884
+ { name: "dark", value: "#0a0a0a" },
885
+ { name: "darker", value: "#000000" },
886
+ ],
887
+ },
888
+ }
889
+
890
+ export const Default: Story = {
891
+ args: {
892
+ className: "h-6 w-6 text-blue-400 ",
893
+ },
894
+ parameters: storyParameters,
895
+ render: (args) => (
896
+ <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
897
+ <EditBigIcon {...args} />
898
+ </div>
899
+ ),
900
+ }
901
+
902
+ export const SizeVariations: Story = {
903
+ parameters: {
904
+ ...storyParameters,
905
+ docs: {
906
+ description: {
907
+ story:
908
+ "EditBigIcon in different sizes, from small UI elements to large displays.",
909
+ },
910
+ },
911
+ },
912
+ render: () => (
913
+ <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">
914
+ <div className="text-center">
915
+ <EditBigIcon className="!mx-auto mb-2 h-3 w-3 text-blue-400" />
916
+ <span className="text-xs text-white/60">12px</span>
917
+ </div>
918
+ <div className="text-center">
919
+ <EditBigIcon className="!mx-auto mb-2 h-4 w-4 text-blue-400" />
920
+ <span className="text-xs text-white/60">16px</span>
921
+ </div>
922
+ <div className="text-center">
923
+ <EditBigIcon className="!mx-auto mb-2 h-5 w-5 text-blue-400" />
924
+ <span className="text-xs text-white/60">20px</span>
925
+ </div>
926
+ <div className="text-center">
927
+ <EditBigIcon className="!mx-auto mb-2 h-6 w-6 text-blue-400" />
928
+ <span className="text-xs text-white/60">24px</span>
929
+ </div>
930
+ <div className="text-center">
931
+ <EditBigIcon className="!mx-auto mb-2 h-8 w-8 text-blue-400" />
932
+ <span className="text-xs text-white/60">32px</span>
933
+ </div>
934
+ <div className="text-center">
935
+ <EditBigIcon className="!mx-auto mb-2 h-12 w-12 text-blue-400" />
936
+ <span className="text-xs text-white/60">48px</span>
937
+ </div>
938
+ </div>
939
+ ),
940
+ }
941
+
942
+ export const ColorVariations: Story = {
943
+ parameters: {
944
+ ...storyParameters,
945
+ docs: {
946
+ description: {
947
+ story:
948
+ "EditBigIcon in different semantic colors for various editing contexts.",
949
+ },
950
+ },
951
+ },
952
+ render: () => (
953
+ <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">
954
+ <div className="text-center">
955
+ <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">
956
+ <EditBigIcon className="h-8 w-8 text-blue-400" />
957
+ </div>
958
+ <div className="text-sm font-medium text-white">Primary</div>
959
+ <div className="text-xs text-blue-400">text-blue-400</div>
960
+ </div>
961
+ <div className="text-center">
962
+ <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">
963
+ <EditBigIcon className="h-8 w-8 text-purple-400" />
964
+ </div>
965
+ <div className="text-sm font-medium text-white">Secondary</div>
966
+ <div className="text-xs text-purple-400">text-purple-400</div>
967
+ </div>
968
+ <div className="text-center">
969
+ <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">
970
+ <EditBigIcon className="h-8 w-8 text-gray-400" />
971
+ </div>
972
+ <div className="text-sm font-medium text-white">Neutral</div>
973
+ <div className="text-xs text-gray-400">text-gray-400</div>
974
+ </div>
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-green-500/30 bg-green-500/20">
977
+ <EditBigIcon className="h-8 w-8 text-green-400" />
978
+ </div>
979
+ <div className="text-sm font-medium text-white">Success</div>
980
+ <div className="text-xs text-green-400">text-green-400</div>
981
+ </div>
982
+ </div>
983
+ ),
984
+ }
985
+
986
+ export const UsageExamples: Story = {
987
+ parameters: {
988
+ ...storyParameters,
989
+ docs: {
990
+ description: {
991
+ story:
992
+ "Real-world usage examples showing EditBigIcon in different UI contexts.",
993
+ },
994
+ },
995
+ },
996
+ render: () => (
997
+ <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
998
+ {/* Content Card Edit */}
999
+ <div className="!space-y-2">
1000
+ <h3 className="text-sm font-medium text-white">Content Card Edit</h3>
1001
+ <div className="rounded-lg border border-white/10 bg-white/5 p-6">
1002
+ <div className="mb-4 flex items-start justify-between">
1003
+ <div>
1004
+ <h4 className="mb-2 font-medium text-white">Article Title</h4>
1005
+ <p className="text-sm text-white/70">
1006
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
1007
+ </p>
1008
+ </div>
1009
+ <button className="rounded-lg p-2 transition-colors hover:bg-white/10">
1010
+ <EditBigIcon className="h-5 w-5 text-blue-400" />
1011
+ </button>
1012
+ </div>
1013
+ </div>
1014
+ </div>
1015
+
1016
+ {/* Form Field Edit */}
1017
+ <div className="!space-y-2">
1018
+ <h3 className="text-sm font-medium text-white">Form Field Edit</h3>
1019
+ <div className="flex items-center gap-3">
1020
+ <div className="flex-1 rounded-lg border border-white/20 bg-white/5 px-3 py-2">
1021
+ <div className="text-white">John Doe</div>
1022
+ <div className="text-xs text-white/60">john.doe@example.com</div>
1023
+ </div>
1024
+ <button className="rounded-lg border border-blue-500/30 bg-blue-500/10 p-2 hover:bg-blue-500/20">
1025
+ <EditBigIcon className="h-4 w-4 text-blue-400" />
1026
+ </button>
1027
+ </div>
1028
+ </div>
1029
+
1030
+ {/* Table Actions */}
1031
+ <div className="!space-y-2">
1032
+ <h3 className="text-sm font-medium text-white">Table Row Actions</h3>
1033
+ <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
1034
+ <table className="w-full">
1035
+ <thead className="bg-white/5">
1036
+ <tr className="border-b border-white/10">
1037
+ <th className="px-4 py-3 text-left text-sm font-medium text-white">
1038
+ Name
1039
+ </th>
1040
+ <th className="px-4 py-3 text-left text-sm font-medium text-white">
1041
+ Status
1042
+ </th>
1043
+ <th className="px-4 py-3 text-left text-sm font-medium text-white">
1044
+ Actions
1045
+ </th>
1046
+ </tr>
1047
+ </thead>
1048
+ <tbody>
1049
+ <tr className="border-b border-white/5">
1050
+ <td className="px-4 py-3 text-sm text-white">Project Alpha</td>
1051
+ <td className="px-4 py-3">
1052
+ <span className="inline-flex items-center rounded-full bg-green-500/20 px-2 py-1 text-xs text-green-300">
1053
+ Active
1054
+ </span>
1055
+ </td>
1056
+ <td className="px-4 py-3">
1057
+ <button className="rounded p-1 hover:bg-white/10">
1058
+ <EditBigIcon className="h-4 w-4 text-blue-400" />
1059
+ </button>
1060
+ </td>
1061
+ </tr>
1062
+ </tbody>
1063
+ </table>
1064
+ </div>
1065
+ </div>
1066
+ </div>
1067
+ ),
1068
+ }
1069
+
1070
+ export const Playground: Story = {
1071
+ parameters: {
1072
+ ...storyParameters,
1073
+ docs: {
1074
+ description: {
1075
+ story:
1076
+ "Interactive playground to experiment with different EditBigIcon configurations.",
1077
+ },
1078
+ },
1079
+ },
1080
+ args: {
1081
+ width: 32,
1082
+ height: 32,
1083
+ className: "text-blue-400 ",
1084
+ },
1085
+ render: (args) => (
1086
+ <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1087
+ <div className="rounded-lg border border-white/10 bg-white/5 p-8">
1088
+ <EditBigIcon {...args} />
1089
+ </div>
1090
+ </div>
1091
+ ),
1092
+ }