singularity-components 0.1.140 → 0.1.193

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 (284) hide show
  1. package/README.md +36 -4
  2. package/dist/components/blocks/cards/blogpost-card.d.ts +13 -0
  3. package/dist/components/blocks/cards/blogpost-card.js +79 -0
  4. package/dist/components/blocks/cards/blogpost-card.js.map +1 -0
  5. package/dist/components/blocks/cards/card.d.ts +14 -0
  6. package/dist/components/blocks/cards/card.js +86 -0
  7. package/dist/components/blocks/cards/card.js.map +1 -0
  8. package/dist/components/blocks/empty-state/EmptyState.d.ts +15 -0
  9. package/dist/components/blocks/empty-state/EmptyState.js +36 -0
  10. package/dist/components/blocks/empty-state/EmptyState.js.map +1 -0
  11. package/dist/components/blocks/index.d.ts +5 -0
  12. package/dist/components/blocks/index.js +5 -0
  13. package/dist/components/blocks/index.js.map +1 -0
  14. package/dist/components/blocks/post-list/post-filters.d.ts +19 -0
  15. package/dist/components/blocks/post-list/post-filters.js +99 -0
  16. package/dist/components/blocks/post-list/post-filters.js.map +1 -0
  17. package/dist/components/blocks/post-list/post-list-with-filters.d.ts +19 -0
  18. package/dist/components/blocks/post-list/post-list-with-filters.js +439 -0
  19. package/dist/components/blocks/post-list/post-list-with-filters.js.map +1 -0
  20. package/dist/components/index.d.ts +43 -10
  21. package/dist/components/index.js +5 -3
  22. package/dist/components/index.js.map +1 -1
  23. package/dist/components/pages/admin/admin-page.d.ts +8 -0
  24. package/dist/components/pages/admin/admin-page.js +299 -0
  25. package/dist/components/pages/admin/admin-page.js.map +1 -0
  26. package/dist/components/pages/blogpost/blogpost.d.ts +5 -0
  27. package/dist/components/pages/blogpost/blogpost.js +440 -0
  28. package/dist/components/pages/blogpost/blogpost.js.map +1 -0
  29. package/dist/components/pages/category/category-page.d.ts +8 -0
  30. package/dist/components/pages/category/category-page.js +69 -0
  31. package/dist/components/pages/category/category-page.js.map +1 -0
  32. package/dist/components/pages/chat/chat-page.d.ts +5 -0
  33. package/dist/components/pages/chat/chat-page.js +209 -0
  34. package/dist/components/pages/chat/chat-page.js.map +1 -0
  35. package/dist/components/pages/index.d.ts +11 -0
  36. package/dist/components/pages/index.js +11 -0
  37. package/dist/components/pages/index.js.map +1 -0
  38. package/dist/components/pages/login/login-page.d.ts +19 -0
  39. package/dist/components/pages/login/login-page.js +108 -0
  40. package/dist/components/pages/login/login-page.js.map +1 -0
  41. package/dist/components/pages/maintenance/maintenance-page.d.ts +5 -0
  42. package/dist/components/pages/maintenance/maintenance-page.js +50 -0
  43. package/dist/components/pages/maintenance/maintenance-page.js.map +1 -0
  44. package/dist/components/pages/not-found/not-found.d.ts +10 -0
  45. package/dist/components/pages/not-found/not-found.js +64 -0
  46. package/dist/components/pages/not-found/not-found.js.map +1 -0
  47. package/dist/components/pages/privacy/privacy-page.d.ts +15 -0
  48. package/dist/components/pages/privacy/privacy-page.js +98 -0
  49. package/dist/components/pages/privacy/privacy-page.js.map +1 -0
  50. package/dist/components/pages/search/search-page.d.ts +5 -0
  51. package/dist/components/pages/search/search-page.js +18 -0
  52. package/dist/components/pages/search/search-page.js.map +1 -0
  53. package/dist/components/pages/startpage/startpage.d.ts +5 -0
  54. package/dist/components/pages/startpage/startpage.js +50 -0
  55. package/dist/components/pages/startpage/startpage.js.map +1 -0
  56. package/dist/components/pages/terms/terms-page.d.ts +15 -0
  57. package/dist/components/pages/terms/terms-page.js +98 -0
  58. package/dist/components/pages/terms/terms-page.js.map +1 -0
  59. package/dist/components/primitives/accordion/accordion.js +1 -1
  60. package/dist/components/primitives/accordion/accordion.js.map +1 -1
  61. package/dist/components/primitives/alert/alert.js +1 -1
  62. package/dist/components/primitives/alert/alert.js.map +1 -1
  63. package/dist/components/primitives/avatar/avatar.d.ts +14 -0
  64. package/dist/components/primitives/avatar/avatar.js +103 -0
  65. package/dist/components/primitives/avatar/avatar.js.map +1 -0
  66. package/dist/components/primitives/badge/badge.d.ts +12 -4
  67. package/dist/components/primitives/badge/badge.js +15 -15
  68. package/dist/components/primitives/badge/badge.js.map +1 -1
  69. package/dist/components/primitives/badge/badges.js +1 -1
  70. package/dist/components/primitives/badge/badges.js.map +1 -1
  71. package/dist/components/primitives/{button → buttons}/button.d.ts +15 -9
  72. package/dist/components/primitives/buttons/button.js +92 -0
  73. package/dist/components/primitives/buttons/button.js.map +1 -0
  74. package/dist/components/primitives/buttons/icon-button.d.ts +33 -0
  75. package/dist/components/primitives/buttons/icon-button.js +61 -0
  76. package/dist/components/primitives/buttons/icon-button.js.map +1 -0
  77. package/dist/components/primitives/buttons/link-button.d.ts +16 -0
  78. package/dist/components/primitives/buttons/link-button.js +35 -0
  79. package/dist/components/primitives/buttons/link-button.js.map +1 -0
  80. package/dist/components/primitives/collapsible/collapsible.d.ts +9 -0
  81. package/dist/components/primitives/collapsible/collapsible.js +53 -0
  82. package/dist/components/primitives/collapsible/collapsible.js.map +1 -0
  83. package/dist/components/primitives/dropdown-menu/dropdown-menu.d.ts +30 -0
  84. package/dist/components/primitives/dropdown-menu/dropdown-menu.js +164 -0
  85. package/dist/components/primitives/dropdown-menu/dropdown-menu.js.map +1 -0
  86. package/dist/components/primitives/forms/checkbox.d.ts +6 -0
  87. package/dist/components/primitives/forms/checkbox.js +30 -0
  88. package/dist/components/primitives/forms/checkbox.js.map +1 -0
  89. package/dist/components/primitives/forms/field.d.ts +29 -0
  90. package/dist/components/primitives/forms/field.js +218 -0
  91. package/dist/components/primitives/forms/field.js.map +1 -0
  92. package/dist/components/primitives/forms/input.d.ts +6 -0
  93. package/dist/components/primitives/forms/input.js +22 -0
  94. package/dist/components/primitives/forms/input.js.map +1 -0
  95. package/dist/components/primitives/forms/select.d.ts +22 -0
  96. package/dist/components/primitives/forms/select.js +169 -0
  97. package/dist/components/primitives/forms/select.js.map +1 -0
  98. package/dist/components/primitives/forms/textarea.d.ts +6 -0
  99. package/dist/components/primitives/forms/textarea.js +20 -0
  100. package/dist/components/primitives/forms/textarea.js.map +1 -0
  101. package/dist/components/primitives/icon/icon.d.ts +10 -3
  102. package/dist/components/primitives/icon/icon.js +15 -14
  103. package/dist/components/primitives/icon/icon.js.map +1 -1
  104. package/dist/components/primitives/index.d.ts +25 -7
  105. package/dist/components/primitives/index.js +31 -18
  106. package/dist/components/primitives/index.js.map +1 -1
  107. package/dist/components/primitives/label/label.d.ts +6 -0
  108. package/dist/components/primitives/label/label.js +22 -0
  109. package/dist/components/primitives/label/label.js.map +1 -0
  110. package/dist/components/primitives/layout/layout.d.ts +8 -4
  111. package/dist/components/primitives/layout/layout.js +35 -17
  112. package/dist/components/primitives/layout/layout.js.map +1 -1
  113. package/dist/components/primitives/link/link.d.ts +42 -0
  114. package/dist/components/primitives/link/link.js +83 -0
  115. package/dist/components/primitives/link/link.js.map +1 -0
  116. package/dist/components/primitives/separator/separator.js +1 -1
  117. package/dist/components/primitives/separator/separator.js.map +1 -1
  118. package/dist/components/primitives/sheet/sheet.d.ts +29 -0
  119. package/dist/components/primitives/sheet/sheet.js +117 -0
  120. package/dist/components/primitives/sheet/sheet.js.map +1 -0
  121. package/dist/components/primitives/skeleton/skeleton.js +1 -1
  122. package/dist/components/primitives/skeleton/skeleton.js.map +1 -1
  123. package/dist/components/primitives/sonner/sonner.d.ts +7 -0
  124. package/dist/components/primitives/sonner/sonner.js +42 -0
  125. package/dist/components/primitives/sonner/sonner.js.map +1 -0
  126. package/dist/components/primitives/sonner/use-toast.d.ts +24 -0
  127. package/dist/components/primitives/sonner/use-toast.js +21 -0
  128. package/dist/components/primitives/sonner/use-toast.js.map +1 -0
  129. package/dist/components/primitives/spinner/spinner.js +1 -1
  130. package/dist/components/primitives/spinner/spinner.js.map +1 -1
  131. package/dist/components/primitives/stack/stack.d.ts +5 -1
  132. package/dist/components/primitives/stack/stack.js +46 -5
  133. package/dist/components/primitives/stack/stack.js.map +1 -1
  134. package/dist/components/primitives/text/{text-heading.d.ts → heading.d.ts} +5 -5
  135. package/dist/components/primitives/text/heading.js +53 -0
  136. package/dist/components/primitives/text/heading.js.map +1 -0
  137. package/dist/components/primitives/text/internal/text-element.d.ts +30 -4
  138. package/dist/components/primitives/text/internal/text-element.js +24 -14
  139. package/dist/components/primitives/text/internal/text-element.js.map +1 -1
  140. package/dist/components/primitives/text/text-code.d.ts +26 -0
  141. package/dist/components/primitives/text/text-code.js +44 -0
  142. package/dist/components/primitives/text/text-code.js.map +1 -0
  143. package/dist/components/primitives/text/text-div.d.ts +1 -1
  144. package/dist/components/primitives/text/text-div.js +2 -2
  145. package/dist/components/primitives/text/text-div.js.map +1 -1
  146. package/dist/components/primitives/text/text-span.js +2 -2
  147. package/dist/components/primitives/text/text-span.js.map +1 -1
  148. package/dist/components/primitives/text/text-time.js +2 -2
  149. package/dist/components/primitives/text/text-time.js.map +1 -1
  150. package/dist/components/primitives/text/text.d.ts +16 -0
  151. package/dist/components/primitives/text/{text-paragraph.js → text.js} +16 -5
  152. package/dist/components/primitives/text/text.js.map +1 -0
  153. package/dist/components/primitives/{ui-image.d.ts → ui-image/ui-image.d.ts} +1 -1
  154. package/dist/components/primitives/{ui-image.js → ui-image/ui-image.js} +4 -7
  155. package/dist/components/primitives/ui-image/ui-image.js.map +1 -0
  156. package/dist/components/primitives/ui-link/ui-link.d.ts +8 -0
  157. package/dist/components/primitives/ui-link/ui-link.js +19 -0
  158. package/dist/components/primitives/ui-link/ui-link.js.map +1 -0
  159. package/dist/components/providers/LinkContext.d.ts +1 -1
  160. package/dist/components/providers/LinkContext.js +1 -1
  161. package/dist/components/providers/LinkContext.js.map +1 -1
  162. package/dist/components/providers/SingularityContext.d.ts +4 -1
  163. package/dist/components/providers/SingularityContext.js +7 -3
  164. package/dist/components/providers/SingularityContext.js.map +1 -1
  165. package/dist/components/providers/auth-provider.d.ts +15 -0
  166. package/dist/components/providers/auth-provider.js +30 -0
  167. package/dist/components/providers/auth-provider.js.map +1 -0
  168. package/dist/components/providers/index.d.ts +3 -0
  169. package/dist/components/providers/index.js +5 -3
  170. package/dist/components/providers/index.js.map +1 -1
  171. package/dist/components/providers/theme-provider.d.ts +27 -0
  172. package/dist/components/providers/theme-provider.js +75 -0
  173. package/dist/components/providers/theme-provider.js.map +1 -0
  174. package/dist/components/templates/container/container.d.ts +20 -0
  175. package/dist/components/templates/container/container.js +58 -0
  176. package/dist/components/templates/container/container.js.map +1 -0
  177. package/dist/components/templates/footer/footer.d.ts +5 -0
  178. package/dist/components/templates/footer/footer.js +12 -0
  179. package/dist/components/templates/footer/footer.js.map +1 -0
  180. package/dist/components/templates/form/form.d.ts +5 -0
  181. package/dist/components/templates/form/form.js +141 -0
  182. package/dist/components/templates/form/form.js.map +1 -0
  183. package/dist/components/templates/hero/hero.d.ts +18 -0
  184. package/dist/components/templates/hero/hero.js +301 -0
  185. package/dist/components/templates/hero/hero.js.map +1 -0
  186. package/dist/components/templates/index.d.ts +5 -0
  187. package/dist/components/templates/index.js +5 -0
  188. package/dist/components/templates/index.js.map +1 -0
  189. package/dist/components/templates/navigation/header.d.ts +19 -0
  190. package/dist/components/templates/navigation/header.js +222 -0
  191. package/dist/components/templates/navigation/header.js.map +1 -0
  192. package/dist/components/templates/navigation/index.d.ts +3 -0
  193. package/dist/components/templates/navigation/index.js +2 -0
  194. package/dist/components/templates/navigation/index.js.map +1 -0
  195. package/dist/css/variables.css +75 -73
  196. package/dist/css/variables.css.map +1 -1
  197. package/dist/data/authors.d.ts +12 -0
  198. package/dist/data/authors.js +33 -0
  199. package/dist/data/authors.js.map +1 -0
  200. package/dist/data/posts.d.ts +22 -0
  201. package/dist/data/posts.js +285 -0
  202. package/dist/data/posts.js.map +1 -0
  203. package/dist/index.d.ts +43 -10
  204. package/dist/index.js +1 -1
  205. package/dist/index.js.map +1 -1
  206. package/dist/lib/helpers/index.js +1 -1
  207. package/dist/lib/helpers/index.js.map +1 -1
  208. package/dist/lib/hooks/useIsClient.d.ts +3 -0
  209. package/dist/lib/hooks/useIsClient.js +14 -0
  210. package/dist/lib/hooks/useIsClient.js.map +1 -0
  211. package/dist/lib/index.d.ts +1 -0
  212. package/dist/lib/index.js +2 -1
  213. package/dist/lib/index.js.map +1 -1
  214. package/dist/lib/types.d.ts +4 -8
  215. package/dist/main.css +2026 -455
  216. package/dist/main.css.map +1 -1
  217. package/dist/{utils.js → utils/index.js} +1 -1
  218. package/dist/utils/index.js.map +1 -0
  219. package/dist/utils/index.test.js +37 -0
  220. package/dist/utils/index.test.js.map +1 -0
  221. package/package.json +80 -44
  222. package/dist/components/primitives/accordion/accordion.stories.d.ts +0 -15
  223. package/dist/components/primitives/accordion/accordion.stories.js +0 -60
  224. package/dist/components/primitives/accordion/accordion.stories.js.map +0 -1
  225. package/dist/components/primitives/alert/alert.stories.d.ts +0 -22
  226. package/dist/components/primitives/alert/alert.stories.js +0 -37
  227. package/dist/components/primitives/alert/alert.stories.js.map +0 -1
  228. package/dist/components/primitives/button/button.js +0 -56
  229. package/dist/components/primitives/button/button.js.map +0 -1
  230. package/dist/components/primitives/button/button.stories.d.ts +0 -34
  231. package/dist/components/primitives/button/button.stories.js +0 -74
  232. package/dist/components/primitives/button/button.stories.js.map +0 -1
  233. package/dist/components/primitives/button/button_with_icon_variant.js +0 -1
  234. package/dist/components/primitives/button/button_with_icon_variant.js.map +0 -1
  235. package/dist/components/primitives/icon/icon.stories.d.ts +0 -27
  236. package/dist/components/primitives/icon/icon.stories.js +0 -30
  237. package/dist/components/primitives/icon/icon.stories.js.map +0 -1
  238. package/dist/components/primitives/layout/layout.stories.d.ts +0 -32
  239. package/dist/components/primitives/layout/layout.stories.js +0 -72
  240. package/dist/components/primitives/layout/layout.stories.js.map +0 -1
  241. package/dist/components/primitives/separator/separator.stories.d.ts +0 -15
  242. package/dist/components/primitives/separator/separator.stories.js +0 -18
  243. package/dist/components/primitives/separator/separator.stories.js.map +0 -1
  244. package/dist/components/primitives/skeleton/skeleton.stories.d.ts +0 -13
  245. package/dist/components/primitives/skeleton/skeleton.stories.js +0 -16
  246. package/dist/components/primitives/skeleton/skeleton.stories.js.map +0 -1
  247. package/dist/components/primitives/spinner/spinner.stories.d.ts +0 -16
  248. package/dist/components/primitives/spinner/spinner.stories.js +0 -34
  249. package/dist/components/primitives/spinner/spinner.stories.js.map +0 -1
  250. package/dist/components/primitives/stack/stack.stories.d.ts +0 -13
  251. package/dist/components/primitives/stack/stack.stories.js +0 -26
  252. package/dist/components/primitives/stack/stack.stories.js.map +0 -1
  253. package/dist/components/primitives/text/text-div.stories.d.ts +0 -32
  254. package/dist/components/primitives/text/text-div.stories.js +0 -59
  255. package/dist/components/primitives/text/text-div.stories.js.map +0 -1
  256. package/dist/components/primitives/text/text-heading.js +0 -53
  257. package/dist/components/primitives/text/text-heading.js.map +0 -1
  258. package/dist/components/primitives/text/text-heading.stories.d.ts +0 -27
  259. package/dist/components/primitives/text/text-heading.stories.js +0 -47
  260. package/dist/components/primitives/text/text-heading.stories.js.map +0 -1
  261. package/dist/components/primitives/text/text-paragraph.d.ts +0 -10
  262. package/dist/components/primitives/text/text-paragraph.js.map +0 -1
  263. package/dist/components/primitives/text/text-span.stories.d.ts +0 -31
  264. package/dist/components/primitives/text/text-span.stories.js +0 -59
  265. package/dist/components/primitives/text/text-span.stories.js.map +0 -1
  266. package/dist/components/primitives/ui-image.js.map +0 -1
  267. package/dist/components/primitives/ui-link.d.ts +0 -6
  268. package/dist/components/primitives/ui-link.js +0 -22
  269. package/dist/components/primitives/ui-link.js.map +0 -1
  270. package/dist/components/units/cards/blog-card.d.ts +0 -19
  271. package/dist/components/units/cards/blog-card.js +0 -82
  272. package/dist/components/units/cards/blog-card.js.map +0 -1
  273. package/dist/components/units/cards/card.d.ts +0 -15
  274. package/dist/components/units/cards/card.js +0 -89
  275. package/dist/components/units/cards/card.js.map +0 -1
  276. package/dist/components/units/cards/cards.d.ts +0 -17
  277. package/dist/components/units/cards/cards.js +0 -37
  278. package/dist/components/units/cards/cards.js.map +0 -1
  279. package/dist/components/units/index.d.ts +0 -5
  280. package/dist/components/units/index.js +0 -4
  281. package/dist/components/units/index.js.map +0 -1
  282. package/dist/utils.js.map +0 -1
  283. /package/dist/{utils.d.ts → utils/index.d.ts} +0 -0
  284. /package/dist/{components/primitives/button/button_with_icon_variant.d.ts → utils/index.test.d.ts} +0 -0
