@dubai-design-system/components-js 5.3.6 → 5.3.7
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 +18 -0
- package/MIGRATION.md +12 -5
- package/dist/cjs/dda-accordion.cjs.entry.js +3 -3
- package/dist/cjs/dda-alert.cjs.entry.js +3 -3
- package/dist/cjs/dda-attach-file.cjs.entry.js +3 -3
- package/dist/cjs/dda-avatar.cjs.entry.js +6 -6
- package/dist/cjs/dda-banner-card.cjs.entry.js +2 -2
- package/dist/cjs/dda-banner.cjs.entry.js +2 -2
- package/dist/cjs/dda-breadcrumb.cjs.entry.js +3 -3
- 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 +2 -2
- package/dist/cjs/dda-dropdown.cjs.entry.js +3 -3
- package/dist/cjs/dda-footer.cjs.entry.js +2 -2
- package/dist/cjs/dda-header.cjs.entry.js +10 -10
- package/dist/cjs/dda-home-banner.cjs.entry.js +5 -5
- package/dist/cjs/dda-home-carousel.cjs.entry.js +2 -2
- package/dist/cjs/dda-horizontal-stepper.cjs.entry.js +2 -2
- package/dist/cjs/dda-input.cjs.entry.js +2 -2
- package/dist/cjs/dda-link-button_2.cjs.entry.js +4 -4
- package/dist/cjs/dda-number-field.cjs.entry.js +3 -3
- package/dist/cjs/dda-pagination.cjs.entry.js +9 -9
- package/dist/cjs/dda-phonefield.cjs.entry.js +3 -3
- package/dist/cjs/dda-progressbar.cjs.entry.js +2 -2
- package/dist/cjs/dda-range-slider.cjs.entry.js +1 -1
- package/dist/cjs/dda-scroll-icon.cjs.entry.js +1 -1
- package/dist/cjs/dda-search-input.cjs.entry.js +3 -3
- package/dist/cjs/dda-segmented-tabs.cjs.entry.js +3 -3
- package/dist/cjs/dda-select.cjs.entry.js +4 -4
- package/dist/cjs/dda-sticky-footer.cjs.entry.js +6 -9
- package/dist/cjs/dda-tabs.cjs.entry.js +3 -3
- package/dist/cjs/dda-textarea.cjs.entry.js +3 -3
- package/dist/cjs/dda-toggle.cjs.entry.js +2 -2
- package/dist/cjs/dda-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/dda-ui-card.cjs.entry.js +2 -2
- package/dist/cjs/dda-vertical-stepper.cjs.entry.js +2 -2
- package/dist/cjs/dda.cjs.js +1 -1
- package/dist/cjs/{index-BpHPwGf8.js → index-lNJmUapU.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- 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 +4 -4
- package/dist/collection/components/dda-breadcrumb/dda-breadcrumb.js +1 -1
- 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-dropdown/dda-dropdown.js +1 -1
- package/dist/collection/components/dda-header/dda-header.js +9 -9
- package/dist/collection/components/dda-home-banner/dda-home-banner.js +2 -2
- package/dist/collection/components/dda-home-banner/home-banner.css +36 -1
- package/dist/collection/components/dda-link-button/dda-link-button.js +1 -1
- package/dist/collection/components/dda-number-field/dda-number-field.js +1 -1
- package/dist/collection/components/dda-pagination/dda-pagination.js +7 -7
- package/dist/collection/components/dda-phonefield/dda-phonefield.js +1 -1
- package/dist/collection/components/dda-radiobutton/dda-radiobutton.css +137 -6
- package/dist/collection/components/dda-search-input/dda-search-input.js +1 -1
- package/dist/collection/components/dda-select/dda-select.js +2 -2
- package/dist/collection/components/dda-sticky-footer/dda-sticky-footer.js +4 -7
- package/dist/collection/components/dda-tabs/dda-tabs.js +1 -1
- package/dist/collection/components/dda-textarea/dda-textarea.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.js +1 -1
- package/dist/collection/components/stepper/dda-vertical-stepper/dda-vertical-stepper.js +1 -1
- package/dist/collection/global/global.css +137 -6
- 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-card.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-home-carousel.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-scroll-icon.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-C189DyVE.js +1 -0
- package/dist/components/p-CxoSnPXH.js +1 -0
- package/dist/components/p-D0_AWCD0.js +1 -0
- package/dist/components/p-DD1Zpaej.js +1 -0
- package/dist/components/p-DjZlrMd_.js +1 -0
- package/dist/components/{p-DADawXC0.js → p-Ni26DZIa.js} +1 -1
- package/dist/components/p-t7bTR_8z.js +1 -0
- package/dist/dda/dda.css +1 -1
- package/dist/dda/dda.esm.js +1 -1
- package/dist/dda/p-062e9ab1.entry.js +1 -0
- package/dist/dda/p-09764a0d.entry.js +1 -0
- package/dist/dda/p-10381c11.entry.js +1 -0
- package/dist/dda/p-105e8117.entry.js +1 -0
- package/dist/dda/p-25d6570f.entry.js +1 -0
- package/dist/dda/p-3235d840.entry.js +1 -0
- package/dist/dda/p-32c533d5.entry.js +1 -0
- package/dist/dda/p-3304e4eb.entry.js +1 -0
- package/dist/dda/p-3cb3796a.entry.js +1 -0
- package/dist/dda/p-3d1788cd.entry.js +1 -0
- package/dist/dda/p-411fe443.entry.js +1 -0
- package/dist/dda/{p-32b7fa0b.entry.js → p-445e2ddf.entry.js} +1 -1
- package/dist/dda/p-47a47db8.entry.js +1 -0
- package/dist/dda/p-4a31ef64.entry.js +1 -0
- package/dist/dda/p-4b3e59da.entry.js +1 -0
- package/dist/dda/p-4c20eda1.entry.js +1 -0
- package/dist/dda/p-66990371.entry.js +1 -0
- package/dist/dda/p-66fe3114.entry.js +1 -0
- package/dist/dda/p-709ab5b5.entry.js +1 -0
- package/dist/dda/p-78afa42e.entry.js +1 -0
- package/dist/dda/p-7c87086c.entry.js +1 -0
- package/dist/dda/p-8057a7ea.entry.js +1 -0
- package/dist/dda/p-8a31b82f.entry.js +1 -0
- package/dist/dda/p-9bd215b3.entry.js +1 -0
- package/dist/dda/p-9d8f2852.entry.js +1 -0
- package/dist/dda/p-a10b4715.entry.js +1 -0
- package/dist/dda/p-a5e28398.entry.js +1 -0
- package/dist/dda/p-ae53a260.entry.js +1 -0
- package/dist/dda/p-aee500cb.entry.js +1 -0
- package/dist/dda/p-b26c4ca0.entry.js +1 -0
- package/dist/dda/p-b6319f76.entry.js +1 -0
- package/dist/dda/p-bf7861ef.entry.js +1 -0
- package/dist/dda/{p-f49baf43.entry.js → p-c88969da.entry.js} +1 -1
- package/dist/dda/p-cbcd2a37.entry.js +1 -0
- package/dist/dda/p-e7b2cc22.entry.js +1 -0
- package/dist/dda/p-eslb0xPL.js +2 -0
- package/dist/dda/p-f937392b.entry.js +1 -0
- package/dist/esm/dda-accordion.entry.js +3 -3
- package/dist/esm/dda-alert.entry.js +3 -3
- package/dist/esm/dda-attach-file.entry.js +3 -3
- package/dist/esm/dda-avatar.entry.js +6 -6
- package/dist/esm/dda-banner-card.entry.js +2 -2
- package/dist/esm/dda-banner.entry.js +2 -2
- package/dist/esm/dda-breadcrumb.entry.js +3 -3
- 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 +2 -2
- package/dist/esm/dda-dropdown.entry.js +3 -3
- package/dist/esm/dda-footer.entry.js +2 -2
- package/dist/esm/dda-header.entry.js +10 -10
- package/dist/esm/dda-home-banner.entry.js +5 -5
- package/dist/esm/dda-home-carousel.entry.js +2 -2
- package/dist/esm/dda-horizontal-stepper.entry.js +2 -2
- package/dist/esm/dda-input.entry.js +2 -2
- package/dist/esm/dda-link-button_2.entry.js +4 -4
- package/dist/esm/dda-number-field.entry.js +3 -3
- package/dist/esm/dda-pagination.entry.js +9 -9
- package/dist/esm/dda-phonefield.entry.js +3 -3
- package/dist/esm/dda-progressbar.entry.js +2 -2
- package/dist/esm/dda-range-slider.entry.js +1 -1
- package/dist/esm/dda-scroll-icon.entry.js +1 -1
- package/dist/esm/dda-search-input.entry.js +3 -3
- package/dist/esm/dda-segmented-tabs.entry.js +3 -3
- package/dist/esm/dda-select.entry.js +4 -4
- package/dist/esm/dda-sticky-footer.entry.js +6 -9
- package/dist/esm/dda-tabs.entry.js +3 -3
- package/dist/esm/dda-textarea.entry.js +3 -3
- package/dist/esm/dda-toggle.entry.js +2 -2
- package/dist/esm/dda-tooltip.entry.js +2 -2
- package/dist/esm/dda-ui-card.entry.js +2 -2
- package/dist/esm/dda-vertical-stepper.entry.js +2 -2
- package/dist/esm/dda.js +2 -2
- package/dist/esm/{index-iieH594-.js → index-eslb0xPL.js} +1 -1
- package/dist/esm/loader.js +2 -2
- package/package.json +1 -1
- package/dist/components/p-Aj18WhqQ.js +0 -1
- package/dist/components/p-B6tn8eWW.js +0 -1
- package/dist/components/p-DGSOTFfp.js +0 -1
- package/dist/components/p-DaS2FaM0.js +0 -1
- package/dist/components/p-Dg2Jrfwt.js +0 -1
- package/dist/components/p-s_i90FgA.js +0 -1
- package/dist/dda/p-0c05652f.entry.js +0 -1
- package/dist/dda/p-0fd1acdd.entry.js +0 -1
- package/dist/dda/p-11901233.entry.js +0 -1
- package/dist/dda/p-18e9a615.entry.js +0 -1
- package/dist/dda/p-1b689398.entry.js +0 -1
- package/dist/dda/p-29dd1174.entry.js +0 -1
- package/dist/dda/p-2f525e36.entry.js +0 -1
- package/dist/dda/p-320f0e23.entry.js +0 -1
- package/dist/dda/p-3b138fdb.entry.js +0 -1
- package/dist/dda/p-3d0b1347.entry.js +0 -1
- package/dist/dda/p-4c8f6c9f.entry.js +0 -1
- package/dist/dda/p-56be5579.entry.js +0 -1
- package/dist/dda/p-591bcbc4.entry.js +0 -1
- package/dist/dda/p-756e23e7.entry.js +0 -1
- package/dist/dda/p-7fa9f38a.entry.js +0 -1
- package/dist/dda/p-84a4b457.entry.js +0 -1
- package/dist/dda/p-85cdea5c.entry.js +0 -1
- package/dist/dda/p-871750c7.entry.js +0 -1
- package/dist/dda/p-88cea310.entry.js +0 -1
- package/dist/dda/p-8cd2021c.entry.js +0 -1
- package/dist/dda/p-93e38077.entry.js +0 -1
- package/dist/dda/p-985c08b9.entry.js +0 -1
- package/dist/dda/p-9881b357.entry.js +0 -1
- package/dist/dda/p-9c0df893.entry.js +0 -1
- package/dist/dda/p-aaa58103.entry.js +0 -1
- package/dist/dda/p-accfabd7.entry.js +0 -1
- package/dist/dda/p-c16f300c.entry.js +0 -1
- package/dist/dda/p-c8319e6f.entry.js +0 -1
- package/dist/dda/p-d111ac4a.entry.js +0 -1
- package/dist/dda/p-d2fc3312.entry.js +0 -1
- package/dist/dda/p-e05169f8.entry.js +0 -1
- package/dist/dda/p-e37b2e47.entry.js +0 -1
- package/dist/dda/p-e991a8c7.entry.js +0 -1
- package/dist/dda/p-ebc2c744.entry.js +0 -1
- package/dist/dda/p-iieH594-.js +0 -2
|
@@ -747,9 +747,9 @@
|
|
|
747
747
|
a fade on each edge with more cards, and a thin scrollbar show that the row scrolls. */
|
|
748
748
|
:is(.quick-links-wrap, .dda-home-quick-links-wrap),
|
|
749
749
|
.quick-links {
|
|
750
|
-
/* Room inside the row for the hover lift (12px above
|
|
751
|
-
a scrolling box clips anything outside it. */
|
|
752
|
-
--dda-quick-links-pad-top:
|
|
750
|
+
/* Room inside the row for the hover and focus lift (12px above, and the focus ring 4px more)
|
|
751
|
+
and the pointer (9px below); a scrolling box clips anything outside it. */
|
|
752
|
+
--dda-quick-links-pad-top: 16px;
|
|
753
753
|
--dda-quick-links-pad-bottom: 12px;
|
|
754
754
|
--dda-quick-links-fade: 32px;
|
|
755
755
|
}
|
|
@@ -878,7 +878,8 @@
|
|
|
878
878
|
:is(.quick-links-wrap, .dda-home-quick-links-wrap) .quick-links {
|
|
879
879
|
width: 100%;
|
|
880
880
|
box-sizing: border-box;
|
|
881
|
-
padding
|
|
881
|
+
/* Read by the row's padding, so dda-home-carousel's <ul> gets it too (see ul.quick-links). */
|
|
882
|
+
--dda-quick-links-pad-top: 20px;
|
|
882
883
|
scrollbar-color: var(--dda-on-surface-variant-40) transparent;
|
|
883
884
|
}
|
|
884
885
|
.quick-links .link-item {
|
|
@@ -966,7 +967,7 @@
|
|
|
966
967
|
bottom: calc(var(--dda-quick-links-gap-sm) - var(--dda-quick-links-pad-bottom) + var(--dda-sticky-footer-height, 0px));
|
|
967
968
|
}
|
|
968
969
|
:is(.quick-links-wrap, .dda-home-quick-links-wrap) .quick-links {
|
|
969
|
-
|
|
970
|
+
--dda-quick-links-pad-top: 16px;
|
|
970
971
|
scrollbar-color: rgba(255, 255, 255, 0.7) transparent;
|
|
971
972
|
}
|
|
972
973
|
.quick-links .link-item {
|
|
@@ -994,8 +995,13 @@
|
|
|
994
995
|
}
|
|
995
996
|
|
|
996
997
|
/* dda-home-carousel: its list is a .quick-links row; each <li> holds one dda-banner-card. */
|
|
998
|
+
/* global.css resets every <ul> to margin: 0 and padding: 0 with !important. On this row that removed
|
|
999
|
+
the top padding the hover lift rises into, so a raised card was cut off, and the auto margins
|
|
1000
|
+
that centre it, so the row ran 90vw from the container's start edge and out of the container. */
|
|
997
1001
|
ul.quick-links {
|
|
998
|
-
|
|
1002
|
+
width: min(90vw, 100%);
|
|
1003
|
+
margin: 0 auto !important;
|
|
1004
|
+
padding: var(--dda-quick-links-pad-top) 20px var(--dda-quick-links-pad-bottom) !important;
|
|
999
1005
|
list-style: none;
|
|
1000
1006
|
}
|
|
1001
1007
|
.quick-links > .dda-home-carousel-item {
|
|
@@ -1046,6 +1052,38 @@ button.link-item {
|
|
|
1046
1052
|
}
|
|
1047
1053
|
}
|
|
1048
1054
|
|
|
1055
|
+
/* Short screens (a laptop zoomed past about 115%, or a phone on its side): dda-home-banner grows
|
|
1056
|
+
with its text (home-banner.css), so the cards follow it in normal flow instead of sitting on it.
|
|
1057
|
+
They wrap instead of scrolling sideways, each at least 220px wide or the row's width, so at 400%
|
|
1058
|
+
zoom every card is in view at a readable size, one under another. */
|
|
1059
|
+
@media screen and (max-height: 700px) {
|
|
1060
|
+
:is(.quick-links-wrap, .dda-home-quick-links-wrap) {
|
|
1061
|
+
position: relative;
|
|
1062
|
+
bottom: auto;
|
|
1063
|
+
}
|
|
1064
|
+
:is(.quick-links-wrap, .dda-home-quick-links-wrap) .quick-links,
|
|
1065
|
+
.quick-links {
|
|
1066
|
+
flex-wrap: wrap;
|
|
1067
|
+
overflow: visible;
|
|
1068
|
+
scroll-snap-type: none;
|
|
1069
|
+
-webkit-mask-image: none;
|
|
1070
|
+
mask-image: none;
|
|
1071
|
+
animation: none;
|
|
1072
|
+
}
|
|
1073
|
+
.quick-links .link-item,
|
|
1074
|
+
.quick-links > .dda-home-carousel-item {
|
|
1075
|
+
flex: 1 1 min(220px, 100%);
|
|
1076
|
+
height: auto;
|
|
1077
|
+
margin-top: 0;
|
|
1078
|
+
border: solid 1px #ddd;
|
|
1079
|
+
}
|
|
1080
|
+
/* The hover and focus lift would push a card into the row above it. */
|
|
1081
|
+
.quick-links .link-item:hover,
|
|
1082
|
+
.quick-links .link-item:focus-visible {
|
|
1083
|
+
margin-top: 0;
|
|
1084
|
+
}
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1049
1087
|
.dda-card {
|
|
1050
1088
|
position: relative;
|
|
1051
1089
|
display: -ms-flexbox;
|
|
@@ -2473,6 +2511,90 @@ body {
|
|
|
2473
2511
|
}
|
|
2474
2512
|
}
|
|
2475
2513
|
|
|
2514
|
+
/* 992px and below the links are 48px round buttons in one row. Six of them with their spacing
|
|
2515
|
+
took about 424px, so on a 320-375px phone, or a laptop zoomed to 400% (WCAG 1.4.10), the last
|
|
2516
|
+
buttons ran off the screen. Here the spacing narrows with the screen and each button shrinks
|
|
2517
|
+
from 48px when the row does not fit, to no less than 32px, so up to eight fit at 320px. The
|
|
2518
|
+
right-hand links in the "more" menu keep their size. */
|
|
2519
|
+
@media (max-width: 992px) {
|
|
2520
|
+
.dda-footer {
|
|
2521
|
+
padding: 0 clamp(8px, 4vw, 20px);
|
|
2522
|
+
}
|
|
2523
|
+
.dda-footer-item,
|
|
2524
|
+
.dda-footer-item ul {
|
|
2525
|
+
min-width: 0;
|
|
2526
|
+
}
|
|
2527
|
+
:is(.dda-footer-item:not(.dda-footer-right), .dda-footer:not(.has-more-button) .dda-footer-right) li.foot-icon-btn {
|
|
2528
|
+
--dda-foot-btn-pad: clamp(2px, 1vw, 8px);
|
|
2529
|
+
flex: 0 1 calc(48px + 2 * var(--dda-foot-btn-pad));
|
|
2530
|
+
min-width: calc(32px + 2 * var(--dda-foot-btn-pad));
|
|
2531
|
+
padding: 0 var(--dda-foot-btn-pad);
|
|
2532
|
+
}
|
|
2533
|
+
:is(.dda-footer-item:not(.dda-footer-right), .dda-footer:not(.has-more-button) .dda-footer-right) li.foot-icon-btn :is(dda-tooltip, .dda-tooltip-container) {
|
|
2534
|
+
display: flex;
|
|
2535
|
+
width: 100%;
|
|
2536
|
+
}
|
|
2537
|
+
:is(.dda-footer-item:not(.dda-footer-right), .dda-footer:not(.has-more-button) .dda-footer-right) li.foot-icon-btn a {
|
|
2538
|
+
width: 48px;
|
|
2539
|
+
max-width: 100%;
|
|
2540
|
+
height: auto;
|
|
2541
|
+
aspect-ratio: 1;
|
|
2542
|
+
}
|
|
2543
|
+
:is(.dda-footer-item:not(.dda-footer-right), .dda-footer:not(.has-more-button) .dda-footer-right) li.foot-icon-btn a img {
|
|
2544
|
+
max-width: 70%;
|
|
2545
|
+
object-fit: contain;
|
|
2546
|
+
}
|
|
2547
|
+
}
|
|
2548
|
+
/* The short landscape bar above makes the buttons 35px. */
|
|
2549
|
+
@media only screen and (orientation: landscape) and (max-width: 768px) {
|
|
2550
|
+
:is(.dda-footer-item:not(.dda-footer-right), .dda-footer:not(.has-more-button) .dda-footer-right) li.foot-icon-btn {
|
|
2551
|
+
flex-basis: calc(35px + 2 * var(--dda-foot-btn-pad));
|
|
2552
|
+
}
|
|
2553
|
+
}
|
|
2554
|
+
|
|
2555
|
+
/* A tooltip is centred over its button and wider than it, so over the first and last buttons it
|
|
2556
|
+
ran past the screen edge (3-7px on desktop, about 20px on a phone). Those two line up with the
|
|
2557
|
+
button's outer edge instead, and their arrow moves near the button's centre: 16px in on desktop,
|
|
2558
|
+
24px on the round buttons. In the "more" menu every link sits at the end edge. */
|
|
2559
|
+
.dda-footer .footer-content > .dda-footer-item:first-child li.foot-icon-btn:first-child .dda-tooltip-box.top {
|
|
2560
|
+
left: auto;
|
|
2561
|
+
inset-inline-start: 0;
|
|
2562
|
+
transform: none;
|
|
2563
|
+
}
|
|
2564
|
+
.dda-footer .dda-footer-right li.foot-icon-btn:last-child .dda-tooltip-box.top {
|
|
2565
|
+
left: auto;
|
|
2566
|
+
inset-inline-end: 0;
|
|
2567
|
+
transform: none;
|
|
2568
|
+
}
|
|
2569
|
+
.dda-footer .footer-content > .dda-footer-item:first-child li.foot-icon-btn:first-child .dda-tooltip-box.top::before,
|
|
2570
|
+
.dda-footer .footer-content > .dda-footer-item:first-child li.foot-icon-btn:first-child .dda-tooltip-box.top::after {
|
|
2571
|
+
left: auto;
|
|
2572
|
+
margin-inline-start: 0;
|
|
2573
|
+
inset-inline-start: var(--dda-foot-tip-arrow, 6px);
|
|
2574
|
+
}
|
|
2575
|
+
.dda-footer .dda-footer-right li.foot-icon-btn:last-child .dda-tooltip-box.top::before,
|
|
2576
|
+
.dda-footer .dda-footer-right li.foot-icon-btn:last-child .dda-tooltip-box.top::after {
|
|
2577
|
+
left: auto;
|
|
2578
|
+
margin-inline-start: 0;
|
|
2579
|
+
inset-inline-end: var(--dda-foot-tip-arrow, 6px);
|
|
2580
|
+
}
|
|
2581
|
+
@media (max-width: 992px) {
|
|
2582
|
+
.dda-footer {
|
|
2583
|
+
--dda-foot-tip-arrow: 14px;
|
|
2584
|
+
}
|
|
2585
|
+
.dda-footer.has-more-button .dda-footer-right li.foot-icon-btn .dda-tooltip-box.top {
|
|
2586
|
+
left: auto;
|
|
2587
|
+
inset-inline-end: 0;
|
|
2588
|
+
transform: none;
|
|
2589
|
+
}
|
|
2590
|
+
.dda-footer.has-more-button .dda-footer-right li.foot-icon-btn .dda-tooltip-box.top::before,
|
|
2591
|
+
.dda-footer.has-more-button .dda-footer-right li.foot-icon-btn .dda-tooltip-box.top::after {
|
|
2592
|
+
left: auto;
|
|
2593
|
+
margin-inline-start: 0;
|
|
2594
|
+
inset-inline-end: var(--dda-foot-tip-arrow);
|
|
2595
|
+
}
|
|
2596
|
+
}
|
|
2597
|
+
|
|
2476
2598
|
.dda-dashboard-sidebar {
|
|
2477
2599
|
position: fixed;
|
|
2478
2600
|
top: 0;
|
|
@@ -4009,6 +4131,15 @@ button {
|
|
|
4009
4131
|
cursor: pointer;
|
|
4010
4132
|
}
|
|
4011
4133
|
|
|
4134
|
+
/* Icon-font ligatures draw from data-icon, not from text in the element: the icon name is then
|
|
4135
|
+
not text in the page, so an accessibility checker does not read "chevron_right" as a visible
|
|
4136
|
+
label that the button's accessible name must contain (WCAG 2.5.3). The icons are aria-hidden;
|
|
4137
|
+
the button's aria-label or text names it. Material classes only, so another icon font's own
|
|
4138
|
+
::before glyph is untouched. */
|
|
4139
|
+
:is(.material-icons, .material-icons-outlined, .material-icons-round, .material-icons-sharp, .material-icons-two-tone, .material-symbols-outlined, .material-symbols-rounded, .material-symbols-sharp)[data-icon]::before {
|
|
4140
|
+
content: attr(data-icon);
|
|
4141
|
+
}
|
|
4142
|
+
|
|
4012
4143
|
ul {
|
|
4013
4144
|
margin: 0 !important;
|
|
4014
4145
|
padding: 0 !important;
|
|
@@ -46,7 +46,7 @@ export class DdaSearchInput {
|
|
|
46
46
|
}
|
|
47
47
|
render() {
|
|
48
48
|
const id = this.inputId;
|
|
49
|
-
return (h(Host, { key: '1f3191966d43f2b236fd11459101c769a0927436' }, h("div", { key: '7dd31c429d569ebfff446d78b7c88787bb89108d', class: `dda-input-container dda-input-size-${this.size} ${this.component_mode} ${this.custom_class} ${this.input_status ? `dda-input-${this.input_status}` : ''} ${this.has_error ? 'dda-validation-error' : ''}` }, this.label && h("label", { key: 'c0b9f0a432de51598797da4734c9147decaf9ba1', htmlFor: id, class: "dda-input-label" }, this.label), h("div", { key: 'ec94b09e36f446cf5d08cd1406374e3a71330f45', class: "dda-search-area dda-search-action" }, h("i", { key: '
|
|
49
|
+
return (h(Host, { key: '1f3191966d43f2b236fd11459101c769a0927436' }, h("div", { key: '7dd31c429d569ebfff446d78b7c88787bb89108d', class: `dda-input-container dda-input-size-${this.size} ${this.component_mode} ${this.custom_class} ${this.input_status ? `dda-input-${this.input_status}` : ''} ${this.has_error ? 'dda-validation-error' : ''}` }, this.label && h("label", { key: 'c0b9f0a432de51598797da4734c9147decaf9ba1', htmlFor: id, class: "dda-input-label" }, this.label), h("div", { key: 'ec94b09e36f446cf5d08cd1406374e3a71330f45', class: "dda-search-area dda-search-action" }, h("i", { key: 'ee331ce3af2eb7ce0492119813a6a7e968beff85', class: "material-icons icon-left", "data-icon": "search", "aria-hidden": "true" }), h("input", { key: '709364d5c744547be825cc1e5f82cf06075f9a66', name: this.search_input_name, "aria-label": this.aria_label, id: id, type: "text", class: "dda-input-field dda-search-field", placeholder: this.placeholder, "aria-describedby": this.describedBy, "aria-invalid": this.error_message ? 'true' : undefined }), h("div", { key: 'acf0c3b562ba549cdb6211407de559c8c3b6f6ad', class: "dda-search-btngroup" }, h("button", { key: '8cdc767b648b7a3cd7d145e643db036b75191863', name: this.close_button_name, "aria-label": this.button_aria_label || this.clear_button_label, id: this.button_id, type: "button", class: "icon-close", onClick: () => this.clearInput() }, h("i", { key: '87abd33df3cd3b134f1a0bc7452e82cf5fabeddb', class: "material-icons material-symbols-outlined", "data-icon": "close", "aria-hidden": "true" })), this.show_button && (h("button", { key: '182844cec77fe7c071d779ac117f4a0ffa252622', name: this.search_button_name, type: "button", class: "dda-btn btn-color-default-primary dda-btn-sm" }, "Search")))), this.helper_text && h("span", { key: '08ab7162a99c3ec35c16d807813083ac68215f39', id: this.helperId, class: "dda-helper-text" }, this.helper_text), this.error_message && h("span", { key: '3ab1583781f571ea9f2d1da2c671bbdc3bf70959', id: this.errorId, class: "dda-error-message" }, this.error_message))));
|
|
50
50
|
}
|
|
51
51
|
static get is() { return "dda-search-input"; }
|
|
52
52
|
static get originalStyleUrls() {
|
|
@@ -241,10 +241,10 @@ export class Ddaselect {
|
|
|
241
241
|
'dda-select-open': this.is_open,
|
|
242
242
|
[`dda-input-size-${this.size}`]: !!this.size,
|
|
243
243
|
[`dda-validation-${validation}`]: !!validation,
|
|
244
|
-
} }, this.label && h("label", { key: '87491d828a562c97475241da38308faa32e35fb0', id: this.labelId, class: "dda-input-label" }, this.label), h("div", { key: '385d35415beb1104eea5329427c6db616954c0da', class: "dda-dropdown-container" }, h("button", { key: 'd86507f9a4ebc1a7cc66e94d2126d3bd80030b19', name: this.toggle_button_name, "aria-label": this.triggerLabel, "aria-labelledby": this.label && !this.triggerLabel ? `${this.labelId} ${id}` : undefined, id: id, type: "button", class: "dda-input-field dda-select-header", "aria-haspopup": "listbox", "aria-expanded": this.is_open ? 'true' : 'false', "aria-controls": this.is_open ? this.listboxId : undefined, "aria-describedby": this.describedBy, "aria-invalid": this.error_message ? 'true' : undefined, onClick: () => { this.toggleSelect(); }, onKeyDown: this.onTriggerKeyDown, onBlur: this.onTriggerBlur }, current ? current.text : ((_a = this.placeholder) !== null && _a !== void 0 ? _a : 'Select an option'), h("i", { key: '
|
|
244
|
+
} }, this.label && h("label", { key: '87491d828a562c97475241da38308faa32e35fb0', id: this.labelId, class: "dda-input-label" }, this.label), h("div", { key: '385d35415beb1104eea5329427c6db616954c0da', class: "dda-dropdown-container" }, h("button", { key: 'd86507f9a4ebc1a7cc66e94d2126d3bd80030b19', name: this.toggle_button_name, "aria-label": this.triggerLabel, "aria-labelledby": this.label && !this.triggerLabel ? `${this.labelId} ${id}` : undefined, id: id, type: "button", class: "dda-input-field dda-select-header", "aria-haspopup": "listbox", "aria-expanded": this.is_open ? 'true' : 'false', "aria-controls": this.is_open ? this.listboxId : undefined, "aria-describedby": this.describedBy, "aria-invalid": this.error_message ? 'true' : undefined, onClick: () => { this.toggleSelect(); }, onKeyDown: this.onTriggerKeyDown, onBlur: this.onTriggerBlur }, current ? current.text : ((_a = this.placeholder) !== null && _a !== void 0 ? _a : 'Select an option'), h("i", { key: 'e01493f9eefb060b52d3b6ec97ed33ad8995edbd', class: `material-icons`, "data-icon": this.is_open ? 'keyboard_arrow_up' : 'keyboard_arrow_down', "aria-hidden": "true" })), this.is_open && (h("div", { key: 'bbe506c30d244f64fba15f0e73f17aa063221153', id: this.listboxId, role: "listbox", "aria-label": this.triggerLabel || this.label, class: "dda-input-dropdown-list dda-select-list" }, options.length > 0 ? (options.map((option, index) => {
|
|
245
245
|
const isCurrent = current !== undefined && String(current.id) === String(option.id);
|
|
246
246
|
return (h("button", { name: this.option_select_button_name, type: "button", role: "option", "aria-selected": isCurrent ? 'true' : 'false', tabIndex: index === activeIndex ? 0 : -1, class: `dda-input-dropdown-item ${isCurrent ? 'selected' : ''}`, onClick: () => this.selectOption(option), onKeyDown: (event) => this.onOptionKeyDown(event, option), key: `${index}-${option.id}` }, option.text));
|
|
247
|
-
})) : (h("div", { class: "dda-input-dropdown-item" }, "No options available"))))), this.helper_text && h("span", { key: '
|
|
247
|
+
})) : (h("div", { class: "dda-input-dropdown-item" }, "No options available"))))), this.helper_text && h("span", { key: 'fdd2cb570b02c071653525fd5205cee0b8d22ff2', id: this.helperId, class: "dda-helper-text" }, this.helper_text), this.error_message && h("span", { key: '25684c92c9182e8d5a61df9dc711ccc27870d665', id: this.errorId, class: "dda-error-message" }, this.error_message))));
|
|
248
248
|
}
|
|
249
249
|
static get is() { return "dda-select"; }
|
|
250
250
|
static get originalStyleUrls() {
|
|
@@ -51,10 +51,7 @@ export class DdaStickyFooter {
|
|
|
51
51
|
if (src || !icon) {
|
|
52
52
|
return h("img", { src: src, alt: text });
|
|
53
53
|
}
|
|
54
|
-
return [
|
|
55
|
-
h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, icon),
|
|
56
|
-
h("span", { class: "visually-hidden" }, text),
|
|
57
|
-
];
|
|
54
|
+
return [h("i", { class: "material-icons material-symbols-outlined", "data-icon": icon, "aria-hidden": "true" }), h("span", { class: "visually-hidden" }, text)];
|
|
58
55
|
}
|
|
59
56
|
// 3.x: any colorTheme other than "light" is dark. 3.x gave an empty image when the dark one
|
|
60
57
|
// was missing; this falls back to the light image instead.
|
|
@@ -78,12 +75,12 @@ export class DdaStickyFooter {
|
|
|
78
75
|
const rightItems = parseJsonProp(this.rightLink, 'right-link');
|
|
79
76
|
return (
|
|
80
77
|
// An <aside>, not a <footer>: the page footer (dda-footer) is the only contentinfo landmark.
|
|
81
|
-
h("aside", { key: '
|
|
82
|
-
? rightItems.map(item => (h("li", { class: "foot-icon-btn" }, h("dda-tooltip", { title_text: item.RightLinkTooltip || item.LinkText, description: "", position: "top" }, h("a", { href: item.href, id: item.itemId, title: item.title }, item.IconName &&
|
|
78
|
+
h("aside", { key: 'a38f218cd703fcf5b9f74bcbfa81c763f7d16379', class: { 'dda-footer': true, hidden: this.isHidden, 'has-more-button': !!this.moreIcon }, "aria-label": this.aria_label, "aria-hidden": this.isHidden ? 'true' : 'false', inert: this.isHidden }, h("div", { key: 'd9e143bb37fd32126f13bb004fb86cff0d0a6514', class: "footer-content" }, h("div", { key: 'f56809d10ff2940727d224bd84548662749dfc0d', class: "dda-footer-item dda-footer-left" }, h("ul", { key: 'b99abca57926edc6ec2d0d2db6a3135951ff0c55' }, this.happinessIconSrc && (h("li", { key: '7417aab3909435bc3b1f2f861d6fb34ccb4b3b74', class: "foot-icon-btn" }, h("dda-tooltip", { key: '146b35fcd36fea616cf4ff653ade32ef29dd36cf', title_text: this.happinessIconTooltip, description: "", position: "top" }, h("a", { key: '88eebafd1a89ccb3dffe91d9068c9415b19f8969', href: this.happinessIconHref, id: this.happinessIconId }, h("img", { key: 'db58007f1771a78354f96d8243a5dc6de96c3384', src: this.img(this.happinessIconSrc, this.happinessIconSrcDark), alt: this.happinessIconAlt }))))), this.accessibilityIconSrc && (h("li", { key: 'bde1f8193cebe693d583e01a081fdbd3da2024ad', class: "foot-icon-btn" }, h("dda-tooltip", { key: 'c99da2c8e3c174e433248b051c1bebb63bcd4e20', title_text: this.accessibilityIconTooltip, description: "", position: "top" }, h("a", { key: '34b24d2b28e62a5c4b834520c505a1071f7cee80', href: this.accessibilityIconHref, id: this.accessibilityIconId }, h("img", { key: '9a546f8251b4729cdba9805e8b41f677fe2357da', src: this.img(this.accessibilityIconSrc, this.accessibilityIconSrcDark), alt: this.accessibilityIconAlt }))))), (this.servicesIconSrc || this.servicesIconText) && (h("li", { key: '1bdc059f82428775dbdc40ab47fa2f6fc64c20f5', class: "foot-icon-btn" }, h("dda-tooltip", { key: '225f8f8c74cd21671524f4edc61d11eec7758b7f', title_text: this.servicesIconTooltip, description: "", position: "top" }, h("a", { key: 'b40a4dfb6c0605f039dda72076f43b9b37f3f1be', href: this.servicesIconHref, id: this.servicesIconId }, h("img", { key: '06be32622870aa8df2ccd0d85283a750ab6c624d', src: this.img(this.servicesIconSrc, this.servicesIconSrcDark), alt: this.servicesIconText ? '' : this.servicesIconAlt }), this.servicesIconText && h("span", { key: '482793fc7a6be5076860e49803d885bffecbe982' }, this.servicesIconText))))))), !this.hideMiddleSection && middleLogos.length > 0 && (h("div", { key: '4feb7a9bb1fd122fe2ad92de5429773f1f120b7b', class: "dda-footer-item dda-footer-middle" }, h("ul", { key: '8095a68de6df90d0d29fc87254ff2195c89257d9', class: "foot-logo" }, middleLogos.map(logo => (h("li", null, h("dda-tooltip", { title_text: logo.tooltip, description: "", position: "top" }, h("a", { href: logo.href }, h("img", { src: logo.src, alt: logo.alt }))))))))), h("div", { key: '8497bea7fa4865ca106925eac31ce9dcb84c2c43', class: "dda-footer-item dda-footer-right" }, h("ul", { key: 'b8782cb62e2d3bfd17bde3ecd0aa347f175b4357', id: this.rightListId, class: { 'foot-right_links': true, 'show-dda-icon': this.rightOpen }, inert: !!this.moreIcon && !this.rightOpen && this.isMobile }, rightItems.length > 0
|
|
79
|
+
? rightItems.map(item => (h("li", { class: "foot-icon-btn" }, h("dda-tooltip", { title_text: item.RightLinkTooltip || item.LinkText, description: "", position: "top" }, h("a", { href: item.href, id: item.itemId, title: item.title }, item.IconName && h("i", { class: item.IconFamily || 'material-icons', "data-icon": item.IconName, "aria-hidden": "true" }), h("span", null, item.LinkText))))))
|
|
83
80
|
: [
|
|
84
81
|
(this.locationLogoSrc || this.locationButtonIcon) && (h("li", { class: "foot-icon-btn" }, h("dda-tooltip", { title_text: this.locationButtonText, description: "", position: "top" }, h("a", { href: this.locationButtonHref }, this.renderLinkGraphic(this.locationLogoSrc, this.locationButtonIcon, this.locationButtonText))))),
|
|
85
82
|
(this.newsButtonSrc || this.newsButtonIcon) && (h("li", { class: "foot-icon-btn" }, h("dda-tooltip", { title_text: this.newsButtonText, description: "", position: "top" }, h("a", { href: this.newsButtonHref }, this.renderLinkGraphic(this.newsButtonSrc, this.newsButtonIcon, this.newsButtonText))))),
|
|
86
|
-
], this.dubaiaeIconSrc && this.dubaiaeIconSmallSrc && (h("li", { key: '
|
|
83
|
+
], this.dubaiaeIconSrc && this.dubaiaeIconSmallSrc && (h("li", { key: '8683037a1c3c5b02d2961bac4c3a92d8a44b6731', class: "foot-icon-btn" }, h("dda-tooltip", { key: '0c311281571ecd6cbc482a7f8624a3c6052c03f7', title_text: this.dubaiaeIconTooltip, description: "", position: "top" }, h("a", { key: 'f8161e6c9f7ed1ff29b99ee93ce6a2353a52ddf9', href: this.dubaiaeIconHref, id: this.dubaiaeIconId }, h("img", { key: 'eef6cff15c7309b1f1aa23b390a916893ec5ed31', class: "dubaiae-text-icon", src: this.img(this.dubaiaeIconSrc, this.dubaiaeIconSrcDark), alt: this.dubaiaeIconAlt }), h("img", { key: '0b9e70320b28dce78b79e6fc0a6a627d34b66948', class: "dubaiae-small-icon", src: this.dubaiaeIconSmallSrc, alt: this.dubaiaeIconAlt }))))), this.aiIconSrc && (h("li", { key: '2b6c9cb34fc48df8f1ed39320bd03f08ac82f3f8', class: "foot-icon-btn" }, h("dda-tooltip", { key: '08d05108d4234ab4c3c184eaaf3552ea7a2a733b', title_text: this.aiIconTooltip, description: "", position: "top" }, h("a", { key: 'e1258a67593fca3e63296b75f0695c15ea8ef10a', href: this.aiIconHref, id: this.aiIconId }, h("img", { key: '5b94918922d592a684535b0fedd3749d73e57c14', src: this.img(this.aiIconSrc, this.aiIconSrcDark), alt: this.aiIconAlt }))))), this.chatIconSrc && (h("li", { key: '9d7763c1f7520c60b2efbd5eaaf50676e7ac4eb6', class: "foot-icon-btn" }, h("dda-tooltip", { key: '2eec4cf4801bef0e213f8c7076424adcde7d5605', title_text: this.chatIconTooltip, description: "", position: "top" }, h("a", { key: 'd4b770c426e7c61cc29dda658f51ea84e64d54cf', href: this.chatIconHref, id: this.chatIconId }, h("img", { key: 'acb033966851117af485fab4fd9fb44fb6960c7d', src: this.img(this.chatIconSrc, this.chatIconSrcDark), alt: this.chatIconAlt })))))), this.moreIcon && (h("button", { key: '0096cb0859920d2db92a934d6a95e117923ee6e2', type: "button", class: "show-right-icon", "aria-label": this.more_button_label || 'More', "aria-expanded": this.rightOpen ? 'true' : 'false', "aria-controls": this.rightListId, onClick: () => (this.rightOpen = !this.rightOpen) }, h("i", { key: '6fb19f4799d2998d12668a940b6e52a2622d631a', class: this.moreIconFamily || 'material-icons', "data-icon": this.moreIcon, "aria-hidden": "true" })))))));
|
|
87
84
|
}
|
|
88
85
|
static get is() { return "dda-sticky-footer"; }
|
|
89
86
|
static get originalStyleUrls() {
|
|
@@ -44,7 +44,7 @@ export class DdaTabs {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
render() {
|
|
47
|
-
return (h(Host, { key: '30474ea86c4c1c8fff84f5c09606e1c8a5b88a84' }, h("div", { key: '47bee1548f4f93e7b09b7cb8f28e61d5ddf91f50', role: "group", "aria-label": this.aria_label, class: `dda-tabs-container ${this.hover_style} ${this.custom_class} ${this.component_mode}` }, this.parsedTabs.map((title, index) => (h("button", { id: this.button_id, name: this.button_name, type: "button", "aria-pressed": this.active_tab === index ? 'true' : 'false', class: `dda-tab-item ${this.active_tab === index ? 'active' : ''}`, onClick: () => this.setActiveTab(index) }, this.type === 'text-icon' && h("i", { class: `material-icons`, "
|
|
47
|
+
return (h(Host, { key: '30474ea86c4c1c8fff84f5c09606e1c8a5b88a84' }, h("div", { key: '47bee1548f4f93e7b09b7cb8f28e61d5ddf91f50', role: "group", "aria-label": this.aria_label, class: `dda-tabs-container ${this.hover_style} ${this.custom_class} ${this.component_mode}` }, this.parsedTabs.map((title, index) => (h("button", { id: this.button_id, name: this.button_name, type: "button", "aria-pressed": this.active_tab === index ? 'true' : 'false', class: `dda-tab-item ${this.active_tab === index ? 'active' : ''}`, onClick: () => this.setActiveTab(index) }, this.type === 'text-icon' && h("i", { class: `material-icons`, "data-icon": this.parsedIcons[index] || "", "aria-hidden": "true" }), h("span", null, title)))))));
|
|
48
48
|
}
|
|
49
49
|
static get is() { return "dda-tabs"; }
|
|
50
50
|
static get originalStyleUrls() {
|
|
@@ -158,7 +158,7 @@ export class DdaTextarea {
|
|
|
158
158
|
// as a child `.ql-editor`, which is what AT and Tab actually
|
|
159
159
|
// land on. The ARIA lives on quill.root (.ql-editor), applied
|
|
160
160
|
// imperatively in syncRichEditorA11y() after mount.
|
|
161
|
-
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: 'b71d5885604e71af4188d097727c875d7a69ef47', id: this.helperId, class: "dda-helper-text" }, h("span", { key: '497c95108fffd9e12adf08480e8877a9a3cf7ee9', class: "dda-flex dda-align-center dda-gap-2" }, h("i", { key: '
|
|
161
|
+
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: 'b71d5885604e71af4188d097727c875d7a69ef47', id: this.helperId, class: "dda-helper-text" }, h("span", { key: '497c95108fffd9e12adf08480e8877a9a3cf7ee9', class: "dda-flex dda-align-center dda-gap-2" }, h("i", { key: '5a5256b6f1c969af78303f0da1992094905bb004', class: "material-icons material-symbols-outlined", "data-icon": "info", "aria-hidden": "true" }), " ", this.helper_text), h("span", { key: 'a7835936670a117faf14a25406bf9db731ff7bac', class: "dda-letter-count" }, this.characterCount, " / ", this.max_characters))), this.error_message && (h("div", { key: 'e4367908c85d640d5fd53cde3f679fdcd76310b4', id: this.errorId, class: "dda-error-message" }, h("span", { key: '99b1bdab7ebeb1b901d7f0e9dc15bdc78fff6b08', class: "dda-flex dda-align-center dda-gap-2" }, h("i", { key: '96b4248c674a9458d2730d6c6a58d5bd856af74b', class: "material-icons material-symbols-outlined", "data-icon": "info", "aria-hidden": "true" }), " ", this.error_message), h("span", { key: '004f5506c5990946017b7b218223dead257c2fc9', class: "dda-letter-count" }, this.characterCount, " / ", this.max_characters))))));
|
|
162
162
|
}
|
|
163
163
|
static get is() { return "dda-textarea"; }
|
|
164
164
|
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: 'adf18a25d016f46bc87b4a1e31241ca162b333e0' }, h("div", { key: '0737db71a77843ea82b477a2f53cf86edf49d8e9', class: 'dda-card' }, h("div", { key: '798f2db5233a36522d7f84d89119cad74d11a006', class: 'dda-card-body' }, this.type !== 'custom' && (h("div", { key: '8c6793c79377b6e5eb0e0ab9bd18a2c1ca4f253a' }, !!this.icon && (h("span", { key: '4570999010919bbf9842e3cd6d3fc4f55dec8c82', class: 'dda-card-icon' }, h("i", { key: '
|
|
31
|
+
return (h(Host, { key: 'adf18a25d016f46bc87b4a1e31241ca162b333e0' }, h("div", { key: '0737db71a77843ea82b477a2f53cf86edf49d8e9', class: 'dda-card' }, h("div", { key: '798f2db5233a36522d7f84d89119cad74d11a006', class: 'dda-card-body' }, this.type !== 'custom' && (h("div", { key: '8c6793c79377b6e5eb0e0ab9bd18a2c1ca4f253a' }, !!this.icon && (h("span", { key: '4570999010919bbf9842e3cd6d3fc4f55dec8c82', class: 'dda-card-icon' }, h("i", { key: 'ade4f5236d49e7293640459ddf44451932a330cc', class: 'material-icons', "data-icon": this.icon, "aria-hidden": "true" }))), !!this.image && (h("span", { key: 'c80b5cb48244a963083ab0af3898683c0c4d6594', class: 'dda-card-icon' }, h("img", { key: '7769562f143f9218715f257ba8acf7e3ffe7a800', src: this.image, alt: this.maintitle }))), !!this.maintitle && h(HeadingTag, { key: 'a2f859019243156a1333e0aab1501d4e84ebe74a', class: 'dda-card-title' }, this.maintitle), !!this.subtitle && h("p", { key: 'ac2955d7afae34c97aceee9d32bd47719a98e8e6', class: 'dda-card-text-muted' }, this.subtitle), !!this.link && (h("a", { key: '04cdc437a125da70b36fa73caba5795031d3c458', href: this.link, class: 'dda-card-link', onClick: (event) => this.linkClick.emit(event) }, this.linktext, ' ', this.linkicon && (h("span", { key: '3a82a167f74e8c90daa3b698b800862886c8270e' }, h("i", { key: '5ebd1cbab2569ebe714e5909cd327d11d718ac28', class: 'material-icons', "data-icon": this.linkicon, "aria-hidden": "true" }))))))), h("slot", { key: 'f84ddf9b4c8cdb65d7b2b61d8c6742846252f39d' })))));
|
|
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.js
CHANGED
|
@@ -72,7 +72,7 @@ export class DdaSegmentedTabs {
|
|
|
72
72
|
return (h("div", { key: '182bb79c4e5cc855c33642c649185c2f7da80884', 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
|
-
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" }
|
|
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", "data-icon": item, "aria-hidden": "true" }))) : (h("button", { name: this.button_name, type: "button", class: className, "aria-pressed": isSelected ? 'true' : 'false', onClick: () => this.selectSegment(index) }, item));
|
|
76
76
|
})));
|
|
77
77
|
}
|
|
78
78
|
static get is() { return "dda-segmented-tabs"; }
|
|
@@ -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: '1d0b6cbc4fb3f11bc24adce00250b43a6a42374e' }, h("div", { key: '8fa15dad62552c04527e97e7b98e1450c61cf9e9', 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`, "aria-hidden": "true" }
|
|
27
|
+
return (h(Host, { key: '1d0b6cbc4fb3f11bc24adce00250b43a6a42374e' }, h("div", { key: '8fa15dad62552c04527e97e7b98e1450c61cf9e9', 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`, "data-icon": step.icon, "aria-hidden": "true" }))), 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", "data-icon": "chevron_right", "aria-hidden": "true" }))))))));
|
|
28
28
|
}
|
|
29
29
|
static get is() { return "dda-vertical-stepper"; }
|
|
30
30
|
static get originalStyleUrls() {
|
|
@@ -747,9 +747,9 @@
|
|
|
747
747
|
a fade on each edge with more cards, and a thin scrollbar show that the row scrolls. */
|
|
748
748
|
:is(.quick-links-wrap, .dda-home-quick-links-wrap),
|
|
749
749
|
.quick-links {
|
|
750
|
-
/* Room inside the row for the hover lift (12px above
|
|
751
|
-
a scrolling box clips anything outside it. */
|
|
752
|
-
--dda-quick-links-pad-top:
|
|
750
|
+
/* Room inside the row for the hover and focus lift (12px above, and the focus ring 4px more)
|
|
751
|
+
and the pointer (9px below); a scrolling box clips anything outside it. */
|
|
752
|
+
--dda-quick-links-pad-top: 16px;
|
|
753
753
|
--dda-quick-links-pad-bottom: 12px;
|
|
754
754
|
--dda-quick-links-fade: 32px;
|
|
755
755
|
}
|
|
@@ -878,7 +878,8 @@
|
|
|
878
878
|
:is(.quick-links-wrap, .dda-home-quick-links-wrap) .quick-links {
|
|
879
879
|
width: 100%;
|
|
880
880
|
box-sizing: border-box;
|
|
881
|
-
padding
|
|
881
|
+
/* Read by the row's padding, so dda-home-carousel's <ul> gets it too (see ul.quick-links). */
|
|
882
|
+
--dda-quick-links-pad-top: 20px;
|
|
882
883
|
scrollbar-color: var(--dda-on-surface-variant-40) transparent;
|
|
883
884
|
}
|
|
884
885
|
.quick-links .link-item {
|
|
@@ -966,7 +967,7 @@
|
|
|
966
967
|
bottom: calc(var(--dda-quick-links-gap-sm) - var(--dda-quick-links-pad-bottom) + var(--dda-sticky-footer-height, 0px));
|
|
967
968
|
}
|
|
968
969
|
:is(.quick-links-wrap, .dda-home-quick-links-wrap) .quick-links {
|
|
969
|
-
|
|
970
|
+
--dda-quick-links-pad-top: 16px;
|
|
970
971
|
scrollbar-color: rgba(255, 255, 255, 0.7) transparent;
|
|
971
972
|
}
|
|
972
973
|
.quick-links .link-item {
|
|
@@ -994,8 +995,13 @@
|
|
|
994
995
|
}
|
|
995
996
|
|
|
996
997
|
/* dda-home-carousel: its list is a .quick-links row; each <li> holds one dda-banner-card. */
|
|
998
|
+
/* global.css resets every <ul> to margin: 0 and padding: 0 with !important. On this row that removed
|
|
999
|
+
the top padding the hover lift rises into, so a raised card was cut off, and the auto margins
|
|
1000
|
+
that centre it, so the row ran 90vw from the container's start edge and out of the container. */
|
|
997
1001
|
ul.quick-links {
|
|
998
|
-
|
|
1002
|
+
width: min(90vw, 100%);
|
|
1003
|
+
margin: 0 auto !important;
|
|
1004
|
+
padding: var(--dda-quick-links-pad-top) 20px var(--dda-quick-links-pad-bottom) !important;
|
|
999
1005
|
list-style: none;
|
|
1000
1006
|
}
|
|
1001
1007
|
.quick-links > .dda-home-carousel-item {
|
|
@@ -1046,6 +1052,38 @@ button.link-item {
|
|
|
1046
1052
|
}
|
|
1047
1053
|
}
|
|
1048
1054
|
|
|
1055
|
+
/* Short screens (a laptop zoomed past about 115%, or a phone on its side): dda-home-banner grows
|
|
1056
|
+
with its text (home-banner.css), so the cards follow it in normal flow instead of sitting on it.
|
|
1057
|
+
They wrap instead of scrolling sideways, each at least 220px wide or the row's width, so at 400%
|
|
1058
|
+
zoom every card is in view at a readable size, one under another. */
|
|
1059
|
+
@media screen and (max-height: 700px) {
|
|
1060
|
+
:is(.quick-links-wrap, .dda-home-quick-links-wrap) {
|
|
1061
|
+
position: relative;
|
|
1062
|
+
bottom: auto;
|
|
1063
|
+
}
|
|
1064
|
+
:is(.quick-links-wrap, .dda-home-quick-links-wrap) .quick-links,
|
|
1065
|
+
.quick-links {
|
|
1066
|
+
flex-wrap: wrap;
|
|
1067
|
+
overflow: visible;
|
|
1068
|
+
scroll-snap-type: none;
|
|
1069
|
+
-webkit-mask-image: none;
|
|
1070
|
+
mask-image: none;
|
|
1071
|
+
animation: none;
|
|
1072
|
+
}
|
|
1073
|
+
.quick-links .link-item,
|
|
1074
|
+
.quick-links > .dda-home-carousel-item {
|
|
1075
|
+
flex: 1 1 min(220px, 100%);
|
|
1076
|
+
height: auto;
|
|
1077
|
+
margin-top: 0;
|
|
1078
|
+
border: solid 1px #ddd;
|
|
1079
|
+
}
|
|
1080
|
+
/* The hover and focus lift would push a card into the row above it. */
|
|
1081
|
+
.quick-links .link-item:hover,
|
|
1082
|
+
.quick-links .link-item:focus-visible {
|
|
1083
|
+
margin-top: 0;
|
|
1084
|
+
}
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1049
1087
|
.dda-card {
|
|
1050
1088
|
position: relative;
|
|
1051
1089
|
display: -ms-flexbox;
|
|
@@ -2473,6 +2511,90 @@ body {
|
|
|
2473
2511
|
}
|
|
2474
2512
|
}
|
|
2475
2513
|
|
|
2514
|
+
/* 992px and below the links are 48px round buttons in one row. Six of them with their spacing
|
|
2515
|
+
took about 424px, so on a 320-375px phone, or a laptop zoomed to 400% (WCAG 1.4.10), the last
|
|
2516
|
+
buttons ran off the screen. Here the spacing narrows with the screen and each button shrinks
|
|
2517
|
+
from 48px when the row does not fit, to no less than 32px, so up to eight fit at 320px. The
|
|
2518
|
+
right-hand links in the "more" menu keep their size. */
|
|
2519
|
+
@media (max-width: 992px) {
|
|
2520
|
+
.dda-footer {
|
|
2521
|
+
padding: 0 clamp(8px, 4vw, 20px);
|
|
2522
|
+
}
|
|
2523
|
+
.dda-footer-item,
|
|
2524
|
+
.dda-footer-item ul {
|
|
2525
|
+
min-width: 0;
|
|
2526
|
+
}
|
|
2527
|
+
:is(.dda-footer-item:not(.dda-footer-right), .dda-footer:not(.has-more-button) .dda-footer-right) li.foot-icon-btn {
|
|
2528
|
+
--dda-foot-btn-pad: clamp(2px, 1vw, 8px);
|
|
2529
|
+
flex: 0 1 calc(48px + 2 * var(--dda-foot-btn-pad));
|
|
2530
|
+
min-width: calc(32px + 2 * var(--dda-foot-btn-pad));
|
|
2531
|
+
padding: 0 var(--dda-foot-btn-pad);
|
|
2532
|
+
}
|
|
2533
|
+
:is(.dda-footer-item:not(.dda-footer-right), .dda-footer:not(.has-more-button) .dda-footer-right) li.foot-icon-btn :is(dda-tooltip, .dda-tooltip-container) {
|
|
2534
|
+
display: flex;
|
|
2535
|
+
width: 100%;
|
|
2536
|
+
}
|
|
2537
|
+
:is(.dda-footer-item:not(.dda-footer-right), .dda-footer:not(.has-more-button) .dda-footer-right) li.foot-icon-btn a {
|
|
2538
|
+
width: 48px;
|
|
2539
|
+
max-width: 100%;
|
|
2540
|
+
height: auto;
|
|
2541
|
+
aspect-ratio: 1;
|
|
2542
|
+
}
|
|
2543
|
+
:is(.dda-footer-item:not(.dda-footer-right), .dda-footer:not(.has-more-button) .dda-footer-right) li.foot-icon-btn a img {
|
|
2544
|
+
max-width: 70%;
|
|
2545
|
+
object-fit: contain;
|
|
2546
|
+
}
|
|
2547
|
+
}
|
|
2548
|
+
/* The short landscape bar above makes the buttons 35px. */
|
|
2549
|
+
@media only screen and (orientation: landscape) and (max-width: 768px) {
|
|
2550
|
+
:is(.dda-footer-item:not(.dda-footer-right), .dda-footer:not(.has-more-button) .dda-footer-right) li.foot-icon-btn {
|
|
2551
|
+
flex-basis: calc(35px + 2 * var(--dda-foot-btn-pad));
|
|
2552
|
+
}
|
|
2553
|
+
}
|
|
2554
|
+
|
|
2555
|
+
/* A tooltip is centred over its button and wider than it, so over the first and last buttons it
|
|
2556
|
+
ran past the screen edge (3-7px on desktop, about 20px on a phone). Those two line up with the
|
|
2557
|
+
button's outer edge instead, and their arrow moves near the button's centre: 16px in on desktop,
|
|
2558
|
+
24px on the round buttons. In the "more" menu every link sits at the end edge. */
|
|
2559
|
+
.dda-footer .footer-content > .dda-footer-item:first-child li.foot-icon-btn:first-child .dda-tooltip-box.top {
|
|
2560
|
+
left: auto;
|
|
2561
|
+
inset-inline-start: 0;
|
|
2562
|
+
transform: none;
|
|
2563
|
+
}
|
|
2564
|
+
.dda-footer .dda-footer-right li.foot-icon-btn:last-child .dda-tooltip-box.top {
|
|
2565
|
+
left: auto;
|
|
2566
|
+
inset-inline-end: 0;
|
|
2567
|
+
transform: none;
|
|
2568
|
+
}
|
|
2569
|
+
.dda-footer .footer-content > .dda-footer-item:first-child li.foot-icon-btn:first-child .dda-tooltip-box.top::before,
|
|
2570
|
+
.dda-footer .footer-content > .dda-footer-item:first-child li.foot-icon-btn:first-child .dda-tooltip-box.top::after {
|
|
2571
|
+
left: auto;
|
|
2572
|
+
margin-inline-start: 0;
|
|
2573
|
+
inset-inline-start: var(--dda-foot-tip-arrow, 6px);
|
|
2574
|
+
}
|
|
2575
|
+
.dda-footer .dda-footer-right li.foot-icon-btn:last-child .dda-tooltip-box.top::before,
|
|
2576
|
+
.dda-footer .dda-footer-right li.foot-icon-btn:last-child .dda-tooltip-box.top::after {
|
|
2577
|
+
left: auto;
|
|
2578
|
+
margin-inline-start: 0;
|
|
2579
|
+
inset-inline-end: var(--dda-foot-tip-arrow, 6px);
|
|
2580
|
+
}
|
|
2581
|
+
@media (max-width: 992px) {
|
|
2582
|
+
.dda-footer {
|
|
2583
|
+
--dda-foot-tip-arrow: 14px;
|
|
2584
|
+
}
|
|
2585
|
+
.dda-footer.has-more-button .dda-footer-right li.foot-icon-btn .dda-tooltip-box.top {
|
|
2586
|
+
left: auto;
|
|
2587
|
+
inset-inline-end: 0;
|
|
2588
|
+
transform: none;
|
|
2589
|
+
}
|
|
2590
|
+
.dda-footer.has-more-button .dda-footer-right li.foot-icon-btn .dda-tooltip-box.top::before,
|
|
2591
|
+
.dda-footer.has-more-button .dda-footer-right li.foot-icon-btn .dda-tooltip-box.top::after {
|
|
2592
|
+
left: auto;
|
|
2593
|
+
margin-inline-start: 0;
|
|
2594
|
+
inset-inline-end: var(--dda-foot-tip-arrow);
|
|
2595
|
+
}
|
|
2596
|
+
}
|
|
2597
|
+
|
|
2476
2598
|
.dda-dashboard-sidebar {
|
|
2477
2599
|
position: fixed;
|
|
2478
2600
|
top: 0;
|
|
@@ -4009,6 +4131,15 @@ button {
|
|
|
4009
4131
|
cursor: pointer;
|
|
4010
4132
|
}
|
|
4011
4133
|
|
|
4134
|
+
/* Icon-font ligatures draw from data-icon, not from text in the element: the icon name is then
|
|
4135
|
+
not text in the page, so an accessibility checker does not read "chevron_right" as a visible
|
|
4136
|
+
label that the button's accessible name must contain (WCAG 2.5.3). The icons are aria-hidden;
|
|
4137
|
+
the button's aria-label or text names it. Material classes only, so another icon font's own
|
|
4138
|
+
::before glyph is untouched. */
|
|
4139
|
+
:is(.material-icons, .material-icons-outlined, .material-icons-round, .material-icons-sharp, .material-icons-two-tone, .material-symbols-outlined, .material-symbols-rounded, .material-symbols-sharp)[data-icon]::before {
|
|
4140
|
+
content: attr(data-icon);
|
|
4141
|
+
}
|
|
4142
|
+
|
|
4012
4143
|
ul {
|
|
4013
4144
|
margin: 0 !important;
|
|
4014
4145
|
padding: 0 !important;
|