@affinda/wc 0.0.1 → 0.0.3

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 (227) hide show
  1. package/dist/affinda/af-aspect-ratio.entry.esm.js.map +1 -0
  2. package/dist/affinda/af-button-group.entry.esm.js.map +1 -0
  3. package/dist/affinda/af-button.entry.esm.js.map +1 -0
  4. package/dist/affinda/af-color-swatch.entry.esm.js.map +1 -0
  5. package/dist/affinda/af-container.entry.esm.js.map +1 -0
  6. package/dist/affinda/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.esm.js.map +1 -0
  7. package/dist/affinda/af-icon-button.entry.esm.js.map +1 -0
  8. package/dist/affinda/af-typography-lockup.entry.esm.js.map +1 -0
  9. package/dist/affinda/affinda.css +1 -1
  10. package/dist/affinda/affinda.esm.js +1 -1
  11. package/dist/affinda/index.esm.js +1 -1
  12. package/dist/affinda/index.esm.js.map +1 -1
  13. package/dist/affinda/p-540af9d9.entry.js +2 -0
  14. package/dist/affinda/p-540af9d9.entry.js.map +1 -0
  15. package/dist/affinda/p-619bc077.entry.js +2 -0
  16. package/dist/affinda/p-619bc077.entry.js.map +1 -0
  17. package/dist/affinda/p-6b07f590.entry.js +2 -0
  18. package/dist/affinda/p-6b07f590.entry.js.map +1 -0
  19. package/dist/affinda/p-8d3b4917.entry.js +2 -0
  20. package/dist/affinda/p-8d3b4917.entry.js.map +1 -0
  21. package/dist/affinda/p-9d0e6ed1.entry.js +2 -0
  22. package/dist/affinda/p-9d0e6ed1.entry.js.map +1 -0
  23. package/dist/affinda/p-DxVtR6vj.js +3 -0
  24. package/dist/affinda/p-DxVtR6vj.js.map +1 -0
  25. package/dist/affinda/p-afbe9cb3.entry.js +2 -0
  26. package/dist/affinda/p-afbe9cb3.entry.js.map +1 -0
  27. package/dist/affinda/p-cbb06a14.entry.js +2 -0
  28. package/dist/affinda/p-cbb06a14.entry.js.map +1 -0
  29. package/dist/affinda/p-e274e11a.entry.js +2 -0
  30. package/dist/affinda/p-e274e11a.entry.js.map +1 -0
  31. package/dist/cjs/af-aspect-ratio.cjs.entry.js +83 -0
  32. package/dist/cjs/af-aspect-ratio.entry.cjs.js.map +1 -0
  33. package/dist/cjs/af-button-group.cjs.entry.js +30 -0
  34. package/dist/cjs/af-button-group.entry.cjs.js.map +1 -0
  35. package/dist/cjs/af-button.cjs.entry.js +48 -0
  36. package/dist/cjs/af-button.entry.cjs.js.map +1 -0
  37. package/dist/cjs/af-color-swatch.cjs.entry.js +23 -0
  38. package/dist/cjs/af-color-swatch.entry.cjs.js.map +1 -0
  39. package/dist/cjs/af-container.cjs.entry.js +26 -0
  40. package/dist/cjs/af-container.entry.cjs.js.map +1 -0
  41. package/dist/cjs/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js.map +1 -0
  42. package/dist/cjs/af-heading_5.cjs.entry.js +128 -0
  43. package/dist/cjs/af-icon-button.cjs.entry.js +44 -0
  44. package/dist/cjs/af-icon-button.entry.cjs.js.map +1 -0
  45. package/dist/cjs/af-typography-lockup.cjs.entry.js +45 -0
  46. package/dist/cjs/af-typography-lockup.entry.cjs.js.map +1 -0
  47. package/dist/cjs/affinda.cjs.js +2 -2
  48. package/dist/cjs/{index-5BGpYleS.js → index-E2jkaTPt.js} +92 -61
  49. package/dist/cjs/index-E2jkaTPt.js.map +1 -0
  50. package/dist/cjs/index.cjs.js +24 -136
  51. package/dist/cjs/index.cjs.js.map +1 -1
  52. package/dist/cjs/loader.cjs.js +2 -2
  53. package/dist/collection/collection-manifest.json +10 -3
  54. package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.css +17 -0
  55. package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.js +117 -0
  56. package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.js.map +1 -0
  57. package/dist/collection/components/af-button/af-button.css +151 -42
  58. package/dist/collection/components/af-button/af-button.js +62 -57
  59. package/dist/collection/components/af-button/af-button.js.map +1 -1
  60. package/dist/collection/components/af-button-group/af-button-group.css +22 -0
  61. package/dist/collection/components/af-button-group/af-button-group.js +77 -0
  62. package/dist/collection/components/af-button-group/af-button-group.js.map +1 -0
  63. package/dist/collection/components/af-color-swatch/af-color-swatch.css +42 -0
  64. package/dist/collection/components/af-color-swatch/af-color-swatch.js +88 -0
  65. package/dist/collection/components/af-color-swatch/af-color-swatch.js.map +1 -0
  66. package/dist/collection/components/af-container/af-container.css +76 -0
  67. package/dist/collection/components/af-container/af-container.js +57 -0
  68. package/dist/collection/components/af-container/af-container.js.map +1 -0
  69. package/dist/collection/components/af-heading/af-heading.css +99 -0
  70. package/dist/collection/components/af-heading/af-heading.js +86 -0
  71. package/dist/collection/components/af-heading/af-heading.js.map +1 -0
  72. package/dist/collection/components/af-icon-button/af-icon-button.css +140 -41
  73. package/dist/collection/components/af-icon-button/af-icon-button.js +81 -57
  74. package/dist/collection/components/af-icon-button/af-icon-button.js.map +1 -1
  75. package/dist/collection/components/af-logo/af-logo.css +10 -0
  76. package/dist/collection/components/af-logo/af-logo.js +22 -0
  77. package/dist/collection/components/af-logo/af-logo.js.map +1 -0
  78. package/dist/collection/components/af-nav-item/af-nav-item.css +146 -0
  79. package/dist/collection/components/af-nav-item/af-nav-item.js +134 -0
  80. package/dist/collection/components/af-nav-item/af-nav-item.js.map +1 -0
  81. package/dist/collection/components/af-navbar/af-navbar.css +119 -0
  82. package/dist/collection/components/af-navbar/af-navbar.js +23 -0
  83. package/dist/collection/components/af-navbar/af-navbar.js.map +1 -0
  84. package/dist/collection/components/af-text/af-text.css +61 -0
  85. package/dist/collection/components/af-text/af-text.js +96 -0
  86. package/dist/collection/components/af-text/af-text.js.map +1 -0
  87. package/dist/collection/components/af-typography-lockup/af-typography-lockup.css +168 -0
  88. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +151 -0
  89. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js.map +1 -0
  90. package/dist/collection/components.js +10 -3
  91. package/dist/collection/components.js.map +1 -1
  92. package/dist/components/af-aspect-ratio.d.ts +11 -0
  93. package/dist/components/af-aspect-ratio.js +9 -0
  94. package/dist/components/af-aspect-ratio.js.map +1 -0
  95. package/dist/components/af-button-group.d.ts +11 -0
  96. package/dist/components/af-button-group.js +9 -0
  97. package/dist/components/af-button-group.js.map +1 -0
  98. package/dist/components/af-button.js +1 -1
  99. package/dist/components/af-color-swatch.d.ts +11 -0
  100. package/dist/components/af-color-swatch.js +9 -0
  101. package/dist/components/af-color-swatch.js.map +1 -0
  102. package/dist/components/af-container.d.ts +11 -0
  103. package/dist/components/af-container.js +9 -0
  104. package/dist/components/af-container.js.map +1 -0
  105. package/dist/components/af-heading.d.ts +11 -0
  106. package/dist/components/af-heading.js +9 -0
  107. package/dist/components/af-heading.js.map +1 -0
  108. package/dist/components/af-icon-button.js +1 -1
  109. package/dist/components/{af-card.d.ts → af-logo.d.ts} +4 -4
  110. package/dist/components/af-logo.js +9 -0
  111. package/dist/components/af-logo.js.map +1 -0
  112. package/dist/components/af-nav-item.d.ts +11 -0
  113. package/dist/components/af-nav-item.js +9 -0
  114. package/dist/components/af-nav-item.js.map +1 -0
  115. package/dist/components/{af-badge.d.ts → af-navbar.d.ts} +4 -4
  116. package/dist/components/af-navbar.js +9 -0
  117. package/dist/components/af-navbar.js.map +1 -0
  118. package/dist/components/{af-input.d.ts → af-text.d.ts} +4 -4
  119. package/dist/components/af-text.js +9 -0
  120. package/dist/components/af-text.js.map +1 -0
  121. package/dist/components/af-typography-lockup.d.ts +11 -0
  122. package/dist/components/af-typography-lockup.js +9 -0
  123. package/dist/components/af-typography-lockup.js.map +1 -0
  124. package/dist/components/index.js +13 -6
  125. package/dist/components/index.js.map +1 -1
  126. package/dist/components/p-B17zxKkI.js +35 -0
  127. package/dist/components/p-B17zxKkI.js.map +1 -0
  128. package/dist/components/p-BJDmHNDi.js +59 -0
  129. package/dist/components/p-BJDmHNDi.js.map +1 -0
  130. package/dist/components/p-BfmeW04T.js +50 -0
  131. package/dist/components/p-BfmeW04T.js.map +1 -0
  132. package/dist/components/p-BoU5qaPt.js +68 -0
  133. package/dist/components/p-BoU5qaPt.js.map +1 -0
  134. package/dist/components/p-CT_9_xN3.js +50 -0
  135. package/dist/components/p-CT_9_xN3.js.map +1 -0
  136. package/dist/components/{p-DOtgsZRB.js → p-CzaQ1fCu.js} +92 -65
  137. package/dist/components/p-CzaQ1fCu.js.map +1 -0
  138. package/dist/components/p-DG7Mtz0G.js +66 -0
  139. package/dist/components/p-DG7Mtz0G.js.map +1 -0
  140. package/dist/components/p-DcFGu6up.js +68 -0
  141. package/dist/components/p-DcFGu6up.js.map +1 -0
  142. package/dist/components/p-DfIqdEs7.js +45 -0
  143. package/dist/components/p-DfIqdEs7.js.map +1 -0
  144. package/dist/components/p-DqIqR4VU.js +102 -0
  145. package/dist/components/p-DqIqR4VU.js.map +1 -0
  146. package/dist/components/p-LEksuu7O.js +44 -0
  147. package/dist/components/p-LEksuu7O.js.map +1 -0
  148. package/dist/components/p-uhOM63Ux.js +71 -0
  149. package/dist/components/p-uhOM63Ux.js.map +1 -0
  150. package/dist/components/p-zBrKMKWE.js +35 -0
  151. package/dist/components/p-zBrKMKWE.js.map +1 -0
  152. package/dist/esm/af-aspect-ratio.entry.js +81 -0
  153. package/dist/esm/af-aspect-ratio.entry.js.map +1 -0
  154. package/dist/esm/af-button-group.entry.js +28 -0
  155. package/dist/esm/af-button-group.entry.js.map +1 -0
  156. package/dist/esm/af-button.entry.js +46 -0
  157. package/dist/esm/af-button.entry.js.map +1 -0
  158. package/dist/esm/af-color-swatch.entry.js +21 -0
  159. package/dist/esm/af-color-swatch.entry.js.map +1 -0
  160. package/dist/esm/af-container.entry.js +24 -0
  161. package/dist/esm/af-container.entry.js.map +1 -0
  162. package/dist/esm/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js.map +1 -0
  163. package/dist/esm/af-heading_5.entry.js +122 -0
  164. package/dist/esm/af-icon-button.entry.js +42 -0
  165. package/dist/esm/af-icon-button.entry.js.map +1 -0
  166. package/dist/esm/af-typography-lockup.entry.js +43 -0
  167. package/dist/esm/af-typography-lockup.entry.js.map +1 -0
  168. package/dist/esm/affinda.js +3 -3
  169. package/dist/esm/{index-o0tfWqnY.js → index-DxVtR6vj.js} +92 -61
  170. package/dist/esm/index-DxVtR6vj.js.map +1 -0
  171. package/dist/esm/index.js +9 -132
  172. package/dist/esm/index.js.map +1 -1
  173. package/dist/esm/loader.js +3 -3
  174. package/dist/types/components/af-aspect-ratio/af-aspect-ratio.d.ts +18 -0
  175. package/dist/types/components/af-button/af-button.d.ts +19 -11
  176. package/dist/types/components/af-button-group/af-button-group.d.ts +11 -0
  177. package/dist/types/components/af-color-swatch/af-color-swatch.d.ts +9 -0
  178. package/dist/types/components/af-container/af-container.d.ts +15 -0
  179. package/dist/types/components/af-heading/af-heading.d.ts +8 -0
  180. package/dist/types/components/af-icon-button/af-icon-button.d.ts +23 -11
  181. package/dist/types/components/af-logo/af-logo.d.ts +6 -0
  182. package/dist/types/components/af-nav-item/af-nav-item.d.ts +27 -0
  183. package/dist/types/components/af-navbar/af-navbar.d.ts +7 -0
  184. package/dist/types/components/af-text/af-text.d.ts +9 -0
  185. package/dist/types/components/af-typography-lockup/af-typography-lockup.d.ts +23 -0
  186. package/dist/types/components.d.ts +416 -163
  187. package/package.json +13 -13
  188. package/dist/affinda/af-badge.af-button.af-card.af-icon-button.af-input.entry.esm.js.map +0 -1
  189. package/dist/affinda/p-bca10492.entry.js +0 -2
  190. package/dist/affinda/p-bca10492.entry.js.map +0 -1
  191. package/dist/affinda/p-o0tfWqnY.js +0 -3
  192. package/dist/affinda/p-o0tfWqnY.js.map +0 -1
  193. package/dist/cjs/af-badge.af-button.af-card.af-icon-button.af-input.entry.cjs.js.map +0 -1
  194. package/dist/cjs/af-badge_5.cjs.entry.js +0 -13
  195. package/dist/cjs/index-5BGpYleS.js.map +0 -1
  196. package/dist/collection/components/af-badge/af-badge.css +0 -29
  197. package/dist/collection/components/af-badge/af-badge.js +0 -47
  198. package/dist/collection/components/af-badge/af-badge.js.map +0 -1
  199. package/dist/collection/components/af-card/af-card.css +0 -69
  200. package/dist/collection/components/af-card/af-card.js +0 -70
  201. package/dist/collection/components/af-card/af-card.js.map +0 -1
  202. package/dist/collection/components/af-input/af-input.css +0 -57
  203. package/dist/collection/components/af-input/af-input.js +0 -193
  204. package/dist/collection/components/af-input/af-input.js.map +0 -1
  205. package/dist/components/af-badge.js +0 -9
  206. package/dist/components/af-badge.js.map +0 -1
  207. package/dist/components/af-card.js +0 -9
  208. package/dist/components/af-card.js.map +0 -1
  209. package/dist/components/af-input.js +0 -9
  210. package/dist/components/af-input.js.map +0 -1
  211. package/dist/components/p-B7I93sz2.js +0 -39
  212. package/dist/components/p-B7I93sz2.js.map +0 -1
  213. package/dist/components/p-CZd1ieht.js +0 -62
  214. package/dist/components/p-CZd1ieht.js.map +0 -1
  215. package/dist/components/p-D6PwARU0.js +0 -59
  216. package/dist/components/p-D6PwARU0.js.map +0 -1
  217. package/dist/components/p-DOtgsZRB.js.map +0 -1
  218. package/dist/components/p-DZIXhvI0.js +0 -44
  219. package/dist/components/p-DZIXhvI0.js.map +0 -1
  220. package/dist/components/p-zIKPa48S.js +0 -62
  221. package/dist/components/p-zIKPa48S.js.map +0 -1
  222. package/dist/esm/af-badge.af-button.af-card.af-icon-button.af-input.entry.js.map +0 -1
  223. package/dist/esm/af-badge_5.entry.js +0 -3
  224. package/dist/esm/index-o0tfWqnY.js.map +0 -1
  225. package/dist/types/components/af-badge/af-badge.d.ts +0 -5
  226. package/dist/types/components/af-card/af-card.d.ts +0 -7
  227. package/dist/types/components/af-input/af-input.d.ts +0 -24
