@ds-gn/ui 0.0.0-stage → 0.5.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 (271) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +155 -2
  3. package/THIRD_PARTY_NOTICES +167 -0
  4. package/assets/logo-full-dark.svg +4 -0
  5. package/assets/logo-full.svg +4 -0
  6. package/assets/logo-mark.svg +3 -0
  7. package/custom-elements.json +4696 -0
  8. package/dist/common/Base/Base.d.ts +22 -0
  9. package/dist/common/controllers/AuroraMeshController.d.ts +68 -0
  10. package/dist/common/controllers/AutoRotateController.d.ts +38 -0
  11. package/dist/common/controllers/BreakpointController.d.ts +30 -0
  12. package/dist/common/controllers/LayoutChangeController.d.ts +28 -0
  13. package/dist/common/controllers/WordCycleController.d.ts +36 -0
  14. package/dist/common/helpers/aurora-mesh.d.ts +11 -0
  15. package/dist/common/helpers/define-element.d.ts +14 -0
  16. package/dist/common/helpers/enum-creator.d.ts +2 -0
  17. package/dist/common/helpers/enum-validator.d.ts +1 -0
  18. package/dist/common/helpers/layout-change.d.ts +39 -0
  19. package/dist/common/helpers/layout-change.testing.d.ts +15 -0
  20. package/dist/common/helpers/logo.string.d.ts +23 -0
  21. package/dist/common/helpers/logo.string.js +43 -0
  22. package/dist/common/helpers/logo.utils.d.ts +8 -0
  23. package/dist/common/helpers/motion.d.ts +9 -0
  24. package/dist/common/helpers/story.utils.d.ts +32 -0
  25. package/dist/common/props/surface/surface.props.d.ts +6 -0
  26. package/dist/components/Background/src/Background.d.ts +44 -0
  27. package/dist/components/Background/src/Background.js +576 -0
  28. package/dist/components/Background/src/Background.props.d.ts +20 -0
  29. package/dist/components/Background/src/Background.props.js +47 -0
  30. package/dist/components/Background/src/Background.styles.d.ts +3 -0
  31. package/dist/components/Badge/src/Badge.d.ts +28 -0
  32. package/dist/components/Badge/src/Badge.js +429 -0
  33. package/dist/components/Badge/src/Badge.playground.d.ts +2 -0
  34. package/dist/components/Badge/src/Badge.props.d.ts +16 -0
  35. package/dist/components/Badge/src/Badge.props.js +44 -0
  36. package/dist/components/Badge/src/Badge.styles.d.ts +2 -0
  37. package/dist/components/Button/src/Button.d.ts +138 -0
  38. package/dist/components/Button/src/Button.js +1102 -0
  39. package/dist/components/Button/src/Button.playground.d.ts +2 -0
  40. package/dist/components/Button/src/Button.props.d.ts +47 -0
  41. package/dist/components/Button/src/Button.props.js +79 -0
  42. package/dist/components/Button/src/Button.styles.d.ts +11 -0
  43. package/dist/components/Card/src/Card.d.ts +39 -0
  44. package/dist/components/Card/src/Card.js +564 -0
  45. package/dist/components/Card/src/Card.playground.d.ts +2 -0
  46. package/dist/components/Card/src/Card.props.d.ts +22 -0
  47. package/dist/components/Card/src/Card.props.js +42 -0
  48. package/dist/components/Card/src/Card.styles.d.ts +11 -0
  49. package/dist/components/CodeBlock/src/CodeBlock.d.ts +18 -0
  50. package/dist/components/CodeBlock/src/CodeBlock.js +372 -0
  51. package/dist/components/CodeBlock/src/CodeBlock.props.d.ts +1 -0
  52. package/dist/components/CodeBlock/src/CodeBlock.props.js +5 -0
  53. package/dist/components/CodeBlock/src/CodeBlock.styles.d.ts +9 -0
  54. package/dist/components/Container/src/Container.d.ts +26 -0
  55. package/dist/components/Container/src/Container.js +354 -0
  56. package/dist/components/Container/src/Container.props.d.ts +20 -0
  57. package/dist/components/Container/src/Container.props.js +49 -0
  58. package/dist/components/Container/src/Container.styles.d.ts +2 -0
  59. package/dist/components/Divider/src/Divider.d.ts +23 -0
  60. package/dist/components/Divider/src/Divider.js +250 -0
  61. package/dist/components/Divider/src/Divider.props.d.ts +7 -0
  62. package/dist/components/Divider/src/Divider.props.js +34 -0
  63. package/dist/components/Divider/src/Divider.styles.d.ts +2 -0
  64. package/dist/components/FeatureItem/src/FeatureItem.d.ts +30 -0
  65. package/dist/components/FeatureItem/src/FeatureItem.js +368 -0
  66. package/dist/components/FeatureItem/src/FeatureItem.props.d.ts +10 -0
  67. package/dist/components/FeatureItem/src/FeatureItem.props.js +37 -0
  68. package/dist/components/FeatureItem/src/FeatureItem.styles.d.ts +3 -0
  69. package/dist/components/FeatureTabs/src/FeatureTabs.d.ts +48 -0
  70. package/dist/components/FeatureTabs/src/FeatureTabs.js +1333 -0
  71. package/dist/components/FeatureTabs/src/FeatureTabs.props.d.ts +27 -0
  72. package/dist/components/FeatureTabs/src/FeatureTabs.props.js +80 -0
  73. package/dist/components/FeatureTabs/src/FeatureTabs.styles.d.ts +35 -0
  74. package/dist/components/Footer/src/Footer.d.ts +39 -0
  75. package/dist/components/Footer/src/Footer.js +361 -0
  76. package/dist/components/Footer/src/Footer.styles.d.ts +6 -0
  77. package/dist/components/FormBlock/src/FormBlock.d.ts +40 -0
  78. package/dist/components/FormBlock/src/FormBlock.js +476 -0
  79. package/dist/components/FormBlock/src/FormBlock.props.d.ts +5 -0
  80. package/dist/components/FormBlock/src/FormBlock.props.js +8 -0
  81. package/dist/components/FormBlock/src/FormBlock.styles.d.ts +6 -0
  82. package/dist/components/Grid/src/Grid.d.ts +35 -0
  83. package/dist/components/Grid/src/Grid.js +381 -0
  84. package/dist/components/Grid/src/Grid.props.d.ts +28 -0
  85. package/dist/components/Grid/src/Grid.props.js +57 -0
  86. package/dist/components/Grid/src/Grid.styles.d.ts +3 -0
  87. package/dist/components/Heading/src/Heading.d.ts +26 -0
  88. package/dist/components/Heading/src/Heading.js +755 -0
  89. package/dist/components/Heading/src/Heading.playground.d.ts +2 -0
  90. package/dist/components/Heading/src/Heading.props.d.ts +19 -0
  91. package/dist/components/Heading/src/Heading.props.js +47 -0
  92. package/dist/components/Heading/src/Heading.styles.d.ts +4 -0
  93. package/dist/components/HeadingBlock/src/HeadingBlock.d.ts +28 -0
  94. package/dist/components/HeadingBlock/src/HeadingBlock.js +288 -0
  95. package/dist/components/HeadingBlock/src/HeadingBlock.playground.d.ts +2 -0
  96. package/dist/components/HeadingBlock/src/HeadingBlock.props.d.ts +6 -0
  97. package/dist/components/HeadingBlock/src/HeadingBlock.props.js +33 -0
  98. package/dist/components/HeadingBlock/src/HeadingBlock.styles.d.ts +2 -0
  99. package/dist/components/Hero/src/Hero.d.ts +42 -0
  100. package/dist/components/Hero/src/Hero.js +506 -0
  101. package/dist/components/Hero/src/Hero.props.d.ts +22 -0
  102. package/dist/components/Hero/src/Hero.props.js +51 -0
  103. package/dist/components/Hero/src/Hero.styles.d.ts +10 -0
  104. package/dist/components/Icon/src/Icon.d.ts +67 -0
  105. package/dist/components/Icon/src/Icon.js +303 -0
  106. package/dist/components/Icon/src/Icon.props.d.ts +8 -0
  107. package/dist/components/Icon/src/Icon.props.js +35 -0
  108. package/dist/components/Icon/src/Icon.styles.d.ts +3 -0
  109. package/dist/components/Icon/src/icons/arrow-left.d.ts +1 -0
  110. package/dist/components/Icon/src/icons/arrow-left.js +6 -0
  111. package/dist/components/Icon/src/icons/arrow-right.d.ts +1 -0
  112. package/dist/components/Icon/src/icons/arrow-right.js +6 -0
  113. package/dist/components/Icon/src/icons/calendar.d.ts +1 -0
  114. package/dist/components/Icon/src/icons/calendar.js +6 -0
  115. package/dist/components/Icon/src/icons/check.d.ts +1 -0
  116. package/dist/components/Icon/src/icons/check.js +6 -0
  117. package/dist/components/Icon/src/icons/chevron-down.d.ts +1 -0
  118. package/dist/components/Icon/src/icons/chevron-down.js +6 -0
  119. package/dist/components/Icon/src/icons/chevron-left.d.ts +1 -0
  120. package/dist/components/Icon/src/icons/chevron-left.js +6 -0
  121. package/dist/components/Icon/src/icons/chevron-right.d.ts +1 -0
  122. package/dist/components/Icon/src/icons/chevron-right.js +6 -0
  123. package/dist/components/Icon/src/icons/chevron-up.d.ts +1 -0
  124. package/dist/components/Icon/src/icons/chevron-up.js +6 -0
  125. package/dist/components/Icon/src/icons/circle-alert.d.ts +1 -0
  126. package/dist/components/Icon/src/icons/circle-alert.js +6 -0
  127. package/dist/components/Icon/src/icons/circle-check.d.ts +1 -0
  128. package/dist/components/Icon/src/icons/circle-check.js +6 -0
  129. package/dist/components/Icon/src/icons/circle-x.d.ts +1 -0
  130. package/dist/components/Icon/src/icons/circle-x.js +6 -0
  131. package/dist/components/Icon/src/icons/copy.d.ts +1 -0
  132. package/dist/components/Icon/src/icons/copy.js +6 -0
  133. package/dist/components/Icon/src/icons/download.d.ts +1 -0
  134. package/dist/components/Icon/src/icons/download.js +6 -0
  135. package/dist/components/Icon/src/icons/ellipsis-vertical.d.ts +1 -0
  136. package/dist/components/Icon/src/icons/ellipsis-vertical.js +6 -0
  137. package/dist/components/Icon/src/icons/ellipsis.d.ts +1 -0
  138. package/dist/components/Icon/src/icons/ellipsis.js +6 -0
  139. package/dist/components/Icon/src/icons/external-link.d.ts +1 -0
  140. package/dist/components/Icon/src/icons/external-link.js +6 -0
  141. package/dist/components/Icon/src/icons/eye-off.d.ts +1 -0
  142. package/dist/components/Icon/src/icons/eye-off.js +6 -0
  143. package/dist/components/Icon/src/icons/eye.d.ts +1 -0
  144. package/dist/components/Icon/src/icons/eye.js +6 -0
  145. package/dist/components/Icon/src/icons/icon-names.d.ts +2 -0
  146. package/dist/components/Icon/src/icons/icon-names.js +36 -0
  147. package/dist/components/Icon/src/icons/index.d.ts +34 -0
  148. package/dist/components/Icon/src/icons/index.js +35 -0
  149. package/dist/components/Icon/src/icons/info.d.ts +1 -0
  150. package/dist/components/Icon/src/icons/info.js +6 -0
  151. package/dist/components/Icon/src/icons/loader.d.ts +1 -0
  152. package/dist/components/Icon/src/icons/loader.js +6 -0
  153. package/dist/components/Icon/src/icons/mail.d.ts +1 -0
  154. package/dist/components/Icon/src/icons/mail.js +6 -0
  155. package/dist/components/Icon/src/icons/menu.d.ts +1 -0
  156. package/dist/components/Icon/src/icons/menu.js +6 -0
  157. package/dist/components/Icon/src/icons/minus.d.ts +1 -0
  158. package/dist/components/Icon/src/icons/minus.js +6 -0
  159. package/dist/components/Icon/src/icons/pencil.d.ts +1 -0
  160. package/dist/components/Icon/src/icons/pencil.js +6 -0
  161. package/dist/components/Icon/src/icons/plus.d.ts +1 -0
  162. package/dist/components/Icon/src/icons/plus.js +6 -0
  163. package/dist/components/Icon/src/icons/search.d.ts +1 -0
  164. package/dist/components/Icon/src/icons/search.js +6 -0
  165. package/dist/components/Icon/src/icons/settings.d.ts +1 -0
  166. package/dist/components/Icon/src/icons/settings.js +6 -0
  167. package/dist/components/Icon/src/icons/trash-2.d.ts +1 -0
  168. package/dist/components/Icon/src/icons/trash-2.js +6 -0
  169. package/dist/components/Icon/src/icons/triangle-alert.d.ts +1 -0
  170. package/dist/components/Icon/src/icons/triangle-alert.js +6 -0
  171. package/dist/components/Icon/src/icons/upload.d.ts +1 -0
  172. package/dist/components/Icon/src/icons/upload.js +6 -0
  173. package/dist/components/Icon/src/icons/user.d.ts +1 -0
  174. package/dist/components/Icon/src/icons/user.js +6 -0
  175. package/dist/components/Icon/src/icons/x.d.ts +1 -0
  176. package/dist/components/Icon/src/icons/x.js +6 -0
  177. package/dist/components/Image/src/Image.d.ts +76 -0
  178. package/dist/components/Image/src/Image.js +456 -0
  179. package/dist/components/Image/src/Image.props.d.ts +35 -0
  180. package/dist/components/Image/src/Image.props.js +65 -0
  181. package/dist/components/Image/src/Image.styles.d.ts +4 -0
  182. package/dist/components/Input/src/Input.d.ts +60 -0
  183. package/dist/components/Input/src/Input.js +648 -0
  184. package/dist/components/Input/src/Input.playground.d.ts +2 -0
  185. package/dist/components/Input/src/Input.props.d.ts +13 -0
  186. package/dist/components/Input/src/Input.props.js +41 -0
  187. package/dist/components/Input/src/Input.styles.d.ts +6 -0
  188. package/dist/components/Modal/src/Modal.d.ts +166 -0
  189. package/dist/components/Modal/src/Modal.js +1434 -0
  190. package/dist/components/Modal/src/Modal.playground.d.ts +2 -0
  191. package/dist/components/Modal/src/Modal.props.d.ts +66 -0
  192. package/dist/components/Modal/src/Modal.props.js +65 -0
  193. package/dist/components/Modal/src/Modal.styles.d.ts +29 -0
  194. package/dist/components/Nav/src/Nav.d.ts +66 -0
  195. package/dist/components/Nav/src/Nav.js +750 -0
  196. package/dist/components/Nav/src/Nav.props.d.ts +8 -0
  197. package/dist/components/Nav/src/Nav.props.js +13 -0
  198. package/dist/components/Nav/src/Nav.styles.d.ts +10 -0
  199. package/dist/components/NavDropdownColumn/src/NavDropdownColumn.d.ts +17 -0
  200. package/dist/components/NavDropdownColumn/src/NavDropdownColumn.js +170 -0
  201. package/dist/components/NavDropdownColumn/src/NavDropdownColumn.styles.d.ts +1 -0
  202. package/dist/components/NavLink/src/NavLink.d.ts +191 -0
  203. package/dist/components/NavLink/src/NavLink.js +1916 -0
  204. package/dist/components/NavLink/src/NavLink.props.d.ts +38 -0
  205. package/dist/components/NavLink/src/NavLink.props.js +58 -0
  206. package/dist/components/NavLink/src/NavLink.styles.d.ts +22 -0
  207. package/dist/components/Stack/src/Stack.d.ts +30 -0
  208. package/dist/components/Stack/src/Stack.js +300 -0
  209. package/dist/components/Stack/src/Stack.props.d.ts +24 -0
  210. package/dist/components/Stack/src/Stack.props.js +53 -0
  211. package/dist/components/Stack/src/Stack.styles.d.ts +2 -0
  212. package/dist/components/Text/src/Text.d.ts +32 -0
  213. package/dist/components/Text/src/Text.js +327 -0
  214. package/dist/components/Text/src/Text.props.d.ts +23 -0
  215. package/dist/components/Text/src/Text.props.js +52 -0
  216. package/dist/components/Text/src/Text.styles.d.ts +2 -0
  217. package/dist/playground/types.d.ts +29 -0
  218. package/dist/playground-manifest.d.ts +6 -0
  219. package/dist/playground-manifest.js +556 -0
  220. package/dist/react/Background.d.ts +6 -0
  221. package/dist/react/Background.js +13 -0
  222. package/dist/react/Badge.d.ts +6 -0
  223. package/dist/react/Badge.js +13 -0
  224. package/dist/react/Button.d.ts +6 -0
  225. package/dist/react/Button.js +13 -0
  226. package/dist/react/Card.d.ts +6 -0
  227. package/dist/react/Card.js +13 -0
  228. package/dist/react/CodeBlock.d.ts +6 -0
  229. package/dist/react/CodeBlock.js +13 -0
  230. package/dist/react/Container.d.ts +6 -0
  231. package/dist/react/Container.js +13 -0
  232. package/dist/react/Divider.d.ts +6 -0
  233. package/dist/react/Divider.js +13 -0
  234. package/dist/react/FeatureItem.d.ts +6 -0
  235. package/dist/react/FeatureItem.js +13 -0
  236. package/dist/react/FeatureTabs.d.ts +6 -0
  237. package/dist/react/FeatureTabs.js +13 -0
  238. package/dist/react/Footer.d.ts +6 -0
  239. package/dist/react/Footer.js +13 -0
  240. package/dist/react/FormBlock.d.ts +6 -0
  241. package/dist/react/FormBlock.js +13 -0
  242. package/dist/react/Grid.d.ts +6 -0
  243. package/dist/react/Grid.js +13 -0
  244. package/dist/react/Heading.d.ts +6 -0
  245. package/dist/react/Heading.js +13 -0
  246. package/dist/react/HeadingBlock.d.ts +6 -0
  247. package/dist/react/HeadingBlock.js +13 -0
  248. package/dist/react/Hero.d.ts +6 -0
  249. package/dist/react/Hero.js +13 -0
  250. package/dist/react/Icon.d.ts +6 -0
  251. package/dist/react/Icon.js +13 -0
  252. package/dist/react/Image.d.ts +8 -0
  253. package/dist/react/Image.js +13 -0
  254. package/dist/react/Input.d.ts +8 -0
  255. package/dist/react/Input.js +13 -0
  256. package/dist/react/Modal.d.ts +10 -0
  257. package/dist/react/Modal.js +17 -0
  258. package/dist/react/Nav.d.ts +6 -0
  259. package/dist/react/Nav.js +13 -0
  260. package/dist/react/NavDropdownColumn.d.ts +6 -0
  261. package/dist/react/NavDropdownColumn.js +13 -0
  262. package/dist/react/NavLink.d.ts +8 -0
  263. package/dist/react/NavLink.js +13 -0
  264. package/dist/react/Stack.d.ts +6 -0
  265. package/dist/react/Stack.js +13 -0
  266. package/dist/react/Text.d.ts +6 -0
  267. package/dist/react/Text.js +13 -0
  268. package/dist/react/index.d.ts +24 -0
  269. package/dist/react/index.js +25 -0
  270. package/dist/surface/surface.props.js +33 -0
  271. package/package.json +352 -4
