@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
@@ -0,0 +1 @@
1
+ {"file":"af-heading.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1,9 +1,9 @@
1
1
  import type { Components, JSX } from "../types/components";
2
2
 
3
- interface AfBadge extends Components.AfBadge, HTMLElement {}
4
- export const AfBadge: {
5
- prototype: AfBadge;
6
- new (): AfBadge;
3
+ interface AfNavItem extends Components.AfNavItem, HTMLElement {}
4
+ export const AfNavItem: {
5
+ prototype: AfNavItem;
6
+ new (): AfNavItem;
7
7
  };
8
8
  /**
9
9
  * Used to define this component and all nested components recursively.
@@ -0,0 +1,9 @@
1
+ import { A as AfNavItem$1, d as defineCustomElement$1 } from './p-Ntwn3krC.js';
2
+
3
+ const AfNavItem = AfNavItem$1;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { AfNavItem, defineCustomElement };
7
+ //# sourceMappingURL=af-nav-item.js.map
8
+
9
+ //# sourceMappingURL=af-nav-item.js.map
@@ -0,0 +1 @@
1
+ {"file":"af-nav-item.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1,9 +1,9 @@
1
1
  import type { Components, JSX } from "../types/components";
2
2
 
3
- interface AfCard extends Components.AfCard, HTMLElement {}
4
- export const AfCard: {
5
- prototype: AfCard;
6
- new (): AfCard;
3
+ interface AfText extends Components.AfText, HTMLElement {}
4
+ export const AfText: {
5
+ prototype: AfText;
6
+ new (): AfText;
7
7
  };
8
8
  /**
9
9
  * Used to define this component and all nested components recursively.
@@ -0,0 +1,9 @@
1
+ import { A as AfText$1, d as defineCustomElement$1 } from './p-BZ5_l5Q-.js';
2
+
3
+ const AfText = AfText$1;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { AfText, defineCustomElement };
7
+ //# sourceMappingURL=af-text.js.map
8
+
9
+ //# sourceMappingURL=af-text.js.map
@@ -0,0 +1 @@
1
+ {"file":"af-text.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1,9 +1,10 @@
1
- export { g as getAssetPath, r as render, s as setAssetPath, a as setNonce, b as setPlatformOptions } from './p-DOtgsZRB.js';
2
- export { A as AfButton } from './p-zIKPa48S.js';
3
- export { A as AfBadge } from './p-B7I93sz2.js';
4
- export { A as AfIconButton } from './p-D6PwARU0.js';
5
- export { A as AfCard } from './p-DZIXhvI0.js';
6
- export { A as AfInput } from './p-CZd1ieht.js';
1
+ export { g as getAssetPath, r as render, s as setAssetPath, a as setNonce, b as setPlatformOptions } from './p-TaHgCKVa.js';
2
+ export { A as AfHeading } from './p-CbKdmUDd.js';
3
+ export { A as AfText } from './p-BZ5_l5Q-.js';
4
+ export { A as AfColorSwatch } from './p-Ck_3oNdO.js';
5
+ export { A as AfContainer } from './p-DbZX-luM.js';
6
+ export { A as AfAspectRatio } from './p-CCPh8sLt.js';
7
+ export { A as AfNavItem } from './p-Ntwn3krC.js';
7
8
  //# sourceMappingURL=index.js.map
8
9
 
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"file":"index.js","mappings":";;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
1
+ {"file":"index.js","mappings":";;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -0,0 +1,50 @@
1
+ import { p as proxyCustomElement, H, h } from './p-TaHgCKVa.js';
2
+
3
+ const afTextCss = ":host{display:block}.text{margin:0;padding:0;font-family:'Helvetica', 'Inter', 'Segoe UI', system-ui, sans-serif;font-weight:400;color:#14343b;letter-spacing:0}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.variant-xlarge{font-size:22px;line-height:28px}.variant-large{font-size:18px;line-height:26px}.variant-medium{font-size:16px;line-height:24px}.variant-small{font-size:14px;line-height:20px}.variant-label-button{font-family:'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;font-weight:500;font-size:17px;line-height:20px}.variant-label-tag{font-family:'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;font-weight:500;font-size:14px;line-height:1}";
4
+
5
+ const AfText = /*@__PURE__*/ proxyCustomElement(class AfText extends H {
6
+ constructor(registerHost) {
7
+ super();
8
+ if (registerHost !== false) {
9
+ this.__registerHost();
10
+ }
11
+ this.__attachShadow();
12
+ /** Text variant */
13
+ this.variant = 'medium';
14
+ /** Visual alignment */
15
+ this.align = 'left';
16
+ /** Semantic element to render */
17
+ this.as = 'p';
18
+ }
19
+ render() {
20
+ const Tag = this.as;
21
+ return (h(Tag, { key: '778a86a185f2416dec867ca2457acb2fe1ad4bcb', class: {
22
+ 'text': true,
23
+ [`variant-${this.variant}`]: true,
24
+ [`align-${this.align}`]: true
25
+ }, part: "base" }, h("slot", { key: '2b3ee364c989ca8d233583946e24665df0192fb9' })));
26
+ }
27
+ static get style() { return afTextCss; }
28
+ }, [257, "af-text", {
29
+ "variant": [1],
30
+ "align": [1],
31
+ "as": [1]
32
+ }]);
33
+ function defineCustomElement() {
34
+ if (typeof customElements === "undefined") {
35
+ return;
36
+ }
37
+ const components = ["af-text"];
38
+ components.forEach(tagName => { switch (tagName) {
39
+ case "af-text":
40
+ if (!customElements.get(tagName)) {
41
+ customElements.define(tagName, AfText);
42
+ }
43
+ break;
44
+ } });
45
+ }
46
+
47
+ export { AfText as A, defineCustomElement as d };
48
+ //# sourceMappingURL=p-BZ5_l5Q-.js.map
49
+
50
+ //# sourceMappingURL=p-BZ5_l5Q-.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-BZ5_l5Q-.js","mappings":";;AAAA,MAAM,SAAS,GAAG,osBAAosB;;MCOzsB,MAAM,iBAAAA,kBAAA,CAAA,MAAA,MAAA,SAAAC,CAAA,CAAA;AALnB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;;AAOU,QAAA,IAAO,CAAA,OAAA,GAA2E,QAAQ;;AAG1F,QAAA,IAAK,CAAA,KAAA,GAAgC,MAAM;;AAG3C,QAAA,IAAE,CAAA,EAAA,GAAmC,GAAG;AAkBjD;IAhBC,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,EAAS;QAE1B,QACE,CAAA,CAAC,GAAG,EAAA,EAAA,GAAA,EAAA,0CAAA,EACF,KAAK,EAAE;AACL,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;AACjC,gBAAA,CAAC,SAAS,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG;AAC1B,aAAA,EACD,IAAI,EAAC,MAAM,EAAA,EAEX,CAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACJ;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-text/af-text.css?tag=af-text&encapsulation=shadow","src/components/af-text/af-text.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.text {\n margin: 0;\n padding: 0;\n font-family: 'Helvetica', 'Inter', 'Segoe UI', system-ui, sans-serif;\n font-weight: 400;\n color: #14343b;\n letter-spacing: 0;\n}\n\n/* Alignment */\n.align-left {\n text-align: left;\n}\n\n.align-center {\n text-align: center;\n}\n\n.align-right {\n text-align: right;\n}\n\n/* Body variants */\n.variant-xlarge {\n font-size: 22px;\n line-height: 28px;\n}\n\n.variant-large {\n font-size: 18px;\n line-height: 26px;\n}\n\n.variant-medium {\n font-size: 16px;\n line-height: 24px;\n}\n\n.variant-small {\n font-size: 14px;\n line-height: 20px;\n}\n\n/* Label variants - use NeuSans Book */\n.variant-label-button {\n font-family: 'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;\n font-weight: 500;\n font-size: 17px;\n line-height: 20px;\n}\n\n.variant-label-tag {\n font-family: 'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;\n font-weight: 500;\n font-size: 14px;\n line-height: 1;\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'af-text',\n styleUrl: 'af-text.css',\n shadow: true\n})\nexport class AfText {\n /** Text variant */\n @Prop() variant: 'xlarge' | 'large' | 'medium' | 'small' | 'label-button' | 'label-tag' = 'medium';\n\n /** Visual alignment */\n @Prop() align: 'left' | 'center' | 'right' = 'left';\n\n /** Semantic element to render */\n @Prop() as: 'p' | 'span' | 'div' | 'label' = 'p';\n\n render() {\n const Tag = this.as as any;\n\n return (\n <Tag\n class={{\n 'text': true,\n [`variant-${this.variant}`]: true,\n [`align-${this.align}`]: true\n }}\n part=\"base\"\n >\n <slot />\n </Tag>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,102 @@
1
+ import { p as proxyCustomElement, H, h } from './p-TaHgCKVa.js';
2
+
3
+ const afAspectRatioCss = ":host{display:block;width:100%}.aspect-ratio-container{width:100%;position:relative;overflow:hidden}.aspect-ratio-container ::slotted(*){width:100%;height:100%;object-fit:cover}";
4
+
5
+ const AfAspectRatio = /*@__PURE__*/ proxyCustomElement(class AfAspectRatio extends H {
6
+ constructor(registerHost) {
7
+ super();
8
+ if (registerHost !== false) {
9
+ this.__registerHost();
10
+ }
11
+ this.__attachShadow();
12
+ /**
13
+ * The aspect ratio to maintain. Can be:
14
+ * - A predefined ratio: '1:1', '16:9', '4:3', 'golden-portrait', 'golden-landscape', 'a4-portrait', 'a4-landscape', 'letter-portrait', 'letter-landscape', etc.
15
+ * - A custom ratio in format 'width / height': '16 / 9', '4 / 3', '1.618 / 1', etc.
16
+ *
17
+ * @example
18
+ * <af-aspect-ratio ratio="16:9">Content</af-aspect-ratio>
19
+ * <af-aspect-ratio ratio="1.618 / 1">Content</af-aspect-ratio>
20
+ */
21
+ this.ratio = '1:1';
22
+ }
23
+ getRatioValue() {
24
+ // Map common ratio shortcuts to actual CSS aspect-ratio values
25
+ const ratioMap = {
26
+ // Common ratios
27
+ '1:1': '1 / 1',
28
+ '1:2': '1 / 2',
29
+ '2:1': '2 / 1',
30
+ '2:3': '2 / 3',
31
+ '3:1': '3 / 1',
32
+ '3:2': '3 / 2',
33
+ '3:4': '3 / 4',
34
+ '4:1': '4 / 1',
35
+ '4:3': '4 / 3',
36
+ '4:5': '4 / 5',
37
+ '5:2': '5 / 2',
38
+ '5:4': '5 / 4',
39
+ '8:3': '8 / 3',
40
+ '8:5': '8 / 5',
41
+ // Screen ratios
42
+ '9:8': '9 / 8',
43
+ '9:16': '9 / 16',
44
+ '9:21': '9 / 21',
45
+ '10:16': '10 / 16',
46
+ '14:3': '14 / 3',
47
+ '16:5': '16 / 5',
48
+ '16:9': '16 / 9',
49
+ '16:10': '16 / 10',
50
+ '21:9': '21 / 9',
51
+ '32:9': '32 / 9',
52
+ // Golden ratio variants
53
+ 'golden-portrait': '1 / 1.618',
54
+ 'golden-landscape': '1.618 / 1',
55
+ 'golden-portrait-half': '1 / 0.809',
56
+ 'golden-landscape-half': '0.809 / 1',
57
+ // Paper sizes - A4
58
+ 'a4-portrait': '1 / 1.414',
59
+ 'a4-landscape': '1.414 / 1',
60
+ 'a4-portrait-half': '1 / 0.707',
61
+ 'a4-landscape-half': '0.707 / 1',
62
+ // Paper sizes - Letter
63
+ 'letter-portrait': '1 / 1.294',
64
+ 'letter-landscape': '1.294 / 1',
65
+ 'letter-portrait-half': '1 / 0.647',
66
+ 'letter-landscape-half': '0.647 / 1',
67
+ // Special
68
+ '6:7': '6 / 7'
69
+ };
70
+ // If it's a predefined ratio, return the mapped value
71
+ if (ratioMap[this.ratio]) {
72
+ return ratioMap[this.ratio];
73
+ }
74
+ // Otherwise, assume it's a custom ratio already in the correct format
75
+ return this.ratio;
76
+ }
77
+ render() {
78
+ const ratioValue = this.getRatioValue();
79
+ return (h("div", { key: '02bfa5463911ecd25903521e90a0570bb3bca0ad', class: "aspect-ratio-container", style: { aspectRatio: ratioValue } }, h("slot", { key: '9575c859052e8f1b1b362d9395fdfdf43d46b0b4' })));
80
+ }
81
+ static get style() { return afAspectRatioCss; }
82
+ }, [257, "af-aspect-ratio", {
83
+ "ratio": [1]
84
+ }]);
85
+ function defineCustomElement() {
86
+ if (typeof customElements === "undefined") {
87
+ return;
88
+ }
89
+ const components = ["af-aspect-ratio"];
90
+ components.forEach(tagName => { switch (tagName) {
91
+ case "af-aspect-ratio":
92
+ if (!customElements.get(tagName)) {
93
+ customElements.define(tagName, AfAspectRatio);
94
+ }
95
+ break;
96
+ } });
97
+ }
98
+
99
+ export { AfAspectRatio as A, defineCustomElement as d };
100
+ //# sourceMappingURL=p-CCPh8sLt.js.map
101
+
102
+ //# sourceMappingURL=p-CCPh8sLt.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-CCPh8sLt.js","mappings":";;AAAA,MAAM,gBAAgB,GAAG,mLAAmL;;MCW/L,aAAa,iBAAAA,kBAAA,CAAA,MAAA,aAAA,SAAAC,CAAA,CAAA;AAL1B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAME;;;;;;;;AAQG;AACK,QAAA,IAAK,CAAA,KAAA,GAAW,KAAK;AAuE9B;IArES,aAAa,GAAA;;AAEnB,QAAA,MAAM,QAAQ,GAA8B;;AAE1C,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;;AAEd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,MAAM,EAAE,QAAQ;;AAEhB,YAAA,iBAAiB,EAAE,WAAW;AAC9B,YAAA,kBAAkB,EAAE,WAAW;AAC/B,YAAA,sBAAsB,EAAE,WAAW;AACnC,YAAA,uBAAuB,EAAE,WAAW;;AAEpC,YAAA,aAAa,EAAE,WAAW;AAC1B,YAAA,cAAc,EAAE,WAAW;AAC3B,YAAA,kBAAkB,EAAE,WAAW;AAC/B,YAAA,mBAAmB,EAAE,WAAW;;AAEhC,YAAA,iBAAiB,EAAE,WAAW;AAC9B,YAAA,kBAAkB,EAAE,WAAW;AAC/B,YAAA,sBAAsB,EAAE,WAAW;AACnC,YAAA,uBAAuB,EAAE,WAAW;;AAEpC,YAAA,KAAK,EAAE;SACR;;AAGD,QAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACxB,YAAA,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;;;QAI7B,OAAO,IAAI,CAAC,KAAK;;IAGnB,MAAM,GAAA;AACJ,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE;AAEvC,QAAA,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,wBAAwB,EAC9B,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EAAA,EAElC,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-aspect-ratio/af-aspect-ratio.css?tag=af-aspect-ratio&encapsulation=shadow","src/components/af-aspect-ratio/af-aspect-ratio.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.aspect-ratio-container {\n width: 100%;\n position: relative;\n overflow: hidden;\n}\n\n/* Ensure slotted content fills the container */\n.aspect-ratio-container ::slotted(*) {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n/**\n * A container component that maintains a fixed aspect ratio for its content.\n * Useful for images, videos, or any content that needs to maintain specific proportions.\n */\n@Component({\n tag: 'af-aspect-ratio',\n styleUrl: 'af-aspect-ratio.css',\n shadow: true\n})\nexport class AfAspectRatio {\n /**\n * The aspect ratio to maintain. Can be:\n * - A predefined ratio: '1:1', '16:9', '4:3', 'golden-portrait', 'golden-landscape', 'a4-portrait', 'a4-landscape', 'letter-portrait', 'letter-landscape', etc.\n * - A custom ratio in format 'width / height': '16 / 9', '4 / 3', '1.618 / 1', etc.\n *\n * @example\n * <af-aspect-ratio ratio=\"16:9\">Content</af-aspect-ratio>\n * <af-aspect-ratio ratio=\"1.618 / 1\">Content</af-aspect-ratio>\n */\n @Prop() ratio: string = '1:1';\n\n private getRatioValue(): string {\n // Map common ratio shortcuts to actual CSS aspect-ratio values\n const ratioMap: { [key: string]: string } = {\n // Common ratios\n '1:1': '1 / 1',\n '1:2': '1 / 2',\n '2:1': '2 / 1',\n '2:3': '2 / 3',\n '3:1': '3 / 1',\n '3:2': '3 / 2',\n '3:4': '3 / 4',\n '4:1': '4 / 1',\n '4:3': '4 / 3',\n '4:5': '4 / 5',\n '5:2': '5 / 2',\n '5:4': '5 / 4',\n '8:3': '8 / 3',\n '8:5': '8 / 5',\n // Screen ratios\n '9:8': '9 / 8',\n '9:16': '9 / 16',\n '9:21': '9 / 21',\n '10:16': '10 / 16',\n '14:3': '14 / 3',\n '16:5': '16 / 5',\n '16:9': '16 / 9',\n '16:10': '16 / 10',\n '21:9': '21 / 9',\n '32:9': '32 / 9',\n // Golden ratio variants\n 'golden-portrait': '1 / 1.618',\n 'golden-landscape': '1.618 / 1',\n 'golden-portrait-half': '1 / 0.809',\n 'golden-landscape-half': '0.809 / 1',\n // Paper sizes - A4\n 'a4-portrait': '1 / 1.414',\n 'a4-landscape': '1.414 / 1',\n 'a4-portrait-half': '1 / 0.707',\n 'a4-landscape-half': '0.707 / 1',\n // Paper sizes - Letter\n 'letter-portrait': '1 / 1.294',\n 'letter-landscape': '1.294 / 1',\n 'letter-portrait-half': '1 / 0.647',\n 'letter-landscape-half': '0.647 / 1',\n // Special\n '6:7': '6 / 7'\n };\n\n // If it's a predefined ratio, return the mapped value\n if (ratioMap[this.ratio]) {\n return ratioMap[this.ratio];\n }\n\n // Otherwise, assume it's a custom ratio already in the correct format\n return this.ratio;\n }\n\n render() {\n const ratioValue = this.getRatioValue();\n\n return (\n <div\n class=\"aspect-ratio-container\"\n style={{ aspectRatio: ratioValue }}\n >\n <slot></slot>\n </div>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,59 @@
1
+ import { p as proxyCustomElement, H, h } from './p-TaHgCKVa.js';
2
+
3
+ const afHeadingCss = ":host{display:block}.heading{margin:0;padding:0;font-family:'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;font-weight:500;color:#14343b;letter-spacing:-0.02em}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.level-xl{font-size:50px;line-height:1}@media (min-width: 768px){.level-xl{font-size:80px}}.level-1{font-size:38px;line-height:1}@media (min-width: 768px){.level-1{font-size:56px}}.level-2{font-size:32px;line-height:1}@media (min-width: 768px){.level-2{font-size:44px}}.level-3{font-size:25px;line-height:1}@media (min-width: 768px){.level-3{font-size:34px}}.level-4{font-size:20px;line-height:1.1}@media (min-width: 768px){.level-4{font-size:24px;line-height:1.2}}.level-5{font-size:18px;line-height:1.1}@media (min-width: 768px){.level-5{font-size:20px;line-height:1.2}}";
4
+
5
+ const AfHeading = /*@__PURE__*/ proxyCustomElement(class AfHeading extends H {
6
+ constructor(registerHost) {
7
+ super();
8
+ if (registerHost !== false) {
9
+ this.__registerHost();
10
+ }
11
+ this.__attachShadow();
12
+ /** Heading level */
13
+ this.level = '1';
14
+ /** Visual alignment */
15
+ this.align = 'left';
16
+ }
17
+ getHeadingTag() {
18
+ // Map display levels to semantic HTML tags
19
+ const tagMap = {
20
+ 'xl': 'h1',
21
+ '1': 'h1',
22
+ '2': 'h2',
23
+ '3': 'h3',
24
+ '4': 'h4',
25
+ '5': 'h5'
26
+ };
27
+ return tagMap[this.level] || 'h1';
28
+ }
29
+ render() {
30
+ const Tag = this.getHeadingTag();
31
+ return (h(Tag, { key: '1d3f37c8d067c3c9d0ec7f10422478ab41c990b2', class: {
32
+ 'heading': true,
33
+ [`level-${this.level}`]: true,
34
+ [`align-${this.align}`]: true
35
+ }, part: "base" }, h("slot", { key: 'dcba9d00393f818cfceeb5eba5cc2bd874927dfd' })));
36
+ }
37
+ static get style() { return afHeadingCss; }
38
+ }, [257, "af-heading", {
39
+ "level": [1],
40
+ "align": [1]
41
+ }]);
42
+ function defineCustomElement() {
43
+ if (typeof customElements === "undefined") {
44
+ return;
45
+ }
46
+ const components = ["af-heading"];
47
+ components.forEach(tagName => { switch (tagName) {
48
+ case "af-heading":
49
+ if (!customElements.get(tagName)) {
50
+ customElements.define(tagName, AfHeading);
51
+ }
52
+ break;
53
+ } });
54
+ }
55
+
56
+ export { AfHeading as A, defineCustomElement as d };
57
+ //# sourceMappingURL=p-CbKdmUDd.js.map
58
+
59
+ //# sourceMappingURL=p-CbKdmUDd.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-CbKdmUDd.js","mappings":";;AAAA,MAAM,YAAY,GAAG,+zBAA+zB;;MCOv0B,SAAS,iBAAAA,kBAAA,CAAA,MAAA,SAAA,SAAAC,CAAA,CAAA;AALtB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;;AAOU,QAAA,IAAK,CAAA,KAAA,GAAuC,GAAG;;AAG/C,QAAA,IAAK,CAAA,KAAA,GAAgC,MAAM;AA+BpD;IA7BS,aAAa,GAAA;;AAEnB,QAAA,MAAM,MAAM,GAA2B;AACrC,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,GAAG,EAAE,IAAI;AACT,YAAA,GAAG,EAAE,IAAI;AACT,YAAA,GAAG,EAAE,IAAI;AACT,YAAA,GAAG,EAAE,IAAI;AACT,YAAA,GAAG,EAAE;SACN;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI;;IAGnC,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAS;QAEvC,QACE,CAAA,CAAC,GAAG,EAAA,EAAA,GAAA,EAAA,0CAAA,EACF,KAAK,EAAE;AACL,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,CAAC,SAAS,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG,IAAI;AAC7B,gBAAA,CAAC,SAAS,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG;AAC1B,aAAA,EACD,IAAI,EAAC,MAAM,EAAA,EAEX,CAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACJ;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-heading/af-heading.css?tag=af-heading&encapsulation=shadow","src/components/af-heading/af-heading.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.heading {\n margin: 0;\n padding: 0;\n font-family: 'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;\n font-weight: 500;\n color: #14343b;\n letter-spacing: -0.02em;\n}\n\n/* Alignment */\n.align-left {\n text-align: left;\n}\n\n.align-center {\n text-align: center;\n}\n\n.align-right {\n text-align: right;\n}\n\n/* Heading XL */\n.level-xl {\n font-size: 50px;\n line-height: 1;\n}\n\n@media (min-width: 768px) {\n .level-xl {\n font-size: 80px;\n }\n}\n\n/* Heading 1 */\n.level-1 {\n font-size: 38px;\n line-height: 1;\n}\n\n@media (min-width: 768px) {\n .level-1 {\n font-size: 56px;\n }\n}\n\n/* Heading 2 */\n.level-2 {\n font-size: 32px;\n line-height: 1;\n}\n\n@media (min-width: 768px) {\n .level-2 {\n font-size: 44px;\n }\n}\n\n/* Heading 3 */\n.level-3 {\n font-size: 25px;\n line-height: 1;\n}\n\n@media (min-width: 768px) {\n .level-3 {\n font-size: 34px;\n }\n}\n\n/* Heading 4 */\n.level-4 {\n font-size: 20px;\n line-height: 1.1;\n}\n\n@media (min-width: 768px) {\n .level-4 {\n font-size: 24px;\n line-height: 1.2;\n }\n}\n\n/* Heading 5 */\n.level-5 {\n font-size: 18px;\n line-height: 1.1;\n}\n\n@media (min-width: 768px) {\n .level-5 {\n font-size: 20px;\n line-height: 1.2;\n }\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'af-heading',\n styleUrl: 'af-heading.css',\n shadow: true\n})\nexport class AfHeading {\n /** Heading level */\n @Prop() level: 'xl' | '1' | '2' | '3' | '4' | '5' = '1';\n\n /** Visual alignment */\n @Prop() align: 'left' | 'center' | 'right' = 'left';\n\n private getHeadingTag() {\n // Map display levels to semantic HTML tags\n const tagMap: Record<string, string> = {\n 'xl': 'h1',\n '1': 'h1',\n '2': 'h2',\n '3': 'h3',\n '4': 'h4',\n '5': 'h5'\n };\n return tagMap[this.level] || 'h1';\n }\n\n render() {\n const Tag = this.getHeadingTag() as any;\n\n return (\n <Tag\n class={{\n 'heading': true,\n [`level-${this.level}`]: true,\n [`align-${this.align}`]: true\n }}\n part=\"base\"\n >\n <slot />\n </Tag>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,44 @@
1
+ import { p as proxyCustomElement, H, h } from './p-TaHgCKVa.js';
2
+
3
+ const afColorSwatchCss = ":host{display:block}.swatch{display:flex;flex-direction:column;border-radius:8px;overflow:hidden;border:1px solid #ece6f5;background:white}.color-preview{width:100%;height:120px;flex-shrink:0}.size-large .color-preview{height:140px}.color-info{padding:16px;display:flex;flex-direction:column;gap:4px}.color-name{font-family:'NeuSans', 'Inter', system-ui, sans-serif;font-size:16px;font-weight:500;color:#14343B}.color-value{font-family:'Helvetica', 'Inter', monospace, system-ui, sans-serif;font-size:14px;color:#708380}";
4
+
5
+ const AfColorSwatch = /*@__PURE__*/ proxyCustomElement(class AfColorSwatch extends H {
6
+ constructor(registerHost) {
7
+ super();
8
+ if (registerHost !== false) {
9
+ this.__registerHost();
10
+ }
11
+ this.__attachShadow();
12
+ /** Size variant */
13
+ this.size = 'default';
14
+ }
15
+ render() {
16
+ return (h("div", { key: '57a141b5af5c538c5cf842a61173dd391a91d59b', class: {
17
+ 'swatch': true,
18
+ [`size-${this.size}`]: true
19
+ }, part: "base" }, h("div", { key: '505252d9fbfb36df24f1907cd5a30278e55bf268', class: "color-preview", part: "preview", style: { backgroundColor: this.color } }), h("div", { key: '095621914872670c129c23825aa012bbba4e33bb', class: "color-info", part: "info" }, h("div", { key: '86b6164f0aed4a938a8faa210651bbc6746dd4f2', class: "color-name", part: "name" }, this.name), h("div", { key: '1d533780d3756b119ae36a6e8fa0c2b6b3acb7b4', class: "color-value", part: "value" }, this.color))));
20
+ }
21
+ static get style() { return afColorSwatchCss; }
22
+ }, [257, "af-color-swatch", {
23
+ "color": [1],
24
+ "name": [1],
25
+ "size": [1]
26
+ }]);
27
+ function defineCustomElement() {
28
+ if (typeof customElements === "undefined") {
29
+ return;
30
+ }
31
+ const components = ["af-color-swatch"];
32
+ components.forEach(tagName => { switch (tagName) {
33
+ case "af-color-swatch":
34
+ if (!customElements.get(tagName)) {
35
+ customElements.define(tagName, AfColorSwatch);
36
+ }
37
+ break;
38
+ } });
39
+ }
40
+
41
+ export { AfColorSwatch as A, defineCustomElement as d };
42
+ //# sourceMappingURL=p-Ck_3oNdO.js.map
43
+
44
+ //# sourceMappingURL=p-Ck_3oNdO.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-Ck_3oNdO.js","mappings":";;AAAA,MAAM,gBAAgB,GAAG,0gBAA0gB;;MCOthB,aAAa,iBAAAA,kBAAA,CAAA,MAAA,aAAA,SAAAC,CAAA,CAAA;AAL1B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;;AAaU,QAAA,IAAI,CAAA,IAAA,GAAwB,SAAS;AAoB9C;IAlBC,MAAM,GAAA;QACJ,QACE,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE;AACV,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG;aACxB,EAAE,IAAI,EAAC,MAAM,EAAA,EACZ,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,eAAe,EACrB,IAAI,EAAC,SAAS,EACd,KAAK,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE,EACjC,CAAA,EACP,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,MAAM,EAAA,EACjC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,MAAM,EAAE,EAAA,IAAI,CAAC,IAAI,CAAO,EACrD,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,OAAO,EAAE,EAAA,IAAI,CAAC,KAAK,CAAO,CACpD,CACF;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-color-swatch/af-color-swatch.css?tag=af-color-swatch&encapsulation=shadow","src/components/af-color-swatch/af-color-swatch.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.swatch {\n display: flex;\n flex-direction: column;\n border-radius: 8px;\n overflow: hidden;\n border: 1px solid #ece6f5;\n background: white;\n}\n\n.color-preview {\n width: 100%;\n height: 120px;\n flex-shrink: 0;\n}\n\n.size-large .color-preview {\n height: 140px;\n}\n\n.color-info {\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.color-name {\n font-family: 'NeuSans', 'Inter', system-ui, sans-serif;\n font-size: 16px;\n font-weight: 500;\n color: #14343B;\n}\n\n.color-value {\n font-family: 'Helvetica', 'Inter', monospace, system-ui, sans-serif;\n font-size: 14px;\n color: #708380;\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'af-color-swatch',\n styleUrl: 'af-color-swatch.css',\n shadow: true\n})\nexport class AfColorSwatch {\n /** Color value (hex) */\n @Prop() color!: string;\n\n /** Color name */\n @Prop() name!: string;\n\n /** Size variant */\n @Prop() size: 'default' | 'large' = 'default';\n\n render() {\n return (\n <div class={{\n 'swatch': true,\n [`size-${this.size}`]: true\n }} part=\"base\">\n <div\n class=\"color-preview\"\n part=\"preview\"\n style={{ backgroundColor: this.color }}\n ></div>\n <div class=\"color-info\" part=\"info\">\n <div class=\"color-name\" part=\"name\">{this.name}</div>\n <div class=\"color-value\" part=\"value\">{this.color}</div>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,45 @@
1
+ import { p as proxyCustomElement, H, h } from './p-TaHgCKVa.js';
2
+
3
+ const afContainerCss = ":host{display:block;width:100%}.container{width:100%;margin-left:auto;margin-right:auto;box-sizing:border-box;padding-left:16px;padding-right:16px}@media (min-width: 375px){.container{padding-left:20px;padding-right:20px}}@media (min-width: 768px){.container{padding-left:32px;padding-right:32px}.max-width-medium{max-width:768px}}@media (min-width: 1024px){.container{padding-left:64px;padding-right:64px}.max-width-large{max-width:1024px}.max-width-medium{max-width:768px}}@media (min-width: 1440px){.container{padding-left:80px;padding-right:80px}.max-width-xlarge{max-width:1440px}.max-width-large{max-width:1024px}.max-width-medium{max-width:768px}}.max-width-fluid{max-width:none}";
4
+
5
+ const AfContainer = /*@__PURE__*/ proxyCustomElement(class AfContainer extends H {
6
+ constructor(registerHost) {
7
+ super();
8
+ if (registerHost !== false) {
9
+ this.__registerHost();
10
+ }
11
+ this.__attachShadow();
12
+ /**
13
+ * Maximum width constraint for the container
14
+ * - 'xlarge': 1440px container (default)
15
+ * - 'large': 1024px container
16
+ * - 'medium': 768px container
17
+ * - 'fluid': No max-width constraint, full width with margins
18
+ */
19
+ this.maxWidth = 'xlarge';
20
+ }
21
+ render() {
22
+ return (h("div", { key: '4a40fad6df79915adeb7273a7c71ed26b327ff8f', class: `container max-width-${this.maxWidth}` }, h("slot", { key: 'a1759c05860511cdb6b916e44925df7f7a80bcf1' })));
23
+ }
24
+ static get style() { return afContainerCss; }
25
+ }, [257, "af-container", {
26
+ "maxWidth": [1, "max-width"]
27
+ }]);
28
+ function defineCustomElement() {
29
+ if (typeof customElements === "undefined") {
30
+ return;
31
+ }
32
+ const components = ["af-container"];
33
+ components.forEach(tagName => { switch (tagName) {
34
+ case "af-container":
35
+ if (!customElements.get(tagName)) {
36
+ customElements.define(tagName, AfContainer);
37
+ }
38
+ break;
39
+ } });
40
+ }
41
+
42
+ export { AfContainer as A, defineCustomElement as d };
43
+ //# sourceMappingURL=p-DbZX-luM.js.map
44
+
45
+ //# sourceMappingURL=p-DbZX-luM.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-DbZX-luM.js","mappings":";;AAAA,MAAM,cAAc,GAAG,grBAAgrB;;MCW1rB,WAAW,iBAAAA,kBAAA,CAAA,MAAA,WAAA,SAAAC,CAAA,CAAA;AALxB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAME;;;;;;AAMG;AACK,QAAA,IAAQ,CAAA,QAAA,GAA4C,QAAQ;AASrE;IAPC,MAAM,GAAA;AACJ,QAAA,QACE,4DAAK,KAAK,EAAE,uBAAuB,IAAI,CAAC,QAAQ,CAAA,CAAE,EAAA,EAChD,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-container/af-container.css?tag=af-container&encapsulation=shadow","src/components/af-container/af-container.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.container {\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n box-sizing: border-box;\n\n /* Mobile first: xsmall breakpoint (320px) */\n padding-left: 16px;\n padding-right: 16px;\n}\n\n/* Small breakpoint (375px) */\n@media (min-width: 375px) {\n .container {\n padding-left: 20px;\n padding-right: 20px;\n }\n}\n\n/* Medium breakpoint (768px) */\n@media (min-width: 768px) {\n .container {\n padding-left: 32px;\n padding-right: 32px;\n }\n\n .max-width-medium {\n max-width: 768px;\n }\n}\n\n/* Large breakpoint (1024px) */\n@media (min-width: 1024px) {\n .container {\n padding-left: 64px;\n padding-right: 64px;\n }\n\n .max-width-large {\n max-width: 1024px;\n }\n\n .max-width-medium {\n max-width: 768px;\n }\n}\n\n/* XLarge breakpoint (1440px) */\n@media (min-width: 1440px) {\n .container {\n padding-left: 80px;\n padding-right: 80px;\n }\n\n .max-width-xlarge {\n max-width: 1440px;\n }\n\n .max-width-large {\n max-width: 1024px;\n }\n\n .max-width-medium {\n max-width: 768px;\n }\n}\n\n/* Fluid has no max-width */\n.max-width-fluid {\n max-width: none;\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n/**\n * A responsive container component that provides consistent margins and max-width\n * constraints based on the Affinda grid system.\n */\n@Component({\n tag: 'af-container',\n styleUrl: 'af-container.css',\n shadow: true\n})\nexport class AfContainer {\n /**\n * Maximum width constraint for the container\n * - 'xlarge': 1440px container (default)\n * - 'large': 1024px container\n * - 'medium': 768px container\n * - 'fluid': No max-width constraint, full width with margins\n */\n @Prop() maxWidth: 'xlarge' | 'large' | 'medium' | 'fluid' = 'xlarge';\n\n render() {\n return (\n <div class={`container max-width-${this.maxWidth}`}>\n <slot></slot>\n </div>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,66 @@
1
+ import { p as proxyCustomElement, H, h, c as Host } from './p-TaHgCKVa.js';
2
+
3
+ const afNavItemCss = ":host{display:inline-block}.nav-link{text-decoration:none;color:inherit;display:block}.nav-item{display:flex;align-items:center;gap:8px;box-sizing:border-box;cursor:pointer}.hierarchy-primary{padding:12px;justify-content:center}.hierarchy-primary .label-container{display:flex;align-items:center;justify-content:center;height:24px;gap:10px}.hierarchy-primary.variant-01{font-family:'NeuSans', 'Inter', system-ui, sans-serif;font-size:16px;font-weight:500;line-height:20px;color:#14343b}.hierarchy-primary.variant-02{font-family:'NeuSans', 'Inter', system-ui, sans-serif;font-size:16px;font-weight:400;line-height:20px;color:#2b484f}.hierarchy-primary:hover .label-container{border-bottom:1px solid currentColor}.hierarchy-primary.active .label-container{border-bottom:2px solid #8a7049}.hierarchy-secondary{padding:4px 0}.hierarchy-secondary .label-container{display:flex;align-items:center;flex:1;min-height:24px;gap:8px}.hierarchy-secondary.variant-01{font-family:'NeuSans', 'Inter', system-ui, sans-serif;font-size:14px;font-weight:500;line-height:20px;color:#14343b}.hierarchy-secondary.variant-02{font-family:'NeuSans', 'Inter', system-ui, sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#2b484f}.hierarchy-secondary:hover ::slotted(*){text-decoration:underline}@media (max-width: 767px){.hierarchy-primary{padding:20px 12px;border-bottom:1px solid #e8eeed;width:100%}.hierarchy-primary .label-container{flex:1;justify-content:flex-start}.hierarchy-primary.variant-01{font-size:20px;line-height:1.1;letter-spacing:-0.4px}.hierarchy-primary.variant-02{font-size:20px;line-height:1.1;letter-spacing:-0.4px;color:#60767b}}::slotted([slot=\"icon-left\"]),::slotted([slot=\"icon-right\"]){width:24px;height:24px;flex-shrink:0}.hierarchy-secondary ::slotted([slot=\"icon-right\"]){width:20px;height:20px}";
4
+
5
+ const AfNavItem = /*@__PURE__*/ proxyCustomElement(class AfNavItem extends H {
6
+ constructor(registerHost) {
7
+ super();
8
+ if (registerHost !== false) {
9
+ this.__registerHost();
10
+ }
11
+ this.__attachShadow();
12
+ /**
13
+ * Visual hierarchy level of the navigation item
14
+ * - 'primary': Bold, main navigation (larger text, prominent styling)
15
+ * - 'secondary': Lighter, sub-navigation (smaller text, subtle styling)
16
+ */
17
+ this.hierarchy = 'primary';
18
+ /**
19
+ * Visual variant within the hierarchy level
20
+ * - '01': Darker/more prominent styling
21
+ * - '02': Lighter/more subtle styling
22
+ */
23
+ this.variant = '01';
24
+ /**
25
+ * Whether this nav item is currently active/selected
26
+ */
27
+ this.active = false;
28
+ }
29
+ render() {
30
+ const classes = {
31
+ 'nav-item': true,
32
+ [`hierarchy-${this.hierarchy}`]: true,
33
+ [`variant-${this.variant}`]: true,
34
+ 'active': this.active
35
+ };
36
+ const content = (h("div", { class: classes }, h("slot", { name: "icon-left" }), h("div", { class: "label-container" }, h("slot", null)), h("slot", { name: "icon-right" })));
37
+ if (this.href) {
38
+ return (h(Host, null, h("a", { href: this.href, class: "nav-link" }, content)));
39
+ }
40
+ return h(Host, null, content);
41
+ }
42
+ static get style() { return afNavItemCss; }
43
+ }, [257, "af-nav-item", {
44
+ "hierarchy": [1],
45
+ "variant": [1],
46
+ "href": [1],
47
+ "active": [4]
48
+ }]);
49
+ function defineCustomElement() {
50
+ if (typeof customElements === "undefined") {
51
+ return;
52
+ }
53
+ const components = ["af-nav-item"];
54
+ components.forEach(tagName => { switch (tagName) {
55
+ case "af-nav-item":
56
+ if (!customElements.get(tagName)) {
57
+ customElements.define(tagName, AfNavItem);
58
+ }
59
+ break;
60
+ } });
61
+ }
62
+
63
+ export { AfNavItem as A, defineCustomElement as d };
64
+ //# sourceMappingURL=p-Ntwn3krC.js.map
65
+
66
+ //# sourceMappingURL=p-Ntwn3krC.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-Ntwn3krC.js","mappings":";;AAAA,MAAM,YAAY,GAAG,8xDAA8xD;;MCWtyD,SAAS,iBAAAA,kBAAA,CAAA,MAAA,SAAA,SAAAC,CAAA,CAAA;AALtB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAME;;;;AAIG;AACK,QAAA,IAAS,CAAA,SAAA,GAA4B,SAAS;AAEtD;;;;AAIG;AACK,QAAA,IAAO,CAAA,OAAA,GAAgB,IAAI;AAOnC;;AAEG;AACK,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK;AAgChC;IA9BC,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,CAAC,aAAa,IAAI,CAAC,SAAS,CAAE,CAAA,GAAG,IAAI;AACrC,YAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;YACjC,QAAQ,EAAE,IAAI,CAAC;SAChB;QAED,MAAM,OAAO,IACX,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,OAAO,EAAA,EACjB,CAAM,CAAA,MAAA,EAAA,EAAA,IAAI,EAAC,WAAW,EAAQ,CAAA,EAC9B,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,iBAAiB,EAAA,EAC1B,CAAA,CAAA,MAAA,EAAA,IAAA,CAAa,CACT,EACN,CAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,YAAY,EAAQ,CAAA,CAC3B,CACP;AAED,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAA,CAAA,GAAA,EAAA,EAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAC,UAAU,EACjC,EAAA,OAAO,CACN,CACC;;QAIX,OAAO,CAAC,CAAA,IAAI,EAAE,IAAA,EAAA,OAAO,CAAQ;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-nav-item/af-nav-item.css?tag=af-nav-item&encapsulation=shadow","src/components/af-nav-item/af-nav-item.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n.nav-link {\n text-decoration: none;\n color: inherit;\n display: block;\n}\n\n.nav-item {\n display: flex;\n align-items: center;\n gap: 8px;\n box-sizing: border-box;\n cursor: pointer;\n}\n\n/* Primary hierarchy - bold main navigation */\n.hierarchy-primary {\n padding: 12px;\n justify-content: center;\n}\n\n.hierarchy-primary .label-container {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n gap: 10px;\n}\n\n/* Primary variant 01 - darker */\n.hierarchy-primary.variant-01 {\n font-family: 'NeuSans', 'Inter', system-ui, sans-serif;\n font-size: 16px;\n font-weight: 500;\n line-height: 20px;\n color: #14343b;\n}\n\n/* Primary variant 02 - lighter */\n.hierarchy-primary.variant-02 {\n font-family: 'NeuSans', 'Inter', system-ui, sans-serif;\n font-size: 16px;\n font-weight: 400;\n line-height: 20px;\n color: #2b484f;\n}\n\n/* Hover state for primary - underline */\n.hierarchy-primary:hover .label-container {\n border-bottom: 1px solid currentColor;\n}\n\n/* Active state for primary - thicker border */\n.hierarchy-primary.active .label-container {\n border-bottom: 2px solid #8a7049;\n}\n\n/* Secondary hierarchy - smaller sub-navigation */\n.hierarchy-secondary {\n padding: 4px 0;\n}\n\n.hierarchy-secondary .label-container {\n display: flex;\n align-items: center;\n flex: 1;\n min-height: 24px;\n gap: 8px;\n}\n\n/* Secondary variant 01 - medium weight */\n.hierarchy-secondary.variant-01 {\n font-family: 'NeuSans', 'Inter', system-ui, sans-serif;\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n color: #14343b;\n}\n\n/* Secondary variant 02 - regular weight */\n.hierarchy-secondary.variant-02 {\n font-family: 'NeuSans', 'Inter', system-ui, sans-serif;\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n color: #2b484f;\n}\n\n/* Hover state for secondary - underline text */\n.hierarchy-secondary:hover ::slotted(*) {\n text-decoration: underline;\n}\n\n/* Mobile styles */\n@media (max-width: 767px) {\n .hierarchy-primary {\n padding: 20px 12px;\n border-bottom: 1px solid #e8eeed;\n width: 100%;\n }\n\n .hierarchy-primary .label-container {\n flex: 1;\n justify-content: flex-start;\n }\n\n .hierarchy-primary.variant-01 {\n font-size: 20px;\n line-height: 1.1;\n letter-spacing: -0.4px;\n }\n\n .hierarchy-primary.variant-02 {\n font-size: 20px;\n line-height: 1.1;\n letter-spacing: -0.4px;\n color: #60767b;\n }\n}\n\n/* Icon sizing */\n::slotted([slot=\"icon-left\"]),\n::slotted([slot=\"icon-right\"]) {\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n}\n\n.hierarchy-secondary ::slotted([slot=\"icon-right\"]) {\n width: 20px;\n height: 20px;\n}\n","import { Component, h, Prop, Host } from '@stencil/core';\n\n/**\n * A generic navigation item component that can be used in navigation bars, menus, and sidebars.\n * Supports multiple hierarchy levels, variants, and states (active, hover).\n */\n@Component({\n tag: 'af-nav-item',\n styleUrl: 'af-nav-item.css',\n shadow: true\n})\nexport class AfNavItem {\n /**\n * Visual hierarchy level of the navigation item\n * - 'primary': Bold, main navigation (larger text, prominent styling)\n * - 'secondary': Lighter, sub-navigation (smaller text, subtle styling)\n */\n @Prop() hierarchy: 'primary' | 'secondary' = 'primary';\n\n /**\n * Visual variant within the hierarchy level\n * - '01': Darker/more prominent styling\n * - '02': Lighter/more subtle styling\n */\n @Prop() variant: '01' | '02' = '01';\n\n /**\n * URL to navigate to when clicked\n */\n @Prop() href?: string;\n\n /**\n * Whether this nav item is currently active/selected\n */\n @Prop() active: boolean = false;\n\n render() {\n const classes = {\n 'nav-item': true,\n [`hierarchy-${this.hierarchy}`]: true,\n [`variant-${this.variant}`]: true,\n 'active': this.active\n };\n\n const content = (\n <div class={classes}>\n <slot name=\"icon-left\"></slot>\n <div class=\"label-container\">\n <slot></slot>\n </div>\n <slot name=\"icon-right\"></slot>\n </div>\n );\n\n if (this.href) {\n return (\n <Host>\n <a href={this.href} class=\"nav-link\">\n {content}\n </a>\n </Host>\n );\n }\n\n return <Host>{content}</Host>;\n }\n}\n"],"version":3}