@dubai-design-system/components-js 5.0.2 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +228 -1
- package/MIGRATION.md +423 -0
- package/dist/cjs/dda-accordion.cjs.entry.js +12 -7
- package/dist/cjs/dda-alert.cjs.entry.js +20 -3
- package/dist/cjs/dda-attach-file.cjs.entry.js +24 -8
- package/dist/cjs/dda-avatar.cjs.entry.js +23 -12
- package/dist/cjs/dda-banner.cjs.entry.js +14 -5
- package/dist/cjs/dda-breadcrumb.cjs.entry.js +22 -10
- package/dist/cjs/dda-button.cjs.entry.js +16 -9
- package/dist/cjs/dda-checkbox.cjs.entry.js +5 -4
- package/dist/cjs/dda-chip.cjs.entry.js +8 -3
- package/dist/cjs/dda-credit-card.cjs.entry.js +5 -3
- package/dist/cjs/dda-creditcard-field.cjs.entry.js +26 -8
- package/dist/cjs/dda-dropdown.cjs.entry.js +31 -5
- package/dist/cjs/dda-footer.cjs.entry.js +9 -3
- package/dist/cjs/dda-header.cjs.entry.js +80 -8
- package/dist/cjs/dda-home-banner.cjs.entry.js +11 -5
- package/dist/cjs/dda-horizontal-stepper.cjs.entry.js +22 -5
- package/dist/cjs/dda-input.cjs.entry.js +17 -10
- package/dist/cjs/dda-link-button_2.cjs.entry.js +21 -13
- package/dist/cjs/dda-number-field.cjs.entry.js +20 -8
- package/dist/cjs/dda-pagination.cjs.entry.js +21 -11
- package/dist/cjs/dda-phonefield.cjs.entry.js +27 -9
- package/dist/cjs/dda-progressbar.cjs.entry.js +8 -3
- package/dist/cjs/dda-range-slider.cjs.entry.js +15 -3
- package/dist/cjs/dda-search-input.cjs.entry.js +27 -12
- package/dist/cjs/dda-segmented-tabs.cjs.entry.js +54 -6
- package/dist/cjs/dda-select.cjs.entry.js +40 -8
- package/dist/cjs/dda-sticky-footer.cjs.entry.js +20 -3
- package/dist/cjs/dda-tabs.cjs.entry.js +10 -4
- package/dist/cjs/dda-textarea.cjs.entry.js +22 -12
- package/dist/cjs/dda-toggle.cjs.entry.js +5 -4
- package/dist/cjs/dda-tooltip.cjs.entry.js +6 -4
- package/dist/cjs/dda-ui-card.cjs.entry.js +19 -2
- package/dist/cjs/dda-vertical-stepper.cjs.entry.js +23 -3
- package/dist/cjs/dda.cjs.js +2 -2
- package/dist/cjs/index-Dm7JbFAh.js +2116 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/unique-id-DahNGdQy.js +14 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/dda-accordion/dda-accordion.js +16 -11
- package/dist/collection/components/dda-alert/dda-alert.js +74 -17
- package/dist/collection/components/dda-alert/dda-alert.stories.js +2 -8
- package/dist/collection/components/dda-attach-file/dda-attach-file.js +35 -19
- package/dist/collection/components/dda-attach-file/dda-attach-file.stories.js +0 -9
- package/dist/collection/components/dda-avatar/dda-avatar.js +53 -25
- package/dist/collection/components/dda-avatar/dda-avatar.stories.js +1 -1
- package/dist/collection/components/dda-banner/dda-banner.css +35 -0
- package/dist/collection/components/dda-banner/dda-banner.js +34 -5
- package/dist/collection/components/dda-breadcrumb/dda-breadcrumb.js +49 -12
- package/dist/collection/components/dda-button/dda-button.js +29 -22
- package/dist/collection/components/dda-checkbox/dda-checkbox.css +13 -0
- package/dist/collection/components/dda-checkbox/dda-checkbox.js +13 -12
- package/dist/collection/components/dda-checkbox/dda-checkbox.stories.js +0 -11
- package/dist/collection/components/dda-chip/dda-chip.js +34 -9
- package/dist/collection/components/dda-chip/dda-chip.stories.js +0 -11
- package/dist/collection/components/dda-credit-card/dda-credit-card.js +10 -8
- package/dist/collection/components/dda-creditcard-field/dda-creditcard-field.js +58 -23
- package/dist/collection/components/dda-creditcard-field/dda-creditcard-field.stories.js +1 -10
- package/dist/collection/components/dda-dropdown/dda-dropdown.js +90 -18
- package/dist/collection/components/dda-dropdown/dda-dropdown.stories.js +0 -4
- package/dist/collection/components/dda-footer/dda-footer.js +57 -10
- package/dist/collection/components/dda-footer/dda-footer.stories.js +5 -4
- package/dist/collection/components/dda-header/dda-header.css +11 -0
- package/dist/collection/components/dda-header/dda-header.js +224 -37
- package/dist/collection/components/dda-header/dda-header.stories.js +12 -21
- package/dist/collection/components/dda-home-banner/dda-home-banner.js +8 -2
- package/dist/collection/components/dda-home-banner/home-banner.css +21 -1
- package/dist/collection/components/dda-input/dda-input.js +28 -21
- package/dist/collection/components/dda-input/dda-input.stories.js +0 -13
- package/dist/collection/components/dda-link-button/dda-link-button.js +30 -23
- package/dist/collection/components/dda-number-field/dda-number-field.js +54 -22
- package/dist/collection/components/dda-number-field/dda-number-field.stories.js +0 -9
- package/dist/collection/components/dda-pagination/dda-pagination.js +95 -28
- package/dist/collection/components/dda-pagination/dda-pagination.stories.js +24 -24
- package/dist/collection/components/dda-phonefield/dda-phonefield.js +62 -24
- package/dist/collection/components/dda-phonefield/dda-phonefield.stories.js +0 -13
- package/dist/collection/components/dda-progressbar/dda-progressbar.js +13 -8
- package/dist/collection/components/dda-radiobutton/dda-radiobutton.css +141 -7
- package/dist/collection/components/dda-radiobutton/dda-radiobutton.js +13 -12
- package/dist/collection/components/dda-radiobutton/dda-radiobutton.stories.js +5 -16
- package/dist/collection/components/dda-range-slider/dda-range-slider.js +29 -17
- package/dist/collection/components/dda-search-input/dda-search-input.js +61 -26
- package/dist/collection/components/dda-search-input/dda-search-input.stories.js +0 -9
- package/dist/collection/components/dda-select/dda-select.js +78 -20
- package/dist/collection/components/dda-sticky-footer/dda-sticky-footer.js +80 -43
- package/dist/collection/components/dda-sticky-footer/dda-sticky-footer.stories.js +1 -1
- package/dist/collection/components/dda-tabs/dda-tabs.js +21 -15
- package/dist/collection/components/dda-tabs/dda-tabs.stories.js +3 -10
- package/dist/collection/components/dda-textarea/dda-textarea.js +33 -23
- package/dist/collection/components/dda-textarea/dda-textarea.stories.js +0 -9
- package/dist/collection/components/dda-toggle/dda-toggle.css +9 -0
- package/dist/collection/components/dda-toggle/dda-toggle.js +47 -8
- package/dist/collection/components/dda-toggle/dda-toggle.stories.js +10 -22
- package/dist/collection/components/dda-tooltip/dda-tooltip.js +9 -7
- package/dist/collection/components/dda-ui-card/dda-ui-card.js +55 -13
- package/dist/collection/components/segmented-groups/dda-segmented-tabs/dda-segmented-tabs.js +79 -11
- package/dist/collection/components/stepper/dda-horizontal-stepper/dda-horizontal-stepper.css +4 -1
- package/dist/collection/components/stepper/dda-horizontal-stepper/dda-horizontal-stepper.js +24 -6
- package/dist/collection/components/stepper/dda-horizontal-stepper/dda-horizontal-stepper.stories.js +2 -2
- package/dist/collection/components/stepper/dda-vertical-stepper/dda-vertical-stepper.js +49 -6
- package/dist/collection/components/stepper/dda-vertical-stepper/dda-vertical-stepper.stories.js +2 -2
- package/dist/collection/global/global.css +137 -7
- package/dist/collection/global/input.css +56 -2
- package/dist/collection/storybook/component-api.js +15 -0
- package/dist/collection/utils/placeholder-color.js +89 -0
- package/dist/collection/utils/unique-id.js +10 -0
- package/dist/components/dda-accordion.js +1 -1
- package/dist/components/dda-alert.js +1 -1
- package/dist/components/dda-attach-file.js +1 -1
- package/dist/components/dda-avatar.js +1 -1
- package/dist/components/dda-banner.js +1 -1
- package/dist/components/dda-breadcrumb.js +1 -1
- package/dist/components/dda-button.js +1 -1
- package/dist/components/dda-checkbox.js +1 -1
- package/dist/components/dda-chip.js +1 -1
- package/dist/components/dda-credit-card.js +1 -1
- package/dist/components/dda-creditcard-field.js +1 -1
- package/dist/components/dda-dropdown.js +1 -1
- package/dist/components/dda-footer.js +1 -1
- package/dist/components/dda-header.js +1 -1
- package/dist/components/dda-home-banner.js +1 -1
- package/dist/components/dda-horizontal-stepper.js +1 -1
- package/dist/components/dda-input.js +1 -1
- package/dist/components/dda-link-button.js +1 -1
- package/dist/components/dda-number-field.js +1 -1
- package/dist/components/dda-pagination.js +1 -1
- package/dist/components/dda-phonefield.js +1 -1
- package/dist/components/dda-progressbar.js +1 -1
- package/dist/components/dda-radiobutton.js +1 -1
- package/dist/components/dda-range-slider.js +1 -1
- package/dist/components/dda-search-input.js +1 -1
- package/dist/components/dda-segmented-tabs.js +1 -1
- package/dist/components/dda-select.js +1 -1
- package/dist/components/dda-sticky-footer.js +1 -1
- package/dist/components/dda-tabs.js +1 -1
- package/dist/components/dda-textarea.js +1 -1
- package/dist/components/dda-toggle.js +1 -1
- package/dist/components/dda-tooltip.js +1 -1
- package/dist/components/dda-ui-card.js +1 -1
- package/dist/components/dda-vertical-stepper.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/p-B-I003EB.js +1 -0
- package/dist/components/p-B4nkZ15I.js +1 -0
- package/dist/components/p-Bk2uycTf.js +1 -0
- package/dist/components/p-C96R7OFb.js +1 -0
- package/dist/components/p-Ciz-pnTr.js +1 -0
- package/dist/components/p-CleacZFl.js +1 -0
- package/dist/dda/dda.css +2 -2
- package/dist/dda/dda.esm.js +1 -1
- package/dist/dda/p-0daa2a14.entry.js +1 -0
- package/dist/dda/p-1537b9dd.entry.js +1 -0
- package/dist/dda/p-175c52b8.entry.js +1 -0
- package/dist/dda/p-2b65a79a.entry.js +1 -0
- package/dist/dda/p-2d93b185.entry.js +1 -0
- package/dist/dda/p-30d3a014.entry.js +1 -0
- package/dist/dda/p-33b890a5.entry.js +1 -0
- package/dist/dda/p-64d90f29.entry.js +1 -0
- package/dist/dda/p-69bc04c1.entry.js +1 -0
- package/dist/dda/p-6daa282f.entry.js +1 -0
- package/dist/dda/p-72f22d1f.entry.js +1 -0
- package/dist/dda/p-7549868d.entry.js +1 -0
- package/dist/dda/p-7a51a946.entry.js +1 -0
- package/dist/dda/p-7b187e1f.entry.js +1 -0
- package/dist/dda/p-7b4d895e.entry.js +1 -0
- package/dist/dda/p-8f408141.entry.js +1 -0
- package/dist/dda/p-91341ca7.entry.js +1 -0
- package/dist/dda/p-9552def5.entry.js +1 -0
- package/dist/dda/p-9672af43.entry.js +1 -0
- package/dist/dda/p-98bba4dc.entry.js +1 -0
- package/dist/dda/p-B-I003EB.js +1 -0
- package/dist/dda/p-a0768b2f.entry.js +1 -0
- package/dist/dda/p-a5bd30ad.entry.js +1 -0
- package/dist/dda/p-a83f6267.entry.js +1 -0
- package/dist/dda/p-b17f79df.entry.js +1 -0
- package/dist/dda/p-b79505e1.entry.js +1 -0
- package/dist/dda/p-b8b98df2.entry.js +1 -0
- package/dist/dda/p-cc2cc09b.entry.js +1 -0
- package/dist/dda/p-ceee08fa.entry.js +1 -0
- package/dist/dda/p-d000e69d.entry.js +1 -0
- package/dist/dda/p-e3a65ceb.entry.js +1 -0
- package/dist/dda/p-e5b79469.entry.js +1 -0
- package/dist/dda/p-f2f3be5f.entry.js +1 -0
- package/dist/dda/p-f92e0a32.entry.js +1 -0
- package/dist/dda/p-o6021Dsk.js +2 -0
- package/dist/esm/dda-accordion.entry.js +12 -7
- package/dist/esm/dda-alert.entry.js +20 -3
- package/dist/esm/dda-attach-file.entry.js +24 -8
- package/dist/esm/dda-avatar.entry.js +23 -12
- package/dist/esm/dda-banner.entry.js +14 -5
- package/dist/esm/dda-breadcrumb.entry.js +22 -10
- package/dist/esm/dda-button.entry.js +16 -9
- package/dist/esm/dda-checkbox.entry.js +5 -4
- package/dist/esm/dda-chip.entry.js +8 -3
- package/dist/esm/dda-credit-card.entry.js +5 -3
- package/dist/esm/dda-creditcard-field.entry.js +26 -8
- package/dist/esm/dda-dropdown.entry.js +31 -5
- package/dist/esm/dda-footer.entry.js +9 -3
- package/dist/esm/dda-header.entry.js +80 -8
- package/dist/esm/dda-home-banner.entry.js +11 -5
- package/dist/esm/dda-horizontal-stepper.entry.js +22 -5
- package/dist/esm/dda-input.entry.js +17 -10
- package/dist/esm/dda-link-button_2.entry.js +21 -13
- package/dist/esm/dda-number-field.entry.js +20 -8
- package/dist/esm/dda-pagination.entry.js +21 -11
- package/dist/esm/dda-phonefield.entry.js +27 -9
- package/dist/esm/dda-progressbar.entry.js +8 -3
- package/dist/esm/dda-range-slider.entry.js +15 -3
- package/dist/esm/dda-search-input.entry.js +27 -12
- package/dist/esm/dda-segmented-tabs.entry.js +54 -6
- package/dist/esm/dda-select.entry.js +40 -8
- package/dist/esm/dda-sticky-footer.entry.js +20 -3
- package/dist/esm/dda-tabs.entry.js +10 -4
- package/dist/esm/dda-textarea.entry.js +22 -12
- package/dist/esm/dda-toggle.entry.js +5 -4
- package/dist/esm/dda-tooltip.entry.js +6 -4
- package/dist/esm/dda-ui-card.entry.js +19 -2
- package/dist/esm/dda-vertical-stepper.entry.js +23 -3
- package/dist/esm/dda.js +3 -3
- package/dist/esm/index-o6021Dsk.js +2106 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/unique-id-B-I003EB.js +12 -0
- package/dist/types/components/dda-accordion/dda-accordion.d.ts +6 -0
- package/dist/types/components/dda-alert/dda-alert.d.ts +21 -0
- package/dist/types/components/dda-attach-file/dda-attach-file.d.ts +17 -0
- package/dist/types/components/dda-attach-file/dda-attach-file.stories.d.ts +0 -4
- package/dist/types/components/dda-avatar/dda-avatar.d.ts +20 -0
- package/dist/types/components/dda-banner/dda-banner.d.ts +5 -0
- package/dist/types/components/dda-breadcrumb/dda-breadcrumb.d.ts +12 -6
- package/dist/types/components/dda-button/dda-button.d.ts +15 -4
- package/dist/types/components/dda-checkbox/dda-checkbox.d.ts +11 -0
- package/dist/types/components/dda-checkbox/dda-checkbox.stories.d.ts +0 -10
- package/dist/types/components/dda-chip/dda-chip.d.ts +10 -0
- package/dist/types/components/dda-chip/dda-chip.stories.d.ts +0 -6
- package/dist/types/components/dda-credit-card/dda-credit-card.d.ts +7 -0
- package/dist/types/components/dda-creditcard-field/dda-creditcard-field.d.ts +24 -0
- package/dist/types/components/dda-creditcard-field/dda-creditcard-field.stories.d.ts +0 -6
- package/dist/types/components/dda-dropdown/dda-dropdown.d.ts +25 -0
- package/dist/types/components/dda-dropdown/dda-dropdown.stories.d.ts +0 -4
- package/dist/types/components/dda-footer/dda-footer.d.ts +13 -0
- package/dist/types/components/dda-header/dda-header.d.ts +60 -0
- package/dist/types/components/dda-header/dda-header.stories.d.ts +6 -0
- package/dist/types/components/dda-home-banner/dda-home-banner.d.ts +1 -0
- package/dist/types/components/dda-input/dda-input.d.ts +16 -0
- package/dist/types/components/dda-input/dda-input.stories.d.ts +0 -6
- package/dist/types/components/dda-link-button/dda-link-button.d.ts +14 -3
- package/dist/types/components/dda-number-field/dda-number-field.d.ts +21 -0
- package/dist/types/components/dda-number-field/dda-number-field.stories.d.ts +0 -6
- package/dist/types/components/dda-pagination/dda-pagination.d.ts +26 -0
- package/dist/types/components/dda-phonefield/dda-phonefield.d.ts +21 -0
- package/dist/types/components/dda-phonefield/dda-phonefield.stories.d.ts +0 -6
- package/dist/types/components/dda-progressbar/dda-progressbar.d.ts +7 -0
- package/dist/types/components/dda-radiobutton/dda-radiobutton.d.ts +11 -0
- package/dist/types/components/dda-radiobutton/dda-radiobutton.stories.d.ts +5 -15
- package/dist/types/components/dda-range-slider/dda-range-slider.d.ts +16 -0
- package/dist/types/components/dda-search-input/dda-search-input.d.ts +21 -0
- package/dist/types/components/dda-search-input/dda-search-input.stories.d.ts +0 -6
- package/dist/types/components/dda-select/dda-select.d.ts +23 -0
- package/dist/types/components/dda-sticky-footer/dda-sticky-footer.d.ts +46 -3
- package/dist/types/components/dda-tabs/dda-tabs.d.ts +12 -1
- package/dist/types/components/dda-tabs/dda-tabs.stories.d.ts +0 -4
- package/dist/types/components/dda-textarea/dda-textarea.d.ts +16 -0
- package/dist/types/components/dda-textarea/dda-textarea.stories.d.ts +0 -6
- package/dist/types/components/dda-toggle/dda-toggle.d.ts +11 -0
- package/dist/types/components/dda-toggle/dda-toggle.stories.d.ts +2 -12
- package/dist/types/components/dda-tooltip/dda-tooltip.d.ts +5 -0
- package/dist/types/components/dda-ui-card/dda-ui-card.d.ts +13 -1
- package/dist/types/components/segmented-groups/dda-segmented-tabs/dda-segmented-tabs.d.ts +19 -2
- package/dist/types/components/stepper/dda-horizontal-stepper/dda-horizontal-stepper.d.ts +6 -0
- package/dist/types/components/stepper/dda-vertical-stepper/dda-vertical-stepper.d.ts +8 -0
- package/dist/types/components.d.ts +2373 -47
- package/dist/types/utils/placeholder-color.d.ts +10 -0
- package/dist/types/utils/unique-id.d.ts +6 -0
- package/package.json +4 -3
- package/readme.md +6 -0
- package/dist/cjs/index-Ca7K0Ebk.js +0 -1986
- package/dist/components/p-BbQk3lNN.js +0 -1
- package/dist/components/p-BqPGP84L.js +0 -1
- package/dist/components/p-C90V7afZ.js +0 -1
- package/dist/components/p-Ceq73F9H.js +0 -1
- package/dist/components/p-CfeBxzCg.js +0 -1
- package/dist/dda/p-01766265.entry.js +0 -1
- package/dist/dda/p-0a3ea903.entry.js +0 -1
- package/dist/dda/p-120f0401.entry.js +0 -1
- package/dist/dda/p-1620415e.entry.js +0 -1
- package/dist/dda/p-18708284.entry.js +0 -1
- package/dist/dda/p-1d6d33cd.entry.js +0 -1
- package/dist/dda/p-350a04cf.entry.js +0 -1
- package/dist/dda/p-3f06f0e2.entry.js +0 -1
- package/dist/dda/p-4918df54.entry.js +0 -1
- package/dist/dda/p-4a4d087e.entry.js +0 -1
- package/dist/dda/p-4ac55d0c.entry.js +0 -1
- package/dist/dda/p-4b33da48.entry.js +0 -1
- package/dist/dda/p-4d2e2594.entry.js +0 -1
- package/dist/dda/p-5473440a.entry.js +0 -1
- package/dist/dda/p-554c72d7.entry.js +0 -1
- package/dist/dda/p-565c8d35.entry.js +0 -1
- package/dist/dda/p-56dc112a.entry.js +0 -1
- package/dist/dda/p-64d2b705.entry.js +0 -1
- package/dist/dda/p-64e59960.entry.js +0 -1
- package/dist/dda/p-6e926e1f.entry.js +0 -1
- package/dist/dda/p-73501746.entry.js +0 -1
- package/dist/dda/p-82af7b9c.entry.js +0 -1
- package/dist/dda/p-865ad76f.entry.js +0 -1
- package/dist/dda/p-89799487.entry.js +0 -1
- package/dist/dda/p-8e923011.entry.js +0 -1
- package/dist/dda/p-9292f9d9.entry.js +0 -1
- package/dist/dda/p-Dx9UtVJC.js +0 -2
- package/dist/dda/p-a543b2cf.entry.js +0 -1
- package/dist/dda/p-c5471384.entry.js +0 -1
- package/dist/dda/p-ca3c6a47.entry.js +0 -1
- package/dist/dda/p-d2556e9d.entry.js +0 -1
- package/dist/dda/p-eca22ee5.entry.js +0 -1
- package/dist/dda/p-ee977745.entry.js +0 -1
- package/dist/dda/p-f1cdcaa2.entry.js +0 -1
- package/dist/esm/index-Dx9UtVJC.js +0 -1976
|
@@ -714,7 +714,8 @@
|
|
|
714
714
|
.quick-links-wrap {
|
|
715
715
|
width: 100%;
|
|
716
716
|
position: absolute;
|
|
717
|
-
|
|
717
|
+
/* dda-sticky-footer sets --dda-sticky-footer-height; the cards sit above the fixed bar. */
|
|
718
|
+
bottom: calc(45px + var(--dda-sticky-footer-height, 0px));
|
|
718
719
|
z-index: 1;
|
|
719
720
|
}
|
|
720
721
|
|
|
@@ -764,6 +765,14 @@
|
|
|
764
765
|
margin-bottom: 15px;
|
|
765
766
|
color: var(--dda-on-surface-variant-40);
|
|
766
767
|
}
|
|
768
|
+
.quick-links .link-item i {
|
|
769
|
+
display: block;
|
|
770
|
+
width: fit-content;
|
|
771
|
+
font-size: 35px;
|
|
772
|
+
line-height: 1;
|
|
773
|
+
margin-bottom: 15px;
|
|
774
|
+
color: var(--dda-on-surface-variant-40);
|
|
775
|
+
}
|
|
767
776
|
.quick-links .link-item .title {
|
|
768
777
|
display: block;
|
|
769
778
|
font-size: var(--dda-fs-title-sm);
|
|
@@ -785,6 +794,8 @@
|
|
|
785
794
|
}
|
|
786
795
|
.quick-links-wrap {
|
|
787
796
|
position: relative;
|
|
797
|
+
/* In normal flow the cards do not sit over the fixed bar, so keep the original offset. */
|
|
798
|
+
bottom: 45px;
|
|
788
799
|
}
|
|
789
800
|
.quick-links-wrap .quick-links {
|
|
790
801
|
display: grid;
|
|
@@ -804,7 +815,10 @@
|
|
|
804
815
|
}
|
|
805
816
|
} */
|
|
806
817
|
|
|
807
|
-
|
|
818
|
+
/* Short landscape screens (a phone or small tablet on its side) cannot fit the display-size
|
|
819
|
+
slide title in the full-height banner. This was keyed on max-width: 1600px, which also caught
|
|
820
|
+
ordinary laptop screens and shrank the title there to 1.2rem. */
|
|
821
|
+
@media only screen and (orientation: landscape) and (max-height: 600px) {
|
|
808
822
|
.slide-content h2 {
|
|
809
823
|
font-size: 1.2rem;
|
|
810
824
|
}
|
|
@@ -812,6 +826,8 @@
|
|
|
812
826
|
font-size: 1rem;
|
|
813
827
|
margin-bottom: 5px;
|
|
814
828
|
}
|
|
829
|
+
}
|
|
830
|
+
@media only screen and (orientation: landscape) and (max-width: 1600px) {
|
|
815
831
|
.quick-links .link-item {
|
|
816
832
|
padding: 13px;
|
|
817
833
|
height: 128px;
|
|
@@ -820,6 +836,10 @@
|
|
|
820
836
|
height: 20px;
|
|
821
837
|
margin-bottom: 5px;
|
|
822
838
|
}
|
|
839
|
+
.quick-links .link-item i {
|
|
840
|
+
font-size: 20px;
|
|
841
|
+
margin-bottom: 5px;
|
|
842
|
+
}
|
|
823
843
|
.quick-links .link-item .title {
|
|
824
844
|
font-size: 15px;
|
|
825
845
|
}
|
|
@@ -2145,11 +2165,23 @@
|
|
|
2145
2165
|
box-shadow: none;
|
|
2146
2166
|
}
|
|
2147
2167
|
|
|
2148
|
-
.foot-menu
|
|
2149
|
-
.foot-icon-btn a span {
|
|
2168
|
+
.foot-menu {
|
|
2150
2169
|
display: none;
|
|
2151
2170
|
}
|
|
2152
2171
|
|
|
2172
|
+
/* Hide the icon text visually only: it is the link's name when the image is decorative. */
|
|
2173
|
+
.foot-icon-btn a span {
|
|
2174
|
+
position: absolute;
|
|
2175
|
+
width: 1px;
|
|
2176
|
+
height: 1px;
|
|
2177
|
+
margin: -1px;
|
|
2178
|
+
padding: 0;
|
|
2179
|
+
overflow: hidden;
|
|
2180
|
+
clip: rect(0, 0, 0, 0);
|
|
2181
|
+
white-space: nowrap;
|
|
2182
|
+
border: 0;
|
|
2183
|
+
}
|
|
2184
|
+
|
|
2153
2185
|
.dda-footer-item ul li {
|
|
2154
2186
|
padding: 0 8px;
|
|
2155
2187
|
border: 0px !important;
|
|
@@ -2488,6 +2520,8 @@
|
|
|
2488
2520
|
content: "";
|
|
2489
2521
|
width: 100%;
|
|
2490
2522
|
height: 250px;
|
|
2523
|
+
/* Decoration only: it reaches below the header and must not catch taps on the page. */
|
|
2524
|
+
pointer-events: none;
|
|
2491
2525
|
background: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 63.02%, rgba(0, 0, 0, 0) 100%);
|
|
2492
2526
|
position: absolute;
|
|
2493
2527
|
top: 0;
|
|
@@ -2828,7 +2862,7 @@
|
|
|
2828
2862
|
color: var(--dda-on-surface-10);
|
|
2829
2863
|
font-weight: var(--dda-fw-700);
|
|
2830
2864
|
border: 0px;
|
|
2831
|
-
padding:
|
|
2865
|
+
padding: 8px;
|
|
2832
2866
|
border-radius: 50px;
|
|
2833
2867
|
display: inline-flex;
|
|
2834
2868
|
align-items: center;
|
|
@@ -2852,7 +2886,9 @@
|
|
|
2852
2886
|
.dda-toolbar-menu ul li .tool-btn svg,
|
|
2853
2887
|
.dda-toolbar-menu-sidemenu ul li .tool-btn i,
|
|
2854
2888
|
.dda-toolbar-menu-sidemenu ul li .tool-btn svg {
|
|
2855
|
-
font-size:
|
|
2889
|
+
font-size: 24px;
|
|
2890
|
+
width: 24px;
|
|
2891
|
+
height: 24px;
|
|
2856
2892
|
color: var(--dda-on-surface-variant-30);
|
|
2857
2893
|
}
|
|
2858
2894
|
|
|
@@ -2886,6 +2922,19 @@
|
|
|
2886
2922
|
width: 250px;
|
|
2887
2923
|
outline: 0;
|
|
2888
2924
|
}
|
|
2925
|
+
/* WCAG 2.4.7 Focus Visible: the input above drops the native outline so the
|
|
2926
|
+
pill can expand cleanly; the ring is painted on the pill instead, with the
|
|
2927
|
+
same idiom as .dda-btn:focus-visible in dda-button.css. */
|
|
2928
|
+
.dda-search:focus-within {
|
|
2929
|
+
box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(0, 0, 0, 0.65);
|
|
2930
|
+
}
|
|
2931
|
+
/* Header tool buttons that do not carry .dda-btn (the mobile search button and
|
|
2932
|
+
the side-menu accessibility toggle) get the same ring. */
|
|
2933
|
+
.dda-mobile-search button:focus-visible,
|
|
2934
|
+
.dda-toolbar-menu-sidemenu ul li .tool-btn:focus-visible {
|
|
2935
|
+
outline: none;
|
|
2936
|
+
box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(0, 0, 0, 0.65);
|
|
2937
|
+
}
|
|
2889
2938
|
.dda-search input[type="text"]::-ms-input-placeholder {
|
|
2890
2939
|
color: var(--dda-on-surface-0);
|
|
2891
2940
|
}
|
|
@@ -2918,6 +2967,8 @@
|
|
|
2918
2967
|
gap: 15px;
|
|
2919
2968
|
padding: 32px;
|
|
2920
2969
|
overflow-y: auto;
|
|
2970
|
+
/* Reaching the end of the menu must not start scrolling the locked page. */
|
|
2971
|
+
overscroll-behavior: contain;
|
|
2921
2972
|
height: 100%;
|
|
2922
2973
|
}
|
|
2923
2974
|
|
|
@@ -3178,7 +3229,9 @@ ul.main_side_menu .main_sub_menu .main_sub_menu .main_sub_menu {
|
|
|
3178
3229
|
|
|
3179
3230
|
.dda-mobile-search button i,
|
|
3180
3231
|
.dda-mobile-search button svg {
|
|
3181
|
-
font-size:
|
|
3232
|
+
font-size: 24px;
|
|
3233
|
+
width: 24px;
|
|
3234
|
+
height: 24px;
|
|
3182
3235
|
color: var(--dda-on-surface-variant-30);
|
|
3183
3236
|
}
|
|
3184
3237
|
.dda-mobile-search button svg {
|
|
@@ -3425,6 +3478,76 @@ ul.main_side_menu .main_sub_menu .main_sub_menu .main_sub_menu {
|
|
|
3425
3478
|
|
|
3426
3479
|
|
|
3427
3480
|
|
|
3481
|
+
/* Mobile search: the search button opens this panel under the header. */
|
|
3482
|
+
.dda-mobile-search-panel {
|
|
3483
|
+
position: absolute;
|
|
3484
|
+
top: 100%;
|
|
3485
|
+
inset-inline: 0;
|
|
3486
|
+
padding: 12px 16px;
|
|
3487
|
+
background: var(--dda-surface-100);
|
|
3488
|
+
box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.12);
|
|
3489
|
+
z-index: 8;
|
|
3490
|
+
}
|
|
3491
|
+
|
|
3492
|
+
.dda-mobile-search-panel[hidden] {
|
|
3493
|
+
display: none;
|
|
3494
|
+
}
|
|
3495
|
+
|
|
3496
|
+
.dda-mobile-search-form {
|
|
3497
|
+
position: relative;
|
|
3498
|
+
display: flex;
|
|
3499
|
+
align-items: center;
|
|
3500
|
+
gap: 8px;
|
|
3501
|
+
border: 1px solid var(--dda-surface-90);
|
|
3502
|
+
border-radius: 100px;
|
|
3503
|
+
padding-inline-start: 12px;
|
|
3504
|
+
}
|
|
3505
|
+
|
|
3506
|
+
.dda-mobile-search-form:focus-within {
|
|
3507
|
+
box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(0, 0, 0, 0.65);
|
|
3508
|
+
}
|
|
3509
|
+
|
|
3510
|
+
.dda-mobile-search-form > i {
|
|
3511
|
+
font-size: 24px;
|
|
3512
|
+
color: var(--dda-on-surface-variant-30);
|
|
3513
|
+
}
|
|
3514
|
+
|
|
3515
|
+
.dda-mobile-search-form input {
|
|
3516
|
+
flex: 1;
|
|
3517
|
+
min-width: 0;
|
|
3518
|
+
height: 44px;
|
|
3519
|
+
border: 0;
|
|
3520
|
+
background: transparent;
|
|
3521
|
+
color: var(--dda-on-surface-0);
|
|
3522
|
+
font-size: var(--dda-fs-body-lg);
|
|
3523
|
+
outline: 0;
|
|
3524
|
+
}
|
|
3525
|
+
|
|
3526
|
+
.dda-mobile-search-close {
|
|
3527
|
+
width: 44px;
|
|
3528
|
+
height: 44px;
|
|
3529
|
+
flex-shrink: 0;
|
|
3530
|
+
display: inline-flex;
|
|
3531
|
+
align-items: center;
|
|
3532
|
+
justify-content: center;
|
|
3533
|
+
border: 0;
|
|
3534
|
+
border-radius: 100px;
|
|
3535
|
+
background: transparent;
|
|
3536
|
+
color: var(--dda-on-surface-variant-30);
|
|
3537
|
+
}
|
|
3538
|
+
|
|
3539
|
+
.dda-mobile-search-close:focus-visible {
|
|
3540
|
+
outline: none;
|
|
3541
|
+
box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(0, 0, 0, 0.65);
|
|
3542
|
+
}
|
|
3543
|
+
|
|
3544
|
+
/* The panel only exists where the mobile search button is shown. */
|
|
3545
|
+
@media screen and (min-width: 768px) {
|
|
3546
|
+
.dda-mobile-search-panel {
|
|
3547
|
+
display: none;
|
|
3548
|
+
}
|
|
3549
|
+
}
|
|
3550
|
+
|
|
3428
3551
|
|
|
3429
3552
|
:root{
|
|
3430
3553
|
--font-family-main: 'Dubai', sans-serif;
|
|
@@ -3487,6 +3610,13 @@ a:hover {
|
|
|
3487
3610
|
text-decoration: none !important;
|
|
3488
3611
|
}
|
|
3489
3612
|
|
|
3613
|
+
/* WCAG 1.4.1: links in running text keep an underline so color is not the only cue.
|
|
3614
|
+
Classed links (buttons, cards) and list links (menus) stay undecorated. */
|
|
3615
|
+
:where(p, td, dd, blockquote, figcaption) a:not([class]),
|
|
3616
|
+
:where(p, td, dd, blockquote, figcaption) a:not([class]):hover {
|
|
3617
|
+
text-decoration: underline !important;
|
|
3618
|
+
}
|
|
3619
|
+
|
|
3490
3620
|
button {
|
|
3491
3621
|
cursor: pointer;
|
|
3492
3622
|
}
|
|
@@ -22,6 +22,8 @@
|
|
|
22
22
|
height: 32px;
|
|
23
23
|
background-color: transparent;
|
|
24
24
|
flex: 1;
|
|
25
|
+
/* An input's intrinsic width would otherwise stop it shrinking and push the row past its container. */
|
|
26
|
+
min-width: 0;
|
|
25
27
|
font-size: var(--dda-fs-body-lg);
|
|
26
28
|
font-weight: var(--dda-fw-400);
|
|
27
29
|
padding: 0px;
|
|
@@ -67,6 +69,35 @@
|
|
|
67
69
|
border: 1px solid var(--dda-neutral-90);
|
|
68
70
|
color: var(--dda-neutral-0);
|
|
69
71
|
}
|
|
72
|
+
|
|
73
|
+
/*
|
|
74
|
+
* WCAG 1.4.3 placeholder contrast. The global `::placeholder` colour in
|
|
75
|
+
* global.css (#8E9191) is 3.18:1 on the white field background. The
|
|
76
|
+
* theme-aware --dda-on-surface-variant-40 is 6.49:1 on surface-100 in the
|
|
77
|
+
* light theme (#56605F on #FFFFFF) and 7.46:1 in the dark theme (#A3ADAC on
|
|
78
|
+
* #191C1C). `.light-mode` forces a white field, so it uses the raw light
|
|
79
|
+
* step. Kept above the validation-error and disabled placeholder rules so
|
|
80
|
+
* those still win at equal specificity.
|
|
81
|
+
*/
|
|
82
|
+
.dda-input-field::-ms-input-placeholder,
|
|
83
|
+
.dda-field-group-input::-ms-input-placeholder {
|
|
84
|
+
color: var(--dda-on-surface-variant-40);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.dda-input-field::placeholder,
|
|
88
|
+
.dda-field-group-input::placeholder {
|
|
89
|
+
color: var(--dda-on-surface-variant-40);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.light-mode .dda-input-field::-ms-input-placeholder,
|
|
93
|
+
.light-mode .dda-field-group-input::-ms-input-placeholder {
|
|
94
|
+
color: var(--dda-neutral-variant-40);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.light-mode .dda-input-field::placeholder,
|
|
98
|
+
.light-mode .dda-field-group-input::placeholder {
|
|
99
|
+
color: var(--dda-neutral-variant-40);
|
|
100
|
+
}
|
|
70
101
|
.dda-input-size-small .dda-input-field-group,
|
|
71
102
|
.dda-input-size-small .dda-input-field {
|
|
72
103
|
height: 48px;
|
|
@@ -90,6 +121,7 @@
|
|
|
90
121
|
|
|
91
122
|
.dda-input-dropdown-btn {
|
|
92
123
|
min-width: 110px;
|
|
124
|
+
flex-shrink: 0;
|
|
93
125
|
position: relative;
|
|
94
126
|
display: inline-block;
|
|
95
127
|
padding: 0;
|
|
@@ -568,8 +600,30 @@
|
|
|
568
600
|
background-color: var(--dda-surface-94);
|
|
569
601
|
}
|
|
570
602
|
|
|
571
|
-
|
|
572
|
-
|
|
603
|
+
/*
|
|
604
|
+
* WCAG 2.1.1 / 4.1.2: the native file input was `display: none`, so it was
|
|
605
|
+
* out of the tab order and the accessibility tree. It is now visually hidden
|
|
606
|
+
* but focusable; keyboard focus shows the ring on the visible control after
|
|
607
|
+
* it ("Choose File", or the chosen file's details).
|
|
608
|
+
*/
|
|
609
|
+
.dda-attach-file input[type='file'] {
|
|
610
|
+
position: absolute;
|
|
611
|
+
width: 1px;
|
|
612
|
+
height: 1px;
|
|
613
|
+
margin: -1px;
|
|
614
|
+
padding: 0;
|
|
615
|
+
overflow: hidden;
|
|
616
|
+
clip: rect(0 0 0 0);
|
|
617
|
+
clip-path: inset(50%);
|
|
618
|
+
white-space: nowrap;
|
|
619
|
+
border: 0;
|
|
620
|
+
opacity: 0;
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
.dda-attach-file input[type='file']:focus-visible + .dda-file-input .dda-file-choose,
|
|
624
|
+
.dda-attach-file input[type='file']:focus-visible + .dda-file-details {
|
|
625
|
+
outline: none;
|
|
626
|
+
box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(0, 0, 0, 0.65);
|
|
573
627
|
}
|
|
574
628
|
|
|
575
629
|
.dda-file-details {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Builds a docs page's API section from the tables Stencil generates into a component readme,
|
|
2
|
+
// so the documented props and events always match the component source after a build.
|
|
3
|
+
const API_SECTIONS = ['Properties', 'Events', 'Methods', 'Slots', 'Shadow Parts', 'CSS Custom Properties'];
|
|
4
|
+
|
|
5
|
+
export function componentApi(readme) {
|
|
6
|
+
const generated = readme.split('<!-- Auto Generated Below -->')[1] ?? '';
|
|
7
|
+
const sections = generated
|
|
8
|
+
.split(/^## /m)
|
|
9
|
+
.slice(1)
|
|
10
|
+
.filter(section => API_SECTIONS.includes(section.split('\n')[0].trim()))
|
|
11
|
+
// Drop Stencil's "Built with StencilJS" footer, which follows the last section.
|
|
12
|
+
.map(section => `### ${section.replace(/^-{10,}[\s\S]*$/m, '').trim()}`);
|
|
13
|
+
|
|
14
|
+
return sections.length ? sections.join('\n\n') : '_This component has no public properties or events._';
|
|
15
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
// Shared e2e helper for WCAG 1.4.3 placeholder-contrast specs. Not consumed
|
|
2
|
+
// by any component.
|
|
3
|
+
//
|
|
4
|
+
// Chromium's `getComputedStyle(input, '::placeholder')` returns the input's
|
|
5
|
+
// own `color`, not the placeholder's, so a spec cannot read the placeholder
|
|
6
|
+
// colour directly. This walks the page's stylesheets instead: it finds every
|
|
7
|
+
// `::placeholder` rule whose base selector matches the field, keeps the one
|
|
8
|
+
// that wins the cascade (highest specificity, then latest in source order),
|
|
9
|
+
// and resolves its `color` value (including `var()`) to a computed
|
|
10
|
+
// `rgb(...)` string that `contrastRatio()` can read.
|
|
11
|
+
//
|
|
12
|
+
// Pass the function itself to `page.evaluate()`. It runs in the browser, so
|
|
13
|
+
// it must stay self-contained: no imports, no closures, no async.
|
|
14
|
+
export function readPlaceholderColors(args) {
|
|
15
|
+
const field = document.querySelector(args.field);
|
|
16
|
+
const backgroundEl = document.querySelector(args.background || args.field);
|
|
17
|
+
if (!field || !backgroundEl) {
|
|
18
|
+
throw new Error(`placeholder-color.ts: no element for "${args.field}" or "${args.background}"`);
|
|
19
|
+
}
|
|
20
|
+
const specificity = (selector) => {
|
|
21
|
+
let rest = selector;
|
|
22
|
+
const ids = (rest.match(/#[\w-]+/g) || []).length;
|
|
23
|
+
rest = rest.replace(/#[\w-]+/g, ' ');
|
|
24
|
+
const classes = (rest.match(/\.[\w-]+|\[[^\]]*\]|:[\w-]+/g) || []).length;
|
|
25
|
+
rest = rest.replace(/\.[\w-]+|\[[^\]]*\]|:[\w-]+/g, ' ');
|
|
26
|
+
const types = (rest.match(/[a-zA-Z][\w-]*/g) || []).length;
|
|
27
|
+
return ids * 10000 + classes * 100 + types;
|
|
28
|
+
};
|
|
29
|
+
let bestValue = '';
|
|
30
|
+
let bestSpecificity = -1;
|
|
31
|
+
const visit = (rules) => {
|
|
32
|
+
for (let i = 0; i < rules.length; i++) {
|
|
33
|
+
const rule = rules[i];
|
|
34
|
+
if (rule.styleSheet && rule.styleSheet.cssRules) {
|
|
35
|
+
visit(rule.styleSheet.cssRules);
|
|
36
|
+
}
|
|
37
|
+
else if (rule.selectorText !== undefined) {
|
|
38
|
+
const value = rule.style.getPropertyValue('color');
|
|
39
|
+
if (!value)
|
|
40
|
+
continue;
|
|
41
|
+
const parts = String(rule.selectorText).split(',');
|
|
42
|
+
for (let j = 0; j < parts.length; j++) {
|
|
43
|
+
const part = parts[j].trim();
|
|
44
|
+
if (!/::placeholder$/.test(part))
|
|
45
|
+
continue;
|
|
46
|
+
const base = part.replace(/::placeholder$/, '').trim() || '*';
|
|
47
|
+
let matches = false;
|
|
48
|
+
try {
|
|
49
|
+
matches = field.matches(base);
|
|
50
|
+
}
|
|
51
|
+
catch (_a) {
|
|
52
|
+
matches = false;
|
|
53
|
+
}
|
|
54
|
+
if (!matches)
|
|
55
|
+
continue;
|
|
56
|
+
const s = specificity(base);
|
|
57
|
+
if (s >= bestSpecificity) {
|
|
58
|
+
bestSpecificity = s;
|
|
59
|
+
bestValue = value;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else if (rule.cssRules) {
|
|
64
|
+
const media = rule.media ? rule.media.mediaText : '';
|
|
65
|
+
if (!media || window.matchMedia(media).matches) {
|
|
66
|
+
visit(rule.cssRules);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
for (let i = 0; i < document.styleSheets.length; i++) {
|
|
72
|
+
let rules = null;
|
|
73
|
+
try {
|
|
74
|
+
rules = document.styleSheets[i].cssRules;
|
|
75
|
+
}
|
|
76
|
+
catch (_a) {
|
|
77
|
+
rules = null;
|
|
78
|
+
}
|
|
79
|
+
if (rules)
|
|
80
|
+
visit(rules);
|
|
81
|
+
}
|
|
82
|
+
// Resolve var()/keywords to rgb() in the field's own context.
|
|
83
|
+
const probe = document.createElement('span');
|
|
84
|
+
field.parentElement.appendChild(probe);
|
|
85
|
+
probe.style.color = bestValue || getComputedStyle(field).color;
|
|
86
|
+
const placeholder = getComputedStyle(probe).color;
|
|
87
|
+
probe.remove();
|
|
88
|
+
return { placeholder, background: getComputedStyle(backgroundEl).backgroundColor };
|
|
89
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
let counter = 0;
|
|
2
|
+
/**
|
|
3
|
+
* Returns an id that is unique on the page, for elements such as a label's input when the
|
|
4
|
+
* consumer did not pass one. Call it once per component instance (as a field initializer),
|
|
5
|
+
* so the id stays stable across renders.
|
|
6
|
+
*/
|
|
7
|
+
export function uniqueId(prefix) {
|
|
8
|
+
counter += 1;
|
|
9
|
+
return `${prefix}-${counter}`;
|
|
10
|
+
}
|