singularity-components 0.1.107 → 0.1.127

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 (319) hide show
  1. package/README.md +15 -15
  2. package/dist/components/index.d.ts +32 -0
  3. package/dist/components/index.js +4 -26
  4. package/dist/components/index.js.map +1 -0
  5. package/dist/components/primitives/accordion/accordion.d.ts +10 -0
  6. package/dist/components/primitives/accordion/accordion.js +67 -0
  7. package/dist/components/primitives/accordion/accordion.js.map +1 -0
  8. package/dist/components/primitives/accordion/accordion.stories.d.ts +16 -0
  9. package/dist/components/primitives/accordion/accordion.stories.js +61 -0
  10. package/dist/components/primitives/accordion/accordion.stories.js.map +1 -0
  11. package/dist/components/primitives/alert/alert.d.ts +19 -0
  12. package/dist/components/primitives/alert/alert.js +70 -0
  13. package/dist/components/primitives/alert/alert.js.map +1 -0
  14. package/dist/components/primitives/alert/alert.stories.d.ts +22 -0
  15. package/dist/components/primitives/alert/alert.stories.js +37 -0
  16. package/dist/components/primitives/alert/alert.stories.js.map +1 -0
  17. package/dist/components/primitives/badge/badge.d.ts +13 -0
  18. package/dist/components/primitives/badge/badge.js +42 -0
  19. package/dist/components/primitives/badge/badge.js.map +1 -0
  20. package/dist/components/primitives/badge/badges.d.ts +8 -0
  21. package/dist/components/primitives/badge/badges.js +10 -0
  22. package/dist/components/primitives/badge/badges.js.map +1 -0
  23. package/dist/components/primitives/button/button.d.ts +36 -0
  24. package/dist/components/primitives/button/button.js +74 -0
  25. package/dist/components/primitives/button/button.js.map +1 -0
  26. package/dist/components/primitives/button/button.stories.d.ts +37 -0
  27. package/dist/components/primitives/button/button.stories.js +87 -0
  28. package/dist/components/primitives/button/button.stories.js.map +1 -0
  29. package/dist/components/primitives/icon/icon.d.ts +32 -0
  30. package/dist/components/primitives/icon/icon.js +53 -0
  31. package/dist/components/primitives/icon/icon.js.map +1 -0
  32. package/dist/components/primitives/icon/icon.stories.d.ts +24 -0
  33. package/dist/components/primitives/icon/icon.stories.js +27 -0
  34. package/dist/components/primitives/icon/icon.stories.js.map +1 -0
  35. package/dist/components/primitives/index.d.ts +29 -0
  36. package/dist/components/primitives/index.js +20 -0
  37. package/dist/components/primitives/index.js.map +1 -0
  38. package/dist/components/primitives/input/input.d.ts +6 -0
  39. package/dist/components/primitives/input/input.js +23 -0
  40. package/dist/components/primitives/input/input.js.map +1 -0
  41. package/dist/components/primitives/layout/layout.d.ts +53 -0
  42. package/dist/components/primitives/layout/layout.js +93 -0
  43. package/dist/components/primitives/layout/layout.js.map +1 -0
  44. package/dist/components/primitives/layout/layout.stories.d.ts +32 -0
  45. package/dist/components/primitives/layout/layout.stories.js +72 -0
  46. package/dist/components/primitives/layout/layout.stories.js.map +1 -0
  47. package/dist/components/primitives/separator/separator.d.ts +7 -0
  48. package/dist/components/primitives/separator/separator.js +39 -0
  49. package/dist/components/primitives/separator/separator.js.map +1 -0
  50. package/dist/components/primitives/separator/separator.stories.d.ts +16 -0
  51. package/dist/components/primitives/separator/separator.stories.js +18 -0
  52. package/dist/components/primitives/separator/separator.stories.js.map +1 -0
  53. package/dist/components/primitives/skeleton/skeleton.d.ts +5 -0
  54. package/dist/components/primitives/skeleton/skeleton.js +16 -0
  55. package/dist/components/primitives/skeleton/skeleton.js.map +1 -0
  56. package/dist/components/primitives/skeleton/skeleton.stories.d.ts +13 -0
  57. package/dist/components/primitives/skeleton/skeleton.stories.js +16 -0
  58. package/dist/components/primitives/skeleton/skeleton.stories.js.map +1 -0
  59. package/dist/components/primitives/spinner/spinner.d.ts +10 -0
  60. package/dist/components/primitives/spinner/spinner.js +80 -0
  61. package/dist/components/primitives/spinner/spinner.js.map +1 -0
  62. package/dist/components/primitives/spinner/spinner.stories.d.ts +16 -0
  63. package/dist/components/primitives/spinner/spinner.stories.js +35 -0
  64. package/dist/components/primitives/spinner/spinner.stories.js.map +1 -0
  65. package/dist/components/primitives/stack/stack.d.ts +13 -0
  66. package/dist/components/primitives/stack/stack.js +44 -0
  67. package/dist/components/primitives/stack/stack.js.map +1 -0
  68. package/dist/components/primitives/stack/stack.stories.d.ts +13 -0
  69. package/dist/components/primitives/stack/stack.stories.js +26 -0
  70. package/dist/components/primitives/stack/stack.stories.js.map +1 -0
  71. package/dist/components/primitives/table/table.d.ts +13 -0
  72. package/dist/components/primitives/table/table.js +117 -0
  73. package/dist/components/primitives/table/table.js.map +1 -0
  74. package/dist/components/primitives/text/internal/text-element.d.ts +62 -0
  75. package/dist/components/primitives/text/internal/text-element.js +78 -0
  76. package/dist/components/primitives/text/internal/text-element.js.map +1 -0
  77. package/dist/components/primitives/text/text-div.d.ts +10 -0
  78. package/dist/components/primitives/text/text-div.js +35 -0
  79. package/dist/components/primitives/text/text-div.js.map +1 -0
  80. package/dist/components/primitives/text/text-div.stories.d.ts +32 -0
  81. package/dist/components/primitives/text/text-div.stories.js +59 -0
  82. package/dist/components/primitives/text/text-div.stories.js.map +1 -0
  83. package/dist/components/primitives/text/text-heading.d.ts +26 -0
  84. package/dist/components/primitives/text/text-heading.js +53 -0
  85. package/dist/components/primitives/text/text-heading.js.map +1 -0
  86. package/dist/components/primitives/text/text-heading.stories.d.ts +27 -0
  87. package/dist/components/primitives/text/text-heading.stories.js +47 -0
  88. package/dist/components/primitives/text/text-heading.stories.js.map +1 -0
  89. package/dist/components/primitives/text/text-paragraph.d.ts +10 -0
  90. package/dist/components/primitives/text/text-paragraph.js +35 -0
  91. package/dist/components/primitives/text/text-paragraph.js.map +1 -0
  92. package/dist/components/primitives/text/text-span.d.ts +10 -0
  93. package/dist/components/primitives/text/text-span.js +35 -0
  94. package/dist/components/primitives/text/text-span.js.map +1 -0
  95. package/dist/components/primitives/text/text-span.stories.d.ts +31 -0
  96. package/dist/components/primitives/text/text-span.stories.js +59 -0
  97. package/dist/components/primitives/text/text-span.stories.js.map +1 -0
  98. package/dist/components/primitives/text/text-time.d.ts +10 -0
  99. package/dist/components/primitives/text/text-time.js +35 -0
  100. package/dist/components/primitives/text/text-time.js.map +1 -0
  101. package/dist/components/primitives/ui-image.d.ts +6 -0
  102. package/dist/components/primitives/ui-image.js +26 -0
  103. package/dist/components/primitives/ui-image.js.map +1 -0
  104. package/dist/components/providers/ImageContext.d.ts +17 -0
  105. package/dist/components/providers/ImageContext.js +23 -0
  106. package/dist/components/providers/ImageContext.js.map +1 -0
  107. package/dist/components/providers/index.d.ts +2 -0
  108. package/dist/components/providers/index.js +2 -0
  109. package/dist/components/providers/index.js.map +1 -0
  110. package/dist/components/units/cards/blog-card.d.ts +18 -0
  111. package/dist/components/units/cards/blog-card.js +80 -0
  112. package/dist/components/units/cards/blog-card.js.map +1 -0
  113. package/dist/components/units/cards/card.d.ts +15 -0
  114. package/dist/components/units/cards/card.js +89 -0
  115. package/dist/components/units/cards/card.js.map +1 -0
  116. package/dist/components/units/cards/cards.d.ts +17 -0
  117. package/dist/components/units/cards/cards.js +37 -0
  118. package/dist/components/units/cards/cards.js.map +1 -0
  119. package/dist/components/units/index.d.ts +5 -0
  120. package/dist/components/units/index.js +4 -0
  121. package/dist/components/units/index.js.map +1 -0
  122. package/dist/index.d.ts +32 -0
  123. package/dist/index.js +2 -0
  124. package/dist/index.js.map +1 -0
  125. package/dist/{common.d.ts → lib/helpers/date.d.ts} +1 -3
  126. package/dist/lib/helpers/date.js +14 -0
  127. package/dist/lib/helpers/date.js.map +1 -0
  128. package/dist/lib/helpers/index.d.ts +1 -0
  129. package/dist/lib/helpers/index.js +2 -0
  130. package/dist/lib/helpers/index.js.map +1 -0
  131. package/dist/lib/index.d.ts +1 -0
  132. package/dist/lib/index.js +2 -0
  133. package/dist/lib/index.js.map +1 -0
  134. package/dist/lib/try-catch.d.ts +12 -0
  135. package/dist/lib/try-catch.js +12 -0
  136. package/dist/lib/try-catch.js.map +1 -0
  137. package/dist/lib/types.d.ts +8 -5
  138. package/dist/lib/types.js +1 -0
  139. package/dist/lib/types.js.map +1 -0
  140. package/dist/main.css +1823 -0
  141. package/dist/main.css.map +1 -0
  142. package/dist/main.d.ts +2 -24
  143. package/dist/main.js +3 -25
  144. package/dist/main.js.map +1 -0
  145. package/dist/utils.d.ts +5 -0
  146. package/dist/utils.js +19 -12
  147. package/dist/utils.js.map +1 -1
  148. package/package.json +78 -67
  149. package/dist/_virtual/rolldown_runtime.cjs +0 -29
  150. package/dist/_virtual/rolldown_runtime.js +0 -30
  151. package/dist/common.cjs +0 -11
  152. package/dist/common.cjs.map +0 -1
  153. package/dist/common.css +0 -280
  154. package/dist/common.css.map +0 -1
  155. package/dist/common.d.cts +0 -5
  156. package/dist/common.js +0 -10
  157. package/dist/common.js.map +0 -1
  158. package/dist/components/client/index.cjs +0 -7
  159. package/dist/components/client/index.js +0 -9
  160. package/dist/components/client/primitives/accordion/accordion.cjs +0 -57
  161. package/dist/components/client/primitives/accordion/accordion.cjs.map +0 -1
  162. package/dist/components/client/primitives/accordion/accordion.d.cts +0 -25
  163. package/dist/components/client/primitives/accordion/accordion.d.ts +0 -25
  164. package/dist/components/client/primitives/accordion/accordion.js +0 -51
  165. package/dist/components/client/primitives/accordion/accordion.js.map +0 -1
  166. package/dist/components/client/primitives/index.cjs +0 -4
  167. package/dist/components/client/primitives/index.js +0 -6
  168. package/dist/components/client/primitives/separator/separator.cjs +0 -26
  169. package/dist/components/client/primitives/separator/separator.cjs.map +0 -1
  170. package/dist/components/client/primitives/separator/separator.d.cts +0 -14
  171. package/dist/components/client/primitives/separator/separator.d.ts +0 -14
  172. package/dist/components/client/primitives/separator/separator.js +0 -22
  173. package/dist/components/client/primitives/separator/separator.js.map +0 -1
  174. package/dist/components/client/primitives/table/table.cjs +0 -82
  175. package/dist/components/client/primitives/table/table.cjs.map +0 -1
  176. package/dist/components/client/primitives/table/table.d.cts +0 -39
  177. package/dist/components/client/primitives/table/table.d.ts +0 -39
  178. package/dist/components/client/primitives/table/table.js +0 -72
  179. package/dist/components/client/primitives/table/table.js.map +0 -1
  180. package/dist/components/client/primitives/ui-image.cjs +0 -24
  181. package/dist/components/client/primitives/ui-image.cjs.map +0 -1
  182. package/dist/components/client/primitives/ui-image.d.cts +0 -8
  183. package/dist/components/client/primitives/ui-image.d.ts +0 -8
  184. package/dist/components/client/primitives/ui-image.js +0 -21
  185. package/dist/components/client/primitives/ui-image.js.map +0 -1
  186. package/dist/components/client/providers/ImageContext.cjs +0 -30
  187. package/dist/components/client/providers/ImageContext.cjs.map +0 -1
  188. package/dist/components/client/providers/ImageContext.d.cts +0 -18
  189. package/dist/components/client/providers/ImageContext.d.ts +0 -18
  190. package/dist/components/client/providers/ImageContext.js +0 -26
  191. package/dist/components/client/providers/ImageContext.js.map +0 -1
  192. package/dist/components/client/providers/index.cjs +0 -1
  193. package/dist/components/client/providers/index.js +0 -3
  194. package/dist/components/index.cjs +0 -24
  195. package/dist/components/server/index.cjs +0 -18
  196. package/dist/components/server/index.js +0 -20
  197. package/dist/components/server/primitives/alert/alert.cjs +0 -47
  198. package/dist/components/server/primitives/alert/alert.cjs.map +0 -1
  199. package/dist/components/server/primitives/alert/alert.d.cts +0 -31
  200. package/dist/components/server/primitives/alert/alert.d.ts +0 -31
  201. package/dist/components/server/primitives/alert/alert.js +0 -40
  202. package/dist/components/server/primitives/alert/alert.js.map +0 -1
  203. package/dist/components/server/primitives/badge/badge.cjs +0 -33
  204. package/dist/components/server/primitives/badge/badge.cjs.map +0 -1
  205. package/dist/components/server/primitives/badge/badge.d.cts +0 -20
  206. package/dist/components/server/primitives/badge/badge.d.ts +0 -20
  207. package/dist/components/server/primitives/badge/badge.js +0 -27
  208. package/dist/components/server/primitives/badge/badge.js.map +0 -1
  209. package/dist/components/server/primitives/badge/badges.cjs +0 -19
  210. package/dist/components/server/primitives/badge/badges.cjs.map +0 -1
  211. package/dist/components/server/primitives/badge/badges.d.cts +0 -13
  212. package/dist/components/server/primitives/badge/badges.d.ts +0 -13
  213. package/dist/components/server/primitives/badge/badges.js +0 -16
  214. package/dist/components/server/primitives/badge/badges.js.map +0 -1
  215. package/dist/components/server/primitives/button/button.cjs +0 -65
  216. package/dist/components/server/primitives/button/button.cjs.map +0 -1
  217. package/dist/components/server/primitives/button/button.d.cts +0 -49
  218. package/dist/components/server/primitives/button/button.d.ts +0 -49
  219. package/dist/components/server/primitives/button/button.js +0 -58
  220. package/dist/components/server/primitives/button/button.js.map +0 -1
  221. package/dist/components/server/primitives/cards/blog-card.cjs +0 -10
  222. package/dist/components/server/primitives/cards/blog-card.d.cts +0 -14
  223. package/dist/components/server/primitives/cards/blog-card.d.ts +0 -16
  224. package/dist/components/server/primitives/cards/blog-card.js +0 -10
  225. package/dist/components/server/primitives/cards/card.cjs +0 -66
  226. package/dist/components/server/primitives/cards/card.cjs.map +0 -1
  227. package/dist/components/server/primitives/cards/card.d.cts +0 -17
  228. package/dist/components/server/primitives/cards/card.d.ts +0 -17
  229. package/dist/components/server/primitives/cards/card.js +0 -57
  230. package/dist/components/server/primitives/cards/card.js.map +0 -1
  231. package/dist/components/server/primitives/cards/cards.cjs +0 -36
  232. package/dist/components/server/primitives/cards/cards.cjs.map +0 -1
  233. package/dist/components/server/primitives/cards/cards.d.cts +0 -24
  234. package/dist/components/server/primitives/cards/cards.d.ts +0 -24
  235. package/dist/components/server/primitives/cards/cards.js +0 -32
  236. package/dist/components/server/primitives/cards/cards.js.map +0 -1
  237. package/dist/components/server/primitives/icon/icon.cjs +0 -54
  238. package/dist/components/server/primitives/icon/icon.cjs.map +0 -1
  239. package/dist/components/server/primitives/icon/icon.d.cts +0 -41
  240. package/dist/components/server/primitives/icon/icon.d.ts +0 -41
  241. package/dist/components/server/primitives/icon/icon.js +0 -49
  242. package/dist/components/server/primitives/icon/icon.js.map +0 -1
  243. package/dist/components/server/primitives/index.cjs +0 -18
  244. package/dist/components/server/primitives/index.js +0 -20
  245. package/dist/components/server/primitives/input/input.cjs +0 -20
  246. package/dist/components/server/primitives/input/input.cjs.map +0 -1
  247. package/dist/components/server/primitives/input/input.d.cts +0 -12
  248. package/dist/components/server/primitives/input/input.d.ts +0 -12
  249. package/dist/components/server/primitives/input/input.js +0 -17
  250. package/dist/components/server/primitives/input/input.js.map +0 -1
  251. package/dist/components/server/primitives/layout/layout.cjs +0 -83
  252. package/dist/components/server/primitives/layout/layout.cjs.map +0 -1
  253. package/dist/components/server/primitives/layout/layout.d.cts +0 -69
  254. package/dist/components/server/primitives/layout/layout.d.ts +0 -69
  255. package/dist/components/server/primitives/layout/layout.js +0 -77
  256. package/dist/components/server/primitives/layout/layout.js.map +0 -1
  257. package/dist/components/server/primitives/skeleton/skeleton.cjs +0 -17
  258. package/dist/components/server/primitives/skeleton/skeleton.cjs.map +0 -1
  259. package/dist/components/server/primitives/skeleton/skeleton.d.cts +0 -10
  260. package/dist/components/server/primitives/skeleton/skeleton.d.ts +0 -10
  261. package/dist/components/server/primitives/skeleton/skeleton.js +0 -15
  262. package/dist/components/server/primitives/skeleton/skeleton.js.map +0 -1
  263. package/dist/components/server/primitives/spinner/spinner.cjs +0 -33
  264. package/dist/components/server/primitives/spinner/spinner.cjs.map +0 -1
  265. package/dist/components/server/primitives/spinner/spinner.d.cts +0 -16
  266. package/dist/components/server/primitives/spinner/spinner.d.ts +0 -16
  267. package/dist/components/server/primitives/spinner/spinner.js +0 -31
  268. package/dist/components/server/primitives/spinner/spinner.js.map +0 -1
  269. package/dist/components/server/primitives/stack/stack.cjs +0 -41
  270. package/dist/components/server/primitives/stack/stack.cjs.map +0 -1
  271. package/dist/components/server/primitives/stack/stack.d.cts +0 -15
  272. package/dist/components/server/primitives/stack/stack.d.ts +0 -15
  273. package/dist/components/server/primitives/stack/stack.js +0 -35
  274. package/dist/components/server/primitives/stack/stack.js.map +0 -1
  275. package/dist/components/server/primitives/text/internal/text-element.cjs +0 -67
  276. package/dist/components/server/primitives/text/internal/text-element.cjs.map +0 -1
  277. package/dist/components/server/primitives/text/internal/text-element.d.cts +0 -17
  278. package/dist/components/server/primitives/text/internal/text-element.d.ts +0 -18
  279. package/dist/components/server/primitives/text/internal/text-element.js +0 -62
  280. package/dist/components/server/primitives/text/internal/text-element.js.map +0 -1
  281. package/dist/components/server/primitives/text/text-div.cjs +0 -23
  282. package/dist/components/server/primitives/text/text-div.cjs.map +0 -1
  283. package/dist/components/server/primitives/text/text-div.d.cts +0 -16
  284. package/dist/components/server/primitives/text/text-div.d.ts +0 -16
  285. package/dist/components/server/primitives/text/text-div.js +0 -21
  286. package/dist/components/server/primitives/text/text-div.js.map +0 -1
  287. package/dist/components/server/primitives/text/text-heading.cjs +0 -36
  288. package/dist/components/server/primitives/text/text-heading.cjs.map +0 -1
  289. package/dist/components/server/primitives/text/text-heading.d.cts +0 -34
  290. package/dist/components/server/primitives/text/text-heading.d.ts +0 -34
  291. package/dist/components/server/primitives/text/text-heading.js +0 -31
  292. package/dist/components/server/primitives/text/text-heading.js.map +0 -1
  293. package/dist/components/server/primitives/text/text-paragraph.cjs +0 -23
  294. package/dist/components/server/primitives/text/text-paragraph.cjs.map +0 -1
  295. package/dist/components/server/primitives/text/text-paragraph.d.cts +0 -16
  296. package/dist/components/server/primitives/text/text-paragraph.d.ts +0 -16
  297. package/dist/components/server/primitives/text/text-paragraph.js +0 -21
  298. package/dist/components/server/primitives/text/text-paragraph.js.map +0 -1
  299. package/dist/components/server/primitives/text/text-span.cjs +0 -23
  300. package/dist/components/server/primitives/text/text-span.cjs.map +0 -1
  301. package/dist/components/server/primitives/text/text-span.d.cts +0 -16
  302. package/dist/components/server/primitives/text/text-span.d.ts +0 -16
  303. package/dist/components/server/primitives/text/text-span.js +0 -21
  304. package/dist/components/server/primitives/text/text-span.js.map +0 -1
  305. package/dist/components/server/primitives/text/text-time.cjs +0 -23
  306. package/dist/components/server/primitives/text/text-time.cjs.map +0 -1
  307. package/dist/components/server/primitives/text/text-time.d.cts +0 -16
  308. package/dist/components/server/primitives/text/text-time.d.ts +0 -16
  309. package/dist/components/server/primitives/text/text-time.js +0 -21
  310. package/dist/components/server/primitives/text/text-time.js.map +0 -1
  311. package/dist/lib/types.d.cts +0 -6
  312. package/dist/main.cjs +0 -77
  313. package/dist/main.d.cts +0 -24
  314. package/dist/node_modules/lucide-react/dist/cjs/lucide-react.cjs +0 -33010
  315. package/dist/node_modules/lucide-react/dist/cjs/lucide-react.cjs.map +0 -1
  316. package/dist/node_modules/lucide-react/dist/cjs/lucide-react.js +0 -33007
  317. package/dist/node_modules/lucide-react/dist/cjs/lucide-react.js.map +0 -1
  318. package/dist/utils.cjs +0 -20
  319. package/dist/utils.cjs.map +0 -1