@@ -2,43 +2,44 @@ import { jsx } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { cva } from "class-variance-authority";
4
4
  import { icons } from "lucide-react";
5
- import { cn } from "../../../utils";
5
+ import { cn } from "../../../utils/index.js";
6
6
  const iconVariants = {
7
7
  size: {
8
- sm: "",
9
- md: "",
10
- lg: ""
8
+ xs: "sg:size-4",
9
+ sm: "sg:size-8",
10
+ default: "sg:size-9",
11
+ lg: "sg:size-10",
12
+ xl: "sg:size-12",
13
+ xxl: "sg:size-16"
11
14
  },
12
15
  color: {
13
16
  default: "",
14
17
  foreground: "sg:text-foreground",
15
18
  primary: "sg:text-primary",
19
+ "primary-foreground": "sg:text-primary-foreground",
16
20
  secondary: "sg:text-secondary",
21
+ "secondary-foreground": "sg:text-secondary-foreground",
17
22
  muted: "sg:text-muted",
18
- destructive: "sg:text-destructive"
23
+ "muted-foreground": "sg:text-muted-foreground",
24
+ destructive: "sg:text-destructive",
25
+ "destructive-foreground": "sg:text-destructive-foreground"
19
26
  }
20
27
  };
21
28
  const iconVariantsProps = cva("", {
22
29
  variants: iconVariants,
23
30
  defaultVariants: {
24
- size: "md",
31
+ size: "default",
25
32
  color: "default"
26
33
  }
27
34
  });
