@affinda/wc 0.0.1 → 0.0.2

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 (260) hide show
  1. package/dist/affinda/af-aspect-ratio.entry.esm.js.map +1 -0
  2. package/dist/affinda/af-color-swatch.entry.esm.js.map +1 -0
  3. package/dist/affinda/af-container.entry.esm.js.map +1 -0
  4. package/dist/affinda/af-heading.af-nav-item.af-text.entry.esm.js.map +1 -0
  5. package/dist/affinda/affinda.esm.js +1 -1
  6. package/dist/affinda/index.esm.js +1 -1
  7. package/dist/affinda/index.esm.js.map +1 -1
  8. package/dist/affinda/p-96c74b41.entry.js +2 -0
  9. package/dist/affinda/p-96c74b41.entry.js.map +1 -0
  10. package/dist/affinda/p-DIoXjiux.js +3 -0
  11. package/dist/affinda/p-DIoXjiux.js.map +1 -0
  12. package/dist/affinda/p-a6a8ecde.entry.js +2 -0
  13. package/dist/affinda/p-a6a8ecde.entry.js.map +1 -0
  14. package/dist/affinda/p-ccdcebe9.entry.js +2 -0
  15. package/dist/affinda/p-ccdcebe9.entry.js.map +1 -0
  16. package/dist/affinda/p-f79068a7.entry.js +2 -0
  17. package/dist/affinda/p-f79068a7.entry.js.map +1 -0
  18. package/dist/cjs/af-aspect-ratio.cjs.entry.js +83 -0
  19. package/dist/cjs/af-aspect-ratio.entry.cjs.js.map +1 -0
  20. package/dist/cjs/af-color-swatch.cjs.entry.js +23 -0
  21. package/dist/cjs/af-color-swatch.entry.cjs.js.map +1 -0
  22. package/dist/cjs/af-container.cjs.entry.js +26 -0
  23. package/dist/cjs/af-container.entry.cjs.js.map +1 -0
  24. package/dist/cjs/af-heading.af-nav-item.af-text.entry.cjs.js.map +1 -0
  25. package/dist/cjs/af-heading_3.cjs.entry.js +102 -0
  26. package/dist/cjs/affinda.cjs.js +2 -2
  27. package/dist/cjs/{index-5BGpYleS.js → index-DHjsui2n.js} +60 -57
  28. package/dist/cjs/index-DHjsui2n.js.map +1 -0
  29. package/dist/cjs/index.cjs.js +11 -133
  30. package/dist/cjs/index.cjs.js.map +1 -1
  31. package/dist/cjs/loader.cjs.js +2 -2
  32. package/dist/collection/assets/icons/account-01.svg +3 -0
  33. package/dist/collection/assets/icons/account-02.svg +3 -0
  34. package/dist/collection/assets/icons/accounts-payable.svg +3 -0
  35. package/dist/collection/assets/icons/arrow-down.svg +3 -0
  36. package/dist/collection/assets/icons/arrow-left.svg +3 -0
  37. package/dist/collection/assets/icons/arrow-right.svg +3 -0
  38. package/dist/collection/assets/icons/arrow-up.svg +3 -0
  39. package/dist/collection/assets/icons/bpo.svg +3 -0
  40. package/dist/collection/assets/icons/chats.svg +3 -0
  41. package/dist/collection/assets/icons/check-circle.svg +3 -0
  42. package/dist/collection/assets/icons/check.svg +3 -0
  43. package/dist/collection/assets/icons/chevron-down.svg +3 -0
  44. package/dist/collection/assets/icons/chevron-left.svg +3 -0
  45. package/dist/collection/assets/icons/chevron-right.svg +3 -0
  46. package/dist/collection/assets/icons/chevron-up.svg +3 -0
  47. package/dist/collection/assets/icons/close.svg +3 -0
  48. package/dist/collection/assets/icons/code.svg +3 -0
  49. package/dist/collection/assets/icons/data.svg +3 -0
  50. package/dist/collection/assets/icons/document-upload.svg +3 -0
  51. package/dist/collection/assets/icons/download.svg +3 -0
  52. package/dist/collection/assets/icons/edit.svg +3 -0
  53. package/dist/collection/assets/icons/email.svg +3 -0
  54. package/dist/collection/assets/icons/eye.svg +3 -0
  55. package/dist/collection/assets/icons/facebook.svg +3 -0
  56. package/dist/collection/assets/icons/gear.svg +3 -0
  57. package/dist/collection/assets/icons/github.svg +3 -0
  58. package/dist/collection/assets/icons/heart.svg +3 -0
  59. package/dist/collection/assets/icons/home.svg +3 -0
  60. package/dist/collection/assets/icons/info.svg +3 -0
  61. package/dist/collection/assets/icons/insurance.svg +3 -0
  62. package/dist/collection/assets/icons/lending-01.svg +3 -0
  63. package/dist/collection/assets/icons/lending-02.svg +3 -0
  64. package/dist/collection/assets/icons/link-out.svg +3 -0
  65. package/dist/collection/assets/icons/linkedin.svg +3 -0
  66. package/dist/collection/assets/icons/map-pin.svg +3 -0
  67. package/dist/collection/assets/icons/menu.svg +3 -0
  68. package/dist/collection/assets/icons/minus.svg +3 -0
  69. package/dist/collection/assets/icons/numbers.svg +16 -0
  70. package/dist/collection/assets/icons/pause.svg +3 -0
  71. package/dist/collection/assets/icons/play.svg +3 -0
  72. package/dist/collection/assets/icons/plus.svg +3 -0
  73. package/dist/collection/assets/icons/productivity.svg +3 -0
  74. package/dist/collection/assets/icons/quote.svg +3 -0
  75. package/dist/collection/assets/icons/recruitment.svg +3 -0
  76. package/dist/collection/assets/icons/refresh.svg +3 -0
  77. package/dist/collection/assets/icons/search.svg +3 -0
  78. package/dist/collection/assets/icons/security-01.svg +3 -0
  79. package/dist/collection/assets/icons/security-02.svg +3 -0
  80. package/dist/collection/assets/icons/solutions.svg +3 -0
  81. package/dist/collection/assets/icons/support.svg +3 -0
  82. package/dist/collection/assets/icons/system.svg +3 -0
  83. package/dist/collection/assets/icons/time.svg +3 -0
  84. package/dist/collection/assets/icons/verification-01.svg +3 -0
  85. package/dist/collection/assets/icons/wand.svg +3 -0
  86. package/dist/collection/assets/icons/x.svg +3 -0
  87. package/dist/collection/assets/icons/youtube.svg +3 -0
  88. package/dist/collection/assets/illustrations/accuracy-inkwell.svg +101 -0
  89. package/dist/collection/assets/illustrations/accuracy-mist-green.svg +101 -0
  90. package/dist/collection/assets/illustrations/accuracy-soft-clay.svg +101 -0
  91. package/dist/collection/assets/illustrations/accuracy-white-ivory.svg +101 -0
  92. package/dist/collection/assets/illustrations/automate-inkwell.svg +149 -0
  93. package/dist/collection/assets/illustrations/automate-mist-green.svg +149 -0
  94. package/dist/collection/assets/illustrations/automate-soft-clay.svg +149 -0
  95. package/dist/collection/assets/illustrations/automate-white-ivory.svg +149 -0
  96. package/dist/collection/assets/illustrations/document-raise-inkwell.svg +131 -0
  97. package/dist/collection/assets/illustrations/document-raise-mist-green.svg +131 -0
  98. package/dist/collection/assets/illustrations/document-raise-soft-clay.svg +131 -0
  99. package/dist/collection/assets/illustrations/document-raise-white-ivory.svg +131 -0
  100. package/dist/collection/assets/illustrations/document-type-inkwell.svg +150 -0
  101. package/dist/collection/assets/illustrations/document-type-mist-green.svg +150 -0
  102. package/dist/collection/assets/illustrations/document-type-soft-clay.svg +150 -0
  103. package/dist/collection/assets/illustrations/document-type-white-ivory.svg +150 -0
  104. package/dist/collection/assets/illustrations/grow-business-inkwell.svg +116 -0
  105. package/dist/collection/assets/illustrations/grow-business-mist-green.svg +129 -0
  106. package/dist/collection/assets/illustrations/grow-business-soft-clay.svg +129 -0
  107. package/dist/collection/assets/illustrations/grow-business-white-ivory.svg +129 -0
  108. package/dist/collection/assets/illustrations/industries-inkwell.svg +30 -0
  109. package/dist/collection/assets/illustrations/industries-mist-green.svg +30 -0
  110. package/dist/collection/assets/illustrations/industries-soft-clay.svg +30 -0
  111. package/dist/collection/assets/illustrations/industries-white-ivory.svg +41 -0
  112. package/dist/collection/assets/illustrations/intelligence-inkwell.svg +65 -0
  113. package/dist/collection/assets/illustrations/intelligence-mist-green.svg +65 -0
  114. package/dist/collection/assets/illustrations/intelligence-soft-clay.svg +65 -0
  115. package/dist/collection/assets/illustrations/intelligence-white-ivory.svg +65 -0
  116. package/dist/collection/assets/illustrations/page-turn-inkwell.svg +125 -0
  117. package/dist/collection/assets/illustrations/page-turn-mist-green.svg +125 -0
  118. package/dist/collection/assets/illustrations/page-turn-soft-clay.svg +125 -0
  119. package/dist/collection/assets/illustrations/page-turn-white-ivory.svg +125 -0
  120. package/dist/collection/assets/illustrations/shapes-inkwell.svg +65 -0
  121. package/dist/collection/assets/illustrations/shapes-mist-green.svg +65 -0
  122. package/dist/collection/assets/illustrations/shapes-soft-clay.svg +65 -0
  123. package/dist/collection/assets/illustrations/shapes-white-ivory.svg +65 -0
  124. package/dist/collection/assets/illustrations/team-leader-inkwell.svg +106 -0
  125. package/dist/collection/assets/illustrations/team-leader-mist-green.svg +106 -0
  126. package/dist/collection/assets/illustrations/team-leader-soft-clay.svg +106 -0
  127. package/dist/collection/assets/illustrations/team-leader-white-ivory.svg +106 -0
  128. package/dist/collection/assets/illustrations/thinking-inkwell.svg +89 -0
  129. package/dist/collection/assets/illustrations/thinking-mist-green.svg +89 -0
  130. package/dist/collection/assets/illustrations/thinking-soft-clay.svg +89 -0
  131. package/dist/collection/assets/illustrations/thinking-white-ivory.svg +89 -0
  132. package/dist/collection/collection-manifest.json +6 -5
  133. package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.css +17 -0
  134. package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.js +117 -0
  135. package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.js.map +1 -0
  136. package/dist/collection/components/af-color-swatch/af-color-swatch.css +42 -0
  137. package/dist/collection/components/af-color-swatch/af-color-swatch.js +88 -0
  138. package/dist/collection/components/af-color-swatch/af-color-swatch.js.map +1 -0
  139. package/dist/collection/components/af-container/af-container.css +76 -0
  140. package/dist/collection/components/af-container/af-container.js +57 -0
  141. package/dist/collection/components/af-container/af-container.js.map +1 -0
  142. package/dist/collection/components/af-heading/af-heading.css +99 -0
  143. package/dist/collection/components/af-heading/af-heading.js +86 -0
  144. package/dist/collection/components/af-heading/af-heading.js.map +1 -0
  145. package/dist/collection/components/af-nav-item/af-nav-item.css +135 -0
  146. package/dist/collection/components/af-nav-item/af-nav-item.js +134 -0
  147. package/dist/collection/components/af-nav-item/af-nav-item.js.map +1 -0
  148. package/dist/collection/components/af-text/af-text.css +61 -0
  149. package/dist/collection/components/af-text/af-text.js +96 -0
  150. package/dist/collection/components/af-text/af-text.js.map +1 -0
  151. package/dist/collection/components.js +6 -5
  152. package/dist/collection/components.js.map +1 -1
  153. package/dist/components/{af-icon-button.d.ts → af-aspect-ratio.d.ts} +4 -4
  154. package/dist/components/af-aspect-ratio.js +9 -0
  155. package/dist/components/af-aspect-ratio.js.map +1 -0
  156. package/dist/components/af-color-swatch.d.ts +11 -0
  157. package/dist/components/af-color-swatch.js +9 -0
  158. package/dist/components/af-color-swatch.js.map +1 -0
  159. package/dist/components/{af-input.d.ts → af-container.d.ts} +4 -4
  160. package/dist/components/af-container.js +9 -0
  161. package/dist/components/af-container.js.map +1 -0
  162. package/dist/components/{af-button.d.ts → af-heading.d.ts} +4 -4
  163. package/dist/components/af-heading.js +9 -0
  164. package/dist/components/af-heading.js.map +1 -0
  165. package/dist/components/{af-badge.d.ts → af-nav-item.d.ts} +4 -4
  166. package/dist/components/af-nav-item.js +9 -0
  167. package/dist/components/af-nav-item.js.map +1 -0
  168. package/dist/components/{af-card.d.ts → af-text.d.ts} +4 -4
  169. package/dist/components/af-text.js +9 -0
  170. package/dist/components/af-text.js.map +1 -0
  171. package/dist/components/index.js +7 -6
  172. package/dist/components/index.js.map +1 -1
  173. package/dist/components/p-BZ5_l5Q-.js +50 -0
  174. package/dist/components/p-BZ5_l5Q-.js.map +1 -0
  175. package/dist/components/p-CCPh8sLt.js +102 -0
  176. package/dist/components/p-CCPh8sLt.js.map +1 -0
  177. package/dist/components/p-CbKdmUDd.js +59 -0
  178. package/dist/components/p-CbKdmUDd.js.map +1 -0
  179. package/dist/components/p-Ck_3oNdO.js +44 -0
  180. package/dist/components/p-Ck_3oNdO.js.map +1 -0
  181. package/dist/components/p-DbZX-luM.js +45 -0
  182. package/dist/components/p-DbZX-luM.js.map +1 -0
  183. package/dist/components/p-Ntwn3krC.js +66 -0
  184. package/dist/components/p-Ntwn3krC.js.map +1 -0
  185. package/dist/components/{p-DOtgsZRB.js → p-TaHgCKVa.js} +60 -61
  186. package/dist/components/p-TaHgCKVa.js.map +1 -0
  187. package/dist/esm/af-aspect-ratio.entry.js +81 -0
  188. package/dist/esm/af-aspect-ratio.entry.js.map +1 -0
  189. package/dist/esm/af-color-swatch.entry.js +21 -0
  190. package/dist/esm/af-color-swatch.entry.js.map +1 -0
  191. package/dist/esm/af-container.entry.js +24 -0
  192. package/dist/esm/af-container.entry.js.map +1 -0
  193. package/dist/esm/af-heading.af-nav-item.af-text.entry.js.map +1 -0
  194. package/dist/esm/af-heading_3.entry.js +98 -0
  195. package/dist/esm/affinda.js +3 -3
  196. package/dist/esm/{index-o0tfWqnY.js → index-DIoXjiux.js} +60 -57
  197. package/dist/esm/index-DIoXjiux.js.map +1 -0
  198. package/dist/esm/index.js +5 -132
  199. package/dist/esm/index.js.map +1 -1
  200. package/dist/esm/loader.js +3 -3
  201. package/dist/types/components/af-aspect-ratio/af-aspect-ratio.d.ts +18 -0
  202. package/dist/types/components/af-color-swatch/af-color-swatch.d.ts +9 -0
  203. package/dist/types/components/af-container/af-container.d.ts +15 -0
  204. package/dist/types/components/af-heading/af-heading.d.ts +8 -0
  205. package/dist/types/components/af-nav-item/af-nav-item.d.ts +27 -0
  206. package/dist/types/components/af-text/af-text.d.ts +9 -0
  207. package/dist/types/components.d.ts +183 -208
  208. package/package.json +1 -1
  209. package/dist/affinda/af-badge.af-button.af-card.af-icon-button.af-input.entry.esm.js.map +0 -1
  210. package/dist/affinda/p-bca10492.entry.js +0 -2
  211. package/dist/affinda/p-bca10492.entry.js.map +0 -1
  212. package/dist/affinda/p-o0tfWqnY.js +0 -3
  213. package/dist/affinda/p-o0tfWqnY.js.map +0 -1
  214. package/dist/cjs/af-badge.af-button.af-card.af-icon-button.af-input.entry.cjs.js.map +0 -1
  215. package/dist/cjs/af-badge_5.cjs.entry.js +0 -13
  216. package/dist/cjs/index-5BGpYleS.js.map +0 -1
  217. package/dist/collection/components/af-badge/af-badge.css +0 -29
  218. package/dist/collection/components/af-badge/af-badge.js +0 -47
  219. package/dist/collection/components/af-badge/af-badge.js.map +0 -1
  220. package/dist/collection/components/af-button/af-button.css +0 -74
  221. package/dist/collection/components/af-button/af-button.js +0 -149
  222. package/dist/collection/components/af-button/af-button.js.map +0 -1
  223. package/dist/collection/components/af-card/af-card.css +0 -69
  224. package/dist/collection/components/af-card/af-card.js +0 -70
  225. package/dist/collection/components/af-card/af-card.js.map +0 -1
  226. package/dist/collection/components/af-icon-button/af-icon-button.css +0 -70
  227. package/dist/collection/components/af-icon-button/af-icon-button.js +0 -145
  228. package/dist/collection/components/af-icon-button/af-icon-button.js.map +0 -1
  229. package/dist/collection/components/af-input/af-input.css +0 -57
  230. package/dist/collection/components/af-input/af-input.js +0 -193
  231. package/dist/collection/components/af-input/af-input.js.map +0 -1
  232. package/dist/components/af-badge.js +0 -9
  233. package/dist/components/af-badge.js.map +0 -1
  234. package/dist/components/af-button.js +0 -9
  235. package/dist/components/af-button.js.map +0 -1
  236. package/dist/components/af-card.js +0 -9
  237. package/dist/components/af-card.js.map +0 -1
  238. package/dist/components/af-icon-button.js +0 -9
  239. package/dist/components/af-icon-button.js.map +0 -1
  240. package/dist/components/af-input.js +0 -9
  241. package/dist/components/af-input.js.map +0 -1
  242. package/dist/components/p-B7I93sz2.js +0 -39
  243. package/dist/components/p-B7I93sz2.js.map +0 -1
  244. package/dist/components/p-CZd1ieht.js +0 -62
  245. package/dist/components/p-CZd1ieht.js.map +0 -1
  246. package/dist/components/p-D6PwARU0.js +0 -59
  247. package/dist/components/p-D6PwARU0.js.map +0 -1
  248. package/dist/components/p-DOtgsZRB.js.map +0 -1
  249. package/dist/components/p-DZIXhvI0.js +0 -44
  250. package/dist/components/p-DZIXhvI0.js.map +0 -1
  251. package/dist/components/p-zIKPa48S.js +0 -62
  252. package/dist/components/p-zIKPa48S.js.map +0 -1
  253. package/dist/esm/af-badge.af-button.af-card.af-icon-button.af-input.entry.js.map +0 -1
  254. package/dist/esm/af-badge_5.entry.js +0 -3
  255. package/dist/esm/index-o0tfWqnY.js.map +0 -1
  256. package/dist/types/components/af-badge/af-badge.d.ts +0 -5
  257. package/dist/types/components/af-button/af-button.d.ts +0 -15
  258. package/dist/types/components/af-card/af-card.d.ts +0 -7
  259. package/dist/types/components/af-icon-button/af-icon-button.d.ts +0 -15
  260. package/dist/types/components/af-input/af-input.d.ts +0 -24