@@ -0,0 +1,2 @@
1
+ import type { PlaygroundDefinition } from '../../../playground/types.js';
2
+ export declare const playground: PlaygroundDefinition;
@@ -0,0 +1,19 @@
1
+ export declare const headingSizeValues: {
2
+ readonly H1: "h1";
3
+ readonly H2: "h2";
4
+ readonly H3: "h3";
5
+ readonly H4: "h4";
6
+ readonly H5: "h5";
7
+ readonly H6: "h6";
8
+ readonly HERO: "hero";
9
+ };
10
+ export type HeadingSizeType = (typeof headingSizeValues)[keyof typeof headingSizeValues];
11
+ export declare const headingSizeProps: import("lit").PropertyDeclaration<unknown, unknown>;
12
+ export declare const headingWeightValues: {
13
+ readonly NORMAL: "normal";
14
+ readonly SEMIBOLD: "semibold";
15
+ readonly BOLD: "bold";
16
+ readonly EXTRABOLD: "extrabold";
17
+ };
18
+ export type HeadingWeightType = (typeof headingWeightValues)[keyof typeof headingWeightValues];
19
+ export declare const headingWeightProps: import("lit").PropertyDeclaration<unknown, unknown>;
@@ -0,0 +1,47 @@
1
+ // common/helpers/enum-validator.ts
2
+ var enumValidator = (propName, enumSet, candidateValue) => {
3
+ if (!enumSet.has(candidateValue)) {
4
+ throw new Error(`Invalid prop ${propName} of value ${candidateValue}. Expected one of: ${Array.from(enumSet).join(", ")}`);
5
+ }
6
+ };
7
+
8
+ // common/helpers/enum-creator.ts
9
+ var enumCreator = (acceptableValues, propName, type, other = {}) => {
10
+ const acceptableValuesSet = new Set(acceptableValues);
11
+ return {
12
+ type,
13
+ hasChanged(newValue, oldValue) {
14
+ if (newValue !== oldValue) {
15
+ enumValidator(propName, acceptableValuesSet, newValue);
16
+ return true;
17
+ }
18
+ return false;
19
+ },
20
+ ...other
21
+ };
22
+ };
23
+
24
+ // components/Heading/src/Heading.props.ts
25
+ var headingSizeValues = {
26
+ H1: "h1",
27
+ H2: "h2",
28
+ H3: "h3",
29
+ H4: "h4",
30
+ H5: "h5",
31
+ H6: "h6",
32
+ HERO: "hero"
33
+ };
34
+ var headingSizeProps = enumCreator(Object.values(headingSizeValues), "heading-size", String, { reflect: true, attribute: "heading-size" });
35
+ var headingWeightValues = {
36
+ NORMAL: "normal",
37
+ SEMIBOLD: "semibold",
38
+ BOLD: "bold",
39
+ EXTRABOLD: "extrabold"
40
+ };
41
+ var headingWeightProps = enumCreator(Object.values(headingWeightValues), "heading-weight", String, { reflect: true, attribute: "heading-weight" });
42
+ export {
43
+ headingSizeProps,
44
+ headingSizeValues,
45
+ headingWeightProps,
46
+ headingWeightValues
47
+ };
@@ -0,0 +1,4 @@
1
+ import type { SurfaceType } from '../../../common/props/surface/surface.props.js';
2
+ import type { HeadingSizeType, HeadingWeightType } from './Heading.props.js';
3
+ export declare const classNames: (surface: SurfaceType, size: HeadingSizeType, weight: HeadingWeightType) => string;
4
+ export declare const animatedWordClassNames: (currentIndex: number) => string;
@@ -0,0 +1,28 @@
1
+ import '../../../types/global.d.ts';
2
+ import '../../Button/src/Button.js';
3
+ import '../../Heading/src/Heading.js';
4
+ import '../../Stack/src/Stack.js';
5
+ import { type CSSResultGroup } from 'lit';
6
+ import { Base } from '../../../common/Base/Base.js';
7
+ import { type SurfaceType } from '../../../common/props/surface/surface.props.js';
8
+ import { type HeadingBlockAlignmentType } from './HeadingBlock.props.js';
9
+ /**
10
+ * @slot eyebrow - Optional eyebrow text.
11
+ * @slot heading - Heading content.
12
+ * @slot description - Supporting description.
13
+ * @slot action-primary - Primary action.
14
+ * @slot action-secondary - Secondary action.
15
+ */
16
+ export declare class HeadingBlock extends Base {
17
+ static styles: CSSResultGroup;
18
+ surface: SurfaceType;
19
+ alignment: HeadingBlockAlignmentType;
20
+ private get _eyebrow();
21
+ updated(changedProperties: Map<string | number | symbol, unknown>): void;
22
+ render(): import("lit").TemplateResult<1>;
23
+ }
24
+ declare global {
25
+ interface HTMLElementTagNameMap {
26
+ 'dsgn-heading-block': HeadingBlock;
27
+ }
28
+ }
@@ -0,0 +1,288 @@
1
+ var __legacyDecorateClassTS = function(decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4
+ r = Reflect.decorate(decorators, target, key, desc);
5
+ else
6
+ for (var i = decorators.length - 1;i >= 0; i--)
7
+ if (d = decorators[i])
8
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
10
+ };
11
+
12
+ // components/HeadingBlock/src/HeadingBlock.ts
13
+ import"../../Button/src/Button.js";
14
+ import"../../Heading/src/Heading.js";
15
+ import"../../Stack/src/Stack.js";
16
+ import { html as html2, nothing } from "lit";
17
+ import { property } from "lit/decorators.js";
18
+
19
+ // common/Base/Base.ts
20
+ import { html, LitElement } from "lit";
21
+
22
+ // common/helpers/define-element.ts
23
+ var defineElement = (tag, ctor) => {
24
+ if (typeof customElements === "undefined")
25
+ return;
26
+ if (!customElements.get(tag))
27
+ customElements.define(tag, ctor);
28
+ };
29
+
30
+ // common/Base/Base.css
31
+ import { css } from "lit";
32
+ var styles = css`/* Base reset in @layer base ensures it comes before utilities in Tailwind v4 cascade
33
+ This prevents the reset from overriding component utility classes */
34
+ @layer base {
35
+ :host {
36
+ display: block;
37
+ box-sizing: border-box;
38
+ line-height: 1.5;
39
+ -webkit-text-size-adjust: 100%;
40
+ tab-size: 4;
41
+ font-family: var(
42
+ --default-font-family,
43
+ var(--font-sans, ui-sans-serif, system-ui, sans-serif)
44
+ );
45
+ }
46
+
47
+ *,
48
+ *::before,
49
+ *::after {
50
+ box-sizing: inherit;
51
+ margin: 0;
52
+ padding: 0;
53
+ border: 0 solid;
54
+ }
55
+
56
+ :host h1,
57
+ :host h2,
58
+ :host h3,
59
+ :host h4,
60
+ :host h5,
61
+ :host h6 {
62
+ font-size: inherit;
63
+ font-weight: inherit;
64
+ margin: 0;
65
+ padding: 0;
66
+ }
67
+ }
68
+ `;
69
+ var Base_default = styles;
70
+
71
+ // common/Base/Base.ts
72
+ class Base extends LitElement {
73
+ static styles = Base_default;
74
+ updateTheme(changedProperties, surface) {
75
+ if (changedProperties.has("surface")) {
76
+ if (surface) {
77
+ this.setAttribute("data-theme", surface);
78
+ } else {
79
+ this.removeAttribute("data-theme");
80
+ }
81
+ }
82
+ }
83
+ emit(name, detail, options = {}) {
84
+ return this.dispatchEvent(new CustomEvent(name, {
85
+ detail,
86
+ bubbles: true,
87
+ composed: true,
88
+ cancelable: options.cancelable ?? false
89
+ }));
90
+ }
91
+ render() {
92
+ return html`<slot></slot>`;
93
+ }
94
+ }
95
+ defineElement("dsgn-base", Base);
96
+
97
+ // common/helpers/enum-validator.ts
98
+ var enumValidator = (propName, enumSet, candidateValue) => {
99
+ if (!enumSet.has(candidateValue)) {
100
+ throw new Error(`Invalid prop ${propName} of value ${candidateValue}. Expected one of: ${Array.from(enumSet).join(", ")}`);
101
+ }
102
+ };
103
+
104
+ // common/helpers/enum-creator.ts
105
+ var enumCreator = (acceptableValues, propName, type, other = {}) => {
106
+ const acceptableValuesSet = new Set(acceptableValues);
107
+ return {
108
+ type,
109
+ hasChanged(newValue, oldValue) {
110
+ if (newValue !== oldValue) {
111
+ enumValidator(propName, acceptableValuesSet, newValue);
112
+ return true;
113
+ }
114
+ return false;
115
+ },
116
+ ...other
117
+ };
118
+ };
119
+
120
+ // common/props/surface/surface.props.ts
121
+ var surfaceValues = {
122
+ LIGHT: "light",
123
+ DARK: "dark"
124
+ };
125
+ var surfaceProps = enumCreator(Object.values(surfaceValues), "surface", String, { reflect: true });
126
+
127
+ // components/HeadingBlock/src/HeadingBlock.css
128
+ import { css as css2 } from "lit";
129
+ var styles2 = css2`/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
130
+ @layer properties;
131
+ @layer theme {
132
+ :root, :host {
133
+ --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
134
+ monospace;
135
+ --spacing: 0.25rem;
136
+ --container-2xl: 42rem;
137
+ --text-base: 1rem;
138
+ --text-base--line-height: calc(1.5 / 1);
139
+ --text-lg: 1.125rem;
140
+ --text-lg--line-height: calc(1.75 / 1.125);
141
+ --color-eyebrow: inherit;
142
+ --color-text-secondary: inherit;
143
+ }
144
+ }
145
+ @layer utilities {
146
+ .static {
147
+ position: static;
148
+ }
149
+ .-mb-2 {
150
+ margin-bottom: calc(var(--spacing) * -2);
151
+ }
152
+ .max-w-2xl {
153
+ max-width: var(--container-2xl);
154
+ }
155
+ .font-mono {
156
+ font-family: var(--font-mono);
157
+ }
158
+ .text-base {
159
+ font-size: var(--text-base);
160
+ line-height: var(--tw-leading, var(--text-base--line-height));
161
+ }
162
+ .text-\\[11px\\] {
163
+ font-size: 11px;
164
+ }
165
+ .tracking-\\[0\\.06em\\] {
166
+ --tw-tracking: 0.06em;
167
+ letter-spacing: 0.06em;
168
+ }
169
+ .text-eyebrow {
170
+ color: var(--color-eyebrow);
171
+ }
172
+ .text-text-secondary {
173
+ color: var(--color-text-secondary);
174
+ }
175
+ .uppercase {
176
+ text-transform: uppercase;
177
+ }
178
+ .md\\:-mb-3 {
179
+ @media (width >= 48rem) {
180
+ margin-bottom: calc(var(--spacing) * -3);
181
+ }
182
+ }
183
+ .md\\:text-lg {
184
+ @media (width >= 48rem) {
185
+ font-size: var(--text-lg);
186
+ line-height: var(--tw-leading, var(--text-lg--line-height));
187
+ }
188
+ }
189
+ }
190
+ @property --dsgn-border-sweep-angle {
191
+ syntax: '<angle>';
192
+ inherits: false;
193
+ initial-value: 0deg;
194
+ }
195
+ @property --tw-tracking {
196
+ syntax: "*";
197
+ inherits: false;
198
+ }
199
+ @layer properties {
200
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
201
+ *, ::before, ::after, ::backdrop {
202
+ --tw-tracking: initial;
203
+ --dsgn-border-sweep-angle: 0deg;
204
+ }
205
+ }
206
+ }
207
+ `;
208
+ var HeadingBlock_default = styles2;
209
+
210
+ // components/HeadingBlock/src/HeadingBlock.props.ts
211
+ var headingBlockAlignmentValues = {
212
+ START: "start",
213
+ CENTER: "center"
214
+ };
215
+ var headingBlockAlignmentProps = enumCreator(Object.values(headingBlockAlignmentValues), "alignment", String, { reflect: true });
216
+
217
+ // ../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
218
+ function r(e) {
219
+ var t, f, n = "";
220
+ if (typeof e == "string" || typeof e == "number")
221
+ n += e;
222
+ else if (typeof e == "object")
223
+ if (Array.isArray(e)) {
224
+ var o = e.length;
225
+ for (t = 0;t < o; t++)
226
+ e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
227
+ } else
228
+ for (f in e)
229
+ e[f] && (n && (n += " "), n += f);
230
+ return n;
231
+ }
232
+ function clsx() {
233
+ for (var e, t, f = 0, n = "", o = arguments.length;f < o; f++)
234
+ (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
235
+ return n;
236
+ }
237
+ var clsx_default = clsx;
238
+
239
+ // components/HeadingBlock/src/HeadingBlock.styles.ts
240
+ var eyebrowClassNames = () => clsx_default("font-mono", "text-[11px]", "tracking-[0.06em]", "uppercase", "text-eyebrow", "-mb-2", "md:-mb-3");
241
+ var descriptionClassNames = () => {
242
+ return clsx_default("text-base", "md:text-lg", "text-text-secondary", "max-w-2xl");
243
+ };
244
+
245
+ // components/HeadingBlock/src/HeadingBlock.ts
246
+ class HeadingBlock extends Base {
247
+ constructor() {
248
+ super(...arguments);
249
+ this.surface = surfaceValues.LIGHT;
250
+ this.alignment = headingBlockAlignmentValues.START;
251
+ }
252
+ static styles = [Base.styles, HeadingBlock_default];
253
+ get _eyebrow() {
254
+ return this.querySelector('[slot="eyebrow"]');
255
+ }
256
+ updated(changedProperties) {
257
+ super.updated(changedProperties);
258
+ this.updateTheme(changedProperties, this.surface);
259
+ }
260
+ render() {
261
+ const align = this.alignment === "center" ? "center" : "start";
262
+ return html2`
263
+ <dsgn-stack direction="vertical" gap="md" align=${align}>
264
+ ${this._eyebrow ? html2`<div class="${eyebrowClassNames()}">
265
+ <slot name="eyebrow"></slot>
266
+ </div>` : nothing}
267
+ <slot name="heading"></slot>
268
+ <div class="${descriptionClassNames()}">
269
+ <slot name="description"></slot>
270
+ </div>
271
+ <dsgn-stack direction="horizontal" gap="sm" align=${align} wrap>
272
+ <slot name="action-primary"></slot>
273
+ <slot name="action-secondary"></slot>
274
+ </dsgn-stack>
275
+ </dsgn-stack>
276
+ `;
277
+ }
278
+ }
279
+ __legacyDecorateClassTS([
280
+ property({ ...surfaceProps })
281
+ ], HeadingBlock.prototype, "surface", undefined);
282
+ __legacyDecorateClassTS([
283
+ property({ ...headingBlockAlignmentProps })
284
+ ], HeadingBlock.prototype, "alignment", undefined);
285
+ defineElement("dsgn-heading-block", HeadingBlock);
286
+ export {
287
+ HeadingBlock
288
+ };
@@ -0,0 +1,2 @@
1
+ import type { PlaygroundDefinition } from '../../../playground/types.js';
2
+ export declare const playground: PlaygroundDefinition;
@@ -0,0 +1,6 @@
1
+ export declare const headingBlockAlignmentValues: {
2
+ readonly START: "start";
3
+ readonly CENTER: "center";
4
+ };
5
+ export type HeadingBlockAlignmentType = (typeof headingBlockAlignmentValues)[keyof typeof headingBlockAlignmentValues];
6
+ export declare const headingBlockAlignmentProps: import("lit").PropertyDeclaration<unknown, unknown>;
@@ -0,0 +1,33 @@
1
+ // common/helpers/enum-validator.ts
2
+ var enumValidator = (propName, enumSet, candidateValue) => {
3
+ if (!enumSet.has(candidateValue)) {
4
+ throw new Error(`Invalid prop ${propName} of value ${candidateValue}. Expected one of: ${Array.from(enumSet).join(", ")}`);
5
+ }
6
+ };
7
+
8
+ // common/helpers/enum-creator.ts
9
+ var enumCreator = (acceptableValues, propName, type, other = {}) => {
10
+ const acceptableValuesSet = new Set(acceptableValues);
11
+ return {
12
+ type,
13
+ hasChanged(newValue, oldValue) {
14
+ if (newValue !== oldValue) {
15
+ enumValidator(propName, acceptableValuesSet, newValue);
16
+ return true;
17
+ }
18
+ return false;
19
+ },
20
+ ...other
21
+ };
22
+ };
23
+
24
+ // components/HeadingBlock/src/HeadingBlock.props.ts
25
+ var headingBlockAlignmentValues = {
26
+ START: "start",
27
+ CENTER: "center"
28
+ };
29
+ var headingBlockAlignmentProps = enumCreator(Object.values(headingBlockAlignmentValues), "alignment", String, { reflect: true });
30
+ export {
31
+ headingBlockAlignmentProps,
32
+ headingBlockAlignmentValues
33
+ };
@@ -0,0 +1,2 @@
1
+ export declare const eyebrowClassNames: () => string;
2
+ export declare const descriptionClassNames: () => string;
@@ -0,0 +1,42 @@
1
+ import '../../../types/global.d.ts';
2
+ import '../../Container/src/Container.js';
3
+ import '../../FormBlock/src/FormBlock.js';
4
+ import '../../Grid/src/Grid.js';
5
+ import '../../HeadingBlock/src/HeadingBlock.js';
6
+ import { type CSSResultGroup } from 'lit';
7
+ import { Base } from '../../../common/Base/Base.js';
8
+ import { type SurfaceType } from '../../../common/props/surface/surface.props.js';
9
+ import { type HeroContentAlignType, type HeroLayoutType, type HeroMinHeightType } from './Hero.props.js';
10
+ /**
11
+ * @slot content - Primary hero content.
12
+ * @slot form - Hero form content.
13
+ * @slot asset - Hero media or visual content.
14
+ * @slot features - Supporting feature content.
15
+ */
16
+ export declare class Hero extends Base {
17
+ static styles: CSSResultGroup;
18
+ /**
19
+ * Surface theme variant (light or dark)
20
+ */
21
+ surface: SurfaceType;
22
+ /**
23
+ * Layout arrangement of content and asset
24
+ */
25
+ layout: HeroLayoutType;
26
+ /**
27
+ * Minimum height of the hero section
28
+ */
29
+ minHeight: HeroMinHeightType;
30
+ /**
31
+ * Horizontal alignment of content, form, and features in the centered layout.
32
+ * Has no effect on asset-right / asset-left / asset-background layouts.
33
+ */
34
+ contentAlign: HeroContentAlignType;
35
+ updated(changedProperties: Map<string | number | symbol, unknown>): void;
36
+ render(): import("lit").TemplateResult<1>;
37
+ }
38
+ declare global {
39
+ interface HTMLElementTagNameMap {
40
+ 'dsgn-hero': Hero;
41
+ }
42
+ }