28
35
  function Icon({ className, size, color, icon, spin, ...props }) {
29
36
  const LucideIcon = icons[icon];
30
- let iconSize = 20;
31
- if (size == "sm") {
32
- iconSize = 16;
33
- } else if (size == "lg") {
34
- iconSize = 32;
35
- }
36
37
  return /* @__PURE__ */ jsx(
37
38
  LucideIcon,
38
39
  {
39
- size: iconSize,
40
40
  className: cn(
41
- iconVariantsProps({ color, className }),
41
+ iconVariantsProps({ color, size }),
42
+ className,
42
43
  spin && "sg:animate-spin"
43
44
  ),
44
45
  ...props
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/primitives/icon/icon.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\nimport { icons, type LucideIcon } from \"lucide-react\";\r\nimport { cn } from \"../../../utils\";\r\n\r\nconst iconVariants = {\r\n size: {\r\n sm: \"\",\r\n md: \"\",\r\n lg: \"\",\r\n },\r\n color: {\r\n default: \"\",\r\n foreground: \"sg:text-foreground\",\r\n primary: \"sg:text-primary\",\r\n secondary: \"sg:text-secondary\",\r\n muted: \"sg:text-muted\",\r\n destructive: \"sg:text-destructive\",\r\n },\r\n};\r\n\r\nconst iconVariantsProps = cva(\"\", {\r\n variants: iconVariants,\r\n defaultVariants: {\r\n size: \"md\",\r\n color: \"default\",\r\n },\r\n});\r\n\r\ntype Props = Omit<React.ComponentProps<LucideIcon>, \"size\"> &\r\n VariantProps<typeof iconVariantsProps> & {\r\n icon: keyof typeof icons;\r\n spin?: boolean;\r\n };\r\n\r\nfunction Icon({ className, size, color, icon, spin, ...props }: Props) {\r\n const LucideIcon = icons[icon];\r\n\r\n let iconSize = 20;\r\n if (size == \"sm\") {\r\n iconSize = 16;\r\n } else if (size == \"lg\") {\r\n iconSize = 32;\r\n }\r\n\r\n return (\r\n <LucideIcon\r\n size={iconSize}\r\n className={cn(\r\n iconVariantsProps({ color, className }),\r\n spin && \"sg:animate-spin\",\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport { Icon, iconVariantsProps, iconVariants };\r\n"],"mappings":"AA8CI;AA9CJ,YAAY,WAAW;AACvB,SAAS,WAA8B;AACvC,SAAS,aAA8B;AACvC,SAAS,UAAU;AAEnB,MAAM,eAAe;AAAA,EACnB,MAAM;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EACN;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,WAAW;AAAA,IACX,OAAO;AAAA,IACP,aAAa;AAAA,EACf;AACF;AAEA,MAAM,oBAAoB,IAAI,IAAI;AAAA,EAChC,UAAU;AAAA,EACV,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AACF,CAAC;AAQD,SAAS,KAAK,EAAE,WAAW,MAAM,OAAO,MAAM,MAAM,GAAG,MAAM,GAAU;AACrE,QAAM,aAAa,MAAM,IAAI;AAE7B,MAAI,WAAW;AACf,MAAI,QAAQ,MAAM;AAChB,eAAW;AAAA,EACb,WAAW,QAAQ,MAAM;AACvB,eAAW;AAAA,EACb;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,QACT,kBAAkB,EAAE,OAAO,UAAU,CAAC;AAAA,QACtC,QAAQ;AAAA,MACV;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/primitives/icon/icon.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\nimport { icons, type LucideIcon } from \"lucide-react\";\r\nimport { cn } from \"../../../utils/index\";\r\n\r\nconst iconVariants = {\r\n size: {\r\n xs: \"sg:size-4\",\r\n sm: \"sg:size-8\",\r\n default: \"sg:size-9\",\r\n lg: \"sg:size-10\",\r\n xl: \"sg:size-12\",\r\n xxl: \"sg:size-16\",\r\n },\r\n color: {\r\n default: \"\",\r\n foreground: \"sg:text-foreground\",\r\n primary: \"sg:text-primary\",\r\n \"primary-foreground\": \"sg:text-primary-foreground\",\r\n secondary: \"sg:text-secondary\",\r\n \"secondary-foreground\": \"sg:text-secondary-foreground\",\r\n muted: \"sg:text-muted\",\r\n \"muted-foreground\": \"sg:text-muted-foreground\",\r\n destructive: \"sg:text-destructive\",\r\n \"destructive-foreground\": \"sg:text-destructive-foreground\",\r\n },\r\n};\r\n\r\nconst iconVariantsProps = cva(\"\", {\r\n variants: iconVariants,\r\n defaultVariants: {\r\n size: \"default\",\r\n color: \"default\",\r\n },\r\n});\r\n\r\ntype Props = Omit<React.ComponentProps<LucideIcon>, \"size\"> &\r\n VariantProps<typeof iconVariantsProps> & {\r\n icon: keyof typeof icons;\r\n spin?: boolean;\r\n };\r\n\r\nfunction Icon({ className, size, color, icon, spin, ...props }: Props) {\r\n const LucideIcon = icons[icon];\r\n\r\n return (\r\n <LucideIcon\r\n className={cn(\r\n iconVariantsProps({ color, size }),\r\n className,\r\n spin && \"sg:animate-spin\",\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport { Icon, iconVariantsProps, iconVariants };\r\n"],"mappings":"AA8CI;AA9CJ,YAAY,WAAW;AACvB,SAAS,WAA8B;AACvC,SAAS,aAA8B;AACvC,SAAS,UAAU;AAEnB,MAAM,eAAe;AAAA,EACnB,MAAM;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,KAAK;AAAA,EACP;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,sBAAsB;AAAA,IACtB,WAAW;AAAA,IACX,wBAAwB;AAAA,IACxB,OAAO;AAAA,IACP,oBAAoB;AAAA,IACpB,aAAa;AAAA,IACb,0BAA0B;AAAA,EAC5B;AACF;AAEA,MAAM,oBAAoB,IAAI,IAAI;AAAA,EAChC,UAAU;AAAA,EACV,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AACF,CAAC;AAQD,SAAS,KAAK,EAAE,WAAW,MAAM,OAAO,MAAM,MAAM,GAAG,MAAM,GAAU;AACrE,QAAM,aAAa,MAAM,IAAI;AAE7B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT,kBAAkB,EAAE,OAAO,KAAK,CAAC;AAAA,QACjC;AAAA,QACA,QAAQ;AAAA,MACV;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
@@ -1,21 +1,35 @@
1
1
  export { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from './accordion/accordion.js';
2
2
  export { Alert, AlertAction, AlertDescription, AlertTitle, alertVariants } from './alert/alert.js';
3
- export { Badge, badgeVariants } from './badge/badge.js';
3
+ export { Badge, badgeVariants, badgeVariantsProps } from './badge/badge.js';
4
4
  export { Badges, BadgesProps } from './badge/badges.js';
5
- export { Button, buttonVariants, buttonVariantsProps } from './button/button.js';
5
+ export { Button, buttonVariants, buttonVariantsProps } from './buttons/button.js';
6
+ export { IconButton, buttonIconVariants, iconButtonVariantsProps } from './buttons/icon-button.js';
7
+ export { LinkButton } from './buttons/link-button.js';
8
+ export { Collapsible, CollapsibleContent, CollapsibleTrigger } from './collapsible/collapsible.js';
9
+ export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from './dropdown-menu/dropdown-menu.js';
10
+ export { Checkbox } from './forms/checkbox.js';
11
+ export { Input } from './forms/input.js';
12
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue } from './forms/select.js';
13
+ export { Textarea } from './forms/textarea.js';
6
14
  export { Icon, iconVariants, iconVariantsProps } from './icon/icon.js';
15
+ export { Label } from './label/label.js';
7
16
  export { Layout, LayoutProps, layoutVariants, layoutVariantsProps } from './layout/layout.js';
17
+ export { Link, linkVariants } from './link/link.js';
8
18
  export { Separator } from './separator/separator.js';
19
+ export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger } from './sheet/sheet.js';
9
20
  export { Skeleton } from './skeleton/skeleton.js';
