UNPKG

@cfpb/cfpb-design-system

Version:
4 lines 684 kB
{ "version": 3, "sources": ["../../../packages/cfpb-design-system/src/abstracts/vars-breakpoints.js", "../../../packages/cfpb-design-system/src/base/normalize.scss", "../../../packages/cfpb-design-system/src/base/base.scss", "../../../packages/cfpb-design-system/src/components/cfpb-buttons/button.scss", "../../../packages/cfpb-design-system/src/components/cfpb-buttons/button-group.scss", "../../../packages/cfpb-design-system/src/components/cfpb-buttons/button-link.scss", "../../../packages/cfpb-design-system/src/utilities/utilities.scss", "../../../packages/cfpb-design-system/src/utilities/breakpoint-state.js", "../../../packages/cfpb-design-system/src/utilities/standard-type.js", "../../../packages/cfpb-design-system/src/utilities/event-observer.js", "../../../packages/cfpb-design-system/src/utilities/data-hook.js", "../../../packages/cfpb-design-system/src/utilities/atomic-helpers.js", "../../../packages/cfpb-design-system/src/utilities/behavior/behavior.js", "../../../packages/cfpb-design-system/src/utilities/type-checkers.js", "../../../packages/cfpb-design-system/src/utilities/media-helpers.js", "../../../packages/cfpb-design-system/src/utilities/transition/base-transition.js", "../../../packages/cfpb-design-system/src/utilities/behavior/flyout-menu.js", "../../../packages/cfpb-design-system/src/utilities/transition/alpha-transition.js", "../../../packages/cfpb-design-system/src/utilities/transition/max-height-transition.js", "../../../packages/cfpb-design-system/src/utilities/transition/move-transition.js", "../../../packages/cfpb-design-system/src/components/cfpb-expandables/expandable.scss", "../../../packages/cfpb-design-system/src/components/cfpb-expandables/expandable.js", "../../../packages/cfpb-design-system/src/components/cfpb-expandables/expandable-group.scss", "../../../packages/cfpb-design-system/src/components/cfpb-expandables/expandable-group.js", "../../../packages/cfpb-design-system/src/components/cfpb-expandables/summary.scss", "../../../packages/cfpb-design-system/src/components/cfpb-expandables/summary.js", "../../../packages/cfpb-design-system/src/components/cfpb-expandables/summary-minimal.js", "../../../packages/cfpb-design-system/src/components/cfpb-forms/form.scss", "../../../packages/cfpb-design-system/src/components/cfpb-forms/form-alert.scss", "../../../packages/cfpb-design-system/src/components/cfpb-forms/form-field.scss", "../../../packages/cfpb-design-system/src/components/cfpb-forms/label.scss", "../../../packages/cfpb-design-system/src/components/cfpb-forms/range.scss", "../../../packages/cfpb-design-system/src/components/cfpb-forms/search-input.scss", "../../../packages/cfpb-design-system/src/components/cfpb-forms/select.scss", "../../../packages/cfpb-design-system/src/components/cfpb-forms/tag.scss", "../../../packages/cfpb-design-system/src/components/cfpb-forms/text-input.scss", "../../../packages/cfpb-design-system/src/components/cfpb-forms/multiselect-model.js", "../../../packages/cfpb-design-system/src/components/cfpb-forms/multiselect-utils.js", "../../../packages/cfpb-design-system/src/components/cfpb-icons/icons/error.svg", "../../../packages/cfpb-design-system/src/components/cfpb-forms/multiselect.js", "../../../packages/cfpb-design-system/src/components/cfpb-icons/icon.scss", "../../../packages/cfpb-design-system/src/components/cfpb-layout/card.scss", "../../../packages/cfpb-design-system/src/components/cfpb-layout/card-group.scss", "../../../packages/cfpb-design-system/src/components/cfpb-layout/email-signup.scss", "../../../packages/cfpb-design-system/src/components/cfpb-layout/featured-content-module.scss", "../../../packages/cfpb-design-system/src/components/cfpb-layout/hero.scss", "../../../packages/cfpb-design-system/src/components/cfpb-layout/layout.scss", "../../../packages/cfpb-design-system/src/components/cfpb-layout/text-introduction.scss", "../../../packages/cfpb-design-system/src/components/cfpb-layout/well.scss", "../../../packages/cfpb-design-system/src/components/cfpb-notifications/banner.scss", "../../../packages/cfpb-design-system/src/components/cfpb-notifications/notification.scss", "../../../packages/cfpb-design-system/src/components/cfpb-pagination/pagination.scss", "../../../packages/cfpb-design-system/src/components/cfpb-tables/table.scss", "../../../packages/cfpb-design-system/src/components/cfpb-typography/date.scss", "../../../packages/cfpb-design-system/src/components/cfpb-typography/link.scss", "../../../packages/cfpb-design-system/src/components/cfpb-typography/list.scss", "../../../packages/cfpb-design-system/src/components/cfpb-typography/meta-header.scss", "../../../packages/cfpb-design-system/src/components/cfpb-typography/pull-quote.scss", "../../../packages/cfpb-design-system/src/components/cfpb-typography/slug-header.scss", "../../../packages/cfpb-design-system/src/components/cfpb-typography/tagline.scss", "../../../node_modules/@lit/reactive-element/src/css-tag.ts", "../../../node_modules/@lit/reactive-element/src/reactive-element.ts", "../../../node_modules/lit-html/src/lit-html.ts", "../../../node_modules/lit-element/src/lit-element.ts", "../../../node_modules/lit-html/src/directive.ts", "../../../node_modules/lit-html/src/directives/class-map.ts", "../../../node_modules/lit-html/src/directive-helpers.ts", "../../../node_modules/lit-html/src/async-directive.ts", "../../../node_modules/lit-html/src/directives/ref.ts", "../../../packages/cfpb-design-system/src/elements/cfpb-button/cfpb-button.component.scss", "../../../packages/cfpb-design-system/src/elements/cfpb-icon-text/cfpb-icon-text.component.scss", "", "", "../../../packages/cfpb-design-system/src/elements/cfpb-form-choice/cfpb-form-choice.component.scss", "", "../../../packages/cfpb-design-system/src/elements/cfpb-file-upload/cfpb-file-upload.component.scss", "", "../../../packages/cfpb-design-system/src/elements/cfpb-label/cfpb-label.component.scss", "../../../node_modules/lit-html/src/directives/if-defined.ts", "", "../../../node_modules/lit-html/src/directives/unsafe-html.ts", "../../../packages/cfpb-design-system/src/elements/cfpb-tag-filter/cfpb-tag-filter.component.scss", "", "../../../packages/cfpb-design-system/src/elements/cfpb-tag-topic/cfpb-tag-topic.component.scss", "", "../../../packages/cfpb-design-system/src/elements/cfpb-tag-group/cfpb-tag-group.component.scss", "", "../../../packages/cfpb-design-system/src/elements/cfpb-multiselect/cfpb-multiselect.component.scss", "../../../packages/cfpb-design-system/src/elements/cfpb-multiselect/multiselect-model.js", "", "../../../node_modules/lit-html/src/directives/unsafe-svg.ts", "../../../packages/cfpb-design-system/src/elements/cfpb-pagination/cfpb-pagination.component.scss", "../../../packages/cfpb-design-system/src/components/cfpb-icons/icons/left.svg", "../../../packages/cfpb-design-system/src/components/cfpb-icons/icons/right.svg", "../../../packages/cfpb-design-system/src/elements/cfpb-utilities/i18n-service.js", "../../../packages/cfpb-design-system/src/elements/cfpb-utilities/media-query-service.js", ""], "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", "@charset \"UTF-8\";\n/*! normalize.css v2.1.3 | MIT License | git.io/normalize */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:\"\u201C\" \"\u201D\" \"\u2018\" \"\u2019\"}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:0.517;--font-adjust-step:0.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);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){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}.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;text-decoration-style:solid}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}", ":root{--font-adjust-base:0.517;--font-adjust-step:0.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)}button.a-btn::-moz-focus-inner,input.a-btn::-moz-focus-inner{border:0}.a-btn{align-items:center;appearance:none;border:0;border-radius:.25em;box-sizing:border-box;cursor:pointer;display:flex;font-size:1em;font-weight:500;gap:.625rem;height:fit-content;justify-content:center;margin:0;padding:.5em .875em;text-align:center;text-decoration:none;transition:background-color .1s;width:fit-content}.a-btn,.a-btn:link,.a-btn:visited{background-color:var(--pacific);color:var(--white)}.a-btn.focus,.a-btn.hover,.a-btn:focus,.a-btn:hover{background-color:var(--pacific-dark);color:var(--white)}.a-btn.focus,.a-btn:focus{outline:1px dotted var(--pacific);outline-offset:1px}.a-btn.active,.a-btn:active{background-color:var(--navy)}.a-btn--secondary,.a-btn--secondary:link,.a-btn--secondary:visited{background-color:var(--white);box-shadow:0 0 0 1px var(--pacific) inset;color:var(--pacific)}.a-btn--secondary.focus,.a-btn--secondary.hover,.a-btn--secondary:focus,.a-btn--secondary:hover{background-color:var(--pacific-10);box-shadow:0 0 0 1px var(--pacific-dark) inset;color:var(--pacific-dark)}.a-btn--secondary.focus,.a-btn--secondary:focus{outline-color:var(--pacific)}.a-btn--secondary.active,.a-btn--secondary:active{background-color:var(--pacific-20);box-shadow:0 0 0 1px var(--navy) inset;color:var(--navy)}.a-btn--warning,.a-btn--warning:link,.a-btn--warning:visited{background-color:var(--red-mid-dark);color:var(--white)}.a-btn--warning.focus,.a-btn--warning.hover,.a-btn--warning:focus,.a-btn--warning:hover{background-color:var(--red-dark)}.a-btn--warning.focus,.a-btn--warning:focus{outline-color:var(--red-mid-dark)}.a-btn--warning.active,.a-btn--warning:active{background-color:var(--gray-dark)}.a-btn--disabled,.a-btn--disabled.active,.a-btn--disabled.focus,.a-btn--disabled.hover,.a-btn--disabled:active,.a-btn--disabled:focus,.a-btn--disabled:hover,.a-btn--disabled:link,.a-btn--disabled:visited,.a-btn[aria-disabled=true],.a-btn[aria-disabled=true].active,.a-btn[aria-disabled=true].focus,.a-btn[aria-disabled=true].hover,.a-btn[aria-disabled=true]:active,.a-btn[aria-disabled=true]:focus,.a-btn[aria-disabled=true]:hover,.a-btn[aria-disabled=true]:link,.a-btn[aria-disabled=true]:visited,.a-btn[disabled],.a-btn[disabled].active,.a-btn[disabled].focus,.a-btn[disabled].hover,.a-btn[disabled]:active,.a-btn[disabled]:focus,.a-btn[disabled]:hover,.a-btn[disabled]:link,.a-btn[disabled]:visited{background-color:var(--gray-20);color:var(--gray-dark);cursor:default;cursor:not-allowed}.a-btn--disabled.focus,.a-btn--disabled:focus,.a-btn[aria-disabled=true].focus,.a-btn[aria-disabled=true]:focus,.a-btn[disabled].focus,.a-btn[disabled]:focus{outline-color:var(--gray-20)}@media only screen and (max-width:37.5em){.a-btn--full-on-xs{width:100%}}.a-btn:has(svg+span) span{order:3}.a-btn:has(span+svg) svg{flex:none;order:3}.a-btn:not(.a-btn--hide-icon):has(span+svg):before,.a-btn:not(.a-btn--hide-icon):has(svg+span):before{border-left:1px solid var(--pacific-60);content:\"\";order:2;place-self:normal}.a-btn--secondary:has(svg):before{border-color:var(--pacific-60)!important}.a-btn--warning:has(svg):before{border-color:var(--red-60)!important}.a-btn--disabled:has(svg):before,.a-btn[aria-disabled=true]:has(svg):before,.a-btn[disabled]:has(svg):before{border-color:var(--gray-60)!important}.a-btn--hide-icon svg{display:none}", ":root{--font-adjust-base:0.517;--font-adjust-step:0.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)}.m-btn-group{align-items:center;display:flex;flex-wrap:wrap;gap:.9375rem;width:fit-content}", ":root{--font-adjust-base:0.517;--font-adjust-step:0.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)}.a-btn--link{border-radius:0;padding:1.5px 0;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:4.5px}.a-btn--link:has(svg){gap:.3125rem}.a-btn--link:has(svg):before{display:none}.a-btn--link,.a-btn--link:link,.a-btn--link:visited{background-color:initial;color:var(--pacific);text-decoration-color:var(--pacific)}.a-btn--link.hover,.a-btn--link:hover{background-color:initial;color:var(--pacific-dark);text-decoration-color:var(--pacific-dark);text-decoration-style:solid}.a-btn--link.focus,.a-btn--link:focus{background-color:initial;color:var(--pacific);outline:1px dotted var(--pacific);text-decoration-style:solid}.a-btn--link.active,.a-btn--link:active{background-color:initial;color:var(--navy);text-decoration-color:var(--navy);text-decoration-style:solid}.a-btn--link.a-btn--warning,.a-btn--link.a-btn--warning:link,.a-btn--link.a-btn--warning:visited{background-color:initial;color:var(--red-mid-dark);text-decoration-color:var(--red-mid-dark)}.a-btn--link.a-btn--warning.hover,.a-btn--link.a-btn--warning:hover{background-color:initial;color:var(--red-dark);text-decoration-color:var(--red-dark);text-decoration-style:solid}.a-btn--link.a-btn--warning.focus,.a-btn--link.a-btn--warning:focus{background-color:initial;color:var(--red-mid-dark);outline:1px dotted var(--red-mid-dark);text-decoration-style:solid}.a-btn--link.a-btn--warning.active,.a-btn--link.a-btn--warning:active{background-color:initial;color:var(--gray-dark);text-decoration-color:var(--gray-dark);text-decoration-style:solid}", ":root{--font-adjust-base:0.517;--font-adjust-step:0.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)}.no-js .u-js-only,.u-hide-if-js{display:none!important}.no-js .u-hide-if-js{display:block!important}@media screen{.u-print-only{display:none}}@media print{.u-screen-only{display:none}}.u-clearfix:after{clear:both;content:\"\";display:table}.u-visually-hidden{border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0 0 0 0)}@media only screen and (max-width:37.5em){.u-hide-on-mobile{display:none}}@media only screen and (min-width:37.5625em){.u-show-on-mobile{display:none}}.u-hidden{display:none!important}.u-invisible{visibility:hidden}.u-right{float:right}.u-nowrap{white-space:nowrap}.u-flexible-container{height:0;padding-bottom:56.25%;position:relative}.u-flexible-container__inner{height:100%;left:0;position:absolute;top:0;width:100%}.u-flexible-container--4-3{height:0;padding-bottom:75%;position:relative}.u-mt0{margin-top:0!important}.u-mb0{margin-bottom:0!important}.u-mt5{margin-top:5px!important}.u-mb5{margin-bottom:5px!important}.u-mt10{margin-top:10px!important}.u-mb10{margin-bottom:10px!important}.u-mt15{margin-top:15px!important}.u-mb15{margin-bottom:15px!important}.u-mt20{margin-top:20px!important}.u-mb20{margin-bottom:20px!important}.u-mt30{margin-top:30px!important}.u-mb30{margin-bottom:30px!important}.u-mt45{margin-top:45px!important}.u-mb45{margin-bottom:45px!important}.u-mt60{margin-top:60px!important}.u-mb60{margin-bottom:60px!important}.u-w100pct{width:100%}.u-w90pct{width:90%}.u-w80pct{width:80%}.u-w70pct{width:70%}.u-w60pct{width:60%}.u-w50pct{width:50%}.u-w40pct{width:40%}.u-w30pct{width:30%}.u-w20pct{width:20%}.u-w10pct{width:10%}.u-w75pct{width:75%}.u-w65pct{width:65%}.u-w25pct{width:25%}.u-w15pct{width:15%}.u-w66pct{width:66.6666666667%}.u-w33pct{width:33.3333333333%}.u-small-text,small{font-size:.875em}.u-small-text--subtle,small--subtle{color:var(--gray)}", "/* ==========================================================================\n Get Breakpoint State\n ========================================================================== */\n\nimport { varsBreakpoints } from '../abstracts/vars-breakpoints.js';\n\n/**\n * @returns {number} The base font size set on the body element.\n */\nfunction _getBodyBaseFontSize() {\n let fontSize = getComputedStyle(document.body).fontSize;\n fontSize = fontSize === '' ? -1 : fontSize;\n return parseFloat(fontSize);\n}\n\n/**\n * @param {object} breakpointRange - Object containing breakpoint constants.\n * For example, for `bpXS` the value `{ min: 0, max: 600 }` would be passed.\n * @param {number} width - Current window width.\n * @returns {boolean} Whether the passed width is within a breakpoint range.\n */\nfunction _inBreakpointRange(breakpointRange, width) {\n let breakpointRangeMin = breakpointRange.min;\n let breakpointRangeMax = breakpointRange.max;\n\n // Whether the user has set a custom size for the font in their browser.\n const useEmsConversation =\n _getBodyBaseFontSize() > 0 && _getBodyBaseFontSize() !== 16;\n if (useEmsConversation) {\n /* 16 = base font size without adjustments.\n The CSS converts breakpoints to ems, which then change the width of the\n pixel width of the breakpoint. In JavaScript, the breakpoints are defined\n in pixels, so we first convert them to ems using the 16px base font size\n and then multiply them by any adjustments set by customizations of the\n font size in the user's browser. */\n breakpointRangeMin = (breakpointRangeMin / 16) * _getBodyBaseFontSize();\n breakpointRangeMax = (breakpointRangeMax / 16) * _getBodyBaseFontSize();\n }\n\n const min = breakpointRangeMin || 0;\n const max = breakpointRangeMax || Number.POSITIVE_INFINITY;\n\n return min <= width && width <= max;\n}\n\n/**\n * @param {number} width - Current window width.\n * @returns {object} An object literal with boolean\n * bpXS, bpSM, bpMED, bpLG, bpXL properties.\n */\nfunction getBreakpointState(width) {\n const breakpointState = {};\n width = width || window.innerWidth;\n\n let rangeKey;\n\n for (rangeKey in varsBreakpoints) {\n breakpointState[rangeKey] = _inBreakpointRange(\n varsBreakpoints[rangeKey],\n width,\n );\n }\n\n return breakpointState;\n}\n\n// Constants for breakpoint groupings.\nconst MOBILE = 'mobile';\nconst TABLET = 'tablet';\nconst DESKTOP = 'desktop';\n\n/**\n * Checks whether the current breakpoint is in a particular breakpoint group.\n * @param {string} breakpointGroup - Breakpoint group names.\n * @returns {boolean} True if in the breakpoint group, otherwise false.\n */\nfunction viewportIsIn(breakpointGroup) {\n let response = false;\n const currentBreakpoint = getBreakpointState();\n\n if (\n (breakpointGroup === MOBILE && currentBreakpoint.bpXS) ||\n (breakpointGroup === TABLET && currentBreakpoint.bpSM) ||\n (breakpointGroup === DESKTOP &&\n (currentBreakpoint.bpMED ||\n currentBreakpoint.bpLG ||\n currentBreakpoint.bpXL))\n ) {\n response = true;\n }\n\n return response;\n}\n\n// Expose public methods.\nexport { MOBILE, TABLET, DESKTOP, getBreakpointState, viewportIsIn };\n", "/**\n * @constant\n * @type {string}\n * @description\n * Constant for the name of the data-* attribute set on\n * HTML DOM elements for access by JavaScript.\n */\nconst JS_HOOK = 'data-js-hook';\n\n/**\n * @constant\n * @type {string}\n * @description\n * Flag prefix for settings that describe what JavaScript\n * behaviors should be attached to a component.\n * This would be set in the markup and initialized when\n * the JavaScript loads.\n * @example\n * A component may flag that it has certain JavaScript behaviors attached,\n * such as:\n * `data-js-hook=\"behavior_flyout-menu behavior_clearable-input\"`,\n * which defines that two scripts (FlyoutMenu) and (ClearableInput)\n * should access this DOM element and initialize its behaviors.\n */\nconst BEHAVIOR_PREFIX = 'behavior_';\n\n/**\n * @constant\n * @type {string}\n * @description\n * Flag prefix for settings related to changes in a components\n * state set in the data-* JavaScript hook.\n * @example\n * A component may flag that it has been initialized by setting\n * `data-js-hook=\"state_atomic_init\"` after page load.\n * Which specifies that the init method of a atomic constructor\n * has been called, such as\n * `var globalSearch = new GlobalSearch( 'm-global-search' ).init()`.\n */\nconst STATE_PREFIX = 'state_';\n\nexport { JS_HOOK, BEHAVIOR_PREFIX, STATE_PREFIX };\n", "/**\n * EventObserver\n * @class\n * @classdesc Used to create an object\n * that can dispatch and listen to custom events.\n * @returns {object} An EventObserver instance.\n */\nfunction EventObserver() {\n // The events registered on this instance.\n const _events = {};\n\n /**\n * Register an event listener.\n * @param {string} event - The event name to listen for.\n * @param {Function} callback - The function called when the event has fired.\n * @returns {object} The instance this EventObserver instance is decorating.\n */\n function addEventListener(event, callback) {\n if ({}.hasOwnProperty.call(_events, event)) {\n _events[event].push(callback);\n } else {\n _events[event] = [callback];\n }\n\n return this;\n }\n\n /**\n * Remove an added event listener.\n * Must match a call made to addEventListener.\n * @param {string} event - The event name to remove.\n * @param {Function} callback - The function attached to the event.\n * @returns {object} The instance this EventObserver instance is decorating.\n */\n function removeEventListener(event, callback) {\n if (!{}.hasOwnProperty.call(_events, event)) {\n return this;\n }\n\n const index = _events[event].indexOf(callback);\n // Check if there are any callbacks associated with a particular event.\n if (index !== -1) {\n _events[event].splice(index, 1);\n }\n\n return this;\n }\n\n /**\n * Broadcast an event.\n * @param {string} event - The type of event to broadcast.\n * @param {object} options - The event object to pass to the event handler.\n * @returns {object} The instance this EventObserver instance is decorating.\n */\n function dispatchEvent(event, options) {\n if (!{}.hasOwnProperty.call(_events, event)) {\n return this;\n }\n\n options = options || {};\n\n const evts = _events[event];\n for (let i = 0, len = evts.length; i < len; i++) {\n evts[i].call(this, options);\n }\n\n return this;\n }\n\n this.addEventListener = addEventListener;\n this.removeEventListener = removeEventListener;\n this.dispatchEvent = dispatchEvent;\n this.getRegisteredEvents = () => _events;\n\n return this;\n}\n\nexport { EventObserver };\n", "import { JS_HOOK } from './standard-type.js';\n\n/**\n * @param {HTMLElement} element - DOM element.\n * @param {string} value - Value to check as existing as a JS data-* hook value.\n * @returns {boolean} True if the data-* hook value exists, false otherwise.\n */\nfunction contains(element, value) {\n if (!element) {\n return false;\n }\n let values = element.getAttribute(JS_HOOK);\n // If JS data-* hook is not set return immediately.\n if (!values) {\n return false;\n }\n values = values.split(' ');\n\n return values.indexOf(value) > -1 ? true : false;\n}\n\n/**\n * @param {HTMLElement} element - DOM element.\n * @param {string} value - Value to add to the element's JS data-* hook.\n * @returns {string} The value that was added.\n * @throws {Error} If supplied value contains a space,\n * meaning it would be two values, which is likely a typo.\n */\nfunction add(element, value) {\n if (contains(element, value)) return value;\n\n if (value.indexOf(' ') !== -1) {\n const msg = JS_HOOK + ' values cannot contain spaces!';\n throw new Error(msg);\n }\n\n const values = element.getAttribute(JS_HOOK);\n if (values !== null) {\n value = values + ' ' + value;\n }\n element.setAttribute(JS_HOOK, value);\n\n return value;\n}\n\nexport { add, contains };\n", "/* ==========================================================================\n Atomic Helpers.\n Utilities for helping validate atomic design element architecture.\n In descending order of scope, atomic components are:\n - Page\n - Template\n - Organism\n - Molecule\n - Atom\n ========================================================================= */\n\nimport { add, contains } from './data-hook.js';\nimport { STATE_PREFIX } from './standard-type.js';\n\n/**\n * @constant\n * @type {string}\n * @description\n * Flag that gets set on an atomic component after its .init()\n * method has been called. This is used so that an atomic\n * component won't get initialized a second time after it\n * has already been initialized.\n */\nconst INIT_FLAG = STATE_PREFIX + 'atomic_init';\n\n/**\n * @param {HTMLElement} element - The DOM element within which to search for\n * the atomic element class.\n * @param {string} baseClass - The CSS class name for the atomic element.\n * @returns {HTMLElement} The DOM element for the atomic element.\n * @throws {Error} If DOM element passed into the atomic element is not valid.\n */\nfunction _verifyElementExists(element, baseClass) {\n if (!element || !element.classList) {\n const msg =\n element +\n ' is not valid. ' +\n 'Check that element is a DOM node with class \"' +\n baseClass +\n '\"';\n throw new Error(msg);\n }\n\n return element;\n}\n\n/**\n * @param {HTMLElement} element - The DOM element within which to search\n * for the atomic element class.\n * @param {string} baseClass - The CSS class name for the atomic element.\n * @returns {HTMLElement} The DOM element for the atomic element.\n * @throws {Error} If baseClass was not found on the element.\n */\nfunction _verifyClassExists(element, baseClass) {\n const dom = element.classList.contains(baseClass)\n ? element\n : element.querySelector('.' + baseClass);\n if (!dom) {\n const msg = baseClass + ' not found on or in passed DOM node.';\n throw new Error(msg);\n }\n\n return dom;\n}\n\n/**\n * Check that a particular element passed into the constructor of\n * an atomic component exists and that the correct atomic class\n * is present on the element.\n * @param {HTMLElement} element - The DOM element within which to search\n * for the atomic element class.\n * @param {string} baseClass - The CSS class name for the atomic element.\n * @returns {HTMLElement} The DOM element for the atomic element.\n * @throws {Error} If DOM element passed into the atomic element is not valid.\n */\nfunction checkDom(element, baseClass) {\n _verifyElementExists(element, baseClass);\n const dom = _verifyClassExists(element, baseClass);\n\n return dom;\n}\n\n/**\n * Set a flag on an atomic component when it is initialized.\n * Use the returned boolean to handle cases where an atomic component\n * is initializing when it has already been initialized elsewhere.\n * @param {HTMLElement} element - The DOM element for the atomic component.\n * @returns {boolean} True if the init data-js-* hook attribute was set,\n * false otherwise.\n */\nfunction setInitFlag(element) {\n if (contains(element, INIT_FLAG)) {\n return false;\n }\n\n add(element, INIT_FLAG);\n\n return true;\n}\n\n/**\n * @param {string} selector - Selector to search for in the document.\n * @param {Function} Constructor - A constructor function.\n * @param {HTMLElement} [scope] - A dom node in which to query the selector.\n * If not supplied, it defaults to the `document`.\n * @param {object} config - Configuration will be provided to the Constructor's init()\n * @returns {Array} List of instances that were instantiated.\n */\nfunction instantiateAll(selector, Constructor, scope, config = {}) {\n const base = scope || document;\n const elements = base.querySelectorAll(selector);\n const insts = [];\n let inst;\n let element;\n for (let i = 0, len = elements.length; i < len; i++) {\n element = elements[i];\n if (contains(element, INIT_FLAG) === false) {\n inst = new Constructor(element);\n inst.init(config);\n insts.push(inst);\n }\n }\n return insts;\n}\n\n// Expose public methods.\nexport { checkDom, instantiateAll, setInitFlag };\n", "/* ==========================================================================\n Dom Behaviors\n Behaviors are functionality that can be shared between different pieces\n of markup. They are not strictly atomic, though they likely are used\n on atomic components. An example of shared behavior may be a menu that\n expands and collapses and sets the aria-expanded attribute on the HTML.\n Or an input field that can be cleared by clicking an (x) button in the\n input. These are both behaviors that may appear in different parts of\n the codebase, but could share the same functionality.\n Behaviors are added through the `data-js-hook` attribute on the HTML\n and have a prefix of `behavior_`\n (both those designators are set in modules/util/standard-type.js).\n For example, `behaviors/FlyoutMenu.js` defines the behavior of\n expanding and collapsing an expandable menu. At a minimum, three things\n need to be defined: (A) The containing scope of the menu, (B) the trigger\n to activate the menu, and (C) the content to show/hide when the trigger\n is clicked. So the markup looks something like:\n <div data-js-hook=\"behavior_flyout-menu\">\n <button data-js-hook=\"behavior_flyout-menu_trigger\">\n <div data-js-hook=\"behavior_flyout-menu_content\">\u2026</div>\n </div>\n ========================================================================== */\n\nimport { BEHAVIOR_PREFIX, JS_HOOK } from '../standard-type.js';\nimport { contains } from '../data-hook.js';\n\n/**\n * @param {string} behaviorSelector - Behavior type used to find the element\n * within the dom.\n * @param {HTMLElement} baseElement - Containing element for the behavior element.\n * @returns {Array|NodeList} behaviorElements if it exists in the dom,\n * null otherwise.\n */\nfunction _findElements(behaviorSelector, baseElement) {\n baseElement = baseElement || document;\n let behaviorElements = [];\n\n try {\n behaviorElements = baseElement.querySelectorAll(behaviorSelector);\n } catch (error) {\n const msg = `${behaviorSelector} not found in DOM! ${error}`;\n throw new Error(msg);\n }\n\n if (\n behaviorElements.length === 0 &&\n behaviorSelector.indexOf(BEHAVIOR_PREFIX) === -1\n ) {\n behaviorElements = behaviorFind(behaviorSelector, baseElement);\n }\n\n return behaviorElements;\n}\n\n/**\n * @param {( string|HTMLElement|Array|NodeList )} behaviorElement - Used to\n * query dom for elements.\n * @param {string} event - Event type to add to element.\n * @param {Function} eventHandler - Callback for event.\n * @param {HTMLElement} baseElement - Containing element\n * for the behavior element.\n * @returns {Array|NodeList} if it exists in the dom, null otherwise.\n */\nfunction behaviorAttach(behaviorElement, event, eventHandler, baseElement) {\n let behav