asheeui 1.0.0 → 1.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 (284) hide show
  1. package/README.md +61 -166
  2. package/dist/components/alert/Alert.d.ts.map +1 -1
  3. package/dist/components/alert/Alert.js +6 -6
  4. package/dist/components/auth-layout/AuthLayout.d.ts +79 -0
  5. package/dist/components/auth-layout/AuthLayout.d.ts.map +1 -0
  6. package/dist/components/auth-layout/AuthLayout.js +54 -0
  7. package/dist/components/auth-layout/auth-layout-config.d.ts +41 -0
  8. package/dist/components/auth-layout/auth-layout-config.d.ts.map +1 -0
  9. package/dist/components/auth-layout/auth-layout-config.js +18 -0
  10. package/dist/components/auth-layout/auth-layout-styles.d.ts +25 -0
  11. package/dist/components/auth-layout/auth-layout-styles.d.ts.map +1 -0
  12. package/dist/components/auth-layout/auth-layout-styles.js +11 -0
  13. package/dist/components/auth-layout/index.d.ts +3 -0
  14. package/dist/components/auth-layout/index.d.ts.map +1 -0
  15. package/dist/components/auth-layout/index.js +3 -0
  16. package/dist/components/autocomplete/Autocomplete.d.ts.map +1 -1
  17. package/dist/components/avatar/Avatar.d.ts.map +1 -1
  18. package/dist/components/avatar/Avatar.js +7 -7
  19. package/dist/components/badge/Badge.d.ts.map +1 -1
  20. package/dist/components/badge/Badge.js +3 -3
  21. package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -1
  22. package/dist/components/breadcrumb/Breadcrumb.js +6 -6
  23. package/dist/components/calendar/Calendar.d.ts.map +1 -1
  24. package/dist/components/calendar/Calendar.js +4 -4
  25. package/dist/components/calendar/DateGrid.d.ts.map +1 -1
  26. package/dist/components/calendar/DateGrid.js +87 -87
  27. package/dist/components/clipboard/Clipboard.d.ts +75 -0
  28. package/dist/components/clipboard/Clipboard.d.ts.map +1 -0
  29. package/dist/components/clipboard/Clipboard.js +53 -0
  30. package/dist/components/clipboard/CopyButton.d.ts +64 -0
  31. package/dist/components/clipboard/CopyButton.d.ts.map +1 -0
  32. package/dist/components/clipboard/CopyButton.js +44 -0
  33. package/dist/components/clipboard/clipboard-config.d.ts +42 -0
  34. package/dist/components/clipboard/clipboard-config.d.ts.map +1 -0
  35. package/dist/components/clipboard/clipboard-config.js +23 -0
  36. package/dist/components/clipboard/clipboard-styles.d.ts +11 -0
  37. package/dist/components/clipboard/clipboard-styles.d.ts.map +1 -0
  38. package/dist/components/clipboard/clipboard-styles.js +5 -0
  39. package/dist/components/clipboard/index.d.ts +4 -0
  40. package/dist/components/clipboard/index.d.ts.map +1 -0
  41. package/dist/components/clipboard/index.js +4 -0
  42. package/dist/components/container/Container.d.ts +51 -0
  43. package/dist/components/container/Container.d.ts.map +1 -0
  44. package/dist/components/container/Container.js +21 -0
  45. package/dist/components/container/container-config.d.ts +61 -0
  46. package/dist/components/container/container-config.d.ts.map +1 -0
  47. package/dist/components/container/container-config.js +16 -0
  48. package/dist/components/container/container-styles.d.ts +18 -0
  49. package/dist/components/container/container-styles.d.ts.map +1 -0
  50. package/dist/components/container/container-styles.js +12 -0
  51. package/dist/components/container/index.d.ts +3 -0
  52. package/dist/components/container/index.d.ts.map +1 -0
  53. package/dist/components/container/index.js +3 -0
  54. package/dist/components/cta/CTA.d.ts +81 -0
  55. package/dist/components/cta/CTA.d.ts.map +1 -0
  56. package/dist/components/cta/CTA.js +60 -0
  57. package/dist/components/cta/cta-config.d.ts +69 -0
  58. package/dist/components/cta/cta-config.d.ts.map +1 -0
  59. package/dist/components/cta/cta-config.js +22 -0
  60. package/dist/components/cta/cta-styles.d.ts +8 -0
  61. package/dist/components/cta/cta-styles.d.ts.map +1 -0
  62. package/dist/components/cta/cta-styles.js +9 -0
  63. package/dist/components/cta/index.d.ts +3 -0
  64. package/dist/components/cta/index.d.ts.map +1 -0
  65. package/dist/components/cta/index.js +3 -0
  66. package/dist/components/dropmenu/Dropmenu.d.ts.map +1 -1
  67. package/dist/components/empty-state/EmptyState.d.ts +77 -0
  68. package/dist/components/empty-state/EmptyState.d.ts.map +1 -0
  69. package/dist/components/empty-state/EmptyState.js +46 -0
  70. package/dist/components/empty-state/empty-state-config.d.ts +44 -0
  71. package/dist/components/empty-state/empty-state-config.d.ts.map +1 -0
  72. package/dist/components/empty-state/empty-state-config.js +16 -0
  73. package/dist/components/empty-state/empty-state-styles.d.ts +13 -0
  74. package/dist/components/empty-state/empty-state-styles.d.ts.map +1 -0
  75. package/dist/components/empty-state/empty-state-styles.js +18 -0
  76. package/dist/components/empty-state/index.d.ts +3 -0
  77. package/dist/components/empty-state/index.d.ts.map +1 -0
  78. package/dist/components/empty-state/index.js +3 -0
  79. package/dist/components/feature-grid/FeatureGrid.d.ts +107 -0
  80. package/dist/components/feature-grid/FeatureGrid.d.ts.map +1 -0
  81. package/dist/components/feature-grid/FeatureGrid.js +94 -0
  82. package/dist/components/feature-grid/feature-grid-config.d.ts +80 -0
  83. package/dist/components/feature-grid/feature-grid-config.d.ts.map +1 -0
  84. package/dist/components/feature-grid/feature-grid-config.js +28 -0
  85. package/dist/components/feature-grid/feature-grid-styles.d.ts +11 -0
  86. package/dist/components/feature-grid/feature-grid-styles.d.ts.map +1 -0
  87. package/dist/components/feature-grid/feature-grid-styles.js +5 -0
  88. package/dist/components/feature-grid/index.d.ts +3 -0
  89. package/dist/components/feature-grid/index.d.ts.map +1 -0
  90. package/dist/components/feature-grid/index.js +3 -0
  91. package/dist/components/footer/Footer.d.ts +73 -0
  92. package/dist/components/footer/Footer.d.ts.map +1 -0
  93. package/dist/components/footer/Footer.js +112 -0
  94. package/dist/components/footer/footer-config.d.ts +40 -0
  95. package/dist/components/footer/footer-config.d.ts.map +1 -0
  96. package/dist/components/footer/footer-config.js +18 -0
  97. package/dist/components/footer/footer-styles.d.ts +22 -0
  98. package/dist/components/footer/footer-styles.d.ts.map +1 -0
  99. package/dist/components/footer/footer-styles.js +9 -0
  100. package/dist/components/footer/index.d.ts +3 -0
  101. package/dist/components/footer/index.d.ts.map +1 -0
  102. package/dist/components/footer/index.js +3 -0
  103. package/dist/components/form/Form.d.ts.map +1 -1
  104. package/dist/components/grid/Grid.d.ts +71 -0
  105. package/dist/components/grid/Grid.d.ts.map +1 -0
  106. package/dist/components/grid/Grid.js +23 -0
  107. package/dist/components/grid/grid-config.d.ts +63 -0
  108. package/dist/components/grid/grid-config.d.ts.map +1 -0
  109. package/dist/components/grid/grid-config.js +16 -0
  110. package/dist/components/grid/grid-styles.d.ts +12 -0
  111. package/dist/components/grid/grid-styles.d.ts.map +1 -0
  112. package/dist/components/grid/grid-styles.js +31 -0
  113. package/dist/components/grid/index.d.ts +3 -0
  114. package/dist/components/grid/index.d.ts.map +1 -0
  115. package/dist/components/grid/index.js +3 -0
  116. package/dist/components/hero/Hero.d.ts +90 -0
  117. package/dist/components/hero/Hero.d.ts.map +1 -0
  118. package/dist/components/hero/Hero.js +63 -0
  119. package/dist/components/hero/hero-config.d.ts +71 -0
  120. package/dist/components/hero/hero-config.d.ts.map +1 -0
  121. package/dist/components/hero/hero-config.js +22 -0
  122. package/dist/components/hero/hero-styles.d.ts +19 -0
  123. package/dist/components/hero/hero-styles.d.ts.map +1 -0
  124. package/dist/components/hero/hero-styles.js +5 -0
  125. package/dist/components/hero/index.d.ts +3 -0
  126. package/dist/components/hero/index.d.ts.map +1 -0
  127. package/dist/components/hero/index.js +3 -0
  128. package/dist/components/multi-select/MultiSelect.d.ts.map +1 -1
  129. package/dist/components/navbar/Navbar.d.ts +87 -0
  130. package/dist/components/navbar/Navbar.d.ts.map +1 -0
  131. package/dist/components/navbar/Navbar.js +117 -0
  132. package/dist/components/navbar/index.d.ts +3 -0
  133. package/dist/components/navbar/index.d.ts.map +1 -0
  134. package/dist/components/navbar/index.js +3 -0
  135. package/dist/components/navbar/navbar-config.d.ts +52 -0
  136. package/dist/components/navbar/navbar-config.d.ts.map +1 -0
  137. package/dist/components/navbar/navbar-config.js +20 -0
  138. package/dist/components/navbar/navbar-styles.d.ts +28 -0
  139. package/dist/components/navbar/navbar-styles.d.ts.map +1 -0
  140. package/dist/components/navbar/navbar-styles.js +9 -0
  141. package/dist/components/page/Page.d.ts +166 -0
  142. package/dist/components/page/Page.d.ts.map +1 -0
  143. package/dist/components/page/Page.js +90 -0
  144. package/dist/components/page/index.d.ts +3 -0
  145. package/dist/components/page/index.d.ts.map +1 -0
  146. package/dist/components/page/index.js +3 -0
  147. package/dist/components/page/page-config.d.ts +57 -0
  148. package/dist/components/page/page-config.d.ts.map +1 -0
  149. package/dist/components/page/page-config.js +20 -0
  150. package/dist/components/page/page-styles.d.ts +25 -0
  151. package/dist/components/page/page-styles.d.ts.map +1 -0
  152. package/dist/components/page/page-styles.js +5 -0
  153. package/dist/components/pagination/Pagination.d.ts.map +1 -1
  154. package/dist/components/pagination/Pagination.js +8 -8
  155. package/dist/components/pin-input/PinInput.d.ts +109 -0
  156. package/dist/components/pin-input/PinInput.d.ts.map +1 -0
  157. package/dist/components/pin-input/PinInput.js +124 -0
  158. package/dist/components/pin-input/index.d.ts +3 -0
  159. package/dist/components/pin-input/index.d.ts.map +1 -0
  160. package/dist/components/pin-input/index.js +3 -0
  161. package/dist/components/pin-input/pin-input-config.d.ts +82 -0
  162. package/dist/components/pin-input/pin-input-config.d.ts.map +1 -0
  163. package/dist/components/pin-input/pin-input-config.js +23 -0
  164. package/dist/components/pin-input/pin-input-styles.d.ts +16 -0
  165. package/dist/components/pin-input/pin-input-styles.d.ts.map +1 -0
  166. package/dist/components/pin-input/pin-input-styles.js +9 -0
  167. package/dist/components/pricing-card/PricingCard.d.ts +87 -0
  168. package/dist/components/pricing-card/PricingCard.d.ts.map +1 -0
  169. package/dist/components/pricing-card/PricingCard.js +79 -0
  170. package/dist/components/pricing-card/index.d.ts +3 -0
  171. package/dist/components/pricing-card/index.d.ts.map +1 -0
  172. package/dist/components/pricing-card/index.js +3 -0
  173. package/dist/components/pricing-card/pricing-card-config.d.ts +35 -0
  174. package/dist/components/pricing-card/pricing-card-config.d.ts.map +1 -0
  175. package/dist/components/pricing-card/pricing-card-config.js +16 -0
  176. package/dist/components/pricing-card/pricing-card-styles.d.ts +21 -0
  177. package/dist/components/pricing-card/pricing-card-styles.d.ts.map +1 -0
  178. package/dist/components/pricing-card/pricing-card-styles.js +5 -0
  179. package/dist/components/radio/RadioGroup.d.ts.map +1 -1
  180. package/dist/components/section/Section.d.ts +56 -0
  181. package/dist/components/section/Section.d.ts.map +1 -0
  182. package/dist/components/section/Section.js +27 -0
  183. package/dist/components/section/index.d.ts +3 -0
  184. package/dist/components/section/index.d.ts.map +1 -0
  185. package/dist/components/section/index.js +3 -0
  186. package/dist/components/section/section-config.d.ts +64 -0
  187. package/dist/components/section/section-config.d.ts.map +1 -0
  188. package/dist/components/section/section-config.js +20 -0
  189. package/dist/components/section/section-styles.d.ts +8 -0
  190. package/dist/components/section/section-styles.d.ts.map +1 -0
  191. package/dist/components/section/section-styles.js +9 -0
  192. package/dist/components/section-kit/ActionGroup.d.ts +47 -0
  193. package/dist/components/section-kit/ActionGroup.d.ts.map +1 -0
  194. package/dist/components/section-kit/ActionGroup.js +35 -0
  195. package/dist/components/section-kit/SectionHeading.d.ts +65 -0
  196. package/dist/components/section-kit/SectionHeading.d.ts.map +1 -0
  197. package/dist/components/section-kit/SectionHeading.js +34 -0
  198. package/dist/components/section-kit/index.d.ts +12 -0
  199. package/dist/components/section-kit/index.d.ts.map +1 -0
  200. package/dist/components/section-kit/index.js +2 -0
  201. package/dist/components/sidebar-layout/SidebarLayout.d.ts +67 -0
  202. package/dist/components/sidebar-layout/SidebarLayout.d.ts.map +1 -0
  203. package/dist/components/sidebar-layout/SidebarLayout.js +40 -0
  204. package/dist/components/sidebar-layout/index.d.ts +3 -0
  205. package/dist/components/sidebar-layout/index.d.ts.map +1 -0
  206. package/dist/components/sidebar-layout/index.js +3 -0
  207. package/dist/components/sidebar-layout/sidebar-layout-config.d.ts +49 -0
  208. package/dist/components/sidebar-layout/sidebar-layout-config.d.ts.map +1 -0
  209. package/dist/components/sidebar-layout/sidebar-layout-config.js +16 -0
  210. package/dist/components/sidebar-layout/sidebar-layout-styles.d.ts +21 -0
  211. package/dist/components/sidebar-layout/sidebar-layout-styles.d.ts.map +1 -0
  212. package/dist/components/sidebar-layout/sidebar-layout-styles.js +9 -0
  213. package/dist/components/skeleton/Skeleton.d.ts.map +1 -1
  214. package/dist/components/stack/Stack.d.ts +107 -0
  215. package/dist/components/stack/Stack.d.ts.map +1 -0
  216. package/dist/components/stack/Stack.js +36 -0
  217. package/dist/components/stack/index.d.ts +3 -0
  218. package/dist/components/stack/index.d.ts.map +1 -0
  219. package/dist/components/stack/index.js +3 -0
  220. package/dist/components/stack/stack-config.d.ts +68 -0
  221. package/dist/components/stack/stack-config.d.ts.map +1 -0
  222. package/dist/components/stack/stack-config.js +20 -0
  223. package/dist/components/stack/stack-styles.d.ts +10 -0
  224. package/dist/components/stack/stack-styles.d.ts.map +1 -0
  225. package/dist/components/stack/stack-styles.js +21 -0
  226. package/dist/components/testimonials/Testimonials.d.ts +78 -0
  227. package/dist/components/testimonials/Testimonials.d.ts.map +1 -0
  228. package/dist/components/testimonials/Testimonials.js +96 -0
  229. package/dist/components/testimonials/index.d.ts +3 -0
  230. package/dist/components/testimonials/index.d.ts.map +1 -0
  231. package/dist/components/testimonials/index.js +3 -0
  232. package/dist/components/testimonials/testimonials-config.d.ts +44 -0
  233. package/dist/components/testimonials/testimonials-config.d.ts.map +1 -0
  234. package/dist/components/testimonials/testimonials-config.js +28 -0
  235. package/dist/components/testimonials/testimonials-styles.d.ts +11 -0
  236. package/dist/components/testimonials/testimonials-styles.d.ts.map +1 -0
  237. package/dist/components/testimonials/testimonials-styles.js +5 -0
  238. package/dist/components/typography/typography-styles.d.ts.map +1 -1
  239. package/dist/config/validate-config.d.ts.map +1 -1
  240. package/dist/icons/CopyIcon.d.ts +3 -0
  241. package/dist/icons/CopyIcon.d.ts.map +1 -0
  242. package/dist/icons/CopyIcon.js +24 -0
  243. package/dist/index.d.ts +19 -2
  244. package/dist/index.d.ts.map +1 -1
  245. package/dist/index.js +107 -72
  246. package/dist/puck/adapters.d.ts +41 -0
  247. package/dist/puck/adapters.d.ts.map +1 -0
  248. package/dist/puck/adapters.js +30 -0
  249. package/dist/puck/blocks/content.d.ts +32 -0
  250. package/dist/puck/blocks/content.d.ts.map +1 -0
  251. package/dist/puck/blocks/content.js +54 -0
  252. package/dist/puck/blocks/layout.d.ts +44 -0
  253. package/dist/puck/blocks/layout.d.ts.map +1 -0
  254. package/dist/puck/blocks/layout.js +69 -0
  255. package/dist/puck/blocks/navigation.d.ts +66 -0
  256. package/dist/puck/blocks/navigation.d.ts.map +1 -0
  257. package/dist/puck/blocks/navigation.js +122 -0
  258. package/dist/puck/blocks/sections.d.ts +134 -0
  259. package/dist/puck/blocks/sections.d.ts.map +1 -0
  260. package/dist/puck/blocks/sections.js +232 -0
  261. package/dist/puck/blocks/utility.d.ts +22 -0
  262. package/dist/puck/blocks/utility.d.ts.map +1 -0
  263. package/dist/puck/blocks/utility.js +49 -0
  264. package/dist/puck/config.d.ts +63 -0
  265. package/dist/puck/config.d.ts.map +1 -0
  266. package/dist/puck/config.js +79 -0
  267. package/dist/puck/fields.d.ts +94 -0
  268. package/dist/puck/fields.d.ts.map +1 -0
  269. package/dist/puck/fields.js +116 -0
  270. package/dist/puck/index.d.ts +21 -0
  271. package/dist/puck/index.d.ts.map +1 -0
  272. package/dist/puck/index.js +10 -0
  273. package/dist/shared/action.d.ts +52 -0
  274. package/dist/shared/action.d.ts.map +1 -0
  275. package/dist/shared/index.d.ts +2 -0
  276. package/dist/shared/index.d.ts.map +1 -1
  277. package/dist/shared/spacing.d.ts +38 -0
  278. package/dist/shared/spacing.d.ts.map +1 -0
  279. package/dist/shared/spacing.js +29 -0
  280. package/dist/shared/typography.d.ts.map +1 -1
  281. package/dist/utils/resolve-token.d.ts +32 -7
  282. package/dist/utils/resolve-token.d.ts.map +1 -1
  283. package/dist/utils/resolve-token.js +9 -1
  284. package/package.json +14 -2
