@dubai-design-system/components-js 5.2.0 → 5.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +92 -0
- package/MIGRATION.md +153 -18
- package/dist/cjs/dda-accordion.cjs.entry.js +3 -3
- package/dist/cjs/dda-alert.cjs.entry.js +5 -5
- package/dist/cjs/dda-attach-file.cjs.entry.js +3 -3
- package/dist/cjs/dda-avatar.cjs.entry.js +8 -8
- package/dist/{dda/dda-credit-card.entry.js → cjs/dda-banner-card.cjs.entry.js} +16 -16
- package/dist/cjs/dda-banner.cjs.entry.js +3 -3
- package/dist/cjs/dda-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/dda-button.cjs.entry.js +3 -3
- package/dist/cjs/dda-checkbox.cjs.entry.js +3 -3
- package/dist/cjs/dda-chip.cjs.entry.js +3 -3
- package/dist/cjs/dda-credit-card.cjs.entry.js +3 -3
- package/dist/cjs/dda-creditcard-field.cjs.entry.js +4 -4
- package/dist/cjs/dda-dropdown.cjs.entry.js +4 -4
- package/dist/cjs/dda-footer.cjs.entry.js +3 -3
- package/dist/cjs/dda-header.cjs.entry.js +208 -23
- package/dist/cjs/dda-home-banner.cjs.entry.js +9 -5
- package/dist/{dda/dda-tooltip.entry.js → cjs/dda-home-carousel.cjs.entry.js} +18 -36
- package/dist/cjs/dda-horizontal-stepper.cjs.entry.js +3 -3
- package/dist/cjs/dda-input.cjs.entry.js +3 -3
- package/dist/cjs/dda-link-button_2.cjs.entry.js +6 -6
- package/dist/cjs/dda-number-field.cjs.entry.js +3 -3
- package/dist/cjs/dda-pagination.cjs.entry.js +4 -4
- package/dist/cjs/dda-phonefield.cjs.entry.js +3 -3
- package/dist/cjs/dda-progressbar.cjs.entry.js +3 -3
- package/dist/cjs/dda-range-slider.cjs.entry.js +3 -3
- package/dist/cjs/dda-scroll-icon.cjs.entry.js +32 -0
- package/dist/cjs/dda-search-input.cjs.entry.js +2 -2
- package/dist/cjs/dda-segmented-tabs.cjs.entry.js +5 -5
- package/dist/cjs/dda-select.cjs.entry.js +84 -15
- package/dist/cjs/dda-sticky-footer.cjs.entry.js +41 -4
- package/dist/cjs/dda-tabs.cjs.entry.js +4 -4
- package/dist/cjs/dda-textarea.cjs.entry.js +1351 -16189
- package/dist/cjs/dda-toggle.cjs.entry.js +3 -3
- package/dist/cjs/dda-tooltip.cjs.entry.js +3 -3
- package/dist/cjs/dda-ui-card.cjs.entry.js +3 -3
- package/dist/cjs/dda-vertical-stepper.cjs.entry.js +2 -2
- package/dist/cjs/dda.cjs.js +3 -30
- package/dist/cjs/{index-Na_7EWDR.js → index-CM4T__Je.js} +1 -1
- package/dist/cjs/index.cjs.js +0 -10
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/parse-json-prop-B0KWD8qe.js +38 -0
- package/dist/collection/collection-manifest.json +7 -4
- package/dist/collection/components/dda-accordion/dda-accordion.js +1 -1
- package/dist/collection/components/dda-alert/dda-alert.js +1 -1
- package/dist/collection/components/dda-attach-file/dda-attach-file.js +1 -1
- package/dist/collection/components/dda-avatar/dda-avatar.js +5 -5
- package/dist/collection/components/dda-banner/dda-banner.js +1 -1
- package/dist/collection/components/dda-banner-card/dda-banner-card.js +243 -0
- package/dist/collection/components/dda-button/dda-button.js +1 -1
- package/dist/collection/components/dda-checkbox/dda-checkbox.js +1 -1
- package/dist/collection/components/dda-chip/dda-chip.js +1 -1
- package/dist/collection/components/dda-credit-card/dda-credit-card.js +1 -1
- package/dist/collection/components/dda-creditcard-field/dda-creditcard-field.js +1 -1
- package/dist/collection/components/dda-dropdown/dda-dropdown.js +1 -1
- package/dist/collection/components/dda-footer/dda-footer.js +1 -1
- package/dist/collection/components/dda-header/dda-header.js +838 -88
- package/dist/collection/components/dda-header/dda-header.stories.js +200 -35
- package/dist/collection/components/dda-header/nav-model.js +69 -0
- package/dist/collection/components/dda-home-banner/dda-home-banner.js +46 -2
- package/dist/collection/components/dda-home-banner/dda-home-banner.stories.js +6 -0
- package/dist/collection/components/dda-home-banner/home-banner.css +10 -0
- package/dist/collection/components/dda-home-carousel/dda-home-carousel.js +164 -0
- package/dist/collection/components/dda-home-carousel/dda-home-carousel.stories.js +24 -0
- package/dist/collection/components/dda-input/dda-input.js +1 -1
- package/dist/collection/components/dda-link-button/dda-link-button.js +2 -2
- package/dist/collection/components/dda-number-field/dda-number-field.js +1 -1
- package/dist/collection/components/dda-pagination/dda-pagination.js +1 -1
- package/dist/collection/components/dda-phonefield/dda-phonefield.js +1 -1
- package/dist/collection/components/dda-progressbar/dda-progressbar.js +1 -1
- package/dist/collection/components/dda-radiobutton/dda-radiobutton.css +233 -6
- package/dist/collection/components/dda-radiobutton/dda-radiobutton.js +1 -1
- package/dist/collection/components/dda-range-slider/dda-range-slider.js +2 -2
- package/dist/collection/components/dda-scroll-icon/dda-scroll-icon.css +72 -0
- package/dist/collection/components/dda-scroll-icon/dda-scroll-icon.js +120 -0
- package/dist/collection/components/dda-scroll-icon/dda-scroll-icon.stories.js +17 -0
- package/dist/collection/components/dda-select/dda-select.js +209 -18
- package/dist/collection/components/dda-select/dda-select.stories.js +68 -10
- package/dist/collection/components/dda-sticky-footer/dda-sticky-footer.js +496 -5
- package/dist/collection/components/dda-sticky-footer/dda-sticky-footer.stories.js +12 -1
- package/dist/collection/components/dda-tabs/dda-tabs.js +1 -1
- package/dist/collection/components/dda-textarea/dda-textarea.js +2 -2
- package/dist/collection/components/dda-toggle/dda-toggle.js +1 -1
- package/dist/collection/components/dda-tooltip/dda-tooltip.js +1 -1
- package/dist/collection/components/dda-ui-card/dda-ui-card.js +1 -1
- package/dist/collection/components/segmented-groups/dda-segmented-tabs/dda-segmented-tabs.css +29 -9
- package/dist/collection/components/segmented-groups/dda-segmented-tabs/dda-segmented-tabs.js +1 -1
- package/dist/collection/components/stepper/dda-horizontal-stepper/dda-horizontal-stepper.js +1 -1
- package/dist/collection/components/stepper/dda-vertical-stepper/dda-vertical-stepper.js +1 -1
- package/dist/collection/global/global.css +233 -6
- package/dist/collection/utils/parse-json-prop.js +34 -0
- package/dist/components/dda-accordion.js +1 -59
- package/dist/components/dda-alert.js +1 -94
- package/dist/components/dda-attach-file.js +1 -138
- package/dist/components/dda-avatar.js +1 -107
- package/dist/components/dda-banner-card.d.ts +11 -0
- package/dist/components/dda-banner-card.js +1 -0
- package/dist/components/dda-banner.js +1 -57
- package/dist/components/dda-breadcrumb.js +1 -66
- package/dist/components/dda-button.js +1 -6
- package/dist/components/dda-checkbox.js +1 -59
- package/dist/components/dda-chip.js +1 -55
- package/dist/components/dda-credit-card.js +1 -54
- package/dist/components/dda-creditcard-field.js +1 -133
- package/dist/components/dda-dropdown.js +1 -113
- package/dist/components/dda-footer.js +1 -72
- package/dist/components/dda-header.js +1 -367
- package/dist/components/dda-home-banner.js +1 -249
- package/dist/components/dda-home-carousel.d.ts +11 -0
- package/dist/components/dda-home-carousel.js +1 -0
- package/dist/components/dda-horizontal-stepper.js +1 -69
- package/dist/components/dda-input.js +1 -92
- package/dist/components/dda-link-button.js +1 -6
- package/dist/components/dda-number-field.js +1 -127
- package/dist/components/dda-pagination.js +1 -133
- package/dist/components/dda-phonefield.js +1 -316
- package/dist/components/dda-progressbar.js +1 -58
- package/dist/components/dda-radiobutton.js +1 -6
- package/dist/components/dda-range-slider.js +1 -93
- package/dist/components/dda-scroll-icon.d.ts +11 -0
- package/dist/components/dda-scroll-icon.js +1 -0
- package/dist/components/dda-search-input.js +1 -102
- package/dist/components/dda-segmented-tabs.js +1 -133
- package/dist/components/dda-select.js +1 -219
- package/dist/components/dda-sticky-footer.js +1 -132
- package/dist/components/dda-tabs.js +1 -91
- package/dist/components/dda-textarea.js +1 -31277
- package/dist/components/dda-toggle.js +1 -55
- package/dist/components/dda-tooltip.js +1 -6
- package/dist/components/dda-ui-card.js +1 -71
- package/dist/components/dda-vertical-stepper.js +1 -72
- package/dist/components/index.js +1 -34
- package/dist/components/p-BUv5-HOm.js +1 -0
- package/dist/components/p-BvEnF2US.js +1 -0
- package/dist/components/{p-C2Cs3ruo.js → p-C8EPNbJC.js} +1 -1
- package/dist/components/p-CS5LPB9B.js +1 -0
- package/dist/components/p-CedhFs0i.js +1 -0
- package/dist/components/p-CvcFE821.js +1 -0
- package/dist/components/{p-D7sJgBDk.js → p-DHgv6zQy.js} +1 -1
- package/dist/components/p-kJRBkcMn.js +1 -0
- package/dist/dda/dda.css +46 -6385
- package/dist/dda/dda.esm.js +1 -47
- package/dist/dda/index.esm.js +1 -29
- package/dist/dda/p-074f8dab.entry.js +1 -0
- package/dist/dda/p-1a0d490e.entry.js +1 -0
- package/dist/dda/p-1c42a19b.entry.js +1 -0
- package/dist/dda/p-1eb0af5a.entry.js +1 -0
- package/dist/dda/p-215629d6.entry.js +1 -0
- package/dist/dda/{p-eed4a104.entry.js → p-221613e8.entry.js} +1 -1
- package/dist/dda/{p-3835f3b7.entry.js → p-284bc873.entry.js} +1 -1
- package/dist/dda/{p-98c59aa8.entry.js → p-2f99af01.entry.js} +1 -1
- package/dist/dda/p-3003acb0.entry.js +1 -0
- package/dist/dda/p-5b314403.entry.js +1 -0
- package/dist/dda/{p-32746429.entry.js → p-5b669c2f.entry.js} +1 -1
- package/dist/dda/p-5fe5c488.entry.js +1 -0
- package/dist/dda/{p-95b87c55.entry.js → p-6577d6b5.entry.js} +1 -1
- package/dist/dda/{p-95e1a389.entry.js → p-6b358fa8.entry.js} +1 -1
- package/dist/dda/{p-eecfe091.entry.js → p-6e6ce5c8.entry.js} +1 -1
- package/dist/dda/{p-d8fd3f73.entry.js → p-70a20025.entry.js} +1 -1
- package/dist/dda/p-78ff5172.entry.js +1 -0
- package/dist/dda/{p-489a3711.entry.js → p-7afdde8a.entry.js} +1 -1
- package/dist/dda/{p-1acc0fda.entry.js → p-7ba8071a.entry.js} +1 -1
- package/dist/dda/{p-96741f45.entry.js → p-7d20f926.entry.js} +1 -1
- package/dist/dda/p-806de72d.entry.js +1 -0
- package/dist/dda/{p-0a86a74c.entry.js → p-922d33f8.entry.js} +1 -1
- package/dist/dda/{p-c39d196d.entry.js → p-9a9e372d.entry.js} +1 -1
- package/dist/dda/{p-0574c9df.entry.js → p-9c3b7bf8.entry.js} +1 -1
- package/dist/dda/p-BJOt1fv7.js +2 -0
- package/dist/dda/p-CvcFE821.js +1 -0
- package/dist/dda/{p-ee6d56fc.entry.js → p-a19303b5.entry.js} +1 -1
- package/dist/dda/{p-87d647e7.entry.js → p-c7a4e410.entry.js} +1 -1
- package/dist/dda/{p-8de4f35e.entry.js → p-c9e411cb.entry.js} +1 -1
- package/dist/dda/{p-3d57e957.entry.js → p-cd1d47cb.entry.js} +1 -1
- package/dist/dda/p-cfdbbd1a.entry.js +1 -0
- package/dist/dda/{p-e660a594.entry.js → p-d114dea3.entry.js} +1 -1
- package/dist/dda/{p-16f94322.entry.js → p-db565a30.entry.js} +1 -1
- package/dist/dda/{p-d06c5daf.entry.js → p-e6043272.entry.js} +1 -1
- package/dist/dda/p-ef52ec1e.entry.js +1 -0
- package/dist/dda/{p-9c86dc30.entry.js → p-f2c9d77a.entry.js} +1 -1
- package/dist/dda/{p-2630152f.entry.js → p-faccb313.entry.js} +1 -1
- package/dist/dda/{p-9416d8ec.entry.js → p-fdf0dce8.entry.js} +1 -1
- package/dist/esm/dda-accordion.entry.js +3 -3
- package/dist/esm/dda-alert.entry.js +5 -5
- package/dist/esm/dda-attach-file.entry.js +3 -3
- package/dist/esm/dda-avatar.entry.js +8 -8
- package/dist/{dda/dda-tabs.entry.js → esm/dda-banner-card.entry.js} +14 -49
- package/dist/esm/dda-banner.entry.js +3 -3
- package/dist/esm/dda-breadcrumb.entry.js +2 -2
- package/dist/esm/dda-button.entry.js +3 -3
- package/dist/esm/dda-checkbox.entry.js +3 -3
- package/dist/esm/dda-chip.entry.js +3 -3
- package/dist/esm/dda-credit-card.entry.js +3 -3
- package/dist/esm/dda-creditcard-field.entry.js +4 -4
- package/dist/esm/dda-dropdown.entry.js +4 -4
- package/dist/esm/dda-footer.entry.js +3 -3
- package/dist/esm/dda-header.entry.js +208 -23
- package/dist/esm/dda-home-banner.entry.js +9 -5
- package/dist/{dda/dda-breadcrumb.entry.js → esm/dda-home-carousel.entry.js} +16 -30
- package/dist/esm/dda-horizontal-stepper.entry.js +3 -3
- package/dist/esm/dda-input.entry.js +3 -3
- package/dist/esm/dda-link-button_2.entry.js +6 -6
- package/dist/esm/dda-number-field.entry.js +3 -3
- package/dist/esm/dda-pagination.entry.js +4 -4
- package/dist/esm/dda-phonefield.entry.js +3 -3
- package/dist/esm/dda-progressbar.entry.js +3 -3
- package/dist/esm/dda-range-slider.entry.js +3 -3
- package/dist/esm/dda-scroll-icon.entry.js +30 -0
- package/dist/esm/dda-search-input.entry.js +2 -2
- package/dist/esm/dda-segmented-tabs.entry.js +5 -5
- package/dist/esm/dda-select.entry.js +84 -15
- package/dist/esm/dda-sticky-footer.entry.js +41 -4
- package/dist/esm/dda-tabs.entry.js +4 -4
- package/dist/esm/dda-textarea.entry.js +1351 -16189
- package/dist/esm/dda-toggle.entry.js +3 -3
- package/dist/esm/dda-tooltip.entry.js +3 -3
- package/dist/esm/dda-ui-card.entry.js +3 -3
- package/dist/esm/dda-vertical-stepper.entry.js +2 -2
- package/dist/esm/dda.js +4 -31
- package/dist/esm/{index-CI_UcUy5.js → index-BJOt1fv7.js} +1 -1
- package/dist/esm/index.js +0 -10
- package/dist/esm/loader.js +3 -3
- package/dist/esm/parse-json-prop-CvcFE821.js +36 -0
- package/dist/types/components/dda-banner-card/dda-banner-card.d.ts +25 -0
- package/dist/types/components/dda-header/dda-header.d.ts +114 -4
- package/dist/types/components/dda-header/dda-header.stories.d.ts +187 -0
- package/dist/types/components/dda-header/nav-model.d.ts +19 -0
- package/dist/types/components/dda-home-banner/dda-home-banner.d.ts +4 -0
- package/dist/types/components/dda-home-banner/dda-home-banner.stories.d.ts +8 -0
- package/dist/types/components/dda-home-carousel/dda-home-carousel.d.ts +29 -0
- package/dist/types/components/dda-home-carousel/dda-home-carousel.stories.d.ts +20 -0
- package/dist/types/components/dda-scroll-icon/dda-scroll-icon.d.ts +11 -0
- package/dist/types/components/dda-scroll-icon/dda-scroll-icon.stories.d.ts +20 -0
- package/dist/types/components/dda-select/dda-select.d.ts +40 -5
- package/dist/types/components/dda-select/dda-select.stories.d.ts +25 -0
- package/dist/types/components/dda-sticky-footer/dda-sticky-footer.d.ts +70 -1
- package/dist/types/components/dda-sticky-footer/dda-sticky-footer.stories.d.ts +4 -0
- package/dist/types/components.d.ts +863 -21
- package/dist/types/utils/parse-json-prop.d.ts +1 -0
- package/package.json +4 -2
- package/dist/cjs/dda-link-button.cjs.entry.js +0 -51
- package/dist/cjs/dda-radiobutton.cjs.entry.js +0 -27
- package/dist/cjs/index-DXyiIgGK.js +0 -4637
- package/dist/components/dda-button2.js +0 -80
- package/dist/components/dda-link-button2.js +0 -81
- package/dist/components/dda-radiobutton2.js +0 -54
- package/dist/components/dda-tooltip2.js +0 -70
- package/dist/components/index2.js +0 -4622
- package/dist/components/p-C520q-ka.js +0 -1
- package/dist/components/p-CZO9Eawo.js +0 -1
- package/dist/components/p-_-I_65FG.js +0 -1
- package/dist/components/unique-id.js +0 -12
- package/dist/dda/dda-accordion.entry.js +0 -31
- package/dist/dda/dda-alert.entry.js +0 -57
- package/dist/dda/dda-attach-file.entry.js +0 -102
- package/dist/dda/dda-avatar.entry.js +0 -70
- package/dist/dda/dda-banner.entry.js +0 -30
- package/dist/dda/dda-button.entry.js +0 -47
- package/dist/dda/dda-checkbox.entry.js +0 -27
- package/dist/dda/dda-chip.entry.js +0 -25
- package/dist/dda/dda-creditcard-field.entry.js +0 -94
- package/dist/dda/dda-dropdown.entry.js +0 -75
- package/dist/dda/dda-footer.entry.js +0 -34
- package/dist/dda/dda-header.entry.js +0 -282
- package/dist/dda/dda-home-banner.entry.js +0 -208
- package/dist/dda/dda-horizontal-stepper.entry.js +0 -39
- package/dist/dda/dda-input.entry.js +0 -56
- package/dist/dda/dda-link-button.entry.js +0 -49
- package/dist/dda/dda-number-field.entry.js +0 -86
- package/dist/dda/dda-pagination.entry.js +0 -86
- package/dist/dda/dda-phonefield.entry.js +0 -271
- package/dist/dda/dda-progressbar.entry.js +0 -30
- package/dist/dda/dda-radiobutton.entry.js +0 -25
- package/dist/dda/dda-range-slider.entry.js +0 -55
- package/dist/dda/dda-search-input.entry.js +0 -63
- package/dist/dda/dda-segmented-tabs.entry.js +0 -96
- package/dist/dda/dda-select.entry.js +0 -183
- package/dist/dda/dda-sticky-footer.entry.js +0 -61
- package/dist/dda/dda-textarea.entry.js +0 -31241
- package/dist/dda/dda-toggle.entry.js +0 -25
- package/dist/dda/dda-ui-card.entry.js +0 -41
- package/dist/dda/dda-vertical-stepper.entry.js +0 -41
- package/dist/dda/index-CFIwfRqf.js +0 -4622
- package/dist/dda/p-271c5f91.entry.js +0 -1
- package/dist/dda/p-58de747b.entry.js +0 -1
- package/dist/dda/p-63754a93.entry.js +0 -1
- package/dist/dda/p-9541e108.entry.js +0 -1
- package/dist/dda/p-CI_UcUy5.js +0 -2
- package/dist/dda/p-b6190656.entry.js +0 -1
- package/dist/dda/p-c0da1e14.entry.js +0 -1
- package/dist/dda/p-c5ebf7df.entry.js +0 -1
- package/dist/dda/p-e8ca224f.entry.js +0 -1
- package/dist/dda/p-ea1720d2.entry.js +0 -1
- package/dist/dda/unique-id-B-I003EB.js +0 -12
- package/dist/esm/dda-link-button.entry.js +0 -49
- package/dist/esm/dda-radiobutton.entry.js +0 -25
- package/dist/esm/index-CFIwfRqf.js +0 -4622
|
@@ -119,7 +119,7 @@ export class DdaTextarea {
|
|
|
119
119
|
this.custom_class, this.component_mode, this.textarea_name,
|
|
120
120
|
].filter(Boolean).join(' ');
|
|
121
121
|
const id = this.inputId;
|
|
122
|
-
return (h(Host, { key: '
|
|
122
|
+
return (h(Host, { key: '22ab5c9ede23feedead5b61e2ed4963c1851ecbc' }, h("div", { key: 'cef06c4a45c19a9ae0eefddd2609b9e9e9f1e48c', class: textareaClass }, this.label && h("label", { key: '76fb6bce4a0510aab2a79209f450d201a24ef9a6', id: this.labelId, htmlFor: this.enable_rich_editor ? undefined : id, class: "dda-input-label" }, this.label), this.enable_rich_editor ? (
|
|
123
123
|
// F-015: previously a bare `<div id="editor">` — the visible
|
|
124
124
|
// label's `for` cannot target a non-labelable <div>, and even
|
|
125
125
|
// aria-labelledby here would be wrong: Quill turns this
|
|
@@ -127,7 +127,7 @@ export class DdaTextarea {
|
|
|
127
127
|
// as a child `.ql-editor`, which is what AT and Tab actually
|
|
128
128
|
// land on. The ARIA lives on quill.root (.ql-editor), applied
|
|
129
129
|
// imperatively in syncRichEditorA11y() after mount.
|
|
130
|
-
h("div", { id: id, class: "dda-richeditor-field" })) : (h("textarea", { id: id, name: this.textarea_name, "aria-label": this.aria_label, placeholder: this.placeholder, value: this.value, onInput: (event) => this.handleInput(event), class: "dda-input-field dda-input-textarea", maxLength: this.max_characters, "aria-describedby": this.describedBy, "aria-invalid": this.error_message ? 'true' : undefined })), this.helper_text && (h("div", { key: '
|
|
130
|
+
h("div", { id: id, class: "dda-richeditor-field" })) : (h("textarea", { id: id, name: this.textarea_name, "aria-label": this.aria_label, placeholder: this.placeholder, value: this.value, onInput: (event) => this.handleInput(event), class: "dda-input-field dda-input-textarea", maxLength: this.max_characters, "aria-describedby": this.describedBy, "aria-invalid": this.error_message ? 'true' : undefined })), this.helper_text && (h("div", { key: '382ba6b5dc9755bf262adb033a118c1be6941bd8', id: this.helperId, class: "dda-helper-text" }, h("span", { key: '5d07ab9a7f7698528fc731778bc668c69fa0e5ec', class: "dda-flex dda-align-center dda-gap-2" }, h("i", { key: '33236593cdafdf4ed5694e272f5c4fcf85ca2f68', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "info"), " ", this.helper_text), h("span", { key: '2845bd3bface431badd534f44f12faa748c1a718', class: "dda-letter-count" }, this.characterCount, " / ", this.max_characters))), this.error_message && (h("div", { key: 'cc1fabc27cd1bf0f87cfe6e3194c68a0d43ac7f7', id: this.errorId, class: "dda-error-message" }, h("span", { key: '731658aad2027ae1ae107ad58962acb6bbf40eb2', class: "dda-flex dda-align-center dda-gap-2" }, h("i", { key: '80c26defc477ed47439939cbb23875e0373c9598', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "info"), " ", this.error_message), h("span", { key: 'e4f4ca076692226881b259322af66f87b18ccc38', class: "dda-letter-count" }, this.characterCount, " / ", this.max_characters))))));
|
|
131
131
|
}
|
|
132
132
|
static get is() { return "dda-textarea"; }
|
|
133
133
|
static get originalStyleUrls() {
|
|
@@ -11,7 +11,7 @@ export class DdaToggle {
|
|
|
11
11
|
this.custom_class ? `${this.custom_class}` : '',
|
|
12
12
|
this.component_mode,
|
|
13
13
|
].filter(Boolean).join(' ');
|
|
14
|
-
return (h(Host, { key: '
|
|
14
|
+
return (h(Host, { key: '034a0d08e3c605fe38f0f0b3244e1d5cc7442472' }, h("label", { key: '93539da2d2ccfa1e51d0eebf4cc1b234e1e03606', class: toggleClass, htmlFor: this.input_id }, h("input", { key: '21c0ca32b52ed5cb69da4339f1fce9c26dcaf1fa', "aria-label": this.aria_label, type: "checkbox", id: this.input_id, name: this.group_name, checked: this.checked }), h("span", { key: '8d2def2951a2566625276ba4d350d2407c19af77', class: "toggle" }), (this.title_text || this.supporting) && (h("p", { key: 'e56ce02068c3e3c87f3b7452a81b741560297274' }, this.title_text && h("span", { key: 'faeea2f00ee0c50f0b96b5e24c09da088a98f183', class: "toggle-title" }, this.title_text), this.supporting && h("span", { key: '7999b6126c0fefb6cb09ac67930e311dad18d2b2', class: "toggle-supporting" }, this.supporting))))));
|
|
15
15
|
}
|
|
16
16
|
static get is() { return "dda-toggle"; }
|
|
17
17
|
static get originalStyleUrls() {
|
|
@@ -31,7 +31,7 @@ export class DdaTooltip {
|
|
|
31
31
|
this.el.removeEventListener('mouseleave', this.resetDismissed);
|
|
32
32
|
}
|
|
33
33
|
render() {
|
|
34
|
-
return (h(Host, { key: '
|
|
34
|
+
return (h(Host, { key: 'e77ebb12700ccbbef52e2d2138e0950d65127778' }, h("div", { key: 'ea64d67136e615b33138a61f1f1a4ba804db5eea', class: `dda-tooltip-container ${this.custom_class} ${this.component_mode} ${this.dismissed ? 'dismissed' : ''}` }, h("slot", { key: 'c191a8ff9be73014c2da7b1a4fdbcce57e94ba4d' }), h("div", { key: 'c6733ebddb99c659db89027384a50ba9c7836341', class: `dda-tooltip-box ${this.position}` }, h("strong", { key: '47c45f8411f5803c4ba59d0b9b4ac5c830b403c7' }, this.title_text), h("p", { key: '4f08ecda01307162262d7c79aa26e795ff03251b' }, this.description)))));
|
|
35
35
|
}
|
|
36
36
|
static get is() { return "dda-tooltip"; }
|
|
37
37
|
static get originalStyleUrls() {
|
|
@@ -28,7 +28,7 @@ export class DdaUiCard {
|
|
|
28
28
|
}
|
|
29
29
|
render() {
|
|
30
30
|
const HeadingTag = this.headingTag;
|
|
31
|
-
return (h(Host, { key: '
|
|
31
|
+
return (h(Host, { key: 'd82fda87340a70612440a60808a854297d749883' }, h("div", { key: '8cb77a42b82ed7121af29a234e4c065a416887d5', class: 'dda-card' }, h("div", { key: 'e25298c9dbb2d9247bdc238f9c505180aae45b67', class: 'dda-card-body' }, this.type !== 'custom' && (h("div", { key: '3d6d6e4b66a787270593fc53ecb9432ef87cd144' }, !!this.icon && (h("span", { key: '17d02a755a1a6345961ba4c922d2c5205ca79dcd', class: 'dda-card-icon' }, h("i", { key: 'a4eea58a0b1511548c2d60b12bc05068326ce339', class: 'material-icons', "aria-hidden": "true" }, this.icon))), !!this.image && (h("span", { key: 'fe5b33c447adb2a06c20495b576d185258a98bca', class: 'dda-card-icon' }, h("img", { key: '7db29168e53eebe578fb8241795a47862d732d13', src: this.image, alt: this.maintitle }))), !!this.maintitle && h(HeadingTag, { key: 'c2c0a5bd81432dad7b5400c9011998f30823adbf', class: 'dda-card-title' }, this.maintitle), !!this.subtitle && h("p", { key: '9620bfa353acba31cb43d4a818c11d17bb58ea6d', class: 'dda-card-text-muted' }, this.subtitle), !!this.link && (h("a", { key: 'd81101699701091f7d952c6f38637a621fb27324', href: this.link, class: 'dda-card-link', onClick: (event) => this.linkClick.emit(event) }, this.linktext, ' ', this.linkicon && (h("span", { key: 'e7304fca873531077bb4cafda43e462b8d3403d4' }, h("i", { key: 'd13a118077f9a11b76ba06f5cb4f1ab20f9b5472', class: 'material-icons', "aria-hidden": "true" }, this.linkicon))))))), h("slot", { key: '995bf90013e00498354bfb9a3bfd6950032dd924' })))));
|
|
32
32
|
}
|
|
33
33
|
static get is() { return "dda-ui-card"; }
|
|
34
34
|
static get originalStyleUrls() {
|
package/dist/collection/components/segmented-groups/dda-segmented-tabs/dda-segmented-tabs.css
CHANGED
|
@@ -1,42 +1,51 @@
|
|
|
1
1
|
.dda-segmented-group {
|
|
2
2
|
display: inline-flex;
|
|
3
|
+
/* A group wider than its container scrolls inside itself, not the page. The scroll box
|
|
4
|
+
also clips the segments to the rounded corners. */
|
|
5
|
+
max-width: 100%;
|
|
6
|
+
overflow-x: auto;
|
|
7
|
+
scrollbar-width: thin;
|
|
3
8
|
border: solid 1px var(--dda-surface-90);
|
|
4
9
|
border-radius: 8px;
|
|
5
|
-
overflow: hidden;
|
|
6
10
|
}
|
|
7
|
-
.light-mode.dda-segmented-group{
|
|
11
|
+
.light-mode.dda-segmented-group {
|
|
8
12
|
border: solid 1px var(--dda-neutral-90);
|
|
9
13
|
}
|
|
10
14
|
.dda-segmented-item {
|
|
11
15
|
display: flex;
|
|
12
|
-
|
|
16
|
+
/* Labels stay on one line; the group scrolls instead of the segments shrinking. */
|
|
17
|
+
flex: none;
|
|
18
|
+
white-space: nowrap;
|
|
19
|
+
min-height: 40px;
|
|
13
20
|
padding: 5px 16px;
|
|
14
21
|
border: transparent;
|
|
15
22
|
border-inline-start: solid 1px var(--dda-surface-90);
|
|
16
23
|
background-color: var(--dda-surface-100);
|
|
24
|
+
/* Browsers give a button the system font; take the page font (Dubai) instead. */
|
|
25
|
+
font-family: inherit;
|
|
17
26
|
font-size: 16px;
|
|
18
27
|
color: var(--dda-on-surface-variant-30);
|
|
19
28
|
cursor: pointer;
|
|
20
29
|
align-items: center;
|
|
21
30
|
}
|
|
22
|
-
.light-mode .dda-segmented-item{
|
|
31
|
+
.light-mode .dda-segmented-item {
|
|
23
32
|
background-color: var(--dda-neutral-100);
|
|
24
33
|
color: var(--dda-neutral-variant-30);
|
|
25
34
|
border-inline-start: solid 1px var(--dda-neutral-90);
|
|
26
35
|
}
|
|
27
|
-
.dda-segmented-group .dda-segmented-item:first-child{
|
|
36
|
+
.dda-segmented-group .dda-segmented-item:first-child {
|
|
28
37
|
border: transparent;
|
|
29
38
|
}
|
|
30
|
-
.dda-segmented-group.square{
|
|
39
|
+
.dda-segmented-group.square {
|
|
31
40
|
border-radius: 8px;
|
|
32
41
|
}
|
|
33
|
-
.dda-segmented-group.rounded{
|
|
42
|
+
.dda-segmented-group.rounded {
|
|
34
43
|
border-radius: 40px;
|
|
35
44
|
}
|
|
36
45
|
.dda-segmented-item:hover {
|
|
37
46
|
color: var(--dda-color-primary-40);
|
|
38
47
|
}
|
|
39
|
-
.light-mode .dda-segmented-item:hover{
|
|
48
|
+
.light-mode .dda-segmented-item:hover {
|
|
40
49
|
color: var(--dda-primary-40);
|
|
41
50
|
}
|
|
42
51
|
.dda-segmented-item.active {
|
|
@@ -49,4 +58,15 @@
|
|
|
49
58
|
}
|
|
50
59
|
.dda-segmented-item i {
|
|
51
60
|
font-size: 18px;
|
|
52
|
-
}
|
|
61
|
+
}
|
|
62
|
+
/* The ring is drawn inside the segment, because the group's scroll box clips anything
|
|
63
|
+
outside it. The inner light band keeps the ring visible on the selected (filled) segment. */
|
|
64
|
+
.dda-segmented-item:focus-visible {
|
|
65
|
+
outline: 3px solid var(--dda-on-surface-0);
|
|
66
|
+
outline-offset: -3px;
|
|
67
|
+
box-shadow: inset 0 0 0 5px var(--dda-surface-100);
|
|
68
|
+
}
|
|
69
|
+
.light-mode .dda-segmented-item:focus-visible {
|
|
70
|
+
outline-color: var(--dda-neutral-0);
|
|
71
|
+
box-shadow: inset 0 0 0 5px var(--dda-neutral-100);
|
|
72
|
+
}
|
package/dist/collection/components/segmented-groups/dda-segmented-tabs/dda-segmented-tabs.js
CHANGED
|
@@ -69,7 +69,7 @@ export class DdaSegmentedTabs {
|
|
|
69
69
|
this.segmentChange.emit(index);
|
|
70
70
|
}
|
|
71
71
|
render() {
|
|
72
|
-
return (h("div", { key: '
|
|
72
|
+
return (h("div", { key: '4a72982d49270f6c04cee7fdeaafcba7cccc6d3c', role: "group", "aria-label": this.aria_label, class: `dda-segmented-group ${this.custom_class} ${this.radius_type} ${this.component_mode}` }, this.parsedItems.map((item, index) => {
|
|
73
73
|
const isSelected = index === this.active_index;
|
|
74
74
|
const className = `dda-segmented-item${isSelected ? ' active' : ''}`;
|
|
75
75
|
return item.startsWith('fo') ? (h("button", { name: this.button_name, type: "button", class: className, "aria-pressed": isSelected ? 'true' : 'false', "aria-label": this.iconLabel(item, index), onClick: () => this.selectSegment(index) }, h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, item))) : (h("button", { name: this.button_name, type: "button", class: className, "aria-pressed": isSelected ? 'true' : 'false', onClick: () => this.selectSegment(index) }, item));
|
|
@@ -20,7 +20,7 @@ export class DdaHorizontalStepper {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
render() {
|
|
23
|
-
return (h(Host, { key: '
|
|
23
|
+
return (h(Host, { key: '30afa97eccb87ee8595802f451f2ca2f0624da2a' }, h("div", { key: '70d6126c99005e54565473c574bde94545584b58', class: `${this.custom_class} ${this.component_mode} h-stepper-container` }, this.parsedSteps.map((step, index) => (h("div", { class: `h-step ${index === this.current_step ? 'active' : ''} ${index < this.current_step ? 'completed' : ''}` }, h("div", { class: "h-step-indicator" }, h("div", { class: "circle" })), h("div", { class: "h-step-content" }, h("div", { class: "h-step-title" }, step.title), h("div", { class: "h-step-subtitle" }, step.subtitle), h("div", { class: "h-step-description" }, step.description))))))));
|
|
24
24
|
}
|
|
25
25
|
static get is() { return "dda-horizontal-stepper"; }
|
|
26
26
|
static get originalStyleUrls() {
|
|
@@ -24,7 +24,7 @@ export class DdaVerticalStepper {
|
|
|
24
24
|
render() {
|
|
25
25
|
var _a;
|
|
26
26
|
const current = (_a = this.current_step) !== null && _a !== void 0 ? _a : this.current_Step;
|
|
27
|
-
return (h(Host, { key: '
|
|
27
|
+
return (h(Host, { key: '9aefae11819e6581b65a39af851806fb2c4cfd75' }, h("div", { key: 'b9f812a1626f99993e07a3cf07c0a0a15ed42f11', class: `${this.custom_class} ${this.component_mode} v-stepper-container` }, this.parsedSteps.map((step, index) => (h("div", { class: `v-step ${index <= current ? 'active' : ''}` }, h("div", { class: "v-step-indicator" }, h("div", { class: "icon" }, h("i", { class: `material-icons` }, step.icon))), h("div", { class: "v-step-content" }, h("div", { class: "v-step-title" }, step.title), h("div", { class: "v-step-subtitle" }, step.subtitle), h("div", { class: "v-step-description" }, step.description)), h("div", { class: "v-step-arrow" }, h("i", { class: "material-icons material-symbols-outlined" }, "chevron_right"))))))));
|
|
28
28
|
}
|
|
29
29
|
static get is() { return "dda-vertical-stepper"; }
|
|
30
30
|
static get originalStyleUrls() {
|
|
@@ -718,7 +718,7 @@
|
|
|
718
718
|
--dda-quick-links-card-height-sm: 112px;
|
|
719
719
|
}
|
|
720
720
|
|
|
721
|
-
.quick-links-wrap {
|
|
721
|
+
:is(.quick-links-wrap, .dda-home-quick-links-wrap) {
|
|
722
722
|
width: 100%;
|
|
723
723
|
position: absolute;
|
|
724
724
|
/* dda-sticky-footer sets --dda-sticky-footer-height; the cards sit above the fixed bar.
|
|
@@ -742,7 +742,7 @@
|
|
|
742
742
|
|
|
743
743
|
/* One row of cards. When the cards do not fit, the row scrolls sideways. A card cut at the edge,
|
|
744
744
|
a fade on each edge with more cards, and a thin scrollbar show that the row scrolls. */
|
|
745
|
-
.quick-links-wrap,
|
|
745
|
+
:is(.quick-links-wrap, .dda-home-quick-links-wrap),
|
|
746
746
|
.quick-links {
|
|
747
747
|
/* Room inside the row for the hover lift (12px above) and the pointer (9px below);
|
|
748
748
|
a scrolling box clips anything outside it. */
|
|
@@ -865,14 +865,14 @@
|
|
|
865
865
|
.slide-content p {
|
|
866
866
|
width: 100%;
|
|
867
867
|
}
|
|
868
|
-
.quick-links-wrap {
|
|
868
|
+
:is(.quick-links-wrap, .dda-home-quick-links-wrap) {
|
|
869
869
|
position: relative;
|
|
870
870
|
/* In normal flow the cards do not sit over the fixed bar, so keep the original offset. */
|
|
871
871
|
bottom: 45px;
|
|
872
872
|
}
|
|
873
873
|
/* Below the banner, on the page background: the row spans the screen, and each card is
|
|
874
874
|
narrower than the row so the next card shows at the edge. */
|
|
875
|
-
.quick-links-wrap .quick-links {
|
|
875
|
+
:is(.quick-links-wrap, .dda-home-quick-links-wrap) .quick-links {
|
|
876
876
|
width: 100%;
|
|
877
877
|
box-sizing: border-box;
|
|
878
878
|
padding: 20px 20px var(--dda-quick-links-pad-bottom);
|
|
@@ -957,12 +957,12 @@
|
|
|
957
957
|
controls move above them (home-banner.css). On short landscape screens the banner cannot hold
|
|
958
958
|
the text, the controls and the cards, so the cards stay under it (the rules above). */
|
|
959
959
|
@media screen and (max-width: 992px) and (min-height: 601px) {
|
|
960
|
-
.quick-links-wrap {
|
|
960
|
+
:is(.quick-links-wrap, .dda-home-quick-links-wrap) {
|
|
961
961
|
position: absolute;
|
|
962
962
|
/* The row's bottom padding is part of the gap above the bar. */
|
|
963
963
|
bottom: calc(var(--dda-quick-links-gap-sm) - var(--dda-quick-links-pad-bottom) + var(--dda-sticky-footer-height, 0px));
|
|
964
964
|
}
|
|
965
|
-
.quick-links-wrap .quick-links {
|
|
965
|
+
:is(.quick-links-wrap, .dda-home-quick-links-wrap) .quick-links {
|
|
966
966
|
padding-top: var(--dda-quick-links-pad-top);
|
|
967
967
|
scrollbar-color: rgba(255, 255, 255, 0.7) transparent;
|
|
968
968
|
}
|
|
@@ -990,6 +990,59 @@
|
|
|
990
990
|
}
|
|
991
991
|
}
|
|
992
992
|
|
|
993
|
+
/* dda-home-carousel: its list is a .quick-links row; each <li> holds one dda-banner-card. */
|
|
994
|
+
ul.quick-links {
|
|
995
|
+
margin-block: 0;
|
|
996
|
+
list-style: none;
|
|
997
|
+
}
|
|
998
|
+
.quick-links > .dda-home-carousel-item {
|
|
999
|
+
flex: 0 0 max(220px, calc((100% - (var(--dda-home-carousel-per-view, 5) - 1) * 8px) / var(--dda-home-carousel-per-view, 5)));
|
|
1000
|
+
display: flex;
|
|
1001
|
+
scroll-snap-align: start;
|
|
1002
|
+
list-style: none;
|
|
1003
|
+
}
|
|
1004
|
+
.dda-home-carousel-item dda-banner-card {
|
|
1005
|
+
display: flex;
|
|
1006
|
+
width: 100%;
|
|
1007
|
+
}
|
|
1008
|
+
.dda-home-carousel-item .link-item {
|
|
1009
|
+
width: 100%;
|
|
1010
|
+
flex: 1 1 auto;
|
|
1011
|
+
}
|
|
1012
|
+
/* A card without a URL is a <button>: remove the browser button look. */
|
|
1013
|
+
button.link-item {
|
|
1014
|
+
border: 0;
|
|
1015
|
+
font: inherit;
|
|
1016
|
+
text-align: start;
|
|
1017
|
+
cursor: pointer;
|
|
1018
|
+
}
|
|
1019
|
+
.quick-links .link-item img {
|
|
1020
|
+
display: block;
|
|
1021
|
+
height: 35px;
|
|
1022
|
+
width: auto;
|
|
1023
|
+
margin-bottom: 15px;
|
|
1024
|
+
}
|
|
1025
|
+
.quick-links .link-item:focus-visible {
|
|
1026
|
+
outline: 2px solid var(--dda-color-primary-40);
|
|
1027
|
+
outline-offset: 2px;
|
|
1028
|
+
margin-top: -12px;
|
|
1029
|
+
}
|
|
1030
|
+
@media screen and (max-width: 992px) and (min-height: 601px) {
|
|
1031
|
+
.quick-links > .dda-home-carousel-item {
|
|
1032
|
+
flex: 0 0 min(75%, 300px);
|
|
1033
|
+
}
|
|
1034
|
+
.quick-links .link-item img {
|
|
1035
|
+
height: 24px;
|
|
1036
|
+
margin-bottom: 8px;
|
|
1037
|
+
}
|
|
1038
|
+
}
|
|
1039
|
+
@media only screen and (orientation: landscape) and (max-width: 1600px) {
|
|
1040
|
+
.quick-links .link-item img {
|
|
1041
|
+
height: 20px;
|
|
1042
|
+
margin-bottom: 5px;
|
|
1043
|
+
}
|
|
1044
|
+
}
|
|
1045
|
+
|
|
993
1046
|
.dda-card {
|
|
994
1047
|
position: relative;
|
|
995
1048
|
display: -ms-flexbox;
|
|
@@ -2346,6 +2399,77 @@ body {
|
|
|
2346
2399
|
}
|
|
2347
2400
|
}
|
|
2348
2401
|
|
|
2402
|
+
/* dubai.ae: a wordmark on desktop, a small icon at 992px and below. */
|
|
2403
|
+
.dda-footer .dubaiae-text-icon {
|
|
2404
|
+
height: 18px;
|
|
2405
|
+
}
|
|
2406
|
+
.dda-footer .dubaiae-small-icon {
|
|
2407
|
+
height: 24px;
|
|
2408
|
+
display: none;
|
|
2409
|
+
}
|
|
2410
|
+
/* The "more" button exists only with more-icon; it is shown at 992px and below. */
|
|
2411
|
+
.dda-footer-right {
|
|
2412
|
+
position: relative;
|
|
2413
|
+
}
|
|
2414
|
+
.dda-footer-right button.show-right-icon {
|
|
2415
|
+
display: none;
|
|
2416
|
+
}
|
|
2417
|
+
@media (max-width: 992px) {
|
|
2418
|
+
.dda-footer .dubaiae-text-icon {
|
|
2419
|
+
display: none;
|
|
2420
|
+
}
|
|
2421
|
+
.dda-footer .dubaiae-small-icon {
|
|
2422
|
+
display: block;
|
|
2423
|
+
}
|
|
2424
|
+
.dda-footer-right button.show-right-icon {
|
|
2425
|
+
display: flex;
|
|
2426
|
+
align-items: center;
|
|
2427
|
+
justify-content: center;
|
|
2428
|
+
width: 48px;
|
|
2429
|
+
height: 48px;
|
|
2430
|
+
background: #ffffff;
|
|
2431
|
+
border: 0;
|
|
2432
|
+
border-radius: 50px;
|
|
2433
|
+
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
|
|
2434
|
+
color: var(--dda-on-surface-variant-30);
|
|
2435
|
+
cursor: pointer;
|
|
2436
|
+
}
|
|
2437
|
+
.dda-footer-right button.show-right-icon i {
|
|
2438
|
+
font-size: 34px;
|
|
2439
|
+
}
|
|
2440
|
+
.dda-footer-right button.show-right-icon:focus-visible {
|
|
2441
|
+
outline: none;
|
|
2442
|
+
box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(0, 0, 0, 0.65);
|
|
2443
|
+
}
|
|
2444
|
+
.dda-footer.has-more-button .dda-footer-right .foot-right_links {
|
|
2445
|
+
position: absolute;
|
|
2446
|
+
bottom: 59px;
|
|
2447
|
+
inset-inline-end: 0;
|
|
2448
|
+
display: flex;
|
|
2449
|
+
flex-direction: column;
|
|
2450
|
+
gap: 10px;
|
|
2451
|
+
height: 0;
|
|
2452
|
+
overflow: hidden;
|
|
2453
|
+
}
|
|
2454
|
+
.dda-footer.has-more-button .dda-footer-right .foot-right_links.show-dda-icon {
|
|
2455
|
+
height: auto;
|
|
2456
|
+
overflow: visible;
|
|
2457
|
+
}
|
|
2458
|
+
.dda-footer.has-more-button .foot-right_links li {
|
|
2459
|
+
opacity: 0;
|
|
2460
|
+
transform: translateY(20px);
|
|
2461
|
+
}
|
|
2462
|
+
.dda-footer.has-more-button .foot-right_links.show-dda-icon li {
|
|
2463
|
+
opacity: 1;
|
|
2464
|
+
transform: translateY(0);
|
|
2465
|
+
}
|
|
2466
|
+
}
|
|
2467
|
+
@media (max-width: 992px) and (prefers-reduced-motion: no-preference) {
|
|
2468
|
+
.dda-footer.has-more-button .foot-right_links li {
|
|
2469
|
+
transition: opacity 0.4s ease, transform 0.4s ease;
|
|
2470
|
+
}
|
|
2471
|
+
}
|
|
2472
|
+
|
|
2349
2473
|
.dda-dashboard-sidebar {
|
|
2350
2474
|
position: fixed;
|
|
2351
2475
|
top: 0;
|
|
@@ -3079,6 +3203,11 @@ body {
|
|
|
3079
3203
|
.dda-search input[type="text"]::placeholder{
|
|
3080
3204
|
color: var(--dda-on-surface-0);
|
|
3081
3205
|
}
|
|
3206
|
+
/* On the transparent header the typed text and the caret are white, like the placeholder. */
|
|
3207
|
+
.transparent dda-header:not(.dda-scrolled) .dda-search input[type="text"] {
|
|
3208
|
+
color: var(--dda-neutral-100);
|
|
3209
|
+
caret-color: var(--dda-neutral-100);
|
|
3210
|
+
}
|
|
3082
3211
|
.transparent dda-header:not(.dda-scrolled) .dda-search input[type="text"]::-ms-input-placeholder {
|
|
3083
3212
|
color: var(--dda-neutral-100);
|
|
3084
3213
|
}
|
|
@@ -3686,6 +3815,104 @@ ul.main_side_menu .main_sub_menu .main_sub_menu .main_sub_menu {
|
|
|
3686
3815
|
}
|
|
3687
3816
|
}
|
|
3688
3817
|
|
|
3818
|
+
/* 3.x dropdown submenus (quick-links items with "type": "dda_default_submenu"). */
|
|
3819
|
+
.dda-mega-menu > li {
|
|
3820
|
+
position: relative;
|
|
3821
|
+
}
|
|
3822
|
+
/* The <ul> scrolls; the third-level panel is its sibling, so the scroll does not clip it.
|
|
3823
|
+
The fixed width puts the panel (inset-inline-start: 100%) against the edge of the <ul>. */
|
|
3824
|
+
.dda-default-submenu {
|
|
3825
|
+
display: none;
|
|
3826
|
+
width: 350px;
|
|
3827
|
+
position: absolute;
|
|
3828
|
+
top: 100%;
|
|
3829
|
+
inset-inline-start: 0;
|
|
3830
|
+
padding-top: 5px;
|
|
3831
|
+
z-index: 5;
|
|
3832
|
+
}
|
|
3833
|
+
.dda-default-submenu.is-visible {
|
|
3834
|
+
display: block;
|
|
3835
|
+
}
|
|
3836
|
+
.dda-default-submenu > ul {
|
|
3837
|
+
width: 100%;
|
|
3838
|
+
max-width: 350px;
|
|
3839
|
+
max-height: 325px;
|
|
3840
|
+
overflow-y: auto;
|
|
3841
|
+
margin: 0;
|
|
3842
|
+
padding: 10px;
|
|
3843
|
+
list-style: none;
|
|
3844
|
+
background-color: var(--dda-surface-100);
|
|
3845
|
+
border-radius: 5px;
|
|
3846
|
+
box-shadow: 0 6px 7px 0 rgba(0, 0, 0, 0.13);
|
|
3847
|
+
}
|
|
3848
|
+
.dda-default-submenu li {
|
|
3849
|
+
list-style: none;
|
|
3850
|
+
position: relative;
|
|
3851
|
+
margin-bottom: 1px;
|
|
3852
|
+
}
|
|
3853
|
+
.dda-default-submenu a {
|
|
3854
|
+
position: relative;
|
|
3855
|
+
display: block;
|
|
3856
|
+
padding: 10px 7px;
|
|
3857
|
+
padding-inline-end: 24px;
|
|
3858
|
+
border-radius: 8px;
|
|
3859
|
+
font-size: var(--dda-fs-body-lg);
|
|
3860
|
+
font-weight: var(--dda-fw-400);
|
|
3861
|
+
color: var(--dda-on-surface-0);
|
|
3862
|
+
}
|
|
3863
|
+
.dda-default-submenu li:hover > a,
|
|
3864
|
+
.dda-default-submenu a.active {
|
|
3865
|
+
background-color: var(--dda-on-primary-98);
|
|
3866
|
+
color: var(--dda-on-primary-variant-40);
|
|
3867
|
+
}
|
|
3868
|
+
.dda-default-submenu a:focus-visible {
|
|
3869
|
+
outline: 2px solid var(--dda-color-primary-40);
|
|
3870
|
+
outline-offset: 0;
|
|
3871
|
+
}
|
|
3872
|
+
.dda-default-submenu a.has-submenu::after {
|
|
3873
|
+
content: '';
|
|
3874
|
+
width: 6px;
|
|
3875
|
+
height: 6px;
|
|
3876
|
+
border-right: solid 1px var(--dda-color-primary-40);
|
|
3877
|
+
border-bottom: solid 1px var(--dda-color-primary-40);
|
|
3878
|
+
position: absolute;
|
|
3879
|
+
top: 50%;
|
|
3880
|
+
inset-inline-end: 9px;
|
|
3881
|
+
margin-top: -4.5px;
|
|
3882
|
+
transform: rotate(-45deg);
|
|
3883
|
+
}
|
|
3884
|
+
[dir='rtl'] .dda-default-submenu a.has-submenu::after {
|
|
3885
|
+
transform: rotate(135deg);
|
|
3886
|
+
}
|
|
3887
|
+
.dda-default-subsubmenu {
|
|
3888
|
+
display: none;
|
|
3889
|
+
width: 300px;
|
|
3890
|
+
position: absolute;
|
|
3891
|
+
top: 0;
|
|
3892
|
+
inset-inline-start: 100%;
|
|
3893
|
+
padding-inline-start: 15px;
|
|
3894
|
+
}
|
|
3895
|
+
.dda-default-subsubmenu.is-visible {
|
|
3896
|
+
display: block;
|
|
3897
|
+
}
|
|
3898
|
+
.dda-default-subsubmenu-content {
|
|
3899
|
+
padding: 10px;
|
|
3900
|
+
background-color: var(--dda-surface-100);
|
|
3901
|
+
border-radius: 5px;
|
|
3902
|
+
box-shadow: 0 6px 7px 0 rgba(0, 0, 0, 0.13);
|
|
3903
|
+
}
|
|
3904
|
+
.dda-default-subsubmenu-content ul {
|
|
3905
|
+
margin: 0;
|
|
3906
|
+
padding: 0;
|
|
3907
|
+
}
|
|
3908
|
+
.dda-submenu-title {
|
|
3909
|
+
display: block;
|
|
3910
|
+
padding: 5px 8px 10px;
|
|
3911
|
+
margin-bottom: 5px;
|
|
3912
|
+
border-bottom: solid 1px var(--dda-surface-variant-80);
|
|
3913
|
+
font-weight: var(--dda-fw-700);
|
|
3914
|
+
}
|
|
3915
|
+
|
|
3689
3916
|
|
|
3690
3917
|
:root{
|
|
3691
3918
|
--font-family-main: 'Dubai', sans-serif;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// Reads a prop that takes a list: a JSON string from an HTML attribute, or an array that a
|
|
2
|
+
// framework wrapper sets as a property. A bad value must never stop the component rendering,
|
|
3
|
+
// so it gives an empty list and one warning that names the attribute. Entries that are not plain
|
|
4
|
+
// objects (null, a number, a string, an array) are dropped, also with one warning, so that the
|
|
5
|
+
// component never reads a field of a non-object.
|
|
6
|
+
export function parseJsonProp(value, propName) {
|
|
7
|
+
if (value === undefined || value === null || value === '')
|
|
8
|
+
return [];
|
|
9
|
+
if (Array.isArray(value))
|
|
10
|
+
return objectsOnly(value, propName);
|
|
11
|
+
if (typeof value === 'string') {
|
|
12
|
+
try {
|
|
13
|
+
const parsed = JSON.parse(value);
|
|
14
|
+
if (Array.isArray(parsed))
|
|
15
|
+
return objectsOnly(parsed, propName);
|
|
16
|
+
console.warn(`${propName}: expected a JSON array; the value is ignored.`);
|
|
17
|
+
return [];
|
|
18
|
+
}
|
|
19
|
+
catch (_a) {
|
|
20
|
+
console.warn(`${propName}: the value is not valid JSON; it is ignored.`);
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
console.warn(`${propName}: expected a JSON array; the value is ignored.`);
|
|
25
|
+
return [];
|
|
26
|
+
}
|
|
27
|
+
const isPlainObject = (entry) => entry !== null && typeof entry === 'object' && !Array.isArray(entry);
|
|
28
|
+
// Returns the same array when every entry is an object, so an array property stays unchanged.
|
|
29
|
+
function objectsOnly(list, propName) {
|
|
30
|
+
if (list.every(isPlainObject))
|
|
31
|
+
return list;
|
|
32
|
+
console.warn(`${propName}: an item is not an object; it is ignored.`);
|
|
33
|
+
return list.filter(isPlainObject);
|
|
34
|
+
}
|