@affinda/wc 0.0.13 → 0.0.15
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-card.entry.esm.js.map +1 -1
- package/dist/affinda/af-contact-item.entry.esm.js.map +1 -0
- package/dist/affinda/af-cta-section.entry.esm.js.map +1 -1
- package/dist/affinda/af-footer-column.entry.esm.js.map +1 -0
- package/dist/affinda/af-footer-link.entry.esm.js.map +1 -0
- package/dist/affinda/af-footer.entry.esm.js.map +1 -1
- package/dist/affinda/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.esm.js.map +1 -1
- package/dist/affinda/af-social-link.entry.esm.js.map +1 -0
- package/dist/affinda/affinda.esm.js +1 -1
- package/dist/affinda/index.esm.js +1 -1
- package/dist/affinda/p-0eb8173d.entry.js +2 -0
- package/dist/affinda/p-0eb8173d.entry.js.map +1 -0
- package/dist/affinda/p-1955dbad.entry.js +2 -0
- package/dist/affinda/p-1955dbad.entry.js.map +1 -0
- package/dist/affinda/p-1b18ab28.entry.js +2 -0
- package/dist/affinda/{p-e367e42b.entry.js.map → p-1b18ab28.entry.js.map} +1 -1
- package/dist/affinda/{p-83f1f94c.entry.js → p-1e3d40a0.entry.js} +2 -2
- package/dist/affinda/{p-07990b1f.entry.js → p-350ac7a5.entry.js} +2 -2
- package/dist/affinda/{p-46e32b6d.entry.js → p-71e663b3.entry.js} +2 -2
- package/dist/affinda/p-7b8c36e0.entry.js +2 -0
- package/dist/affinda/p-7b8c36e0.entry.js.map +1 -0
- package/dist/affinda/p-806d129e.entry.js +2 -0
- package/dist/affinda/p-806d129e.entry.js.map +1 -0
- package/dist/affinda/{p-456e933c.entry.js → p-83b5d5ea.entry.js} +2 -2
- package/dist/affinda/{p-e0ce24ab.entry.js → p-9071c2a7.entry.js} +2 -2
- package/dist/affinda/{p-ed9af653.entry.js → p-b2fb60c9.entry.js} +2 -2
- package/dist/affinda/p-bd30e86a.entry.js +2 -0
- package/dist/affinda/p-bd30e86a.entry.js.map +1 -0
- package/dist/affinda/{p-1d00696b.entry.js → p-e1198ca3.entry.js} +2 -2
- package/dist/affinda/{p-ac7efb48.entry.js → p-e3efc291.entry.js} +2 -2
- package/dist/affinda/{p-dec4c4d5.entry.js → p-ec7721cc.entry.js} +2 -2
- package/dist/affinda/{p-b6885a9a.entry.js → p-f692a7bd.entry.js} +2 -2
- package/dist/affinda/p-f692a7bd.entry.js.map +1 -0
- package/dist/affinda/p-fb4e3a8d.entry.js +2 -0
- package/dist/affinda/p-fb4e3a8d.entry.js.map +1 -0
- package/dist/affinda/{p-0835ca39.entry.js → p-fc2cb8d1.entry.js} +2 -2
- package/dist/cjs/af-button-group.cjs.entry.js +1 -1
- package/dist/cjs/af-card.cjs.entry.js +2 -2
- package/dist/cjs/af-card.entry.cjs.js.map +1 -1
- package/dist/cjs/af-client-carousel.cjs.entry.js +1 -1
- package/dist/cjs/af-contact-item.cjs.entry.js +22 -0
- package/dist/cjs/af-contact-item.entry.cjs.js.map +1 -0
- package/dist/cjs/af-cta-section.cjs.entry.js +9 -7
- package/dist/cjs/af-cta-section.entry.cjs.js.map +1 -1
- package/dist/cjs/af-feature-accordion.cjs.entry.js +2 -2
- package/dist/cjs/af-footer-column.cjs.entry.js +20 -0
- package/dist/cjs/af-footer-column.entry.cjs.js.map +1 -0
- package/dist/cjs/af-footer-link.cjs.entry.js +22 -0
- package/dist/cjs/af-footer-link.entry.cjs.js.map +1 -0
- package/dist/cjs/af-footer.cjs.entry.js +10 -16
- package/dist/cjs/af-footer.entry.cjs.js.map +1 -1
- package/dist/cjs/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js.map +1 -1
- package/dist/cjs/af-heading_5.cjs.entry.js +12 -3
- package/dist/cjs/af-hero-section.cjs.entry.js +1 -1
- package/dist/cjs/af-logo-well.cjs.entry.js +1 -1
- package/dist/cjs/af-section.cjs.entry.js +2 -2
- package/dist/cjs/af-social-link.cjs.entry.js +40 -0
- package/dist/cjs/af-social-link.entry.cjs.js.map +1 -0
- package/dist/cjs/af-testimonial-carousel.cjs.entry.js +2 -2
- package/dist/cjs/af-testimonial-stat.cjs.entry.js +1 -1
- package/dist/cjs/af-testimonial.cjs.entry.js +1 -1
- package/dist/cjs/af-typography-lockup.cjs.entry.js +1 -1
- package/dist/cjs/affinda.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/assets/logo-affinda.svg +19 -0
- package/dist/collection/collection-manifest.json +4 -0
- package/dist/collection/components/af-button-group/af-button-group.js +1 -1
- package/dist/collection/components/af-card/af-card.css +2 -1
- package/dist/collection/components/af-card/af-card.js +1 -1
- package/dist/collection/components/af-client-carousel/af-client-carousel.js +1 -1
- package/dist/collection/components/af-contact-item/af-contact-item.css +26 -0
- package/dist/collection/components/af-contact-item/af-contact-item.js +73 -0
- package/dist/collection/components/af-contact-item/af-contact-item.js.map +1 -0
- package/dist/collection/components/af-cta-section/af-cta-section.css +5 -5
- package/dist/collection/components/af-cta-section/af-cta-section.js +34 -12
- package/dist/collection/components/af-cta-section/af-cta-section.js.map +1 -1
- package/dist/collection/components/af-feature-accordion/af-feature-accordion.js +2 -2
- package/dist/collection/components/af-footer/af-footer.css +1 -1
- package/dist/collection/components/af-footer/af-footer.js +29 -94
- package/dist/collection/components/af-footer/af-footer.js.map +1 -1
- package/dist/collection/components/af-footer-column/af-footer-column.css +32 -0
- package/dist/collection/components/af-footer-column/af-footer-column.js +51 -0
- package/dist/collection/components/af-footer-column/af-footer-column.js.map +1 -0
- package/dist/collection/components/af-footer-link/af-footer-link.css +30 -0
- package/dist/collection/components/af-footer-link/af-footer-link.js +73 -0
- package/dist/collection/components/af-footer-link/af-footer-link.js.map +1 -0
- package/dist/collection/components/af-hero-section/af-hero-section.js +1 -1
- package/dist/collection/components/af-logo/af-logo.css +10 -2
- package/dist/collection/components/af-logo/af-logo.js +55 -2
- package/dist/collection/components/af-logo/af-logo.js.map +1 -1
- package/dist/collection/components/af-logo-well/af-logo-well.js +1 -1
- package/dist/collection/components/af-navbar/af-navbar.js +30 -1
- package/dist/collection/components/af-navbar/af-navbar.js.map +1 -1
- package/dist/collection/components/af-section/af-section.js +2 -2
- package/dist/collection/components/af-social-link/af-social-link.css +21 -0
- package/dist/collection/components/af-social-link/af-social-link.js +111 -0
- package/dist/collection/components/af-social-link/af-social-link.js.map +1 -0
- package/dist/collection/components/af-testimonial/af-testimonial.js +1 -1
- package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +2 -2
- package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +1 -1
- package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +1 -1
- package/dist/components/af-button-group.js +1 -1
- package/dist/components/af-card.js +2 -2
- package/dist/components/af-card.js.map +1 -1
- package/dist/components/af-client-carousel.js +1 -1
- package/dist/components/af-contact-item.d.ts +11 -0
- package/dist/components/af-contact-item.js +44 -0
- package/dist/components/af-contact-item.js.map +1 -0
- package/dist/components/af-cta-section.js +11 -8
- package/dist/components/af-cta-section.js.map +1 -1
- package/dist/components/af-feature-accordion.js +2 -2
- package/dist/components/af-footer-column.d.ts +11 -0
- package/dist/components/af-footer-column.js +41 -0
- package/dist/components/af-footer-column.js.map +1 -0
- package/dist/components/af-footer-link.d.ts +11 -0
- package/dist/components/af-footer-link.js +44 -0
- package/dist/components/af-footer-link.js.map +1 -0
- package/dist/components/af-footer.js +13 -22
- package/dist/components/af-footer.js.map +1 -1
- package/dist/components/af-hero-section.js +1 -1
- package/dist/components/af-logo-well.js +1 -1
- package/dist/components/af-logo.js +1 -1
- package/dist/components/af-navbar.js +1 -1
- package/dist/components/af-section.js +2 -2
- package/dist/components/af-social-link.d.ts +11 -0
- package/dist/components/af-social-link.js +63 -0
- package/dist/components/af-social-link.js.map +1 -0
- package/dist/components/af-testimonial-carousel.js +2 -2
- package/dist/components/af-testimonial-stat.js +1 -1
- package/dist/components/af-testimonial.js +1 -1
- package/dist/components/af-typography-lockup.js +1 -1
- package/dist/components/index.js +4 -4
- package/dist/components/p-CN_K2ni-.js +45 -0
- package/dist/components/p-CN_K2ni-.js.map +1 -0
- package/dist/components/{p-Thu9mUEn.js → p-CgnBqOVh.js} +13 -4
- package/dist/components/p-CgnBqOVh.js.map +1 -0
- package/dist/components/{p-7a3XpKXs.js → p-DBFWSHR9.js} +3 -3
- package/dist/components/{p-7a3XpKXs.js.map → p-DBFWSHR9.js.map} +1 -1
- package/dist/components/{p-emB0l5gm.js → p-LUt2VDjp.js} +3 -3
- package/dist/components/{p-emB0l5gm.js.map → p-LUt2VDjp.js.map} +1 -1
- package/dist/esm/af-button-group.entry.js +1 -1
- package/dist/esm/af-card.entry.js +2 -2
- package/dist/esm/af-card.entry.js.map +1 -1
- package/dist/esm/af-client-carousel.entry.js +1 -1
- package/dist/esm/af-contact-item.entry.js +20 -0
- package/dist/esm/af-contact-item.entry.js.map +1 -0
- package/dist/esm/af-cta-section.entry.js +9 -7
- package/dist/esm/af-cta-section.entry.js.map +1 -1
- package/dist/esm/af-feature-accordion.entry.js +2 -2
- package/dist/esm/af-footer-column.entry.js +18 -0
- package/dist/esm/af-footer-column.entry.js.map +1 -0
- package/dist/esm/af-footer-link.entry.js +20 -0
- package/dist/esm/af-footer-link.entry.js.map +1 -0
- package/dist/esm/af-footer.entry.js +10 -16
- package/dist/esm/af-footer.entry.js.map +1 -1
- package/dist/esm/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js.map +1 -1
- package/dist/esm/af-heading_5.entry.js +12 -3
- package/dist/esm/af-hero-section.entry.js +1 -1
- package/dist/esm/af-logo-well.entry.js +1 -1
- package/dist/esm/af-section.entry.js +2 -2
- package/dist/esm/af-social-link.entry.js +38 -0
- package/dist/esm/af-social-link.entry.js.map +1 -0
- package/dist/esm/af-testimonial-carousel.entry.js +2 -2
- package/dist/esm/af-testimonial-stat.entry.js +1 -1
- package/dist/esm/af-testimonial.entry.js +1 -1
- package/dist/esm/af-typography-lockup.entry.js +1 -1
- package/dist/esm/affinda.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/af-contact-item/af-contact-item.d.ts +11 -0
- package/dist/types/components/af-cta-section/af-cta-section.d.ts +4 -2
- package/dist/types/components/af-footer/af-footer.d.ts +10 -15
- package/dist/types/components/af-footer-column/af-footer-column.d.ts +9 -0
- package/dist/types/components/af-footer-link/af-footer-link.d.ts +11 -0
- package/dist/types/components/af-logo/af-logo.d.ts +6 -1
- package/dist/types/components/af-navbar/af-navbar.d.ts +5 -0
- package/dist/types/components/af-social-link/af-social-link.d.ts +14 -0
- package/dist/types/components.d.ts +294 -74
- package/package.json +1 -1
- package/dist/affinda/p-00214c08.entry.js +0 -2
- package/dist/affinda/p-00214c08.entry.js.map +0 -1
- package/dist/affinda/p-b3fe032d.entry.js +0 -2
- package/dist/affinda/p-b3fe032d.entry.js.map +0 -1
- package/dist/affinda/p-b6885a9a.entry.js.map +0 -1
- package/dist/affinda/p-e367e42b.entry.js +0 -2
- package/dist/components/p-D4s4u7tL.js +0 -35
- package/dist/components/p-D4s4u7tL.js.map +0 -1
- package/dist/components/p-Thu9mUEn.js.map +0 -1
- /package/dist/affinda/{p-83f1f94c.entry.js.map → p-1e3d40a0.entry.js.map} +0 -0
- /package/dist/affinda/{p-07990b1f.entry.js.map → p-350ac7a5.entry.js.map} +0 -0
- /package/dist/affinda/{p-46e32b6d.entry.js.map → p-71e663b3.entry.js.map} +0 -0
- /package/dist/affinda/{p-456e933c.entry.js.map → p-83b5d5ea.entry.js.map} +0 -0
- /package/dist/affinda/{p-e0ce24ab.entry.js.map → p-9071c2a7.entry.js.map} +0 -0
- /package/dist/affinda/{p-ed9af653.entry.js.map → p-b2fb60c9.entry.js.map} +0 -0
- /package/dist/affinda/{p-1d00696b.entry.js.map → p-e1198ca3.entry.js.map} +0 -0
- /package/dist/affinda/{p-ac7efb48.entry.js.map → p-e3efc291.entry.js.map} +0 -0
- /package/dist/affinda/{p-dec4c4d5.entry.js.map → p-ec7721cc.entry.js.map} +0 -0
- /package/dist/affinda/{p-0835ca39.entry.js.map → p-fc2cb8d1.entry.js.map} +0 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-DfEVhbS6.js');
|
|
4
|
+
|
|
5
|
+
const afFooterLinkCss = ".sc-af-footer-link-h{display:contents}li.sc-af-footer-link{margin:0;list-style:none}.footer-link.sc-af-footer-link{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:400;color:rgba(198, 213, 209, 0.7);text-decoration:none;transition:color 0.2s ease;display:inline-flex;align-items:center;gap:6px}.footer-link.sc-af-footer-link:hover{color:var(--colour-tints-mistGreen-200, #C6D5D1)}.footer-link__external-icon.sc-af-footer-link{opacity:0.7;flex-shrink:0}";
|
|
6
|
+
|
|
7
|
+
const AfFooterLink = class {
|
|
8
|
+
constructor(hostRef) {
|
|
9
|
+
index.registerInstance(this, hostRef);
|
|
10
|
+
/** Link URL */
|
|
11
|
+
this.href = '#';
|
|
12
|
+
/** Whether this is an external link (opens in new tab) */
|
|
13
|
+
this.external = false;
|
|
14
|
+
}
|
|
15
|
+
render() {
|
|
16
|
+
return (index.h(index.Host, { key: 'bd5e75cc92ab3bbf50edb472f7522ab3d1c0f56d' }, index.h("li", { key: '45f8e447b46a79af851c5ac0d7329101e9da4061' }, index.h("a", { key: '569de0a6bd3ef8171507e4fa7d1cf52d707e8eb7', href: this.href, class: "footer-link", target: this.external ? '_blank' : undefined, rel: this.external ? 'noopener noreferrer' : undefined }, index.h("slot", { key: '29cdfcec2c4357b2326fbae766c6a5bcb3c0b4c4' }), this.external && (index.h("svg", { key: '9f2d82cb5a93836c308feca7e3748980b88e2cbe', class: "footer-link__external-icon", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" }, index.h("path", { key: '40543ee1f0ca0e718a12ebc7b592cd9520bd6dd7', d: "M10 6.5v3a1 1 0 0 1-1 1H2.5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3M7.5 1.5h3v3M5.5 6.5l5-5", stroke: "currentColor", "stroke-width": "1.2", "stroke-linecap": "round", "stroke-linejoin": "round" })))))));
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
AfFooterLink.style = afFooterLinkCss;
|
|
20
|
+
|
|
21
|
+
exports.af_footer_link = AfFooterLink;
|
|
22
|
+
//# sourceMappingURL=af-footer-link.entry.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"af-footer-link.entry.cjs.js","sources":["src/components/af-footer-link/af-footer-link.css?tag=af-footer-link&encapsulation=scoped","src/components/af-footer-link/af-footer-link.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\nli {\n margin: 0;\n list-style: none;\n}\n\n.footer-link {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 400;\n color: rgba(198, 213, 209, 0.7);\n text-decoration: none;\n transition: color 0.2s ease;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n}\n\n.footer-link:hover {\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n}\n\n.footer-link__external-icon {\n opacity: 0.7;\n flex-shrink: 0;\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Footer link component\n * Styled link for use in footer navigation columns\n */\n@Component({\n tag: 'af-footer-link',\n styleUrl: 'af-footer-link.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFooterLink {\n /** Link URL */\n @Prop() href: string = '#';\n\n /** Whether this is an external link (opens in new tab) */\n @Prop() external: boolean = false;\n\n render() {\n return (\n <Host>\n <li>\n <a \n href={this.href} \n class=\"footer-link\"\n target={this.external ? '_blank' : undefined}\n rel={this.external ? 'noopener noreferrer' : undefined}\n >\n <slot></slot>\n {this.external && (\n <svg class=\"footer-link__external-icon\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path d=\"M10 6.5v3a1 1 0 0 1-1 1H2.5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3M7.5 1.5h3v3M5.5 6.5l5-5\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n )}\n </a>\n </li>\n </Host>\n );\n }\n}\n\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,eAAe,GAAG,ifAAif;;MCY5f,YAAY,GAAA,MAAA;AANzB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAQU,QAAA,IAAI,CAAA,IAAA,GAAW,GAAG;;AAGlB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAuBlC;IArBC,MAAM,GAAA;AACJ,QAAA,QACEA,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACEA,OAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,aAAa,EACnB,MAAM,EAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,SAAS,EAC5C,GAAG,EAAE,IAAI,CAAC,QAAQ,GAAG,qBAAqB,GAAG,SAAS,EAAA,EAEtDA,OAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACZ,IAAI,CAAC,QAAQ,KACZA,kEAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAA,EAC5FA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAC,EAAC,qFAAqF,EAAC,MAAM,EAAC,cAAc,kBAAc,KAAK,EAAA,gBAAA,EAAgB,OAAO,EAAiB,iBAAA,EAAA,OAAO,GAAE,CACnL,CACP,CACC,CACD,CACA;;;;;;;"}
|
|
@@ -2,30 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DfEVhbS6.js');
|
|
4
4
|
|
|
5
|
-
const afFooterCss = ".sc-af-footer-h{display:block}.footer.sc-af-footer{background-color:var(--colour-brand-inkwell, #14343b);color:var(--colour-tints-mistGreen-200, #C6D5D1);padding:
|
|
5
|
+
const afFooterCss = ".sc-af-footer-h{display:block}.footer.sc-af-footer{background-color:var(--colour-brand-inkwell, #14343b);color:var(--colour-tints-mistGreen-200, #C6D5D1);padding:120px 0 0}.footer__container.sc-af-footer{max-width:1280px;margin:0 auto;padding:0 24px}.footer__top.sc-af-footer{display:grid;grid-template-columns:380px 1fr;gap:48px;padding-bottom:48px}.footer__brand.sc-af-footer{display:flex;flex-direction:column;gap:16px}.footer__brand-card.sc-af-footer{background-color:rgba(198, 213, 209, 0.08);border-radius:16px;padding:32px}.footer__logo.sc-af-footer{margin-bottom:24px}.footer__logo.sc-af-footer svg.sc-af-footer,.footer__logo.sc-af-footer img.sc-af-footer{height:32px;width:auto}.footer__social.sc-af-footer{display:flex;gap:12px}.footer__social-link.sc-af-footer{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(198, 213, 209, 0.3);border-radius:50%;color:var(--colour-tints-mistGreen-200, #C6D5D1);transition:all 0.2s ease}.footer__social-link.sc-af-footer:hover{background-color:rgba(198, 213, 209, 0.1);border-color:rgba(198, 213, 209, 0.5)}.footer__contact-card.sc-af-footer{background-color:rgba(198, 213, 209, 0.08);border-radius:16px;padding:24px 32px;display:flex;flex-direction:column;gap:20px}.footer__contact-item.sc-af-footer{display:flex;flex-direction:column;gap:4px}.footer__contact-label.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:600;color:var(--colour-tints-mistGreen-200, #C6D5D1);margin:0}.footer__contact-value.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:400;color:rgba(198, 213, 209, 0.7);margin:0}.footer__nav.sc-af-footer{display:flex;flex-direction:column;justify-content:space-between}.footer__nav-columns.sc-af-footer{display:grid;grid-template-columns:repeat(4, 1fr);gap:32px}.footer__nav-column.sc-af-footer{display:flex;flex-direction:column;gap:16px}.footer__nav-heading.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:600;color:var(--colour-tints-mistGreen-200, #C6D5D1);margin:0;text-transform:none}.footer__nav-list.sc-af-footer{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.footer__nav-list.sc-af-footer li.sc-af-footer{margin:0}.footer__nav-list.sc-af-footer a.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:400;color:rgba(198, 213, 209, 0.7);text-decoration:none;transition:color 0.2s ease;display:inline-flex;align-items:center;gap:6px}.footer__nav-list.sc-af-footer a.sc-af-footer:hover{color:var(--colour-tints-mistGreen-200, #C6D5D1)}.footer__external-icon.sc-af-footer{opacity:0.7;flex-shrink:0}.footer__status.sc-af-footer{display:flex;align-items:center;gap:8px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(198, 213, 209, 0.1)}.footer__status-dot.sc-af-footer{width:10px;height:10px;border-radius:50%;flex-shrink:0}.footer__status-dot--operational.sc-af-footer{background-color:#22c55e}.footer__status-dot--issue.sc-af-footer{background-color:#ef4444}.footer__status-text.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;color:rgba(198, 213, 209, 0.7)}.footer__status-link.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;color:var(--colour-tints-mistGreen-200, #C6D5D1);text-decoration:underline;text-underline-offset:2px;margin-left:8px}.footer__status-link.sc-af-footer:hover{text-decoration:none}.footer__bottom.sc-af-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;padding:24px 0;border-top:1px solid rgba(198, 213, 209, 0.1);background-color:rgba(198, 213, 209, 0.05);margin:0 -24px;padding-left:24px;padding-right:24px}.footer__copyright.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;color:rgba(198, 213, 209, 0.7);margin:0}.footer__legal.sc-af-footer{display:flex;gap:24px}.footer__legal.sc-af-footer a.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;color:rgba(198, 213, 209, 0.7);text-decoration:underline;text-underline-offset:2px}.footer__legal.sc-af-footer a.sc-af-footer:hover{color:var(--colour-tints-mistGreen-200, #C6D5D1);text-decoration:none}.footer__badges.sc-af-footer{display:flex;gap:16px;align-items:center}.footer__badge.sc-af-footer{width:48px;height:48px;display:flex;align-items:center;justify-content:center}.footer__badge.sc-af-footer svg.sc-af-footer{width:100%;height:100%}@media (max-width: 1024px){.footer__top.sc-af-footer{grid-template-columns:1fr;gap:48px}.footer__brand.sc-af-footer{flex-direction:row;gap:16px}.footer__brand-card.sc-af-footer,.footer__contact-card.sc-af-footer{flex:1}}@media (max-width: 768px){.footer.sc-af-footer{padding:48px 0 0}.footer__top.sc-af-footer{gap:32px}.footer__brand.sc-af-footer{flex-direction:column}.footer__nav-columns.sc-af-footer{grid-template-columns:repeat(2, 1fr);gap:32px}.footer__bottom.sc-af-footer{flex-direction:column;align-items:flex-start;gap:16px}.footer__legal.sc-af-footer{flex-wrap:wrap;gap:16px}}@media (max-width: 480px){.footer__container.sc-af-footer{padding:0 16px}.footer__brand-card.sc-af-footer,.footer__contact-card.sc-af-footer{padding:24px}.footer__nav-columns.sc-af-footer{grid-template-columns:1fr;gap:24px}.footer__bottom.sc-af-footer{margin:0 -16px;padding-left:16px;padding-right:16px}.footer__badges.sc-af-footer{width:100%;justify-content:flex-start}}";
|
|
6
6
|
|
|
7
7
|
const AfFooter = class {
|
|
8
8
|
constructor(hostRef) {
|
|
9
9
|
index.registerInstance(this, hostRef);
|
|
10
|
-
/**
|
|
11
|
-
this.
|
|
12
|
-
/**
|
|
13
|
-
this.
|
|
14
|
-
/** Copyright year */
|
|
15
|
-
this.copyrightYear = new Date().getFullYear().toString();
|
|
10
|
+
/** Copyright text (e.g., "© 2025 Company Name. All rights reserved.") */
|
|
11
|
+
this.copyrightText = '';
|
|
12
|
+
/** Status message text */
|
|
13
|
+
this.statusText = '';
|
|
16
14
|
/** Status page URL */
|
|
17
|
-
this.statusUrl = '
|
|
18
|
-
/** Whether
|
|
15
|
+
this.statusUrl = '';
|
|
16
|
+
/** Whether systems are operational (shows green/red indicator) */
|
|
19
17
|
this.systemsOperational = true;
|
|
20
|
-
/**
|
|
21
|
-
this.
|
|
22
|
-
/** YouTube URL */
|
|
23
|
-
this.youtubeUrl = 'https://www.youtube.com/@affinda';
|
|
24
|
-
/** GitHub URL */
|
|
25
|
-
this.githubUrl = 'https://github.com/affinda';
|
|
18
|
+
/** Whether to show the status indicator */
|
|
19
|
+
this.showStatus = true;
|
|
26
20
|
}
|
|
27
21
|
render() {
|
|
28
|
-
return (index.h(index.Host, { key: '9d009ef32ef2d3a02a73534642cfac11124a021f' }, index.h("footer", { key: '9a15bc43554ff8e01710166a06d670648f1a63f9', class: "footer" }, index.h("div", { key: '123bc6641fd50dccc612a8c0e2ae03c1246cb7d3', class: "footer__container" }, index.h("div", { key: 'a2873b726170cedba26c3e68af6f0d0c4cfe83ad', class: "footer__top" }, index.h("div", { key: 'e0fb266adea854029fc6a8aa1003c82703b2d05c', class: "footer__brand" }, index.h("div", { key: 'cd7f8942f32d91500ec4a4676e9e0f140fb1cab6', class: "footer__brand-card" }, index.h("div", { key: '2ec8af97528776c09f91f9c6436c4ef002751f90', class: "footer__logo" }, index.h("slot", { key: 'df60c6030e452738a21ab2451feacf2b16b36c27', name: "logo" }, index.h("svg", { key: 'cfa7e88427109d5e44c03e92fa6db599daa302a9', width: "140", height: "32", viewBox: "0 0 140 32", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { key: '934857a327a1aa73944dceb45b17f1c9b7e10d89', d: "M16 0C7.163 0 0 7.163 0 16s7.163 16 16 16 16-7.163 16-16S24.837 0 16 0zm0 24c-4.418 0-8-3.582-8-8s3.582-8 8-8 8 3.582 8 8-3.582 8-8 8z", fill: "#C6D5D1" }), index.h("text", { key: '73cf1cd7fd3fd3fd85741ce7661fde09e2768840', x: "40", y: "22", fill: "#C6D5D1", "font-family": "NeuSans, sans-serif", "font-size": "20", "font-weight": "500" }, "affinda")))), index.h("div", { key: 'fee5f9ae35bcdbce0f757537fa330ccbcee36ec7', class: "footer__social" }, index.h("a", { key: '1dd47b104eef96d88df54fdfdb99302f5b731579', href: this.linkedinUrl, target: "_blank", rel: "noopener noreferrer", class: "footer__social-link", "aria-label": "LinkedIn" }, index.h("svg", { key: '5b0925eb82f5ecbc24310c0a733e8faaa73e9b31', width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, index.h("path", { key: '3b3be2e724b5de798eef3700db7577ade534952a', d: "M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" }), index.h("rect", { key: '561369255a60efb96698a712d293822043c67960', x: "2", y: "9", width: "4", height: "12" }), index.h("circle", { key: '69641757ebd881056951192d21e36acb974a32a6', cx: "4", cy: "4", r: "2" }))), index.h("a", { key: '93c78373a62004b20edc2a436184afea029d40b2', href: this.youtubeUrl, target: "_blank", rel: "noopener noreferrer", class: "footer__social-link", "aria-label": "YouTube" }, index.h("svg", { key: '8a9bd363371a478c298afaf309b9209dd74a95e2', width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, index.h("path", { key: '09be0bd05dbe2d2836a8f8bd40b3bbb4c3328f74', d: "M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z" }), index.h("polygon", { key: '6d3abfd00c36b8fa207c3a4034ebd30ffc0dcfa9', points: "9.75,15.02 15.5,11.75 9.75,8.48", fill: "currentColor", stroke: "none" }))), index.h("a", { key: '12eb2941c5a0cd2d43aa5e4bbf3ca68c9f6e64a1', href: this.githubUrl, target: "_blank", rel: "noopener noreferrer", class: "footer__social-link", "aria-label": "GitHub" }, index.h("svg", { key: '7dad99278cd95a82235bce64c0c48d18743350d5', width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, index.h("path", { key: '2ae90cbeb291d9326a5b4b9fe5f5e0b8ba0bf176', d: "M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22" }))))), index.h("div", { key: '308edfd162be480ce06dc13d6cc3cee5f56ba1e4', class: "footer__contact-card" }, index.h("div", { key: '31b7465b193fdbc7fd3b547b3024e516ca9730c9', class: "footer__contact-item" }, index.h("h5", { key: '1af87d6ba8d55dffb4a096e081c7575b8b81f611', class: "footer__contact-label" }, "Sales enquiries"), index.h("p", { key: '20e5f723226b597593a303f32c784db7e4b61e6e', class: "footer__contact-value" }, this.salesEmail)), index.h("div", { key: 'ee4d28d31e45700c3f505f84663a6309fa8e8144', class: "footer__contact-item" }, index.h("h5", { key: 'bd36693af223e71fa6522abc8ad6c050235f3aac', class: "footer__contact-label" }, "Support"), index.h("p", { key: 'e7a7468f65247c84610c2b360c923cbff57d2ccd', class: "footer__contact-value" }, this.supportEmail)))), index.h("div", { key: '8e4a2957dda89c67ee8e670515e87563aa1aca5e', class: "footer__nav" }, index.h("div", { key: 'aa05658c3cd62f24179db9bb5610fe34fb3fa4d4', class: "footer__nav-columns" }, index.h("slot", { key: 'fc4c5c493eff381965d4ea7233d9bec4c3697cac', name: "nav-columns" }, index.h("div", { key: '6358c92f788927646a599f67d4a3ca4705354958', class: "footer__nav-column" }, index.h("h5", { key: 'f356843b9c094f07483a252f1c288f4743f66fc1', class: "footer__nav-heading" }, "Explore"), index.h("ul", { key: '76c13d87e00ff9efccbdd94f57ead39bcb153868', class: "footer__nav-list" }, index.h("li", { key: '831b35251740578ca45226ea1a7c54102e298f1a' }, index.h("a", { key: 'fd128375e061b9b027571840299fd6567b587355', href: "/platform" }, "Platform")), index.h("li", { key: '53e7f312418def66d1fab445d9aecf024cdfff66' }, index.h("a", { key: 'af6558aff8a2e79f573922aa5af52c25e21fa57b', href: "/industries" }, "Industries")), index.h("li", { key: '9e0208a0c9d3b735ae3de5d77700a8cb99a53a44' }, index.h("a", { key: '02365c6b8f7cc8281b86549acbaed3ea967944fe', href: "/use-cases" }, "Use cases")), index.h("li", { key: '5475c2013c4fa862e346e5b0ad00772d6c4497d7' }, index.h("a", { key: '1a30dacf3c00e738c83ea189dfc851c0540a0d45', href: "/documents" }, "Document types")), index.h("li", { key: '59fcc181483eba0a64a7331021e00a5d019e783e' }, index.h("a", { key: 'fa09d2be553b67e6842ff14da264397d34ca37c5', href: "/resume-parser" }, "Resume Parser")))), index.h("div", { key: '3cedaccbf551c0f823c75edda0611ac190066a66', class: "footer__nav-column" }, index.h("h5", { key: '25c90b695d1f93121e8a45680e6b4d386e6c160c', class: "footer__nav-heading" }, "Pricing"), index.h("ul", { key: '0a4e1fda6589e89bfe48b1dcc7345f1721485ba7', class: "footer__nav-list" }, index.h("li", { key: '85cc5dfea398d8f3a2c7050fdfb760b808978252' }, index.h("a", { key: '29cb2a166e31b55b0b304434b5ecef310538fd52', href: "/pricing-plans" }, "Platform pricing")), index.h("li", { key: '922cbb456dd451587575af269bc36f9f9cd0aa6d' }, index.h("a", { key: '4afded0564653d0f64ce11988c4f824021793b8c', href: "/recruitment-ai-pricing" }, "Resume Parser pricing")))), index.h("div", { key: 'ac0b8a6cb71ee08d7c707ca231dc4d109eb5cd56', class: "footer__nav-column" }, index.h("h5", { key: 'dc1030561031dfebb6cba5ce4986bc987e275e1b', class: "footer__nav-heading" }, "Company"), index.h("ul", { key: 'dd2f31792aa3e7bf9d89debbf0f9a292326d9f1d', class: "footer__nav-list" }, index.h("li", { key: '8b960c5b652663826b5ca8b096c500eb41473088' }, index.h("a", { key: 'f5ffe17af65db0d004930c83271b3e2c8c2a45c3', href: "/about-us" }, "About")), index.h("li", { key: '15383db8132cb54113c82f0e984ab2456f68ab67' }, index.h("a", { key: '06e49b29807bfaec53d639d0586c042a75aa6da8', href: "/careers" }, "Careers")), index.h("li", { key: 'd6b5802dbdde8237e18d442544a4ddcab3e938ba' }, index.h("a", { key: 'd6f2b1dda3e345e4881012111407b9868191cae8', href: "/partners" }, "Partners")), index.h("li", { key: '3b1b383567fb9f3ebcf34674945b50ea34d707c4' }, index.h("a", { key: 'e3792eb407636a04acd13e537d1192e325e0bf28', href: "/contact" }, "Contact us")), index.h("li", { key: 'bddc9b5fde22e7bbae0ac37664899bdd7ac577b9' }, index.h("a", { key: '5f7c16c277ee3e52994a4d3b675e90be914d4210', href: "/security" }, "Security")), index.h("li", { key: 'f873de499deba836dcd4cd25558b839521975fc7' }, index.h("a", { key: 'ca0bcca09d3bcc6c26f0e48bc0d8fe67725e2fd9', href: "https://www.affindagroup.com/", target: "_blank", rel: "noopener noreferrer" }, "Affinda Group", index.h("svg", { key: 'e27156d4a31906cf106939fb160c06aa7ed0cc0a', class: "footer__external-icon", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" }, index.h("path", { key: 'ae63d3e1f0e5a8dc52c41fa915b9927daa357412', d: "M10 6.5v3a1 1 0 0 1-1 1H2.5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3M7.5 1.5h3v3M5.5 6.5l5-5", stroke: "currentColor", "stroke-width": "1.2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), index.h("li", { key: 'fa6ddff07db042e41b11cdc41d098c54181144c4' }, index.h("a", { key: '7bb51d2e9c27dac57e099fd1570f155ac626825b', href: "https://www.draftable.com/", target: "_blank", rel: "noopener noreferrer" }, "Draftable", index.h("svg", { key: 'c07bf4f900036a85ea1c662d63f88b1c544f567b', class: "footer__external-icon", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" }, index.h("path", { key: 'a32e00e84fada8224ca32793debbb8023980f6dc', d: "M10 6.5v3a1 1 0 0 1-1 1H2.5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3M7.5 1.5h3v3M5.5 6.5l5-5", stroke: "currentColor", "stroke-width": "1.2", "stroke-linecap": "round", "stroke-linejoin": "round" })))))), index.h("div", { key: '5b07294489371095d0f8447efe2a0e09f62bb6d7', class: "footer__nav-column" }, index.h("h5", { key: 'd723c2b1593f1f20da228e9daa01e83652422992', class: "footer__nav-heading" }, "Learn more"), index.h("ul", { key: '4c3a4e2d43987d724a8f76086f777ab1aeee0c33', class: "footer__nav-list" }, index.h("li", { key: '0cec40b18dbd3fccb9ae014928d3814ee19125ee' }, index.h("a", { key: '9e25f6abca961fa29fd397f88eaeb2fd33362e5b', href: "/blog" }, "Blog")), index.h("li", { key: 'b338d7027eddf27d5ec5db843c6d5841a6d17fee' }, index.h("a", { key: 'a6eae199076bf399ab3ceafedbb3c7ba27db3dee', href: "/case-studies" }, "Customer stories")), index.h("li", { key: '4c73a20a0e02e5d4abb8d5f79f472fdcd32b0b1d' }, index.h("a", { key: '07b39e1a1a6f2b6c8ca0800572ea8e61c50ffac7', href: "https://docs.affinda.com/", target: "_blank", rel: "noopener noreferrer" }, "Affinda Academy", index.h("svg", { key: '859ff2bd393a8a6ddf5d8321cd7d8fa8c72aca70', class: "footer__external-icon", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" }, index.h("path", { key: 'd875653fb59d80f8116ec5ec78f92dc7adad1ed8', d: "M10 6.5v3a1 1 0 0 1-1 1H2.5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3M7.5 1.5h3v3M5.5 6.5l5-5", stroke: "currentColor", "stroke-width": "1.2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), index.h("li", { key: '02c1a5bd7963fe3ee94eff5ac0ca4d4959f09331' }, index.h("a", { key: '161212bbed131e2ff200c64bc0aaf3eff1af3568', href: "https://docs.affinda.com/reference/", target: "_blank", rel: "noopener noreferrer" }, "API reference", index.h("svg", { key: 'f4bb636f1acb30e4af91ad4603afbbd795f63ddd', class: "footer__external-icon", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" }, index.h("path", { key: '1dd731e2797d43dbc026b655aeaefc3504bfb6d7', d: "M10 6.5v3a1 1 0 0 1-1 1H2.5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3M7.5 1.5h3v3M5.5 6.5l5-5", stroke: "currentColor", "stroke-width": "1.2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), index.h("li", { key: '849c447969e7aef8d8bf80c5b87fffbf51018c29' }, index.h("a", { key: 'ba859d73e047d98595c7ed96421bd831ca815ea8', href: "https://docs.affinda.com/updates", target: "_blank", rel: "noopener noreferrer" }, "Product updates", index.h("svg", { key: 'ee5fdfd1df9dffb9eb313363e5eed4e1438c00d3', class: "footer__external-icon", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" }, index.h("path", { key: '9aaf89eb40c5ae6b71a6e62c313ee2acdef626c4', d: "M10 6.5v3a1 1 0 0 1-1 1H2.5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3M7.5 1.5h3v3M5.5 6.5l5-5", stroke: "currentColor", "stroke-width": "1.2", "stroke-linecap": "round", "stroke-linejoin": "round" })))))))), index.h("div", { key: '6ebb4c4f8abd11c43f9a5b8a3d722bd4210fd31d', class: "footer__status" }, index.h("span", { key: 'c48f28a6515b6634c09dea8433fe77e8b3827fad', class: `footer__status-dot ${this.systemsOperational ? 'footer__status-dot--operational' : 'footer__status-dot--issue'}` }), index.h("span", { key: 'a710886e3c1ba335586899fd9bd41493da3e9c92', class: "footer__status-text" }, this.systemsOperational ? 'All systems are operational' : 'System issues detected'), index.h("a", { key: 'd4dcdbc1a0b3884703f01af06acc6b03ed2f477c', href: this.statusUrl, target: "_blank", rel: "noopener noreferrer", class: "footer__status-link" }, "Learn more")))), index.h("div", { key: '01652e175f0d60ea2298d9b118ca2d599f3df3ed', class: "footer__bottom" }, index.h("p", { key: '6d90e7996ec3a39fb5fa75de1cedbac7bff09e40', class: "footer__copyright" }, "\u00A9 ", this.copyrightYear, " Affinda. All rights reserved."), index.h("div", { key: '578940724f6f8ccc40e3bc9d7d90b48776904a20', class: "footer__legal" }, index.h("a", { key: 'fa1f810f98dc02141436a8f4d1addd7423f94a43', href: "/privacy-and-data-protection-policy" }, "Privacy policy"), index.h("a", { key: '5f40b79c933794f82499663080e5039e2ec3729a', href: "/website-terms" }, "Website terms"), index.h("a", { key: 'de48b81b13a4169dd0b25bbca315b283172b59ff', href: "/product-terms" }, "Product terms")), index.h("div", { key: '1e3b2738dfd2b2874b514fa11f24322b0edad7e7', class: "footer__badges" }, index.h("slot", { key: 'f27200be911fb2bba954b91ee304b57bc1be3483', name: "badges" }, index.h("div", { key: '1c1e0f88d0efc96a2bf5ff99eaab001c7dade962', class: "footer__badge", title: "GDPR Compliant" }, index.h("svg", { key: 'e1f7b274367a9a4c87ecb503bae4ef0c664a3b99', width: "40", height: "40", viewBox: "0 0 40 40", fill: "none" }, index.h("circle", { key: '2f6724b6c664bbdfb8eb6363aeb9ca2699a0b804', cx: "20", cy: "20", r: "18", stroke: "#FFD700", "stroke-width": "2", fill: "#003399" }), index.h("text", { key: 'b5213657f0f5bfd4ea1786a1319b5a0e97f4c1fc', x: "20", y: "24", "text-anchor": "middle", fill: "white", "font-size": "8", "font-weight": "bold" }, "GDPR"))), index.h("div", { key: 'ae247cc61144a16212a38e56acddbd9d7893a060', class: "footer__badge", title: "SOC 2 Compliant" }, index.h("svg", { key: '5ff33c5885e2b4c271305d042ba18407eaa7f77a', width: "40", height: "40", viewBox: "0 0 40 40", fill: "none" }, index.h("circle", { key: '78033711f6bcae76c25b1fbb3e6f5368079bdfee', cx: "20", cy: "20", r: "18", stroke: "#0066CC", "stroke-width": "2", fill: "white" }), index.h("text", { key: '56456237779a0f9ccc5558d638d63d5daabbf524', x: "20", y: "18", "text-anchor": "middle", fill: "#0066CC", "font-size": "6", "font-weight": "bold" }, "AICPA"), index.h("text", { key: 'f38621118751089036a0423a0f2ce200686f5a6c', x: "20", y: "26", "text-anchor": "middle", fill: "#0066CC", "font-size": "8", "font-weight": "bold" }, "SOC"))), index.h("div", { key: '6a0ca86b597d51fac9b9f4ef18ecf2a982980428', class: "footer__badge", title: "ISO 27001:2022" }, index.h("svg", { key: '1d1bc52ca35785f3836fe944ed7c1f0d1b5798ff', width: "40", height: "40", viewBox: "0 0 40 40", fill: "none" }, index.h("circle", { key: '7cc2ad4046e81e59edd6e80709965d8577029b4b', cx: "20", cy: "20", r: "18", stroke: "#333", "stroke-width": "2", fill: "white" }), index.h("text", { key: '04ed5d7ed451ec74e6a9ff44e16f5f25f2630aed', x: "20", y: "18", "text-anchor": "middle", fill: "#333", "font-size": "8", "font-weight": "bold" }, "ISO"), index.h("text", { key: '20502ad4c80bf5d454278d2167b596319e9f33ec', x: "20", y: "28", "text-anchor": "middle", fill: "#333", "font-size": "5" }, "27001:2022"))))))))));
|
|
22
|
+
return (index.h(index.Host, { key: '0ead00f00cafcba90071c76f4cb86d6abb1a8e9b' }, index.h("footer", { key: '1e29dad6f35c3a0a7c7acf6bde94d7d26c9f3518', class: "footer" }, index.h("div", { key: '92921a50cbb917fb797a1cd396ea326626be2672', class: "footer__container" }, index.h("div", { key: 'fb7f0c881a3540149af3fd5c9ce5cf4fcf4dc463', class: "footer__top" }, index.h("div", { key: 'dfbab144d98aaa7c5bdeac21b2f7059c2c35c3a2', class: "footer__brand" }, index.h("div", { key: '70a5b6514a32f48e239eed456625b00e5480d515', class: "footer__brand-card" }, index.h("div", { key: '29cebd0316e5e05125545ddc4a6daff19d045569', class: "footer__logo" }, index.h("slot", { key: '1bf39b815103c7ad1ddd9a1a480e1c0ba229e940', name: "logo" })), index.h("div", { key: 'ece78ebc0a579a1425e761e75e91dfe048963057', class: "footer__social" }, index.h("slot", { key: '77713bb66e6a687cfe703af581477112af5a2a56', name: "social" }))), index.h("div", { key: '1224cc9b12934d9a8fc3ead8cb0e78483b391955', class: "footer__contact-card" }, index.h("slot", { key: '3d9ca05b638de9ef155be333ee430107074c933d', name: "contact" }))), index.h("div", { key: '2de06953b17dc7317b6b37c7a5468459efdd11ca', class: "footer__nav" }, index.h("div", { key: '14875d9d7c74722eb703c8c3691ccfc8c1790915', class: "footer__nav-columns" }, index.h("slot", { key: '477ab833a047495184f671fe0767736963a4ecb6', name: "nav" })), this.showStatus && (index.h("div", { key: 'f6e59d3e541d5d7e3688d0ea1f6c24742894fa04', class: "footer__status" }, index.h("span", { key: 'f073d332a366619573ec4b5535117ccc56eed0dc', class: `footer__status-dot ${this.systemsOperational ? 'footer__status-dot--operational' : 'footer__status-dot--issue'}` }), index.h("span", { key: '467e8e24c56e240b84eacd80f390db29ce30d3ac', class: "footer__status-text" }, this.statusText), this.statusUrl && (index.h("a", { key: '630dc864ceabac404a118c8525fe16edd381a28a', href: this.statusUrl, target: "_blank", rel: "noopener noreferrer", class: "footer__status-link" }, "Learn more")))))), index.h("div", { key: '64db3298cdef7d1651234f19319a7aead0fc66ed', class: "footer__bottom" }, this.copyrightText && (index.h("p", { key: 'b268e4cfe2414f94a28492af15bfd3d2b3d53767', class: "footer__copyright" }, this.copyrightText)), index.h("div", { key: '82af0bd4b7310ff9e783b74fbccca3e2df437c86', class: "footer__legal" }, index.h("slot", { key: 'e3cd11fd6f41a577a2452f8e48d524e3a6a2ea46', name: "legal" })), index.h("div", { key: 'b0d6caf4168e1013d682f0b36a480607343cfd6f', class: "footer__badges" }, index.h("slot", { key: '28e7722adc3f88f968c478957d21aa55c451d553', name: "badges" })))))));
|
|
29
23
|
}
|
|
30
24
|
};
|
|
31
25
|
AfFooter.style = afFooterCss;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"af-footer.entry.cjs.js","sources":["src/components/af-footer/af-footer.css?tag=af-footer&encapsulation=scoped","src/components/af-footer/af-footer.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.footer {\n background-color: var(--colour-brand-inkwell, #14343b);\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n padding: 64px 0 0;\n}\n\n.footer__container {\n max-width: 1280px;\n margin: 0 auto;\n padding: 0 24px;\n}\n\n/* Top section layout */\n.footer__top {\n display: grid;\n grid-template-columns: 380px 1fr;\n gap: 48px;\n padding-bottom: 48px;\n}\n\n/* Brand column (left side) */\n.footer__brand {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.footer__brand-card {\n background-color: rgba(198, 213, 209, 0.08);\n border-radius: 16px;\n padding: 32px;\n}\n\n.footer__logo {\n margin-bottom: 24px;\n}\n\n.footer__logo svg,\n.footer__logo img {\n height: 32px;\n width: auto;\n}\n\n.footer__social {\n display: flex;\n gap: 12px;\n}\n\n.footer__social-link {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border: 1px solid rgba(198, 213, 209, 0.3);\n border-radius: 50%;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n transition: all 0.2s ease;\n}\n\n.footer__social-link:hover {\n background-color: rgba(198, 213, 209, 0.1);\n border-color: rgba(198, 213, 209, 0.5);\n}\n\n.footer__contact-card {\n background-color: rgba(198, 213, 209, 0.08);\n border-radius: 16px;\n padding: 24px 32px;\n display: flex;\n flex-direction: column;\n gap: 20px;\n}\n\n.footer__contact-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.footer__contact-label {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 600;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n margin: 0;\n}\n\n.footer__contact-value {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 400;\n color: rgba(198, 213, 209, 0.7);\n margin: 0;\n}\n\n/* Navigation section (right side) */\n.footer__nav {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n\n.footer__nav-columns {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 32px;\n}\n\n.footer__nav-column {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.footer__nav-heading {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 600;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n margin: 0;\n text-transform: none;\n}\n\n.footer__nav-list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.footer__nav-list li {\n margin: 0;\n}\n\n.footer__nav-list a {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 400;\n color: rgba(198, 213, 209, 0.7);\n text-decoration: none;\n transition: color 0.2s ease;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n}\n\n.footer__nav-list a:hover {\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n}\n\n.footer__external-icon {\n opacity: 0.7;\n flex-shrink: 0;\n}\n\n/* Status indicator */\n.footer__status {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 32px;\n padding-top: 24px;\n border-top: 1px solid rgba(198, 213, 209, 0.1);\n}\n\n.footer__status-dot {\n width: 10px;\n height: 10px;\n border-radius: 50%;\n flex-shrink: 0;\n}\n\n.footer__status-dot--operational {\n background-color: #22c55e;\n}\n\n.footer__status-dot--issue {\n background-color: #ef4444;\n}\n\n.footer__status-text {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: rgba(198, 213, 209, 0.7);\n}\n\n.footer__status-link {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n text-decoration: underline;\n text-underline-offset: 2px;\n margin-left: 8px;\n}\n\n.footer__status-link:hover {\n text-decoration: none;\n}\n\n/* Bottom section */\n.footer__bottom {\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n gap: 24px;\n padding: 24px 0;\n border-top: 1px solid rgba(198, 213, 209, 0.1);\n background-color: rgba(198, 213, 209, 0.05);\n margin: 0 -24px;\n padding-left: 24px;\n padding-right: 24px;\n}\n\n.footer__copyright {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: rgba(198, 213, 209, 0.7);\n margin: 0;\n}\n\n.footer__legal {\n display: flex;\n gap: 24px;\n}\n\n.footer__legal a {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: rgba(198, 213, 209, 0.7);\n text-decoration: underline;\n text-underline-offset: 2px;\n}\n\n.footer__legal a:hover {\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n text-decoration: none;\n}\n\n.footer__badges {\n display: flex;\n gap: 16px;\n align-items: center;\n}\n\n.footer__badge {\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.footer__badge svg {\n width: 100%;\n height: 100%;\n}\n\n/* Responsive styles */\n@media (max-width: 1024px) {\n .footer__top {\n grid-template-columns: 1fr;\n gap: 48px;\n }\n\n .footer__brand {\n flex-direction: row;\n gap: 16px;\n }\n\n .footer__brand-card,\n .footer__contact-card {\n flex: 1;\n }\n}\n\n@media (max-width: 768px) {\n .footer {\n padding: 48px 0 0;\n }\n\n .footer__top {\n gap: 32px;\n }\n\n .footer__brand {\n flex-direction: column;\n }\n\n .footer__nav-columns {\n grid-template-columns: repeat(2, 1fr);\n gap: 32px;\n }\n\n .footer__bottom {\n flex-direction: column;\n align-items: flex-start;\n gap: 16px;\n }\n\n .footer__legal {\n flex-wrap: wrap;\n gap: 16px;\n }\n}\n\n@media (max-width: 480px) {\n .footer__container {\n padding: 0 16px;\n }\n\n .footer__brand-card,\n .footer__contact-card {\n padding: 24px;\n }\n\n .footer__nav-columns {\n grid-template-columns: 1fr;\n gap: 24px;\n }\n\n .footer__bottom {\n margin: 0 -16px;\n padding-left: 16px;\n padding-right: 16px;\n }\n\n .footer__badges {\n width: 100%;\n justify-content: flex-start;\n }\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Footer component for Affinda marketing pages\n * Features a dark inkwell background with logo, social links, navigation columns, and legal info\n */\n@Component({\n tag: 'af-footer',\n styleUrl: 'af-footer.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFooter {\n /** Sales email address */\n @Prop() salesEmail: string = 'contact@affinda.com';\n\n /** Support email address */\n @Prop() supportEmail: string = 'support@affinda.com';\n\n /** Copyright year */\n @Prop() copyrightYear: string = new Date().getFullYear().toString();\n\n /** Status page URL */\n @Prop() statusUrl: string = 'https://status.affinda.com';\n\n /** Whether all systems are operational */\n @Prop() systemsOperational: boolean = true;\n\n /** LinkedIn URL */\n @Prop() linkedinUrl: string = 'https://www.linkedin.com/company/affinda/';\n\n /** YouTube URL */\n @Prop() youtubeUrl: string = 'https://www.youtube.com/@affinda';\n\n /** GitHub URL */\n @Prop() githubUrl: string = 'https://github.com/affinda';\n\n render() {\n return (\n <Host>\n <footer class=\"footer\">\n <div class=\"footer__container\">\n {/* Top section */}\n <div class=\"footer__top\">\n {/* Left column - Logo, social, contact */}\n <div class=\"footer__brand\">\n <div class=\"footer__brand-card\">\n <div class=\"footer__logo\">\n <slot name=\"logo\">\n <svg width=\"140\" height=\"32\" viewBox=\"0 0 140 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M16 0C7.163 0 0 7.163 0 16s7.163 16 16 16 16-7.163 16-16S24.837 0 16 0zm0 24c-4.418 0-8-3.582-8-8s3.582-8 8-8 8 3.582 8 8-3.582 8-8 8z\" fill=\"#C6D5D1\"/>\n <text x=\"40\" y=\"22\" fill=\"#C6D5D1\" font-family=\"NeuSans, sans-serif\" font-size=\"20\" font-weight=\"500\">affinda</text>\n </svg>\n </slot>\n </div>\n \n <div class=\"footer__social\">\n <a href={this.linkedinUrl} target=\"_blank\" rel=\"noopener noreferrer\" class=\"footer__social-link\" aria-label=\"LinkedIn\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <path d=\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\"/>\n <rect x=\"2\" y=\"9\" width=\"4\" height=\"12\"/>\n <circle cx=\"4\" cy=\"4\" r=\"2\"/>\n </svg>\n </a>\n <a href={this.youtubeUrl} target=\"_blank\" rel=\"noopener noreferrer\" class=\"footer__social-link\" aria-label=\"YouTube\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <path d=\"M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z\"/>\n <polygon points=\"9.75,15.02 15.5,11.75 9.75,8.48\" fill=\"currentColor\" stroke=\"none\"/>\n </svg>\n </a>\n <a href={this.githubUrl} target=\"_blank\" rel=\"noopener noreferrer\" class=\"footer__social-link\" aria-label=\"GitHub\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <path d=\"M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22\"/>\n </svg>\n </a>\n </div>\n </div>\n\n <div class=\"footer__contact-card\">\n <div class=\"footer__contact-item\">\n <h5 class=\"footer__contact-label\">Sales enquiries</h5>\n <p class=\"footer__contact-value\">{this.salesEmail}</p>\n </div>\n <div class=\"footer__contact-item\">\n <h5 class=\"footer__contact-label\">Support</h5>\n <p class=\"footer__contact-value\">{this.supportEmail}</p>\n </div>\n </div>\n </div>\n\n {/* Right section - Navigation columns */}\n <div class=\"footer__nav\">\n <div class=\"footer__nav-columns\">\n <slot name=\"nav-columns\">\n {/* Default navigation columns */}\n <div class=\"footer__nav-column\">\n <h5 class=\"footer__nav-heading\">Explore</h5>\n <ul class=\"footer__nav-list\">\n <li><a href=\"/platform\">Platform</a></li>\n <li><a href=\"/industries\">Industries</a></li>\n <li><a href=\"/use-cases\">Use cases</a></li>\n <li><a href=\"/documents\">Document types</a></li>\n <li><a href=\"/resume-parser\">Resume Parser</a></li>\n </ul>\n </div>\n\n <div class=\"footer__nav-column\">\n <h5 class=\"footer__nav-heading\">Pricing</h5>\n <ul class=\"footer__nav-list\">\n <li><a href=\"/pricing-plans\">Platform pricing</a></li>\n <li><a href=\"/recruitment-ai-pricing\">Resume Parser pricing</a></li>\n </ul>\n </div>\n\n <div class=\"footer__nav-column\">\n <h5 class=\"footer__nav-heading\">Company</h5>\n <ul class=\"footer__nav-list\">\n <li><a href=\"/about-us\">About</a></li>\n <li><a href=\"/careers\">Careers</a></li>\n <li><a href=\"/partners\">Partners</a></li>\n <li><a href=\"/contact\">Contact us</a></li>\n <li><a href=\"/security\">Security</a></li>\n <li>\n <a href=\"https://www.affindagroup.com/\" target=\"_blank\" rel=\"noopener noreferrer\">\n Affinda Group\n <svg class=\"footer__external-icon\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path d=\"M10 6.5v3a1 1 0 0 1-1 1H2.5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3M7.5 1.5h3v3M5.5 6.5l5-5\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </a>\n </li>\n <li>\n <a href=\"https://www.draftable.com/\" target=\"_blank\" rel=\"noopener noreferrer\">\n Draftable\n <svg class=\"footer__external-icon\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path d=\"M10 6.5v3a1 1 0 0 1-1 1H2.5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3M7.5 1.5h3v3M5.5 6.5l5-5\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </a>\n </li>\n </ul>\n </div>\n\n <div class=\"footer__nav-column\">\n <h5 class=\"footer__nav-heading\">Learn more</h5>\n <ul class=\"footer__nav-list\">\n <li><a href=\"/blog\">Blog</a></li>\n <li><a href=\"/case-studies\">Customer stories</a></li>\n <li>\n <a href=\"https://docs.affinda.com/\" target=\"_blank\" rel=\"noopener noreferrer\">\n Affinda Academy\n <svg class=\"footer__external-icon\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path d=\"M10 6.5v3a1 1 0 0 1-1 1H2.5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3M7.5 1.5h3v3M5.5 6.5l5-5\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </a>\n </li>\n <li>\n <a href=\"https://docs.affinda.com/reference/\" target=\"_blank\" rel=\"noopener noreferrer\">\n API reference\n <svg class=\"footer__external-icon\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path d=\"M10 6.5v3a1 1 0 0 1-1 1H2.5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3M7.5 1.5h3v3M5.5 6.5l5-5\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </a>\n </li>\n <li>\n <a href=\"https://docs.affinda.com/updates\" target=\"_blank\" rel=\"noopener noreferrer\">\n Product updates\n <svg class=\"footer__external-icon\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path d=\"M10 6.5v3a1 1 0 0 1-1 1H2.5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3M7.5 1.5h3v3M5.5 6.5l5-5\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </a>\n </li>\n </ul>\n </div>\n </slot>\n </div>\n\n {/* Status indicator */}\n <div class=\"footer__status\">\n <span class={`footer__status-dot ${this.systemsOperational ? 'footer__status-dot--operational' : 'footer__status-dot--issue'}`}></span>\n <span class=\"footer__status-text\">\n {this.systemsOperational ? 'All systems are operational' : 'System issues detected'}\n </span>\n <a href={this.statusUrl} target=\"_blank\" rel=\"noopener noreferrer\" class=\"footer__status-link\">\n Learn more\n </a>\n </div>\n </div>\n </div>\n\n {/* Bottom section */}\n <div class=\"footer__bottom\">\n <p class=\"footer__copyright\">\n © {this.copyrightYear} Affinda. All rights reserved.\n </p>\n \n <div class=\"footer__legal\">\n <a href=\"/privacy-and-data-protection-policy\">Privacy policy</a>\n <a href=\"/website-terms\">Website terms</a>\n <a href=\"/product-terms\">Product terms</a>\n </div>\n\n <div class=\"footer__badges\">\n <slot name=\"badges\">\n {/* GDPR Badge */}\n <div class=\"footer__badge\" title=\"GDPR Compliant\">\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\">\n <circle cx=\"20\" cy=\"20\" r=\"18\" stroke=\"#FFD700\" stroke-width=\"2\" fill=\"#003399\"/>\n <text x=\"20\" y=\"24\" text-anchor=\"middle\" fill=\"white\" font-size=\"8\" font-weight=\"bold\">GDPR</text>\n </svg>\n </div>\n {/* SOC Badge */}\n <div class=\"footer__badge\" title=\"SOC 2 Compliant\">\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\">\n <circle cx=\"20\" cy=\"20\" r=\"18\" stroke=\"#0066CC\" stroke-width=\"2\" fill=\"white\"/>\n <text x=\"20\" y=\"18\" text-anchor=\"middle\" fill=\"#0066CC\" font-size=\"6\" font-weight=\"bold\">AICPA</text>\n <text x=\"20\" y=\"26\" text-anchor=\"middle\" fill=\"#0066CC\" font-size=\"8\" font-weight=\"bold\">SOC</text>\n </svg>\n </div>\n {/* ISO Badge */}\n <div class=\"footer__badge\" title=\"ISO 27001:2022\">\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\">\n <circle cx=\"20\" cy=\"20\" r=\"18\" stroke=\"#333\" stroke-width=\"2\" fill=\"white\"/>\n <text x=\"20\" y=\"18\" text-anchor=\"middle\" fill=\"#333\" font-size=\"8\" font-weight=\"bold\">ISO</text>\n <text x=\"20\" y=\"28\" text-anchor=\"middle\" fill=\"#333\" font-size=\"5\">27001:2022</text>\n </svg>\n </div>\n </slot>\n </div>\n </div>\n </div>\n </footer>\n </Host>\n );\n }\n}\n\n"],"names":["h","Host"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"af-footer.entry.cjs.js","sources":["src/components/af-footer/af-footer.css?tag=af-footer&encapsulation=scoped","src/components/af-footer/af-footer.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.footer {\n background-color: var(--colour-brand-inkwell, #14343b);\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n padding: 120px 0 0; /* Extra padding at top for overlapping cards */\n}\n\n.footer__container {\n max-width: 1280px;\n margin: 0 auto;\n padding: 0 24px;\n}\n\n/* Top section layout */\n.footer__top {\n display: grid;\n grid-template-columns: 380px 1fr;\n gap: 48px;\n padding-bottom: 48px;\n}\n\n/* Brand column (left side) */\n.footer__brand {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.footer__brand-card {\n background-color: rgba(198, 213, 209, 0.08);\n border-radius: 16px;\n padding: 32px;\n}\n\n.footer__logo {\n margin-bottom: 24px;\n}\n\n.footer__logo svg,\n.footer__logo img {\n height: 32px;\n width: auto;\n}\n\n.footer__social {\n display: flex;\n gap: 12px;\n}\n\n.footer__social-link {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border: 1px solid rgba(198, 213, 209, 0.3);\n border-radius: 50%;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n transition: all 0.2s ease;\n}\n\n.footer__social-link:hover {\n background-color: rgba(198, 213, 209, 0.1);\n border-color: rgba(198, 213, 209, 0.5);\n}\n\n.footer__contact-card {\n background-color: rgba(198, 213, 209, 0.08);\n border-radius: 16px;\n padding: 24px 32px;\n display: flex;\n flex-direction: column;\n gap: 20px;\n}\n\n.footer__contact-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.footer__contact-label {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 600;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n margin: 0;\n}\n\n.footer__contact-value {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 400;\n color: rgba(198, 213, 209, 0.7);\n margin: 0;\n}\n\n/* Navigation section (right side) */\n.footer__nav {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n\n.footer__nav-columns {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 32px;\n}\n\n.footer__nav-column {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.footer__nav-heading {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 600;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n margin: 0;\n text-transform: none;\n}\n\n.footer__nav-list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.footer__nav-list li {\n margin: 0;\n}\n\n.footer__nav-list a {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 400;\n color: rgba(198, 213, 209, 0.7);\n text-decoration: none;\n transition: color 0.2s ease;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n}\n\n.footer__nav-list a:hover {\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n}\n\n.footer__external-icon {\n opacity: 0.7;\n flex-shrink: 0;\n}\n\n/* Status indicator */\n.footer__status {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 32px;\n padding-top: 24px;\n border-top: 1px solid rgba(198, 213, 209, 0.1);\n}\n\n.footer__status-dot {\n width: 10px;\n height: 10px;\n border-radius: 50%;\n flex-shrink: 0;\n}\n\n.footer__status-dot--operational {\n background-color: #22c55e;\n}\n\n.footer__status-dot--issue {\n background-color: #ef4444;\n}\n\n.footer__status-text {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: rgba(198, 213, 209, 0.7);\n}\n\n.footer__status-link {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n text-decoration: underline;\n text-underline-offset: 2px;\n margin-left: 8px;\n}\n\n.footer__status-link:hover {\n text-decoration: none;\n}\n\n/* Bottom section */\n.footer__bottom {\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n gap: 24px;\n padding: 24px 0;\n border-top: 1px solid rgba(198, 213, 209, 0.1);\n background-color: rgba(198, 213, 209, 0.05);\n margin: 0 -24px;\n padding-left: 24px;\n padding-right: 24px;\n}\n\n.footer__copyright {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: rgba(198, 213, 209, 0.7);\n margin: 0;\n}\n\n.footer__legal {\n display: flex;\n gap: 24px;\n}\n\n.footer__legal a {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: rgba(198, 213, 209, 0.7);\n text-decoration: underline;\n text-underline-offset: 2px;\n}\n\n.footer__legal a:hover {\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n text-decoration: none;\n}\n\n.footer__badges {\n display: flex;\n gap: 16px;\n align-items: center;\n}\n\n.footer__badge {\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.footer__badge svg {\n width: 100%;\n height: 100%;\n}\n\n/* Responsive styles */\n@media (max-width: 1024px) {\n .footer__top {\n grid-template-columns: 1fr;\n gap: 48px;\n }\n\n .footer__brand {\n flex-direction: row;\n gap: 16px;\n }\n\n .footer__brand-card,\n .footer__contact-card {\n flex: 1;\n }\n}\n\n@media (max-width: 768px) {\n .footer {\n padding: 48px 0 0;\n }\n\n .footer__top {\n gap: 32px;\n }\n\n .footer__brand {\n flex-direction: column;\n }\n\n .footer__nav-columns {\n grid-template-columns: repeat(2, 1fr);\n gap: 32px;\n }\n\n .footer__bottom {\n flex-direction: column;\n align-items: flex-start;\n gap: 16px;\n }\n\n .footer__legal {\n flex-wrap: wrap;\n gap: 16px;\n }\n}\n\n@media (max-width: 480px) {\n .footer__container {\n padding: 0 16px;\n }\n\n .footer__brand-card,\n .footer__contact-card {\n padding: 24px;\n }\n\n .footer__nav-columns {\n grid-template-columns: 1fr;\n gap: 24px;\n }\n\n .footer__bottom {\n margin: 0 -16px;\n padding-left: 16px;\n padding-right: 16px;\n }\n\n .footer__badges {\n width: 100%;\n justify-content: flex-start;\n }\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Footer component for marketing pages\n * Provides a flexible, slot-based layout for footer content\n * All content is passed via slots - no hardcoded links or content\n */\n@Component({\n tag: 'af-footer',\n styleUrl: 'af-footer.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFooter {\n /** Copyright text (e.g., \"© 2025 Company Name. All rights reserved.\") */\n @Prop() copyrightText: string = '';\n\n /** Status message text */\n @Prop() statusText: string = '';\n\n /** Status page URL */\n @Prop() statusUrl: string = '';\n\n /** Whether systems are operational (shows green/red indicator) */\n @Prop() systemsOperational: boolean = true;\n\n /** Whether to show the status indicator */\n @Prop() showStatus: boolean = true;\n\n render() {\n return (\n <Host>\n <footer class=\"footer\">\n <div class=\"footer__container\">\n {/* Top section */}\n <div class=\"footer__top\">\n {/* Left column - Brand area */}\n <div class=\"footer__brand\">\n <div class=\"footer__brand-card\">\n <div class=\"footer__logo\">\n <slot name=\"logo\"></slot>\n </div>\n <div class=\"footer__social\">\n <slot name=\"social\"></slot>\n </div>\n </div>\n\n <div class=\"footer__contact-card\">\n <slot name=\"contact\"></slot>\n </div>\n </div>\n\n {/* Right section - Navigation columns */}\n <div class=\"footer__nav\">\n <div class=\"footer__nav-columns\">\n <slot name=\"nav\"></slot>\n </div>\n\n {/* Status indicator */}\n {this.showStatus && (\n <div class=\"footer__status\">\n <span class={`footer__status-dot ${this.systemsOperational ? 'footer__status-dot--operational' : 'footer__status-dot--issue'}`}></span>\n <span class=\"footer__status-text\">\n {this.statusText}\n </span>\n {this.statusUrl && (\n <a href={this.statusUrl} target=\"_blank\" rel=\"noopener noreferrer\" class=\"footer__status-link\">\n Learn more\n </a>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Bottom section */}\n <div class=\"footer__bottom\">\n {this.copyrightText && (\n <p class=\"footer__copyright\">{this.copyrightText}</p>\n )}\n \n <div class=\"footer__legal\">\n <slot name=\"legal\"></slot>\n </div>\n\n <div class=\"footer__badges\">\n <slot name=\"badges\"></slot>\n </div>\n </div>\n </div>\n </footer>\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js","sources":["src/components/af-heading/af-heading.css?tag=af-heading&encapsulation=shadow","src/components/af-heading/af-heading.tsx","src/components/af-text/af-text.css?tag=af-text&encapsulation=shadow","src/components/af-text/af-text.tsx","src/components/af-nav-item/af-nav-item.css?tag=af-nav-item&encapsulation=shadow","src/components/af-nav-item/af-nav-item.tsx","src/components/af-navbar/af-navbar.css?tag=af-navbar&encapsulation=shadow","src/components/af-navbar/af-navbar.tsx","src/components/af-logo/af-logo.css?tag=af-logo&encapsulation=shadow","src/components/af-logo/af-logo.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: 400;\n color: var(--colour-typography-heading-primary, #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/* Theme variants */\n.theme-dark {\n color: var(--colour-brand-mist-green, #C6D5D1);\n}\n\n.theme-light {\n color: var(--colour-typography-heading-primary, #14343b);\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 /** Theme for dark backgrounds */\n @Prop() theme: 'light' | 'dark' = 'light';\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 [`theme-${this.theme}`]: true\n }}\n part=\"base\"\n >\n <slot />\n </Tag>\n );\n }\n}\n",":host {\n display: block;\n}\n\n.text {\n margin: 0;\n padding: 0;\n font-family: 'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;\n font-weight: 400;\n color: var(--colour-typography-body-default, #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/* Theme variants */\n.theme-dark {\n color: var(--colour-brand-mist-green, #C6D5D1);\n}\n\n.theme-light {\n color: var(--colour-typography-body-default, #14343b);\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 /** Theme for dark backgrounds */\n @Prop() theme: 'light' | 'dark' = 'light';\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 [`theme-${this.theme}`]: true\n }}\n part=\"base\"\n >\n <slot />\n </Tag>\n );\n }\n}\n",":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: var(--typography-headingfont, 'NeuSans', 'Inter', system-ui, sans-serif);\n font-size: 16px;\n font-weight: var(--font-weight-book, 500);\n line-height: 20px;\n color: var(--colour-typography-nav-item-primary, #14343b);\n}\n\n/* Primary variant 02 - lighter for light backgrounds */\n.hierarchy-primary.variant-02 {\n font-family: var(--typography-bodyfont, 'Helvetica', 'Inter', system-ui, sans-serif);\n font-size: 16px;\n font-weight: var(--font-weight-regular, 400);\n line-height: 20px;\n color: var(--colour-typography-nav-item-secondary, #2b484f);\n}\n\n/* Hover state for primary variant-01 (dark backgrounds) - underline */\n.hierarchy-primary.variant-01:hover .label-container {\n border-bottom: 1px solid currentColor;\n}\n\n/* Active state for primary variant-01 - thicker border */\n.hierarchy-primary.variant-01.active .label-container {\n border-bottom: 2px solid #8a7049;\n}\n\n/* Hover and active states for variant-02 (light backgrounds) - no border */\n.hierarchy-primary.variant-02:hover {\n background-color: rgba(20, 52, 59, 0.04);\n border-radius: 8px;\n}\n\n.hierarchy-primary.variant-02.active {\n background-color: rgba(20, 52, 59, 0.08);\n border-radius: 8px;\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",":host {\n display: block;\n width: 100%;\n position: absolute;\n top: 32px;\n left: 0;\n right: 0;\n z-index: 10;\n}\n\n.navbar-container {\n padding: 0 80px;\n box-sizing: border-box;\n position: relative;\n}\n\n.navbar {\n background: var(--colour-background-white, #ffffff);\n border-radius: 9999px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 8px 8px 40px;\n box-sizing: border-box;\n flex-wrap: nowrap; /* Prevent wrapping */\n}\n\n/* Left section */\n.navbar-left {\n display: flex;\n align-items: center;\n gap: 32px;\n flex-shrink: 0;\n}\n\n.logo {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n/* Mobile menu toggle button */\n.mobile-menu-toggle {\n display: none;\n background: none;\n border: none;\n padding: 8px;\n cursor: pointer;\n color: var(--colour-brand-inkwell, #14343b);\n margin-left: auto;\n}\n\n.mobile-menu-toggle svg {\n display: block;\n}\n\n.nav-links {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: nowrap;\n}\n\n/* Right section */\n.navbar-right {\n display: flex;\n align-items: center;\n gap: 20px;\n flex-shrink: 0;\n}\n\n.nav-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.nav-button {\n display: flex;\n align-items: center;\n}\n\n/* \n * Breakpoint 1: Hide \"Talk to us\" and \"Log in\" (nav-actions) \n * This happens first as the viewport gets narrower\n * Matches affinda.com behavior at ~1100px\n */\n@media (max-width: 1099px) {\n .nav-actions {\n display: none;\n }\n \n .navbar-right {\n gap: 0;\n }\n}\n\n/* Tablet adjustments */\n@media (max-width: 1024px) {\n .navbar-container {\n padding: 24px 40px 0;\n }\n\n .navbar-left {\n gap: 24px;\n }\n\n .nav-links {\n gap: 4px;\n }\n}\n\n/* \n * Breakpoint 2: Switch to hamburger menu\n * Matches affinda.com behavior at 991px\n */\n@media (max-width: 991px) {\n .navbar-container {\n padding: 16px 16px 0;\n }\n\n .navbar {\n padding: 8px 16px;\n flex-direction: column;\n border-radius: 16px;\n gap: 0;\n flex-wrap: wrap; /* Allow wrapping in mobile menu */\n }\n\n .navbar-left {\n width: 100%;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n }\n\n /* Show hamburger button on mobile */\n .mobile-menu-toggle {\n display: flex;\n }\n\n /* Hide nav links by default on mobile */\n .nav-links {\n display: none;\n width: 100%;\n flex-direction: column;\n align-items: stretch;\n gap: 0;\n margin-top: 16px;\n flex-wrap: wrap;\n }\n\n /* Show nav links when menu is open */\n .nav-links.mobile-open {\n display: flex;\n }\n\n /* Hide right section by default on mobile */\n .navbar-right {\n display: none;\n width: 100%;\n flex-direction: column;\n gap: 12px;\n align-items: stretch;\n margin-top: 16px;\n }\n\n /* Show right section when menu is open */\n .navbar-right.mobile-open {\n display: flex;\n }\n\n /* Show nav-actions again in mobile menu */\n .nav-actions {\n display: flex;\n width: 100%;\n flex-direction: column;\n align-items: stretch;\n gap: 0;\n }\n\n .nav-button {\n width: 100%;\n }\n}\n","import { Component, State, 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 * Includes mobile hamburger menu.\n */\n@Component({\n tag: 'af-navbar',\n styleUrl: 'af-navbar.css',\n shadow: true\n})\nexport class AfNavbar {\n @State() mobileMenuOpen: boolean = false;\n\n private toggleMobileMenu = () => {\n this.mobileMenuOpen = !this.mobileMenuOpen;\n };\n\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 \n {/* Hamburger menu button - mobile only */}\n <button \n class=\"mobile-menu-toggle\"\n onClick={this.toggleMobileMenu}\n aria-label=\"Toggle navigation menu\"\n aria-expanded={this.mobileMenuOpen ? 'true' : 'false'}\n >\n {this.mobileMenuOpen ? (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M18 6L6 18M6 6l12 12\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n ) : (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M3 12h18M3 6h18M3 18h18\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n )}\n </button>\n \n <div class={`nav-links ${this.mobileMenuOpen ? 'mobile-open' : ''}`}>\n <slot name=\"start\"></slot>\n </div>\n </div>\n\n {/* Right section: Actions + Button */}\n <div class={`navbar-right ${this.mobileMenuOpen ? 'mobile-open' : ''}`}>\n <div class=\"nav-actions\">\n <slot name=\"end\"></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",":host {\n display: inline-block;\n}\n\n.logo-img {\n display: block;\n height: 22px;\n width: 141px;\n object-fit: contain;\n}\n","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 <img\n src=\"https://www.figma.com/api/mcp/asset/2cfec484-7ba9-4258-94f3-ef4d0ba1e8fe\"\n alt=\"Affinda\"\n class=\"logo-img\"\n />\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,YAAY,GAAG,w+BAAw+B;;MCOh/B,SAAS,GAAA,MAAA;AALtB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAOU,QAAA,IAAK,CAAA,KAAA,GAAuC,GAAG;;AAG/C,QAAA,IAAK,CAAA,KAAA,GAAgC,MAAM;;AAG3C,QAAA,IAAK,CAAA,KAAA,GAAqB,OAAO;AAgC1C;IA9BS,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,QACEA,OAAA,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,IAAI;AAC7B,gBAAA,CAAC,SAAS,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG;AAC1B,aAAA,EACD,IAAI,EAAC,MAAM,EAAA,EAEXA,OAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACJ;;;;;AC5CZ,MAAM,SAAS,GAAG,q2BAAq2B;;MCO12B,MAAM,GAAA,MAAA;AALnB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAOU,QAAA,IAAO,CAAA,OAAA,GAA2E,QAAQ;;AAG1F,QAAA,IAAK,CAAA,KAAA,GAAgC,MAAM;;AAG3C,QAAA,IAAE,CAAA,EAAA,GAAmC,GAAG;;AAGxC,QAAA,IAAK,CAAA,KAAA,GAAqB,OAAO;AAmB1C;IAjBC,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,EAAS;QAE1B,QACEA,OAAA,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,IAAI;AAC7B,gBAAA,CAAC,SAAS,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG;AAC1B,aAAA,EACD,IAAI,EAAC,MAAM,EAAA,EAEXA,OAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACJ;;;;;AClCZ,MAAM,YAAY,GAAG,2rEAA2rE;;MCWnsE,SAAS,GAAA,MAAA;AALtB,IAAA,WAAA,CAAA,OAAA,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,IACXA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,OAAO,EAAA,EACjBA,OAAM,CAAA,MAAA,EAAA,EAAA,IAAI,EAAC,WAAW,EAAQ,CAAA,EAC9BA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,iBAAiB,EAAA,EAC1BA,OAAA,CAAA,MAAA,EAAA,IAAA,CAAa,CACT,EACNA,OAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,YAAY,EAAQ,CAAA,CAC3B,CACP;AAED,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,QACEA,QAACC,UAAI,EAAA,IAAA,EACHD,OAAA,CAAA,GAAA,EAAA,EAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAC,UAAU,EACjC,EAAA,OAAO,CACN,CACC;;QAIX,OAAOA,OAAC,CAAAC,UAAI,EAAE,IAAA,EAAA,OAAO,CAAQ;;;;;AChEjC,MAAM,WAAW,GAAG,ivDAAivD;;MCYxvD,QAAQ,GAAA,MAAA;AALrB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAMW,QAAA,IAAc,CAAA,cAAA,GAAY,KAAK;AAEhC,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;AAC9B,YAAA,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc;AAC5C,SAAC;AAkDF;IAhDC,MAAM,GAAA;AACJ,QAAA,QACED,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kBAAkB,EAAA,EAC3BA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,QAAQ,EAAA,EAEjBA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACtBA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,MAAM,EAAA,EACfA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,MAAM,EAAA,CAAQ,CACrB,EAGNA,OACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,oBAAoB,EAC1B,OAAO,EAAE,IAAI,CAAC,gBAAgB,EACnB,YAAA,EAAA,wBAAwB,mBACpB,IAAI,CAAC,cAAc,GAAG,MAAM,GAAG,OAAO,EAEpD,EAAA,IAAI,CAAC,cAAc,IAClBA,iBAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAA,EAC/EA,OAAA,CAAA,MAAA,EAAA,EAAM,CAAC,EAAC,sBAAsB,EAAA,cAAA,EAAc,GAAG,EAAgB,gBAAA,EAAA,OAAO,EAAiB,iBAAA,EAAA,OAAO,GAAE,CAC5F,KAENA,OAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAA,EAC/EA,OAAA,CAAA,MAAA,EAAA,EAAM,CAAC,EAAC,yBAAyB,EAAA,cAAA,EAAc,GAAG,EAAA,gBAAA,EAAgB,OAAO,EAAA,iBAAA,EAAiB,OAAO,EAAA,CAAE,CAC/F,CACP,CACM,EAETA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,CAAA,UAAA,EAAa,IAAI,CAAC,cAAc,GAAG,aAAa,GAAG,EAAE,CAAA,CAAE,EAAA,EACjEA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,OAAO,EAAA,CAAQ,CACtB,CACF,EAGNA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,CAAgB,aAAA,EAAA,IAAI,CAAC,cAAc,GAAG,aAAa,GAAG,EAAE,CAAA,CAAE,EAAA,EACpEA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACtBA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,KAAK,EAAA,CAAQ,CACpB,EACNA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,YAAY,EAAA,EACrBA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EAAQ,CAAA,CACvB,CACF,CACF,CACF,CACD;;;;;AChEb,MAAM,SAAS,GAAG,gGAAgG;;MCUrG,MAAM,GAAA,MAAA;;;;IACjB,MAAM,GAAA;AACJ,QAAA,QACEA,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,GAAG,EAAC,0EAA0E,EAC9E,GAAG,EAAC,SAAS,EACb,KAAK,EAAC,UAAU,EAChB,CAAA,CACG;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js","sources":["src/components/af-heading/af-heading.css?tag=af-heading&encapsulation=shadow","src/components/af-heading/af-heading.tsx","src/components/af-text/af-text.css?tag=af-text&encapsulation=shadow","src/components/af-text/af-text.tsx","src/components/af-nav-item/af-nav-item.css?tag=af-nav-item&encapsulation=shadow","src/components/af-nav-item/af-nav-item.tsx","src/components/af-navbar/af-navbar.css?tag=af-navbar&encapsulation=shadow","src/components/af-navbar/af-navbar.tsx","src/components/af-logo/af-logo.css?tag=af-logo&encapsulation=shadow","src/components/af-logo/af-logo.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: 400;\n color: var(--colour-typography-heading-primary, #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/* Theme variants */\n.theme-dark {\n color: var(--colour-brand-mist-green, #C6D5D1);\n}\n\n.theme-light {\n color: var(--colour-typography-heading-primary, #14343b);\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 /** Theme for dark backgrounds */\n @Prop() theme: 'light' | 'dark' = 'light';\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 [`theme-${this.theme}`]: true\n }}\n part=\"base\"\n >\n <slot />\n </Tag>\n );\n }\n}\n",":host {\n display: block;\n}\n\n.text {\n margin: 0;\n padding: 0;\n font-family: 'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;\n font-weight: 400;\n color: var(--colour-typography-body-default, #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/* Theme variants */\n.theme-dark {\n color: var(--colour-brand-mist-green, #C6D5D1);\n}\n\n.theme-light {\n color: var(--colour-typography-body-default, #14343b);\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 /** Theme for dark backgrounds */\n @Prop() theme: 'light' | 'dark' = 'light';\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 [`theme-${this.theme}`]: true\n }}\n part=\"base\"\n >\n <slot />\n </Tag>\n );\n }\n}\n",":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: var(--typography-headingfont, 'NeuSans', 'Inter', system-ui, sans-serif);\n font-size: 16px;\n font-weight: var(--font-weight-book, 500);\n line-height: 20px;\n color: var(--colour-typography-nav-item-primary, #14343b);\n}\n\n/* Primary variant 02 - lighter for light backgrounds */\n.hierarchy-primary.variant-02 {\n font-family: var(--typography-bodyfont, 'Helvetica', 'Inter', system-ui, sans-serif);\n font-size: 16px;\n font-weight: var(--font-weight-regular, 400);\n line-height: 20px;\n color: var(--colour-typography-nav-item-secondary, #2b484f);\n}\n\n/* Hover state for primary variant-01 (dark backgrounds) - underline */\n.hierarchy-primary.variant-01:hover .label-container {\n border-bottom: 1px solid currentColor;\n}\n\n/* Active state for primary variant-01 - thicker border */\n.hierarchy-primary.variant-01.active .label-container {\n border-bottom: 2px solid #8a7049;\n}\n\n/* Hover and active states for variant-02 (light backgrounds) - no border */\n.hierarchy-primary.variant-02:hover {\n background-color: rgba(20, 52, 59, 0.04);\n border-radius: 8px;\n}\n\n.hierarchy-primary.variant-02.active {\n background-color: rgba(20, 52, 59, 0.08);\n border-radius: 8px;\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",":host {\n display: block;\n width: 100%;\n position: absolute;\n top: 32px;\n left: 0;\n right: 0;\n z-index: 10;\n}\n\n.navbar-container {\n padding: 0 80px;\n box-sizing: border-box;\n position: relative;\n}\n\n.navbar {\n background: var(--colour-background-white, #ffffff);\n border-radius: 9999px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 8px 8px 40px;\n box-sizing: border-box;\n flex-wrap: nowrap; /* Prevent wrapping */\n}\n\n/* Left section */\n.navbar-left {\n display: flex;\n align-items: center;\n gap: 32px;\n flex-shrink: 0;\n}\n\n.logo {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n/* Mobile menu toggle button */\n.mobile-menu-toggle {\n display: none;\n background: none;\n border: none;\n padding: 8px;\n cursor: pointer;\n color: var(--colour-brand-inkwell, #14343b);\n margin-left: auto;\n}\n\n.mobile-menu-toggle svg {\n display: block;\n}\n\n.nav-links {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: nowrap;\n}\n\n/* Right section */\n.navbar-right {\n display: flex;\n align-items: center;\n gap: 20px;\n flex-shrink: 0;\n}\n\n.nav-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.nav-button {\n display: flex;\n align-items: center;\n}\n\n/* \n * Breakpoint 1: Hide \"Talk to us\" and \"Log in\" (nav-actions) \n * This happens first as the viewport gets narrower\n * Matches affinda.com behavior at ~1100px\n */\n@media (max-width: 1099px) {\n .nav-actions {\n display: none;\n }\n \n .navbar-right {\n gap: 0;\n }\n}\n\n/* Tablet adjustments */\n@media (max-width: 1024px) {\n .navbar-container {\n padding: 24px 40px 0;\n }\n\n .navbar-left {\n gap: 24px;\n }\n\n .nav-links {\n gap: 4px;\n }\n}\n\n/* \n * Breakpoint 2: Switch to hamburger menu\n * Matches affinda.com behavior at 991px\n */\n@media (max-width: 991px) {\n .navbar-container {\n padding: 16px 16px 0;\n }\n\n .navbar {\n padding: 8px 16px;\n flex-direction: column;\n border-radius: 16px;\n gap: 0;\n flex-wrap: wrap; /* Allow wrapping in mobile menu */\n }\n\n .navbar-left {\n width: 100%;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n }\n\n /* Show hamburger button on mobile */\n .mobile-menu-toggle {\n display: flex;\n }\n\n /* Hide nav links by default on mobile */\n .nav-links {\n display: none;\n width: 100%;\n flex-direction: column;\n align-items: stretch;\n gap: 0;\n margin-top: 16px;\n flex-wrap: wrap;\n }\n\n /* Show nav links when menu is open */\n .nav-links.mobile-open {\n display: flex;\n }\n\n /* Hide right section by default on mobile */\n .navbar-right {\n display: none;\n width: 100%;\n flex-direction: column;\n gap: 12px;\n align-items: stretch;\n margin-top: 16px;\n }\n\n /* Show right section when menu is open */\n .navbar-right.mobile-open {\n display: flex;\n }\n\n /* Show nav-actions again in mobile menu */\n .nav-actions {\n display: flex;\n width: 100%;\n flex-direction: column;\n align-items: stretch;\n gap: 0;\n }\n\n .nav-button {\n width: 100%;\n }\n}\n","import { Component, State, h, Host, Prop } 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 * Includes mobile hamburger menu.\n * \n * The logo slot can be used to provide a custom logo. If no logo is provided,\n * the default Affinda logo will be displayed.\n */\n@Component({\n tag: 'af-navbar',\n styleUrl: 'af-navbar.css',\n shadow: true\n})\nexport class AfNavbar {\n @State() mobileMenuOpen: boolean = false;\n\n /** Whether to show the default Affinda logo when no logo slot content is provided */\n @Prop() showDefaultLogo: boolean = true;\n\n private toggleMobileMenu = () => {\n this.mobileMenuOpen = !this.mobileMenuOpen;\n };\n\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\">\n {/* Default Affinda logo if no slot content provided */}\n {this.showDefaultLogo && <af-logo></af-logo>}\n </slot>\n </div>\n \n {/* Hamburger menu button - mobile only */}\n <button \n class=\"mobile-menu-toggle\"\n onClick={this.toggleMobileMenu}\n aria-label=\"Toggle navigation menu\"\n aria-expanded={this.mobileMenuOpen ? 'true' : 'false'}\n >\n {this.mobileMenuOpen ? (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M18 6L6 18M6 6l12 12\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n ) : (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M3 12h18M3 6h18M3 18h18\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n )}\n </button>\n \n <div class={`nav-links ${this.mobileMenuOpen ? 'mobile-open' : ''}`}>\n <slot name=\"start\"></slot>\n </div>\n </div>\n\n {/* Right section: Actions + Button */}\n <div class={`navbar-right ${this.mobileMenuOpen ? 'mobile-open' : ''}`}>\n <div class=\"nav-actions\">\n <slot name=\"end\"></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",":host {\n display: inline-block;\n color: var(--colour-brand-inkwell, #14343b);\n}\n\n.logo-img,\n.logo-svg {\n display: block;\n height: 22px;\n width: auto;\n object-fit: contain;\n}\n\n.logo-svg {\n /* Maintain aspect ratio based on viewBox (9290:1432 ≈ 6.49:1) */\n width: auto;\n height: 22px;\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Logo component with default Affinda branding\n * Can be customized with a custom logo URL or by using the slot\n */\n@Component({\n tag: 'af-logo',\n styleUrl: 'af-logo.css',\n shadow: true\n})\nexport class AfLogo {\n /** Custom logo image URL. If provided, displays this instead of the default Affinda logo */\n @Prop() src?: string;\n\n /** Alt text for the logo */\n @Prop() alt: string = 'Affinda';\n\n render() {\n // If custom src is provided, use an img tag\n if (this.src) {\n return (\n <Host>\n <img src={this.src} alt={this.alt} class=\"logo-img\" />\n </Host>\n );\n }\n\n // Default: render the Affinda logo inline SVG\n return (\n <Host>\n <svg \n class=\"logo-svg\" \n viewBox=\"0 0 9290 1432\" \n aria-label={this.alt}\n role=\"img\"\n >\n <path \n fill=\"currentColor\" \n d=\"M1691.17,452.11c-107.93-107.48-250.13-166.09-401.3-163.79h-739.51l-148.18,237.98h892.96c86.83,0,168.39,33.64,230.09,95.09,63.28,63.04,98.26,147.32,98.26,237.45,0,185.03-149.41,335.36-332.92,335.36H385.66c-82.44,0-149.59-67.64-149.59-150.68s67.32-151.75,149.41-154.23h810.17l152.93-237.98H381.44C171.21,656.62,0,832.45,0,1043.52s172.97,388.48,385.66,388.48h904.91c313.76,0,569.17-257.28,569.17-573.34,0-154.22-59.76-298.53-168.4-406.72l-.17.18Z\"\n />\n <path \n fill=\"currentColor\" \n d=\"M3265.12,353.81c-21.8-16.16-44.47-30.56-68.02-42.85-75.76-39.69-161-59.89-253.45-59.89-159.6,0-297.92,58.13-411.29,172.82-113.02,114.33-170.49,253.96-170.49,415.01s56.77,304.89,168.73,419.58c112.49,115.21,250.29,173.52,409.35,173.52,89.47,0,173.31-18.97,249.06-56.38,26.19-12.99,51.68-28.1,76.11-45.49v89.05h268.39V276.36h-268.39v77.45ZM3232.07,1013.47c-27.24,48.65-65.38,86.24-116.35,114.87-51.85,29.15-105.11,43.38-162.58,43.38s-107.92-14.05-157.31-43.21c-49.57-28.98-87.88-68.85-117.59-121.53-29.88-53.04-44.29-106.79-44.29-164.39s14.41-111.88,43.94-164.21c29.18-51.99,67.32-91.15,116.36-119.6,49.21-28.63,101.41-42.5,159.94-42.5,90.87,0,165.04,30.56,226.73,93.61,62.23,63.4,92.46,140.68,92.46,236.22,0,63.05-13.54,117.67-41.13,167.02l-.18.35Z\"\n />\n <path fill=\"currentColor\" d=\"M5569.92,278.96h-269.66v1143.74h269.66V278.96Z\"/>\n <path \n fill=\"currentColor\" \n d=\"M6504.78,328.74c-68.7-45.4-148.11-68.37-235.78-68.37s-163.57,19.96-235.61,59.36c-21.61,11.84-42.69,25.44-63.07,40.81v-89.22h-270.22v1151.2h270.22v-436.03c0-154.94,8.78-223.14,15.81-252.11,15.64-61.13,47.44-110.95,96.81-152.65,47.96-40.28,100.49-59.89,160.58-59.89,51.13,0,89.96,11.13,118.95,34.28,28.81,22.79,48.14,58.13,59.56,109.18,4.56,18.37,12.12,70.14,12.12,211.83v545.57h270.21v-583.02c0-146.29-15.28-253.17-46.56-326.67-32.67-76.85-84.33-138.69-153.2-184.27h.18Z\"\n />\n <path \n fill=\"currentColor\" \n d=\"M7728.49,355.19c-21.79-16.14-44.46-30.52-68.02-42.8-75.75-39.64-161-59.81-253.45-59.81-159.59,0-297.92,58.06-411.28,172.6-113.02,114.19-170.49,253.63-170.49,414.48s56.77,304.68,168.73,419.04c112.49,115.07,250.29,173.3,409.35,173.3,89.47,0,173.3-18.94,249.06-56.3,26.19-12.98,51.67-28.07,76.1-45.43v90.68h268.39V0h-268.39v355.37-.17ZM7695.45,1014.01c-27.24,48.59-65.38,86.13-116.36,114.72-51.85,29.11-104.93,43.32-162.58,43.32s-107.92-14.03-157.31-43.15c-49.56-28.94-87.88-68.76-117.58-121.38-29.88-52.97-44.29-106.64-44.29-164.18s14.41-111.73,43.94-164c29.17-51.92,67.32-91.03,116.35-119.45,49.22-28.59,101.42-42.45,159.95-42.45,90.87,0,165.04,30.52,226.73,93.49,62.22,63.32,92.45,140.5,92.45,235.92,0,62.97-13.53,117.52-41.12,166.81l-.18.35Z\"\n />\n <path \n fill=\"currentColor\" \n d=\"M9021.01,277.76v76.05c-21.79-16.16-44.47-30.56-68.02-42.85-75.75-39.69-161-59.89-253.45-59.89-159.59,0-297.92,58.13-411.29,172.82-113.01,114.33-170.48,253.96-170.48,415.01s56.77,304.89,168.73,419.58c112.49,115.21,250.28,173.52,409.35,173.52,89.46,0,173.3-18.97,249.06-56.38,26.19-12.99,51.67-28.1,76.1-45.49v89.05h268.39V277.76h-268.39ZM8987.97,1013.47c-27.25,48.65-65.39,86.24-116.36,114.87-51.85,29.15-105.1,43.38-162.58,43.38s-107.92-14.05-157.3-43.21c-49.57-28.98-87.89-68.85-117.59-121.53-29.88-53.04-44.29-106.79-44.29-164.39s14.41-111.88,43.94-164.21c29.17-51.99,67.31-91.15,116.35-119.6,49.22-28.63,101.42-42.5,159.95-42.5,90.87,0,165.04,30.56,226.73,93.61,62.22,63.4,92.45,140.68,92.45,236.22,0,63.05-13.53,117.67-41.13,167.02l-.17.35Z\"\n />\n <path fill=\"currentColor\" d=\"M3927.32,519.82c0-140.11,112.99-241.01,251.96-241.01h302.69V0h-302.69c-284.39,0-515.59,233.28-515.59,519.82v902.88h263.81v-445.28h431.9v-265.98h-431.9v-191.62h-.18Z\"/>\n <path fill=\"currentColor\" d=\"M4745.61,519.82c0-140.11,112.99-241.01,251.95-241.01h302.7V0h-302.7c-284.38,0-515.59,233.28-515.59,519.82v902.88h263.82v-445.28h431.89v-265.98h-431.89v-191.62h-.18Z\"/>\n </svg>\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":"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"}
|
|
@@ -108,24 +108,33 @@ const AfNavbar = class {
|
|
|
108
108
|
constructor(hostRef) {
|
|
109
109
|
index.registerInstance(this, hostRef);
|
|
110
110
|
this.mobileMenuOpen = false;
|
|
111
|
+
/** Whether to show the default Affinda logo when no logo slot content is provided */
|
|
112
|
+
this.showDefaultLogo = true;
|
|
111
113
|
this.toggleMobileMenu = () => {
|
|
112
114
|
this.mobileMenuOpen = !this.mobileMenuOpen;
|
|
113
115
|
};
|
|
114
116
|
}
|
|
115
117
|
render() {
|
|
116
|
-
return (index.h(index.Host, { key: '
|
|
118
|
+
return (index.h(index.Host, { key: '41513290b655f3f2b97e1cae368ba6d7381cdc36' }, index.h("nav", { key: '120110aead9ef4f4208037ef154652a6e0f748ce', class: "navbar-container" }, index.h("div", { key: '85cc962cf613cf937ac70487fa830f2ceb10572e', class: "navbar" }, index.h("div", { key: '4a2edd88eb4da94a2d7b5f2d59ff2d30045d1dcd', class: "navbar-left" }, index.h("div", { key: '91a5c5e58ec7ce0ecb00ea43530b4ba3761a0ed2', class: "logo" }, index.h("slot", { key: '30751c94859fe13a91217cfa2190b07f906fcd18', name: "logo" }, this.showDefaultLogo && index.h("af-logo", { key: 'e7e8fa3424b64939051772ea6bd8a6bfce284018' }))), index.h("button", { key: '76d66a715aa6d461e969e64c8e32a003bbf0b42f', class: "mobile-menu-toggle", onClick: this.toggleMobileMenu, "aria-label": "Toggle navigation menu", "aria-expanded": this.mobileMenuOpen ? 'true' : 'false' }, this.mobileMenuOpen ? (index.h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, index.h("path", { d: "M18 6L6 18M6 6l12 12", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))) : (index.h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, index.h("path", { d: "M3 12h18M3 6h18M3 18h18", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), index.h("div", { key: '3b1b69aec735bd68c1c4f858f0bf563065d917dd', class: `nav-links ${this.mobileMenuOpen ? 'mobile-open' : ''}` }, index.h("slot", { key: '0dcee714f4e06b8ba70b196d9e8058a2df807324', name: "start" }))), index.h("div", { key: '77492eb90b42d337625c970ef102568483eea694', class: `navbar-right ${this.mobileMenuOpen ? 'mobile-open' : ''}` }, index.h("div", { key: '85158502c83e1aee9e36ce3a2d606c02821b96a3', class: "nav-actions" }, index.h("slot", { key: 'cf0dde598cfbe10f5fe96d7b8e365fa0b6d5076e', name: "end" })), index.h("div", { key: '06ee7e95e5f2cef90381d376ce5ce7262eca44fe', class: "nav-button" }, index.h("slot", { key: '7ec6f85c7759bc9bda06f900d132ebca3722c1e2', name: "button" })))))));
|
|
117
119
|
}
|
|
118
120
|
};
|
|
119
121
|
AfNavbar.style = afNavbarCss;
|
|
120
122
|
|
|
121
|
-
const afLogoCss = ":host{display:inline-block}.logo-img{display:block;height:22px;width:
|
|
123
|
+
const afLogoCss = ":host{display:inline-block;color:var(--colour-brand-inkwell, #14343b)}.logo-img,.logo-svg{display:block;height:22px;width:auto;object-fit:contain}.logo-svg{width:auto;height:22px}";
|
|
122
124
|
|
|
123
125
|
const AfLogo = class {
|
|
124
126
|
constructor(hostRef) {
|
|
125
127
|
index.registerInstance(this, hostRef);
|
|
128
|
+
/** Alt text for the logo */
|
|
129
|
+
this.alt = 'Affinda';
|
|
126
130
|
}
|
|
127
131
|
render() {
|
|
128
|
-
|
|
132
|
+
// If custom src is provided, use an img tag
|
|
133
|
+
if (this.src) {
|
|
134
|
+
return (index.h(index.Host, null, index.h("img", { src: this.src, alt: this.alt, class: "logo-img" })));
|
|
135
|
+
}
|
|
136
|
+
// Default: render the Affinda logo inline SVG
|
|
137
|
+
return (index.h(index.Host, null, index.h("svg", { class: "logo-svg", viewBox: "0 0 9290 1432", "aria-label": this.alt, role: "img" }, index.h("path", { fill: "currentColor", d: "M1691.17,452.11c-107.93-107.48-250.13-166.09-401.3-163.79h-739.51l-148.18,237.98h892.96c86.83,0,168.39,33.64,230.09,95.09,63.28,63.04,98.26,147.32,98.26,237.45,0,185.03-149.41,335.36-332.92,335.36H385.66c-82.44,0-149.59-67.64-149.59-150.68s67.32-151.75,149.41-154.23h810.17l152.93-237.98H381.44C171.21,656.62,0,832.45,0,1043.52s172.97,388.48,385.66,388.48h904.91c313.76,0,569.17-257.28,569.17-573.34,0-154.22-59.76-298.53-168.4-406.72l-.17.18Z" }), index.h("path", { fill: "currentColor", d: "M3265.12,353.81c-21.8-16.16-44.47-30.56-68.02-42.85-75.76-39.69-161-59.89-253.45-59.89-159.6,0-297.92,58.13-411.29,172.82-113.02,114.33-170.49,253.96-170.49,415.01s56.77,304.89,168.73,419.58c112.49,115.21,250.29,173.52,409.35,173.52,89.47,0,173.31-18.97,249.06-56.38,26.19-12.99,51.68-28.1,76.11-45.49v89.05h268.39V276.36h-268.39v77.45ZM3232.07,1013.47c-27.24,48.65-65.38,86.24-116.35,114.87-51.85,29.15-105.11,43.38-162.58,43.38s-107.92-14.05-157.31-43.21c-49.57-28.98-87.88-68.85-117.59-121.53-29.88-53.04-44.29-106.79-44.29-164.39s14.41-111.88,43.94-164.21c29.18-51.99,67.32-91.15,116.36-119.6,49.21-28.63,101.41-42.5,159.94-42.5,90.87,0,165.04,30.56,226.73,93.61,62.23,63.4,92.46,140.68,92.46,236.22,0,63.05-13.54,117.67-41.13,167.02l-.18.35Z" }), index.h("path", { fill: "currentColor", d: "M5569.92,278.96h-269.66v1143.74h269.66V278.96Z" }), index.h("path", { fill: "currentColor", d: "M6504.78,328.74c-68.7-45.4-148.11-68.37-235.78-68.37s-163.57,19.96-235.61,59.36c-21.61,11.84-42.69,25.44-63.07,40.81v-89.22h-270.22v1151.2h270.22v-436.03c0-154.94,8.78-223.14,15.81-252.11,15.64-61.13,47.44-110.95,96.81-152.65,47.96-40.28,100.49-59.89,160.58-59.89,51.13,0,89.96,11.13,118.95,34.28,28.81,22.79,48.14,58.13,59.56,109.18,4.56,18.37,12.12,70.14,12.12,211.83v545.57h270.21v-583.02c0-146.29-15.28-253.17-46.56-326.67-32.67-76.85-84.33-138.69-153.2-184.27h.18Z" }), index.h("path", { fill: "currentColor", d: "M7728.49,355.19c-21.79-16.14-44.46-30.52-68.02-42.8-75.75-39.64-161-59.81-253.45-59.81-159.59,0-297.92,58.06-411.28,172.6-113.02,114.19-170.49,253.63-170.49,414.48s56.77,304.68,168.73,419.04c112.49,115.07,250.29,173.3,409.35,173.3,89.47,0,173.3-18.94,249.06-56.3,26.19-12.98,51.67-28.07,76.1-45.43v90.68h268.39V0h-268.39v355.37-.17ZM7695.45,1014.01c-27.24,48.59-65.38,86.13-116.36,114.72-51.85,29.11-104.93,43.32-162.58,43.32s-107.92-14.03-157.31-43.15c-49.56-28.94-87.88-68.76-117.58-121.38-29.88-52.97-44.29-106.64-44.29-164.18s14.41-111.73,43.94-164c29.17-51.92,67.32-91.03,116.35-119.45,49.22-28.59,101.42-42.45,159.95-42.45,90.87,0,165.04,30.52,226.73,93.49,62.22,63.32,92.45,140.5,92.45,235.92,0,62.97-13.53,117.52-41.12,166.81l-.18.35Z" }), index.h("path", { fill: "currentColor", d: "M9021.01,277.76v76.05c-21.79-16.16-44.47-30.56-68.02-42.85-75.75-39.69-161-59.89-253.45-59.89-159.59,0-297.92,58.13-411.29,172.82-113.01,114.33-170.48,253.96-170.48,415.01s56.77,304.89,168.73,419.58c112.49,115.21,250.28,173.52,409.35,173.52,89.46,0,173.3-18.97,249.06-56.38,26.19-12.99,51.67-28.1,76.1-45.49v89.05h268.39V277.76h-268.39ZM8987.97,1013.47c-27.25,48.65-65.39,86.24-116.36,114.87-51.85,29.15-105.1,43.38-162.58,43.38s-107.92-14.05-157.3-43.21c-49.57-28.98-87.89-68.85-117.59-121.53-29.88-53.04-44.29-106.79-44.29-164.39s14.41-111.88,43.94-164.21c29.17-51.99,67.31-91.15,116.35-119.6,49.22-28.63,101.42-42.5,159.95-42.5,90.87,0,165.04,30.56,226.73,93.61,62.22,63.4,92.45,140.68,92.45,236.22,0,63.05-13.53,117.67-41.13,167.02l-.17.35Z" }), index.h("path", { fill: "currentColor", d: "M3927.32,519.82c0-140.11,112.99-241.01,251.96-241.01h302.69V0h-302.69c-284.39,0-515.59,233.28-515.59,519.82v902.88h263.81v-445.28h431.9v-265.98h-431.9v-191.62h-.18Z" }), index.h("path", { fill: "currentColor", d: "M4745.61,519.82c0-140.11,112.99-241.01,251.95-241.01h302.7V0h-302.7c-284.38,0-515.59,233.28-515.59,519.82v902.88h263.82v-445.28h431.89v-265.98h-431.89v-191.62h-.18Z" }))));
|
|
129
138
|
}
|
|
130
139
|
};
|
|
131
140
|
AfLogo.style = afLogoCss;
|
|
@@ -15,7 +15,7 @@ const AfHeroSection = class {
|
|
|
15
15
|
this.minHeight = '60vh';
|
|
16
16
|
}
|
|
17
17
|
render() {
|
|
18
|
-
return (index.h(index.Host, { key: '
|
|
18
|
+
return (index.h(index.Host, { key: '1472626cfbfd204d694aad7615322af59cfe58bd' }, index.h("div", { key: '5fc1bc9e414c6ef5d27796563d7e699549c8e9a7', class: `hero-section variant-${this.variant}`, style: { minHeight: this.minHeight } }, this.withDecoration && (index.h("div", { key: '9fdb9eab09c662db140ee75574ca216424fd821f', class: "hero-decoration" }, index.h("slot", { key: '98760cee0be401595c59bae814cdd1b3d5466679', name: "decoration" }))), index.h("af-container", { key: 'a86a8c89ef973beb23639d827bc73c1707884676' }, index.h("div", { key: '2936add9e7607e354482f6dc401439c339269bfd', class: "hero-content" }, index.h("slot", { key: '8571e1497804a58e812a2c4e2a4229aaacd50f60' }))))));
|
|
19
19
|
}
|
|
20
20
|
};
|
|
21
21
|
AfHeroSection.style = afHeroSectionCss;
|
|
@@ -9,7 +9,7 @@ const AfLogoWell = class {
|
|
|
9
9
|
index.registerInstance(this, hostRef);
|
|
10
10
|
}
|
|
11
11
|
render() {
|
|
12
|
-
return (index.h(index.Host, { key: '
|
|
12
|
+
return (index.h(index.Host, { key: '679e2499f882286319d238428fea12307fd7913e' }, index.h("div", { key: '7b6b0e3571f5e584939622077b2c9d861f6343e4', class: "logo-well" }, index.h("slot", { key: '07c6a572e394bc9e7f11e0b1c94c725a83ed312a' }))));
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
15
|
AfLogoWell.style = afLogoWellCss;
|
|
@@ -15,8 +15,8 @@ const AfSection = class {
|
|
|
15
15
|
this.container = true;
|
|
16
16
|
}
|
|
17
17
|
render() {
|
|
18
|
-
const content = index.h("slot", { key: '
|
|
19
|
-
return (index.h(index.Host, { key: '
|
|
18
|
+
const content = index.h("slot", { key: 'cf70bb3d8d31bc3f68c49c40f1d3c415de57d8b1' });
|
|
19
|
+
return (index.h(index.Host, { key: '5b93e97c455ca8a50b598b0f3299e9884afc61ea' }, index.h("div", { key: '75f9cfbc62fd40dfd669c841f0b8490dcabb0c6f', class: `section padding-${this.padding} bg-${this.background}` }, this.container ? (index.h("af-container", null, content)) : content)));
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
22
|
AfSection.style = afSectionCss;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-DfEVhbS6.js');
|
|
4
|
+
|
|
5
|
+
const afSocialLinkCss = ".sc-af-social-link-h{display:inline-block}.social-link.sc-af-social-link{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(198, 213, 209, 0.3);border-radius:50%;color:var(--colour-tints-mistGreen-200, #C6D5D1);transition:all 0.2s ease}.social-link.sc-af-social-link:hover{background-color:rgba(198, 213, 209, 0.1);border-color:rgba(198, 213, 209, 0.5)}";
|
|
6
|
+
|
|
7
|
+
const AfSocialLink = class {
|
|
8
|
+
constructor(hostRef) {
|
|
9
|
+
index.registerInstance(this, hostRef);
|
|
10
|
+
/** Link URL */
|
|
11
|
+
this.href = '#';
|
|
12
|
+
/** Accessible label for the link */
|
|
13
|
+
this.label = '';
|
|
14
|
+
/** Icon type: 'linkedin', 'youtube', 'github', 'twitter', 'facebook', or 'custom' */
|
|
15
|
+
this.icon = 'custom';
|
|
16
|
+
}
|
|
17
|
+
renderIcon() {
|
|
18
|
+
switch (this.icon) {
|
|
19
|
+
case 'linkedin':
|
|
20
|
+
return (index.h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, index.h("path", { d: "M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" }), index.h("rect", { x: "2", y: "9", width: "4", height: "12" }), index.h("circle", { cx: "4", cy: "4", r: "2" })));
|
|
21
|
+
case 'youtube':
|
|
22
|
+
return (index.h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, index.h("path", { d: "M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z" }), index.h("polygon", { points: "9.75,15.02 15.5,11.75 9.75,8.48", fill: "currentColor", stroke: "none" })));
|
|
23
|
+
case 'github':
|
|
24
|
+
return (index.h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, index.h("path", { d: "M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22" })));
|
|
25
|
+
case 'twitter':
|
|
26
|
+
return (index.h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, index.h("path", { d: "M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z" })));
|
|
27
|
+
case 'facebook':
|
|
28
|
+
return (index.h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, index.h("path", { d: "M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z" })));
|
|
29
|
+
default:
|
|
30
|
+
return index.h("slot", { name: "icon" });
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
render() {
|
|
34
|
+
return (index.h(index.Host, { key: 'a3ee0c643448f2c83f37559334be40a00a041465' }, index.h("a", { key: '162b7812f93c5226272220edd9ba3153651c01df', href: this.href, target: "_blank", rel: "noopener noreferrer", class: "social-link", "aria-label": this.label }, this.renderIcon())));
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
AfSocialLink.style = afSocialLinkCss;
|
|
38
|
+
|
|
39
|
+
exports.af_social_link = AfSocialLink;
|
|
40
|
+
//# sourceMappingURL=af-social-link.entry.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"af-social-link.entry.cjs.js","sources":["src/components/af-social-link/af-social-link.css?tag=af-social-link&encapsulation=scoped","src/components/af-social-link/af-social-link.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n.social-link {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border: 1px solid rgba(198, 213, 209, 0.3);\n border-radius: 50%;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n transition: all 0.2s ease;\n}\n\n.social-link:hover {\n background-color: rgba(198, 213, 209, 0.1);\n border-color: rgba(198, 213, 209, 0.5);\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Social media link component\n * Circular bordered icon link for social media profiles\n */\n@Component({\n tag: 'af-social-link',\n styleUrl: 'af-social-link.css',\n shadow: false,\n scoped: true,\n})\nexport class AfSocialLink {\n /** Link URL */\n @Prop() href: string = '#';\n\n /** Accessible label for the link */\n @Prop() label: string = '';\n\n /** Icon type: 'linkedin', 'youtube', 'github', 'twitter', 'facebook', or 'custom' */\n @Prop() icon: 'linkedin' | 'youtube' | 'github' | 'twitter' | 'facebook' | 'custom' = 'custom';\n\n private renderIcon() {\n switch (this.icon) {\n case 'linkedin':\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <path d=\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\"/>\n <rect x=\"2\" y=\"9\" width=\"4\" height=\"12\"/>\n <circle cx=\"4\" cy=\"4\" r=\"2\"/>\n </svg>\n );\n case 'youtube':\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <path d=\"M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z\"/>\n <polygon points=\"9.75,15.02 15.5,11.75 9.75,8.48\" fill=\"currentColor\" stroke=\"none\"/>\n </svg>\n );\n case 'github':\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <path d=\"M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22\"/>\n </svg>\n );\n case 'twitter':\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <path d=\"M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z\"/>\n </svg>\n );\n case 'facebook':\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <path d=\"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z\"/>\n </svg>\n );\n default:\n return <slot name=\"icon\"></slot>;\n }\n }\n\n render() {\n return (\n <Host>\n <a \n href={this.href} \n target=\"_blank\" \n rel=\"noopener noreferrer\" \n class=\"social-link\" \n aria-label={this.label}\n >\n {this.renderIcon()}\n </a>\n </Host>\n );\n }\n}\n\n"],"names":["h","Host"],"mappings":"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"}
|
|
@@ -71,7 +71,7 @@ const AfTestimonialCarousel = class {
|
|
|
71
71
|
render() {
|
|
72
72
|
const hasPrev = this.currentIndex > 0;
|
|
73
73
|
const hasNext = this.currentIndex < this.testimonialCount - 1;
|
|
74
|
-
return (index.h(index.Host, { key: '
|
|
74
|
+
return (index.h(index.Host, { key: '5fb510b14cc125949f4265e0b2b44ddd85a0fe82' }, index.h("div", { key: 'd40dc624996acb24689f47ccb108cd50791ba35c', class: "testimonial-carousel" }, index.h("div", { key: 'df0c0e42b475c652b14fafa3e3d96af543839eaa', class: "testimonial-slides" }, index.h("slot", { key: 'da7c0e18a5370b0b06526e86d5f482aa83fce08d' })), this.testimonialCount > 1 && (index.h("div", { key: '4988b2bbc14aa5d0b5ca8cbe1d26025bb4f59310', class: "testimonial-progress" }, Array.from({ length: this.testimonialCount }).map((_, index$1) => (index.h("div", { class: `progress-dot ${index$1 === this.currentIndex ? 'active' : ''}`, onClick: () => {
|
|
75
75
|
if (!this.isAnimating && index$1 !== this.currentIndex) {
|
|
76
76
|
this.isAnimating = true;
|
|
77
77
|
this.currentIndex = index$1;
|
|
@@ -80,7 +80,7 @@ const AfTestimonialCarousel = class {
|
|
|
80
80
|
this.isAnimating = false;
|
|
81
81
|
}, 500);
|
|
82
82
|
}
|
|
83
|
-
} }))))), this.testimonialCount > 1 && (index.h("div", { key: '
|
|
83
|
+
} }))))), this.testimonialCount > 1 && (index.h("div", { key: 'e7964cffbe873d8c4bfa80696137f09b451799ca', class: "carousel-navigation" }, index.h("button", { key: 'f2fc1864f48ecb72e2114af40a849ba6d779afb7', class: "nav-button prev", disabled: !hasPrev, onClick: this.goToPrevious, "aria-label": "Previous testimonial" }, index.h("svg", { key: 'ac40cddba548d95f19b0e7729fea5d6fe923533e', width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, index.h("path", { key: '90071385affb9512188b583cbd3dd60da4e6d7b7', d: "M19 12H5M5 12L12 19M5 12L12 5", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))), index.h("button", { key: 'bd3095a3e9857c9fdd30a3f8cf78197b1890e9a2', class: "nav-button next", disabled: !hasNext, onClick: this.goToNext, "aria-label": "Next testimonial" }, index.h("svg", { key: 'dc2fd50a2c810c9af346cbb0432a44baf6c56219', width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, index.h("path", { key: 'de50488dc05d8fd669951d099376f65b9a7dfa26', d: "M5 12H19M19 12L12 5M19 12L12 19", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))))))));
|
|
84
84
|
}
|
|
85
85
|
get host() { return index.getElement(this); }
|
|
86
86
|
};
|