@@ -0,0 +1,73 @@
1
+ import { ElementType, HTMLAttributes, ReactNode } from 'react';
2
+ import { FooterConfig } from './footer-config';
3
+ /**
4
+ * One link in the footer.
5
+ */
6
+ export interface FooterLinkItem {
7
+ /** Stable identifier for the link. Defaults to its position in the list. */
8
+ id?: string | number;
9
+ /** Visible name of the link. */
10
+ label: ReactNode;
11
+ /** Destination of the link. */
12
+ href?: string;
13
+ /** Content before the label, typically an icon or a social mark. */
14
+ icon?: ReactNode;
15
+ /** Whether the link leaves the site, which marks the anchor accordingly. */
16
+ isExternal?: boolean;
17
+ /** Component that replaces the anchor for this link only. */
18
+ component?: ElementType;
19
+ /** Additional props for that component. */
20
+ componentProps?: Record<string, unknown>;
21
+ }
22
+ /**
23
+ * One column of footer navigation.
24
+ */
25
+ export interface FooterGroup {
26
+ /** Stable identifier for the group. Defaults to its position in the list. */
27
+ id?: string | number;
28
+ /** Title of the column, which also names its navigation landmark. */
29
+ title: string;
30
+ /** The links in the column. */
31
+ links: FooterLinkItem[];
32
+ }
33
+ /**
34
+ * Substitution applied to every link in the footer.
35
+ */
36
+ export interface FooterLink {
37
+ /** Component that replaces the anchor, such as a framework router link. */
38
+ component?: ElementType;
39
+ /** Additional props for that component. */
40
+ props?: Record<string, unknown>;
41
+ }
42
+ type BaseFooterProps = FooterConfig & Omit<HTMLAttributes<HTMLElement>, "color" | "title">;
43
+ /**
44
+ * Props for the Footer component.
45
+ */
46
+ export interface FooterProps extends BaseFooterProps {
47
+ /** Brand content, typically a logo and a product name. */
48
+ brand?: ReactNode;
49
+ /** Short description under the brand. */
50
+ description?: ReactNode;
51
+ /** The navigation groups. */
52
+ groups?: FooterGroup[];
53
+ /** Social links, rendered as a row of icon links under the groups. */
54
+ social?: FooterLinkItem[];
55
+ /** Legal links, rendered beside the copyright line. */
56
+ legal?: FooterLinkItem[];
57
+ /** The copyright line. */
58
+ copyright?: ReactNode;
59
+ /** Action area in the brand column, typically a newsletter signup. */
60
+ newsletter?: ReactNode;
61
+ /** Substitution applied to every link the footer renders. */
62
+ link?: FooterLink;
63
+ /**
64
+ * Element to render the footer as.
65
+ * Defaults to `footer`, which is the contentinfo landmark.
66
+ *
67
+ * @default "footer"
68
+ */
69
+ as?: ElementType;
70
+ }
71
+ export declare const Footer: import('react').ForwardRefExoticComponent<FooterProps & import('react').RefAttributes<HTMLElement>>;
72
+ export {};
73
+ //# sourceMappingURL=Footer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../src/components/footer/Footer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAQf,OAAO,EAA0B,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAc5E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAErB,gCAAgC;IAChC,KAAK,EAAE,SAAS,CAAC;IAEjB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,oEAAoE;IACpE,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,6EAA6E;IAC7E,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAErB,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IAEd,+BAA+B;IAC/B,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,KAAK,eAAe,GAAG,YAAY,GACjC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,0DAA0D;IAC1D,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,yCAAyC;IACzC,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IAEvB,sEAAsE;IACtE,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAE1B,uDAAuD;IACvD,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IAEzB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,sEAAsE;IACtE,UAAU,CAAC,EAAE,SAAS,CAAC;IAEvB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;;;;OAKG;IACH,EAAE,CAAC,EAAE,WAAW,CAAC;CAClB;AA6ED,eAAO,MAAM,MAAM,qGAiIlB,CAAC"}
@@ -0,0 +1,112 @@
1
+ "use client";
2
+ "use client";
3
+ import { cn as e } from "../../utils/cn.js";
4
+ import { SPACE_PADDING_Y_CLASS as t } from "../../shared/spacing.js";
5
+ import { useAsheeConfig as n } from "../../libs/context.js";
6
+ import { resolveConfigCascade as r } from "../../utils/resolve-token.js";
7
+ import { Typography as i } from "../typography/Typography.js";
8
+ import { Link as a } from "../link/Link.js";
9
+ import { Container as o } from "../container/Container.js";
10
+ import { FALLBACK_FOOTER_CONFIG as s } from "./footer-config.js";
11
+ import { FOOTER_LINK_CLASS as c, FOOTER_VARIANT_CLASS as l } from "./footer-styles.js";
12
+ import { forwardRef as u } from "react";
13
+ import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
14
+ //#region src/components/footer/Footer.tsx
15
+ function m({ links: e, link: t, className: n }) {
16
+ return /* @__PURE__ */ f("ul", {
17
+ className: n,
18
+ children: e.map((e, n) => /* @__PURE__ */ f("li", { children: /* @__PURE__ */ f(a, {
19
+ href: e.href,
20
+ startIcon: e.icon,
21
+ isExternal: e.isExternal,
22
+ component: e.component ?? t?.component,
23
+ componentProps: {
24
+ ...t?.props,
25
+ ...e.componentProps
26
+ },
27
+ className: c,
28
+ children: e.label
29
+ }) }, e.id ?? n))
30
+ });
31
+ }
32
+ var h = u(({ brand: a, description: c, groups: u, social: h, legal: g, copyright: _, newsletter: v, link: y, variant: b, spacing: x, contained: S, containerSize: C, as: w, className: T, children: E, ...D }, O) => {
33
+ let k = n(), A = r({
34
+ variant: b,
35
+ spacing: x,
36
+ contained: S,
37
+ containerSize: C
38
+ }, k.components?.footer, s), j = w ?? "footer", M = !!(a || c || v), N = !!(_ || g || h), P = /* @__PURE__ */ p(d, { children: [
39
+ (M || u && u.length > 0) && /* @__PURE__ */ p("div", {
40
+ className: "flex flex-col gap-10 lg:flex-row lg:items-start lg:justify-between",
41
+ children: [M && /* @__PURE__ */ p("div", {
42
+ className: "flex max-w-sm flex-col gap-3",
43
+ children: [
44
+ a && /* @__PURE__ */ f(i, {
45
+ as: "span",
46
+ role: "heading-sm",
47
+ children: a
48
+ }),
49
+ c && /* @__PURE__ */ f(i, {
50
+ role: "body-sm",
51
+ tone: "muted",
52
+ children: c
53
+ }),
54
+ v
55
+ ]
56
+ }), u && u.length > 0 && /* @__PURE__ */ f("div", {
57
+ className: "flex flex-wrap gap-10",
58
+ children: u.map((e, t) => /* @__PURE__ */ p("nav", {
59
+ "aria-label": e.title,
60
+ className: "flex min-w-32 flex-col gap-3",
61
+ children: [/* @__PURE__ */ f(i, {
62
+ as: "h2",
63
+ role: "label",
64
+ children: e.title
65
+ }), /* @__PURE__ */ f(m, {
66
+ links: e.links,
67
+ link: y,
68
+ className: "flex flex-col gap-2"
69
+ })]
70
+ }, e.id ?? t))
71
+ })]
72
+ }),
73
+ N && /* @__PURE__ */ p("div", {
74
+ className: "mt-10 flex flex-col gap-4 border-t border-border pt-6 sm:flex-row sm:items-center sm:justify-between",
75
+ children: [_ && /* @__PURE__ */ f(i, {
76
+ role: "caption",
77
+ tone: "muted",
78
+ children: _
79
+ }), /* @__PURE__ */ p("div", {
80
+ className: "flex flex-wrap items-center gap-4",
81
+ children: [g && g.length > 0 && /* @__PURE__ */ f("nav", {
82
+ "aria-label": "Legal",
83
+ children: /* @__PURE__ */ f(m, {
84
+ links: g,
85
+ link: y,
86
+ className: "flex flex-wrap items-center gap-4"
87
+ })
88
+ }), h && h.length > 0 && /* @__PURE__ */ f("nav", {
89
+ "aria-label": "Social",
90
+ children: /* @__PURE__ */ f(m, {
91
+ links: h,
92
+ link: y,
93
+ className: "flex items-center gap-3"
94
+ })
95
+ })]
96
+ })]
97
+ }),
98
+ E
99
+ ] });
100
+ return /* @__PURE__ */ f(j, {
101
+ ref: O,
102
+ className: e(l[A.variant], t[A.spacing], T),
103
+ ...D,
104
+ children: A.contained ? /* @__PURE__ */ f(o, {
105
+ size: A.containerSize,
106
+ children: P
107
+ }) : P
108
+ });
109
+ });
110
+ h.displayName = "Footer";
111
+ //#endregion
112
+ export { h as Footer };
@@ -0,0 +1,40 @@
1
+ import { Space } from '../../shared';
2
+ import { ContainerSize } from '../container/container-config';
3
+ /**
4
+ * Surface treatment of the footer.
5
+ *
6
+ * - `solid`: the page background, so the footer reads as part of the page.
7
+ * - `muted`: a subdued band.
8
+ * - `bordered`: the page background with a separator above it.
9
+ */
10
+ export type FooterVariant = "solid" | "muted" | "bordered";
11
+ /**
12
+ * Theme configuration options for the Footer component.
13
+ *
14
+ * Set under `components.footer` in the AsheeUI config. Values feed the
15
+ * component-level fallback tier of the theme cascade.
16
+ */
17
+ export interface FooterConfig {
18
+ /** Surface treatment. @default "bordered" */
19
+ variant?: FooterVariant;
20
+ /** Vertical padding of the footer. @default "lg" */
21
+ spacing?: Space;
22
+ /** Whether the footer wraps its content in a `Container`. @default true */
23
+ contained?: boolean;
24
+ /** Maximum content width of the footer. @default "lg" */
25
+ containerSize?: ContainerSize;
26
+ }
27
+ /**
28
+ * Default config values registered for the Footer component.
29
+ */
30
+ export declare const defaultFooterConfig: FooterConfig;
31
+ declare module "../../libs/registry" {
32
+ interface ComponentTypeConfigRegistry {
33
+ footer: FooterConfig;
34
+ }
35
+ }
36
+ /**
37
+ * Hard fallback values used when no config tier provides a value.
38
+ */
39
+ export declare const FALLBACK_FOOTER_CONFIG: Required<FooterConfig>;
40
+ //# sourceMappingURL=footer-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"footer-config.d.ts","sourceRoot":"","sources":["../../../src/components/footer/footer-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,oDAAoD;IACpD,OAAO,CAAC,EAAE,KAAK,CAAC;IAEhB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,yDAAyD;IACzD,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,YAKjC,CAAC;AAEF,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,2BAA2B;QACnC,MAAM,EAAE,YAAY,CAAC;KACtB;CACF;AAID;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,YAAY,CAKzD,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ import { registerComponentDefaults as e } from "../../libs/registry.js";
3
+ //#region src/components/footer/footer-config.ts
4
+ var t = {
5
+ variant: "bordered",
6
+ spacing: "lg",
7
+ contained: !0,
8
+ containerSize: "lg"
9
+ };
10
+ e("footer", t);
11
+ var n = {
12
+ variant: "bordered",
13
+ spacing: "lg",
14
+ contained: !0,
15
+ containerSize: "lg"
16
+ };
17
+ //#endregion
18
+ export { n as FALLBACK_FOOTER_CONFIG, t as defaultFooterConfig };
@@ -0,0 +1,22 @@
1
+ import { FooterVariant } from './footer-config';
2
+ /** Surface treatment classes. */
3
+ export declare const FOOTER_VARIANT_CLASS: Record<FooterVariant, string>;
4
+ /** The upper region: the brand column beside the navigation groups. */
5
+ export declare const FOOTER_TOP_CLASS = "flex flex-col gap-10 lg:flex-row lg:items-start lg:justify-between";
6
+ /** The brand column. */
7
+ export declare const FOOTER_BRAND_COLUMN_CLASS = "flex max-w-sm flex-col gap-3";
8
+ /** The navigation groups. */
9
+ export declare const FOOTER_GROUPS_CLASS = "flex flex-wrap gap-10";
10
+ /** One navigation group. */
11
+ export declare const FOOTER_GROUP_CLASS = "flex min-w-32 flex-col gap-3";
12
+ /** A list inside the footer. */
13
+ export declare const FOOTER_LIST_CLASS = "flex flex-col gap-2";
14
+ /** One link inside the footer. */
15
+ export declare const FOOTER_LINK_CLASS = "text-sm text-foreground/70 transition-colors hover:text-foreground";
16
+ /** The lower region: copyright, legal links and social links. */
17
+ export declare const FOOTER_BOTTOM_CLASS = "mt-10 flex flex-col gap-4 border-t border-border pt-6 sm:flex-row sm:items-center sm:justify-between";
18
+ /** The legal and social link rows. */
19
+ export declare const FOOTER_BOTTOM_LINKS_CLASS = "flex flex-wrap items-center gap-4";
20
+ /** The row of icon links. */
21
+ export declare const FOOTER_SOCIAL_ROW_CLASS = "flex items-center gap-3";
22
+ //# sourceMappingURL=footer-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"footer-styles.d.ts","sourceRoot":"","sources":["../../../src/components/footer/footer-styles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,iCAAiC;AACjC,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAI9D,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,uEACyC,CAAC;AAEvE,wBAAwB;AACxB,eAAO,MAAM,yBAAyB,iCAAiC,CAAC;AAExE,6BAA6B;AAC7B,eAAO,MAAM,mBAAmB,0BAA0B,CAAC;AAE3D,4BAA4B;AAC5B,eAAO,MAAM,kBAAkB,iCAAiC,CAAC;AAEjE,gCAAgC;AAChC,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AAEvD,kCAAkC;AAClC,eAAO,MAAM,iBAAiB,uEACwC,CAAC;AAEvE,iEAAiE;AACjE,eAAO,MAAM,mBAAmB,yGACwE,CAAC;AAEzG,sCAAsC;AACtC,eAAO,MAAM,yBAAyB,sCAAsC,CAAC;AAE7E,6BAA6B;AAC7B,eAAO,MAAM,uBAAuB,4BAA4B,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use client";
2
+ //#region src/components/footer/footer-styles.ts
3
+ var e = {
4
+ solid: "bg-background",
5
+ muted: "bg-secondary/50",
6
+ bordered: "bg-background border-t border-border"
7
+ }, t = "flex flex-col gap-10 lg:flex-row lg:items-start lg:justify-between", n = "flex max-w-sm flex-col gap-3", r = "flex flex-wrap gap-10", i = "flex min-w-32 flex-col gap-3", a = "flex flex-col gap-2", o = "text-sm text-foreground/70 transition-colors hover:text-foreground", s = "mt-10 flex flex-col gap-4 border-t border-border pt-6 sm:flex-row sm:items-center sm:justify-between", c = "flex flex-wrap items-center gap-4", l = "flex items-center gap-3";
8
+ //#endregion
9
+ export { s as FOOTER_BOTTOM_CLASS, c as FOOTER_BOTTOM_LINKS_CLASS, n as FOOTER_BRAND_COLUMN_CLASS, r as FOOTER_GROUPS_CLASS, i as FOOTER_GROUP_CLASS, o as FOOTER_LINK_CLASS, a as FOOTER_LIST_CLASS, l as FOOTER_SOCIAL_ROW_CLASS, t as FOOTER_TOP_CLASS, e as FOOTER_VARIANT_CLASS };
@@ -0,0 +1,3 @@
1
+ export * from './Footer';
2
+ export * from './footer-config';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/footer/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./Footer.js";
2
+ export * from "./footer-config.js";
3
+ export * from "./footer-styles.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../../src/components/form/Form.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,kBAAkB,EAEvB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAMf,OAAO,EAAE,KAAK,UAAU,EAAwB,MAAM,eAAe,CAAC;AAQtE,KAAK,aAAa,GAAG,UAAU,GAC7B,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,eAAO,MAAM,IAAI,uGAyFhB,CAAC"}
1
+ {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../../src/components/form/Form.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,kBAAkB,EAEvB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAMf,OAAO,EAAwB,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAQtE,KAAK,aAAa,GAAG,UAAU,GAC7B,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,eAAO,MAAM,IAAI,uGAyFhB,CAAC"}
@@ -0,0 +1,71 @@
1
+ import { ElementType, HTMLAttributes } from 'react';
2
+ import { Space } from '../../shared';
3
+ import { GridColumns, GridConfig } from './grid-config';
4
+ type BaseGridProps = GridConfig & Omit<HTMLAttributes<HTMLDivElement>, "color">;
5
+ /**
6
+ * Props for the Grid component.
7
+ */
8
+ export interface GridProps extends BaseGridProps {
9
+ /**
10
+ * Element to render.
11
+ * Defaults to a `div`. A grid whose cells are list items should render `ul`
12
+ * and receive `li` children.
13
+ *
14
+ * @default "div"
15
+ */
16
+ as?: ElementType;
17
+ /**
18
+ * Column count from the smallest viewport upwards.
19
+ * Resolved through the standard cascade: prop, then
20
+ * `components.grid.columns`, then the framework fallback of a single column.
21
+ *
22
+ * @default 1
23
+ */
24
+ columns?: GridColumns;
25
+ /**
26
+ * Column count from the `md` breakpoint upwards.
27
+ */
28
+ columnsMd?: GridColumns;
29
+ /**
30
+ * Column count from the `lg` breakpoint upwards.
31
+ */
32
+ columnsLg?: GridColumns;
33
+ /**
34
+ * Space between cells, from the shared spacing scale.
35
+ *
36
+ * @default "md"
37
+ */
38
+ gap?: Space;
39
+ }
40
+ /**
41
+ * A responsive column grid.
42
+ *
43
+ * Grid states its column count per breakpoint rather than as a single number, so
44
+ * a deck of cards is one column on a phone, two on a tablet and three on a
45
+ * desktop without writing media queries by hand. A column count left undefined
46
+ * inherits the value of the next smaller breakpoint through the cascade, so a
47
+ * grid that never changes shape only has to state `columns`.
48
+ *
49
+ * @param props - Grid configuration options and element attributes.
50
+ * @param props.columns - Columns from the smallest viewport. Defaults to 1.
51
+ * @param props.columnsMd - Columns from `md` upwards.
52
+ * @param props.columnsLg - Columns from `lg` upwards.
53
+ * @param props.gap - Space between cells. Defaults to "md".
54
+ * @param props.align - Cross-axis alignment. Defaults to "stretch".
55
+ * @param props.as - Element to render. Defaults to "div".
56
+ * @returns The rendered grid.
57
+ *
58
+ * @example
59
+ * ```tsx
60
+ * <Grid columns={1} columnsMd={2} columnsLg={3} gap="lg">
61
+ * <Card title="Inbox" description="12 unread" />
62
+ * <Card title="Sent" description="348 this month" />
63
+ * <Card title="Drafts" description="3 unfinished" />
64
+ * </Grid>
65
+ * ```
66
+ *
67
+ * @see Stack - The one-axis equivalent.
68
+ */
69
+ export declare const Grid: import('react').ForwardRefExoticComponent<GridProps & import('react').RefAttributes<HTMLDivElement>>;
70
+ export {};
71
+ //# sourceMappingURL=Grid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../../src/components/grid/Grid.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,KAAK,WAAW,EAAc,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAE1E,OAAO,EAAmB,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAG3D,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,UAAU,EAChB,MAAM,eAAe,CAAC;AASvB,KAAK,aAAa,GAAG,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C;;;;;;OAMG;IACH,EAAE,CAAC,EAAE,WAAW,CAAC;IAEjB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;;;OAIG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,IAAI,sGA+DhB,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use client";
2
+ "use client";
3
+ import { cn as e } from "../../utils/cn.js";
4
+ import { SPACE_GAP_CLASS as t } from "../../shared/spacing.js";
5
+ import { useAsheeConfig as n } from "../../libs/context.js";
6
+ import { resolveCascade as r } from "../../utils/resolve-token.js";
7
+ import { FALLBACK_GRID_CONFIG as i } from "./grid-config.js";
8
+ import { GRID_ALIGN_CLASS as a, GRID_BASE_CLASS as o, GRID_COLUMNS_CLASS as s, GRID_COLUMNS_LG_CLASS as c, GRID_COLUMNS_MD_CLASS as l } from "./grid-styles.js";
9
+ import { forwardRef as u } from "react";
10
+ import { jsx as d } from "react/jsx-runtime";
11
+ //#region src/components/grid/Grid.tsx
12
+ var f = u(({ as: u, columns: f, columnsMd: p, columnsLg: m, gap: h, align: g, className: _, children: v, ...y }, b) => {
13
+ let x = n().components?.grid, S = r(f, x?.columns, void 0, i.columns), C = p ?? x?.columnsMd, w = m ?? x?.columnsLg, T = r(h, x?.gap, void 0, i.gap), E = r(g, x?.align, void 0, i.align);
14
+ return /* @__PURE__ */ d(u ?? "div", {
15
+ ref: b,
16
+ className: e(o, s[S], C !== void 0 && l[C], w !== void 0 && c[w], a[E], t[T], _),
17
+ ...y,
18
+ children: v
19
+ });
20
+ });
21
+ f.displayName = "Grid";
22
+ //#endregion
23
+ export { f as Grid };
@@ -0,0 +1,63 @@
1
+ import { Space } from '../../shared';
2
+ /**
3
+ * Column counts a grid can declare.
4
+ * Only the counts the framework's own layouts use are offered, so the class
5
+ * map stays small and every entry is a complete literal.
6
+ */
7
+ export type GridColumns = 1 | 2 | 3 | 4 | 6 | 12;
8
+ /**
9
+ * Cross-axis alignment of the grid's items.
10
+ * `stretch` makes every cell fill the row height, which is what a row of cards
11
+ * wants.
12
+ */
13
+ export type GridAlign = "start" | "center" | "end" | "stretch";
14
+ /**
15
+ * Theme configuration options for the Grid component.
16
+ *
17
+ * Set under `components.grid` in the AsheeUI config. Values feed the
18
+ * component-level fallback tier of the theme cascade.
19
+ */
20
+ export interface GridConfig {
21
+ /**
22
+ * Column count from the smallest viewport upwards.
23
+ *
24
+ * @default 1
25
+ */
26
+ columns?: GridColumns;
27
+ /**
28
+ * Column count from the `md` breakpoint upwards.
29
+ */
30
+ columnsMd?: GridColumns;
31
+ /**
32
+ * Column count from the `lg` breakpoint upwards.
33
+ */
34
+ columnsLg?: GridColumns;
35
+ /**
36
+ * Space between cells.
37
+ *
38
+ * @default "md"
39
+ */
40
+ gap?: Space;
41
+ /**
42
+ * Cross-axis alignment of the cells.
43
+ *
44
+ * @default "stretch"
45
+ */
46
+ align?: GridAlign;
47
+ }
48
+ /**
49
+ * Default config values registered for the Grid component.
50
+ */
51
+ export declare const defaultGridConfig: GridConfig;
52
+ declare module "../../libs/registry" {
53
+ interface ComponentTypeConfigRegistry {
54
+ grid: GridConfig;
55
+ }
56
+ }
57
+ /**
58
+ * Hard fallback values used when no config tier provides a value.
59
+ * `columnsMd` and `columnsLg` have no fallback on purpose: an unstated
60
+ * breakpoint inherits the value below it rather than forcing a column count.
61
+ */
62
+ export declare const FALLBACK_GRID_CONFIG: Required<Pick<GridConfig, "columns" | "gap" | "align">>;
63
+ //# sourceMappingURL=grid-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-config.d.ts","sourceRoot":"","sources":["../../../src/components/grid/grid-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AAEjD;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;;;OAIG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC;IAEZ;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,UAI/B,CAAC;AAEF,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,2BAA2B;QACnC,IAAI,EAAE,UAAU,CAAC;KAClB;CACF;AAID;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CACzC,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC,CAK9C,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use client";
2
+ import { registerComponentDefaults as e } from "../../libs/registry.js";
3
+ //#region src/components/grid/grid-config.ts
4
+ var t = {
5
+ columns: 1,
6
+ gap: "md",
7
+ align: "stretch"
8
+ };
9
+ e("grid", t);
10
+ var n = {
11
+ columns: 1,
12
+ gap: "md",
13
+ align: "stretch"
14
+ };
15
+ //#endregion
16
+ export { n as FALLBACK_GRID_CONFIG, t as defaultGridConfig };
@@ -0,0 +1,12 @@
1
+ import { GridAlign, GridColumns } from './grid-config';
2
+ /** Column classes from the smallest viewport upwards. */
3
+ export declare const GRID_COLUMNS_CLASS: Record<GridColumns, string>;
4
+ /** Column classes from the `md` breakpoint upwards. */
5
+ export declare const GRID_COLUMNS_MD_CLASS: Record<GridColumns, string>;
6
+ /** Column classes from the `lg` breakpoint upwards. */
7
+ export declare const GRID_COLUMNS_LG_CLASS: Record<GridColumns, string>;
8
+ /** Cross-axis alignment classes. */
9
+ export declare const GRID_ALIGN_CLASS: Record<GridAlign, string>;
10
+ /** Shared base classes for every grid. */
11
+ export declare const GRID_BASE_CLASS = "grid w-full min-w-0";
12
+ //# sourceMappingURL=grid-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-styles.d.ts","sourceRoot":"","sources":["../../../src/components/grid/grid-styles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5D,yDAAyD;AACzD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAO1D,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAO7D,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAO7D,CAAC;AAEF,oCAAoC;AACpC,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAKtD,CAAC;AAEF,0CAA0C;AAC1C,eAAO,MAAM,eAAe,wBAAwB,CAAC"}
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ //#region src/components/grid/grid-styles.ts
3
+ var e = {
4
+ 1: "grid-cols-1",
5
+ 2: "grid-cols-2",
6
+ 3: "grid-cols-3",
7
+ 4: "grid-cols-4",
8
+ 6: "grid-cols-6",
9
+ 12: "grid-cols-12"
10
+ }, t = {
11
+ 1: "md:grid-cols-1",
12
+ 2: "md:grid-cols-2",
13
+ 3: "md:grid-cols-3",
14
+ 4: "md:grid-cols-4",
15
+ 6: "md:grid-cols-6",
16
+ 12: "md:grid-cols-12"
17
+ }, n = {
18
+ 1: "lg:grid-cols-1",
19
+ 2: "lg:grid-cols-2",
20
+ 3: "lg:grid-cols-3",
21
+ 4: "lg:grid-cols-4",
22
+ 6: "lg:grid-cols-6",
23
+ 12: "lg:grid-cols-12"
24
+ }, r = {
25
+ start: "items-start",
26
+ center: "items-center",
27
+ end: "items-end",
28
+ stretch: "items-stretch"
29
+ }, i = "grid w-full min-w-0";
30
+ //#endregion
31
+ export { r as GRID_ALIGN_CLASS, i as GRID_BASE_CLASS, e as GRID_COLUMNS_CLASS, n as GRID_COLUMNS_LG_CLASS, t as GRID_COLUMNS_MD_CLASS };
@@ -0,0 +1,3 @@
1
+ export * from './Grid';
2
+ export * from './grid-config';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/grid/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./Grid.js";
2
+ export * from "./grid-config.js";
3
+ export * from "./grid-styles.js";
@@ -0,0 +1,90 @@
1
+ import { ElementType, HTMLAttributes, ReactNode } from 'react';
2
+ import { ActionConfig } from '../../shared';
3
+ import { HeroConfig } from './hero-config';
4
+ type BaseHeroProps = HeroConfig & Omit<HTMLAttributes<HTMLElement>, "color" | "title">;
5
+ /**
6
+ * Props for the Hero component.
7
+ */
8
+ export interface HeroProps extends BaseHeroProps {
9
+ /**
10
+ * Short label above the title, for example the product category.
11
+ */
12
+ eyebrow?: ReactNode;
13
+ /**
14
+ * The headline.
15
+ */
16
+ title: ReactNode;
17
+ /**
18
+ * Supporting sentence under the headline.
19
+ */
20
+ description?: ReactNode;
21
+ /**
22
+ * The emphasised action of the hero.
23
+ */
24
+ primaryAction?: ActionConfig;
25
+ /**
26
+ * The supporting action of the hero.
27
+ */
28
+ secondaryAction?: ActionConfig;
29
+ /**
30
+ * Content placed beside the text column from the `lg` breakpoint upwards,
31
+ * typically an illustration or a product screenshot.
32
+ */
33
+ media?: ReactNode;
34
+ /**
35
+ * Element to render the hero band as.
36
+ * Defaults to `section`.
37
+ *
38
+ * @default "section"
39
+ */
40
+ as?: ElementType;
41
+ /**
42
+ * Content below the actions, for example a row of customer logos.
43
+ */
44
+ children?: ReactNode;
45
+ }
46
+ /**
47
+ * The leading statement of a page.
48
+ *
49
+ * Hero places an eyebrow, a headline, a description and up to two configured
50
+ * actions, with media beside them when the consumer provides any. It stays a
51
+ * single component rather than a set of headline, subtitle and action
52
+ * components, because the arrangement between them is the point.
53
+ *
54
+ * The hero is a `section` landmark and is named by its own heading, so a reader
55
+ * navigating by region hears the headline rather than an unnamed region.
56
+ *
57
+ * @param props - Hero configuration options and element attributes.
58
+ * @param props.title - The headline.
59
+ * @param props.eyebrow - Short label above the headline.
60
+ * @param props.description - Supporting sentence under the headline.
61
+ * @param props.primaryAction - The emphasised action.
62
+ * @param props.secondaryAction - The supporting action.
63
+ * @param props.media - Content beside the text column.
64
+ * @param props.align - Text alignment. Defaults to "start".
65
+ * @param props.spacing - Vertical padding. Defaults to "xl".
66
+ * @param props.background - Background treatment. Defaults to "none".
67
+ * @param props.mediaPosition - Side the media occupies. Defaults to "end".
68
+ * @param props.containerSize - Maximum content width. Defaults to "lg".
69
+ * @param props.contained - Respect the framework's width and gutter.
70
+ * Defaults to true.
71
+ * @param props.as - Element to render. Defaults to "section".
72
+ * @returns The rendered hero.
73
+ *
74
+ * @example
75
+ * ```tsx
76
+ * <Hero
77
+ * eyebrow="Everything in one place"
78
+ * title="Run your campaigns from a single workspace"
79
+ * description="Messages, templates and results, without switching tools."
80
+ * primaryAction={{ label: "Start free", href: "/signup" }}
81
+ * media={<Image src="/dashboard.png" alt="The campaign dashboard" />}
82
+ * />
83
+ * ```
84
+ *
85
+ * @see Section - The band a hero is built on.
86
+ * @see CTA - The closing band of the same page.
87
+ */
88
+ export declare const Hero: import('react').ForwardRefExoticComponent<HeroProps & import('react').RefAttributes<HTMLElement>>;
89
+ export {};
90
+ //# sourceMappingURL=Hero.d.ts.map