astralis-ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +89 -0
  3. package/dist/components/buttons/button/button.js +83 -0
  4. package/dist/components/buttons/button/button.styles.js +69 -0
  5. package/dist/components/buttons/button-group/button-group.context.js +10 -0
  6. package/dist/components/buttons/button-group/button-group.js +42 -0
  7. package/dist/components/buttons/button-group/button-group.styles.js +39 -0
  8. package/dist/components/buttons/theme-toggle/theme-toggle.js +53 -0
  9. package/dist/components/data-display/avatar/avatar.context.js +10 -0
  10. package/dist/components/data-display/avatar/avatar.styles.js +40 -0
  11. package/dist/components/data-display/avatar/components/avatar-badge.js +24 -0
  12. package/dist/components/data-display/avatar/components/avatar-group.js +30 -0
  13. package/dist/components/data-display/avatar/components/avatar-root.js +57 -0
  14. package/dist/components/data-display/avatar/index.js +13 -0
  15. package/dist/components/data-display/badge/badge.js +12 -0
  16. package/dist/components/data-display/badge/badge.styles.js +25 -0
  17. package/dist/components/data-display/calendar/calendar.context.js +13 -0
  18. package/dist/components/data-display/calendar/components/calendar-cell.js +60 -0
  19. package/dist/components/data-display/calendar/components/calendar-grid.js +106 -0
  20. package/dist/components/data-display/calendar/components/calendar-header.js +23 -0
  21. package/dist/components/data-display/calendar/components/calendar-next-trigger.js +34 -0
  22. package/dist/components/data-display/calendar/components/calendar-prev-trigger.js +34 -0
  23. package/dist/components/data-display/calendar/components/calendar-root.js +154 -0
  24. package/dist/components/data-display/calendar/components/calendar-view-trigger.js +28 -0
  25. package/dist/components/data-display/calendar/components/calendar-weekdays.js +43 -0
  26. package/dist/components/data-display/calendar/index.js +30 -0
  27. package/dist/components/data-display/card/card.context.js +10 -0
  28. package/dist/components/data-display/card/card.styles.js +30 -0
  29. package/dist/components/data-display/card/components/card-body.js +19 -0
  30. package/dist/components/data-display/card/components/card-description.js +25 -0
  31. package/dist/components/data-display/card/components/card-footer.js +32 -0
  32. package/dist/components/data-display/card/components/card-header.js +37 -0
  33. package/dist/components/data-display/card/components/card-root.js +30 -0
  34. package/dist/components/data-display/card/components/card-title.js +25 -0
  35. package/dist/components/data-display/card/index.js +24 -0
  36. package/dist/components/data-display/data-list/components/data-list-item.js +20 -0
  37. package/dist/components/data-display/data-list/components/data-list-label.js +23 -0
  38. package/dist/components/data-display/data-list/components/data-list-root.js +11 -0
  39. package/dist/components/data-display/data-list/components/data-list-value.js +12 -0
  40. package/dist/components/data-display/data-list/data-list.context.js +12 -0
  41. package/dist/components/data-display/data-list/index.js +16 -0
  42. package/dist/components/data-display/image/components/image-group.js +79 -0
  43. package/dist/components/data-display/image/components/image-lightbox.js +188 -0
  44. package/dist/components/data-display/image/components/image-root.js +98 -0
  45. package/dist/components/data-display/image/components/image.constants.js +28 -0
  46. package/dist/components/data-display/image/index.js +11 -0
  47. package/dist/components/data-display/marquee/components/marquee-item.js +27 -0
  48. package/dist/components/data-display/marquee/components/marquee-root.js +130 -0
  49. package/dist/components/data-display/marquee/index.js +11 -0
  50. package/dist/components/data-display/qr-code/index.js +7 -0
  51. package/dist/components/data-display/qr-code/qr-code.js +203 -0
  52. package/dist/components/data-display/stat/components/stat-help-text.js +9 -0
  53. package/dist/components/data-display/stat/components/stat-indicator.js +23 -0
  54. package/dist/components/data-display/stat/components/stat-label.js +9 -0
  55. package/dist/components/data-display/stat/components/stat-root.js +10 -0
  56. package/dist/components/data-display/stat/components/stat-value.js +9 -0
  57. package/dist/components/data-display/stat/index.js +19 -0
  58. package/dist/components/data-display/stat/stat.context.js +6 -0
  59. package/dist/components/data-display/table/components/table-body.js +9 -0
  60. package/dist/components/data-display/table/components/table-caption.js +26 -0
  61. package/dist/components/data-display/table/components/table-cell.js +12 -0
  62. package/dist/components/data-display/table/components/table-footer.js +9 -0
  63. package/dist/components/data-display/table/components/table-head.js +20 -0
  64. package/dist/components/data-display/table/components/table-header.js +22 -0
  65. package/dist/components/data-display/table/components/table-root.js +20 -0
  66. package/dist/components/data-display/table/components/table-row.js +23 -0
  67. package/dist/components/data-display/table/index.js +28 -0
  68. package/dist/components/data-display/table/table.context.js +12 -0
  69. package/dist/components/data-display/table/table.styles.js +9 -0
  70. package/dist/components/data-display/tag/components/checkable-tag-group.js +37 -0
  71. package/dist/components/data-display/tag/components/checkable-tag.js +45 -0
  72. package/dist/components/data-display/tag/components/tag-root.js +52 -0
  73. package/dist/components/data-display/tag/index.js +14 -0
  74. package/dist/components/data-display/tag/tag.styles.js +27 -0
  75. package/dist/components/data-display/timeline/components/timeline-content.js +23 -0
  76. package/dist/components/data-display/timeline/components/timeline-indicator.js +21 -0
  77. package/dist/components/data-display/timeline/components/timeline-item.js +23 -0
  78. package/dist/components/data-display/timeline/components/timeline-root.js +12 -0
  79. package/dist/components/data-display/timeline/index.js +20 -0
  80. package/dist/components/data-display/timeline/timeline.context.js +18 -0
  81. package/dist/components/data-display/timeline/timeline.styles.js +33 -0
  82. package/dist/components/data-entry/checkbox/checkbox.context.js +12 -0
  83. package/dist/components/data-entry/checkbox/checkbox.styles.js +14 -0
  84. package/dist/components/data-entry/checkbox/components/checkbox-group.js +38 -0
  85. package/dist/components/data-entry/checkbox/components/checkbox.js +86 -0
  86. package/dist/components/data-entry/checkbox/index.js +11 -0
  87. package/dist/components/data-entry/combobox/combobox.js +178 -0
  88. package/dist/components/data-entry/field/components/field-error-text.js +47 -0
  89. package/dist/components/data-entry/field/components/field-help-text.js +30 -0
  90. package/dist/components/data-entry/field/components/field-label.js +35 -0
  91. package/dist/components/data-entry/field/components/field-root.js +45 -0
  92. package/dist/components/data-entry/field/field.context.js +10 -0
  93. package/dist/components/data-entry/field/index.js +17 -0
  94. package/dist/components/data-entry/input/components/input-group.js +15 -0
  95. package/dist/components/data-entry/input/components/input-password.js +42 -0
  96. package/dist/components/data-entry/input/components/input-search.js +48 -0
  97. package/dist/components/data-entry/input/components/input-textarea.js +53 -0
  98. package/dist/components/data-entry/input/components/input.js +44 -0
  99. package/dist/components/data-entry/input/index.js +18 -0
  100. package/dist/components/data-entry/input/input.context.js +13 -0
  101. package/dist/components/data-entry/input/input.styles.js +48 -0
  102. package/dist/components/data-entry/multi-select/components/multi-select.js +301 -0
  103. package/dist/components/data-entry/multi-select/multi-select.styles.js +47 -0
  104. package/dist/components/data-entry/number-input/number-input.js +97 -0
  105. package/dist/components/data-entry/pin-input/components/pin-input.js +127 -0
  106. package/dist/components/data-entry/pin-input/pin-input.styles.js +35 -0
  107. package/dist/components/data-entry/radio/components/radio-group.js +38 -0
  108. package/dist/components/data-entry/radio/components/radio.js +80 -0
  109. package/dist/components/data-entry/radio/index.js +11 -0
  110. package/dist/components/data-entry/radio/radio.context.js +10 -0
  111. package/dist/components/data-entry/radio/radio.styles.js +14 -0
  112. package/dist/components/data-entry/select/components/select.js +208 -0
  113. package/dist/components/data-entry/select/select.styles.js +35 -0
  114. package/dist/components/data-entry/shared/options.js +49 -0
  115. package/dist/components/data-entry/slider/components/slider.js +395 -0
  116. package/dist/components/data-entry/slider/slider.styles.js +15 -0
  117. package/dist/components/data-entry/switch/components/switch.js +86 -0
  118. package/dist/components/data-entry/switch/switch.styles.js +14 -0
  119. package/dist/components/disclosure/accordion/accordion.context.js +20 -0
  120. package/dist/components/disclosure/accordion/accordion.styles.js +84 -0
  121. package/dist/components/disclosure/accordion/components/accordion-content.js +26 -0
  122. package/dist/components/disclosure/accordion/components/accordion-item.js +30 -0
  123. package/dist/components/disclosure/accordion/components/accordion-root.js +80 -0
  124. package/dist/components/disclosure/accordion/components/accordion-trigger.js +49 -0
  125. package/dist/components/disclosure/accordion/index.js +16 -0
  126. package/dist/components/disclosure/carousel/carousel.context.js +18 -0
  127. package/dist/components/disclosure/carousel/carousel.styles.js +77 -0
  128. package/dist/components/disclosure/carousel/components/carousel-autoplay-trigger.js +25 -0
  129. package/dist/components/disclosure/carousel/components/carousel-control.js +12 -0
  130. package/dist/components/disclosure/carousel/components/carousel-indicator.js +22 -0
  131. package/dist/components/disclosure/carousel/components/carousel-indicators.js +32 -0
  132. package/dist/components/disclosure/carousel/components/carousel-next.js +24 -0
  133. package/dist/components/disclosure/carousel/components/carousel-prev.js +24 -0
  134. package/dist/components/disclosure/carousel/components/carousel-progress-text.js +21 -0
  135. package/dist/components/disclosure/carousel/components/carousel-root.js +129 -0
  136. package/dist/components/disclosure/carousel/components/carousel-slide.js +49 -0
  137. package/dist/components/disclosure/carousel/components/carousel-track.js +74 -0
  138. package/dist/components/disclosure/carousel/index.js +34 -0
  139. package/dist/components/disclosure/pagination/components/pagination-controls.js +79 -0
  140. package/dist/components/disclosure/pagination/components/pagination-ellipsis.js +11 -0
  141. package/dist/components/disclosure/pagination/components/pagination-item.js +24 -0
  142. package/dist/components/disclosure/pagination/components/pagination-jumper.js +35 -0
  143. package/dist/components/disclosure/pagination/components/pagination-list.js +9 -0
  144. package/dist/components/disclosure/pagination/components/pagination-page-text.js +18 -0
  145. package/dist/components/disclosure/pagination/components/pagination-pages.js +24 -0
  146. package/dist/components/disclosure/pagination/components/pagination-root.js +44 -0
  147. package/dist/components/disclosure/pagination/index.js +34 -0
  148. package/dist/components/disclosure/pagination/pagination.context.js +12 -0
  149. package/dist/components/disclosure/pagination/pagination.styles.js +84 -0
  150. package/dist/components/feedback/alert/alert.js +55 -0
  151. package/dist/components/feedback/alert/alert.styles.js +23 -0
  152. package/dist/components/feedback/progress/progress.js +112 -0
  153. package/dist/components/feedback/progress/progress.styles.js +25 -0
  154. package/dist/components/feedback/skeleton/skeleton.js +27 -0
  155. package/dist/components/feedback/skeleton/skeleton.styles.js +20 -0
  156. package/dist/components/feedback/spinner/spinner.js +32 -0
  157. package/dist/components/feedback/spinner/spinner.styles.js +17 -0
  158. package/dist/components/feedback/status.js +18 -0
  159. package/dist/components/feedback/toast/toast-store.js +35 -0
  160. package/dist/components/feedback/toast/toast.styles.js +20 -0
  161. package/dist/components/feedback/toast/toaster.js +65 -0
  162. package/dist/components/icon/icon.js +47 -0
  163. package/dist/components/icon/icon.styles.js +20 -0
  164. package/dist/components/icon/internal-icons.js +143 -0
  165. package/dist/components/layout/aspect-ratio/aspect-ratio.js +32 -0
  166. package/dist/components/layout/aspect-ratio/aspect-ratio.styles.js +18 -0
  167. package/dist/components/layout/box/box.js +30 -0
  168. package/dist/components/layout/box/box.styles.js +76 -0
  169. package/dist/components/layout/center/center.js +31 -0
  170. package/dist/components/layout/container/container.js +40 -0
  171. package/dist/components/layout/flex/flex-item.js +35 -0
  172. package/dist/components/layout/flex/flex.js +32 -0
  173. package/dist/components/layout/flex/flex.style.js +42 -0
  174. package/dist/components/layout/flex/index.js +11 -0
  175. package/dist/components/layout/float/float.js +32 -0
  176. package/dist/components/layout/float/float.styles.js +29 -0
  177. package/dist/components/layout/grid/grid-item.js +36 -0
  178. package/dist/components/layout/grid/grid.js +47 -0
  179. package/dist/components/layout/grid/grid.styles.js +43 -0
  180. package/dist/components/layout/grid/index.js +10 -0
  181. package/dist/components/layout/separator/separator.js +33 -0
  182. package/dist/components/layout/separator/separator.styles.js +29 -0
  183. package/dist/components/layout/stack/stack.js +24 -0
  184. package/dist/components/menu/components/menu-content.js +62 -0
  185. package/dist/components/menu/components/menu-parts.js +81 -0
  186. package/dist/components/menu/components/menu-root.js +36 -0
  187. package/dist/components/menu/index.js +15 -0
  188. package/dist/components/menu/menu.context.js +12 -0
  189. package/dist/components/menu/menu.styles.js +12 -0
  190. package/dist/components/navigation/breadcrumb/breadcrumb.js +50 -0
  191. package/dist/components/navigation/steps/components/steps-completed.js +12 -0
  192. package/dist/components/navigation/steps/components/steps-content.js +12 -0
  193. package/dist/components/navigation/steps/components/steps-description.js +13 -0
  194. package/dist/components/navigation/steps/components/steps-indicator.js +34 -0
  195. package/dist/components/navigation/steps/components/steps-item.js +112 -0
  196. package/dist/components/navigation/steps/components/steps-list.js +21 -0
  197. package/dist/components/navigation/steps/components/steps-next.js +25 -0
  198. package/dist/components/navigation/steps/components/steps-prev.js +25 -0
  199. package/dist/components/navigation/steps/components/steps-root.js +61 -0
  200. package/dist/components/navigation/steps/components/steps-title.js +13 -0
  201. package/dist/components/navigation/steps/index.js +34 -0
  202. package/dist/components/navigation/steps/steps.context.js +20 -0
  203. package/dist/components/navigation/steps/steps.styles.js +97 -0
  204. package/dist/components/navigation/tabs/components/tabs-content.js +26 -0
  205. package/dist/components/navigation/tabs/components/tabs-list.js +45 -0
  206. package/dist/components/navigation/tabs/components/tabs-root.js +54 -0
  207. package/dist/components/navigation/tabs/components/tabs-trigger.js +54 -0
  208. package/dist/components/navigation/tabs/index.js +16 -0
  209. package/dist/components/navigation/tabs/tabs.context.js +12 -0
  210. package/dist/components/navigation/tabs/tabs.styles.js +80 -0
  211. package/dist/components/overlay/drawer/components/drawer-content.js +48 -0
  212. package/dist/components/overlay/drawer/components/drawer-parts.js +48 -0
  213. package/dist/components/overlay/drawer/components/drawer-root.js +58 -0
  214. package/dist/components/overlay/drawer/drawer.context.js +12 -0
  215. package/dist/components/overlay/drawer/drawer.styles.js +32 -0
  216. package/dist/components/overlay/drawer/index.js +27 -0
  217. package/dist/components/overlay/modal/components/modal-content.js +48 -0
  218. package/dist/components/overlay/modal/components/modal-parts.js +48 -0
  219. package/dist/components/overlay/modal/components/modal-root.js +58 -0
  220. package/dist/components/overlay/modal/index.js +27 -0
  221. package/dist/components/overlay/modal/modal.context.js +12 -0
  222. package/dist/components/overlay/modal/modal.styles.js +31 -0
  223. package/dist/components/overlay/popover/components/popover-content.js +76 -0
  224. package/dist/components/overlay/popover/components/popover-parts.js +17 -0
  225. package/dist/components/overlay/popover/components/popover-root.js +71 -0
  226. package/dist/components/overlay/popover/index.js +19 -0
  227. package/dist/components/overlay/popover/popover.context.js +12 -0
  228. package/dist/components/overlay/popover/popover.styles.js +6 -0
  229. package/dist/components/overlay/portal.js +10 -0
  230. package/dist/components/overlay/tooltip/components/tooltip-content.js +52 -0
  231. package/dist/components/overlay/tooltip/components/tooltip-root.js +53 -0
  232. package/dist/components/overlay/tooltip/index.js +12 -0
  233. package/dist/components/overlay/tooltip/tooltip.context.js +12 -0
  234. package/dist/components/overlay/tooltip/tooltip.styles.js +6 -0
  235. package/dist/components/typography/blockquote/blockquote.js +39 -0
  236. package/dist/components/typography/blockquote/blockquote.styles.js +21 -0
  237. package/dist/components/typography/code/code.js +35 -0
  238. package/dist/components/typography/code/code.styles.js +26 -0
  239. package/dist/components/typography/code-block/code-block.js +57 -0
  240. package/dist/components/typography/code-block/code-block.styles.js +36 -0
  241. package/dist/components/typography/heading/heading.js +21 -0
  242. package/dist/components/typography/highlight/highlight.js +30 -0
  243. package/dist/components/typography/highlight/highlight.styles.js +18 -0
  244. package/dist/components/typography/kbd/kbd.js +26 -0
  245. package/dist/components/typography/link/link.js +48 -0
  246. package/dist/components/typography/list/index.js +10 -0
  247. package/dist/components/typography/list/list-item.js +37 -0
  248. package/dist/components/typography/list/list.js +35 -0
  249. package/dist/components/typography/list/list.styles.js +35 -0
  250. package/dist/components/typography/text/text.js +80 -0
  251. package/dist/components/typography/text/text.styles.js +110 -0
  252. package/dist/const/color-mappings.js +541 -0
  253. package/dist/const/color-schemes.js +5 -0
  254. package/dist/const/common-mappings.js +127 -0
  255. package/dist/const/layout-mappings.js +446 -0
  256. package/dist/const/positioning-mappings.js +164 -0
  257. package/dist/const/rounded-mappings.js +121 -0
  258. package/dist/const/sizing-mappings.js +1113 -0
  259. package/dist/const/spacing-mappings.js +508 -0
  260. package/dist/hooks/use-anchor-position.js +39 -0
  261. package/dist/hooks/use-controllable-state.js +18 -0
  262. package/dist/hooks/use-dismiss.js +23 -0
  263. package/dist/hooks/use-overlay-behavior.js +42 -0
  264. package/dist/hooks/use-prefers-reduced-motion.js +15 -0
  265. package/dist/hooks/use-presence.js +18 -0
  266. package/dist/hooks/use-roving-focus.js +51 -0
  267. package/dist/index.d.ts +3533 -0
  268. package/dist/index.js +359 -0
  269. package/dist/styles.css +2 -0
  270. package/dist/theme/provider.js +130 -0
  271. package/dist/utils/astralis-merge.js +31 -0
  272. package/dist/utils/overlay-stack.js +27 -0
  273. package/dist/utils/responsive.js +32 -0
  274. package/dist/utils/split-variant-props.js +13 -0
  275. package/package.json +107 -0
