@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
|
@@ -1,29 +1,24 @@
|
|
|
1
1
|
import { h, Host } from "@stencil/core";
|
|
2
2
|
/**
|
|
3
|
-
* Footer component for
|
|
4
|
-
*
|
|
3
|
+
* Footer component for marketing pages
|
|
4
|
+
* Provides a flexible, slot-based layout for footer content
|
|
5
|
+
* All content is passed via slots - no hardcoded links or content
|
|
5
6
|
*/
|
|
6
7
|
export class AfFooter {
|
|
7
8
|
constructor() {
|
|
8
|
-
/**
|
|
9
|
-
this.
|
|
10
|
-
/**
|
|
11
|
-
this.
|
|
12
|
-
/** Copyright year */
|
|
13
|
-
this.copyrightYear = new Date().getFullYear().toString();
|
|
9
|
+
/** Copyright text (e.g., "© 2025 Company Name. All rights reserved.") */
|
|
10
|
+
this.copyrightText = '';
|
|
11
|
+
/** Status message text */
|
|
12
|
+
this.statusText = '';
|
|
14
13
|
/** Status page URL */
|
|
15
|
-
this.statusUrl = '
|
|
16
|
-
/** Whether
|
|
14
|
+
this.statusUrl = '';
|
|
15
|
+
/** Whether systems are operational (shows green/red indicator) */
|
|
17
16
|
this.systemsOperational = true;
|
|
18
|
-
/**
|
|
19
|
-
this.
|
|
20
|
-
/** YouTube URL */
|
|
21
|
-
this.youtubeUrl = 'https://www.youtube.com/@affinda';
|
|
22
|
-
/** GitHub URL */
|
|
23
|
-
this.githubUrl = 'https://github.com/affinda';
|
|
17
|
+
/** Whether to show the status indicator */
|
|
18
|
+
this.showStatus = true;
|
|
24
19
|
}
|
|
25
20
|
render() {
|
|
26
|
-
return (h(Host, { key: '9d009ef32ef2d3a02a73534642cfac11124a021f' }, h("footer", { key: '9a15bc43554ff8e01710166a06d670648f1a63f9', class: "footer" }, h("div", { key: '123bc6641fd50dccc612a8c0e2ae03c1246cb7d3', class: "footer__container" }, h("div", { key: 'a2873b726170cedba26c3e68af6f0d0c4cfe83ad', class: "footer__top" }, h("div", { key: 'e0fb266adea854029fc6a8aa1003c82703b2d05c', class: "footer__brand" }, h("div", { key: 'cd7f8942f32d91500ec4a4676e9e0f140fb1cab6', class: "footer__brand-card" }, h("div", { key: '2ec8af97528776c09f91f9c6436c4ef002751f90', class: "footer__logo" }, h("slot", { key: 'df60c6030e452738a21ab2451feacf2b16b36c27', name: "logo" }, h("svg", { key: 'cfa7e88427109d5e44c03e92fa6db599daa302a9', width: "140", height: "32", viewBox: "0 0 140 32", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, 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" }), h("text", { key: '73cf1cd7fd3fd3fd85741ce7661fde09e2768840', x: "40", y: "22", fill: "#C6D5D1", "font-family": "NeuSans, sans-serif", "font-size": "20", "font-weight": "500" }, "affinda")))), h("div", { key: 'fee5f9ae35bcdbce0f757537fa330ccbcee36ec7', class: "footer__social" }, h("a", { key: '1dd47b104eef96d88df54fdfdb99302f5b731579', href: this.linkedinUrl, target: "_blank", rel: "noopener noreferrer", class: "footer__social-link", "aria-label": "LinkedIn" }, h("svg", { key: '5b0925eb82f5ecbc24310c0a733e8faaa73e9b31', width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, 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" }), h("rect", { key: '561369255a60efb96698a712d293822043c67960', x: "2", y: "9", width: "4", height: "12" }), h("circle", { key: '69641757ebd881056951192d21e36acb974a32a6', cx: "4", cy: "4", r: "2" }))), h("a", { key: '93c78373a62004b20edc2a436184afea029d40b2', href: this.youtubeUrl, target: "_blank", rel: "noopener noreferrer", class: "footer__social-link", "aria-label": "YouTube" }, h("svg", { key: '8a9bd363371a478c298afaf309b9209dd74a95e2', width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, 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" }), h("polygon", { key: '6d3abfd00c36b8fa207c3a4034ebd30ffc0dcfa9', points: "9.75,15.02 15.5,11.75 9.75,8.48", fill: "currentColor", stroke: "none" }))), h("a", { key: '12eb2941c5a0cd2d43aa5e4bbf3ca68c9f6e64a1', href: this.githubUrl, target: "_blank", rel: "noopener noreferrer", class: "footer__social-link", "aria-label": "GitHub" }, h("svg", { key: '7dad99278cd95a82235bce64c0c48d18743350d5', width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5" }, 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" }))))), h("div", { key: '308edfd162be480ce06dc13d6cc3cee5f56ba1e4', class: "footer__contact-card" }, h("div", { key: '31b7465b193fdbc7fd3b547b3024e516ca9730c9', class: "footer__contact-item" }, h("h5", { key: '1af87d6ba8d55dffb4a096e081c7575b8b81f611', class: "footer__contact-label" }, "Sales enquiries"), h("p", { key: '20e5f723226b597593a303f32c784db7e4b61e6e', class: "footer__contact-value" }, this.salesEmail)), h("div", { key: 'ee4d28d31e45700c3f505f84663a6309fa8e8144', class: "footer__contact-item" }, h("h5", { key: 'bd36693af223e71fa6522abc8ad6c050235f3aac', class: "footer__contact-label" }, "Support"), h("p", { key: 'e7a7468f65247c84610c2b360c923cbff57d2ccd', class: "footer__contact-value" }, this.supportEmail)))), h("div", { key: '8e4a2957dda89c67ee8e670515e87563aa1aca5e', class: "footer__nav" }, h("div", { key: 'aa05658c3cd62f24179db9bb5610fe34fb3fa4d4', class: "footer__nav-columns" }, h("slot", { key: 'fc4c5c493eff381965d4ea7233d9bec4c3697cac', name: "nav-columns" }, h("div", { key: '6358c92f788927646a599f67d4a3ca4705354958', class: "footer__nav-column" }, h("h5", { key: 'f356843b9c094f07483a252f1c288f4743f66fc1', class: "footer__nav-heading" }, "Explore"), h("ul", { key: '76c13d87e00ff9efccbdd94f57ead39bcb153868', class: "footer__nav-list" }, h("li", { key: '831b35251740578ca45226ea1a7c54102e298f1a' }, h("a", { key: 'fd128375e061b9b027571840299fd6567b587355', href: "/platform" }, "Platform")), h("li", { key: '53e7f312418def66d1fab445d9aecf024cdfff66' }, h("a", { key: 'af6558aff8a2e79f573922aa5af52c25e21fa57b', href: "/industries" }, "Industries")), h("li", { key: '9e0208a0c9d3b735ae3de5d77700a8cb99a53a44' }, h("a", { key: '02365c6b8f7cc8281b86549acbaed3ea967944fe', href: "/use-cases" }, "Use cases")), h("li", { key: '5475c2013c4fa862e346e5b0ad00772d6c4497d7' }, h("a", { key: '1a30dacf3c00e738c83ea189dfc851c0540a0d45', href: "/documents" }, "Document types")), h("li", { key: '59fcc181483eba0a64a7331021e00a5d019e783e' }, h("a", { key: 'fa09d2be553b67e6842ff14da264397d34ca37c5', href: "/resume-parser" }, "Resume Parser")))), h("div", { key: '3cedaccbf551c0f823c75edda0611ac190066a66', class: "footer__nav-column" }, h("h5", { key: '25c90b695d1f93121e8a45680e6b4d386e6c160c', class: "footer__nav-heading" }, "Pricing"), h("ul", { key: '0a4e1fda6589e89bfe48b1dcc7345f1721485ba7', class: "footer__nav-list" }, h("li", { key: '85cc5dfea398d8f3a2c7050fdfb760b808978252' }, h("a", { key: '29cb2a166e31b55b0b304434b5ecef310538fd52', href: "/pricing-plans" }, "Platform pricing")), h("li", { key: '922cbb456dd451587575af269bc36f9f9cd0aa6d' }, h("a", { key: '4afded0564653d0f64ce11988c4f824021793b8c', href: "/recruitment-ai-pricing" }, "Resume Parser pricing")))), h("div", { key: 'ac0b8a6cb71ee08d7c707ca231dc4d109eb5cd56', class: "footer__nav-column" }, h("h5", { key: 'dc1030561031dfebb6cba5ce4986bc987e275e1b', class: "footer__nav-heading" }, "Company"), h("ul", { key: 'dd2f31792aa3e7bf9d89debbf0f9a292326d9f1d', class: "footer__nav-list" }, h("li", { key: '8b960c5b652663826b5ca8b096c500eb41473088' }, h("a", { key: 'f5ffe17af65db0d004930c83271b3e2c8c2a45c3', href: "/about-us" }, "About")), h("li", { key: '15383db8132cb54113c82f0e984ab2456f68ab67' }, h("a", { key: '06e49b29807bfaec53d639d0586c042a75aa6da8', href: "/careers" }, "Careers")), h("li", { key: 'd6b5802dbdde8237e18d442544a4ddcab3e938ba' }, h("a", { key: 'd6f2b1dda3e345e4881012111407b9868191cae8', href: "/partners" }, "Partners")), h("li", { key: '3b1b383567fb9f3ebcf34674945b50ea34d707c4' }, h("a", { key: 'e3792eb407636a04acd13e537d1192e325e0bf28', href: "/contact" }, "Contact us")), h("li", { key: 'bddc9b5fde22e7bbae0ac37664899bdd7ac577b9' }, h("a", { key: '5f7c16c277ee3e52994a4d3b675e90be914d4210', href: "/security" }, "Security")), h("li", { key: 'f873de499deba836dcd4cd25558b839521975fc7' }, h("a", { key: 'ca0bcca09d3bcc6c26f0e48bc0d8fe67725e2fd9', href: "https://www.affindagroup.com/", target: "_blank", rel: "noopener noreferrer" }, "Affinda Group", h("svg", { key: 'e27156d4a31906cf106939fb160c06aa7ed0cc0a', class: "footer__external-icon", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" }, 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" })))), h("li", { key: 'fa6ddff07db042e41b11cdc41d098c54181144c4' }, h("a", { key: '7bb51d2e9c27dac57e099fd1570f155ac626825b', href: "https://www.draftable.com/", target: "_blank", rel: "noopener noreferrer" }, "Draftable", h("svg", { key: 'c07bf4f900036a85ea1c662d63f88b1c544f567b', class: "footer__external-icon", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" }, 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" })))))), h("div", { key: '5b07294489371095d0f8447efe2a0e09f62bb6d7', class: "footer__nav-column" }, h("h5", { key: 'd723c2b1593f1f20da228e9daa01e83652422992', class: "footer__nav-heading" }, "Learn more"), h("ul", { key: '4c3a4e2d43987d724a8f76086f777ab1aeee0c33', class: "footer__nav-list" }, h("li", { key: '0cec40b18dbd3fccb9ae014928d3814ee19125ee' }, h("a", { key: '9e25f6abca961fa29fd397f88eaeb2fd33362e5b', href: "/blog" }, "Blog")), h("li", { key: 'b338d7027eddf27d5ec5db843c6d5841a6d17fee' }, h("a", { key: 'a6eae199076bf399ab3ceafedbb3c7ba27db3dee', href: "/case-studies" }, "Customer stories")), h("li", { key: '4c73a20a0e02e5d4abb8d5f79f472fdcd32b0b1d' }, h("a", { key: '07b39e1a1a6f2b6c8ca0800572ea8e61c50ffac7', href: "https://docs.affinda.com/", target: "_blank", rel: "noopener noreferrer" }, "Affinda Academy", h("svg", { key: '859ff2bd393a8a6ddf5d8321cd7d8fa8c72aca70', class: "footer__external-icon", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" }, 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" })))), h("li", { key: '02c1a5bd7963fe3ee94eff5ac0ca4d4959f09331' }, h("a", { key: '161212bbed131e2ff200c64bc0aaf3eff1af3568', href: "https://docs.affinda.com/reference/", target: "_blank", rel: "noopener noreferrer" }, "API reference", h("svg", { key: 'f4bb636f1acb30e4af91ad4603afbbd795f63ddd', class: "footer__external-icon", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" }, 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" })))), h("li", { key: '849c447969e7aef8d8bf80c5b87fffbf51018c29' }, h("a", { key: 'ba859d73e047d98595c7ed96421bd831ca815ea8', href: "https://docs.affinda.com/updates", target: "_blank", rel: "noopener noreferrer" }, "Product updates", h("svg", { key: 'ee5fdfd1df9dffb9eb313363e5eed4e1438c00d3', class: "footer__external-icon", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" }, 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" })))))))), h("div", { key: '6ebb4c4f8abd11c43f9a5b8a3d722bd4210fd31d', class: "footer__status" }, h("span", { key: 'c48f28a6515b6634c09dea8433fe77e8b3827fad', class: `footer__status-dot ${this.systemsOperational ? 'footer__status-dot--operational' : 'footer__status-dot--issue'}` }), h("span", { key: 'a710886e3c1ba335586899fd9bd41493da3e9c92', class: "footer__status-text" }, this.systemsOperational ? 'All systems are operational' : 'System issues detected'), h("a", { key: 'd4dcdbc1a0b3884703f01af06acc6b03ed2f477c', href: this.statusUrl, target: "_blank", rel: "noopener noreferrer", class: "footer__status-link" }, "Learn more")))), h("div", { key: '01652e175f0d60ea2298d9b118ca2d599f3df3ed', class: "footer__bottom" }, h("p", { key: '6d90e7996ec3a39fb5fa75de1cedbac7bff09e40', class: "footer__copyright" }, "\u00A9 ", this.copyrightYear, " Affinda. All rights reserved."), h("div", { key: '578940724f6f8ccc40e3bc9d7d90b48776904a20', class: "footer__legal" }, h("a", { key: 'fa1f810f98dc02141436a8f4d1addd7423f94a43', href: "/privacy-and-data-protection-policy" }, "Privacy policy"), h("a", { key: '5f40b79c933794f82499663080e5039e2ec3729a', href: "/website-terms" }, "Website terms"), h("a", { key: 'de48b81b13a4169dd0b25bbca315b283172b59ff', href: "/product-terms" }, "Product terms")), h("div", { key: '1e3b2738dfd2b2874b514fa11f24322b0edad7e7', class: "footer__badges" }, h("slot", { key: 'f27200be911fb2bba954b91ee304b57bc1be3483', name: "badges" }, h("div", { key: '1c1e0f88d0efc96a2bf5ff99eaab001c7dade962', class: "footer__badge", title: "GDPR Compliant" }, h("svg", { key: 'e1f7b274367a9a4c87ecb503bae4ef0c664a3b99', width: "40", height: "40", viewBox: "0 0 40 40", fill: "none" }, h("circle", { key: '2f6724b6c664bbdfb8eb6363aeb9ca2699a0b804', cx: "20", cy: "20", r: "18", stroke: "#FFD700", "stroke-width": "2", fill: "#003399" }), h("text", { key: 'b5213657f0f5bfd4ea1786a1319b5a0e97f4c1fc', x: "20", y: "24", "text-anchor": "middle", fill: "white", "font-size": "8", "font-weight": "bold" }, "GDPR"))), h("div", { key: 'ae247cc61144a16212a38e56acddbd9d7893a060', class: "footer__badge", title: "SOC 2 Compliant" }, h("svg", { key: '5ff33c5885e2b4c271305d042ba18407eaa7f77a', width: "40", height: "40", viewBox: "0 0 40 40", fill: "none" }, h("circle", { key: '78033711f6bcae76c25b1fbb3e6f5368079bdfee', cx: "20", cy: "20", r: "18", stroke: "#0066CC", "stroke-width": "2", fill: "white" }), h("text", { key: '56456237779a0f9ccc5558d638d63d5daabbf524', x: "20", y: "18", "text-anchor": "middle", fill: "#0066CC", "font-size": "6", "font-weight": "bold" }, "AICPA"), h("text", { key: 'f38621118751089036a0423a0f2ce200686f5a6c', x: "20", y: "26", "text-anchor": "middle", fill: "#0066CC", "font-size": "8", "font-weight": "bold" }, "SOC"))), h("div", { key: '6a0ca86b597d51fac9b9f4ef18ecf2a982980428', class: "footer__badge", title: "ISO 27001:2022" }, h("svg", { key: '1d1bc52ca35785f3836fe944ed7c1f0d1b5798ff', width: "40", height: "40", viewBox: "0 0 40 40", fill: "none" }, h("circle", { key: '7cc2ad4046e81e59edd6e80709965d8577029b4b', cx: "20", cy: "20", r: "18", stroke: "#333", "stroke-width": "2", fill: "white" }), h("text", { key: '04ed5d7ed451ec74e6a9ff44e16f5f25f2630aed', x: "20", y: "18", "text-anchor": "middle", fill: "#333", "font-size": "8", "font-weight": "bold" }, "ISO"), h("text", { key: '20502ad4c80bf5d454278d2167b596319e9f33ec', x: "20", y: "28", "text-anchor": "middle", fill: "#333", "font-size": "5" }, "27001:2022"))))))))));
|
|
21
|
+
return (h(Host, { key: '0ead00f00cafcba90071c76f4cb86d6abb1a8e9b' }, h("footer", { key: '1e29dad6f35c3a0a7c7acf6bde94d7d26c9f3518', class: "footer" }, h("div", { key: '92921a50cbb917fb797a1cd396ea326626be2672', class: "footer__container" }, h("div", { key: 'fb7f0c881a3540149af3fd5c9ce5cf4fcf4dc463', class: "footer__top" }, h("div", { key: 'dfbab144d98aaa7c5bdeac21b2f7059c2c35c3a2', class: "footer__brand" }, h("div", { key: '70a5b6514a32f48e239eed456625b00e5480d515', class: "footer__brand-card" }, h("div", { key: '29cebd0316e5e05125545ddc4a6daff19d045569', class: "footer__logo" }, h("slot", { key: '1bf39b815103c7ad1ddd9a1a480e1c0ba229e940', name: "logo" })), h("div", { key: 'ece78ebc0a579a1425e761e75e91dfe048963057', class: "footer__social" }, h("slot", { key: '77713bb66e6a687cfe703af581477112af5a2a56', name: "social" }))), h("div", { key: '1224cc9b12934d9a8fc3ead8cb0e78483b391955', class: "footer__contact-card" }, h("slot", { key: '3d9ca05b638de9ef155be333ee430107074c933d', name: "contact" }))), h("div", { key: '2de06953b17dc7317b6b37c7a5468459efdd11ca', class: "footer__nav" }, h("div", { key: '14875d9d7c74722eb703c8c3691ccfc8c1790915', class: "footer__nav-columns" }, h("slot", { key: '477ab833a047495184f671fe0767736963a4ecb6', name: "nav" })), this.showStatus && (h("div", { key: 'f6e59d3e541d5d7e3688d0ea1f6c24742894fa04', class: "footer__status" }, h("span", { key: 'f073d332a366619573ec4b5535117ccc56eed0dc', class: `footer__status-dot ${this.systemsOperational ? 'footer__status-dot--operational' : 'footer__status-dot--issue'}` }), h("span", { key: '467e8e24c56e240b84eacd80f390db29ce30d3ac', class: "footer__status-text" }, this.statusText), this.statusUrl && (h("a", { key: '630dc864ceabac404a118c8525fe16edd381a28a', href: this.statusUrl, target: "_blank", rel: "noopener noreferrer", class: "footer__status-link" }, "Learn more")))))), h("div", { key: '64db3298cdef7d1651234f19319a7aead0fc66ed', class: "footer__bottom" }, this.copyrightText && (h("p", { key: 'b268e4cfe2414f94a28492af15bfd3d2b3d53767', class: "footer__copyright" }, this.copyrightText)), h("div", { key: '82af0bd4b7310ff9e783b74fbccca3e2df437c86', class: "footer__legal" }, h("slot", { key: 'e3cd11fd6f41a577a2452f8e48d524e3a6a2ea46', name: "legal" })), h("div", { key: 'b0d6caf4168e1013d682f0b36a480607343cfd6f', class: "footer__badges" }, h("slot", { key: '28e7722adc3f88f968c478957d21aa55c451d553', name: "badges" })))))));
|
|
27
22
|
}
|
|
28
23
|
static get is() { return "af-footer"; }
|
|
29
24
|
static get encapsulation() { return "scoped"; }
|
|
@@ -39,7 +34,7 @@ export class AfFooter {
|
|
|
39
34
|
}
|
|
40
35
|
static get properties() {
|
|
41
36
|
return {
|
|
42
|
-
"
|
|
37
|
+
"copyrightText": {
|
|
43
38
|
"type": "string",
|
|
44
39
|
"mutable": false,
|
|
45
40
|
"complexType": {
|
|
@@ -51,15 +46,15 @@ export class AfFooter {
|
|
|
51
46
|
"optional": false,
|
|
52
47
|
"docs": {
|
|
53
48
|
"tags": [],
|
|
54
|
-
"text": "
|
|
49
|
+
"text": "Copyright text (e.g., \"\u00A9 2025 Company Name. All rights reserved.\")"
|
|
55
50
|
},
|
|
56
51
|
"getter": false,
|
|
57
52
|
"setter": false,
|
|
58
53
|
"reflect": false,
|
|
59
|
-
"attribute": "
|
|
60
|
-
"defaultValue": "'
|
|
54
|
+
"attribute": "copyright-text",
|
|
55
|
+
"defaultValue": "''"
|
|
61
56
|
},
|
|
62
|
-
"
|
|
57
|
+
"statusText": {
|
|
63
58
|
"type": "string",
|
|
64
59
|
"mutable": false,
|
|
65
60
|
"complexType": {
|
|
@@ -71,33 +66,13 @@ export class AfFooter {
|
|
|
71
66
|
"optional": false,
|
|
72
67
|
"docs": {
|
|
73
68
|
"tags": [],
|
|
74
|
-
"text": "
|
|
69
|
+
"text": "Status message text"
|
|
75
70
|
},
|
|
76
71
|
"getter": false,
|
|
77
72
|
"setter": false,
|
|
78
73
|
"reflect": false,
|
|
79
|
-
"attribute": "
|
|
80
|
-
"defaultValue": "'
|
|
81
|
-
},
|
|
82
|
-
"copyrightYear": {
|
|
83
|
-
"type": "string",
|
|
84
|
-
"mutable": false,
|
|
85
|
-
"complexType": {
|
|
86
|
-
"original": "string",
|
|
87
|
-
"resolved": "string",
|
|
88
|
-
"references": {}
|
|
89
|
-
},
|
|
90
|
-
"required": false,
|
|
91
|
-
"optional": false,
|
|
92
|
-
"docs": {
|
|
93
|
-
"tags": [],
|
|
94
|
-
"text": "Copyright year"
|
|
95
|
-
},
|
|
96
|
-
"getter": false,
|
|
97
|
-
"setter": false,
|
|
98
|
-
"reflect": false,
|
|
99
|
-
"attribute": "copyright-year",
|
|
100
|
-
"defaultValue": "new Date().getFullYear().toString()"
|
|
74
|
+
"attribute": "status-text",
|
|
75
|
+
"defaultValue": "''"
|
|
101
76
|
},
|
|
102
77
|
"statusUrl": {
|
|
103
78
|
"type": "string",
|
|
@@ -117,7 +92,7 @@ export class AfFooter {
|
|
|
117
92
|
"setter": false,
|
|
118
93
|
"reflect": false,
|
|
119
94
|
"attribute": "status-url",
|
|
120
|
-
"defaultValue": "'
|
|
95
|
+
"defaultValue": "''"
|
|
121
96
|
},
|
|
122
97
|
"systemsOperational": {
|
|
123
98
|
"type": "boolean",
|
|
@@ -131,7 +106,7 @@ export class AfFooter {
|
|
|
131
106
|
"optional": false,
|
|
132
107
|
"docs": {
|
|
133
108
|
"tags": [],
|
|
134
|
-
"text": "Whether
|
|
109
|
+
"text": "Whether systems are operational (shows green/red indicator)"
|
|
135
110
|
},
|
|
136
111
|
"getter": false,
|
|
137
112
|
"setter": false,
|
|
@@ -139,65 +114,25 @@ export class AfFooter {
|
|
|
139
114
|
"attribute": "systems-operational",
|
|
140
115
|
"defaultValue": "true"
|
|
141
116
|
},
|
|
142
|
-
"
|
|
143
|
-
"type": "
|
|
144
|
-
"mutable": false,
|
|
145
|
-
"complexType": {
|
|
146
|
-
"original": "string",
|
|
147
|
-
"resolved": "string",
|
|
148
|
-
"references": {}
|
|
149
|
-
},
|
|
150
|
-
"required": false,
|
|
151
|
-
"optional": false,
|
|
152
|
-
"docs": {
|
|
153
|
-
"tags": [],
|
|
154
|
-
"text": "LinkedIn URL"
|
|
155
|
-
},
|
|
156
|
-
"getter": false,
|
|
157
|
-
"setter": false,
|
|
158
|
-
"reflect": false,
|
|
159
|
-
"attribute": "linkedin-url",
|
|
160
|
-
"defaultValue": "'https://www.linkedin.com/company/affinda/'"
|
|
161
|
-
},
|
|
162
|
-
"youtubeUrl": {
|
|
163
|
-
"type": "string",
|
|
164
|
-
"mutable": false,
|
|
165
|
-
"complexType": {
|
|
166
|
-
"original": "string",
|
|
167
|
-
"resolved": "string",
|
|
168
|
-
"references": {}
|
|
169
|
-
},
|
|
170
|
-
"required": false,
|
|
171
|
-
"optional": false,
|
|
172
|
-
"docs": {
|
|
173
|
-
"tags": [],
|
|
174
|
-
"text": "YouTube URL"
|
|
175
|
-
},
|
|
176
|
-
"getter": false,
|
|
177
|
-
"setter": false,
|
|
178
|
-
"reflect": false,
|
|
179
|
-
"attribute": "youtube-url",
|
|
180
|
-
"defaultValue": "'https://www.youtube.com/@affinda'"
|
|
181
|
-
},
|
|
182
|
-
"githubUrl": {
|
|
183
|
-
"type": "string",
|
|
117
|
+
"showStatus": {
|
|
118
|
+
"type": "boolean",
|
|
184
119
|
"mutable": false,
|
|
185
120
|
"complexType": {
|
|
186
|
-
"original": "
|
|
187
|
-
"resolved": "
|
|
121
|
+
"original": "boolean",
|
|
122
|
+
"resolved": "boolean",
|
|
188
123
|
"references": {}
|
|
189
124
|
},
|
|
190
125
|
"required": false,
|
|
191
126
|
"optional": false,
|
|
192
127
|
"docs": {
|
|
193
128
|
"tags": [],
|
|
194
|
-
"text": "
|
|
129
|
+
"text": "Whether to show the status indicator"
|
|
195
130
|
},
|
|
196
131
|
"getter": false,
|
|
197
132
|
"setter": false,
|
|
198
133
|
"reflect": false,
|
|
199
|
-
"attribute": "
|
|
200
|
-
"defaultValue": "
|
|
134
|
+
"attribute": "show-status",
|
|
135
|
+
"defaultValue": "true"
|
|
201
136
|
}
|
|
202
137
|
};
|
|
203
138
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"af-footer.js","sourceRoot":"","sources":["../../../src/components/af-footer/af-footer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;GAGG;AAOH,MAAM,OAAO,QAAQ;IANrB;QAOE,0BAA0B;QAClB,eAAU,GAAW,qBAAqB,CAAC;QAEnD,4BAA4B;QACpB,iBAAY,GAAW,qBAAqB,CAAC;QAErD,qBAAqB;QACb,kBAAa,GAAW,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;QAEpE,sBAAsB;QACd,cAAS,GAAW,4BAA4B,CAAC;QAEzD,0CAA0C;QAClC,uBAAkB,GAAY,IAAI,CAAC;QAE3C,mBAAmB;QACX,gBAAW,GAAW,2CAA2C,CAAC;QAE1E,kBAAkB;QACV,eAAU,GAAW,kCAAkC,CAAC;QAEhE,iBAAiB;QACT,cAAS,GAAW,4BAA4B,CAAC;KAsM1D;IApMC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,+DAAQ,KAAK,EAAC,QAAQ;gBACpB,4DAAK,KAAK,EAAC,mBAAmB;oBAE5B,4DAAK,KAAK,EAAC,aAAa;wBAEtB,4DAAK,KAAK,EAAC,eAAe;4BACxB,4DAAK,KAAK,EAAC,oBAAoB;gCAC7B,4DAAK,KAAK,EAAC,cAAc;oCACvB,6DAAM,IAAI,EAAC,MAAM;wCACf,4DAAK,KAAK,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,YAAY,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B;4CAC9F,6DAAM,CAAC,EAAC,wIAAwI,EAAC,IAAI,EAAC,SAAS,GAAE;4CACjK,6DAAM,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,iBAAa,qBAAqB,eAAW,IAAI,iBAAa,KAAK,cAAe,CAChH,CACD,CACH;gCAEN,4DAAK,KAAK,EAAC,gBAAgB;oCACzB,0DAAG,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,EAAC,KAAK,EAAC,qBAAqB,gBAAY,UAAU;wCACpH,4DAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,kBAAc,KAAK;4CAClG,6DAAM,CAAC,EAAC,gFAAgF,GAAE;4CAC1F,6DAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,GAAG,EAAC,MAAM,EAAC,IAAI,GAAE;4CACzC,+DAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,GAAE,CACzB,CACJ;oCACJ,0DAAG,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,EAAC,KAAK,EAAC,qBAAqB,gBAAY,SAAS;wCAClH,4DAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,kBAAc,KAAK;4CAClG,6DAAM,CAAC,EAAC,mQAAmQ,GAAE;4CAC7Q,gEAAS,MAAM,EAAC,iCAAiC,EAAC,IAAI,EAAC,cAAc,EAAC,MAAM,EAAC,MAAM,GAAE,CACjF,CACJ;oCACJ,0DAAG,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,EAAC,KAAK,EAAC,qBAAqB,gBAAY,QAAQ;wCAChH,4DAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,kBAAc,KAAK;4CAClG,6DAAM,CAAC,EAAC,qSAAqS,GAAE,CAC3S,CACJ,CACA,CACF;4BAEN,4DAAK,KAAK,EAAC,sBAAsB;gCAC/B,4DAAK,KAAK,EAAC,sBAAsB;oCAC/B,2DAAI,KAAK,EAAC,uBAAuB,sBAAqB;oCACtD,0DAAG,KAAK,EAAC,uBAAuB,IAAE,IAAI,CAAC,UAAU,CAAK,CAClD;gCACN,4DAAK,KAAK,EAAC,sBAAsB;oCAC/B,2DAAI,KAAK,EAAC,uBAAuB,cAAa;oCAC9C,0DAAG,KAAK,EAAC,uBAAuB,IAAE,IAAI,CAAC,YAAY,CAAK,CACpD,CACF,CACF;wBAGN,4DAAK,KAAK,EAAC,aAAa;4BACtB,4DAAK,KAAK,EAAC,qBAAqB;gCAC9B,6DAAM,IAAI,EAAC,aAAa;oCAEtB,4DAAK,KAAK,EAAC,oBAAoB;wCAC7B,2DAAI,KAAK,EAAC,qBAAqB,cAAa;wCAC5C,2DAAI,KAAK,EAAC,kBAAkB;4CAC1B;gDAAI,0DAAG,IAAI,EAAC,WAAW,eAAa,CAAK;4CACzC;gDAAI,0DAAG,IAAI,EAAC,aAAa,iBAAe,CAAK;4CAC7C;gDAAI,0DAAG,IAAI,EAAC,YAAY,gBAAc,CAAK;4CAC3C;gDAAI,0DAAG,IAAI,EAAC,YAAY,qBAAmB,CAAK;4CAChD;gDAAI,0DAAG,IAAI,EAAC,gBAAgB,oBAAkB,CAAK,CAChD,CACD;oCAEN,4DAAK,KAAK,EAAC,oBAAoB;wCAC7B,2DAAI,KAAK,EAAC,qBAAqB,cAAa;wCAC5C,2DAAI,KAAK,EAAC,kBAAkB;4CAC1B;gDAAI,0DAAG,IAAI,EAAC,gBAAgB,uBAAqB,CAAK;4CACtD;gDAAI,0DAAG,IAAI,EAAC,yBAAyB,4BAA0B,CAAK,CACjE,CACD;oCAEN,4DAAK,KAAK,EAAC,oBAAoB;wCAC7B,2DAAI,KAAK,EAAC,qBAAqB,cAAa;wCAC5C,2DAAI,KAAK,EAAC,kBAAkB;4CAC1B;gDAAI,0DAAG,IAAI,EAAC,WAAW,YAAU,CAAK;4CACtC;gDAAI,0DAAG,IAAI,EAAC,UAAU,cAAY,CAAK;4CACvC;gDAAI,0DAAG,IAAI,EAAC,WAAW,eAAa,CAAK;4CACzC;gDAAI,0DAAG,IAAI,EAAC,UAAU,iBAAe,CAAK;4CAC1C;gDAAI,0DAAG,IAAI,EAAC,WAAW,eAAa,CAAK;4CACzC;gDACE,0DAAG,IAAI,EAAC,+BAA+B,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB;;oDAE/E,4DAAK,KAAK,EAAC,uBAAuB,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;wDACvF,6DAAM,CAAC,EAAC,qFAAqF,EAAC,MAAM,EAAC,cAAc,kBAAc,KAAK,oBAAgB,OAAO,qBAAiB,OAAO,GAAE,CACnL,CACJ,CACD;4CACL;gDACE,0DAAG,IAAI,EAAC,4BAA4B,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB;;oDAE5E,4DAAK,KAAK,EAAC,uBAAuB,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;wDACvF,6DAAM,CAAC,EAAC,qFAAqF,EAAC,MAAM,EAAC,cAAc,kBAAc,KAAK,oBAAgB,OAAO,qBAAiB,OAAO,GAAE,CACnL,CACJ,CACD,CACF,CACD;oCAEN,4DAAK,KAAK,EAAC,oBAAoB;wCAC7B,2DAAI,KAAK,EAAC,qBAAqB,iBAAgB;wCAC/C,2DAAI,KAAK,EAAC,kBAAkB;4CAC1B;gDAAI,0DAAG,IAAI,EAAC,OAAO,WAAS,CAAK;4CACjC;gDAAI,0DAAG,IAAI,EAAC,eAAe,uBAAqB,CAAK;4CACrD;gDACE,0DAAG,IAAI,EAAC,2BAA2B,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB;;oDAE3E,4DAAK,KAAK,EAAC,uBAAuB,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;wDACvF,6DAAM,CAAC,EAAC,qFAAqF,EAAC,MAAM,EAAC,cAAc,kBAAc,KAAK,oBAAgB,OAAO,qBAAiB,OAAO,GAAE,CACnL,CACJ,CACD;4CACL;gDACE,0DAAG,IAAI,EAAC,qCAAqC,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB;;oDAErF,4DAAK,KAAK,EAAC,uBAAuB,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;wDACvF,6DAAM,CAAC,EAAC,qFAAqF,EAAC,MAAM,EAAC,cAAc,kBAAc,KAAK,oBAAgB,OAAO,qBAAiB,OAAO,GAAE,CACnL,CACJ,CACD;4CACL;gDACE,0DAAG,IAAI,EAAC,kCAAkC,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB;;oDAElF,4DAAK,KAAK,EAAC,uBAAuB,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;wDACvF,6DAAM,CAAC,EAAC,qFAAqF,EAAC,MAAM,EAAC,cAAc,kBAAc,KAAK,oBAAgB,OAAO,qBAAiB,OAAO,GAAE,CACnL,CACJ,CACD,CACF,CACD,CACD,CACH;4BAGN,4DAAK,KAAK,EAAC,gBAAgB;gCACzB,6DAAM,KAAK,EAAE,sBAAsB,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,2BAA2B,EAAE,GAAS;gCACvI,6DAAM,KAAK,EAAC,qBAAqB,IAC9B,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,wBAAwB,CAC9E;gCACP,0DAAG,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,EAAC,KAAK,EAAC,qBAAqB,iBAE1F,CACA,CACF,CACF;oBAGN,4DAAK,KAAK,EAAC,gBAAgB;wBACzB,0DAAG,KAAK,EAAC,mBAAmB;;4BACvB,IAAI,CAAC,aAAa;6DACnB;wBAEJ,4DAAK,KAAK,EAAC,eAAe;4BACxB,0DAAG,IAAI,EAAC,qCAAqC,qBAAmB;4BAChE,0DAAG,IAAI,EAAC,gBAAgB,oBAAkB;4BAC1C,0DAAG,IAAI,EAAC,gBAAgB,oBAAkB,CACtC;wBAEN,4DAAK,KAAK,EAAC,gBAAgB;4BACzB,6DAAM,IAAI,EAAC,QAAQ;gCAEjB,4DAAK,KAAK,EAAC,eAAe,EAAC,KAAK,EAAC,gBAAgB;oCAC/C,4DAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;wCACzD,+DAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,SAAS,kBAAc,GAAG,EAAC,IAAI,EAAC,SAAS,GAAE;wCACjF,6DAAM,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,iBAAa,QAAQ,EAAC,IAAI,EAAC,OAAO,eAAW,GAAG,iBAAa,MAAM,WAAY,CAC9F,CACF;gCAEN,4DAAK,KAAK,EAAC,eAAe,EAAC,KAAK,EAAC,iBAAiB;oCAChD,4DAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;wCACzD,+DAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,SAAS,kBAAc,GAAG,EAAC,IAAI,EAAC,OAAO,GAAE;wCAC/E,6DAAM,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,iBAAa,QAAQ,EAAC,IAAI,EAAC,SAAS,eAAW,GAAG,iBAAa,MAAM,YAAa;wCACrG,6DAAM,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,iBAAa,QAAQ,EAAC,IAAI,EAAC,SAAS,eAAW,GAAG,iBAAa,MAAM,UAAW,CAC/F,CACF;gCAEN,4DAAK,KAAK,EAAC,eAAe,EAAC,KAAK,EAAC,gBAAgB;oCAC/C,4DAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;wCACzD,+DAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,kBAAc,GAAG,EAAC,IAAI,EAAC,OAAO,GAAE;wCAC5E,6DAAM,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,iBAAa,QAAQ,EAAC,IAAI,EAAC,MAAM,eAAW,GAAG,iBAAa,MAAM,UAAW;wCAChG,6DAAM,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,iBAAa,QAAQ,EAAC,IAAI,EAAC,MAAM,eAAW,GAAG,iBAAkB,CAChF,CACF,CACD,CACH,CACF,CACF,CACC,CACJ,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}
|
|
1
|
+
{"version":3,"file":"af-footer.js","sourceRoot":"","sources":["../../../src/components/af-footer/af-footer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;;GAIG;AAOH,MAAM,OAAO,QAAQ;IANrB;QAOE,yEAAyE;QACjE,kBAAa,GAAW,EAAE,CAAC;QAEnC,0BAA0B;QAClB,eAAU,GAAW,EAAE,CAAC;QAEhC,sBAAsB;QACd,cAAS,GAAW,EAAE,CAAC;QAE/B,kEAAkE;QAC1D,uBAAkB,GAAY,IAAI,CAAC;QAE3C,2CAA2C;QACnC,eAAU,GAAY,IAAI,CAAC;KAmEpC;IAjEC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,+DAAQ,KAAK,EAAC,QAAQ;gBACpB,4DAAK,KAAK,EAAC,mBAAmB;oBAE5B,4DAAK,KAAK,EAAC,aAAa;wBAEtB,4DAAK,KAAK,EAAC,eAAe;4BACxB,4DAAK,KAAK,EAAC,oBAAoB;gCAC7B,4DAAK,KAAK,EAAC,cAAc;oCACvB,6DAAM,IAAI,EAAC,MAAM,GAAQ,CACrB;gCACN,4DAAK,KAAK,EAAC,gBAAgB;oCACzB,6DAAM,IAAI,EAAC,QAAQ,GAAQ,CACvB,CACF;4BAEN,4DAAK,KAAK,EAAC,sBAAsB;gCAC/B,6DAAM,IAAI,EAAC,SAAS,GAAQ,CACxB,CACF;wBAGN,4DAAK,KAAK,EAAC,aAAa;4BACtB,4DAAK,KAAK,EAAC,qBAAqB;gCAC9B,6DAAM,IAAI,EAAC,KAAK,GAAQ,CACpB;4BAGL,IAAI,CAAC,UAAU,IAAI,CAClB,4DAAK,KAAK,EAAC,gBAAgB;gCACzB,6DAAM,KAAK,EAAE,sBAAsB,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,2BAA2B,EAAE,GAAS;gCACvI,6DAAM,KAAK,EAAC,qBAAqB,IAC9B,IAAI,CAAC,UAAU,CACX;gCACN,IAAI,CAAC,SAAS,IAAI,CACjB,0DAAG,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,EAAC,KAAK,EAAC,qBAAqB,iBAE1F,CACL,CACG,CACP,CACG,CACF;oBAGN,4DAAK,KAAK,EAAC,gBAAgB;wBACxB,IAAI,CAAC,aAAa,IAAI,CACrB,0DAAG,KAAK,EAAC,mBAAmB,IAAE,IAAI,CAAC,aAAa,CAAK,CACtD;wBAED,4DAAK,KAAK,EAAC,eAAe;4BACxB,6DAAM,IAAI,EAAC,OAAO,GAAQ,CACtB;wBAEN,4DAAK,KAAK,EAAC,gBAAgB;4BACzB,6DAAM,IAAI,EAAC,QAAQ,GAAQ,CACvB,CACF,CACF,CACC,CACJ,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: block;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.footer-column {
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
gap: 16px;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.footer-column__heading {
|
|
12
|
+
font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);
|
|
13
|
+
font-size: 14px;
|
|
14
|
+
font-weight: 600;
|
|
15
|
+
color: var(--colour-tints-mistGreen-200, #C6D5D1);
|
|
16
|
+
margin: 0;
|
|
17
|
+
text-transform: none;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.footer-column__list {
|
|
21
|
+
list-style: none;
|
|
22
|
+
margin: 0;
|
|
23
|
+
padding: 0;
|
|
24
|
+
display: flex;
|
|
25
|
+
flex-direction: column;
|
|
26
|
+
gap: 12px;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.footer-column__list ::slotted(li) {
|
|
30
|
+
margin: 0;
|
|
31
|
+
}
|
|
32
|
+
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
|
+
/**
|
|
3
|
+
* Footer navigation column component
|
|
4
|
+
* Used within af-footer to create navigation link groups
|
|
5
|
+
*/
|
|
6
|
+
export class AfFooterColumn {
|
|
7
|
+
constructor() {
|
|
8
|
+
/** Column heading */
|
|
9
|
+
this.heading = '';
|
|
10
|
+
}
|
|
11
|
+
render() {
|
|
12
|
+
return (h(Host, { key: '4725b29d110800bac1faec33016a469bc4f9048e' }, h("div", { key: 'ad7d4a123027f6395bc56a70c59586390799f3ff', class: "footer-column" }, this.heading && (h("h5", { key: '4fd379858460d92e59e077f3c96719e0e65044c5', class: "footer-column__heading" }, this.heading)), h("ul", { key: '17e4adc50c90b4b7f71abe605672d7e63a424c51', class: "footer-column__list" }, h("slot", { key: 'c88bf1c9e6ba0a00ca9c9d22fe17508b7a891d44' })))));
|
|
13
|
+
}
|
|
14
|
+
static get is() { return "af-footer-column"; }
|
|
15
|
+
static get encapsulation() { return "scoped"; }
|
|
16
|
+
static get originalStyleUrls() {
|
|
17
|
+
return {
|
|
18
|
+
"$": ["af-footer-column.css"]
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
static get styleUrls() {
|
|
22
|
+
return {
|
|
23
|
+
"$": ["af-footer-column.css"]
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
static get properties() {
|
|
27
|
+
return {
|
|
28
|
+
"heading": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"mutable": false,
|
|
31
|
+
"complexType": {
|
|
32
|
+
"original": "string",
|
|
33
|
+
"resolved": "string",
|
|
34
|
+
"references": {}
|
|
35
|
+
},
|
|
36
|
+
"required": false,
|
|
37
|
+
"optional": false,
|
|
38
|
+
"docs": {
|
|
39
|
+
"tags": [],
|
|
40
|
+
"text": "Column heading"
|
|
41
|
+
},
|
|
42
|
+
"getter": false,
|
|
43
|
+
"setter": false,
|
|
44
|
+
"reflect": false,
|
|
45
|
+
"attribute": "heading",
|
|
46
|
+
"defaultValue": "''"
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=af-footer-column.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"af-footer-column.js","sourceRoot":"","sources":["../../../src/components/af-footer-column/af-footer-column.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;GAGG;AAOH,MAAM,OAAO,cAAc;IAN3B;QAOE,qBAAqB;QACb,YAAO,GAAW,EAAE,CAAC;KAgB9B;IAdC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAC,eAAe;gBACvB,IAAI,CAAC,OAAO,IAAI,CACf,2DAAI,KAAK,EAAC,wBAAwB,IAAE,IAAI,CAAC,OAAO,CAAM,CACvD;gBACD,2DAAI,KAAK,EAAC,qBAAqB;oBAC7B,8DAAa,CACV,CACD,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Footer navigation column component\n * Used within af-footer to create navigation link groups\n */\n@Component({\n tag: 'af-footer-column',\n styleUrl: 'af-footer-column.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFooterColumn {\n /** Column heading */\n @Prop() heading: string = '';\n\n render() {\n return (\n <Host>\n <div class=\"footer-column\">\n {this.heading && (\n <h5 class=\"footer-column__heading\">{this.heading}</h5>\n )}\n <ul class=\"footer-column__list\">\n <slot></slot>\n </ul>\n </div>\n </Host>\n );\n }\n}\n\n"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: contents;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
li {
|
|
6
|
+
margin: 0;
|
|
7
|
+
list-style: none;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.footer-link {
|
|
11
|
+
font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);
|
|
12
|
+
font-size: 14px;
|
|
13
|
+
font-weight: 400;
|
|
14
|
+
color: rgba(198, 213, 209, 0.7);
|
|
15
|
+
text-decoration: none;
|
|
16
|
+
transition: color 0.2s ease;
|
|
17
|
+
display: inline-flex;
|
|
18
|
+
align-items: center;
|
|
19
|
+
gap: 6px;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.footer-link:hover {
|
|
23
|
+
color: var(--colour-tints-mistGreen-200, #C6D5D1);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.footer-link__external-icon {
|
|
27
|
+
opacity: 0.7;
|
|
28
|
+
flex-shrink: 0;
|
|
29
|
+
}
|
|
30
|
+
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
|
+
/**
|
|
3
|
+
* Footer link component
|
|
4
|
+
* Styled link for use in footer navigation columns
|
|
5
|
+
*/
|
|
6
|
+
export class AfFooterLink {
|
|
7
|
+
constructor() {
|
|
8
|
+
/** Link URL */
|
|
9
|
+
this.href = '#';
|
|
10
|
+
/** Whether this is an external link (opens in new tab) */
|
|
11
|
+
this.external = false;
|
|
12
|
+
}
|
|
13
|
+
render() {
|
|
14
|
+
return (h(Host, { key: 'bd5e75cc92ab3bbf50edb472f7522ab3d1c0f56d' }, h("li", { key: '45f8e447b46a79af851c5ac0d7329101e9da4061' }, h("a", { key: '569de0a6bd3ef8171507e4fa7d1cf52d707e8eb7', href: this.href, class: "footer-link", target: this.external ? '_blank' : undefined, rel: this.external ? 'noopener noreferrer' : undefined }, h("slot", { key: '29cdfcec2c4357b2326fbae766c6a5bcb3c0b4c4' }), this.external && (h("svg", { key: '9f2d82cb5a93836c308feca7e3748980b88e2cbe', class: "footer-link__external-icon", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" }, 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" })))))));
|
|
15
|
+
}
|
|
16
|
+
static get is() { return "af-footer-link"; }
|
|
17
|
+
static get encapsulation() { return "scoped"; }
|
|
18
|
+
static get originalStyleUrls() {
|
|
19
|
+
return {
|
|
20
|
+
"$": ["af-footer-link.css"]
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
static get styleUrls() {
|
|
24
|
+
return {
|
|
25
|
+
"$": ["af-footer-link.css"]
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
static get properties() {
|
|
29
|
+
return {
|
|
30
|
+
"href": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"mutable": false,
|
|
33
|
+
"complexType": {
|
|
34
|
+
"original": "string",
|
|
35
|
+
"resolved": "string",
|
|
36
|
+
"references": {}
|
|
37
|
+
},
|
|
38
|
+
"required": false,
|
|
39
|
+
"optional": false,
|
|
40
|
+
"docs": {
|
|
41
|
+
"tags": [],
|
|
42
|
+
"text": "Link URL"
|
|
43
|
+
},
|
|
44
|
+
"getter": false,
|
|
45
|
+
"setter": false,
|
|
46
|
+
"reflect": false,
|
|
47
|
+
"attribute": "href",
|
|
48
|
+
"defaultValue": "'#'"
|
|
49
|
+
},
|
|
50
|
+
"external": {
|
|
51
|
+
"type": "boolean",
|
|
52
|
+
"mutable": false,
|
|
53
|
+
"complexType": {
|
|
54
|
+
"original": "boolean",
|
|
55
|
+
"resolved": "boolean",
|
|
56
|
+
"references": {}
|
|
57
|
+
},
|
|
58
|
+
"required": false,
|
|
59
|
+
"optional": false,
|
|
60
|
+
"docs": {
|
|
61
|
+
"tags": [],
|
|
62
|
+
"text": "Whether this is an external link (opens in new tab)"
|
|
63
|
+
},
|
|
64
|
+
"getter": false,
|
|
65
|
+
"setter": false,
|
|
66
|
+
"reflect": false,
|
|
67
|
+
"attribute": "external",
|
|
68
|
+
"defaultValue": "false"
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=af-footer-link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"af-footer-link.js","sourceRoot":"","sources":["../../../src/components/af-footer-link/af-footer-link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;GAGG;AAOH,MAAM,OAAO,YAAY;IANzB;QAOE,eAAe;QACP,SAAI,GAAW,GAAG,CAAC;QAE3B,0DAA0D;QAClD,aAAQ,GAAY,KAAK,CAAC;KAuBnC;IArBC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH;gBACE,0DACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,aAAa,EACnB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAC5C,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS;oBAEtD,8DAAa;oBACZ,IAAI,CAAC,QAAQ,IAAI,CAChB,4DAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;wBAC5F,6DAAM,CAAC,EAAC,qFAAqF,EAAC,MAAM,EAAC,cAAc,kBAAc,KAAK,oBAAgB,OAAO,qBAAiB,OAAO,GAAE,CACnL,CACP,CACC,CACD,CACA,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}
|
|
@@ -12,7 +12,7 @@ export class AfHeroSection {
|
|
|
12
12
|
this.minHeight = '60vh';
|
|
13
13
|
}
|
|
14
14
|
render() {
|
|
15
|
-
return (h(Host, { key: '
|
|
15
|
+
return (h(Host, { key: '1472626cfbfd204d694aad7615322af59cfe58bd' }, h("div", { key: '5fc1bc9e414c6ef5d27796563d7e699549c8e9a7', class: `hero-section variant-${this.variant}`, style: { minHeight: this.minHeight } }, this.withDecoration && (h("div", { key: '9fdb9eab09c662db140ee75574ca216424fd821f', class: "hero-decoration" }, h("slot", { key: '98760cee0be401595c59bae814cdd1b3d5466679', name: "decoration" }))), h("af-container", { key: 'a86a8c89ef973beb23639d827bc73c1707884676' }, h("div", { key: '2936add9e7607e354482f6dc401439c339269bfd', class: "hero-content" }, h("slot", { key: '8571e1497804a58e812a2c4e2a4229aaacd50f60' }))))));
|
|
16
16
|
}
|
|
17
17
|
static get is() { return "af-hero-section"; }
|
|
18
18
|
static get encapsulation() { return "scoped"; }
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
:host {
|
|
2
2
|
display: inline-block;
|
|
3
|
+
color: var(--colour-brand-inkwell, #14343b);
|
|
3
4
|
}
|
|
4
5
|
|
|
5
|
-
.logo-img
|
|
6
|
+
.logo-img,
|
|
7
|
+
.logo-svg {
|
|
6
8
|
display: block;
|
|
7
9
|
height: 22px;
|
|
8
|
-
width:
|
|
10
|
+
width: auto;
|
|
9
11
|
object-fit: contain;
|
|
10
12
|
}
|
|
13
|
+
|
|
14
|
+
.logo-svg {
|
|
15
|
+
/* Maintain aspect ratio based on viewBox (9290:1432 ≈ 6.49:1) */
|
|
16
|
+
width: auto;
|
|
17
|
+
height: 22px;
|
|
18
|
+
}
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
import { h, Host } from "@stencil/core";
|
|
2
2
|
/**
|
|
3
|
-
* Affinda
|
|
3
|
+
* Logo component with default Affinda branding
|
|
4
|
+
* Can be customized with a custom logo URL or by using the slot
|
|
4
5
|
*/
|
|
5
6
|
export class AfLogo {
|
|
7
|
+
constructor() {
|
|
8
|
+
/** Alt text for the logo */
|
|
9
|
+
this.alt = 'Affinda';
|
|
10
|
+
}
|
|
6
11
|
render() {
|
|
7
|
-
|
|
12
|
+
// If custom src is provided, use an img tag
|
|
13
|
+
if (this.src) {
|
|
14
|
+
return (h(Host, null, h("img", { src: this.src, alt: this.alt, class: "logo-img" })));
|
|
15
|
+
}
|
|
16
|
+
// Default: render the Affinda logo inline SVG
|
|
17
|
+
return (h(Host, null, h("svg", { class: "logo-svg", viewBox: "0 0 9290 1432", "aria-label": this.alt, role: "img" }, 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" }), 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" }), h("path", { fill: "currentColor", d: "M5569.92,278.96h-269.66v1143.74h269.66V278.96Z" }), 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" }), 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" }), 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" }), 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" }), 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" }))));
|
|
8
18
|
}
|
|
9
19
|
static get is() { return "af-logo"; }
|
|
10
20
|
static get encapsulation() { return "shadow"; }
|
|
@@ -18,5 +28,48 @@ export class AfLogo {
|
|
|
18
28
|
"$": ["af-logo.css"]
|
|
19
29
|
};
|
|
20
30
|
}
|
|
31
|
+
static get properties() {
|
|
32
|
+
return {
|
|
33
|
+
"src": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"mutable": false,
|
|
36
|
+
"complexType": {
|
|
37
|
+
"original": "string",
|
|
38
|
+
"resolved": "string | undefined",
|
|
39
|
+
"references": {}
|
|
40
|
+
},
|
|
41
|
+
"required": false,
|
|
42
|
+
"optional": true,
|
|
43
|
+
"docs": {
|
|
44
|
+
"tags": [],
|
|
45
|
+
"text": "Custom logo image URL. If provided, displays this instead of the default Affinda logo"
|
|
46
|
+
},
|
|
47
|
+
"getter": false,
|
|
48
|
+
"setter": false,
|
|
49
|
+
"reflect": false,
|
|
50
|
+
"attribute": "src"
|
|
51
|
+
},
|
|
52
|
+
"alt": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"mutable": false,
|
|
55
|
+
"complexType": {
|
|
56
|
+
"original": "string",
|
|
57
|
+
"resolved": "string",
|
|
58
|
+
"references": {}
|
|
59
|
+
},
|
|
60
|
+
"required": false,
|
|
61
|
+
"optional": false,
|
|
62
|
+
"docs": {
|
|
63
|
+
"tags": [],
|
|
64
|
+
"text": "Alt text for the logo"
|
|
65
|
+
},
|
|
66
|
+
"getter": false,
|
|
67
|
+
"setter": false,
|
|
68
|
+
"reflect": false,
|
|
69
|
+
"attribute": "alt",
|
|
70
|
+
"defaultValue": "'Affinda'"
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
}
|
|
21
74
|
}
|
|
22
75
|
//# sourceMappingURL=af-logo.js.map
|