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,1115 @@
1
+ import React from "react"
2
+ import type { Meta, StoryObj } from "@storybook/react"
3
+
4
+ import { FileChartIcon } from "."
5
+
6
+ const meta: Meta<typeof FileChartIcon> = {
7
+ title: "Icons/FileChartIcon",
8
+ component: FileChartIcon,
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-cyan-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-cyan-500/20">
90
+ <FileChartIcon className="h-12 w-12 text-blue-400" />
91
+ </div>
92
+ <h1 className="!text-fm-primary text-5xl font-bold">
93
+ FileChartIcon
94
+ </h1>
95
+ <p className="!mx-auto max-w-3xl text-xl leading-relaxed !text-white/70">
96
+ A comprehensive file chart icon representing analytics,
97
+ reports, and data visualization documents. Perfect for
98
+ dashboard applications, analytics platforms, reporting
99
+ systems, and document management interfaces. Features a
100
+ clean document outline with integrated chart elements. Built
101
+ with accessibility in mind using Radix UI's AccessibleIcon
102
+ wrapper.
103
+ </p>
104
+
105
+ {/* Stats */}
106
+ <div className="flex items-center justify-center gap-8 pt-8">
107
+ <div className="text-center">
108
+ <div className="text-3xl font-bold text-blue-300">
109
+ Analytics
110
+ </div>
111
+ <div className="text-sm text-white/60">
112
+ Data visualization
113
+ </div>
114
+ </div>
115
+ <div className="h-8 w-px bg-white/20" />
116
+ <div className="text-center">
117
+ <div className="text-3xl font-bold text-cyan-300">
118
+ Reports
119
+ </div>
120
+ <div className="text-sm text-white/60">
121
+ Document representation
122
+ </div>
123
+ </div>
124
+ <div className="h-8 w-px bg-white/20" />
125
+ <div className="text-center">
126
+ <div className="text-3xl font-bold text-green-300">
127
+ Dashboard
128
+ </div>
129
+ <div className="text-sm text-white/60">
130
+ Chart integration
131
+ </div>
132
+ </div>
133
+ </div>
134
+ </div>
135
+ </div>
136
+ </div>
137
+
138
+ {/* Content */}
139
+ <div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
140
+ {/* Quick Usage */}
141
+ <div className="!space-y-8">
142
+ <h2 className="text-center text-3xl font-bold !text-white">
143
+ Quick Start
144
+ </h2>
145
+ <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
146
+ <div className="!space-y-4">
147
+ <h3 className="text-xl font-semibold !text-blue-300">
148
+ Basic Usage
149
+ </h3>
150
+ <div className="rounded-lg bg-black/40 p-4">
151
+ <pre className="overflow-x-auto text-sm !text-green-300">
152
+ {`import { FileChartIcon } from "@icons/file-chart-icon"
153
+
154
+ function ReportsSection() {
155
+ return (
156
+ <div className="flex items-center gap-3">
157
+ <FileChartIcon className="h-6 w-6 text-blue-400 " />
158
+ <div>
159
+ <h3 className="font-semibold">Analytics Report</h3>
160
+ <p className="text-sm text-gray-500">Q4 Performance Data</p>
161
+ </div>
162
+ </div>
163
+ )
164
+ }`}
165
+ </pre>
166
+ </div>
167
+ </div>
168
+
169
+ <div className="!space-y-4">
170
+ <h3 className="text-xl font-semibold !text-blue-300">
171
+ Live Preview
172
+ </h3>
173
+ <div className="flex h-32 items-center justify-center rounded-lg border border-white/10 bg-white/5">
174
+ <div className="flex items-start gap-3 rounded-lg border border-blue-500/20 bg-blue-500/10 px-4 py-3">
175
+ <FileChartIcon className="h-6 w-6 text-blue-400" />
176
+ <div>
177
+ <h3 className="font-semibold !text-white">
178
+ Analytics Report
179
+ </h3>
180
+ <p className="text-sm !text-blue-200/80">
181
+ Q4 Performance Data
182
+ </p>
183
+ </div>
184
+ </div>
185
+ </div>
186
+ </div>
187
+ </div>
188
+ </div>
189
+
190
+ {/* Props Documentation */}
191
+ <div className="!space-y-8">
192
+ <h2 className="text-center text-3xl font-bold !text-white">
193
+ Props & Configuration
194
+ </h2>
195
+
196
+ <div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
197
+ <div className="bg-white/5 p-4">
198
+ <h3 className="text-xl font-semibold !text-white">Props</h3>
199
+ </div>
200
+ <table className="!my-0 w-full">
201
+ <thead className="bg-white/5">
202
+ <tr className="border-b border-white/10">
203
+ <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
204
+ Prop
205
+ </th>
206
+ <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
207
+ Type
208
+ </th>
209
+ <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
210
+ Default
211
+ </th>
212
+ <th className="px-6 py-4 text-left text-sm font-semibold !text-white">
213
+ Description
214
+ </th>
215
+ </tr>
216
+ </thead>
217
+ <tbody>
218
+ <tr className="border-b border-white/5">
219
+ <td className="px-6 py-4 font-mono text-sm !text-blue-300">
220
+ width
221
+ </td>
222
+ <td className="px-6 py-4 text-sm !text-white/70">
223
+ number | string
224
+ </td>
225
+ <td className="px-6 py-4 text-sm !text-white/50">24</td>
226
+ <td className="px-6 py-4 text-sm !text-white/70">
227
+ Width of the icon in pixels
228
+ </td>
229
+ </tr>
230
+ <tr className="border-b border-white/5 !bg-black/10">
231
+ <td className="px-6 py-4 font-mono text-sm !text-blue-300">
232
+ height
233
+ </td>
234
+ <td className="px-6 py-4 text-sm !text-white/70">
235
+ number | string
236
+ </td>
237
+ <td className="px-6 py-4 text-sm !text-white/50">24</td>
238
+ <td className="px-6 py-4 text-sm !text-white/70">
239
+ Height of the icon in pixels
240
+ </td>
241
+ </tr>
242
+ <tr className="border-b border-white/5">
243
+ <td className="px-6 py-4 font-mono text-sm !text-blue-300">
244
+ stroke
245
+ </td>
246
+ <td className="px-6 py-4 text-sm !text-white/70">
247
+ string
248
+ </td>
249
+ <td className="px-6 py-4 text-sm !text-white/50">
250
+ currentColor
251
+ </td>
252
+ <td className="px-6 py-4 text-sm !text-white/70">
253
+ Stroke color of the icon
254
+ </td>
255
+ </tr>
256
+ <tr className="border-b border-white/5 !bg-black/10">
257
+ <td className="px-6 py-4 font-mono text-sm !text-blue-300">
258
+ strokeWidth
259
+ </td>
260
+ <td className="px-6 py-4 text-sm !text-white/70">
261
+ string | number
262
+ </td>
263
+ <td className="px-6 py-4 text-sm !text-white/50">
264
+ 1.5
265
+ </td>
266
+ <td className="px-6 py-4 text-sm !text-white/70">
267
+ Stroke width of the icon lines
268
+ </td>
269
+ </tr>
270
+ <tr className="border-b border-white/5">
271
+ <td className="px-6 py-4 font-mono text-sm !text-blue-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 (use for overrides)
280
+ </td>
281
+ </tr>
282
+ <tr className="!bg-black/10">
283
+ <td className="px-6 py-4 font-mono text-sm !text-blue-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-blue-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
+ <FileChartIcon className="!mx-auto mb-2 h-3 w-3 text-blue-400" />
314
+ <span className="text-xs text-white/60">12px</span>
315
+ </div>
316
+ <div className="text-center">
317
+ <FileChartIcon className="!mx-auto mb-2 h-4 w-4 text-blue-400" />
318
+ <span className="text-xs text-white/60">16px</span>
319
+ </div>
320
+ <div className="text-center">
321
+ <FileChartIcon className="!mx-auto mb-2 h-5 w-5 text-blue-400" />
322
+ <span className="text-xs text-white/60">20px</span>
323
+ </div>
324
+ <div className="text-center">
325
+ <FileChartIcon className="!mx-auto mb-2 h-6 w-6 text-blue-400" />
326
+ <span className="text-xs text-white/60">24px</span>
327
+ </div>
328
+ <div className="text-center">
329
+ <FileChartIcon className="!mx-auto mb-2 h-8 w-8 text-blue-400" />
330
+ <span className="text-xs text-white/60">32px</span>
331
+ </div>
332
+ <div className="text-center">
333
+ <FileChartIcon className="!mx-auto mb-2 h-12 w-12 text-blue-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-blue-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-cyan-300">
345
+ {`// Small (16px)
346
+ <FileChartIcon className="h-4 w-4 " />
347
+
348
+ // Medium (24px)
349
+ <FileChartIcon className="h-6 w-6 " />
350
+
351
+ // Large (32px)
352
+ <FileChartIcon className="h-8 w-8 " />
353
+
354
+ // Custom size with stroke width
355
+ <FileChartIcon
356
+ width={40}
357
+ height={40}
358
+ strokeWidth={2}
359
+ />`}
360
+ </pre>
361
+ </div>
362
+ </div>
363
+ </div>
364
+ </div>
365
+ </div>
366
+ </div>
367
+
368
+ {/* Color Variations */}
369
+ <div className="!space-y-8">
370
+ <h2 className="text-center text-3xl font-bold !text-white">
371
+ Color Variations
372
+ </h2>
373
+ <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
374
+ <div className="!space-y-4">
375
+ <h3 className="text-lg font-semibold !text-blue-300">
376
+ Semantic Colors
377
+ </h3>
378
+ <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
379
+ <div className="flex items-center gap-4">
380
+ <FileChartIcon className="h-6 w-6 text-blue-400" />
381
+ <div>
382
+ <div className="text-sm font-medium text-white">
383
+ Analytics
384
+ </div>
385
+ <div className="text-xs text-white/60">
386
+ text-blue-400
387
+ </div>
388
+ </div>
389
+ </div>
390
+ <div className="flex items-center gap-4">
391
+ <FileChartIcon className="h-6 w-6 text-green-400" />
392
+ <div>
393
+ <div className="text-sm font-medium text-white">
394
+ Financial Reports
395
+ </div>
396
+ <div className="text-xs text-white/60">
397
+ text-green-400
398
+ </div>
399
+ </div>
400
+ </div>
401
+ <div className="flex items-center gap-4">
402
+ <FileChartIcon className="h-6 w-6 text-purple-400" />
403
+ <div>
404
+ <div className="text-sm font-medium text-white">
405
+ Marketing Data
406
+ </div>
407
+ <div className="text-xs text-white/60">
408
+ text-purple-400
409
+ </div>
410
+ </div>
411
+ </div>
412
+ <div className="flex items-center gap-4">
413
+ <FileChartIcon className="h-6 w-6 text-orange-400" />
414
+ <div>
415
+ <div className="text-sm font-medium text-white">
416
+ Sales Metrics
417
+ </div>
418
+ <div className="text-xs text-white/60">
419
+ text-orange-400
420
+ </div>
421
+ </div>
422
+ </div>
423
+ </div>
424
+ </div>
425
+
426
+ <div className="!space-y-4">
427
+ <h3 className="text-lg font-semibold !text-blue-300">
428
+ Custom Colors
429
+ </h3>
430
+ <div className="rounded-lg bg-black/40 p-4">
431
+ <pre className="overflow-x-auto text-sm !text-green-300">
432
+ {`// Using Tailwind classes with
433
+ <FileChartIcon className="h-6 w-6 text-blue-400 " />
434
+ <FileChartIcon className="h-6 w-6 text-green-500 " />
435
+
436
+ // Using CSS custom properties
437
+ <FileChartIcon
438
+ className="h-6 w-6 "
439
+ style={{ color: 'var(--color-analytics)' }}
440
+ />
441
+
442
+ // Direct stroke prop
443
+ <FileChartIcon
444
+ width={24}
445
+ height={24}
446
+ stroke="#3b82f6"
447
+ strokeWidth={1.5}
448
+ />`}
449
+ </pre>
450
+ </div>
451
+ </div>
452
+ </div>
453
+ </div>
454
+
455
+ {/* Usage Examples */}
456
+ <div className="!space-y-8">
457
+ <h2 className="text-center text-3xl font-bold !text-white">
458
+ Usage Examples
459
+ </h2>
460
+
461
+ <div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
462
+ {/* Dashboard Card */}
463
+ <div className="!space-y-4">
464
+ <h3 className="text-lg font-semibold !text-blue-300">
465
+ Dashboard Card
466
+ </h3>
467
+ <div className="!space-y-4">
468
+ <div className="rounded-lg border border-blue-500/20 bg-blue-500/10 p-6">
469
+ <div className="flex items-start justify-between">
470
+ <div className="flex items-start gap-4">
471
+ <div className="rounded-lg bg-blue-500/20 p-2">
472
+ <FileChartIcon className="h-6 w-6 text-blue-400" />
473
+ </div>
474
+ <div>
475
+ <h4 className="font-semibold !text-blue-200">
476
+ Monthly Analytics Report
477
+ </h4>
478
+ <p className="text-sm !text-blue-300/80">
479
+ Comprehensive data analysis for November 2024
480
+ </p>
481
+ <div className="mt-3 flex items-center gap-4 text-sm">
482
+ <span className="text-blue-300">
483
+ Format: PDF
484
+ </span>
485
+ <span className="text-blue-300">
486
+ Size: 2.4 MB
487
+ </span>
488
+ <span className="text-blue-300">Pages: 24</span>
489
+ </div>
490
+ </div>
491
+ </div>
492
+ <button className="text-blue-400 hover:text-blue-300">
493
+ <span className="text-sm">Download</span>
494
+ </button>
495
+ </div>
496
+ </div>
497
+ <div className="rounded-lg bg-black/40 p-4">
498
+ <pre className="overflow-x-auto text-sm !text-green-300">
499
+ {`<div className="border border-blue-500/20 bg-blue-500/10 p-6 rounded-lg">
500
+ <div className="flex items-start justify-between">
501
+ <div className="flex items-start gap-4">
502
+ <div className="bg-blue-500/20 p-2 rounded-lg">
503
+ <FileChartIcon className="h-6 w-6 text-blue-400 " />
504
+ </div>
505
+ <div>
506
+ <h4 className="font-semibold text-blue-200">Monthly Analytics Report</h4>
507
+ <p className="text-sm text-blue-300/80">
508
+ Comprehensive data analysis for November 2024
509
+ </p>
510
+ <div className="mt-3 flex items-center gap-4 text-sm">
511
+ <span className="text-blue-300">Format: PDF</span>
512
+ <span className="text-blue-300">Size: 2.4 MB</span>
513
+ </div>
514
+ </div>
515
+ </div>
516
+ </div>
517
+ </div>`}
518
+ </pre>
519
+ </div>
520
+ </div>
521
+ </div>
522
+
523
+ {/* File List */}
524
+ <div className="!space-y-4">
525
+ <h3 className="text-lg font-semibold !text-blue-300">
526
+ File List
527
+ </h3>
528
+ <div className="!space-y-4">
529
+ <div className="!space-y-2">
530
+ <div className="flex items-center justify-between rounded-lg border border-white/10 bg-white/5 p-3">
531
+ <div className="flex items-center gap-3">
532
+ <FileChartIcon className="h-5 w-5 text-blue-400" />
533
+ <div>
534
+ <div className="text-sm font-medium text-white">
535
+ Q4_Sales_Report.xlsx
536
+ </div>
537
+ <div className="text-xs text-white/60">
538
+ Modified 2 hours ago
539
+ </div>
540
+ </div>
541
+ </div>
542
+ <div className="text-xs text-white/60">1.2 MB</div>
543
+ </div>
544
+ <div className="flex items-center justify-between rounded-lg border border-white/10 bg-white/5 p-3">
545
+ <div className="flex items-center gap-3">
546
+ <FileChartIcon className="h-5 w-5 text-green-400" />
547
+ <div>
548
+ <div className="text-sm font-medium text-white">
549
+ Financial_Dashboard.pdf
550
+ </div>
551
+ <div className="text-xs text-white/60">
552
+ Modified yesterday
553
+ </div>
554
+ </div>
555
+ </div>
556
+ <div className="text-xs text-white/60">3.8 MB</div>
557
+ </div>
558
+ <div className="flex items-center justify-between rounded-lg border border-white/10 bg-white/5 p-3">
559
+ <div className="flex items-center gap-3">
560
+ <FileChartIcon className="h-5 w-5 text-purple-400" />
561
+ <div>
562
+ <div className="text-sm font-medium text-white">
563
+ Marketing_Metrics.pptx
564
+ </div>
565
+ <div className="text-xs text-white/60">
566
+ Modified 3 days ago
567
+ </div>
568
+ </div>
569
+ </div>
570
+ <div className="text-xs text-white/60">5.1 MB</div>
571
+ </div>
572
+ </div>
573
+ <div className="rounded-lg bg-black/40 p-4">
574
+ <pre className="overflow-x-auto text-sm !text-green-300">
575
+ {`// File list item
576
+ <div className="flex items-center justify-between p-3 border border-white/10 bg-white/5 rounded-lg">
577
+ <div className="flex items-center gap-3">
578
+ <FileChartIcon className="h-5 w-5 text-blue-400 " />
579
+ <div>
580
+ <div className="text-sm font-medium text-white">Q4_Sales_Report.xlsx</div>
581
+ <div className="text-xs text-white/60">Modified 2 hours ago</div>
582
+ </div>
583
+ </div>
584
+ <div className="text-xs text-white/60">1.2 MB</div>
585
+ </div>`}
586
+ </pre>
587
+ </div>
588
+ </div>
589
+ </div>
590
+
591
+ {/* Navigation Menu */}
592
+ <div className="!space-y-4">
593
+ <h3 className="text-lg font-semibold !text-blue-300">
594
+ Navigation Menu
595
+ </h3>
596
+ <div className="!space-y-4">
597
+ <div className="rounded-lg border border-white/10 bg-white/5 p-4">
598
+ <nav className="!space-y-1">
599
+ <a
600
+ href="#"
601
+ className="flex items-center gap-3 rounded-lg bg-blue-500/20 px-3 py-2 text-blue-200"
602
+ >
603
+ <FileChartIcon className="h-5 w-5" />
604
+ <span className="font-medium">Reports</span>
605
+ <span className="ml-auto rounded bg-blue-500/30 px-2 py-1 text-xs">
606
+ 24
607
+ </span>
608
+ </a>
609
+ <a
610
+ href="#"
611
+ className="flex items-center gap-3 rounded-lg px-3 py-2 text-white/70 hover:bg-white/5 hover:text-white"
612
+ >
613
+ <FileChartIcon className="h-5 w-5" />
614
+ <span>Analytics</span>
615
+ </a>
616
+ <a
617
+ href="#"
618
+ className="flex items-center gap-3 rounded-lg px-3 py-2 text-white/70 hover:bg-white/5 hover:text-white"
619
+ >
620
+ <FileChartIcon className="h-5 w-5" />
621
+ <span>Dashboards</span>
622
+ </a>
623
+ </nav>
624
+ </div>
625
+ <div className="rounded-lg bg-black/40 p-4">
626
+ <pre className="overflow-x-auto text-sm !text-green-300">
627
+ {`// Active navigation item
628
+ <a href="#" className="flex items-center gap-3 bg-blue-500/20 px-3 py-2 rounded-lg text-blue-200">
629
+ <FileChartIcon className="h-5 w-5 " />
630
+ <span className="font-medium">Reports</span>
631
+ <span className="ml-auto bg-blue-500/30 px-2 py-1 rounded text-xs">24</span>
632
+ </a>
633
+
634
+ // Inactive navigation item
635
+ <a href="#" className="flex items-center gap-3 px-3 py-2 rounded-lg text-white/70 hover:bg-white/5">
636
+ <FileChartIcon className="h-5 w-5 " />
637
+ <span>Analytics</span>
638
+ </a>`}
639
+ </pre>
640
+ </div>
641
+ </div>
642
+ </div>
643
+
644
+ {/* Upload Area */}
645
+ <div className="!space-y-4">
646
+ <h3 className="text-lg font-semibold !text-blue-300">
647
+ Upload Area
648
+ </h3>
649
+ <div className="!space-y-4">
650
+ <div className="rounded-lg border-2 border-dashed border-blue-500/30 bg-blue-500/5 p-8 text-center">
651
+ <div className="!mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-blue-500/20">
652
+ <FileChartIcon className="h-8 w-8 text-blue-400" />
653
+ </div>
654
+ <h4 className="mb-2 font-semibold !text-white">
655
+ Upload Analytics Files
656
+ </h4>
657
+ <p className="mb-4 text-sm !text-white/70">
658
+ Drag and drop your chart files here, or click to
659
+ browse
660
+ </p>
661
+ <div className="text-xs !text-white/60">
662
+ Supports: .xlsx, .pdf, .csv, .pptx (Max 10MB)
663
+ </div>
664
+ </div>
665
+ <div className="rounded-lg bg-black/40 p-4">
666
+ <pre className="overflow-x-auto text-sm !text-green-300">
667
+ {`// Upload area
668
+ <div className="border-2 border-dashed border-blue-500/30 bg-blue-500/5 p-8 rounded-lg text-center">
669
+ <div className="mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-blue-500/20">
670
+ <FileChartIcon className="h-8 w-8 text-blue-400 " />
671
+ </div>
672
+ <h4 className="mb-2 font-semibold text-white">Upload Analytics Files</h4>
673
+ <p className="mb-4 text-sm text-white/70">
674
+ Drag and drop your chart files here, or click to browse
675
+ </p>
676
+ <div className="text-xs text-white/60">
677
+ Supports: .xlsx, .pdf, .csv, .pptx (Max 10MB)
678
+ </div>
679
+ </div>`}
680
+ </pre>
681
+ </div>
682
+ </div>
683
+ </div>
684
+ </div>
685
+ </div>
686
+
687
+ {/* Accessibility */}
688
+ <div className="!space-y-8">
689
+ <h2 className="text-center text-3xl font-bold !text-white">
690
+ Accessibility Features
691
+ </h2>
692
+ <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
693
+ <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
694
+ <h3 className="text-lg font-semibold !text-green-300">
695
+ ✅ Built-in Features
696
+ </h3>
697
+ <ul className="!space-y-2 text-sm !text-white/70">
698
+ <li className="!text-white/70">
699
+ Uses Radix UI AccessibleIcon wrapper
700
+ </li>
701
+ <li className="!text-white/70">
702
+ Provides screen reader label "File Chart icon"
703
+ </li>
704
+ <li className="!text-white/70">
705
+ Supports keyboard navigation when interactive
706
+ </li>
707
+ <li className="!text-white/70">
708
+ Maintains proper color contrast ratios
709
+ </li>
710
+ <li className="!text-white/70">
711
+ Scales with user's font size preferences
712
+ </li>
713
+ </ul>
714
+ </div>
715
+
716
+ <div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
717
+ <h3 className="text-lg font-semibold !text-blue-300">
718
+ 💡 Best Practices
719
+ </h3>
720
+ <ul className="!space-y-2 text-sm text-white/70">
721
+ <li className="!text-white/70">
722
+ Always pair with descriptive file names
723
+ </li>
724
+ <li className="!text-white/70">
725
+ Use consistent colors for different data types
726
+ </li>
727
+ <li className="!text-white/70">
728
+ Ensure sufficient color contrast for visibility
729
+ </li>
730
+ <li className="!text-white/70">
731
+ Provide alternative text for file formats
732
+ </li>
733
+ <li className="!text-white/70">
734
+ Consider providing data summaries for charts
735
+ </li>
736
+ </ul>
737
+ </div>
738
+ </div>
739
+
740
+ <div className="rounded-lg border border-white/10 bg-white/5 p-6">
741
+ <h3 className="mb-4 text-lg font-semibold !text-purple-300">
742
+ Proper ARIA Implementation
743
+ </h3>
744
+ <div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
745
+ <div className="rounded-lg bg-black/40 p-4">
746
+ <pre className="overflow-x-auto text-sm !text-cyan-300">
747
+ {`// File item with proper ARIA
748
+ <div
749
+ role="button"
750
+ aria-label="Download Q4 Sales Report Excel file, 1.2 MB"
751
+ className="flex items-center gap-3 p-3"
752
+ >
753
+ <FileChartIcon
754
+ className="h-5 w-5 text-blue-400 "
755
+ aria-hidden="true"
756
+ />
757
+ <div>
758
+ <div className="font-medium">Q4_Sales_Report.xlsx</div>
759
+ <div className="text-sm text-gray-500">1.2 MB</div>
760
+ </div>
761
+ </div>
762
+
763
+ // Dashboard section with description
764
+ <section
765
+ aria-labelledby="reports-heading"
766
+ className="space-y-4"
767
+ >
768
+ <h2 id="reports-heading" className="flex items-center gap-2">
769
+ <FileChartIcon className="h-6 w-6 text-blue-400 " aria-hidden="true" />
770
+ Analytics Reports
771
+ </h2>
772
+ {/* Report content */}
773
+ </section>`}
774
+ </pre>
775
+ </div>
776
+ <div className="!space-y-4">
777
+ <p className="text-sm !text-white/70">
778
+ When using FileChartIcon in interactive contexts or as
779
+ file representations, provide meaningful labels and
780
+ descriptions that help users understand the file type,
781
+ size, and purpose.
782
+ </p>
783
+ <div className="rounded-lg border border-blue-500/20 bg-blue-500/10 p-4">
784
+ <div className="flex items-center gap-2 text-sm text-blue-200">
785
+ <FileChartIcon className="h-4 w-4" />
786
+ <span>
787
+ Screen readers need context about file types and
788
+ data
789
+ </span>
790
+ </div>
791
+ </div>
792
+ </div>
793
+ </div>
794
+ </div>
795
+ </div>
796
+
797
+ {/* Related Icons */}
798
+ <div className="!space-y-8">
799
+ <h2 className="text-center text-3xl font-bold !text-white">
800
+ Related Icons
801
+ </h2>
802
+ <div className="grid grid-cols-2 gap-6 md:grid-cols-4">
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-gray-500/20">
805
+ <span className="text-2xl">📄</span>
806
+ </div>
807
+ <div>
808
+ <div className="font-medium text-white">FileIcon</div>
809
+ <div className="text-xs text-white/60">
810
+ Generic documents
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-green-500/20">
816
+ <span className="text-2xl">📊</span>
817
+ </div>
818
+ <div>
819
+ <div className="font-medium text-white">ChartIcon</div>
820
+ <div className="text-xs text-white/60">
821
+ Data visualization
822
+ </div>
823
+ </div>
824
+ </div>
825
+ <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
826
+ <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
827
+ <span className="text-2xl">📈</span>
828
+ </div>
829
+ <div>
830
+ <div className="font-medium text-white">TrendIcon</div>
831
+ <div className="text-xs text-white/60">
832
+ Growth metrics
833
+ </div>
834
+ </div>
835
+ </div>
836
+ <div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
837
+ <div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-orange-500/20">
838
+ <span className="text-2xl">📋</span>
839
+ </div>
840
+ <div>
841
+ <div className="font-medium text-white">ReportIcon</div>
842
+ <div className="text-xs text-white/60">
843
+ Summary reports
844
+ </div>
845
+ </div>
846
+ </div>
847
+ </div>
848
+ </div>
849
+ </div>
850
+
851
+ {/* Footer */}
852
+ <div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
853
+ <div className="!mx-auto max-w-7xl px-6 py-8">
854
+ <div className="!space-y-4 text-center">
855
+ <p className="!text-white/60">
856
+ FileChartIcon is part of the Aural UI icon library, built
857
+ with analytics and data visualization in mind.
858
+ </p>
859
+ <p className="text-sm !text-white/40">
860
+ All icons use Radix UI's AccessibleIcon for screen reader
861
+ compatibility and follow WCAG guidelines.
862
+ </p>
863
+ </div>
864
+ </div>
865
+ </div>
866
+ </div>
867
+ </>
868
+ ),
869
+ },
870
+ },
871
+ tags: ["autodocs"],
872
+ argTypes: {
873
+ width: {
874
+ control: { type: "range", min: 8, max: 96, step: 2 },
875
+ description: "Width of the icon in pixels",
876
+ },
877
+ height: {
878
+ control: { type: "range", min: 8, max: 96, step: 2 },
879
+ description: "Height of the icon in pixels",
880
+ },
881
+ stroke: {
882
+ control: "color",
883
+ description: "Stroke color of the icon",
884
+ },
885
+ strokeWidth: {
886
+ control: { type: "range", min: 0.5, max: 4, step: 0.5 },
887
+ description: "Stroke width of the icon lines",
888
+ },
889
+ className: {
890
+ control: "text",
891
+ description: "CSS classes for styling (use for overrides)",
892
+ },
893
+ },
894
+ }
895
+
896
+ export default meta
897
+ type Story = StoryObj<typeof FileChartIcon>
898
+
899
+ // Story parameters for consistent dark theme
900
+ const storyParameters = {
901
+ backgrounds: {
902
+ default: "dark",
903
+ values: [
904
+ { name: "dark", value: "#0a0a0a" },
905
+ { name: "darker", value: "#000000" },
906
+ ],
907
+ },
908
+ }
909
+
910
+ export const Default: Story = {
911
+ args: {
912
+ className: "h-6 w-6 text-blue-400 ",
913
+ },
914
+ parameters: storyParameters,
915
+ render: (args) => (
916
+ <div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
917
+ <FileChartIcon {...args} />
918
+ </div>
919
+ ),
920
+ }
921
+
922
+ export const SizeVariations: Story = {
923
+ parameters: {
924
+ ...storyParameters,
925
+ docs: {
926
+ description: {
927
+ story:
928
+ "FileChartIcon in different sizes, from small UI elements to large displays.",
929
+ },
930
+ },
931
+ },
932
+ render: () => (
933
+ <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">
934
+ <div className="text-center">
935
+ <FileChartIcon className="!mx-auto mb-2 h-3 w-3 text-blue-400" />
936
+ <span className="text-xs text-white/60">12px</span>
937
+ </div>
938
+ <div className="text-center">
939
+ <FileChartIcon className="!mx-auto mb-2 h-4 w-4 text-blue-400" />
940
+ <span className="text-xs text-white/60">16px</span>
941
+ </div>
942
+ <div className="text-center">
943
+ <FileChartIcon className="!mx-auto mb-2 h-5 w-5 text-blue-400" />
944
+ <span className="text-xs text-white/60">20px</span>
945
+ </div>
946
+ <div className="text-center">
947
+ <FileChartIcon className="!mx-auto mb-2 h-6 w-6 text-blue-400" />
948
+ <span className="text-xs text-white/60">24px</span>
949
+ </div>
950
+ <div className="text-center">
951
+ <FileChartIcon className="!mx-auto mb-2 h-8 w-8 text-blue-400" />
952
+ <span className="text-xs text-white/60">32px</span>
953
+ </div>
954
+ <div className="text-center">
955
+ <FileChartIcon className="!mx-auto mb-2 h-12 w-12 text-blue-400" />
956
+ <span className="text-xs text-white/60">48px</span>
957
+ </div>
958
+ </div>
959
+ ),
960
+ }
961
+
962
+ export const ColorVariations: Story = {
963
+ parameters: {
964
+ ...storyParameters,
965
+ docs: {
966
+ description: {
967
+ story:
968
+ "FileChartIcon in different semantic colors for various data types and contexts.",
969
+ },
970
+ },
971
+ },
972
+ render: () => (
973
+ <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">
974
+ <div className="text-center">
975
+ <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">
976
+ <FileChartIcon className="h-8 w-8 text-blue-400" />
977
+ </div>
978
+ <div className="text-sm font-medium text-white">Analytics</div>
979
+ <div className="text-xs text-blue-400">text-blue-400</div>
980
+ </div>
981
+ <div className="text-center">
982
+ <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">
983
+ <FileChartIcon className="h-8 w-8 text-green-400" />
984
+ </div>
985
+ <div className="text-sm font-medium text-white">Financial</div>
986
+ <div className="text-xs text-green-400">text-green-400</div>
987
+ </div>
988
+ <div className="text-center">
989
+ <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">
990
+ <FileChartIcon className="h-8 w-8 text-purple-400" />
991
+ </div>
992
+ <div className="text-sm font-medium text-white">Marketing</div>
993
+ <div className="text-xs text-purple-400">text-purple-400</div>
994
+ </div>
995
+ <div className="text-center">
996
+ <div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-orange-500/30 bg-orange-500/20">
997
+ <FileChartIcon className="h-8 w-8 text-orange-400" />
998
+ </div>
999
+ <div className="text-sm font-medium text-white">Sales</div>
1000
+ <div className="text-xs text-orange-400">text-orange-400</div>
1001
+ </div>
1002
+ </div>
1003
+ ),
1004
+ }
1005
+
1006
+ export const UsageExamples: Story = {
1007
+ parameters: {
1008
+ ...storyParameters,
1009
+ docs: {
1010
+ description: {
1011
+ story:
1012
+ "Real-world usage examples showing FileChartIcon in different analytics and reporting contexts.",
1013
+ },
1014
+ },
1015
+ },
1016
+ render: () => (
1017
+ <div className="min-h-dvh !space-y-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
1018
+ {/* Dashboard Card */}
1019
+ <div className="!space-y-2">
1020
+ <h3 className="text-sm font-medium text-white">Dashboard Card</h3>
1021
+ <div className="rounded-lg border border-blue-500/20 bg-blue-500/10 p-6">
1022
+ <div className="flex items-start justify-between">
1023
+ <div className="flex items-start gap-4">
1024
+ <div className="rounded-lg bg-blue-500/20 p-2">
1025
+ <FileChartIcon className="h-6 w-6 text-blue-400" />
1026
+ </div>
1027
+ <div>
1028
+ <h4 className="font-semibold text-blue-200">
1029
+ Monthly Analytics Report
1030
+ </h4>
1031
+ <p className="text-sm text-blue-300/80">
1032
+ Comprehensive data analysis for November 2024
1033
+ </p>
1034
+ </div>
1035
+ </div>
1036
+ </div>
1037
+ </div>
1038
+ </div>
1039
+
1040
+ {/* File List */}
1041
+ <div className="!space-y-2">
1042
+ <h3 className="text-sm font-medium text-white">File List</h3>
1043
+ <div className="!space-y-2">
1044
+ <div className="flex items-center justify-between rounded-lg border border-white/10 bg-white/5 p-3">
1045
+ <div className="flex items-center gap-3">
1046
+ <FileChartIcon className="h-5 w-5 text-blue-400" />
1047
+ <div>
1048
+ <div className="text-sm font-medium text-white">
1049
+ Q4_Sales_Report.xlsx
1050
+ </div>
1051
+ <div className="text-xs text-white/60">
1052
+ Modified 2 hours ago
1053
+ </div>
1054
+ </div>
1055
+ </div>
1056
+ <div className="text-xs text-white/60">1.2 MB</div>
1057
+ </div>
1058
+ <div className="flex items-center justify-between rounded-lg border border-white/10 bg-white/5 p-3">
1059
+ <div className="flex items-center gap-3">
1060
+ <FileChartIcon className="h-5 w-5 text-green-400" />
1061
+ <div>
1062
+ <div className="text-sm font-medium text-white">
1063
+ Financial_Dashboard.pdf
1064
+ </div>
1065
+ <div className="text-xs text-white/60">Modified yesterday</div>
1066
+ </div>
1067
+ </div>
1068
+ <div className="text-xs text-white/60">3.8 MB</div>
1069
+ </div>
1070
+ </div>
1071
+ </div>
1072
+
1073
+ {/* Upload Area */}
1074
+ <div className="!space-y-2">
1075
+ <h3 className="text-sm font-medium text-white">Upload Area</h3>
1076
+ <div className="rounded-lg border-2 border-dashed border-blue-500/30 bg-blue-500/5 p-8 text-center">
1077
+ <div className="!mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-blue-500/20">
1078
+ <FileChartIcon className="h-8 w-8 text-blue-400" />
1079
+ </div>
1080
+ <h4 className="mb-2 font-semibold text-white">
1081
+ Upload Analytics Files
1082
+ </h4>
1083
+ <p className="text-sm text-white/70">
1084
+ Drag and drop your chart files here, or click to browse
1085
+ </p>
1086
+ </div>
1087
+ </div>
1088
+ </div>
1089
+ ),
1090
+ }
1091
+
1092
+ export const Playground: Story = {
1093
+ parameters: {
1094
+ ...storyParameters,
1095
+ docs: {
1096
+ description: {
1097
+ story:
1098
+ "Interactive playground to experiment with different FileChartIcon configurations.",
1099
+ },
1100
+ },
1101
+ },
1102
+ args: {
1103
+ width: 32,
1104
+ height: 32,
1105
+ className: "text-blue-400 ",
1106
+ strokeWidth: 1.5,
1107
+ },
1108
+ render: (args) => (
1109
+ <div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-gradient-to-br from-gray-900 to-gray-800">
1110
+ <div className="rounded-lg border border-white/10 bg-white/5 p-8">
1111
+ <FileChartIcon {...args} />
1112
+ </div>
1113
+ </div>
1114
+ ),
1115
+ }