@@ -0,0 +1,20 @@
1
+ "use client";
2
+ import { cva as a } from "class-variance-authority";
3
+ const e = a("astralis:bg-surface-emphasized", {
4
+ variants: {
5
+ variant: {
6
+ text: "astralis:h-4 astralis:w-full astralis:rounded-md",
7
+ circle: "astralis:rounded-full",
8
+ rect: "astralis:rounded-lg"
9
+ },
10
+ animated: {
11
+ // motion-reduce pauses the pulse for users who asked for less motion.
12
+ true: "astralis:animate-pulse astralis:motion-reduce:animate-none",
13
+ false: ""
14
+ }
15
+ },
16
+ defaultVariants: { variant: "text", animated: !0 }
17
+ });
18
+ export {
19
+ e as skeletonVariants
20
+ };
@@ -0,0 +1,32 @@
1
+ "use client";
2
+ import { jsxs as l, jsx as r } from "react/jsx-runtime";
3
+ import { spinnerVariants as m } from "./spinner.styles.js";
4
+ import { astralisMerge as o } from "../../../utils/astralis-merge.js";
5
+ import { accentClass as p } from "../../../const/color-schemes.js";
6
+ import { SpinnerIcon as c } from "../../icon/internal-icons.js";
7
+ function f({
8
+ size: a = "md",
9
+ colorScheme: n = "brand",
10
+ label: s = "Loading…",
11
+ className: i = "",
12
+ ref: e,
13
+ ...t
14
+ }) {
15
+ return /* @__PURE__ */ l(
16
+ "span",
17
+ {
18
+ ref: e,
19
+ role: "status",
20
+ className: o(m({ size: a }), p(n), i),
21
+ ...t,
22
+ children: [
23
+ /* @__PURE__ */ r(c, { className: "astralis:size-full astralis:animate-spin" }),
24
+ s ? /* @__PURE__ */ r("span", { className: "astralis:sr-only", children: s }) : null
25
+ ]
26
+ }
27
+ );
28
+ }
29
+ f.displayName = "Spinner";
30
+ export {
31
+ f as Spinner
32
+ };
@@ -0,0 +1,17 @@
1
+ "use client";
2
+ import { cva as s } from "class-variance-authority";
3
+ const i = s("astralis:inline-flex astralis:shrink-0 astralis:text-accent-solid", {
4
+ variants: {
5
+ size: {
6
+ xs: "astralis:h-3 astralis:w-3",
7
+ sm: "astralis:h-4 astralis:w-4",
8
+ md: "astralis:h-5 astralis:w-5",
9
+ lg: "astralis:h-6 astralis:w-6",
10
+ xl: "astralis:h-8 astralis:w-8"
11
+ }
12
+ },
13
+ defaultVariants: { size: "md" }
14
+ });
15
+ export {
16
+ i as spinnerVariants
17
+ };
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ import { CircleAlertIcon as e, TriangleAlertIcon as n, CircleCheckIcon as o, InfoIcon as c } from "../icon/internal-icons.js";
3
+ const t = {
4
+ info: "blue",
5
+ success: "green",
6
+ warning: "orange",
7
+ error: "red"
8
+ }, i = {
9
+ info: c,
10
+ success: o,
11
+ warning: n,
12
+ error: e
13
+ }, l = (r) => r === "error" || r === "warning" ? "alert" : "status";
14
+ export {
15
+ i as STATUS_ICON,
16
+ t as STATUS_SCHEME,
17
+ l as statusRole
18
+ };
@@ -0,0 +1,35 @@
1
+ "use client";
2
+ let e = [], c = 0;
3
+ const o = /* @__PURE__ */ new Set();
4
+ function r() {
5
+ for (const t of o) t();
6
+ }
7
+ function f(t) {
8
+ return o.add(t), () => o.delete(t);
9
+ }
10
+ function d() {
11
+ return e;
12
+ }
13
+ function i(t) {
14
+ const s = `astralis-toast-${++c}`;
15
+ return e = [...e, { duration: 5e3, status: "info", closable: !0, ...t, id: s, open: !0 }], r(), s;
16
+ }
17
+ function u(t) {
18
+ e = e.map((s) => t === void 0 || s.id === t ? { ...s, open: !1 } : s), r();
19
+ }
20
+ function l(t) {
21
+ e = e.filter((s) => s.id !== t), r();
22
+ }
23
+ const n = (t) => (s, a) => i({ ...a, title: s, status: t }), m = Object.assign((t) => i(t), {
24
+ info: n("info"),
25
+ success: n("success"),
26
+ warning: n("warning"),
27
+ error: n("error"),
28
+ dismiss: u
29
+ });
30
+ export {
31
+ d as getToasts,
32
+ l as removeToast,
33
+ f as subscribeToasts,
34
+ m as toast
35
+ };
@@ -0,0 +1,20 @@
1
+ "use client";
2
+ const a = {
3
+ "top-start": "astralis:top-4 astralis:left-4 astralis:items-start",
4
+ "top-center": "astralis:top-4 astralis:left-1/2 astralis:-translate-x-1/2 astralis:items-center",
5
+ "top-end": "astralis:top-4 astralis:right-4 astralis:items-end",
6
+ "bottom-start": "astralis:bottom-4 astralis:left-4 astralis:items-start",
7
+ "bottom-center": "astralis:bottom-4 astralis:left-1/2 astralis:-translate-x-1/2 astralis:items-center",
8
+ "bottom-end": "astralis:bottom-4 astralis:right-4 astralis:items-end"
9
+ }, l = "astralis:fixed astralis:z-highest astralis:flex astralis:flex-col astralis:gap-3 astralis:pointer-events-none astralis:max-w-[calc(100vw-2rem)]", i = "astralis:pointer-events-auto astralis:flex astralis:items-start astralis:gap-3 astralis:w-80 astralis:max-w-full astralis:rounded-xl astralis:border-normal astralis:border-stroke-subtle astralis:bg-surface-panel astralis:shadow-lg astralis:px-4 astralis:py-3 astralis:text-sm astralis:transition-all astralis:duration-moderate", r = (s, t) => s ? "astralis:opacity-100 astralis:translate-y-0" : t.startsWith("top") ? "astralis:opacity-0 astralis:-translate-y-2" : "astralis:opacity-0 astralis:translate-y-2", e = "astralis:h-5 astralis:w-5 astralis:shrink-0 astralis:mt-0.5 astralis:text-accent-solid", o = "astralis:font-semibold astralis:text-label-base", n = "astralis:mt-0.5 astralis:text-label-muted", c = "astralis:shrink-0 astralis:cursor-pointer astralis:self-center astralis:rounded-md astralis:px-2 astralis:py-1 astralis:text-sm astralis:font-medium astralis:text-accent-label astralis:transition-colors astralis:hover:bg-accent-subtle astralis:focus-visible:outline-2 astralis:focus-visible:outline-offset-2 astralis:focus-visible:outline-accent-ring", m = "astralis:shrink-0 astralis:cursor-pointer astralis:rounded-md astralis:p-1 astralis:-m-1 astralis:text-label-subtle astralis:transition-colors astralis:hover:text-label-base astralis:focus-visible:outline-2 astralis:focus-visible:outline-offset-2 astralis:focus-visible:outline-accent-ring";
10
+ export {
11
+ c as toastActionClasses,
12
+ m as toastCloseClasses,
13
+ n as toastDescriptionClasses,
14
+ e as toastIconClasses,
15
+ r as toastMotionClasses,
16
+ i as toastPanelClasses,
17
+ o as toastTitleClasses,
18
+ l as toasterBaseClasses,
19
+ a as toasterRegionClasses
20
+ };
@@ -0,0 +1,65 @@
1
+ "use client";
2
+ import { jsx as t, jsxs as b } from "react/jsx-runtime";
3
+ import { useSyncExternalStore as g, useRef as m, useEffect as d, useState as D } from "react";
4
+ import { Portal as w } from "../../overlay/portal.js";
5
+ import { astralisMerge as S } from "../../../utils/astralis-merge.js";
6
+ import { accentClass as k } from "../../../const/color-schemes.js";
7
+ import { XIcon as y } from "../../icon/internal-icons.js";
8
+ import { STATUS_ICON as F, statusRole as U, STATUS_SCHEME as _ } from "../status.js";
9
+ import { subscribeToasts as j, getToasts as N, removeToast as q, toast as v } from "./toast-store.js";
10
+ import { toastIconClasses as O, toastTitleClasses as P, toastDescriptionClasses as X, toastActionClasses as z, toastCloseClasses as B, toastMotionClasses as H, toastPanelClasses as L, toasterRegionClasses as W, toasterBaseClasses as G } from "./toast.styles.js";
11
+ const J = 200;
12
+ function K({ data: r, placement: l }) {
13
+ const { id: e, open: s, status: a = "info", colorScheme: n, title: A, description: f, duration: i = 5e3, closable: E = !0, action: c } = r, I = F[a], p = m(i ?? 0), C = m(0), o = m(null), T = () => {
14
+ o.current != null && (clearTimeout(o.current), o.current = null, p.current -= Date.now() - C.current);
15
+ }, h = () => {
16
+ i == null || !s || o.current != null || (C.current = Date.now(), o.current = setTimeout(() => v.dismiss(e), Math.max(0, p.current)));
17
+ };
18
+ d(() => {
19
+ if (!(i == null || !s))
20
+ return h(), T;
21
+ }, [s, i, e]);
22
+ const [R, x] = D(!1);
23
+ d(() => {
24
+ const u = requestAnimationFrame(() => requestAnimationFrame(() => x(!0)));
25
+ return () => cancelAnimationFrame(u);
26
+ }, []), d(() => {
27
+ if (s) return;
28
+ const u = setTimeout(() => q(e), J);
29
+ return () => clearTimeout(u);
30
+ }, [s, e]);
31
+ const M = s && R;
32
+ return /* @__PURE__ */ b(
33
+ "div",
34
+ {
35
+ role: U(a),
36
+ onMouseEnter: T,
37
+ onMouseLeave: h,
38
+ className: S(L, H(M, l), k(n ?? _[a])),
39
+ children: [
40
+ /* @__PURE__ */ t("span", { "aria-hidden": "true", className: O, children: /* @__PURE__ */ t(I, { className: "astralis:size-full" }) }),
41
+ /* @__PURE__ */ b("div", { className: "astralis:flex-1 astralis:min-w-0", children: [
42
+ /* @__PURE__ */ t("div", { className: P, children: A }),
43
+ f && /* @__PURE__ */ t("div", { className: X, children: f })
44
+ ] }),
45
+ c && /* @__PURE__ */ t("button", { type: "button", onClick: c.onClick, className: z, children: c.label }),
46
+ E && /* @__PURE__ */ t("button", { type: "button", "aria-label": "Dismiss notification", onClick: () => v.dismiss(e), className: B, children: /* @__PURE__ */ t(y, { className: "astralis:h-4 astralis:w-4" }) })
47
+ ]
48
+ }
49
+ );
50
+ }
51
+ function at({ placement: r = "bottom-end", max: l = 5 }) {
52
+ const s = g(j, N, N).slice(-l), a = r.startsWith("top") ? [...s].reverse() : s;
53
+ return /* @__PURE__ */ t(w, { children: /* @__PURE__ */ t(
54
+ "div",
55
+ {
56
+ role: "region",
57
+ "aria-label": "Notifications",
58
+ className: S("astralis", G, W[r]),
59
+ children: a.map((n) => /* @__PURE__ */ t(K, { data: n, placement: r }, n.id))
60
+ }
61
+ ) });
62
+ }
63
+ export {
64
+ at as Toaster
65
+ };
@@ -0,0 +1,47 @@
1
+ "use client";
2
+ import { jsx as f } from "react/jsx-runtime";
3
+ import { astralisMerge as d } from "../../utils/astralis-merge.js";
4
+ import { textColors as g } from "../../const/color-mappings.js";
5
+ import { iconVariants as y } from "./icon.styles.js";
6
+ function x({
7
+ as: o,
8
+ children: n,
9
+ size: t = "md",
10
+ color: r,
11
+ strokeWidth: e,
12
+ className: p,
13
+ style: s,
14
+ ref: i,
15
+ ...a
16
+ }) {
17
+ const l = typeof t == "string", m = d(
18
+ y({ size: l ? t : void 0 }),
19
+ r ? g[r] : "",
20
+ p
21
+ ), c = l ? s : { width: t, height: t, ...s }, u = a["aria-label"] ? { role: "img" } : { "aria-hidden": !0 };
22
+ return o ? /* @__PURE__ */ f(
23
+ o,
24
+ {
25
+ ref: i,
26
+ className: m,
27
+ style: c,
28
+ ...e != null ? { strokeWidth: e } : {},
29
+ ...u,
30
+ ...a
31
+ }
32
+ ) : n ? /* @__PURE__ */ f(
33
+ "span",
34
+ {
35
+ ref: i,
36
+ className: m,
37
+ style: c,
38
+ ...u,
39
+ ...a,
40
+ children: n
41
+ }
42
+ ) : null;
43
+ }
44
+ x.displayName = "Icon";
45
+ export {
46
+ x as default
47
+ };
@@ -0,0 +1,20 @@
1
+ "use client";
2
+ import { cva as s } from "class-variance-authority";
3
+ const i = s(
4
+ "astralis:inline-block astralis:shrink-0 astralis:[&>svg]:block astralis:[&>svg]:size-full",
5
+ {
6
+ variants: {
7
+ size: {
8
+ xs: "astralis:size-4",
9
+ sm: "astralis:size-5",
10
+ md: "astralis:size-6",
11
+ lg: "astralis:size-8",
12
+ xl: "astralis:size-10"
13
+ }
14
+ },
15
+ defaultVariants: { size: "md" }
16
+ }
17
+ );
18
+ export {
19
+ i as iconVariants
20
+ };
@@ -0,0 +1,143 @@
1
+ "use client";
2
+ import { jsx as n, jsxs as c } from "react/jsx-runtime";
3
+ const t = {
4
+ viewBox: "0 0 24 24",
5
+ fill: "none",
6
+ stroke: "currentColor",
7
+ strokeWidth: 2,
8
+ strokeLinecap: "round",
9
+ strokeLinejoin: "round"
10
+ };
11
+ function o(r) {
12
+ return /* @__PURE__ */ n("svg", { ...t, ...r, children: /* @__PURE__ */ n("path", { d: "m6 9 6 6 6-6" }) });
13
+ }
14
+ function h(r) {
15
+ return /* @__PURE__ */ n("svg", { ...t, ...r, children: /* @__PURE__ */ n("path", { d: "m15 18-6-6 6-6" }) });
16
+ }
17
+ function i(r) {
18
+ return /* @__PURE__ */ n("svg", { ...t, ...r, children: /* @__PURE__ */ n("path", { d: "m9 18 6-6-6-6" }) });
19
+ }
20
+ function a(r) {
21
+ return /* @__PURE__ */ n("svg", { ...t, ...r, children: /* @__PURE__ */ n("path", { d: "m18 15-6-6-6 6" }) });
22
+ }
23
+ function d(r) {
24
+ return /* @__PURE__ */ c("svg", { ...t, ...r, children: [
25
+ /* @__PURE__ */ n("path", { d: "m11 17-5-5 5-5" }),
26
+ /* @__PURE__ */ n("path", { d: "m18 17-5-5 5-5" })
27
+ ] });
28
+ }
29
+ function s(r) {
30
+ return /* @__PURE__ */ c("svg", { ...t, ...r, children: [
31
+ /* @__PURE__ */ n("path", { d: "m6 17 5-5-5-5" }),
32
+ /* @__PURE__ */ n("path", { d: "m13 17 5-5-5-5" })
33
+ ] });
34
+ }
35
+ function l(r) {
36
+ return /* @__PURE__ */ n("svg", { viewBox: "0 0 24 24", fill: "currentColor", ...r, children: /* @__PURE__ */ n("path", { d: "M7 4v16l13-8z" }) });
37
+ }
38
+ function u(r) {
39
+ return /* @__PURE__ */ n("svg", { viewBox: "0 0 24 24", fill: "currentColor", ...r, children: /* @__PURE__ */ n("path", { d: "M6 4h4v16H6zM14 4h4v16h-4z" }) });
40
+ }
41
+ function p(r) {
42
+ return /* @__PURE__ */ c("svg", { ...t, ...r, children: [
43
+ /* @__PURE__ */ n("path", { d: "M18 6 6 18" }),
44
+ /* @__PURE__ */ n("path", { d: "m6 6 12 12" })
45
+ ] });
46
+ }
47
+ function v(r) {
48
+ return /* @__PURE__ */ c("svg", { ...t, ...r, children: [
49
+ /* @__PURE__ */ n("circle", { cx: "12", cy: "12", r: "4" }),
50
+ /* @__PURE__ */ n("path", { d: "M12 2v2" }),
51
+ /* @__PURE__ */ n("path", { d: "M12 20v2" }),
52
+ /* @__PURE__ */ n("path", { d: "m4.93 4.93 1.41 1.41" }),
53
+ /* @__PURE__ */ n("path", { d: "m17.66 17.66 1.41 1.41" }),
54
+ /* @__PURE__ */ n("path", { d: "M2 12h2" }),
55
+ /* @__PURE__ */ n("path", { d: "M20 12h2" }),
56
+ /* @__PURE__ */ n("path", { d: "m6.34 17.66-1.41 1.41" }),
57
+ /* @__PURE__ */ n("path", { d: "m19.07 4.93-1.41 1.41" })
58
+ ] });
59
+ }
60
+ function f(r) {
61
+ return /* @__PURE__ */ n("svg", { ...t, ...r, children: /* @__PURE__ */ n("path", { d: "M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z" }) });
62
+ }
63
+ function g(r) {
64
+ return /* @__PURE__ */ c("svg", { ...t, ...r, children: [
65
+ /* @__PURE__ */ n("path", { d: "M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z" }),
66
+ /* @__PURE__ */ n("circle", { cx: "12", cy: "12", r: "3" })
67
+ ] });
68
+ }
69
+ function m(r) {
70
+ return /* @__PURE__ */ c("svg", { ...t, ...r, children: [
71
+ /* @__PURE__ */ n("path", { d: "M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94" }),
72
+ /* @__PURE__ */ n("path", { d: "M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19" }),
73
+ /* @__PURE__ */ n("path", { d: "m1 1 22 22" })
74
+ ] });
75
+ }
76
+ function M(r) {
77
+ return /* @__PURE__ */ c("svg", { ...t, ...r, children: [
78
+ /* @__PURE__ */ n("circle", { cx: "11", cy: "11", r: "8" }),
79
+ /* @__PURE__ */ n("path", { d: "m21 21-4.35-4.35" })
80
+ ] });
81
+ }
82
+ function I(r) {
83
+ return /* @__PURE__ */ n("svg", { ...t, ...r, children: /* @__PURE__ */ n("path", { d: "M20 6 9 17l-5-5" }) });
84
+ }
85
+ function C(r) {
86
+ return /* @__PURE__ */ n("svg", { ...t, ...r, children: /* @__PURE__ */ n("path", { d: "M5 12h14" }) });
87
+ }
88
+ function x(r) {
89
+ return /* @__PURE__ */ c("svg", { "aria-hidden": "true", className: "astralis:h-4 astralis:w-4 astralis:shrink-0 astralis:animate-spin", viewBox: "0 0 24 24", fill: "none", ...r, children: [
90
+ /* @__PURE__ */ n("circle", { cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4", className: "astralis:opacity-lower" }),
91
+ /* @__PURE__ */ n("path", { d: "M4 12a8 8 0 018-8", stroke: "currentColor", strokeWidth: "4", strokeLinecap: "round", className: "astralis:opacity-high" })
92
+ ] });
93
+ }
94
+ function k(r) {
95
+ return /* @__PURE__ */ c("svg", { ...t, ...r, children: [
96
+ /* @__PURE__ */ n("circle", { cx: "12", cy: "12", r: "10" }),
97
+ /* @__PURE__ */ n("path", { d: "M12 16v-4" }),
98
+ /* @__PURE__ */ n("path", { d: "M12 8h.01" })
99
+ ] });
100
+ }
101
+ function y(r) {
102
+ return /* @__PURE__ */ c("svg", { ...t, ...r, children: [
103
+ /* @__PURE__ */ n("circle", { cx: "12", cy: "12", r: "10" }),
104
+ /* @__PURE__ */ n("path", { d: "m9 12 2 2 4-4" })
105
+ ] });
106
+ }
107
+ function w(r) {
108
+ return /* @__PURE__ */ c("svg", { ...t, ...r, children: [
109
+ /* @__PURE__ */ n("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" }),
110
+ /* @__PURE__ */ n("path", { d: "M12 9v4" }),
111
+ /* @__PURE__ */ n("path", { d: "M12 17h.01" })
112
+ ] });
113
+ }
114
+ function A(r) {
115
+ return /* @__PURE__ */ c("svg", { ...t, ...r, children: [
116
+ /* @__PURE__ */ n("circle", { cx: "12", cy: "12", r: "10" }),
117
+ /* @__PURE__ */ n("path", { d: "M12 8v4" }),
118
+ /* @__PURE__ */ n("path", { d: "M12 16h.01" })
119
+ ] });
120
+ }
121
+ export {
122
+ I as CheckIcon,
123
+ o as ChevronDownIcon,
124
+ h as ChevronLeftIcon,
125
+ i as ChevronRightIcon,
126
+ a as ChevronUpIcon,
127
+ d as ChevronsLeftIcon,
128
+ s as ChevronsRightIcon,
129
+ A as CircleAlertIcon,
130
+ y as CircleCheckIcon,
131
+ g as EyeIcon,
132
+ m as EyeOffIcon,
133
+ k as InfoIcon,
134
+ C as MinusIcon,
135
+ f as MoonIcon,
136
+ u as PauseIcon,
137
+ l as PlayIcon,
138
+ M as SearchIcon,
139
+ x as SpinnerIcon,
140
+ v as SunIcon,
141
+ w as TriangleAlertIcon,
142
+ p as XIcon
143
+ };
@@ -0,0 +1,32 @@
1
+ "use client";
2
+ import { jsx as f } from "react/jsx-runtime";
3
+ import { forwardRef as R } from "react";
4
+ import { astralisMerge as V } from "../../../utils/astralis-merge.js";
5
+ import { resolveStyleProps as e } from "../../../utils/responsive.js";
6
+ import { aspectRatioVariantMap as i, aspectRatioVariants as d } from "./aspect-ratio.styles.js";
7
+ import { boxVariantMap as y, boxVariants as A } from "../box/box.styles.js";
8
+ import { BOX_VARIANT_KEYS as b } from "../box/box.js";
9
+ const u = Object.keys(i), v = R(
10
+ ({ children: n, as: m, className: c, ...a }, p) => {
11
+ const l = m || "div", o = {}, r = {}, s = {};
12
+ for (const t in a)
13
+ Object.prototype.hasOwnProperty.call(a, t) && (u.includes(t) ? o[t] = a[t] : b.includes(t) ? r[t] = a[t] : s[t] = a[t]);
14
+ return /* @__PURE__ */ f(
15
+ l,
16
+ {
17
+ className: V(
18
+ e(r, { maps: y, variants: A }),
19
+ e(o, { maps: i, variants: d }),
20
+ c
21
+ ),
22
+ ref: p,
23
+ ...s,
24
+ children: n
25
+ }
26
+ );
27
+ }
28
+ );
29
+ v.displayName = "AspectRatio";
30
+ export {
31
+ v as default
32
+ };
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ import { cva as t } from "class-variance-authority";
3
+ import { aspectRatioTypes as a } from "../../../const/common-mappings.js";
4
+ const s = {
5
+ ratio: a
6
+ }, o = t(
7
+ // Lock the ratio + clip overflow, then stretch the single child to fill the box.
8
+ // Direct children are absolutely positioned to the frame; media defaults to cover.
9
+ "astralis:relative astralis:overflow-hidden astralis:[&>*:not(style)]:absolute astralis:[&>*:not(style)]:inset-0 astralis:[&>*:not(style)]:size-full astralis:[&>img]:object-cover astralis:[&>video]:object-cover",
10
+ {
11
+ variants: s,
12
+ defaultVariants: { ratio: "wide" }
13
+ }
14
+ );
15
+ export {
16
+ s as aspectRatioVariantMap,
17
+ o as aspectRatioVariants
18
+ };
@@ -0,0 +1,30 @@
1
+ "use client";
2
+ import { jsx as c } from "react/jsx-runtime";
3
+ import { forwardRef as f } from "react";
4
+ import { astralisMerge as p } from "../../../utils/astralis-merge.js";
5
+ import { resolveStyleProps as x } from "../../../utils/responsive.js";
6
+ import { boxVariantMap as s, boxVariants as y } from "./box.styles.js";
7
+ const d = Object.keys(s), b = f(
8
+ ({ children: a, as: i, className: n, ...o }, m) => {
9
+ const l = i || "div", r = {}, e = {};
10
+ for (const t in o)
11
+ Object.prototype.hasOwnProperty.call(o, t) && (d.includes(t) ? r[t] = o[t] : e[t] = o[t]);
12
+ return /* @__PURE__ */ c(
13
+ l,
14
+ {
15
+ className: p(
16
+ x(r, { maps: s, variants: y }),
17
+ n
18
+ ),
19
+ ref: m,
20
+ ...e,
21
+ children: a
22
+ }
23
+ );
24
+ }
25
+ );
26
+ b.displayName = "Box";
27
+ export {
28
+ d as BOX_VARIANT_KEYS,
29
+ b as default
30
+ };
@@ -0,0 +1,76 @@
1
+ "use client";
2
+ import { cva as o } from "class-variance-authority";
3
+ import { borderColors as r, textColors as n, bgColors as i } from "../../../const/color-mappings.js";
4
+ import { mrSpacing as e, mlSpacing as p, mbSpacing as s, mtSpacing as d, mxSpacing as t, mySpacing as m, mSpacing as a, prSpacing as l, plSpacing as c, pbSpacing as g, ptSpacing as S, pxSpacing as y, pySpacing as T, pSpacing as u } from "../../../const/spacing-mappings.js";
5
+ import { sizeSizing as b, maxBlockSizing as x, minBlockSizing as z, blockSizing as f, maxInlineSizing as C, minInlineSizing as v, inlineSizing as w, maxWSizing as B, minWSizing as h, wSizing as k, maxHSizing as I, minHSizing as W, hSizing as H } from "../../../const/sizing-mappings.js";
6
+ import { roundedBlCorners as R, roundedBrCorners as V, roundedTrCorners as E, roundedTlCorners as L, roundedLCorners as X, roundedBCorners as Y, roundedRCorners as M, roundedTCorners as j, roundedCorners as q } from "../../../const/rounded-mappings.js";
7
+ import { borderStyleTypes as A, borderWidthTypes as D, shadowTypes as F, aspectRatioTypes as G, pointerEventsTypes as J, cursorTypes as K, overflowYTypes as N, overflowXTypes as O, overflowTypes as P, positionTypes as Q, zIndexTypes as U, opacityTypes as Z, displayTypes as _ } from "../../../const/common-mappings.js";
8
+ import { leftTypes as $, bottomTypes as oo, rightTypes as ro, topTypes as no, insetTypes as io } from "../../../const/positioning-mappings.js";
9
+ const eo = {
10
+ p: u,
11
+ py: T,
12
+ px: y,
13
+ pt: S,
14
+ pb: g,
15
+ pl: c,
16
+ pr: l,
17
+ m: a,
18
+ my: m,
19
+ mx: t,
20
+ mt: d,
21
+ mb: s,
22
+ ml: p,
23
+ mr: e,
24
+ h: H,
25
+ minH: W,
26
+ maxH: I,
27
+ w: k,
28
+ minW: h,
29
+ maxW: B,
30
+ inline: w,
31
+ minInline: v,
32
+ maxInline: C,
33
+ block: f,
34
+ minBlock: z,
35
+ maxBlock: x,
36
+ size: b,
37
+ display: _,
38
+ opacity: Z,
39
+ zIndex: U,
40
+ position: Q,
41
+ inset: io,
42
+ top: no,
43
+ right: ro,
44
+ bottom: oo,
45
+ left: $,
46
+ overflow: P,
47
+ overflowX: O,
48
+ overflowY: N,
49
+ cursor: K,
50
+ pointerEvents: J,
51
+ aspectRatio: G,
52
+ shadow: F,
53
+ border: D,
54
+ borderStyle: A,
55
+ rounded: q,
56
+ roundedT: j,
57
+ roundedR: M,
58
+ roundedB: Y,
59
+ roundedL: X,
60
+ roundedTl: L,
61
+ roundedTr: E,
62
+ roundedBr: V,
63
+ roundedBl: R,
64
+ bg: i,
65
+ color: n,
66
+ borderColor: r
67
+ }, go = o("", {
68
+ variants: eo,
69
+ defaultVariants: {
70
+ // Transparent by default — primitives must composite cleanly when nested.
71
+ }
72
+ });
73
+ export {
74
+ eo as boxVariantMap,
75
+ go as boxVariants
76
+ };
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ import { jsx as l } from "react/jsx-runtime";
3
+ import { forwardRef as f } from "react";
4
+ import { astralisMerge as c } from "../../../utils/astralis-merge.js";
5
+ import { resolveStyleProps as p } from "../../../utils/responsive.js";
6
+ import { boxVariantMap as x, boxVariants as y } from "../box/box.styles.js";
7
+ import { BOX_VARIANT_KEYS as d } from "../box/box.js";
8
+ const u = f(
9
+ ({ as: a, className: o, children: i, ...r }, n) => {
10
+ const m = a || "div", e = {}, s = {};
11
+ for (const t in r)
12
+ Object.prototype.hasOwnProperty.call(r, t) && (d.includes(t) ? e[t] = r[t] : s[t] = r[t]);
13
+ return /* @__PURE__ */ l(
14
+ m,
15
+ {
16
+ className: c(
17
+ p(e, { maps: x, variants: y }),
18
+ "astralis:flex astralis:items-center astralis:justify-center",
19
+ o
20
+ ),
21
+ ref: n,
22
+ ...s,
23
+ children: i
24
+ }
25
+ );
26
+ }
27
+ );
28
+ u.displayName = "Center";
29
+ export {
30
+ u as default
31
+ };
@@ -0,0 +1,40 @@
1
+ "use client";
2
+ import { jsx as p } from "react/jsx-runtime";
3
+ import { forwardRef as x } from "react";
4
+ import { astralisMerge as u } from "../../../utils/astralis-merge.js";
5
+ import { resolveStyleProps as d } from "../../../utils/responsive.js";
6
+ import { boxVariantMap as y, boxVariants as b } from "../box/box.styles.js";
7
+ import { BOX_VARIANT_KEYS as P } from "../box/box.js";
8
+ const V = x(
9
+ ({
10
+ as: e,
11
+ className: s,
12
+ children: i,
13
+ centerContent: l = !1,
14
+ maxW: n = "5xl",
15
+ px: m = "4",
16
+ ...r
17
+ }, f) => {
18
+ const c = e || "div", a = { w: "full", maxW: n, px: m }, o = {};
19
+ for (const t in r)
20
+ Object.prototype.hasOwnProperty.call(r, t) && (P.includes(t) ? a[t] = r[t] : o[t] = r[t]);
21
+ return /* @__PURE__ */ p(
22
+ c,
23
+ {
24
+ className: u(
25
+ d(a, { maps: y, variants: b }),
26
+ "astralis:mx-auto",
27
+ l && "astralis:flex astralis:flex-col astralis:items-center",
28
+ s
29
+ ),
30
+ ref: f,
31
+ ...o,
32
+ children: i
33
+ }
34
+ );
35
+ }
36
+ );
37
+ V.displayName = "Container";
38
+ export {
39
+ V as default
40
+ };