@@ -0,0 +1,35 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { cn } from "../../../utils";
3
+ import {
4
+ TextElement,
5
+ textElementVariantsProps
6
+ } from "./internal/text-element";
7
+ const TextSpan = ({
8
+ children,
9
+ size,
10
+ foreground,
11
+ fontweight,
12
+ className,
13
+ ...props
14
+ }) => {
15
+ return /* @__PURE__ */ jsx(
16
+ TextElement,
17
+ {
18
+ as: "span",
19
+ className: cn(
20
+ textElementVariantsProps({
21
+ size,
22
+ foreground,
23
+ fontweight
24
+ }),
25
+ className
26
+ ),
27
+ ...props,
28
+ children
29
+ }
30
+ );
31
+ };
32
+ export {
33
+ TextSpan
34
+ };
35
+ //# sourceMappingURL=text-span.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/primitives/text/text-span.tsx"],"sourcesContent":["import type { OmitClassProperty } from \"@/lib/types\";\nimport { cn } from \"../../../utils\";\nimport {\n type TextElementProps,\n TextElement,\n textElementVariantsProps,\n} from \"./internal/text-element\";\n\nexport const TextSpan = ({\n children,\n size,\n foreground,\n fontweight,\n className,\n ...props\n}: OmitClassProperty<TextElementProps, \"as\">) => {\n return (\n <TextElement\n as=\"span\"\n className={cn(\n textElementVariantsProps({\n size,\n foreground,\n fontweight,\n }),\n className\n )}\n {...props}\n >\n {children}\n </TextElement>\n );\n};\n"],"mappings":"AAiBI;AAhBJ,SAAS,UAAU;AACnB;AAAA,EAEE;AAAA,EACA;AAAA,OACK;AAEA,MAAM,WAAW,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAiD;AAC/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,IAAG;AAAA,MACH,WAAW;AAAA,QACT,yBAAyB;AAAA,UACvB;AAAA,UACA;AAAA,UACA;AAAA,QACF,CAAC;AAAA,QACD;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,EACH;AAEJ;","names":[]}
@@ -0,0 +1,31 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { OmitClassProperty } from '../../../lib/types.js';
3
+ import { TextElementProps } from './internal/text-element.js';
4
+ import { StoryObj } from '@storybook/react-vite';
5
+ import 'class-variance-authority/types';
6
+ import 'react';
7
+ import 'class-variance-authority';
8
+
9
+ declare const meta: {
10
+ component: ({ children, size, foreground, fontweight, className, ...props }: OmitClassProperty<TextElementProps, "as">) => react_jsx_runtime.JSX.Element;
11
+ title: string;
12
+ argTypes: {
13
+ fontweight: {
14
+ options: string[];
15
+ };
16
+ foreground: {
17
+ options: string[];
18
+ };
19
+ size: {
20
+ options: string[];
21
+ };
22
+ };
23
+ };
24
+ type Story = StoryObj<typeof meta>;
25
+ declare const sm: Story;
26
+ declare const md: Story;
27
+ declare const base: Story;
28
+ declare const lg: Story;
29
+ declare const lg_gradient: Story;
30
+
31
+ export { base, meta as default, lg, lg_gradient, md, sm };
@@ -0,0 +1,59 @@
1
+ import { TextSpan } from "./text-span";
2
+ import { textElementVariants } from "./internal/text-element";
3
+ const meta = {
4
+ component: TextSpan,
5
+ title: "Text Span",
6
+ argTypes: {
7
+ fontweight: {
8
+ options: Object.keys(textElementVariants.fontweight)
9
+ },
10
+ foreground: {
11
+ options: Object.keys(textElementVariants.foreground)
12
+ },
13
+ size: {
14
+ options: Object.keys(textElementVariants.size)
15
+ }
16
+ }
17
+ };
18
+ const sm = {
19
+ args: {
20
+ size: "sm",
21
+ children: "sm"
22
+ }
23
+ };
24
+ const md = {
25
+ args: {
26
+ size: "md",
27
+ children: "md"
28
+ }
29
+ };
30
+ const base = {
31
+ args: {
32
+ size: "base",
33
+ children: "base"
34
+ }
35
+ };
36
+ const lg = {
37
+ args: {
38
+ size: "lg",
39
+ children: "lg"
40
+ }
41
+ };
42
+ const lg_gradient = {
43
+ args: {
44
+ size: "lg",
45
+ children: "lg_primary-to-pink",
46
+ foreground: "primary-to-pink",
47
+ fontweight: "bold"
48
+ }
49
+ };
50
+ var text_span_stories_default = meta;
51
+ export {
52
+ base,
53
+ text_span_stories_default as default,
54
+ lg,
55
+ lg_gradient,
56
+ md,
57
+ sm
58
+ };
59
+ //# sourceMappingURL=text-span.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/primitives/text/text-span.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport { TextSpan } from \"./text-span\";\nimport { textElementVariants } from \"./internal/text-element\";\n\nconst meta = {\n component: TextSpan,\n title: \"Text Span\",\n argTypes: {\n fontweight: {\n options: Object.keys(textElementVariants.fontweight),\n },\n foreground: {\n options: Object.keys(textElementVariants.foreground),\n },\n size: {\n options: Object.keys(textElementVariants.size),\n },\n },\n} satisfies Meta<typeof TextSpan>;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const sm: Story = {\n args: {\n size: \"sm\",\n children: \"sm\",\n },\n};\n\nexport const md: Story = {\n args: {\n size: \"md\",\n children: \"md\",\n },\n};\n\nexport const base: Story = {\n args: {\n size: \"base\",\n children: \"base\",\n },\n};\n\nexport const lg: Story = {\n args: {\n size: \"lg\",\n children: \"lg\",\n },\n};\n\nexport const lg_gradient: Story = {\n args: {\n size: \"lg\",\n children: \"lg_primary-to-pink\",\n foreground: \"primary-to-pink\",\n fontweight: \"bold\",\n },\n};\n\nexport default meta;\n"],"mappings":"AACA,SAAS,gBAAgB;AACzB,SAAS,2BAA2B;AAEpC,MAAM,OAAO;AAAA,EACX,WAAW;AAAA,EACX,OAAO;AAAA,EACP,UAAU;AAAA,IACR,YAAY;AAAA,MACV,SAAS,OAAO,KAAK,oBAAoB,UAAU;AAAA,IACrD;AAAA,IACA,YAAY;AAAA,MACV,SAAS,OAAO,KAAK,oBAAoB,UAAU;AAAA,IACrD;AAAA,IACA,MAAM;AAAA,MACJ,SAAS,OAAO,KAAK,oBAAoB,IAAI;AAAA,IAC/C;AAAA,EACF;AACF;AAIO,MAAM,KAAY;AAAA,EACvB,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AACF;AAEO,MAAM,KAAY;AAAA,EACvB,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AACF;AAEO,MAAM,OAAc;AAAA,EACzB,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AACF;AAEO,MAAM,KAAY;AAAA,EACvB,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AACF;AAEO,MAAM,cAAqB;AAAA,EAChC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,YAAY;AAAA,EACd;AACF;AAEA,IAAO,4BAAQ;","names":[]}
@@ -0,0 +1,10 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { TextElementProps } from './internal/text-element.js';
3
+ import { OmitClassProperty } from '../../../lib/types.js';
4
+ import 'class-variance-authority/types';
5
+ import 'react';
6
+ import 'class-variance-authority';
7
+
8
+ declare const TextTime: ({ children, size, foreground, fontweight, className, ...props }: OmitClassProperty<TextElementProps, "as">) => react_jsx_runtime.JSX.Element;
9
+
10
+ export { TextTime };
@@ -0,0 +1,35 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { cn } from "../../../utils";
3
+ import {
4
+ TextElement,
5
+ textElementVariantsProps
6
+ } from "./internal/text-element";
7
+ const TextTime = ({
8
+ children,
9
+ size,
10
+ foreground,
11
+ fontweight,
12
+ className,
13
+ ...props
14
+ }) => {
15
+ return /* @__PURE__ */ jsx(
16
+ TextElement,
17
+ {
18
+ as: "time",
19
+ className: cn(
20
+ textElementVariantsProps({
21
+ size,
22
+ foreground,
23
+ fontweight
24
+ }),
25
+ className
26
+ ),
27
+ ...props,
28
+ children
29
+ }
30
+ );
31
+ };
32
+ export {
33
+ TextTime
34
+ };
35
+ //# sourceMappingURL=text-time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/primitives/text/text-time.tsx"],"sourcesContent":["import { cn } from \"../../../utils\";\nimport {\n type TextElementProps,\n TextElement,\n textElementVariantsProps,\n} from \"./internal/text-element\";\nimport type { OmitClassProperty } from \"@/lib/types\";\n\nexport const TextTime = ({\n children,\n size,\n foreground,\n fontweight,\n className,\n ...props\n}: OmitClassProperty<TextElementProps, \"as\">) => {\n return (\n <TextElement\n as=\"time\"\n className={cn(\n textElementVariantsProps({\n size,\n foreground,\n fontweight,\n }),\n className\n )}\n {...props}\n >\n {children}\n </TextElement>\n );\n};\n"],"mappings":"AAiBI;AAjBJ,SAAS,UAAU;AACnB;AAAA,EAEE;AAAA,EACA;AAAA,OACK;AAGA,MAAM,WAAW,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAiD;AAC/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,IAAG;AAAA,MACH,WAAW;AAAA,QACT,yBAAyB;AAAA,UACvB;AAAA,UACA;AAAA,UACA;AAAA,QACF,CAAC;AAAA,QACD;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,EACH;AAEJ;","names":[]}
@@ -0,0 +1,6 @@
1
+ import React__default from 'react';
2
+ import { BaseImageProps } from '../providers/ImageContext.js';
3
+
4
+ declare const UiImage: React__default.FC<BaseImageProps>;
5
+
6
+ export { UiImage };
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import React, { useEffect, useState } from "react";
4
+ import { useImage } from "../providers/ImageContext";
5
+ const UiImage = (props) => {
6
+ const [isClient, setIsClient] = useState(false);
7
+ const ImageComponent = useImage();
8
+ useEffect(() => {
9
+ setIsClient(true);
10
+ }, []);
11
+ if (!isClient) {
12
+ return /* @__PURE__ */ jsx(
13
+ "img",
14
+ {
15
+ src: props.src,
16
+ alt: props.alt,
17
+ className: props.className
18
+ }
19
+ );
20
+ }
21
+ return /* @__PURE__ */ jsx(ImageComponent, { ...props });
22
+ };
23
+ export {
24
+ UiImage
25
+ };
26
+ //# sourceMappingURL=ui-image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/primitives/ui-image.tsx"],"sourcesContent":["\"use client\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useImage, type BaseImageProps } from \"../providers/ImageContext\";\r\n\r\nexport const UiImage: React.FC<BaseImageProps> = (props) => {\r\n const [isClient, setIsClient] = useState(false);\r\n const ImageComponent = useImage();\r\n\r\n useEffect(() => {\r\n setIsClient(true);\r\n }, []);\r\n\r\n if (!isClient) {\r\n return (\r\n <img\r\n // {...props}\r\n src={props.src}\r\n alt={props.alt}\r\n className={props.className}\r\n />\r\n );\r\n }\r\n\r\n return <ImageComponent {...props} />;\r\n};\r\n"],"mappings":";AAcM;AAbN,OAAO,SAAS,WAAW,gBAAgB;AAC3C,SAAS,gBAAqC;AAEvC,MAAM,UAAoC,CAAC,UAAU;AAC1D,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAC9C,QAAM,iBAAiB,SAAS;AAEhC,YAAU,MAAM;AACd,gBAAY,IAAI;AAAA,EAClB,GAAG,CAAC,CAAC;AAEL,MAAI,CAAC,UAAU;AACb,WACE;AAAA,MAAC;AAAA;AAAA,QAEC,KAAK,MAAM;AAAA,QACX,KAAK,MAAM;AAAA,QACX,WAAW,MAAM;AAAA;AAAA,IACnB;AAAA,EAEJ;AAEA,SAAO,oBAAC,kBAAgB,GAAG,OAAO;AACpC;","names":[]}
@@ -0,0 +1,17 @@
1
+ import React__default, { ReactNode } from 'react';
2
+
3
+ interface BaseImageProps {
4
+ src: string;
5
+ alt?: string;
6
+ className?: string;
7
+ [key: string]: any;
8
+ }
9
+ type ImageComponentType<P extends BaseImageProps = BaseImageProps> = React__default.ComponentType<P>;
10
+ interface ImageProviderProps {
11
+ ImageComponent: ImageComponentType;
12
+ children: ReactNode;
13
+ }
14
+ declare const ImageProvider: React__default.FC<ImageProviderProps>;
15
+ declare const useImage: <P extends BaseImageProps = BaseImageProps>() => ImageComponentType<P>;
16
+
17
+ export { type BaseImageProps, type ImageComponentType, ImageProvider, useImage };
@@ -0,0 +1,23 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import React, { createContext, useContext } from "react";
4
+ const DefaultImage = ({ src, alt, ...rest }) => /* @__PURE__ */ jsx("img", { src, alt, ...rest });
5
+ const ImageContext = createContext({
6
+ ImageComponent: DefaultImage
7
+ });
8
+ const ImageProvider = ({
9
+ ImageComponent,
10
+ children
11
+ }) => /* @__PURE__ */ jsx(ImageContext.Provider, { value: { ImageComponent }, children });
12
+ const useImage = () => {
13
+ const ctx = useContext(ImageContext);
14
+ if (!ctx) {
15
+ throw new Error("useImage must be used within an ImageProvider");
16
+ }
17
+ return ctx.ImageComponent;
18
+ };
19
+ export {
20
+ ImageProvider,
21
+ useImage
22
+ };
23
+ //# sourceMappingURL=ImageContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/providers/ImageContext.tsx"],"sourcesContent":["\"use client\";\r\nimport React, { createContext, useContext, type ReactNode } from \"react\";\r\n\r\n// Define a generic interface for props all images share\r\nexport interface BaseImageProps {\r\n src: string;\r\n alt?: string;\r\n className?: string;\r\n [key: string]: any; // allow framework-specific props (e.g., width, height, priority)\r\n}\r\n\r\n// Define the ImageComponent type\r\nexport type ImageComponentType<P extends BaseImageProps = BaseImageProps> =\r\n React.ComponentType<P>;\r\n\r\n// Define the context value\r\ninterface ImageContextValue {\r\n ImageComponent: ImageComponentType;\r\n}\r\n\r\n// Default <img> fallback\r\nconst DefaultImage: ImageComponentType = ({ src, alt, ...rest }) => (\r\n <img src={src} alt={alt} {...rest} />\r\n);\r\n\r\n// Create the context\r\nconst ImageContext = createContext<ImageContextValue>({\r\n ImageComponent: DefaultImage,\r\n});\r\n\r\n// Provider props (type-safe)\r\ninterface ImageProviderProps {\r\n ImageComponent: ImageComponentType;\r\n children: ReactNode;\r\n}\r\n\r\nexport const ImageProvider: React.FC<ImageProviderProps> = ({\r\n ImageComponent,\r\n children,\r\n}) => (\r\n <ImageContext.Provider value={{ ImageComponent }}>\r\n {children}\r\n </ImageContext.Provider>\r\n);\r\n\r\nexport const useImage = <\r\n P extends BaseImageProps = BaseImageProps\r\n>(): ImageComponentType<P> => {\r\n const ctx = useContext(ImageContext);\r\n if (!ctx) {\r\n throw new Error(\"useImage must be used within an ImageProvider\");\r\n }\r\n return ctx.ImageComponent as ImageComponentType<P>;\r\n};\r\n"],"mappings":";AAsBE;AArBF,OAAO,SAAS,eAAe,kBAAkC;AAoBjE,MAAM,eAAmC,CAAC,EAAE,KAAK,KAAK,GAAG,KAAK,MAC5D,oBAAC,SAAI,KAAU,KAAW,GAAG,MAAM;AAIrC,MAAM,eAAe,cAAiC;AAAA,EACpD,gBAAgB;AAClB,CAAC;AAQM,MAAM,gBAA8C,CAAC;AAAA,EAC1D;AAAA,EACA;AACF,MACE,oBAAC,aAAa,UAAb,EAAsB,OAAO,EAAE,eAAe,GAC5C,UACH;AAGK,MAAM,WAAW,MAEM;AAC5B,QAAM,MAAM,WAAW,YAAY;AACnC,MAAI,CAAC,KAAK;AACR,UAAM,IAAI,MAAM,+CAA+C;AAAA,EACjE;AACA,SAAO,IAAI;AACb;","names":[]}
@@ -0,0 +1,2 @@
1
+ export { BaseImageProps, ImageComponentType, ImageProvider, useImage } from './ImageContext.js';
2
+ import 'react';
@@ -0,0 +1,2 @@
1
+ export * from "./ImageContext";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/providers/index.ts"],"sourcesContent":["export * from \"./ImageContext\";\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,18 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ interface BlogPost {
4
+ id: number;
5
+ title: string;
6
+ excerpt: string;
7
+ author: string;
8
+ date: Date;
9
+ readTime: string;
10
+ category: string;
11
+ image: string;
12
+ }
13
+ interface BlogCardProps {
14
+ post: BlogPost;
15
+ }
16
+ declare function BlogCard({ post }: BlogCardProps): react_jsx_runtime.JSX.Element;
17
+
18
+ export { type BlogPost, BlogCard as default };
@@ -0,0 +1,80 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Clock, User } from "lucide-react";
3
+ import { TextHeading } from "../../primitives/text/text-heading";
4
+ import { Card, CardContent } from "./card";
5
+ import { Badge } from "../../primitives/badge/badge";
6
+ import { TextSpan } from "../../primitives/text/text-span";
7
+ import { Button } from "../../primitives/button/button";
8
+ import { TextParagraph } from "../../primitives/text/text-paragraph";
9
+ import { Icon } from "../../primitives/icon/icon";
10
+ import { formatDate } from "../../../lib";
11
+ import { UiImage } from "../../primitives/ui-image";
12
+ function BlogCard({ post }) {
13
+ return /* @__PURE__ */ jsxs(
14
+ Card,
15
+ {
16
+ className: "sg:group sg:overflow-hidden sg:hover:shadow-lg sg:transition-all sg:duration-300 sg:cursor-pointer sg:flex sg:flex-col",
17
+ onClick: () => console.log("OnClick blog card", post.id),
18
+ children: [
19
+ /* @__PURE__ */ jsxs("div", { className: "sg:relative sg:h-48 sg:overflow-hidden", children: [
20
+ /* @__PURE__ */ jsx(
21
+ UiImage,
22
+ {
23
+ src: post.image,
24
+ alt: post.title,
25
+ className: "sg:w-full sg:h-full sg:object-cover sg:transition-transform sg:duration-300 sg:group-hover:scale-110"
26
+ }
27
+ ),
28
+ /* @__PURE__ */ jsx(
29
+ "div",
30
+ {
31
+ className: `sg:absolute sg:inset-0 sg:opacity-20 sg:group-hover:opacity-30 sg:transition-opacity`
32
+ }
33
+ ),
34
+ /* @__PURE__ */ jsx(Badge, { className: "sg:absolute sg:top-4 sg:left-4", children: post.category })
35
+ ] }),
36
+ /* @__PURE__ */ jsxs(CardContent, { className: "sg:p-6 sg:flex-1 sg:flex sg:flex-col", children: [
37
+ /* @__PURE__ */ jsx(
38
+ TextHeading,
39
+ {
40
+ variant: "h3",
41
+ className: "sg:mb-2 sg:group-hover:text-[hsl(var(--sg-primary))] sg:transition-colors",
42
+ children: post.title
43
+ }
44
+ ),
45
+ /* @__PURE__ */ jsx(TextParagraph, { foreground: "muted", className: "sg:mb-4 sg:flex-1", children: post.excerpt }),
46
+ /* @__PURE__ */ jsxs("div", { className: "sg:flex sg:items-center sg:gap-4 sg:mb-4", children: [
47
+ /* @__PURE__ */ jsxs("div", { className: "sg:flex sg:items-center sg:gap-1", children: [
48
+ /* @__PURE__ */ jsx(User, { className: "h-4 w-4" }),
49
+ /* @__PURE__ */ jsx(TextSpan, { size: "sm", foreground: "muted", children: post.author })
50
+ ] }),
51
+ /* @__PURE__ */ jsxs("div", { className: "sg:flex sg:items-center sg:gap-1", children: [
52
+ /* @__PURE__ */ jsx(Clock, { className: "sg:h-4 sg:w-4" }),
53
+ /* @__PURE__ */ jsx(TextSpan, { size: "sm", foreground: "muted", children: post.readTime })
54
+ ] })
55
+ ] }),
56
+ /* @__PURE__ */ jsxs("div", { className: "sg:flex sg:items-center sg:justify-between", children: [
57
+ /* @__PURE__ */ jsx(TextSpan, { size: "sm", foreground: "muted", children: formatDate(post.date) }),
58
+ /* @__PURE__ */ jsxs(
59
+ Button,
60
+ {
61
+ variant: "ghost",
62
+ size: "sm",
63
+ className: "sg:group-hover:text-[hsl(var(--sg-primary))]",
64
+ children: [
65
+ "Read More",
66
+ /* @__PURE__ */ jsx(Icon, { icon: "ArrowRight", className: "sg:ml-2 sg:h-4 sg:w-4" })
67
+ ]
68
+ }
69
+ )
70
+ ] })
71
+ ] })
72
+ ]
73
+ },
74
+ post.id
75
+ );
76
+ }
77
+ export {
78
+ BlogCard as default
79
+ };
80
+ //# sourceMappingURL=blog-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/units/cards/blog-card.tsx"],"sourcesContent":["import { Clock, User } from \"lucide-react\";\r\nimport { TextHeading } from \"../../primitives/text/text-heading\";\r\nimport { Card, CardContent } from \"./card\";\r\nimport { Badge } from \"../../primitives/badge/badge\";\r\nimport { TextSpan } from \"../../primitives/text/text-span\";\r\nimport { Button } from \"../../primitives/button/button\";\r\nimport { TextParagraph } from \"../../primitives/text/text-paragraph\";\r\nimport { Icon } from \"../../primitives/icon/icon\";\r\nimport { formatDate } from \"../../../lib\";\r\nimport { UiImage } from \"../../primitives/ui-image\";\r\n\r\nexport interface BlogPost {\r\n id: number;\r\n title: string;\r\n excerpt: string;\r\n author: string;\r\n date: Date;\r\n readTime: string;\r\n category: string;\r\n image: string;\r\n}\r\n\r\ninterface BlogCardProps {\r\n post: BlogPost;\r\n}\r\n\r\nexport default function BlogCard({ post }: BlogCardProps) {\r\n return (\r\n <Card\r\n key={post.id}\r\n className=\"sg:group sg:overflow-hidden sg:hover:shadow-lg sg:transition-all sg:duration-300 sg:cursor-pointer sg:flex sg:flex-col\"\r\n // onClick={() => onNavigateToPost(post.id)}\r\n onClick={() => console.log(\"OnClick blog card\", post.id)}\r\n >\r\n <div className=\"sg:relative sg:h-48 sg:overflow-hidden\">\r\n <UiImage\r\n src={post.image}\r\n alt={post.title}\r\n className=\"sg:w-full sg:h-full sg:object-cover sg:transition-transform sg:duration-300 sg:group-hover:scale-110\"\r\n />\r\n <div\r\n className={`sg:absolute sg:inset-0 sg:opacity-20 sg:group-hover:opacity-30 sg:transition-opacity`}\r\n />\r\n <Badge className=\"sg:absolute sg:top-4 sg:left-4\">\r\n {post.category}\r\n </Badge>\r\n </div>\r\n\r\n {/* Content */}\r\n <CardContent className=\"sg:p-6 sg:flex-1 sg:flex sg:flex-col\">\r\n <TextHeading\r\n variant=\"h3\"\r\n className=\"sg:mb-2 sg:group-hover:text-[hsl(var(--sg-primary))] sg:transition-colors\"\r\n >\r\n {post.title}\r\n </TextHeading>\r\n <TextParagraph foreground=\"muted\" className=\"sg:mb-4 sg:flex-1\">\r\n {post.excerpt}\r\n </TextParagraph>\r\n\r\n {/* Meta */}\r\n <div className=\"sg:flex sg:items-center sg:gap-4 sg:mb-4\">\r\n <div className=\"sg:flex sg:items-center sg:gap-1\">\r\n <User className=\"h-4 w-4\" />\r\n <TextSpan size=\"sm\" foreground=\"muted\">\r\n {post.author}\r\n </TextSpan>\r\n </div>\r\n <div className=\"sg:flex sg:items-center sg:gap-1\">\r\n <Clock className=\"sg:h-4 sg:w-4\" />\r\n <TextSpan size=\"sm\" foreground=\"muted\">\r\n {post.readTime}\r\n </TextSpan>\r\n </div>\r\n </div>\r\n\r\n <div className=\"sg:flex sg:items-center sg:justify-between\">\r\n <TextSpan size=\"sm\" foreground=\"muted\">\r\n {formatDate(post.date)}\r\n </TextSpan>\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n className=\"sg:group-hover:text-[hsl(var(--sg-primary))]\"\r\n >\r\n Read More\r\n <Icon icon=\"ArrowRight\" className=\"sg:ml-2 sg:h-4 sg:w-4\" />\r\n </Button>\r\n </div>\r\n </CardContent>\r\n </Card>\r\n );\r\n}\r\n\r\n/*\r\nI want to \"npm run build\" to build and make a bundle of the project. I should be able to \"npm publish\" so it can be used by other projects. \r\nMy project consists of a Storybook with react components. The components are both SSR components and \"Use client\" components. \r\nThey will among other be used in a Nextjs 15 app router solution.\r\nI dont want a single bundle or bundle for ssr/client. I want components separate so they can be imported like \"singularity-ui/button\", \"singularity-ui/alert\".\r\nI also want my full css to be included in build, that iss main.css\r\n*/\r\n"],"mappings":"AAkCM,SACE,KADF;AAlCN,SAAS,OAAO,YAAY;AAC5B,SAAS,mBAAmB;AAC5B,SAAS,MAAM,mBAAmB;AAClC,SAAS,aAAa;AACtB,SAAS,gBAAgB;AACzB,SAAS,cAAc;AACvB,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAC3B,SAAS,eAAe;AAiBT,SAAR,SAA0B,EAAE,KAAK,GAAkB;AACxD,SACE;AAAA,IAAC;AAAA;AAAA,MAEC,WAAU;AAAA,MAEV,SAAS,MAAM,QAAQ,IAAI,qBAAqB,KAAK,EAAE;AAAA,MAEvD;AAAA,6BAAC,SAAI,WAAU,0CACb;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,KAAK,KAAK;AAAA,cACV,KAAK,KAAK;AAAA,cACV,WAAU;AAAA;AAAA,UACZ;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,WAAW;AAAA;AAAA,UACb;AAAA,UACA,oBAAC,SAAM,WAAU,kCACd,eAAK,UACR;AAAA,WACF;AAAA,QAGA,qBAAC,eAAY,WAAU,wCACrB;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,SAAQ;AAAA,cACR,WAAU;AAAA,cAET,eAAK;AAAA;AAAA,UACR;AAAA,UACA,oBAAC,iBAAc,YAAW,SAAQ,WAAU,qBACzC,eAAK,SACR;AAAA,UAGA,qBAAC,SAAI,WAAU,4CACb;AAAA,iCAAC,SAAI,WAAU,oCACb;AAAA,kCAAC,QAAK,WAAU,WAAU;AAAA,cAC1B,oBAAC,YAAS,MAAK,MAAK,YAAW,SAC5B,eAAK,QACR;AAAA,eACF;AAAA,YACA,qBAAC,SAAI,WAAU,oCACb;AAAA,kCAAC,SAAM,WAAU,iBAAgB;AAAA,cACjC,oBAAC,YAAS,MAAK,MAAK,YAAW,SAC5B,eAAK,UACR;AAAA,eACF;AAAA,aACF;AAAA,UAEA,qBAAC,SAAI,WAAU,8CACb;AAAA,gCAAC,YAAS,MAAK,MAAK,YAAW,SAC5B,qBAAW,KAAK,IAAI,GACvB;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACC,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,WAAU;AAAA,gBACX;AAAA;AAAA,kBAEC,oBAAC,QAAK,MAAK,cAAa,WAAU,yBAAwB;AAAA;AAAA;AAAA,YAC5D;AAAA,aACF;AAAA,WACF;AAAA;AAAA;AAAA,IA5DK,KAAK;AAAA,EA6DZ;AAEJ;","names":[]}
@@ -0,0 +1,15 @@
1
+ import * as React from 'react';
2
+
3
+ declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
4
+ declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
5
+ declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
6
+ declare const CardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
7
+ interface CardImageProps extends React.HTMLAttributes<HTMLDivElement> {
8
+ src: string;
9
+ alt?: string;
10
+ }
11
+ declare const CardImage: React.ForwardRefExoticComponent<CardImageProps & React.RefAttributes<HTMLDivElement>>;
12
+ declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
13
+ declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
14
+
15
+ export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardImage, CardTitle };
@@ -0,0 +1,89 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { cn } from "../../../utils";
3
+ import * as React from "react";
4
+ const Card = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5
+ "div",
6
+ {
7
+ ref,
8
+ className: cn(
9
+ "sg:rounded-xl sg:bg-card sg:text-card-foreground sg:group sg:overflow-hidden sg:border-0 sg:bg-gradient-to-br sg:from-background sg:to-background/60 sg:shadow-lg sg:ring-1 sg:ring-gray/60",
10
+ className
11
+ ),
12
+ ...props
13
+ }
14
+ ));
15
+ Card.displayName = "Card";
16
+ const CardHeader = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
17
+ "div",
18
+ {
19
+ ref,
20
+ className: cn("sg:flex sg:flex-col sg:space-y-1.5 sg:p-6", className),
21
+ ...props
22
+ }
23
+ ));
24
+ CardHeader.displayName = "CardHeader";
25
+ const CardTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
26
+ "div",
27
+ {
28
+ ref,
29
+ className: cn(
30
+ "sg:font-semibold sg:leading-none sg:tracking-tight",
31
+ className
32
+ ),
33
+ ...props
34
+ }
35
+ ));
36
+ CardTitle.displayName = "CardTitle";
37
+ const CardDescription = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
38
+ "div",
39
+ {
40
+ ref,
41
+ className: cn("sg:text-sm sg:text-muted-foreground", className),
42
+ ...props
43
+ }
44
+ ));
45
+ CardDescription.displayName = "CardDescription";
46
+ const CardImage = React.forwardRef(
47
+ ({ className, src, alt = "", ...props }, ref) => /* @__PURE__ */ jsxs(
48
+ "div",
49
+ {
50
+ ref,
51
+ className: cn("sg:relative sg:h-48 sg:overflow-hidden", className),
52
+ ...props,
53
+ children: [
54
+ /* @__PURE__ */ jsx(
55
+ "img",
56
+ {
57
+ src,
58
+ alt,
59
+ className: "sg:h-full sg:w-full sg:object-cover sg:transition-transform sg:duration-500 sg:group-hover:scale-105",
60
+ loading: "lazy"
61
+ }
62
+ ),
63
+ /* @__PURE__ */ jsx("div", { className: "sg:absolute sg:inset-0 sg:bg-gradient-to-t sg:from-background/80 sg:to-transparent" })
64
+ ]
65
+ }
66
+ )
67
+ );
68
+ CardImage.displayName = "CardImage";
69
+ const CardContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("sg:p-6 sg:pt-0", className), ...props }));
70
+ CardContent.displayName = "CardContent";
71
+ const CardFooter = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
72
+ "div",
73
+ {
74
+ ref,
75
+ className: cn("sg:flex sg:items-center sg:p-6 sg:pt-0", className),
76
+ ...props
77
+ }
78
+ ));
79
+ CardFooter.displayName = "CardFooter";
80
+ export {
81
+ Card,
82
+ CardContent,
83
+ CardDescription,
84
+ CardFooter,
85
+ CardHeader,
86
+ CardImage,
87
+ CardTitle
88
+ };
89
+ //# sourceMappingURL=card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/units/cards/card.tsx"],"sourcesContent":["import { cn } from \"../../../utils\";\nimport * as React from \"react\";\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"sg:rounded-xl sg:bg-card sg:text-card-foreground sg:group sg:overflow-hidden sg:border-0 sg:bg-gradient-to-br sg:from-background sg:to-background/60 sg:shadow-lg sg:ring-1 sg:ring-gray/60\",\n className\n )}\n {...props}\n />\n));\nCard.displayName = \"Card\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"sg:flex sg:flex-col sg:space-y-1.5 sg:p-6\", className)}\n {...props}\n />\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"sg:font-semibold sg:leading-none sg:tracking-tight\",\n className\n )}\n {...props}\n />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"sg:text-sm sg:text-muted-foreground\", className)}\n {...props}\n />\n));\nCardDescription.displayName = \"CardDescription\";\n\ninterface CardImageProps extends React.HTMLAttributes<HTMLDivElement> {\n src: string;\n alt?: string;\n}\n\nconst CardImage = React.forwardRef<HTMLDivElement, CardImageProps>(\n ({ className, src, alt = \"\", ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"sg:relative sg:h-48 sg:overflow-hidden\", className)}\n {...props}\n >\n <img\n src={src}\n alt={alt}\n className=\"sg:h-full sg:w-full sg:object-cover sg:transition-transform sg:duration-500 sg:group-hover:scale-105\"\n loading=\"lazy\"\n />\n <div className=\"sg:absolute sg:inset-0 sg:bg-gradient-to-t sg:from-background/80 sg:to-transparent\" />\n </div>\n )\n);\nCardImage.displayName = \"CardImage\";\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"sg:p-6 sg:pt-0\", className)} {...props} />\n));\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"sg:flex sg:items-center sg:p-6 sg:pt-0\", className)}\n {...props}\n />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n Card,\n CardHeader,\n CardImage,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n};\n"],"mappings":"AAOE,cAyDE,YAzDF;AAPF,SAAS,UAAU;AACnB,YAAY,WAAW;AAEvB,MAAM,OAAO,MAAM,WAGjB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,KAAK,cAAc;AAEnB,MAAM,aAAa,MAAM,WAGvB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,6CAA6C,SAAS;AAAA,IACnE,GAAG;AAAA;AACN,CACD;AACD,WAAW,cAAc;AAEzB,MAAM,YAAY,MAAM,WAGtB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,UAAU,cAAc;AAExB,MAAM,kBAAkB,MAAM,WAG5B,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,uCAAuC,SAAS;AAAA,IAC7D,GAAG;AAAA;AACN,CACD;AACD,gBAAgB,cAAc;AAO9B,MAAM,YAAY,MAAM;AAAA,EACtB,CAAC,EAAE,WAAW,KAAK,MAAM,IAAI,GAAG,MAAM,GAAG,QACvC;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW,GAAG,0CAA0C,SAAS;AAAA,MAChE,GAAG;AAAA,MAEJ;AAAA;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA,WAAU;AAAA,YACV,SAAQ;AAAA;AAAA,QACV;AAAA,QACA,oBAAC,SAAI,WAAU,sFAAqF;AAAA;AAAA;AAAA,EACtG;AAEJ;AACA,UAAU,cAAc;AAExB,MAAM,cAAc,MAAM,WAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oBAAC,SAAI,KAAU,WAAW,GAAG,kBAAkB,SAAS,GAAI,GAAG,OAAO,CACvE;AACD,YAAY,cAAc;AAE1B,MAAM,aAAa,MAAM,WAGvB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,0CAA0C,SAAS;AAAA,IAChE,GAAG;AAAA;AACN,CACD;AACD,WAAW,cAAc;","names":[]}
@@ -0,0 +1,17 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+
4
+ interface CardsProps extends React__default.HTMLAttributes<HTMLDivElement> {
5
+ cols?: {
6
+ default?: number;
7
+ sm?: number;
8
+ md?: number;
9
+ lg?: number;
10
+ xl?: number;
11
+ "2xl"?: number;
12
+ };
13
+ }
14
+ declare const getGridColsClass: (cols?: CardsProps["cols"]) => string;
15
+ declare const Cards: ({ children, className, cols, ...props }: CardsProps) => react_jsx_runtime.JSX.Element;
16
+
17
+ export { Cards, type CardsProps, getGridColsClass };
@@ -0,0 +1,37 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { cn } from "../../../utils";
3
+ import React from "react";
4
+ const getGridColsClass = (cols) => {
5
+ if (!cols) return "";
6
+ const colClasses = [];
7
+ if (cols.default) colClasses.push(`sg:grid-cols-${cols.default}`);
8
+ if (cols.sm) colClasses.push(`sg:sm:grid-cols-${cols.sm}`);
9
+ if (cols.md) colClasses.push(`sg:md:grid-cols-${cols.md}`);
10
+ if (cols.lg) colClasses.push(`sg:lg:grid-cols-${cols.lg}`);
11
+ if (cols.xl) colClasses.push(`sg:xl:grid-cols-${cols.xl}`);
12
+ if (cols["2xl"]) colClasses.push(`sg:2xl:grid-cols-${cols["2xl"]}`);
13
+ return colClasses.join(" ");
14
+ };
15
+ const Cards = ({
16
+ children,
17
+ className,
18
+ cols = { default: 1, sm: 2, lg: 3 },
19
+ ...props
20
+ }) => {
21
+ if (!cols.default) {
22
+ cols.default = 1;
23
+ }
24
+ return /* @__PURE__ */ jsx(
25
+ "div",
26
+ {
27
+ className: cn("sg:grid sg:gap-6", getGridColsClass(cols), className),
28
+ ...props,
29
+ children
30
+ }
31
+ );
32
+ };
33
+ export {
34
+ Cards,
35
+ getGridColsClass
36
+ };
37
+ //# sourceMappingURL=cards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/units/cards/cards.tsx"],"sourcesContent":["import { cn } from \"../../../utils\";\r\nimport React from \"react\";\r\n\r\nexport interface CardsProps extends React.HTMLAttributes<HTMLDivElement> {\r\n cols?: {\r\n default?: number;\r\n sm?: number;\r\n md?: number;\r\n lg?: number;\r\n xl?: number;\r\n \"2xl\"?: number;\r\n };\r\n}\r\n\r\nexport const getGridColsClass = (cols?: CardsProps[\"cols\"]) => {\r\n if (!cols) return \"\";\r\n\r\n const colClasses: string[] = [];\r\n if (cols.default) colClasses.push(`sg:grid-cols-${cols.default}`);\r\n if (cols.sm) colClasses.push(`sg:sm:grid-cols-${cols.sm}`);\r\n if (cols.md) colClasses.push(`sg:md:grid-cols-${cols.md}`);\r\n if (cols.lg) colClasses.push(`sg:lg:grid-cols-${cols.lg}`);\r\n if (cols.xl) colClasses.push(`sg:xl:grid-cols-${cols.xl}`);\r\n if (cols[\"2xl\"]) colClasses.push(`sg:2xl:grid-cols-${cols[\"2xl\"]}`);\r\n\r\n return colClasses.join(\" \");\r\n};\r\n\r\nexport const Cards = ({\r\n children,\r\n className,\r\n cols = { default: 1, sm: 2, lg: 3 },\r\n ...props\r\n}: CardsProps) => {\r\n if (!cols.default) {\r\n cols.default = 1;\r\n }\r\n\r\n return (\r\n <div\r\n className={cn(\"sg:grid sg:gap-6\", getGridColsClass(cols), className)}\r\n {...props}\r\n >\r\n {children}\r\n </div>\r\n );\r\n};\r\n"],"mappings":"AAuCI;AAvCJ,SAAS,UAAU;AACnB,OAAO,WAAW;AAaX,MAAM,mBAAmB,CAAC,SAA8B;AAC7D,MAAI,CAAC,KAAM,QAAO;AAElB,QAAM,aAAuB,CAAC;AAC9B,MAAI,KAAK,QAAS,YAAW,KAAK,gBAAgB,KAAK,OAAO,EAAE;AAChE,MAAI,KAAK,GAAI,YAAW,KAAK,mBAAmB,KAAK,EAAE,EAAE;AACzD,MAAI,KAAK,GAAI,YAAW,KAAK,mBAAmB,KAAK,EAAE,EAAE;AACzD,MAAI,KAAK,GAAI,YAAW,KAAK,mBAAmB,KAAK,EAAE,EAAE;AACzD,MAAI,KAAK,GAAI,YAAW,KAAK,mBAAmB,KAAK,EAAE,EAAE;AACzD,MAAI,KAAK,KAAK,EAAG,YAAW,KAAK,oBAAoB,KAAK,KAAK,CAAC,EAAE;AAElE,SAAO,WAAW,KAAK,GAAG;AAC5B;AAEO,MAAM,QAAQ,CAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA,OAAO,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,EAAE;AAAA,EAClC,GAAG;AACL,MAAkB;AAChB,MAAI,CAAC,KAAK,SAAS;AACjB,SAAK,UAAU;AAAA,EACjB;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,oBAAoB,iBAAiB,IAAI,GAAG,SAAS;AAAA,MAClE,GAAG;AAAA,MAEH;AAAA;AAAA,EACH;AAEJ;","names":[]}
@@ -0,0 +1,5 @@
1
+ export { BlogPost } from './cards/blog-card.js';
2
+ export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardImage, CardTitle } from './cards/card.js';
3
+ export { Cards, CardsProps, getGridColsClass } from './cards/cards.js';
4
+ import 'react/jsx-runtime';
5
+ import 'react';
@@ -0,0 +1,4 @@
1
+ export * from "./cards/blog-card";
2
+ export * from "./cards/card";
3
+ export * from "./cards/cards";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/units/index.ts"],"sourcesContent":["export * from \"./cards/blog-card\";\nexport * from \"./cards/card\";\nexport * from \"./cards/cards\";\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
@@ -0,0 +1,32 @@
1
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from './components/primitives/accordion/accordion.js';
2
+ export { Alert, AlertDescription, AlertTitle, alertVariants } from './components/primitives/alert/alert.js';
3
+ export { Badge, badgeVariants } from './components/primitives/badge/badge.js';
4
+ export { Badges, BadgesProps } from './components/primitives/badge/badges.js';
5
+ export { Button, buttonVariants, buttonVariantsProps } from './components/primitives/button/button.js';
6
+ export { Icon, iconVariants, iconVariantsProps } from './components/primitives/icon/icon.js';
7
+ export { Input } from './components/primitives/input/input.js';
8
+ export { Layout, LayoutProps, layoutVariants, layoutVariantsProps } from './components/primitives/layout/layout.js';
9
+ export { Separator } from './components/primitives/separator/separator.js';
10
+ export { Skeleton } from './components/primitives/skeleton/skeleton.js';
11
+ export { Spinner, SpinnerProps } from './components/primitives/spinner/spinner.js';
12
+ export { Stack, StackProps, stackVariants } from './components/primitives/stack/stack.js';
13
+ export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from './components/primitives/table/table.js';
14
+ export { TextDiv } from './components/primitives/text/text-div.js';
15
+ export { TextHeading, TextHeadingProps, textHeadingVariants, textHeadingVariantsProps } from './components/primitives/text/text-heading.js';
16
+ export { TextParagraph } from './components/primitives/text/text-paragraph.js';
17
+ export { TextSpan } from './components/primitives/text/text-span.js';
18
+ export { TextTime } from './components/primitives/text/text-time.js';
19
+ export { UiImage } from './components/primitives/ui-image.js';
20
+ export { BaseImageProps, ImageComponentType, ImageProvider, useImage } from './components/providers/ImageContext.js';
21
+ export { BlogPost } from './components/units/cards/blog-card.js';
22
+ export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardImage, CardTitle } from './components/units/cards/card.js';
23
+ export { Cards, CardsProps, getGridColsClass } from './components/units/cards/cards.js';
24
+ import 'react/jsx-runtime';
25
+ import 'react';
26
+ import '@radix-ui/react-accordion';
27
+ import 'class-variance-authority/types';
28
+ import 'class-variance-authority';
29
+ import 'lucide-react';
30
+ import '@radix-ui/react-separator';
31
+ import './components/primitives/text/internal/text-element.js';
32
+ import './lib/types.js';