@cfpb/cfpb-design-system 4.4.0 → 5.0.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/CHANGELOG.md +32 -1
- package/dist/index.css +1 -3
- package/dist/index.js +3812 -53
- package/package.json +5 -2
- package/src/components/cfpb-buttons/button-link.scss +0 -1
- package/src/components/cfpb-forms/multiselect-model.js +2 -5
- package/src/components/cfpb-forms/multiselect.js +1 -1
- package/src/components/cfpb-layout/email-signup.scss +4 -1
- package/src/components/cfpb-layout/featured-content-module.scss +10 -5
- package/src/components/cfpb-tables/table.scss +1 -1
- package/src/elements/abstracts/custom-props.css +1 -1
- package/src/elements/abstracts/sizing-vars.scss +25 -24
- package/src/elements/cfpb-button/cfpb-button.scss +2 -1
- package/src/elements/cfpb-button/index.js +2 -4
- package/src/elements/cfpb-checkbox-icon/index.js +2 -4
- package/src/elements/cfpb-expandable/cfpb-expandable.component.scss +6 -0
- package/src/elements/cfpb-expandable/index.js +4 -6
- package/src/elements/cfpb-file-upload/cfpb-file-upload.component.scss +0 -4
- package/src/elements/cfpb-file-upload/index.js +2 -4
- package/src/elements/cfpb-flag-usa/cfpb-flag-usa.component.scss +12 -0
- package/src/elements/cfpb-flag-usa/index.js +14 -0
- package/src/elements/cfpb-form-alert/index.js +5 -7
- package/src/elements/cfpb-form-choice/index.js +2 -4
- package/src/elements/cfpb-form-search/index.js +11 -8
- package/src/elements/cfpb-form-search-input/index.js +16 -6
- package/src/elements/cfpb-icon-text/index.js +2 -4
- package/src/elements/cfpb-label/index.js +2 -4
- package/src/elements/cfpb-list/index.js +3 -4
- package/src/elements/cfpb-list/index.spec.js +2 -0
- package/src/elements/cfpb-list-item/index.js +2 -4
- package/src/elements/cfpb-pagination/index.js +4 -6
- package/src/elements/cfpb-select/cfpb-select.component.scss +12 -12
- package/src/elements/cfpb-select/index.js +4 -6
- package/src/elements/cfpb-tag-filter/index.js +3 -5
- package/src/elements/cfpb-tag-group/index.js +19 -19
- package/src/elements/cfpb-tag-topic/index.js +2 -4
- package/src/elements/cfpb-tagline/cfpb-tagline.component.scss +33 -0
- package/src/elements/cfpb-tagline/index.js +51 -0
- package/src/elements/cfpb-utilities/parse-child-data.js +4 -1
- package/src/elements/index.js +1 -0
- package/src/index.scss +1 -2
- package/src/utilities/atomic-helpers.js +2 -2
- package/src/utilities/behavior/behavior.js +9 -2
- package/src/utilities/behavior/flyout-menu.js +5 -7
- package/src/utilities/event-observer.js +7 -3
- package/src/utilities/transition/alpha-transition.js +1 -1
- package/src/utilities/transition/base-transition.js +1 -1
- package/src/utilities/transition/max-height-transition.js +1 -1
- package/src/utilities/transition/move-transition.js +1 -1
- package/src/utilities/type-checkers.js +9 -9
- package/src/utilities/type-checkers.spec.js +2 -3
- package/dist/abstracts/index.js +0 -2
- package/dist/abstracts/index.js.map +0 -7
- package/dist/base/index.css +0 -3
- package/dist/base/index.css.map +0 -7
- package/dist/base/index.js +0 -2
- package/dist/base/index.js.map +0 -7
- package/dist/components/cfpb-buttons/index.css +0 -2
- package/dist/components/cfpb-buttons/index.css.map +0 -7
- package/dist/components/cfpb-buttons/index.js +0 -2
- package/dist/components/cfpb-buttons/index.js.map +0 -7
- package/dist/components/cfpb-expandables/index.css +0 -2
- package/dist/components/cfpb-expandables/index.css.map +0 -7
- package/dist/components/cfpb-expandables/index.js +0 -2
- package/dist/components/cfpb-expandables/index.js.map +0 -7
- package/dist/components/cfpb-forms/index.css +0 -2
- package/dist/components/cfpb-forms/index.css.map +0 -7
- package/dist/components/cfpb-forms/index.js +0 -2
- package/dist/components/cfpb-forms/index.js.map +0 -7
- package/dist/components/cfpb-icons/index.css +0 -2
- package/dist/components/cfpb-icons/index.css.map +0 -7
- package/dist/components/cfpb-icons/index.js +0 -2
- package/dist/components/cfpb-icons/index.js.map +0 -7
- package/dist/components/cfpb-layout/index.css +0 -2
- package/dist/components/cfpb-layout/index.css.map +0 -7
- package/dist/components/cfpb-layout/index.js +0 -2
- package/dist/components/cfpb-layout/index.js.map +0 -7
- package/dist/components/cfpb-notifications/index.css +0 -2
- package/dist/components/cfpb-notifications/index.css.map +0 -7
- package/dist/components/cfpb-notifications/index.js +0 -2
- package/dist/components/cfpb-notifications/index.js.map +0 -7
- package/dist/components/cfpb-pagination/index.css +0 -2
- package/dist/components/cfpb-pagination/index.css.map +0 -7
- package/dist/components/cfpb-pagination/index.js +0 -2
- package/dist/components/cfpb-pagination/index.js.map +0 -7
- package/dist/components/cfpb-tables/index.css +0 -2
- package/dist/components/cfpb-tables/index.css.map +0 -7
- package/dist/components/cfpb-tables/index.js +0 -2
- package/dist/components/cfpb-tables/index.js.map +0 -7
- package/dist/components/cfpb-tooltips/index.css +0 -2
- package/dist/components/cfpb-tooltips/index.css.map +0 -7
- package/dist/components/cfpb-tooltips/index.js +0 -2
- package/dist/components/cfpb-tooltips/index.js.map +0 -7
- package/dist/components/cfpb-typography/index.css +0 -2
- package/dist/components/cfpb-typography/index.css.map +0 -7
- package/dist/components/cfpb-typography/index.js +0 -2
- package/dist/components/cfpb-typography/index.js.map +0 -7
- package/dist/elements/abstracts/index.js +0 -2
- package/dist/elements/abstracts/index.js.map +0 -7
- package/dist/elements/base/index.css +0 -3
- package/dist/elements/base/index.css.map +0 -7
- package/dist/elements/base/index.js +0 -2
- package/dist/elements/base/index.js.map +0 -7
- package/dist/elements/cfpb-button/index.js +0 -47
- package/dist/elements/cfpb-button/index.js.map +0 -7
- package/dist/elements/cfpb-checkbox-icon/index.js +0 -29
- package/dist/elements/cfpb-checkbox-icon/index.js.map +0 -7
- package/dist/elements/cfpb-expandable/index.css +0 -2
- package/dist/elements/cfpb-expandable/index.css.map +0 -7
- package/dist/elements/cfpb-expandable/index.js +0 -33
- package/dist/elements/cfpb-expandable/index.js.map +0 -7
- package/dist/elements/cfpb-file-upload/index.js +0 -47
- package/dist/elements/cfpb-file-upload/index.js.map +0 -7
- package/dist/elements/cfpb-form-alert/index.js +0 -32
- package/dist/elements/cfpb-form-alert/index.js.map +0 -7
- package/dist/elements/cfpb-form-choice/index.js +0 -46
- package/dist/elements/cfpb-form-choice/index.js.map +0 -7
- package/dist/elements/cfpb-form-search/index.js +0 -41
- package/dist/elements/cfpb-form-search/index.js.map +0 -7
- package/dist/elements/cfpb-form-search-input/index.js +0 -41
- package/dist/elements/cfpb-form-search-input/index.js.map +0 -7
- package/dist/elements/cfpb-icon-text/index.js +0 -29
- package/dist/elements/cfpb-icon-text/index.js.map +0 -7
- package/dist/elements/cfpb-label/index.js +0 -36
- package/dist/elements/cfpb-label/index.js.map +0 -7
- package/dist/elements/cfpb-list/index.js +0 -39
- package/dist/elements/cfpb-list/index.js.map +0 -7
- package/dist/elements/cfpb-list-item/index.js +0 -39
- package/dist/elements/cfpb-list-item/index.js.map +0 -7
- package/dist/elements/cfpb-multiselect/index.js +0 -48
- package/dist/elements/cfpb-multiselect/index.js.map +0 -7
- package/dist/elements/cfpb-pagination/index.js +0 -32
- package/dist/elements/cfpb-pagination/index.js.map +0 -7
- package/dist/elements/cfpb-select/index.css +0 -2
- package/dist/elements/cfpb-select/index.css.map +0 -7
- package/dist/elements/cfpb-select/index.js +0 -42
- package/dist/elements/cfpb-select/index.js.map +0 -7
- package/dist/elements/cfpb-tag-filter/index.js +0 -31
- package/dist/elements/cfpb-tag-filter/index.js.map +0 -7
- package/dist/elements/cfpb-tag-group/index.js +0 -29
- package/dist/elements/cfpb-tag-group/index.js.map +0 -7
- package/dist/elements/cfpb-tag-topic/index.js +0 -30
- package/dist/elements/cfpb-tag-topic/index.js.map +0 -7
- package/dist/elements/cfpb-utilities/index.js +0 -2
- package/dist/elements/cfpb-utilities/index.js.map +0 -7
- package/dist/elements/index.css +0 -2
- package/dist/elements/index.css.map +0 -7
- package/dist/elements/index.js +0 -53
- package/dist/elements/index.js.map +0 -7
- package/dist/index.css.map +0 -7
- package/dist/index.js.map +0 -7
- package/dist/utilities/index.css +0 -2
- package/dist/utilities/index.css.map +0 -7
- package/dist/utilities/index.js +0 -2
- package/dist/utilities/index.js.map +0 -7
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { html, LitElement,
|
|
1
|
+
import { html, LitElement, nothing } from 'lit';
|
|
2
2
|
import { ref, createRef } from 'lit/directives/ref.js';
|
|
3
3
|
import { unsafeSVG } from 'lit/directives/unsafe-svg.js';
|
|
4
4
|
import styles from './cfpb-select.component.scss';
|
|
5
|
-
import expandIcon from '../../components/cfpb-icons/icons/down.svg';
|
|
6
|
-
import collapseIcon from '../../components/cfpb-icons/icons/up.svg';
|
|
5
|
+
import expandIcon from '../../components/cfpb-icons/icons/down.svg?raw';
|
|
6
|
+
import collapseIcon from '../../components/cfpb-icons/icons/up.svg?raw';
|
|
7
7
|
import { CfpbFormSearchInput } from '../cfpb-form-search-input';
|
|
8
8
|
import { SearchService } from '../cfpb-utilities/search-service.js';
|
|
9
9
|
import { MaxHeightTransition } from '../../utilities/transition/max-height-transition';
|
|
@@ -20,9 +20,7 @@ import { MultipleSelectEventProxy } from './multiple-select-event-proxy.js';
|
|
|
20
20
|
* @slot - The main content for the select.
|
|
21
21
|
*/
|
|
22
22
|
export class CfpbSelect extends LitElement {
|
|
23
|
-
static styles =
|
|
24
|
-
${unsafeCSS(styles)}
|
|
25
|
-
`;
|
|
23
|
+
static styles = styles;
|
|
26
24
|
|
|
27
25
|
#eventProxy;
|
|
28
26
|
#flyoutMenu;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { html, LitElement
|
|
1
|
+
import { html, LitElement } from 'lit';
|
|
2
2
|
import { unsafeHTML } from 'lit/directives/unsafe-html.js';
|
|
3
3
|
import styles from './cfpb-tag-filter.component.scss';
|
|
4
|
-
import icon from '../../components/cfpb-icons/icons/error.svg';
|
|
4
|
+
import icon from '../../components/cfpb-icons/icons/error.svg?raw';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
*
|
|
@@ -9,9 +9,7 @@ import icon from '../../components/cfpb-icons/icons/error.svg';
|
|
|
9
9
|
* @slot - The content for the filter tag.
|
|
10
10
|
*/
|
|
11
11
|
export class CfpbTagFilter extends LitElement {
|
|
12
|
-
static styles =
|
|
13
|
-
${unsafeCSS(styles)}
|
|
14
|
-
`;
|
|
12
|
+
static styles = styles;
|
|
15
13
|
|
|
16
14
|
/**
|
|
17
15
|
* @property {string} for - Associate the label with an ID elsewhere.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { html, LitElement
|
|
1
|
+
import { html, LitElement } from 'lit';
|
|
2
2
|
import styles from './cfpb-tag-group.component.scss';
|
|
3
3
|
import { parseChildData } from '../cfpb-utilities/parse-child-data';
|
|
4
4
|
|
|
@@ -12,14 +12,12 @@ const SUPPORTED_TAG_LIST = ['CFPB-TAG-FILTER', 'CFPB-TAG-TOPIC'];
|
|
|
12
12
|
* The tag group has a list of tags in the lightDOM that gets re-written
|
|
13
13
|
* inside an unordered list in the shadowDOM so that it is read out
|
|
14
14
|
* as a list of items in VoiceOver.
|
|
15
|
-
* @
|
|
16
|
-
* @fires
|
|
17
|
-
* @fires
|
|
15
|
+
* @fires CfpbTagGroup#event:"tag-added" - A tag was added to the group.
|
|
16
|
+
* @fires CfpbTagGroup#event:"tag-click" - A tag was clicked.
|
|
17
|
+
* @fires CfpbTagGroup#event:"tag-removed" - A tag was removed to the group.
|
|
18
18
|
*/
|
|
19
19
|
export class CfpbTagGroup extends LitElement {
|
|
20
|
-
static styles =
|
|
21
|
-
${unsafeCSS(styles)}
|
|
22
|
-
`;
|
|
20
|
+
static styles = styles;
|
|
23
21
|
|
|
24
22
|
/**
|
|
25
23
|
* @property {string} childData - Structure data to create child components.
|
|
@@ -200,7 +198,7 @@ export class CfpbTagGroup extends LitElement {
|
|
|
200
198
|
|
|
201
199
|
/**
|
|
202
200
|
* Add a tag to the light and dark DOM.
|
|
203
|
-
* @param {
|
|
201
|
+
* @param {HTMLElement} tag - The tag to add.
|
|
204
202
|
* @param {number} index - The position at which to add the tag.
|
|
205
203
|
* @returns {boolean} false if the tag is already in the light DOM.
|
|
206
204
|
*/
|
|
@@ -215,11 +213,12 @@ export class CfpbTagGroup extends LitElement {
|
|
|
215
213
|
this.#insertIntoShadowDom(tag, index);
|
|
216
214
|
|
|
217
215
|
this.#refreshTagList();
|
|
216
|
+
return true;
|
|
218
217
|
}
|
|
219
218
|
|
|
220
219
|
/**
|
|
221
220
|
* Add a tag to the light DOM.
|
|
222
|
-
* @param {
|
|
221
|
+
* @param {HTMLElement} tag - The tag to add.
|
|
223
222
|
* @param {number} index - The position at which to add the tag.
|
|
224
223
|
*/
|
|
225
224
|
#insertIntoLightDom(tag, index) {
|
|
@@ -232,7 +231,7 @@ export class CfpbTagGroup extends LitElement {
|
|
|
232
231
|
|
|
233
232
|
/**
|
|
234
233
|
* Add a tag to the shadow DOM.
|
|
235
|
-
* @param {
|
|
234
|
+
* @param {HTMLElement} tag - The tag to add.
|
|
236
235
|
* @param {number} index - The position at which to add the tag.
|
|
237
236
|
*/
|
|
238
237
|
#insertIntoShadowDom(tag, index) {
|
|
@@ -275,7 +274,7 @@ export class CfpbTagGroup extends LitElement {
|
|
|
275
274
|
}
|
|
276
275
|
|
|
277
276
|
/**
|
|
278
|
-
* @param {
|
|
277
|
+
* @param {HTMLElement} tag - The tag to add.
|
|
279
278
|
* @returns {string} A unique ID.
|
|
280
279
|
*/
|
|
281
280
|
#tagIdentifier(tag) {
|
|
@@ -285,7 +284,7 @@ export class CfpbTagGroup extends LitElement {
|
|
|
285
284
|
/**
|
|
286
285
|
* Remove a filter tag from the light DOM.
|
|
287
286
|
* This is private because it's called by the mutation observer.
|
|
288
|
-
* @param {
|
|
287
|
+
* @param {HTMLElement} tag - The tag to remove.
|
|
289
288
|
* @returns {boolean} false if the wrapped tag was not found.
|
|
290
289
|
*/
|
|
291
290
|
#removeTagNode(tag) {
|
|
@@ -324,11 +323,12 @@ export class CfpbTagGroup extends LitElement {
|
|
|
324
323
|
|
|
325
324
|
this.#refreshTagList();
|
|
326
325
|
this.focus();
|
|
326
|
+
return true;
|
|
327
327
|
}
|
|
328
328
|
|
|
329
329
|
/**
|
|
330
330
|
* Remove a filter tag from the light and dark DOM.
|
|
331
|
-
* @param {
|
|
331
|
+
* @param {HTMLElement} tag - The tag to remove.
|
|
332
332
|
*/
|
|
333
333
|
removeTag(tag) {
|
|
334
334
|
// Support passing in either light DOM <tag> or shadow DOM <li> if needed
|
|
@@ -341,18 +341,18 @@ export class CfpbTagGroup extends LitElement {
|
|
|
341
341
|
|
|
342
342
|
/**
|
|
343
343
|
* Get light and dark DOM.
|
|
344
|
-
* @param {
|
|
345
|
-
* @returns {
|
|
344
|
+
* @param {HTMLElement} tag - The tag to remove.
|
|
345
|
+
* @returns {HTMLElement|null} The tag node.
|
|
346
346
|
*/
|
|
347
|
-
#getLightDomTag(
|
|
347
|
+
#getLightDomTag(tag) {
|
|
348
348
|
// If node is a wrapped shadow DOM <li>, get the orignal tag inside it.
|
|
349
|
-
if (
|
|
349
|
+
if (tag.tagName === 'LI' && tag.shadowRoot) {
|
|
350
350
|
// unlikely scenario if you don't expose shadow nodes externally.
|
|
351
|
-
return
|
|
351
|
+
return tag.querySelector('cfpb-tag-filter');
|
|
352
352
|
}
|
|
353
353
|
|
|
354
354
|
// If node is already a light DOM tag or child <cfpb-tag-group>, return it.
|
|
355
|
-
if (this.contains(
|
|
355
|
+
if (this.contains(tag)) return tag;
|
|
356
356
|
|
|
357
357
|
return null;
|
|
358
358
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { html, LitElement
|
|
1
|
+
import { html, LitElement } from 'lit';
|
|
2
2
|
import styles from './cfpb-tag-topic.component.scss';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -7,9 +7,7 @@ import styles from './cfpb-tag-topic.component.scss';
|
|
|
7
7
|
* @slot - The content for the topic tag.
|
|
8
8
|
*/
|
|
9
9
|
export class CfpbTagTopic extends LitElement {
|
|
10
|
-
static styles =
|
|
11
|
-
${unsafeCSS(styles)}
|
|
12
|
-
`;
|
|
10
|
+
static styles = styles;
|
|
13
11
|
|
|
14
12
|
/**
|
|
15
13
|
* @property {string} href - href attribute, if this is a topic link.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
@use 'sass:math';
|
|
2
|
+
@use '@cfpb/cfpb-design-system/src/elements/abstracts' as *;
|
|
3
|
+
|
|
4
|
+
:host {
|
|
5
|
+
.a-tagline {
|
|
6
|
+
font-size: math.div(12px, $base-font-size-px) + rem;
|
|
7
|
+
|
|
8
|
+
display: grid;
|
|
9
|
+
grid-template-columns: 22px 1fr;
|
|
10
|
+
column-gap: 10px;
|
|
11
|
+
|
|
12
|
+
&__text {
|
|
13
|
+
// Needed for browsers with legacy/no grid support (e.g. IE11).
|
|
14
|
+
display: inline-block;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
& cfpb-flag-usa {
|
|
18
|
+
margin-top: 1px;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&--large {
|
|
22
|
+
font-size: math.div(16px, $base-font-size-px) + rem;
|
|
23
|
+
|
|
24
|
+
& cfpb-flag-usa {
|
|
25
|
+
margin-top: 4px;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.u-nowrap {
|
|
31
|
+
white-space: nowrap;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { html, LitElement } from 'lit';
|
|
2
|
+
import { CfpbFlagUsa } from '../cfpb-flag-usa';
|
|
3
|
+
import styles from './cfpb-tagline.component.scss';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @element cfpb-icon-text
|
|
7
|
+
* @slot - The main content for the tagline.
|
|
8
|
+
*/
|
|
9
|
+
export class CfpbTagline extends LitElement {
|
|
10
|
+
static styles = styles;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @property {boolean} isLarge - Whether to use the larger tagline appearance.
|
|
14
|
+
* @returns {object} The map of properties.
|
|
15
|
+
*/
|
|
16
|
+
static properties = {
|
|
17
|
+
isLarge: { type: Boolean, reflect: true },
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
constructor() {
|
|
21
|
+
super();
|
|
22
|
+
this.isLarge = false;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
render() {
|
|
26
|
+
const baseClasses = ['a-tagline'];
|
|
27
|
+
if (this.isLarge) baseClasses.push('a-tagline--large');
|
|
28
|
+
|
|
29
|
+
return html`
|
|
30
|
+
<div
|
|
31
|
+
class="${baseClasses.join(' ')}"
|
|
32
|
+
aria-label="Official website of the United States government"
|
|
33
|
+
>
|
|
34
|
+
<cfpb-flag-usa></cfpb-flag-usa>
|
|
35
|
+
<div class="a-tagline__text">
|
|
36
|
+
<slot>
|
|
37
|
+
An official website of the
|
|
38
|
+
<span class="u-nowrap">United States government</span>
|
|
39
|
+
</slot>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
`;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
static init() {
|
|
46
|
+
CfpbFlagUsa.init();
|
|
47
|
+
|
|
48
|
+
globalThis.customElements.get('cfpb-tagline') ??
|
|
49
|
+
globalThis.customElements.define('cfpb-tagline', CfpbTagline);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* - JS arrays
|
|
5
5
|
* - JSON strings
|
|
6
6
|
* - JSON-like strings with single quotes
|
|
7
|
-
* @param {Array
|
|
7
|
+
* @param {Array|string} input - An array or JSON string.
|
|
8
8
|
* @param {object} options - optional settings.
|
|
9
9
|
* @param {boolean} options.allowSingleQuotes - default true.
|
|
10
10
|
* @returns {Array|null} Parsed array/string, or null if invalid.
|
|
@@ -20,6 +20,7 @@ export function parseChildData(input, options = {}) {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
if (typeof input !== 'string') {
|
|
23
|
+
// eslint-disable-next-line no-console
|
|
23
24
|
console.error('childData must be a string or array.');
|
|
24
25
|
return null;
|
|
25
26
|
}
|
|
@@ -38,12 +39,14 @@ export function parseChildData(input, options = {}) {
|
|
|
38
39
|
const parsed = JSON.parse(text);
|
|
39
40
|
|
|
40
41
|
if (!Array.isArray(parsed)) {
|
|
42
|
+
// eslint-disable-next-line no-console
|
|
41
43
|
console.error('childData JSON must parse to an array.');
|
|
42
44
|
return null;
|
|
43
45
|
}
|
|
44
46
|
|
|
45
47
|
return parsed;
|
|
46
48
|
} catch (err) {
|
|
49
|
+
// eslint-disable-next-line no-console
|
|
47
50
|
console.error('Failed to parse childData JSON:', err);
|
|
48
51
|
return null;
|
|
49
52
|
}
|
package/src/elements/index.js
CHANGED
|
@@ -13,6 +13,7 @@ export * from './cfpb-list';
|
|
|
13
13
|
export * from './cfpb-list-item';
|
|
14
14
|
export * from './cfpb-form-search';
|
|
15
15
|
export * from './cfpb-form-search-input';
|
|
16
|
+
export * from './cfpb-tagline';
|
|
16
17
|
export * from './cfpb-tag-filter';
|
|
17
18
|
export * from './cfpb-tag-topic';
|
|
18
19
|
export * from './cfpb-tag-group';
|
package/src/index.scss
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
// Buttons.
|
|
3
2
|
@forward 'components/cfpb-buttons/vars';
|
|
4
3
|
@forward 'components/cfpb-buttons/button';
|
|
@@ -70,7 +69,7 @@
|
|
|
70
69
|
// cfpb-button
|
|
71
70
|
@forward 'elements/cfpb-button/cfpb-button';
|
|
72
71
|
@forward 'elements/cfpb-button/cfpb-button-group';
|
|
73
|
-
@forward 'elements/cfpb-button/cfpb-button-link';
|
|
72
|
+
@forward 'elements/cfpb-button/cfpb-button-link';
|
|
74
73
|
@forward 'elements/cfpb-button/cfpb-button.component';
|
|
75
74
|
@forward 'elements/cfpb-button/vars';
|
|
76
75
|
|
|
@@ -100,11 +100,11 @@ function setInitFlag(element) {
|
|
|
100
100
|
|
|
101
101
|
/**
|
|
102
102
|
* @param {string} selector - Selector to search for in the document.
|
|
103
|
-
* @param {
|
|
103
|
+
* @param {new (...args: unknown[]) => object} Constructor - A constructor function.
|
|
104
104
|
* @param {HTMLElement} [scope] - A dom node in which to query the selector.
|
|
105
105
|
* If not supplied, it defaults to the `document`.
|
|
106
106
|
* @param {object} config - Configuration will be provided to the Constructor's init()
|
|
107
|
-
* @returns {Array} List of instances that were instantiated.
|
|
107
|
+
* @returns {Array<object>} List of instances that were instantiated.
|
|
108
108
|
*/
|
|
109
109
|
function instantiateAll(selector, Constructor, scope, config = {}) {
|
|
110
110
|
const base = scope || document;
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {(options: unknown) => void} EventCallback
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
/* ==========================================================================
|
|
2
6
|
Dom Behaviors
|
|
3
7
|
Behaviors are functionality that can be shared between different pieces
|
|
@@ -33,13 +37,16 @@ import { contains } from '../data-hook.js';
|
|
|
33
37
|
*/
|
|
34
38
|
function _findElements(behaviorSelector, baseElement) {
|
|
35
39
|
baseElement = baseElement || document;
|
|
40
|
+
// eslint-disable-next-line no-useless-assignment
|
|
36
41
|
let behaviorElements = [];
|
|
37
42
|
|
|
38
43
|
try {
|
|
39
44
|
behaviorElements = baseElement.querySelectorAll(behaviorSelector);
|
|
40
45
|
} catch (error) {
|
|
41
46
|
const msg = `${behaviorSelector} not found in DOM! ${error}`;
|
|
42
|
-
throw new Error(msg
|
|
47
|
+
throw new Error(msg, {
|
|
48
|
+
cause: error,
|
|
49
|
+
});
|
|
43
50
|
}
|
|
44
51
|
|
|
45
52
|
if (
|
|
@@ -56,7 +63,7 @@ function _findElements(behaviorSelector, baseElement) {
|
|
|
56
63
|
* @param {( string|HTMLElement|Array|NodeList )} behaviorElement - Used to
|
|
57
64
|
* query dom for elements.
|
|
58
65
|
* @param {string} event - Event type to add to element.
|
|
59
|
-
* @param {
|
|
66
|
+
* @param {EventCallback} eventHandler - Callback for event.
|
|
60
67
|
* @param {HTMLElement} baseElement - Containing element
|
|
61
68
|
* for the behavior element.
|
|
62
69
|
* @returns {Array|NodeList} if it exists in the dom, null otherwise.
|
|
@@ -333,8 +333,8 @@ function FlyoutMenu(element, autoHideContent = true) {
|
|
|
333
333
|
/**
|
|
334
334
|
* Set the transition that runs when this flyout is expanded/collapsed.
|
|
335
335
|
* @param {BaseTransition} transition - A transition object.
|
|
336
|
-
* @param {
|
|
337
|
-
* @param {
|
|
336
|
+
* @param {()=>void} collapseMethod - The collapse method to call on the transition.
|
|
337
|
+
* @param {()=>void} expandMethod - The expand method to call on the transition.
|
|
338
338
|
*/
|
|
339
339
|
function setTransition(transition, collapseMethod, expandMethod) {
|
|
340
340
|
_transition = transition;
|
|
@@ -356,12 +356,10 @@ function FlyoutMenu(element, autoHideContent = true) {
|
|
|
356
356
|
_transition.remove();
|
|
357
357
|
}
|
|
358
358
|
|
|
359
|
-
|
|
359
|
+
_transition = undefined;
|
|
360
360
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
_expandTransitionMethod = UNDEFINED;
|
|
364
|
-
_collapseTransitionMethod = UNDEFINED;
|
|
361
|
+
_expandTransitionMethod = undefined;
|
|
362
|
+
_collapseTransitionMethod = undefined;
|
|
365
363
|
}
|
|
366
364
|
|
|
367
365
|
/**
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {(options: unknown) => void} EventCallback
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
/**
|
|
2
6
|
* EventObserver
|
|
3
7
|
* @class
|
|
@@ -12,7 +16,7 @@ function EventObserver() {
|
|
|
12
16
|
/**
|
|
13
17
|
* Register an event listener.
|
|
14
18
|
* @param {string} event - The event name to listen for.
|
|
15
|
-
* @param {
|
|
19
|
+
* @param {EventCallback} callback - The function called when the event has fired.
|
|
16
20
|
* @returns {object} The instance this EventObserver instance is decorating.
|
|
17
21
|
*/
|
|
18
22
|
function addEventListener(event, callback) {
|
|
@@ -29,7 +33,7 @@ function EventObserver() {
|
|
|
29
33
|
* Remove an added event listener.
|
|
30
34
|
* Must match a call made to addEventListener.
|
|
31
35
|
* @param {string} event - The event name to remove.
|
|
32
|
-
* @param {
|
|
36
|
+
* @param {EventCallback} callback - The function attached to the event.
|
|
33
37
|
* @returns {object} The instance this EventObserver instance is decorating.
|
|
34
38
|
*/
|
|
35
39
|
function removeEventListener(event, callback) {
|
|
@@ -49,7 +53,7 @@ function EventObserver() {
|
|
|
49
53
|
/**
|
|
50
54
|
* Broadcast an event.
|
|
51
55
|
* @param {string} event - The type of event to broadcast.
|
|
52
|
-
* @param {object} options - The event object to pass to the event handler.
|
|
56
|
+
* @param {object} [options] - The event object to pass to the event handler.
|
|
53
57
|
* @returns {object} The instance this EventObserver instance is decorating.
|
|
54
58
|
*/
|
|
55
59
|
function dispatchEvent(event, options) {
|
|
@@ -21,7 +21,7 @@ function AlphaTransition(element) {
|
|
|
21
21
|
const _baseTransition = new BaseTransition(element, CLASSES, this);
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
-
* @param {
|
|
24
|
+
* @param {string} initialClass - The initial CSS class to set the state for this transition.
|
|
25
25
|
* @returns {AlphaTransition} An instance.
|
|
26
26
|
*/
|
|
27
27
|
function init(initialClass) {
|
|
@@ -202,7 +202,7 @@ function BaseTransition(element, classes, child) {
|
|
|
202
202
|
}
|
|
203
203
|
|
|
204
204
|
/**
|
|
205
|
-
* @param {
|
|
205
|
+
* @param {string} initialClass - The initial CSS class to set the state for this transition.
|
|
206
206
|
* @returns {BaseTransition} An instance.
|
|
207
207
|
*/
|
|
208
208
|
function init(initialClass) {
|
|
@@ -68,7 +68,7 @@ function MaxHeightTransition(element) {
|
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
/**
|
|
71
|
-
* @param {
|
|
71
|
+
* @param {string} initialClass - The initial CSS class to set the state for this transition.
|
|
72
72
|
* @returns {MaxHeightTransition} An instance.
|
|
73
73
|
*/
|
|
74
74
|
function init(initialClass) {
|
|
@@ -25,7 +25,7 @@ function MoveTransition(element) {
|
|
|
25
25
|
const _baseTransition = new BaseTransition(element, CLASSES, this);
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
|
-
* @param {
|
|
28
|
+
* @param {string} initialClass - The initial CSS class to set the state for this transition.
|
|
29
29
|
* @returns {MoveTransition} An instance.
|
|
30
30
|
*/
|
|
31
31
|
function init(initialClass) {
|
|
@@ -17,7 +17,7 @@ const _toString = Object.prototype.toString;
|
|
|
17
17
|
* @kind function
|
|
18
18
|
* @description
|
|
19
19
|
* Determines if a reference is undefined.
|
|
20
|
-
* @param {
|
|
20
|
+
* @param {unknown} value - Reference to check.
|
|
21
21
|
* @returns {boolean} True if `value` is undefined.
|
|
22
22
|
*/
|
|
23
23
|
function isUndefined(value) {
|
|
@@ -29,7 +29,7 @@ function isUndefined(value) {
|
|
|
29
29
|
* @kind function
|
|
30
30
|
* @description
|
|
31
31
|
* Determines if a reference is defined.
|
|
32
|
-
* @param {
|
|
32
|
+
* @param {unknown} value - Reference to check.
|
|
33
33
|
* @returns {boolean} True if `value` is defined.
|
|
34
34
|
*/
|
|
35
35
|
function isDefined(value) {
|
|
@@ -43,7 +43,7 @@ function isDefined(value) {
|
|
|
43
43
|
* Determines if a reference is an `Object`.
|
|
44
44
|
* Unlike `typeof` in JavaScript, `null`s are not
|
|
45
45
|
* considered to be objects. Note that JavaScript arrays are objects.
|
|
46
|
-
* @param {
|
|
46
|
+
* @param {unknown} value - Reference to check.
|
|
47
47
|
* @returns {boolean} True if `value` is an `Object` but not `null`.
|
|
48
48
|
*/
|
|
49
49
|
function isObject(value) {
|
|
@@ -56,7 +56,7 @@ function isObject(value) {
|
|
|
56
56
|
* @kind function
|
|
57
57
|
* @description
|
|
58
58
|
* Determines if a reference is a `String`.
|
|
59
|
-
* @param {
|
|
59
|
+
* @param {unknown} value - Reference to check.
|
|
60
60
|
* @returns {boolean} True if `value` is a `String`.
|
|
61
61
|
*/
|
|
62
62
|
function isString(value) {
|
|
@@ -75,7 +75,7 @@ function isString(value) {
|
|
|
75
75
|
* [`isFinite'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/
|
|
76
76
|
* Reference/Global_Objects/isFinite)
|
|
77
77
|
* method.
|
|
78
|
-
* @param {
|
|
78
|
+
* @param {unknown} value - Reference to check.
|
|
79
79
|
* @returns {boolean} True if `value` is a `Number`.
|
|
80
80
|
*/
|
|
81
81
|
function isNumber(value) {
|
|
@@ -87,7 +87,7 @@ function isNumber(value) {
|
|
|
87
87
|
* @kind function
|
|
88
88
|
* @description
|
|
89
89
|
* Determines if a value is a date.
|
|
90
|
-
* @param {
|
|
90
|
+
* @param {unknown} value - Reference to check.
|
|
91
91
|
* @returns {boolean} True if `value` is a `Date`.
|
|
92
92
|
*/
|
|
93
93
|
function isDate(value) {
|
|
@@ -99,7 +99,7 @@ function isDate(value) {
|
|
|
99
99
|
* @kind function
|
|
100
100
|
* @description
|
|
101
101
|
* Determines if a reference is an `Array`.
|
|
102
|
-
* @param {
|
|
102
|
+
* @param {unknown} value - Reference to check.
|
|
103
103
|
* @returns {boolean} True if `value` is an `Array`.
|
|
104
104
|
*/
|
|
105
105
|
const isArray =
|
|
@@ -113,7 +113,7 @@ const isArray =
|
|
|
113
113
|
* @kind function
|
|
114
114
|
* @description
|
|
115
115
|
* Determines if a reference is a `Function`.
|
|
116
|
-
* @param {
|
|
116
|
+
* @param {unknown} value - Reference to check.
|
|
117
117
|
* @returns {boolean} True if `value` is a `Function`.
|
|
118
118
|
*/
|
|
119
119
|
function isFunction(value) {
|
|
@@ -127,7 +127,7 @@ function isFunction(value) {
|
|
|
127
127
|
* @kind function
|
|
128
128
|
* @description
|
|
129
129
|
* Determines if a reference is empty.
|
|
130
|
-
* @param {
|
|
130
|
+
* @param {unknown} value - Reference to check.
|
|
131
131
|
* @returns {boolean} True if `value` is empty.
|
|
132
132
|
*/
|
|
133
133
|
function isEmpty(value) {
|
|
@@ -29,11 +29,10 @@ const anObject = {
|
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
const anArray = [1, 2, 3];
|
|
32
|
-
let UNDEFINED;
|
|
33
32
|
|
|
34
33
|
describe('TypeCheckers isUndefined', () => {
|
|
35
34
|
it('should identify undefined variables', () => {
|
|
36
|
-
expect(isUndefined(
|
|
35
|
+
expect(isUndefined(undefined)).toBe(true);
|
|
37
36
|
});
|
|
38
37
|
|
|
39
38
|
it('should NOT return true for blank variables', () => {
|
|
@@ -55,7 +54,7 @@ describe('TypeCheckers isDefined', () => {
|
|
|
55
54
|
});
|
|
56
55
|
|
|
57
56
|
it('should NOT return true for undefined variables', () => {
|
|
58
|
-
expect(isDefined(
|
|
57
|
+
expect(isDefined(undefined)).toBe(false);
|
|
59
58
|
});
|
|
60
59
|
});
|
|
61
60
|
|
package/dist/abstracts/index.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../packages/cfpb-design-system/src/abstracts/vars-breakpoints.js"],
|
|
4
|
-
"sourcesContent": ["/* ==========================================================================\n Design System\n Breakpoint JavaScript variables.\n All values are pixel based.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.scss as well.\n ========================================================================== */\n\nexport const varsBreakpoints = {\n bpXS: {\n min: 0,\n max: 600,\n },\n bpSM: {\n min: 601,\n max: 900,\n },\n bpMED: {\n min: 901,\n max: 1020,\n },\n bpLG: {\n min: 1021,\n max: 1200,\n },\n bpXL: {\n min: 1201,\n },\n};\n"],
|
|
5
|
-
"mappings": "MASO,IAAMA,EAAkB,CAC7B,KAAM,CACJ,IAAK,EACL,IAAK,GACP,EACA,KAAM,CACJ,IAAK,IACL,IAAK,GACP,EACA,MAAO,CACL,IAAK,IACL,IAAK,IACP,EACA,KAAM,CACJ,IAAK,KACL,IAAK,IACP,EACA,KAAM,CACJ,IAAK,IACP,CACF",
|
|
6
|
-
"names": ["varsBreakpoints"]
|
|
7
|
-
}
|
package/dist/base/index.css
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
@charset "UTF-8";html{font-family:sans-serif;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:initial;height:0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201c" "\201d" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sup{top:-.5em}sub{bottom:-.25em}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{appearance:textfield;box-sizing:initial}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}:root{--font-adjust-base:.517;--font-adjust-step:.0054;--font-adjust-h1:calc(var(--font-size-adjust-base) + var(--font-adjust-step)*5);--font-adjust-h2:calc(var(--font-size-adjust-base) + var(--font-adjust-step)*4);--font-adjust-h3:calc(var(--font-size-adjust-base) + var(--font-adjust-step)*3);--font-adjust-h4:calc(var(--font-size-adjust-base) + var(--font-adjust-step)*2);--font-adjust-h5:calc(var(--font-size-adjust-base) + var(--font-adjust-step)*1);--font-adjust-h6:var(--font-adjust-base);--font-adjust-body:var(--font-adjust-base);--input-text-default:var(--black);--input-text-disabled-default:var(--gray-dark);--input-text-placeholder-default:var(--gray-dark);--input-border-default:var(--gray-60);--input-border-disabled:var(--gray-60);--input-border-success:var(--green);--input-border-warning:var(--gold);--input-border-error:var(--red);--input-border-hover-default:var(--pacific);--input-border-focus-default:var(--pacific);--input-bg-default:var(--white);--input-bg-disabled-default:var(--gray-10);--form-alert-icon-color-default:var(--gray);--form-alert-icon-color-success:var(--green);--form-alert-icon-color-warning:var(--gold);--form-alert-icon-color-error:var(--red);--select-border-default:var(--gray-60);--select-border-width-default:1px;--select-border-error:var(--red);--select-border-width-error:2px;--select-border-hover-default:var(--pacific);--select-border-focus-default:var(--pacific);--select-bg-disabled-default:var(--gray-10);--select-icon-bg-default:var(--gray-10);--select-text-disabled-default:var(--gray-dark);--choice-border-default:var(--gray-60);--choice-border-disabled:var(--gray-60);--choice-border-success:var(--green);--choice-border-warning:var(--gold);--choice-border-error:var(--red);--choice-border-hover-default:var(--pacific);--choice-border-focus-default:var(--pacific);--choice-outline-focus-default:var(--pacific);--choice-bg-default:var(--white);--choice-bg-disabled:var(--gray-10);--choice-bg-selected-default:var(--pacific);--choice-bg-selected-disabled:var(--gray-40);--choice-bg-selected-focus-default:var(--pacific);--choice-label-disabled-default:var(--gray-dark)}body{color:var(--black);font-family:var(--font-stack);font-size:100%;font-size-adjust:var(--font-adjust-body);line-height:1.375;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:var(--font-stack);font-size-adjust:var(--font-adjust-body);line-height:1.1875}input[type=date]{display:revert;min-height:35px;min-width:100px;padding-bottom:0;padding-top:0}input[type=date].a-text-input--full{min-width:100%}hr{border:none;border-top:1px solid var(--gray-40)}b,strong{font-weight:600}h1,h2,h3,h4,h5,h6{margin-top:0}.h1,h1{font-size:2.125em;font-size-adjust:var(--font-adjust-h1);font-weight:600;letter-spacing:inherit;line-height:1.25;margin-bottom:.4411764706em;text-transform:inherit}blockquote+.h1,blockquote+h1,dl+.h1,dl+h1,figure+.h1,figure+h1,img+.h1,img+h1,ol+.h1,ol+h1,p+.h1,p+h1,table+.h1,table+h1,ul+.h1,ul+h1{margin-top:1.7647058824em}@media only screen and (max-width:37.5em){.h2+.h1,.h2+h1,.h3+.h1,.h3+h1,.h4+.h1,.h4+h1,.h5+.h1,.h5+h1,.h6+.h1,.h6+h1,h2+.h1,h2+h1,h3+.h1,h3+h1,h4+.h1,h4+h1,h5+.h1,h5+h1,h6+.h1,h6+h1{margin-top:1.1538461538em}.h1,h1{font-size:1.625em;font-size-adjust:var(--font-adjust-h2);font-weight:600;letter-spacing:inherit;line-height:1.25;margin-bottom:.5769230769em;text-transform:inherit}blockquote+.h1,blockquote+h1,dl+.h1,dl+h1,figure+.h1,figure+h1,img+.h1,img+h1,ol+.h1,ol+h1,p+.h1,p+h1,table+.h1,table+h1,ul+.h1,ul+h1{margin-top:1.7307692308em}.h1+.h1,.h1+h1,.h3+.h1,.h3+h1,.h4+.h1,.h4+h1,.h5+.h1,.h5+h1,.h6+.h1,.h6+h1,h1+.h1,h1+h1,h3+.h1,h3+h1,h4+.h1,h4+h1,h5+.h1,h5+h1,h6+.h1,h6+h1{margin-top:1.1538461538em}}.h2,h2{font-size:1.625em;font-size-adjust:var(--font-adjust-h2);font-weight:600;letter-spacing:inherit;line-height:1.25;margin-bottom:.5769230769em;text-transform:inherit}blockquote+.h2,blockquote+h2,dl+.h2,dl+h2,figure+.h2,figure+h2,img+.h2,img+h2,ol+.h2,ol+h2,p+.h2,p+h2,table+.h2,table+h2,ul+.h2,ul+h2{margin-top:1.7307692308em}.h1+.h2,.h1+h2,.h3+.h2,.h3+h2,.h4+.h2,.h4+h2,.h5+.h2,.h5+h2,.h6+.h2,.h6+h2,h1+.h2,h1+h2,h3+.h2,h3+h2,h4+.h2,h4+h2,h5+.h2,h5+h2,h6+.h2,h6+h2{margin-top:1.1538461538em}@media only screen and (max-width:37.5em){blockquote+.h2,blockquote+h2,dl+.h2,dl+h2,figure+.h2,figure+h2,img+.h2,img+h2,ol+.h2,ol+h2,p+.h2,p+h2,table+.h2,table+h2,ul+.h2,ul+h2{margin-top:1.3636363636em}.h2,h2{font-size:1.375em;font-size-adjust:var(--font-adjust-h3);font-weight:600;letter-spacing:inherit;line-height:1.25;margin-bottom:.6818181818em;text-transform:inherit}.h1+.h2,.h1+h2,.h2+.h2,.h2+h2,.h4+.h2,.h4+h2,.h5+.h2,.h5+h2,.h6+.h2,.h6+h2,blockquote+.h2,blockquote+h2,dl+.h2,dl+h2,figure+.h2,figure+h2,h1+.h2,h1+h2,h2+.h2,h2+h2,h4+.h2,h4+h2,h5+.h2,h5+h2,h6+.h2,h6+h2,img+.h2,img+h2,ol+.h2,ol+h2,p+.h2,p+h2,table+.h2,table+h2,ul+.h2,ul+h2{margin-top:1.3636363636em}}.h3,h3{font-size:1.375em;font-size-adjust:var(--font-adjust-h3);font-weight:400;letter-spacing:inherit;line-height:1.25;margin-bottom:.6818181818em;text-transform:inherit}.h1+.h3,.h1+h3,.h2+.h3,.h2+h3,.h4+.h3,.h4+h3,.h5+.h3,.h5+h3,.h6+.h3,.h6+h3,blockquote+.h3,blockquote+h3,dl+.h3,dl+h3,figure+.h3,figure+h3,h1+.h3,h1+h3,h2+.h3,h2+h3,h4+.h3,h4+h3,h5+.h3,h5+h3,h6+.h3,h6+h3,img+.h3,img+h3,ol+.h3,ol+h3,p+.h3,p+h3,table+.h3,table+h3,ul+.h3,ul+h3{margin-top:1.3636363636em}@media only screen and (max-width:37.5em){.h3,h3{font-size:1.125em;font-size-adjust:var(--font-adjust-h4);font-weight:400;letter-spacing:inherit;line-height:1.25;margin-bottom:.8333333333em;text-transform:inherit}.h1+.h3,.h1+h3,.h2+.h3,.h2+h3,.h3+.h3,.h3+h3,.h5+.h3,.h5+h3,.h6+.h3,.h6+h3,blockquote+.h3,blockquote+h3,dl+.h3,dl+h3,figure+.h3,figure+h3,h1+.h3,h1+h3,h2+.h3,h2+h3,h3+.h3,h3+h3,h5+.h3,h5+h3,h6+.h3,h6+h3,img+.h3,img+h3,ol+.h3,ol+h3,p+.h3,p+h3,table+.h3,table+h3,ul+.h3,ul+h3{margin-top:1.6666666667em}}.h4,h4{font-size:1.125em;font-size-adjust:var(--font-adjust-h4);font-weight:500;letter-spacing:inherit;line-height:1.25;margin-bottom:.8333333333em;text-transform:inherit}.h1+.h4,.h1+h4,.h2+.h4,.h2+h4,.h3+.h4,.h3+h4,.h5+.h4,.h5+h4,.h6+.h4,.h6+h4,blockquote+.h4,blockquote+h4,dl+.h4,dl+h4,figure+.h4,figure+h4,h1+.h4,h1+h4,h2+.h4,h2+h4,h3+.h4,h3+h4,h5+.h4,h5+h4,h6+.h4,h6+h4,img+.h4,img+h4,ol+.h4,ol+h4,p+.h4,p+h4,table+.h4,table+h4,ul+.h4,ul+h4{margin-top:1.6666666667em}@media only screen and (max-width:37.5em){.h4,h4{font-size:1em;line-height:1.125;margin-bottom:.625em}}.h5,h5{font-size:.875em;font-size-adjust:var(--font-adjust-h5);font-weight:600;letter-spacing:1px;line-height:1.25;margin-bottom:1.0714285714em;text-transform:uppercase}.h1+.h5,.h1+h5,.h2+.h5,.h2+h5,.h3+.h5,.h3+h5,.h4+.h5,.h4+h5,.h6+.h5,.h6+h5,blockquote+.h5,blockquote+h5,dl+.h5,dl+h5,figure+.h5,figure+h5,h1+.h5,h1+h5,h2+.h5,h2+h5,h3+.h5,h3+h5,h4+.h5,h4+h5,h6+.h5,h6+h5,img+.h5,img+h5,ol+.h5,ol+h5,p+.h5,p+h5,table+.h5,table+h5,ul+.h5,ul+h5{margin-top:2.1428571429em}.h6,h6{font-size:.75em;font-size-adjust:var(--font-adjust-h6);font-weight:600;letter-spacing:1px;line-height:1.25;margin-bottom:1.25em;text-transform:uppercase}.h1+.h6,.h1+h6,.h2+.h6,.h2+h6,.h3+.h6,.h3+h6,.h4+.h6,.h4+h6,.h5+.h6,.h5+h6,blockquote+.h6,blockquote+h6,dl+.h6,dl+h6,figure+.h6,figure+h6,h1+.h6,h1+h6,h2+.h6,h2+h6,h3+.h6,h3+h6,h4+.h6,h4+h6,h5+.h6,h5+h6,img+.h6,img+h6,ol+.h6,ol+h6,p+.h6,p+h6,table+.h6,table+h6,ul+.h6,ul+h6{margin-top:2.5em}.lead-paragraph{font-size:1.375em;font-size-adjust:var(--font-adjust-h3);font-weight:400;letter-spacing:inherit;line-height:1.25;margin-bottom:15px;margin-top:0;text-transform:inherit}@media only screen and (max-width:37.5em){.lead-paragraph{font-size:1.125em;font-size-adjust:var(--font-adjust-h4);font-weight:400;letter-spacing:inherit;line-height:1.25;text-transform:inherit}}.superheading{font-size:3em;font-weight:400;line-height:1.25;margin-bottom:.4166666667em}blockquote,dl,figure,ol,p,table,ul{margin-bottom:.9375em;margin-top:0}blockquote:last-child,dl:last-child,figure:last-child,ol:last-child,p:last-child,table:last-child,ul:last-child{margin-bottom:0}p+ol,p+ul{margin-top:-.3125em}ol ol,ol ul,ul ol,ul ul{margin-top:.5em}li{margin-bottom:.5em}li:last-child,nav li{margin-bottom:0}a{color:var(--pacific);text-decoration-color:var(--pacific);text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:4.5px}a.visited,a:visited{color:var(--teal);text-decoration-color:var(--teal)}a.hover,a:hover{color:var(--pacific-dark);text-decoration-color:var(--pacific-dark);text-decoration-style:solid}a.focus,a:focus{outline:thin dotted;outline-offset:1px}a.active,a:active{color:var(--navy);text-decoration-color:var(--navy);text-decoration-style:solid}nav a{text-decoration-line:none}ul{list-style:square;padding-left:1.125em}ul ul{list-style-type:circle}ol{padding-left:1.3125em}ol li:nth-last-child(n+10),ol li:nth-last-child(n+10)~li{margin-left:.5625rem}ol ol{list-style-type:lower-alpha}ol ol li{margin-left:0!important}ol ol ol{list-style-type:lower-roman}nav ol,nav ol ol,nav ul,nav ul ul{list-style:none;list-style-image:none}caption{margin-bottom:.625em;text-align:left}td,th{padding:.625em}thead td,thead th{background:var(--gray-5);color:var(--black);font-size:1em;padding:.7142857143em;vertical-align:top}tbody tr,thead{border-bottom:1px solid var(--gray)}th{font-weight:600;text-align:left}thead th .h2,thead th .h3,thead th .h4,thead th .h5,thead th .h6,thead th h2,thead th h3,thead th h4,thead th h5,thead th h6{font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;text-transform:inherit}blockquote{margin-left:.9375em;margin-right:.9375em}@media only screen and (min-width:37.5625em){blockquote{margin-left:1.875em;margin-right:1.875em}}img{max-width:100%}figure{margin-left:0;margin-right:0}figure img{vertical-align:middle}code,pre{background:var(--gray-5);border-radius:4px;color:var(--black);font-family:Input Mono,Consolas,Monaco,Courier New,monospace}code{font-size:.8125em;padding:.2307692308em .2307692308em 0}pre{display:block;overflow-wrap:break-word;padding:.625em .9375em;white-space:pre-wrap}pre code{background-color:initial;padding:0}
|
|
2
|
-
/*! normalize.css v2.1.3 | MIT License | git.io/normalize */
|
|
3
|
-
/*# sourceMappingURL=index.css.map */
|