package/dist/esm/index.js CHANGED
@@ -1,133 +1,10 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-o0tfWqnY.js';
2
-
3
- const afButtonCss = ":host{display:inline-block}button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--af-space-2);font:var(--af-font-weight-semibold) var(--af-size-font-md) / 1 var(--af-font-family-sans);border-radius:var(--af-radius-md);padding:var(--af-space-2) var(--af-space-4);border:none;cursor:pointer;transition:transform 120ms ease, box-shadow 160ms ease;box-shadow:0 8px 20px rgba(124, 58, 237, 0.18)}button:is(:hover,:focus-visible){transform:translateY(-1px);box-shadow:0 12px 24px rgba(124, 58, 237, 0.24)}button:active{transform:translateY(0);box-shadow:0 6px 16px rgba(124, 58, 237, 0.16)}button:disabled{cursor:not-allowed;opacity:0.6;transform:none;box-shadow:none}button.variant-primary{background:linear-gradient(135deg, var(--af-color-brand-primary-500), var(--af-color-brand-primary-600));color:var(--af-color-fg-inverse)}button.variant-secondary{background:var(--af-color-bg-subtle);color:var(--af-color-fg-default);box-shadow:inset 0 0 0 1px rgba(18, 15, 31, 0.08)}button.variant-ghost{background:transparent;color:var(--af-color-brand-primary-500);box-shadow:inset 0 0 0 1px rgba(124, 58, 237, 0.3)}button.size-lg{padding:calc(var(--af-space-3)) calc(var(--af-space-4) + 4px);font-size:var(--af-size-font-lg)}button .spinner{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at center, rgba(255, 255, 255, 0.18), transparent 55%);opacity:0;transition:opacity 120ms ease}button.is-loading .spinner{opacity:1}button.is-loading .content{opacity:0.6}";
4
-
5
- const AfButton = class {
6
- constructor(hostRef) {
7
- registerInstance(this, hostRef);
8
- this.afClick = createEvent(this, "afClick");
9
- /** Visual style of the button */
10
- this.variant = 'primary';
11
- /** Size of the button */
12
- this.size = 'md';
13
- /** Disabled state */
14
- this.disabled = false;
15
- /** Loading state */
16
- this.loading = false;
17
- this.handleClick = (event) => {
18
- if (this.disabled || this.loading) {
19
- event.preventDefault();
20
- event.stopPropagation();
21
- return;
22
- }
23
- this.afClick.emit(event);
24
- };
25
- }
26
- render() {
27
- const classes = {
28
- [`variant-${this.variant}`]: true,
29
- [`size-${this.size}`]: true,
30
- 'is-loading': this.loading
31
- };
32
- return (h("button", { key: '11e06f0158591b7aaf60633fa12e91a2904d2f57', class: classes, part: "base", disabled: this.disabled || this.loading, onClick: this.handleClick }, h("span", { key: 'bdea09a13233b2e9c682e3c0a3d02fc8fe791668', class: "spinner", part: "spinner", "aria-hidden": !this.loading }), h("span", { key: '24a80ba696aecacda181203379345b28e741583c', class: "content", part: "label" }, h("slot", { key: 'bdd3731c9c98091503e1c87a7fe940bb72579d27' }))));
33
- }
34
- };
35
- AfButton.style = afButtonCss;
36
-
37
- const afBadgeCss = ":host{display:inline-block}span{display:inline-flex;align-items:center;justify-content:center;padding:2px var(--af-space-2);border-radius:var(--af-radius-pill);font:var(--af-font-weight-semibold) var(--af-size-font-sm) / 1 var(--af-font-family-sans);letter-spacing:0.02em;text-transform:uppercase}span.tone-brand{background:rgba(124, 58, 237, 0.12);color:var(--af-color-brand-primary-500)}span.tone-neutral{background:rgba(18, 15, 31, 0.1);color:var(--af-color-fg-default)}span.tone-success{background:rgba(16, 185, 129, 0.12);color:#0f766e}";
38
-
39
- const AfBadge = class {
40
- constructor(hostRef) {
41
- registerInstance(this, hostRef);
42
- /** Color theme of the badge */
43
- this.tone = 'brand';
44
- }
45
- render() {
46
- return (h("span", { key: '1f9d4015b429e012eade75e331c991d5c785482d', class: `tone-${this.tone}`, part: "base" }, h("slot", { key: 'b69b37a3e996c43cb16d04d829232d9539f45e06' })));
47
- }
48
- };
49
- AfBadge.style = afBadgeCss;
50
-
51
- const afIconButtonCss = ":host{display:inline-flex}button{--button-size-sm:36px;--button-size-md:44px;width:var(--button-size-md);height:var(--button-size-md);border-radius:50%;border:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--af-color-brand-primary-500);cursor:pointer;transition:transform 120ms ease, box-shadow 160ms ease, background-color 160ms ease;box-shadow:none}button.size-sm{width:var(--button-size-sm);height:var(--button-size-sm)}button:disabled{cursor:not-allowed;opacity:0.5;box-shadow:none}button.variant-solid{background:linear-gradient(135deg, var(--af-color-brand-primary-500), var(--af-color-brand-primary-600));color:var(--af-color-fg-inverse);box-shadow:0 10px 24px rgba(124, 58, 237, 0.24)}button.variant-soft{background:rgba(124, 58, 237, 0.14);color:var(--af-color-brand-primary-500)}button.variant-ghost{border:1px solid rgba(124, 58, 237, 0.4);background:transparent}button:is(:hover,:focus-visible){transform:translateY(-1px);box-shadow:0 14px 30px rgba(124, 58, 237, 0.28)}button:active{transform:translateY(0);box-shadow:0 8px 18px rgba(124, 58, 237, 0.2)}.icon{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em}:host([disabled]) button{transform:none;box-shadow:none}";
52
-
53
- const AfIconButton = class {
54
- constructor(hostRef) {
55
- registerInstance(this, hostRef);
56
- this.afClick = createEvent(this, "afClick");
57
- /** Visual style of the icon button */
58
- this.variant = 'solid';
59
- /** Size preset */
60
- this.size = 'md';
61
- /** Disabled state */
62
- this.disabled = false;
63
- this.onClick = (event) => {
64
- if (this.disabled) {
65
- event.preventDefault();
66
- event.stopPropagation();
67
- return;
68
- }
69
- this.afClick.emit(event);
70
- };
71
- }
72
- render() {
73
- const classes = {
74
- [`variant-${this.variant}`]: true,
75
- [`size-${this.size}`]: true
76
- };
77
- return (h("button", { key: '0f63eddac5f4dab95835506b896e437218aa50e1', type: "button", class: classes, part: "base", disabled: this.disabled, "aria-label": this.label, onClick: this.onClick }, h("span", { key: '6400064df3b666cbcc0a4a51523f1cd08dcbe81a', part: "icon", class: "icon" }, h("slot", { key: 'a74fff21c0a3af05da37b12e45db8ca8913bbdea' }))));
78
- }
79
- };
80
- AfIconButton.style = afIconButtonCss;
81
-
82
- const afCardCss = ":host{display:block}article{position:relative;border-radius:var(--af-radius-md);background:var(--af-color-bg-surface);color:var(--af-color-fg-default);padding:calc(var(--af-space-4) * 1.5);box-shadow:none;border:1px solid rgba(18, 15, 31, 0.06);transition:box-shadow 160ms ease, transform 160ms ease;display:block;overflow:hidden}article.variant-elevated{box-shadow:0 18px 36px rgba(47, 22, 94, 0.18);border:none}article:hover{transform:translateY(-2px);box-shadow:0 24px 44px rgba(47, 22, 94, 0.24)}.accent{position:absolute;inset:0;width:6px;left:0;right:auto;background:linear-gradient(180deg, var(--af-color-brand-primary-500), var(--af-color-brand-primary-600))}article.accent-brand .accent{background:linear-gradient(180deg, var(--af-color-brand-primary-500), var(--af-color-brand-primary-600))}article.accent-success .accent{background:linear-gradient(180deg, #22c55e, #16a34a)}article.accent-neutral .accent{background:rgba(18, 15, 31, 0.18)}.content{margin-left:12px;display:grid;gap:var(--af-space-3)}.header:empty,.footer:empty{display:none}.header ::slotted(*){font-size:1.125rem;font-weight:var(--af-font-weight-semibold)}.footer ::slotted(*){display:inline-flex;gap:var(--af-space-2);align-items:center}";
83
-
84
- const AfCard = class {
85
- constructor(hostRef) {
86
- registerInstance(this, hostRef);
87
- /** Visual style of the card */
88
- this.variant = 'surface';
89
- }
90
- render() {
91
- const classes = {
92
- [`variant-${this.variant}`]: true,
93
- [`accent-${this.accent}`]: Boolean(this.accent)
94
- };
95
- return (h("article", { key: '6341b7150eb902027923228343dd017fee6aef32', class: classes, part: "base" }, this.accent ? h("span", { class: "accent", part: "accent", "aria-hidden": "true" }) : null, h("div", { key: '06256637c0e9e3a150b59fbc6f73d5b2867729ad', class: "content", part: "content" }, h("header", { key: '8f8c893d528cece13d1e9de7115b490a5ed84c88', class: "header", part: "header" }, h("slot", { key: 'b404fcc38918bb952678d78c035e9e7ad6e797ef', name: "header" })), h("div", { key: '2028736e547446fe12469cf74aec97daf6e3f10a', class: "body", part: "body" }, h("slot", { key: 'a2110bc4cfa174e4514d572d7a9cd28652c7da9a' })), h("footer", { key: '221a8202625e2794846ff7d68af45f9046fcfe58', class: "footer", part: "footer" }, h("slot", { key: 'b20d0e41962dbe766116845e2ef20c68003be7a7', name: "footer" })))));
96
- }
97
- };
98
- AfCard.style = afCardCss;
99
-
100
- const afInputCss = ":host{display:block;font-family:var(--af-font-family-sans)}label{display:grid;gap:var(--af-space-2);color:var(--af-color-fg-default)}.label{font-size:0.95rem;font-weight:var(--af-font-weight-semibold)}.control{position:relative}input{width:100%;padding:calc(var(--af-space-2) + 2px) calc(var(--af-space-4) + 8px);border-radius:var(--af-radius-md);border:1px solid rgba(18, 15, 31, 0.18);background:rgba(255, 255, 255, 0.9);color:inherit;font:inherit;transition:border-color 160ms ease, box-shadow 160ms ease;box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.6)}input::placeholder{color:var(--af-color-fg-muted);opacity:0.8}input:focus-visible{outline:none;border-color:var(--af-color-brand-primary-500);box-shadow:0 0 0 4px rgba(124, 58, 237, 0.18)}label.disabled{opacity:0.55;cursor:not-allowed}input:disabled{background:rgba(241, 240, 247, 0.7);cursor:not-allowed}.description{font-size:0.825rem;color:var(--af-color-fg-muted)}";
101
-
102
- let inputIds = 0;
103
- const AfInput = class {
104
- constructor(hostRef) {
105
- registerInstance(this, hostRef);
106
- this.afInput = createEvent(this, "afInput");
107
- this.afChange = createEvent(this, "afChange");
108
- this.inputId = `af-input-${++inputIds}`;
109
- this.descriptionId = `${this.inputId}-desc`;
110
- /** Input type attribute */
111
- this.type = 'text';
112
- /** Current value (mutable so the component stays in sync) */
113
- this.value = '';
114
- /** Disabled state */
115
- this.disabled = false;
116
- this.handleInput = (event) => {
117
- const target = event.target;
118
- this.value = target.value;
119
- this.afInput.emit(this.value);
120
- };
121
- this.handleChange = () => {
122
- this.afChange.emit(this.value);
123
- };
124
- }
125
- render() {
126
- const describedBy = this.description ? this.descriptionId : undefined;
127
- return (h("label", { key: 'd14267dee125c07311c07bc31f0151448095dba6', part: "label", class: { disabled: this.disabled }, htmlFor: this.inputId }, this.label ? (h("span", { class: "label", part: "label-text" }, this.label)) : null, h("div", { key: 'd3b6428100e25c981650f5faa23df549d587ac10', class: "control" }, h("input", { key: '9e26981c32775b79ce9c3458a4890968fab04ef6', part: "field", id: this.inputId, type: this.type, placeholder: this.placeholder, value: this.value, disabled: this.disabled, "aria-describedby": describedBy, onInput: this.handleInput, onChange: this.handleChange })), this.description ? (h("p", { id: this.descriptionId, class: "description", part: "description" }, this.description)) : null));
128
- }
129
- };
130
- AfInput.style = afInputCss;
131
-
132
- export { AfBadge, AfButton, AfCard, AfIconButton, AfInput };
1
+ export { af_heading as AfHeading, af_logo as AfLogo, af_nav_item as AfNavItem, af_navbar as AfNavbar, af_text as AfText } from './af-heading_5.entry.js';
2
+ export { af_color_swatch as AfColorSwatch } from './af-color-swatch.entry.js';
3
+ export { af_container as AfContainer } from './af-container.entry.js';
4
+ export { af_aspect_ratio as AfAspectRatio } from './af-aspect-ratio.entry.js';
5
+ export { af_button as AfButton } from './af-button.entry.js';
6
+ export { af_icon_button as AfIconButton } from './af-icon-button.entry.js';
7
+ export { af_button_group as AfButtonGroup } from './af-button-group.entry.js';
8
+ export { af_typography_lockup as AfTypographyLockup } from './af-typography-lockup.entry.js';
9
+ import './index-DxVtR6vj.js';
133
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["src/components/af-button/af-button.css?tag=af-button&encapsulation=shadow","src/components/af-button/af-button.tsx","src/components/af-badge/af-badge.css?tag=af-badge&encapsulation=shadow","src/components/af-badge/af-badge.tsx","src/components/af-icon-button/af-icon-button.css?tag=af-icon-button&encapsulation=shadow","src/components/af-icon-button/af-icon-button.tsx","src/components/af-card/af-card.css?tag=af-card&encapsulation=shadow","src/components/af-card/af-card.tsx","src/components/af-input/af-input.css?tag=af-input&encapsulation=shadow","src/components/af-input/af-input.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\nbutton {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--af-space-2);\n font: var(--af-font-weight-semibold) var(--af-size-font-md) / 1 var(--af-font-family-sans);\n border-radius: var(--af-radius-md);\n padding: var(--af-space-2) var(--af-space-4);\n border: none;\n cursor: pointer;\n transition: transform 120ms ease, box-shadow 160ms ease;\n box-shadow: 0 8px 20px rgba(124, 58, 237, 0.18);\n}\n\nbutton:is(:hover, :focus-visible) {\n transform: translateY(-1px);\n box-shadow: 0 12px 24px rgba(124, 58, 237, 0.24);\n}\n\nbutton:active {\n transform: translateY(0);\n box-shadow: 0 6px 16px rgba(124, 58, 237, 0.16);\n}\n\nbutton:disabled {\n cursor: not-allowed;\n opacity: 0.6;\n transform: none;\n box-shadow: none;\n}\n\nbutton.variant-primary {\n background: linear-gradient(135deg, var(--af-color-brand-primary-500), var(--af-color-brand-primary-600));\n color: var(--af-color-fg-inverse);\n}\n\nbutton.variant-secondary {\n background: var(--af-color-bg-subtle);\n color: var(--af-color-fg-default);\n box-shadow: inset 0 0 0 1px rgba(18, 15, 31, 0.08);\n}\n\nbutton.variant-ghost {\n background: transparent;\n color: var(--af-color-brand-primary-500);\n box-shadow: inset 0 0 0 1px rgba(124, 58, 237, 0.3);\n}\n\nbutton.size-lg {\n padding: calc(var(--af-space-3)) calc(var(--af-space-4) + 4px);\n font-size: var(--af-size-font-lg);\n}\n\nbutton .spinner {\n position: absolute;\n inset: 0;\n border-radius: inherit;\n background: radial-gradient(circle at center, rgba(255, 255, 255, 0.18), transparent 55%);\n opacity: 0;\n transition: opacity 120ms ease;\n}\n\nbutton.is-loading .spinner {\n opacity: 1;\n}\n\nbutton.is-loading .content {\n opacity: 0.6;\n}\n","import { Component, Event, EventEmitter, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'af-button',\n styleUrl: 'af-button.css',\n shadow: true\n})\nexport class AfButton {\n /** Visual style of the button */\n @Prop() variant: 'primary' | 'secondary' | 'ghost' = 'primary';\n\n /** Size of the button */\n @Prop() size: 'md' | 'lg' = 'md';\n\n /** Disabled state */\n @Prop({ reflect: true }) disabled = false;\n\n /** Loading state */\n @Prop({ reflect: true }) loading = false;\n\n /** Fired when the button is clicked while enabled */\n @Event() afClick!: EventEmitter<MouseEvent>;\n\n private handleClick = (event: MouseEvent) => {\n if (this.disabled || this.loading) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n this.afClick.emit(event);\n };\n\n render() {\n const classes = {\n [`variant-${this.variant}`]: true,\n [`size-${this.size}`]: true,\n 'is-loading': this.loading\n };\n\n return (\n <button\n class={classes}\n part=\"base\"\n disabled={this.disabled || this.loading}\n onClick={this.handleClick}\n >\n <span class=\"spinner\" part=\"spinner\" aria-hidden={!this.loading}></span>\n <span class=\"content\" part=\"label\">\n <slot />\n </span>\n </button>\n );\n }\n}\n",":host {\n display: inline-block;\n}\n\nspan {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 2px var(--af-space-2);\n border-radius: var(--af-radius-pill);\n font: var(--af-font-weight-semibold) var(--af-size-font-sm) / 1 var(--af-font-family-sans);\n letter-spacing: 0.02em;\n text-transform: uppercase;\n}\n\nspan.tone-brand {\n background: rgba(124, 58, 237, 0.12);\n color: var(--af-color-brand-primary-500);\n}\n\nspan.tone-neutral {\n background: rgba(18, 15, 31, 0.1);\n color: var(--af-color-fg-default);\n}\n\nspan.tone-success {\n background: rgba(16, 185, 129, 0.12);\n color: #0f766e;\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'af-badge',\n styleUrl: 'af-badge.css',\n shadow: true\n})\nexport class AfBadge {\n /** Color theme of the badge */\n @Prop() tone: 'brand' | 'neutral' | 'success' = 'brand';\n\n render() {\n return (\n <span class={`tone-${this.tone}`} part=\"base\">\n <slot />\n </span>\n );\n }\n}\n",":host {\n display: inline-flex;\n}\n\nbutton {\n --button-size-sm: 36px;\n --button-size-md: 44px;\n width: var(--button-size-md);\n height: var(--button-size-md);\n border-radius: 50%;\n border: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n color: var(--af-color-brand-primary-500);\n cursor: pointer;\n transition: transform 120ms ease, box-shadow 160ms ease, background-color 160ms ease;\n box-shadow: none;\n}\n\nbutton.size-sm {\n width: var(--button-size-sm);\n height: var(--button-size-sm);\n}\n\nbutton:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n box-shadow: none;\n}\n\nbutton.variant-solid {\n background: linear-gradient(135deg, var(--af-color-brand-primary-500), var(--af-color-brand-primary-600));\n color: var(--af-color-fg-inverse);\n box-shadow: 0 10px 24px rgba(124, 58, 237, 0.24);\n}\n\nbutton.variant-soft {\n background: rgba(124, 58, 237, 0.14);\n color: var(--af-color-brand-primary-500);\n}\n\nbutton.variant-ghost {\n border: 1px solid rgba(124, 58, 237, 0.4);\n background: transparent;\n}\n\nbutton:is(:hover, :focus-visible) {\n transform: translateY(-1px);\n box-shadow: 0 14px 30px rgba(124, 58, 237, 0.28);\n}\n\nbutton:active {\n transform: translateY(0);\n box-shadow: 0 8px 18px rgba(124, 58, 237, 0.2);\n}\n\n.icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.5em;\n height: 1.5em;\n}\n\n:host([disabled]) button {\n transform: none;\n box-shadow: none;\n}\n","import { Component, Event, EventEmitter, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'af-icon-button',\n styleUrl: 'af-icon-button.css',\n shadow: true\n})\nexport class AfIconButton {\n /** Visual style of the icon button */\n @Prop() variant: 'solid' | 'soft' | 'ghost' = 'solid';\n\n /** Size preset */\n @Prop() size: 'sm' | 'md' = 'md';\n\n /** Accessible label text */\n @Prop() label?: string;\n\n /** Disabled state */\n @Prop({ reflect: true }) disabled = false;\n\n /** Raised when the button is activated */\n @Event() afClick!: EventEmitter<MouseEvent>;\n\n private onClick = (event: MouseEvent) => {\n if (this.disabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n this.afClick.emit(event);\n };\n\n render() {\n const classes = {\n [`variant-${this.variant}`]: true,\n [`size-${this.size}`]: true\n };\n\n return (\n <button\n type=\"button\"\n class={classes}\n part=\"base\"\n disabled={this.disabled}\n aria-label={this.label}\n onClick={this.onClick}\n >\n <span part=\"icon\" class=\"icon\">\n <slot />\n </span>\n </button>\n );\n }\n}\n",":host {\n display: block;\n}\n\narticle {\n position: relative;\n border-radius: var(--af-radius-md);\n background: var(--af-color-bg-surface);\n color: var(--af-color-fg-default);\n padding: calc(var(--af-space-4) * 1.5);\n box-shadow: none;\n border: 1px solid rgba(18, 15, 31, 0.06);\n transition: box-shadow 160ms ease, transform 160ms ease;\n display: block;\n overflow: hidden;\n}\n\narticle.variant-elevated {\n box-shadow: 0 18px 36px rgba(47, 22, 94, 0.18);\n border: none;\n}\n\narticle:hover {\n transform: translateY(-2px);\n box-shadow: 0 24px 44px rgba(47, 22, 94, 0.24);\n}\n\n.accent {\n position: absolute;\n inset: 0;\n width: 6px;\n left: 0;\n right: auto;\n background: linear-gradient(180deg, var(--af-color-brand-primary-500), var(--af-color-brand-primary-600));\n}\n\narticle.accent-brand .accent {\n background: linear-gradient(180deg, var(--af-color-brand-primary-500), var(--af-color-brand-primary-600));\n}\n\narticle.accent-success .accent {\n background: linear-gradient(180deg, #22c55e, #16a34a);\n}\n\narticle.accent-neutral .accent {\n background: rgba(18, 15, 31, 0.18);\n}\n\n.content {\n margin-left: 12px;\n display: grid;\n gap: var(--af-space-3);\n}\n\n.header:empty,\n.footer:empty {\n display: none;\n}\n\n.header ::slotted(*) {\n font-size: 1.125rem;\n font-weight: var(--af-font-weight-semibold);\n}\n\n.footer ::slotted(*) {\n display: inline-flex;\n gap: var(--af-space-2);\n align-items: center;\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'af-card',\n styleUrl: 'af-card.css',\n shadow: true\n})\nexport class AfCard {\n /** Visual style of the card */\n @Prop() variant: 'surface' | 'elevated' = 'surface';\n\n /** Optional accent colour strip */\n @Prop() accent?: 'brand' | 'success' | 'neutral';\n\n render() {\n const classes = {\n [`variant-${this.variant}`]: true,\n [`accent-${this.accent}`]: Boolean(this.accent)\n };\n\n return (\n <article class={classes} part=\"base\">\n {this.accent ? <span class=\"accent\" part=\"accent\" aria-hidden=\"true\"></span> : null}\n <div class=\"content\" part=\"content\">\n <header class=\"header\" part=\"header\">\n <slot name=\"header\"></slot>\n </header>\n <div class=\"body\" part=\"body\">\n <slot></slot>\n </div>\n <footer class=\"footer\" part=\"footer\">\n <slot name=\"footer\"></slot>\n </footer>\n </div>\n </article>\n );\n }\n}\n",":host {\n display: block;\n font-family: var(--af-font-family-sans);\n}\n\nlabel {\n display: grid;\n gap: var(--af-space-2);\n color: var(--af-color-fg-default);\n}\n\n.label {\n font-size: 0.95rem;\n font-weight: var(--af-font-weight-semibold);\n}\n\n.control {\n position: relative;\n}\n\ninput {\n width: 100%;\n padding: calc(var(--af-space-2) + 2px) calc(var(--af-space-4) + 8px);\n border-radius: var(--af-radius-md);\n border: 1px solid rgba(18, 15, 31, 0.18);\n background: rgba(255, 255, 255, 0.9);\n color: inherit;\n font: inherit;\n transition: border-color 160ms ease, box-shadow 160ms ease;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);\n}\n\ninput::placeholder {\n color: var(--af-color-fg-muted);\n opacity: 0.8;\n}\n\ninput:focus-visible {\n outline: none;\n border-color: var(--af-color-brand-primary-500);\n box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.18);\n}\n\nlabel.disabled {\n opacity: 0.55;\n cursor: not-allowed;\n}\n\ninput:disabled {\n background: rgba(241, 240, 247, 0.7);\n cursor: not-allowed;\n}\n\n.description {\n font-size: 0.825rem;\n color: var(--af-color-fg-muted);\n}\n","import { Component, Event, EventEmitter, h, Prop } from '@stencil/core';\n\nlet inputIds = 0;\n\n@Component({\n tag: 'af-input',\n styleUrl: 'af-input.css',\n shadow: true\n})\nexport class AfInput {\n private inputId = `af-input-${++inputIds}`;\n private descriptionId = `${this.inputId}-desc`;\n\n /** Optional label text */\n @Prop() label?: string;\n\n /** Assistive description shown below the field */\n @Prop() description?: string;\n\n /** Input type attribute */\n @Prop() type: 'text' | 'email' | 'password' | 'search' = 'text';\n\n /** Placeholder text */\n @Prop() placeholder?: string;\n\n /** Current value (mutable so the component stays in sync) */\n @Prop({ mutable: true }) value = '';\n\n /** Disabled state */\n @Prop({ reflect: true }) disabled = false;\n\n /** Fired as the user types */\n @Event() afInput!: EventEmitter<string>;\n\n /** Fired when the field loses focus after a change */\n @Event() afChange!: EventEmitter<string>;\n\n private handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n this.afInput.emit(this.value);\n };\n\n private handleChange = () => {\n this.afChange.emit(this.value);\n };\n\n render() {\n const describedBy = this.description ? this.descriptionId : undefined;\n\n return (\n <label part=\"label\" class={{ disabled: this.disabled }} htmlFor={this.inputId}>\n {this.label ? (\n <span class=\"label\" part=\"label-text\">\n {this.label}\n </span>\n ) : null}\n <div class=\"control\">\n <input\n part=\"field\"\n id={this.inputId}\n type={this.type}\n placeholder={this.placeholder}\n value={this.value}\n disabled={this.disabled}\n aria-describedby={describedBy}\n onInput={this.handleInput}\n onChange={this.handleChange}\n />\n </div>\n {this.description ? (\n <p id={this.descriptionId} class=\"description\" part=\"description\">\n {this.description}\n </p>\n ) : null}\n </label>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,10 +1,10 @@
1
- import { g as globalScripts, b as bootstrapLazy } from './index-o0tfWqnY.js';
2
- export { s as setNonce } from './index-o0tfWqnY.js';
1
+ import { g as globalScripts, b as bootstrapLazy } from './index-DxVtR6vj.js';
2
+ export { s as setNonce } from './index-DxVtR6vj.js';
3
3
 
4
4
  const defineCustomElements = async (win, options) => {
5
5
  if (typeof window === 'undefined') return undefined;
6
6
  await globalScripts();
7
- return bootstrapLazy([["af-badge_5",[[257,"af-badge",{"tone":[1]}],[257,"af-button",{"variant":[1],"size":[1],"disabled":[516],"loading":[516]}],[257,"af-card",{"variant":[1],"accent":[1]}],[257,"af-icon-button",{"variant":[1],"size":[1],"label":[1],"disabled":[516]}],[257,"af-input",{"label":[1],"description":[1],"type":[1],"placeholder":[1],"value":[1025],"disabled":[516]}]]]], options);
7
+ return bootstrapLazy([["af-heading_5",[[257,"af-heading",{"level":[1],"align":[1]}],[257,"af-logo"],[257,"af-nav-item",{"hierarchy":[1],"variant":[1],"href":[1],"active":[4]}],[257,"af-navbar"],[257,"af-text",{"variant":[1],"align":[1],"as":[1]}]]],["af-aspect-ratio",[[257,"af-aspect-ratio",{"ratio":[1]}]]],["af-button",[[257,"af-button",{"variant":[1],"size":[1],"disabled":[4],"href":[1],"type":[1]}]]],["af-button-group",[[257,"af-button-group",{"direction":[1],"gap":[1]}]]],["af-color-swatch",[[257,"af-color-swatch",{"color":[1],"name":[1],"size":[1]}]]],["af-container",[[257,"af-container",{"maxWidth":[1,"max-width"]}]]],["af-icon-button",[[257,"af-icon-button",{"variant":[1],"size":[1],"disabled":[4],"href":[1],"type":[1],"ariaLabel":[1,"aria-label"]}]]],["af-typography-lockup",[[257,"af-typography-lockup",{"headingSize":[2,"heading-size"],"breakpoint":[1],"textAlignment":[1,"text-alignment"],"buttonAlignment":[1,"button-alignment"],"maxWidth":[2,"max-width"]}]]]], options);
8
8
  };
9
9
 
10
10
  export { defineCustomElements };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * A container component that maintains a fixed aspect ratio for its content.
3
+ * Useful for images, videos, or any content that needs to maintain specific proportions.
4
+ */
5
+ export declare class AfAspectRatio {
6
+ /**
7
+ * The aspect ratio to maintain. Can be:
8
+ * - A predefined ratio: '1:1', '16:9', '4:3', 'golden-portrait', 'golden-landscape', 'a4-portrait', 'a4-landscape', 'letter-portrait', 'letter-landscape', etc.
9
+ * - A custom ratio in format 'width / height': '16 / 9', '4 / 3', '1.618 / 1', etc.
10
+ *
11
+ * @example
12
+ * <af-aspect-ratio ratio="16:9">Content</af-aspect-ratio>
13
+ * <af-aspect-ratio ratio="1.618 / 1">Content</af-aspect-ratio>
14
+ */
15
+ ratio: string;
16
+ private getRatioValue;
17
+ render(): any;
18
+ }
@@ -1,15 +1,23 @@
1
- import { EventEmitter } from '../../stencil-public-runtime';
2
1
  export declare class AfButton {
3
- /** Visual style of the button */
4
- variant: 'primary' | 'secondary' | 'ghost';
5
- /** Size of the button */
6
- size: 'md' | 'lg';
7
- /** Disabled state */
2
+ /**
3
+ * The visual variant of the button
4
+ */
5
+ variant: 'primary' | 'secondary' | 'outline' | 'ghost';
6
+ /**
7
+ * The size of the button
8
+ */
9
+ size: 'default' | 'small';
10
+ /**
11
+ * Whether the button is disabled
12
+ */
8
13
  disabled: boolean;
9
- /** Loading state */
10
- loading: boolean;
11
- /** Fired when the button is clicked while enabled */
12
- afClick: EventEmitter<MouseEvent>;
13
- private handleClick;
14
+ /**
15
+ * Optional href to render as a link
16
+ */
17
+ href?: string;
18
+ /**
19
+ * Button type (when not using href)
20
+ */
21
+ type: 'button' | 'submit' | 'reset';
14
22
  render(): any;
15
23
  }
@@ -0,0 +1,11 @@
1
+ export declare class AfButtonGroup {
2
+ /**
3
+ * Layout direction of the button group
4
+ */
5
+ direction: 'horizontal' | 'vertical';
6
+ /**
7
+ * Gap between buttons
8
+ */
9
+ gap: string;
10
+ render(): any;
11
+ }
@@ -0,0 +1,9 @@
1
+ export declare class AfColorSwatch {
2
+ /** Color value (hex) */
3
+ color: string;
4
+ /** Color name */
5
+ name: string;
6
+ /** Size variant */
7
+ size: 'default' | 'large';
8
+ render(): any;
9
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * A responsive container component that provides consistent margins and max-width
3
+ * constraints based on the Affinda grid system.
4
+ */
5
+ export declare class AfContainer {
6
+ /**
7
+ * Maximum width constraint for the container
8
+ * - 'xlarge': 1440px container (default)
9
+ * - 'large': 1024px container
10
+ * - 'medium': 768px container
11
+ * - 'fluid': No max-width constraint, full width with margins
12
+ */
13
+ maxWidth: 'xlarge' | 'large' | 'medium' | 'fluid';
14
+ render(): any;
15
+ }
@@ -0,0 +1,8 @@
1
+ export declare class AfHeading {
2
+ /** Heading level */
3
+ level: 'xl' | '1' | '2' | '3' | '4' | '5';
4
+ /** Visual alignment */
5
+ align: 'left' | 'center' | 'right';
6
+ private getHeadingTag;
7
+ render(): any;
8
+ }
@@ -1,15 +1,27 @@
1
- import { EventEmitter } from '../../stencil-public-runtime';
2
1
  export declare class AfIconButton {
3
- /** Visual style of the icon button */
4
- variant: 'solid' | 'soft' | 'ghost';
5
- /** Size preset */
6
- size: 'sm' | 'md';
7
- /** Accessible label text */
8
- label?: string;
9
- /** Disabled state */
2
+ /**
3
+ * The visual variant of the button
4
+ */
5
+ variant: 'primary' | 'secondary' | 'outline' | 'ghost';
6
+ /**
7
+ * The size of the button
8
+ */
9
+ size: 'large' | 'medium' | 'small';
10
+ /**
11
+ * Whether the button is disabled
12
+ */
10
13
  disabled: boolean;
11
- /** Raised when the button is activated */
12
- afClick: EventEmitter<MouseEvent>;
13
- private onClick;
14
+ /**
15
+ * Optional href to render as a link
16
+ */
17
+ href?: string;
18
+ /**
19
+ * Button type (when not using href)
20
+ */
21
+ type: 'button' | 'submit' | 'reset';
22
+ /**
23
+ * Accessible label for screen readers
24
+ */
25
+ ariaLabel: string;
14
26
  render(): any;
15
27
  }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Affinda logo component
3
+ */
4
+ export declare class AfLogo {
5
+ render(): any;
6
+ }
@@ -0,0 +1,27 @@
1
+ /**
2
+ * A generic navigation item component that can be used in navigation bars, menus, and sidebars.
3
+ * Supports multiple hierarchy levels, variants, and states (active, hover).
4
+ */
5
+ export declare class AfNavItem {
6
+ /**
7
+ * Visual hierarchy level of the navigation item
8
+ * - 'primary': Bold, main navigation (larger text, prominent styling)
9
+ * - 'secondary': Lighter, sub-navigation (smaller text, subtle styling)
10
+ */
11
+ hierarchy: 'primary' | 'secondary';
12
+ /**
13
+ * Visual variant within the hierarchy level
14
+ * - '01': Darker/more prominent styling
15
+ * - '02': Lighter/more subtle styling
16
+ */
17
+ variant: '01' | '02';
18
+ /**
19
+ * URL to navigate to when clicked
20
+ */
21
+ href?: string;
22
+ /**
23
+ * Whether this nav item is currently active/selected
24
+ */
25
+ active: boolean;
26
+ render(): any;
27
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * A full-width navigation bar component that provides the main site navigation.
3
+ * Features a pill-shaped container with logo, navigation links, and action buttons.
4
+ */
5
+ export declare class AfNavbar {
6
+ render(): any;
7
+ }
@@ -0,0 +1,9 @@
1
+ export declare class AfText {
2
+ /** Text variant */
3
+ variant: 'xlarge' | 'large' | 'medium' | 'small' | 'label-button' | 'label-tag';
4
+ /** Visual alignment */
5
+ align: 'left' | 'center' | 'right';
6
+ /** Semantic element to render */
7
+ as: 'p' | 'span' | 'div' | 'label';
8
+ render(): any;
9
+ }
@@ -0,0 +1,23 @@
1
+ export declare class AfTypographyLockup {
2
+ /**
3
+ * The heading size (1-5, where 1 is largest)
4
+ */
5
+ headingSize: 1 | 2 | 3 | 4 | 5;
6
+ /**
7
+ * The breakpoint for responsive typography
8
+ */
9
+ breakpoint: 'desktop' | 'mobile';
10
+ /**
11
+ * Text alignment
12
+ */
13
+ textAlignment: 'left' | 'center';
14
+ /**
15
+ * Button alignment (horizontal or vertical stacking)
16
+ */
17
+ buttonAlignment: 'horizontal' | 'vertical';
18
+ /**
19
+ * Maximum width for the copy section (in pixels)
20
+ */
21
+ maxWidth?: number;
22
+ render(): any;
23
+ }