21
+ export { Toaster } from './sonner/sonner.js';
10
22
  export { Spinner } from './spinner/spinner.js';
11
23
  export { Stack, StackProps, stackVariants } from './stack/stack.js';
24
+ export { Heading, HeadingProps, headingVariants, headingVariantsProps } from './text/heading.js';
25
+ export { TextCode, TextCodeProps, textCodeVariants, textCodeVariantsProps } from './text/text-code.js';
12
26
  export { TextDiv } from './text/text-div.js';
13
- export { TextHeading, TextHeadingProps, textHeadingVariants, textHeadingVariantsProps } from './text/text-heading.js';
14
- export { TextParagraph } from './text/text-paragraph.js';
15
27
  export { TextSpan } from './text/text-span.js';
16
28
  export { TextTime } from './text/text-time.js';
17
- export { UiImage } from './ui-image.js';
18
- export { UiLink } from './ui-link.js';
29
+ export { Text, textVariants, textVariantsProps } from './text/text.js';
30
+ export { UiImage } from './ui-image/ui-image.js';
31
+ export { UiLink } from './ui-link/ui-link.js';
32
+ export { toast } from 'sonner';
19
33
  import 'react/jsx-runtime';
20
34
  import '@base-ui/react/accordion';
21
35
  import 'class-variance-authority/types';
@@ -24,8 +38,12 @@ import 'class-variance-authority';
24
38
  import '@base-ui/react/use-render';
25
39
  import '@base-ui/react/button';
26
40
  import 'lucide-react';
41
+ import '../providers/LinkContext.js';
42
+ import '@radix-ui/react-collapsible';
43
+ import '@radix-ui/react-dropdown-menu';
44
+ import '@base-ui/react';
27
45
  import '@base-ui/react/separator';
46
+ import '@radix-ui/react-dialog';
28
47
  import './text/internal/text-element.js';
29
48
  import '../../lib/types.js';
30
49
  import '../providers/ImageContext.js';
31
- import '../providers/LinkContext.js';
@@ -1,19 +1,32 @@
1
- export * from "./accordion/accordion";
2
- export * from "./alert/alert";
3
- export * from "./badge/badge";
4
- export * from "./badge/badges";
5
- export * from "./button/button";
6
- export * from "./icon/icon";
7
- export * from "./layout/layout";
8
- export * from "./separator/separator";
9
- export * from "./skeleton/skeleton";
10
- export * from "./spinner/spinner";
11
- export * from "./stack/stack";
12
- export * from "./text/text-div";
13
- export * from "./text/text-heading";
14
- export * from "./text/text-paragraph";
15
- export * from "./text/text-span";
16
- export * from "./text/text-time";
17
- export * from "./ui-image";
18
- export * from "./ui-link";
1
+ export * from "./accordion/accordion.js";
2
+ export * from "./alert/alert.js";
3
+ export * from "./badge/badge.js";
4
+ export * from "./badge/badges.js";
5
+ export * from "./buttons/button.js";
6
+ export * from "./buttons/icon-button.js";
7
+ export * from "./buttons/link-button.js";
8
+ export * from "./collapsible/collapsible.js";
9
+ export * from "./dropdown-menu/dropdown-menu.js";
10
+ export * from "./forms/checkbox.js";
11
+ export * from "./forms/input.js";
12
+ export * from "./forms/select.js";
13
+ export * from "./forms/textarea.js";
14
+ export * from "./icon/icon.js";
15
+ export * from "./label/label.js";
16
+ export * from "./layout/layout.js";
17
+ export * from "./link/link.js";
18
+ export * from "./separator/separator.js";
19
+ export * from "./sheet/sheet.js";
20
+ export * from "./skeleton/skeleton.js";
21
+ export * from "./sonner/sonner.js";
22
+ export * from "./spinner/spinner.js";
23
+ export * from "./stack/stack.js";
24
+ export * from "./text/heading.js";
25
+ export * from "./text/text-code.js";
26
+ export * from "./text/text-div.js";
27
+ export * from "./text/text-span.js";
28
+ export * from "./text/text-time.js";
29
+ export * from "./text/text.js";
30
+ export * from "./ui-image/ui-image.js";
31
+ export * from "./ui-link/ui-link.js";
19
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/primitives/index.ts"],"sourcesContent":["export * from \"./accordion/accordion\";\r\nexport * from \"./alert/alert\";\r\nexport * from \"./badge/badge\";\r\nexport * from \"./badge/badges\";\r\nexport * from \"./button/button\";\r\nexport * from \"./icon/icon\";\r\n// export * from \"./input/input\";\r\nexport * from \"./layout/layout\";\r\nexport * from \"./separator/separator\";\r\nexport * from \"./skeleton/skeleton\";\r\nexport * from \"./spinner/spinner\";\r\nexport * from \"./stack/stack\";\r\n// export * from \"./table/table\";\r\nexport * from \"./text/text-div\";\r\nexport * from \"./text/text-heading\";\r\nexport * from \"./text/text-paragraph\";\r\nexport * from \"./text/text-span\";\r\nexport * from \"./text/text-time\";\r\nexport * from \"./ui-image\";\r\nexport * from \"./ui-link\";\r\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/primitives/index.ts"],"sourcesContent":["/**\n * Primitives index\n *\n * Please keep exports sorted alphabetically by path!\n */\n\nexport * from \"./accordion/accordion\";\nexport * from \"./alert/alert\";\nexport * from \"./badge/badge\";\nexport * from \"./badge/badges\";\nexport * from \"./buttons/button\";\nexport * from \"./buttons/icon-button\";\nexport * from \"./buttons/link-button\";\nexport * from \"./collapsible/collapsible\";\nexport * from \"./dropdown-menu/dropdown-menu\";\nexport * from \"./forms/checkbox\";\nexport * from \"./forms/input\";\nexport * from \"./forms/select\";\nexport * from \"./forms/textarea\";\nexport * from \"./icon/icon\";\nexport * from \"./label/label\";\nexport * from \"./layout/layout\";\nexport * from \"./link/link\";\nexport * from \"./separator/separator\";\nexport * from \"./sheet/sheet\";\nexport * from \"./skeleton/skeleton\";\nexport * from \"./sonner/sonner\";\nexport * from \"./spinner/spinner\";\nexport * from \"./stack/stack\";\n// export * from \"./table/table\";\nexport * from \"./text/heading\";\nexport * from \"./text/text-code\";\nexport * from \"./text/text-div\";\nexport * from \"./text/text-span\";\nexport * from \"./text/text-time\";\nexport * from \"./text/text\";\nexport * from \"./ui-image/ui-image\";\nexport * from \"./ui-link/ui-link\";\n"],"mappings":"AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
@@ -0,0 +1,6 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+
4
+ declare function Label({ className, ...props }: React.ComponentProps<"label">): react_jsx_runtime.JSX.Element;
5
+
6
+ export { Label };
@@ -0,0 +1,22 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { cn } from "../../../utils/index.js";
5
+ function Label({ className, ...props }) {
6
+ return /* @__PURE__ */ jsx(
7
+ "label",
8
+ {
9
+ "data-slot": "label",
10
+ className: cn(
11
+ // "sg:flex sg:items-center sg:gap-2 sg:select-none sg:group-data-[disabled=true]:pointer-events-none sg:group-data-[disabled=true]:opacity-50 sg:peer-disabled:cursor-not-allowed sg:peer-disabled:opacity-50",
12
+ "sg:text-sm sg:font-medium sg:leading-none sg:peer-disabled:cursor-not-allowed sg:peer-disabled:opacity-70",
13
+ className
14
+ ),
15
+ ...props
16
+ }
17
+ );
18
+ }
19
+ export {
20
+ Label
21
+ };
22
+ //# sourceMappingURL=label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/primitives/label/label.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"../../../utils/index\";\n\nfunction Label({ className, ...props }: React.ComponentProps<\"label\">) {\n return (\n <label\n data-slot=\"label\"\n className={cn(\n // \"sg:flex sg:items-center sg:gap-2 sg:select-none sg:group-data-[disabled=true]:pointer-events-none sg:group-data-[disabled=true]:opacity-50 sg:peer-disabled:cursor-not-allowed sg:peer-disabled:opacity-50\",\n \"sg:text-sm sg:font-medium sg:leading-none sg:peer-disabled:cursor-not-allowed sg:peer-disabled:opacity-70\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Label };\n"],"mappings":";AAOI;AALJ,YAAY,WAAW;AACvB,SAAS,UAAU;AAEnB,SAAS,MAAM,EAAE,WAAW,GAAG,MAAM,GAAkC;AACrE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA;AAAA,QAET;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
@@ -5,9 +5,11 @@ import { VariantProps } from 'class-variance-authority';
5
5
 
