@dubai-design-system/components-js 5.3.1 → 5.3.3
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 +33 -0
- package/MIGRATION.md +3 -3
- 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 +4 -4
- package/dist/cjs/dda-avatar.cjs.entry.js +10 -8
- package/dist/cjs/dda-banner-card.cjs.entry.js +5 -5
- package/dist/cjs/dda-banner.cjs.entry.js +3 -3
- 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 +4 -4
- package/dist/cjs/dda-dropdown.cjs.entry.js +4 -4
- package/dist/cjs/dda-footer.cjs.entry.js +3 -3
- package/dist/cjs/dda-header.cjs.entry.js +39 -6
- package/dist/cjs/dda-home-banner.cjs.entry.js +9 -8
- package/dist/cjs/dda-home-carousel.cjs.entry.js +2 -2
- package/dist/cjs/dda-horizontal-stepper.cjs.entry.js +3 -3
- package/dist/cjs/dda-input.cjs.entry.js +4 -4
- package/dist/cjs/dda-link-button_2.cjs.entry.js +6 -6
- package/dist/cjs/dda-number-field.cjs.entry.js +4 -4
- package/dist/cjs/dda-pagination.cjs.entry.js +3 -3
- package/dist/cjs/dda-phonefield.cjs.entry.js +4 -4
- package/dist/cjs/dda-progressbar.cjs.entry.js +3 -3
- package/dist/cjs/dda-range-slider.cjs.entry.js +3 -3
- package/dist/cjs/dda-scroll-icon.cjs.entry.js +2 -2
- package/dist/cjs/dda-search-input.cjs.entry.js +4 -4
- package/dist/cjs/dda-segmented-tabs.cjs.entry.js +3 -3
- package/dist/cjs/dda-select.cjs.entry.js +13 -5
- package/dist/cjs/dda-sticky-footer.cjs.entry.js +2 -2
- package/dist/cjs/dda-tabs.cjs.entry.js +4 -4
- package/dist/cjs/dda-textarea.cjs.entry.js +36 -5
- 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 +2 -2
- package/dist/cjs/dda-vertical-stepper.cjs.entry.js +2 -2
- package/dist/cjs/dda.cjs.js +2 -2
- package/dist/cjs/{index-CM4T__Je.js → index-BlhGwU0o.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +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 +27 -5
- package/dist/collection/components/dda-avatar/dda-avatar.stories.js +3 -1
- package/dist/collection/components/dda-banner/dda-banner.js +1 -1
- package/dist/collection/components/dda-banner-card/dda-banner-card.js +3 -3
- package/dist/collection/components/dda-breadcrumb/dda-breadcrumb.js +2 -2
- package/dist/collection/components/dda-button/dda-button.js +1 -1
- package/dist/collection/components/dda-checkbox/dda-checkbox.js +1 -1
- package/dist/collection/components/dda-chip/dda-chip.js +1 -1
- package/dist/collection/components/dda-credit-card/dda-credit-card.js +1 -1
- package/dist/collection/components/dda-creditcard-field/dda-creditcard-field.js +1 -1
- package/dist/collection/components/dda-dropdown/dda-dropdown.js +1 -1
- package/dist/collection/components/dda-footer/dda-footer.js +1 -1
- package/dist/collection/components/dda-header/dda-header.js +39 -6
- package/dist/collection/components/dda-header/dda-header.stories.js +5 -0
- package/dist/collection/components/dda-home-banner/dda-home-banner.js +6 -5
- package/dist/collection/components/dda-home-banner/dda-home-banner.stories.js +6 -6
- package/dist/collection/components/dda-home-banner/home-banner.css +2 -1
- package/dist/collection/components/dda-home-carousel/dda-home-carousel.js +2 -2
- package/dist/collection/components/dda-input/dda-input.js +1 -1
- package/dist/collection/components/dda-link-button/dda-link-button.js +2 -2
- package/dist/collection/components/dda-number-field/dda-number-field.js +1 -1
- package/dist/collection/components/dda-pagination/dda-pagination.js +1 -1
- package/dist/collection/components/dda-phonefield/dda-phonefield.js +1 -1
- package/dist/collection/components/dda-progressbar/dda-progressbar.js +1 -1
- package/dist/collection/components/dda-radiobutton/dda-radiobutton.css +29 -6
- package/dist/collection/components/dda-radiobutton/dda-radiobutton.js +1 -1
- package/dist/collection/components/dda-range-slider/dda-range-slider.js +2 -2
- package/dist/collection/components/dda-scroll-icon/dda-scroll-icon.js +1 -1
- package/dist/collection/components/dda-search-input/dda-search-input.js +1 -1
- package/dist/collection/components/dda-select/dda-select.js +12 -4
- package/dist/collection/components/dda-sticky-footer/dda-sticky-footer.js +2 -2
- package/dist/collection/components/dda-tabs/dda-tabs.css +2 -1
- package/dist/collection/components/dda-tabs/dda-tabs.js +1 -1
- package/dist/collection/components/dda-textarea/dda-textarea.js +66 -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 +29 -6
- package/dist/collection/global/input.css +6 -1
- 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-BM-NtzGK.js +1 -0
- package/dist/components/p-BhAtUJVx.js +1 -0
- package/dist/components/p-CBtZEcfY.js +1 -0
- package/dist/components/p-CkupecIb.js +1 -0
- package/dist/components/p-SfNNpPT-.js +1 -0
- package/dist/components/p-XBdFBA19.js +1 -0
- package/dist/components/{p-kJRBkcMn.js → p-kuyZN3IZ.js} +1 -1
- package/dist/dda/dda.css +1 -1
- package/dist/dda/dda.esm.js +1 -1
- package/dist/dda/p-09d3353c.entry.js +1 -0
- package/dist/dda/p-1daf1357.entry.js +1 -0
- package/dist/dda/p-212be657.entry.js +1 -0
- package/dist/dda/p-3f733084.entry.js +1 -0
- package/dist/dda/p-461ffb10.entry.js +1 -0
- package/dist/dda/{p-074f8dab.entry.js → p-4b6a42ff.entry.js} +1 -1
- package/dist/dda/p-4e559f7a.entry.js +1 -0
- package/dist/dda/p-501b35eb.entry.js +1 -0
- package/dist/dda/p-53961822.entry.js +1 -0
- package/dist/dda/p-572b8e92.entry.js +1 -0
- package/dist/dda/p-573a117b.entry.js +1 -0
- package/dist/dda/p-59d452b2.entry.js +1 -0
- package/dist/dda/p-59d9d69d.entry.js +1 -0
- package/dist/dda/p-5c7833fd.entry.js +1 -0
- package/dist/dda/p-5d0a01b3.entry.js +1 -0
- package/dist/dda/p-62337c56.entry.js +1 -0
- package/dist/dda/{p-6b358fa8.entry.js → p-71e168f6.entry.js} +1 -1
- package/dist/dda/p-7276ccc3.entry.js +1 -0
- package/dist/dda/p-774ef2ce.entry.js +1 -0
- package/dist/dda/p-7fecb78c.entry.js +1 -0
- package/dist/dda/p-86a47071.entry.js +1 -0
- package/dist/dda/p-8879cddb.entry.js +1 -0
- package/dist/dda/p-894615d0.entry.js +1 -0
- package/dist/dda/p-89720ada.entry.js +1 -0
- package/dist/dda/p-8dcdba6e.entry.js +1 -0
- package/dist/dda/p-8e36ff4a.entry.js +1 -0
- package/dist/dda/p-94aaf1e5.entry.js +1 -0
- package/dist/dda/p-9f92c756.entry.js +1 -0
- package/dist/dda/p-affd6ed9.entry.js +1 -0
- package/dist/dda/{p-c7a4e410.entry.js → p-d40e9d17.entry.js} +1 -1
- package/dist/dda/p-dc582e94.entry.js +1 -0
- package/dist/dda/p-e0fd3288.entry.js +1 -0
- package/dist/dda/p-e73c86ed.entry.js +1 -0
- package/dist/dda/p-eb85a1d2.entry.js +1 -0
- package/dist/dda/p-ec57abee.entry.js +1 -0
- package/dist/dda/p-f36bf43a.entry.js +1 -0
- package/dist/dda/p-qLKOVFws.js +2 -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 +4 -4
- package/dist/esm/dda-avatar.entry.js +10 -8
- package/dist/esm/dda-banner-card.entry.js +5 -5
- package/dist/esm/dda-banner.entry.js +3 -3
- 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 +4 -4
- package/dist/esm/dda-dropdown.entry.js +4 -4
- package/dist/esm/dda-footer.entry.js +3 -3
- package/dist/esm/dda-header.entry.js +39 -6
- package/dist/esm/dda-home-banner.entry.js +9 -8
- package/dist/esm/dda-home-carousel.entry.js +2 -2
- package/dist/esm/dda-horizontal-stepper.entry.js +3 -3
- package/dist/esm/dda-input.entry.js +4 -4
- package/dist/esm/dda-link-button_2.entry.js +6 -6
- package/dist/esm/dda-number-field.entry.js +4 -4
- package/dist/esm/dda-pagination.entry.js +3 -3
- package/dist/esm/dda-phonefield.entry.js +4 -4
- package/dist/esm/dda-progressbar.entry.js +3 -3
- package/dist/esm/dda-range-slider.entry.js +3 -3
- package/dist/esm/dda-scroll-icon.entry.js +2 -2
- package/dist/esm/dda-search-input.entry.js +4 -4
- package/dist/esm/dda-segmented-tabs.entry.js +3 -3
- package/dist/esm/dda-select.entry.js +13 -5
- package/dist/esm/dda-sticky-footer.entry.js +2 -2
- package/dist/esm/dda-tabs.entry.js +4 -4
- package/dist/esm/dda-textarea.entry.js +36 -5
- 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 +2 -2
- package/dist/esm/dda-vertical-stepper.entry.js +2 -2
- package/dist/esm/dda.js +3 -3
- package/dist/esm/{index-BJOt1fv7.js → index-qLKOVFws.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/types/components/dda-avatar/dda-avatar.d.ts +2 -0
- package/dist/types/components/dda-avatar/dda-avatar.stories.d.ts +4 -0
- package/dist/types/components/dda-header/dda-header.d.ts +3 -0
- package/dist/types/components/dda-textarea/dda-textarea.d.ts +4 -0
- package/dist/types/components.d.ts +22 -0
- package/package.json +1 -1
- package/dist/components/p-BUv5-HOm.js +0 -1
- package/dist/components/p-BvEnF2US.js +0 -1
- package/dist/components/p-C8EPNbJC.js +0 -1
- package/dist/components/p-CS5LPB9B.js +0 -1
- package/dist/components/p-CedhFs0i.js +0 -1
- package/dist/components/p-DHgv6zQy.js +0 -1
- package/dist/dda/p-1a0d490e.entry.js +0 -1
- package/dist/dda/p-1c42a19b.entry.js +0 -1
- package/dist/dda/p-1eb0af5a.entry.js +0 -1
- package/dist/dda/p-215629d6.entry.js +0 -1
- package/dist/dda/p-221613e8.entry.js +0 -1
- package/dist/dda/p-284bc873.entry.js +0 -1
- package/dist/dda/p-2f99af01.entry.js +0 -1
- package/dist/dda/p-3003acb0.entry.js +0 -1
- package/dist/dda/p-5b314403.entry.js +0 -1
- package/dist/dda/p-5b669c2f.entry.js +0 -1
- package/dist/dda/p-5fe5c488.entry.js +0 -1
- package/dist/dda/p-6577d6b5.entry.js +0 -1
- package/dist/dda/p-6e6ce5c8.entry.js +0 -1
- package/dist/dda/p-70a20025.entry.js +0 -1
- package/dist/dda/p-78ff5172.entry.js +0 -1
- package/dist/dda/p-7afdde8a.entry.js +0 -1
- package/dist/dda/p-7ba8071a.entry.js +0 -1
- package/dist/dda/p-7d20f926.entry.js +0 -1
- package/dist/dda/p-806de72d.entry.js +0 -1
- package/dist/dda/p-922d33f8.entry.js +0 -1
- package/dist/dda/p-9a9e372d.entry.js +0 -1
- package/dist/dda/p-9c3b7bf8.entry.js +0 -1
- package/dist/dda/p-BJOt1fv7.js +0 -2
- package/dist/dda/p-a19303b5.entry.js +0 -1
- package/dist/dda/p-c9e411cb.entry.js +0 -1
- package/dist/dda/p-cd1d47cb.entry.js +0 -1
- package/dist/dda/p-cfdbbd1a.entry.js +0 -1
- package/dist/dda/p-d114dea3.entry.js +0 -1
- package/dist/dda/p-db565a30.entry.js +0 -1
- package/dist/dda/p-e6043272.entry.js +0 -1
- package/dist/dda/p-ef52ec1e.entry.js +0 -1
- package/dist/dda/p-f2c9d77a.entry.js +0 -1
- package/dist/dda/p-faccb313.entry.js +0 -1
- package/dist/dda/p-fdf0dce8.entry.js +0 -1
|
@@ -44,7 +44,7 @@ export class DdaTabs {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
render() {
|
|
47
|
-
return (h(Host, { key: '
|
|
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`, "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() {
|
|
@@ -2,6 +2,14 @@ import { h, Host } from "@stencil/core";
|
|
|
2
2
|
import Quill from "quill";
|
|
3
3
|
import "quill/dist/quill.snow.css";
|
|
4
4
|
import { uniqueId } from "../../utils/unique-id";
|
|
5
|
+
// English names of the rich editor's toolbar dropdowns; toolbar_labels overrides them.
|
|
6
|
+
const DEFAULT_PICKER_LABELS = {
|
|
7
|
+
header: 'Heading',
|
|
8
|
+
color: 'Text colour',
|
|
9
|
+
background: 'Highlight colour',
|
|
10
|
+
font: 'Font',
|
|
11
|
+
align: 'Alignment',
|
|
12
|
+
};
|
|
5
13
|
export class DdaTextarea {
|
|
6
14
|
constructor() {
|
|
7
15
|
/** Value of the textarea. Updates as the user types; in rich text mode it holds the editor HTML. */
|
|
@@ -68,6 +76,27 @@ export class DdaTextarea {
|
|
|
68
76
|
editorEl.removeAttribute('aria-invalid');
|
|
69
77
|
}
|
|
70
78
|
}
|
|
79
|
+
// Quill names its toolbar buttons but not its dropdowns ("pickers"): each picker's label is a
|
|
80
|
+
// <span role="button"> with no text, so screen readers announce an unnamed button (axe
|
|
81
|
+
// aria-command-name). Name each one from toolbar_labels, falling back to English.
|
|
82
|
+
labelToolbarPickers() {
|
|
83
|
+
let custom = {};
|
|
84
|
+
if (typeof this.toolbar_labels === 'string') {
|
|
85
|
+
try {
|
|
86
|
+
custom = JSON.parse(this.toolbar_labels);
|
|
87
|
+
}
|
|
88
|
+
catch (_a) {
|
|
89
|
+
custom = {};
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else if (this.toolbar_labels) {
|
|
93
|
+
custom = this.toolbar_labels;
|
|
94
|
+
}
|
|
95
|
+
for (const picker of Object.keys(DEFAULT_PICKER_LABELS)) {
|
|
96
|
+
const label = this.el.querySelector(`.ql-toolbar .ql-picker.ql-${picker} .ql-picker-label`);
|
|
97
|
+
label === null || label === void 0 ? void 0 : label.setAttribute('aria-label', custom[picker] || DEFAULT_PICKER_LABELS[picker]);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
71
100
|
componentDidLoad() {
|
|
72
101
|
if (this.enable_rich_editor) {
|
|
73
102
|
// F-015: was `#editor` — the id is now the consumer-supplied
|
|
@@ -98,11 +127,13 @@ export class DdaTextarea {
|
|
|
98
127
|
this.characterCount = this.quill.getText().length - 1; // Update character count
|
|
99
128
|
});
|
|
100
129
|
this.syncRichEditorA11y();
|
|
130
|
+
this.labelToolbarPickers();
|
|
101
131
|
}
|
|
102
132
|
}
|
|
103
133
|
componentDidUpdate() {
|
|
104
134
|
if (this.enable_rich_editor) {
|
|
105
135
|
this.syncRichEditorA11y();
|
|
136
|
+
this.labelToolbarPickers();
|
|
106
137
|
}
|
|
107
138
|
}
|
|
108
139
|
handleInput(event) {
|
|
@@ -119,7 +150,7 @@ export class DdaTextarea {
|
|
|
119
150
|
this.custom_class, this.component_mode, this.textarea_name,
|
|
120
151
|
].filter(Boolean).join(' ');
|
|
121
152
|
const id = this.inputId;
|
|
122
|
-
return (h(Host, { key: '
|
|
153
|
+
return (h(Host, { key: '8f62ec35e00cc27385213d87a20ffb212c3d18a7' }, h("div", { key: '40b7431ed35401f0fd3eed435382c025b7315535', class: textareaClass }, this.label && h("label", { key: '8c24c541942306cca7ba1668ad916ce9d99f3b71', id: this.labelId, htmlFor: this.enable_rich_editor ? undefined : id, class: "dda-input-label" }, this.label), this.enable_rich_editor ? (
|
|
123
154
|
// F-015: previously a bare `<div id="editor">` — the visible
|
|
124
155
|
// label's `for` cannot target a non-labelable <div>, and even
|
|
125
156
|
// aria-labelledby here would be wrong: Quill turns this
|
|
@@ -127,7 +158,7 @@ export class DdaTextarea {
|
|
|
127
158
|
// as a child `.ql-editor`, which is what AT and Tab actually
|
|
128
159
|
// land on. The ARIA lives on quill.root (.ql-editor), applied
|
|
129
160
|
// 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: '
|
|
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: 'caa536f2039c9c85b922d34a5a2f8ee48beeb9f8', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "info"), " ", this.helper_text), h("span", { key: '9bb54ec991d1b38f712974f37741b032056a7a5e', class: "dda-letter-count" }, this.characterCount, " / ", this.max_characters))), this.error_message && (h("div", { key: '24c199bd4481dc7f3061dd1d8f5c78c581be93dc', id: this.errorId, class: "dda-error-message" }, h("span", { key: 'bfa8ef3356a3407130cfb08499c2478b2a70572e', class: "dda-flex dda-align-center dda-gap-2" }, h("i", { key: '1fe75706036a93d63039822dbb8da1d1c659f379', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "info"), " ", this.error_message), h("span", { key: '52001e0f2bdd24ac1d61f14b17e6a174e01ace11', class: "dda-letter-count" }, this.characterCount, " / ", this.max_characters))))));
|
|
131
162
|
}
|
|
132
163
|
static get is() { return "dda-textarea"; }
|
|
133
164
|
static get originalStyleUrls() {
|
|
@@ -314,6 +345,39 @@ export class DdaTextarea {
|
|
|
314
345
|
"reflect": false,
|
|
315
346
|
"attribute": "enable_rich_editor"
|
|
316
347
|
},
|
|
348
|
+
"toolbar_labels": {
|
|
349
|
+
"type": "string",
|
|
350
|
+
"mutable": false,
|
|
351
|
+
"complexType": {
|
|
352
|
+
"original": "string | Partial<Record<RichEditorPicker, string>>",
|
|
353
|
+
"resolved": "\"align\" | \"background\" | \"color\" | \"font\" | \"header\" | string",
|
|
354
|
+
"references": {
|
|
355
|
+
"Partial": {
|
|
356
|
+
"location": "global",
|
|
357
|
+
"id": "global::Partial"
|
|
358
|
+
},
|
|
359
|
+
"Record": {
|
|
360
|
+
"location": "global",
|
|
361
|
+
"id": "global::Record"
|
|
362
|
+
},
|
|
363
|
+
"RichEditorPicker": {
|
|
364
|
+
"location": "local",
|
|
365
|
+
"path": "/home/runner/work/dubai-design-system/dubai-design-system/packages/stencil/src/components/dda-textarea/dda-textarea.tsx",
|
|
366
|
+
"id": "src/components/dda-textarea/dda-textarea.tsx::RichEditorPicker"
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
},
|
|
370
|
+
"required": false,
|
|
371
|
+
"optional": true,
|
|
372
|
+
"docs": {
|
|
373
|
+
"tags": [],
|
|
374
|
+
"text": "Accessible names of the rich editor's toolbar dropdowns, as a JSON object or an object. Keys: `header`, `color`, `background`, `font`, `align`. A key that is not set keeps its English default."
|
|
375
|
+
},
|
|
376
|
+
"getter": false,
|
|
377
|
+
"setter": false,
|
|
378
|
+
"reflect": false,
|
|
379
|
+
"attribute": "toolbar_labels"
|
|
380
|
+
},
|
|
317
381
|
"max_characters": {
|
|
318
382
|
"type": "number",
|
|
319
383
|
"mutable": false,
|
|
@@ -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: 'eac9f5ced9ca4d38f3efc55cbcf11fbf878d367b' }, h("label", { key: 'e384f0ca71eec7527d9134ea64e2dec08a665d09', class: toggleClass, htmlFor: this.input_id }, h("input", { key: 'c1f6818b50b9fac0cff146fedbfa13e5a266d0a3', "aria-label": this.aria_label, type: "checkbox", id: this.input_id, name: this.group_name, checked: this.checked }), h("span", { key: '313f1f6b8ca14d0b9c7b96f41ea483a2505486d9', class: "toggle" }), (this.title_text || this.supporting) && (h("p", { key: '463331817fa6376e309543dc94cf6e9a893a7076' }, this.title_text && h("span", { key: 'c2ba361c9e048d4283e9a59d9da510942c10a2af', class: "toggle-title" }, this.title_text), this.supporting && h("span", { key: 'a0b6512f2a6c1ace0aede3be49dff2579dd09482', 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: 'f5622191d861ba0c36c89f17368fce0f570ef597' }, h("div", { key: '449e589306dc734ce2d381fc8e4cffaaba290330', class: `dda-tooltip-container ${this.custom_class} ${this.component_mode} ${this.dismissed ? 'dismissed' : ''}` }, h("slot", { key: 'd88db337e9f9a7bc321a33fc2a045a9b36f878e3' }), h("div", { key: '63c1bf1f0a515735fdfe546d8009f9c468ca7d95', class: `dda-tooltip-box ${this.position}` }, h("strong", { key: '4df5ed27d0aa958a1a8c4ae2d3921025329d1d3d' }, this.title_text), h("p", { key: '9f28802fff31d6ab171fb318117d438d8dd3be25' }, 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: '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: 'e80483b0a3da315a7535ab1bda1a2885681152b3', class: 'material-icons', "aria-hidden": "true" }, this.icon))), !!this.image && (h("span", { key: 'b4185ea5c24a6675dc9d0eeef4d179e99130528f', class: 'dda-card-icon' }, h("img", { key: '56306706dce39081bd2cb26bedd0f40b0af6f03c', src: this.image, alt: this.maintitle }))), !!this.maintitle && h(HeadingTag, { key: '7c2a2790cd3115a1631a45c49abe98b5467c2e82', class: 'dda-card-title' }, this.maintitle), !!this.subtitle && h("p", { key: 'fd207fb19f40281ba00d9b0310ef8a744e9ad907', class: 'dda-card-text-muted' }, this.subtitle), !!this.link && (h("a", { key: 'ec7277518f56c8bc596cc1786b6bc950f1454965', href: this.link, class: 'dda-card-link', onClick: (event) => this.linkClick.emit(event) }, this.linktext, ' ', this.linkicon && (h("span", { key: '2191736e59506877a9a094eca2a8caa80056d9c4' }, h("i", { key: 'beb1f6805dc66f93a85c7e4f47eeab22c38bf6c5', class: 'material-icons', "aria-hidden": "true" }, this.linkicon))))))), h("slot", { key: 'bbaabacc33bc9bcacfbd20e54a38058339126169' })))));
|
|
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: '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
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: 'c1434fd26373f59e991e22d9e1287b2c797a76e7' }, h("div", { key: '8f7bbcc7faefee327222fb192ecf12bd2c99ad06', 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: '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" }, 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", "aria-hidden": "true" }, "chevron_right"))))))));
|
|
28
28
|
}
|
|
29
29
|
static get is() { return "dda-vertical-stepper"; }
|
|
30
30
|
static get originalStyleUrls() {
|
|
@@ -560,6 +560,7 @@
|
|
|
560
560
|
--dda-neutral-variant-99: #F4FEFD;
|
|
561
561
|
--dda-neutral-variant-100: #FFFFFF;
|
|
562
562
|
|
|
563
|
+
--dda-surface-variant-94: var(--dda-neutral-variant-94);
|
|
563
564
|
--dda-surface-variant-90: var(--dda-neutral-variant-90);
|
|
564
565
|
--dda-surface-variant-87: var(--dda-neutral-variant-87);
|
|
565
566
|
--dda-surface-variant-80: var(--dda-neutral-variant-80);
|
|
@@ -574,6 +575,8 @@
|
|
|
574
575
|
|
|
575
576
|
:root[data-theme='dark'] {
|
|
576
577
|
|
|
578
|
+
/* Behind --dda-color-primary-40 text (the active tab): #21BEBA on #293232 is 5.72:1. */
|
|
579
|
+
--dda-surface-variant-94: var(--dda-neutral-variant-20);
|
|
577
580
|
--dda-surface-variant-90: var(--dda-neutral-variant-30);
|
|
578
581
|
--dda-surface-variant-87: var(--dda-neutral-variant-25);
|
|
579
582
|
--dda-surface-variant-80: var(--dda-neutral-variant-22);
|
|
@@ -3028,23 +3031,43 @@ body {
|
|
|
3028
3031
|
width: calc(100% - 32px);
|
|
3029
3032
|
}
|
|
3030
3033
|
|
|
3034
|
+
/* The mega menu opens under its own link, like the 3.x dropdown (.dda-default-submenu), and is as
|
|
3035
|
+
wide as its columns. When it does not fit there, dda-header sets --dda-mega-shift to flip it back
|
|
3036
|
+
toward the start of the nav, or to clamp it inside the screen (alignMegaPanel). */
|
|
3031
3037
|
.megamenu-content{
|
|
3032
3038
|
display: none;
|
|
3033
|
-
width:
|
|
3034
|
-
|
|
3035
|
-
|
|
3036
|
-
|
|
3037
|
-
|
|
3039
|
+
width: max-content;
|
|
3040
|
+
max-width: calc(100vw - 32px);
|
|
3041
|
+
padding-top: 5px;
|
|
3042
|
+
position: absolute;
|
|
3043
|
+
top: 100%;
|
|
3044
|
+
inset-inline-start: var(--dda-mega-shift, 0px);
|
|
3045
|
+
z-index: 1;
|
|
3038
3046
|
}
|
|
3039
3047
|
.megamenu-item{
|
|
3040
3048
|
min-height: 350px;
|
|
3041
3049
|
background: var(--dda-surface-100);
|
|
3042
3050
|
border-radius: 8px;
|
|
3043
|
-
margin: 0
|
|
3051
|
+
margin: 0;
|
|
3044
3052
|
padding: 42px 15px;
|
|
3045
3053
|
box-shadow: 0px 10px 15px -3px rgba(16, 24, 40, 0.1);
|
|
3046
3054
|
position: relative;
|
|
3047
3055
|
}
|
|
3056
|
+
/* .megamenu-item also has .dda-container; the panel is not a page-wide container. Its height comes
|
|
3057
|
+
from its links, and the end padding keeps the close button clear of the column titles. */
|
|
3058
|
+
.megamenu-content .megamenu-item.dda-container{
|
|
3059
|
+
width: auto;
|
|
3060
|
+
max-width: none;
|
|
3061
|
+
min-height: 0;
|
|
3062
|
+
padding-block: 32px 16px;
|
|
3063
|
+
padding-inline-end: 64px;
|
|
3064
|
+
}
|
|
3065
|
+
/* Fixed-width columns: percentage columns (.dda-col-md-3) have no width to take in a max-content panel. */
|
|
3066
|
+
.megamenu-content .dda-row > [class*='dda-col-']{
|
|
3067
|
+
flex: 0 0 300px;
|
|
3068
|
+
width: 300px;
|
|
3069
|
+
max-width: 300px;
|
|
3070
|
+
}
|
|
3048
3071
|
.megamenu-item .mega-menu-title{
|
|
3049
3072
|
height: 24px;
|
|
3050
3073
|
font-size: var(--dda-fs-body-lg);
|
|
@@ -708,7 +708,12 @@
|
|
|
708
708
|
* report for the computed ratios.
|
|
709
709
|
*/
|
|
710
710
|
.dda-validation-error .dda-input-field:focus-visible,
|
|
711
|
-
.dda-input-disabled .dda-input-field:focus-visible
|
|
711
|
+
.dda-input-disabled .dda-input-field:focus-visible,
|
|
712
|
+
/* The phone and number fields put their input inside a bordered group. In the error and disabled
|
|
713
|
+
states the group drops its focus shadow, so the input itself takes the ring (WCAG 2.4.7). */
|
|
714
|
+
.dda-validation-error .dda-field-group-input:focus-visible,
|
|
715
|
+
.dda-input-disabled .dda-field-group-input:focus-visible,
|
|
716
|
+
.dda-phone-field-group.error .dda-field-group-input:focus-visible {
|
|
712
717
|
outline: none;
|
|
713
718
|
box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(0, 0, 0, 0.65);
|
|
714
719
|
}
|