@dubai-design-system/components-js 5.2.0 → 5.3.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 +68 -0
- package/MIGRATION.md +138 -18
- package/dist/cjs/dda-accordion.cjs.entry.js +3 -3
- package/dist/cjs/dda-alert.cjs.entry.js +5 -5
- package/dist/cjs/dda-attach-file.cjs.entry.js +3 -3
- package/dist/cjs/dda-avatar.cjs.entry.js +8 -8
- package/dist/{dda/dda-tooltip.entry.js → cjs/dda-banner-card.cjs.entry.js} +16 -36
- package/dist/cjs/dda-banner.cjs.entry.js +3 -3
- package/dist/cjs/dda-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/dda-button.cjs.entry.js +3 -3
- package/dist/cjs/dda-checkbox.cjs.entry.js +3 -3
- package/dist/cjs/dda-chip.cjs.entry.js +3 -3
- package/dist/cjs/dda-credit-card.cjs.entry.js +3 -3
- package/dist/cjs/dda-creditcard-field.cjs.entry.js +4 -4
- package/dist/cjs/dda-dropdown.cjs.entry.js +4 -4
- package/dist/cjs/dda-footer.cjs.entry.js +3 -3
- package/dist/cjs/dda-header.cjs.entry.js +208 -23
- package/dist/cjs/dda-home-banner.cjs.entry.js +4 -4
- package/dist/{dda/dda-tabs.entry.js → cjs/dda-home-carousel.cjs.entry.js} +18 -49
- package/dist/cjs/dda-horizontal-stepper.cjs.entry.js +3 -3
- package/dist/cjs/dda-input.cjs.entry.js +3 -3
- package/dist/cjs/dda-link-button_2.cjs.entry.js +6 -6
- package/dist/cjs/dda-number-field.cjs.entry.js +3 -3
- package/dist/cjs/dda-pagination.cjs.entry.js +4 -4
- package/dist/cjs/dda-phonefield.cjs.entry.js +3 -3
- package/dist/cjs/dda-progressbar.cjs.entry.js +3 -3
- package/dist/cjs/dda-range-slider.cjs.entry.js +3 -3
- package/dist/cjs/dda-search-input.cjs.entry.js +3 -3
- package/dist/cjs/dda-segmented-tabs.cjs.entry.js +5 -5
- package/dist/cjs/dda-select.cjs.entry.js +4 -6
- package/dist/cjs/dda-sticky-footer.cjs.entry.js +41 -4
- package/dist/cjs/dda-tabs.cjs.entry.js +4 -4
- package/dist/cjs/dda-textarea.cjs.entry.js +1351 -16189
- package/dist/cjs/dda-toggle.cjs.entry.js +3 -3
- package/dist/cjs/dda-tooltip.cjs.entry.js +3 -3
- package/dist/cjs/dda-ui-card.cjs.entry.js +3 -3
- package/dist/cjs/dda-vertical-stepper.cjs.entry.js +2 -2
- package/dist/cjs/dda.cjs.js +3 -30
- package/dist/cjs/{index-Na_7EWDR.js → index-DD8fdSxb.js} +1 -1
- package/dist/cjs/index.cjs.js +0 -10
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/parse-json-prop-B0KWD8qe.js +38 -0
- package/dist/collection/collection-manifest.json +5 -3
- package/dist/collection/components/dda-accordion/dda-accordion.js +1 -1
- package/dist/collection/components/dda-alert/dda-alert.js +1 -1
- package/dist/collection/components/dda-attach-file/dda-attach-file.js +1 -1
- package/dist/collection/components/dda-avatar/dda-avatar.js +5 -5
- package/dist/collection/components/dda-banner/dda-banner.js +1 -1
- package/dist/collection/components/dda-banner-card/dda-banner-card.js +243 -0
- package/dist/collection/components/dda-button/dda-button.js +1 -1
- package/dist/collection/components/dda-checkbox/dda-checkbox.js +1 -1
- package/dist/collection/components/dda-chip/dda-chip.js +1 -1
- package/dist/collection/components/dda-credit-card/dda-credit-card.js +1 -1
- package/dist/collection/components/dda-creditcard-field/dda-creditcard-field.js +1 -1
- package/dist/collection/components/dda-dropdown/dda-dropdown.js +1 -1
- package/dist/collection/components/dda-footer/dda-footer.js +1 -1
- package/dist/collection/components/dda-header/dda-header.js +838 -88
- package/dist/collection/components/dda-header/dda-header.stories.js +200 -35
- package/dist/collection/components/dda-header/nav-model.js +69 -0
- package/dist/collection/components/dda-home-banner/dda-home-banner.js +2 -2
- package/dist/collection/components/dda-home-carousel/dda-home-carousel.js +164 -0
- package/dist/collection/components/dda-home-carousel/dda-home-carousel.stories.js +24 -0
- package/dist/collection/components/dda-input/dda-input.js +1 -1
- package/dist/collection/components/dda-link-button/dda-link-button.js +2 -2
- package/dist/collection/components/dda-number-field/dda-number-field.js +1 -1
- package/dist/collection/components/dda-pagination/dda-pagination.js +1 -1
- package/dist/collection/components/dda-phonefield/dda-phonefield.js +1 -1
- package/dist/collection/components/dda-progressbar/dda-progressbar.js +1 -1
- package/dist/collection/components/dda-radiobutton/dda-radiobutton.css +228 -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-search-input/dda-search-input.js +1 -1
- package/dist/collection/components/dda-select/dda-select.js +1 -1
- package/dist/collection/components/dda-sticky-footer/dda-sticky-footer.js +496 -5
- package/dist/collection/components/dda-sticky-footer/dda-sticky-footer.stories.js +12 -1
- package/dist/collection/components/dda-tabs/dda-tabs.js +1 -1
- package/dist/collection/components/dda-textarea/dda-textarea.js +2 -2
- package/dist/collection/components/dda-toggle/dda-toggle.js +1 -1
- package/dist/collection/components/dda-tooltip/dda-tooltip.js +1 -1
- package/dist/collection/components/dda-ui-card/dda-ui-card.js +1 -1
- package/dist/collection/components/segmented-groups/dda-segmented-tabs/dda-segmented-tabs.css +29 -9
- package/dist/collection/components/segmented-groups/dda-segmented-tabs/dda-segmented-tabs.js +1 -1
- package/dist/collection/components/stepper/dda-horizontal-stepper/dda-horizontal-stepper.js +1 -1
- package/dist/collection/components/stepper/dda-vertical-stepper/dda-vertical-stepper.js +1 -1
- package/dist/collection/global/global.css +228 -6
- package/dist/collection/utils/parse-json-prop.js +34 -0
- package/dist/components/dda-accordion.js +1 -59
- package/dist/components/dda-alert.js +1 -94
- package/dist/components/dda-attach-file.js +1 -138
- package/dist/components/dda-avatar.js +1 -107
- package/dist/components/dda-banner-card.d.ts +11 -0
- package/dist/components/dda-banner-card.js +1 -0
- package/dist/components/dda-banner.js +1 -57
- package/dist/components/dda-breadcrumb.js +1 -66
- package/dist/components/dda-button.js +1 -6
- package/dist/components/dda-checkbox.js +1 -59
- package/dist/components/dda-chip.js +1 -55
- package/dist/components/dda-credit-card.js +1 -54
- package/dist/components/dda-creditcard-field.js +1 -133
- package/dist/components/dda-dropdown.js +1 -113
- package/dist/components/dda-footer.js +1 -72
- package/dist/components/dda-header.js +1 -367
- package/dist/components/dda-home-banner.js +1 -249
- package/dist/components/dda-home-carousel.d.ts +11 -0
- package/dist/components/dda-home-carousel.js +1 -0
- package/dist/components/dda-horizontal-stepper.js +1 -69
- package/dist/components/dda-input.js +1 -92
- package/dist/components/dda-link-button.js +1 -6
- package/dist/components/dda-number-field.js +1 -127
- package/dist/components/dda-pagination.js +1 -133
- package/dist/components/dda-phonefield.js +1 -316
- package/dist/components/dda-progressbar.js +1 -58
- package/dist/components/dda-radiobutton.js +1 -6
- package/dist/components/dda-range-slider.js +1 -93
- package/dist/components/dda-search-input.js +1 -102
- package/dist/components/dda-segmented-tabs.js +1 -133
- package/dist/components/dda-select.js +1 -219
- package/dist/components/dda-sticky-footer.js +1 -132
- package/dist/components/dda-tabs.js +1 -91
- package/dist/components/dda-textarea.js +1 -31277
- package/dist/components/dda-toggle.js +1 -55
- package/dist/components/dda-tooltip.js +1 -6
- package/dist/components/dda-ui-card.js +1 -71
- package/dist/components/dda-vertical-stepper.js +1 -72
- package/dist/components/index.js +1 -34
- package/dist/components/{p-D7sJgBDk.js → p-BCtBptNq.js} +1 -1
- package/dist/components/p-BP6BxgDV.js +1 -0
- package/dist/components/p-BZzFtOHg.js +1 -0
- package/dist/components/p-CvcFE821.js +1 -0
- package/dist/components/{p-_-I_65FG.js → p-D3e_hki9.js} +1 -1
- package/dist/components/{p-C2Cs3ruo.js → p-DCwxgkNU.js} +1 -1
- package/dist/components/{p-C520q-ka.js → p-R9p4F9Pi.js} +1 -1
- package/dist/dda/dda.css +2 -6393
- package/dist/dda/dda.esm.js +1 -47
- package/dist/dda/index.esm.js +1 -29
- package/dist/dda/{p-ee6d56fc.entry.js → p-0480f0a9.entry.js} +1 -1
- package/dist/dda/{p-0a86a74c.entry.js → p-06188c4c.entry.js} +1 -1
- package/dist/dda/p-08e1892a.entry.js +1 -0
- package/dist/dda/{p-0574c9df.entry.js → p-10c5a752.entry.js} +1 -1
- package/dist/dda/{p-2630152f.entry.js → p-169ba650.entry.js} +1 -1
- package/dist/dda/{p-9c86dc30.entry.js → p-25058697.entry.js} +1 -1
- package/dist/dda/{p-e8ca224f.entry.js → p-32a7c588.entry.js} +1 -1
- package/dist/dda/{p-95e1a389.entry.js → p-333205aa.entry.js} +1 -1
- package/dist/dda/{p-3835f3b7.entry.js → p-46df4933.entry.js} +1 -1
- package/dist/dda/{p-eecfe091.entry.js → p-47322b02.entry.js} +1 -1
- package/dist/dda/{p-489a3711.entry.js → p-4e717a2e.entry.js} +1 -1
- package/dist/dda/{p-271c5f91.entry.js → p-5840fad9.entry.js} +1 -1
- package/dist/dda/p-5bb62ef7.entry.js +1 -0
- package/dist/dda/p-5e757702.entry.js +1 -0
- package/dist/dda/{p-32746429.entry.js → p-6430c363.entry.js} +1 -1
- package/dist/dda/{p-8de4f35e.entry.js → p-6d4f5672.entry.js} +1 -1
- package/dist/dda/{p-9416d8ec.entry.js → p-6db5588a.entry.js} +1 -1
- package/dist/dda/{p-16f94322.entry.js → p-76859bf8.entry.js} +1 -1
- package/dist/dda/p-7c1abbd2.entry.js +1 -0
- package/dist/dda/{p-eed4a104.entry.js → p-7ffce954.entry.js} +1 -1
- package/dist/dda/{p-58de747b.entry.js → p-8108c4ed.entry.js} +1 -1
- package/dist/dda/{p-95b87c55.entry.js → p-8852dafb.entry.js} +1 -1
- package/dist/dda/{p-98c59aa8.entry.js → p-8dbbc0ca.entry.js} +1 -1
- package/dist/dda/{p-3d57e957.entry.js → p-95100f73.entry.js} +1 -1
- package/dist/dda/{p-b6190656.entry.js → p-9a4e34d1.entry.js} +1 -1
- package/dist/dda/p-9b234635.entry.js +1 -0
- package/dist/dda/{p-d06c5daf.entry.js → p-9d9834ff.entry.js} +1 -1
- package/dist/dda/{p-1acc0fda.entry.js → p-9f01cb56.entry.js} +1 -1
- package/dist/dda/{p-c39d196d.entry.js → p-9ff8dc84.entry.js} +1 -1
- package/dist/dda/p-BnrqwGTj.js +2 -0
- package/dist/dda/p-CvcFE821.js +1 -0
- package/dist/dda/{p-e660a594.entry.js → p-a8a1ee5d.entry.js} +1 -1
- package/dist/dda/{p-d8fd3f73.entry.js → p-b37f40a9.entry.js} +1 -1
- package/dist/dda/p-eaffd32d.entry.js +1 -0
- package/dist/dda/{p-63754a93.entry.js → p-f2efc121.entry.js} +1 -1
- package/dist/dda/{p-96741f45.entry.js → p-faed59dd.entry.js} +1 -1
- package/dist/dda/p-fb00dec4.entry.js +1 -0
- package/dist/esm/dda-accordion.entry.js +3 -3
- package/dist/esm/dda-alert.entry.js +5 -5
- package/dist/esm/dda-attach-file.entry.js +3 -3
- package/dist/esm/dda-avatar.entry.js +8 -8
- package/dist/{dda/dda-credit-card.entry.js → esm/dda-banner-card.entry.js} +14 -16
- package/dist/esm/dda-banner.entry.js +3 -3
- package/dist/esm/dda-breadcrumb.entry.js +2 -2
- package/dist/esm/dda-button.entry.js +3 -3
- package/dist/esm/dda-checkbox.entry.js +3 -3
- package/dist/esm/dda-chip.entry.js +3 -3
- package/dist/esm/dda-credit-card.entry.js +3 -3
- package/dist/esm/dda-creditcard-field.entry.js +4 -4
- package/dist/esm/dda-dropdown.entry.js +4 -4
- package/dist/esm/dda-footer.entry.js +3 -3
- package/dist/esm/dda-header.entry.js +208 -23
- package/dist/esm/dda-home-banner.entry.js +4 -4
- package/dist/{dda/dda-breadcrumb.entry.js → esm/dda-home-carousel.entry.js} +16 -30
- package/dist/esm/dda-horizontal-stepper.entry.js +3 -3
- package/dist/esm/dda-input.entry.js +3 -3
- package/dist/esm/dda-link-button_2.entry.js +6 -6
- package/dist/esm/dda-number-field.entry.js +3 -3
- package/dist/esm/dda-pagination.entry.js +4 -4
- package/dist/esm/dda-phonefield.entry.js +3 -3
- package/dist/esm/dda-progressbar.entry.js +3 -3
- package/dist/esm/dda-range-slider.entry.js +3 -3
- package/dist/esm/dda-search-input.entry.js +3 -3
- package/dist/esm/dda-segmented-tabs.entry.js +5 -5
- package/dist/esm/dda-select.entry.js +4 -6
- package/dist/esm/dda-sticky-footer.entry.js +41 -4
- package/dist/esm/dda-tabs.entry.js +4 -4
- package/dist/esm/dda-textarea.entry.js +1351 -16189
- package/dist/esm/dda-toggle.entry.js +3 -3
- package/dist/esm/dda-tooltip.entry.js +3 -3
- package/dist/esm/dda-ui-card.entry.js +3 -3
- package/dist/esm/dda-vertical-stepper.entry.js +2 -2
- package/dist/esm/dda.js +4 -31
- package/dist/esm/{index-CI_UcUy5.js → index-BnrqwGTj.js} +1 -1
- package/dist/esm/index.js +0 -10
- package/dist/esm/loader.js +3 -3
- package/dist/esm/parse-json-prop-CvcFE821.js +36 -0
- package/dist/types/components/dda-banner-card/dda-banner-card.d.ts +25 -0
- package/dist/types/components/dda-header/dda-header.d.ts +114 -4
- package/dist/types/components/dda-header/dda-header.stories.d.ts +187 -0
- package/dist/types/components/dda-header/nav-model.d.ts +19 -0
- package/dist/types/components/dda-home-carousel/dda-home-carousel.d.ts +29 -0
- package/dist/types/components/dda-home-carousel/dda-home-carousel.stories.d.ts +20 -0
- package/dist/types/components/dda-sticky-footer/dda-sticky-footer.d.ts +70 -1
- package/dist/types/components/dda-sticky-footer/dda-sticky-footer.stories.d.ts +4 -0
- package/dist/types/components.d.ts +726 -11
- package/dist/types/utils/parse-json-prop.d.ts +1 -0
- package/package.json +4 -2
- package/dist/cjs/dda-link-button.cjs.entry.js +0 -51
- package/dist/cjs/dda-radiobutton.cjs.entry.js +0 -27
- package/dist/cjs/index-DXyiIgGK.js +0 -4637
- package/dist/components/dda-button2.js +0 -80
- package/dist/components/dda-link-button2.js +0 -81
- package/dist/components/dda-radiobutton2.js +0 -54
- package/dist/components/dda-tooltip2.js +0 -70
- package/dist/components/index2.js +0 -4622
- package/dist/components/p-CZO9Eawo.js +0 -1
- package/dist/components/unique-id.js +0 -12
- package/dist/dda/dda-accordion.entry.js +0 -31
- package/dist/dda/dda-alert.entry.js +0 -57
- package/dist/dda/dda-attach-file.entry.js +0 -102
- package/dist/dda/dda-avatar.entry.js +0 -70
- package/dist/dda/dda-banner.entry.js +0 -30
- package/dist/dda/dda-button.entry.js +0 -47
- package/dist/dda/dda-checkbox.entry.js +0 -27
- package/dist/dda/dda-chip.entry.js +0 -25
- package/dist/dda/dda-creditcard-field.entry.js +0 -94
- package/dist/dda/dda-dropdown.entry.js +0 -75
- package/dist/dda/dda-footer.entry.js +0 -34
- package/dist/dda/dda-header.entry.js +0 -282
- package/dist/dda/dda-home-banner.entry.js +0 -208
- package/dist/dda/dda-horizontal-stepper.entry.js +0 -39
- package/dist/dda/dda-input.entry.js +0 -56
- package/dist/dda/dda-link-button.entry.js +0 -49
- package/dist/dda/dda-number-field.entry.js +0 -86
- package/dist/dda/dda-pagination.entry.js +0 -86
- package/dist/dda/dda-phonefield.entry.js +0 -271
- package/dist/dda/dda-progressbar.entry.js +0 -30
- package/dist/dda/dda-radiobutton.entry.js +0 -25
- package/dist/dda/dda-range-slider.entry.js +0 -55
- package/dist/dda/dda-search-input.entry.js +0 -63
- package/dist/dda/dda-segmented-tabs.entry.js +0 -96
- package/dist/dda/dda-select.entry.js +0 -183
- package/dist/dda/dda-sticky-footer.entry.js +0 -61
- package/dist/dda/dda-textarea.entry.js +0 -31241
- package/dist/dda/dda-toggle.entry.js +0 -25
- package/dist/dda/dda-ui-card.entry.js +0 -41
- package/dist/dda/dda-vertical-stepper.entry.js +0 -41
- package/dist/dda/index-CFIwfRqf.js +0 -4622
- package/dist/dda/p-87d647e7.entry.js +0 -1
- package/dist/dda/p-9541e108.entry.js +0 -1
- package/dist/dda/p-CI_UcUy5.js +0 -2
- package/dist/dda/p-c0da1e14.entry.js +0 -1
- package/dist/dda/p-c5ebf7df.entry.js +0 -1
- package/dist/dda/p-ea1720d2.entry.js +0 -1
- package/dist/dda/unique-id-B-I003EB.js +0 -12
- package/dist/esm/dda-link-button.entry.js +0 -49
- package/dist/esm/dda-radiobutton.entry.js +0 -25
- package/dist/esm/index-CFIwfRqf.js +0 -4622
|
@@ -1,6 +1,76 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-DD8fdSxb.js');
|
|
4
|
+
var parseJsonProp = require('./parse-json-prop-B0KWD8qe.js');
|
|
5
|
+
|
|
6
|
+
const clean = (value) => (typeof value === 'string' ? value.trim() : '');
|
|
7
|
+
const optional = (value) => clean(value) || undefined;
|
|
8
|
+
const isPlainObject = (value) => Boolean(value) && typeof value === 'object' && !Array.isArray(value);
|
|
9
|
+
// An array field (children, mega-menu columns/items, 5.x subMenu) may contain a bad entry (null, a
|
|
10
|
+
// number, ...) even when the field itself is a valid array. Each bad entry is skipped, with one
|
|
11
|
+
// warning, rather than reaching a raw.<prop> access on a non-object and throwing.
|
|
12
|
+
const asArray = (value) => {
|
|
13
|
+
if (!Array.isArray(value))
|
|
14
|
+
return [];
|
|
15
|
+
return value.filter(item => {
|
|
16
|
+
if (isPlainObject(item))
|
|
17
|
+
return true;
|
|
18
|
+
console.warn('quick-links: an item is not an object; it is ignored.');
|
|
19
|
+
return false;
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
const isLegacy = (raw) => raw.headerMenuLabel !== undefined || raw.type !== undefined;
|
|
23
|
+
function legacyItem(raw) {
|
|
24
|
+
const children = asArray(raw.children);
|
|
25
|
+
const base = {
|
|
26
|
+
label: clean(raw.headerMenuLabel),
|
|
27
|
+
href: clean(raw.url) || '#',
|
|
28
|
+
active: raw.active === 'true' || raw.active === true,
|
|
29
|
+
id: optional(raw.headerMenuId),
|
|
30
|
+
description: optional(raw.description),
|
|
31
|
+
icon: optional(raw.quickLinksIcon),
|
|
32
|
+
kind: 'link',
|
|
33
|
+
submenuTitle: optional(raw.defaultSubMenuTitle),
|
|
34
|
+
children: [],
|
|
35
|
+
columns: [],
|
|
36
|
+
};
|
|
37
|
+
if (children.length === 0)
|
|
38
|
+
return base;
|
|
39
|
+
if (raw.type === 'dda_main_megamenu') {
|
|
40
|
+
return Object.assign(Object.assign({}, base), { kind: 'mega', columns: children.map(col => ({
|
|
41
|
+
title: optional(col.title),
|
|
42
|
+
links: asArray(col.items).map(link => {
|
|
43
|
+
var _a;
|
|
44
|
+
return ({
|
|
45
|
+
label: clean(link.headerMenuLabel),
|
|
46
|
+
href: clean(link.url) || '#',
|
|
47
|
+
description: optional(link.description),
|
|
48
|
+
// 3.x always showed an icon in the mega menu, defaulting to 'sentiment_satisfied' when
|
|
49
|
+
// none was set; the 5.x subMenu shape never had a default, so this fallback stays scoped
|
|
50
|
+
// to the 3.x mapping (see modernItem below, which leaves icon undefined).
|
|
51
|
+
icon: (_a = optional(link.quickLinksIcon)) !== null && _a !== void 0 ? _a : 'sentiment_satisfied',
|
|
52
|
+
active: false,
|
|
53
|
+
});
|
|
54
|
+
}),
|
|
55
|
+
})) });
|
|
56
|
+
}
|
|
57
|
+
return Object.assign(Object.assign({}, base), { kind: 'dropdown', children: children.map(legacyItem) });
|
|
58
|
+
}
|
|
59
|
+
function modernItem(raw) {
|
|
60
|
+
const sub = asArray(raw.subMenu);
|
|
61
|
+
const base = { label: clean(raw.label), href: clean(raw.href) || '#', active: false, kind: 'link', children: [], columns: [] };
|
|
62
|
+
if (sub.length === 0)
|
|
63
|
+
return base;
|
|
64
|
+
return Object.assign(Object.assign({}, base), { kind: 'mega', columns: [
|
|
65
|
+
{
|
|
66
|
+
title: optional(raw.menuLabel),
|
|
67
|
+
links: sub.map(link => ({ label: clean(link.title), href: clean(link.href) || '#', description: optional(link.description), icon: optional(link.icon), active: false })),
|
|
68
|
+
},
|
|
69
|
+
] });
|
|
70
|
+
}
|
|
71
|
+
function normalizeQuickLinks(value) {
|
|
72
|
+
return asArray(parseJsonProp.parseJsonProp(value, 'quick-links')).map(raw => (isLegacy(raw) ? legacyItem(raw) : modernItem(raw)));
|
|
73
|
+
}
|
|
4
74
|
|
|
5
75
|
const ddaHeaderCss = () => `:root{scroll-padding-top:170px}@media screen and (max-width: 767px){:root{scroll-padding-top:100px}}:root.dda-scroll-lock{overflow:hidden;scrollbar-gutter:stable}:root.dda-scroll-lock body{overflow:hidden}`;
|
|
6
76
|
|
|
@@ -9,23 +79,31 @@ let headerInstanceCount = 0;
|
|
|
9
79
|
const DdaHeader = class {
|
|
10
80
|
constructor(hostRef) {
|
|
11
81
|
index.registerInstance(this, hostRef);
|
|
12
|
-
this.
|
|
13
|
-
this.
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
82
|
+
this.accessibilityMenuToggle = index.createEvent(this, "accessibilitymenufunctionality");
|
|
83
|
+
this.searchInput = index.createEvent(this, "searchfunctionality");
|
|
84
|
+
this.languageSwitch = index.createEvent(this, "languageSwitch");
|
|
85
|
+
this.smTextSize = index.createEvent(this, "smTextSize");
|
|
86
|
+
this.baseTextSize = index.createEvent(this, "baseTextSize");
|
|
87
|
+
this.lgTextSize = index.createEvent(this, "lgTextSize");
|
|
88
|
+
this.normalContrast = index.createEvent(this, "normalContrast");
|
|
89
|
+
this.blindContrast = index.createEvent(this, "blindContrast");
|
|
90
|
+
this.redContrast = index.createEvent(this, "redContrast");
|
|
91
|
+
this.greenContrast = index.createEvent(this, "greenContrast");
|
|
92
|
+
this.searchSubmit = index.createEvent(this, "searchSubmit");
|
|
21
93
|
/** Link URL of the first logo in the header and the side menu. Default: `/`. */
|
|
22
94
|
this.firstLogoHref = '/';
|
|
23
95
|
/** Link URL of the second logo on desktop and mobile. Default: `/`. */
|
|
24
96
|
this.secondLogoHref = '/';
|
|
97
|
+
/** Hides the "other" side-menu links and their title. Default: `false`. */
|
|
98
|
+
this.hideOtherMenu = false;
|
|
99
|
+
/** The contrast option shown as selected. The header updates it when the user picks an option. Default: `normal`. */
|
|
100
|
+
this.selected_contrast = 'normal';
|
|
25
101
|
/** Hides the Login link in the desktop toolbar and the side menu. */
|
|
26
102
|
this.hide_login = false;
|
|
27
103
|
/** `lang` attribute of the language buttons, the language of `language_text`. Default: `ar`. */
|
|
28
104
|
this.language_lang = 'ar';
|
|
105
|
+
/** When `false`, the header renders no accessibility panel; the buttons only emit `accessibilitymenufunctionality`, so the page can open its own panel. Default: `true`. */
|
|
106
|
+
this.usePredesignedAccessibilityMenu = true;
|
|
29
107
|
this.isMenuOpen = false;
|
|
30
108
|
this.isSubMenuOpen = false;
|
|
31
109
|
this.isSideSubMenuOpen = false;
|
|
@@ -38,6 +116,9 @@ const DdaHeader = class {
|
|
|
38
116
|
this.menu_button_label = 'Menu';
|
|
39
117
|
this.openMenus = {};
|
|
40
118
|
this.activeMenuIndex = null;
|
|
119
|
+
this.activeSubIndex = null;
|
|
120
|
+
/** Offset (px) from the top of the open dropdown to the opener of its third-level panel. */
|
|
121
|
+
this.activeSubTop = 0;
|
|
41
122
|
this.toggleEscapeKey = (event) => {
|
|
42
123
|
if (event.key === 'Escape') {
|
|
43
124
|
if (this.isSearchOpen) {
|
|
@@ -48,6 +129,7 @@ const DdaHeader = class {
|
|
|
48
129
|
this.isSubMenuOpen = false;
|
|
49
130
|
this.isSideSubMenuOpen = false;
|
|
50
131
|
this.activeMenuIndex = null;
|
|
132
|
+
this.activeSubIndex = null;
|
|
51
133
|
}
|
|
52
134
|
};
|
|
53
135
|
this.handleSearchSubmit = (event) => {
|
|
@@ -58,6 +140,7 @@ const DdaHeader = class {
|
|
|
58
140
|
input.focus();
|
|
59
141
|
return;
|
|
60
142
|
}
|
|
143
|
+
this.searchInput.emit(query);
|
|
61
144
|
const searchEvent = this.searchSubmit.emit({ query });
|
|
62
145
|
// Without a results URL there is nowhere to go; a cancelled event means the app routes itself.
|
|
63
146
|
if (searchEvent.defaultPrevented || !this.search_action) {
|
|
@@ -97,11 +180,15 @@ const DdaHeader = class {
|
|
|
97
180
|
};
|
|
98
181
|
this.handleOutsideMegaMenuClick = (event) => {
|
|
99
182
|
if (this.activeMenuIndex !== null) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
183
|
+
// A click anywhere inside the top-level menu is not an "outside" click: the mega-menu
|
|
184
|
+
// content and the 3.x dropdown's second/third levels both render inside their <li>, which
|
|
185
|
+
// is inside .dda-mega-menu, so this covers every open level without naming a specific one
|
|
186
|
+
// (naming ".megamenu-content" alone, for example, always matches when any mega item exists,
|
|
187
|
+
// open or not, and would never let the 3.x dropdown branch be reached).
|
|
188
|
+
const isClickInsideMenu = event.target.closest('.dda-mega-menu');
|
|
189
|
+
if (!isClickInsideMenu) {
|
|
104
190
|
this.activeMenuIndex = null;
|
|
191
|
+
this.activeSubIndex = null;
|
|
105
192
|
}
|
|
106
193
|
}
|
|
107
194
|
};
|
|
@@ -131,36 +218,46 @@ const DdaHeader = class {
|
|
|
131
218
|
this.isMenuOpen = !this.isMenuOpen;
|
|
132
219
|
};
|
|
133
220
|
this.toggleSubMenu = (index, event) => {
|
|
134
|
-
// this.isSubMenuOpen = !this.isSubMenuOpen;
|
|
135
221
|
if (event)
|
|
136
222
|
event.preventDefault();
|
|
137
223
|
this.activeMenuIndex = this.activeMenuIndex === index ? null : index;
|
|
224
|
+
this.activeSubIndex = null;
|
|
138
225
|
};
|
|
139
226
|
this.toggleAccessibilty = () => {
|
|
140
|
-
this.
|
|
227
|
+
if (this.usePredesignedAccessibilityMenu) {
|
|
228
|
+
this.isAccessibiltyOpen = !this.isAccessibiltyOpen;
|
|
229
|
+
}
|
|
230
|
+
this.accessibilityMenuToggle.emit();
|
|
141
231
|
};
|
|
142
232
|
this.languagehandler = () => {
|
|
143
233
|
this.languageSwitch.emit();
|
|
144
234
|
};
|
|
145
235
|
this.smTexthandler = () => {
|
|
236
|
+
this.selected_text_size = 'small';
|
|
146
237
|
this.smTextSize.emit();
|
|
147
238
|
};
|
|
148
239
|
this.baseTexthandler = () => {
|
|
240
|
+
this.selected_text_size = 'normal';
|
|
149
241
|
this.baseTextSize.emit();
|
|
150
242
|
};
|
|
151
243
|
this.lgTexthandler = () => {
|
|
244
|
+
this.selected_text_size = 'large';
|
|
152
245
|
this.lgTextSize.emit();
|
|
153
246
|
};
|
|
154
247
|
this.normalContrasthandler = () => {
|
|
248
|
+
this.selected_contrast = 'normal';
|
|
155
249
|
this.normalContrast.emit();
|
|
156
250
|
};
|
|
157
251
|
this.blindContrasthandler = () => {
|
|
252
|
+
this.selected_contrast = 'colorblind';
|
|
158
253
|
this.blindContrast.emit();
|
|
159
254
|
};
|
|
160
255
|
this.redContrasthandler = () => {
|
|
256
|
+
this.selected_contrast = 'redweakness';
|
|
161
257
|
this.redContrast.emit();
|
|
162
258
|
};
|
|
163
259
|
this.greenContrasthandler = () => {
|
|
260
|
+
this.selected_contrast = 'greenweakness';
|
|
164
261
|
this.greenContrast.emit();
|
|
165
262
|
};
|
|
166
263
|
this.renderSubMenu = (subMenu, parentLi) => {
|
|
@@ -237,7 +334,7 @@ const DdaHeader = class {
|
|
|
237
334
|
return [
|
|
238
335
|
index.h("label", { htmlFor: id, class: "visually-hidden" }, this.searchText || 'Search'),
|
|
239
336
|
index.h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "search"),
|
|
240
|
-
index.h("input", { name: this.search_input_name || 'q', type: "text", id: id, placeholder: this.searchText || 'Search', enterkeyhint: "search", autocomplete: "off", ref: ref }),
|
|
337
|
+
index.h("input", { name: this.search_input_name || 'q', type: "text", id: id, placeholder: this.text(this.search_input_placeholder, this.searchText || 'Search'), enterkeyhint: "search", autocomplete: "off", ref: ref }),
|
|
241
338
|
];
|
|
242
339
|
}
|
|
243
340
|
// The transparent style (<body class="transparent">) shows only at the top of the page.
|
|
@@ -254,15 +351,96 @@ const DdaHeader = class {
|
|
|
254
351
|
return [];
|
|
255
352
|
}
|
|
256
353
|
}
|
|
354
|
+
// Text-prop rule: an absent attribute uses the English default; an empty one means "show nothing".
|
|
355
|
+
text(value, fallback) {
|
|
356
|
+
return value === undefined || value === null ? fallback : value;
|
|
357
|
+
}
|
|
358
|
+
// The three columns of the accessibility panel. The desktop panel and the side-menu panel show
|
|
359
|
+
// the same content; only the radio group and ids differ, so both panels stay independent forms.
|
|
360
|
+
renderAccessibilityColumns(variant) {
|
|
361
|
+
var _a;
|
|
362
|
+
const suffix = variant === 'mobile' ? 'Mobile' : '';
|
|
363
|
+
const group = variant === 'mobile' ? 'themeselectionmobile' : 'themeselection';
|
|
364
|
+
const contrastTitle = this.text(this.contrast_title, 'Contrast');
|
|
365
|
+
const contrastDescription = this.text(this.contrast_description, 'Select your preferred contrast setting');
|
|
366
|
+
const readSpeakerLink = this.readSpeakerLink || this.read_speaker_link;
|
|
367
|
+
const screenReaderTitle = this.text(this.screen_reader_title, 'Screen Reader');
|
|
368
|
+
const screenReaderDescription = this.text(this.screen_reader_description, 'Listen to the content of the page by clicking play or listen');
|
|
369
|
+
const textSizeTitle = this.text(this.text_size_title, 'Text Size');
|
|
370
|
+
const textSizeDescription = this.text(this.text_size_description, 'Use the buttons below to increase or decrease the text size');
|
|
371
|
+
const options = [
|
|
372
|
+
{ value: 'normal', label: this.text((_a = this.contrast_normal_text) !== null && _a !== void 0 ? _a : this.contrast_noraml_text, 'Normal'), id: 'Normal', handler: this.normalContrasthandler },
|
|
373
|
+
{ value: 'colorblind', label: this.text(this.contrast_color_blind_text, 'Colours Blind'), id: 'ColoursBlind', handler: this.blindContrasthandler },
|
|
374
|
+
{ value: 'redweakness', label: this.text(this.contrast_red_weakness_text, 'Red Weakness'), id: 'RedWeakness', handler: this.redContrasthandler },
|
|
375
|
+
{ value: 'greenweakness', label: this.text(this.contrast_green_weakness_text, 'Green Weakness'), id: 'GreenWeakness', handler: this.greenContrasthandler },
|
|
376
|
+
];
|
|
377
|
+
const sizes = [
|
|
378
|
+
{ value: 'normal', label: 'A', handler: this.baseTexthandler },
|
|
379
|
+
{ value: 'large', label: 'A+', handler: this.lgTexthandler },
|
|
380
|
+
{ value: 'small', label: 'A-', handler: this.smTexthandler },
|
|
381
|
+
];
|
|
382
|
+
return (index.h("div", { class: "dda-row" }, index.h("div", { class: "dda-col-md-4 dda-accessibility-item" }, contrastTitle && index.h("h2", { class: "dda-fs-body-lg dda-fw-700 mb-1" }, contrastTitle), index.h("form", null, index.h("fieldset", { class: "dda-theme-list" }, contrastDescription && (index.h("legend", null, index.h("p", { class: "mb-3" }, contrastDescription))), options.map(option => option.label ? (index.h("dda-radiobutton", { title_text: option.label, checked: this.selected_contrast === option.value, size: "sm", variants: "normal", supporting: "", group_name: group, input_id: `${option.id}${suffix}`, custom_class: "", component_mode: "", onClick: option.handler })) : null)))), readSpeakerLink && (index.h("div", { class: "dda-col-md-4 dda-accessibility-item" }, screenReaderTitle && index.h("h2", { class: "dda-fs-body-lg dda-fw-700 mb-1" }, screenReaderTitle), screenReaderDescription && index.h("p", { class: "mb-3" }, screenReaderDescription), index.h("div", { class: "rs_skip rsbtn rs_preserve", id: `readspeaker_button1${suffix}` }, index.h("a", { href: readSpeakerLink, rel: "nofollow", class: "rsbtn_play circle readspeaker", accessKey: variant === 'desktop' ? 'L' : undefined, "aria-label": this.text(this.screen_reader_link_label, 'Listen to this page using ReadSpeaker') }, index.h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "volume_up"))))), index.h("div", { class: "dda-col-md-4 dda-accessibility-item" }, textSizeTitle && index.h("h2", { class: "dda-fs-body-lg dda-fw-700 mb-1" }, textSizeTitle), textSizeDescription && index.h("p", { class: "mb-3" }, textSizeDescription), index.h("div", { class: "d-flex dda-gap-4 dda-text-size-buttons" }, sizes.map(size => (index.h("dda-button", { button_color: this.selected_text_size === size.value ? 'default-primary' : 'default-secondary', icon_button_shape: "circle", custom_class: "", size: "lg", onClick: size.handler }, size.label)))))));
|
|
383
|
+
}
|
|
384
|
+
// A tooltip must have text, so an empty tooltip attribute falls back to the default.
|
|
385
|
+
tooltip(value, fallback) {
|
|
386
|
+
return value ? value : fallback;
|
|
387
|
+
}
|
|
388
|
+
get loginLabel() {
|
|
389
|
+
return this.text(this.loginText, 'Login');
|
|
390
|
+
}
|
|
391
|
+
// 3.x hid Login when login-text was empty; hide_login is the 5.x switch.
|
|
392
|
+
get showLogin() {
|
|
393
|
+
return !this.hide_login && this.loginLabel !== '';
|
|
394
|
+
}
|
|
395
|
+
get languageLabel() {
|
|
396
|
+
return this.text(this.language_text, 'العربية');
|
|
397
|
+
}
|
|
398
|
+
renderAccessibilityButton(variant) {
|
|
399
|
+
const id = this.accessibility_button_id ? (variant === 'desktop' ? this.accessibility_button_id : `${this.accessibility_button_id}-sidemenu`) : undefined;
|
|
400
|
+
const iconClass = this.accessibility_button_icon_family || 'material-icons material-symbols-outlined';
|
|
401
|
+
const buttonClass = variant === 'desktop' ? 'tool-btn dda-btn btn-color-onsurface-secondary btn-size-sm btn-shape-circle accessibility-btn' : 'tool-btn accessibility-btn';
|
|
402
|
+
return (index.h("button", { id: id, name: variant === 'desktop' ? this.toggle_accessibility_button_name : this.accessibility_button_name, class: buttonClass, type: "button", "aria-expanded": this.usePredesignedAccessibilityMenu ? (this.isAccessibiltyOpen ? 'true' : 'false') : undefined, onClick: this.toggleAccessibilty }, index.h("i", { class: iconClass, "aria-hidden": "true" }, this.accessibility_button_icon_name || 'accessibility'), index.h("span", { class: "visually-hidden" }, this.text(this.accessibility_button_text, 'Accessibility'))));
|
|
403
|
+
}
|
|
404
|
+
renderDropdown(item, index$1) {
|
|
405
|
+
const id = this.menuPanelId(index$1);
|
|
406
|
+
// The third-level panels are siblings of the <ul>, not children of its <li> items. The <ul>
|
|
407
|
+
// scrolls (max-height), and a scroll container clips an absolutely positioned child on both
|
|
408
|
+
// axes, so a fly-out inside it cannot show. The open panel is aligned with its opener.
|
|
409
|
+
return (index.h("div", { id: id, class: { 'dda-default-submenu': true, 'is-visible': this.activeMenuIndex === index$1 } }, index.h("ul", null, item.children.map((child, subIndex) => {
|
|
410
|
+
const hasSub = child.kind === 'dropdown';
|
|
411
|
+
const subId = `${id}-${subIndex}`;
|
|
412
|
+
const isOpen = this.activeSubIndex === subIndex;
|
|
413
|
+
return (index.h("li", { key: subIndex }, index.h("a", { id: child.id, href: hasSub ? '#' : child.href, class: { 'has-submenu': hasSub, active: isOpen || child.active }, "aria-expanded": hasSub ? String(isOpen) : undefined, "aria-controls": hasSub ? subId : undefined, "aria-current": child.active && !hasSub ? 'page' : undefined, onClick: (event) => {
|
|
414
|
+
if (!hasSub)
|
|
415
|
+
return;
|
|
416
|
+
event.preventDefault();
|
|
417
|
+
const opener = event.currentTarget;
|
|
418
|
+
const panel = opener.closest('.dda-default-submenu');
|
|
419
|
+
if (panel)
|
|
420
|
+
this.activeSubTop = opener.getBoundingClientRect().top - panel.getBoundingClientRect().top;
|
|
421
|
+
this.activeSubIndex = isOpen ? null : subIndex;
|
|
422
|
+
} }, child.label)));
|
|
423
|
+
})), item.children.map((child, subIndex) => {
|
|
424
|
+
if (child.kind !== 'dropdown')
|
|
425
|
+
return null;
|
|
426
|
+
const isOpen = this.activeSubIndex === subIndex;
|
|
427
|
+
return (index.h("div", { key: `sub-${subIndex}`, id: `${id}-${subIndex}`, class: { 'dda-default-subsubmenu': true, 'is-visible': isOpen }, style: isOpen ? { top: `${this.activeSubTop}px` } : undefined }, index.h("div", { class: "dda-default-subsubmenu-content" }, index.h("span", { class: "dda-submenu-title" }, child.submenuTitle || child.label), index.h("ul", null, child.children.map((leaf, leafIndex) => (index.h("li", { key: leafIndex }, index.h("a", { id: leaf.id, href: leaf.href, "aria-current": leaf.active ? 'page' : undefined }, leaf.label))))))));
|
|
428
|
+
})));
|
|
429
|
+
}
|
|
430
|
+
/** The id of the dropdown or mega panel that top-level item `index` opens. */
|
|
431
|
+
menuPanelId(index) {
|
|
432
|
+
return `${this.searchId}-submenu-${index}`;
|
|
433
|
+
}
|
|
434
|
+
renderMega(item, index$1) {
|
|
435
|
+
return (index.h("div", { id: this.menuPanelId(index$1), class: `megamenu-content ${this.activeMenuIndex === index$1 ? 'showSubMenu' : ''}`, style: { display: this.activeMenuIndex === index$1 ? 'block' : 'none' } }, index.h("div", { class: "megamenu-item dda-container" }, index.h("div", { class: "dda-row" }, item.columns.map((column, columnIndex) => (index.h("div", { class: "dda-col-md-3", key: columnIndex }, column.title && index.h("h3", { class: "mega-menu-title" }, column.title), index.h("ul", null, column.links.map((link, linkIndex) => (index.h("li", { key: linkIndex }, index.h("a", { class: "megamenu-link", href: link.href }, index.h("span", { class: "dda-btn btn-color-onsurface-secondary btn-size-sm icon-btn-default" }, index.h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, link.icon)), index.h("span", { class: "text-wrap" }, index.h("span", { class: "title-text dda-fs-body-lg dda-fw-700" }, link.label), link.description && index.h("span", { class: "dda-fs-tagline-lg dda-fw-400" }, link.description))))))))))), index.h("button", { name: "close-mega-menu", class: "close-btn close_mega-menu", "aria-label": "Close Sidebar", onClick: () => (this.activeMenuIndex = null) }, index.h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close")))));
|
|
436
|
+
}
|
|
257
437
|
render() {
|
|
258
438
|
const sideMenuItems = this.parseJsonArray(this.sideMenuItems);
|
|
259
|
-
const quickLinks =
|
|
260
|
-
const
|
|
261
|
-
this.activeMenuIndex = index;
|
|
262
|
-
};
|
|
439
|
+
const quickLinks = normalizeQuickLinks(this.quickLinks);
|
|
440
|
+
const otherMenuItems = parseJsonProp.parseJsonProp(this.otherMenuItems, 'other-menu-items');
|
|
263
441
|
// The transparent style is opt-in at page level (<body class="transparent">);
|
|
264
442
|
// CSS shows the white or colored logo to match.
|
|
265
|
-
return (index.h("header", { key: '
|
|
443
|
+
return (index.h("header", { key: '32433ee95f1ae35e0f74ccb5d6b096f589695e98', class: "dda-header" }, index.h("div", { key: '9ad5e7bae10b14edb5e4b425a398f5558d5f9235', class: "dda-head-logo" }, index.h("a", { key: 'eb6b3a1a8a251b36403032991208c6851fe13c8f', href: this.firstLogoHref, class: "govt-logo" }, index.h("img", { key: 'ad7ac43b73cf44d723741de98868bad4dd851671', class: "logo-colored", src: this.firstLogoSrc, alt: this.firstLogoAlt }), index.h("img", { key: '18ea73459cb1872774664b5f462d5ef62aa6797e', class: "logo-white", src: this.firstLogoWhiteSrc || this.firstLogoSrc, alt: this.firstLogoAlt })), index.h("a", { key: '0eefe4a0f33ffdf3985afae932e66913fd13a8f3', href: this.secondLogoHref, class: "entt-logo" }, index.h("img", { key: 'df4932bc5a0f04aeedbc96042eaa45bb8618f6be', class: "logo-colored", src: this.secondLogoSrc, alt: this.secondLogoAlt }), index.h("img", { key: 'ba7c80b44d063cae03ba9383791e6fd3130847e7', class: "logo-white", src: this.secondLogoWhiteSrc || this.secondLogoSrc, alt: this.secondLogoAlt }))), index.h("div", { key: 'f65d90eb129e728b5e2765dc56edb7f810cdfd35', class: "dda-menu-container" }, index.h("div", { key: '0350e48d6b954849223565e1bf7f12ae7412186d', class: "dda-main-navigation" }, index.h("div", { key: '94b7d46db89ebfdaf56e0e42b7e1f169ee5c0ace', class: `dda-menu-overley ${this.isMenuOpen ? 'show-overley' : ''}`, onClick: this.toggleMenu }), index.h("div", { key: 'f9f95ecec3c42ebcf2b19f648aa58e66992d7639', class: "hamburger-menu", onClick: this.toggleMenu }, index.h("dda-tooltip", { key: 'c54f460c9594e0d6419d6be238cef43cf36131d0', title_text: this.tooltip(this.menu_button_label, 'Menu'), position: "top", class: "d-block" }, index.h("button", { key: '5eed1a83dddc0611d452e5b592ce0a94aa4c41e0', type: "button", class: "hamburger-menu-btn", name: this.hamburger_menu_button_name }, index.h("span", { key: 'aed42c584a5bbcc1a06e932d613137d3aea6ba34', class: "hamburger-line" }), index.h("span", { key: 'a77cbf53977e5c6347a3847f2199487870a9dc9e', class: "hamburger-menu-text" }, this.menu_button_label)))), index.h("div", { key: '8da7f3edac3d3ad3cc73e29b6aa794c18b2d4199', class: "dda-sidemenu", style: { display: this.isMenuOpen ? 'block' : '', insetInlineStart: this.isMenuOpen ? '0px' : '' } }, index.h("div", { key: '444bd4291f474d6f50d47e1aab4a4a275d0a5028', class: "dda-sidemenu-content" }, this.text(this.sideMainMenuTitle, 'Quick Links') && index.h("p", { key: '0794f5ea9a0ea1750b5fb7d3f84002368d498177', class: "dda-side-nav-title" }, this.text(this.sideMainMenuTitle, 'Quick Links')), index.h("ul", { key: 'bc0f6a674f6a9aa5ce1678a5942147e615393ee9', class: "main_side_menu" }, sideMenuItems.map((menu, index$1) => {
|
|
266
444
|
const currentIndex = `menu-${index$1}`;
|
|
267
445
|
return (index.h("li", { key: currentIndex }, index.h("a", { href: menu.href, class: menu.subMenu && menu.subMenu.length > 0 ? 'showSub' : '', onClick: (e) => {
|
|
268
446
|
if (menu.subMenu && menu.subMenu.length > 0) {
|
|
@@ -270,7 +448,14 @@ const DdaHeader = class {
|
|
|
270
448
|
this.toggleSidebarSubMenu(currentIndex);
|
|
271
449
|
}
|
|
272
450
|
} }, menu.label), this.renderSubMenu(menu.subMenu, currentIndex)));
|
|
273
|
-
}))), index.h("div", { key: '2068b95884e81e7d45fa6d172bceaf8e9fcf3a5f', class: "dda-sidemenu-bottom" }, index.h("div", { key: 'f8fad40c7a6bcd89445caff8312b1d75446a2c39', class: "dda-sidemenu-gov-logo" }, index.h("a", { key: 'fd3cf7324d60503323536756c46a3e2269dd76be', href: this.firstLogoHref, class: "govt-logo mb-2" }, index.h("img", { key: '0c072aea99471241c4beed44aa45a783487109d1', class: "", src: this.firstLogoSrc, alt: this.firstLogoAlt }))), index.h("div", { key: 'd5229b78918d3f5141bdd6508bc9290dd82cff2e', class: "dda-toolbar-menu-sidemenu" }, index.h("ul", { key: 'c3a5fea233575cc41086f006d83c121637249ffa' }, index.h("li", { key: '05b8380b1bc2904dde6325c75e505c791d80d3b9' }, index.h("button", { key: '77bf98403406f1805e7c124868697ce93fa909c1', name: this.accessibility_button_name, class: "tool-btn accessibility-btn", type: "button", "aria-expanded": this.isAccessibiltyOpen ? 'true' : 'false', onClick: this.toggleAccessibilty }, index.h("i", { key: 'ba8ac2e906459c4f1146b8914fee17bd1e61bd31', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "accessibility"), index.h("span", { key: '40fdbbf2e61ab20d38b7393367b0307dbc79f653', class: "visually-hidden" }, "Accessibility"))), index.h("li", { key: 'e0967bfcee2d3cfced038afcd8d71f9b68b1c6c2' }, index.h("button", { key: '15b7f3fd0f8a88bf1e5b55c9193af6ce2f562766', name: this.language_button_name, class: "tool-btn", type: "button", lang: this.language_lang, onClick: this.languagehandler }, this.language_text || 'العربية')), !this.hide_login && (index.h("li", { key: '344c7ea8f9f39fc6b9186fae9f9d0e2a29812bd0' }, index.h("dda-link-button", { key: 'ddd23793936494095f92199ca8aa3b6542e057ee', button_color: "onsurface-secondary", start_icon: this.loginIcon || "sentiment_satisfied", custom_class: "tool-btn", href: this.loginLink, button_shape: "circle", size: "sm" }, this.loginText || "Login")))))), index.h("button", { key: 'c98eded45379cc3a5329754dbc20ee60b6b25613', name: this.close_menu_button_name, class: "close-btn side-nav-close-btn", "aria-label": "Close Sidebar", onClick: this.toggleMenu }, index.h("i", { key: '4e9757b2a1de7194d952caffefdf312a05b71f32', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close")), index.h("div", { key: 'b0469e9a46224bfcd216cff235fead2897f50d2b', class: "dda-accessibility hide-accessibility mobile-accessibility", style: { display: this.isAccessibiltyOpen ? 'block' : 'none' } }, index.h("div", { key: '93defee85dde89cfa6e67e6b3ca370353c5e6222', class: "dda-row" }, index.h("div", { key: 'c481f64ad8865cfca1f5b0bc0354172aeedaabcd', class: "dda-col-md-4 dda-accessibility-item" }, index.h("h2", { key: '73937142ec896b3f45dad228c2877835162b79ac', class: "dda-fs-body-lg dda-fw-700 mb-1" }, "Contrast"), index.h("form", { key: '16ff3eb668308d3de610b7d31fe09703f80fdf92' }, index.h("fieldset", { key: 'e60d6ee03d81c4227083d0af770a169612f287d3', class: "dda-theme-list" }, index.h("legend", { key: '5e3bc4f036fd51720049c5f0443ae63717b6f8dc' }, index.h("p", { key: '374381cf5812b6f71abba5ff320b061b80a3f62d', class: "mb-3" }, "Select your preferred contrast setting ")), index.h("dda-radiobutton", { key: 'f51398e186eec4a8e432d54fa04b56768614889e', title_text: "Normal", checked: true, size: "sm", variants: "normal", supporting: "", group_name: "themeselectionmobile", input_id: "NormalMobile", custom_class: "", component_mode: "", aria_label: "radio-button", onClick: this.normalContrasthandler }), index.h("dda-radiobutton", { key: '0903e68c4d56436e1375d11eace6012b0abdc056', title_text: "Colours Blind", checked: false, size: "sm", variants: "normal", supporting: "", group_name: "themeselectionmobile", input_id: "ColoursBlindMobile", custom_class: "", component_mode: "", aria_label: "radio-button", onClick: this.blindContrasthandler }), index.h("dda-radiobutton", { key: '654338fbc2ea136382ba8317a25860e1c6ef035c', title_text: "Red Weakness", checked: false, size: "sm", variants: "normal", supporting: "", group_name: "themeselectionmobile", input_id: "RedWeaknessMobile", custom_class: "", component_mode: "", aria_label: "radio-button", onClick: this.redContrasthandler }), index.h("dda-radiobutton", { key: '7fcb7c39b886f225ded3dfb785ef64a8a96cd3cd', title_text: "Green Weakness", checked: false, size: "sm", variants: "normal", supporting: "", group_name: "themeselectionmobile", input_id: "GreenWeaknessMobile", custom_class: "", component_mode: "", aria_label: "radio-button", onClick: this.greenContrasthandler })))), this.readSpeakerLink && (index.h("div", { key: '670590bb033f934dd1c2a0ff2389852bdf6f6361', class: "dda-col-md-4 dda-accessibility-item" }, index.h("h2", { key: 'bae3c03019f94931a0b2916e2b0a27c4451fd73c', class: "dda-fs-body-lg dda-fw-700 mb-1" }, "Screen Reader"), index.h("p", { key: '5b76889779669cabb33daee5dc521365c69ad96f', class: "mb-3" }, "Listen to the content of the page by clicking play or listen"), index.h("div", { key: '47c3a9f7d45b9a126906eb096eac60bede592c4a', class: "rs_skip rsbtn rs_preserve", id: "readspeaker_button1" }, index.h("a", { key: 'b2ebbc608601aa1fe5820b3fe87f9666ff0fb93d', href: this.readSpeakerLink, rel: "nofollow", class: "rsbtn_play circle readspeaker", accessKey: "L", "aria-label": "Listen to this page using ReadSpeaker" }, index.h("i", { key: 'c3b834ef498cde814d013761d3a37aecb5b4098b', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "volume_up"))))), index.h("div", { key: 'f24c9312dddde483e7ca60ed25c9627b179e6982', class: "dda-col-md-4 dda-accessibility-item" }, index.h("h2", { key: '22f54cd6e591377091ec8af31428ae53a5e0d4c8', class: "dda-fs-body-lg dda-fw-700 mb-1" }, "Text Size"), index.h("p", { key: 'ae950393bfe69fdbff4b858cf293e1add02e5e66', class: "mb-3" }, "Use the buttons below to increase or decrease the text size"), index.h("div", { key: '09bf848262d342e678c6801eec642260226b60ad', class: "d-flex dda-gap-4" }, index.h("dda-button", { key: 'd5c3e531d557d74bb976b8fa35a1b228798b9b6f', button_color: "default-secondary", icon_button_shape: "circle", custom_class: "", size: "lg", onClick: this.baseTexthandler }, "A"), index.h("dda-button", { key: '7ed5564d6d99ace659b878510b412e0028a21b97', button_color: "default-secondary", icon_button_shape: "circle", custom_class: "", size: "lg", onClick: this.lgTexthandler }, "A+"), index.h("dda-button", { key: 'fbcd2b704dbddbd85c022210cd85824b67fe1bc1', button_color: "default-secondary", icon_button_shape: "circle", custom_class: "", size: "lg", onClick: this.smTexthandler }, "A-")))), index.h("button", { key: '0354ef95cce6976ea90307fa3e23a959b91136bf', name: this.close_accessibility_button_name, class: "close-btn close_accessibility", "aria-label": "Close Accessibility", onClick: this.toggleAccessibilty }, index.h("i", { key: 'f4f26c5ff5dafb974c1f0325ae04f235f9eb9bc2', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close")))), index.h("div", { key: '3555e5a4a533f570fc36408d45bba80c23645886' }, index.h("ul", { key: 'ebadb135c7a33a8969fce9c1459f0ae7d9014f43', class: "dda-mega-menu" }, quickLinks.map((link, index$1) => (index.h("li", { key: index$1 }, index.h("a", { href: link.subMenu && link.subMenu.length > 0 ? '#' : link.href, onClick: link.subMenu && link.subMenu.length > 0 ? (e) => this.toggleSubMenu(index$1, e) : undefined, class: link.subMenu && link.subMenu.length > 0 ? `showSub ${this.activeMenuIndex === index$1 ? 'icon_arrow' : ''}` : '' }, link.label), link.subMenu && link.subMenu.length > 0 && (index.h("div", { class: `megamenu-content ${this.activeMenuIndex === index$1 ? 'showSubMenu' : ''}`, style: { display: this.activeMenuIndex === index$1 ? 'block' : 'none' } }, index.h("div", { class: "megamenu-item dda-container" }, index.h("div", { class: "dda-row" }, index.h("div", { class: "dda-col-md-3" }, index.h("h3", { class: "mega-menu-title" }, link.menuLabel), index.h("ul", null, link.subMenu.map((subItem, subIndex) => (index.h("li", { key: subIndex }, index.h("a", { class: "megamenu-link", href: subItem.href }, index.h("span", { class: "dda-btn btn-color-onsurface-secondary btn-size-sm icon-btn-default" }, index.h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, subItem.icon)), index.h("span", { class: "text-wrap" }, index.h("span", { class: "title-text dda-fs-body-lg dda-fw-700" }, subItem.title), index.h("span", { class: "dda-fs-tagline-lg dda-fw-400" }, subItem.description))))))))), index.h("button", { name: "close-mega-menu", class: "close-btn close_mega-menu", "aria-label": "Close Sidebar", onClick: () => setActiveMenuIndex(null) }, index.h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close"))))))))))), index.h("div", { key: '854e24db6dbec2bac0853d6071d46b7e5c221b35', class: "dda-mobile-entt-logo" }, index.h("a", { key: 'cd70858d48dc1d480e50bfa33b5f306cbdad6f4c', href: this.secondLogoHref, class: "entt-logo" }, index.h("img", { key: 'f43c2a7dbf7b67ba9b498eeece2ebe9467883fb6', class: "logo-colored", src: this.secondLogoSrc, alt: this.secondLogoAlt }), index.h("img", { key: '0e89c9bec4ff2f1d9ef2d1eda15ebe3b7c676446', class: "logo-white", src: this.secondLogoWhiteSrc, alt: this.secondLogoAlt }))), index.h("div", { key: 'a5474b5c7addd4133551987abe5df14306e343c2', class: "dda-mobile-search" }, index.h("button", { key: 'a36f8468c93b5c8510311683bf7215c7d9bebb23', name: this.search_button_name, class: "tool-btn", type: "button", "aria-expanded": this.isSearchOpen ? 'true' : 'false', "aria-controls": `${this.searchId}-mobile-panel`, onClick: this.isSearchOpen ? this.closeMobileSearch : this.openMobileSearch, ref: el => (this.mobileSearchButton = el) }, index.h("span", { key: '402360581f2bae5f39d1ae869692933e702ffd3a', class: "visually-hidden" }, "Search"), index.h("i", { key: '7c14bb124fed07e91007fe3e6d4218490cc650e4', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "search"))), index.h("div", { key: 'b7ed041b502925f0637e1e0ed541c0b730430a22', id: `${this.searchId}-mobile-panel`, class: "dda-mobile-search-panel", hidden: !this.isSearchOpen }, index.h("form", { key: '62d1886a6b174d0d20a2d4e49242cff4e3b858e2', class: "dda-mobile-search-form", role: "search", method: "get", action: this.search_action, onSubmit: this.handleSearchSubmit }, this.renderSearchInput(`${this.searchId}-mobile`, el => (this.mobileSearchInput = el)), index.h("button", { key: '70ccebc977fbeba61428f2c5198f113bc2957df5', type: "button", class: "dda-mobile-search-close", "aria-label": "Close search", onClick: this.closeMobileSearch }, index.h("i", { key: '057723af96658930cc885323288117d8c0c54fe2', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close")))), index.h("div", { key: '2ab48d0aac2875a2ed5930a10fdd79ec0943b216', class: "dda-toolbar-menu" }, index.h("ul", { key: 'c3d6e3416dde1ea5a6cf62d01de97b7c0323c957' }, index.h("li", { key: 'efdcdf6436d2a6646f3eeaacd34f1078196b10a1' }, index.h("dda-tooltip", { key: '8ccd71882a96427444ed789ad9eca0e489b99892', title_text: "Search", description: "", position: "top" }, index.h("form", { key: '25dbdf52a3cbfad3fca2f81c07f6ba02042bd4e4', class: "dda-search dda-btn btn-color-onsurface-secondary btn-size-sm btn-shape-circle tool-btn", role: "search", method: "get", action: this.search_action, onSubmit: this.handleSearchSubmit }, this.renderSearchInput(this.searchId)))), index.h("li", { key: '1a5b626026b141cd806fdfa8d88c16f6d08491b0' }, index.h("dda-tooltip", { key: '614f5af0b5193f9b170530249328b5414a4e25bb', title_text: "Accessibility", position: "top" }, index.h("button", { key: '73c599b295f27b8171f5b7765dd60b321e874d1c', name: this.toggle_accessibility_button_name, class: "tool-btn dda-btn btn-color-onsurface-secondary btn-size-sm btn-shape-circle accessibility-btn", type: "button", "aria-expanded": this.isAccessibiltyOpen ? 'true' : 'false', onClick: this.toggleAccessibilty }, index.h("i", { key: 'a0d66112601707ac140afe1ac81f985b78c76365', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "accessibility"), index.h("span", { key: 'f25a594c8ee3f0e292aa2647a892b2f5f6b87af7', class: "visually-hidden" }, "Accessibility"))), index.h("div", { key: '5750bf8f5a0a14bad32bb2bf1da8f0b89a97d333', class: "dda-accessibility-wrap" }, index.h("div", { key: '737965b7dd14b33a84c1c8dd0fd2cad3a7141b2b', class: "dda-accessibility hide-accessibility", style: { display: this.isAccessibiltyOpen ? 'block' : 'none' } }, index.h("div", { key: '1aaffffa4c83f9ee065bc8398c0aeba88afb76af', class: "dda-row" }, index.h("div", { key: 'e8337c48645661d2d381b367a8a4fe3c9564dad6', class: "dda-col-md-4 dda-accessibility-item" }, index.h("h2", { key: '0a0ef35d619401eb9e7a9094dbd6481066862bcd', class: "dda-fs-body-lg dda-fw-700 mb-1" }, "Contrast"), index.h("form", { key: '693850d5a96f978d7ae350c2fa7c71d1b23fe114' }, index.h("fieldset", { key: '15ec283264f3505b50251a148f256810f398f3ff', class: "dda-theme-list" }, index.h("legend", { key: '3b35f9bef60a82c89b75df5c0f02828671625d34' }, index.h("p", { key: '75898cdac310529ad1e3c838995385c53b7d62ab', class: "mb-3" }, "Select your preferred contrast setting ")), index.h("dda-radiobutton", { key: '2d720c4f9c5bd3e4c784040eb35bd5ce54a08d1c', title_text: "Normal", checked: true, size: "sm", variants: "normal", supporting: "", group_name: "themeselection", input_id: "Normal", custom_class: "", component_mode: "", aria_label: "radio-button", onClick: this.normalContrasthandler }), index.h("dda-radiobutton", { key: '1ba2595eacc84a62581722388a2995acd69181b5', title_text: "Colours Blind", checked: false, size: "sm", variants: "normal", supporting: "", group_name: "themeselection", input_id: "ColoursBlind", custom_class: "", component_mode: "", aria_label: "radio-button", onClick: this.blindContrasthandler }), index.h("dda-radiobutton", { key: '529da9f6cea575e7d7f2aaee681b025de4216200', title_text: "Red Weakness", checked: false, size: "sm", variants: "normal", supporting: "", group_name: "themeselection", input_id: "RedWeakness", custom_class: "", component_mode: "", aria_label: "radio-button", onClick: this.redContrasthandler }), index.h("dda-radiobutton", { key: 'a7893807dbea15a170bdc28be26f279ffa9b0735', title_text: "Green Weakness", checked: false, size: "sm", variants: "normal", supporting: "", group_name: "themeselection", input_id: "GreenWeakness", custom_class: "", component_mode: "", aria_label: "radio-button", onClick: this.greenContrasthandler })))), this.readSpeakerLink && (index.h("div", { key: '771a1c410dd2d23369dd9288d92cdca8fe668d7d', class: "dda-col-md-4 dda-accessibility-item" }, index.h("h2", { key: 'eb442afea6c3c89a0889199ed2456610a4317be6', class: "dda-fs-body-lg dda-fw-700 mb-1" }, "Screen Reader"), index.h("p", { key: 'b44535f044e585f9fc866a0f9bfb8ff18891ad25', class: "mb-3" }, "Listen to the content of the page by clicking play or listen"), index.h("div", { key: '597d520cb2cae3c04579cbc5c3dd4c64bde439d0', class: "rs_skip rsbtn rs_preserve", id: "readspeaker_button1" }, index.h("a", { key: 'a477ebdd7ea39a8375797aaedb8fa3fbb63b5bb2', href: this.readSpeakerLink, rel: "nofollow", class: "rsbtn_play circle readspeaker", accessKey: "L", "aria-label": "Listen to this page using ReadSpeaker" }, index.h("i", { key: '6e0a70c58ab21cfe2e51dd5cde2b3d1e0d5567fe', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "volume_up"))))), index.h("div", { key: '569ee1ca086374701b87b831a282237aaee89696', class: "dda-col-md-4 dda-accessibility-item" }, index.h("h2", { key: '8011557e79f3b2a2cc9ae9204558d4f342857b72', class: "dda-fs-body-lg dda-fw-700 mb-1" }, "Text Size"), index.h("p", { key: '412bc7065a2d767b05e045fc008fbbb7c2415193', class: "mb-3" }, "Use the buttons below to increase or decrease the text size"), index.h("div", { key: '863736e26da3cfd0250953f3477d9dcc630bba09', class: "d-flex dda-gap-4" }, index.h("dda-button", { key: '3bed6701006f848c1a398cfebc09887b5708b9b9', button_color: "default-secondary", icon_button_shape: "circle", custom_class: "", size: "lg", onClick: this.baseTexthandler }, "A"), index.h("dda-button", { key: '6b0c58960dfc0ef027cde9f23aa2e4604e5ae82b', button_color: "default-secondary", icon_button_shape: "circle", custom_class: "", size: "lg", onClick: this.lgTexthandler }, "A+"), index.h("dda-button", { key: '36859719ec855a9c820ee785f835babe53d66a13', button_color: "default-secondary", icon_button_shape: "circle", custom_class: "", size: "lg", onClick: this.smTexthandler }, "A-")))), index.h("button", { key: '5eeb28eeff4092f5276c7ad5799b97016921298d', name: this.close_accessibility_button_name, class: "close-btn close_accessibility", "aria-label": "Close Sidebar", onClick: this.toggleAccessibilty }, index.h("i", { key: 'f304a9d206b14774ed885524ad870e410cd838a9', class: "materinal-icons material-symbols-outlined", "aria-hidden": "true" }, "close"))))), index.h("li", { key: '4afaf5c712bf481eb733c43cedaefc85ae3d5868' }, index.h("dda-tooltip", { key: '09c796a5ca271097549e63c124ebaa3a3c0a65f6', title_text: "Language", position: "top" }, index.h("dda-button", { key: '36a733b9fce2fe1e9690bcb46280c29aba29030b', button_color: "onsurface-secondary", custom_class: "tool-btn", button_shape: "circle", size: "sm", lang: this.language_lang, onClick: this.languagehandler }, this.language_text || 'العربية'))), !this.hide_login && (index.h("li", { key: 'ea2b5b451cc255cfe85b594f689d7fdd858c04c4' }, index.h("dda-tooltip", { key: '7ec58a5f79d2c7001b05aa682c63256eb4e7686f', title_text: this.loginText || "Login", position: "top" }, index.h("dda-link-button", { key: 'eac673f812227a6878fd1efba63ec1cd4adfacd5', button_color: "onsurface-secondary", start_icon: this.loginIcon || "sentiment_satisfied", custom_class: "tool-btn", href: this.loginLink, button_shape: "circle", size: "sm" }, this.loginText || "Login")))))))));
|
|
451
|
+
})), !this.hideOtherMenu && otherMenuItems.length > 0 && [
|
|
452
|
+
this.sideOtherMenuTitle && index.h("p", { key: '9c7b8d1dd2d206f984951cef4dad79551c026dcc', class: "dda-side-nav-title" }, this.sideOtherMenuTitle),
|
|
453
|
+
index.h("ul", { key: '42001d954d19a80a7ad6328aeb13bc8f5adfba8d', class: "main_side_menu" }, otherMenuItems.map((item, index$1) => (index.h("li", { key: `other-${index$1}` }, index.h("a", { href: item.href, class: item.active === 'true' ? 'active' : '', "aria-current": item.active === 'true' ? 'page' : undefined }, item.label))))),
|
|
454
|
+
]), index.h("div", { key: '06f5f6931ad39ec607aa10d97c14dd12ab0d4e01', class: "dda-sidemenu-bottom" }, index.h("div", { key: '108a9c80301683c910cc80e81c2b533b76d821a9', class: "dda-sidemenu-gov-logo" }, index.h("a", { key: '4be0fdf0cd40f5e8cff36bbad4acf63d97935bd8', href: this.firstLogoHref, class: "govt-logo mb-2" }, index.h("img", { key: 'b8b00bf0d624299da3ff2f2b824b951620c40be9', class: "", src: this.firstLogoSrc, alt: this.firstLogoAlt }))), index.h("div", { key: 'b0719b41aad4f75366d54e25a967bc8d67952918', class: "dda-toolbar-menu-sidemenu" }, index.h("ul", { key: '52ee920078fbb73ce827fc65e372d2899568a943' }, index.h("li", { key: '768b6f0f85f1304136dd23d0a3d5a9c213600810' }, this.renderAccessibilityButton('mobile')), this.languageLabel && (index.h("li", { key: 'ae2ee87232999ae08a38378c475c38f742b5bf0c' }, index.h("button", { key: '7c08d026b461becf44c5222a040c2544bb8c6b7c', name: this.language_button_name, class: "tool-btn", type: "button", lang: this.language_lang, onClick: this.languagehandler }, this.languageLabel))), this.showLogin && (index.h("li", { key: '5f4f33fca15860af56e9d9d45149f1c391cd31df' }, index.h("dda-link-button", { key: '4af11a09e4d414677b65707f228d3a8bdf85bc04', button_color: "onsurface-secondary", start_icon: this.loginIcon || 'sentiment_satisfied', custom_class: "tool-btn", href: this.loginLink, button_shape: "circle", size: "sm" }, this.loginLabel)))))), index.h("button", { key: 'a2ff2fbce6f369d570ad25efebf6f8f0de85cc04', name: this.close_menu_button_name, class: "close-btn side-nav-close-btn", "aria-label": "Close Sidebar", onClick: this.toggleMenu }, index.h("i", { key: '0334c91beef504626934e695b555d67a9bedbdf6', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close")), this.usePredesignedAccessibilityMenu && (index.h("div", { key: '6668fd9fa40b85d119100f59bf5055ae7767db23', class: "dda-accessibility hide-accessibility mobile-accessibility", style: { display: this.isAccessibiltyOpen ? 'block' : 'none' } }, this.renderAccessibilityColumns('mobile'), index.h("button", { key: 'bdba830a83267399804cf30efb4b454b6dd0bbe0', name: this.close_accessibility_button_name, class: "close-btn close_accessibility", "aria-label": "Close Accessibility", onClick: this.toggleAccessibilty }, index.h("i", { key: '0b9a6819c1bff1b52662386aca02110c6ab8c131', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close"))))), index.h("div", { key: 'bd9ec32ec674f8738a78ff8f53108fdf682a20e0' }, index.h("ul", { key: '38ba8c0d6525077ebfe88c69b1ecfd0fb43e2608', class: "dda-mega-menu" }, quickLinks.map((link, index$1) => {
|
|
455
|
+
const hasSub = link.kind !== 'link';
|
|
456
|
+
const isOpen = this.activeMenuIndex === index$1;
|
|
457
|
+
return (index.h("li", { key: index$1 }, index.h("a", { href: hasSub ? '#' : link.href, onClick: hasSub ? (e) => this.toggleSubMenu(index$1, e) : undefined, class: { showSub: hasSub, icon_arrow: hasSub && isOpen, active: link.active }, "aria-expanded": hasSub ? String(isOpen) : undefined, "aria-controls": hasSub ? this.menuPanelId(index$1) : undefined, "aria-current": link.active && !hasSub ? 'page' : undefined }, link.label), link.kind === 'dropdown' && this.renderDropdown(link, index$1), link.kind === 'mega' && this.renderMega(link, index$1)));
|
|
458
|
+
})))), index.h("div", { key: '005102cc2dffc29276815160605772370a3bc0cc', class: "dda-mobile-entt-logo" }, index.h("a", { key: 'df6a1b8c76455d114c08500ae6502be62f06858c', href: this.secondLogoHref, class: "entt-logo" }, index.h("img", { key: '9a04ddd255475900f45086120543260bfee0de29', class: "logo-colored", src: this.secondLogoSrc, alt: this.secondLogoAlt }), index.h("img", { key: 'f7b56f89406f1df4d1d64a5bb5b9d7b188b7d423', class: "logo-white", src: this.secondLogoWhiteSrc, alt: this.secondLogoAlt }))), index.h("div", { key: 'e8b285e912a1cb2acc55c11615f07ce6d7e6d337', class: "dda-mobile-search" }, this.mobileMenuSearchUrl ? (index.h("a", { id: this.mobileMenuSearchId, href: this.mobileMenuSearchUrl, class: "tool-btn" }, index.h("span", { class: "visually-hidden" }, this.searchText || 'Search'), index.h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "search"))) : (index.h("button", { id: this.mobileMenuSearchId, name: this.search_button_name, class: "tool-btn", type: "button", "aria-expanded": this.isSearchOpen ? 'true' : 'false', "aria-controls": `${this.searchId}-mobile-panel`, onClick: this.isSearchOpen ? this.closeMobileSearch : this.openMobileSearch, ref: el => (this.mobileSearchButton = el) }, index.h("span", { class: "visually-hidden" }, this.searchText || 'Search'), index.h("i", { class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "search")))), !this.mobileMenuSearchUrl && (index.h("div", { key: 'edc649b51bdce87a49162dd8e2d29fa1e5525d50', id: `${this.searchId}-mobile-panel`, class: "dda-mobile-search-panel", hidden: !this.isSearchOpen }, index.h("form", { key: 'e6185f22e6d16c3ecdf3837917f6f5ac12483fa4', class: "dda-mobile-search-form", role: "search", method: "get", action: this.search_action, onSubmit: this.handleSearchSubmit }, this.renderSearchInput(`${this.searchId}-mobile`, el => (this.mobileSearchInput = el)), index.h("button", { key: '82ea4559f09115e8790b654d7c270734a436b0be', type: "button", class: "dda-mobile-search-close", "aria-label": "Close search", onClick: this.closeMobileSearch }, index.h("i", { key: 'fc2e02ff9a6d86f99ae0734d5dc77d9d3988af05', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close"))))), index.h("div", { key: 'caba18a60ff73e65bc70ff1ff082c47782e96ecb', class: "dda-toolbar-menu" }, index.h("ul", { key: 'c976f0088fdf1d9b50da2966aa45d8e66aff7e99' }, index.h("li", { key: '4ffb8b7e65c3516dc2619ed90387708701d65a61' }, index.h("dda-tooltip", { key: 'fee68662ada0b681d894fa47f4377a23a63c02d2', title_text: this.tooltip(this.search_tooltip, 'Search'), description: "", position: "top" }, index.h("form", { key: '981fff0a7cbab22cf454855d46d9fe254488607c', class: "dda-search dda-btn btn-color-onsurface-secondary btn-size-sm btn-shape-circle tool-btn", role: "search", method: "get", action: this.search_action, onSubmit: this.handleSearchSubmit }, this.renderSearchInput(this.searchId)))), index.h("li", { key: 'fa034c28c12012c9e080ffa02ba744c1359e3b71' }, index.h("dda-tooltip", { key: '39f7eeaae844e1aaad97894d3ac01dfe68ae5a6d', title_text: this.tooltip(this.accessibility_tooltip, 'Accessibility'), position: "top" }, this.renderAccessibilityButton('desktop')), this.usePredesignedAccessibilityMenu && (index.h("div", { key: '9bd00b640ddb4dd44497d1d665dfcfdc1bd8befc', class: "dda-accessibility-wrap" }, index.h("div", { key: '9743bd582c5705e1ce9602484f24c7fdd1718ac2', class: "dda-accessibility hide-accessibility", style: { display: this.isAccessibiltyOpen ? 'block' : 'none' } }, this.renderAccessibilityColumns('desktop'), index.h("button", { key: '7b2913e38ed3a3c59023de78254ab8de62abc661', name: this.close_accessibility_button_name, class: "close-btn close_accessibility", "aria-label": "Close Sidebar", onClick: this.toggleAccessibilty }, index.h("i", { key: 'b3aa1577875a36b310c9c52ee909c98940e8a81b', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close")))))), this.languageLabel && (index.h("li", { key: '4d500ce6dfa7253a7ec7d8365f7944b0b09d793b' }, index.h("dda-tooltip", { key: 'd3308456b90d849acfef563a5fde1673606d50ca', title_text: this.tooltip(this.language_tooltip, 'Language'), position: "top" }, index.h("dda-button", { key: '40075897d322fd313a5871ec1b91f6efbac1d14b', button_color: "onsurface-secondary", custom_class: "tool-btn", button_shape: "circle", size: "sm", lang: this.language_lang, onClick: this.languagehandler }, this.languageLabel)))), this.showLogin && (index.h("li", { key: 'ceecde91b63d8bca127ac06e98bcef1abaeb2fc6' }, index.h("dda-tooltip", { key: '0e0af0d68680dbd27af3d7a9fee22f05487729d1', title_text: this.tooltip(this.login_tooltip, this.loginLabel), position: "top" }, index.h("dda-link-button", { key: '4acf05721471dd3434c0875986639f2d673fdf98', button_color: "onsurface-secondary", start_icon: this.loginIcon || 'sentiment_satisfied', custom_class: "tool-btn", href: this.loginLink, button_shape: "circle", size: "sm" }, this.loginLabel)))))))));
|
|
274
459
|
}
|
|
275
460
|
get el() { return index.getElement(this); }
|
|
276
461
|
static get watchers() { return {
|