@sankhyatronics/sankhya-cms 0.1.18 → 0.3.0
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/custom-elements.json +11634 -3153
- package/dist/attention-panel/index.js +2 -2
- package/dist/bar-chart/index.js +2 -2
- package/dist/bento-grid/index.d.ts +33 -1
- package/dist/bento-grid/index.js +4 -3
- package/dist/booking/index.d.ts +309 -0
- package/dist/booking/index.js +20 -0
- package/dist/booking/index.js.map +1 -0
- package/dist/card/index.d.ts +3 -4
- package/dist/card/index.js +2 -2
- package/dist/carousel/index.d.ts +20 -6
- package/dist/carousel/index.js +3 -3
- package/dist/chip/index.js +2 -2
- package/dist/{chunk-JQY2G4QK.js → chunk-2GTR37PU.js} +2 -2
- package/dist/chunk-2GTR37PU.js.map +1 -0
- package/dist/{chunk-FLY7TNRT.js → chunk-2HMOX253.js} +128 -25
- package/dist/chunk-2HMOX253.js.map +1 -0
- package/dist/{chunk-DH53HZPB.js → chunk-37KFBKPD.js} +32 -4
- package/dist/chunk-37KFBKPD.js.map +1 -0
- package/dist/{chunk-ALI26WOB.js → chunk-4XPKKYVZ.js} +54 -15
- package/dist/chunk-4XPKKYVZ.js.map +1 -0
- package/dist/chunk-535QAZ6A.js +236 -0
- package/dist/chunk-535QAZ6A.js.map +1 -0
- package/dist/{chunk-AKJQ345O.js → chunk-5AWGZQWU.js} +2 -2
- package/dist/chunk-6OZKZG5J.js +300 -0
- package/dist/chunk-6OZKZG5J.js.map +1 -0
- package/dist/chunk-AYNT7G3J.js +805 -0
- package/dist/chunk-AYNT7G3J.js.map +1 -0
- package/dist/chunk-BEWX3E6P.js +32 -0
- package/dist/chunk-BEWX3E6P.js.map +1 -0
- package/dist/chunk-CZUGPKXV.js +275 -0
- package/dist/chunk-CZUGPKXV.js.map +1 -0
- package/dist/{chunk-LEXZKGQX.js → chunk-DJFWZOZM.js} +107 -11
- package/dist/chunk-DJFWZOZM.js.map +1 -0
- package/dist/chunk-DPANTC3O.js +1714 -0
- package/dist/chunk-DPANTC3O.js.map +1 -0
- package/dist/chunk-EKZFFY45.js +426 -0
- package/dist/chunk-EKZFFY45.js.map +1 -0
- package/dist/chunk-ER7MCPDV.js +7 -0
- package/dist/chunk-ER7MCPDV.js.map +1 -0
- package/dist/chunk-EW2RK5Y6.js +383 -0
- package/dist/chunk-EW2RK5Y6.js.map +1 -0
- package/dist/{chunk-BLQV2YMO.js → chunk-EZOKT7NJ.js} +2 -2
- package/dist/chunk-FF2LWEF3.js +386 -0
- package/dist/chunk-FF2LWEF3.js.map +1 -0
- package/dist/chunk-FOUK3NHR.js +7 -0
- package/dist/chunk-FOUK3NHR.js.map +1 -0
- package/dist/chunk-GB4NGCZI.js +181 -0
- package/dist/chunk-GB4NGCZI.js.map +1 -0
- package/dist/{chunk-7NLZND6Q.js → chunk-GOFSMD6W.js} +35 -11
- package/dist/chunk-GOFSMD6W.js.map +1 -0
- package/dist/{chunk-6D6ROU7X.js → chunk-IGMVF3KK.js} +2 -2
- package/dist/{chunk-INMSEYT6.js → chunk-IVPVYVWG.js} +2 -2
- package/dist/chunk-JURCF4OD.js +381 -0
- package/dist/chunk-JURCF4OD.js.map +1 -0
- package/dist/{chunk-FZ36KL73.js → chunk-KZ7PMFWS.js} +11 -1
- package/dist/chunk-KZ7PMFWS.js.map +1 -0
- package/dist/{chunk-EMCQBT3S.js → chunk-LO6TZBGD.js} +129 -35
- package/dist/chunk-LO6TZBGD.js.map +1 -0
- package/dist/chunk-MFRGAT6D.js +860 -0
- package/dist/chunk-MFRGAT6D.js.map +1 -0
- package/dist/chunk-MIBVQXRU.js +1098 -0
- package/dist/chunk-MIBVQXRU.js.map +1 -0
- package/dist/{chunk-35TX3AOA.js → chunk-NABSRUXG.js} +2 -2
- package/dist/{chunk-R5G6KFTJ.js → chunk-NXKDZWS7.js} +44 -6
- package/dist/chunk-NXKDZWS7.js.map +1 -0
- package/dist/{chunk-KMU6ABQF.js → chunk-NXUS2CH7.js} +14 -1
- package/dist/chunk-NXUS2CH7.js.map +1 -0
- package/dist/{chunk-GJO3RGOB.js → chunk-OCPGOLVF.js} +56 -11
- package/dist/chunk-OCPGOLVF.js.map +1 -0
- package/dist/chunk-OEOE6IFY.js +628 -0
- package/dist/chunk-OEOE6IFY.js.map +1 -0
- package/dist/{chunk-SMLR736E.js → chunk-PV6OCXXN.js} +2 -2
- package/dist/chunk-PV6OCXXN.js.map +1 -0
- package/dist/chunk-Q66CJO3P.js +534 -0
- package/dist/chunk-Q66CJO3P.js.map +1 -0
- package/dist/{chunk-MG2VTZA4.js → chunk-QS3ANOWN.js} +2 -2
- package/dist/{chunk-ZN4LIKVG.js → chunk-QSJ543V2.js} +2 -2
- package/dist/chunk-QSJ543V2.js.map +1 -0
- package/dist/{chunk-FML6AG2V.js → chunk-RANC3OI6.js} +2 -2
- package/dist/chunk-T4BIN37Q.js +32 -0
- package/dist/chunk-T4BIN37Q.js.map +1 -0
- package/dist/{chunk-YVTFQHVY.js → chunk-TEAZZPDQ.js} +2 -2
- package/dist/chunk-TJK55CJ2.js +49 -0
- package/dist/chunk-TJK55CJ2.js.map +1 -0
- package/dist/chunk-UKIVLF7S.js +32 -0
- package/dist/chunk-UKIVLF7S.js.map +1 -0
- package/dist/chunk-V4R7PYP5.js +905 -0
- package/dist/chunk-V4R7PYP5.js.map +1 -0
- package/dist/{chunk-AG2COC64.js → chunk-VVYQ2DDS.js} +2 -2
- package/dist/chunk-WAMOAAMN.js +16 -0
- package/dist/chunk-WAMOAAMN.js.map +1 -0
- package/dist/chunk-WAYHHL4J.js +1234 -0
- package/dist/chunk-WAYHHL4J.js.map +1 -0
- package/dist/{chunk-YQ42EBK5.js → chunk-WH6HE6SY.js} +10 -4
- package/dist/chunk-WH6HE6SY.js.map +1 -0
- package/dist/chunk-XP6DI3VY.js +180 -0
- package/dist/chunk-XP6DI3VY.js.map +1 -0
- package/dist/{chunk-5EBWMPJS.js → chunk-XS6LNTSH.js} +76 -14
- package/dist/chunk-XS6LNTSH.js.map +1 -0
- package/dist/{chunk-WT4OATGP.js → chunk-ZKFCDVB4.js} +16 -7
- package/dist/chunk-ZKFCDVB4.js.map +1 -0
- package/dist/cms-theme.css +29 -0
- package/dist/contact-form/index.d.ts +220 -0
- package/dist/contact-form/index.js +16 -0
- package/dist/contact-form/index.js.map +1 -0
- package/dist/content-block/index.d.ts +39 -4
- package/dist/content-block/index.js +8 -4
- package/dist/cookie-consent/index.d.ts +60 -12
- package/dist/cookie-consent/index.js +3 -2
- package/dist/date-tile/index.js +2 -2
- package/dist/dropdown/index.d.ts +29 -11
- package/dist/dropdown/index.js +4 -2
- package/dist/feature-split/index.d.ts +6 -1
- package/dist/feature-split/index.js +5 -4
- package/dist/features-section/index.d.ts +53 -9
- package/dist/features-section/index.js +6 -5
- package/dist/flow/index.d.ts +35 -0
- package/dist/flow/index.js +9 -0
- package/dist/flow/index.js.map +1 -0
- package/dist/footer/index.d.ts +13 -0
- package/dist/footer/index.js +2 -2
- package/dist/header/index.d.ts +135 -16
- package/dist/header/index.js +3 -2
- package/dist/hero/index.d.ts +92 -8
- package/dist/hero/index.js +6 -3
- package/dist/icon-button/index.d.ts +7 -7
- package/dist/icon-button/index.js +2 -2
- package/dist/index.d.ts +12 -3
- package/dist/index.js +121 -47
- package/dist/items-accordion/index.d.ts +9 -0
- package/dist/items-accordion/index.js +4 -3
- package/dist/kpi-card/index.js +2 -2
- package/dist/markdown/index.d.ts +19 -2
- package/dist/markdown/index.js +3 -2
- package/dist/mega-menu/index.d.ts +95 -7
- package/dist/mega-menu/index.js +7 -2
- package/dist/menu-grid/index.d.ts +2 -3
- package/dist/menu-grid/index.js +2 -2
- package/dist/menu-grid-item/index.d.ts +6 -8
- package/dist/menu-grid-item/index.js +2 -2
- package/dist/menu-item/index.d.ts +11 -7
- package/dist/menu-item/index.js +3 -2
- package/dist/plan-cards/index.d.ts +69 -0
- package/dist/plan-cards/index.js +13 -0
- package/dist/plan-cards/index.js.map +1 -0
- package/dist/product-nav/index.d.ts +127 -0
- package/dist/product-nav/index.js +11 -0
- package/dist/product-nav/index.js.map +1 -0
- package/dist/promo-banner/index.d.ts +42 -4
- package/dist/promo-banner/index.js +6 -3
- package/dist/quote-dialog/index.d.ts +174 -0
- package/dist/quote-dialog/index.js +22 -0
- package/dist/quote-dialog/index.js.map +1 -0
- package/dist/schema/index.d.ts +11 -0
- package/dist/schema/index.js +9 -0
- package/dist/schema/index.js.map +1 -1
- package/dist/screenshot-tour/index.d.ts +54 -0
- package/dist/screenshot-tour/index.js +9 -0
- package/dist/screenshot-tour/index.js.map +1 -0
- package/dist/section/index.d.ts +3 -0
- package/dist/section/index.js +3 -3
- package/dist/segmented-control/index.js +2 -2
- package/dist/select/index.js +2 -2
- package/dist/shared/styles.d.ts +7 -1
- package/dist/shared/styles.js +3 -1
- package/dist/stats/index.js +2 -2
- package/dist/steps/index.d.ts +45 -0
- package/dist/steps/index.js +11 -0
- package/dist/steps/index.js.map +1 -0
- package/dist/tag-strip/index.d.ts +33 -0
- package/dist/tag-strip/index.js +9 -0
- package/dist/tag-strip/index.js.map +1 -0
- package/dist/testimonials/index.d.ts +9 -1
- package/dist/testimonials/index.js +3 -3
- package/dist/tooltip/index.js +2 -2
- package/package.json +38 -2
- package/dist/chunk-5EBWMPJS.js.map +0 -1
- package/dist/chunk-76AVBQUA.js +0 -252
- package/dist/chunk-76AVBQUA.js.map +0 -1
- package/dist/chunk-7NLZND6Q.js.map +0 -1
- package/dist/chunk-ALI26WOB.js.map +0 -1
- package/dist/chunk-BMHMNXIA.js +0 -158
- package/dist/chunk-BMHMNXIA.js.map +0 -1
- package/dist/chunk-DH53HZPB.js.map +0 -1
- package/dist/chunk-EMCQBT3S.js.map +0 -1
- package/dist/chunk-FLY7TNRT.js.map +0 -1
- package/dist/chunk-FZ36KL73.js.map +0 -1
- package/dist/chunk-GJO3RGOB.js.map +0 -1
- package/dist/chunk-J6EO4R73.js +0 -633
- package/dist/chunk-J6EO4R73.js.map +0 -1
- package/dist/chunk-JKBWZLG4.js +0 -348
- package/dist/chunk-JKBWZLG4.js.map +0 -1
- package/dist/chunk-JQY2G4QK.js.map +0 -1
- package/dist/chunk-KMU6ABQF.js.map +0 -1
- package/dist/chunk-LEXZKGQX.js.map +0 -1
- package/dist/chunk-MSSH3HFK.js +0 -205
- package/dist/chunk-MSSH3HFK.js.map +0 -1
- package/dist/chunk-R5G6KFTJ.js.map +0 -1
- package/dist/chunk-SMLR736E.js.map +0 -1
- package/dist/chunk-VWS53WY4.js +0 -157
- package/dist/chunk-VWS53WY4.js.map +0 -1
- package/dist/chunk-WT4OATGP.js.map +0 -1
- package/dist/chunk-XWB4CKDU.js +0 -708
- package/dist/chunk-XWB4CKDU.js.map +0 -1
- package/dist/chunk-YQ42EBK5.js.map +0 -1
- package/dist/chunk-ZN4LIKVG.js.map +0 -1
- /package/dist/{chunk-AKJQ345O.js.map → chunk-5AWGZQWU.js.map} +0 -0
- /package/dist/{chunk-BLQV2YMO.js.map → chunk-EZOKT7NJ.js.map} +0 -0
- /package/dist/{chunk-6D6ROU7X.js.map → chunk-IGMVF3KK.js.map} +0 -0
- /package/dist/{chunk-INMSEYT6.js.map → chunk-IVPVYVWG.js.map} +0 -0
- /package/dist/{chunk-35TX3AOA.js.map → chunk-NABSRUXG.js.map} +0 -0
- /package/dist/{chunk-MG2VTZA4.js.map → chunk-QS3ANOWN.js.map} +0 -0
- /package/dist/{chunk-FML6AG2V.js.map → chunk-RANC3OI6.js.map} +0 -0
- /package/dist/{chunk-YVTFQHVY.js.map → chunk-TEAZZPDQ.js.map} +0 -0
- /package/dist/{chunk-AG2COC64.js.map → chunk-VVYQ2DDS.js.map} +0 -0
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ctaAriaLabel,
|
|
3
|
+
ctaLabelStyles,
|
|
4
|
+
renderCtaLabel
|
|
5
|
+
} from "./chunk-BEWX3E6P.js";
|
|
6
|
+
import {
|
|
7
|
+
externalLinkAttrs,
|
|
8
|
+
externalLinkExtras,
|
|
9
|
+
isExternalHref
|
|
10
|
+
} from "./chunk-T4BIN37Q.js";
|
|
11
|
+
import {
|
|
12
|
+
ctaLinkStyles,
|
|
13
|
+
sectionSubtitleStyles,
|
|
14
|
+
sectionTitleStyles
|
|
15
|
+
} from "./chunk-KZ7PMFWS.js";
|
|
16
|
+
import {
|
|
17
|
+
buttonResetStyles,
|
|
18
|
+
controlBaseStyles,
|
|
19
|
+
ctaPillStyles,
|
|
20
|
+
rootFontFamilyStyles
|
|
21
|
+
} from "./chunk-NXUS2CH7.js";
|
|
22
|
+
import {
|
|
23
|
+
__decorateClass
|
|
24
|
+
} from "./chunk-EUXUH3YW.js";
|
|
25
|
+
|
|
26
|
+
// src/promo-banner/PromoBanner.ts
|
|
27
|
+
import { LitElement, css, html, nothing, svg } from "lit";
|
|
28
|
+
import { customElement, property } from "lit/decorators.js";
|
|
29
|
+
import "iconify-icon";
|
|
30
|
+
var CTA_NOTE_ICON = svg`<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><rect x="5" y="11" width="14" height="10" rx="2"/><path d="M8 11V8a4 4 0 0 1 8 0v3"/></svg>`;
|
|
31
|
+
var PromoBanner = class extends LitElement {
|
|
32
|
+
constructor() {
|
|
33
|
+
super(...arguments);
|
|
34
|
+
this.title = "";
|
|
35
|
+
this.subtitle = "";
|
|
36
|
+
this.actionLabel = "";
|
|
37
|
+
this.actionLabelShort = "";
|
|
38
|
+
this.secondaryActionLabelShort = "";
|
|
39
|
+
this.href = "";
|
|
40
|
+
this.imageSrc = "";
|
|
41
|
+
this.secondaryActionLabel = "";
|
|
42
|
+
this.secondaryHref = "";
|
|
43
|
+
this.variant = "default";
|
|
44
|
+
this.inverted = false;
|
|
45
|
+
this.layout = "stack";
|
|
46
|
+
this.buttonStyle = "default";
|
|
47
|
+
this.ctaNote = "";
|
|
48
|
+
this.ctaNoteIcon = "";
|
|
49
|
+
}
|
|
50
|
+
willUpdate() {
|
|
51
|
+
this.style.backgroundImage = this.imageSrc ? `url(${JSON.stringify(this.imageSrc)})` : "";
|
|
52
|
+
}
|
|
53
|
+
/** Fires the cancelable `action` event; a cancelled click keeps the page where it is. */
|
|
54
|
+
emitAction(event, detail) {
|
|
55
|
+
const action = new CustomEvent("action", { detail, bubbles: true, composed: true, cancelable: true });
|
|
56
|
+
this.dispatchEvent(action);
|
|
57
|
+
if (action.defaultPrevented) event.preventDefault();
|
|
58
|
+
}
|
|
59
|
+
renderCta(label, href, secondary) {
|
|
60
|
+
const className = secondary ? "cta secondary" : "cta";
|
|
61
|
+
const part = secondary ? "secondary-action" : "action";
|
|
62
|
+
const detail = secondary ? { href, kind: "secondary" } : { href };
|
|
63
|
+
const onClick = (event) => this.emitAction(event, detail);
|
|
64
|
+
const { target, rel } = externalLinkAttrs(href);
|
|
65
|
+
const short = secondary ? this.secondaryActionLabelShort : this.actionLabelShort;
|
|
66
|
+
const text = renderCtaLabel(label, short);
|
|
67
|
+
const ariaLabel = ctaAriaLabel(label, short, isExternalHref(href) ? " (opens in new tab)" : "");
|
|
68
|
+
return href ? html`<a class=${className} part=${part} href=${href} target=${target} rel=${rel} aria-label=${ariaLabel} @click=${onClick}
|
|
69
|
+
>${text}${externalLinkExtras(href)}</a
|
|
70
|
+
>` : html`<button class=${className} part=${part} type="button" aria-label=${ariaLabel} @click=${onClick}>${text}</button>`;
|
|
71
|
+
}
|
|
72
|
+
renderCopy() {
|
|
73
|
+
return html`
|
|
74
|
+
<h2 class="title" part="title">${this.title}</h2>
|
|
75
|
+
${this.subtitle ? html`<p class="subtitle" part="subtitle">${this.subtitle}</p>` : nothing}
|
|
76
|
+
<slot></slot>
|
|
77
|
+
`;
|
|
78
|
+
}
|
|
79
|
+
render() {
|
|
80
|
+
return html`
|
|
81
|
+
<div class="container" part="container">
|
|
82
|
+
${this.layout === "inline" ? html`<div class="copy" part="copy">${this.renderCopy()}</div>` : this.renderCopy()}
|
|
83
|
+
${this.actionLabel || this.secondaryActionLabel || this.ctaNote ? html`<div class="cta-group">
|
|
84
|
+
${this.actionLabel || this.secondaryActionLabel ? html`<div class="actions" part="actions">
|
|
85
|
+
${this.actionLabel ? this.renderCta(this.actionLabel, this.href, false) : nothing}
|
|
86
|
+
${this.secondaryActionLabel ? this.renderCta(this.secondaryActionLabel, this.secondaryHref, true) : nothing}
|
|
87
|
+
</div>` : nothing}
|
|
88
|
+
${this.ctaNote ? html`<p class="cta-note" part="cta-note">${this.ctaNoteIcon ? html`<iconify-icon icon=${this.ctaNoteIcon} aria-hidden="true"></iconify-icon>` : CTA_NOTE_ICON}<span>${this.ctaNote}</span></p>` : nothing}
|
|
89
|
+
</div>` : nothing}
|
|
90
|
+
</div>
|
|
91
|
+
`;
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
PromoBanner.styles = css`
|
|
95
|
+
${ctaLabelStyles}
|
|
96
|
+
${controlBaseStyles}
|
|
97
|
+
|
|
98
|
+
:host {
|
|
99
|
+
display: block;
|
|
100
|
+
box-sizing: border-box;
|
|
101
|
+
width: calc(100% - 48px);
|
|
102
|
+
max-width: var(--st-cms-container-max);
|
|
103
|
+
/* !important: a page-level reset (e.g. Tailwind Preflight) otherwise zeroes a shadow host's
|
|
104
|
+
margin/padding; override with --st-promo-banner-margin/-padding instead. */
|
|
105
|
+
margin: var(--st-promo-banner-margin, var(--st-space-40) auto) !important;
|
|
106
|
+
padding: var(--st-promo-banner-padding, 100px var(--st-space-24)) !important;
|
|
107
|
+
border-radius: var(--st-space-24);
|
|
108
|
+
background-color: var(--st-color-text-strong);
|
|
109
|
+
background-size: cover;
|
|
110
|
+
background-position: center;
|
|
111
|
+
color: var(--st-color-on-solid);
|
|
112
|
+
text-align: center;
|
|
113
|
+
${rootFontFamilyStyles}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
:host([variant='accent']) {
|
|
117
|
+
background-color: var(--st-color-accent);
|
|
118
|
+
color: var(--st-cms-on-dark);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
:host([variant='accent']) .cta:not(.secondary) {
|
|
122
|
+
background: var(--st-cms-on-dark);
|
|
123
|
+
border-color: transparent;
|
|
124
|
+
color: var(--st-cms-navy);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/* Outlined second button on the brand fill: white text and border, 5.8:1 on the default accent
|
|
128
|
+
(#3557E0), so both clear WCAG AA. */
|
|
129
|
+
:host([variant='accent']) .cta.secondary {
|
|
130
|
+
color: var(--st-cms-on-dark);
|
|
131
|
+
border-color: var(--st-cms-on-dark);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
:host([variant='accent']) .cta.secondary:hover {
|
|
135
|
+
background: color-mix(in oklch, var(--st-cms-on-dark) 14%, transparent);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
:host([inverted]) {
|
|
139
|
+
background-color: var(--st-color-subtle);
|
|
140
|
+
color: var(--st-color-text-strong);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.container {
|
|
144
|
+
max-width: 800px;
|
|
145
|
+
margin: 0 auto;
|
|
146
|
+
display: flex;
|
|
147
|
+
flex-direction: column;
|
|
148
|
+
align-items: center;
|
|
149
|
+
gap: var(--st-space-32);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.title {
|
|
153
|
+
${sectionTitleStyles}
|
|
154
|
+
color: inherit;
|
|
155
|
+
margin: 0;
|
|
156
|
+
letter-spacing: -0.02em;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.subtitle {
|
|
160
|
+
${sectionSubtitleStyles}
|
|
161
|
+
color: inherit;
|
|
162
|
+
opacity: 0.8;
|
|
163
|
+
margin: 0;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.actions {
|
|
167
|
+
display: flex;
|
|
168
|
+
flex-wrap: wrap;
|
|
169
|
+
justify-content: center;
|
|
170
|
+
gap: var(--st-space-12);
|
|
171
|
+
margin-top: var(--st-space-16);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.cta {
|
|
175
|
+
${buttonResetStyles}
|
|
176
|
+
${ctaLinkStyles}
|
|
177
|
+
border: 1px solid currentColor;
|
|
178
|
+
color: inherit;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.cta:hover {
|
|
182
|
+
transform: scale(1.05);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.cta:focus-visible {
|
|
186
|
+
outline: var(--st-focus-ring);
|
|
187
|
+
outline-offset: 2px;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/* The buttons and the cta-note share one column: the note sits under the buttons, centred in the
|
|
191
|
+
stack layout and left-aligned with the first button in the inline layout. */
|
|
192
|
+
.cta-group {
|
|
193
|
+
display: flex;
|
|
194
|
+
flex-direction: column;
|
|
195
|
+
align-items: center;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.cta-note {
|
|
199
|
+
display: inline-flex;
|
|
200
|
+
align-items: center;
|
|
201
|
+
gap: 6px;
|
|
202
|
+
margin: 8px 0 0;
|
|
203
|
+
font-size: 14px;
|
|
204
|
+
font-weight: 500;
|
|
205
|
+
line-height: 1.4;
|
|
206
|
+
color: var(--st-promo-banner-cta-note-color, color-mix(in oklch, currentColor 85%, transparent));
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
.cta-note svg,
|
|
210
|
+
.cta-note iconify-icon {
|
|
211
|
+
flex: none;
|
|
212
|
+
width: 14px;
|
|
213
|
+
height: 14px;
|
|
214
|
+
font-size: 14px;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/* layout="inline": copy left, buttons right, one row that wraps. */
|
|
218
|
+
:host([layout='inline']) {
|
|
219
|
+
padding: var(--st-promo-banner-padding, 56px 48px) !important;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/* The inline band is the content width (container max, 1200px), not 48px narrower; below that
|
|
223
|
+
width it keeps the 24px gutter on each side. */
|
|
224
|
+
@media (min-width: 1248px) {
|
|
225
|
+
:host([layout='inline']) {
|
|
226
|
+
width: 100%;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
:host([layout='inline']) .container {
|
|
231
|
+
max-width: none;
|
|
232
|
+
flex-direction: row;
|
|
233
|
+
flex-wrap: wrap;
|
|
234
|
+
justify-content: space-between;
|
|
235
|
+
align-items: center;
|
|
236
|
+
gap: var(--st-space-24) var(--st-space-32);
|
|
237
|
+
text-align: left;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
:host([layout='inline']) .copy {
|
|
241
|
+
display: flex;
|
|
242
|
+
flex: 1 1 420px;
|
|
243
|
+
flex-direction: column;
|
|
244
|
+
align-items: flex-start;
|
|
245
|
+
gap: var(--st-space-16);
|
|
246
|
+
min-width: 0;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
:host([layout='inline']) .title,
|
|
250
|
+
:host([layout='inline']) .subtitle {
|
|
251
|
+
margin: 0;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
:host([layout='inline']) .cta-group {
|
|
255
|
+
flex: 0 1 auto;
|
|
256
|
+
align-items: flex-start;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
:host([layout='inline']) .actions {
|
|
260
|
+
flex: 0 1 auto;
|
|
261
|
+
justify-content: flex-end;
|
|
262
|
+
margin-top: 0;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
/* The inline accent banner is the brand navy (the design's closing band). */
|
|
266
|
+
:host([layout='inline'][variant='accent']) {
|
|
267
|
+
background-color: var(--st-cms-brand-navy, var(--st-color-accent));
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
:host([layout='inline'][variant='accent']) .subtitle {
|
|
271
|
+
color: var(--st-cms-primary-100, var(--st-cms-on-dark));
|
|
272
|
+
opacity: 1;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/* Inline buttons (and buttonStyle="pill" on any layout) are 52px pills. */
|
|
276
|
+
:host([layout='inline']) .cta,
|
|
277
|
+
:host([button-style='pill']) .cta {
|
|
278
|
+
${ctaPillStyles}
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
:host([layout='inline']) .cta {
|
|
282
|
+
font-size: 17px;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
:host([layout='inline'][variant='accent']) .cta:not(.secondary) {
|
|
286
|
+
background: var(--st-cms-on-dark);
|
|
287
|
+
color: var(--st-cms-navy);
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
:host([layout='inline'][variant='accent']) .cta.secondary {
|
|
291
|
+
padding: 0 24px;
|
|
292
|
+
background: transparent;
|
|
293
|
+
color: var(--st-cms-on-dark);
|
|
294
|
+
border: 1px solid var(--st-cms-primary-400);
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
:host([button-style='pill'][variant='accent']) .cta:not(.secondary) {
|
|
298
|
+
background: var(--st-cms-on-dark);
|
|
299
|
+
color: var(--st-cms-navy);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
:host([button-style='pill']) .cta.secondary {
|
|
303
|
+
padding: 0 24px;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
@media (max-width: 768px) {
|
|
307
|
+
:host {
|
|
308
|
+
width: auto;
|
|
309
|
+
margin: var(--st-promo-banner-margin, var(--st-space-24)) !important;
|
|
310
|
+
padding: var(--st-promo-banner-padding, 60px var(--st-space-24)) !important;
|
|
311
|
+
border-radius: var(--st-radius-lg);
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
:host([layout='inline']) {
|
|
315
|
+
padding: var(--st-promo-banner-padding, var(--st-space-24)) !important;
|
|
316
|
+
}
|
|
317
|
+
.actions {
|
|
318
|
+
flex-direction: column;
|
|
319
|
+
align-items: stretch;
|
|
320
|
+
}
|
|
321
|
+
.cta {
|
|
322
|
+
width: 100%;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
@media (prefers-reduced-motion: reduce) {
|
|
327
|
+
.cta {
|
|
328
|
+
transition: none;
|
|
329
|
+
}
|
|
330
|
+
} `;
|
|
331
|
+
__decorateClass([
|
|
332
|
+
property({ type: String })
|
|
333
|
+
], PromoBanner.prototype, "title", 2);
|
|
334
|
+
__decorateClass([
|
|
335
|
+
property({ type: String })
|
|
336
|
+
], PromoBanner.prototype, "subtitle", 2);
|
|
337
|
+
__decorateClass([
|
|
338
|
+
property({ type: String, attribute: "action-label" })
|
|
339
|
+
], PromoBanner.prototype, "actionLabel", 2);
|
|
340
|
+
__decorateClass([
|
|
341
|
+
property({ type: String, attribute: "action-label-short" })
|
|
342
|
+
], PromoBanner.prototype, "actionLabelShort", 2);
|
|
343
|
+
__decorateClass([
|
|
344
|
+
property({ type: String, attribute: "secondary-action-label-short" })
|
|
345
|
+
], PromoBanner.prototype, "secondaryActionLabelShort", 2);
|
|
346
|
+
__decorateClass([
|
|
347
|
+
property({ type: String })
|
|
348
|
+
], PromoBanner.prototype, "href", 2);
|
|
349
|
+
__decorateClass([
|
|
350
|
+
property({ type: String, attribute: "image-src" })
|
|
351
|
+
], PromoBanner.prototype, "imageSrc", 2);
|
|
352
|
+
__decorateClass([
|
|
353
|
+
property({ type: String, attribute: "secondary-action-label" })
|
|
354
|
+
], PromoBanner.prototype, "secondaryActionLabel", 2);
|
|
355
|
+
__decorateClass([
|
|
356
|
+
property({ type: String, attribute: "secondary-href" })
|
|
357
|
+
], PromoBanner.prototype, "secondaryHref", 2);
|
|
358
|
+
__decorateClass([
|
|
359
|
+
property({ type: String, reflect: true })
|
|
360
|
+
], PromoBanner.prototype, "variant", 2);
|
|
361
|
+
__decorateClass([
|
|
362
|
+
property({ type: Boolean, reflect: true })
|
|
363
|
+
], PromoBanner.prototype, "inverted", 2);
|
|
364
|
+
__decorateClass([
|
|
365
|
+
property({ type: String, reflect: true })
|
|
366
|
+
], PromoBanner.prototype, "layout", 2);
|
|
367
|
+
__decorateClass([
|
|
368
|
+
property({ type: String, reflect: true, attribute: "button-style" })
|
|
369
|
+
], PromoBanner.prototype, "buttonStyle", 2);
|
|
370
|
+
__decorateClass([
|
|
371
|
+
property({ type: String, attribute: "cta-note" })
|
|
372
|
+
], PromoBanner.prototype, "ctaNote", 2);
|
|
373
|
+
__decorateClass([
|
|
374
|
+
property({ type: String, attribute: "cta-note-icon" })
|
|
375
|
+
], PromoBanner.prototype, "ctaNoteIcon", 2);
|
|
376
|
+
PromoBanner = __decorateClass([
|
|
377
|
+
customElement("st-promo-banner")
|
|
378
|
+
], PromoBanner);
|
|
379
|
+
|
|
380
|
+
export {
|
|
381
|
+
PromoBanner
|
|
382
|
+
};
|
|
383
|
+
//# sourceMappingURL=chunk-EW2RK5Y6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/promo-banner/PromoBanner.ts"],"sourcesContent":["import { LitElement, css, html, nothing, svg } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport 'iconify-icon';\n\nimport { buttonResetStyles, controlBaseStyles, ctaPillStyles, rootFontFamilyStyles } from '../shared/styles';\nimport { ctaLinkStyles, sectionSubtitleStyles, sectionTitleStyles } from '../shared/section-styles';\nimport { ctaAriaLabel, ctaLabelStyles, renderCtaLabel } from '../shared/cta-label';\nimport { externalLinkAttrs, externalLinkExtras, isExternalHref } from '../shared/external-link';\nimport type { HeroActionEventDetail } from '../hero/HeroEvents';\n\n/* Same small padlock as st-hero's cta-note, so the note never reads as a list tick. */\nconst CTA_NOTE_ICON = svg`<svg viewBox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" focusable=\"false\"><rect x=\"5\" y=\"11\" width=\"14\" height=\"10\" rx=\"2\"/><path d=\"M8 11V8a4 4 0 0 1 8 0v3\"/></svg>`;\n\n/**\n * Rounded call-to-action banner (title, subtitle, one or two outlined buttons) on a dark panel or a\n * background image. A button with an `href` is a real link (`<a href>`): the browser follows it\n * unless the `action` event is cancelled, so external URLs, `#anchors` and `/path?x=y` work without\n * JavaScript. A button without an `href` is a `<button>`. `variant=\"accent\"` fills the banner with\n * the brand colour.\n *\n * `cta-note` is a short line with a small padlock under the buttons (e.g. \"No credit card needed\"). In the\n * inline layout it sits under the buttons in the right-hand group, left-aligned with the first button.\n *\n * `layout=\"inline\"` sets the copy on the left and the buttons on the right of one row (wrapping on\n * small screens), with 56px/48px padding (24px on phones). Its buttons are 52px pills; with\n * `variant=\"accent\"` the first is a white pill with navy text and the second a transparent pill with\n * a light blue outline. `button-style=\"pill\"` gives the buttons the same pill shape in the default\n * `stack` layout, which is otherwise unchanged.\n *\n * @fires action - Cancelable, before following the link. Detail `{ href, kind? }`. `kind` is `secondary` for the second button only.\n * @cssprop --st-promo-banner-margin - Overrides the banner's margin.\n * @cssprop --st-promo-banner-padding - Overrides the banner's padding.\n * @cssprop --st-promo-banner-cta-note-color - Colour of the `cta-note` line (default `currentColor` at 85%).\n * @csspart action - The primary button (`<a>` with an `href`, `<button>` without).\n * @csspart secondary-action - The second button.\n * @csspart cta-note - The small line with a padlock under the buttons (`cta-note`).\n */\n@customElement('st-promo-banner')\nexport class PromoBanner extends LitElement {\n static styles = css`\n ${ctaLabelStyles}\n ${controlBaseStyles}\n\n :host {\n display: block;\n box-sizing: border-box;\n width: calc(100% - 48px);\n max-width: var(--st-cms-container-max);\n /* !important: a page-level reset (e.g. Tailwind Preflight) otherwise zeroes a shadow host's\n margin/padding; override with --st-promo-banner-margin/-padding instead. */\n margin: var(--st-promo-banner-margin, var(--st-space-40) auto) !important;\n padding: var(--st-promo-banner-padding, 100px var(--st-space-24)) !important;\n border-radius: var(--st-space-24);\n background-color: var(--st-color-text-strong);\n background-size: cover;\n background-position: center;\n color: var(--st-color-on-solid);\n text-align: center;\n ${rootFontFamilyStyles}\n }\n\n :host([variant='accent']) {\n background-color: var(--st-color-accent);\n color: var(--st-cms-on-dark);\n }\n\n :host([variant='accent']) .cta:not(.secondary) {\n background: var(--st-cms-on-dark);\n border-color: transparent;\n color: var(--st-cms-navy);\n }\n\n /* Outlined second button on the brand fill: white text and border, 5.8:1 on the default accent\n (#3557E0), so both clear WCAG AA. */\n :host([variant='accent']) .cta.secondary {\n color: var(--st-cms-on-dark);\n border-color: var(--st-cms-on-dark);\n }\n\n :host([variant='accent']) .cta.secondary:hover {\n background: color-mix(in oklch, var(--st-cms-on-dark) 14%, transparent);\n }\n\n :host([inverted]) {\n background-color: var(--st-color-subtle);\n color: var(--st-color-text-strong);\n }\n\n .container {\n max-width: 800px;\n margin: 0 auto;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--st-space-32);\n }\n\n .title {\n ${sectionTitleStyles}\n color: inherit;\n margin: 0;\n letter-spacing: -0.02em;\n }\n\n .subtitle {\n ${sectionSubtitleStyles}\n color: inherit;\n opacity: 0.8;\n margin: 0;\n }\n\n .actions {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: var(--st-space-12);\n margin-top: var(--st-space-16);\n }\n\n .cta {\n ${buttonResetStyles}\n ${ctaLinkStyles}\n border: 1px solid currentColor;\n color: inherit;\n }\n\n .cta:hover {\n transform: scale(1.05);\n }\n\n .cta:focus-visible {\n outline: var(--st-focus-ring);\n outline-offset: 2px;\n }\n\n /* The buttons and the cta-note share one column: the note sits under the buttons, centred in the\n stack layout and left-aligned with the first button in the inline layout. */\n .cta-group {\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n .cta-note {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n margin: 8px 0 0;\n font-size: 14px;\n font-weight: 500;\n line-height: 1.4;\n color: var(--st-promo-banner-cta-note-color, color-mix(in oklch, currentColor 85%, transparent));\n }\n\n .cta-note svg,\n .cta-note iconify-icon {\n flex: none;\n width: 14px;\n height: 14px;\n font-size: 14px;\n }\n\n /* layout=\"inline\": copy left, buttons right, one row that wraps. */\n :host([layout='inline']) {\n padding: var(--st-promo-banner-padding, 56px 48px) !important;\n }\n\n /* The inline band is the content width (container max, 1200px), not 48px narrower; below that\n width it keeps the 24px gutter on each side. */\n @media (min-width: 1248px) {\n :host([layout='inline']) {\n width: 100%;\n }\n }\n\n :host([layout='inline']) .container {\n max-width: none;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: center;\n gap: var(--st-space-24) var(--st-space-32);\n text-align: left;\n }\n\n :host([layout='inline']) .copy {\n display: flex;\n flex: 1 1 420px;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--st-space-16);\n min-width: 0;\n }\n\n :host([layout='inline']) .title,\n :host([layout='inline']) .subtitle {\n margin: 0;\n }\n\n :host([layout='inline']) .cta-group {\n flex: 0 1 auto;\n align-items: flex-start;\n }\n\n :host([layout='inline']) .actions {\n flex: 0 1 auto;\n justify-content: flex-end;\n margin-top: 0;\n }\n\n /* The inline accent banner is the brand navy (the design's closing band). */\n :host([layout='inline'][variant='accent']) {\n background-color: var(--st-cms-brand-navy, var(--st-color-accent));\n }\n\n :host([layout='inline'][variant='accent']) .subtitle {\n color: var(--st-cms-primary-100, var(--st-cms-on-dark));\n opacity: 1;\n }\n\n /* Inline buttons (and buttonStyle=\"pill\" on any layout) are 52px pills. */\n :host([layout='inline']) .cta,\n :host([button-style='pill']) .cta {\n ${ctaPillStyles}\n }\n\n :host([layout='inline']) .cta {\n font-size: 17px;\n }\n\n :host([layout='inline'][variant='accent']) .cta:not(.secondary) {\n background: var(--st-cms-on-dark);\n color: var(--st-cms-navy);\n }\n\n :host([layout='inline'][variant='accent']) .cta.secondary {\n padding: 0 24px;\n background: transparent;\n color: var(--st-cms-on-dark);\n border: 1px solid var(--st-cms-primary-400);\n }\n\n :host([button-style='pill'][variant='accent']) .cta:not(.secondary) {\n background: var(--st-cms-on-dark);\n color: var(--st-cms-navy);\n }\n\n :host([button-style='pill']) .cta.secondary {\n padding: 0 24px;\n }\n\n @media (max-width: 768px) {\n :host {\n width: auto;\n margin: var(--st-promo-banner-margin, var(--st-space-24)) !important;\n padding: var(--st-promo-banner-padding, 60px var(--st-space-24)) !important;\n border-radius: var(--st-radius-lg);\n }\n\n :host([layout='inline']) {\n padding: var(--st-promo-banner-padding, var(--st-space-24)) !important;\n }\n .actions {\n flex-direction: column;\n align-items: stretch;\n }\n .cta {\n width: 100%;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .cta {\n transition: none;\n }\n } `;\n\n @property({ type: String })\n title = '';\n\n @property({ type: String })\n subtitle = '';\n\n @property({ type: String, attribute: 'action-label' })\n actionLabel = '';\n\n /** Shorter `action-label` for phones (< 480px); the full label stays the accessible name. */\n @property({ type: String, attribute: 'action-label-short' })\n actionLabelShort = '';\n\n /** Shorter `secondary-action-label` for phones (< 480px). */\n @property({ type: String, attribute: 'secondary-action-label-short' })\n secondaryActionLabelShort = '';\n\n /** Target of the first button. With a value the button is a link; the `action` event can cancel the navigation. */\n @property({ type: String })\n href = '';\n\n @property({ type: String, attribute: 'image-src' })\n imageSrc = '';\n\n /** Label of a second, outlined button next to the first. */\n @property({ type: String, attribute: 'secondary-action-label' })\n secondaryActionLabel = '';\n\n /** Target of the second button, sent in the `action` event detail. */\n @property({ type: String, attribute: 'secondary-href' })\n secondaryHref = '';\n\n /** `default` is the dark panel; `accent` fills the banner with the brand colour and makes the first button white. */\n @property({ type: String, reflect: true })\n variant: 'default' | 'accent' = 'default';\n\n @property({ type: Boolean, reflect: true })\n inverted = false;\n\n /** `stack` (default) centres the copy above the buttons; `inline` puts the buttons beside the copy. */\n @property({ type: String, reflect: true })\n layout: 'stack' | 'inline' = 'stack';\n\n /** `default` keeps the plain buttons; `pill` gives them the 52px pill shape (`inline` always uses pills). */\n @property({ type: String, reflect: true, attribute: 'button-style' })\n buttonStyle: 'default' | 'pill' = 'default';\n\n /** Short line with a small check under the buttons (e.g. \"No credit card needed\"). Empty hides it. */\n @property({ type: String, attribute: 'cta-note' })\n ctaNote = '';\n\n /** Iconify icon for the `cta-note` line (e.g. `mdi:open-source-initiative`). Empty keeps the padlock. */\n @property({ type: String, attribute: 'cta-note-icon' })\n ctaNoteIcon = '';\n\n protected willUpdate(): void {\n this.style.backgroundImage = this.imageSrc ? `url(${JSON.stringify(this.imageSrc)})` : '';\n }\n\n /** Fires the cancelable `action` event; a cancelled click keeps the page where it is. */\n private emitAction(event: MouseEvent, detail: HeroActionEventDetail): void {\n const action = new CustomEvent<HeroActionEventDetail>('action', { detail, bubbles: true, composed: true, cancelable: true });\n this.dispatchEvent(action);\n if (action.defaultPrevented) event.preventDefault();\n }\n\n private renderCta(label: string, href: string, secondary: boolean) {\n const className = secondary ? 'cta secondary' : 'cta';\n const part = secondary ? 'secondary-action' : 'action';\n const detail: HeroActionEventDetail = secondary ? { href, kind: 'secondary' } : { href };\n const onClick = (event: MouseEvent) => this.emitAction(event, detail);\n const { target, rel } = externalLinkAttrs(href);\n const short = secondary ? this.secondaryActionLabelShort : this.actionLabelShort;\n const text = renderCtaLabel(label, short);\n const ariaLabel = ctaAriaLabel(label, short, isExternalHref(href) ? ' (opens in new tab)' : '');\n return href\n ? html`<a class=${className} part=${part} href=${href} target=${target} rel=${rel} aria-label=${ariaLabel} @click=${onClick}\n >${text}${externalLinkExtras(href)}</a\n >`\n : html`<button class=${className} part=${part} type=\"button\" aria-label=${ariaLabel} @click=${onClick}>${text}</button>`;\n }\n\n private renderCopy() {\n return html`\n <h2 class=\"title\" part=\"title\">${this.title}</h2>\n ${this.subtitle ? html`<p class=\"subtitle\" part=\"subtitle\">${this.subtitle}</p>` : nothing}\n <slot></slot>\n `;\n }\n\n render() {\n return html`\n <div class=\"container\" part=\"container\">\n ${this.layout === 'inline'\n ? html`<div class=\"copy\" part=\"copy\">${this.renderCopy()}</div>`\n : this.renderCopy()}\n ${this.actionLabel || this.secondaryActionLabel || this.ctaNote\n ? html`<div class=\"cta-group\">\n ${this.actionLabel || this.secondaryActionLabel\n ? html`<div class=\"actions\" part=\"actions\">\n ${this.actionLabel ? this.renderCta(this.actionLabel, this.href, false) : nothing}\n ${this.secondaryActionLabel ? this.renderCta(this.secondaryActionLabel, this.secondaryHref, true) : nothing}\n </div>`\n : nothing}\n ${this.ctaNote\n ? html`<p class=\"cta-note\" part=\"cta-note\">${this.ctaNoteIcon\n ? html`<iconify-icon icon=${this.ctaNoteIcon} aria-hidden=\"true\"></iconify-icon>`\n : CTA_NOTE_ICON}<span>${this.ctaNote}</span></p>`\n : nothing}\n </div>`\n : nothing}\n </div>\n `;\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
controlBaseStyles,
|
|
7
7
|
eyebrowLabelStyles,
|
|
8
8
|
fontFamilyStyles
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-NXUS2CH7.js";
|
|
10
10
|
import {
|
|
11
11
|
__decorateClass
|
|
12
12
|
} from "./chunk-EUXUH3YW.js";
|
|
@@ -265,4 +265,4 @@ Select = __decorateClass([
|
|
|
265
265
|
export {
|
|
266
266
|
Select
|
|
267
267
|
};
|
|
268
|
-
//# sourceMappingURL=chunk-
|
|
268
|
+
//# sourceMappingURL=chunk-EZOKT7NJ.js.map
|