@affinda/wc 0.0.6 → 0.0.8
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-button.entry.esm.js.map +1 -1
- package/dist/affinda/af-card.entry.esm.js.map +1 -1
- package/dist/affinda/af-client-carousel.entry.esm.js.map +1 -0
- package/dist/affinda/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.esm.js.map +1 -1
- package/dist/affinda/af-hero-section.entry.esm.js.map +1 -0
- package/dist/affinda/af-logo-well.entry.esm.js.map +1 -0
- package/dist/affinda/af-section.entry.esm.js.map +1 -0
- package/dist/affinda/af-testimonial-carousel.entry.esm.js.map +1 -0
- package/dist/affinda/af-testimonial-stat.entry.esm.js.map +1 -0
- package/dist/affinda/af-testimonial.entry.esm.js.map +1 -0
- package/dist/affinda/af-typography-lockup.entry.esm.js.map +1 -1
- package/dist/affinda/affinda.css +1 -1
- package/dist/affinda/affinda.esm.js +1 -1
- package/dist/affinda/index.esm.js +1 -1
- package/dist/affinda/p-0c4a30a4.entry.js +2 -0
- package/dist/affinda/p-0c4a30a4.entry.js.map +1 -0
- package/dist/affinda/p-0fb55acf.entry.js +2 -0
- package/dist/affinda/p-0fb55acf.entry.js.map +1 -0
- package/dist/affinda/p-10288f13.entry.js +2 -0
- package/dist/affinda/p-10288f13.entry.js.map +1 -0
- package/dist/affinda/p-13c30dd8.entry.js +2 -0
- package/dist/affinda/p-13c30dd8.entry.js.map +1 -0
- package/dist/affinda/{p-47629246.entry.js → p-23aedaa4.entry.js} +2 -2
- package/dist/affinda/{p-9c22948a.entry.js → p-39e917eb.entry.js} +2 -2
- package/dist/affinda/{p-bf697823.entry.js → p-430127fa.entry.js} +2 -2
- package/dist/affinda/{p-b79f976e.entry.js → p-45d0f3e3.entry.js} +2 -2
- package/dist/affinda/p-45d0f3e3.entry.js.map +1 -0
- package/dist/affinda/p-46edc753.entry.js +2 -0
- package/dist/affinda/p-46edc753.entry.js.map +1 -0
- package/dist/affinda/{p-d33de48f.entry.js → p-56a15842.entry.js} +2 -2
- package/dist/affinda/p-7c115698.entry.js +2 -0
- package/dist/affinda/p-7c115698.entry.js.map +1 -0
- package/dist/affinda/p-867c5141.entry.js +2 -0
- package/dist/affinda/p-Agei6ZJQ.js +3 -0
- package/dist/affinda/p-Agei6ZJQ.js.map +1 -0
- package/dist/affinda/{p-f8d89fb6.entry.js → p-d7ff9fd9.entry.js} +2 -2
- package/dist/affinda/{p-a8d223ca.entry.js → p-e2c40f4e.entry.js} +2 -2
- package/dist/affinda/{p-a8d223ca.entry.js.map → p-e2c40f4e.entry.js.map} +1 -1
- package/dist/affinda/p-e56182e4.entry.js +2 -0
- package/dist/affinda/p-e56182e4.entry.js.map +1 -0
- package/dist/affinda/p-f6f2f1c4.entry.js +2 -0
- package/dist/affinda/p-f6f2f1c4.entry.js.map +1 -0
- package/dist/cjs/af-aspect-ratio.cjs.entry.js +1 -1
- package/dist/cjs/af-button-group.cjs.entry.js +2 -2
- package/dist/cjs/af-button.cjs.entry.js +7 -2
- package/dist/cjs/af-button.entry.cjs.js.map +1 -1
- package/dist/cjs/af-card.cjs.entry.js +3 -3
- package/dist/cjs/af-card.entry.cjs.js.map +1 -1
- package/dist/cjs/af-client-carousel.cjs.entry.js +22 -0
- package/dist/cjs/af-client-carousel.entry.cjs.js.map +1 -0
- package/dist/cjs/af-color-swatch.cjs.entry.js +1 -1
- package/dist/cjs/af-container.cjs.entry.js +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 +22 -12
- package/dist/cjs/af-hero-section.cjs.entry.js +24 -0
- package/dist/cjs/af-hero-section.entry.cjs.js.map +1 -0
- package/dist/cjs/af-icon-button.cjs.entry.js +1 -1
- package/dist/cjs/af-logo-well.cjs.entry.js +18 -0
- package/dist/cjs/af-logo-well.entry.cjs.js.map +1 -0
- package/dist/cjs/af-section.cjs.entry.js +25 -0
- package/dist/cjs/af-section.entry.cjs.js.map +1 -0
- package/dist/cjs/af-testimonial-carousel.cjs.entry.js +90 -0
- package/dist/cjs/af-testimonial-carousel.entry.cjs.js.map +1 -0
- package/dist/cjs/af-testimonial-stat.cjs.entry.js +22 -0
- package/dist/cjs/af-testimonial-stat.entry.cjs.js.map +1 -0
- package/dist/cjs/af-testimonial.cjs.entry.js +18 -0
- package/dist/cjs/af-testimonial.entry.cjs.js.map +1 -0
- package/dist/cjs/af-typography-lockup.cjs.entry.js +3 -3
- package/dist/cjs/af-typography-lockup.entry.cjs.js.map +1 -1
- package/dist/cjs/affinda.cjs.js +2 -2
- package/dist/cjs/{index-1GcSSOS3.js → index-D_ItFcqt.js} +58 -8
- package/dist/cjs/index-D_ItFcqt.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/assets/paperclip-decoration.svg +3 -0
- package/dist/collection/collection-manifest.json +8 -1
- package/dist/collection/components/af-button/af-button.js +26 -1
- package/dist/collection/components/af-button/af-button.js.map +1 -1
- package/dist/collection/components/af-button-group/af-button-group.js +1 -1
- package/dist/collection/components/af-card/af-card.css +10 -7
- package/dist/collection/components/af-card/af-card.js +1 -1
- package/dist/collection/components/af-client-carousel/af-client-carousel.css +112 -0
- package/dist/collection/components/af-client-carousel/af-client-carousel.js +72 -0
- package/dist/collection/components/af-client-carousel/af-client-carousel.js.map +1 -0
- package/dist/collection/components/af-heading/af-heading.css +10 -1
- package/dist/collection/components/af-heading/af-heading.js +26 -3
- package/dist/collection/components/af-heading/af-heading.js.map +1 -1
- package/dist/collection/components/af-hero-section/af-hero-section.css +69 -0
- package/dist/collection/components/af-hero-section/af-hero-section.js +94 -0
- package/dist/collection/components/af-hero-section/af-hero-section.js.map +1 -0
- package/dist/collection/components/af-logo/af-logo.js +1 -1
- package/dist/collection/components/af-logo-well/af-logo-well.css +27 -0
- package/dist/collection/components/af-logo-well/af-logo-well.js +22 -0
- package/dist/collection/components/af-logo-well/af-logo-well.js.map +1 -0
- package/dist/collection/components/af-navbar/af-navbar.css +40 -3
- package/dist/collection/components/af-navbar/af-navbar.js +13 -1
- package/dist/collection/components/af-navbar/af-navbar.js.map +1 -1
- package/dist/collection/components/af-section/af-section.css +52 -0
- package/dist/collection/components/af-section/af-section.js +95 -0
- package/dist/collection/components/af-section/af-section.js.map +1 -0
- package/dist/collection/components/af-testimonial/af-testimonial.css +143 -0
- package/dist/collection/components/af-testimonial/af-testimonial.js +118 -0
- package/dist/collection/components/af-testimonial/af-testimonial.js.map +1 -0
- package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.css +97 -0
- package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +100 -0
- package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js.map +1 -0
- package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.css +41 -0
- package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +87 -0
- package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js.map +1 -0
- package/dist/collection/components/af-text/af-text.css +10 -1
- package/dist/collection/components/af-text/af-text.js +26 -3
- package/dist/collection/components/af-text/af-text.js.map +1 -1
- package/dist/collection/components/af-typography-lockup/af-typography-lockup.css +1 -1
- package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +1 -1
- package/dist/components/af-aspect-ratio.js +1 -1
- package/dist/components/af-button-group.js +1 -1
- package/dist/components/af-button.js +1 -1
- package/dist/components/af-card.js +3 -3
- package/dist/components/af-card.js.map +1 -1
- package/dist/components/af-client-carousel.d.ts +11 -0
- package/dist/components/af-client-carousel.js +45 -0
- package/dist/components/af-client-carousel.js.map +1 -0
- package/dist/components/af-color-swatch.js +1 -1
- package/dist/components/af-container.js +1 -1
- package/dist/components/af-heading.js +1 -1
- package/dist/components/af-hero-section.d.ts +11 -0
- package/dist/components/af-hero-section.js +53 -0
- package/dist/components/af-hero-section.js.map +1 -0
- package/dist/components/af-icon-button.js +1 -1
- package/dist/components/af-logo-well.d.ts +11 -0
- package/dist/components/af-logo-well.js +38 -0
- package/dist/components/af-logo-well.js.map +1 -0
- package/dist/components/af-logo.js +1 -1
- package/dist/components/af-nav-item.js +1 -1
- package/dist/components/af-navbar.js +1 -1
- package/dist/components/af-section.d.ts +11 -0
- package/dist/components/af-section.js +54 -0
- package/dist/components/af-section.js.map +1 -0
- package/dist/components/af-testimonial-carousel.d.ts +11 -0
- package/dist/components/af-testimonial-carousel.js +113 -0
- package/dist/components/af-testimonial-carousel.js.map +1 -0
- package/dist/components/af-testimonial-stat.d.ts +11 -0
- package/dist/components/af-testimonial-stat.js +45 -0
- package/dist/components/af-testimonial-stat.js.map +1 -0
- package/dist/components/af-testimonial.d.ts +11 -0
- package/dist/components/af-testimonial.js +43 -0
- package/dist/components/af-testimonial.js.map +1 -0
- package/dist/components/af-text.js +1 -1
- package/dist/components/af-typography-lockup.js +1 -1
- package/dist/components/index.js +13 -13
- package/dist/components/{p-C6idwlD-.js → p-BMl1ggbQ.js} +3 -3
- package/dist/components/{p-C6idwlD-.js.map → p-BMl1ggbQ.js.map} +1 -1
- package/dist/components/{p-DSAo7rhE.js → p-BSewwIfD.js} +3 -3
- package/dist/components/{p-DSAo7rhE.js.map → p-BSewwIfD.js.map} +1 -1
- package/dist/components/{p-Cjv046iG.js → p-BeQlNDyY.js} +4 -4
- package/dist/components/{p-Cjv046iG.js.map → p-BeQlNDyY.js.map} +1 -1
- package/dist/components/{p-CRgPNvxI.js → p-BpXkQGDQ.js} +3 -3
- package/dist/components/{p-CRgPNvxI.js.map → p-BpXkQGDQ.js.map} +1 -1
- package/dist/components/p-C1C1Him5.js +54 -0
- package/dist/components/p-C1C1Him5.js.map +1 -0
- package/dist/components/{p-CJWIieDU.js → p-CUr7n62X.js} +3 -3
- package/dist/components/{p-CJWIieDU.js.map → p-CUr7n62X.js.map} +1 -1
- package/dist/components/{p-zwrcq-N2.js → p-CZlTvZAm.js} +53 -8
- package/dist/components/p-CZlTvZAm.js.map +1 -0
- package/dist/components/{p-cKSy1B8M.js → p-CcNomA2o.js} +11 -5
- package/dist/components/p-CcNomA2o.js.map +1 -0
- package/dist/components/p-Csie_upq.js +41 -0
- package/dist/components/p-Csie_upq.js.map +1 -0
- package/dist/components/{p-DuXQZGjc.js → p-D4NomvK5.js} +5 -5
- package/dist/components/{p-DuXQZGjc.js.map → p-D4NomvK5.js.map} +1 -1
- package/dist/components/{p-DIyOg-i_.js → p-Vu-NeL7U.js} +12 -8
- package/dist/components/p-Vu-NeL7U.js.map +1 -0
- package/dist/components/{p-CaqzUz5o.js → p-sJI0-JlJ.js} +4 -4
- package/dist/components/{p-CaqzUz5o.js.map → p-sJI0-JlJ.js.map} +1 -1
- package/dist/components/{p-Dw33Xm_t.js → p-tFlyM2Th.js} +3 -3
- package/dist/components/{p-Dw33Xm_t.js.map → p-tFlyM2Th.js.map} +1 -1
- package/dist/esm/af-aspect-ratio.entry.js +1 -1
- package/dist/esm/af-button-group.entry.js +2 -2
- package/dist/esm/af-button.entry.js +7 -2
- package/dist/esm/af-button.entry.js.map +1 -1
- package/dist/esm/af-card.entry.js +3 -3
- package/dist/esm/af-card.entry.js.map +1 -1
- package/dist/esm/af-client-carousel.entry.js +20 -0
- package/dist/esm/af-client-carousel.entry.js.map +1 -0
- package/dist/esm/af-color-swatch.entry.js +1 -1
- package/dist/esm/af-container.entry.js +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 +22 -12
- package/dist/esm/af-hero-section.entry.js +22 -0
- package/dist/esm/af-hero-section.entry.js.map +1 -0
- package/dist/esm/af-icon-button.entry.js +1 -1
- package/dist/esm/af-logo-well.entry.js +16 -0
- package/dist/esm/af-logo-well.entry.js.map +1 -0
- package/dist/esm/af-section.entry.js +23 -0
- package/dist/esm/af-section.entry.js.map +1 -0
- package/dist/esm/af-testimonial-carousel.entry.js +88 -0
- package/dist/esm/af-testimonial-carousel.entry.js.map +1 -0
- package/dist/esm/af-testimonial-stat.entry.js +20 -0
- package/dist/esm/af-testimonial-stat.entry.js.map +1 -0
- package/dist/esm/af-testimonial.entry.js +16 -0
- package/dist/esm/af-testimonial.entry.js.map +1 -0
- package/dist/esm/af-typography-lockup.entry.js +3 -3
- package/dist/esm/af-typography-lockup.entry.js.map +1 -1
- package/dist/esm/affinda.js +3 -3
- package/dist/esm/{index-Dmaq2rkg.js → index-Agei6ZJQ.js} +58 -9
- package/dist/esm/index-Agei6ZJQ.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/types/components/af-button/af-button.d.ts +4 -0
- package/dist/types/components/af-client-carousel/af-client-carousel.d.ts +10 -0
- package/dist/types/components/af-heading/af-heading.d.ts +2 -0
- package/dist/types/components/af-hero-section/af-hero-section.d.ts +12 -0
- package/dist/types/components/af-logo-well/af-logo-well.d.ts +6 -0
- package/dist/types/components/af-navbar/af-navbar.d.ts +3 -0
- package/dist/types/components/af-section/af-section.d.ts +12 -0
- package/dist/types/components/af-testimonial/af-testimonial.d.ts +23 -0
- package/dist/types/components/af-testimonial-carousel/af-testimonial-carousel.d.ts +15 -0
- package/dist/types/components/af-testimonial-stat/af-testimonial-stat.d.ts +15 -0
- package/dist/types/components/af-text/af-text.d.ts +2 -0
- package/dist/types/components.d.ts +319 -0
- package/package.json +14 -10
- package/dist/affinda/p-92f5a5d5.entry.js +0 -2
- package/dist/affinda/p-92f5a5d5.entry.js.map +0 -1
- package/dist/affinda/p-Dmaq2rkg.js +0 -3
- package/dist/affinda/p-Dmaq2rkg.js.map +0 -1
- package/dist/affinda/p-b79f976e.entry.js.map +0 -1
- package/dist/affinda/p-cb218d26.entry.js +0 -2
- package/dist/cjs/index-1GcSSOS3.js.map +0 -1
- package/dist/components/p-BHNNF4PT.js +0 -35
- package/dist/components/p-BHNNF4PT.js.map +0 -1
- package/dist/components/p-BpGDzCRf.js +0 -50
- package/dist/components/p-BpGDzCRf.js.map +0 -1
- package/dist/components/p-DIyOg-i_.js.map +0 -1
- package/dist/components/p-cKSy1B8M.js.map +0 -1
- package/dist/components/p-zwrcq-N2.js.map +0 -1
- package/dist/esm/index-Dmaq2rkg.js.map +0 -1
- /package/dist/affinda/{p-47629246.entry.js.map → p-23aedaa4.entry.js.map} +0 -0
- /package/dist/affinda/{p-9c22948a.entry.js.map → p-39e917eb.entry.js.map} +0 -0
- /package/dist/affinda/{p-bf697823.entry.js.map → p-430127fa.entry.js.map} +0 -0
- /package/dist/affinda/{p-d33de48f.entry.js.map → p-56a15842.entry.js.map} +0 -0
- /package/dist/affinda/{p-cb218d26.entry.js.map → p-867c5141.entry.js.map} +0 -0
- /package/dist/affinda/{p-f8d89fb6.entry.js.map → p-d7ff9fd9.entry.js.map} +0 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: inline-block;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.logo-well {
|
|
6
|
+
background: var(--colour-tints-inkwell-600, #1A3038);
|
|
7
|
+
border-radius: 16px;
|
|
8
|
+
height: 88px;
|
|
9
|
+
display: flex;
|
|
10
|
+
align-items: center;
|
|
11
|
+
justify-content: center;
|
|
12
|
+
padding: 24px 40px;
|
|
13
|
+
box-sizing: border-box;
|
|
14
|
+
min-width: 120px;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
::slotted(img) {
|
|
18
|
+
max-height: 40px;
|
|
19
|
+
width: auto;
|
|
20
|
+
display: block;
|
|
21
|
+
filter: brightness(0) invert(1); /* Make logos white */
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
::slotted(div) {
|
|
25
|
+
white-space: nowrap;
|
|
26
|
+
}
|
|
27
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
|
+
/**
|
|
3
|
+
* A rounded container for displaying client logos
|
|
4
|
+
*/
|
|
5
|
+
export class AfLogoWell {
|
|
6
|
+
render() {
|
|
7
|
+
return (h(Host, { key: '6443fda91c37fd9f2efd49fbd10b1899f311cd54' }, h("div", { key: '30ec1e2891dfd89af7cc310986d3c5c48e05c556', class: "logo-well" }, h("slot", { key: '4601797d3cef6ed117dc6c93083652dd22f51f05' }))));
|
|
8
|
+
}
|
|
9
|
+
static get is() { return "af-logo-well"; }
|
|
10
|
+
static get encapsulation() { return "shadow"; }
|
|
11
|
+
static get originalStyleUrls() {
|
|
12
|
+
return {
|
|
13
|
+
"$": ["af-logo-well.css"]
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
static get styleUrls() {
|
|
17
|
+
return {
|
|
18
|
+
"$": ["af-logo-well.css"]
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=af-logo-well.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"af-logo-well.js","sourceRoot":"","sources":["../../../src/components/af-logo-well/af-logo-well.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AAMH,MAAM,OAAO,UAAU;IACrB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAC,WAAW;gBACpB,8DAAa,CACT,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host } from '@stencil/core';\n\n/**\n * A rounded container for displaying client logos\n */\n@Component({\n tag: 'af-logo-well',\n styleUrl: 'af-logo-well.css',\n shadow: true,\n})\nexport class AfLogoWell {\n render() {\n return (\n <Host>\n <div class=\"logo-well\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"]}
|
|
@@ -37,6 +37,21 @@
|
|
|
37
37
|
flex-shrink: 0;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
+
/* Mobile menu toggle button */
|
|
41
|
+
.mobile-menu-toggle {
|
|
42
|
+
display: none;
|
|
43
|
+
background: none;
|
|
44
|
+
border: none;
|
|
45
|
+
padding: 8px;
|
|
46
|
+
cursor: pointer;
|
|
47
|
+
color: var(--colour-brand-inkwell, #14343b);
|
|
48
|
+
margin-left: auto;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.mobile-menu-toggle svg {
|
|
52
|
+
display: block;
|
|
53
|
+
}
|
|
54
|
+
|
|
40
55
|
.nav-links {
|
|
41
56
|
display: flex;
|
|
42
57
|
align-items: center;
|
|
@@ -86,28 +101,50 @@
|
|
|
86
101
|
padding: 8px 16px;
|
|
87
102
|
flex-direction: column;
|
|
88
103
|
border-radius: 16px;
|
|
89
|
-
gap:
|
|
104
|
+
gap: 0;
|
|
90
105
|
}
|
|
91
106
|
|
|
92
107
|
.navbar-left {
|
|
93
108
|
width: 100%;
|
|
94
|
-
flex-direction:
|
|
109
|
+
flex-direction: row;
|
|
110
|
+
justify-content: space-between;
|
|
111
|
+
align-items: center;
|
|
95
112
|
gap: 16px;
|
|
96
|
-
align-items: flex-start;
|
|
97
113
|
}
|
|
98
114
|
|
|
115
|
+
/* Show hamburger button on mobile */
|
|
116
|
+
.mobile-menu-toggle {
|
|
117
|
+
display: flex;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/* Hide nav links by default on mobile */
|
|
99
121
|
.nav-links {
|
|
122
|
+
display: none;
|
|
100
123
|
width: 100%;
|
|
101
124
|
flex-direction: column;
|
|
102
125
|
align-items: stretch;
|
|
103
126
|
gap: 0;
|
|
127
|
+
margin-top: 16px;
|
|
104
128
|
}
|
|
105
129
|
|
|
130
|
+
/* Show nav links when menu is open */
|
|
131
|
+
.nav-links.mobile-open {
|
|
132
|
+
display: flex;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/* Hide right section by default on mobile */
|
|
106
136
|
.navbar-right {
|
|
137
|
+
display: none;
|
|
107
138
|
width: 100%;
|
|
108
139
|
flex-direction: column;
|
|
109
140
|
gap: 12px;
|
|
110
141
|
align-items: stretch;
|
|
142
|
+
margin-top: 16px;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/* Show right section when menu is open */
|
|
146
|
+
.navbar-right.mobile-open {
|
|
147
|
+
display: flex;
|
|
111
148
|
}
|
|
112
149
|
|
|
113
150
|
.nav-actions {
|
|
@@ -2,10 +2,17 @@ import { h, Host } from "@stencil/core";
|
|
|
2
2
|
/**
|
|
3
3
|
* A full-width navigation bar component that provides the main site navigation.
|
|
4
4
|
* Features a pill-shaped container with logo, navigation links, and action buttons.
|
|
5
|
+
* Includes mobile hamburger menu.
|
|
5
6
|
*/
|
|
6
7
|
export class AfNavbar {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.mobileMenuOpen = false;
|
|
10
|
+
this.toggleMobileMenu = () => {
|
|
11
|
+
this.mobileMenuOpen = !this.mobileMenuOpen;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
7
14
|
render() {
|
|
8
|
-
return (h(Host, { key: '
|
|
15
|
+
return (h(Host, { key: '305d9415a3c14b2dc352588171d4677f4be4a1af' }, h("nav", { key: 'c509365f0056b0f26d8e3aea98acda04d29d4387', class: "navbar-container" }, h("div", { key: '722fd37a76e7367f0e7cd22729f711e8164b9d60', class: "navbar" }, h("div", { key: 'e0e8d341394b30f4badf5062b899123d691123a1', class: "navbar-left" }, h("div", { key: '145ab6a0ff46f0e21b429b8e2d881404d1d6c24c', class: "logo" }, h("slot", { key: '447d9abfa74c008afac07d3d0386b26ef292ec23', name: "logo" })), h("button", { key: '1f3e5512ea1ab6ca5b6a3a1455a9ff9fa9a2c8e3', class: "mobile-menu-toggle", onClick: this.toggleMobileMenu, "aria-label": "Toggle navigation menu", "aria-expanded": this.mobileMenuOpen ? 'true' : 'false' }, this.mobileMenuOpen ? (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M18 6L6 18M6 6l12 12", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))) : (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M3 12h18M3 6h18M3 18h18", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("div", { key: '277226e4c433ad4377810c1e3e894b0d9de11b05', class: `nav-links ${this.mobileMenuOpen ? 'mobile-open' : ''}` }, h("slot", { key: 'f95617e99651d0e2a4fa28a08fbe5452a8f95aa3', name: "start" }))), h("div", { key: 'ad7b9cf31ce290303df0af868e369bc79983fff4', class: `navbar-right ${this.mobileMenuOpen ? 'mobile-open' : ''}` }, h("div", { key: '817c73031c45579ec13da6d53bfe1753bcd1e0ef', class: "nav-actions" }, h("slot", { key: 'e18d0c55b346722784640c37bbb5e5fe05fec5c0', name: "end" })), h("div", { key: '296dd2c84f0a59c54741b40a6333cfff5ec7d200', class: "nav-button" }, h("slot", { key: 'd94063758598f14888587d93b5b299f593b2cd31', name: "button" })))))));
|
|
9
16
|
}
|
|
10
17
|
static get is() { return "af-navbar"; }
|
|
11
18
|
static get encapsulation() { return "shadow"; }
|
|
@@ -19,5 +26,10 @@ export class AfNavbar {
|
|
|
19
26
|
"$": ["af-navbar.css"]
|
|
20
27
|
};
|
|
21
28
|
}
|
|
29
|
+
static get states() {
|
|
30
|
+
return {
|
|
31
|
+
"mobileMenuOpen": {}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
22
34
|
}
|
|
23
35
|
//# sourceMappingURL=af-navbar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"af-navbar.js","sourceRoot":"","sources":["../../../src/components/af-navbar/af-navbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"af-navbar.js","sourceRoot":"","sources":["../../../src/components/af-navbar/af-navbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1D;;;;GAIG;AAMH,MAAM,OAAO,QAAQ;IALrB;QAMW,mBAAc,GAAY,KAAK,CAAC;QAEjC,qBAAgB,GAAG,GAAG,EAAE;YAC9B,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;QAC7C,CAAC,CAAC;KAkDH;IAhDC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAC,kBAAkB;gBAC3B,4DAAK,KAAK,EAAC,QAAQ;oBAEjB,4DAAK,KAAK,EAAC,aAAa;wBACtB,4DAAK,KAAK,EAAC,MAAM;4BACf,6DAAM,IAAI,EAAC,MAAM,GAAQ,CACrB;wBAGN,+DACE,KAAK,EAAC,oBAAoB,EAC1B,OAAO,EAAE,IAAI,CAAC,gBAAgB,gBACnB,wBAAwB,mBACpB,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAEpD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CACrB,WAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc;4BAC/E,YAAM,CAAC,EAAC,sBAAsB,kBAAc,GAAG,oBAAgB,OAAO,qBAAiB,OAAO,GAAE,CAC5F,CACP,CAAC,CAAC,CAAC,CACF,WAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc;4BAC/E,YAAM,CAAC,EAAC,yBAAyB,kBAAc,GAAG,oBAAgB,OAAO,qBAAiB,OAAO,GAAE,CAC/F,CACP,CACM;wBAET,4DAAK,KAAK,EAAE,aAAa,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE;4BACjE,6DAAM,IAAI,EAAC,OAAO,GAAQ,CACtB,CACF;oBAGN,4DAAK,KAAK,EAAE,gBAAgB,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE;wBACpE,4DAAK,KAAK,EAAC,aAAa;4BACtB,6DAAM,IAAI,EAAC,KAAK,GAAQ,CACpB;wBACN,4DAAK,KAAK,EAAC,YAAY;4BACrB,6DAAM,IAAI,EAAC,QAAQ,GAAQ,CACvB,CACF,CACF,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;CACF","sourcesContent":["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"]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: block;
|
|
3
|
+
width: 100%;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.section {
|
|
7
|
+
width: 100%;
|
|
8
|
+
position: relative;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/* Padding variants */
|
|
12
|
+
.padding-tight {
|
|
13
|
+
padding: 48px 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.padding-default {
|
|
17
|
+
padding: 96px 0;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.padding-loose {
|
|
21
|
+
padding: 120px 0 96px;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/* Background variants */
|
|
25
|
+
.bg-white {
|
|
26
|
+
background-color: var(--colour-background-white, #FFFFFF);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.bg-level1 {
|
|
30
|
+
background-color: var(--colour-background-level-1, #E8EEED);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.bg-dark,
|
|
34
|
+
.bg-inkwell {
|
|
35
|
+
background-color: var(--colour-brand-inkwell, #14343B);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/* Mobile adjustments */
|
|
39
|
+
@media (max-width: 768px) {
|
|
40
|
+
.padding-tight {
|
|
41
|
+
padding: 32px 0;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.padding-default {
|
|
45
|
+
padding: 64px 0;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.padding-loose {
|
|
49
|
+
padding: 80px 0 64px;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
|
+
/**
|
|
3
|
+
* Section layout component for consistent spacing and backgrounds
|
|
4
|
+
*/
|
|
5
|
+
export class AfSection {
|
|
6
|
+
constructor() {
|
|
7
|
+
/** Padding variant */
|
|
8
|
+
this.padding = 'default';
|
|
9
|
+
/** Background color */
|
|
10
|
+
this.background = 'white';
|
|
11
|
+
/** Whether to include a Container wrapper */
|
|
12
|
+
this.container = true;
|
|
13
|
+
}
|
|
14
|
+
render() {
|
|
15
|
+
const content = h("slot", { key: '269517d1852d1e459db9dc2673b88b4d8042f61b' });
|
|
16
|
+
return (h(Host, { key: 'a080f296f2f7178db29e973cce05048847e66c83' }, h("div", { key: '54bdca28715bdd18e38d85e2ed95a5699f793d3e', class: `section padding-${this.padding} bg-${this.background}` }, this.container ? (h("af-container", null, content)) : content)));
|
|
17
|
+
}
|
|
18
|
+
static get is() { return "af-section"; }
|
|
19
|
+
static get encapsulation() { return "scoped"; }
|
|
20
|
+
static get originalStyleUrls() {
|
|
21
|
+
return {
|
|
22
|
+
"$": ["af-section.css"]
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
static get styleUrls() {
|
|
26
|
+
return {
|
|
27
|
+
"$": ["af-section.css"]
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
static get properties() {
|
|
31
|
+
return {
|
|
32
|
+
"padding": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"mutable": false,
|
|
35
|
+
"complexType": {
|
|
36
|
+
"original": "'tight' | 'default' | 'loose'",
|
|
37
|
+
"resolved": "\"default\" | \"loose\" | \"tight\"",
|
|
38
|
+
"references": {}
|
|
39
|
+
},
|
|
40
|
+
"required": false,
|
|
41
|
+
"optional": false,
|
|
42
|
+
"docs": {
|
|
43
|
+
"tags": [],
|
|
44
|
+
"text": "Padding variant"
|
|
45
|
+
},
|
|
46
|
+
"getter": false,
|
|
47
|
+
"setter": false,
|
|
48
|
+
"reflect": false,
|
|
49
|
+
"attribute": "padding",
|
|
50
|
+
"defaultValue": "'default'"
|
|
51
|
+
},
|
|
52
|
+
"background": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"mutable": false,
|
|
55
|
+
"complexType": {
|
|
56
|
+
"original": "'white' | 'level1' | 'dark' | 'inkwell'",
|
|
57
|
+
"resolved": "\"dark\" | \"inkwell\" | \"level1\" | \"white\"",
|
|
58
|
+
"references": {}
|
|
59
|
+
},
|
|
60
|
+
"required": false,
|
|
61
|
+
"optional": false,
|
|
62
|
+
"docs": {
|
|
63
|
+
"tags": [],
|
|
64
|
+
"text": "Background color"
|
|
65
|
+
},
|
|
66
|
+
"getter": false,
|
|
67
|
+
"setter": false,
|
|
68
|
+
"reflect": false,
|
|
69
|
+
"attribute": "background",
|
|
70
|
+
"defaultValue": "'white'"
|
|
71
|
+
},
|
|
72
|
+
"container": {
|
|
73
|
+
"type": "boolean",
|
|
74
|
+
"mutable": false,
|
|
75
|
+
"complexType": {
|
|
76
|
+
"original": "boolean",
|
|
77
|
+
"resolved": "boolean",
|
|
78
|
+
"references": {}
|
|
79
|
+
},
|
|
80
|
+
"required": false,
|
|
81
|
+
"optional": false,
|
|
82
|
+
"docs": {
|
|
83
|
+
"tags": [],
|
|
84
|
+
"text": "Whether to include a Container wrapper"
|
|
85
|
+
},
|
|
86
|
+
"getter": false,
|
|
87
|
+
"setter": false,
|
|
88
|
+
"reflect": false,
|
|
89
|
+
"attribute": "container",
|
|
90
|
+
"defaultValue": "true"
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=af-section.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"af-section.js","sourceRoot":"","sources":["../../../src/components/af-section/af-section.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;GAEG;AAOH,MAAM,OAAO,SAAS;IANtB;QAOE,sBAAsB;QACd,YAAO,GAAkC,SAAS,CAAC;QAE3D,uBAAuB;QACf,eAAU,GAA4C,OAAO,CAAC;QAEtE,6CAA6C;QACrC,cAAS,GAAY,IAAI,CAAC;KAenC;IAbC,MAAM;QACJ,MAAM,OAAO,GAAG,8DAAa,CAAC;QAE9B,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,mBAAmB,IAAI,CAAC,OAAO,OAAO,IAAI,CAAC,UAAU,EAAE,IAChE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAChB,wBAAe,OAAO,CAAgB,CACvC,CAAC,CAAC,CAAC,OAAO,CACP,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Section layout component for consistent spacing and backgrounds\n */\n@Component({\n tag: 'af-section',\n styleUrl: 'af-section.css',\n shadow: false,\n scoped: true,\n})\nexport class AfSection {\n /** Padding variant */\n @Prop() padding: 'tight' | 'default' | 'loose' = 'default';\n \n /** Background color */\n @Prop() background: 'white' | 'level1' | 'dark' | 'inkwell' = 'white';\n \n /** Whether to include a Container wrapper */\n @Prop() container: boolean = true;\n\n render() {\n const content = <slot></slot>;\n \n return (\n <Host>\n <div class={`section padding-${this.padding} bg-${this.background}`}>\n {this.container ? (\n <af-container>{content}</af-container>\n ) : content}\n </div>\n </Host>\n );\n }\n}\n\n"]}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: block;
|
|
3
|
+
width: 100%;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.testimonial-card {
|
|
7
|
+
background: var(--colour-background-level-1, #e8eeed);
|
|
8
|
+
border-radius: var(--border-radius-card-level-1, 32px);
|
|
9
|
+
overflow: hidden;
|
|
10
|
+
display: flex;
|
|
11
|
+
height: 544px;
|
|
12
|
+
box-sizing: border-box;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/* Image side - 519px wide */
|
|
16
|
+
.testimonial-image {
|
|
17
|
+
position: relative;
|
|
18
|
+
width: 519px;
|
|
19
|
+
height: 100%;
|
|
20
|
+
background: #000000;
|
|
21
|
+
display: flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
justify-content: center;
|
|
24
|
+
flex-shrink: 0;
|
|
25
|
+
overflow: hidden;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.testimonial-bg-image {
|
|
29
|
+
position: absolute;
|
|
30
|
+
inset: 0;
|
|
31
|
+
width: 100%;
|
|
32
|
+
height: 100%;
|
|
33
|
+
object-fit: cover;
|
|
34
|
+
opacity: 0.7;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.testimonial-logo {
|
|
38
|
+
position: relative;
|
|
39
|
+
z-index: 1;
|
|
40
|
+
padding: 0 108px;
|
|
41
|
+
max-width: 100%;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.testimonial-logo img {
|
|
45
|
+
width: 100%;
|
|
46
|
+
height: auto;
|
|
47
|
+
display: block;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* Content side */
|
|
51
|
+
.testimonial-content {
|
|
52
|
+
flex: 1;
|
|
53
|
+
display: flex;
|
|
54
|
+
flex-direction: column;
|
|
55
|
+
gap: 32px;
|
|
56
|
+
padding: 48px;
|
|
57
|
+
border: 1px solid rgba(255, 255, 255, 0.08);
|
|
58
|
+
border-left: 1px solid rgba(255, 255, 255, 0.08);
|
|
59
|
+
box-sizing: border-box;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.testimonial-quote-section {
|
|
63
|
+
flex: 1;
|
|
64
|
+
display: flex;
|
|
65
|
+
flex-direction: column;
|
|
66
|
+
gap: 12px;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.testimonial-quote-icon {
|
|
70
|
+
width: 48px;
|
|
71
|
+
height: 48px;
|
|
72
|
+
color: var(--colour-brand-inkwell, #14343b);
|
|
73
|
+
flex-shrink: 0;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.testimonial-text {
|
|
77
|
+
font-family: 'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
78
|
+
font-size: 22px;
|
|
79
|
+
font-weight: 400;
|
|
80
|
+
line-height: 1.4;
|
|
81
|
+
color: var(--colour-typography-body-default, #2b484f);
|
|
82
|
+
margin: 0;
|
|
83
|
+
max-height: 155px;
|
|
84
|
+
overflow: hidden;
|
|
85
|
+
text-overflow: ellipsis;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.testimonial-attribution {
|
|
89
|
+
font-family: 'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
90
|
+
font-size: 22px;
|
|
91
|
+
font-weight: 400;
|
|
92
|
+
line-height: 1.4;
|
|
93
|
+
color: var(--colour-typography-body-dark, #14343b);
|
|
94
|
+
margin: 0;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.testimonial-stats {
|
|
98
|
+
display: flex;
|
|
99
|
+
gap: 32px;
|
|
100
|
+
width: 100%;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.testimonial-footer {
|
|
104
|
+
display: flex;
|
|
105
|
+
align-items: center;
|
|
106
|
+
justify-content: space-between;
|
|
107
|
+
border-top: 1px solid var(--colour-background-border-default, #d1ddda);
|
|
108
|
+
padding-top: 32px;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.testimonial-nav {
|
|
112
|
+
display: flex;
|
|
113
|
+
gap: 12px;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.testimonial-cta {
|
|
117
|
+
display: inline-flex;
|
|
118
|
+
align-items: center;
|
|
119
|
+
gap: 8px;
|
|
120
|
+
padding: 12px 24px;
|
|
121
|
+
border: 1px solid var(--colour-brand-inkwell, #14343b);
|
|
122
|
+
border-radius: 9999px;
|
|
123
|
+
font-family: 'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;
|
|
124
|
+
font-size: 17px;
|
|
125
|
+
font-weight: 500;
|
|
126
|
+
line-height: 20px;
|
|
127
|
+
color: var(--colour-brand-inkwell, #14343b);
|
|
128
|
+
text-decoration: none;
|
|
129
|
+
cursor: pointer;
|
|
130
|
+
transition: all 0.2s ease;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.testimonial-cta:hover {
|
|
134
|
+
background: var(--colour-background-level-1, #e8eeed);
|
|
135
|
+
transform: translateY(-1px);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.testimonial-cta svg {
|
|
139
|
+
width: 24px;
|
|
140
|
+
height: 24px;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
|
+
export class AfTestimonial {
|
|
3
|
+
render() {
|
|
4
|
+
return (h(Host, { key: 'b4a23c841092c119b7e8abd4249b75985f8edf95' }, h("div", { key: '65fec4f695a746ef51d4539b33dc166d4f1cb95c', class: "testimonial-card" }, h("div", { key: 'ad5ec6edb4fd3577f14d9cbcce925c1c68d6262e', class: "testimonial-image" }, this.backgroundImage && (h("img", { key: '4e51da94bd106ae50c63186c7cbedee3e86d341e', src: this.backgroundImage, alt: "", class: "testimonial-bg-image" })), this.logoImage && (h("div", { key: '68eea0c228eb7d3e92a3cbab11ee4d1b3d9e590e', class: "testimonial-logo" }, h("img", { key: '5f2225a849003d6b4b5ccc08073da121e3d27cf4', src: this.logoImage, alt: "Company logo" })))), h("div", { key: '9e6dbb02f4d87829af74c66029bd93ce3f3c65dd', class: "testimonial-content" }, h("div", { key: 'efd25f8dc722d79006835406a972da0d5fd7f77f', class: "testimonial-quote-section" }, h("div", { key: '46064d44eeed1712130c6c24007f5481b9cc3cf7', class: "testimonial-quote-icon" }, h("slot", { key: 'e1389d94a5cbb1181862963fd799d7c14b2d3ee5', name: "quote-icon" }, h("svg", { key: '6a935e48920b1964036f02fbc830b1319a20f057', width: "48", height: "48", viewBox: "0 0 48 48", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: 'cf0de3883bdf5a39cd377591ec34a02d75afd39c', d: "M10.5 25.5C10.5 23.0147 12.5147 21 15 21H18C18.8284 21 19.5 20.3284 19.5 19.5V15C19.5 12.5147 17.4853 10.5 15 10.5H10.5C6.35786 10.5 3 13.8579 3 18V33C3 35.4853 5.01472 37.5 7.5 37.5H15C17.4853 37.5 19.5 35.4853 19.5 33V25.5C19.5 23.0147 17.4853 21 15 21H10.5ZM33 25.5C33 23.0147 35.0147 21 37.5 21H40.5C41.3284 21 42 20.3284 42 19.5V15C42 12.5147 39.9853 10.5 37.5 10.5H33C28.8579 10.5 25.5 13.8579 25.5 18V33C25.5 35.4853 27.5147 37.5 30 37.5H37.5C39.9853 37.5 42 35.4853 42 33V25.5C42 23.0147 39.9853 21 37.5 21H33Z", fill: "currentColor" })))), h("p", { key: 'db71848c9ae10a2a24cdcb6797f8f2b4fbf6cea9', class: "testimonial-text" }, this.quote), h("p", { key: 'ad7c4fd0a91a1c2ea42d4abcc3ab949e51c3d313', class: "testimonial-attribution" }, this.attribution)), h("div", { key: '8042208ced311c39c8d91968ac1bc37c76971ec1', class: "testimonial-stats" }, h("slot", { key: 'b5c40fdb83b6776b2de0a57e37045a1fde50e78f', name: "stats" })), h("div", { key: '1b19fc1264136cf90cb0c32841678129f5dd711d', class: "testimonial-footer" }, h("div", { key: '77058648a8e25ed63b622c7bbf873c299e39e42d', class: "testimonial-nav" }, h("slot", { key: '9231316a8dd17ae30c754e1ff1ba9ea70c327c82', name: "navigation" })), this.readMoreLink && (h("a", { key: '01072189417f44da780b5c5a8849e9e66a2a9b0d', href: this.readMoreLink, class: "testimonial-cta" }, h("span", { key: '8c5008a42d4c4160bb4950f562872a67ac26c15c' }, "Read full story"), h("svg", { key: '881176b723a0f4c3d941d2be0f8983ddc0468ee6', width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, h("path", { key: 'd8fd8469aa2c45286891751b269c692ee90426c0', d: "M5 12H19M19 12L12 5M19 12L12 19", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))))))));
|
|
5
|
+
}
|
|
6
|
+
static get is() { return "af-testimonial"; }
|
|
7
|
+
static get encapsulation() { return "scoped"; }
|
|
8
|
+
static get originalStyleUrls() {
|
|
9
|
+
return {
|
|
10
|
+
"$": ["af-testimonial.css"]
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
static get styleUrls() {
|
|
14
|
+
return {
|
|
15
|
+
"$": ["af-testimonial.css"]
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
static get properties() {
|
|
19
|
+
return {
|
|
20
|
+
"backgroundImage": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"mutable": false,
|
|
23
|
+
"complexType": {
|
|
24
|
+
"original": "string",
|
|
25
|
+
"resolved": "string | undefined",
|
|
26
|
+
"references": {}
|
|
27
|
+
},
|
|
28
|
+
"required": false,
|
|
29
|
+
"optional": true,
|
|
30
|
+
"docs": {
|
|
31
|
+
"tags": [],
|
|
32
|
+
"text": "Background image URL for the testimonial card"
|
|
33
|
+
},
|
|
34
|
+
"getter": false,
|
|
35
|
+
"setter": false,
|
|
36
|
+
"reflect": false,
|
|
37
|
+
"attribute": "background-image"
|
|
38
|
+
},
|
|
39
|
+
"logoImage": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"mutable": false,
|
|
42
|
+
"complexType": {
|
|
43
|
+
"original": "string",
|
|
44
|
+
"resolved": "string | undefined",
|
|
45
|
+
"references": {}
|
|
46
|
+
},
|
|
47
|
+
"required": false,
|
|
48
|
+
"optional": true,
|
|
49
|
+
"docs": {
|
|
50
|
+
"tags": [],
|
|
51
|
+
"text": "Company logo URL"
|
|
52
|
+
},
|
|
53
|
+
"getter": false,
|
|
54
|
+
"setter": false,
|
|
55
|
+
"reflect": false,
|
|
56
|
+
"attribute": "logo-image"
|
|
57
|
+
},
|
|
58
|
+
"quote": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"mutable": false,
|
|
61
|
+
"complexType": {
|
|
62
|
+
"original": "string",
|
|
63
|
+
"resolved": "string",
|
|
64
|
+
"references": {}
|
|
65
|
+
},
|
|
66
|
+
"required": true,
|
|
67
|
+
"optional": false,
|
|
68
|
+
"docs": {
|
|
69
|
+
"tags": [],
|
|
70
|
+
"text": "Testimonial quote text"
|
|
71
|
+
},
|
|
72
|
+
"getter": false,
|
|
73
|
+
"setter": false,
|
|
74
|
+
"reflect": false,
|
|
75
|
+
"attribute": "quote"
|
|
76
|
+
},
|
|
77
|
+
"attribution": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"mutable": false,
|
|
80
|
+
"complexType": {
|
|
81
|
+
"original": "string",
|
|
82
|
+
"resolved": "string",
|
|
83
|
+
"references": {}
|
|
84
|
+
},
|
|
85
|
+
"required": true,
|
|
86
|
+
"optional": false,
|
|
87
|
+
"docs": {
|
|
88
|
+
"tags": [],
|
|
89
|
+
"text": "Attribution text (e.g., \"\u2013 Nathaniel Barrs, CTO, PSC Insurance\")"
|
|
90
|
+
},
|
|
91
|
+
"getter": false,
|
|
92
|
+
"setter": false,
|
|
93
|
+
"reflect": false,
|
|
94
|
+
"attribute": "attribution"
|
|
95
|
+
},
|
|
96
|
+
"readMoreLink": {
|
|
97
|
+
"type": "string",
|
|
98
|
+
"mutable": false,
|
|
99
|
+
"complexType": {
|
|
100
|
+
"original": "string",
|
|
101
|
+
"resolved": "string | undefined",
|
|
102
|
+
"references": {}
|
|
103
|
+
},
|
|
104
|
+
"required": false,
|
|
105
|
+
"optional": true,
|
|
106
|
+
"docs": {
|
|
107
|
+
"tags": [],
|
|
108
|
+
"text": "Link to full case study"
|
|
109
|
+
},
|
|
110
|
+
"getter": false,
|
|
111
|
+
"setter": false,
|
|
112
|
+
"reflect": false,
|
|
113
|
+
"attribute": "read-more-link"
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=af-testimonial.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"af-testimonial.js","sourceRoot":"","sources":["../../../src/components/af-testimonial/af-testimonial.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAQzD,MAAM,OAAO,aAAa;IA0BxB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAC,kBAAkB;gBAE3B,4DAAK,KAAK,EAAC,mBAAmB;oBAC3B,IAAI,CAAC,eAAe,IAAI,CACvB,4DAAK,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAC,EAAE,EAAC,KAAK,EAAC,sBAAsB,GAAG,CACvE;oBACA,IAAI,CAAC,SAAS,IAAI,CACjB,4DAAK,KAAK,EAAC,kBAAkB;wBAC3B,4DAAK,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAC,cAAc,GAAG,CAC3C,CACP,CACG;gBAGN,4DAAK,KAAK,EAAC,qBAAqB;oBAC9B,4DAAK,KAAK,EAAC,2BAA2B;wBAEpC,4DAAK,KAAK,EAAC,wBAAwB;4BACjC,6DAAM,IAAI,EAAC,YAAY;gCACrB,4DAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B;oCAC5F,6DAAM,CAAC,EAAC,wgBAAwgB,EAAC,IAAI,EAAC,cAAc,GAAE,CACliB,CACD,CACH;wBAEN,0DAAG,KAAK,EAAC,kBAAkB,IAAE,IAAI,CAAC,KAAK,CAAK;wBAC5C,0DAAG,KAAK,EAAC,yBAAyB,IAAE,IAAI,CAAC,WAAW,CAAK,CACrD;oBAGN,4DAAK,KAAK,EAAC,mBAAmB;wBAC5B,6DAAM,IAAI,EAAC,OAAO,GAAQ,CACtB;oBAGN,4DAAK,KAAK,EAAC,oBAAoB;wBAC7B,4DAAK,KAAK,EAAC,iBAAiB;4BAC1B,6DAAM,IAAI,EAAC,YAAY,GAAQ,CAC3B;wBACL,IAAI,CAAC,YAAY,IAAI,CACpB,0DAAG,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAC,iBAAiB;4BACjD,iFAA4B;4BAC5B,4DAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;gCACzD,6DAAM,CAAC,EAAC,iCAAiC,EAAC,MAAM,EAAC,cAAc,kBAAc,GAAG,oBAAgB,OAAO,qBAAiB,OAAO,GAAE,CAC7H,CACJ,CACL,CACG,CACF,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'af-testimonial',\n styleUrl: 'af-testimonial.css',\n shadow: false,\n scoped: true,\n})\nexport class AfTestimonial {\n /**\n * Background image URL for the testimonial card\n */\n @Prop() backgroundImage?: string;\n\n /**\n * Company logo URL\n */\n @Prop() logoImage?: string;\n\n /**\n * Testimonial quote text\n */\n @Prop() quote!: string;\n\n /**\n * Attribution text (e.g., \"– Nathaniel Barrs, CTO, PSC Insurance\")\n */\n @Prop() attribution!: string;\n\n /**\n * Link to full case study\n */\n @Prop() readMoreLink?: string;\n\n render() {\n return (\n <Host>\n <div class=\"testimonial-card\">\n {/* Image side */}\n <div class=\"testimonial-image\">\n {this.backgroundImage && (\n <img src={this.backgroundImage} alt=\"\" class=\"testimonial-bg-image\" />\n )}\n {this.logoImage && (\n <div class=\"testimonial-logo\">\n <img src={this.logoImage} alt=\"Company logo\" />\n </div>\n )}\n </div>\n\n {/* Content side */}\n <div class=\"testimonial-content\">\n <div class=\"testimonial-quote-section\">\n {/* Quote icon - using slot for flexibility */}\n <div class=\"testimonial-quote-icon\">\n <slot name=\"quote-icon\">\n <svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M10.5 25.5C10.5 23.0147 12.5147 21 15 21H18C18.8284 21 19.5 20.3284 19.5 19.5V15C19.5 12.5147 17.4853 10.5 15 10.5H10.5C6.35786 10.5 3 13.8579 3 18V33C3 35.4853 5.01472 37.5 7.5 37.5H15C17.4853 37.5 19.5 35.4853 19.5 33V25.5C19.5 23.0147 17.4853 21 15 21H10.5ZM33 25.5C33 23.0147 35.0147 21 37.5 21H40.5C41.3284 21 42 20.3284 42 19.5V15C42 12.5147 39.9853 10.5 37.5 10.5H33C28.8579 10.5 25.5 13.8579 25.5 18V33C25.5 35.4853 27.5147 37.5 30 37.5H37.5C39.9853 37.5 42 35.4853 42 33V25.5C42 23.0147 39.9853 21 37.5 21H33Z\" fill=\"currentColor\"/>\n </svg>\n </slot>\n </div>\n\n <p class=\"testimonial-text\">{this.quote}</p>\n <p class=\"testimonial-attribution\">{this.attribution}</p>\n </div>\n\n {/* Statistics slot */}\n <div class=\"testimonial-stats\">\n <slot name=\"stats\"></slot>\n </div>\n\n {/* Footer with navigation and CTA */}\n <div class=\"testimonial-footer\">\n <div class=\"testimonial-nav\">\n <slot name=\"navigation\"></slot>\n </div>\n {this.readMoreLink && (\n <a href={this.readMoreLink} class=\"testimonial-cta\">\n <span>Read full story</span>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M5 12H19M19 12L12 5M19 12L12 19\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </a>\n )}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n\n\n"]}
|