asheeui 1.0.0 → 1.1.1

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 (287) hide show
  1. package/LICENSE +201 -21
  2. package/NOTICE +10 -0
  3. package/README.md +63 -166
  4. package/dist/components/accordion/Accordion.d.ts +1 -1
  5. package/dist/components/alert/Alert.d.ts.map +1 -1
  6. package/dist/components/alert/Alert.js +6 -6
  7. package/dist/components/auth-layout/AuthLayout.d.ts +79 -0
  8. package/dist/components/auth-layout/AuthLayout.d.ts.map +1 -0
  9. package/dist/components/auth-layout/AuthLayout.js +54 -0
  10. package/dist/components/auth-layout/auth-layout-config.d.ts +41 -0
  11. package/dist/components/auth-layout/auth-layout-config.d.ts.map +1 -0
  12. package/dist/components/auth-layout/auth-layout-config.js +18 -0
  13. package/dist/components/auth-layout/auth-layout-styles.d.ts +25 -0
  14. package/dist/components/auth-layout/auth-layout-styles.d.ts.map +1 -0
  15. package/dist/components/auth-layout/auth-layout-styles.js +11 -0
  16. package/dist/components/auth-layout/index.d.ts +3 -0
  17. package/dist/components/auth-layout/index.d.ts.map +1 -0
  18. package/dist/components/auth-layout/index.js +3 -0
  19. package/dist/components/autocomplete/Autocomplete.d.ts.map +1 -1
  20. package/dist/components/avatar/Avatar.d.ts.map +1 -1
  21. package/dist/components/avatar/Avatar.js +7 -7
  22. package/dist/components/badge/Badge.d.ts.map +1 -1
  23. package/dist/components/badge/Badge.js +3 -3
  24. package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -1
  25. package/dist/components/breadcrumb/Breadcrumb.js +6 -6
  26. package/dist/components/calendar/Calendar.d.ts.map +1 -1
  27. package/dist/components/calendar/Calendar.js +4 -4
  28. package/dist/components/calendar/DateGrid.d.ts.map +1 -1
  29. package/dist/components/calendar/DateGrid.js +87 -87
  30. package/dist/components/clipboard/Clipboard.d.ts +75 -0
  31. package/dist/components/clipboard/Clipboard.d.ts.map +1 -0
  32. package/dist/components/clipboard/Clipboard.js +53 -0
  33. package/dist/components/clipboard/CopyButton.d.ts +64 -0
  34. package/dist/components/clipboard/CopyButton.d.ts.map +1 -0
  35. package/dist/components/clipboard/CopyButton.js +44 -0
  36. package/dist/components/clipboard/clipboard-config.d.ts +42 -0
  37. package/dist/components/clipboard/clipboard-config.d.ts.map +1 -0
  38. package/dist/components/clipboard/clipboard-config.js +23 -0
  39. package/dist/components/clipboard/clipboard-styles.d.ts +11 -0
  40. package/dist/components/clipboard/clipboard-styles.d.ts.map +1 -0
  41. package/dist/components/clipboard/clipboard-styles.js +5 -0
  42. package/dist/components/clipboard/index.d.ts +4 -0
  43. package/dist/components/clipboard/index.d.ts.map +1 -0
  44. package/dist/components/clipboard/index.js +4 -0
  45. package/dist/components/container/Container.d.ts +51 -0
  46. package/dist/components/container/Container.d.ts.map +1 -0
  47. package/dist/components/container/Container.js +21 -0
  48. package/dist/components/container/container-config.d.ts +61 -0
  49. package/dist/components/container/container-config.d.ts.map +1 -0
  50. package/dist/components/container/container-config.js +16 -0
  51. package/dist/components/container/container-styles.d.ts +18 -0
  52. package/dist/components/container/container-styles.d.ts.map +1 -0
  53. package/dist/components/container/container-styles.js +12 -0
  54. package/dist/components/container/index.d.ts +3 -0
  55. package/dist/components/container/index.d.ts.map +1 -0
  56. package/dist/components/container/index.js +3 -0
  57. package/dist/components/cta/CTA.d.ts +81 -0
  58. package/dist/components/cta/CTA.d.ts.map +1 -0
  59. package/dist/components/cta/CTA.js +60 -0
  60. package/dist/components/cta/cta-config.d.ts +69 -0
  61. package/dist/components/cta/cta-config.d.ts.map +1 -0
  62. package/dist/components/cta/cta-config.js +22 -0
  63. package/dist/components/cta/cta-styles.d.ts +8 -0
  64. package/dist/components/cta/cta-styles.d.ts.map +1 -0
  65. package/dist/components/cta/cta-styles.js +9 -0
  66. package/dist/components/cta/index.d.ts +3 -0
  67. package/dist/components/cta/index.d.ts.map +1 -0
  68. package/dist/components/cta/index.js +3 -0
  69. package/dist/components/dropmenu/Dropmenu.d.ts.map +1 -1
  70. package/dist/components/empty-state/EmptyState.d.ts +77 -0
  71. package/dist/components/empty-state/EmptyState.d.ts.map +1 -0
  72. package/dist/components/empty-state/EmptyState.js +46 -0
  73. package/dist/components/empty-state/empty-state-config.d.ts +44 -0
  74. package/dist/components/empty-state/empty-state-config.d.ts.map +1 -0
  75. package/dist/components/empty-state/empty-state-config.js +16 -0
  76. package/dist/components/empty-state/empty-state-styles.d.ts +13 -0
  77. package/dist/components/empty-state/empty-state-styles.d.ts.map +1 -0
  78. package/dist/components/empty-state/empty-state-styles.js +18 -0
  79. package/dist/components/empty-state/index.d.ts +3 -0
  80. package/dist/components/empty-state/index.d.ts.map +1 -0
  81. package/dist/components/empty-state/index.js +3 -0
  82. package/dist/components/feature-grid/FeatureGrid.d.ts +107 -0
  83. package/dist/components/feature-grid/FeatureGrid.d.ts.map +1 -0
  84. package/dist/components/feature-grid/FeatureGrid.js +94 -0
  85. package/dist/components/feature-grid/feature-grid-config.d.ts +80 -0
  86. package/dist/components/feature-grid/feature-grid-config.d.ts.map +1 -0
  87. package/dist/components/feature-grid/feature-grid-config.js +28 -0
  88. package/dist/components/feature-grid/feature-grid-styles.d.ts +11 -0
  89. package/dist/components/feature-grid/feature-grid-styles.d.ts.map +1 -0
  90. package/dist/components/feature-grid/feature-grid-styles.js +5 -0
  91. package/dist/components/feature-grid/index.d.ts +3 -0
  92. package/dist/components/feature-grid/index.d.ts.map +1 -0
  93. package/dist/components/feature-grid/index.js +3 -0
  94. package/dist/components/footer/Footer.d.ts +73 -0
  95. package/dist/components/footer/Footer.d.ts.map +1 -0
  96. package/dist/components/footer/Footer.js +112 -0
  97. package/dist/components/footer/footer-config.d.ts +40 -0
  98. package/dist/components/footer/footer-config.d.ts.map +1 -0
  99. package/dist/components/footer/footer-config.js +18 -0
  100. package/dist/components/footer/footer-styles.d.ts +22 -0
  101. package/dist/components/footer/footer-styles.d.ts.map +1 -0
  102. package/dist/components/footer/footer-styles.js +9 -0
  103. package/dist/components/footer/index.d.ts +3 -0
  104. package/dist/components/footer/index.d.ts.map +1 -0
  105. package/dist/components/footer/index.js +3 -0
  106. package/dist/components/form/Form.d.ts.map +1 -1
  107. package/dist/components/grid/Grid.d.ts +71 -0
  108. package/dist/components/grid/Grid.d.ts.map +1 -0
  109. package/dist/components/grid/Grid.js +23 -0
  110. package/dist/components/grid/grid-config.d.ts +63 -0
  111. package/dist/components/grid/grid-config.d.ts.map +1 -0
  112. package/dist/components/grid/grid-config.js +16 -0
  113. package/dist/components/grid/grid-styles.d.ts +12 -0
  114. package/dist/components/grid/grid-styles.d.ts.map +1 -0
  115. package/dist/components/grid/grid-styles.js +31 -0
  116. package/dist/components/grid/index.d.ts +3 -0
  117. package/dist/components/grid/index.d.ts.map +1 -0
  118. package/dist/components/grid/index.js +3 -0
  119. package/dist/components/hero/Hero.d.ts +90 -0
  120. package/dist/components/hero/Hero.d.ts.map +1 -0
  121. package/dist/components/hero/Hero.js +63 -0
  122. package/dist/components/hero/hero-config.d.ts +71 -0
  123. package/dist/components/hero/hero-config.d.ts.map +1 -0
  124. package/dist/components/hero/hero-config.js +22 -0
  125. package/dist/components/hero/hero-styles.d.ts +19 -0
  126. package/dist/components/hero/hero-styles.d.ts.map +1 -0
  127. package/dist/components/hero/hero-styles.js +5 -0
  128. package/dist/components/hero/index.d.ts +3 -0
  129. package/dist/components/hero/index.d.ts.map +1 -0
  130. package/dist/components/hero/index.js +3 -0
  131. package/dist/components/multi-select/MultiSelect.d.ts.map +1 -1
  132. package/dist/components/navbar/Navbar.d.ts +87 -0
  133. package/dist/components/navbar/Navbar.d.ts.map +1 -0
  134. package/dist/components/navbar/Navbar.js +117 -0
  135. package/dist/components/navbar/index.d.ts +3 -0
  136. package/dist/components/navbar/index.d.ts.map +1 -0
  137. package/dist/components/navbar/index.js +3 -0
  138. package/dist/components/navbar/navbar-config.d.ts +52 -0
  139. package/dist/components/navbar/navbar-config.d.ts.map +1 -0
  140. package/dist/components/navbar/navbar-config.js +20 -0
  141. package/dist/components/navbar/navbar-styles.d.ts +28 -0
  142. package/dist/components/navbar/navbar-styles.d.ts.map +1 -0
  143. package/dist/components/navbar/navbar-styles.js +9 -0
  144. package/dist/components/page/Page.d.ts +166 -0
  145. package/dist/components/page/Page.d.ts.map +1 -0
  146. package/dist/components/page/Page.js +90 -0
  147. package/dist/components/page/index.d.ts +3 -0
  148. package/dist/components/page/index.d.ts.map +1 -0
  149. package/dist/components/page/index.js +3 -0
  150. package/dist/components/page/page-config.d.ts +57 -0
  151. package/dist/components/page/page-config.d.ts.map +1 -0
  152. package/dist/components/page/page-config.js +20 -0
  153. package/dist/components/page/page-styles.d.ts +25 -0
  154. package/dist/components/page/page-styles.d.ts.map +1 -0
  155. package/dist/components/page/page-styles.js +5 -0
  156. package/dist/components/pagination/Pagination.d.ts.map +1 -1
  157. package/dist/components/pagination/Pagination.js +8 -8
  158. package/dist/components/pin-input/PinInput.d.ts +109 -0
  159. package/dist/components/pin-input/PinInput.d.ts.map +1 -0
  160. package/dist/components/pin-input/PinInput.js +124 -0
  161. package/dist/components/pin-input/index.d.ts +3 -0
  162. package/dist/components/pin-input/index.d.ts.map +1 -0
  163. package/dist/components/pin-input/index.js +3 -0
  164. package/dist/components/pin-input/pin-input-config.d.ts +82 -0
  165. package/dist/components/pin-input/pin-input-config.d.ts.map +1 -0
  166. package/dist/components/pin-input/pin-input-config.js +23 -0
  167. package/dist/components/pin-input/pin-input-styles.d.ts +16 -0
  168. package/dist/components/pin-input/pin-input-styles.d.ts.map +1 -0
  169. package/dist/components/pin-input/pin-input-styles.js +9 -0
  170. package/dist/components/pricing-card/PricingCard.d.ts +87 -0
  171. package/dist/components/pricing-card/PricingCard.d.ts.map +1 -0
  172. package/dist/components/pricing-card/PricingCard.js +79 -0
  173. package/dist/components/pricing-card/index.d.ts +3 -0
  174. package/dist/components/pricing-card/index.d.ts.map +1 -0
  175. package/dist/components/pricing-card/index.js +3 -0
  176. package/dist/components/pricing-card/pricing-card-config.d.ts +35 -0
  177. package/dist/components/pricing-card/pricing-card-config.d.ts.map +1 -0
  178. package/dist/components/pricing-card/pricing-card-config.js +16 -0
  179. package/dist/components/pricing-card/pricing-card-styles.d.ts +21 -0
  180. package/dist/components/pricing-card/pricing-card-styles.d.ts.map +1 -0
  181. package/dist/components/pricing-card/pricing-card-styles.js +5 -0
  182. package/dist/components/radio/RadioGroup.d.ts.map +1 -1
  183. package/dist/components/section/Section.d.ts +56 -0
  184. package/dist/components/section/Section.d.ts.map +1 -0
  185. package/dist/components/section/Section.js +27 -0
  186. package/dist/components/section/index.d.ts +3 -0
  187. package/dist/components/section/index.d.ts.map +1 -0
  188. package/dist/components/section/index.js +3 -0
  189. package/dist/components/section/section-config.d.ts +64 -0
  190. package/dist/components/section/section-config.d.ts.map +1 -0
  191. package/dist/components/section/section-config.js +20 -0
  192. package/dist/components/section/section-styles.d.ts +8 -0
  193. package/dist/components/section/section-styles.d.ts.map +1 -0
  194. package/dist/components/section/section-styles.js +9 -0
  195. package/dist/components/section-kit/ActionGroup.d.ts +47 -0
  196. package/dist/components/section-kit/ActionGroup.d.ts.map +1 -0
  197. package/dist/components/section-kit/ActionGroup.js +35 -0
  198. package/dist/components/section-kit/SectionHeading.d.ts +65 -0
  199. package/dist/components/section-kit/SectionHeading.d.ts.map +1 -0
  200. package/dist/components/section-kit/SectionHeading.js +34 -0
  201. package/dist/components/section-kit/index.d.ts +12 -0
  202. package/dist/components/section-kit/index.d.ts.map +1 -0
  203. package/dist/components/section-kit/index.js +2 -0
  204. package/dist/components/sidebar-layout/SidebarLayout.d.ts +67 -0
  205. package/dist/components/sidebar-layout/SidebarLayout.d.ts.map +1 -0
  206. package/dist/components/sidebar-layout/SidebarLayout.js +40 -0
  207. package/dist/components/sidebar-layout/index.d.ts +3 -0
  208. package/dist/components/sidebar-layout/index.d.ts.map +1 -0
  209. package/dist/components/sidebar-layout/index.js +3 -0
  210. package/dist/components/sidebar-layout/sidebar-layout-config.d.ts +49 -0
  211. package/dist/components/sidebar-layout/sidebar-layout-config.d.ts.map +1 -0
  212. package/dist/components/sidebar-layout/sidebar-layout-config.js +16 -0
  213. package/dist/components/sidebar-layout/sidebar-layout-styles.d.ts +21 -0
  214. package/dist/components/sidebar-layout/sidebar-layout-styles.d.ts.map +1 -0
  215. package/dist/components/sidebar-layout/sidebar-layout-styles.js +9 -0
  216. package/dist/components/skeleton/Skeleton.d.ts.map +1 -1
  217. package/dist/components/stack/Stack.d.ts +107 -0
  218. package/dist/components/stack/Stack.d.ts.map +1 -0
  219. package/dist/components/stack/Stack.js +36 -0
  220. package/dist/components/stack/index.d.ts +3 -0
  221. package/dist/components/stack/index.d.ts.map +1 -0
  222. package/dist/components/stack/index.js +3 -0
  223. package/dist/components/stack/stack-config.d.ts +68 -0
  224. package/dist/components/stack/stack-config.d.ts.map +1 -0
  225. package/dist/components/stack/stack-config.js +20 -0
  226. package/dist/components/stack/stack-styles.d.ts +10 -0
  227. package/dist/components/stack/stack-styles.d.ts.map +1 -0
  228. package/dist/components/stack/stack-styles.js +21 -0
  229. package/dist/components/testimonials/Testimonials.d.ts +78 -0
  230. package/dist/components/testimonials/Testimonials.d.ts.map +1 -0
  231. package/dist/components/testimonials/Testimonials.js +96 -0
  232. package/dist/components/testimonials/index.d.ts +3 -0
  233. package/dist/components/testimonials/index.d.ts.map +1 -0
  234. package/dist/components/testimonials/index.js +3 -0
  235. package/dist/components/testimonials/testimonials-config.d.ts +44 -0
  236. package/dist/components/testimonials/testimonials-config.d.ts.map +1 -0
  237. package/dist/components/testimonials/testimonials-config.js +28 -0
  238. package/dist/components/testimonials/testimonials-styles.d.ts +11 -0
  239. package/dist/components/testimonials/testimonials-styles.d.ts.map +1 -0
  240. package/dist/components/testimonials/testimonials-styles.js +5 -0
  241. package/dist/components/typography/typography-styles.d.ts.map +1 -1
  242. package/dist/config/validate-config.d.ts.map +1 -1
  243. package/dist/icons/CopyIcon.d.ts +3 -0
  244. package/dist/icons/CopyIcon.d.ts.map +1 -0
  245. package/dist/icons/CopyIcon.js +24 -0
  246. package/dist/index.d.ts +19 -2
  247. package/dist/index.d.ts.map +1 -1
  248. package/dist/index.js +107 -72
  249. package/dist/puck/adapters.d.ts +41 -0
  250. package/dist/puck/adapters.d.ts.map +1 -0
  251. package/dist/puck/adapters.js +30 -0
  252. package/dist/puck/blocks/content.d.ts +32 -0
  253. package/dist/puck/blocks/content.d.ts.map +1 -0
  254. package/dist/puck/blocks/content.js +54 -0
  255. package/dist/puck/blocks/layout.d.ts +44 -0
  256. package/dist/puck/blocks/layout.d.ts.map +1 -0
  257. package/dist/puck/blocks/layout.js +69 -0
  258. package/dist/puck/blocks/navigation.d.ts +66 -0
  259. package/dist/puck/blocks/navigation.d.ts.map +1 -0
  260. package/dist/puck/blocks/navigation.js +122 -0
  261. package/dist/puck/blocks/sections.d.ts +134 -0
  262. package/dist/puck/blocks/sections.d.ts.map +1 -0
  263. package/dist/puck/blocks/sections.js +232 -0
  264. package/dist/puck/blocks/utility.d.ts +22 -0
  265. package/dist/puck/blocks/utility.d.ts.map +1 -0
  266. package/dist/puck/blocks/utility.js +49 -0
  267. package/dist/puck/config.d.ts +63 -0
  268. package/dist/puck/config.d.ts.map +1 -0
  269. package/dist/puck/config.js +79 -0
  270. package/dist/puck/fields.d.ts +94 -0
  271. package/dist/puck/fields.d.ts.map +1 -0
  272. package/dist/puck/fields.js +116 -0
  273. package/dist/puck/index.d.ts +21 -0
  274. package/dist/puck/index.d.ts.map +1 -0
  275. package/dist/puck/index.js +10 -0
  276. package/dist/shared/action.d.ts +52 -0
  277. package/dist/shared/action.d.ts.map +1 -0
  278. package/dist/shared/index.d.ts +2 -0
  279. package/dist/shared/index.d.ts.map +1 -1
  280. package/dist/shared/spacing.d.ts +38 -0
  281. package/dist/shared/spacing.d.ts.map +1 -0
  282. package/dist/shared/spacing.js +29 -0
  283. package/dist/shared/typography.d.ts.map +1 -1
  284. package/dist/utils/resolve-token.d.ts +32 -7
  285. package/dist/utils/resolve-token.d.ts.map +1 -1
  286. package/dist/utils/resolve-token.js +9 -1
  287. package/package.json +18 -4
