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,440 @@
1
+ import * as React from "react"
2
+ import { Overlay } from "@components/overlay"
3
+ import { CrossIcon } from "@icons/cross-icon"
4
+ import { cn } from "@lib/utils"
5
+ import * as SheetPrimitive from "@radix-ui/react-dialog"
6
+ import { cva, type VariantProps } from "class-variance-authority"
7
+
8
+ const Sheet = SheetPrimitive.Root
9
+
10
+ const SheetTrigger = SheetPrimitive.Trigger
11
+
12
+ const SheetClose = SheetPrimitive.Close
13
+
14
+ const SheetPortal = SheetPrimitive.Portal
15
+
16
+ export interface ISheetOverlay {
17
+ opacity?: "high" | "medium" | "low" | "none"
18
+ glass?: "high" | "medium" | "low" | "none"
19
+ noise?: "high" | "medium" | "low" | "none"
20
+ classes?: {
21
+ overlay?: string
22
+ content?: string
23
+ close?: string
24
+ closeIcon?: string
25
+ root?: string
26
+ border?: string
27
+ }
28
+ }
29
+
30
+ const SheetOverlay = React.forwardRef<
31
+ React.ElementRef<typeof SheetPrimitive.Overlay>,
32
+ React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay> & ISheetOverlay
33
+ >(({ opacity, glass, ...props }, ref) => (
34
+ <SheetPrimitive.Overlay ref={ref} asChild {...props}>
35
+ <Overlay opacity={opacity} glass={glass} />
36
+ </SheetPrimitive.Overlay>
37
+ ))
38
+
39
+ SheetOverlay.displayName = SheetPrimitive.Overlay.displayName
40
+
41
+ export const sheetBorderVariants = cva("absolute block", {
42
+ variants: {
43
+ side: {
44
+ top: "bottom-0",
45
+ bottom: "top-0",
46
+ left: "right-0",
47
+ right: "left-0",
48
+ },
49
+ variant: {
50
+ neutral: "",
51
+ negative: "",
52
+ warning: "",
53
+ positive: "",
54
+ info: "",
55
+ },
56
+ alignment: {
57
+ horizontal: "left-0 right-0 h-0.5 w-full",
58
+ vertical: "top-0 bottom-0 w-0.5 h-full",
59
+ },
60
+ },
61
+ compoundVariants: [
62
+ /** vertical Side */
63
+ {
64
+ alignment: "vertical",
65
+ variant: "neutral",
66
+ className: "bg-(image:--gradient-fm-stroke-neutral-vertical)",
67
+ },
68
+ {
69
+ alignment: "vertical",
70
+ variant: "negative",
71
+ className: "bg-(image:--gradient-fm-stroke-negative-vertical)",
72
+ },
73
+ {
74
+ alignment: "vertical",
75
+ variant: "warning",
76
+ className: "bg-(image:--gradient-fm-stroke-warning-vertical)",
77
+ },
78
+ {
79
+ alignment: "vertical",
80
+ variant: "positive",
81
+ className: "bg-(image:--gradient-fm-stroke-positive-vertical)",
82
+ },
83
+ {
84
+ alignment: "vertical",
85
+ variant: "info",
86
+ className: "bg-(image:--gradient-fm-stroke-info-vertical)",
87
+ },
88
+ /** horizontal Side */
89
+ {
90
+ alignment: "horizontal",
91
+ variant: "neutral",
92
+ className: "bg-(image:--gradient-fm-stroke-neutral)",
93
+ },
94
+ {
95
+ alignment: "horizontal",
96
+ variant: "negative",
97
+ className: "bg-(image:--gradient-fm-stroke-negative)",
98
+ },
99
+ {
100
+ alignment: "horizontal",
101
+ variant: "warning",
102
+ className: "bg-(image:--gradient-fm-stroke-warning)",
103
+ },
104
+ {
105
+ alignment: "horizontal",
106
+ variant: "positive",
107
+ className: "bg-(image:--gradient-fm-stroke-positive)",
108
+ },
109
+ {
110
+ alignment: "horizontal",
111
+ variant: "info",
112
+ className: "bg-(image:--gradient-fm-stroke-info)",
113
+ },
114
+ ],
115
+ defaultVariants: {
116
+ side: "bottom",
117
+ variant: "neutral",
118
+ },
119
+ })
120
+
121
+ const sheetWrapperVariants = cva("fixed z-50 transition flex gap-4", {
122
+ variants: {
123
+ side: {
124
+ top: "inset-x-0 top-0 data-[state=closed]:animate-fm-slideOutUp data-[state=open]:animate-fm-slideInDown flex-col items-center justify-center",
125
+ bottom:
126
+ "inset-x-0 bottom-0 data-[state=closed]:animate-fm-slideOutDown data-[state=open]:animate-fm-slideInUp flex-col-reverse items-center justify-center",
127
+ left: "inset-y-0 left-0 h-full data-[state=closed]:animate-fm-slideOutLeft data-[state=open]:animate-fm-slideInLeft flex-row items-start justify-start",
128
+ right:
129
+ "inset-y-0 right-0 h-full data-[state=closed]:animate-fm-slideOutRight data-[state=open]:animate-fm-slideInRight flex-row-reverse items-start justify-start",
130
+ },
131
+ },
132
+ defaultVariants: {
133
+ side: "bottom",
134
+ },
135
+ })
136
+
137
+ const sheetVariants = cva("bg-fm-surface-frosted/20 p-4 backdrop-blur-sm", {
138
+ variants: {
139
+ side: {
140
+ top: "w-full rounded-b-fm-s",
141
+ bottom: "w-full rounded-t-fm-s",
142
+ left: "h-full rounded-r-fm-s w-3/4 sm:w-md",
143
+ right: "h-full rounded-l-fm-s w-3/4 sm:w-md",
144
+ },
145
+ variant: {
146
+ neutral: "",
147
+ positive: "",
148
+ negative: "",
149
+ warning: "",
150
+ info: "",
151
+ },
152
+ },
153
+ compoundVariants: [
154
+ /** Bottom Side*/
155
+ {
156
+ side: "bottom",
157
+ variant: "neutral",
158
+ className:
159
+ "[box-shadow:var(--bottom-sheet-shadow)_var(--color-fm-neutral-300)]",
160
+ },
161
+ {
162
+ side: "bottom",
163
+ variant: "positive",
164
+ className:
165
+ "[box-shadow:var(--bottom-sheet-shadow)_var(--color-fm-green-300)]",
166
+ },
167
+ {
168
+ side: "bottom",
169
+ variant: "negative",
170
+ className:
171
+ "[box-shadow:var(--bottom-sheet-shadow)_var(--color-fm-red-300)]",
172
+ },
173
+ {
174
+ side: "bottom",
175
+ variant: "warning",
176
+ className:
177
+ "[box-shadow:var(--bottom-sheet-shadow)_var(--color-fm-yellow-300)]",
178
+ },
179
+ {
180
+ side: "bottom",
181
+ variant: "info",
182
+ className:
183
+ "[box-shadow:var(--bottom-sheet-shadow)_var(--color-fm-blue-300)]",
184
+ },
185
+ /** Top Side*/
186
+ {
187
+ side: "top",
188
+ variant: "neutral",
189
+ className:
190
+ "[box-shadow:var(--top-sheet-shadow)_var(--color-fm-neutral-300)]",
191
+ },
192
+ {
193
+ side: "top",
194
+ variant: "positive",
195
+ className:
196
+ "[box-shadow:var(--top-sheet-shadow)_var(--color-fm-green-300)]",
197
+ },
198
+ {
199
+ side: "top",
200
+ variant: "negative",
201
+ className: "[box-shadow:var(--top-sheet-shadow)_var(--color-fm-red-300)]",
202
+ },
203
+ {
204
+ side: "top",
205
+ variant: "warning",
206
+ className:
207
+ "[box-shadow:var(--top-sheet-shadow)_var(--color-fm-yellow-300)]",
208
+ },
209
+ {
210
+ side: "top",
211
+ variant: "info",
212
+ className:
213
+ "[box-shadow:var(--top-sheet-shadow)_var(--color-fm-blue-300)]",
214
+ },
215
+ /** Left Side*/
216
+ {
217
+ side: "left",
218
+ variant: "neutral",
219
+ className:
220
+ "[box-shadow:var(--left-sheet-shadow)_var(--color-fm-neutral-300)]",
221
+ },
222
+ {
223
+ side: "left",
224
+ variant: "positive",
225
+ className:
226
+ "[box-shadow:var(--left-sheet-shadow)_var(--color-fm-green-300)]",
227
+ },
228
+ {
229
+ side: "left",
230
+ variant: "negative",
231
+ className:
232
+ "[box-shadow:var(--left-sheet-shadow)_var(--color-fm-red-300)]",
233
+ },
234
+ {
235
+ side: "left",
236
+ variant: "warning",
237
+ className:
238
+ "[box-shadow:var(--left-sheet-shadow)_var(--color-fm-yellow-300)]",
239
+ },
240
+ {
241
+ side: "left",
242
+ variant: "info",
243
+ className:
244
+ "[box-shadow:var(--left-sheet-shadow)_var(--color-fm-blue-300)]",
245
+ },
246
+ /** Right Side*/
247
+ {
248
+ side: "right",
249
+ variant: "neutral",
250
+ className:
251
+ "[box-shadow:var(--right-sheet-shadow)_var(--color-fm-neutral-300)]",
252
+ },
253
+ {
254
+ side: "right",
255
+ variant: "positive",
256
+ className:
257
+ "[box-shadow:var(--right-sheet-shadow)_var(--color-fm-green-300)]",
258
+ },
259
+ {
260
+ side: "right",
261
+ variant: "negative",
262
+ className:
263
+ "[box-shadow:var(--right-sheet-shadow)_var(--color-fm-red-300)]",
264
+ },
265
+ {
266
+ side: "right",
267
+ variant: "warning",
268
+ className:
269
+ "[box-shadow:var(--right-sheet-shadow)_var(--color-fm-yellow-300)]",
270
+ },
271
+ {
272
+ side: "right",
273
+ variant: "info",
274
+ className:
275
+ "[box-shadow:var(--right-sheet-shadow)_var(--color-fm-blue-300)]",
276
+ },
277
+ ],
278
+ defaultVariants: {
279
+ side: "bottom",
280
+ variant: "neutral",
281
+ },
282
+ })
283
+
284
+ const closeIconVariants = cva(
285
+ "bg-fm-button-fill-secondary text-fm-icon-active hover:bg-fm-button-fill-secondary/80 flex cursor-pointer items-center justify-center gap-2 rounded-full p-3 backdrop-blur-sm",
286
+ {
287
+ variants: {
288
+ side: {
289
+ top: "",
290
+ bottom: "",
291
+ left: "mt-4",
292
+ right: "mt-4",
293
+ },
294
+ },
295
+ defaultVariants: {
296
+ side: "bottom",
297
+ },
298
+ }
299
+ )
300
+
301
+ interface SheetContentProps
302
+ extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,
303
+ VariantProps<typeof sheetVariants>,
304
+ ISheetOverlay {}
305
+
306
+ const SheetContent = React.forwardRef<
307
+ React.ElementRef<typeof SheetPrimitive.Content>,
308
+ SheetContentProps
309
+ >(
310
+ (
311
+ {
312
+ side = "bottom",
313
+ variant,
314
+ className,
315
+ opacity,
316
+ glass,
317
+ noise,
318
+ children,
319
+ classes,
320
+ ...props
321
+ },
322
+ ref
323
+ ) => (
324
+ <SheetPortal>
325
+ <SheetOverlay
326
+ opacity={opacity}
327
+ glass={glass}
328
+ noise={noise}
329
+ className={classes?.overlay}
330
+ />
331
+
332
+ <SheetPrimitive.Content
333
+ ref={ref}
334
+ className={cn(sheetWrapperVariants({ side }), classes?.content)}
335
+ >
336
+ <div
337
+ className={cn(
338
+ sheetVariants({ side, variant }),
339
+ className,
340
+ classes?.root
341
+ )}
342
+ {...props}
343
+ >
344
+ <div
345
+ className={cn(
346
+ sheetBorderVariants({
347
+ variant,
348
+ side,
349
+ alignment:
350
+ side === "left" || side === "right"
351
+ ? "vertical"
352
+ : "horizontal",
353
+ }),
354
+ classes?.border
355
+ )}
356
+ />
357
+ {children}
358
+ </div>
359
+ <SheetPrimitive.Close
360
+ className={cn(closeIconVariants({ side }), classes?.close)}
361
+ >
362
+ <CrossIcon className={cn("h-4 w-4", classes?.closeIcon)} />
363
+ <span className="sr-only">Close</span>
364
+ </SheetPrimitive.Close>
365
+ </SheetPrimitive.Content>
366
+ </SheetPortal>
367
+ )
368
+ )
369
+ SheetContent.displayName = SheetPrimitive.Content.displayName
370
+
371
+ const SheetHeader = ({
372
+ className,
373
+ ...props
374
+ }: React.HTMLAttributes<HTMLDivElement>) => (
375
+ <div
376
+ className={cn(
377
+ "flex flex-col space-y-2 text-center sm:text-left",
378
+ className
379
+ )}
380
+ {...props}
381
+ />
382
+ )
383
+ SheetHeader.displayName = "SheetHeader"
384
+
385
+ const SheetFooter = ({
386
+ className,
387
+ ...props
388
+ }: React.HTMLAttributes<HTMLDivElement>) => (
389
+ <div
390
+ className={cn(
391
+ "flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
392
+ className
393
+ )}
394
+ {...props}
395
+ />
396
+ )
397
+ SheetFooter.displayName = "SheetFooter"
398
+
399
+ const SheetTitle = React.forwardRef<
400
+ React.ElementRef<typeof SheetPrimitive.Title>,
401
+ React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>
402
+ >(({ className, ...props }, ref) => (
403
+ <SheetPrimitive.Title
404
+ ref={ref}
405
+ className={cn(
406
+ "text-fm-primary leading-fm-xl [font-size:var(--text-fm-xl)] font-medium",
407
+ className
408
+ )}
409
+ {...props}
410
+ />
411
+ ))
412
+ SheetTitle.displayName = SheetPrimitive.Title.displayName
413
+
414
+ const SheetDescription = React.forwardRef<
415
+ React.ElementRef<typeof SheetPrimitive.Description>,
416
+ React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>
417
+ >(({ className, ...props }, ref) => (
418
+ <SheetPrimitive.Description
419
+ ref={ref}
420
+ className={cn(
421
+ "text-fm-primary leading-fm-md [font-size:var(--text-fm-md)]",
422
+ className
423
+ )}
424
+ {...props}
425
+ />
426
+ ))
427
+ SheetDescription.displayName = SheetPrimitive.Description.displayName
428
+
429
+ export {
430
+ Sheet,
431
+ SheetPortal,
432
+ SheetOverlay,
433
+ SheetTrigger,
434
+ SheetClose,
435
+ SheetContent,
436
+ SheetHeader,
437
+ SheetFooter,
438
+ SheetTitle,
439
+ SheetDescription,
440
+ }
@@ -0,0 +1,38 @@
1
+ export const meta = {
2
+ dependencies: {
3
+ "@radix-ui/react-dialog": "^1.1.14",
4
+ },
5
+ devDependencies: {},
6
+ internalDependencies: ["cross-icon", "overlay"],
7
+ tokens: [
8
+ "--bottom-sheet-shadow",
9
+ "--color-fm-primary",
10
+ "--color-fm-blue-300",
11
+ "--color-fm-button-fill-secondary",
12
+ "--color-fm-divider-secondary",
13
+ "--color-fm-green-300",
14
+ "--color-fm-icon-active",
15
+ "--color-fm-neutral-300",
16
+ "--color-fm-red-300",
17
+ "--color-fm-surface-frosted",
18
+ "--color-fm-yellow-300",
19
+ "--leading-fm-md",
20
+ "--leading-fm-xl",
21
+ "--left-sheet-shadow",
22
+ "--radius-fm-s",
23
+ "--right-sheet-shadow",
24
+ "--text-fm-md",
25
+ "--text-fm-xl",
26
+ "--top-sheet-shadow",
27
+ "--gradient-fm-stroke-positive",
28
+ "--gradient-fm-stroke-negative",
29
+ "--gradient-fm-stroke-warning",
30
+ "--gradient-fm-stroke-info",
31
+ "--gradient-fm-stroke-neutral",
32
+ "--gradient-fm-stroke-positive-vertical",
33
+ "--gradient-fm-stroke-negative-vertical",
34
+ "--gradient-fm-stroke-warning-vertical",
35
+ "--gradient-fm-stroke-info-vertical",
36
+ "--gradient-fm-stroke-neutral-vertical",
37
+ ],
38
+ }