@@ -6,306 +6,281 @@
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  export namespace Components {
9
- interface AfBadge {
9
+ /**
10
+ * A container component that maintains a fixed aspect ratio for its content.
11
+ * Useful for images, videos, or any content that needs to maintain specific proportions.
12
+ */
13
+ interface AfAspectRatio {
10
14
  /**
11
- * Color theme of the badge
12
- * @default 'brand'
15
+ * The aspect ratio to maintain. Can be: - A predefined ratio: '1:1', '16:9', '4:3', 'golden-portrait', 'golden-landscape', 'a4-portrait', 'a4-landscape', 'letter-portrait', 'letter-landscape', etc. - A custom ratio in format 'width / height': '16 / 9', '4 / 3', '1.618 / 1', etc.
16
+ * @example <af-aspect-ratio ratio="16:9">Content</af-aspect-ratio> <af-aspect-ratio ratio="1.618 / 1">Content</af-aspect-ratio>
17
+ * @default '1:1'
13
18
  */
14
- "tone": 'brand' | 'neutral' | 'success';
19
+ "ratio": string;
15
20
  }
16
- interface AfButton {
21
+ interface AfColorSwatch {
17
22
  /**
18
- * Disabled state
19
- * @default false
23
+ * Color value (hex)
20
24
  */
21
- "disabled": boolean;
25
+ "color": string;
22
26
  /**
23
- * Loading state
24
- * @default false
27
+ * Color name
25
28
  */
26
- "loading": boolean;
29
+ "name": string;
27
30
  /**
28
- * Size of the button
29
- * @default 'md'
31
+ * Size variant
32
+ * @default 'default'
30
33
  */
31
- "size": 'md' | 'lg';
34
+ "size": 'default' | 'large';
35
+ }
36
+ /**
37
+ * A responsive container component that provides consistent margins and max-width
38
+ * constraints based on the Affinda grid system.
39
+ */
40
+ interface AfContainer {
32
41
  /**
33
- * Visual style of the button
34
- * @default 'primary'
42
+ * Maximum width constraint for the container - 'xlarge': 1440px container (default) - 'large': 1024px container - 'medium': 768px container - 'fluid': No max-width constraint, full width with margins
43
+ * @default 'xlarge'
35
44
  */
36
- "variant": 'primary' | 'secondary' | 'ghost';
45
+ "maxWidth": 'xlarge' | 'large' | 'medium' | 'fluid';
37
46
  }
38
- interface AfCard {
47
+ interface AfHeading {
39
48
  /**
40
- * Optional accent colour strip
49
+ * Visual alignment
50
+ * @default 'left'
41
51
  */
42
- "accent"?: 'brand' | 'success' | 'neutral';
52
+ "align": 'left' | 'center' | 'right';
43
53
  /**
44
- * Visual style of the card
45
- * @default 'surface'
54
+ * Heading level
55
+ * @default '1'
46
56
  */
47
- "variant": 'surface' | 'elevated';
57
+ "level": 'xl' | '1' | '2' | '3' | '4' | '5';
48
58
  }
49
- interface AfIconButton {
59
+ /**
60
+ * A generic navigation item component that can be used in navigation bars, menus, and sidebars.
61
+ * Supports multiple hierarchy levels, variants, and states (active, hover).
62
+ */
63
+ interface AfNavItem {
50
64
  /**
51
- * Disabled state
65
+ * Whether this nav item is currently active/selected
52
66
  * @default false
53
67
  */
54
- "disabled": boolean;
68
+ "active": boolean;
55
69
  /**
56
- * Accessible label text
70
+ * Visual hierarchy level of the navigation item - 'primary': Bold, main navigation (larger text, prominent styling) - 'secondary': Lighter, sub-navigation (smaller text, subtle styling)
71
+ * @default 'primary'
57
72
  */
58
- "label"?: string;
73
+ "hierarchy": 'primary' | 'secondary';
59
74
  /**
60
- * Size preset
61
- * @default 'md'
75
+ * URL to navigate to when clicked
62
76
  */
63
- "size": 'sm' | 'md';
77
+ "href"?: string;
64
78
  /**
65
- * Visual style of the icon button
66
- * @default 'solid'
79
+ * Visual variant within the hierarchy level - '01': Darker/more prominent styling - '02': Lighter/more subtle styling
80
+ * @default '01'
67
81
  */
68
- "variant": 'solid' | 'soft' | 'ghost';
82
+ "variant": '01' | '02';
69
83
  }
70
- interface AfInput {
71
- /**
72
- * Assistive description shown below the field
73
- */
74
- "description"?: string;
75
- /**
76
- * Disabled state
77
- * @default false
78
- */
79
- "disabled": boolean;
84
+ interface AfText {
80
85
  /**
81
- * Optional label text
86
+ * Visual alignment
87
+ * @default 'left'
82
88
  */
83
- "label"?: string;
89
+ "align": 'left' | 'center' | 'right';
84
90
  /**
85
- * Placeholder text
91
+ * Semantic element to render
92
+ * @default 'p'
86
93
  */
87
- "placeholder"?: string;
94
+ "as": 'p' | 'span' | 'div' | 'label';
88
95
  /**
89
- * Input type attribute
90
- * @default 'text'
96
+ * Text variant
97
+ * @default 'medium'
91
98
  */
92
- "type": 'text' | 'email' | 'password' | 'search';
93
- /**
94
- * Current value (mutable so the component stays in sync)
95
- * @default ''
96
- */
97
- "value": string;
99
+ "variant": 'xlarge' | 'large' | 'medium' | 'small' | 'label-button' | 'label-tag';
98
100
  }
99
101
  }
100
- export interface AfButtonCustomEvent<T> extends CustomEvent<T> {
101
- detail: T;
102
- target: HTMLAfButtonElement;
103
- }
104
- export interface AfIconButtonCustomEvent<T> extends CustomEvent<T> {
105
- detail: T;
106
- target: HTMLAfIconButtonElement;
107
- }
108
- export interface AfInputCustomEvent<T> extends CustomEvent<T> {
109
- detail: T;
110
- target: HTMLAfInputElement;
111
- }
112
102
  declare global {
113
- interface HTMLAfBadgeElement extends Components.AfBadge, HTMLStencilElement {
103
+ /**
104
+ * A container component that maintains a fixed aspect ratio for its content.
105
+ * Useful for images, videos, or any content that needs to maintain specific proportions.
106
+ */
107
+ interface HTMLAfAspectRatioElement extends Components.AfAspectRatio, HTMLStencilElement {
114
108
  }
115
- var HTMLAfBadgeElement: {
116
- prototype: HTMLAfBadgeElement;
117
- new (): HTMLAfBadgeElement;
109
+ var HTMLAfAspectRatioElement: {
110
+ prototype: HTMLAfAspectRatioElement;
111
+ new (): HTMLAfAspectRatioElement;
118
112
  };
119
- interface HTMLAfButtonElementEventMap {
120
- "afClick": MouseEvent;
113
+ interface HTMLAfColorSwatchElement extends Components.AfColorSwatch, HTMLStencilElement {
121
114
  }
122
- interface HTMLAfButtonElement extends Components.AfButton, HTMLStencilElement {
123
- addEventListener<K extends keyof HTMLAfButtonElementEventMap>(type: K, listener: (this: HTMLAfButtonElement, ev: AfButtonCustomEvent<HTMLAfButtonElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
124
- addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
125
- addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
126
- addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
127
- removeEventListener<K extends keyof HTMLAfButtonElementEventMap>(type: K, listener: (this: HTMLAfButtonElement, ev: AfButtonCustomEvent<HTMLAfButtonElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
128
- removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
129
- removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
130
- removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
131
- }
132
- var HTMLAfButtonElement: {
133
- prototype: HTMLAfButtonElement;
134
- new (): HTMLAfButtonElement;
115
+ var HTMLAfColorSwatchElement: {
116
+ prototype: HTMLAfColorSwatchElement;
117
+ new (): HTMLAfColorSwatchElement;
135
118
  };
136
- interface HTMLAfCardElement extends Components.AfCard, HTMLStencilElement {
119
+ /**
120
+ * A responsive container component that provides consistent margins and max-width
121
+ * constraints based on the Affinda grid system.
122
+ */
123
+ interface HTMLAfContainerElement extends Components.AfContainer, HTMLStencilElement {
137
124
  }
138
- var HTMLAfCardElement: {
139
- prototype: HTMLAfCardElement;
140
- new (): HTMLAfCardElement;
125
+ var HTMLAfContainerElement: {
126
+ prototype: HTMLAfContainerElement;
127
+ new (): HTMLAfContainerElement;
141
128
  };
142
- interface HTMLAfIconButtonElementEventMap {
143
- "afClick": MouseEvent;
144
- }
145
- interface HTMLAfIconButtonElement extends Components.AfIconButton, HTMLStencilElement {
146
- addEventListener<K extends keyof HTMLAfIconButtonElementEventMap>(type: K, listener: (this: HTMLAfIconButtonElement, ev: AfIconButtonCustomEvent<HTMLAfIconButtonElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
147
- addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
148
- addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
149
- addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
150
- removeEventListener<K extends keyof HTMLAfIconButtonElementEventMap>(type: K, listener: (this: HTMLAfIconButtonElement, ev: AfIconButtonCustomEvent<HTMLAfIconButtonElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
151
- removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
152
- removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
153
- removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
129
+ interface HTMLAfHeadingElement extends Components.AfHeading, HTMLStencilElement {
154
130
  }
155
- var HTMLAfIconButtonElement: {
156
- prototype: HTMLAfIconButtonElement;
157
- new (): HTMLAfIconButtonElement;
131
+ var HTMLAfHeadingElement: {
132
+ prototype: HTMLAfHeadingElement;
133
+ new (): HTMLAfHeadingElement;
158
134
  };
159
- interface HTMLAfInputElementEventMap {
160
- "afInput": string;
161
- "afChange": string;
135
+ /**
136
+ * A generic navigation item component that can be used in navigation bars, menus, and sidebars.
137
+ * Supports multiple hierarchy levels, variants, and states (active, hover).
138
+ */
139
+ interface HTMLAfNavItemElement extends Components.AfNavItem, HTMLStencilElement {
162
140
  }
163
- interface HTMLAfInputElement extends Components.AfInput, HTMLStencilElement {
164
- addEventListener<K extends keyof HTMLAfInputElementEventMap>(type: K, listener: (this: HTMLAfInputElement, ev: AfInputCustomEvent<HTMLAfInputElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
165
- addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
166
- addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
167
- addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
168
- removeEventListener<K extends keyof HTMLAfInputElementEventMap>(type: K, listener: (this: HTMLAfInputElement, ev: AfInputCustomEvent<HTMLAfInputElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
169
- removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
170
- removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
171
- removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
141
+ var HTMLAfNavItemElement: {
142
+ prototype: HTMLAfNavItemElement;
143
+ new (): HTMLAfNavItemElement;
144
+ };
145
+ interface HTMLAfTextElement extends Components.AfText, HTMLStencilElement {
172
146
  }
173
- var HTMLAfInputElement: {
174
- prototype: HTMLAfInputElement;
175
- new (): HTMLAfInputElement;
147
+ var HTMLAfTextElement: {
148
+ prototype: HTMLAfTextElement;
149
+ new (): HTMLAfTextElement;
176
150
  };
177
151
  interface HTMLElementTagNameMap {
178
- "af-badge": HTMLAfBadgeElement;
179
- "af-button": HTMLAfButtonElement;
180
- "af-card": HTMLAfCardElement;
181
- "af-icon-button": HTMLAfIconButtonElement;
182
- "af-input": HTMLAfInputElement;
152
+ "af-aspect-ratio": HTMLAfAspectRatioElement;
153
+ "af-color-swatch": HTMLAfColorSwatchElement;
154
+ "af-container": HTMLAfContainerElement;
155
+ "af-heading": HTMLAfHeadingElement;
156
+ "af-nav-item": HTMLAfNavItemElement;
157
+ "af-text": HTMLAfTextElement;
183
158
  }
184
159
  }
185
160
  declare namespace LocalJSX {
186
- interface AfBadge {
161
+ /**
162
+ * A container component that maintains a fixed aspect ratio for its content.
163
+ * Useful for images, videos, or any content that needs to maintain specific proportions.
164
+ */
165
+ interface AfAspectRatio {
187
166
  /**
188
- * Color theme of the badge
189
- * @default 'brand'
167
+ * The aspect ratio to maintain. Can be: - A predefined ratio: '1:1', '16:9', '4:3', 'golden-portrait', 'golden-landscape', 'a4-portrait', 'a4-landscape', 'letter-portrait', 'letter-landscape', etc. - A custom ratio in format 'width / height': '16 / 9', '4 / 3', '1.618 / 1', etc.
168
+ * @example <af-aspect-ratio ratio="16:9">Content</af-aspect-ratio> <af-aspect-ratio ratio="1.618 / 1">Content</af-aspect-ratio>
169
+ * @default '1:1'
190
170
  */
191
- "tone"?: 'brand' | 'neutral' | 'success';
171
+ "ratio"?: string;
192
172
  }
193
- interface AfButton {
194
- /**
195
- * Disabled state
196
- * @default false
197
- */
198
- "disabled"?: boolean;
199
- /**
200
- * Loading state
201
- * @default false
202
- */
203
- "loading"?: boolean;
173
+ interface AfColorSwatch {
204
174
  /**
205
- * Fired when the button is clicked while enabled
175
+ * Color value (hex)
206
176
  */
207
- "onAfClick"?: (event: AfButtonCustomEvent<MouseEvent>) => void;
177
+ "color": string;
208
178
  /**
209
- * Size of the button
210
- * @default 'md'
179
+ * Color name
211
180
  */
212
- "size"?: 'md' | 'lg';
181
+ "name": string;
213
182
  /**
214
- * Visual style of the button
215
- * @default 'primary'
183
+ * Size variant
184
+ * @default 'default'
216
185
  */
217
- "variant"?: 'primary' | 'secondary' | 'ghost';
186
+ "size"?: 'default' | 'large';
218
187
  }
219
- interface AfCard {
220
- /**
221
- * Optional accent colour strip
222
- */
223
- "accent"?: 'brand' | 'success' | 'neutral';
188
+ /**
189
+ * A responsive container component that provides consistent margins and max-width
190
+ * constraints based on the Affinda grid system.
191
+ */
192
+ interface AfContainer {
224
193
  /**
225
- * Visual style of the card
226
- * @default 'surface'
194
+ * Maximum width constraint for the container - 'xlarge': 1440px container (default) - 'large': 1024px container - 'medium': 768px container - 'fluid': No max-width constraint, full width with margins
195
+ * @default 'xlarge'
227
196
  */
228
- "variant"?: 'surface' | 'elevated';
197
+ "maxWidth"?: 'xlarge' | 'large' | 'medium' | 'fluid';
229
198
  }
230
- interface AfIconButton {
199
+ interface AfHeading {
231
200
  /**
232
- * Disabled state
233
- * @default false
201
+ * Visual alignment
202
+ * @default 'left'
234
203
  */
235
- "disabled"?: boolean;
204
+ "align"?: 'left' | 'center' | 'right';
236
205
  /**
237
- * Accessible label text
206
+ * Heading level
207
+ * @default '1'
238
208
  */
239
- "label"?: string;
240
- /**
241
- * Raised when the button is activated
242
- */
243
- "onAfClick"?: (event: AfIconButtonCustomEvent<MouseEvent>) => void;
244
- /**
245
- * Size preset
246
- * @default 'md'
247
- */
248
- "size"?: 'sm' | 'md';
249
- /**
250
- * Visual style of the icon button
251
- * @default 'solid'
252
- */
253
- "variant"?: 'solid' | 'soft' | 'ghost';
209
+ "level"?: 'xl' | '1' | '2' | '3' | '4' | '5';
254
210
  }
255
- interface AfInput {
211
+ /**
212
+ * A generic navigation item component that can be used in navigation bars, menus, and sidebars.
213
+ * Supports multiple hierarchy levels, variants, and states (active, hover).
214
+ */
215
+ interface AfNavItem {
256
216
  /**
257
- * Assistive description shown below the field
258
- */
259
- "description"?: string;
260
- /**
261
- * Disabled state
217
+ * Whether this nav item is currently active/selected
262
218
  * @default false
263
219
  */
264
- "disabled"?: boolean;
220
+ "active"?: boolean;
265
221
  /**
266
- * Optional label text
222
+ * Visual hierarchy level of the navigation item - 'primary': Bold, main navigation (larger text, prominent styling) - 'secondary': Lighter, sub-navigation (smaller text, subtle styling)
223
+ * @default 'primary'
267
224
  */
268
- "label"?: string;
225
+ "hierarchy"?: 'primary' | 'secondary';
269
226
  /**
270
- * Fired when the field loses focus after a change
227
+ * URL to navigate to when clicked
271
228
  */
272
- "onAfChange"?: (event: AfInputCustomEvent<string>) => void;
229
+ "href"?: string;
273
230
  /**
274
- * Fired as the user types
231
+ * Visual variant within the hierarchy level - '01': Darker/more prominent styling - '02': Lighter/more subtle styling
232
+ * @default '01'
275
233
  */
276
- "onAfInput"?: (event: AfInputCustomEvent<string>) => void;
234
+ "variant"?: '01' | '02';
235
+ }
236
+ interface AfText {
277
237
  /**
278
- * Placeholder text
238
+ * Visual alignment
239
+ * @default 'left'
279
240
  */
280
- "placeholder"?: string;
241
+ "align"?: 'left' | 'center' | 'right';
281
242
  /**
282
- * Input type attribute
283
- * @default 'text'
243
+ * Semantic element to render
244
+ * @default 'p'
284
245
  */
285
- "type"?: 'text' | 'email' | 'password' | 'search';
246
+ "as"?: 'p' | 'span' | 'div' | 'label';
286
247
  /**
287
- * Current value (mutable so the component stays in sync)
288
- * @default ''
248
+ * Text variant
249
+ * @default 'medium'
289
250
  */
290
- "value"?: string;
251
+ "variant"?: 'xlarge' | 'large' | 'medium' | 'small' | 'label-button' | 'label-tag';
291
252
  }
292
253
  interface IntrinsicElements {
293
- "af-badge": AfBadge;
294
- "af-button": AfButton;
295
- "af-card": AfCard;
296
- "af-icon-button": AfIconButton;
297
- "af-input": AfInput;
254
+ "af-aspect-ratio": AfAspectRatio;
255
+ "af-color-swatch": AfColorSwatch;
256
+ "af-container": AfContainer;
257
+ "af-heading": AfHeading;
258
+ "af-nav-item": AfNavItem;
259
+ "af-text": AfText;
298
260
  }
299
261
  }
300
262
  export { LocalJSX as JSX };
301
263
  declare module "@stencil/core" {
302
264
  export namespace JSX {
303
265
  interface IntrinsicElements {
304
- "af-badge": LocalJSX.AfBadge & JSXBase.HTMLAttributes<HTMLAfBadgeElement>;
305
- "af-button": LocalJSX.AfButton & JSXBase.HTMLAttributes<HTMLAfButtonElement>;
306
- "af-card": LocalJSX.AfCard & JSXBase.HTMLAttributes<HTMLAfCardElement>;
307
- "af-icon-button": LocalJSX.AfIconButton & JSXBase.HTMLAttributes<HTMLAfIconButtonElement>;
308
- "af-input": LocalJSX.AfInput & JSXBase.HTMLAttributes<HTMLAfInputElement>;
266
+ /**
267
+ * A container component that maintains a fixed aspect ratio for its content.
268
+ * Useful for images, videos, or any content that needs to maintain specific proportions.
269
+ */
270
+ "af-aspect-ratio": LocalJSX.AfAspectRatio & JSXBase.HTMLAttributes<HTMLAfAspectRatioElement>;
271
+ "af-color-swatch": LocalJSX.AfColorSwatch & JSXBase.HTMLAttributes<HTMLAfColorSwatchElement>;
272
+ /**
273
+ * A responsive container component that provides consistent margins and max-width
274
+ * constraints based on the Affinda grid system.
275
+ */
276
+ "af-container": LocalJSX.AfContainer & JSXBase.HTMLAttributes<HTMLAfContainerElement>;
277
+ "af-heading": LocalJSX.AfHeading & JSXBase.HTMLAttributes<HTMLAfHeadingElement>;
278
+ /**
279
+ * A generic navigation item component that can be used in navigation bars, menus, and sidebars.
280
+ * Supports multiple hierarchy levels, variants, and states (active, hover).
281
+ */
282
+ "af-nav-item": LocalJSX.AfNavItem & JSXBase.HTMLAttributes<HTMLAfNavItemElement>;
283
+ "af-text": LocalJSX.AfText & JSXBase.HTMLAttributes<HTMLAfTextElement>;
309
284
  }
310
285
  }
311
286
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@affinda/wc",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs.js",
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-badge.af-button.af-card.af-icon-button.af-input.entry.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,2 +0,0 @@
1
- export{AfBadge as af_badge,AfButton as af_button,AfCard as af_card,AfIconButton as af_icon_button,AfInput as af_input}from"./index.esm.js";import"./p-o0tfWqnY.js";
2
- //# sourceMappingURL=p-bca10492.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["AfBadge","AfButton","AfCard","AfIconButton","AfInput"],"sources":["0"],"mappings":"OAASA,oBAAqBC,sBAAuBC,kBAAmBC,+BAAgCC,wBAA2B,uBAC5H","ignoreList":[]}
@@ -1,3 +0,0 @@
1
- const e="affinda";const t={hydratedSelectorName:"hydrated",lazyLoad:true,propChangeCallback:false,updatable:true};const n=()=>{};const r=":root{--af-color-brand-primary-500:#7c3aed;--af-color-brand-primary-600:#6d28d9;--af-color-fg-default:#120f1f;--af-color-fg-muted:#5b4b8a;--af-color-fg-inverse:#f7f5ff;--af-color-bg-surface:#ffffff;--af-color-bg-subtle:#f5f3ff;--af-color-bg-inverse:#2f165e;--af-radius-sm:6px;--af-radius-md:12px;--af-radius-pill:999px;--af-space-1:4px;--af-space-2:8px;--af-space-3:12px;--af-space-4:16px;--af-font-family-sans:'Inter', 'Segoe UI', system-ui, sans-serif;--af-font-weight-regular:400;--af-font-weight-semibold:600;--af-size-font-sm:0.875rem;--af-size-font-md:1rem;--af-size-font-lg:1.125rem}[data-theme=\"dark\"]{--af-color-fg-default:#f7f5ff;--af-color-fg-muted:#dcd1ff;--af-color-fg-inverse:#120f1f;--af-color-bg-surface:#1b1530;--af-color-bg-subtle:#241943;--af-color-bg-inverse:#f7f5ff}:root{font-family:var(--af-font-family-sans);font-weight:var(--af-font-weight-regular);background-color:var(--af-color-bg-surface);color:var(--af-color-fg-default)}body{font-size:var(--af-size-font-md);display:flex;flex-direction:column;min-height:100%}.af-focus-ring{outline:2px solid var(--af-color-brand-primary-500);outline-offset:2px}.af-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}";var o=Object.defineProperty;var i=(e,t)=>{for(var n in t)o(e,n,{get:t[n],enumerable:true})};var s=e=>{if(e.__stencil__getHostRef){return e.__stencil__getHostRef()}return void 0};var l=(e,t)=>{if(!t)return;e.__stencil__getHostRef=()=>t;t.t=e};var f=(e,t)=>{const n={o:0,$hostElement$:e,i:t,l:new Map,u:new Map};{n.v=new Promise((e=>n.p=e));e["s-p"]=[];e["s-rc"]=[]}{n.h=[]}const r=n;e.__stencil__getHostRef=()=>r;return r};var a=(e,t)=>t in e;var c=(e,t)=>(0,console.error)(e,t);var u=new Map;var v=(e,t,n)=>{const r=e.m.replace(/-/g,"_");const o=e.$;if(!o){return void 0}const i=u.get(o);if(i){return i[r]}
2
- /*!__STENCIL_STATIC_IMPORT_SWITCH__*/return import(`./${o}.entry.js${""}`).then((e=>{{u.set(o,e)}return e[r]}),(e=>{c(e,t.$hostElement$)}))};var d=new Map;var p="{visibility:hidden}.hydrated{visibility:inherit}";var h="slot-fb{display:contents}slot-fb[hidden]{display:none}";var m=typeof window!=="undefined"?window:{};var b={o:0,S:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,r)=>e.addEventListener(t,n,r),rel:(e,t,n,r)=>e.removeEventListener(t,n,r),ce:(e,t)=>new CustomEvent(e,t)};var y=e=>Promise.resolve(e);var g=(()=>{try{new CSSStyleSheet;return typeof(new CSSStyleSheet).replaceSync==="function"}catch(e){}return false})();var w=g?(()=>!!m.document&&Object.getOwnPropertyDescriptor(m.document.adoptedStyleSheets,"length").writable)():false;var $=false;var S=[];var j=[];var x=(e,t)=>n=>{e.push(n);if(!$){$=true;if(t&&b.o&4){C(O)}else{b.raf(O)}}};var k=e=>{for(let t=0;t<e.length;t++){try{e[t](performance.now())}catch(e){c(e)}}e.length=0};var O=()=>{k(S);{k(j);if($=S.length>0){b.raf(O)}}};var C=e=>y().then(e);var E=x(j,true);var M=e=>{e=typeof e;return e==="object"||e==="function"};function z(e){var t,n,r;return(r=(n=(t=e.head)==null?void 0:t.querySelector('meta[name="csp-nonce"]'))==null?void 0:n.getAttribute("content"))!=null?r:void 0}var U=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");var P={};i(P,{err:()=>D,map:()=>N,ok:()=>R,unwrap:()=>W,unwrapErr:()=>A});var R=e=>({isOk:true,isErr:false,value:e});var D=e=>({isOk:false,isErr:true,value:e});function N(e,t){if(e.isOk){const n=t(e.value);if(n instanceof Promise){return n.then((e=>R(e)))}else{return R(n)}}if(e.isErr){const t=e.value;return D(t)}throw"should never get here"}var W=e=>{if(e.isOk){return e.value}else{throw e.value}};var A=e=>{if(e.isErr){return e.value}else{throw e.value}};function L(e){if(!g)return void 0;const t=new CSSStyleSheet;t.replaceSync(e);return t}var I;function T(e){var t;const n=this.attachShadow({mode:"open"});if(I===void 0)I=(t=L(r))!=null?t:null;if(I){if(w){n.adoptedStyleSheets.push(I)}else{n.adoptedStyleSheets=[...n.adoptedStyleSheets,I]}}}var H=(e,t="")=>{{return()=>{}}};var V=(e,t)=>{{return()=>{}}};var q=new WeakMap;var F=(e,t,n)=>{let r=d.get(e);if(g&&n){r=r||new CSSStyleSheet;if(typeof r==="string"){r=t}else{r.replaceSync(t)}}else{r=t}d.set(e,r)};var G=(e,t,n)=>{var r;const o=_(t);const i=d.get(o);if(!m.document){return o}e=e.nodeType===11?e:m.document;if(i){if(typeof i==="string"){e=e.head||e;let n=q.get(e);let s;if(!n){q.set(e,n=new Set)}if(!n.has(o)){{s=m.document.createElement("style");s.innerHTML=i;const n=(r=b.j)!=null?r:z(m.document);if(n!=null){s.setAttribute("nonce",n)}if(!(t.o&1)){if(e.nodeName==="HEAD"){const t=e.querySelectorAll("link[rel=preconnect]");const n=t.length>0?t[t.length-1].nextSibling:e.querySelector("style");e.insertBefore(s,(n==null?void 0:n.parentNode)===e?n:null)}else if("host"in e){if(g){const t=new CSSStyleSheet;t.replaceSync(i);if(w){e.adoptedStyleSheets.unshift(t)}else{e.adoptedStyleSheets=[t,...e.adoptedStyleSheets]}}else{const t=e.querySelector("style");if(t){t.innerHTML=i+t.innerHTML}else{e.prepend(s)}}}else{e.append(s)}}if(t.o&1){e.insertBefore(s,null)}}if(t.o&4){s.innerHTML+=h}if(n){n.add(o)}}}else if(!e.adoptedStyleSheets.includes(i)){if(w){e.adoptedStyleSheets.push(i)}else{e.adoptedStyleSheets=[...e.adoptedStyleSheets,i]}}}return o};var Y=e=>{const t=e.i;const n=e.$hostElement$;const r=t.o;const o=H("attachStyles",t.m);const i=G(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);if(r&10){n["s-sc"]=i;n.classList.add(i+"-h")}o()};var _=(e,t)=>"sc-"+e.m;var B=(e,t,...n)=>{let r=null;let o=null;let i=false;let s=false;const l=[];const f=t=>{for(let n=0;n<t.length;n++){r=t[n];if(Array.isArray(r)){f(r)}else if(r!=null&&typeof r!=="boolean"){if(i=typeof e!=="function"&&!M(r)){r=String(r)}if(i&&s){l[l.length-1].k+=r}else{l.push(i?J(null,r):r)}s=i}}};f(n);if(t){if(t.key){o=t.key}{const e=t.className||t.class;if(e){t.class=typeof e!=="object"?e:Object.keys(e).filter((t=>e[t])).join(" ")}}}const a=J(e,null);a.O=t;if(l.length>0){a.C=l}{a.M=o}return a};var J=(e,t)=>{const n={o:0,U:e,k:t,P:null,C:null};{n.O=null}{n.M=null}return n};var K={};var Q=e=>e&&e.U===K;var X=e=>{const t=U(e);return new RegExp(`(^|[^@]|@(?!supports\\s+selector\\s*\\([^{]*?${t}))(${t}\\b)`,"g")};X("::slotted");X(":host");X(":host-context");var Z=(e,t,n)=>{if(e!=null&&!M(e)){if(t&4){{return e==="false"?false:e===""||!!e}}if(t&1){return String(e)}return e}return e};var ee=e=>{var t;return(t=s(e))==null?void 0:t.$hostElement$};var te=(e,t,n)=>{const r=ee(e);return{emit:e=>ne(r,t,{bubbles:true,composed:true,cancelable:true,detail:e})}};var ne=(e,t,n)=>{const r=b.ce(t,n);e.dispatchEvent(r);return r};var re=(e,t,n,r,o,i,s)=>{if(n===r){return}let l=a(e,t);let f=t.toLowerCase();if(t==="class"){const t=e.classList;const o=ie(n);let i=ie(r);{t.remove(...o.filter((e=>e&&!i.includes(e))));t.add(...i.filter((e=>e&&!o.includes(e))))}}else if(t==="key");else if(!l&&t[0]==="o"&&t[1]==="n"){if(t[2]==="-"){t=t.slice(3)}else if(a(m,f)){t=f.slice(2)}else{t=f[2]+t.slice(3)}if(n||r){const o=t.endsWith(se);t=t.replace(le,"");if(n){b.rel(e,t,n,o)}if(r){b.ael(e,t,r,o)}}}else{const s=M(r);if((l||s&&r!==null)&&true){try{if(!e.tagName.includes("-")){const o=r==null?"":r;if(t==="list"){l=false}else if(n==null||e[t]!=o){if(typeof e.__lookupSetter__(t)==="function"){e[t]=o}else{e.setAttribute(t,o)}}}else if(e[t]!==r){e[t]=r}}catch(e){}}if(r==null||r===false){if(r!==false||e.getAttribute(t)===""){{e.removeAttribute(t)}}}else if((!l||i&4||o)&&!s&&e.nodeType===1){r=r===true?"":r;{e.setAttribute(t,r)}}}};var oe=/\s/;var ie=e=>{if(typeof e==="object"&&e&&"baseVal"in e){e=e.baseVal}if(!e||typeof e!=="string"){return[]}return e.split(oe)};var se="Capture";var le=new RegExp(se+"$");var fe=(e,t,n,r)=>{const o=t.P.nodeType===11&&t.P.host?t.P.host:t.P;const i=e&&e.O||{};const s=t.O||{};{for(const e of ae(Object.keys(i))){if(!(e in s)){re(o,e,i[e],void 0,n,t.o)}}}for(const e of ae(Object.keys(s))){re(o,e,i[e],s[e],n,t.o)}};function ae(e){return e.includes("ref")?[...e.filter((e=>e!=="ref")),"ref"]:e}var ce;var ue=false;var ve=(e,t,n)=>{const r=t.C[n];let o=0;let i;let s;if(r.k!==null){i=r.P=m.document.createTextNode(r.k)}else{if(!m.document){throw new Error("You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component.")}i=r.P=m.document.createElement(r.U);{fe(null,r,ue)}if(r.C){for(o=0;o<r.C.length;++o){s=ve(e,r,o);if(s){i.appendChild(s)}}}}i["s-hn"]=ce;return i};var de=(e,t,n,r,o,i)=>{let s=e;let l;if(s.shadowRoot&&s.tagName===ce){s=s.shadowRoot}for(;o<=i;++o){if(r[o]){l=ve(null,n,o);if(l){r[o].P=l;ye(s,l,t)}}}};var pe=(e,t,n)=>{for(let r=t;r<=n;++r){const t=e[r];if(t){const e=t.P;if(e){e.remove()}}}};var he=(e,t,n,r,o=false)=>{let i=0;let s=0;let l=0;let f=0;let a=t.length-1;let c=t[0];let u=t[a];let v=r.length-1;let d=r[0];let p=r[v];let h;let m;while(i<=a&&s<=v){if(c==null){c=t[++i]}else if(u==null){u=t[--a]}else if(d==null){d=r[++s]}else if(p==null){p=r[--v]}else if(me(c,d,o)){be(c,d,o);c=t[++i];d=r[++s]}else if(me(u,p,o)){be(u,p,o);u=t[--a];p=r[--v]}else if(me(c,p,o)){be(c,p,o);ye(e,c.P,u.P.nextSibling);c=t[++i];p=r[--v]}else if(me(u,d,o)){be(u,d,o);ye(e,u.P,c.P);u=t[--a];d=r[++s]}else{l=-1;{for(f=i;f<=a;++f){if(t[f]&&t[f].M!==null&&t[f].M===d.M){l=f;break}}}if(l>=0){m=t[l];if(m.U!==d.U){h=ve(t&&t[s],n,l)}else{be(m,d,o);t[l]=void 0;h=m.P}d=r[++s]}else{h=ve(t&&t[s],n,s);d=r[++s]}if(h){{ye(c.P.parentNode,h,c.P)}}}}if(i>a){de(e,r[v+1]==null?null:r[v+1].P,n,r,s,v)}else if(s>v){pe(t,i,a)}};var me=(e,t,n=false)=>{if(e.U===t.U){if(!n){return e.M===t.M}if(n&&!e.M&&t.M){e.M=t.M}return true}return false};var be=(e,n,r=false)=>{const o=n.P=e.P;const i=e.C;const s=n.C;const l=n.k;if(l===null){{fe(e,n,ue)}if(i!==null&&s!==null){he(o,i,n,s,r)}else if(s!==null){if(e.k!==null){o.textContent=""}de(o,null,n,s,0,s.length-1)}else if(!r&&t.updatable&&i!==null){pe(i,0,i.length-1)}else;}else if(e.k!==l){o.data=l}};var ye=(e,t,n)=>{{return e==null?void 0:e.insertBefore(t,n)}};var ge=(e,t,n=false)=>{const r=e.$hostElement$;const o=e.i;const i=e.R||J(null,null);const s=Q(t);const l=s?t:B(null,null,t);ce=r.tagName;if(o.D){l.O=l.O||{};o.D.forEach((([e,t])=>{{l.O[t]=r[e]}}))}if(n&&l.O){for(const e of Object.keys(l.O)){if(r.hasAttribute(e)&&!["key","ref","style","class"].includes(e)){l.O[e]=r[e]}}}l.U=null;l.o|=4;e.R=l;l.P=i.P=r.shadowRoot||r;be(i,l,n)};var we=(e,t)=>{if(t&&!e.N&&t["s-p"]){const n=t["s-p"].push(new Promise((r=>e.N=()=>{t["s-p"].splice(n-1,1);r()})))}};var $e=(e,t)=>{{e.o|=16}if(e.o&4){e.o|=512;return}we(e,e.W);const n=()=>Se(e,t);if(t){queueMicrotask((()=>{n()}));return}return E(n)};var Se=(e,t)=>{const n=e.$hostElement$;const r=H("scheduleUpdate",e.i.m);const o=e.t;if(!o){throw new Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`)}let i;if(t){{if(e.h.length){e.h.forEach((e=>e(n)))}}i=Me(o,"componentWillLoad",void 0,n)}else{i=Me(o,"componentWillUpdate",void 0,n)}i=je(i,(()=>Me(o,"componentWillRender",void 0,n)));r();return je(i,(()=>ke(e,o,t)))};var je=(e,t)=>xe(e)?e.then(t).catch((e=>{console.error(e);t()})):t();var xe=e=>e instanceof Promise||e&&e.then&&typeof e.then==="function";var ke=async(e,t,n)=>{var r;const o=e.$hostElement$;const i=H("update",e.i.m);const s=o["s-rc"];if(n){Y(e)}const l=H("render",e.i.m);{Oe(e,t,o,n)}if(s){s.map((e=>e()));o["s-rc"]=void 0}l();i();{const t=(r=o["s-p"])!=null?r:[];const n=()=>Ce(e);if(t.length===0){n()}else{Promise.all(t).then(n);e.o|=4;t.length=0}}};var Oe=(e,t,n,r)=>{try{t=t.render();{e.o&=-17}{e.o|=2}{{{ge(e,t,r)}}}}catch(t){c(t,e.$hostElement$)}return null};var Ce=e=>{const t=e.i.m;const n=e.$hostElement$;const r=H("postUpdate",t);const o=e.t;const i=e.W;Me(o,"componentDidRender",void 0,n);if(!(e.o&64)){e.o|=64;{ze(n)}Me(o,"componentDidLoad",void 0,n);r();{e.p(n);if(!i){Ee()}}}else{Me(o,"componentDidUpdate",void 0,n);r()}{if(e.N){e.N();e.N=void 0}if(e.o&512){C((()=>$e(e,false)))}e.o&=-517}};var Ee=t=>{C((()=>ne(m,"appload",{detail:{namespace:e}})))};var Me=(e,t,n,r)=>{if(e&&e[t]){try{return e[t](n)}catch(e){c(e,r)}}return void 0};var ze=e=>{var n;return e.classList.add((n=t.hydratedSelectorName)!=null?n:"hydrated")};var Ue=(e,t)=>s(e).l.get(t);var Pe=(e,t,n,r)=>{const o=s(e);if(!o){return}if(!o){throw new Error(`Couldn't find host element for "${r.m}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/stenciljs/core/issues/5457).`)}const i=o.l.get(t);const l=o.o;const f=o.t;n=Z(n,r.A[t][0]);const a=Number.isNaN(i)&&Number.isNaN(n);const c=n!==i&&!a;if((!(l&8)||i===void 0)&&c){o.l.set(t,n);if(f){if((l&(2|16))===2){if(f.componentShouldUpdate){if(f.componentShouldUpdate(n,i,t)===false){return}}$e(o,false)}}}};var Re=(e,n,r)=>{var o,i;const l=e.prototype;if(n.A||t.propChangeCallback){const f=Object.entries((o=n.A)!=null?o:{});f.map((([e,[t]])=>{if(t&31||r&2&&t&32){const{get:o,set:i}=Object.getOwnPropertyDescriptor(l,e)||{};if(o)n.A[e][0]|=2048;if(i)n.A[e][0]|=4096;if(r&1||!o){Object.defineProperty(l,e,{get(){{if((n.A[e][0]&2048)===0){return Ue(this,e)}const t=s(this);const r=t?t.t:l;if(!r)return;return r[e]}},configurable:true,enumerable:true})}Object.defineProperty(l,e,{set(o){const l=s(this);if(!l){return}if(i){const r=t&32?this[e]:l.$hostElement$[e];if(typeof r==="undefined"&&l.l.get(e)){o=l.l.get(e)}i.apply(this,[Z(o,t)]);o=t&32?this[e]:l.$hostElement$[e];Pe(this,e,o,n);return}{if((r&1)===0||(n.A[e][0]&4096)===0){Pe(this,e,o,n);if(r&1&&!l.t){l.h.push((()=>{if(n.A[e][0]&4096&&l.t[e]!==l.l.get(e)){l.t[e]=o}}))}return}const i=()=>{const r=l.t[e];if(!l.l.get(e)&&r){l.l.set(e,r)}l.t[e]=Z(o,t);Pe(this,e,l.t[e],n)};if(l.t){i()}else{l.h.push((()=>{i()}))}}}})}}));if(r&1){const r=new Map;l.attributeChangedCallback=function(e,o,i){b.jmp((()=>{var a;const c=r.get(e);const u=s(this);if(this.hasOwnProperty(c)&&t.lazyLoad){i=this[c];delete this[c]}if(l.hasOwnProperty(c)&&typeof this[c]==="number"&&this[c]==i){return}else if(c==null){const t=u==null?void 0:u.o;if(u&&t&&!(t&8)&&t&128&&i!==o){const t=u.t;const r=(a=n.L)==null?void 0:a[e];r==null?void 0:r.forEach((n=>{if(t[n]!=null){t[n].call(t,i,o,e)}}))}return}const v=f.find((([e])=>e===c));if(v&&v[1][0]&4){i=i===null||i==="false"?false:true}const d=Object.getOwnPropertyDescriptor(l,c);if(i!=this[c]&&(!d.get||!!d.set)){this[c]=i}}))};e.observedAttributes=Array.from(new Set([...Object.keys((i=n.L)!=null?i:{}),...f.filter((([e,t])=>t[0]&31)).map((([e,t])=>{var o;const i=t[1]||e;r.set(i,e);if(t[0]&512){(o=n.D)==null?void 0:o.push([e,i])}return i}))]))}}return e};var De=async(e,t,n,r)=>{let o;if((t.o&32)===0){t.o|=32;const r=n.$;if(r){const r=v(n,t);if(r&&"then"in r){const e=V();o=await r;e()}else{o=r}if(!o){throw new Error(`Constructor for "${n.m}#${t.I}" was not found`)}if(!o.isProxied){Re(o,n,2);o.isProxied=true}const i=H("createInstance",n.m);{t.o|=8}try{new o(t)}catch(t){c(t,e)}{t.o&=-9}i();Ne(t.t,e)}else{o=e.constructor;const n=e.localName;customElements.whenDefined(n).then((()=>t.o|=128))}if(o&&o.style){let e;if(typeof o.style==="string"){e=o.style}const t=_(n);if(!d.has(t)){const r=H("registerStyles",n.m);F(t,e,!!(n.o&1));r()}}}const i=t.W;const s=()=>$e(t,true);if(i&&i["s-rc"]){i["s-rc"].push(s)}else{s()}};var Ne=(e,t)=>{{Me(e,"connectedCallback",void 0,t)}};var We=e=>{if((b.o&1)===0){const t=s(e);if(!t){return}const n=t.i;const r=H("connectedCallback",n.m);if(!(t.o&1)){t.o|=1;{let n=e;while(n=n.parentNode||n.host){if(n["s-p"]){we(t,t.W=n);break}}}if(n.A){Object.entries(n.A).map((([t,[n]])=>{if(n&31&&t in e&&e[t]!==Object.prototype[t]){const n=e[t];delete e[t];e[t]=n}}))}{De(e,t,n)}}else{if(t==null?void 0:t.t){Ne(t.t,e)}else if(t==null?void 0:t.v){t.v.then((()=>Ne(t.t,e)))}}r()}};var Ae=(e,t)=>{{Me(e,"disconnectedCallback",void 0,t||e)}};var Le=async e=>{if((b.o&1)===0){const t=s(e);if(t==null?void 0:t.t){Ae(t.t,e)}else if(t==null?void 0:t.v){t.v.then((()=>Ae(t.t,e)))}}if(q.has(e)){q.delete(e)}if(e.shadowRoot&&q.has(e.shadowRoot)){q.delete(e.shadowRoot)}};var Ie=(e,t={})=>{var n;if(!m.document){console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");return}const r=H();const o=[];const i=t.exclude||[];const l=m.customElements;const a=m.document.head;const c=a.querySelector("meta[charset]");const u=m.document.createElement("style");const v=[];let d;let y=true;Object.assign(b,t);b.S=new URL(t.resourcesUrl||"./",m.document.baseURI).href;let g=false;e.map((e=>{e[1].map((t=>{const n={o:t[0],m:t[1],A:t[2],T:t[3]};if(n.o&4){g=true}{n.A=t[2]}{n.D=[]}const r=n.m;const a=class extends HTMLElement{constructor(e){super(e);this.hasRegisteredEventListeners=false;e=this;f(e,n);if(n.o&1){{if(!e.shadowRoot){T.call(e,n)}else{if(e.shadowRoot.mode!=="open"){throw new Error(`Unable to re-use existing shadow root for ${n.m}! Mode is set to ${e.shadowRoot.mode} but Stencil only supports open shadow roots.`)}}}}}connectedCallback(){const e=s(this);if(!e){return}if(!this.hasRegisteredEventListeners){this.hasRegisteredEventListeners=true}if(d){clearTimeout(d);d=null}if(y){v.push(this)}else{b.jmp((()=>We(this)))}}disconnectedCallback(){b.jmp((()=>Le(this)));b.raf((()=>{var e;const t=s(this);if(!t){return}const n=v.findIndex((e=>e===this));if(n>-1){v.splice(n,1)}if(((e=t==null?void 0:t.R)==null?void 0:e.P)instanceof Node&&!t.R.P.isConnected){delete t.R.P}}))}componentOnReady(){var e;return(e=s(this))==null?void 0:e.v}};n.$=e[0];if(!i.includes(r)&&!l.get(r)){o.push(r);l.define(r,Re(a,n,1))}}))}));if(o.length>0){if(g){u.textContent+=h}{u.textContent+=o.sort()+p}if(u.innerHTML.length){u.setAttribute("data-styles","");const e=(n=b.j)!=null?n:z(m.document);if(e!=null){u.setAttribute("nonce",e)}a.insertBefore(u,c?c.nextSibling:a.firstChild)}}y=false;if(v.length){v.map((e=>e.connectedCallback()))}else{{b.jmp((()=>d=setTimeout(Ee,30)))}}r()};var Te=e=>b.j=e;export{Ie as b,te as c,n as g,B as h,y as p,l as r,Te as s};
3
- //# sourceMappingURL=p-o0tfWqnY.js.map