6
6
  declare const layoutVariants: {
7
7
  type: {
8
+ container: string;
8
9
  full: string;
9
10
  wide: string;
10
11
  col: string;
12
+ narrow: string;
11
13
  };
12
14
  cols: {
13
15
  "100": string;
@@ -25,13 +27,14 @@ declare const layoutVariants: {
25
27
  accent: string;
26
28
  gradient1: string;
27
29
  gradient2: string;
28
- "masks-and-opacity": string;
30
+ "gradient-masks-and-opacity": string;
31
+ "gradient-primary-primarymuted-secondary": string;
29
32
  };
30
33
  };
31
34
  declare const layoutVariantsProps: (props?: ({
32
- type?: "col" | "full" | "wide" | null | undefined;
35
+ type?: "col" | "container" | "full" | "wide" | "narrow" | null | undefined;
33
36
  cols?: "100" | "66-33" | "50-50" | "33-33-33" | "25-25-25-25" | null | undefined;
34
- bgColor?: "secondary" | "primary" | "muted" | "transparent" | "background" | "accent" | "gradient1" | "gradient2" | "masks-and-opacity" | null | undefined;
37
+ bgColor?: "primary" | "secondary" | "muted" | "accent" | "transparent" | "background" | "gradient1" | "gradient2" | "gradient-masks-and-opacity" | "gradient-primary-primarymuted-secondary" | null | undefined;
35
38
  } & class_variance_authority_types.ClassProp) | undefined) => string;
36
39
  interface LayoutProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof layoutVariantsProps> {
37
40
  as?: "div" | "section" | "article" | "main" | "header" | "footer";
@@ -48,7 +51,8 @@ type colProp = {
48
51
  hideDiv?: boolean;
49
52
  className?: string;
50
53
  as?: "div" | "section" | "article" | "main" | "header" | "footer";
54
+ centerContent?: boolean;
51
55
  };
52
- declare function Col({ children, hideDiv, className, as: Component }: colProp): react_jsx_runtime.JSX.Element;
56
+ declare function Col({ children, hideDiv, className, as: Component, centerContent, }: colProp): react_jsx_runtime.JSX.Element;
53
57
 
54
58
  export { Layout, type LayoutProps, layoutVariants, layoutVariantsProps };
@@ -1,35 +1,38 @@
1
1
  import { Fragment, jsx } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { cva } from "class-variance-authority";
4
- import { cn } from "../../../utils";
4
+ import { cn } from "../../../utils/index.js";
5
5
  const bgColors = {
6
6
  transparent: "sg:bg-transparent",
7
- background: "sg:bg-background",
8
- primary: "sg:bg-primary",
9
- secondary: "sg:bg-secondary",
10
- muted: "sg:bg-muted",
11
- accent: "sg:bg-accent",
7
+ background: "sg:bg-background sg:text-foreground",
8
+ primary: "sg:bg-primary sg:text-primary-foreground",
9
+ secondary: "sg:bg-secondary sg:text-secondary-foreground",
10
+ muted: "sg:bg-muted sg:text-muted-foreground",
11
+ accent: "sg:bg-accent sg:text-accent-foreground",
12
12
  gradient1: "sg:bg-[linear-gradient(135deg,var(--sg-primary)_0%,var(--sg-destructive)_50%,var(--sg-primary-dark)_100%)]",
13
13
  gradient2: "sg:bg-[radial-gradient(1200px_300px_at_10%_-20%,var(--sg-primary-20),transparent),radial-gradient(800px_200px_at_90%_-20%,var(--sg-primary-10),transparent)]",
14
- "masks-and-opacity": "bg-brand-mask"
14
+ "gradient-masks-and-opacity": "bg-brand-mask",
15
15
  //brand class defined in main.css
16
+ "gradient-primary-primarymuted-secondary": "sg:bg-[linear-gradient(135deg,var(--sg-primary)_0%,var(--sg-primary-muted)_50%,var(--sg-secondary)_100%)]"
16
17
  };
17
18
  const layoutVariants = {
18
19
  type: {
19
- full: "sg:w-full",
20
- wide: "sg:w-full sg:px-4",
21
- col: "sg:mx-auto sg:max-w-[768px] sg:px-4 sg:md:px-0"
20
+ container: "sg:w-full",
21
+ full: "sg:w-full sg:px-4",
22
+ wide: "sg:mx-auto sg:max-w-[1024px] sg:px-4 sg:min-[1056px]:px-0",
23
+ col: "sg:mx-auto sg:max-w-[768px] sg:px-4 sg:min-[800px]:px-0",
24
+ narrow: "sg:mx-auto sg:max-w-[410px] sg:px-4 sg:min-[442px]:px-0"
22
25
  },
23
26
  cols: {
24
27
  "100": "",
25
- "66-33": "sg:md:grid-cols-[2fr_1fr]",
26
- "50-50": "sg:md:grid-cols-2",
27
- "33-33-33": "sg:md:grid-cols-3",
28
- "25-25-25-25": "sg:md:grid-cols-4"
28
+ "66-33": "sg:md:grid-cols-[2fr_1fr] sg:gap-4",
29
+ "50-50": "sg:md:grid-cols-2 sg:gap-4",
30
+ "33-33-33": "sg:md:grid-cols-3 sg:gap-4",
31
+ "25-25-25-25": "sg:md:grid-cols-4 sg:gap-4"
29
32
  },
30
33
  bgColor: bgColors
31
34
  };
32
- const layoutVariantsProps = cva("sg:grid sg:grid-cols-1 sg:gap-4", {
35
+ const layoutVariantsProps = cva("sg:grid sg:grid-cols-1", {
33
36
  variants: layoutVariants,
34
37
  defaultVariants: {
35
38
  type: "col",
@@ -80,8 +83,23 @@ function Layout({
80
83
  }
81
84
  );
82
85
  }
83
- function Col({ children, hideDiv, className, as: Component = "div" }) {
84
- return hideDiv ? /* @__PURE__ */ jsx(Fragment, { children }) : /* @__PURE__ */ jsx(Component, { className, children });
86
+ function Col({
87
+ children,
88
+ hideDiv,
89
+ className,
90
+ as: Component = "div",
91
+ centerContent
92
+ }) {
93
+ return hideDiv ? /* @__PURE__ */ jsx(Fragment, { children }) : /* @__PURE__ */ jsx(
94
+ Component,
95
+ {
96
+ className: cn(
97
+ centerContent && "sg:flex sg:flex-col sg:items-center sg:justify-center",
98
+ className
99
+ ),
100
+ children
101
+ }
102
+ );
85
103
  }
86
104
  Layout.Col1 = Col;
87
105
  Layout.Col2 = Col;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/primitives/layout/layout.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../../utils\";\n\nconst bgColors = {\n transparent: \"sg:bg-transparent\",\n background: \"sg:bg-background\",\n primary: \"sg:bg-primary\",\n secondary: \"sg:bg-secondary\",\n muted: \"sg:bg-muted\",\n accent: \"sg:bg-accent\",\n gradient1:\n \"sg:bg-[linear-gradient(135deg,var(--sg-primary)_0%,var(--sg-destructive)_50%,var(--sg-primary-dark)_100%)]\",\n gradient2:\n \"sg:bg-[radial-gradient(1200px_300px_at_10%_-20%,var(--sg-primary-20),transparent),radial-gradient(800px_200px_at_90%_-20%,var(--sg-primary-10),transparent)]\",\n \"masks-and-opacity\": \"bg-brand-mask\", //brand class defined in main.css\n};\n\nconst layoutVariants = {\n type: {\n full: \"sg:w-full\",\n wide: \"sg:w-full sg:px-4\",\n col: \"sg:mx-auto sg:max-w-[768px] sg:px-4 sg:md:px-0\",\n },\n cols: {\n \"100\": \"\",\n \"66-33\": \"sg:md:grid-cols-[2fr_1fr]\",\n \"50-50\": \"sg:md:grid-cols-2\",\n \"33-33-33\": \"sg:md:grid-cols-3\",\n \"25-25-25-25\": \"sg:md:grid-cols-4\",\n },\n bgColor: bgColors,\n};\n\nconst layoutVariantsProps = cva(\"sg:grid sg:grid-cols-1 sg:gap-4\", {\n variants: layoutVariants,\n defaultVariants: {\n type: \"col\",\n cols: \"100\",\n },\n});\n\nexport interface LayoutProps\n extends\n React.HTMLAttributes<HTMLElement>,\n VariantProps<typeof layoutVariantsProps> {\n as?: \"div\" | \"section\" | \"article\" | \"main\" | \"header\" | \"footer\";\n}\n\nfunction Layout({\n children,\n className,\n type,\n cols,\n bgColor,\n as: Component = \"div\",\n ...props\n}: React.PropsWithChildren<LayoutProps>) {\n const allowedInLayout = (\n content: React.ReactElement<any, string | React.JSXElementConstructor<any>>,\n ): boolean => {\n if (content.type === Layout.Col1) {\n return true;\n } else if (\n content.type === Layout.Col2 &&\n (cols === \"66-33\" ||\n cols === \"50-50\" ||\n cols === \"33-33-33\" ||\n cols === \"25-25-25-25\")\n ) {\n return true;\n } else if (\n content.type === Layout.Col3 &&\n (cols === \"33-33-33\" || cols === \"25-25-25-25\")\n ) {\n return true;\n } else if (content.type === Layout.Col4 && cols === \"25-25-25-25\") {\n return true;\n }\n\n console.error(\n \"Content not allowed in column for variant\",\n cols,\n content.type,\n );\n return false;\n };\n\n const renderColumn = (\n content: React.ReactElement<any, string | React.JSXElementConstructor<any>>,\n ) => {\n if (!allowedInLayout(content)) {\n return;\n }\n return content;\n };\n\n return (\n <Component\n {...props}\n className={cn(bgColors[bgColor ?? \"transparent\"], className)}\n >\n <div className={cn(layoutVariantsProps({ type, cols }))}>\n {React.Children.map(children, (child) =>\n React.isValidElement(child) ? renderColumn(child) : <></>,\n )}\n </div>\n </Component>\n );\n}\n\ntype colProp = {\n children?: React.ReactNode;\n hideDiv?: boolean;\n className?: string;\n as?: \"div\" | \"section\" | \"article\" | \"main\" | \"header\" | \"footer\";\n};\n\nfunction Col({ children, hideDiv, className, as: Component = \"div\" }: colProp) {\n return hideDiv ? (\n <>{children}</>\n ) : (\n <Component className={className}>{children}</Component>\n );\n}\n\nLayout.Col1 = Col;\nLayout.Col2 = Col;\nLayout.Col3 = Col;\nLayout.Col4 = Col;\n\nexport { Layout, layoutVariantsProps, layoutVariants };\n"],"mappings":"AAwG8D;AAxG9D,YAAY,WAAW;AACvB,SAAS,WAA8B;AACvC,SAAS,UAAU;AAEnB,MAAM,WAAW;AAAA,EACf,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,WAAW;AAAA,EACX,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,WACE;AAAA,EACF,WACE;AAAA,EACF,qBAAqB;AAAA;AACvB;AAEA,MAAM,iBAAiB;AAAA,EACrB,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,MAAM;AAAA,IACN,KAAK;AAAA,EACP;AAAA,EACA,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,SAAS;AAAA,IACT,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,SAAS;AACX;AAEA,MAAM,sBAAsB,IAAI,mCAAmC;AAAA,EACjE,UAAU;AAAA,EACV,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACF,CAAC;AASD,SAAS,OAAO;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,IAAI,YAAY;AAAA,EAChB,GAAG;AACL,GAAyC;AACvC,QAAM,kBAAkB,CACtB,YACY;AACZ,QAAI,QAAQ,SAAS,OAAO,MAAM;AAChC,aAAO;AAAA,IACT,WACE,QAAQ,SAAS,OAAO,SACvB,SAAS,WACR,SAAS,WACT,SAAS,cACT,SAAS,gBACX;AACA,aAAO;AAAA,IACT,WACE,QAAQ,SAAS,OAAO,SACvB,SAAS,cAAc,SAAS,gBACjC;AACA,aAAO;AAAA,IACT,WAAW,QAAQ,SAAS,OAAO,QAAQ,SAAS,eAAe;AACjE,aAAO;AAAA,IACT;AAEA,YAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,IACV;AACA,WAAO;AAAA,EACT;AAEA,QAAM,eAAe,CACnB,YACG;AACH,QAAI,CAAC,gBAAgB,OAAO,GAAG;AAC7B;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,WAAW,GAAG,SAAS,WAAW,aAAa,GAAG,SAAS;AAAA,MAE3D,8BAAC,SAAI,WAAW,GAAG,oBAAoB,EAAE,MAAM,KAAK,CAAC,CAAC,GACnD,gBAAM,SAAS;AAAA,QAAI;AAAA,QAAU,CAAC,UAC7B,MAAM,eAAe,KAAK,IAAI,aAAa,KAAK,IAAI,gCAAE;AAAA,MACxD,GACF;AAAA;AAAA,EACF;AAEJ;AASA,SAAS,IAAI,EAAE,UAAU,SAAS,WAAW,IAAI,YAAY,MAAM,GAAY;AAC7E,SAAO,UACL,gCAAG,UAAS,IAEZ,oBAAC,aAAU,WAAuB,UAAS;AAE/C;AAEA,OAAO,OAAO;AACd,OAAO,OAAO;AACd,OAAO,OAAO;AACd,OAAO,OAAO;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/primitives/layout/layout.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\nimport { cn } from \"../../../utils/index\";\r\n\r\nconst bgColors = {\r\n transparent: \"sg:bg-transparent\",\r\n background: \"sg:bg-background sg:text-foreground\",\r\n primary: \"sg:bg-primary sg:text-primary-foreground\",\r\n secondary: \"sg:bg-secondary sg:text-secondary-foreground\",\r\n muted: \"sg:bg-muted sg:text-muted-foreground\",\r\n accent: \"sg:bg-accent sg:text-accent-foreground\",\r\n gradient1:\r\n \"sg:bg-[linear-gradient(135deg,var(--sg-primary)_0%,var(--sg-destructive)_50%,var(--sg-primary-dark)_100%)]\",\r\n gradient2:\r\n \"sg:bg-[radial-gradient(1200px_300px_at_10%_-20%,var(--sg-primary-20),transparent),radial-gradient(800px_200px_at_90%_-20%,var(--sg-primary-10),transparent)]\",\r\n \"gradient-masks-and-opacity\": \"bg-brand-mask\", //brand class defined in main.css\r\n \"gradient-primary-primarymuted-secondary\":\r\n \"sg:bg-[linear-gradient(135deg,var(--sg-primary)_0%,var(--sg-primary-muted)_50%,var(--sg-secondary)_100%)]\",\r\n};\r\n\r\nconst layoutVariants = {\r\n type: {\r\n container: \"sg:w-full\",\r\n full: \"sg:w-full sg:px-4\",\r\n wide: \"sg:mx-auto sg:max-w-[1024px] sg:px-4 sg:min-[1056px]:px-0\",\r\n col: \"sg:mx-auto sg:max-w-[768px] sg:px-4 sg:min-[800px]:px-0\",\r\n narrow: \"sg:mx-auto sg:max-w-[410px] sg:px-4 sg:min-[442px]:px-0\",\r\n },\r\n cols: {\r\n \"100\": \"\",\r\n \"66-33\": \"sg:md:grid-cols-[2fr_1fr] sg:gap-4\",\r\n \"50-50\": \"sg:md:grid-cols-2 sg:gap-4\",\r\n \"33-33-33\": \"sg:md:grid-cols-3 sg:gap-4\",\r\n \"25-25-25-25\": \"sg:md:grid-cols-4 sg:gap-4\",\r\n },\r\n bgColor: bgColors,\r\n};\r\n\r\nconst layoutVariantsProps = cva(\"sg:grid sg:grid-cols-1\", {\r\n variants: layoutVariants,\r\n defaultVariants: {\r\n type: \"col\",\r\n cols: \"100\",\r\n },\r\n});\r\n\r\nexport interface LayoutProps\r\n extends\r\n React.HTMLAttributes<HTMLElement>,\r\n VariantProps<typeof layoutVariantsProps> {\r\n as?: \"div\" | \"section\" | \"article\" | \"main\" | \"header\" | \"footer\";\r\n}\r\n\r\nfunction Layout({\r\n children,\r\n className,\r\n type,\r\n cols,\r\n bgColor,\r\n as: Component = \"div\",\r\n ...props\r\n}: React.PropsWithChildren<LayoutProps>) {\r\n const allowedInLayout = (\r\n content: React.ReactElement<any, string | React.JSXElementConstructor<any>>,\r\n ): boolean => {\r\n if (content.type === Layout.Col1) {\r\n return true;\r\n } else if (\r\n content.type === Layout.Col2 &&\r\n (cols === \"66-33\" ||\r\n cols === \"50-50\" ||\r\n cols === \"33-33-33\" ||\r\n cols === \"25-25-25-25\")\r\n ) {\r\n return true;\r\n } else if (\r\n content.type === Layout.Col3 &&\r\n (cols === \"33-33-33\" || cols === \"25-25-25-25\")\r\n ) {\r\n return true;\r\n } else if (content.type === Layout.Col4 && cols === \"25-25-25-25\") {\r\n return true;\r\n }\r\n\r\n console.error(\r\n \"Content not allowed in column for variant\",\r\n cols,\r\n content.type,\r\n );\r\n return false;\r\n };\r\n\r\n const renderColumn = (\r\n content: React.ReactElement<any, string | React.JSXElementConstructor<any>>,\r\n ) => {\r\n if (!allowedInLayout(content)) {\r\n return;\r\n }\r\n return content;\r\n };\r\n\r\n return (\r\n <Component\r\n {...props}\r\n className={cn(bgColors[bgColor ?? \"transparent\"], className)}\r\n >\r\n <div className={cn(layoutVariantsProps({ type, cols }))}>\r\n {React.Children.map(children, (child) =>\r\n React.isValidElement(child) ? renderColumn(child) : <></>,\r\n )}\r\n </div>\r\n </Component>\r\n );\r\n}\r\n\r\ntype colProp = {\r\n children?: React.ReactNode;\r\n hideDiv?: boolean;\r\n className?: string;\r\n as?: \"div\" | \"section\" | \"article\" | \"main\" | \"header\" | \"footer\";\r\n centerContent?: boolean;\r\n};\r\n\r\nfunction Col({\r\n children,\r\n hideDiv,\r\n className,\r\n as: Component = \"div\",\r\n centerContent,\r\n}: colProp) {\r\n return hideDiv ? (\r\n <>{children}</>\r\n ) : (\r\n <Component\r\n className={cn(\r\n centerContent &&\r\n \"sg:flex sg:flex-col sg:items-center sg:justify-center\",\r\n className,\r\n )}\r\n >\r\n {children}\r\n </Component>\r\n );\r\n}\r\n\r\nLayout.Col1 = Col;\r\nLayout.Col2 = Col;\r\nLayout.Col3 = Col;\r\nLayout.Col4 = Col;\r\n\r\nexport { Layout, layoutVariantsProps, layoutVariants };\r\n"],"mappings":"AA4G8D;AA5G9D,YAAY,WAAW;AACvB,SAAS,WAA8B;AACvC,SAAS,UAAU;AAEnB,MAAM,WAAW;AAAA,EACf,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,WAAW;AAAA,EACX,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,WACE;AAAA,EACF,WACE;AAAA,EACF,8BAA8B;AAAA;AAAA,EAC9B,2CACE;AACJ;AAEA,MAAM,iBAAiB;AAAA,EACrB,MAAM;AAAA,IACJ,WAAW;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,IACN,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,SAAS;AAAA,IACT,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,SAAS;AACX;AAEA,MAAM,sBAAsB,IAAI,0BAA0B;AAAA,EACxD,UAAU;AAAA,EACV,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACF,CAAC;AASD,SAAS,OAAO;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,IAAI,YAAY;AAAA,EAChB,GAAG;AACL,GAAyC;AACvC,QAAM,kBAAkB,CACtB,YACY;AACZ,QAAI,QAAQ,SAAS,OAAO,MAAM;AAChC,aAAO;AAAA,IACT,WACE,QAAQ,SAAS,OAAO,SACvB,SAAS,WACR,SAAS,WACT,SAAS,cACT,SAAS,gBACX;AACA,aAAO;AAAA,IACT,WACE,QAAQ,SAAS,OAAO,SACvB,SAAS,cAAc,SAAS,gBACjC;AACA,aAAO;AAAA,IACT,WAAW,QAAQ,SAAS,OAAO,QAAQ,SAAS,eAAe;AACjE,aAAO;AAAA,IACT;AAEA,YAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,IACV;AACA,WAAO;AAAA,EACT;AAEA,QAAM,eAAe,CACnB,YACG;AACH,QAAI,CAAC,gBAAgB,OAAO,GAAG;AAC7B;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,WAAW,GAAG,SAAS,WAAW,aAAa,GAAG,SAAS;AAAA,MAE3D,8BAAC,SAAI,WAAW,GAAG,oBAAoB,EAAE,MAAM,KAAK,CAAC,CAAC,GACnD,gBAAM,SAAS;AAAA,QAAI;AAAA,QAAU,CAAC,UAC7B,MAAM,eAAe,KAAK,IAAI,aAAa,KAAK,IAAI,gCAAE;AAAA,MACxD,GACF;AAAA;AAAA,EACF;AAEJ;AAUA,SAAS,IAAI;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA,IAAI,YAAY;AAAA,EAChB;AACF,GAAY;AACV,SAAO,UACL,gCAAG,UAAS,IAEZ;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT,iBACE;AAAA,QACF;AAAA,MACF;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;AAEA,OAAO,OAAO;AACd,OAAO,OAAO;AACd,OAAO,OAAO;AACd,OAAO,OAAO;","names":[]}
@@ -0,0 +1,42 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as class_variance_authority_types from 'class-variance-authority/types';
3
+ import { BaseLinkProps } from '../../providers/LinkContext.js';
4
+ import { VariantProps } from 'class-variance-authority';
5
+ import { icons } from 'lucide-react';
6
+ import 'react';
7
+
8
+ declare const linkVariants: {
9
+ variant: {
10
+ default: string;
11
+ "no-decoration": string;
12
+ footer: string;
13
+ logo: string;
14
+ "nav-mobile": string;
15
+ "nav-mobile-active": string;
16
+ "nav-desktop": string;
17
+ "nav-desktop-active": string;
18
+ };
19
+ size: {
20
+ xs: string;
21
+ sm: string;
22
+ md: string;
23
+ base: string;
24
+ lg: string;
25
+ xl: string;
26
+ "2xl": string;
27
+ "3xl": string;
28
+ "4xl": string;
29
+ "5xl": string;
30
+ };
31
+ };
32
+ declare const linkVariantsProps: (props?: ({
33
+ variant?: "footer" | "default" | "no-decoration" | "logo" | "nav-mobile" | "nav-mobile-active" | "nav-desktop" | "nav-desktop-active" | null | undefined;
34
+ size?: "base" | "sm" | "xs" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | null | undefined;
35
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
36
+ type Props = BaseLinkProps & VariantProps<typeof linkVariantsProps> & {
37
+ iconStart?: keyof typeof icons;
38
+ iconEnd?: keyof typeof icons;
39
+ };
40
+ declare const Link: ({ className, variant, size, iconStart, iconEnd, ...props }: Props) => react_jsx_runtime.JSX.Element;
41
+
42
+ export { Link, linkVariants };
@@ -0,0 +1,83 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import {} from "singularity-components/components/providers/LinkContext";
4
+ import { cva } from "class-variance-authority";
5
+ import { textElementSize } from "../text/internal/text-element.js";
6
+ import { icons } from "lucide-react";
7
+ import { cn } from "../../../utils/index.js";
8
+ import { UiLink } from "../ui-link/ui-link.js";
9
+ const navMobileBase = "sg:px-3 sg:py-3 sg:rounded-md sg:text-base sg:font-medium sg:transition-colors sg:hover:text-primary";
10
+ const navDesktopBase = "sg:px-3 sg:py-2 sg:rounded-md sg:text-sm sg:font-medium sg:transition-colors sg:hover:text-primary";
11
+ const linkVariants = {
12
+ variant: {
13
+ default: "sg:text-primary sg:hover:underline sg:underline-offset-2 sg:decoration-primary/40 sg:hover:decoration-primary sg:font-medium",
14
+ "no-decoration": "",
15
+ footer: "sg:text-muted-foreground sg:hover:underline sg:underline-offset-4 sg:hover:text-primary sg:transition-colors",
16
+ logo: "sg:text-2xl sg:font-bold sg:text-primary sg:hover:no-underline",
17
+ "nav-mobile": `${navMobileBase} sg:text-muted-foreground`,
18
+ "nav-mobile-active": `${navMobileBase} sg:text-primary sg:bg-accent`,
19
+ "nav-desktop": `${navDesktopBase} sg:text-muted-foreground`,
20
+ "nav-desktop-active": `${navDesktopBase} sg:text-primary sg:bg-accent`
21
+ },
22
+ size: textElementSize
23
+ };
24
+ const linkVariantsProps = cva("sg:inline-flex sg:items-center sg:gap-1", {
25
+ variants: linkVariants,
26
+ defaultVariants: {
27
+ variant: "default",
28
+ size: "base"
29
+ }
30
+ });
31
+ const iconSizeMap = {
32
+ xs: "sg:size-3",
33
+ sm: "sg:size-3.5",
34
+ md: "sg:size-4",
35
+ base: "sg:size-4",
36
+ lg: "sg:size-5",
37
+ xl: "sg:size-5",
38
+ "2xl": "sg:size-6",
39
+ "3xl": "sg:size-7",
40
+ "4xl": "sg:size-8",
41
+ "5xl": "sg:size-9"
42
+ };
43
+ const Link = ({
44
+ className,
45
+ variant,
46
+ size,
47
+ iconStart,
48
+ iconEnd,
49
+ ...props
50
+ }) => {
51
+ const LucideIconStart = iconStart && icons[iconStart];
52
+ const LucideIconEnd = iconEnd && icons[iconEnd];
53
+ const iconSize = iconSizeMap[size ?? "base"];
54
+ return /* @__PURE__ */ jsxs(
55
+ UiLink,
56
+ {
57
+ className: cn(linkVariantsProps({ variant, size }), className),
58
+ ...props,
59
+ children: [
60
+ LucideIconStart && /* @__PURE__ */ jsx(
61
+ LucideIconStart,
62
+ {
63
+ className: cn(iconSize, "sg:shrink-0"),
64
+ "data-icon": "inline-start"
65
+ }
66
+ ),
67
+ props.children,
68
+ LucideIconEnd && /* @__PURE__ */ jsx(
69
+ LucideIconEnd,
70
+ {
71
+ className: cn(iconSize, "sg:shrink-0"),
72
+ "data-icon": "inline-end"
73
+ }
74
+ )
75
+ ]
76
+ }
77
+ );
78
+ };
79
+ export {
80
+ Link,
81
+ linkVariants
82
+ };
83
+ //# sourceMappingURL=link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/primitives/link/link.tsx"],"sourcesContent":["\"use client\";\r\nimport { type BaseLinkProps } from \"singularity-components/components/providers/LinkContext\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\nimport { textElementSize } from \"../text/internal/text-element\";\r\nimport { icons } from \"lucide-react\";\r\nimport { cn } from \"../../../utils/index\";\r\nimport { UiLink } from \"../ui-link/ui-link\";\r\n\r\nconst navMobileBase =\r\n \"sg:px-3 sg:py-3 sg:rounded-md sg:text-base sg:font-medium sg:transition-colors sg:hover:text-primary\";\r\nconst navDesktopBase =\r\n \"sg:px-3 sg:py-2 sg:rounded-md sg:text-sm sg:font-medium sg:transition-colors sg:hover:text-primary\";\r\n\r\nconst linkVariants = {\r\n variant: {\r\n default:\r\n \"sg:text-primary sg:hover:underline sg:underline-offset-2 sg:decoration-primary/40 sg:hover:decoration-primary sg:font-medium\",\r\n \"no-decoration\": \"\",\r\n footer:\r\n \"sg:text-muted-foreground sg:hover:underline sg:underline-offset-4 sg:hover:text-primary sg:transition-colors\",\r\n logo: \"sg:text-2xl sg:font-bold sg:text-primary sg:hover:no-underline\",\r\n \"nav-mobile\": `${navMobileBase} sg:text-muted-foreground`,\r\n \"nav-mobile-active\": `${navMobileBase} sg:text-primary sg:bg-accent`,\r\n \"nav-desktop\": `${navDesktopBase} sg:text-muted-foreground`,\r\n \"nav-desktop-active\": `${navDesktopBase} sg:text-primary sg:bg-accent`,\r\n },\r\n size: textElementSize,\r\n};\r\n\r\nconst linkVariantsProps = cva(\"sg:inline-flex sg:items-center sg:gap-1\", {\r\n variants: linkVariants,\r\n defaultVariants: {\r\n variant: \"default\",\r\n size: \"base\",\r\n },\r\n});\r\n\r\nconst iconSizeMap: Record<string, string> = {\r\n xs: \"sg:size-3\",\r\n sm: \"sg:size-3.5\",\r\n md: \"sg:size-4\",\r\n base: \"sg:size-4\",\r\n lg: \"sg:size-5\",\r\n xl: \"sg:size-5\",\r\n \"2xl\": \"sg:size-6\",\r\n \"3xl\": \"sg:size-7\",\r\n \"4xl\": \"sg:size-8\",\r\n \"5xl\": \"sg:size-9\",\r\n};\r\n\r\ntype Props = BaseLinkProps &\r\n VariantProps<typeof linkVariantsProps> & {\r\n iconStart?: keyof typeof icons;\r\n iconEnd?: keyof typeof icons;\r\n };\r\n\r\nconst Link = ({\r\n className,\r\n variant,\r\n size,\r\n iconStart,\r\n iconEnd,\r\n ...props\r\n}: Props) => {\r\n const LucideIconStart = iconStart && icons[iconStart];\r\n const LucideIconEnd = iconEnd && icons[iconEnd];\r\n const iconSize = iconSizeMap[size ?? \"base\"];\r\n return (\r\n <UiLink\r\n className={cn(linkVariantsProps({ variant, size }), className)}\r\n {...props}\r\n >\r\n {LucideIconStart && (\r\n <LucideIconStart\r\n className={cn(iconSize, \"sg:shrink-0\")}\r\n data-icon=\"inline-start\"\r\n />\r\n )}\r\n {props.children}\r\n {LucideIconEnd && (\r\n <LucideIconEnd\r\n className={cn(iconSize, \"sg:shrink-0\")}\r\n data-icon=\"inline-end\"\r\n />\r\n )}\r\n </UiLink>\r\n );\r\n};\r\n\r\nexport { Link, linkVariants };\r\n"],"mappings":";AAoEI,SAKI,KALJ;AAnEJ,eAAmC;AACnC,SAAS,WAA8B;AACvC,SAAS,uBAAuB;AAChC,SAAS,aAAa;AACtB,SAAS,UAAU;AACnB,SAAS,cAAc;AAEvB,MAAM,gBACJ;AACF,MAAM,iBACJ;AAEF,MAAM,eAAe;AAAA,EACnB,SAAS;AAAA,IACP,SACE;AAAA,IACF,iBAAiB;AAAA,IACjB,QACE;AAAA,IACF,MAAM;AAAA,IACN,cAAc,GAAG,aAAa;AAAA,IAC9B,qBAAqB,GAAG,aAAa;AAAA,IACrC,eAAe,GAAG,cAAc;AAAA,IAChC,sBAAsB,GAAG,cAAc;AAAA,EACzC;AAAA,EACA,MAAM;AACR;AAEA,MAAM,oBAAoB,IAAI,2CAA2C;AAAA,EACvE,UAAU;AAAA,EACV,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AACF,CAAC;AAED,MAAM,cAAsC;AAAA,EAC1C,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AACT;AAQA,MAAM,OAAO,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAa;AACX,QAAM,kBAAkB,aAAa,MAAM,SAAS;AACpD,QAAM,gBAAgB,WAAW,MAAM,OAAO;AAC9C,QAAM,WAAW,YAAY,QAAQ,MAAM;AAC3C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,kBAAkB,EAAE,SAAS,KAAK,CAAC,GAAG,SAAS;AAAA,MAC5D,GAAG;AAAA,MAEH;AAAA,2BACC;AAAA,UAAC;AAAA;AAAA,YACC,WAAW,GAAG,UAAU,aAAa;AAAA,YACrC,aAAU;AAAA;AAAA,QACZ;AAAA,QAED,MAAM;AAAA,QACN,iBACC;AAAA,UAAC;AAAA;AAAA,YACC,WAAW,GAAG,UAAU,aAAa;AAAA,YACrC,aAAU;AAAA;AAAA,QACZ;AAAA;AAAA;AAAA,EAEJ;AAEJ;","names":[]}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { Separator as SeparatorPrimitive } from "@base-ui/react/separator";
4
- import { cn } from "../../../utils";
4
+ import { cn } from "../../../utils/index.js";
5
5
  function Separator({
6
6
  className,
7
7
  orientation = "horizontal",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/primitives/separator/separator.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { Separator as SeparatorPrimitive } from \"@base-ui/react/separator\";\r\nimport { cn } from \"../../../utils\";\r\n\r\nfunction Separator({\r\n className,\r\n orientation = \"horizontal\",\r\n ...props\r\n}: SeparatorPrimitive.Props) {\r\n return (\r\n <SeparatorPrimitive\r\n data-slot=\"separator\"\r\n orientation={orientation}\r\n className={cn(\r\n \"sg:bg-border sg:shrink-0 sg:data-[orientation=horizontal]:h-px sg:data-[orientation=horizontal]:w-full sg:data-[orientation=vertical]:w-px sg:data-[orientation=vertical]:self-stretch\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport { Separator };\r\n"],"mappings":";AAWI;AATJ,SAAS,aAAa,0BAA0B;AAChD,SAAS,UAAU;AAEnB,SAAS,UAAU;AAAA,EACjB;AAAA,EACA,cAAc;AAAA,EACd,GAAG;AACL,GAA6B;AAC3B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/primitives/separator/separator.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { Separator as SeparatorPrimitive } from \"@base-ui/react/separator\";\r\nimport { cn } from \"../../../utils/index\";\r\n\r\nfunction Separator({\r\n className,\r\n orientation = \"horizontal\",\r\n ...props\r\n}: SeparatorPrimitive.Props) {\r\n return (\r\n <SeparatorPrimitive\r\n data-slot=\"separator\"\r\n orientation={orientation}\r\n className={cn(\r\n \"sg:bg-border sg:shrink-0 sg:data-[orientation=horizontal]:h-px sg:data-[orientation=horizontal]:w-full sg:data-[orientation=vertical]:w-px sg:data-[orientation=vertical]:self-stretch\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport { Separator };\r\n"],"mappings":";AAWI;AATJ,SAAS,aAAa,0BAA0B;AAChD,SAAS,UAAU;AAEnB,SAAS,UAAU;AAAA,EACjB;AAAA,EACA,cAAc;AAAA,EACd,GAAG;AACL,GAA6B;AAC3B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
@@ -0,0 +1,29 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as class_variance_authority_types from 'class-variance-authority/types';
3
+ import * as React from 'react';
4
+ import * as SheetPrimitive from '@radix-ui/react-dialog';
5
+ import { VariantProps } from 'class-variance-authority';
6
+
7
+ declare const Sheet: React.FC<SheetPrimitive.DialogProps>;
8
+ declare const SheetTrigger: React.ForwardRefExoticComponent<SheetPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
9
+ declare const SheetClose: React.ForwardRefExoticComponent<SheetPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
10
+ declare const SheetPortal: React.FC<SheetPrimitive.DialogPortalProps>;
11
+ declare const SheetOverlay: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
+ declare const sheetVariants: (props?: ({
13
+ side?: "top" | "right" | "bottom" | "left" | null | undefined;
14
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
15
+ interface SheetContentProps extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>, VariantProps<typeof sheetVariants> {
16
+ }
17
+ declare const SheetContent: React.ForwardRefExoticComponent<SheetContentProps & React.RefAttributes<HTMLDivElement>>;
18
+ declare const SheetHeader: {
19
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
20
+ displayName: string;
21
+ };
22
+ declare const SheetFooter: {
23
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
24
+ displayName: string;
25
+ };
26
+ declare const SheetTitle: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
27
+ declare const SheetDescription: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
28
+
29
+ export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger };