@codeforamerica/marcomms-design-system 1.21.1 → 1.22.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.
Files changed (59) hide show
  1. package/README.md +25 -0
  2. package/dist/components/accordion.js +1 -159
  3. package/dist/components/avatar.js +1 -102
  4. package/dist/components/bar.js +1 -121
  5. package/dist/components/blob.js +1 -132
  6. package/dist/components/box.js +1 -111
  7. package/dist/components/breadcrumbs.js +1 -111
  8. package/dist/components/button.js +1 -158
  9. package/dist/components/callout.js +1 -134
  10. package/dist/components/card.js +1 -876
  11. package/dist/components/carousel.js +1 -290
  12. package/dist/components/icon.js +1 -90
  13. package/dist/components/label.js +1 -501
  14. package/dist/components/logo-card.js +1 -517
  15. package/dist/components/nav.js +1 -128
  16. package/dist/components/page-nav.js +1 -162
  17. package/dist/components/pager.js +1 -710
  18. package/dist/components/pagination.js +1 -302
  19. package/dist/components/person-card.js +1 -867
  20. package/dist/components/pill.js +1 -79
  21. package/dist/components/placeholder.js +1 -11
  22. package/dist/components/promo.js +1 -539
  23. package/dist/components/pullquote.js +1 -88
  24. package/dist/components/quote.js +1 -154
  25. package/dist/components/reveal.js +1 -141
  26. package/dist/components/slide.js +1 -156
  27. package/dist/components/social-icon.js +1 -239
  28. package/dist/components/stat.js +1 -510
  29. package/dist/components/tab-list.js +1 -691
  30. package/dist/components/tab.js +1 -497
  31. package/dist/components/tile.js +1 -665
  32. package/dist/components/transcript.js +1 -486
  33. package/dist/index.css +1 -1
  34. package/dist/index.js +1 -2951
  35. package/dist/styles.css +1 -1
  36. package/package.json +42 -28
  37. package/src/components/accordion.js +18 -8
  38. package/src/components/accordion.test.js +78 -0
  39. package/src/components/button.stories.js +7 -3
  40. package/src/components/carousel.a11y.test.js +75 -0
  41. package/src/components/carousel.stories.js +48 -1
  42. package/src/components/carousel.test.js +177 -0
  43. package/src/components/form-elements.stories.js +8 -2
  44. package/src/components/label.test.js +44 -0
  45. package/src/components/link-list.scss +1 -1
  46. package/src/components/nav.test.js +50 -0
  47. package/src/components/pagination.test.js +67 -0
  48. package/src/components/person-card.js +2 -0
  49. package/src/components/pullquote.test.js +44 -0
  50. package/src/components/quote.test.js +47 -0
  51. package/src/components/reveal.test.js +61 -0
  52. package/src/components/slide.stories.js +0 -4
  53. package/src/components/tab-list.a11y.test.js +87 -0
  54. package/src/components/tab-list.js +35 -3
  55. package/src/components/tab-list.stories.js +36 -0
  56. package/src/components/tab-list.test.js +134 -0
  57. package/src/components/tab.js +23 -15
  58. package/src/components/transcript.js +2 -2
  59. package/src/components/transcript.test.js +53 -0
@@ -1,502 +1,2 @@
1
1
  /*! For license information please see label.js.LICENSE.txt */
2
- (()=>{"use strict";var t={601(t,e,i){i.d(e,{s:()=>s});const s=i(161).AH`
3
- *:focus-visible,
4
- *:target {
5
- outline: var(--focus-outline);
6
- position: relative;
7
- }
8
-
9
- // RESET
10
-
11
- // Use a more-intuitive box-sizing model.
12
- *, *::before, *::after {
13
- box-sizing: border-box;
14
- }
15
-
16
- // Remove default margin
17
- * {
18
- margin: 0;
19
- }
20
-
21
- // Set default text-wrap of 'pretty'
22
- * {
23
- text-wrap: pretty;
24
- }
25
-
26
- // Wrap overly long words
27
- * {
28
- overflow-wrap: break-word;
29
- text-overflow: ellipsis;
30
- word-break: break-word;
31
- }
32
-
33
- // Fix Safari antialiasing for variable fonts
34
- * {
35
- font-synthesis: none !important;
36
- }
37
-
38
- // Improve text rendering
39
- body {
40
- -webkit-font-smoothing: antialiased;
41
- }
42
-
43
- // Reasonable media defaults
44
- img, picture, video, canvas, svg {
45
- display: block;
46
- height: auto;
47
- max-width: 100%;
48
- }
49
-
50
- // Remove built-in form typography styles
51
- input, button, textarea, select {
52
- font: inherit;
53
- }
54
-
55
- // Avoid text overflows
56
- p, h1, h2, h3, h4, h5, h6 {
57
- overflow-wrap: break-word;
58
- }
59
-
60
- // Create a root stacking context
61
- #root, #__next {
62
- isolation: isolate;
63
- }
64
- `},205(t,e,i){i.d(e,{g:()=>s});const s=i(161).AH`
65
- // =====
66
-
67
- // Typography spacing
68
-
69
- // Add a single space around paragraphs, blockquotes, and lists
70
- p, ul, ol, blockquote {
71
- & + * {
72
- margin-block-start: var(--spacing, var(--spacing-layout-1, 1.5rem));
73
- }
74
- * + & {
75
- margin-block-start: var(--spacing, var(--spacing-layout-1, 1.5rem));
76
- }
77
- }
78
-
79
- h1, h2, h3, h4, .h1, .h2, .h3, .h4, .display-1, .display-2 {
80
- // Add a single line space after headings
81
- & + * {
82
- margin-block-start: var(--spacing, var(--spacing-layout-1, 1.5rem));
83
- }
84
-
85
- // Add two line spaces before headings
86
- * + & {
87
- --spacing: var(--spacing-layout-2);
88
-
89
- margin-block-start: --spacing;
90
- }
91
-
92
- // Only add a single space between headings and other headings
93
- & + & {
94
- --spacing: var(--spacing-layout-1);
95
- }
96
-
97
- // Reduce space after breadcrumbs and eyebrows
98
- cfa-breadcrumbs + & {
99
- margin-block-start: var(--spacing-layout-half) !important;
100
- }
101
-
102
- .eyebrow + & {
103
- margin-block-start: 0 !important;
104
- }
105
- }
106
-
107
- h1, .h1, .display-1, .display-2 {
108
- text-wrap: balance;
109
- }
110
-
111
- // =====
112
-
113
- // Font styles
114
-
115
- .regular {
116
- font-family: var(--font-family-base);
117
- font-size: var(--font-size);
118
- line-height: var(--line-height);
119
- }
120
-
121
- .display-1 {
122
- font-family: var(--font-family-heading);
123
- font-size: var(--font-size-display-1);
124
- font-weight: bold;
125
- line-height: var(--line-height-display-1);
126
- letter-spacing: var(--letter-spacing-display-1);
127
- }
128
-
129
- .display-2 {
130
- font-family: var(--font-family-heading);
131
- font-size: var(--font-size-display-2);
132
- font-weight: bold;
133
- line-height: var(--line-height-display-2);
134
- letter-spacing: var(--letter-spacing-display-2);
135
- }
136
-
137
- h1,
138
- .h1 {
139
- font-family: var(--font-family-heading);
140
- font-size: var(--font-size-h1);
141
- font-weight: bold;
142
- line-height: var(--line-height-h1);
143
- letter-spacing: var(--letter-spacing-h1);
144
- }
145
-
146
- h2,
147
- .h2 {
148
- font-family: var(--font-family-heading);
149
- font-size: var(--font-size-h2);
150
- font-weight: bold;
151
- line-height: var(--line-height-h2);
152
- letter-spacing: var(--letter-spacing-h2);
153
- }
154
-
155
- h3,
156
- .h3 {
157
- font-family: var(--font-family-heading);
158
- font-size: var(--font-size-h3);
159
- font-weight: bold;
160
- line-height: var(--line-height-h3);
161
- letter-spacing: var(--letter-spacing-h3);
162
- }
163
-
164
- h4,
165
- .h4 {
166
- font-family: var(--font-family-heading);
167
- font-size: var(--font-size-h4);
168
- font-weight: bold;
169
- line-height: var(--line-height-h4);
170
- letter-spacing: var(--letter-spacing-h4);
171
- }
172
-
173
- .extra-large {
174
- font-size: var(--font-size-extra-large);
175
- line-height: var(--line-height-extra-large);
176
- letter-spacing: var(--letter-spacing-extra-large);
177
- }
178
-
179
- .large {
180
- font-size: var(--font-size-large);
181
- line-height: var(--line-height-large);
182
- letter-spacing: var(--letter-spacing-large);
183
- }
184
-
185
- .small {
186
- font-size: var(--font-size-small);
187
- line-height: var(--line-height-small);
188
- letter-spacing: var(--letter-spacing-small);
189
- }
190
-
191
- .eyebrow {
192
- font-family: var(--font-family-sans-serif);
193
- font-size: var(--font-size-eyebrow);
194
- font-weight: var(--font-weight-eyebrow);
195
- letter-spacing: var(--letter-spacing-eyebrow);
196
- line-height: var(--line-height-eyebrow);
197
- text-transform: uppercase;
198
- }
199
-
200
- .eyebrow-with-line {
201
- align-items: center;
202
- color: var(--text-color);
203
- display: flex;
204
- font-family: var(--font-family-eyebrow);
205
- font-size: var(--font-size-eyebrow);
206
- font-weight: var(--font-weight-eyebrow);
207
- letter-spacing: var(--letter-spacing-eyebrow);
208
- line-height: var(--line-height-eyebrow);
209
- margin-block-end: var(--spacing-layout-half);
210
- position: relative;
211
- text-transform: uppercase;
212
-
213
- &::after {
214
- border-block-end: var(--hairline) solid currentColor;
215
- content: "";
216
- flex-grow: 1;
217
- margin-left: var(--spacing-component-3);
218
- }
219
- }
220
-
221
- .subtle {
222
- opacity: 0.6;
223
- }
224
-
225
- .serif {
226
- font-family: var(--font-family-serif);
227
- }
228
-
229
- .sans-serif {
230
- font-family: var(--font-family-sans-serif);
231
- }
232
-
233
- i,
234
- em,
235
- .italic {
236
- font-style: italic;
237
- }
238
-
239
- b,
240
- strong,
241
- .strong {
242
- font-weight: bold;
243
- }
244
-
245
- .normal {
246
- font-weight: normal;
247
- }
248
-
249
- .balance {
250
- text-wrap: balance;
251
- }
252
-
253
- .prominent-link,
254
- a.prominent-link {
255
- --accent-color: var(--purple-60);
256
-
257
- font-weight: bold;
258
- text-decoration: underline;
259
- text-decoration-color: var(--accent-color);
260
- text-decoration-thickness: var(--medium);
261
- text-underline-offset: 0.4em;
262
- transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
263
-
264
- &:hover {
265
- --accent-color: var(--red-60);
266
- }
267
-
268
- &:not(:has(cfa-icon))::after {
269
- @include icon.icon;
270
-
271
- content: "arrow_right_alt";
272
- display: inline-block;
273
- padding-inline-start: 0.1em;
274
- text-decoration: none;
275
- transition: padding 0.2s ease-in-out;
276
- width: 1em;
277
- }
278
-
279
- &:not(:has(cfa-icon)):hover::after {
280
- padding-inline-start: 0.3em;
281
- }
282
-
283
- cfa-icon {
284
- text-decoration: none;
285
- }
286
- }
287
-
288
- .white-text,
289
- .text-light /* fallback */ {
290
- -moz-osx-font-smoothing: grayscale; // Sharper antialising for white text on a dark background
291
- -webkit-font-smoothing: antialiased; // Sharper antialising for white text on a dark background
292
- color: var(--white);
293
- --link-color: var(--white);
294
- --link-hover-color: var(--white);
295
- }
296
-
297
- // =====
298
-
299
- // Highlights
300
-
301
- .highlight {
302
- --highlight-offset: 0.2em;
303
-
304
- box-decoration-break: clone;
305
- display: inline;
306
- background: linear-gradient(to top, transparent 0%, transparent var(--highlight-offset), var(--highlight-color) var(--highlight-offset), var(--highlight-color) calc(var(--highlight-offset) + var(--highlight-thickness)), transparent calc(var(--highlight-offset) + var(--highlight-thickness)), transparent 100%);
307
- padding-inline: 0.1em;
308
- -webkit-box-decoration-break: clone;
309
- margin-inline-start: -0.1em;
310
- margin-inline-end: -0.1em;
311
- word-wrap: break-word;
312
- }
313
-
314
- // ======
315
-
316
- // Lists
317
-
318
- .ul {
319
- list-style-type: disc;
320
- padding-left: var(--spacing-layout-1);
321
- }
322
-
323
- .ul > li {
324
- margin-inline-start: 0;
325
- padding-left: var(--spacing-component-2);
326
- }
327
-
328
- .ul > li + li {
329
- margin-block-start: var(--spacing-layout-half);
330
- }
331
-
332
- .ul > li > ul {
333
- margin-block-start: var(--spacing-layout-half);
334
- }
335
-
336
- .ol {
337
- list-style-type: decimal;
338
- padding-left: var(--spacing-layout-1);
339
- }
340
-
341
- .ol > li {
342
- margin-inline-start: 0;
343
- padding-inline-start: var(--spacing-component-2);
344
- }
345
-
346
- .ol > li + li {
347
- margin-block-start: var(--spacing-layout-half);
348
- }
349
-
350
- .ol > li > ul {
351
- margin-block-start: var(--spacing-layout-half);
352
- }
353
-
354
- .ul--unstyled {
355
- list-style: none;
356
- padding: 0;
357
- }
358
-
359
- .ul--unstyled > li {
360
- margin-inline: 0;
361
- padding: 0;
362
- }
363
-
364
- .ul--line-separators > li + li::before {
365
- border-block-start: 1px solid var(--gray-20);
366
- content: "";
367
- display: block;
368
- margin-block: var(--spacing-layout-half);
369
- width: 100%;
370
- }
371
-
372
- .ul--inline,
373
- .ul--inline-with-separators,
374
- .ul--inline-with-line-separators {
375
- display: inline;
376
- list-style: none;
377
- padding-inline: 0 !important;
378
- padding-left: 0 !important;
379
- }
380
-
381
- .ul--inline > li,
382
- .ul--inline-with-separators > li,
383
- .ul--inline-with-line-separators > li {
384
- display: inline-block;
385
- margin-inline-end: var(--spacing-component-3);
386
- padding: 0 !important;
387
- }
388
-
389
- .ul--inline li:last-child,
390
- .ul--inline-with-separators li:last-child,
391
- .ul--inline-with-line-separators li:last-child {
392
- margin-inline-end: 0;
393
- }
394
-
395
- .ul--inline > li + li,
396
- .ul--inline-with-separators > li + li,
397
- .ul--inline-with-line-separators > li + li {
398
- margin-block-start: 0;
399
- }
400
-
401
- .ul--inline-with-separators li,
402
- .ul--inline-with-line-separators li {
403
- margin-inline-end: 0;
404
- }
405
-
406
- .ul--inline-with-separators > li::after {
407
- content: "•";
408
- margin-inline: var(--spacing-component-2);
409
- opacity: 0.5;
410
- }
411
-
412
- .ul--inline-with-separators > li:last-child::after {
413
- content: "";
414
- }
415
-
416
- .ul--inline-with-line-separators > li::after {
417
- content: "|";
418
- margin-inline: var(--spacing-component-2);
419
- opacity: 0.5;
420
- }
421
-
422
- .ul--inline-with-line-separators > li:last-child::after {
423
- content: "";
424
- }
425
-
426
- // ===
427
-
428
- // Horizontal rule
429
-
430
- hr {
431
- --color: currentColor;
432
-
433
- background-color: var(--color);
434
- border: 0;
435
- color: var(--color);
436
- display: block;
437
- font-size: 0;
438
- height: var(--hairline);
439
- margin-block: var(--spacing-layout-1);
440
- opacity: 0.4;
441
- }
442
-
443
- // ===
444
-
445
- // Icons
446
-
447
- .icon {
448
- -webkit-font-feature-settings: 'liga';
449
- direction: ltr;
450
- display: inline-block;
451
- font-family: 'Material Symbols Rounded';
452
- font-feature-settings: 'liga';
453
- font-size: 1.4em;
454
- font-style: normal;
455
- font-weight: normal;
456
- letter-spacing: normal;
457
- text-transform: none;
458
- vertical-align: middle;
459
- white-space: nowrap;
460
- word-wrap: normal;
461
- }
462
- `},826(t,e,i){i.d(e,{AH:()=>l,Rf:()=>h,sk:()=>c});const s=globalThis,n=s.ShadowRoot&&(void 0===s.ShadyCSS||s.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,r=Symbol(),o=new WeakMap;class a{constructor(t,e,i){if(this._$cssResult$=!0,i!==r)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(n&&void 0===t){const i=void 0!==e&&1===e.length;i&&(t=o.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),i&&o.set(e,t))}return t}toString(){return this.cssText}}const l=(t,...e)=>{const i=1===t.length?t[0]:e.reduce((e,i,s)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[s+1],t[0]);return new a(i,t,r)},h=(t,e)=>{if(n)t.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const i of e){const e=document.createElement("style"),n=s.litNonce;void 0!==n&&e.setAttribute("nonce",n),e.textContent=i.cssText,t.appendChild(e)}},c=n?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>new a("string"==typeof t?t:t+"",void 0,r))(e)})(t):t},760(t,e,i){i.d(e,{AH:()=>s.AH,mN:()=>y});var s=i(826);const{is:n,defineProperty:r,getOwnPropertyDescriptor:o,getOwnPropertyNames:a,getOwnPropertySymbols:l,getPrototypeOf:h}=Object,c=globalThis,d=c.trustedTypes,p=d?d.emptyScript:"",g=c.reactiveElementPolyfillSupport,f=(t,e)=>t,u={toAttribute(t,e){switch(e){case Boolean:t=t?p:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},m=(t,e)=>!n(t,e),v={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:m};Symbol.metadata??=Symbol("metadata"),c.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=v){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const i=Symbol(),s=this.getPropertyDescriptor(t,i,e);void 0!==s&&r(this.prototype,t,s)}}static getPropertyDescriptor(t,e,i){const{get:s,set:n}=o(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get:s,set(e){const r=s?.call(this);n?.call(this,e),this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??v}static _$Ei(){if(this.hasOwnProperty(f("elementProperties")))return;const t=h(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(f("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(f("properties"))){const t=this.properties,e=[...a(t),...l(t)];for(const i of e)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,i]of e)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const i=this._$Eu(t,e);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift((0,s.sk)(t))}else void 0!==t&&e.push((0,s.sk)(t));return e}static _$Eu(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const i of e.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return(0,s.Rf)(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$ET(t,e){const i=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,i);if(void 0!==s&&!0===i.reflect){const n=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(e,i.type);this._$Em=t,null==n?this.removeAttribute(s):this.setAttribute(s,n),this._$Em=null}}_$AK(t,e){const i=this.constructor,s=i._$Eh.get(t);if(void 0!==s&&this._$Em!==s){const t=i.getPropertyOptions(s),n="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=s;const r=n.fromAttribute(e,t.type);this[s]=r??this._$Ej?.get(s)??r,this._$Em=null}}requestUpdate(t,e,i,s=!1,n){if(void 0!==t){const r=this.constructor;if(!1===s&&(n=this[t]),i??=r.getPropertyOptions(t),!((i.hasChanged??m)(n,e)||i.useDefault&&i.reflect&&n===this._$Ej?.get(t)&&!this.hasAttribute(r._$Eu(t,i))))return;this.C(t,e,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,e,{useDefault:i,reflect:s,wrapped:n},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??e??this[t]),!0!==n||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(e=void 0),this._$AL.set(t,e)),!0===s&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,i]of t){const{wrapped:t}=i,s=this[e];!0!==t||this._$AL.has(e)||void 0===s||this.C(e,void 0,i,s)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(e)):this._$EM()}catch(e){throw t=!1,this._$EM(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:"open"},y[f("elementProperties")]=new Map,y[f("finalized")]=new Map,g?.({ReactiveElement:y}),(c.reactiveElementVersions??=[]).push("2.1.2")},228(t,e,i){i.d(e,{AH:()=>s.AH,WF:()=>o,qy:()=>n.qy});var s=i(760),n=i(752);const r=globalThis;class o extends s.mN{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=(0,n.XX)(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return n.c0}}o._$litElement$=!0,o.finalized=!0,r.litElementHydrateSupport?.({LitElement:o});const a=r.litElementPolyfillSupport;a?.({LitElement:o}),(r.litElementVersions??=[]).push("4.2.2")},752(t,e,i){i.d(e,{XX:()=>q,c0:()=>x,qy:()=>E});const s=globalThis,n=t=>t,r=s.trustedTypes,o=r?r.createPolicy("lit-html",{createHTML:t=>t}):void 0,a="$lit$",l=`lit$${Math.random().toFixed(9).slice(2)}$`,h="?"+l,c=`<${h}>`,d=document,p=()=>d.createComment(""),g=t=>null===t||"object"!=typeof t&&"function"!=typeof t,f=Array.isArray,u="[ \t\n\f\r]",m=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v=/-->/g,y=/>/g,$=RegExp(`>|${u}(?:([^\\s"'>=/]+)(${u}*=${u}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),b=/'/g,_=/"/g,A=/^(?:script|style|textarea|title)$/i,w=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),E=w(1),x=(w(2),w(3),Symbol.for("lit-noChange")),k=Symbol.for("lit-nothing"),S=new WeakMap,C=d.createTreeWalker(d,129);function P(t,e){if(!f(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==o?o.createHTML(e):e}const H=(t,e)=>{const i=t.length-1,s=[];let n,r=2===e?"<svg>":3===e?"<math>":"",o=m;for(let e=0;e<i;e++){const i=t[e];let h,d,p=-1,g=0;for(;g<i.length&&(o.lastIndex=g,d=o.exec(i),null!==d);)g=o.lastIndex,o===m?"!--"===d[1]?o=v:void 0!==d[1]?o=y:void 0!==d[2]?(A.test(d[2])&&(n=RegExp("</"+d[2],"g")),o=$):void 0!==d[3]&&(o=$):o===$?">"===d[0]?(o=n??m,p=-1):void 0===d[1]?p=-2:(p=o.lastIndex-d[2].length,h=d[1],o=void 0===d[3]?$:'"'===d[3]?_:b):o===_||o===b?o=$:o===v||o===y?o=m:(o=$,n=void 0);const f=o===$&&t[e+1].startsWith("/>")?" ":"";r+=o===m?i+c:p>=0?(s.push(h),i.slice(0,p)+a+i.slice(p)+l+f):i+l+(-2===p?e:f)}return[P(t,r+(t[i]||"<?>")+(2===e?"</svg>":3===e?"</math>":"")),s]};class z{constructor({strings:t,_$litType$:e},i){let s;this.parts=[];let n=0,o=0;const c=t.length-1,d=this.parts,[g,f]=H(t,e);if(this.el=z.createElement(g,i),C.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(s=C.nextNode())&&d.length<c;){if(1===s.nodeType){if(s.hasAttributes())for(const t of s.getAttributeNames())if(t.endsWith(a)){const e=f[o++],i=s.getAttribute(t).split(l),r=/([.?@])?(.*)/.exec(e);d.push({type:1,index:n,name:r[2],strings:i,ctor:"."===r[1]?M:"?"===r[1]?N:"@"===r[1]?j:T}),s.removeAttribute(t)}else t.startsWith(l)&&(d.push({type:6,index:n}),s.removeAttribute(t));if(A.test(s.tagName)){const t=s.textContent.split(l),e=t.length-1;if(e>0){s.textContent=r?r.emptyScript:"";for(let i=0;i<e;i++)s.append(t[i],p()),C.nextNode(),d.push({type:2,index:++n});s.append(t[e],p())}}}else if(8===s.nodeType)if(s.data===h)d.push({type:2,index:n});else{let t=-1;for(;-1!==(t=s.data.indexOf(l,t+1));)d.push({type:7,index:n}),t+=l.length-1}n++}}static createElement(t,e){const i=d.createElement("template");return i.innerHTML=t,i}}function U(t,e,i=t,s){if(e===x)return e;let n=void 0!==s?i._$Co?.[s]:i._$Cl;const r=g(e)?void 0:e._$litDirective$;return n?.constructor!==r&&(n?._$AO?.(!1),void 0===r?n=void 0:(n=new r(t),n._$AT(t,i,s)),void 0!==s?(i._$Co??=[])[s]=n:i._$Cl=n),void 0!==n&&(e=U(t,n._$AS(t,e.values),n,s)),e}class O{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:i}=this._$AD,s=(t?.creationScope??d).importNode(e,!0);C.currentNode=s;let n=C.nextNode(),r=0,o=0,a=i[0];for(;void 0!==a;){if(r===a.index){let e;2===a.type?e=new R(n,n.nextSibling,this,t):1===a.type?e=new a.ctor(n,a.name,a.strings,this,t):6===a.type&&(e=new D(n,this,t)),this._$AV.push(e),a=i[++o]}r!==a?.index&&(n=C.nextNode(),r++)}return C.currentNode=d,s}p(t){let e=0;for(const i of this._$AV)void 0!==i&&(void 0!==i.strings?(i._$AI(t,i,e),e+=i.strings.length-2):i._$AI(t[e])),e++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,i,s){this.type=2,this._$AH=k,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=s,this._$Cv=s?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t?.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=U(this,t,e),g(t)?t===k||null==t||""===t?(this._$AH!==k&&this._$AR(),this._$AH=k):t!==this._$AH&&t!==x&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):(t=>f(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==k&&g(this._$AH)?this._$AA.nextSibling.data=t:this.T(d.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:i}=t,s="number"==typeof i?this._$AC(t):(void 0===i.el&&(i.el=z.createElement(P(i.h,i.h[0]),this.options)),i);if(this._$AH?._$AD===s)this._$AH.p(e);else{const t=new O(s,this),i=t.u(this.options);t.p(e),this.T(i),this._$AH=t}}_$AC(t){let e=S.get(t.strings);return void 0===e&&S.set(t.strings,e=new z(t)),e}k(t){f(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,s=0;for(const n of t)s===e.length?e.push(i=new R(this.O(p()),this.O(p()),this,this.options)):i=e[s],i._$AI(n),s++;s<e.length&&(this._$AR(i&&i._$AB.nextSibling,s),e.length=s)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t!==this._$AB;){const e=n(t).nextSibling;n(t).remove(),t=e}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class T{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,i,s,n){this.type=1,this._$AH=k,this._$AN=void 0,this.element=t,this.name=e,this._$AM=s,this.options=n,i.length>2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=k}_$AI(t,e=this,i,s){const n=this.strings;let r=!1;if(void 0===n)t=U(this,t,e,0),r=!g(t)||t!==this._$AH&&t!==x,r&&(this._$AH=t);else{const s=t;let o,a;for(t=n[0],o=0;o<n.length-1;o++)a=U(this,s[i+o],e,o),a===x&&(a=this._$AH[o]),r||=!g(a)||a!==this._$AH[o],a===k?t=k:t!==k&&(t+=(a??"")+n[o+1]),this._$AH[o]=a}r&&!s&&this.j(t)}j(t){t===k?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class M extends T{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===k?void 0:t}}class N extends T{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==k)}}class j extends T{constructor(t,e,i,s,n){super(t,e,i,s,n),this.type=5}_$AI(t,e=this){if((t=U(this,t,e,0)??k)===x)return;const i=this._$AH,s=t===k&&i!==k||t.capture!==i.capture||t.once!==i.once||t.passive!==i.passive,n=t!==k&&(i===k||s);s&&this.element.removeEventListener(this.name,this,i),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class D{constructor(t,e,i){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(t){U(this,t)}}const L=s.litHtmlPolyfillSupport;L?.(z,R),(s.litHtmlVersions??=[]).push("3.3.2");const q=(t,e,i)=>{const s=i?.renderBefore??e;let n=s._$litPart$;if(void 0===n){const t=i?.renderBefore??null;s._$litPart$=n=new R(e.insertBefore(p(),t),t,void 0,i??{})}return n._$AI(t),n}},161(t,e,i){i.d(e,{AH:()=>s.AH,WF:()=>s.WF,qy:()=>s.qy}),i(760),i(752);var s=i(228)}},e={};function i(s){var n=e[s];if(void 0!==n)return n.exports;var r=e[s]={exports:{}};return t[s](r,r.exports,i),r.exports}i.d=(t,e)=>{for(var s in e)i.o(e,s)&&!i.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var s=i(161),n=i(601),r=i(205);class o extends s.WF{static properties={color:""};static styles=(()=>[n.s,r.g,s.AH`
463
- .label {
464
- --background-color: var(--gray-20);
465
- --text-color: var(--black, #000);
466
-
467
- background-color: var(--background-color);
468
- color: var(--text-color);
469
- display: inline-block;
470
- line-height: 1em;
471
- padding: var(--spacing-component-2) var(--spacing-component-3);
472
- }
473
-
474
- .label[color="white"] {
475
- --background-color: var(--white, #fff);
476
- box-shadow: var(--shadow-small);
477
- }
478
-
479
- .label[color="purple"] {
480
- --background-color: var(--purple-20);
481
- }
482
-
483
- .label[color="red"] {
484
- --background-color: var(--red-20);
485
- }
486
-
487
- .label[color="blue"] {
488
- --background-color: var(--blue-20);
489
- }
490
-
491
- .label[color="green"] {
492
- --background-color: var(--green-20);
493
- }
494
-
495
- .label[color="yellow"] {
496
- --background-color: var(--yellow-20);
497
- }
498
- `])();render(){return s.qy`
499
- <div class="label small strong" color="${this.color}">
500
- <slot />
501
- </div>
502
- `}}customElements.get("cfa-label")||customElements.define("cfa-label",o)})();
2
+ (()=>{"use strict";var t={601(t,e,n){var i;n.d(e,{s:()=>r});const r=(0,n(161).AH)(i||(s=["\n *:focus-visible,\n *:target {\n outline: var(--focus-outline);\n position: relative;\n }\n\n // RESET\n\n // Use a more-intuitive box-sizing model.\n *, *::before, *::after {\n box-sizing: border-box;\n }\n\n // Remove default margin\n * {\n margin: 0;\n }\n\n // Set default text-wrap of 'pretty'\n * {\n text-wrap: pretty;\n }\n\n // Wrap overly long words\n * {\n overflow-wrap: break-word;\n text-overflow: ellipsis;\n word-break: break-word;\n }\n\n // Fix Safari antialiasing for variable fonts\n * {\n font-synthesis: none !important;\n }\n\n // Improve text rendering\n body {\n -webkit-font-smoothing: antialiased;\n }\n\n // Reasonable media defaults\n img, picture, video, canvas, svg {\n display: block;\n height: auto;\n max-width: 100%;\n }\n\n // Remove built-in form typography styles\n input, button, textarea, select {\n font: inherit;\n }\n\n // Avoid text overflows\n p, h1, h2, h3, h4, h5, h6 {\n overflow-wrap: break-word;\n }\n\n // Create a root stacking context\n #root, #__next {\n isolation: isolate;\n }\n"],o||(o=s.slice(0)),i=Object.freeze(Object.defineProperties(s,{raw:{value:Object.freeze(o)}}))));var s,o},205(t,e,n){var i;n.d(e,{g:()=>r});const r=(0,n(161).AH)(i||(s=['\n // =====\n\n // Typography spacing\n\n // Add a single space around paragraphs, blockquotes, and lists\n p, ul, ol, blockquote {\n & + * {\n margin-block-start: var(--spacing, var(--spacing-layout-1, 1.5rem));\n }\n * + & {\n margin-block-start: var(--spacing, var(--spacing-layout-1, 1.5rem));\n }\n }\n\n h1, h2, h3, h4, .h1, .h2, .h3, .h4, .display-1, .display-2 {\n // Add a single line space after headings\n & + * {\n margin-block-start: var(--spacing, var(--spacing-layout-1, 1.5rem));\n }\n\n // Add two line spaces before headings\n * + & {\n --spacing: var(--spacing-layout-2);\n\n margin-block-start: --spacing;\n }\n\n // Only add a single space between headings and other headings\n & + & {\n --spacing: var(--spacing-layout-1);\n }\n\n // Reduce space after breadcrumbs and eyebrows\n cfa-breadcrumbs + & {\n margin-block-start: var(--spacing-layout-half) !important;\n }\n\n .eyebrow + & {\n margin-block-start: 0 !important;\n }\n }\n\n h1, .h1, .display-1, .display-2 {\n text-wrap: balance;\n }\n\n // =====\n\n // Font styles\n\n .regular {\n font-family: var(--font-family-base);\n font-size: var(--font-size);\n line-height: var(--line-height);\n }\n\n .display-1 {\n font-family: var(--font-family-heading);\n font-size: var(--font-size-display-1);\n font-weight: bold;\n line-height: var(--line-height-display-1);\n letter-spacing: var(--letter-spacing-display-1);\n }\n\n .display-2 {\n font-family: var(--font-family-heading);\n font-size: var(--font-size-display-2);\n font-weight: bold;\n line-height: var(--line-height-display-2);\n letter-spacing: var(--letter-spacing-display-2);\n }\n\n h1, \n .h1 {\n font-family: var(--font-family-heading);\n font-size: var(--font-size-h1);\n font-weight: bold;\n line-height: var(--line-height-h1);\n letter-spacing: var(--letter-spacing-h1);\n }\n\n h2, \n .h2 {\n font-family: var(--font-family-heading);\n font-size: var(--font-size-h2);\n font-weight: bold;\n line-height: var(--line-height-h2);\n letter-spacing: var(--letter-spacing-h2);\n }\n\n h3, \n .h3 {\n font-family: var(--font-family-heading);\n font-size: var(--font-size-h3);\n font-weight: bold;\n line-height: var(--line-height-h3);\n letter-spacing: var(--letter-spacing-h3);\n }\n\n h4, \n .h4 {\n font-family: var(--font-family-heading);\n font-size: var(--font-size-h4);\n font-weight: bold;\n line-height: var(--line-height-h4);\n letter-spacing: var(--letter-spacing-h4);\n }\n\n .extra-large {\n font-size: var(--font-size-extra-large);\n line-height: var(--line-height-extra-large);\n letter-spacing: var(--letter-spacing-extra-large);\n }\n\n .large {\n font-size: var(--font-size-large);\n line-height: var(--line-height-large);\n letter-spacing: var(--letter-spacing-large);\n }\n\n .small {\n font-size: var(--font-size-small);\n line-height: var(--line-height-small);\n letter-spacing: var(--letter-spacing-small);\n }\n\n .eyebrow {\n font-family: var(--font-family-sans-serif);\n font-size: var(--font-size-eyebrow);\n font-weight: var(--font-weight-eyebrow);\n letter-spacing: var(--letter-spacing-eyebrow);\n line-height: var(--line-height-eyebrow);\n text-transform: uppercase;\n }\n\n .eyebrow-with-line {\n align-items: center;\n color: var(--text-color);\n display: flex;\n font-family: var(--font-family-eyebrow);\n font-size: var(--font-size-eyebrow);\n font-weight: var(--font-weight-eyebrow);\n letter-spacing: var(--letter-spacing-eyebrow);\n line-height: var(--line-height-eyebrow);\n margin-block-end: var(--spacing-layout-half);\n position: relative;\n text-transform: uppercase;\n\n &::after {\n border-block-end: var(--hairline) solid currentColor;\n content: "";\n flex-grow: 1;\n margin-left: var(--spacing-component-3);\n }\n }\n\n .subtle {\n opacity: 0.6;\n }\n\n .serif {\n font-family: var(--font-family-serif);\n }\n\n .sans-serif {\n font-family: var(--font-family-sans-serif);\n }\n\n i,\n em,\n .italic {\n font-style: italic;\n }\n\n b,\n strong,\n .strong {\n font-weight: bold;\n }\n\n .normal {\n font-weight: normal;\n }\n\n .balance {\n text-wrap: balance;\n }\n\n .prominent-link,\n a.prominent-link {\n --accent-color: var(--purple-60);\n\n font-weight: bold;\n text-decoration: underline;\n text-decoration-color: var(--accent-color);\n text-decoration-thickness: var(--medium);\n text-underline-offset: 0.4em;\n transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out; \n\n &:hover {\n --accent-color: var(--red-60);\n }\n\n &:not(:has(cfa-icon))::after {\n @include icon.icon;\n \n content: "arrow_right_alt";\n display: inline-block;\n padding-inline-start: 0.1em;\n text-decoration: none;\n transition: padding 0.2s ease-in-out;\n width: 1em;\n }\n\n &:not(:has(cfa-icon)):hover::after {\n padding-inline-start: 0.3em;\n }\n\n cfa-icon {\n text-decoration: none;\n }\n }\n\n .white-text,\n .text-light /* fallback */ {\n -moz-osx-font-smoothing: grayscale; // Sharper antialising for white text on a dark background\n -webkit-font-smoothing: antialiased; // Sharper antialising for white text on a dark background\n color: var(--white);\n --link-color: var(--white);\n --link-hover-color: var(--white);\n }\n\n // =====\n\n // Highlights\n\n .highlight { \n --highlight-offset: 0.2em;\n\n box-decoration-break: clone;\n display: inline;\n background: linear-gradient(to top, transparent 0%, transparent var(--highlight-offset), var(--highlight-color) var(--highlight-offset), var(--highlight-color) calc(var(--highlight-offset) + var(--highlight-thickness)), transparent calc(var(--highlight-offset) + var(--highlight-thickness)), transparent 100%);\n padding-inline: 0.1em;\n -webkit-box-decoration-break: clone;\n margin-inline-start: -0.1em;\n margin-inline-end: -0.1em;\n word-wrap: break-word;\n }\n\n // ======\n\n // Lists\n\n .ul {\n list-style-type: disc;\n padding-left: var(--spacing-layout-1);\n }\n\n .ul > li {\n margin-inline-start: 0;\n padding-left: var(--spacing-component-2);\n }\n\n .ul > li + li {\n margin-block-start: var(--spacing-layout-half);\n }\n\n .ul > li > ul {\n margin-block-start: var(--spacing-layout-half);\n }\n\n .ol {\n list-style-type: decimal;\n padding-left: var(--spacing-layout-1);\n }\n\n .ol > li {\n margin-inline-start: 0;\n padding-inline-start: var(--spacing-component-2);\n }\n\n .ol > li + li {\n margin-block-start: var(--spacing-layout-half);\n }\n\n .ol > li > ul {\n margin-block-start: var(--spacing-layout-half);\n }\n\n .ul--unstyled {\n list-style: none;\n padding: 0;\n }\n\n .ul--unstyled > li {\n margin-inline: 0;\n padding: 0;\n }\n\n .ul--line-separators > li + li::before {\n border-block-start: 1px solid var(--gray-20);\n content: "";\n display: block;\n margin-block: var(--spacing-layout-half);\n width: 100%;\n }\n\n .ul--inline,\n .ul--inline-with-separators,\n .ul--inline-with-line-separators {\n display: inline;\n list-style: none;\n padding-inline: 0 !important;\n padding-left: 0 !important;\n }\n\n .ul--inline > li,\n .ul--inline-with-separators > li,\n .ul--inline-with-line-separators > li {\n display: inline-block;\n margin-inline-end: var(--spacing-component-3);\n padding: 0 !important;\n }\n\n .ul--inline li:last-child,\n .ul--inline-with-separators li:last-child,\n .ul--inline-with-line-separators li:last-child {\n margin-inline-end: 0;\n }\n\n .ul--inline > li + li,\n .ul--inline-with-separators > li + li,\n .ul--inline-with-line-separators > li + li {\n margin-block-start: 0;\n }\n\n .ul--inline-with-separators li,\n .ul--inline-with-line-separators li {\n margin-inline-end: 0;\n }\n\n .ul--inline-with-separators > li::after {\n content: "•";\n margin-inline: var(--spacing-component-2);\n opacity: 0.5;\n }\n\n .ul--inline-with-separators > li:last-child::after {\n content: "";\n }\n\n .ul--inline-with-line-separators > li::after {\n content: "|";\n margin-inline: var(--spacing-component-2);\n opacity: 0.5;\n }\n\n .ul--inline-with-line-separators > li:last-child::after {\n content: "";\n }\n\n // ===\n\n // Horizontal rule\n\n hr {\n --color: currentColor;\n\n background-color: var(--color);\n border: 0;\n color: var(--color);\n display: block;\n font-size: 0;\n height: var(--hairline);\n margin-block: var(--spacing-layout-1);\n opacity: 0.4;\n }\n\n // ===\n\n // Icons\n\n .icon {\n -webkit-font-feature-settings: \'liga\';\n direction: ltr;\n display: inline-block;\n font-family: \'Material Symbols Rounded\';\n font-feature-settings: \'liga\';\n font-size: 1.4em; \n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n text-transform: none;\n vertical-align: middle;\n white-space: nowrap;\n word-wrap: normal;\n }\n'],o||(o=s.slice(0)),i=Object.freeze(Object.defineProperties(s,{raw:{value:Object.freeze(o)}}))));var s,o},826(t,e,n){n.d(e,{AH:()=>l,Rf:()=>h,sk:()=>c});const i=globalThis,r=i.ShadowRoot&&(void 0===i.ShadyCSS||i.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class a{constructor(t,e,n){if(this._$cssResult$=!0,n!==s)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(r&&void 0===t){const n=void 0!==e&&1===e.length;n&&(t=o.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),n&&o.set(e,t))}return t}toString(){return this.cssText}}const l=(t,...e)=>{const n=1===t.length?t[0]:e.reduce((e,n,i)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+t[i+1],t[0]);return new a(n,t,s)},h=(t,e)=>{if(r)t.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const n of e){const e=document.createElement("style"),r=i.litNonce;void 0!==r&&e.setAttribute("nonce",r),e.textContent=n.cssText,t.appendChild(e)}},c=r?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const n of t.cssRules)e+=n.cssText;return(t=>new a("string"==typeof t?t:t+"",void 0,s))(e)})(t):t},760(t,e,n){n.d(e,{AH:()=>i.AH,mN:()=>y});var i=n(826);const{is:r,defineProperty:s,getOwnPropertyDescriptor:o,getOwnPropertyNames:a,getOwnPropertySymbols:l,getPrototypeOf:h}=Object,c=globalThis,d=c.trustedTypes,p=d?d.emptyScript:"",g=c.reactiveElementPolyfillSupport,f=(t,e)=>t,u={toAttribute(t,e){switch(e){case Boolean:t=t?p:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let n=t;switch(e){case Boolean:n=null!==t;break;case Number:n=null===t?null:Number(t);break;case Object:case Array:try{n=JSON.parse(t)}catch(t){n=null}}return n}},v=(t,e)=>!r(t,e),m={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:v};Symbol.metadata??=Symbol("metadata"),c.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=m){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const n=Symbol(),i=this.getPropertyDescriptor(t,n,e);void 0!==i&&s(this.prototype,t,i)}}static getPropertyDescriptor(t,e,n){const{get:i,set:r}=o(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get:i,set(e){const s=i?.call(this);r?.call(this,e),this.requestUpdate(t,s,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??m}static _$Ei(){if(this.hasOwnProperty(f("elementProperties")))return;const t=h(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(f("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(f("properties"))){const t=this.properties,e=[...a(t),...l(t)];for(const n of e)this.createProperty(n,t[n])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,n]of e)this.elementProperties.set(t,n)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const n=this._$Eu(t,e);void 0!==n&&this._$Eh.set(n,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const n=new Set(t.flat(1/0).reverse());for(const t of n)e.unshift((0,i.sk)(t))}else void 0!==t&&e.push((0,i.sk)(t));return e}static _$Eu(t,e){const n=e.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const n of e.keys())this.hasOwnProperty(n)&&(t.set(n,this[n]),delete this[n]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return(0,i.Rf)(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,n){this._$AK(t,n)}_$ET(t,e){const n=this.constructor.elementProperties.get(t),i=this.constructor._$Eu(t,n);if(void 0!==i&&!0===n.reflect){const r=(void 0!==n.converter?.toAttribute?n.converter:u).toAttribute(e,n.type);this._$Em=t,null==r?this.removeAttribute(i):this.setAttribute(i,r),this._$Em=null}}_$AK(t,e){const n=this.constructor,i=n._$Eh.get(t);if(void 0!==i&&this._$Em!==i){const t=n.getPropertyOptions(i),r="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=i;const s=r.fromAttribute(e,t.type);this[i]=s??this._$Ej?.get(i)??s,this._$Em=null}}requestUpdate(t,e,n,i=!1,r){if(void 0!==t){const s=this.constructor;if(!1===i&&(r=this[t]),n??=s.getPropertyOptions(t),!((n.hasChanged??v)(r,e)||n.useDefault&&n.reflect&&r===this._$Ej?.get(t)&&!this.hasAttribute(s._$Eu(t,n))))return;this.C(t,e,n)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,e,{useDefault:n,reflect:i,wrapped:r},s){n&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,s??e??this[t]),!0!==r||void 0!==s)||(this._$AL.has(t)||(this.hasUpdated||n||(e=void 0),this._$AL.set(t,e)),!0===i&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,n]of t){const{wrapped:t}=n,i=this[e];!0!==t||this._$AL.has(e)||void 0===i||this.C(e,void 0,n,i)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(e)):this._$EM()}catch(e){throw t=!1,this._$EM(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:"open"},y[f("elementProperties")]=new Map,y[f("finalized")]=new Map,g?.({ReactiveElement:y}),(c.reactiveElementVersions??=[]).push("2.1.2")},228(t,e,n){n.d(e,{AH:()=>i.AH,WF:()=>o,qy:()=>r.qy});var i=n(760),r=n(752);const s=globalThis;class o extends i.mN{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=(0,r.XX)(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r.c0}}o._$litElement$=!0,o.finalized=!0,s.litElementHydrateSupport?.({LitElement:o});const a=s.litElementPolyfillSupport;a?.({LitElement:o}),(s.litElementVersions??=[]).push("4.2.2")},752(t,e,n){n.d(e,{XX:()=>q,c0:()=>x,qy:()=>E});const i=globalThis,r=t=>t,s=i.trustedTypes,o=s?s.createPolicy("lit-html",{createHTML:t=>t}):void 0,a="$lit$",l=`lit$${Math.random().toFixed(9).slice(2)}$`,h="?"+l,c=`<${h}>`,d=document,p=()=>d.createComment(""),g=t=>null===t||"object"!=typeof t&&"function"!=typeof t,f=Array.isArray,u="[ \t\n\f\r]",v=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,m=/-->/g,y=/>/g,b=RegExp(`>|${u}(?:([^\\s"'>=/]+)(${u}*=${u}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),$=/'/g,_=/"/g,w=/^(?:script|style|textarea|title)$/i,A=t=>(e,...n)=>({_$litType$:t,strings:e,values:n}),E=A(1),x=(A(2),A(3),Symbol.for("lit-noChange")),S=Symbol.for("lit-nothing"),k=new WeakMap,C=d.createTreeWalker(d,129);function P(t,e){if(!f(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==o?o.createHTML(e):e}const O=(t,e)=>{const n=t.length-1,i=[];let r,s=2===e?"<svg>":3===e?"<math>":"",o=v;for(let e=0;e<n;e++){const n=t[e];let h,d,p=-1,g=0;for(;g<n.length&&(o.lastIndex=g,d=o.exec(n),null!==d);)g=o.lastIndex,o===v?"!--"===d[1]?o=m:void 0!==d[1]?o=y:void 0!==d[2]?(w.test(d[2])&&(r=RegExp("</"+d[2],"g")),o=b):void 0!==d[3]&&(o=b):o===b?">"===d[0]?(o=r??v,p=-1):void 0===d[1]?p=-2:(p=o.lastIndex-d[2].length,h=d[1],o=void 0===d[3]?b:'"'===d[3]?_:$):o===_||o===$?o=b:o===m||o===y?o=v:(o=b,r=void 0);const f=o===b&&t[e+1].startsWith("/>")?" ":"";s+=o===v?n+c:p>=0?(i.push(h),n.slice(0,p)+a+n.slice(p)+l+f):n+l+(-2===p?e:f)}return[P(t,s+(t[n]||"<?>")+(2===e?"</svg>":3===e?"</math>":"")),i]};class z{constructor({strings:t,_$litType$:e},n){let i;this.parts=[];let r=0,o=0;const c=t.length-1,d=this.parts,[g,f]=O(t,e);if(this.el=z.createElement(g,n),C.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(i=C.nextNode())&&d.length<c;){if(1===i.nodeType){if(i.hasAttributes())for(const t of i.getAttributeNames())if(t.endsWith(a)){const e=f[o++],n=i.getAttribute(t).split(l),s=/([.?@])?(.*)/.exec(e);d.push({type:1,index:r,name:s[2],strings:n,ctor:"."===s[1]?M:"?"===s[1]?N:"@"===s[1]?j:T}),i.removeAttribute(t)}else t.startsWith(l)&&(d.push({type:6,index:r}),i.removeAttribute(t));if(w.test(i.tagName)){const t=i.textContent.split(l),e=t.length-1;if(e>0){i.textContent=s?s.emptyScript:"";for(let n=0;n<e;n++)i.append(t[n],p()),C.nextNode(),d.push({type:2,index:++r});i.append(t[e],p())}}}else if(8===i.nodeType)if(i.data===h)d.push({type:2,index:r});else{let t=-1;for(;-1!==(t=i.data.indexOf(l,t+1));)d.push({type:7,index:r}),t+=l.length-1}r++}}static createElement(t,e){const n=d.createElement("template");return n.innerHTML=t,n}}function H(t,e,n=t,i){if(e===x)return e;let r=void 0!==i?n._$Co?.[i]:n._$Cl;const s=g(e)?void 0:e._$litDirective$;return r?.constructor!==s&&(r?._$AO?.(!1),void 0===s?r=void 0:(r=new s(t),r._$AT(t,n,i)),void 0!==i?(n._$Co??=[])[i]=r:n._$Cl=r),void 0!==r&&(e=H(t,r._$AS(t,e.values),r,i)),e}class U{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:n}=this._$AD,i=(t?.creationScope??d).importNode(e,!0);C.currentNode=i;let r=C.nextNode(),s=0,o=0,a=n[0];for(;void 0!==a;){if(s===a.index){let e;2===a.type?e=new R(r,r.nextSibling,this,t):1===a.type?e=new a.ctor(r,a.name,a.strings,this,t):6===a.type&&(e=new D(r,this,t)),this._$AV.push(e),a=n[++o]}s!==a?.index&&(r=C.nextNode(),s++)}return C.currentNode=d,i}p(t){let e=0;for(const n of this._$AV)void 0!==n&&(void 0!==n.strings?(n._$AI(t,n,e),e+=n.strings.length-2):n._$AI(t[e])),e++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,n,i){this.type=2,this._$AH=S,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=n,this.options=i,this._$Cv=i?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t?.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=H(this,t,e),g(t)?t===S||null==t||""===t?(this._$AH!==S&&this._$AR(),this._$AH=S):t!==this._$AH&&t!==x&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):(t=>f(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==S&&g(this._$AH)?this._$AA.nextSibling.data=t:this.T(d.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:n}=t,i="number"==typeof n?this._$AC(t):(void 0===n.el&&(n.el=z.createElement(P(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===i)this._$AH.p(e);else{const t=new U(i,this),n=t.u(this.options);t.p(e),this.T(n),this._$AH=t}}_$AC(t){let e=k.get(t.strings);return void 0===e&&k.set(t.strings,e=new z(t)),e}k(t){f(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let n,i=0;for(const r of t)i===e.length?e.push(n=new R(this.O(p()),this.O(p()),this,this.options)):n=e[i],n._$AI(r),i++;i<e.length&&(this._$AR(n&&n._$AB.nextSibling,i),e.length=i)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t!==this._$AB;){const e=r(t).nextSibling;r(t).remove(),t=e}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class T{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,n,i,r){this.type=1,this._$AH=S,this._$AN=void 0,this.element=t,this.name=e,this._$AM=i,this.options=r,n.length>2||""!==n[0]||""!==n[1]?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=S}_$AI(t,e=this,n,i){const r=this.strings;let s=!1;if(void 0===r)t=H(this,t,e,0),s=!g(t)||t!==this._$AH&&t!==x,s&&(this._$AH=t);else{const i=t;let o,a;for(t=r[0],o=0;o<r.length-1;o++)a=H(this,i[n+o],e,o),a===x&&(a=this._$AH[o]),s||=!g(a)||a!==this._$AH[o],a===S?t=S:t!==S&&(t+=(a??"")+r[o+1]),this._$AH[o]=a}s&&!i&&this.j(t)}j(t){t===S?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class M extends T{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===S?void 0:t}}class N extends T{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==S)}}class j extends T{constructor(t,e,n,i,r){super(t,e,n,i,r),this.type=5}_$AI(t,e=this){if((t=H(this,t,e,0)??S)===x)return;const n=this._$AH,i=t===S&&n!==S||t.capture!==n.capture||t.once!==n.once||t.passive!==n.passive,r=t!==S&&(n===S||i);i&&this.element.removeEventListener(this.name,this,n),r&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class D{constructor(t,e,n){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(t){H(this,t)}}const L=i.litHtmlPolyfillSupport;L?.(z,R),(i.litHtmlVersions??=[]).push("3.3.3");const q=(t,e,n)=>{const i=n?.renderBefore??e;let r=i._$litPart$;if(void 0===r){const t=n?.renderBefore??null;i._$litPart$=r=new R(e.insertBefore(p(),t),t,void 0,n??{})}return r._$AI(t),r}},161(t,e,n){n.d(e,{AH:()=>i.AH,WF:()=>i.WF,qy:()=>i.qy}),n(760),n(752);var i=n(228)}},e={};function n(i){var r=e[i];if(void 0!==r)return r.exports;var s=e[i]={exports:{}};return t[i](s,s.exports,n),s.exports}n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var i,r,s=n(161),o=n(601),a=n(205);function l(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}function h(t,e,n){return(e=function(t){var e=function(t){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}class c extends s.WF{render(){return(0,s.qy)(i||(i=l(['\n <div class="label small strong" color="','">\n <slot />\n </div>\n '])),this.color)}}h(c,"properties",{color:""}),h(c,"styles",[o.s,a.g,(0,s.AH)(r||(r=l(['\n .label {\n --background-color: var(--gray-20);\n --text-color: var(--black, #000);\n\n background-color: var(--background-color);\n color: var(--text-color);\n display: inline-block;\n line-height: 1em;\n padding: var(--spacing-component-2) var(--spacing-component-3);\n }\n\n .label[color="white"] {\n --background-color: var(--white, #fff);\n box-shadow: var(--shadow-small);\n }\n\n .label[color="purple"] {\n --background-color: var(--purple-20);\n }\n\n .label[color="red"] {\n --background-color: var(--red-20);\n }\n\n .label[color="blue"] {\n --background-color: var(--blue-20);\n }\n\n .label[color="green"] {\n --background-color: var(--green-20);\n }\n\n .label[color="yellow"] {\n --background-color: var(--yellow-20);\n }\n '])))]),customElements.get("cfa-label")||customElements.define("cfa-label",c)})();