@uh-design-system/component-library 0.5.2 → 0.6.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/dist/cjs/{utils-3412cbed.js → attributes-BMbXzbwU.js} +2 -28
- package/dist/cjs/component-library.cjs.js +7 -7
- package/dist/cjs/controlUtils-ofqiQxRF.js +42 -0
- package/dist/cjs/ds-accordion.cjs.entry.js +79 -0
- package/dist/cjs/ds-button.cjs.entry.js +107 -0
- package/dist/cjs/ds-card.cjs.entry.js +58 -0
- package/dist/cjs/ds-checkbox-group.cjs.entry.js +109 -49
- package/dist/cjs/ds-checkbox.cjs.entry.js +88 -79
- package/dist/cjs/ds-icon.cjs.entry.js +943 -0
- package/dist/cjs/ds-input-validity.cjs.entry.js +14 -15
- package/dist/cjs/ds-link-with-arrow.cjs.entry.js +21 -20
- package/dist/cjs/ds-link.cjs.entry.js +34 -31
- package/dist/cjs/ds-radio-button-group.cjs.entry.js +153 -0
- package/dist/cjs/ds-radio-button.cjs.entry.js +151 -0
- package/dist/cjs/ds-spinner.cjs.entry.js +62 -0
- package/dist/cjs/ds-text-input.cjs.entry.js +90 -77
- package/dist/cjs/ds-visually-hidden.cjs.entry.js +3 -6
- package/dist/cjs/index-Bp6Dd2i1.js +94 -0
- package/dist/cjs/{store-9bd20f3c.js → index-DwLFyR5p.js} +6 -2
- package/dist/cjs/{index-bf84b124.js → index-Mjp9Y-Sw.js} +701 -55
- package/dist/cjs/index.cjs.js +3 -5
- package/dist/cjs/{linkUtils-695da37c.js → linkUtils-onlbgKdI.js} +4 -2
- package/dist/cjs/loader.cjs.js +3 -5
- package/dist/cjs/utils-BjZTECpy.js +29 -0
- package/dist/collection/accessibility/stories/naming.stories.js +3 -3
- package/dist/collection/collection-manifest.json +78 -3
- package/dist/collection/components/01-base-components/ds-accordion/ds-accordion.css +18 -17
- package/dist/collection/components/01-base-components/ds-accordion/ds-accordion.js +91 -50
- package/dist/collection/components/01-base-components/ds-accordion/stories/ds-accordion.examples.stories.js +6 -6
- package/dist/collection/components/01-base-components/ds-accordion/stories/ds-accordion.features.stories.js +14 -14
- package/dist/collection/components/01-base-components/ds-accordion/stories/ds-accordion.stories.js +24 -66
- package/dist/collection/components/01-base-components/ds-button/ds-button.css +124 -145
- package/dist/collection/components/01-base-components/ds-button/ds-button.js +150 -65
- package/dist/collection/components/01-base-components/ds-button/stories/ds-button.examples.stories.js +121 -23
- package/dist/collection/components/01-base-components/ds-button/stories/ds-button.features.stories.js +49 -42
- package/dist/collection/components/01-base-components/ds-button/stories/ds-button.stories.js +16 -72
- package/dist/collection/components/01-base-components/ds-card/ds-card.css +127 -0
- package/dist/collection/components/01-base-components/ds-card/ds-card.js +303 -0
- package/dist/collection/components/01-base-components/ds-card/stories/ds-card.examples.stories.js +92 -0
- package/dist/collection/components/01-base-components/ds-card/stories/ds-card.features.stories.js +66 -0
- package/dist/collection/components/01-base-components/ds-card/stories/ds-card.stories.js +71 -0
- package/dist/collection/components/01-base-components/ds-checkbox/ds-checkbox.css +46 -46
- package/dist/collection/components/01-base-components/ds-checkbox/ds-checkbox.js +120 -111
- package/dist/collection/components/01-base-components/ds-checkbox/stories/ds-checkbox.features.stories.js +20 -20
- package/dist/collection/components/01-base-components/ds-checkbox/stories/ds-checkbox.stories.js +12 -25
- package/dist/collection/components/01-base-components/ds-checkbox-group/ds-checkbox-group.css +2 -3
- package/dist/collection/components/01-base-components/ds-checkbox-group/ds-checkbox-group.js +214 -63
- package/dist/collection/components/01-base-components/ds-checkbox-group/stories/ds-checkbox-group.features.stories.js +215 -50
- package/dist/collection/components/01-base-components/ds-checkbox-group/stories/ds-checkbox-group.stories.js +30 -28
- package/dist/collection/components/01-base-components/ds-icon/ds-icon.js +36 -31
- package/dist/collection/components/01-base-components/ds-icon/stories/ds-icon.stories.js +10 -37
- package/dist/collection/components/01-base-components/ds-input-validity/ds-input-validity.css +2 -2
- package/dist/collection/components/01-base-components/ds-input-validity/ds-input-validity.js +60 -30
- package/dist/collection/components/01-base-components/ds-input-validity/stories/ds-input-validity.features.stories.js +4 -4
- package/dist/collection/components/01-base-components/ds-input-validity/stories/ds-input-validity.stories.js +4 -9
- package/dist/collection/components/01-base-components/ds-link/ds-link.css +24 -14
- package/dist/collection/components/01-base-components/ds-link/ds-link.js +74 -75
- package/dist/collection/components/01-base-components/ds-link/stories/ds-link.examples.stories.js +27 -27
- package/dist/collection/components/01-base-components/ds-link/stories/ds-link.features.stories.js +38 -21
- package/dist/collection/components/01-base-components/ds-link/stories/ds-link.stories.js +8 -67
- package/dist/collection/components/01-base-components/ds-link-with-arrow/ds-link-with-arrow.css +10 -12
- package/dist/collection/components/01-base-components/ds-link-with-arrow/ds-link-with-arrow.js +30 -52
- package/dist/collection/components/01-base-components/ds-link-with-arrow/stories/ds-link-with-arrow.examples.stories.js +4 -4
- package/dist/collection/components/01-base-components/ds-link-with-arrow/stories/ds-link-with-arrow.features.stories.js +6 -6
- package/dist/collection/components/01-base-components/ds-link-with-arrow/stories/ds-link-with-arrow.stories.js +4 -28
- package/dist/collection/components/01-base-components/ds-radio-button/ds-radio-button.css +115 -0
- package/dist/collection/components/01-base-components/ds-radio-button/ds-radio-button.js +449 -0
- package/dist/collection/components/01-base-components/ds-radio-button/stories/ds-radio-button.features.stories.js +72 -0
- package/dist/collection/components/01-base-components/ds-radio-button/stories/ds-radio-button.stories.js +22 -0
- package/dist/collection/components/01-base-components/ds-radio-button-group/ds-radio-button-group.css +30 -0
- package/dist/collection/components/01-base-components/ds-radio-button-group/ds-radio-button-group.js +360 -0
- package/dist/collection/components/01-base-components/ds-radio-button-group/stories/ds-radio-button-group.examples.stories.js +42 -0
- package/dist/collection/components/01-base-components/ds-radio-button-group/stories/ds-radio-button-group.features.stories.js +71 -0
- package/dist/collection/components/01-base-components/ds-radio-button-group/stories/ds-radio-button-group.stories.js +60 -0
- package/dist/collection/components/01-base-components/ds-spinner/ds-spinner.css +279 -0
- package/dist/collection/components/01-base-components/ds-spinner/ds-spinner.js +221 -0
- package/dist/collection/components/01-base-components/ds-spinner/stories/ds-spinner.examples.stories.js +120 -0
- package/dist/collection/components/01-base-components/ds-spinner/stories/ds-spinner.features.stories.js +107 -0
- package/dist/collection/components/01-base-components/ds-spinner/stories/ds-spinner.stories.js +14 -0
- package/dist/collection/components/01-base-components/ds-text-input/ds-text-input.css +85 -118
- package/dist/collection/components/01-base-components/ds-text-input/ds-text-input.js +230 -155
- package/dist/collection/components/01-base-components/ds-text-input/stories/ds-text-input.examples.stories.js +26 -21
- package/dist/collection/components/01-base-components/ds-text-input/stories/ds-text-input.features.stories.js +40 -40
- package/dist/collection/components/01-base-components/ds-text-input/stories/ds-text-input.stories.js +30 -56
- package/dist/collection/components/01-base-components/ds-visually-hidden/ds-visually-hidden.js +1 -1
- package/dist/collection/store.js +7 -1
- package/dist/collection/utils/attributes/attributes.js +2 -2
- package/dist/collection/utils/button/buttonUtils.js +14 -0
- package/dist/collection/utils/colours/colourTypes.js +3 -3
- package/dist/collection/utils/colours/colourUtils.js +5 -3
- package/dist/collection/utils/controls/controlUtils.js +35 -1
- package/dist/collection/utils/link/linkUtils.js +3 -2
- package/dist/collection/utils/spinner/spinnerUtils.js +20 -0
- package/dist/collection/utils/tests/testUtils.js +1 -0
- package/dist/collection/utils/typography/typographyUtils.js +3 -3
- package/dist/collection/utils/utils.js +10 -9
- package/dist/component-library/{utils-cfc536bc.js → attributes-BD_lNRxn.js} +1 -1
- package/dist/component-library/component-library.css +1 -1
- package/dist/component-library/component-library.esm.js +1 -1
- package/dist/component-library/controlUtils-CNER0MvM.js +1 -0
- package/dist/component-library/ds-accordion.entry.js +1 -0
- package/dist/component-library/ds-button.entry.js +1 -0
- package/dist/component-library/ds-card.entry.js +1 -0
- package/dist/component-library/ds-checkbox-group.entry.js +1 -1
- package/dist/component-library/ds-checkbox.entry.js +1 -1
- package/dist/component-library/ds-icon.entry.js +1 -0
- package/dist/component-library/ds-input-validity.entry.js +1 -1
- package/dist/component-library/ds-link-with-arrow.entry.js +1 -1
- package/dist/component-library/ds-link.entry.js +1 -1
- package/dist/component-library/ds-radio-button-group.entry.js +1 -0
- package/dist/component-library/ds-radio-button.entry.js +1 -0
- package/dist/component-library/ds-spinner.entry.js +1 -0
- package/dist/component-library/ds-text-input.entry.js +1 -1
- package/dist/component-library/ds-visually-hidden.entry.js +1 -1
- package/dist/component-library/index-BfTCfPZ1.js +6 -0
- package/dist/component-library/index-Cm7V4EAn.js +2 -0
- package/dist/component-library/index-DuYjhvTn.js +1 -0
- package/dist/component-library/index.esm.js +1 -1
- package/dist/component-library/linkUtils-02nCfO0F.js +1 -0
- package/dist/component-library/utils-CqaqnfY4.js +1 -0
- package/dist/components/attributes.js +3 -3
- package/dist/components/controlUtils.js +35 -2
- package/dist/components/ds-accordion.js +58 -42
- package/dist/components/ds-button2.js +78 -39
- package/dist/components/ds-card.d.ts +11 -0
- package/dist/components/ds-card.js +91 -0
- package/dist/components/ds-checkbox-group.js +116 -56
- package/dist/components/ds-checkbox2.js +93 -80
- package/dist/components/ds-icon2.js +292 -292
- package/dist/components/ds-input-validity2.js +17 -14
- package/dist/components/ds-link-with-arrow.js +22 -22
- package/dist/components/ds-link.js +43 -40
- package/dist/components/ds-radio-button-group.d.ts +11 -0
- package/dist/components/ds-radio-button-group.js +185 -0
- package/dist/components/ds-radio-button.d.ts +11 -0
- package/dist/components/ds-radio-button.js +198 -0
- package/dist/components/ds-spinner.d.ts +11 -0
- package/dist/components/ds-spinner.js +6 -0
- package/dist/components/ds-spinner2.js +89 -0
- package/dist/components/ds-text-input.js +126 -104
- package/dist/components/ds-visually-hidden2.js +2 -3
- package/dist/components/index.js +208 -2
- package/dist/components/index2.js +713 -39
- package/dist/components/index3.js +69 -57
- package/dist/components/linkUtils.js +4 -2
- package/dist/docs.d.ts +443 -0
- package/dist/docs.json +4790 -0
- package/dist/esm/{utils-cfc536bc.js → attributes-BD_lNRxn.js} +3 -26
- package/dist/esm/component-library.js +6 -5
- package/dist/esm/controlUtils-CNER0MvM.js +37 -0
- package/dist/esm/ds-accordion.entry.js +77 -0
- package/dist/esm/ds-button.entry.js +105 -0
- package/dist/esm/ds-card.entry.js +56 -0
- package/dist/esm/ds-checkbox-group.entry.js +108 -46
- package/dist/esm/ds-checkbox.entry.js +78 -67
- package/dist/esm/ds-icon.entry.js +941 -0
- package/dist/esm/ds-input-validity.entry.js +14 -13
- package/dist/esm/ds-link-with-arrow.entry.js +21 -18
- package/dist/esm/ds-link.entry.js +34 -29
- package/dist/esm/ds-radio-button-group.entry.js +151 -0
- package/dist/esm/ds-radio-button.entry.js +149 -0
- package/dist/esm/ds-spinner.entry.js +60 -0
- package/dist/esm/ds-text-input.entry.js +88 -73
- package/dist/esm/ds-visually-hidden.entry.js +3 -4
- package/dist/esm/index-BfTCfPZ1.js +92 -0
- package/dist/esm/{index-434995e1.js → index-Cm7V4EAn.js} +699 -34
- package/dist/{components/store.js → esm/index-DuYjhvTn.js} +6 -3
- package/dist/esm/index.js +2 -2
- package/dist/esm/{linkUtils-3d1b28cf.js → linkUtils-02nCfO0F.js} +4 -2
- package/dist/esm/loader.js +4 -4
- package/dist/esm/utils-CqaqnfY4.js +25 -0
- package/dist/hydrate/index.d.ts +271 -0
- package/dist/hydrate/index.js +22280 -0
- package/dist/hydrate/index.mjs +22272 -0
- package/dist/hydrate/package.json +12 -0
- package/dist/styles/helpers.css +15 -0
- package/dist/styles/helpers.css.map +1 -0
- package/dist/styles/mixins/_breakpoints.scss +13 -0
- package/dist/styles/mixins/_focus.scss +26 -0
- package/dist/styles/mixins/_wrapper.scss +5 -0
- package/dist/styles/mixins/imports-default/_imports.scss +2 -0
- package/dist/styles/mixins/tokens/_breakpoints.scss +13 -0
- package/dist/styles/mixins/tokens/_semantic-colours.scss +75 -0
- package/dist/styles/mixins.scss +12 -0
- package/dist/styles/variables.css +176 -0
- package/dist/styles/variables.css.map +1 -0
- package/dist/types/components/01-base-components/ds-accordion/ds-accordion.d.ts +11 -8
- package/dist/types/components/01-base-components/ds-button/ds-button.d.ts +16 -11
- package/dist/types/components/01-base-components/ds-button/stories/ds-button.examples.stories.d.ts +1 -0
- package/dist/types/components/01-base-components/ds-button/stories/ds-button.features.stories.d.ts +1 -0
- package/dist/types/components/01-base-components/ds-card/ds-card.d.ts +20 -0
- package/dist/types/components/01-base-components/ds-card/stories/ds-card.examples.stories.d.ts +8 -0
- package/dist/types/components/01-base-components/ds-card/stories/ds-card.features.stories.d.ts +8 -0
- package/dist/types/components/01-base-components/ds-card/stories/ds-card.stories.d.ts +7 -0
- package/dist/types/components/01-base-components/ds-checkbox/ds-checkbox.d.ts +21 -22
- package/dist/types/components/01-base-components/ds-checkbox-group/ds-checkbox-group.d.ts +21 -11
- package/dist/types/components/01-base-components/ds-checkbox-group/stories/ds-checkbox-group.features.stories.d.ts +3 -0
- package/dist/types/components/01-base-components/ds-icon/ds-icon.d.ts +7 -5
- package/dist/types/components/01-base-components/ds-input-validity/ds-input-validity.d.ts +5 -6
- package/dist/types/components/01-base-components/ds-link/ds-link.d.ts +13 -14
- package/dist/types/components/01-base-components/ds-link/stories/ds-link.features.stories.d.ts +2 -0
- package/dist/types/components/01-base-components/ds-link-with-arrow/ds-link-with-arrow.d.ts +5 -7
- package/dist/types/components/01-base-components/ds-radio-button/ds-radio-button.d.ts +44 -0
- package/dist/types/components/01-base-components/ds-radio-button/stories/ds-radio-button.features.stories.d.ts +15 -0
- package/dist/types/components/01-base-components/ds-radio-button/stories/ds-radio-button.stories.d.ts +7 -0
- package/dist/types/components/01-base-components/ds-radio-button-group/ds-radio-button-group.d.ts +34 -0
- package/dist/types/components/01-base-components/ds-radio-button-group/stories/ds-radio-button-group.examples.stories.d.ts +6 -0
- package/dist/types/components/01-base-components/ds-radio-button-group/stories/ds-radio-button-group.features.stories.d.ts +11 -0
- package/dist/types/components/01-base-components/ds-radio-button-group/stories/ds-radio-button-group.stories.d.ts +7 -0
- package/dist/types/components/01-base-components/ds-spinner/ds-spinner.d.ts +17 -0
- package/dist/types/components/01-base-components/ds-spinner/stories/ds-spinner.examples.stories.d.ts +7 -0
- package/dist/types/components/01-base-components/ds-spinner/stories/ds-spinner.features.stories.d.ts +7 -0
- package/dist/types/components/01-base-components/ds-spinner/stories/ds-spinner.stories.d.ts +7 -0
- package/dist/types/components/01-base-components/ds-text-input/ds-text-input.d.ts +37 -32
- package/dist/types/components.d.ts +1287 -228
- package/dist/types/stencil-public-runtime.d.ts +22 -0
- package/dist/types/store.d.ts +6 -1
- package/dist/types/utils/attributes/attributes.d.ts +1 -1
- package/dist/types/utils/button/buttonUtils.d.ts +1 -0
- package/dist/types/utils/colours/colourTypes.d.ts +3 -3
- package/dist/types/utils/controls/controlUtils.d.ts +2 -0
- package/dist/types/utils/link/linkUtils.d.ts +1 -1
- package/dist/types/utils/spinner/spinnerUtils.d.ts +1 -0
- package/dist/types/utils/tests/testUtils.d.ts +1 -0
- package/dist/types/utils/utils.d.ts +2 -1
- package/package.json +40 -36
- package/dist/cjs/controlUtils-041de0fd.js +0 -7
- package/dist/cjs/ds-accordion_3.cjs.entry.js +0 -1095
- package/dist/cjs/index-5b0b9d4c.js +0 -82
- package/dist/component-library/controlUtils-9ca4087b.js +0 -1
- package/dist/component-library/ds-accordion_3.entry.js +0 -1
- package/dist/component-library/index-434995e1.js +0 -2
- package/dist/component-library/index-72ac5051.js +0 -6
- package/dist/component-library/linkUtils-3d1b28cf.js +0 -1
- package/dist/component-library/store-b8d17c10.js +0 -1
- package/dist/esm/controlUtils-9ca4087b.js +0 -4
- package/dist/esm/ds-accordion_3.entry.js +0 -1089
- package/dist/esm/index-72ac5051.js +0 -80
- package/dist/esm/store-b8d17c10.js +0 -204
- package/dist/loader/package.json +0 -11
- /package/dist/cjs/{app-globals-3a1e7e63.js → app-globals-V2Kpy_OQ.js} +0 -0
- /package/dist/component-library/{app-globals-0f993ce5.js → app-globals-DQuL1Twl.js} +0 -0
- /package/dist/esm/{app-globals-0f993ce5.js → app-globals-DQuL1Twl.js} +0 -0
|
@@ -16,33 +16,38 @@ export const CustomWidth = {
|
|
|
16
16
|
}
|
|
17
17
|
</style>
|
|
18
18
|
<div class="ds-sb-custom-width">
|
|
19
|
-
<ds-text-input label='Smaller input' style='width: 150px'></ds-text-input>
|
|
20
|
-
<ds-text-input label='Full width input' style='width: 100%'></ds-text-input>
|
|
21
|
-
|
|
19
|
+
<ds-text-input ds-label='Smaller input' style='width: 150px'></ds-text-input>
|
|
20
|
+
<ds-text-input ds-label='Full width input' style='width: 100%'></ds-text-input>
|
|
21
|
+
<!-- You can set any custom styles to the input element -->
|
|
22
22
|
</div>
|
|
23
23
|
`,
|
|
24
24
|
};
|
|
25
25
|
export const UsingSlots = {
|
|
26
|
+
parameters: {
|
|
27
|
+
a11y: {
|
|
28
|
+
disable: true
|
|
29
|
+
}
|
|
30
|
+
},
|
|
26
31
|
render: () => html `
|
|
27
|
-
<ds-text-input aria-label='Slotted label'>
|
|
28
|
-
<label
|
|
29
|
-
<p slot='
|
|
30
|
-
<ds-icon name='archive' slot='prefix'></ds-icon>
|
|
32
|
+
<ds-text-input ds-id='input' aria-label='Slotted label'>
|
|
33
|
+
<label for='input' id='label' slot='label'><b>Slotted label</b></label>
|
|
34
|
+
<p slot='assistiveText'>Lorem ipsum</p>
|
|
35
|
+
<ds-icon ds-name='archive' slot='prefix'></ds-icon>
|
|
31
36
|
<small slot='suffix'>Suffix</small>
|
|
32
|
-
<div slot='
|
|
37
|
+
<div slot='validity'>Validity slot</div>
|
|
33
38
|
</ds-text-input>
|
|
34
39
|
`,
|
|
35
40
|
};
|
|
36
41
|
const formValidationDOM = html `
|
|
37
42
|
<form class="ds-sb-form-validation">
|
|
38
|
-
<ds-text-input type="number" label="Minimum value" id="min" name="min" min="5" required></ds-text-input>
|
|
39
|
-
<ds-text-input type="number" label="Maximum value" id="max" name="max" min="100" required></ds-text-input>
|
|
40
|
-
<ds-text-input type="email" label="Email" id="email" name="email" required></ds-text-input>
|
|
41
|
-
<ds-text-input type="tel" label="Telephone" id="tel" name="tel" required></ds-text-input>
|
|
42
|
-
<ds-text-input type="password" label="Password" id="password" name="password" required action-button-aria-label="password toggle"></ds-text-input>
|
|
43
|
-
<ds-text-input type="url" label="Url" id="url" name="url" required></ds-text-input>
|
|
43
|
+
<ds-text-input ds-type="number" ds-label="Minimum value" ds-id="min" ds-name="min" ds-min="5" ds-required></ds-text-input>
|
|
44
|
+
<ds-text-input ds-type="number" ds-label="Maximum value" ds-id="max" ds-name="max" ds-min="100" ds-required></ds-text-input>
|
|
45
|
+
<ds-text-input ds-type="email" ds-label="Email" ds-id="email" ds-name="email" ds-required></ds-text-input>
|
|
46
|
+
<ds-text-input ds-type="tel" ds-label="Telephone" ds-id="tel" ds-name="tel" ds-required></ds-text-input>
|
|
47
|
+
<ds-text-input ds-type="password" ds-label="Password" ds-id="password" ds-name="password" ds-required ds-action-button-aria-label="password toggle"></ds-text-input>
|
|
48
|
+
<ds-text-input ds-type="url" ds-label="Url" ds-id="url" ds-name="url" ds-required></ds-text-input>
|
|
44
49
|
<div class="button-group ds-sb-form-validation__buttons">
|
|
45
|
-
<ds-button type="submit" value="Submit"></ds-button>
|
|
50
|
+
<ds-button ds-type="submit" ds-value="Submit"></ds-button>
|
|
46
51
|
</div>
|
|
47
52
|
</form>
|
|
48
53
|
`;
|
|
@@ -71,10 +76,10 @@ export const FormValidation = {
|
|
|
71
76
|
const clientSideValidationDOM = html `
|
|
72
77
|
<div class="ds-sb-client-side-validation">
|
|
73
78
|
<div id="example-error-container">
|
|
74
|
-
<ds-text-input id="example-error" label="Error message" assistive-text='Type "error" and move to next input to display a validation message.'></ds-text-input>
|
|
79
|
+
<ds-text-input id="example-error" ds-id="example-error-textinput" ds-label="Error message" ds-assistive-text='Type "error" and move to next input to display a validation message.'></ds-text-input>
|
|
75
80
|
</div>
|
|
76
81
|
<div id="example-success-container">
|
|
77
|
-
<ds-text-input id="example-success" label="Success message" assistive-text='Type "success" and move to next input to display a validation message.'></ds-text-input>
|
|
82
|
+
<ds-text-input id="example-success" ds-id="example-success-textinput" ds-label="Success message" ds-assistive-text='Type "success" and move to next input to display a validation message.'></ds-text-input>
|
|
78
83
|
</div>
|
|
79
84
|
</div>
|
|
80
85
|
`;
|
|
@@ -108,9 +113,9 @@ export const ClientSideValidation = {
|
|
|
108
113
|
const target = e.target;
|
|
109
114
|
switch (target.value) {
|
|
110
115
|
case 'error':
|
|
111
|
-
return errorElem.
|
|
116
|
+
return errorElem.dsErrorText = 'Error message';
|
|
112
117
|
default:
|
|
113
|
-
errorElem.
|
|
118
|
+
errorElem.dsErrorText = "";
|
|
114
119
|
return;
|
|
115
120
|
}
|
|
116
121
|
});
|
|
@@ -118,9 +123,9 @@ export const ClientSideValidation = {
|
|
|
118
123
|
const target = e.target;
|
|
119
124
|
switch (target.value) {
|
|
120
125
|
case 'success':
|
|
121
|
-
return successElem.
|
|
126
|
+
return successElem.dsSuccessText = 'Success message';
|
|
122
127
|
default:
|
|
123
|
-
successElem.
|
|
128
|
+
successElem.dsSuccessText = "";
|
|
124
129
|
return;
|
|
125
130
|
}
|
|
126
131
|
});
|
|
@@ -8,68 +8,68 @@ const meta = {
|
|
|
8
8
|
export default meta;
|
|
9
9
|
export const WithPlaceholder = {};
|
|
10
10
|
WithPlaceholder.args = {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
dsLabel: 'Label',
|
|
12
|
+
dsPlaceholder: 'Placeholder',
|
|
13
13
|
};
|
|
14
14
|
export const WithAssistiveText = {};
|
|
15
15
|
WithAssistiveText.args = {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
dsLabel: 'Label',
|
|
17
|
+
dsAssistiveText: 'Assistive text',
|
|
18
18
|
};
|
|
19
19
|
export const Disabled = {};
|
|
20
20
|
Disabled.args = {
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
dsLabel: 'Label',
|
|
22
|
+
dsDisabled: true,
|
|
23
23
|
};
|
|
24
24
|
export const ReadOnly = {};
|
|
25
25
|
ReadOnly.args = {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
dsLabel: 'Label',
|
|
27
|
+
dsValue: 'Input text',
|
|
28
|
+
dsReadonly: true,
|
|
29
29
|
};
|
|
30
30
|
export const Required = {};
|
|
31
31
|
Required.args = {
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
dsLabel: 'Label',
|
|
33
|
+
dsRequired: true,
|
|
34
34
|
};
|
|
35
35
|
export const Optional = {};
|
|
36
36
|
Optional.args = {
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
dsLabel: 'Label',
|
|
38
|
+
dsOptional: true,
|
|
39
39
|
};
|
|
40
40
|
export const OptionalWithCustomText = {
|
|
41
|
-
render: () => html `<ds-text-input label="Optional" optional optional-text="vapaavalintainen"></ds-text-input>`
|
|
41
|
+
render: () => html `<ds-text-input ds-label="Optional" ds-optional ds-optional-text="vapaavalintainen"></ds-text-input>`
|
|
42
42
|
};
|
|
43
43
|
export const MaxLength = {};
|
|
44
44
|
MaxLength.args = {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
dsLabel: 'Label',
|
|
46
|
+
dsMaxlength: 5,
|
|
47
|
+
dsAssistiveText: 'Max length of 5'
|
|
48
48
|
};
|
|
49
49
|
export const Valid = {};
|
|
50
50
|
Valid.args = {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
dsLabel: 'Label',
|
|
52
|
+
dsValid: true,
|
|
53
|
+
dsSuccessText: 'Success text',
|
|
54
54
|
};
|
|
55
55
|
export const Invalid = {};
|
|
56
56
|
Invalid.args = {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
dsLabel: 'Label',
|
|
58
|
+
dsInvalid: true,
|
|
59
|
+
dsErrorText: 'Error text',
|
|
60
60
|
};
|
|
61
61
|
export const WithIcon = {
|
|
62
62
|
args: {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
dsLabel: 'User',
|
|
64
|
+
dsIcon: 'account_circle_fill',
|
|
65
|
+
dsType: 'email',
|
|
66
66
|
},
|
|
67
67
|
};
|
|
68
68
|
export const PasswordInput = {
|
|
69
69
|
args: {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
dsLabel: 'Label',
|
|
71
|
+
dsType: 'password',
|
|
72
|
+
dsActionButtonAriaLabel: 'Action button',
|
|
73
73
|
},
|
|
74
74
|
play: async ({ canvasElement, step }) => {
|
|
75
75
|
const dsElem = await getDsElem(canvasElement, 'ds-text-input');
|
|
@@ -97,9 +97,9 @@ export const PasswordInput = {
|
|
|
97
97
|
};
|
|
98
98
|
export const SearchInput = {
|
|
99
99
|
args: {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
100
|
+
dsLabel: 'Label',
|
|
101
|
+
dsType: 'search',
|
|
102
|
+
dsActionButtonAriaLabel: 'Action button',
|
|
103
103
|
},
|
|
104
104
|
play: async ({ canvasElement, step }) => {
|
|
105
105
|
const dsElem = await getDsElem(canvasElement, 'ds-text-input');
|
|
@@ -124,17 +124,17 @@ export const SearchInput = {
|
|
|
124
124
|
};
|
|
125
125
|
export const PrefixText = {
|
|
126
126
|
args: {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
127
|
+
dsLabel: 'Phone number',
|
|
128
|
+
dsPrefixText: '+358',
|
|
129
|
+
dsType: 'tel',
|
|
130
|
+
dsHiddenAssistiveText: 'Without the country code',
|
|
131
131
|
},
|
|
132
132
|
};
|
|
133
133
|
export const SuffixText = {
|
|
134
134
|
args: {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
135
|
+
dsLabel: 'Timeout',
|
|
136
|
+
dsSuffixText: 'minutes',
|
|
137
|
+
dsType: 'number',
|
|
138
|
+
dsHiddenAssistiveText: 'Enter the number of minutes',
|
|
139
139
|
},
|
|
140
140
|
};
|
package/dist/collection/components/01-base-components/ds-text-input/stories/ds-text-input.stories.js
CHANGED
|
@@ -1,72 +1,46 @@
|
|
|
1
1
|
import { icons } from "../../../00-foundations/icons/iconList";
|
|
2
|
-
import { textInputTypes } from "../utils";
|
|
3
2
|
const meta = {
|
|
4
3
|
title: 'Base Components/TextInput',
|
|
5
4
|
component: 'ds-text-input',
|
|
5
|
+
argTypes: {
|
|
6
|
+
dsIcon: {
|
|
7
|
+
control: 'select',
|
|
8
|
+
options: icons.map(icon => icon.name),
|
|
9
|
+
},
|
|
10
|
+
},
|
|
6
11
|
};
|
|
7
12
|
export default meta;
|
|
8
13
|
export const Default = {
|
|
9
14
|
args: {
|
|
10
|
-
|
|
15
|
+
dsLabel: "Label"
|
|
11
16
|
}
|
|
12
17
|
};
|
|
13
18
|
Default.args = {
|
|
14
|
-
|
|
19
|
+
dsLabel: 'Label',
|
|
15
20
|
};
|
|
16
21
|
export const Playground = {
|
|
17
|
-
argTypes: {
|
|
18
|
-
label: { control: 'text' },
|
|
19
|
-
placeholder: { control: 'text' },
|
|
20
|
-
identifier: { control: 'text' },
|
|
21
|
-
name: { control: 'text' },
|
|
22
|
-
disabled: { control: 'boolean' },
|
|
23
|
-
required: { control: 'boolean' },
|
|
24
|
-
readonly: { control: 'boolean' },
|
|
25
|
-
value: { control: 'text' },
|
|
26
|
-
min: { control: 'number' },
|
|
27
|
-
max: { control: 'number' },
|
|
28
|
-
maxlength: { control: 'number' },
|
|
29
|
-
pattern: { control: 'text' },
|
|
30
|
-
assistiveText: { control: 'text' },
|
|
31
|
-
prefixText: { control: 'text' },
|
|
32
|
-
suffixText: { control: 'text' },
|
|
33
|
-
errorText: { control: 'text' },
|
|
34
|
-
successText: { control: 'text' },
|
|
35
|
-
icon: {
|
|
36
|
-
control: 'select',
|
|
37
|
-
options: icons.map(icon => icon.name),
|
|
38
|
-
},
|
|
39
|
-
type: {
|
|
40
|
-
control: 'select',
|
|
41
|
-
options: textInputTypes,
|
|
42
|
-
},
|
|
43
|
-
ariaLabel: { name: 'aria-label', control: 'text' },
|
|
44
|
-
ariaLabelledby: { name: 'aria-labelledby', control: 'text' },
|
|
45
|
-
ariaDescribedby: { name: 'aria-describedby', control: 'text' },
|
|
46
|
-
autocomplete: { control: 'text' },
|
|
47
|
-
},
|
|
48
22
|
args: {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
23
|
+
dsLabel: 'Label',
|
|
24
|
+
dsPlaceholder: '',
|
|
25
|
+
dsIdentifier: 'input',
|
|
26
|
+
dsName: '',
|
|
27
|
+
dsDisabled: false,
|
|
28
|
+
dsRequired: false,
|
|
29
|
+
dsReadonly: false,
|
|
30
|
+
dsValue: '',
|
|
31
|
+
dsMin: -1,
|
|
32
|
+
dsMax: -1,
|
|
33
|
+
dsMaxlength: -1,
|
|
34
|
+
dsAssistiveText: '',
|
|
35
|
+
dsPrefixText: '',
|
|
36
|
+
dsSuffixText: '',
|
|
37
|
+
dsErrorText: '',
|
|
38
|
+
dsSuccessText: '',
|
|
39
|
+
dsIcon: '',
|
|
40
|
+
dsType: 'text',
|
|
41
|
+
dsAutocomplete: '',
|
|
42
|
+
dsAriaLabel: '',
|
|
43
|
+
dsAriaLabelledby: '',
|
|
44
|
+
dsAriaDescribedby: '',
|
|
71
45
|
}
|
|
72
46
|
};
|
package/dist/collection/components/01-base-components/ds-visually-hidden/ds-visually-hidden.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
2
|
export class DsVisuallyHidden {
|
|
3
3
|
render() {
|
|
4
|
-
return (h("div", { key: '
|
|
4
|
+
return (h("div", { key: 'faa791957259a5ef05d2417a7b316e4cdabd8291', class: "ds-visually-hidden" }, h("slot", { key: 'd7c192f15bf2d74700205ad29f3bb78d0f9cce80' })));
|
|
5
5
|
}
|
|
6
6
|
static get is() { return "ds-visually-hidden"; }
|
|
7
7
|
static get encapsulation() { return "shadow"; }
|
package/dist/collection/store.js
CHANGED
|
@@ -2,12 +2,18 @@ import { createStore } from "@stencil/store";
|
|
|
2
2
|
;
|
|
3
3
|
const initialState = {
|
|
4
4
|
validation: 'client',
|
|
5
|
+
language: 'en',
|
|
5
6
|
};
|
|
6
7
|
const { state, set } = createStore({
|
|
7
8
|
...initialState,
|
|
8
9
|
});
|
|
9
10
|
export const isValidation = (validation) => state.validation === validation;
|
|
10
|
-
export const
|
|
11
|
+
export const getLanguage = () => state.language;
|
|
12
|
+
export const setLanguage = (language) => {
|
|
13
|
+
set('language', language);
|
|
14
|
+
};
|
|
15
|
+
export const configure = ({ validation, language }) => {
|
|
11
16
|
set('validation', validation || initialState.validation);
|
|
17
|
+
set('language', language || initialState.language);
|
|
12
18
|
};
|
|
13
19
|
export default state;
|
|
@@ -73,8 +73,8 @@ export const inheritAriaAttributes = (el, ignoreList) => {
|
|
|
73
73
|
}
|
|
74
74
|
return inheritSpecifiedAttributes(el, attributesToInherit);
|
|
75
75
|
};
|
|
76
|
-
export const inheritAttributes = (component, elem) => {
|
|
77
|
-
const attributesToIgnore = new Set(['class', 'style', ...ariaAttributes]);
|
|
76
|
+
export const inheritAttributes = (component, elem, attrsToIgnore = []) => {
|
|
77
|
+
const attributesToIgnore = new Set(['class', 'style', ...ariaAttributes, ...attrsToIgnore]);
|
|
78
78
|
const propsToIgnore = new Set(Object.keys(component));
|
|
79
79
|
const attributes = {};
|
|
80
80
|
for (const attr of elem.attributes) {
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function handleButtonLoading(buttonElement, originalValue, loadValue, loadingDuration = 3000) {
|
|
2
|
+
if (buttonElement.getAttribute('is-loading') === 'true')
|
|
3
|
+
return;
|
|
4
|
+
const originalIsLoading = buttonElement.getAttribute('is-loading') || 'false';
|
|
5
|
+
const originalAriaDisabled = buttonElement.getAttribute('aria-disabled') || 'false';
|
|
6
|
+
buttonElement.setAttribute('value', loadValue);
|
|
7
|
+
buttonElement.setAttribute('is-loading', 'true');
|
|
8
|
+
buttonElement.setAttribute('aria-disabled', 'true');
|
|
9
|
+
setTimeout(() => {
|
|
10
|
+
buttonElement.setAttribute('value', originalValue);
|
|
11
|
+
buttonElement.setAttribute('is-loading', originalIsLoading);
|
|
12
|
+
buttonElement.setAttribute('aria-disabled', originalAriaDisabled);
|
|
13
|
+
}, loadingDuration);
|
|
14
|
+
}
|
|
@@ -12,7 +12,7 @@ export const opaque = {
|
|
|
12
12
|
'--ds-overlay-white': 'Opaque overlays|white',
|
|
13
13
|
};
|
|
14
14
|
export const semantic = {
|
|
15
|
-
'
|
|
16
|
-
'
|
|
17
|
-
'
|
|
15
|
+
'$dsTextColor': 'Semantic colours|text',
|
|
16
|
+
'$dsBgColor': 'Semantic colours|background',
|
|
17
|
+
'$dsBorderColor': 'Semantic colours|border',
|
|
18
18
|
};
|
|
@@ -22,17 +22,18 @@ const getStyles = (colourType) => {
|
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
24
|
export const getColourVariables = (colourType) => {
|
|
25
|
-
const
|
|
25
|
+
const variablePattern = colourType === 'semantic' ? /\$[\w-]+:\s*[^;]+;/g : /--[\w-]+:\s*[^;]+;/g;
|
|
26
|
+
const cssVariables = Array.from(getStyles(colourType).matchAll(variablePattern)).map(match => match[0]);
|
|
26
27
|
const categories = getCategories(colourType);
|
|
27
28
|
return cssVariables
|
|
28
29
|
.map(variable => {
|
|
29
30
|
const [name, value] = variable.split(':').map(part => part.trim().replace(';', ''));
|
|
30
|
-
const cleanName = name.replace(
|
|
31
|
+
const cleanName = name.replace(/^(\$|--)/, '');
|
|
31
32
|
const categoryKey = Object.keys(categories).find(key => name.startsWith(key));
|
|
32
33
|
if (categoryKey) {
|
|
33
34
|
return { name: cleanName, variable, value, category: categories[categoryKey] };
|
|
34
35
|
}
|
|
35
|
-
return
|
|
36
|
+
return { name: cleanName, variable, value, category: 'Other' };
|
|
36
37
|
})
|
|
37
38
|
.filter(variable => variable !== null);
|
|
38
39
|
};
|
|
@@ -42,6 +43,7 @@ const createColourBox = (name, hex) => {
|
|
|
42
43
|
const colourSwatch = document.createElement('div');
|
|
43
44
|
colourSwatch.className = 'colour-swatch';
|
|
44
45
|
colourSwatch.style.backgroundColor = hex;
|
|
46
|
+
colourSwatch.setAttribute('title', `${name}: ${hex}`);
|
|
45
47
|
const colourInfo = document.createElement('div');
|
|
46
48
|
colourInfo.className = 'colour-info';
|
|
47
49
|
colourInfo.innerHTML = `${name} <br /> <code>${hex}</code>`;
|
|
@@ -1,2 +1,36 @@
|
|
|
1
|
-
|
|
1
|
+
import { getLanguage } from "../../store";
|
|
2
|
+
export const getOptionalText = (text, optionalText) => {
|
|
3
|
+
let defaultText = '(optional)';
|
|
4
|
+
switch (getLanguage()) {
|
|
5
|
+
case 'fi':
|
|
6
|
+
defaultText = '(valinnainen)';
|
|
7
|
+
break;
|
|
8
|
+
case 'sv':
|
|
9
|
+
defaultText = '(valfritt)';
|
|
10
|
+
break;
|
|
11
|
+
default:
|
|
12
|
+
break;
|
|
13
|
+
}
|
|
14
|
+
return [text, optionalText || defaultText].join(' ');
|
|
15
|
+
};
|
|
2
16
|
export const getRequiredText = (text) => [text, '*'].join(' ');
|
|
17
|
+
export const atLeastOneOption = () => {
|
|
18
|
+
switch (getLanguage()) {
|
|
19
|
+
case 'fi':
|
|
20
|
+
return 'Valitse vähintään yksi vaihtoehto.';
|
|
21
|
+
case 'sv':
|
|
22
|
+
return 'Vänligen välj minst ett alternativ.';
|
|
23
|
+
default:
|
|
24
|
+
return 'Please select at least one option.';
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
export const allOptions = () => {
|
|
28
|
+
switch (getLanguage()) {
|
|
29
|
+
case 'fi':
|
|
30
|
+
return 'Valitse kaikki vaihtoehdot.';
|
|
31
|
+
case 'sv':
|
|
32
|
+
return 'Vänligen välj alla alternativ.';
|
|
33
|
+
default:
|
|
34
|
+
return 'Please select all options.';
|
|
35
|
+
}
|
|
36
|
+
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { getLanguage } from "../../store";
|
|
1
2
|
export const opensInNewTab = (target) => target === '_blank';
|
|
2
|
-
export const visuallyHiddenAssistiveText = (
|
|
3
|
-
switch (
|
|
3
|
+
export const visuallyHiddenAssistiveText = () => {
|
|
4
|
+
switch (getLanguage()) {
|
|
4
5
|
case 'fi':
|
|
5
6
|
return 'Avautuu uuteen välilehteen';
|
|
6
7
|
case 'sv':
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export function toggleSpinnerLoad(buttonElement, spinnerElement, results, buttonOriginalValue, loadValue, loadingDuration = 3000) {
|
|
2
|
+
if (buttonElement.getAttribute('is-loading') === 'true')
|
|
3
|
+
return;
|
|
4
|
+
console.log(buttonElement, spinnerElement, results);
|
|
5
|
+
const originalIsLoading = buttonElement.getAttribute('is-loading') || 'false';
|
|
6
|
+
const originalAriaDisabled = buttonElement.getAttribute('aria-disabled') || 'false';
|
|
7
|
+
buttonElement.setAttribute('value', loadValue);
|
|
8
|
+
buttonElement.setAttribute('is-loading', 'true');
|
|
9
|
+
buttonElement.setAttribute('aria-disabled', 'true');
|
|
10
|
+
results.classList.add('ds-sb-hidden');
|
|
11
|
+
spinnerElement.classList.remove('ds-sb-hidden');
|
|
12
|
+
setTimeout(() => {
|
|
13
|
+
buttonElement.setAttribute('value', buttonOriginalValue);
|
|
14
|
+
buttonElement.setAttribute('is-loading', originalIsLoading);
|
|
15
|
+
buttonElement.setAttribute('aria-disabled', originalAriaDisabled);
|
|
16
|
+
results.innerHTML = 'Sended';
|
|
17
|
+
results.classList.remove('ds-sb-hidden');
|
|
18
|
+
spinnerElement.classList.add('ds-sb-hidden');
|
|
19
|
+
}, loadingDuration);
|
|
20
|
+
}
|
|
@@ -85,11 +85,11 @@ export const createCategorySection = (category, fonts, renderedCategories) => {
|
|
|
85
85
|
};
|
|
86
86
|
export const getCSSClasses = (prefix) => {
|
|
87
87
|
const stylesheets = Array.from(document.styleSheets);
|
|
88
|
-
|
|
89
|
-
for (
|
|
88
|
+
const classNames = [];
|
|
89
|
+
for (const sheet of stylesheets) {
|
|
90
90
|
try {
|
|
91
91
|
const rules = Array.from(sheet.cssRules);
|
|
92
|
-
for (
|
|
92
|
+
for (const rule of rules) {
|
|
93
93
|
if (rule.selectorText) {
|
|
94
94
|
const selector = rule.selectorText;
|
|
95
95
|
if (selector.startsWith(`.${prefix}`)) {
|
|
@@ -36,6 +36,16 @@ export const generateLoremIpsum = ({ paragraphs = 1, wordsPerParagraph = 50, sta
|
|
|
36
36
|
export const formatAs = (value, suffix) => value.endsWith(suffix) ? value : `${value}${suffix}`;
|
|
37
37
|
export const formatAsRem = (value) => formatAs(value, 'rem');
|
|
38
38
|
export const formatAsPx = (value) => formatAs(value, 'px');
|
|
39
|
+
export const slugifyText = (text) => {
|
|
40
|
+
return text
|
|
41
|
+
.toString()
|
|
42
|
+
.toLowerCase()
|
|
43
|
+
.replace(/\s+/g, '-')
|
|
44
|
+
.replace(/[^\w-]+/g, '')
|
|
45
|
+
.replace(/--+/g, '-')
|
|
46
|
+
.replace(/^-+/, '')
|
|
47
|
+
.replace(/-+$/, '');
|
|
48
|
+
};
|
|
39
49
|
export const remToPx = (remString) => {
|
|
40
50
|
const rootFontSize = 16;
|
|
41
51
|
const rem = parseFloat(remString);
|
|
@@ -56,12 +66,3 @@ export function* idGenerator(id) {
|
|
|
56
66
|
yield `${id}-${currentId++}`;
|
|
57
67
|
}
|
|
58
68
|
}
|
|
59
|
-
export const getAriaLabel = (text, ariaLabel) => {
|
|
60
|
-
if (!ariaLabel) {
|
|
61
|
-
return undefined;
|
|
62
|
-
}
|
|
63
|
-
if (ariaLabel.startsWith(text)) {
|
|
64
|
-
return ariaLabel;
|
|
65
|
-
}
|
|
66
|
-
return [text, ariaLabel].join(' ');
|
|
67
|
-
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=(a,r=[])=>{const i={};return r.forEach((r=>{a.hasAttribute(r)&&(null!==a.getAttribute(r)&&(i[r]=a.getAttribute(r)),a.removeAttribute(r))})),i},r=["role","aria-activedescendant","aria-atomic","aria-autocomplete","aria-braillelabel","aria-brailleroledescription","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colindextext","aria-colspan","aria-controls","aria-current","aria-describedby","aria-description","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowindextext","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext"],i=(i,e)=>{let
|
|
1
|
+
const a=(a,r=[])=>{const i={};return r.forEach((r=>{a.hasAttribute(r)&&(null!==a.getAttribute(r)&&(i[r]=a.getAttribute(r)),a.removeAttribute(r))})),i},r=["role","aria-activedescendant","aria-atomic","aria-autocomplete","aria-braillelabel","aria-brailleroledescription","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colindextext","aria-colspan","aria-controls","aria-current","aria-describedby","aria-description","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowindextext","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext"],i=(i,e)=>{let l=[...r];return e&&e.length>0&&(l=l.filter((a=>!e.includes(a)))),a(i,l)},e=(a,i,e=[])=>{const l=new Set(["class","style",...r,...e]),t=new Set(Object.keys(a)),o={};for(const a of i.attributes)t.has(a.name.replace(/-./g,(a=>a[1].toUpperCase())))||l.has(a.name)||(o[a.name]=a.value);return o};export{a,i as b,e as i}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
html{box-sizing:border-box}html *,html *::before,html *::after{box-sizing:inherit}:root{--ds-borderWidth-none:0px;--ds-borderWidth-hairline:1px;--ds-borderWidth-thin:2px;--ds-borderWidth-thick:4px;--ds-borderWidth-xThick:8px;--ds-borderRadius-none:0px}:root{--ds-breakpoint-xSmall:20rem;--ds-breakpoint-small:30rem;--ds-breakpoint-medium:60rem;--ds-breakpoint-large:75rem;--ds-breakpoint-xLarge:90rem}:root{--ds-overlay-black-00:rgb(0 0 0 / 0);--ds-overlay-black-05:rgb(0 0 0 / 0.05);--ds-overlay-black-10:rgb(0 0 0 / 0.1);--ds-overlay-black-15:rgb(0 0 0 / 0.15);--ds-overlay-black-30:rgb(0 0 0 / 0.3);--ds-overlay-black-40:rgb(0 0 0 / 0.4);--ds-overlay-black-50:rgb(0 0 0 / 0.5);--ds-overlay-black-70:rgb(0 0 0 / 0.7);--ds-overlay-black-80:rgb(0 0 0 / 0.8);--ds-overlay-white-00:rgb(255 255 255 / 0);--ds-overlay-white-05:rgb(255 255 255 / 0.05);--ds-overlay-white-10:rgb(255 255 255 / 0.1);--ds-overlay-white-15:rgb(255 255 255 / 0.15);--ds-overlay-white-30:rgb(255 255 255 / 0.3);--ds-overlay-white-40:rgb(255 255 255 / 0.4);--ds-overlay-white-50:rgb(255 255 255 / 0.5);--ds-overlay-white-70:rgb(255 255 255 / 0.7);--ds-overlay-white-80:rgb(255 255 255 / 0.8);--ds-palette-black:#000000;--ds-palette-white:#ffffff;--ds-palette-black-03:#f7f7f7;--ds-palette-black-05:#f2f2f2;--ds-palette-black-10:#e6e6e6;--ds-palette-black-20:#cccccc;--ds-palette-black-30:#b3b3b3;--ds-palette-black-40:#999999;--ds-palette-black-50:#808080;--ds-palette-black-60:#666666;--ds-palette-black-70:#4d4d4d;--ds-palette-black-80:#333333;--ds-palette-black-90:#1a1a1a;--ds-palette-black-95:#0c0c0c;--ds-palette-blue-05:#e5f8ff;--ds-palette-blue-10:#c2eeff;--ds-palette-blue-20:#8adeff;--ds-palette-blue-30:#5cd1ff;--ds-palette-blue-40:#1abeff;--ds-palette-blue-50:#009ad6;--ds-palette-blue-60:#0084b8;--ds-palette-blue-70:#005b80;--ds-palette-blue-80:#053c52;--ds-palette-blue-90:#032330;--ds-palette-green-05:#dffbe1;--ds-palette-green-10:#bef4c1;--ds-palette-green-20:#85e08a;--ds-palette-green-30:#66cc6b;--ds-palette-green-40:#43b149;--ds-palette-green-50:#279b2d;--ds-palette-green-60:#257e29;--ds-palette-green-70:#216325;--ds-palette-green-80:#183f19;--ds-palette-green-90:#0f2410;--ds-palette-mainBlue-05:#e5f5ff;--ds-palette-mainBlue-10:#cdebff;--ds-palette-mainBlue-20:#99d7ff;--ds-palette-mainBlue-30:#70c7ff;--ds-palette-mainBlue-40:#3db3ff;--ds-palette-mainBlue-50:#009bff;--ds-palette-mainBlue-60:#007fd1;--ds-palette-mainBlue-70:#005a94;--ds-palette-mainBlue-80:#003152;--ds-palette-mainBlue-90:#001929;--ds-palette-red-05:#ffeceb;--ds-palette-red-10:#ffd8d6;--ds-palette-red-20:#fdb7b4;--ds-palette-red-30:#f87c77;--ds-palette-red-40:#f0514c;--ds-palette-red-50:#d71f19;--ds-palette-red-60:#bd2828;--ds-palette-red-70:#8b2623;--ds-palette-red-80:#602220;--ds-palette-red-90:#321c1b;--ds-palette-yellow-05:#fff1db;--ds-palette-yellow-10:#ffe7c2;--ds-palette-yellow-20:#ffd799;--ds-palette-yellow-30:#fbc05f;--ds-palette-yellow-40:#eea22b;--ds-palette-yellow-50:#ce8103;--ds-palette-yellow-60:#b26d00;--ds-palette-yellow-70:#7a4b00;--ds-palette-yellow-80:#4e3104;--ds-palette-yellow-90:#282115}:root{--ds-textColor-default:var(--ds-palette-black-95);--ds-textColor-primary:var(--ds-palette-mainBlue-70);--ds-textColor-secondary:var(--ds-palette-black-70);--ds-textColor-white:var(--ds-palette-white);--ds-textColor-danger:var(--ds-palette-red-80);--ds-textColor-success:var(--ds-palette-green-80);--ds-textColor-disabled-onLight:var(--ds-palette-black-40);--ds-textColor-disabled-onDark:var(--ds-overlay-white-40);--ds-textColor-link:var(--ds-palette-mainBlue-70);--ds-textColor-link-hover:var(--ds-palette-mainBlue-80);--ds-textColor-link-active:var(--ds-palette-mainBlue-90);--ds-textColor-link-visited:#551a8b;--ds-textColor-link--standalone:var(--ds-palette-black-70);--ds-textColor-link--standalone-hover:var(--ds-palette-black-80);--ds-textColor-link--standalone-active:var(--ds-palette-black-95);--ds-textColor-link--standalone-focus:var(--ds-palette-black-70);--ds-bgColor-primary:var(--ds-palette-mainBlue-70);--ds-bgColor-primary-hover:var(--ds-palette-mainBlue-80);--ds-bgColor-primary-active:var(--ds-palette-mainBlue-90);--ds-bgColor-secondary:var(--ds-palette-white);--ds-bgColor-secondary-hover:var(--ds-palette-mainBlue-05);--ds-bgColor-secondary-active:var(--ds-palette-mainBlue-10);--ds-bgColor-white:var(--ds-palette-white);--ds-bgColor-white-hover:var(--ds-palette-black-10);--ds-bgColor-white-active:var(--ds-palette-black-20);--ds-bgColor-black:var(--ds-palette-black-95);--ds-bgColor-black-hover:var(--ds-palette-black-80);--ds-bgColor-black-active:var(--ds-palette-white-70);--ds-bgColor-danger:var(--ds-palette-red-05);--ds-bgColor-danger-hover:var(--ds-palette-red-10);--ds-bgColor-danger-active:var(--ds-palette-red-20);--ds-bgColor-success:var(--ds-palette-green-05);--ds-bgColor-success-hover:var(--ds-palette-green-10);--ds-bgColor-success-active:var(--ds-palette-green-20);--ds-bgColor-transparent-onLight:var(--ds-overlay-black-00);--ds-bgColor-transparent-onLight-hover:var(--ds-overlay-black-10);--ds-bgColor-transparent-onLight-active:var(--ds-overlay-black-15);--ds-bgColor-transparent-onDark:var(--ds-overlay-white-00);--ds-bgColor-transparent-onDark-hover:var(--ds-overlay-white-30);--ds-bgColor-transparent-onDark-active:var(--ds-overlay-white-40);--ds-bgColor-disabled-onLight:var(--ds-overlay-black-10);--ds-bgColor-disabled-onDark:var(--ds-overlay-white-10);--ds-borderColor-default:var(--ds-palette-black-50);--ds-borderColor-primary:var(--ds-palette-mainBlue-70);--ds-borderColor-black:var(--ds-palette-black-95);--ds-borderColor-white:var(--ds-palette-white);--ds-borderColor-danger:var(--ds-palette-red-50);--ds-borderColor-success:var(--ds-palette-green-50);--ds-borderColor-transparent:var(--ds-overlay-black-00);--ds-borderColor-disabled-onLight:var(--ds-overlay-black-15);--ds-borderColor-disabled-onDark:var(--ds-overlay-white-15);--ds-borderColor-light:var(--ds-palette-black-20)}:root{--ds-spacing-4xSmall:0.125rem;--ds-spacing-3xSmall:0.25rem;--ds-spacing-2xSmall:0.5rem;--ds-spacing-xSmall:0.75rem;--ds-spacing-small:1rem;--ds-spacing-medium:1.5rem;--ds-spacing-large:2rem;--ds-spacing-xLarge:2.5rem;--ds-spacing-2xLarge:3rem;--ds-spacing-3xLarge:3.5rem;--ds-spacing-4xLarge:4rem;--ds-spacing-5xLarge:4.5rem;--ds-spacing-layout-2xSmall:1rem;--ds-spacing-layout-xSmall:1.5rem;--ds-spacing-layout-small:2rem;--ds-spacing-layout-medium:3rem;--ds-spacing-layout-large:4rem;--ds-spacing-layout-xLarge:6rem;--ds-spacing-layout-2xLarge:8rem}html{font-size:100%}body{font-size:1rem}.ds-font--heading{font-family:var(--ds-fontFamily-heading)}.ds-font--body{font-family:var(--ds-fontFamily-body)}.ds-font--regular{font-weight:var(--ds-fontWeight-regular)}.ds-font--semibold{font-weight:var(--ds-fontWeight-semibold)}.ds-font--semibold-plus{font-weight:var(--ds-fontWeight-semiboldPlus)}.ds-font--bold{font-weight:var(--ds-fontWeight-bold)}.ds-tracking--xtight{letter-spacing:var(--ds-letterSpacing-xTight)}.ds-tracking--tight{letter-spacing:var(--ds-letterSpacing-tight)}.ds-tracking--normal{letter-spacing:var(--ds-letterSpacing-normal)}.ds-tracking--wide{letter-spacing:var(--ds-letterSpacing-wide)}.ds-tracking--xwide{letter-spacing:var(--ds-letterSpacing-xWide)}.ds-leading--small{line-height:var(--ds-lineHeight-small)}.ds-leading--medium{line-height:var(--ds-lineHeight-medium)}.ds-leading--large{line-height:var(--ds-lineHeight-large)}.ds-leading--xlarge{line-height:var(--ds-lineHeight-xLarge)}.ds-width--normal{font-stretch:var(--ds-fontWidth-normal)}.ds-width--condense{font-stretch:var(--ds-fontWidth-condense)}.ds-number--proportional{font-variant-numeric:var(--ds-number-style)}.ds-paragraph--16{margin-bottom:var(--ds-fontSize-16)}.ds-paragraph--20{margin-bottom:var(--ds-fontSize-20)}.ds-list--spacing{gap:4px}.ds-text-color--default{color:var(--ds-textColor-default)}.ds-text--2xl-regular{font-size:var(--ds-fontSize-22);font-weight:var(--ds-fontWeight-regular)}.ds-text--xl-regular{font-size:var(--ds-fontSize-20);font-weight:var(--ds-fontWeight-regular)}.ds-text--lg-regular{font-size:var(--ds-fontSize-18);font-weight:var(--ds-fontWeight-regular)}.ds-text--md-regular{font-size:var(--ds-fontSize-16);font-weight:var(--ds-fontWeight-regular)}.ds-text--sm-regular{font-size:var(--ds-fontSize-14);font-weight:var(--ds-fontWeight-regular)}.ds-text--xs-regular{font-size:var(--ds-fontSize-12);font-weight:var(--ds-fontWeight-regular)}.ds-text--2xl-semibold{font-size:var(--ds-fontSize-22);font-weight:var(--ds-fontWeight-semibold)}.ds-text--xl-semibold{font-size:var(--ds-fontSize-20);font-weight:var(--ds-fontWeight-semibold)}.ds-text--lg-semibold{font-size:var(--ds-fontSize-18);font-weight:var(--ds-fontWeight-semibold)}.ds-text--md-semibold{font-size:var(--ds-fontSize-16);font-weight:var(--ds-fontWeight-semibold)}.ds-text--sm-semibold{font-size:var(--ds-fontSize-14);font-weight:var(--ds-fontWeight-semibold)}.ds-text--xs-semibold{font-size:var(--ds-fontSize-12);font-weight:var(--ds-fontWeight-semibold)}.ds-text--2xl-bold{font-size:var(--ds-fontSize-22);font-weight:var(--ds-fontWeight-bold)}.ds-text--xl-bold{font-size:var(--ds-fontSize-20);font-weight:var(--ds-fontWeight-bold)}.ds-text--lg-bold{font-size:var(--ds-fontSize-18);font-weight:var(--ds-fontWeight-bold)}.ds-text--md-bold{font-size:var(--ds-fontSize-16);font-weight:var(--ds-fontWeight-bold)}.ds-text--sm-bold{font-size:var(--ds-fontSize-14);font-weight:var(--ds-fontWeight-bold)}.ds-text--xs-bold{font-size:var(--ds-fontSize-12);font-weight:var(--ds-fontWeight-bold)}.ds-heading--2xLarge{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-heading);font-size:var(--ds-fontSize-40);font-weight:var(--ds-fontWeight-bold);letter-spacing:-1.2px;font-stretch:var(--ds-fontWidth-normal);line-height:48px;text-transform:uppercase}@media (min-width: 30rem){.ds-heading--2xLarge{font-size:var(--ds-fontSize-56);letter-spacing:var(--ds-letterSpacing-tight);line-height:64px;font-stretch:var(--ds-fontWidth-condense)}}.ds-heading--xLarge{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-heading);font-size:var(--ds-fontSize-32);font-weight:var(--ds-fontWeight-bold);letter-spacing:var(--ds-letterSpacing-tight);line-height:36px;font-stretch:var(--ds-fontWidth-normal)}@media (min-width: 30rem){.ds-heading--xLarge{font-size:var(--ds-fontSize-48);line-height:52px;font-stretch:var(--ds-fontWidth-condense)}}.ds-heading--large{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-heading);font-size:var(--ds-fontSize-24);font-weight:var(--ds-fontWeight-bold);letter-spacing:var(--ds-letterSpacing-normal);line-height:28px}@media (min-width: 30rem){.ds-heading--large{font-size:var(--ds-fontSize-32);font-weight:var(--ds-fontWeight-semiboldPlus);letter-spacing:var(--ds-letterSpacing-tight);line-height:36px}}.ds-heading--medium{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-heading);font-size:var(--ds-fontSize-20);font-weight:var(--ds-fontWeight-semiboldPlus);letter-spacing:var(--ds-letterSpacing-normal);line-height:28px}@media (min-width: 30rem){.ds-heading--medium{font-size:var(--ds-fontSize-24);line-height:24px}}.ds-heading--small{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-heading);font-size:var(--ds-fontSize-18);font-weight:var(--ds-fontWeight-semibold);letter-spacing:var(--ds-letterSpacing-normal);line-height:20px}@media (min-width: 30rem){.ds-heading--small{font-size:var(--ds-fontSize-20);line-height:24px}}.ds-heading--xSmall{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-heading);font-size:var(--ds-fontSize-16);font-weight:var(--ds-fontWeight-bold);letter-spacing:var(--ds-letterSpacing-normal);line-height:18px;text-transform:uppercase}@media (min-width: 30rem){.ds-heading--xSmall{font-size:var(--ds-fontSize-18);line-height:20px}}.ds-bodyText--2xLarge{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-20);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}@media (min-width: 30rem){.ds-bodyText--2xLarge{font-size:var(--ds-fontSize-22)}}.ds-bodyText--xLarge{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-18);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}@media (min-width: 30rem){.ds-bodyText--xLarge{font-size:var(--ds-fontSize-20)}}.ds-bodyText--large{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-16);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}@media (min-width: 30rem){.ds-bodyText--large{font-size:var(--ds-fontSize-18)}}.ds-bodyText--medium{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-14);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}@media (min-width: 30rem){.ds-bodyText--medium{font-size:var(--ds-fontSize-16)}}.ds-bodyText--small{color:var(--ds-textColor-default);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-12);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}@media (min-width: 30rem){.ds-bodyText--small{font-size:var(--ds-fontSize-14)}}:root{--ds-fontFamily-heading:"Open Sans", sans-serif;--ds-fontFamily-body:"Open Sans", sans-serif;--ds-fontSize-12:12px;--ds-fontSize-14:14px;--ds-fontSize-16:16px;--ds-fontSize-18:18px;--ds-fontSize-20:20px;--ds-fontSize-22:22px;--ds-fontSize-24:24px;--ds-fontSize-26:26px;--ds-fontSize-30:30px;--ds-fontSize-32:32px;--ds-fontSize-36:36px;--ds-fontSize-40:40px;--ds-fontSize-48:48px;--ds-fontSize-56:56px;--ds-fontSize-64:64px;--ds-fontWeight-regular:400;--ds-fontWeight-semibold:600;--ds-fontWeight-semiboldPlus:650;--ds-fontWeight-bold:700;--ds-letterSpacing-xTight:-2;--ds-letterSpacing-tight:-1.4;--ds-letterSpacing-normal:-0.4;--ds-letterSpacing-wide:0;--ds-letterSpacing-xWide:0.4;--ds-lineHeight-small:1;--ds-lineHeight-medium:1.2;--ds-lineHeight-large:1.5;--ds-lineHeight-xLarge:1.75;--ds-fontWidth-normal:100;--ds-fontWidth-condense:90;--ds-number-style:proportional-figures;}@supports (font-variation-settings: normal){:root{--ds-fontFamily-heading:"Open Sans Variable", sans-serif;--ds-fontFamily-body:"Open Sans Variable", sans-serif}}.button-group{display:flex;flex-wrap:wrap;gap:var(--ds-spacing-xSmall)}
|
|
1
|
+
html{box-sizing:border-box}html *,html *::before,html *::after{box-sizing:inherit}:root{--ds-borderWidth-none:0px;--ds-borderWidth-hairline:1px;--ds-borderWidth-thin:2px;--ds-borderWidth-thick:4px;--ds-borderWidth-xThick:8px;--ds-borderRadius-none:0px}:root{--ds-breakpoint-xSmall:20rem;--ds-breakpoint-small:30rem;--ds-breakpoint-medium:60rem;--ds-breakpoint-large:75rem;--ds-breakpoint-xLarge:90rem}:root{--ds-overlay-black-00:rgb(0 0 0 / 0%);--ds-overlay-black-05:rgb(0 0 0 / 5%);--ds-overlay-black-10:rgb(0 0 0 / 10%);--ds-overlay-black-15:rgb(0 0 0 / 15%);--ds-overlay-black-30:rgb(0 0 0 / 30%);--ds-overlay-black-40:rgb(0 0 0 / 40%);--ds-overlay-black-50:rgb(0 0 0 / 50%);--ds-overlay-black-70:rgb(0 0 0 / 70%);--ds-overlay-black-80:rgb(0 0 0 / 80%);--ds-overlay-white-00:rgb(255 255 255 / 0%);--ds-overlay-white-05:rgb(255 255 255 / 5%);--ds-overlay-white-10:rgb(255 255 255 / 10%);--ds-overlay-white-15:rgb(255 255 255 / 15%);--ds-overlay-white-30:rgb(255 255 255 / 30%);--ds-overlay-white-40:rgb(255 255 255 / 40%);--ds-overlay-white-50:rgb(255 255 255 / 50%);--ds-overlay-white-70:rgb(255 255 255 / 70%);--ds-overlay-white-80:rgb(255 255 255 / 80%);--ds-palette-black:#000;--ds-palette-white:#fff;--ds-palette-black-03:#f7f7f7;--ds-palette-black-05:#f2f2f2;--ds-palette-black-10:#e6e6e6;--ds-palette-black-20:#ccc;--ds-palette-black-30:#b3b3b3;--ds-palette-black-40:#999;--ds-palette-black-50:#808080;--ds-palette-black-60:#666;--ds-palette-black-70:#4d4d4d;--ds-palette-black-80:#333;--ds-palette-black-90:#1a1a1a;--ds-palette-black-95:#0c0c0c;--ds-palette-blue-05:#e5f8ff;--ds-palette-blue-10:#c2eeff;--ds-palette-blue-20:#8adeff;--ds-palette-blue-30:#5cd1ff;--ds-palette-blue-40:#1abeff;--ds-palette-blue-50:#009ad6;--ds-palette-blue-60:#0084b8;--ds-palette-blue-70:#005b80;--ds-palette-blue-80:#053c52;--ds-palette-blue-90:#032330;--ds-palette-green-05:#dffbe1;--ds-palette-green-10:#bef4c1;--ds-palette-green-20:#85e08a;--ds-palette-green-30:#66cc6b;--ds-palette-green-40:#43b149;--ds-palette-green-50:#279b2d;--ds-palette-green-60:#257e29;--ds-palette-green-70:#216325;--ds-palette-green-80:#183f19;--ds-palette-green-90:#0f2410;--ds-palette-mainBlue-05:#e5f5ff;--ds-palette-mainBlue-10:#cdebff;--ds-palette-mainBlue-20:#99d7ff;--ds-palette-mainBlue-30:#70c7ff;--ds-palette-mainBlue-40:#3db3ff;--ds-palette-mainBlue-50:#009bff;--ds-palette-mainBlue-60:#007fd1;--ds-palette-mainBlue-70:#005a94;--ds-palette-mainBlue-80:#003152;--ds-palette-mainBlue-90:#001929;--ds-palette-red-05:#ffeceb;--ds-palette-red-10:#ffd8d6;--ds-palette-red-20:#fdb7b4;--ds-palette-red-30:#f87c77;--ds-palette-red-40:#f0514c;--ds-palette-red-50:#d71f19;--ds-palette-red-60:#bd2828;--ds-palette-red-70:#8b2623;--ds-palette-red-80:#602220;--ds-palette-red-90:#321c1b;--ds-palette-yellow-05:#fff1db;--ds-palette-yellow-10:#ffe7c2;--ds-palette-yellow-20:#ffd799;--ds-palette-yellow-30:#fbc05f;--ds-palette-yellow-40:#eea22b;--ds-palette-yellow-50:#ce8103;--ds-palette-yellow-60:#b26d00;--ds-palette-yellow-70:#7a4b00;--ds-palette-yellow-80:#4e3104;--ds-palette-yellow-90:#282115}:root{--ds-spacing-4xSmall:0.125rem;--ds-spacing-3xSmall:0.25rem;--ds-spacing-2xSmall:0.5rem;--ds-spacing-xSmall:0.75rem;--ds-spacing-small:1rem;--ds-spacing-medium:1.5rem;--ds-spacing-large:2rem;--ds-spacing-xLarge:2.5rem;--ds-spacing-2xLarge:3rem;--ds-spacing-3xLarge:3.5rem;--ds-spacing-4xLarge:4rem;--ds-spacing-5xLarge:4.5rem;--ds-spacing-layout-2xSmall:1rem;--ds-spacing-layout-xSmall:1.5rem;--ds-spacing-layout-small:2rem;--ds-spacing-layout-medium:3rem;--ds-spacing-layout-large:4rem;--ds-spacing-layout-xLarge:6rem;--ds-spacing-layout-2xLarge:8rem}html{font-size:100%}body{font-size:1rem}.ds-font{}.ds-font--heading{font-family:var(--ds-fontFamily-heading)}.ds-font--body{font-family:var(--ds-fontFamily-body)}.ds-font--regular{font-weight:var(--ds-fontWeight-regular)}.ds-font--semibold{font-weight:var(--ds-fontWeight-semibold)}.ds-font--semibold-plus{font-weight:var(--ds-fontWeight-semiboldPlus)}.ds-font--bold{font-weight:var(--ds-fontWeight-bold)}.ds-tracking--xtight{letter-spacing:var(--ds-letterSpacing-xTight)}.ds-tracking--tight{letter-spacing:var(--ds-letterSpacing-tight)}.ds-tracking--normal{letter-spacing:var(--ds-letterSpacing-normal)}.ds-tracking--wide{letter-spacing:var(--ds-letterSpacing-wide)}.ds-tracking--xwide{letter-spacing:var(--ds-letterSpacing-xWide)}.ds-leading--small{line-height:var(--ds-lineHeight-small)}.ds-leading--medium{line-height:var(--ds-lineHeight-medium)}.ds-leading--large{line-height:var(--ds-lineHeight-large)}.ds-leading--xlarge{line-height:var(--ds-lineHeight-xLarge)}.ds-width--normal{font-stretch:var(--ds-fontWidth-normal)}.ds-width--condense{font-stretch:var(--ds-fontWidth-condense)}.ds-number--proportional{font-variant-numeric:var(--ds-number-style)}.ds-paragraph--16{margin-bottom:var(--ds-fontSize-16)}.ds-paragraph--20{margin-bottom:var(--ds-fontSize-20)}.ds-list--spacing{gap:4px}.ds-text-color--default{color:var(--ds-palette-black-95)}.ds-text{}.ds-text--2xl-regular{font-size:var(--ds-fontSize-22);font-weight:var(--ds-fontWeight-regular)}.ds-text--xl-regular{font-size:var(--ds-fontSize-20);font-weight:var(--ds-fontWeight-regular)}.ds-text--lg-regular{font-size:var(--ds-fontSize-18);font-weight:var(--ds-fontWeight-regular)}.ds-text--md-regular{font-size:var(--ds-fontSize-16);font-weight:var(--ds-fontWeight-regular)}.ds-text--sm-regular{font-size:var(--ds-fontSize-14);font-weight:var(--ds-fontWeight-regular)}.ds-text--xs-regular{font-size:var(--ds-fontSize-12);font-weight:var(--ds-fontWeight-regular)}.ds-text--2xl-semibold{font-size:var(--ds-fontSize-22);font-weight:var(--ds-fontWeight-semibold)}.ds-text--xl-semibold{font-size:var(--ds-fontSize-20);font-weight:var(--ds-fontWeight-semibold)}.ds-text--lg-semibold{font-size:var(--ds-fontSize-18);font-weight:var(--ds-fontWeight-semibold)}.ds-text--md-semibold{font-size:var(--ds-fontSize-16);font-weight:var(--ds-fontWeight-semibold)}.ds-text--sm-semibold{font-size:var(--ds-fontSize-14);font-weight:var(--ds-fontWeight-semibold)}.ds-text--xs-semibold{font-size:var(--ds-fontSize-12);font-weight:var(--ds-fontWeight-semibold)}.ds-text--2xl-bold{font-size:var(--ds-fontSize-22);font-weight:var(--ds-fontWeight-bold)}.ds-text--xl-bold{font-size:var(--ds-fontSize-20);font-weight:var(--ds-fontWeight-bold)}.ds-text--lg-bold{font-size:var(--ds-fontSize-18);font-weight:var(--ds-fontWeight-bold)}.ds-text--md-bold{font-size:var(--ds-fontSize-16);font-weight:var(--ds-fontWeight-bold)}.ds-text--sm-bold{font-size:var(--ds-fontSize-14);font-weight:var(--ds-fontWeight-bold)}.ds-text--xs-bold{font-size:var(--ds-fontSize-12);font-weight:var(--ds-fontWeight-bold)}.ds-heading--2xLarge{color:var(--ds-palette-black-95);font-family:var(--ds-fontFamily-heading);font-size:var(--ds-fontSize-40);font-weight:var(--ds-fontWeight-bold);letter-spacing:-1.2px;font-stretch:var(--ds-fontWidth-normal);line-height:48px;text-transform:uppercase}@media (min-width: 30rem){.ds-heading--2xLarge{font-size:var(--ds-fontSize-56);letter-spacing:var(--ds-letterSpacing-tight);line-height:64px;font-stretch:var(--ds-fontWidth-condense)}}.ds-heading--xLarge{color:var(--ds-palette-black-95);font-family:var(--ds-fontFamily-heading);font-size:var(--ds-fontSize-32);font-weight:var(--ds-fontWeight-bold);letter-spacing:var(--ds-letterSpacing-tight);line-height:36px;font-stretch:var(--ds-fontWidth-normal)}@media (min-width: 30rem){.ds-heading--xLarge{font-size:var(--ds-fontSize-48);line-height:52px;font-stretch:var(--ds-fontWidth-condense)}}.ds-heading--large{color:var(--ds-palette-black-95);font-family:var(--ds-fontFamily-heading);font-size:var(--ds-fontSize-24);font-weight:var(--ds-fontWeight-bold);letter-spacing:var(--ds-letterSpacing-normal);line-height:28px}@media (min-width: 30rem){.ds-heading--large{font-size:var(--ds-fontSize-32);font-weight:var(--ds-fontWeight-semiboldPlus);letter-spacing:var(--ds-letterSpacing-tight);line-height:36px}}.ds-heading--medium{color:var(--ds-palette-black-95);font-family:var(--ds-fontFamily-heading);font-size:var(--ds-fontSize-20);font-weight:var(--ds-fontWeight-semiboldPlus);letter-spacing:var(--ds-letterSpacing-normal);line-height:28px}@media (min-width: 30rem){.ds-heading--medium{font-size:var(--ds-fontSize-24);line-height:24px}}.ds-heading--small{color:var(--ds-palette-black-95);font-family:var(--ds-fontFamily-heading);font-size:var(--ds-fontSize-18);font-weight:var(--ds-fontWeight-semibold);letter-spacing:var(--ds-letterSpacing-normal);line-height:20px}@media (min-width: 30rem){.ds-heading--small{font-size:var(--ds-fontSize-20);line-height:24px}}.ds-heading--xSmall{color:var(--ds-palette-black-95);font-family:var(--ds-fontFamily-heading);font-size:var(--ds-fontSize-16);font-weight:var(--ds-fontWeight-bold);letter-spacing:var(--ds-letterSpacing-normal);line-height:18px;text-transform:uppercase}@media (min-width: 30rem){.ds-heading--xSmall{font-size:var(--ds-fontSize-18);line-height:20px}}.ds-bodyText--2xLarge{color:var(--ds-palette-black-95);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-20);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}@media (min-width: 30rem){.ds-bodyText--2xLarge{font-size:var(--ds-fontSize-22)}}.ds-bodyText--xLarge{color:var(--ds-palette-black-95);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-18);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}@media (min-width: 30rem){.ds-bodyText--xLarge{font-size:var(--ds-fontSize-20)}}.ds-bodyText--large{color:var(--ds-palette-black-95);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-16);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}@media (min-width: 30rem){.ds-bodyText--large{font-size:var(--ds-fontSize-18)}}.ds-bodyText--medium{color:var(--ds-palette-black-95);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-14);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}@media (min-width: 30rem){.ds-bodyText--medium{font-size:var(--ds-fontSize-16)}}.ds-bodyText--small{color:var(--ds-palette-black-95);font-family:var(--ds-fontFamily-body);font-size:var(--ds-fontSize-12);font-weight:var(--ds-fontWeight-regular);letter-spacing:var(--ds-letterSpacing-wide);line-height:var(--ds-lineHeight-large)}@media (min-width: 30rem){.ds-bodyText--small{font-size:var(--ds-fontSize-14)}}:root{--ds-fontFamily-heading:"Open Sans", sans-serif;--ds-fontFamily-body:"Open Sans", sans-serif;--ds-fontSize-12:12px;--ds-fontSize-14:14px;--ds-fontSize-16:16px;--ds-fontSize-18:18px;--ds-fontSize-20:20px;--ds-fontSize-22:22px;--ds-fontSize-24:24px;--ds-fontSize-26:26px;--ds-fontSize-30:30px;--ds-fontSize-32:32px;--ds-fontSize-36:36px;--ds-fontSize-40:40px;--ds-fontSize-48:48px;--ds-fontSize-56:56px;--ds-fontSize-64:64px;--ds-fontWeight-regular:400;--ds-fontWeight-semibold:600;--ds-fontWeight-semiboldPlus:650;--ds-fontWeight-bold:700;--ds-letterSpacing-xTight:-2;--ds-letterSpacing-tight:-1.4;--ds-letterSpacing-normal:-0.4;--ds-letterSpacing-wide:0;--ds-letterSpacing-xWide:0.4;--ds-lineHeight-small:1;--ds-lineHeight-medium:1.2;--ds-lineHeight-large:1.5;--ds-lineHeight-xLarge:1.75;--ds-fontWidth-normal:100;--ds-fontWidth-condense:90;--ds-number-style:proportional-figures;}@supports (font-variation-settings: normal){:root{--ds-fontFamily-heading:"Open Sans Variable", sans-serif;--ds-fontFamily-body:"Open Sans Variable", sans-serif}}
|