@@ -0,0 +1,44 @@
1
+ import { Size } from '../../shared';
2
+ /**
3
+ * The tone of an empty region.
4
+ *
5
+ * - `info`: nothing is here yet, which is expected.
6
+ * - `success`: the region is empty because the work finished.
7
+ * - `warning`: the region is empty and something needs attention.
8
+ * - `error`: the region could not be filled because something failed.
9
+ */
10
+ export type EmptyStateType = "info" | "success" | "warning" | "error";
11
+ /**
12
+ * Theme configuration options for the EmptyState component.
13
+ *
14
+ * Set under `components.emptystate` in the AsheeUI config. Values feed the
15
+ * component-level fallback tier of the theme cascade.
16
+ */
17
+ export interface EmptyStateConfig {
18
+ /** Tone of the state. @default "info" */
19
+ type?: EmptyStateType;
20
+ /** Density of the state. @default "md" */
21
+ size?: Size;
22
+ /**
23
+ * Whether the state is drawn as a panel.
24
+ * A panel suits a region inside a dashboard; without one the state sits
25
+ * directly on the page, which suits a whole-page empty view.
26
+ *
27
+ * @default false
28
+ */
29
+ panel?: boolean;
30
+ }
31
+ /**
32
+ * Default config values registered for the EmptyState component.
33
+ */
34
+ export declare const defaultEmptyStateConfig: EmptyStateConfig;
35
+ declare module "../../libs/registry" {
36
+ interface ComponentTypeConfigRegistry {
37
+ emptystate: EmptyStateConfig;
38
+ }
39
+ }
40
+ /**
41
+ * Hard fallback values used when no config tier provides a value.
42
+ */
43
+ export declare const FALLBACK_EMPTY_STATE_CONFIG: Required<EmptyStateConfig>;
44
+ //# sourceMappingURL=empty-state-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-state-config.d.ts","sourceRoot":"","sources":["../../../src/components/empty-state/empty-state-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEzC;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yCAAyC;IACzC,IAAI,CAAC,EAAE,cAAc,CAAC;IAEtB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBAIrC,CAAC;AAEF,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,2BAA2B;QACnC,UAAU,EAAE,gBAAgB,CAAC;KAC9B;CACF;AAID;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,gBAAgB,CAIlE,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use client";
2
+ import { registerComponentDefaults as e } from "../../libs/registry.js";
3
+ //#region src/components/empty-state/empty-state-config.ts
4
+ var t = {
5
+ type: "info",
6
+ size: "md",
7
+ panel: !1
8
+ };
9
+ e("emptystate", t);
10
+ var n = {
11
+ type: "info",
12
+ size: "md",
13
+ panel: !1
14
+ };
15
+ //#endregion
16
+ export { n as FALLBACK_EMPTY_STATE_CONFIG, t as defaultEmptyStateConfig };
@@ -0,0 +1,13 @@
1
+ import { Size } from '../../shared';
2
+ import { EmptyStateType } from './empty-state-config';
3
+ /** Inner arrangement of the state. */
4
+ export declare const EMPTY_STATE_CLASS = "flex flex-col items-center gap-4 text-center";
5
+ /** Padding of the state at each density. */
6
+ export declare const EMPTY_STATE_SIZE_CLASS: Record<Size, string>;
7
+ /** The panel treatment. */
8
+ export declare const EMPTY_STATE_PANEL_CLASS = "rounded-md border border-border bg-background";
9
+ /** Spacing between the icon badge and the text at each density. */
10
+ export declare const EMPTY_STATE_ICON_SIZE_CLASS: Record<Size, string>;
11
+ /** Badge that holds the state's icon, coloured by tone. */
12
+ export declare const EMPTY_STATE_ICON_CLASS: Record<EmptyStateType, string>;
13
+ //# sourceMappingURL=empty-state-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-state-styles.d.ts","sourceRoot":"","sources":["../../../src/components/empty-state/empty-state-styles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,sCAAsC;AACtC,eAAO,MAAM,iBAAiB,iDAAiD,CAAC;AAEhF,4CAA4C;AAC5C,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAIvD,CAAC;AAEF,2BAA2B;AAC3B,eAAO,MAAM,uBAAuB,kDACa,CAAC;AAElD,mEAAmE;AACnE,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAI5D,CAAC;AAEF,2DAA2D;AAC3D,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAQjE,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ //#region src/components/empty-state/empty-state-styles.ts
3
+ var e = "flex flex-col items-center gap-4 text-center", t = {
4
+ sm: "p-4",
5
+ md: "p-6",
6
+ lg: "p-10"
7
+ }, n = "rounded-md border border-border bg-background", r = {
8
+ sm: "size-8",
9
+ md: "size-10",
10
+ lg: "size-12"
11
+ }, i = {
12
+ info: "flex shrink-0 items-center justify-center rounded-full bg-primary/10 text-primary",
13
+ success: "flex shrink-0 items-center justify-center rounded-full bg-success/10 text-success",
14
+ warning: "flex shrink-0 items-center justify-center rounded-full bg-warning/10 text-warning",
15
+ error: "flex shrink-0 items-center justify-center rounded-full bg-danger/10 text-danger"
16
+ };
17
+ //#endregion
18
+ export { e as EMPTY_STATE_CLASS, i as EMPTY_STATE_ICON_CLASS, r as EMPTY_STATE_ICON_SIZE_CLASS, n as EMPTY_STATE_PANEL_CLASS, t as EMPTY_STATE_SIZE_CLASS };
@@ -0,0 +1,3 @@
1
+ export * from './EmptyState';
2
+ export * from './empty-state-config';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/empty-state/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./EmptyState.js";
2
+ export * from "./empty-state-config.js";
3
+ export * from "./empty-state-styles.js";
@@ -0,0 +1,107 @@
1
+ import { ElementType, HTMLAttributes, ReactNode } from 'react';
2
+ import { FeatureGridConfig } from './feature-grid-config';
3
+ /**
4
+ * One feature in the grid.
5
+ */
6
+ export interface FeatureItem {
7
+ /**
8
+ * Stable identifier for the feature.
9
+ * Defaults to its position in the list.
10
+ */
11
+ id?: string | number;
12
+ /**
13
+ * Icon shown above the feature title.
14
+ */
15
+ icon?: ReactNode;
16
+ /**
17
+ * Name of the feature.
18
+ */
19
+ title: ReactNode;
20
+ /**
21
+ * Explanation of the feature.
22
+ */
23
+ description?: ReactNode;
24
+ /**
25
+ * Destination of the feature.
26
+ * With one, the whole card becomes a link.
27
+ */
28
+ href?: string;
29
+ }
30
+ /**
31
+ * Substitution for the link each feature card renders.
32
+ */
33
+ export interface FeatureGridLink {
34
+ /**
35
+ * Component that replaces the anchor, such as a framework router link.
36
+ */
37
+ component?: ElementType;
38
+ /**
39
+ * Additional props for that component.
40
+ */
41
+ props?: Record<string, unknown>;
42
+ }
43
+ type BaseFeatureGridProps = FeatureGridConfig & Omit<HTMLAttributes<HTMLElement>, "color" | "title">;
44
+ /**
45
+ * Props for the FeatureGrid component.
46
+ */
47
+ export interface FeatureGridProps extends BaseFeatureGridProps {
48
+ /** Short label above the heading. */
49
+ eyebrow?: ReactNode;
50
+ /** Heading of the band. */
51
+ title?: ReactNode;
52
+ /** Supporting sentence under the heading. */
53
+ description?: ReactNode;
54
+ /** The features to show. */
55
+ items: FeatureItem[];
56
+ /** Substitution applied to the link of every feature card. */
57
+ link?: FeatureGridLink;
58
+ /**
59
+ * Element to render the band as.
60
+ * Defaults to `section`.
61
+ *
62
+ * @default "section"
63
+ */
64
+ as?: ElementType;
65
+ /** Content below the grid. */
66
+ children?: ReactNode;
67
+ }
68
+ /**
69
+ * A band of features laid out in a responsive grid.
70
+ *
71
+ * Each feature renders through the public `Card`, so a feature grid inherits the
72
+ * framework's card variants, radius, hover and focus treatment and its
73
+ * router-link substitution. The grid is one column on a phone, two on a tablet
74
+ * and three from the `lg` breakpoint by default, and every part of that is
75
+ * configurable through `components.featuregrid`.
76
+ *
77
+ * @param props - FeatureGrid configuration options and element attributes.
78
+ * @param props.items - The features to show.
79
+ * @param props.title - Heading of the band.
80
+ * @param props.eyebrow - Short label above the heading.
81
+ * @param props.description - Supporting sentence under the heading.
82
+ * @param props.columns - Columns from the smallest viewport. Defaults to 1.
83
+ * @param props.columnsMd - Columns from `md` upwards. Defaults to 2.
84
+ * @param props.columnsLg - Columns from `lg` upwards. Defaults to 3.
85
+ * @param props.gap - Space between cards. Defaults to "lg".
86
+ * @param props.align - Heading alignment. Defaults to "center".
87
+ * @param props.link - Substitution for the feature card links.
88
+ * @param props.as - Element to render. Defaults to "section".
89
+ * @returns The rendered band.
90
+ *
91
+ * @example
92
+ * ```tsx
93
+ * <FeatureGrid
94
+ * eyebrow="Why teams switch"
95
+ * title="Everything the campaign needs"
96
+ * items={[
97
+ * { title: "Templates", description: "Reusable messages." },
98
+ * { title: "Scheduling", description: "Send at the right time." },
99
+ * ]}
100
+ * />
101
+ * ```
102
+ *
103
+ * @see Card - The surface each feature renders in.
104
+ */
105
+ export declare const FeatureGrid: import('react').ForwardRefExoticComponent<FeatureGridProps & import('react').RefAttributes<HTMLElement>>;
106
+ export {};
107
+ //# sourceMappingURL=FeatureGrid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeatureGrid.d.ts","sourceRoot":"","sources":["../../../src/components/feature-grid/FeatureGrid.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AASf,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAO/B;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,KAAK,oBAAoB,GAAG,iBAAiB,GAC3C,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,qCAAqC;IACrC,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB,4BAA4B;IAC5B,KAAK,EAAE,WAAW,EAAE,CAAC;IAErB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,eAAe,CAAC;IAEvB;;;;;OAKG;IACH,EAAE,CAAC,EAAE,WAAW,CAAC;IAEjB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,WAAW,0GAgHvB,CAAC"}
@@ -0,0 +1,94 @@
1
+ "use client";
2
+ "use client";
3
+ import { useAsheeConfig as e } from "../../libs/context.js";
4
+ import { resolveConfigCascade as t } from "../../utils/resolve-token.js";
5
+ import { Typography as n } from "../typography/Typography.js";
6
+ import { SectionHeading as r } from "../section-kit/SectionHeading.js";
7
+ import { Card as i } from "../card/Card.js";
8
+ import { Container as a } from "../container/Container.js";
9
+ import { Section as o } from "../section/Section.js";
10
+ import { Grid as s } from "../grid/Grid.js";
11
+ import { FALLBACK_FEATURE_GRID_CONFIG as c } from "./feature-grid-config.js";
12
+ import { FEATURE_CARD_BODY_CLASS as l, FEATURE_HEADING_CLASS as u } from "./feature-grid-styles.js";
13
+ import { forwardRef as d } from "react";
14
+ import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
15
+ //#region src/components/feature-grid/FeatureGrid.tsx
16
+ var h = d(({ eyebrow: d, title: h, description: g, items: _, link: v, columns: y, columnsMd: b, columnsLg: x, gap: S, spacing: C, background: w, align: T, containerSize: E, contained: D, as: O, className: k, children: A, ...j }, M) => {
17
+ let N = e(), P = t({
18
+ columns: y,
19
+ columnsMd: b,
20
+ columnsLg: x,
21
+ gap: S,
22
+ spacing: C,
23
+ background: w,
24
+ align: T,
25
+ containerSize: E,
26
+ contained: D
27
+ }, N.components?.featuregrid, c), F = /* @__PURE__ */ m(f, { children: [
28
+ /* @__PURE__ */ p(r, {
29
+ eyebrow: d,
30
+ title: h,
31
+ description: g,
32
+ align: P.align,
33
+ className: u
34
+ }),
35
+ /* @__PURE__ */ p(s, {
36
+ columns: P.columns,
37
+ columnsMd: P.columnsMd,
38
+ columnsLg: P.columnsLg,
39
+ gap: P.gap,
40
+ as: "ul",
41
+ children: _.map((e, t) => /* @__PURE__ */ p("li", {
42
+ className: "min-w-0",
43
+ children: /* @__PURE__ */ p(i, {
44
+ variant: "bordered",
45
+ size: "md",
46
+ className: "h-full",
47
+ link: e.href ? {
48
+ component: v?.component,
49
+ componentProps: {
50
+ ...v?.props,
51
+ href: e.href
52
+ }
53
+ } : void 0,
54
+ children: /* @__PURE__ */ m("div", {
55
+ className: l,
56
+ children: [
57
+ e.icon && /* @__PURE__ */ p("div", {
58
+ className: "flex size-10 shrink-0 items-center justify-center rounded-md bg-primary/10 text-primary",
59
+ children: e.icon
60
+ }),
61
+ /* @__PURE__ */ p(n, {
62
+ as: "h3",
63
+ role: "heading-sm",
64
+ children: e.title
65
+ }),
66
+ e.description && /* @__PURE__ */ p(n, {
67
+ role: "body-sm",
68
+ tone: "muted",
69
+ children: e.description
70
+ })
71
+ ]
72
+ })
73
+ })
74
+ }, e.id ?? t))
75
+ }),
76
+ A
77
+ ] });
78
+ return /* @__PURE__ */ p(o, {
79
+ ref: M,
80
+ as: O,
81
+ spacing: P.spacing,
82
+ background: P.background,
83
+ contained: !1,
84
+ className: k,
85
+ ...j,
86
+ children: P.contained ? /* @__PURE__ */ p(a, {
87
+ size: P.containerSize,
88
+ children: F
89
+ }) : F
90
+ });
91
+ });
92
+ h.displayName = "FeatureGrid";
93
+ //#endregion
94
+ export { h as FeatureGrid };
@@ -0,0 +1,80 @@
1
+ import { Space } from '../../shared';
2
+ import { ContainerSize } from '../container/container-config';
3
+ import { GridColumns } from '../grid/grid-config';
4
+ import { SectionBackground } from '../section/section-config';
5
+ /**
6
+ * Theme configuration options for the FeatureGrid component.
7
+ *
8
+ * Set under `components.featuregrid` in the AsheeUI config. Values feed the
9
+ * component-level fallback tier of the theme cascade.
10
+ */
11
+ export interface FeatureGridConfig {
12
+ /**
13
+ * Columns from the smallest viewport upwards.
14
+ *
15
+ * @default 1
16
+ */
17
+ columns?: GridColumns;
18
+ /**
19
+ * Columns from the `md` breakpoint upwards.
20
+ *
21
+ * @default 2
22
+ */
23
+ columnsMd?: GridColumns;
24
+ /**
25
+ * Columns from the `lg` breakpoint upwards.
26
+ *
27
+ * @default 3
28
+ */
29
+ columnsLg?: GridColumns;
30
+ /**
31
+ * Space between the feature cards.
32
+ *
33
+ * @default "lg"
34
+ */
35
+ gap?: Space;
36
+ /**
37
+ * Vertical padding of the band.
38
+ *
39
+ * @default "lg"
40
+ */
41
+ spacing?: Space;
42
+ /**
43
+ * Background treatment of the band.
44
+ *
45
+ * @default "none"
46
+ */
47
+ background?: SectionBackground;
48
+ /**
49
+ * Alignment of the heading above the grid.
50
+ *
51
+ * @default "center"
52
+ */
53
+ align?: "start" | "center";
54
+ /**
55
+ * Maximum content width of the band.
56
+ *
57
+ * @default "lg"
58
+ */
59
+ containerSize?: ContainerSize;
60
+ /**
61
+ * Whether the band wraps its content in a {@link Container}.
62
+ *
63
+ * @default true
64
+ */
65
+ contained?: boolean;
66
+ }
67
+ /**
68
+ * Default config values registered for the FeatureGrid component.
69
+ */
70
+ export declare const defaultFeatureGridConfig: FeatureGridConfig;
71
+ declare module "../../libs/registry" {
72
+ interface ComponentTypeConfigRegistry {
73
+ featuregrid: FeatureGridConfig;
74
+ }
75
+ }
76
+ /**
77
+ * Hard fallback values used when no config tier provides a value.
78
+ */
79
+ export declare const FALLBACK_FEATURE_GRID_CONFIG: Required<FeatureGridConfig>;
80
+ //# sourceMappingURL=feature-grid-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-grid-config.d.ts","sourceRoot":"","sources":["../../../src/components/feature-grid/feature-grid-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;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;;;OAIG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;;;OAIG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC;IAEZ;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;IAEhB;;;;OAIG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAE/B;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAE3B;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBAUtC,CAAC;AAEF,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,2BAA2B;QACnC,WAAW,EAAE,iBAAiB,CAAC;KAChC;CACF;AAID;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,iBAAiB,CAUpE,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ import { registerComponentDefaults as e } from "../../libs/registry.js";
3
+ //#region src/components/feature-grid/feature-grid-config.ts
4
+ var t = {
5
+ columns: 1,
6
+ columnsMd: 2,
7
+ columnsLg: 3,
8
+ gap: "lg",
9
+ spacing: "lg",
10
+ background: "none",
11
+ align: "center",
12
+ containerSize: "lg",
13
+ contained: !0
14
+ };
15
+ e("featuregrid", t);
16
+ var n = {
17
+ columns: 1,
18
+ columnsMd: 2,
19
+ columnsLg: 3,
20
+ gap: "lg",
21
+ spacing: "lg",
22
+ background: "none",
23
+ align: "center",
24
+ containerSize: "lg",
25
+ contained: !0
26
+ };
27
+ //#endregion
28
+ export { n as FALLBACK_FEATURE_GRID_CONFIG, t as defaultFeatureGridConfig };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * FeatureGrid component styles for AsheeUI.
3
+ * This file provides the static class mappings for the FeatureGrid pattern.
4
+ */
5
+ /** The badge that holds a feature's icon. */
6
+ export declare const FEATURE_ICON_CLASS = "flex size-10 shrink-0 items-center justify-center rounded-md bg-primary/10 text-primary";
7
+ /** The inner arrangement of a feature card. */
8
+ export declare const FEATURE_CARD_BODY_CLASS = "flex flex-col gap-3";
9
+ /** The heading block above the grid. */
10
+ export declare const FEATURE_HEADING_CLASS = "mb-10";
11
+ //# sourceMappingURL=feature-grid-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-grid-styles.d.ts","sourceRoot":"","sources":["../../../src/components/feature-grid/feature-grid-styles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,6CAA6C;AAC7C,eAAO,MAAM,kBAAkB,4FAC4D,CAAC;AAE5F,+CAA+C;AAC/C,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,wCAAwC;AACxC,eAAO,MAAM,qBAAqB,UAAU,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use client";
2
+ //#region src/components/feature-grid/feature-grid-styles.ts
3
+ var e = "flex size-10 shrink-0 items-center justify-center rounded-md bg-primary/10 text-primary", t = "flex flex-col gap-3", n = "mb-10";
4
+ //#endregion
5
+ export { t as FEATURE_CARD_BODY_CLASS, n as FEATURE_HEADING_CLASS, e as FEATURE_ICON_CLASS };
@@ -0,0 +1,3 @@
1
+ export * from './FeatureGrid';
2
+ export * from './feature-grid-config';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/feature-grid/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./FeatureGrid.js";
2
+ export * from "./feature-grid-config.js";
3
+ export * from "./feature-grid-styles.js";
@@ -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 };