@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.
- package/dist/affinda/af-aspect-ratio.entry.esm.js.map +1 -0
- package/dist/affinda/af-button-group.entry.esm.js.map +1 -0
- package/dist/affinda/af-button.entry.esm.js.map +1 -0
- package/dist/affinda/af-color-swatch.entry.esm.js.map +1 -0
- package/dist/affinda/af-container.entry.esm.js.map +1 -0
- package/dist/affinda/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.esm.js.map +1 -0
- package/dist/affinda/af-icon-button.entry.esm.js.map +1 -0
- package/dist/affinda/af-typography-lockup.entry.esm.js.map +1 -0
- package/dist/affinda/affinda.css +1 -1
- package/dist/affinda/affinda.esm.js +1 -1
- package/dist/affinda/index.esm.js +1 -1
- package/dist/affinda/index.esm.js.map +1 -1
- package/dist/affinda/p-540af9d9.entry.js +2 -0
- package/dist/affinda/p-540af9d9.entry.js.map +1 -0
- package/dist/affinda/p-619bc077.entry.js +2 -0
- package/dist/affinda/p-619bc077.entry.js.map +1 -0
- package/dist/affinda/p-6b07f590.entry.js +2 -0
- package/dist/affinda/p-6b07f590.entry.js.map +1 -0
- package/dist/affinda/p-8d3b4917.entry.js +2 -0
- package/dist/affinda/p-8d3b4917.entry.js.map +1 -0
- package/dist/affinda/p-9d0e6ed1.entry.js +2 -0
- package/dist/affinda/p-9d0e6ed1.entry.js.map +1 -0
- package/dist/affinda/p-DxVtR6vj.js +3 -0
- package/dist/affinda/p-DxVtR6vj.js.map +1 -0
- package/dist/affinda/p-afbe9cb3.entry.js +2 -0
- package/dist/affinda/p-afbe9cb3.entry.js.map +1 -0
- package/dist/affinda/p-cbb06a14.entry.js +2 -0
- package/dist/affinda/p-cbb06a14.entry.js.map +1 -0
- package/dist/affinda/p-e274e11a.entry.js +2 -0
- package/dist/affinda/p-e274e11a.entry.js.map +1 -0
- package/dist/cjs/af-aspect-ratio.cjs.entry.js +83 -0
- package/dist/cjs/af-aspect-ratio.entry.cjs.js.map +1 -0
- package/dist/cjs/af-button-group.cjs.entry.js +30 -0
- package/dist/cjs/af-button-group.entry.cjs.js.map +1 -0
- package/dist/cjs/af-button.cjs.entry.js +48 -0
- package/dist/cjs/af-button.entry.cjs.js.map +1 -0
- package/dist/cjs/af-color-swatch.cjs.entry.js +23 -0
- package/dist/cjs/af-color-swatch.entry.cjs.js.map +1 -0
- package/dist/cjs/af-container.cjs.entry.js +26 -0
- package/dist/cjs/af-container.entry.cjs.js.map +1 -0
- package/dist/cjs/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js.map +1 -0
- package/dist/cjs/af-heading_5.cjs.entry.js +128 -0
- package/dist/cjs/af-icon-button.cjs.entry.js +44 -0
- package/dist/cjs/af-icon-button.entry.cjs.js.map +1 -0
- package/dist/cjs/af-typography-lockup.cjs.entry.js +45 -0
- package/dist/cjs/af-typography-lockup.entry.cjs.js.map +1 -0
- package/dist/cjs/affinda.cjs.js +2 -2
- package/dist/cjs/{index-5BGpYleS.js → index-E2jkaTPt.js} +92 -61
- package/dist/cjs/index-E2jkaTPt.js.map +1 -0
- package/dist/cjs/index.cjs.js +24 -136
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +10 -3
- package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.css +17 -0
- package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.js +117 -0
- package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.js.map +1 -0
- package/dist/collection/components/af-button/af-button.css +151 -42
- package/dist/collection/components/af-button/af-button.js +62 -57
- package/dist/collection/components/af-button/af-button.js.map +1 -1
- package/dist/collection/components/af-button-group/af-button-group.css +22 -0
- package/dist/collection/components/af-button-group/af-button-group.js +77 -0
- package/dist/collection/components/af-button-group/af-button-group.js.map +1 -0
- package/dist/collection/components/af-color-swatch/af-color-swatch.css +42 -0
- package/dist/collection/components/af-color-swatch/af-color-swatch.js +88 -0
- package/dist/collection/components/af-color-swatch/af-color-swatch.js.map +1 -0
- package/dist/collection/components/af-container/af-container.css +76 -0
- package/dist/collection/components/af-container/af-container.js +57 -0
- package/dist/collection/components/af-container/af-container.js.map +1 -0
- package/dist/collection/components/af-heading/af-heading.css +99 -0
- package/dist/collection/components/af-heading/af-heading.js +86 -0
- package/dist/collection/components/af-heading/af-heading.js.map +1 -0
- package/dist/collection/components/af-icon-button/af-icon-button.css +140 -41
- package/dist/collection/components/af-icon-button/af-icon-button.js +81 -57
- package/dist/collection/components/af-icon-button/af-icon-button.js.map +1 -1
- package/dist/collection/components/af-logo/af-logo.css +10 -0
- package/dist/collection/components/af-logo/af-logo.js +22 -0
- package/dist/collection/components/af-logo/af-logo.js.map +1 -0
- package/dist/collection/components/af-nav-item/af-nav-item.css +146 -0
- package/dist/collection/components/af-nav-item/af-nav-item.js +134 -0
- package/dist/collection/components/af-nav-item/af-nav-item.js.map +1 -0
- package/dist/collection/components/af-navbar/af-navbar.css +119 -0
- package/dist/collection/components/af-navbar/af-navbar.js +23 -0
- package/dist/collection/components/af-navbar/af-navbar.js.map +1 -0
- package/dist/collection/components/af-text/af-text.css +61 -0
- package/dist/collection/components/af-text/af-text.js +96 -0
- package/dist/collection/components/af-text/af-text.js.map +1 -0
- package/dist/collection/components/af-typography-lockup/af-typography-lockup.css +168 -0
- package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +151 -0
- package/dist/collection/components/af-typography-lockup/af-typography-lockup.js.map +1 -0
- package/dist/collection/components.js +10 -3
- package/dist/collection/components.js.map +1 -1
- package/dist/components/af-aspect-ratio.d.ts +11 -0
- package/dist/components/af-aspect-ratio.js +9 -0
- package/dist/components/af-aspect-ratio.js.map +1 -0
- package/dist/components/af-button-group.d.ts +11 -0
- package/dist/components/af-button-group.js +9 -0
- package/dist/components/af-button-group.js.map +1 -0
- package/dist/components/af-button.js +1 -1
- package/dist/components/af-color-swatch.d.ts +11 -0
- package/dist/components/af-color-swatch.js +9 -0
- package/dist/components/af-color-swatch.js.map +1 -0
- package/dist/components/af-container.d.ts +11 -0
- package/dist/components/af-container.js +9 -0
- package/dist/components/af-container.js.map +1 -0
- package/dist/components/af-heading.d.ts +11 -0
- package/dist/components/af-heading.js +9 -0
- package/dist/components/af-heading.js.map +1 -0
- package/dist/components/af-icon-button.js +1 -1
- package/dist/components/{af-card.d.ts → af-logo.d.ts} +4 -4
- package/dist/components/af-logo.js +9 -0
- package/dist/components/af-logo.js.map +1 -0
- package/dist/components/af-nav-item.d.ts +11 -0
- package/dist/components/af-nav-item.js +9 -0
- package/dist/components/af-nav-item.js.map +1 -0
- package/dist/components/{af-badge.d.ts → af-navbar.d.ts} +4 -4
- package/dist/components/af-navbar.js +9 -0
- package/dist/components/af-navbar.js.map +1 -0
- package/dist/components/{af-input.d.ts → af-text.d.ts} +4 -4
- package/dist/components/af-text.js +9 -0
- package/dist/components/af-text.js.map +1 -0
- package/dist/components/af-typography-lockup.d.ts +11 -0
- package/dist/components/af-typography-lockup.js +9 -0
- package/dist/components/af-typography-lockup.js.map +1 -0
- package/dist/components/index.js +13 -6
- package/dist/components/index.js.map +1 -1
- package/dist/components/p-B17zxKkI.js +35 -0
- package/dist/components/p-B17zxKkI.js.map +1 -0
- package/dist/components/p-BJDmHNDi.js +59 -0
- package/dist/components/p-BJDmHNDi.js.map +1 -0
- package/dist/components/p-BfmeW04T.js +50 -0
- package/dist/components/p-BfmeW04T.js.map +1 -0
- package/dist/components/p-BoU5qaPt.js +68 -0
- package/dist/components/p-BoU5qaPt.js.map +1 -0
- package/dist/components/p-CT_9_xN3.js +50 -0
- package/dist/components/p-CT_9_xN3.js.map +1 -0
- package/dist/components/{p-DOtgsZRB.js → p-CzaQ1fCu.js} +92 -65
- package/dist/components/p-CzaQ1fCu.js.map +1 -0
- package/dist/components/p-DG7Mtz0G.js +66 -0
- package/dist/components/p-DG7Mtz0G.js.map +1 -0
- package/dist/components/p-DcFGu6up.js +68 -0
- package/dist/components/p-DcFGu6up.js.map +1 -0
- package/dist/components/p-DfIqdEs7.js +45 -0
- package/dist/components/p-DfIqdEs7.js.map +1 -0
- package/dist/components/p-DqIqR4VU.js +102 -0
- package/dist/components/p-DqIqR4VU.js.map +1 -0
- package/dist/components/p-LEksuu7O.js +44 -0
- package/dist/components/p-LEksuu7O.js.map +1 -0
- package/dist/components/p-uhOM63Ux.js +71 -0
- package/dist/components/p-uhOM63Ux.js.map +1 -0
- package/dist/components/p-zBrKMKWE.js +35 -0
- package/dist/components/p-zBrKMKWE.js.map +1 -0
- package/dist/esm/af-aspect-ratio.entry.js +81 -0
- package/dist/esm/af-aspect-ratio.entry.js.map +1 -0
- package/dist/esm/af-button-group.entry.js +28 -0
- package/dist/esm/af-button-group.entry.js.map +1 -0
- package/dist/esm/af-button.entry.js +46 -0
- package/dist/esm/af-button.entry.js.map +1 -0
- package/dist/esm/af-color-swatch.entry.js +21 -0
- package/dist/esm/af-color-swatch.entry.js.map +1 -0
- package/dist/esm/af-container.entry.js +24 -0
- package/dist/esm/af-container.entry.js.map +1 -0
- package/dist/esm/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js.map +1 -0
- package/dist/esm/af-heading_5.entry.js +122 -0
- package/dist/esm/af-icon-button.entry.js +42 -0
- package/dist/esm/af-icon-button.entry.js.map +1 -0
- package/dist/esm/af-typography-lockup.entry.js +43 -0
- package/dist/esm/af-typography-lockup.entry.js.map +1 -0
- package/dist/esm/affinda.js +3 -3
- package/dist/esm/{index-o0tfWqnY.js → index-DxVtR6vj.js} +92 -61
- package/dist/esm/index-DxVtR6vj.js.map +1 -0
- package/dist/esm/index.js +9 -132
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/types/components/af-aspect-ratio/af-aspect-ratio.d.ts +18 -0
- package/dist/types/components/af-button/af-button.d.ts +19 -11
- package/dist/types/components/af-button-group/af-button-group.d.ts +11 -0
- package/dist/types/components/af-color-swatch/af-color-swatch.d.ts +9 -0
- package/dist/types/components/af-container/af-container.d.ts +15 -0
- package/dist/types/components/af-heading/af-heading.d.ts +8 -0
- package/dist/types/components/af-icon-button/af-icon-button.d.ts +23 -11
- package/dist/types/components/af-logo/af-logo.d.ts +6 -0
- package/dist/types/components/af-nav-item/af-nav-item.d.ts +27 -0
- package/dist/types/components/af-navbar/af-navbar.d.ts +7 -0
- package/dist/types/components/af-text/af-text.d.ts +9 -0
- package/dist/types/components/af-typography-lockup/af-typography-lockup.d.ts +23 -0
- package/dist/types/components.d.ts +416 -163
- package/package.json +13 -13
- package/dist/affinda/af-badge.af-button.af-card.af-icon-button.af-input.entry.esm.js.map +0 -1
- package/dist/affinda/p-bca10492.entry.js +0 -2
- package/dist/affinda/p-bca10492.entry.js.map +0 -1
- package/dist/affinda/p-o0tfWqnY.js +0 -3
- package/dist/affinda/p-o0tfWqnY.js.map +0 -1
- package/dist/cjs/af-badge.af-button.af-card.af-icon-button.af-input.entry.cjs.js.map +0 -1
- package/dist/cjs/af-badge_5.cjs.entry.js +0 -13
- package/dist/cjs/index-5BGpYleS.js.map +0 -1
- package/dist/collection/components/af-badge/af-badge.css +0 -29
- package/dist/collection/components/af-badge/af-badge.js +0 -47
- package/dist/collection/components/af-badge/af-badge.js.map +0 -1
- package/dist/collection/components/af-card/af-card.css +0 -69
- package/dist/collection/components/af-card/af-card.js +0 -70
- package/dist/collection/components/af-card/af-card.js.map +0 -1
- package/dist/collection/components/af-input/af-input.css +0 -57
- package/dist/collection/components/af-input/af-input.js +0 -193
- package/dist/collection/components/af-input/af-input.js.map +0 -1
- package/dist/components/af-badge.js +0 -9
- package/dist/components/af-badge.js.map +0 -1
- package/dist/components/af-card.js +0 -9
- package/dist/components/af-card.js.map +0 -1
- package/dist/components/af-input.js +0 -9
- package/dist/components/af-input.js.map +0 -1
- package/dist/components/p-B7I93sz2.js +0 -39
- package/dist/components/p-B7I93sz2.js.map +0 -1
- package/dist/components/p-CZd1ieht.js +0 -62
- package/dist/components/p-CZd1ieht.js.map +0 -1
- package/dist/components/p-D6PwARU0.js +0 -59
- package/dist/components/p-D6PwARU0.js.map +0 -1
- package/dist/components/p-DOtgsZRB.js.map +0 -1
- package/dist/components/p-DZIXhvI0.js +0 -44
- package/dist/components/p-DZIXhvI0.js.map +0 -1
- package/dist/components/p-zIKPa48S.js +0 -62
- package/dist/components/p-zIKPa48S.js.map +0 -1
- package/dist/esm/af-badge.af-button.af-card.af-icon-button.af-input.entry.js.map +0 -1
- package/dist/esm/af-badge_5.entry.js +0 -3
- package/dist/esm/index-o0tfWqnY.js.map +0 -1
- package/dist/types/components/af-badge/af-badge.d.ts +0 -5
- package/dist/types/components/af-card/af-card.d.ts +0 -7
- package/dist/types/components/af-input/af-input.d.ts +0 -24
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"af-logo.js","sourceRoot":"","sources":["../../../src/components/af-logo/af-logo.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AAMH,MAAM,OAAO,MAAM;IACjB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DACE,KAAK,EAAC,KAAK,EACX,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,YAAY,EACpB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,UAAU;gBAEhB,6DACE,CAAC,EAAC,ikBAAikB,EACnkB,IAAI,EAAC,cAAc,GACnB;gBACF,6DACE,CAAC,EAAC,mcAAmc,EACrc,IAAI,EAAC,cAAc,GACnB;gBACF,6DACE,CAAC,EAAC,+cAA+c,EACjd,IAAI,EAAC,cAAc,GACnB;gBACF,6DACE,CAAC,EAAC,4SAA4S,EAC9S,IAAI,EAAC,cAAc,GACnB;gBACF,uEAAa,aAAa;oBACxB,6DACE,CAAC,EAAC,8PAA8P,EAChQ,IAAI,EAAC,cAAc,GACnB,CACA;gBACJ;oBACE,iEAAU,EAAE,EAAC,OAAO;wBAClB,6DAAM,IAAI,EAAC,MAAM,EAAC,CAAC,EAAC,kBAAkB,GAAG,CAChC,CACN,CACH,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host } from '@stencil/core';\n\n/**\n * Affinda logo component\n */\n@Component({\n tag: 'af-logo',\n styleUrl: 'af-logo.css',\n shadow: true\n})\nexport class AfLogo {\n render() {\n return (\n <Host>\n <svg\n width=\"141\"\n height=\"22\"\n viewBox=\"0 0 141 22\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"logo-svg\"\n >\n <path\n d=\"M20.8 9.6c0-1.5-.4-2.7-1.1-3.7-.8-1-1.8-1.5-3.2-1.5-1.3 0-2.4.5-3.2 1.5-.7 1-1.1 2.2-1.1 3.7 0 1.5.4 2.7 1.1 3.7.8 1 1.9 1.5 3.2 1.5 1.4 0 2.5-.5 3.2-1.5.7-1 1.1-2.2 1.1-3.7zm4.2 0c0 2.4-.7 4.4-2 5.9-1.4 1.5-3.2 2.3-5.5 2.3-2.2 0-4-.8-5.4-2.3-1.4-1.5-2.1-3.5-2.1-5.9 0-2.4.7-4.4 2.1-5.9C13.5 2.2 15.3 1.4 17.5 1.4c2.3 0 4.1.8 5.5 2.3 1.3 1.5 2 3.5 2 5.9zM29.1 17.5h-4.2V4.7h4.2v12.8zm0-14.9h-4.2V.2h4.2v2.4zM43.3 17.5h-4.2v-1.5c-.7 1.2-1.9 1.8-3.7 1.8-1.3 0-2.4-.4-3.2-1.2-.8-.8-1.2-2-1.2-3.5V4.7h4.2v8.1c0 1.7.7 2.5 2 2.5.7 0 1.3-.2 1.7-.7.4-.4.6-1.1.6-1.9V4.7h4.2v12.8h-.4z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M56.9 17.5h-4.2v-1.5c-.7 1.2-1.9 1.8-3.7 1.8-1.3 0-2.4-.4-3.2-1.2-.8-.8-1.2-2-1.2-3.5V4.7h4.2v8.1c0 1.7.7 2.5 2 2.5.7 0 1.3-.2 1.7-.7.4-.4.6-1.1.6-1.9V4.7h4.2v12.8h-.4zM68.3 5.9c-.7-.4-1.5-.6-2.4-.6-1.2 0-2.2.4-2.9 1.2-.8.8-1.1 1.9-1.1 3.3 0 1.4.4 2.5 1.1 3.3.8.8 1.7 1.2 2.9 1.2.9 0 1.7-.2 2.4-.6v3.5c-.9.3-1.9.5-2.9.5-2.3 0-4.2-.7-5.6-2.2-1.4-1.5-2.1-3.4-2.1-5.8 0-1.5.3-2.9.9-4.1.6-1.2 1.5-2.2 2.6-2.8 1.1-.7 2.4-1 3.8-1 1.1 0 2.1.2 3.1.6l.2 3.5z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M80 4.7h4.2v1.6c.7-1.2 1.9-1.9 3.6-1.9 1.3 0 2.3.4 3.1 1.2.8.8 1.2 2 1.2 3.5v8.4h-4.2V9.4c0-1.7-.7-2.5-2-2.5-.7 0-1.2.2-1.6.7-.4.4-.6 1.1-.6 1.9v8h-4.2V4.7h.5zM105.3 17.5h-4.2v-1.1c-.8 1-2 1.5-3.6 1.5-1.4 0-2.6-.5-3.5-1.4-.9-.9-1.4-2.1-1.4-3.6V9.6c0-1.5.5-2.7 1.4-3.6.9-.9 2.1-1.4 3.5-1.4 1.6 0 2.8.5 3.6 1.5V.2h4.2v17.3zm-4.2-7.9c0-.8-.3-1.5-.8-2-.5-.5-1.2-.8-2-.8-.8 0-1.5.3-2 .8-.5.5-.8 1.2-.8 2 0 .8.3 1.5.8 2 .5.5 1.2.8 2 .8.8 0 1.5-.3 2-.8.5-.5.8-1.2.8-2z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M115.8 17.5h-4.2V4.7h4.2v1.1c.8-1 2-1.5 3.6-1.5 1.4 0 2.6.5 3.5 1.4.9.9 1.4 2.1 1.4 3.6v3.3c0 1.5-.5 2.7-1.4 3.6-.9.9-2.1 1.4-3.5 1.4-1.6 0-2.8-.5-3.6-1.5v1.4zm4.2-7.9c0-.8-.3-1.5-.8-2-.5-.5-1.2-.8-2-.8-.8 0-1.5.3-2 .8-.5.5-.8 1.2-.8 2 0 .8.3 1.5.8 2 .5.5 1.2.8 2 .8.8 0 1.5-.3 2-.8.5-.5.8-1.2.8-2z\"\n fill=\"currentColor\"\n />\n <g clip-path=\"url(#clip0)\">\n <path\n d=\"M4.9 9.6c0-1.5-.4-2.7-1.1-3.7C3 4.9 2 4.4.6 4.4c-.3 0-.6 0-.9.1v10.2c.3.1.6.1.9.1 1.4 0 2.5-.5 3.2-1.5.7-1 1.1-2.2 1.1-3.7zM9.1 9.6c0 2.4-.7 4.4-2 5.9-1.4 1.5-3.2 2.3-5.5 2.3-.7 0-1.4-.1-2.1-.2V.2C.2.1.9 0 1.6 0c2.3 0 4.1.8 5.5 2.3 1.3 1.5 2 3.5 2 5.3z\"\n fill=\"currentColor\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0\">\n <path fill=\"#fff\" d=\"M0 0h9.1v17.8H0z\" />\n </clipPath>\n </defs>\n </svg>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: inline-block;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.nav-link {
|
|
6
|
+
text-decoration: none;
|
|
7
|
+
color: inherit;
|
|
8
|
+
display: block;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.nav-item {
|
|
12
|
+
display: flex;
|
|
13
|
+
align-items: center;
|
|
14
|
+
gap: 8px;
|
|
15
|
+
box-sizing: border-box;
|
|
16
|
+
cursor: pointer;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/* Primary hierarchy - bold main navigation */
|
|
20
|
+
.hierarchy-primary {
|
|
21
|
+
padding: 12px;
|
|
22
|
+
justify-content: center;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.hierarchy-primary .label-container {
|
|
26
|
+
display: flex;
|
|
27
|
+
align-items: center;
|
|
28
|
+
justify-content: center;
|
|
29
|
+
height: 24px;
|
|
30
|
+
gap: 10px;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/* Primary variant 01 - darker */
|
|
34
|
+
.hierarchy-primary.variant-01 {
|
|
35
|
+
font-family: 'NeuSans', 'Inter', system-ui, sans-serif;
|
|
36
|
+
font-size: 16px;
|
|
37
|
+
font-weight: 500;
|
|
38
|
+
line-height: 20px;
|
|
39
|
+
color: #14343b;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/* Primary variant 02 - lighter for light backgrounds */
|
|
43
|
+
.hierarchy-primary.variant-02 {
|
|
44
|
+
font-family: 'NeuSans', 'Inter', system-ui, sans-serif;
|
|
45
|
+
font-size: 16px;
|
|
46
|
+
font-weight: 500;
|
|
47
|
+
line-height: 20px;
|
|
48
|
+
color: #14343b;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* Hover state for primary variant-01 (dark backgrounds) - underline */
|
|
52
|
+
.hierarchy-primary.variant-01:hover .label-container {
|
|
53
|
+
border-bottom: 1px solid currentColor;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/* Active state for primary variant-01 - thicker border */
|
|
57
|
+
.hierarchy-primary.variant-01.active .label-container {
|
|
58
|
+
border-bottom: 2px solid #8a7049;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/* Hover and active states for variant-02 (light backgrounds) - no border */
|
|
62
|
+
.hierarchy-primary.variant-02:hover {
|
|
63
|
+
background-color: rgba(20, 52, 59, 0.04);
|
|
64
|
+
border-radius: 8px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.hierarchy-primary.variant-02.active {
|
|
68
|
+
background-color: rgba(20, 52, 59, 0.08);
|
|
69
|
+
border-radius: 8px;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/* Secondary hierarchy - smaller sub-navigation */
|
|
73
|
+
.hierarchy-secondary {
|
|
74
|
+
padding: 4px 0;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.hierarchy-secondary .label-container {
|
|
78
|
+
display: flex;
|
|
79
|
+
align-items: center;
|
|
80
|
+
flex: 1;
|
|
81
|
+
min-height: 24px;
|
|
82
|
+
gap: 8px;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/* Secondary variant 01 - medium weight */
|
|
86
|
+
.hierarchy-secondary.variant-01 {
|
|
87
|
+
font-family: 'NeuSans', 'Inter', system-ui, sans-serif;
|
|
88
|
+
font-size: 14px;
|
|
89
|
+
font-weight: 500;
|
|
90
|
+
line-height: 20px;
|
|
91
|
+
color: #14343b;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/* Secondary variant 02 - regular weight */
|
|
95
|
+
.hierarchy-secondary.variant-02 {
|
|
96
|
+
font-family: 'NeuSans', 'Inter', system-ui, sans-serif;
|
|
97
|
+
font-size: 14px;
|
|
98
|
+
font-weight: 400;
|
|
99
|
+
line-height: 20px;
|
|
100
|
+
color: #2b484f;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/* Hover state for secondary - underline text */
|
|
104
|
+
.hierarchy-secondary:hover ::slotted(*) {
|
|
105
|
+
text-decoration: underline;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/* Mobile styles */
|
|
109
|
+
@media (max-width: 767px) {
|
|
110
|
+
.hierarchy-primary {
|
|
111
|
+
padding: 20px 12px;
|
|
112
|
+
border-bottom: 1px solid #e8eeed;
|
|
113
|
+
width: 100%;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.hierarchy-primary .label-container {
|
|
117
|
+
flex: 1;
|
|
118
|
+
justify-content: flex-start;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.hierarchy-primary.variant-01 {
|
|
122
|
+
font-size: 20px;
|
|
123
|
+
line-height: 1.1;
|
|
124
|
+
letter-spacing: -0.4px;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.hierarchy-primary.variant-02 {
|
|
128
|
+
font-size: 20px;
|
|
129
|
+
line-height: 1.1;
|
|
130
|
+
letter-spacing: -0.4px;
|
|
131
|
+
color: #60767b;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/* Icon sizing */
|
|
136
|
+
::slotted([slot="icon-left"]),
|
|
137
|
+
::slotted([slot="icon-right"]) {
|
|
138
|
+
width: 24px;
|
|
139
|
+
height: 24px;
|
|
140
|
+
flex-shrink: 0;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.hierarchy-secondary ::slotted([slot="icon-right"]) {
|
|
144
|
+
width: 20px;
|
|
145
|
+
height: 20px;
|
|
146
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
|
+
/**
|
|
3
|
+
* A generic navigation item component that can be used in navigation bars, menus, and sidebars.
|
|
4
|
+
* Supports multiple hierarchy levels, variants, and states (active, hover).
|
|
5
|
+
*/
|
|
6
|
+
export class AfNavItem {
|
|
7
|
+
constructor() {
|
|
8
|
+
/**
|
|
9
|
+
* Visual hierarchy level of the navigation item
|
|
10
|
+
* - 'primary': Bold, main navigation (larger text, prominent styling)
|
|
11
|
+
* - 'secondary': Lighter, sub-navigation (smaller text, subtle styling)
|
|
12
|
+
*/
|
|
13
|
+
this.hierarchy = 'primary';
|
|
14
|
+
/**
|
|
15
|
+
* Visual variant within the hierarchy level
|
|
16
|
+
* - '01': Darker/more prominent styling
|
|
17
|
+
* - '02': Lighter/more subtle styling
|
|
18
|
+
*/
|
|
19
|
+
this.variant = '01';
|
|
20
|
+
/**
|
|
21
|
+
* Whether this nav item is currently active/selected
|
|
22
|
+
*/
|
|
23
|
+
this.active = false;
|
|
24
|
+
}
|
|
25
|
+
render() {
|
|
26
|
+
const classes = {
|
|
27
|
+
'nav-item': true,
|
|
28
|
+
[`hierarchy-${this.hierarchy}`]: true,
|
|
29
|
+
[`variant-${this.variant}`]: true,
|
|
30
|
+
'active': this.active
|
|
31
|
+
};
|
|
32
|
+
const content = (h("div", { class: classes }, h("slot", { name: "icon-left" }), h("div", { class: "label-container" }, h("slot", null)), h("slot", { name: "icon-right" })));
|
|
33
|
+
if (this.href) {
|
|
34
|
+
return (h(Host, null, h("a", { href: this.href, class: "nav-link" }, content)));
|
|
35
|
+
}
|
|
36
|
+
return h(Host, null, content);
|
|
37
|
+
}
|
|
38
|
+
static get is() { return "af-nav-item"; }
|
|
39
|
+
static get encapsulation() { return "shadow"; }
|
|
40
|
+
static get originalStyleUrls() {
|
|
41
|
+
return {
|
|
42
|
+
"$": ["af-nav-item.css"]
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
static get styleUrls() {
|
|
46
|
+
return {
|
|
47
|
+
"$": ["af-nav-item.css"]
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
static get properties() {
|
|
51
|
+
return {
|
|
52
|
+
"hierarchy": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"mutable": false,
|
|
55
|
+
"complexType": {
|
|
56
|
+
"original": "'primary' | 'secondary'",
|
|
57
|
+
"resolved": "\"primary\" | \"secondary\"",
|
|
58
|
+
"references": {}
|
|
59
|
+
},
|
|
60
|
+
"required": false,
|
|
61
|
+
"optional": false,
|
|
62
|
+
"docs": {
|
|
63
|
+
"tags": [],
|
|
64
|
+
"text": "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)"
|
|
65
|
+
},
|
|
66
|
+
"getter": false,
|
|
67
|
+
"setter": false,
|
|
68
|
+
"reflect": false,
|
|
69
|
+
"attribute": "hierarchy",
|
|
70
|
+
"defaultValue": "'primary'"
|
|
71
|
+
},
|
|
72
|
+
"variant": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"mutable": false,
|
|
75
|
+
"complexType": {
|
|
76
|
+
"original": "'01' | '02'",
|
|
77
|
+
"resolved": "\"01\" | \"02\"",
|
|
78
|
+
"references": {}
|
|
79
|
+
},
|
|
80
|
+
"required": false,
|
|
81
|
+
"optional": false,
|
|
82
|
+
"docs": {
|
|
83
|
+
"tags": [],
|
|
84
|
+
"text": "Visual variant within the hierarchy level\n- '01': Darker/more prominent styling\n- '02': Lighter/more subtle styling"
|
|
85
|
+
},
|
|
86
|
+
"getter": false,
|
|
87
|
+
"setter": false,
|
|
88
|
+
"reflect": false,
|
|
89
|
+
"attribute": "variant",
|
|
90
|
+
"defaultValue": "'01'"
|
|
91
|
+
},
|
|
92
|
+
"href": {
|
|
93
|
+
"type": "string",
|
|
94
|
+
"mutable": false,
|
|
95
|
+
"complexType": {
|
|
96
|
+
"original": "string",
|
|
97
|
+
"resolved": "string | undefined",
|
|
98
|
+
"references": {}
|
|
99
|
+
},
|
|
100
|
+
"required": false,
|
|
101
|
+
"optional": true,
|
|
102
|
+
"docs": {
|
|
103
|
+
"tags": [],
|
|
104
|
+
"text": "URL to navigate to when clicked"
|
|
105
|
+
},
|
|
106
|
+
"getter": false,
|
|
107
|
+
"setter": false,
|
|
108
|
+
"reflect": false,
|
|
109
|
+
"attribute": "href"
|
|
110
|
+
},
|
|
111
|
+
"active": {
|
|
112
|
+
"type": "boolean",
|
|
113
|
+
"mutable": false,
|
|
114
|
+
"complexType": {
|
|
115
|
+
"original": "boolean",
|
|
116
|
+
"resolved": "boolean",
|
|
117
|
+
"references": {}
|
|
118
|
+
},
|
|
119
|
+
"required": false,
|
|
120
|
+
"optional": false,
|
|
121
|
+
"docs": {
|
|
122
|
+
"tags": [],
|
|
123
|
+
"text": "Whether this nav item is currently active/selected"
|
|
124
|
+
},
|
|
125
|
+
"getter": false,
|
|
126
|
+
"setter": false,
|
|
127
|
+
"reflect": false,
|
|
128
|
+
"attribute": "active",
|
|
129
|
+
"defaultValue": "false"
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=af-nav-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"af-nav-item.js","sourceRoot":"","sources":["../../../src/components/af-nav-item/af-nav-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;GAGG;AAMH,MAAM,OAAO,SAAS;IALtB;QAME;;;;WAIG;QACK,cAAS,GAA4B,SAAS,CAAC;QAEvD;;;;WAIG;QACK,YAAO,GAAgB,IAAI,CAAC;QAOpC;;WAEG;QACK,WAAM,GAAY,KAAK,CAAC;KAgCjC;IA9BC,MAAM;QACJ,MAAM,OAAO,GAAG;YACd,UAAU,EAAE,IAAI;YAChB,CAAC,aAAa,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI;YACrC,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI;YACjC,QAAQ,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC;QAEF,MAAM,OAAO,GAAG,CACd,WAAK,KAAK,EAAE,OAAO;YACjB,YAAM,IAAI,EAAC,WAAW,GAAQ;YAC9B,WAAK,KAAK,EAAC,iBAAiB;gBAC1B,eAAa,CACT;YACN,YAAM,IAAI,EAAC,YAAY,GAAQ,CAC3B,CACP,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CACL,EAAC,IAAI;gBACH,SAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAC,UAAU,IACjC,OAAO,CACN,CACC,CACR,CAAC;QACJ,CAAC;QAED,OAAO,EAAC,IAAI,QAAE,OAAO,CAAQ,CAAC;IAChC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: block;
|
|
3
|
+
width: 100%;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.navbar-container {
|
|
7
|
+
padding: 32px 80px 0;
|
|
8
|
+
box-sizing: border-box;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.navbar {
|
|
12
|
+
background: #E8F1EF;
|
|
13
|
+
border: 1px solid rgba(0, 0, 0, 0.12);
|
|
14
|
+
border-radius: 9999px;
|
|
15
|
+
display: flex;
|
|
16
|
+
align-items: center;
|
|
17
|
+
justify-content: space-between;
|
|
18
|
+
padding: 8px 8px 8px 40px;
|
|
19
|
+
box-sizing: border-box;
|
|
20
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/* Left section */
|
|
24
|
+
.navbar-left {
|
|
25
|
+
display: flex;
|
|
26
|
+
align-items: center;
|
|
27
|
+
gap: 32px;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.logo {
|
|
31
|
+
display: flex;
|
|
32
|
+
align-items: center;
|
|
33
|
+
flex-shrink: 0;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.nav-links {
|
|
37
|
+
display: flex;
|
|
38
|
+
align-items: center;
|
|
39
|
+
gap: 8px;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/* Right section */
|
|
43
|
+
.navbar-right {
|
|
44
|
+
display: flex;
|
|
45
|
+
align-items: center;
|
|
46
|
+
gap: 20px;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.nav-actions {
|
|
50
|
+
display: flex;
|
|
51
|
+
align-items: center;
|
|
52
|
+
gap: 12px;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.nav-button {
|
|
56
|
+
display: flex;
|
|
57
|
+
align-items: center;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/* Tablet adjustments */
|
|
61
|
+
@media (max-width: 1024px) {
|
|
62
|
+
.navbar-container {
|
|
63
|
+
padding: 24px 40px 0;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.navbar-left {
|
|
67
|
+
gap: 24px;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.nav-links {
|
|
71
|
+
gap: 4px;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/* Mobile adjustments */
|
|
76
|
+
@media (max-width: 767px) {
|
|
77
|
+
.navbar-container {
|
|
78
|
+
padding: 16px 16px 0;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.navbar {
|
|
82
|
+
padding: 8px 16px;
|
|
83
|
+
flex-direction: column;
|
|
84
|
+
border-radius: 16px;
|
|
85
|
+
gap: 16px;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.navbar-left {
|
|
89
|
+
width: 100%;
|
|
90
|
+
flex-direction: column;
|
|
91
|
+
gap: 16px;
|
|
92
|
+
align-items: flex-start;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.nav-links {
|
|
96
|
+
width: 100%;
|
|
97
|
+
flex-direction: column;
|
|
98
|
+
align-items: stretch;
|
|
99
|
+
gap: 0;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.navbar-right {
|
|
103
|
+
width: 100%;
|
|
104
|
+
flex-direction: column;
|
|
105
|
+
gap: 12px;
|
|
106
|
+
align-items: stretch;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.nav-actions {
|
|
110
|
+
width: 100%;
|
|
111
|
+
flex-direction: column;
|
|
112
|
+
align-items: stretch;
|
|
113
|
+
gap: 0;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.nav-button {
|
|
117
|
+
width: 100%;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
|
+
/**
|
|
3
|
+
* A full-width navigation bar component that provides the main site navigation.
|
|
4
|
+
* Features a pill-shaped container with logo, navigation links, and action buttons.
|
|
5
|
+
*/
|
|
6
|
+
export class AfNavbar {
|
|
7
|
+
render() {
|
|
8
|
+
return (h(Host, { key: 'a66b7e6939aebec67d26604dea422ec2e64fe6bd' }, h("nav", { key: '54064edc20beeafacafd2b43b25bfa9fc6e0e362', class: "navbar-container" }, h("div", { key: '2020a0761f646c0a13cc604605d3b9d5b1625278', class: "navbar" }, h("div", { key: '6038de1eba48a2bedf7e689bb65521406fc6b8b1', class: "navbar-left" }, h("div", { key: '63f31053e7d3d1402f2a1e88a4ae2171f9e00d4f', class: "logo" }, h("slot", { key: 'bf73abaf20be9cfcaa6328fe8ac224d109944bef', name: "logo" })), h("div", { key: 'c9cc09537d26c55d319f08c4622b17248f6ffba4', class: "nav-links" }, h("slot", { key: '5c2d8df163e2fd9967492d39522df1e11dfcd977', name: "links" }))), h("div", { key: '45265b4d765ad52a33f81efa80e9daa910948e1c', class: "navbar-right" }, h("div", { key: '48c913dd3d8fa17ee7eb2e9a41f9493929cd7af0', class: "nav-actions" }, h("slot", { key: 'cbfecec0a3b95935f707a4bbded5ce8aae0e9270', name: "actions" })), h("div", { key: 'e8cd7adf6f5a537b9a2552b467f6671f312ab0c1', class: "nav-button" }, h("slot", { key: '9dd578f3d67b32642cc6fbd49a5f3736e55c04f1', name: "button" })))))));
|
|
9
|
+
}
|
|
10
|
+
static get is() { return "af-navbar"; }
|
|
11
|
+
static get encapsulation() { return "shadow"; }
|
|
12
|
+
static get originalStyleUrls() {
|
|
13
|
+
return {
|
|
14
|
+
"$": ["af-navbar.css"]
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
static get styleUrls() {
|
|
18
|
+
return {
|
|
19
|
+
"$": ["af-navbar.css"]
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=af-navbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"af-navbar.js","sourceRoot":"","sources":["../../../src/components/af-navbar/af-navbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEnD;;;GAGG;AAMH,MAAM,OAAO,QAAQ;IACnB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAC,kBAAkB;gBAC3B,4DAAK,KAAK,EAAC,QAAQ;oBAEjB,4DAAK,KAAK,EAAC,aAAa;wBACtB,4DAAK,KAAK,EAAC,MAAM;4BACf,6DAAM,IAAI,EAAC,MAAM,GAAQ,CACrB;wBACN,4DAAK,KAAK,EAAC,WAAW;4BACpB,6DAAM,IAAI,EAAC,OAAO,GAAQ,CACtB,CACF;oBAGN,4DAAK,KAAK,EAAC,cAAc;wBACvB,4DAAK,KAAK,EAAC,aAAa;4BACtB,6DAAM,IAAI,EAAC,SAAS,GAAQ,CACxB;wBACN,4DAAK,KAAK,EAAC,YAAY;4BACrB,6DAAM,IAAI,EAAC,QAAQ,GAAQ,CACvB,CACF,CACF,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host } from '@stencil/core';\n\n/**\n * A full-width navigation bar component that provides the main site navigation.\n * Features a pill-shaped container with logo, navigation links, and action buttons.\n */\n@Component({\n tag: 'af-navbar',\n styleUrl: 'af-navbar.css',\n shadow: true\n})\nexport class AfNavbar {\n render() {\n return (\n <Host>\n <nav class=\"navbar-container\">\n <div class=\"navbar\">\n {/* Left section: Logo + Nav Links */}\n <div class=\"navbar-left\">\n <div class=\"logo\">\n <slot name=\"logo\"></slot>\n </div>\n <div class=\"nav-links\">\n <slot name=\"links\"></slot>\n </div>\n </div>\n\n {/* Right section: Actions + Button */}\n <div class=\"navbar-right\">\n <div class=\"nav-actions\">\n <slot name=\"actions\"></slot>\n </div>\n <div class=\"nav-button\">\n <slot name=\"button\"></slot>\n </div>\n </div>\n </div>\n </nav>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: block;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.text {
|
|
6
|
+
margin: 0;
|
|
7
|
+
padding: 0;
|
|
8
|
+
font-family: 'Helvetica', 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
9
|
+
font-weight: 400;
|
|
10
|
+
color: #14343b;
|
|
11
|
+
letter-spacing: 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/* Alignment */
|
|
15
|
+
.align-left {
|
|
16
|
+
text-align: left;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.align-center {
|
|
20
|
+
text-align: center;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.align-right {
|
|
24
|
+
text-align: right;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/* Body variants */
|
|
28
|
+
.variant-xlarge {
|
|
29
|
+
font-size: 22px;
|
|
30
|
+
line-height: 28px;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.variant-large {
|
|
34
|
+
font-size: 18px;
|
|
35
|
+
line-height: 26px;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.variant-medium {
|
|
39
|
+
font-size: 16px;
|
|
40
|
+
line-height: 24px;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.variant-small {
|
|
44
|
+
font-size: 14px;
|
|
45
|
+
line-height: 20px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/* Label variants - use NeuSans Book */
|
|
49
|
+
.variant-label-button {
|
|
50
|
+
font-family: 'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
51
|
+
font-weight: 500;
|
|
52
|
+
font-size: 17px;
|
|
53
|
+
line-height: 20px;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.variant-label-tag {
|
|
57
|
+
font-family: 'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
58
|
+
font-weight: 500;
|
|
59
|
+
font-size: 14px;
|
|
60
|
+
line-height: 1;
|
|
61
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
export class AfText {
|
|
3
|
+
constructor() {
|
|
4
|
+
/** Text variant */
|
|
5
|
+
this.variant = 'medium';
|
|
6
|
+
/** Visual alignment */
|
|
7
|
+
this.align = 'left';
|
|
8
|
+
/** Semantic element to render */
|
|
9
|
+
this.as = 'p';
|
|
10
|
+
}
|
|
11
|
+
render() {
|
|
12
|
+
const Tag = this.as;
|
|
13
|
+
return (h(Tag, { key: '778a86a185f2416dec867ca2457acb2fe1ad4bcb', class: {
|
|
14
|
+
'text': true,
|
|
15
|
+
[`variant-${this.variant}`]: true,
|
|
16
|
+
[`align-${this.align}`]: true
|
|
17
|
+
}, part: "base" }, h("slot", { key: '2b3ee364c989ca8d233583946e24665df0192fb9' })));
|
|
18
|
+
}
|
|
19
|
+
static get is() { return "af-text"; }
|
|
20
|
+
static get encapsulation() { return "shadow"; }
|
|
21
|
+
static get originalStyleUrls() {
|
|
22
|
+
return {
|
|
23
|
+
"$": ["af-text.css"]
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
static get styleUrls() {
|
|
27
|
+
return {
|
|
28
|
+
"$": ["af-text.css"]
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
static get properties() {
|
|
32
|
+
return {
|
|
33
|
+
"variant": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"mutable": false,
|
|
36
|
+
"complexType": {
|
|
37
|
+
"original": "'xlarge' | 'large' | 'medium' | 'small' | 'label-button' | 'label-tag'",
|
|
38
|
+
"resolved": "\"label-button\" | \"label-tag\" | \"large\" | \"medium\" | \"small\" | \"xlarge\"",
|
|
39
|
+
"references": {}
|
|
40
|
+
},
|
|
41
|
+
"required": false,
|
|
42
|
+
"optional": false,
|
|
43
|
+
"docs": {
|
|
44
|
+
"tags": [],
|
|
45
|
+
"text": "Text variant"
|
|
46
|
+
},
|
|
47
|
+
"getter": false,
|
|
48
|
+
"setter": false,
|
|
49
|
+
"reflect": false,
|
|
50
|
+
"attribute": "variant",
|
|
51
|
+
"defaultValue": "'medium'"
|
|
52
|
+
},
|
|
53
|
+
"align": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"mutable": false,
|
|
56
|
+
"complexType": {
|
|
57
|
+
"original": "'left' | 'center' | 'right'",
|
|
58
|
+
"resolved": "\"center\" | \"left\" | \"right\"",
|
|
59
|
+
"references": {}
|
|
60
|
+
},
|
|
61
|
+
"required": false,
|
|
62
|
+
"optional": false,
|
|
63
|
+
"docs": {
|
|
64
|
+
"tags": [],
|
|
65
|
+
"text": "Visual alignment"
|
|
66
|
+
},
|
|
67
|
+
"getter": false,
|
|
68
|
+
"setter": false,
|
|
69
|
+
"reflect": false,
|
|
70
|
+
"attribute": "align",
|
|
71
|
+
"defaultValue": "'left'"
|
|
72
|
+
},
|
|
73
|
+
"as": {
|
|
74
|
+
"type": "string",
|
|
75
|
+
"mutable": false,
|
|
76
|
+
"complexType": {
|
|
77
|
+
"original": "'p' | 'span' | 'div' | 'label'",
|
|
78
|
+
"resolved": "\"div\" | \"label\" | \"p\" | \"span\"",
|
|
79
|
+
"references": {}
|
|
80
|
+
},
|
|
81
|
+
"required": false,
|
|
82
|
+
"optional": false,
|
|
83
|
+
"docs": {
|
|
84
|
+
"tags": [],
|
|
85
|
+
"text": "Semantic element to render"
|
|
86
|
+
},
|
|
87
|
+
"getter": false,
|
|
88
|
+
"setter": false,
|
|
89
|
+
"reflect": false,
|
|
90
|
+
"attribute": "as",
|
|
91
|
+
"defaultValue": "'p'"
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=af-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"af-text.js","sourceRoot":"","sources":["../../../src/components/af-text/af-text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAOnD,MAAM,OAAO,MAAM;IALnB;QAME,mBAAmB;QACX,YAAO,GAA2E,QAAQ,CAAC;QAEnG,uBAAuB;QACf,UAAK,GAAgC,MAAM,CAAC;QAEpD,iCAAiC;QACzB,OAAE,GAAmC,GAAG,CAAC;KAkBlD;IAhBC,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,EAAS,CAAC;QAE3B,OAAO,CACL,EAAC,GAAG,qDACF,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;gBACZ,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI;gBACjC,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI;aAC9B,EACD,IAAI,EAAC,MAAM;YAEX,8DAAQ,CACJ,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}
|