@dubai-design-system/components-js 5.1.1 → 5.2.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 +48 -0
- package/MIGRATION.md +76 -15
- package/dist/cjs/dda-accordion.cjs.entry.js +2 -2
- package/dist/cjs/dda-alert.cjs.entry.js +4 -4
- package/dist/cjs/dda-attach-file.cjs.entry.js +2 -2
- package/dist/cjs/dda-avatar.cjs.entry.js +3 -3
- package/dist/cjs/dda-banner.cjs.entry.js +2 -2
- package/dist/cjs/dda-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/dda-button.cjs.entry.js +2 -2
- package/dist/cjs/dda-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/dda-chip.cjs.entry.js +2 -2
- package/dist/cjs/dda-credit-card.cjs.entry.js +2 -2
- package/dist/cjs/dda-creditcard-field.cjs.entry.js +3 -3
- 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 +14 -12
- package/dist/cjs/dda-home-banner.cjs.entry.js +3 -3
- package/dist/cjs/dda-horizontal-stepper.cjs.entry.js +3 -3
- package/dist/cjs/dda-input.cjs.entry.js +2 -2
- package/dist/cjs/dda-link-button.cjs.entry.js +51 -0
- package/dist/cjs/dda-link-button_2.cjs.entry.js +3 -3
- package/dist/cjs/dda-number-field.cjs.entry.js +2 -2
- package/dist/cjs/dda-pagination.cjs.entry.js +3 -3
- package/dist/cjs/dda-phonefield.cjs.entry.js +2 -2
- package/dist/cjs/dda-progressbar.cjs.entry.js +2 -2
- package/dist/cjs/dda-radiobutton.cjs.entry.js +27 -0
- package/dist/cjs/dda-range-slider.cjs.entry.js +1 -1
- package/dist/cjs/dda-search-input.cjs.entry.js +2 -2
- package/dist/cjs/dda-segmented-tabs.cjs.entry.js +4 -4
- package/dist/cjs/dda-select.cjs.entry.js +5 -3
- package/dist/cjs/dda-sticky-footer.cjs.entry.js +14 -3
- package/dist/cjs/dda-tabs.cjs.entry.js +4 -4
- package/dist/cjs/dda-textarea.cjs.entry.js +16239 -1401
- package/dist/cjs/dda-toggle.cjs.entry.js +3 -3
- package/dist/cjs/dda-tooltip.cjs.entry.js +3 -3
- package/dist/cjs/dda-ui-card.cjs.entry.js +3 -3
- package/dist/cjs/dda-vertical-stepper.cjs.entry.js +2 -2
- package/dist/cjs/dda.cjs.js +30 -3
- package/dist/cjs/index-DXyiIgGK.js +4637 -0
- package/dist/cjs/{index-Bgd2iAET.js → index-Na_7EWDR.js} +1 -1
- package/dist/cjs/index.cjs.js +10 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/components/dda-alert/dda-alert.stories.js +27 -20
- package/dist/collection/components/dda-header/dda-header.js +26 -4
- package/dist/collection/components/dda-header/dda-header.stories.js +21 -0
- package/dist/collection/components/dda-home-banner/home-banner.css +12 -2
- package/dist/collection/components/dda-radiobutton/dda-radiobutton.css +130 -6
- package/dist/collection/components/dda-sticky-footer/dda-sticky-footer.js +16 -5
- package/dist/collection/components/dda-sticky-footer/dda-sticky-footer.stories.js +12 -1
- package/dist/collection/components/dda-tabs/dda-tabs.js +1 -1
- package/dist/collection/components/dda-textarea/dda-textarea.js +2 -2
- package/dist/collection/components/dda-toggle/dda-toggle.js +1 -1
- package/dist/collection/components/dda-tooltip/dda-tooltip.js +1 -1
- package/dist/collection/components/dda-ui-card/dda-ui-card.js +1 -1
- package/dist/collection/components/segmented-groups/dda-segmented-tabs/dda-segmented-tabs.js +1 -1
- package/dist/collection/components/stepper/dda-horizontal-stepper/dda-horizontal-stepper.js +1 -1
- package/dist/collection/components/stepper/dda-vertical-stepper/dda-vertical-stepper.js +1 -1
- package/dist/collection/global/global.css +130 -6
- package/dist/components/dda-accordion.js +59 -1
- package/dist/components/dda-alert.js +94 -1
- package/dist/components/dda-attach-file.js +138 -1
- package/dist/components/dda-avatar.js +107 -1
- package/dist/components/dda-banner.js +57 -1
- package/dist/components/dda-breadcrumb.js +66 -1
- package/dist/components/dda-button.js +6 -1
- package/dist/components/dda-button2.js +80 -0
- package/dist/components/dda-checkbox.js +59 -1
- package/dist/components/dda-chip.js +55 -1
- package/dist/components/dda-credit-card.js +54 -1
- package/dist/components/dda-creditcard-field.js +133 -1
- package/dist/components/dda-dropdown.js +113 -1
- package/dist/components/dda-footer.js +72 -1
- package/dist/components/dda-header.js +367 -1
- package/dist/components/dda-home-banner.js +249 -1
- package/dist/components/dda-horizontal-stepper.js +69 -1
- package/dist/components/dda-input.js +92 -1
- package/dist/components/dda-link-button.js +6 -1
- package/dist/components/dda-link-button2.js +81 -0
- package/dist/components/dda-number-field.js +127 -1
- package/dist/components/dda-pagination.js +133 -1
- package/dist/components/dda-phonefield.js +316 -1
- package/dist/components/dda-progressbar.js +58 -1
- package/dist/components/dda-radiobutton.js +6 -1
- package/dist/components/dda-radiobutton2.js +54 -0
- package/dist/components/dda-range-slider.js +93 -1
- package/dist/components/dda-search-input.js +102 -1
- package/dist/components/dda-segmented-tabs.js +133 -1
- package/dist/components/dda-select.js +219 -1
- package/dist/components/dda-sticky-footer.js +132 -1
- package/dist/components/dda-tabs.js +91 -1
- package/dist/components/dda-textarea.js +31277 -1
- package/dist/components/dda-toggle.js +55 -1
- package/dist/components/dda-tooltip.js +6 -1
- package/dist/components/dda-tooltip2.js +70 -0
- package/dist/components/dda-ui-card.js +71 -1
- package/dist/components/dda-vertical-stepper.js +72 -1
- package/dist/components/index.js +34 -1
- package/dist/components/index2.js +4622 -0
- package/dist/components/{p-DpwQ9sGp.js → p-C2Cs3ruo.js} +1 -1
- package/dist/components/{p-Bc2V1U4_.js → p-C520q-ka.js} +1 -1
- package/dist/components/p-CZO9Eawo.js +1 -0
- package/dist/components/{p-D-CHT-as.js → p-D7sJgBDk.js} +1 -1
- package/dist/components/p-_-I_65FG.js +1 -0
- package/dist/components/unique-id.js +12 -0
- package/dist/dda/dda-accordion.entry.js +31 -0
- package/dist/dda/dda-alert.entry.js +57 -0
- package/dist/dda/dda-attach-file.entry.js +102 -0
- package/dist/dda/dda-avatar.entry.js +70 -0
- package/dist/dda/dda-banner.entry.js +30 -0
- package/dist/dda/dda-breadcrumb.entry.js +40 -0
- package/dist/dda/dda-button.entry.js +47 -0
- package/dist/dda/dda-checkbox.entry.js +27 -0
- package/dist/dda/dda-chip.entry.js +25 -0
- package/dist/dda/dda-credit-card.entry.js +26 -0
- package/dist/dda/dda-creditcard-field.entry.js +94 -0
- package/dist/dda/dda-dropdown.entry.js +75 -0
- package/dist/dda/dda-footer.entry.js +34 -0
- package/dist/dda/dda-header.entry.js +282 -0
- package/dist/dda/dda-home-banner.entry.js +208 -0
- package/dist/dda/dda-horizontal-stepper.entry.js +39 -0
- package/dist/dda/dda-input.entry.js +56 -0
- package/dist/dda/dda-link-button.entry.js +49 -0
- package/dist/dda/dda-number-field.entry.js +86 -0
- package/dist/dda/dda-pagination.entry.js +86 -0
- package/dist/dda/dda-phonefield.entry.js +271 -0
- package/dist/dda/dda-progressbar.entry.js +30 -0
- package/dist/dda/dda-radiobutton.entry.js +25 -0
- package/dist/dda/dda-range-slider.entry.js +55 -0
- package/dist/dda/dda-search-input.entry.js +63 -0
- package/dist/dda/dda-segmented-tabs.entry.js +96 -0
- package/dist/dda/dda-select.entry.js +183 -0
- package/dist/dda/dda-sticky-footer.entry.js +61 -0
- package/dist/dda/dda-tabs.entry.js +59 -0
- package/dist/dda/dda-textarea.entry.js +31241 -0
- package/dist/dda/dda-toggle.entry.js +25 -0
- package/dist/dda/dda-tooltip.entry.js +46 -0
- package/dist/dda/dda-ui-card.entry.js +41 -0
- package/dist/dda/dda-vertical-stepper.entry.js +41 -0
- package/dist/dda/dda.css +6385 -46
- package/dist/dda/dda.esm.js +47 -1
- package/dist/dda/index-CFIwfRqf.js +4622 -0
- package/dist/dda/index.esm.js +29 -1
- package/dist/dda/{p-8b25ae94.entry.js → p-0574c9df.entry.js} +1 -1
- package/dist/dda/{p-8494fd9e.entry.js → p-0a86a74c.entry.js} +1 -1
- package/dist/dda/{p-1f7b8486.entry.js → p-16f94322.entry.js} +1 -1
- package/dist/dda/{p-7ad8cde9.entry.js → p-1acc0fda.entry.js} +1 -1
- package/dist/dda/{p-18a3d7b1.entry.js → p-2630152f.entry.js} +1 -1
- package/dist/dda/{p-3024288f.entry.js → p-271c5f91.entry.js} +1 -1
- package/dist/dda/{p-41b8ed7d.entry.js → p-32746429.entry.js} +1 -1
- package/dist/dda/{p-a5456de2.entry.js → p-3835f3b7.entry.js} +1 -1
- package/dist/dda/{p-ceca8088.entry.js → p-3d57e957.entry.js} +1 -1
- package/dist/dda/{p-04bcda8a.entry.js → p-489a3711.entry.js} +1 -1
- package/dist/dda/{p-f43fb910.entry.js → p-58de747b.entry.js} +1 -1
- package/dist/dda/p-63754a93.entry.js +1 -0
- package/dist/dda/p-87d647e7.entry.js +1 -0
- package/dist/dda/{p-8134e59d.entry.js → p-8de4f35e.entry.js} +1 -1
- package/dist/dda/{p-d6786b43.entry.js → p-9416d8ec.entry.js} +1 -1
- package/dist/dda/p-9541e108.entry.js +1 -0
- package/dist/dda/{p-88d884a8.entry.js → p-95b87c55.entry.js} +1 -1
- package/dist/dda/{p-fb4db977.entry.js → p-95e1a389.entry.js} +1 -1
- package/dist/dda/{p-92fa4777.entry.js → p-96741f45.entry.js} +1 -1
- package/dist/dda/{p-56f60336.entry.js → p-98c59aa8.entry.js} +1 -1
- package/dist/dda/{p-8f376986.entry.js → p-9c86dc30.entry.js} +1 -1
- package/dist/dda/p-CI_UcUy5.js +2 -0
- package/dist/dda/p-b6190656.entry.js +1 -0
- package/dist/dda/p-c0da1e14.entry.js +1 -0
- package/dist/dda/{p-ee862207.entry.js → p-c39d196d.entry.js} +1 -1
- package/dist/dda/p-c5ebf7df.entry.js +1 -0
- package/dist/dda/{p-65776d80.entry.js → p-d06c5daf.entry.js} +1 -1
- package/dist/dda/p-d8fd3f73.entry.js +1 -0
- package/dist/dda/{p-ad40eb27.entry.js → p-e660a594.entry.js} +1 -1
- package/dist/dda/{p-c055f0d2.entry.js → p-e8ca224f.entry.js} +1 -1
- package/dist/dda/p-ea1720d2.entry.js +1 -0
- package/dist/dda/{p-97431faf.entry.js → p-ee6d56fc.entry.js} +1 -1
- package/dist/dda/{p-ef38e28b.entry.js → p-eecfe091.entry.js} +1 -1
- package/dist/dda/{p-90019b80.entry.js → p-eed4a104.entry.js} +1 -1
- package/dist/dda/unique-id-B-I003EB.js +12 -0
- package/dist/esm/dda-accordion.entry.js +2 -2
- package/dist/esm/dda-alert.entry.js +4 -4
- package/dist/esm/dda-attach-file.entry.js +2 -2
- package/dist/esm/dda-avatar.entry.js +3 -3
- package/dist/esm/dda-banner.entry.js +2 -2
- package/dist/esm/dda-breadcrumb.entry.js +2 -2
- package/dist/esm/dda-button.entry.js +2 -2
- package/dist/esm/dda-checkbox.entry.js +2 -2
- package/dist/esm/dda-chip.entry.js +2 -2
- package/dist/esm/dda-credit-card.entry.js +2 -2
- package/dist/esm/dda-creditcard-field.entry.js +3 -3
- 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 +14 -12
- package/dist/esm/dda-home-banner.entry.js +3 -3
- package/dist/esm/dda-horizontal-stepper.entry.js +3 -3
- package/dist/esm/dda-input.entry.js +2 -2
- package/dist/esm/dda-link-button.entry.js +49 -0
- package/dist/esm/dda-link-button_2.entry.js +3 -3
- package/dist/esm/dda-number-field.entry.js +2 -2
- package/dist/esm/dda-pagination.entry.js +3 -3
- package/dist/esm/dda-phonefield.entry.js +2 -2
- package/dist/esm/dda-progressbar.entry.js +2 -2
- package/dist/esm/dda-radiobutton.entry.js +25 -0
- package/dist/esm/dda-range-slider.entry.js +1 -1
- package/dist/esm/dda-search-input.entry.js +2 -2
- package/dist/esm/dda-segmented-tabs.entry.js +4 -4
- package/dist/esm/dda-select.entry.js +5 -3
- package/dist/esm/dda-sticky-footer.entry.js +14 -3
- package/dist/esm/dda-tabs.entry.js +4 -4
- package/dist/esm/dda-textarea.entry.js +16239 -1401
- package/dist/esm/dda-toggle.entry.js +3 -3
- package/dist/esm/dda-tooltip.entry.js +3 -3
- package/dist/esm/dda-ui-card.entry.js +3 -3
- package/dist/esm/dda-vertical-stepper.entry.js +2 -2
- package/dist/esm/dda.js +31 -4
- package/dist/esm/index-CFIwfRqf.js +4622 -0
- package/dist/esm/{index-D6L6zgH9.js → index-CI_UcUy5.js} +1 -1
- package/dist/esm/index.js +10 -0
- package/dist/esm/loader.js +3 -3
- package/dist/types/components/dda-alert/dda-alert.stories.d.ts +5 -1
- package/dist/types/components/dda-header/dda-header.d.ts +4 -2
- package/dist/types/components/dda-header/dda-header.stories.d.ts +19 -0
- package/dist/types/components/dda-sticky-footer/dda-sticky-footer.d.ts +5 -4
- package/dist/types/components/dda-sticky-footer/dda-sticky-footer.stories.d.ts +13 -0
- package/dist/types/components.d.ts +23 -12
- package/package.json +2 -2
- package/dist/components/p-Bzqf-PpF.js +0 -1
- package/dist/components/p-DJw8qV7U.js +0 -1
- package/dist/dda/p-03400387.entry.js +0 -1
- package/dist/dda/p-73611084.entry.js +0 -1
- package/dist/dda/p-876d55b2.entry.js +0 -1
- package/dist/dda/p-D6L6zgH9.js +0 -2
- package/dist/dda/p-aa7b4c13.entry.js +0 -1
- package/dist/dda/p-c42c8733.entry.js +0 -1
- package/dist/dda/p-c77282be.entry.js +0 -1
- package/dist/dda/p-ca64abe6.entry.js +0 -1
- package/dist/dda/p-e2113e42.entry.js +0 -1
|
@@ -711,24 +711,97 @@
|
|
|
711
711
|
padding: 50px 20px 70px 20px;
|
|
712
712
|
}
|
|
713
713
|
|
|
714
|
+
/* Small screens: the cards sit on the banner this far above the sticky footer bar, at this height.
|
|
715
|
+
dda-home-banner's .slider-nav reads the same two values to stay 16px above the cards. */
|
|
716
|
+
:root {
|
|
717
|
+
--dda-quick-links-gap-sm: 12px;
|
|
718
|
+
--dda-quick-links-card-height-sm: 112px;
|
|
719
|
+
}
|
|
720
|
+
|
|
714
721
|
.quick-links-wrap {
|
|
715
722
|
width: 100%;
|
|
716
723
|
position: absolute;
|
|
717
|
-
/* dda-sticky-footer sets --dda-sticky-footer-height; the cards sit above the fixed bar.
|
|
718
|
-
|
|
724
|
+
/* dda-sticky-footer sets --dda-sticky-footer-height; the cards sit above the fixed bar.
|
|
725
|
+
The row's bottom padding (below) is part of the 69px. The banner's .slider-nav sits 205px
|
|
726
|
+
above this offset (274px in home-banner.css); change both together. */
|
|
727
|
+
bottom: calc(69px - var(--dda-quick-links-pad-bottom) + var(--dda-sticky-footer-height, 0px));
|
|
719
728
|
z-index: 1;
|
|
720
729
|
}
|
|
721
730
|
|
|
731
|
+
/* The width of the fade on each edge that has more cards to scroll to. */
|
|
732
|
+
@property --dda-quick-links-fade-start {
|
|
733
|
+
syntax: '<length>';
|
|
734
|
+
inherits: false;
|
|
735
|
+
initial-value: 0px;
|
|
736
|
+
}
|
|
737
|
+
@property --dda-quick-links-fade-end {
|
|
738
|
+
syntax: '<length>';
|
|
739
|
+
inherits: false;
|
|
740
|
+
initial-value: 0px;
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
/* One row of cards. When the cards do not fit, the row scrolls sideways. A card cut at the edge,
|
|
744
|
+
a fade on each edge with more cards, and a thin scrollbar show that the row scrolls. */
|
|
745
|
+
.quick-links-wrap,
|
|
746
|
+
.quick-links {
|
|
747
|
+
/* Room inside the row for the hover lift (12px above) and the pointer (9px below);
|
|
748
|
+
a scrolling box clips anything outside it. */
|
|
749
|
+
--dda-quick-links-pad-top: 12px;
|
|
750
|
+
--dda-quick-links-pad-bottom: 12px;
|
|
751
|
+
--dda-quick-links-fade: 32px;
|
|
752
|
+
}
|
|
722
753
|
.quick-links {
|
|
723
754
|
width: 90vw;
|
|
724
755
|
margin: 0 auto;
|
|
725
756
|
display: flex;
|
|
726
757
|
gap: 8px;
|
|
727
|
-
padding:
|
|
758
|
+
padding: var(--dda-quick-links-pad-top) 20px var(--dda-quick-links-pad-bottom);
|
|
759
|
+
overflow-x: auto;
|
|
760
|
+
overflow-y: hidden;
|
|
761
|
+
overscroll-behavior-x: contain;
|
|
762
|
+
scroll-snap-type: x mandatory;
|
|
763
|
+
/* A card that snaps or takes focus stops clear of the fade. */
|
|
764
|
+
scroll-padding-inline: calc(var(--dda-quick-links-fade) + 4px);
|
|
765
|
+
scrollbar-width: thin;
|
|
766
|
+
scrollbar-color: rgba(255, 255, 255, 0.7) transparent;
|
|
767
|
+
}
|
|
768
|
+
|
|
769
|
+
/* Fades show only where the row can scroll, and follow the scroll position. Browsers without
|
|
770
|
+
scroll-driven animations show no fade; the cut card and the scrollbar still show. */
|
|
771
|
+
@supports (animation-timeline: scroll()) {
|
|
772
|
+
.quick-links {
|
|
773
|
+
-webkit-mask-image: linear-gradient(to right, transparent, #000 var(--dda-quick-links-fade-start), #000 calc(100% - var(--dda-quick-links-fade-end)), transparent);
|
|
774
|
+
mask-image: linear-gradient(to right, transparent, #000 var(--dda-quick-links-fade-start), #000 calc(100% - var(--dda-quick-links-fade-end)), transparent);
|
|
775
|
+
animation: dda-quick-links-fade linear both;
|
|
776
|
+
animation-timeline: scroll(self inline);
|
|
777
|
+
}
|
|
778
|
+
/* In RTL the row starts on the right. */
|
|
779
|
+
[dir='rtl'] .quick-links {
|
|
780
|
+
-webkit-mask-image: linear-gradient(to left, transparent, #000 var(--dda-quick-links-fade-start), #000 calc(100% - var(--dda-quick-links-fade-end)), transparent);
|
|
781
|
+
mask-image: linear-gradient(to left, transparent, #000 var(--dda-quick-links-fade-start), #000 calc(100% - var(--dda-quick-links-fade-end)), transparent);
|
|
782
|
+
}
|
|
783
|
+
}
|
|
784
|
+
@keyframes dda-quick-links-fade {
|
|
785
|
+
0% {
|
|
786
|
+
--dda-quick-links-fade-start: 0px;
|
|
787
|
+
--dda-quick-links-fade-end: var(--dda-quick-links-fade);
|
|
788
|
+
}
|
|
789
|
+
10%,
|
|
790
|
+
90% {
|
|
791
|
+
--dda-quick-links-fade-start: var(--dda-quick-links-fade);
|
|
792
|
+
--dda-quick-links-fade-end: var(--dda-quick-links-fade);
|
|
793
|
+
}
|
|
794
|
+
100% {
|
|
795
|
+
--dda-quick-links-fade-start: var(--dda-quick-links-fade);
|
|
796
|
+
--dda-quick-links-fade-end: 0px;
|
|
797
|
+
}
|
|
728
798
|
}
|
|
729
799
|
|
|
730
800
|
.quick-links .link-item {
|
|
731
|
-
|
|
801
|
+
/* Cards share the row when they fit and are never narrower than 220px. */
|
|
802
|
+
flex: 1 0 220px;
|
|
803
|
+
min-width: 0;
|
|
804
|
+
scroll-snap-align: start;
|
|
732
805
|
height: 170px;
|
|
733
806
|
display: block;
|
|
734
807
|
background: var(--dda-surface-100);
|
|
@@ -797,11 +870,16 @@
|
|
|
797
870
|
/* In normal flow the cards do not sit over the fixed bar, so keep the original offset. */
|
|
798
871
|
bottom: 45px;
|
|
799
872
|
}
|
|
873
|
+
/* Below the banner, on the page background: the row spans the screen, and each card is
|
|
874
|
+
narrower than the row so the next card shows at the edge. */
|
|
800
875
|
.quick-links-wrap .quick-links {
|
|
801
|
-
|
|
802
|
-
|
|
876
|
+
width: 100%;
|
|
877
|
+
box-sizing: border-box;
|
|
878
|
+
padding: 20px 20px var(--dda-quick-links-pad-bottom);
|
|
879
|
+
scrollbar-color: var(--dda-on-surface-variant-40) transparent;
|
|
803
880
|
}
|
|
804
881
|
.quick-links .link-item {
|
|
882
|
+
flex: 0 0 min(75%, 300px);
|
|
805
883
|
height: auto;
|
|
806
884
|
margin: 0px;
|
|
807
885
|
border: solid 1px #ddd;
|
|
@@ -874,6 +952,44 @@
|
|
|
874
952
|
max-width: 90vw !important;
|
|
875
953
|
}
|
|
876
954
|
|
|
955
|
+
/* 992px and below, on screens taller than 600px: the cards sit on the banner, above the sticky
|
|
956
|
+
footer bar, as on desktop. They are compact so they cover less of the slide, and the slide
|
|
957
|
+
controls move above them (home-banner.css). On short landscape screens the banner cannot hold
|
|
958
|
+
the text, the controls and the cards, so the cards stay under it (the rules above). */
|
|
959
|
+
@media screen and (max-width: 992px) and (min-height: 601px) {
|
|
960
|
+
.quick-links-wrap {
|
|
961
|
+
position: absolute;
|
|
962
|
+
/* The row's bottom padding is part of the gap above the bar. */
|
|
963
|
+
bottom: calc(var(--dda-quick-links-gap-sm) - var(--dda-quick-links-pad-bottom) + var(--dda-sticky-footer-height, 0px));
|
|
964
|
+
}
|
|
965
|
+
.quick-links-wrap .quick-links {
|
|
966
|
+
padding-top: var(--dda-quick-links-pad-top);
|
|
967
|
+
scrollbar-color: rgba(255, 255, 255, 0.7) transparent;
|
|
968
|
+
}
|
|
969
|
+
.quick-links .link-item {
|
|
970
|
+
height: var(--dda-quick-links-card-height-sm);
|
|
971
|
+
padding: 16px;
|
|
972
|
+
border: 0;
|
|
973
|
+
}
|
|
974
|
+
.quick-links .link-item i {
|
|
975
|
+
font-size: 24px;
|
|
976
|
+
margin-bottom: 8px;
|
|
977
|
+
}
|
|
978
|
+
.quick-links .link-item svg {
|
|
979
|
+
height: 24px;
|
|
980
|
+
margin-bottom: 8px;
|
|
981
|
+
}
|
|
982
|
+
.quick-links .link-item .title {
|
|
983
|
+
font-size: var(--dda-fs-body-lg);
|
|
984
|
+
}
|
|
985
|
+
.quick-links .link-item .subtitle {
|
|
986
|
+
font-size: var(--dda-fs-body-sm);
|
|
987
|
+
white-space: nowrap;
|
|
988
|
+
overflow: hidden;
|
|
989
|
+
text-overflow: ellipsis;
|
|
990
|
+
}
|
|
991
|
+
}
|
|
992
|
+
|
|
877
993
|
.dda-card {
|
|
878
994
|
position: relative;
|
|
879
995
|
display: -ms-flexbox;
|
|
@@ -2136,6 +2252,10 @@ body {
|
|
|
2136
2252
|
.foot-icon-btn a img {
|
|
2137
2253
|
height: 32px;
|
|
2138
2254
|
}
|
|
2255
|
+
|
|
2256
|
+
.foot-icon-btn a i {
|
|
2257
|
+
font-size: 32px;
|
|
2258
|
+
}
|
|
2139
2259
|
.dda-footer-item ul li.foot-menu{
|
|
2140
2260
|
padding: 0 5px;
|
|
2141
2261
|
}
|
|
@@ -2212,6 +2332,10 @@ body {
|
|
|
2212
2332
|
.foot-icon-btn a img {
|
|
2213
2333
|
height: 24px;
|
|
2214
2334
|
}
|
|
2335
|
+
|
|
2336
|
+
.foot-icon-btn a i {
|
|
2337
|
+
font-size: 24px;
|
|
2338
|
+
}
|
|
2215
2339
|
}
|
|
2216
2340
|
|
|
2217
2341
|
@media (max-width: 1200px) {}
|
|
@@ -27,6 +27,17 @@ export class DdaStickyFooter {
|
|
|
27
27
|
this.resizeObserver = null;
|
|
28
28
|
document.documentElement.style.removeProperty('--dda-sticky-footer-height');
|
|
29
29
|
}
|
|
30
|
+
// An image wins when both are set, so pages that set both keep their current look.
|
|
31
|
+
// A Material icon is decorative; the visually hidden text names the link.
|
|
32
|
+
renderLinkGraphic(src, icon, text) {
|
|
33
|
+
if (src || !icon) {
|
|
34
|
+
return h("img", { src: src, alt: text });
|
|
35
|
+
}
|
|
36
|
+
return [
|
|
37
|
+
h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, icon),
|
|
38
|
+
h("span", { class: "visually-hidden" }, text),
|
|
39
|
+
];
|
|
40
|
+
}
|
|
30
41
|
handleScroll() {
|
|
31
42
|
const currentScrollY = window.scrollY;
|
|
32
43
|
this.isHidden = currentScrollY > this.lastScrollY;
|
|
@@ -35,7 +46,7 @@ export class DdaStickyFooter {
|
|
|
35
46
|
render() {
|
|
36
47
|
return (
|
|
37
48
|
// An <aside>, not a <footer>: the page footer (dda-footer) is the only contentinfo landmark.
|
|
38
|
-
h("aside", { key: '
|
|
49
|
+
h("aside", { key: '00ce26f6e8b730f0e420aab0a2a1720fcd94b733', class: { 'dda-footer': true, 'hidden': this.isHidden }, "aria-label": this.aria_label, "aria-hidden": this.isHidden ? 'true' : 'false', inert: this.isHidden }, h("div", { key: '07119c454ae696291d76afa97b4b59f2df423a01', class: "footer-content" }, h("div", { key: '35924650b1eb37ac3c47118f316be49e9429da73', class: "dda-footer-item dda-footer-left" }, h("ul", { key: '6b3fd478402ff939eac034bfe8c2f0acc3a8be5b' }, h("li", { key: '4e7729bb6458b31af7af0eb2552964dba639091b', class: "foot-icon-btn" }, h("dda-tooltip", { key: 'cf4829d16ea19b13b6d658ef257f0fb525d8db30', title_text: this.happinessIconTooltip, description: "", position: "top" }, h("a", { key: '1fe23758b0c494d38667c716d13cd4e445705e65', href: this.happinessIconHref }, h("img", { key: '0cee47565071942c2a522c49e315c63f9019091a', src: this.happinessIconSrc, alt: this.happinessIconAlt })))), h("li", { key: '473cd525bb10eb696790b1f1da97910c0f238b52', class: "foot-icon-btn" }, h("dda-tooltip", { key: 'e4af8610afa278390f1b353c53a11d76f8960cd2', title_text: this.accessibilityIconTooltip, description: "", position: "top" }, h("a", { key: 'df65a784e936c03a3d7a97e0a1f42d7c702bf8c4', href: this.accessibilityIconHref }, h("img", { key: '2420fef29b01607c95337ba17fbc571f32380dc3', src: this.accessibilityIconSrc, alt: this.accessibilityIconAlt })))), h("li", { key: '875bf4dcc2fa35a4c43274e585368516a1f0c419', class: "foot-icon-btn" }, h("dda-tooltip", { key: '960e9e83b45ec1ca97ed5e3cf2bf0e4c64404f6c', title_text: this.servicesIconTooltip, description: "", position: "top" }, h("a", { key: '8989d62bdeb6ad5275ac8b83eb8d3365c49c7c8d', href: this.servicesIconHref }, h("img", { key: '64f1bfddc75b364889fcccfaa920f6554de854ac', src: this.servicesIconSrc, alt: this.servicesIconText ? '' : this.servicesIconAlt }), this.servicesIconText && h("span", { key: 'fcbb3557e2611a607ecc9d689a7185826e8a1536' }, this.servicesIconText)))))), this.hideMiddleSection == false && (h("div", { key: 'e2943640b40aba3efa7994da339c001c208e255e', class: "dda-footer-item dda-footer-middle" }, h("ul", { key: 'df1cf3eeb987812cf6256db4d43b7a4806aa743d', class: "foot-logo" }, h("li", { key: 'fa5a60952a04194b6097d0d65b6528360497ebe0' }, h("dda-tooltip", { key: '2e2c3565b9cd52682d5e93d8f50eba6fed02206b', title_text: this.firstLogoTooltip, description: "", position: "top" }, h("a", { key: 'e8bbd7842372bf1d9ea2c3a226e7097ad0e3afe7', href: this.firstLogoHref }, h("img", { key: 'c80985d96e2cb296b7a1c3a8eb72da5d5aaaeb16', src: this.firstLogoSrc, alt: this.firstLogoAlt })))), h("li", { key: 'f7042bd13a2da6f3a2f7725adebd3a8dfc7cb02c' }, h("dda-tooltip", { key: '7f500304b12bff7ad406eeb55181d902ef778e04', title_text: this.secondLogoTooltip, description: "", position: "top" }, h("a", { key: '7c4139a8a3cef3a8992d774103ed6d9843227a04', href: this.secondLogoHref }, h("img", { key: 'fed6b5271a0361d09389b7eea46aaa282a92bd6d', src: this.secondLogoSrc, alt: this.secondLogoAlt })))), h("li", { key: 'd94e97c4317e8720f36bea823388182f2abf8e79' }, h("dda-tooltip", { key: '37772845af7fb85d10f4b973fb89d4bc9a310d55', title_text: this.thirdLogoTooltip, description: "", position: "top" }, h("a", { key: 'd49a6c608cd0280909824142bf4f3c65ca53888a', href: this.thirdLogoHref }, h("img", { key: '334a184a61e0962bdfdc2ebbcb0955a50fcf496f', src: this.thirdLogoSrc, alt: this.thirdLogoAlt }))))))), h("div", { key: 'cf17c11f5b494003dddffc9b4d7a6ba13c1757c6', class: "dda-footer-item dda-footer-right" }, h("ul", { key: '96a7fdcab29367a7b26fa03bbac36b03c61d168f' }, h("li", { key: 'e3167fa25515c3127710b621053b31d12cd76359', class: "foot-icon-btn" }, h("dda-tooltip", { key: '87c90369dbc48510aaaedb8486dd445876f1e093', title_text: this.locationButtonText, description: "", position: "top" }, h("a", { key: '0252c18219bd05b4c892277a71cd00db23b84a31', href: this.locationButtonHref }, this.renderLinkGraphic(this.locationLogoSrc, this.locationButtonIcon, this.locationButtonText)))), h("li", { key: 'bff9d7b611382015d640fdd1e04a3a7e81111c3a', class: "foot-icon-btn" }, h("dda-tooltip", { key: '5643009f571ff58459fb29745531f0dc3c6a58fb', title_text: this.newsButtonText, description: "", position: "top" }, h("a", { key: '17c34d76970d9ac60c0072f37afbcad0bf72c875', href: this.newsButtonHref }, this.renderLinkGraphic(this.newsButtonSrc, this.newsButtonIcon, this.newsButtonText)))), h("li", { key: '861299a89994f344afa277f6b0857ab37ae2b187', class: "foot-icon-btn" }, h("dda-tooltip", { key: '0432ac8517824db42254f3620f9b1f6a602b8d12', title_text: this.aiIconTooltip, description: "", position: "top" }, h("a", { key: 'ccb2edccc8070848fb0fe6609f21c2e2a10dbaba', href: this.aiIconHref }, h("img", { key: '76cb10b57d1a7fe9874c48ed2a3ba70694b548f1', src: this.aiIconSrc, alt: this.aiIconAlt })))), h("li", { key: '44095b5fc6402f101b2b89e4737d0c0ff96da9c3', class: "foot-icon-btn" }, h("dda-tooltip", { key: 'd6e55bc78f2bcdb364e854c15c8e019190fa1da1', title_text: this.chatIconTooltip, description: "", position: "top" }, h("a", { key: '4e683ae48ffa83c4232a48bb08ee99948e606303', href: this.chatIconHref }, h("img", { key: '4d3b25afbdd7ff43ba5b17d3a6624552294986db', src: this.chatIconSrc, alt: this.chatIconAlt })))))))));
|
|
39
50
|
}
|
|
40
51
|
static get is() { return "dda-sticky-footer"; }
|
|
41
52
|
static get originalStyleUrls() {
|
|
@@ -556,7 +567,7 @@ export class DdaStickyFooter {
|
|
|
556
567
|
"optional": false,
|
|
557
568
|
"docs": {
|
|
558
569
|
"tags": [],
|
|
559
|
-
"text": "Image URL of the location icon."
|
|
570
|
+
"text": "Image URL of the location icon. Takes precedence over `locationButtonIcon`."
|
|
560
571
|
},
|
|
561
572
|
"getter": false,
|
|
562
573
|
"setter": false,
|
|
@@ -594,7 +605,7 @@ export class DdaStickyFooter {
|
|
|
594
605
|
"optional": false,
|
|
595
606
|
"docs": {
|
|
596
607
|
"tags": [],
|
|
597
|
-
"text": "
|
|
608
|
+
"text": "Material Symbols icon name of the location link, shown when `locationLogoSrc` is not set."
|
|
598
609
|
},
|
|
599
610
|
"getter": false,
|
|
600
611
|
"setter": false,
|
|
@@ -632,7 +643,7 @@ export class DdaStickyFooter {
|
|
|
632
643
|
"optional": false,
|
|
633
644
|
"docs": {
|
|
634
645
|
"tags": [],
|
|
635
|
-
"text": "Image URL of the news icon."
|
|
646
|
+
"text": "Image URL of the news icon. Takes precedence over `newsButtonIcon`."
|
|
636
647
|
},
|
|
637
648
|
"getter": false,
|
|
638
649
|
"setter": false,
|
|
@@ -670,7 +681,7 @@ export class DdaStickyFooter {
|
|
|
670
681
|
"optional": false,
|
|
671
682
|
"docs": {
|
|
672
683
|
"tags": [],
|
|
673
|
-
"text": "
|
|
684
|
+
"text": "Material Symbols icon name of the news link, shown when `newsButtonSrc` is not set."
|
|
674
685
|
},
|
|
675
686
|
"getter": false,
|
|
676
687
|
"setter": false,
|
|
@@ -13,6 +13,14 @@ export default {
|
|
|
13
13
|
hideMiddleSection: {
|
|
14
14
|
control: { type: 'boolean' },
|
|
15
15
|
description: 'Hides the middle section of the footer',
|
|
16
|
+
},
|
|
17
|
+
locationButtonIcon: {
|
|
18
|
+
control: { type: 'text' },
|
|
19
|
+
description: 'Material Symbols icon of the location link, shown when the location image is empty',
|
|
20
|
+
},
|
|
21
|
+
newsButtonIcon: {
|
|
22
|
+
control: { type: 'text' },
|
|
23
|
+
description: 'Material Symbols icon of the news link, shown when the news image is empty',
|
|
16
24
|
}
|
|
17
25
|
},
|
|
18
26
|
component: 'dda-sticky-footer',
|
|
@@ -114,7 +122,7 @@ Default.args = {
|
|
|
114
122
|
newsButtonHref: '#',
|
|
115
123
|
newsButtonText: 'News',
|
|
116
124
|
newsButtonSrc: news_pin,
|
|
117
|
-
newsButtonIcon: '
|
|
125
|
+
newsButtonIcon: 'newspaper',
|
|
118
126
|
aiIconHref: '#',
|
|
119
127
|
aiIconSrc: digital_ai,
|
|
120
128
|
aiIconAlt: 'Digital AI',
|
|
@@ -125,3 +133,6 @@ Default.args = {
|
|
|
125
133
|
chatIconTooltip: 'Online Chat',
|
|
126
134
|
hideMiddleSection: false,
|
|
127
135
|
};
|
|
136
|
+
// The location and news links show a Material Symbols icon when their image is not set.
|
|
137
|
+
export const MaterialIcons = Template.bind({});
|
|
138
|
+
MaterialIcons.args = Object.assign(Object.assign({}, Default.args), { locationButtonSrc: '', locationButtonIcon: 'location_on', newsButtonSrc: '', newsButtonIcon: 'newspaper' });
|
|
@@ -44,7 +44,7 @@ export class DdaTabs {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
render() {
|
|
47
|
-
return (h(Host, { key: '
|
|
47
|
+
return (h(Host, { key: '6cd2019b8b9c2b7fdb565241cc46bb5bcff01c09' }, h("div", { key: '2e12543d2c20521f1731c883280b266289813054', 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`, "aria-hidden": "true" }, this.parsedIcons[index] || ""), h("span", null, title)))))));
|
|
48
48
|
}
|
|
49
49
|
static get is() { return "dda-tabs"; }
|
|
50
50
|
static get originalStyleUrls() {
|
|
@@ -119,7 +119,7 @@ export class DdaTextarea {
|
|
|
119
119
|
this.custom_class, this.component_mode, this.textarea_name,
|
|
120
120
|
].filter(Boolean).join(' ');
|
|
121
121
|
const id = this.inputId;
|
|
122
|
-
return (h(Host, { key: '
|
|
122
|
+
return (h(Host, { key: 'fbd0f779e531d6274898e847e23c888869d374b4' }, h("div", { key: '98e2a14d0d1bbbfd5e548513e57bfd629e9aba6d', class: textareaClass }, this.label && h("label", { key: '9036385745c7aac2d306ddbbabc347846d9fed0a', id: this.labelId, htmlFor: this.enable_rich_editor ? undefined : id, class: "dda-input-label" }, this.label), this.enable_rich_editor ? (
|
|
123
123
|
// F-015: previously a bare `<div id="editor">` — the visible
|
|
124
124
|
// label's `for` cannot target a non-labelable <div>, and even
|
|
125
125
|
// aria-labelledby here would be wrong: Quill turns this
|
|
@@ -127,7 +127,7 @@ export class DdaTextarea {
|
|
|
127
127
|
// as a child `.ql-editor`, which is what AT and Tab actually
|
|
128
128
|
// land on. The ARIA lives on quill.root (.ql-editor), applied
|
|
129
129
|
// imperatively in syncRichEditorA11y() after mount.
|
|
130
|
-
h("div", { id: id, class: "dda-richeditor-field" })) : (h("textarea", { id: id, name: this.textarea_name, "aria-label": this.aria_label, placeholder: this.placeholder, value: this.value, onInput: (event) => this.handleInput(event), class: "dda-input-field dda-input-textarea", maxLength: this.max_characters, "aria-describedby": this.describedBy, "aria-invalid": this.error_message ? 'true' : undefined })), this.helper_text && (h("div", { key: '
|
|
130
|
+
h("div", { id: id, class: "dda-richeditor-field" })) : (h("textarea", { id: id, name: this.textarea_name, "aria-label": this.aria_label, placeholder: this.placeholder, value: this.value, onInput: (event) => this.handleInput(event), class: "dda-input-field dda-input-textarea", maxLength: this.max_characters, "aria-describedby": this.describedBy, "aria-invalid": this.error_message ? 'true' : undefined })), this.helper_text && (h("div", { key: '9eff76cb597be11db41f24acec2ba795bbaba07b', id: this.helperId, class: "dda-helper-text" }, h("span", { key: '968496c3e66d1587cd2893ea63b64dccf21731fc', class: "dda-flex dda-align-center dda-gap-2" }, h("i", { key: '6736864e6729e787f8de71fe12fec6a1a0bcb416', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "info"), " ", this.helper_text), h("span", { key: '44abdcccf9cd7bef214584a46476994d67a5dbe1', class: "dda-letter-count" }, this.characterCount, " / ", this.max_characters))), this.error_message && (h("div", { key: '76fa5f80421859c4539869c507d6af32a2466e23', id: this.errorId, class: "dda-error-message" }, h("span", { key: '89294947ebb7e2b06e9488a7b86f3fa86baac809', class: "dda-flex dda-align-center dda-gap-2" }, h("i", { key: '09a8960b8b08e84222ab35e79e45b4db662201d4', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "info"), " ", this.error_message), h("span", { key: '7e08b00e8620f1892c1c5481f8c9e50a9f342e5d', class: "dda-letter-count" }, this.characterCount, " / ", this.max_characters))))));
|
|
131
131
|
}
|
|
132
132
|
static get is() { return "dda-textarea"; }
|
|
133
133
|
static get originalStyleUrls() {
|
|
@@ -11,7 +11,7 @@ export class DdaToggle {
|
|
|
11
11
|
this.custom_class ? `${this.custom_class}` : '',
|
|
12
12
|
this.component_mode,
|
|
13
13
|
].filter(Boolean).join(' ');
|
|
14
|
-
return (h(Host, { key: '
|
|
14
|
+
return (h(Host, { key: 'e25bac987e66556b003d3b670af9b576d3731c65' }, h("label", { key: '2262c2a410e4758bb34eb2666e416e8286302769', class: toggleClass, htmlFor: this.input_id }, h("input", { key: 'ca009a89a6405dcd9f30dac79791c9a124ef8c69', "aria-label": this.aria_label, type: "checkbox", id: this.input_id, name: this.group_name, checked: this.checked }), h("span", { key: '1401b3e6730beff1ac6fbe4e3854755b21abdc5d', class: "toggle" }), (this.title_text || this.supporting) && (h("p", { key: '88a13db082dc429d130f732f7ebe3ecc867f2686' }, this.title_text && h("span", { key: 'ec018b2656d9e2ff697a0d6e88b7901940830216', class: "toggle-title" }, this.title_text), this.supporting && h("span", { key: '64372b8ae3369b1d844d7681bcefbad9a876f069', class: "toggle-supporting" }, this.supporting))))));
|
|
15
15
|
}
|
|
16
16
|
static get is() { return "dda-toggle"; }
|
|
17
17
|
static get originalStyleUrls() {
|
|
@@ -31,7 +31,7 @@ export class DdaTooltip {
|
|
|
31
31
|
this.el.removeEventListener('mouseleave', this.resetDismissed);
|
|
32
32
|
}
|
|
33
33
|
render() {
|
|
34
|
-
return (h(Host, { key: '
|
|
34
|
+
return (h(Host, { key: '1a5eab371fff341d3398db57a3c5a283ad0edf50' }, h("div", { key: '0c72ac7e72eda7bc713b1e7b4ab58d93fef09b80', class: `dda-tooltip-container ${this.custom_class} ${this.component_mode} ${this.dismissed ? 'dismissed' : ''}` }, h("slot", { key: '91aa439ca4f29eb57af61620b1b99008d8799bea' }), h("div", { key: '7c2c180466082d69591138adbd6f80ef015f1265', class: `dda-tooltip-box ${this.position}` }, h("strong", { key: '784c70b9847e921e5b4f3f3533478966e5e33cd9' }, this.title_text), h("p", { key: '3932ff682897bade6d9298c4f0d7547e65f6408a' }, this.description)))));
|
|
35
35
|
}
|
|
36
36
|
static get is() { return "dda-tooltip"; }
|
|
37
37
|
static get originalStyleUrls() {
|
|
@@ -28,7 +28,7 @@ export class DdaUiCard {
|
|
|
28
28
|
}
|
|
29
29
|
render() {
|
|
30
30
|
const HeadingTag = this.headingTag;
|
|
31
|
-
return (h(Host, { key: '
|
|
31
|
+
return (h(Host, { key: '4657e8ea3f7a5782eff6d4d004afc15030a9d89d' }, h("div", { key: '929b59ee6a676e9ee95441907bea8d98a7f62bcb', class: 'dda-card' }, h("div", { key: 'c7a7a115aef102e726f3232bcc7c75cfac9b676c', class: 'dda-card-body' }, this.type !== 'custom' && (h("div", { key: '50e93eb07a7bf279af39d8af5536292b41fef9f8' }, !!this.icon && (h("span", { key: 'f449d9a299d8cb5a534277babe0e413c43b091af', class: 'dda-card-icon' }, h("i", { key: '5d51449ce164db38f3d6540e9fae2dbade609b10', class: 'material-icons', "aria-hidden": "true" }, this.icon))), !!this.image && (h("span", { key: '55d39ea5df2decaf84062e4149a8a690c34801f4', class: 'dda-card-icon' }, h("img", { key: '9cf6e418dbfd5a69f3b745abf57cd9e5ad3fcd54', src: this.image, alt: this.maintitle }))), !!this.maintitle && h(HeadingTag, { key: 'ba558f13bba45d63e1940fdf5bc3e8501ee3d2f0', class: 'dda-card-title' }, this.maintitle), !!this.subtitle && h("p", { key: 'a03f8484f9de87dd5de5df7d86ef16348f35544e', class: 'dda-card-text-muted' }, this.subtitle), !!this.link && (h("a", { key: 'f64d0dc6f8940ef81a789a056fdb280bedf2b95e', href: this.link, class: 'dda-card-link', onClick: (event) => this.linkClick.emit(event) }, this.linktext, ' ', this.linkicon && (h("span", { key: '743465002d7738b4d8aa0145689c14e814f99ffe' }, h("i", { key: '6812c7e5e69512ea16a2a6a61f47990c4f80900c', class: 'material-icons', "aria-hidden": "true" }, this.linkicon))))))), h("slot", { key: '684fe104483ca674eb0ce801a484ca7307a39f48' })))));
|
|
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
|
@@ -69,7 +69,7 @@ export class DdaSegmentedTabs {
|
|
|
69
69
|
this.segmentChange.emit(index);
|
|
70
70
|
}
|
|
71
71
|
render() {
|
|
72
|
-
return (h("div", { key: '
|
|
72
|
+
return (h("div", { key: '40c6831dac81e967a3c5d03294811bbc7a320a8a', role: "group", "aria-label": this.aria_label, class: `dda-segmented-group ${this.custom_class} ${this.radius_type} ${this.component_mode}` }, this.parsedItems.map((item, index) => {
|
|
73
73
|
const isSelected = index === this.active_index;
|
|
74
74
|
const className = `dda-segmented-item${isSelected ? ' active' : ''}`;
|
|
75
75
|
return item.startsWith('fo') ? (h("button", { name: this.button_name, type: "button", class: className, "aria-pressed": isSelected ? 'true' : 'false', "aria-label": this.iconLabel(item, index), onClick: () => this.selectSegment(index) }, h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, item))) : (h("button", { name: this.button_name, type: "button", class: className, "aria-pressed": isSelected ? 'true' : 'false', onClick: () => this.selectSegment(index) }, item));
|
|
@@ -20,7 +20,7 @@ export class DdaHorizontalStepper {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
render() {
|
|
23
|
-
return (h(Host, { key: '
|
|
23
|
+
return (h(Host, { key: '75261062c08c270dba9d852edb661a10ff4bb487' }, h("div", { key: 'f7eb40831a7b276848a4ef7bcaddafe05404aca8', class: `${this.custom_class} ${this.component_mode} h-stepper-container` }, this.parsedSteps.map((step, index) => (h("div", { class: `h-step ${index === this.current_step ? 'active' : ''} ${index < this.current_step ? 'completed' : ''}` }, h("div", { class: "h-step-indicator" }, h("div", { class: "circle" })), h("div", { class: "h-step-content" }, h("div", { class: "h-step-title" }, step.title), h("div", { class: "h-step-subtitle" }, step.subtitle), h("div", { class: "h-step-description" }, step.description))))))));
|
|
24
24
|
}
|
|
25
25
|
static get is() { return "dda-horizontal-stepper"; }
|
|
26
26
|
static get originalStyleUrls() {
|
|
@@ -24,7 +24,7 @@ export class DdaVerticalStepper {
|
|
|
24
24
|
render() {
|
|
25
25
|
var _a;
|
|
26
26
|
const current = (_a = this.current_step) !== null && _a !== void 0 ? _a : this.current_Step;
|
|
27
|
-
return (h(Host, { key: '
|
|
27
|
+
return (h(Host, { key: '65de2bf7a859c1deb216c9042031cde73378e622' }, h("div", { key: '38cd1783a7f3b5ba036aebace4fd3ce86b34a978', class: `${this.custom_class} ${this.component_mode} v-stepper-container` }, this.parsedSteps.map((step, index) => (h("div", { class: `v-step ${index <= current ? 'active' : ''}` }, h("div", { class: "v-step-indicator" }, h("div", { class: "icon" }, h("i", { class: `material-icons` }, step.icon))), h("div", { class: "v-step-content" }, h("div", { class: "v-step-title" }, step.title), h("div", { class: "v-step-subtitle" }, step.subtitle), h("div", { class: "v-step-description" }, step.description)), h("div", { class: "v-step-arrow" }, h("i", { class: "material-icons material-symbols-outlined" }, "chevron_right"))))))));
|
|
28
28
|
}
|
|
29
29
|
static get is() { return "dda-vertical-stepper"; }
|
|
30
30
|
static get originalStyleUrls() {
|
|
@@ -711,24 +711,97 @@
|
|
|
711
711
|
padding: 50px 20px 70px 20px;
|
|
712
712
|
}
|
|
713
713
|
|
|
714
|
+
/* Small screens: the cards sit on the banner this far above the sticky footer bar, at this height.
|
|
715
|
+
dda-home-banner's .slider-nav reads the same two values to stay 16px above the cards. */
|
|
716
|
+
:root {
|
|
717
|
+
--dda-quick-links-gap-sm: 12px;
|
|
718
|
+
--dda-quick-links-card-height-sm: 112px;
|
|
719
|
+
}
|
|
720
|
+
|
|
714
721
|
.quick-links-wrap {
|
|
715
722
|
width: 100%;
|
|
716
723
|
position: absolute;
|
|
717
|
-
/* dda-sticky-footer sets --dda-sticky-footer-height; the cards sit above the fixed bar.
|
|
718
|
-
|
|
724
|
+
/* dda-sticky-footer sets --dda-sticky-footer-height; the cards sit above the fixed bar.
|
|
725
|
+
The row's bottom padding (below) is part of the 69px. The banner's .slider-nav sits 205px
|
|
726
|
+
above this offset (274px in home-banner.css); change both together. */
|
|
727
|
+
bottom: calc(69px - var(--dda-quick-links-pad-bottom) + var(--dda-sticky-footer-height, 0px));
|
|
719
728
|
z-index: 1;
|
|
720
729
|
}
|
|
721
730
|
|
|
731
|
+
/* The width of the fade on each edge that has more cards to scroll to. */
|
|
732
|
+
@property --dda-quick-links-fade-start {
|
|
733
|
+
syntax: '<length>';
|
|
734
|
+
inherits: false;
|
|
735
|
+
initial-value: 0px;
|
|
736
|
+
}
|
|
737
|
+
@property --dda-quick-links-fade-end {
|
|
738
|
+
syntax: '<length>';
|
|
739
|
+
inherits: false;
|
|
740
|
+
initial-value: 0px;
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
/* One row of cards. When the cards do not fit, the row scrolls sideways. A card cut at the edge,
|
|
744
|
+
a fade on each edge with more cards, and a thin scrollbar show that the row scrolls. */
|
|
745
|
+
.quick-links-wrap,
|
|
746
|
+
.quick-links {
|
|
747
|
+
/* Room inside the row for the hover lift (12px above) and the pointer (9px below);
|
|
748
|
+
a scrolling box clips anything outside it. */
|
|
749
|
+
--dda-quick-links-pad-top: 12px;
|
|
750
|
+
--dda-quick-links-pad-bottom: 12px;
|
|
751
|
+
--dda-quick-links-fade: 32px;
|
|
752
|
+
}
|
|
722
753
|
.quick-links {
|
|
723
754
|
width: 90vw;
|
|
724
755
|
margin: 0 auto;
|
|
725
756
|
display: flex;
|
|
726
757
|
gap: 8px;
|
|
727
|
-
padding:
|
|
758
|
+
padding: var(--dda-quick-links-pad-top) 20px var(--dda-quick-links-pad-bottom);
|
|
759
|
+
overflow-x: auto;
|
|
760
|
+
overflow-y: hidden;
|
|
761
|
+
overscroll-behavior-x: contain;
|
|
762
|
+
scroll-snap-type: x mandatory;
|
|
763
|
+
/* A card that snaps or takes focus stops clear of the fade. */
|
|
764
|
+
scroll-padding-inline: calc(var(--dda-quick-links-fade) + 4px);
|
|
765
|
+
scrollbar-width: thin;
|
|
766
|
+
scrollbar-color: rgba(255, 255, 255, 0.7) transparent;
|
|
767
|
+
}
|
|
768
|
+
|
|
769
|
+
/* Fades show only where the row can scroll, and follow the scroll position. Browsers without
|
|
770
|
+
scroll-driven animations show no fade; the cut card and the scrollbar still show. */
|
|
771
|
+
@supports (animation-timeline: scroll()) {
|
|
772
|
+
.quick-links {
|
|
773
|
+
-webkit-mask-image: linear-gradient(to right, transparent, #000 var(--dda-quick-links-fade-start), #000 calc(100% - var(--dda-quick-links-fade-end)), transparent);
|
|
774
|
+
mask-image: linear-gradient(to right, transparent, #000 var(--dda-quick-links-fade-start), #000 calc(100% - var(--dda-quick-links-fade-end)), transparent);
|
|
775
|
+
animation: dda-quick-links-fade linear both;
|
|
776
|
+
animation-timeline: scroll(self inline);
|
|
777
|
+
}
|
|
778
|
+
/* In RTL the row starts on the right. */
|
|
779
|
+
[dir='rtl'] .quick-links {
|
|
780
|
+
-webkit-mask-image: linear-gradient(to left, transparent, #000 var(--dda-quick-links-fade-start), #000 calc(100% - var(--dda-quick-links-fade-end)), transparent);
|
|
781
|
+
mask-image: linear-gradient(to left, transparent, #000 var(--dda-quick-links-fade-start), #000 calc(100% - var(--dda-quick-links-fade-end)), transparent);
|
|
782
|
+
}
|
|
783
|
+
}
|
|
784
|
+
@keyframes dda-quick-links-fade {
|
|
785
|
+
0% {
|
|
786
|
+
--dda-quick-links-fade-start: 0px;
|
|
787
|
+
--dda-quick-links-fade-end: var(--dda-quick-links-fade);
|
|
788
|
+
}
|
|
789
|
+
10%,
|
|
790
|
+
90% {
|
|
791
|
+
--dda-quick-links-fade-start: var(--dda-quick-links-fade);
|
|
792
|
+
--dda-quick-links-fade-end: var(--dda-quick-links-fade);
|
|
793
|
+
}
|
|
794
|
+
100% {
|
|
795
|
+
--dda-quick-links-fade-start: var(--dda-quick-links-fade);
|
|
796
|
+
--dda-quick-links-fade-end: 0px;
|
|
797
|
+
}
|
|
728
798
|
}
|
|
729
799
|
|
|
730
800
|
.quick-links .link-item {
|
|
731
|
-
|
|
801
|
+
/* Cards share the row when they fit and are never narrower than 220px. */
|
|
802
|
+
flex: 1 0 220px;
|
|
803
|
+
min-width: 0;
|
|
804
|
+
scroll-snap-align: start;
|
|
732
805
|
height: 170px;
|
|
733
806
|
display: block;
|
|
734
807
|
background: var(--dda-surface-100);
|
|
@@ -797,11 +870,16 @@
|
|
|
797
870
|
/* In normal flow the cards do not sit over the fixed bar, so keep the original offset. */
|
|
798
871
|
bottom: 45px;
|
|
799
872
|
}
|
|
873
|
+
/* Below the banner, on the page background: the row spans the screen, and each card is
|
|
874
|
+
narrower than the row so the next card shows at the edge. */
|
|
800
875
|
.quick-links-wrap .quick-links {
|
|
801
|
-
|
|
802
|
-
|
|
876
|
+
width: 100%;
|
|
877
|
+
box-sizing: border-box;
|
|
878
|
+
padding: 20px 20px var(--dda-quick-links-pad-bottom);
|
|
879
|
+
scrollbar-color: var(--dda-on-surface-variant-40) transparent;
|
|
803
880
|
}
|
|
804
881
|
.quick-links .link-item {
|
|
882
|
+
flex: 0 0 min(75%, 300px);
|
|
805
883
|
height: auto;
|
|
806
884
|
margin: 0px;
|
|
807
885
|
border: solid 1px #ddd;
|
|
@@ -874,6 +952,44 @@
|
|
|
874
952
|
max-width: 90vw !important;
|
|
875
953
|
}
|
|
876
954
|
|
|
955
|
+
/* 992px and below, on screens taller than 600px: the cards sit on the banner, above the sticky
|
|
956
|
+
footer bar, as on desktop. They are compact so they cover less of the slide, and the slide
|
|
957
|
+
controls move above them (home-banner.css). On short landscape screens the banner cannot hold
|
|
958
|
+
the text, the controls and the cards, so the cards stay under it (the rules above). */
|
|
959
|
+
@media screen and (max-width: 992px) and (min-height: 601px) {
|
|
960
|
+
.quick-links-wrap {
|
|
961
|
+
position: absolute;
|
|
962
|
+
/* The row's bottom padding is part of the gap above the bar. */
|
|
963
|
+
bottom: calc(var(--dda-quick-links-gap-sm) - var(--dda-quick-links-pad-bottom) + var(--dda-sticky-footer-height, 0px));
|
|
964
|
+
}
|
|
965
|
+
.quick-links-wrap .quick-links {
|
|
966
|
+
padding-top: var(--dda-quick-links-pad-top);
|
|
967
|
+
scrollbar-color: rgba(255, 255, 255, 0.7) transparent;
|
|
968
|
+
}
|
|
969
|
+
.quick-links .link-item {
|
|
970
|
+
height: var(--dda-quick-links-card-height-sm);
|
|
971
|
+
padding: 16px;
|
|
972
|
+
border: 0;
|
|
973
|
+
}
|
|
974
|
+
.quick-links .link-item i {
|
|
975
|
+
font-size: 24px;
|
|
976
|
+
margin-bottom: 8px;
|
|
977
|
+
}
|
|
978
|
+
.quick-links .link-item svg {
|
|
979
|
+
height: 24px;
|
|
980
|
+
margin-bottom: 8px;
|
|
981
|
+
}
|
|
982
|
+
.quick-links .link-item .title {
|
|
983
|
+
font-size: var(--dda-fs-body-lg);
|
|
984
|
+
}
|
|
985
|
+
.quick-links .link-item .subtitle {
|
|
986
|
+
font-size: var(--dda-fs-body-sm);
|
|
987
|
+
white-space: nowrap;
|
|
988
|
+
overflow: hidden;
|
|
989
|
+
text-overflow: ellipsis;
|
|
990
|
+
}
|
|
991
|
+
}
|
|
992
|
+
|
|
877
993
|
.dda-card {
|
|
878
994
|
position: relative;
|
|
879
995
|
display: -ms-flexbox;
|
|
@@ -2136,6 +2252,10 @@ body {
|
|
|
2136
2252
|
.foot-icon-btn a img {
|
|
2137
2253
|
height: 32px;
|
|
2138
2254
|
}
|
|
2255
|
+
|
|
2256
|
+
.foot-icon-btn a i {
|
|
2257
|
+
font-size: 32px;
|
|
2258
|
+
}
|
|
2139
2259
|
.dda-footer-item ul li.foot-menu{
|
|
2140
2260
|
padding: 0 5px;
|
|
2141
2261
|
}
|
|
@@ -2212,6 +2332,10 @@ body {
|
|
|
2212
2332
|
.foot-icon-btn a img {
|
|
2213
2333
|
height: 24px;
|
|
2214
2334
|
}
|
|
2335
|
+
|
|
2336
|
+
.foot-icon-btn a i {
|
|
2337
|
+
font-size: 24px;
|
|
2338
|
+
}
|
|
2215
2339
|
}
|
|
2216
2340
|
|
|
2217
2341
|
@media (max-width: 1200px) {}
|