@dubai-design-system/components-js 3.11.7 → 3.11.8

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.
Files changed (85) hide show
  1. package/dist/cjs/dda-header-menu_3.cjs.entry.js +24 -6
  2. package/dist/cjs/dda-header-menu_3.cjs.entry.js.map +1 -1
  3. package/dist/cjs/dda-search-input.cjs.entry.js +27 -3
  4. package/dist/cjs/dda-search-input.cjs.entry.js.map +1 -1
  5. package/dist/cjs/dda-select.cjs.entry.js +36 -3
  6. package/dist/cjs/dda-select.cjs.entry.js.map +1 -1
  7. package/dist/cjs/dda-tabs.cjs.entry.js +18 -14
  8. package/dist/cjs/dda-tabs.cjs.entry.js.map +1 -1
  9. package/dist/cjs/dda.cjs.js +1 -1
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/collection/components/dda-header-menu/dda-header-menu.css +226 -187
  12. package/dist/collection/components/dda-input/dda-input.js +64 -5
  13. package/dist/collection/components/dda-input/dda-input.js.map +1 -1
  14. package/dist/collection/components/dda-search-input/dda-search-input.js +72 -3
  15. package/dist/collection/components/dda-search-input/dda-search-input.js.map +1 -1
  16. package/dist/collection/components/dda-select/dda-select.js +81 -3
  17. package/dist/collection/components/dda-select/dda-select.js.map +1 -1
  18. package/dist/collection/components/dda-tabs/dda-tabs.js +20 -16
  19. package/dist/collection/components/dda-tabs/dda-tabs.js.map +1 -1
  20. package/dist/components/dda-header-menu.js +1 -1
  21. package/dist/components/dda-header.js +2 -2
  22. package/dist/components/dda-input.js +1 -1
  23. package/dist/components/dda-search-input.js +32 -4
  24. package/dist/components/dda-search-input.js.map +1 -1
  25. package/dist/components/dda-select.js +41 -4
  26. package/dist/components/dda-select.js.map +1 -1
  27. package/dist/components/dda-tabs.js +18 -14
  28. package/dist/components/dda-tabs.js.map +1 -1
  29. package/dist/components/{p-93bcdccb.js → p-589645ea.js} +29 -7
  30. package/dist/components/p-589645ea.js.map +1 -0
  31. package/dist/components/{p-60cb6934.js → p-f0f752d2.js} +2 -2
  32. package/dist/components/p-f0f752d2.js.map +1 -0
  33. package/dist/dda/dda.esm.js +1 -1
  34. package/dist/dda/dda.esm.js.map +1 -1
  35. package/dist/dda/p-0e352b46.entry.js +2 -0
  36. package/dist/dda/p-0e352b46.entry.js.map +1 -0
  37. package/dist/dda/p-a4eeb3f8.entry.js +2 -0
  38. package/dist/dda/p-a4eeb3f8.entry.js.map +1 -0
  39. package/dist/dda/p-c034b0f0.entry.js +2 -0
  40. package/dist/dda/p-c034b0f0.entry.js.map +1 -0
  41. package/dist/dda/{p-1fad7e82.entry.js → p-e5783b18.entry.js} +2 -2
  42. package/dist/dda/p-e5783b18.entry.js.map +1 -0
  43. package/dist/esm/dda-header-menu_3.entry.js +24 -6
  44. package/dist/esm/dda-header-menu_3.entry.js.map +1 -1
  45. package/dist/esm/dda-search-input.entry.js +27 -3
  46. package/dist/esm/dda-search-input.entry.js.map +1 -1
  47. package/dist/esm/dda-select.entry.js +36 -3
  48. package/dist/esm/dda-select.entry.js.map +1 -1
  49. package/dist/esm/dda-tabs.entry.js +18 -14
  50. package/dist/esm/dda-tabs.entry.js.map +1 -1
  51. package/dist/esm/dda.js +1 -1
  52. package/dist/esm/loader.js +1 -1
  53. package/dist/types/components/dda-input/dda-input.d.ts +4 -0
  54. package/dist/types/components/dda-search-input/dda-search-input.d.ts +4 -0
  55. package/dist/types/components/dda-select/dda-select.d.ts +3 -0
  56. package/dist/types/components/dda-tabs/dda-tabs.d.ts +1 -2
  57. package/dist/types/components.d.ts +8 -2
  58. package/package.json +2 -2
  59. package/readme.md +4 -0
  60. package/www/build/dda.esm.js +1 -1
  61. package/www/build/dda.esm.js.map +1 -1
  62. package/www/build/p-0e352b46.entry.js +2 -0
  63. package/www/build/p-0e352b46.entry.js.map +1 -0
  64. package/www/build/p-a4eeb3f8.entry.js +2 -0
  65. package/www/build/p-a4eeb3f8.entry.js.map +1 -0
  66. package/www/build/p-c034b0f0.entry.js +2 -0
  67. package/www/build/p-c034b0f0.entry.js.map +1 -0
  68. package/www/build/{p-1fad7e82.entry.js → p-e5783b18.entry.js} +2 -2
  69. package/www/build/p-e5783b18.entry.js.map +1 -0
  70. package/dist/components/p-60cb6934.js.map +0 -1
  71. package/dist/components/p-93bcdccb.js.map +0 -1
  72. package/dist/dda/p-1fad7e82.entry.js.map +0 -1
  73. package/dist/dda/p-48f0e5e3.entry.js +0 -2
  74. package/dist/dda/p-48f0e5e3.entry.js.map +0 -1
  75. package/dist/dda/p-a5199deb.entry.js +0 -2
  76. package/dist/dda/p-a5199deb.entry.js.map +0 -1
  77. package/dist/dda/p-bd419f43.entry.js +0 -2
  78. package/dist/dda/p-bd419f43.entry.js.map +0 -1
  79. package/www/build/p-1fad7e82.entry.js.map +0 -1
  80. package/www/build/p-48f0e5e3.entry.js +0 -2
  81. package/www/build/p-48f0e5e3.entry.js.map +0 -1
  82. package/www/build/p-a5199deb.entry.js +0 -2
  83. package/www/build/p-a5199deb.entry.js.map +0 -1
  84. package/www/build/p-bd419f43.entry.js +0 -2
  85. package/www/build/p-bd419f43.entry.js.map +0 -1
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-39924b9e.js');
6
6
 
7
- const ddaHeaderMenuCss = ".dda-mega-menu{margin:0;padding:0;list-style:none;display:flex;align-items:center}.dda-mega-menu>li{position:relative}.dda-mega-menu>li>a{display:block;font-size:var(--font-body);font-weight:var(--font-weight-regular);color:var(--dda-on-surface-0);padding:20px 16px;position:relative}.dda-mega-menu>li:hover>a,.dda-mega-menu>li>a.active{color:var(--dda-color-primary-40)}body.transparent .dda-mega-menu>li>a{color:var(--dda-neutral-100)}.dda-mega-menu>li>a::after{content:\"\";position:absolute;bottom:0;left:50%;width:0;height:4px;background-color:var(--dda-color-primary-40);border-radius:8px 8px 0px 0px;transform:translateX(-50%);}body.transparent .dda-mega-menu>li>a::after{background-color:var(--dda-neutral-100)}.dda-mega-menu>li:hover>a::after,.dda-mega-menu>li>a:focus-visible:after,.dda-mega-menu>li>a.active::after{width:calc(100% - 32px)}.dda-header-menu li{list-style:none}.dda-header-menu li::marker{display:none}.dda-default-submenu{display:none;min-width:300px;height:325px;overflow-x:hidden;overflow-y:auto;position:absolute;top:100%;inset-inline-start:0;padding-top:5px}.dda-default-submenu a,.dda-default-submenu .dda-submenu-title{position:relative;font-size:var(--font-body);font-weight:var(--font-weight-regular)}.dda-default-submenu a.has-submenu::after{content:\"\";width:6px;height:6px;border-right:solid 1px var(--dda-color-primary-40);border-bottom:solid 1px var(--dda-color-primary-40);position:absolute;top:50%;inset-inline-end:9px;margin-top:-4.5px;transform:rotate(-45deg)}:root[dir='rtl'] .dda-default-submenu a.has-submenu::after{transform:rotate(135deg)}.dda-default-submenu span{display:block;border-bottom:solid 1px #ddd;padding:5px 8px 10px 8px;margin-bottom:5px}.dda-default-submenu>ul{width:100%;background-color:var(--dda-surface-100);border-radius:5px;padding:10px !important;box-shadow:0px 6px 7px 0px rgba(0, 0, 0, 0.13)}.dda-default-submenu ul li{list-style:none;position:relative;margin-bottom:1px}.dda-default-submenu ul li a{font-size:var(--font-body);font-weight:var(--font-weight-regular);color:var(--dda-on-surface-0);display:block;padding:10px 7px;border-radius:8px}.dda-default-submenu ul li:hover>a,.dda-default-submenu ul li a.active{background-color:var(--dda-on-primary-98);color:var(--dda-on-primary-variant-40)}.dda-default-subsubmenu{display:none;width:300px;position:absolute;inset-inline-start:100%;top:0;margin-inline-start:15px}.dda-default-subsubmenu.is-visible{display:block}.dda-default-subsubmenu .dda-default-subsubmenu-content{width:100%;background-color:var(--dda-surface-100);border-radius:5px;padding:10px !important;box-shadow:0px 6px 7px 0px rgba(0, 0, 0, 0.13)}.dda-default-subsubmenu-content ol{padding:0px}.dda-main-megamenu{display:none;width:100%;position:fixed;inset-inline-start:0}.dda-megamenu-wrap{width:90vw;margin:0 auto;padding-top:5px}.dda-megamenu-content{height:300px;overflow-x:hidden;overflow-y:auto;background:var(--dda-surface-100);border-radius:8px;margin:0 auto;padding:42px 15px;box-shadow:0px 10px 15px -3px rgba(16, 24, 40, 0.1);position:relative}.dda-mega-menu>li:hover .dda-default-submenu,.dda-mega-menu>li:hover .dda-main-megamenu,.dda-default-submenu.is-visible,.dda-main-megamenu.is-visible{display:block}.dda-megamenu-content ol{display:flex;flex-direction:column;gap:8px;padding:0 !important}.dda-megamenu-content .megamemu-sub-title{font-size:var(--font-h6);font-weight:var(--font-weight-regular);padding:8px 15px 8px 15px}.dda-megamenu-content .dda-mega-menu-link{width:100%;display:flex;align-items:center;gap:15px;padding:10px 16px;background:var(--dda-surface-100);color:var(--dda-on-surface-0);border-radius:8px;}.dda-megamenu-content .dda-mega-menu-link:hover{background-color:var(--dda-on-primary-98)}.dda-mega-menu-link{display:block}.dda-mega-menu-link .dda-mega-menu-icon{width:40px;height:40px;background:var(--dda-on-primary-94);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--dda-color-primary-40)}.dda-mega-menu-link .text-wrap{display:flex;flex:1;flex-direction:column}.dda-mega-menu-link .dda-mega-menu-text{display:block;font-size:var(--font-body);font-weight:var(--font-weight-regular)}.dda-mega-menu-link .dda-mega-menu-desc{font-size:var(--font-caption);font-weight:var(--font-weight-regular);color:var(--dda-on-surface-variant-30);max-height:40px;overflow:hidden}.dda-mega-menu a:focus-visible{outline:solid 2px var(--dda-primary-variant-87) !important;outline-offset:0px}@media (max-width: 1024px){.dda-mega-menu{display:none}}@media (prefers-reduced-motion: no-preference){.dda-mega-menu>li>a::after{transition:all 0.25s ease-in-out}.dda-megamenu-content .dda-mega-menu-link{transition:all 500ms ease}}";
7
+ const ddaHeaderMenuCss = ".dda-mega-menu{margin:0;padding:0;list-style:none;display:flex;align-items:center}.dda-mega-menu>li{position:relative}.dda-mega-menu>li>a{display:block;font-size:var(--font-body);font-weight:var(--font-weight-regular);color:var(--dda-on-surface-0);padding:20px 16px;position:relative}.dda-mega-menu>li:hover>a,.dda-mega-menu>li>a.active{color:var(--dda-color-primary-40)}body.transparent .dda-mega-menu>li>a{color:var(--dda-neutral-100)}.dda-mega-menu>li>a::after{content:'';position:absolute;bottom:0;left:50%;width:0;height:4px;background-color:var(--dda-color-primary-40);border-radius:8px 8px 0px 0px;transform:translateX(-50%);}body.transparent .dda-mega-menu>li>a::after{background-color:var(--dda-neutral-100)}.dda-mega-menu>li:hover>a::after,.dda-mega-menu>li>a:focus-visible:after,.dda-mega-menu>li>a.active::after{width:calc(100% - 32px)}.dda-header-menu li{list-style:none}.dda-header-menu li::marker{display:none}.dda-default-submenu{display:none;min-width:350px;position:absolute;top:100%;inset-inline-start:0;padding-top:5px}.dda-default-submenu ul{max-height:325px;overflow:visible;overflow-x:visible;overflow-y:auto}.dda-default-submenu ul::-webkit-scrollbar{width:6px}.dda-default-submenu ul::-webkit-scrollbar-track{background:transparent}.dda-default-submenu ul::-webkit-scrollbar-thumb{background:var(--dda-on-primary-98)}.dda-default-submenu:hover ul::-webkit-scrollbar-thumb{background:var(--dda-on-primary-98)}.dda-default-submenu a,.dda-default-submenu .dda-submenu-title{position:relative;font-size:var(--font-body);font-weight:var(--font-weight-regular)}.dda-default-submenu a.has-submenu::after{content:'';width:6px;height:6px;border-right:solid 1px var(--dda-color-primary-40);border-bottom:solid 1px var(--dda-color-primary-40);position:absolute;top:50%;inset-inline-end:9px;margin-top:-4.5px;transform:rotate(-45deg)}:root[dir='rtl'] .dda-default-submenu a.has-submenu::after{transform:rotate(135deg)}.dda-default-submenu span{display:block;border-bottom:solid 1px #ddd;padding:5px 8px 10px 8px;margin-bottom:5px}.dda-default-submenu>ul{width:100%;max-width:350px;background-color:var(--dda-surface-100);border-radius:5px;padding:10px !important;box-shadow:0px 6px 7px 0px rgba(0, 0, 0, 0.13)}.dda-default-submenu ul li{list-style:none;position:relative;margin-bottom:1px}.dda-default-submenu ul li a{font-size:var(--font-body);font-weight:var(--font-weight-regular);color:var(--dda-on-surface-0);display:block;padding:10px 7px;border-radius:8px}.dda-default-submenu ul li:hover>a,.dda-default-submenu ul li a.active{background-color:var(--dda-on-primary-98);color:var(--dda-on-primary-variant-40)}.dda-default-subsubmenu{display:none;width:300px;position:absolute;inset-inline-start:100%;top:0;margin-inline-start:15px}.dda-default-subsubmenu.is-visible{display:block;padding:0px 5px}.dda-default-subsubmenu .dda-default-subsubmenu-content{max-width:100%;background-color:var(--dda-surface-100);border-radius:5px;padding:10px !important;box-shadow:0px 6px 7px 0px rgba(0, 0, 0, 0.13);position:fixed;width:350px}.dda-default-subsubmenu-content ol{padding:0px}.dda-main-megamenu{display:none;width:100%;position:fixed;inset-inline-start:0}.dda-megamenu-wrap{width:90vw;margin:0 auto;padding-top:5px}.dda-megamenu-content{height:300px;overflow-x:visible;overflow-y:auto;background:var(--dda-surface-100);border-radius:8px;margin:0 auto;padding:42px 15px;box-shadow:0px 10px 15px -3px rgba(16, 24, 40, 0.1);position:relative}.dda-megamenu-content::-webkit-scrollbar{width:6px}.dda-megamenu-content::-webkit-scrollbar-track{background:transparent}.dda-megamenu-content::-webkit-scrollbar-thumb{background:var(--dda-on-primary-98)}.dda-megamenu-content::-webkit-scrollbar-thumb:hover{background:var(--dda-on-primary-98)}.dda-mega-menu>li:hover .dda-default-submenu,.dda-mega-menu>li:hover .dda-main-megamenu,.dda-default-submenu.is-visible,.dda-main-megamenu.is-visible{display:block}.dda-megamenu-content ol{display:flex;flex-direction:column;gap:8px;padding:0 !important}.dda-megamenu-content .megamemu-sub-title{font-size:var(--font-h6);font-weight:var(--font-weight-regular);padding:8px 15px 8px 15px}.dda-megamenu-content .dda-mega-menu-link{width:100%;display:flex;align-items:center;gap:15px;padding:10px 16px;background:var(--dda-surface-100);color:var(--dda-on-surface-0);border-radius:8px;}.dda-megamenu-content .dda-mega-menu-link:hover{background-color:var(--dda-on-primary-98)}.dda-mega-menu-link{display:block}.dda-mega-menu-link .dda-mega-menu-icon{width:40px;height:40px;background:var(--dda-on-primary-94);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--dda-color-primary-40)}.dda-mega-menu-link .text-wrap{display:flex;flex:1;flex-direction:column}.dda-mega-menu-link .dda-mega-menu-text{display:block;font-size:var(--font-body);font-weight:var(--font-weight-regular)}.dda-mega-menu-link .dda-mega-menu-desc{font-size:var(--font-caption);font-weight:var(--font-weight-regular);color:var(--dda-on-surface-variant-30);max-height:40px;overflow:hidden}.dda-mega-menu a:focus-visible{outline:solid 2px var(--dda-primary-variant-87) !important;outline-offset:0px}@media (max-width: 1024px){.dda-mega-menu{display:none}}@media (prefers-reduced-motion: no-preference){.dda-mega-menu>li>a::after{transition:all 0.25s ease-in-out}.dda-megamenu-content .dda-mega-menu-link{transition:all 500ms ease}}";
8
8
  const DdaHeaderMenuStyle0 = ddaHeaderMenuCss;
9
9
 
10
10
  const DdaHeaderMenu = class {
@@ -129,6 +129,20 @@ const DdaInput = class {
129
129
  async getValue() {
130
130
  return this.internalValue || this.value || '';
131
131
  }
132
+ watchValue(newValue) {
133
+ this.internalValue = newValue || '';
134
+ }
135
+ async setValue(val) {
136
+ this.internalValue = val;
137
+ this.inputChanged.emit(val);
138
+ }
139
+ async reset() {
140
+ this.internalValue = '';
141
+ this.inputChanged.emit('');
142
+ }
143
+ componentWillLoad() {
144
+ this.internalValue = this.value || '';
145
+ }
132
146
  componentDidLoad() {
133
147
  // Hide date input placeholder
134
148
  if (this.type === 'date') {
@@ -159,17 +173,21 @@ const DdaInput = class {
159
173
  this.type === 'disabled' ? 'dda-input-disabled' : '',
160
174
  this.custom_class,
161
175
  this.component_mode,
162
- ].filter(Boolean).join(' ');
163
- return (index.h(index.Host, { key: 'b9fb5ad1dafba6f7c6f84ac991fbe39906f3eecc' }, index.h("div", { key: 'd0ebec077208be7b411944c4383bfa6e9643fe48', class: inputClass }, this.label &&
164
- index.h("label", { key: '1ea6a5732274284a5abedcbecc9ae6b1284b7cb4', htmlFor: this.input_id, class: "dda-input-label", id: `${this.input_id}-label` }, this.label), index.h("input", { key: 'a80e738b74bb6f5f65670ab40491a48028349176', id: this.input_id, name: this.input_name, class: `dda-input-field dda-input-text ${this.type === 'date' && this.value ? 'has-value' : ''}`, type: this.type, role: this.input_role, placeholder: this.placeholder, value: this.internalValue || this.value, "aria-required": this.required ? 'true' : undefined, "aria-invalid": this.validation_type === 'error' ? 'true' : 'false', "aria-describedby": `${this.input_id}-label`, "aria-label": !this.label ? this.aria_label : undefined, onInput: (event) => {
176
+ ]
177
+ .filter(Boolean)
178
+ .join(' ');
179
+ return (index.h(index.Host, { key: '4e003cdf89adeda38b90792d6347e7eea6d66f38' }, index.h("div", { key: '592b69be98bbba7466d13eafe1a7d8f1aaa6dced', class: inputClass }, this.label && (index.h("label", { key: '2ade0edb9bf64d6afeb4c4fd108721f42cc88df8', htmlFor: this.input_id, class: "dda-input-label", id: `${this.input_id}-label` }, this.label)), index.h("input", { key: '03a91a4707af534a9fb20116e3af0f08e1ecfd27', id: this.input_id, name: this.input_name, class: `dda-input-field dda-input-text ${this.type === 'date' && this.value ? 'has-value' : ''}`, type: this.type, role: this.input_role, placeholder: this.placeholder, value: this.internalValue, "aria-required": this.required ? 'true' : undefined, "aria-invalid": this.validation_type === 'error' ? 'true' : 'false', "aria-describedby": `${this.input_id}-label`, "aria-label": !this.label ? this.aria_label : undefined, onInput: event => {
165
180
  this.internalValue = event.target.value;
166
- this.inputChanged.emit(event);
167
- }, onBlur: (event) => {
181
+ this.inputChanged.emit(this.internalValue);
182
+ }, onBlur: event => {
168
183
  const value = event.target.value.trim();
169
184
  this.inputBlurred.emit({ name: this.input_name, value });
170
185
  } }), this.validation_type === 'error' && this.error_message ? (index.h("span", { class: "dda-error-message", id: this.validation_id, role: "alert" }, this.error_message)) : (this.helper_text && (index.h("span", { class: "dda-helper-text", id: this.validation_id }, this.helper_text))))));
171
186
  }
172
187
  get el() { return index.getElement(this); }
188
+ static get watchers() { return {
189
+ "value": ["watchValue"]
190
+ }; }
173
191
  };
174
192
 
175
193
  const ddaRadiobuttonCss = ".dda-radio-container{display:inline-flex;align-items:center}.dda-radio-container input[type=\"radio\"]{width:0;height:0;position:absolute;opacity:0}.dda-radio-container label{cursor:pointer;display:inline-flex;align-items:flex-start;gap:10px}.dda-radio-container .radio-circle{display:inline-block;margin-top:2px;background:var(--dda-neutral-100);border-radius:50px;box-shadow:0px 0px 0px 2px var(--dda-color-primary-40) inset, 0px 0px 0px 5px var(--dda-neutral-100) inset}.light-mode.dda-radio-container .radio-circle{box-shadow:0px 0px 0px 2px var(--dda-primary-40) inset, 0px 0px 0px 5px var(--dda-neutral-100) inset}.dda-radio-container input[type=\"radio\"]:checked~label .radio-circle{background:var(--dda-color-primary-40);box-shadow:0px 0px 0px 2px var(--dda-color-primary-40) inset, 0px 0px 0px 5px var(--dda-primary-95) inset}.light-mode.dda-radio-container input[type=\"radio\"]:checked~label .radio-circle{background:var(--dda-primary-40);box-shadow:0px 0px 0px 2px var(--dda-primary-40) inset, 0px 0px 0px 5px var(--dda-primary-95) inset}.dda-radio-container input[type=\"radio\"]:checked:focus-within~label .radio-circle{background:var(--dda-color-primary-40);box-shadow:0px 0px 0px 2px var(--dda-color-primary-40) inset, 0px 0px 0px 5px var(--dda-primary-95) inset, 0px 0px 0px 3px var(--dda-primary-95)}.light-mode.dda-radio-container input[type=\"radio\"]:checked:focus-within~label .radio-circle{background:var(--dda-primary-40);box-shadow:0px 0px 0px 2px var(--dda-primary-40) inset, 0px 0px 0px 5px var(--dda-primary-95) inset, 0px 0px 0px 3px var(--dda-primary-95)}.dda-radio-outlined .radio-circle{background:var(--dda-neutral-100);box-shadow:0px 0px 0px 2px var(--dda-surface-90) inset}.light-mode.dda-radio-outlined .radio-circle{box-shadow:0px 0px 0px 2px var(--dda-neutral-90) inset}.dda-radio-outlined input[type=\"radio\"]:checked~label .radio-circle{box-shadow:0px 0px 0px 2px var(--dda-color-primary-40) inset, 0px 0px 0px 5px var(--dda-surface-100) inset}.dda-radio-outlined input[type=\"radio\"]:checked:focus-within~label .radio-circle{box-shadow:0px 0px 0px 2px var(--dda-color-primary-40) inset, 0px 0px 0px 5px var(--dda-surface-100) inset, 0px 0px 0px 3px var(--dda-primary-95)}.dda-radio-faded .radio-circle{background:var(--dda-neutral-90);box-shadow:0px 0px 0px 2px var(--dda-neutral-90) inset, 0px 0px 0px 5px var(--dda-neutral-100) inset}.dda-radio-faded input[type=\"radio\"]:checked~label .radio-circle{box-shadow:0px 0px 0px 2px var(--dda-neutral-90) inset, 0px 0px 0px 5px var(--dda-neutral-100) inset}.dda-radio-faded input[type=\"radio\"]:checked:focus-within~label .radio-circle{box-shadow:0px 0px 0px 2px var(--dda-neutral-90) inset, 0px 0px 0px 5px var(--dda-neutral-100) inset, 0px 0px 0px 3px #F2F4F3}.dda-radio-small .radio-circle{width:17px;height:17px}.dda-radio-default .radio-circle{width:21px;height:21px}.dda-radio-container label p{margin:0px}.radio-title{font-size:var(--font-body);color:var(--dda-on-surface-0);font-weight:var(--font-weight-regular);display:block}.light-mode .radio-title{color:var(--dda-neutral-0)}.dda-radio-lg label .radio-title{font-size:var(--dda-fs-title-sm)}.radio-supporting{display:block;font-size:var(--font-small);font-weight:var(--font-weight-regular);color:var(--dda-on-surface-variant-30)}.dda-radio-container .radio-error-message{display:block;font-size:var(--font-small);font-weight:var(--font-weight-regular);color:var(--dda-color-error-40)}.light-mode .radio-supporting{color:var(--dda-neutral-variant-30)}.dda-radio-lg label .radio-supporting{font-size:var(--font-caption)}.dda-radio-disabled{pointer-events:none}.dda-radio-container.dda-radio-disabled .radio-circle{box-shadow:0px 0px 0px 2px var(--dda-neutral-90) inset, 0px 0px 0px 5px var(--dda-neutral-100) inset}";
@@ -1 +1 @@
1
- {"file":"dda-header-menu.dda-input.dda-radiobutton.entry.cjs.js","mappings":"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","names":["h","Host","index"],"sources":["src/components/dda-header-menu/dda-header-menu.css?tag=dda-header-menu","src/components/dda-header-menu/dda-header-menu.tsx","src/components/dda-input/dda-input.tsx","src/components/dda-radiobutton/dda-radiobutton.css?tag=dda-radiobutton","src/components/dda-radiobutton/dda-radiobutton.tsx"],"sourcesContent":[".dda-mega-menu {\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n display: flex;\r\n align-items: center;\r\n}\r\n.dda-mega-menu>li{\r\n position: relative;\r\n}\r\n.dda-mega-menu>li>a {\r\n display: block;\r\n font-size: var(--font-body);\r\n font-weight: var(--font-weight-regular);\r\n color: var(--dda-on-surface-0);\r\n padding: 20px 16px;\r\n position: relative;\r\n}\r\n\r\n.dda-mega-menu>li:hover>a,\r\n.dda-mega-menu>li>a.active {\r\n color: var(--dda-color-primary-40);\r\n}\r\n\r\nbody.transparent .dda-mega-menu>li>a {\r\n color: var(--dda-neutral-100);\r\n}\r\n\r\n.dda-mega-menu>li>a::after {\r\n content: \"\";\r\n position: absolute;\r\n bottom: 0;\r\n left: 50%;\r\n width: 0;\r\n height: 4px;\r\n background-color: var(--dda-color-primary-40);\r\n border-radius: 8px 8px 0px 0px;\r\n transform: translateX(-50%);\r\n /* transition: all 0.25s ease-in-out; */\r\n}\r\n\r\nbody.transparent .dda-mega-menu>li>a::after {\r\n background-color: var(--dda-neutral-100);\r\n}\r\n\r\n.dda-mega-menu>li:hover>a::after,\r\n.dda-mega-menu>li>a:focus-visible:after,\r\n.dda-mega-menu>li>a.active::after {\r\n width: calc(100% - 32px);\r\n}\r\n/********************************/\r\n.dda-header-menu li{\r\n list-style: none;\r\n}\r\n.dda-header-menu li::marker{\r\n display: none;\r\n}\r\n.dda-default-submenu{\r\n display: none;\r\n min-width: 300px;\r\n height: 325px;\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n position: absolute;\r\n top: 100%;\r\n inset-inline-start: 0;\r\n padding-top: 5px;\r\n}\r\n\r\n.dda-default-submenu a,\r\n.dda-default-submenu .dda-submenu-title{\r\n position: relative;\r\n font-size: var(--font-body);\r\n font-weight: var(--font-weight-regular);\r\n}\r\n\r\n.dda-default-submenu a.has-submenu::after{\r\n content: \"\";\r\n width: 6px;\r\n height: 6px;\r\n border-right: solid 1px var(--dda-color-primary-40);\r\n border-bottom: solid 1px var(--dda-color-primary-40);\r\n position: absolute;\r\n top: 50%;\r\n inset-inline-end: 9px;\r\n margin-top: -4.5px;\r\n transform: rotate(-45deg);\r\n}\r\n:root[dir='rtl'] .dda-default-submenu a.has-submenu::after{\r\n transform: rotate(135deg);\r\n}\r\n\r\n.dda-default-submenu span{\r\n display: block;\r\n border-bottom: solid 1px #ddd;\r\n padding: 5px 8px 10px 8px;\r\n margin-bottom: 5px;\r\n}\r\n\r\n.dda-default-submenu > ul{\r\n width: 100%;\r\n background-color: var(--dda-surface-100);\r\n border-radius: 5px;\r\n padding: 10px !important;\r\n box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.13);\r\n}\r\n\r\n.dda-default-submenu ul li{\r\n list-style: none;\r\n position: relative;\r\n margin-bottom: 1px;\r\n}\r\n.dda-default-submenu ul li a{\r\n font-size: var(--font-body);\r\n font-weight: var(--font-weight-regular);\r\n color: var(--dda-on-surface-0);\r\n display: block;\r\n padding: 10px 7px;\r\n border-radius: 8px;\r\n}\r\n.dda-default-submenu ul li:hover > a,\r\n.dda-default-submenu ul li a.active{\r\n background-color: var(--dda-on-primary-98);\r\n color: var(--dda-on-primary-variant-40);\r\n}\r\n\r\n.dda-default-subsubmenu {\r\n display: none;\r\n width: 300px;\r\n position: absolute;\r\n inset-inline-start: 100%;\r\n top: 0;\r\n margin-inline-start: 15px;\r\n}\r\n.dda-default-subsubmenu.is-visible {\r\n display: block;\r\n}\r\n.dda-default-subsubmenu .dda-default-subsubmenu-content{\r\n width: 100%;\r\n background-color: var(--dda-surface-100);\r\n border-radius: 5px;\r\n padding: 10px !important;\r\n box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.13);\r\n}\r\n.dda-default-subsubmenu-content ol{\r\n padding: 0px;\r\n}\r\n\r\n.dda-main-megamenu{\r\n display: none;\r\n width: 100%;\r\n position: fixed;\r\n inset-inline-start: 0;\r\n}\r\n.dda-megamenu-wrap{\r\n width: 90vw;\r\n margin: 0 auto;\r\n padding-top: 5px;\r\n}\r\n.dda-megamenu-content{\r\n height: 300px;\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n background: var(--dda-surface-100);\r\n border-radius: 8px;\r\n margin: 0 auto;\r\n padding: 42px 15px;\r\n box-shadow: 0px 10px 15px -3px rgba(16, 24, 40, 0.1);\r\n position: relative;\r\n}\r\n.dda-mega-menu > li:hover .dda-default-submenu,\r\n.dda-mega-menu > li:hover .dda-main-megamenu,\r\n.dda-default-submenu.is-visible,\r\n.dda-main-megamenu.is-visible{\r\n display: block;\r\n}\r\n.dda-megamenu-content ol{\r\n display: flex;\r\n flex-direction: column;\r\n gap: 8px;\r\n padding: 0 !important;\r\n}\r\n.dda-megamenu-content .megamemu-sub-title{\r\n font-size: var(--font-h6);\r\n font-weight: var(--font-weight-regular);\r\n padding: 8px 15px 8px 15px;\r\n}\r\n\r\n.dda-megamenu-content .dda-mega-menu-link {\r\n width: 100%;\r\n display: flex;\r\n align-items: center;\r\n gap: 15px;\r\n padding: 10px 16px;\r\n background: var(--dda-surface-100);\r\n color: var(--dda-on-surface-0);\r\n border-radius: 8px;\r\n /* transition: all 500ms ease; */\r\n}\r\n.dda-megamenu-content .dda-mega-menu-link:hover{\r\n background-color: var(--dda-on-primary-98);\r\n}\r\n.dda-mega-menu-link{\r\n display: block;\r\n}\r\n\r\n.dda-mega-menu-link .dda-mega-menu-icon {\r\n width: 40px;\r\n height: 40px;\r\n background: var(--dda-on-primary-94);\r\n border-radius: 8px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\tcolor: var(--dda-color-primary-40);\r\n}\r\n\r\n.dda-mega-menu-link .text-wrap {\r\n display: flex;\r\n flex: 1;\r\n flex-direction: column;\r\n}\r\n\r\n.dda-mega-menu-link .dda-mega-menu-text {\r\n display: block;\r\n font-size: var(--font-body);\r\n font-weight: var(--font-weight-regular);\r\n}\r\n\r\n.dda-mega-menu-link .dda-mega-menu-desc {\r\n font-size: var(--font-caption);\r\n font-weight: var(--font-weight-regular);\r\n color: var(--dda-on-surface-variant-30);\r\n max-height: 40px;\r\n overflow: hidden;\r\n}\r\n.dda-mega-menu a:focus-visible{\r\n outline: solid 2px var(--dda-primary-variant-87) !important;\r\n outline-offset: 0px;\r\n}\r\n\r\n@media (max-width: 1024px) {\r\n .dda-mega-menu {\r\n display: none;\r\n }\r\n}\r\n\r\n@media (prefers-reduced-motion: no-preference) {\r\n .dda-mega-menu>li>a::after {\r\n transition: all 0.25s ease-in-out;\r\n }\r\n .dda-megamenu-content .dda-mega-menu-link {\r\n transition: all 500ms ease;\r\n }\r\n \r\n}","import { Component, Host, h, Prop, State, Element, Listen, EventEmitter, Event } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-header-menu',\r\n styleUrls: ['dda-header-menu.css'],\r\n shadow: false,\r\n})\r\nexport class DdaHeaderMenu {\r\n @Element() el: HTMLElement;\r\n \r\n @Event() navigatorClick?: EventEmitter<string>;\r\n @Prop() showQuickLinksIcon: boolean;\r\n @Prop() useNavigator: 'true' | 'false' = 'false';\r\n@Prop() quickLinks: string | Array<{\r\n headerMenuLabel: string;\r\n headerMenuId: string;\r\n description: string;\r\n url: string;\r\n quickLinksIcon: string;\r\n type?: 'dda_default_submenu' | 'dda_main_megamenu';\r\n children?: any;\r\n}> = []; @State() openIndex: number | null = null;\r\n @State() openSubIndex: number | null = null;\r\n\r\n get parsedMenuItems() {\r\n if (typeof this.quickLinks === 'string') {\r\n try {\r\n return JSON.parse(this.quickLinks);\r\n } catch {\r\n console.warn('Invalid JSON in quickLinks');\r\n return [];\r\n }\r\n }\r\n return this.quickLinks;\r\n }\r\n\r\n handleToggle(index: number, hasSubmenu: boolean, event: Event, item: any) {\r\n if (hasSubmenu) {\r\n event.preventDefault();\r\n this.openIndex = this.openIndex === index ? null : index;\r\n this.openSubIndex = null;\r\n }else{\r\n if(this.useNavigator == \"true\"){\r\n\r\n this.navigatorClick.emit(item.url)\r\n }\r\n }\r\n }\r\n\r\n handleClickOutside = (event: MouseEvent) => {\r\n const target = event.target as HTMLElement;\r\n if (!this.el.contains(target)) {\r\n this.openIndex = null;\r\n this.openSubIndex = null;\r\n }\r\n };\r\n\r\n connectedCallback() {\r\n document.addEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n disconnectedCallback() {\r\n document.removeEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n @Listen('keydown', { target: 'window' })\r\n handleKeydown(event: KeyboardEvent) {\r\n if (event.key === 'Escape') {\r\n this.openIndex = null;\r\n this.openSubIndex = null;\r\n }\r\n }\r\n\r\n renderDefaultSubmenu(children, isOpen, submenuId, headerMenuLabel) {\r\n return (\r\n <div\r\n class={{\r\n 'dda-default-submenu': true,\r\n 'is-visible': isOpen,\r\n }}\r\n id={submenuId}\r\n aria-label={`${headerMenuLabel} Submenu`}\r\n >\r\n <ul>\r\n {children.map((item, subIndex) => {\r\n const hasSubSubmenu = item.children && item.children.length > 0;\r\n const subSubmenuId = `subsubmenu-${submenuId}-${subIndex}`;\r\n const isSubOpen = this.openSubIndex === subIndex;\r\n\r\n return (\r\n <li>\r\n \r\n\r\n <a\r\n href={this.useNavigator == \"true\" ? 'javascript:void(0)' : item.url}\r\n id={item.headerMenuId}\r\n aria-haspopup={hasSubSubmenu ? 'true' : undefined}\r\n aria-expanded={hasSubSubmenu ? String(isSubOpen) : undefined}\r\n aria-controls={hasSubSubmenu ? subSubmenuId : undefined}\r\n class={{\r\n 'has-submenu': hasSubSubmenu,\r\n 'active': isSubOpen,\r\n }}\r\n onClick={e => {\r\n if (hasSubSubmenu) {\r\n e.preventDefault();\r\n this.openSubIndex = this.openSubIndex === subIndex ? null : subIndex;\r\n }else{\r\n if(this.useNavigator == \"true\"){\r\n\r\n this.navigatorClick.emit(item.url)\r\n }\r\n }\r\n }}\r\n >\r\n {item.headerMenuLabel}\r\n </a>\r\n\r\n {hasSubSubmenu && (\r\n <div\r\n class={{\r\n 'dda-default-subsubmenu': true,\r\n 'is-visible': isSubOpen,\r\n }}\r\n id={subSubmenuId}\r\n aria-label={`${item.headerMenuLabel} Sub Submenu`}\r\n >\r\n <div class=\"dda-default-subsubmenu-content\">\r\n <span class=\"dda-submenu-title\">{item.defaultSubMenuTitle || item.headerMenuLabel}</span>\r\n <ul>\r\n {item.children.map((subItem, subItemIndex) => (\r\n <li>\r\n <a\r\n // href={subItem.url}\r\n href={this.useNavigator == \"true\" ? 'javascript:void(0)' : subItem.url}\r\n id={`${subSubmenuId}-${subItemIndex}`}\r\n onClick={() => this.useNavigator == \"true\" ? this.navigatorClick.emit(subItem.url) : \"\"}\r\n >\r\n {subItem.headerMenuLabel}\r\n </a>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n </div>\r\n )}\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </div>\r\n );\r\n }\r\n\r\n renderMegaMenu(children, isOpen, submenuId, headerMenuLabel) {\r\n return (\r\n <div\r\n class={{\r\n 'dda-main-megamenu': true,\r\n 'is-visible': isOpen,\r\n }}\r\n id={submenuId}\r\n aria-label={`${headerMenuLabel} Mega Menu`}\r\n >\r\n <div class=\"dda-megamenu-wrap\">\r\n <div class=\"dda-megamenu-content\">\r\n <div class=\"dda-row\">\r\n {children.map((col, colIndex) => (\r\n <div class=\"dda-col-md-3\" key={`col-${colIndex}`}>\r\n {col.title && <h6 aria-label={`${col.title} section`} class=\"megamemu-sub-title\">{col.title}</h6>}\r\n <ul>\r\n {col.items.map((item, itemIndex) => (\r\n <li key={`item-${itemIndex}`}>\r\n \r\n <a\r\n class=\"dda-mega-menu-link\"\r\n // href={item.url}\r\n href={this.useNavigator == \"true\" ? 'javascript:void(0)' : item.url}\r\n onClick={() => this.useNavigator == \"true\"? this.navigatorClick.emit(item.url) :\"\"}\r\n >\r\n {this.showQuickLinksIcon ? (\r\n <span class=\"dda-mega-menu-icon\" aria-hidden=\"true\">\r\n <i class=\"material-icons material-symbols-outlined\">\r\n {item.quickLinksIcon ? item.quickLinksIcon : \"sentiment_satisfied\"}\r\n </i>\r\n </span>\r\n ) : \"\"}\r\n <span class=\"text-wrap\">\r\n <span class=\"dda-mega-menu-text\">{item.headerMenuLabel}</span>\r\n {item.description && (\r\n <span class=\"dda-mega-menu-desc\">\r\n {item.description}\r\n </span>\r\n )}\r\n </span>\r\n </a>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <nav aria-label=\"Main navigation\" class=\"dda-header-menu\">\r\n <ul class=\"dda-mega-menu\">\r\n {this.parsedMenuItems.map((item, index) => {\r\n const isOpen = this.openIndex === index;\r\n const hasSubmenu = item.children && item.children.length > 0;\r\n const submenuId = `submenu-${index}`;\r\n const type = item.type;\r\n\r\n return (\r\n <li key={`top-${index}`}>\r\n \r\n <a\r\n // href={item.url}\r\n href={this.useNavigator == \"true\" ? 'javascript:void(0)' : item.url}\r\n aria-haspopup={hasSubmenu ? 'true' : undefined}\r\n aria-expanded={hasSubmenu ? String(isOpen) : undefined}\r\n aria-controls={hasSubmenu ? submenuId : undefined}\r\n \r\n class={isOpen ? 'active' : ''}\r\n onClick={e => this.handleToggle(index, hasSubmenu, e, item)}\r\n >\r\n {item.headerMenuLabel}\r\n </a>\r\n\r\n {hasSubmenu && type === 'dda_default_submenu' &&\r\n this.renderDefaultSubmenu(item.children, isOpen, submenuId, item.headerMenuLabel)}\r\n\r\n {hasSubmenu && type === 'dda_main_megamenu' &&\r\n this.renderMegaMenu(item.children, isOpen, submenuId, item.headerMenuLabel)}\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </nav>\r\n </Host>\r\n );\r\n }\r\n}\r\n","import { Component, Prop, h, Host, Event, EventEmitter, Element, State, Method } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-input',\r\n styleUrls: [],\r\n shadow: false,\r\n})\r\nexport class DdaInput {\r\n @Element() el: HTMLElement;\r\n\r\n @Prop() label: string;\r\n @Prop() placeholder: string;\r\n @Prop() value: string;\r\n @Prop() type: string = 'text';\r\n @Prop() input_role: string = 'text';\r\n @Prop() helper_text: string;\r\n @Prop() error_message: string;\r\n @Prop() validation_type?: string;\r\n @Prop() validation_id: string = 'text';\r\n @Prop() size?: string;\r\n @Prop() input_status?: string;\r\n @Prop() custom_class?: string;\r\n @Prop() component_mode?: string; \r\n @Prop() input_id: string;\r\n @Prop() aria_label?: string;\r\n @Prop() input_name?: string;\r\n @Prop() required?: boolean = false;\r\n\r\n @State() internalValue: string = '';\r\n\r\n @Event() inputChanged: EventEmitter<any>;\r\n @Event() inputBlurred: EventEmitter<{ name: string; value: string }>;\r\n\r\n @Method()\r\n async getValue() {\r\n return this.internalValue || this.value || '';\r\n }\r\n\r\n componentDidLoad() {\r\n // Hide date input placeholder\r\n if (this.type === 'date') {\r\n const dateInput = this.el.querySelector('input[type=\"date\"]') as HTMLInputElement;\r\n if (dateInput) {\r\n dateInput.style.color = 'transparent';\r\n dateInput.addEventListener('focus', () => {\r\n dateInput.style.color = '#000';\r\n });\r\n dateInput.addEventListener('blur', () => {\r\n if (!dateInput.value) {\r\n dateInput.style.color = 'transparent';\r\n }\r\n });\r\n dateInput.addEventListener('change', () => {\r\n dateInput.style.color = '#000';\r\n });\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const inputClass = [\r\n 'dda-input-container',\r\n this.validation_type ? `dda-validation-${this.validation_type}` : '',\r\n this.size ? `dda-input-size-${this.size}` : '',\r\n this.input_status ? `dda-input-${this.input_status}` : '',\r\n this.type === 'Witherror' ? 'dda-validation-error' : '',\r\n this.type === 'disabled' ? 'dda-input-disabled' : '',\r\n this.custom_class,\r\n this.component_mode,\r\n ].filter(Boolean).join(' ');\r\n\r\n const describedByIds: string[] = [];\r\n if (this.helper_text) describedByIds.push(`${this.validation_id}-helper`);\r\n if (this.validation_type === 'error' && this.error_message)\r\n describedByIds.push(`${this.validation_id}-error`);\r\n\r\n return (\r\n <Host>\r\n <div class={inputClass}>\r\n {this.label && \r\n <label \r\n htmlFor={this.input_id} \r\n class=\"dda-input-label\"\r\n id={`${this.input_id}-label`}\r\n >\r\n {this.label}\r\n </label>}\r\n <input\r\n id={this.input_id}\r\n name={this.input_name}\r\n class={`dda-input-field dda-input-text ${this.type === 'date' && this.value ? 'has-value' : ''}`}\r\n type={this.type}\r\n role={this.input_role}\r\n placeholder={this.placeholder}\r\n value={this.internalValue || this.value}\r\n aria-required={this.required ? 'true' : undefined}\r\n aria-invalid={this.validation_type === 'error' ? 'true' : 'false'}\r\n aria-describedby={`${this.input_id}-label`}\r\n aria-label={!this.label ? this.aria_label : undefined}\r\n onInput={(event) => {\r\n this.internalValue = (event.target as HTMLInputElement).value;\r\n this.inputChanged.emit(event);\r\n }}\r\n onBlur={(event) => {\r\n const value = (event.target as HTMLInputElement).value.trim();\r\n this.inputBlurred.emit({ name: this.input_name, value });\r\n }}\r\n />\r\n\r\n {this.validation_type === 'error' && this.error_message ? (\r\n <span \r\n class=\"dda-error-message\" \r\n id={this.validation_id}\r\n role=\"alert\"\r\n >\r\n {this.error_message}\r\n </span>\r\n ) : (\r\n this.helper_text && (\r\n <span \r\n class=\"dda-helper-text\" \r\n id={this.validation_id}\r\n >\r\n {this.helper_text}\r\n </span>\r\n )\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n",".dda-radio-container {\r\n display: inline-flex;\r\n align-items: center;\r\n}\r\n.dda-radio-container input[type=\"radio\"]{\r\n width: 0;\r\n height: 0;\r\n position: absolute;\r\n opacity: 0;\r\n}\r\n.dda-radio-container label {\r\n cursor: pointer;\r\n display: inline-flex;\r\n align-items: flex-start;\r\n gap: 10px;\r\n}\r\n.dda-radio-container .radio-circle{\r\n display: inline-block;\r\n margin-top: 2px;\r\n background: var(--dda-neutral-100);\r\n border-radius: 50px;\r\n box-shadow: 0px 0px 0px 2px var(--dda-color-primary-40) inset, 0px 0px 0px 5px var(--dda-neutral-100) inset;\r\n}\r\n.light-mode.dda-radio-container .radio-circle{\r\n box-shadow: 0px 0px 0px 2px var(--dda-primary-40) inset, 0px 0px 0px 5px var(--dda-neutral-100) inset;\r\n}\r\n.dda-radio-container input[type=\"radio\"]:checked~label .radio-circle{\r\n background: var(--dda-color-primary-40);\r\n box-shadow: 0px 0px 0px 2px var(--dda-color-primary-40) inset, 0px 0px 0px 5px var(--dda-primary-95) inset;\r\n}\r\n.light-mode.dda-radio-container input[type=\"radio\"]:checked~label .radio-circle{\r\n background: var(--dda-primary-40);\r\n box-shadow: 0px 0px 0px 2px var(--dda-primary-40) inset, 0px 0px 0px 5px var(--dda-primary-95) inset;\r\n}\r\n.dda-radio-container input[type=\"radio\"]:checked:focus-within~label .radio-circle{\r\n background: var(--dda-color-primary-40);\r\n box-shadow: 0px 0px 0px 2px var(--dda-color-primary-40) inset, 0px 0px 0px 5px var(--dda-primary-95) inset, 0px 0px 0px 3px var(--dda-primary-95);\r\n}\r\n.light-mode.dda-radio-container input[type=\"radio\"]:checked:focus-within~label .radio-circle{\r\n background: var(--dda-primary-40);\r\n box-shadow: 0px 0px 0px 2px var(--dda-primary-40) inset, 0px 0px 0px 5px var(--dda-primary-95) inset, 0px 0px 0px 3px var(--dda-primary-95);\r\n}\r\n\r\n.dda-radio-outlined .radio-circle{\r\n background: var(--dda-neutral-100);\r\n box-shadow: 0px 0px 0px 2px var(--dda-surface-90) inset;\r\n}\r\n.light-mode.dda-radio-outlined .radio-circle{\r\n box-shadow: 0px 0px 0px 2px var(--dda-neutral-90) inset;\r\n}\r\n.dda-radio-outlined input[type=\"radio\"]:checked~label .radio-circle{\r\n box-shadow: 0px 0px 0px 2px var(--dda-color-primary-40) inset, 0px 0px 0px 5px var(--dda-surface-100) inset;\r\n}\r\n.dda-radio-outlined input[type=\"radio\"]:checked:focus-within~label .radio-circle{\r\n box-shadow: 0px 0px 0px 2px var(--dda-color-primary-40) inset, 0px 0px 0px 5px var(--dda-surface-100) inset, 0px 0px 0px 3px var(--dda-primary-95);\r\n}\r\n\r\n\r\n.dda-radio-faded .radio-circle{\r\n background: var(--dda-neutral-90);\r\n box-shadow: 0px 0px 0px 2px var(--dda-neutral-90) inset, 0px 0px 0px 5px var(--dda-neutral-100) inset;\r\n}\r\n.dda-radio-faded input[type=\"radio\"]:checked~label .radio-circle{\r\n box-shadow: 0px 0px 0px 2px var(--dda-neutral-90) inset, 0px 0px 0px 5px var(--dda-neutral-100) inset;\r\n}\r\n.dda-radio-faded input[type=\"radio\"]:checked:focus-within~label .radio-circle{\r\n box-shadow: 0px 0px 0px 2px var(--dda-neutral-90) inset, 0px 0px 0px 5px var(--dda-neutral-100) inset, 0px 0px 0px 3px #F2F4F3;\r\n\r\n}\r\n\r\n\r\n.dda-radio-small .radio-circle{\r\n width: 17px;\r\n height: 17px;\r\n}\r\n.dda-radio-default .radio-circle{\r\n width: 21px;\r\n height: 21px;\r\n}\r\n\r\n.dda-radio-container label p{\r\n margin: 0px;\r\n}\r\n.radio-title {\r\n font-size: var(--font-body);\r\n color: var(--dda-on-surface-0);\r\n font-weight: var(--font-weight-regular);\r\n display: block;\r\n}\r\n.light-mode .radio-title{\r\n color: var(--dda-neutral-0);\r\n}\r\n.dda-radio-lg label .radio-title{\r\n font-size: var(--dda-fs-title-sm);\r\n}\r\n.radio-supporting {\r\n display: block;\r\n font-size: var(--font-small);\r\n font-weight: var(--font-weight-regular);\r\n color: var(--dda-on-surface-variant-30);\r\n}\r\n.dda-radio-container .radio-error-message{\r\n display: block;\r\n font-size: var(--font-small);\r\n font-weight: var(--font-weight-regular);\r\n color: var(--dda-color-error-40);\r\n}\r\n.light-mode .radio-supporting {\r\n color: var(--dda-neutral-variant-30);\r\n}\r\n.dda-radio-lg label .radio-supporting{\r\n font-size: var(--font-caption);\r\n}\r\n\r\n.dda-radio-disabled{\r\n pointer-events: none;\r\n}\r\n.dda-radio-container.dda-radio-disabled .radio-circle{\r\n box-shadow: 0px 0px 0px 2px var(--dda-neutral-90) inset, 0px 0px 0px 5px var(--dda-neutral-100) inset;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, Prop, h, Host, Event, EventEmitter, } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-radiobutton',\r\n styleUrls: ['dda-radiobutton.css'],\r\n shadow: false,\r\n})\r\nexport class DdaRadiobutton {\r\n @Prop() title_text: string;\r\n @Prop() supporting?: string;\r\n @Prop() group_name?: string;\r\n @Prop() input_id?: string;\r\n @Prop({ reflect: true, mutable: true }) checked: boolean = false;\r\n @Prop() radio_status?: string;\r\n @Prop() error_message: string;\r\n @Prop() validation_type?: string;\r\n @Prop() validation_id: string = 'text';\r\n @Prop() size?: string;\r\n @Prop() variants?: string;\r\n @Prop() custom_class?: string = '';\r\n @Prop() component_mode?: string;\r\n @Prop() aria_label?: string;\r\n @Prop() contrast_noraml_text?: string;\r\n\r\n // Emits event to parent component\r\n @Event() radioChange: EventEmitter<{ checked: boolean; input_id: string }>;\r\n\r\n private handleChange = (_e: Event) => {\r\n this.checked = true;\r\n this.radioChange.emit({ checked: this.checked, input_id: this.input_id });\r\n };\r\n\r\n render() {\r\n const radiobuttonClass = [\r\n 'dda-radio-container',\r\n this.validation_type ? `dda-validation-${this.validation_type}` : '',\r\n this.size ? `dda-radio-${this.size}` : '',\r\n this.variants ? `dda-radio-${this.variants}` : '',\r\n this.custom_class ? `dda-radio-${this.custom_class}` : '',\r\n this.radio_status ? `dda-radio-${this.radio_status}` : '',\r\n this.component_mode,\r\n ]\r\n .filter(Boolean)\r\n .join(' ');\r\n\r\n return (\r\n <Host>\r\n <div class={radiobuttonClass}>\r\n <input\r\n type=\"radio\"\r\n id={this.input_id}\r\n name={this.group_name}\r\n aria-label={this.aria_label}\r\n checked={this.checked}\r\n disabled={this.radio_status === 'disabled'}\r\n onChange={this.handleChange}\r\n />\r\n <label htmlFor={this.input_id}>\r\n <span class=\"radio-circle\"></span>\r\n <p>\r\n <span class=\"radio-title\">{this.title_text}</span>\r\n {this.validation_type === 'error' && this.error_message ? (\r\n <span class=\"radio-error-message\" id={this.validation_id}>\r\n {this.error_message}\r\n </span>\r\n ) : (\r\n this.supporting && (\r\n <span class=\"dda-helper-text\" id={this.validation_id}>\r\n {this.supporting}\r\n </span>\r\n )\r\n )}\r\n </p>\r\n </label>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"dda-header-menu.dda-input.dda-radiobutton.entry.cjs.js","mappings":"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","names":["h","Host","index"],"sources":["src/components/dda-header-menu/dda-header-menu.css?tag=dda-header-menu","src/components/dda-header-menu/dda-header-menu.tsx","src/components/dda-input/dda-input.tsx","src/components/dda-radiobutton/dda-radiobutton.css?tag=dda-radiobutton","src/components/dda-radiobutton/dda-radiobutton.tsx"],"sourcesContent":[".dda-mega-menu {\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n display: flex;\r\n align-items: center;\r\n}\r\n.dda-mega-menu > li {\r\n position: relative;\r\n}\r\n.dda-mega-menu > li > a {\r\n display: block;\r\n font-size: var(--font-body);\r\n font-weight: var(--font-weight-regular);\r\n color: var(--dda-on-surface-0);\r\n padding: 20px 16px;\r\n position: relative;\r\n}\r\n\r\n.dda-mega-menu > li:hover > a,\r\n.dda-mega-menu > li > a.active {\r\n color: var(--dda-color-primary-40);\r\n}\r\n\r\nbody.transparent .dda-mega-menu > li > a {\r\n color: var(--dda-neutral-100);\r\n}\r\n\r\n.dda-mega-menu > li > a::after {\r\n content: '';\r\n position: absolute;\r\n bottom: 0;\r\n left: 50%;\r\n width: 0;\r\n height: 4px;\r\n background-color: var(--dda-color-primary-40);\r\n border-radius: 8px 8px 0px 0px;\r\n transform: translateX(-50%);\r\n /* transition: all 0.25s ease-in-out; */\r\n}\r\n\r\nbody.transparent .dda-mega-menu > li > a::after {\r\n background-color: var(--dda-neutral-100);\r\n}\r\n\r\n.dda-mega-menu > li:hover > a::after,\r\n.dda-mega-menu > li > a:focus-visible:after,\r\n.dda-mega-menu > li > a.active::after {\r\n width: calc(100% - 32px);\r\n}\r\n/********************************/\r\n.dda-header-menu li {\r\n list-style: none;\r\n}\r\n.dda-header-menu li::marker {\r\n display: none;\r\n}\r\n.dda-default-submenu {\r\n display: none;\r\n min-width: 350px;\r\n position: absolute;\r\n top: 100%;\r\n inset-inline-start: 0;\r\n padding-top: 5px;\r\n}\r\n\r\n.dda-default-submenu ul {\r\n max-height: 325px;\r\n overflow: visible;\r\n overflow-x: visible;\r\n overflow-y: auto;\r\n}\r\n\r\n.dda-default-submenu ul::-webkit-scrollbar {\r\n width: 6px;\r\n}\r\n\r\n.dda-default-submenu ul::-webkit-scrollbar-track {\r\n background: transparent;\r\n}\r\n\r\n.dda-default-submenu ul::-webkit-scrollbar-thumb {\r\n background: var(--dda-on-primary-98);\r\n}\r\n\r\n.dda-default-submenu:hover ul::-webkit-scrollbar-thumb {\r\n background: var(--dda-on-primary-98);\r\n}\r\n\r\n.dda-default-submenu a,\r\n.dda-default-submenu .dda-submenu-title {\r\n position: relative;\r\n font-size: var(--font-body);\r\n font-weight: var(--font-weight-regular);\r\n}\r\n\r\n.dda-default-submenu a.has-submenu::after {\r\n content: '';\r\n width: 6px;\r\n height: 6px;\r\n border-right: solid 1px var(--dda-color-primary-40);\r\n border-bottom: solid 1px var(--dda-color-primary-40);\r\n position: absolute;\r\n top: 50%;\r\n inset-inline-end: 9px;\r\n margin-top: -4.5px;\r\n transform: rotate(-45deg);\r\n}\r\n:root[dir='rtl'] .dda-default-submenu a.has-submenu::after {\r\n transform: rotate(135deg);\r\n}\r\n\r\n.dda-default-submenu span {\r\n display: block;\r\n border-bottom: solid 1px #ddd;\r\n padding: 5px 8px 10px 8px;\r\n margin-bottom: 5px;\r\n}\r\n\r\n.dda-default-submenu > ul {\r\n width: 100%;\r\n max-width: 350px;\r\n background-color: var(--dda-surface-100);\r\n border-radius: 5px;\r\n padding: 10px !important;\r\n box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.13);\r\n}\r\n\r\n.dda-default-submenu ul li {\r\n list-style: none;\r\n position: relative;\r\n margin-bottom: 1px;\r\n}\r\n.dda-default-submenu ul li a {\r\n font-size: var(--font-body);\r\n font-weight: var(--font-weight-regular);\r\n color: var(--dda-on-surface-0);\r\n display: block;\r\n padding: 10px 7px;\r\n border-radius: 8px;\r\n}\r\n.dda-default-submenu ul li:hover > a,\r\n.dda-default-submenu ul li a.active {\r\n background-color: var(--dda-on-primary-98);\r\n color: var(--dda-on-primary-variant-40);\r\n}\r\n\r\n.dda-default-subsubmenu {\r\n display: none;\r\n width: 300px;\r\n position: absolute;\r\n inset-inline-start: 100%;\r\n top: 0;\r\n margin-inline-start: 15px;\r\n}\r\n.dda-default-subsubmenu.is-visible {\r\n display: block;\r\n padding: 0px 5px;\r\n}\r\n.dda-default-subsubmenu .dda-default-subsubmenu-content {\r\n max-width: 100%;\r\n background-color: var(--dda-surface-100);\r\n border-radius: 5px;\r\n padding: 10px !important;\r\n box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.13);\r\n position: fixed;\r\n width: 350px;\r\n}\r\n.dda-default-subsubmenu-content ol {\r\n padding: 0px;\r\n}\r\n\r\n.dda-main-megamenu {\r\n display: none;\r\n width: 100%;\r\n position: fixed;\r\n inset-inline-start: 0;\r\n}\r\n.dda-megamenu-wrap {\r\n width: 90vw;\r\n margin: 0 auto;\r\n padding-top: 5px;\r\n}\r\n.dda-megamenu-content {\r\n height: 300px;\r\n overflow-x: visible;\r\n overflow-y: auto;\r\n background: var(--dda-surface-100);\r\n border-radius: 8px;\r\n margin: 0 auto;\r\n padding: 42px 15px;\r\n box-shadow: 0px 10px 15px -3px rgba(16, 24, 40, 0.1);\r\n position: relative;\r\n}\r\n\r\n.dda-megamenu-content::-webkit-scrollbar {\r\n width: 6px;\r\n}\r\n\r\n.dda-megamenu-content::-webkit-scrollbar-track {\r\n background: transparent;\r\n}\r\n\r\n.dda-megamenu-content::-webkit-scrollbar-thumb {\r\n background: var(--dda-on-primary-98);\r\n}\r\n\r\n.dda-megamenu-content::-webkit-scrollbar-thumb:hover {\r\n background: var(--dda-on-primary-98);\r\n}\r\n.dda-mega-menu > li:hover .dda-default-submenu,\r\n.dda-mega-menu > li:hover .dda-main-megamenu,\r\n.dda-default-submenu.is-visible,\r\n.dda-main-megamenu.is-visible {\r\n display: block;\r\n}\r\n.dda-megamenu-content ol {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 8px;\r\n padding: 0 !important;\r\n}\r\n.dda-megamenu-content .megamemu-sub-title {\r\n font-size: var(--font-h6);\r\n font-weight: var(--font-weight-regular);\r\n padding: 8px 15px 8px 15px;\r\n}\r\n\r\n.dda-megamenu-content .dda-mega-menu-link {\r\n width: 100%;\r\n display: flex;\r\n align-items: center;\r\n gap: 15px;\r\n padding: 10px 16px;\r\n background: var(--dda-surface-100);\r\n color: var(--dda-on-surface-0);\r\n border-radius: 8px;\r\n /* transition: all 500ms ease; */\r\n}\r\n.dda-megamenu-content .dda-mega-menu-link:hover {\r\n background-color: var(--dda-on-primary-98);\r\n}\r\n.dda-mega-menu-link {\r\n display: block;\r\n}\r\n\r\n.dda-mega-menu-link .dda-mega-menu-icon {\r\n width: 40px;\r\n height: 40px;\r\n background: var(--dda-on-primary-94);\r\n border-radius: 8px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n color: var(--dda-color-primary-40);\r\n}\r\n\r\n.dda-mega-menu-link .text-wrap {\r\n display: flex;\r\n flex: 1;\r\n flex-direction: column;\r\n}\r\n\r\n.dda-mega-menu-link .dda-mega-menu-text {\r\n display: block;\r\n font-size: var(--font-body);\r\n font-weight: var(--font-weight-regular);\r\n}\r\n\r\n.dda-mega-menu-link .dda-mega-menu-desc {\r\n font-size: var(--font-caption);\r\n font-weight: var(--font-weight-regular);\r\n color: var(--dda-on-surface-variant-30);\r\n max-height: 40px;\r\n overflow: hidden;\r\n}\r\n.dda-mega-menu a:focus-visible {\r\n outline: solid 2px var(--dda-primary-variant-87) !important;\r\n outline-offset: 0px;\r\n}\r\n\r\n@media (max-width: 1024px) {\r\n .dda-mega-menu {\r\n display: none;\r\n }\r\n}\r\n\r\n@media (prefers-reduced-motion: no-preference) {\r\n .dda-mega-menu > li > a::after {\r\n transition: all 0.25s ease-in-out;\r\n }\r\n .dda-megamenu-content .dda-mega-menu-link {\r\n transition: all 500ms ease;\r\n }\r\n}\r\n","import { Component, Host, h, Prop, State, Element, Listen, EventEmitter, Event } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-header-menu',\r\n styleUrls: ['dda-header-menu.css'],\r\n shadow: false,\r\n})\r\nexport class DdaHeaderMenu {\r\n @Element() el: HTMLElement;\r\n \r\n @Event() navigatorClick?: EventEmitter<string>;\r\n @Prop() showQuickLinksIcon: boolean;\r\n @Prop() useNavigator: 'true' | 'false' = 'false';\r\n@Prop() quickLinks: string | Array<{\r\n headerMenuLabel: string;\r\n headerMenuId: string;\r\n description: string;\r\n url: string;\r\n quickLinksIcon: string;\r\n type?: 'dda_default_submenu' | 'dda_main_megamenu';\r\n children?: any;\r\n}> = []; @State() openIndex: number | null = null;\r\n @State() openSubIndex: number | null = null;\r\n\r\n get parsedMenuItems() {\r\n if (typeof this.quickLinks === 'string') {\r\n try {\r\n return JSON.parse(this.quickLinks);\r\n } catch {\r\n console.warn('Invalid JSON in quickLinks');\r\n return [];\r\n }\r\n }\r\n return this.quickLinks;\r\n }\r\n\r\n handleToggle(index: number, hasSubmenu: boolean, event: Event, item: any) {\r\n if (hasSubmenu) {\r\n event.preventDefault();\r\n this.openIndex = this.openIndex === index ? null : index;\r\n this.openSubIndex = null;\r\n }else{\r\n if(this.useNavigator == \"true\"){\r\n\r\n this.navigatorClick.emit(item.url)\r\n }\r\n }\r\n }\r\n\r\n handleClickOutside = (event: MouseEvent) => {\r\n const target = event.target as HTMLElement;\r\n if (!this.el.contains(target)) {\r\n this.openIndex = null;\r\n this.openSubIndex = null;\r\n }\r\n };\r\n\r\n connectedCallback() {\r\n document.addEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n disconnectedCallback() {\r\n document.removeEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n @Listen('keydown', { target: 'window' })\r\n handleKeydown(event: KeyboardEvent) {\r\n if (event.key === 'Escape') {\r\n this.openIndex = null;\r\n this.openSubIndex = null;\r\n }\r\n }\r\n\r\n renderDefaultSubmenu(children, isOpen, submenuId, headerMenuLabel) {\r\n return (\r\n <div\r\n class={{\r\n 'dda-default-submenu': true,\r\n 'is-visible': isOpen,\r\n }}\r\n id={submenuId}\r\n aria-label={`${headerMenuLabel} Submenu`}\r\n >\r\n <ul>\r\n {children.map((item, subIndex) => {\r\n const hasSubSubmenu = item.children && item.children.length > 0;\r\n const subSubmenuId = `subsubmenu-${submenuId}-${subIndex}`;\r\n const isSubOpen = this.openSubIndex === subIndex;\r\n\r\n return (\r\n <li>\r\n \r\n\r\n <a\r\n href={this.useNavigator == \"true\" ? 'javascript:void(0)' : item.url}\r\n id={item.headerMenuId}\r\n aria-haspopup={hasSubSubmenu ? 'true' : undefined}\r\n aria-expanded={hasSubSubmenu ? String(isSubOpen) : undefined}\r\n aria-controls={hasSubSubmenu ? subSubmenuId : undefined}\r\n class={{\r\n 'has-submenu': hasSubSubmenu,\r\n 'active': isSubOpen,\r\n }}\r\n onClick={e => {\r\n if (hasSubSubmenu) {\r\n e.preventDefault();\r\n this.openSubIndex = this.openSubIndex === subIndex ? null : subIndex;\r\n }else{\r\n if(this.useNavigator == \"true\"){\r\n\r\n this.navigatorClick.emit(item.url)\r\n }\r\n }\r\n }}\r\n >\r\n {item.headerMenuLabel}\r\n </a>\r\n\r\n {hasSubSubmenu && (\r\n <div\r\n class={{\r\n 'dda-default-subsubmenu': true,\r\n 'is-visible': isSubOpen,\r\n }}\r\n id={subSubmenuId}\r\n aria-label={`${item.headerMenuLabel} Sub Submenu`}\r\n >\r\n <div class=\"dda-default-subsubmenu-content\">\r\n <span class=\"dda-submenu-title\">{item.defaultSubMenuTitle || item.headerMenuLabel}</span>\r\n <ul>\r\n {item.children.map((subItem, subItemIndex) => (\r\n <li>\r\n <a\r\n // href={subItem.url}\r\n href={this.useNavigator == \"true\" ? 'javascript:void(0)' : subItem.url}\r\n id={`${subSubmenuId}-${subItemIndex}`}\r\n onClick={() => this.useNavigator == \"true\" ? this.navigatorClick.emit(subItem.url) : \"\"}\r\n >\r\n {subItem.headerMenuLabel}\r\n </a>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n </div>\r\n )}\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </div>\r\n );\r\n }\r\n\r\n renderMegaMenu(children, isOpen, submenuId, headerMenuLabel) {\r\n return (\r\n <div\r\n class={{\r\n 'dda-main-megamenu': true,\r\n 'is-visible': isOpen,\r\n }}\r\n id={submenuId}\r\n aria-label={`${headerMenuLabel} Mega Menu`}\r\n >\r\n <div class=\"dda-megamenu-wrap\">\r\n <div class=\"dda-megamenu-content\">\r\n <div class=\"dda-row\">\r\n {children.map((col, colIndex) => (\r\n <div class=\"dda-col-md-3\" key={`col-${colIndex}`}>\r\n {col.title && <h6 aria-label={`${col.title} section`} class=\"megamemu-sub-title\">{col.title}</h6>}\r\n <ul>\r\n {col.items.map((item, itemIndex) => (\r\n <li key={`item-${itemIndex}`}>\r\n \r\n <a\r\n class=\"dda-mega-menu-link\"\r\n // href={item.url}\r\n href={this.useNavigator == \"true\" ? 'javascript:void(0)' : item.url}\r\n onClick={() => this.useNavigator == \"true\"? this.navigatorClick.emit(item.url) :\"\"}\r\n >\r\n {this.showQuickLinksIcon ? (\r\n <span class=\"dda-mega-menu-icon\" aria-hidden=\"true\">\r\n <i class=\"material-icons material-symbols-outlined\">\r\n {item.quickLinksIcon ? item.quickLinksIcon : \"sentiment_satisfied\"}\r\n </i>\r\n </span>\r\n ) : \"\"}\r\n <span class=\"text-wrap\">\r\n <span class=\"dda-mega-menu-text\">{item.headerMenuLabel}</span>\r\n {item.description && (\r\n <span class=\"dda-mega-menu-desc\">\r\n {item.description}\r\n </span>\r\n )}\r\n </span>\r\n </a>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <nav aria-label=\"Main navigation\" class=\"dda-header-menu\">\r\n <ul class=\"dda-mega-menu\">\r\n {this.parsedMenuItems.map((item, index) => {\r\n const isOpen = this.openIndex === index;\r\n const hasSubmenu = item.children && item.children.length > 0;\r\n const submenuId = `submenu-${index}`;\r\n const type = item.type;\r\n\r\n return (\r\n <li key={`top-${index}`}>\r\n \r\n <a\r\n // href={item.url}\r\n href={this.useNavigator == \"true\" ? 'javascript:void(0)' : item.url}\r\n aria-haspopup={hasSubmenu ? 'true' : undefined}\r\n aria-expanded={hasSubmenu ? String(isOpen) : undefined}\r\n aria-controls={hasSubmenu ? submenuId : undefined}\r\n \r\n class={isOpen ? 'active' : ''}\r\n onClick={e => this.handleToggle(index, hasSubmenu, e, item)}\r\n >\r\n {item.headerMenuLabel}\r\n </a>\r\n\r\n {hasSubmenu && type === 'dda_default_submenu' &&\r\n this.renderDefaultSubmenu(item.children, isOpen, submenuId, item.headerMenuLabel)}\r\n\r\n {hasSubmenu && type === 'dda_main_megamenu' &&\r\n this.renderMegaMenu(item.children, isOpen, submenuId, item.headerMenuLabel)}\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </nav>\r\n </Host>\r\n );\r\n }\r\n}\r\n","import { Component, Prop, h, Host, Event, EventEmitter, Element, State, Method, Watch } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-input',\r\n styleUrls: [],\r\n shadow: false,\r\n})\r\nexport class DdaInput {\r\n @Element() el: HTMLElement;\r\n\r\n @Prop() label: string;\r\n @Prop() placeholder: string;\r\n @Prop() value: string;\r\n @Prop() type: string = 'text';\r\n @Prop() input_role: string = 'text';\r\n @Prop() helper_text: string;\r\n @Prop() error_message: string;\r\n @Prop() validation_type?: string;\r\n @Prop() validation_id: string = 'text';\r\n @Prop() size?: string;\r\n @Prop() input_status?: string;\r\n @Prop() custom_class?: string;\r\n @Prop() component_mode?: string;\r\n @Prop() input_id: string;\r\n @Prop() aria_label?: string;\r\n @Prop() input_name?: string;\r\n @Prop() required?: boolean = false;\r\n\r\n @State() internalValue: string = '';\r\n\r\n @Event() inputChanged: EventEmitter<any>;\r\n @Event() inputBlurred: EventEmitter<{ name: string; value: string }>;\r\n\r\n @Method()\r\n async getValue() {\r\n return this.internalValue || this.value || '';\r\n }\r\n\r\n @Watch('value')\r\n watchValue(newValue: string) {\r\n this.internalValue = newValue || '';\r\n }\r\n\r\n @Method()\r\n async setValue(val: string) {\r\n this.internalValue = val;\r\n this.inputChanged.emit(val);\r\n }\r\n\r\n @Method()\r\n async reset() {\r\n this.internalValue = '';\r\n this.inputChanged.emit('');\r\n }\r\n componentWillLoad() {\r\n this.internalValue = this.value || '';\r\n }\r\n componentDidLoad() {\r\n // Hide date input placeholder\r\n if (this.type === 'date') {\r\n const dateInput = this.el.querySelector('input[type=\"date\"]') as HTMLInputElement;\r\n if (dateInput) {\r\n dateInput.style.color = 'transparent';\r\n dateInput.addEventListener('focus', () => {\r\n dateInput.style.color = '#000';\r\n });\r\n dateInput.addEventListener('blur', () => {\r\n if (!dateInput.value) {\r\n dateInput.style.color = 'transparent';\r\n }\r\n });\r\n dateInput.addEventListener('change', () => {\r\n dateInput.style.color = '#000';\r\n });\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const inputClass = [\r\n 'dda-input-container',\r\n this.validation_type ? `dda-validation-${this.validation_type}` : '',\r\n this.size ? `dda-input-size-${this.size}` : '',\r\n this.input_status ? `dda-input-${this.input_status}` : '',\r\n this.type === 'Witherror' ? 'dda-validation-error' : '',\r\n this.type === 'disabled' ? 'dda-input-disabled' : '',\r\n this.custom_class,\r\n this.component_mode,\r\n ]\r\n .filter(Boolean)\r\n .join(' ');\r\n\r\n const describedByIds: string[] = [];\r\n if (this.helper_text) describedByIds.push(`${this.validation_id}-helper`);\r\n if (this.validation_type === 'error' && this.error_message) describedByIds.push(`${this.validation_id}-error`);\r\n\r\n return (\r\n <Host>\r\n <div class={inputClass}>\r\n {this.label && (\r\n <label htmlFor={this.input_id} class=\"dda-input-label\" id={`${this.input_id}-label`}>\r\n {this.label}\r\n </label>\r\n )}\r\n <input\r\n id={this.input_id}\r\n name={this.input_name}\r\n class={`dda-input-field dda-input-text ${this.type === 'date' && this.value ? 'has-value' : ''}`}\r\n type={this.type}\r\n role={this.input_role}\r\n placeholder={this.placeholder}\r\n value={this.internalValue}\r\n aria-required={this.required ? 'true' : undefined}\r\n aria-invalid={this.validation_type === 'error' ? 'true' : 'false'}\r\n aria-describedby={`${this.input_id}-label`}\r\n aria-label={!this.label ? this.aria_label : undefined}\r\n onInput={event => {\r\n this.internalValue = (event.target as HTMLInputElement).value;\r\n this.inputChanged.emit(this.internalValue);\r\n }}\r\n onBlur={event => {\r\n const value = (event.target as HTMLInputElement).value.trim();\r\n this.inputBlurred.emit({ name: this.input_name, value });\r\n }}\r\n />\r\n\r\n {this.validation_type === 'error' && this.error_message ? (\r\n <span class=\"dda-error-message\" id={this.validation_id} role=\"alert\">\r\n {this.error_message}\r\n </span>\r\n ) : (\r\n this.helper_text && (\r\n <span class=\"dda-helper-text\" id={this.validation_id}>\r\n {this.helper_text}\r\n </span>\r\n )\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n",".dda-radio-container {\r\n display: inline-flex;\r\n align-items: center;\r\n}\r\n.dda-radio-container input[type=\"radio\"]{\r\n width: 0;\r\n height: 0;\r\n position: absolute;\r\n opacity: 0;\r\n}\r\n.dda-radio-container label {\r\n cursor: pointer;\r\n display: inline-flex;\r\n align-items: flex-start;\r\n gap: 10px;\r\n}\r\n.dda-radio-container .radio-circle{\r\n display: inline-block;\r\n margin-top: 2px;\r\n background: var(--dda-neutral-100);\r\n border-radius: 50px;\r\n box-shadow: 0px 0px 0px 2px var(--dda-color-primary-40) inset, 0px 0px 0px 5px var(--dda-neutral-100) inset;\r\n}\r\n.light-mode.dda-radio-container .radio-circle{\r\n box-shadow: 0px 0px 0px 2px var(--dda-primary-40) inset, 0px 0px 0px 5px var(--dda-neutral-100) inset;\r\n}\r\n.dda-radio-container input[type=\"radio\"]:checked~label .radio-circle{\r\n background: var(--dda-color-primary-40);\r\n box-shadow: 0px 0px 0px 2px var(--dda-color-primary-40) inset, 0px 0px 0px 5px var(--dda-primary-95) inset;\r\n}\r\n.light-mode.dda-radio-container input[type=\"radio\"]:checked~label .radio-circle{\r\n background: var(--dda-primary-40);\r\n box-shadow: 0px 0px 0px 2px var(--dda-primary-40) inset, 0px 0px 0px 5px var(--dda-primary-95) inset;\r\n}\r\n.dda-radio-container input[type=\"radio\"]:checked:focus-within~label .radio-circle{\r\n background: var(--dda-color-primary-40);\r\n box-shadow: 0px 0px 0px 2px var(--dda-color-primary-40) inset, 0px 0px 0px 5px var(--dda-primary-95) inset, 0px 0px 0px 3px var(--dda-primary-95);\r\n}\r\n.light-mode.dda-radio-container input[type=\"radio\"]:checked:focus-within~label .radio-circle{\r\n background: var(--dda-primary-40);\r\n box-shadow: 0px 0px 0px 2px var(--dda-primary-40) inset, 0px 0px 0px 5px var(--dda-primary-95) inset, 0px 0px 0px 3px var(--dda-primary-95);\r\n}\r\n\r\n.dda-radio-outlined .radio-circle{\r\n background: var(--dda-neutral-100);\r\n box-shadow: 0px 0px 0px 2px var(--dda-surface-90) inset;\r\n}\r\n.light-mode.dda-radio-outlined .radio-circle{\r\n box-shadow: 0px 0px 0px 2px var(--dda-neutral-90) inset;\r\n}\r\n.dda-radio-outlined input[type=\"radio\"]:checked~label .radio-circle{\r\n box-shadow: 0px 0px 0px 2px var(--dda-color-primary-40) inset, 0px 0px 0px 5px var(--dda-surface-100) inset;\r\n}\r\n.dda-radio-outlined input[type=\"radio\"]:checked:focus-within~label .radio-circle{\r\n box-shadow: 0px 0px 0px 2px var(--dda-color-primary-40) inset, 0px 0px 0px 5px var(--dda-surface-100) inset, 0px 0px 0px 3px var(--dda-primary-95);\r\n}\r\n\r\n\r\n.dda-radio-faded .radio-circle{\r\n background: var(--dda-neutral-90);\r\n box-shadow: 0px 0px 0px 2px var(--dda-neutral-90) inset, 0px 0px 0px 5px var(--dda-neutral-100) inset;\r\n}\r\n.dda-radio-faded input[type=\"radio\"]:checked~label .radio-circle{\r\n box-shadow: 0px 0px 0px 2px var(--dda-neutral-90) inset, 0px 0px 0px 5px var(--dda-neutral-100) inset;\r\n}\r\n.dda-radio-faded input[type=\"radio\"]:checked:focus-within~label .radio-circle{\r\n box-shadow: 0px 0px 0px 2px var(--dda-neutral-90) inset, 0px 0px 0px 5px var(--dda-neutral-100) inset, 0px 0px 0px 3px #F2F4F3;\r\n\r\n}\r\n\r\n\r\n.dda-radio-small .radio-circle{\r\n width: 17px;\r\n height: 17px;\r\n}\r\n.dda-radio-default .radio-circle{\r\n width: 21px;\r\n height: 21px;\r\n}\r\n\r\n.dda-radio-container label p{\r\n margin: 0px;\r\n}\r\n.radio-title {\r\n font-size: var(--font-body);\r\n color: var(--dda-on-surface-0);\r\n font-weight: var(--font-weight-regular);\r\n display: block;\r\n}\r\n.light-mode .radio-title{\r\n color: var(--dda-neutral-0);\r\n}\r\n.dda-radio-lg label .radio-title{\r\n font-size: var(--dda-fs-title-sm);\r\n}\r\n.radio-supporting {\r\n display: block;\r\n font-size: var(--font-small);\r\n font-weight: var(--font-weight-regular);\r\n color: var(--dda-on-surface-variant-30);\r\n}\r\n.dda-radio-container .radio-error-message{\r\n display: block;\r\n font-size: var(--font-small);\r\n font-weight: var(--font-weight-regular);\r\n color: var(--dda-color-error-40);\r\n}\r\n.light-mode .radio-supporting {\r\n color: var(--dda-neutral-variant-30);\r\n}\r\n.dda-radio-lg label .radio-supporting{\r\n font-size: var(--font-caption);\r\n}\r\n\r\n.dda-radio-disabled{\r\n pointer-events: none;\r\n}\r\n.dda-radio-container.dda-radio-disabled .radio-circle{\r\n box-shadow: 0px 0px 0px 2px var(--dda-neutral-90) inset, 0px 0px 0px 5px var(--dda-neutral-100) inset;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, Prop, h, Host, Event, EventEmitter, } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-radiobutton',\r\n styleUrls: ['dda-radiobutton.css'],\r\n shadow: false,\r\n})\r\nexport class DdaRadiobutton {\r\n @Prop() title_text: string;\r\n @Prop() supporting?: string;\r\n @Prop() group_name?: string;\r\n @Prop() input_id?: string;\r\n @Prop({ reflect: true, mutable: true }) checked: boolean = false;\r\n @Prop() radio_status?: string;\r\n @Prop() error_message: string;\r\n @Prop() validation_type?: string;\r\n @Prop() validation_id: string = 'text';\r\n @Prop() size?: string;\r\n @Prop() variants?: string;\r\n @Prop() custom_class?: string = '';\r\n @Prop() component_mode?: string;\r\n @Prop() aria_label?: string;\r\n @Prop() contrast_noraml_text?: string;\r\n\r\n // Emits event to parent component\r\n @Event() radioChange: EventEmitter<{ checked: boolean; input_id: string }>;\r\n\r\n private handleChange = (_e: Event) => {\r\n this.checked = true;\r\n this.radioChange.emit({ checked: this.checked, input_id: this.input_id });\r\n };\r\n\r\n render() {\r\n const radiobuttonClass = [\r\n 'dda-radio-container',\r\n this.validation_type ? `dda-validation-${this.validation_type}` : '',\r\n this.size ? `dda-radio-${this.size}` : '',\r\n this.variants ? `dda-radio-${this.variants}` : '',\r\n this.custom_class ? `dda-radio-${this.custom_class}` : '',\r\n this.radio_status ? `dda-radio-${this.radio_status}` : '',\r\n this.component_mode,\r\n ]\r\n .filter(Boolean)\r\n .join(' ');\r\n\r\n return (\r\n <Host>\r\n <div class={radiobuttonClass}>\r\n <input\r\n type=\"radio\"\r\n id={this.input_id}\r\n name={this.group_name}\r\n aria-label={this.aria_label}\r\n checked={this.checked}\r\n disabled={this.radio_status === 'disabled'}\r\n onChange={this.handleChange}\r\n />\r\n <label htmlFor={this.input_id}>\r\n <span class=\"radio-circle\"></span>\r\n <p>\r\n <span class=\"radio-title\">{this.title_text}</span>\r\n {this.validation_type === 'error' && this.error_message ? (\r\n <span class=\"radio-error-message\" id={this.validation_id}>\r\n {this.error_message}\r\n </span>\r\n ) : (\r\n this.supporting && (\r\n <span class=\"dda-helper-text\" id={this.validation_id}>\r\n {this.supporting}\r\n </span>\r\n )\r\n )}\r\n </p>\r\n </label>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -35,28 +35,52 @@ const DdaSearchInput = class {
35
35
  }
36
36
  };
37
37
  }
38
+ watchValue(newValue) {
39
+ this.internalValue = newValue || '';
40
+ this.hasInputValue = !!this.internalValue;
41
+ }
42
+ componentWillLoad() {
43
+ this.internalValue = this.value || '';
44
+ this.hasInputValue = !!this.internalValue;
45
+ }
38
46
  clearInput() {
39
47
  if (!this.input_id)
40
48
  return;
41
49
  const input = this.el.querySelector(`#${this.input_id}`);
42
50
  if (input) {
43
51
  input.value = '';
52
+ this.internalValue = '';
44
53
  this.hasInputValue = false;
54
+ this.inputChanged.emit('');
45
55
  input.focus();
46
56
  }
47
57
  }
58
+ async reset() {
59
+ this.internalValue = '';
60
+ this.hasInputValue = false;
61
+ this.inputChanged.emit('');
62
+ }
63
+ async setValue(val) {
64
+ this.internalValue = val;
65
+ this.hasInputValue = !!val;
66
+ this.inputChanged.emit(val);
67
+ }
48
68
  render() {
49
- return (index.h(index.Host, { key: 'f0fc1e206852227eeb82390059a4b0fbdb3c3978' }, index.h("div", { key: '4da59521507db34828bd771b96839af1930b6bde', class: `dda-input-container dda-input-size-${this.size} ${this.component_mode} ${this.custom_class} ${this.input_status ? `dda-input-${this.input_status}` : ''} ${this.has_error ? 'dda-validation-error' : ''}` }, this.label && (index.h("label", { key: '028f47421e723d951fe90b3e386b1c0a580330aa', htmlFor: this.button_id, class: "dda-input-label" }, this.label)), index.h("div", { key: 'a347149b88dd251f9572896aa6e989498f4e64e8', class: "dda-search-area dda-search-action" }, index.h("i", { key: '5a39b3cd16166c02841adb4f5f8153a7ae211c55', class: "material-icons icon-left", "aria-hidden": "true" }, "search"), index.h("input", { key: '32fada4ba0736a93e0a3dac2a68c43e0cc08af90', name: this.search_input_name, "aria-label": this.aria_label, id: this.input_id, value: this.internalValue || this.value, type: "text", class: `dda-input-field dda-search-field ${this.show_button ? 'has-search-button' : ''}`, placeholder: this.placeholder,
69
+ return (index.h(index.Host, { key: '8e2933267f74785a68d453074f3d6045718cf044' }, index.h("div", { key: '7f859a72924bdac3b6f103f27e4ed9621890ab6e', class: `dda-input-container dda-input-size-${this.size} ${this.component_mode} ${this.custom_class} ${this.input_status ? `dda-input-${this.input_status}` : ''} ${this.has_error ? 'dda-validation-error' : ''}` }, this.label && (index.h("label", { key: '1eb03f8bb8d73fd0d0e2d7e9408ee3d10aac1918', htmlFor: this.button_id, class: "dda-input-label" }, this.label)), index.h("div", { key: 'f976030698beb92a46ee0b6e08d01ab3685cae38', class: "dda-search-area dda-search-action" }, index.h("i", { key: '364af87bba19b438240386b426bed5df62b99043', class: "material-icons icon-left", "aria-hidden": "true" }, "search"), index.h("input", { key: '004b38c78f854b77c86444c9147bd97fa9b06a2c', name: this.search_input_name, "aria-label": this.aria_label, id: this.input_id, value: this.internalValue, type: "text", class: `dda-input-field dda-search-field ${this.show_button ? 'has-search-button' : ''}`, placeholder: this.placeholder,
50
70
  // onInput={this.handleInput}
51
71
  onKeyDown: this.handleKeyDown, onInput: event => {
52
72
  this.internalValue = event.target.value;
53
- this.inputChanged.emit(event);
73
+ this.hasInputValue = !!this.internalValue;
74
+ this.inputChanged.emit(this.internalValue);
54
75
  }, onBlur: event => {
55
76
  const value = event.target.value.trim();
56
77
  this.inputBlurred.emit({ name: this.search_input_name, value });
57
- } }), index.h("div", { key: '52488a0aaeea3d843515494801ac5f15789b9726', class: "dda-search-btngroup" }, this.hasInputValue && (index.h("button", { key: '1758a03fcb843d097ffc057f8c4f03b6ee8d2638', name: this.close_button_name, "aria-label": this.button_aria_label, id: this.button_id, type: "button", class: "dda-search-close-icon", onClick: () => this.clearInput() }, index.h("i", { key: '49c31a2d6ae37925b38f5df8ad60f7f05556e4d6', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close"))), this.show_button && (index.h("button", { key: '4400e93f058867d62f847460581ce5a26d96ed1e', name: this.search_button_name, type: "button", class: "dda-btn btn-color-default-primary dda-btn-sm", onClick: this.handleSearchClick }, this.button_text)))), this.helper_text && (index.h("span", { key: '7982b705e86d2ac78f8b09d239a513dcbe5c6b5b', class: "dda-helper-text", id: this.validation_id }, this.helper_text)), this.error_message && (index.h("span", { key: '3ef56723a6479b87e93f4ab989b145c80a064ff5', class: "dda-error-message", id: this.validation_id }, this.error_message)))));
78
+ } }), index.h("div", { key: '27e50509e83c04e26711ed440ddb58c60d3e982f', class: "dda-search-btngroup" }, this.hasInputValue && (index.h("button", { key: '55c2c8d16f1b7e4fe498969585edb7cc5fadbc59', name: this.close_button_name, "aria-label": this.button_aria_label, id: this.button_id, type: "button", class: "dda-search-close-icon", onClick: () => this.clearInput() }, index.h("i", { key: '3adc8ec4ce88ad46ff82204f153aecd3ee88542d', class: "material-icons material-symbols-outlined", "aria-hidden": "true" }, "close"))), this.show_button && (index.h("button", { key: 'f9d2aaafebe32c7b7a680afb442bb2a9ad0801ca', name: this.search_button_name, type: "button", class: "dda-btn btn-color-default-primary dda-btn-sm", onClick: this.handleSearchClick }, this.button_text)))), this.helper_text && (index.h("span", { key: 'f380efa88b73bc5f57852141b1d37a726955480e', class: "dda-helper-text", id: this.validation_id }, this.helper_text)), this.error_message && (index.h("span", { key: 'dad05b7e291794f023ddd94e5352d2ce1a977c39', class: "dda-error-message", id: this.validation_id }, this.error_message)))));
58
79
  }
59
80
  get el() { return index.getElement(this); }
81
+ static get watchers() { return {
82
+ "value": ["watchValue"]
83
+ }; }
60
84
  };
61
85
 
62
86
  exports.dda_search_input = DdaSearchInput;
@@ -1 +1 @@
1
- {"file":"dda-search-input.entry.cjs.js","mappings":";;;;;;MAOa,cAAc;IAL3B;;;;;QAMU,gBAAW,GAAW,QAAQ,CAAC;QAE/B,SAAI,GAAW,IAAI,CAAC;QAEpB,gBAAW,GAAY,KAAK,CAAC;QAI7B,cAAS,GAAY,KAAK,CAAC;QAC3B,iBAAY,GAAY,EAAE,CAAC;QAkB1B,kBAAa,GAAY,KAAK,CAAC;QAC/B,kBAAa,GAAW,EAAE,CAAC;QAEpC,gBAAW,GAAG,CAAC,KAAY;YACzB,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0B,CAAC;YAChD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SAC9C,CAAC;QAEF,kBAAa,GAAG,CAAC,KAAoB;YACnC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;gBACzB,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0B,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;aAC1D;SACF,CAAC;QAEF,sBAAiB,GAAG;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAqB,CAAC;YAC7E,IAAI,KAAK,EAAE;;gBAET,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;aAC3D;SACF,CAAC;KAkFH;IAhFC,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAqB,CAAC;QAC7E,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,KAAK,CAAC,KAAK,EAAE,CAAC;SACf;KACF;IAED,MAAM;QACJ,QACEA,QAACC,UAAI,uDACHD,kEACE,KAAK,EAAE,sCAAsC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,GAAG,aAAa,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG,sBAAsB,GAAG,EAAE,EAAE,IAEhN,IAAI,CAAC,KAAK,KACTA,oEAAO,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAC,iBAAiB,IACpD,IAAI,CAAC,KAAK,CACL,CACT,EACDA,kEAAK,KAAK,EAAC,mCAAmC,IAC5CA,gEAAG,KAAK,EAAC,0BAA0B,iBAAa,MAAM,aAElD,EACJA,oEACE,IAAI,EAAE,IAAI,CAAC,iBAAiB,gBAChB,IAAI,CAAC,UAAU,EAC3B,EAAE,EAAE,IAAI,CAAC,QAAQ,EACjB,KAAK,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,EACvC,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,oCAAoC,IAAI,CAAC,WAAW,GAAG,mBAAmB,GAAG,EAAE,EAAE,EACxF,WAAW,EAAE,IAAI,CAAC,WAAW;;YAE7B,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,OAAO,EAAE,KAAK;gBACZ,IAAI,CAAC,aAAa,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;gBAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC/B,EACD,MAAM,EAAE,KAAK;gBACX,MAAM,KAAK,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC;aACjE,GACD,EACFA,kEAAK,KAAK,EAAC,qBAAqB,IAC7B,IAAI,CAAC,aAAa,KACjBA,qEACE,IAAI,EAAE,IAAI,CAAC,iBAAiB,gBAChB,IAAI,CAAC,iBAAiB,EAClC,EAAE,EAAE,IAAI,CAAC,SAAS,EAClB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,uBAAuB,EAC7B,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,IAEhCA,gEAAG,KAAK,EAAC,0CAA0C,iBAAa,MAAM,YAElE,CACG,CACV,EACA,IAAI,CAAC,WAAW,KACfA,qEAAQ,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,8CAA8C,EAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,IACtI,IAAI,CAAC,WAAW,CACV,CACV,CACG,CACF,EACL,IAAI,CAAC,WAAW,KACfA,mEAAM,KAAK,EAAC,iBAAiB,EAAC,EAAE,EAAE,IAAI,CAAC,aAAa,IACjD,IAAI,CAAC,WAAW,CACZ,CACR,EACA,IAAI,CAAC,aAAa,KACjBA,mEAAM,KAAK,EAAC,mBAAmB,EAAC,EAAE,EAAE,IAAI,CAAC,aAAa,IACnD,IAAI,CAAC,aAAa,CACd,CACR,CACG,CACD,EACP;KACH;;;;;;","names":["h","Host"],"sources":["src/components/dda-search-input/dda-search-input.tsx"],"sourcesContent":["import { Component, Prop, h, Host, Element, State, Event, EventEmitter } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-search-input',\r\n styleUrls: [],\r\n shadow: false,\r\n})\r\nexport class DdaSearchInput {\r\n @Prop() placeholder: string = 'Search';\r\n @Prop() label: string;\r\n @Prop() size: string = 'sm';\r\n @Prop() error_message: string;\r\n @Prop() show_button: boolean = false;\r\n @Prop() helper_text: string;\r\n @Prop() validation_id: string;\r\n @Prop() input_status?: string;\r\n @Prop() has_error: boolean = false;\r\n @Prop() custom_class?: string = '';\r\n @Prop() component_mode?: string;\r\n @Prop() button_id?: string;\r\n @Prop() input_id?: string;\r\n @Prop() aria_label?: string;\r\n @Prop() button_aria_label?: string;\r\n @Prop() search_input_name: string;\r\n @Prop() close_button_name: string;\r\n @Prop() search_button_name: string;\r\n @Prop() button_text: string;\r\n @Prop() value: string;\r\n\r\n @Event() inputChanged: EventEmitter<any>;\r\n @Event() buttonClicked: EventEmitter<any>;\r\n @Event() inputBlurred: EventEmitter<{ name: string; value: string }>;\r\n\r\n @Element() el: HTMLElement;\r\n\r\n @State() hasInputValue: boolean = false;\r\n @State() internalValue: string = '';\r\n\r\n handleInput = (event: Event) => {\r\n const target = event.target as HTMLInputElement;\r\n this.hasInputValue = target.value.length > 0;\r\n };\r\n\r\n handleKeyDown = (event: KeyboardEvent) => {\r\n if (event.key === 'Enter') {\r\n const target = event.target as HTMLInputElement;\r\n console.log('Search input value (Enter):', target.value);\r\n }\r\n };\r\n\r\n handleSearchClick = () => {\r\n const input = this.el.querySelector(`#${this.input_id}`) as HTMLInputElement;\r\n if (input) {\r\n // console.log('Search input value (Button):', input.value);\r\n this.buttonClicked.emit(this.internalValue || this.value);\r\n }\r\n };\r\n\r\n clearInput() {\r\n if (!this.input_id) return;\r\n const input = this.el.querySelector(`#${this.input_id}`) as HTMLInputElement;\r\n if (input) {\r\n input.value = '';\r\n this.hasInputValue = false;\r\n input.focus();\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div\r\n class={`dda-input-container dda-input-size-${this.size} ${this.component_mode} ${this.custom_class} ${this.input_status ? `dda-input-${this.input_status}` : ''} ${this.has_error ? 'dda-validation-error' : ''}`}\r\n >\r\n {this.label && (\r\n <label htmlFor={this.button_id} class=\"dda-input-label\">\r\n {this.label}\r\n </label>\r\n )}\r\n <div class=\"dda-search-area dda-search-action\">\r\n <i class=\"material-icons icon-left\" aria-hidden=\"true\">\r\n search\r\n </i>\r\n <input\r\n name={this.search_input_name}\r\n aria-label={this.aria_label}\r\n id={this.input_id}\r\n value={this.internalValue || this.value}\r\n type=\"text\"\r\n class={`dda-input-field dda-search-field ${this.show_button ? 'has-search-button' : ''}`}\r\n placeholder={this.placeholder}\r\n // onInput={this.handleInput}\r\n onKeyDown={this.handleKeyDown}\r\n onInput={event => {\r\n this.internalValue = (event.target as HTMLInputElement).value;\r\n this.inputChanged.emit(event);\r\n }}\r\n onBlur={event => {\r\n const value = (event.target as HTMLInputElement).value.trim();\r\n this.inputBlurred.emit({ name: this.search_input_name, value });\r\n }}\r\n />\r\n <div class=\"dda-search-btngroup\">\r\n {this.hasInputValue && (\r\n <button\r\n name={this.close_button_name}\r\n aria-label={this.button_aria_label}\r\n id={this.button_id}\r\n type=\"button\"\r\n class=\"dda-search-close-icon\"\r\n onClick={() => this.clearInput()}\r\n >\r\n <i class=\"material-icons material-symbols-outlined\" aria-hidden=\"true\">\r\n close\r\n </i>\r\n </button>\r\n )}\r\n {this.show_button && (\r\n <button name={this.search_button_name} type=\"button\" class=\"dda-btn btn-color-default-primary dda-btn-sm\" onClick={this.handleSearchClick}>\r\n {this.button_text}\r\n </button>\r\n )}\r\n </div>\r\n </div>\r\n {this.helper_text && (\r\n <span class=\"dda-helper-text\" id={this.validation_id}>\r\n {this.helper_text}\r\n </span>\r\n )}\r\n {this.error_message && (\r\n <span class=\"dda-error-message\" id={this.validation_id}>\r\n {this.error_message}\r\n </span>\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"dda-search-input.entry.cjs.js","mappings":"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","names":["h","Host"],"sources":["src/components/dda-search-input/dda-search-input.tsx"],"sourcesContent":["import { Component, Prop, h, Host, Element, State, Event, EventEmitter, Watch, Method } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-search-input',\r\n styleUrls: [],\r\n shadow: false,\r\n})\r\nexport class DdaSearchInput {\r\n @Prop() placeholder: string = 'Search';\r\n @Prop() label: string;\r\n @Prop() size: string = 'sm';\r\n @Prop() error_message: string;\r\n @Prop() show_button: boolean = false;\r\n @Prop() helper_text: string;\r\n @Prop() validation_id: string;\r\n @Prop() input_status?: string;\r\n @Prop() has_error: boolean = false;\r\n @Prop() custom_class?: string = '';\r\n @Prop() component_mode?: string;\r\n @Prop() button_id?: string;\r\n @Prop() input_id?: string;\r\n @Prop() aria_label?: string;\r\n @Prop() button_aria_label?: string;\r\n @Prop() search_input_name: string;\r\n @Prop() close_button_name: string;\r\n @Prop() search_button_name: string;\r\n @Prop() button_text: string;\r\n @Prop() value: string;\r\n\r\n @Event() inputChanged: EventEmitter<any>;\r\n @Event() buttonClicked: EventEmitter<any>;\r\n @Event() inputBlurred: EventEmitter<{ name: string; value: string }>;\r\n\r\n @Element() el: HTMLElement;\r\n\r\n @State() hasInputValue: boolean = false;\r\n @State() internalValue: string = '';\r\n\r\n handleInput = (event: Event) => {\r\n const target = event.target as HTMLInputElement;\r\n this.hasInputValue = target.value.length > 0;\r\n };\r\n\r\n handleKeyDown = (event: KeyboardEvent) => {\r\n if (event.key === 'Enter') {\r\n const target = event.target as HTMLInputElement;\r\n console.log('Search input value (Enter):', target.value);\r\n }\r\n };\r\n\r\n @Watch('value')\r\n watchValue(newValue: string) {\r\n this.internalValue = newValue || '';\r\n this.hasInputValue = !!this.internalValue;\r\n }\r\n\r\n componentWillLoad() {\r\n this.internalValue = this.value || '';\r\n this.hasInputValue = !!this.internalValue;\r\n }\r\n\r\n handleSearchClick = () => {\r\n const input = this.el.querySelector(`#${this.input_id}`) as HTMLInputElement;\r\n if (input) {\r\n // console.log('Search input value (Button):', input.value);\r\n this.buttonClicked.emit(this.internalValue || this.value);\r\n }\r\n };\r\n\r\n clearInput() {\r\n if (!this.input_id) return;\r\n const input = this.el.querySelector(`#${this.input_id}`) as HTMLInputElement;\r\n if (input) {\r\n input.value = '';\r\n this.internalValue = '';\r\n this.hasInputValue = false;\r\n this.inputChanged.emit('');\r\n input.focus();\r\n }\r\n }\r\n\r\n @Method()\r\n async reset() {\r\n this.internalValue = '';\r\n this.hasInputValue = false;\r\n this.inputChanged.emit('');\r\n }\r\n\r\n @Method()\r\n async setValue(val: string) {\r\n this.internalValue = val;\r\n this.hasInputValue = !!val;\r\n this.inputChanged.emit(val);\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div\r\n class={`dda-input-container dda-input-size-${this.size} ${this.component_mode} ${this.custom_class} ${this.input_status ? `dda-input-${this.input_status}` : ''} ${this.has_error ? 'dda-validation-error' : ''}`}\r\n >\r\n {this.label && (\r\n <label htmlFor={this.button_id} class=\"dda-input-label\">\r\n {this.label}\r\n </label>\r\n )}\r\n <div class=\"dda-search-area dda-search-action\">\r\n <i class=\"material-icons icon-left\" aria-hidden=\"true\">\r\n search\r\n </i>\r\n <input\r\n name={this.search_input_name}\r\n aria-label={this.aria_label}\r\n id={this.input_id}\r\n value={this.internalValue}\r\n type=\"text\"\r\n class={`dda-input-field dda-search-field ${this.show_button ? 'has-search-button' : ''}`}\r\n placeholder={this.placeholder}\r\n // onInput={this.handleInput}\r\n onKeyDown={this.handleKeyDown}\r\n onInput={event => {\r\n this.internalValue = (event.target as HTMLInputElement).value;\r\n this.hasInputValue = !!this.internalValue;\r\n this.inputChanged.emit(this.internalValue);\r\n }}\r\n onBlur={event => {\r\n const value = (event.target as HTMLInputElement).value.trim();\r\n this.inputBlurred.emit({ name: this.search_input_name, value });\r\n }}\r\n />\r\n <div class=\"dda-search-btngroup\">\r\n {this.hasInputValue && (\r\n <button\r\n name={this.close_button_name}\r\n aria-label={this.button_aria_label}\r\n id={this.button_id}\r\n type=\"button\"\r\n class=\"dda-search-close-icon\"\r\n onClick={() => this.clearInput()}\r\n >\r\n <i class=\"material-icons material-symbols-outlined\" aria-hidden=\"true\">\r\n close\r\n </i>\r\n </button>\r\n )}\r\n {this.show_button && (\r\n <button name={this.search_button_name} type=\"button\" class=\"dda-btn btn-color-default-primary dda-btn-sm\" onClick={this.handleSearchClick}>\r\n {this.button_text}\r\n </button>\r\n )}\r\n </div>\r\n </div>\r\n {this.helper_text && (\r\n <span class=\"dda-helper-text\" id={this.validation_id}>\r\n {this.helper_text}\r\n </span>\r\n )}\r\n {this.error_message && (\r\n <span class=\"dda-error-message\" id={this.validation_id}>\r\n {this.error_message}\r\n </span>\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -37,11 +37,14 @@ const Ddaselect = class {
37
37
  }
38
38
  }
39
39
  componentWillLoad() {
40
- const selectedOption = this.parsedOptions.find((opt) => opt.id.toString() === this.selected || opt.text === this.selected);
40
+ const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === this.selected || opt.text === this.selected);
41
41
  if (selectedOption) {
42
42
  this.selectedId = selectedOption.id;
43
43
  this.selectedText = selectedOption.text;
44
44
  }
45
+ if (this.selected) {
46
+ this.watchSelected(this.selected);
47
+ }
45
48
  }
46
49
  toggleSelect() {
47
50
  if (!this.disabled) {
@@ -62,6 +65,33 @@ const Ddaselect = class {
62
65
  disconnectedCallback() {
63
66
  document.removeEventListener('click', this.handleClickOutside);
64
67
  }
68
+ async setSelected(value) {
69
+ const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === value.toString() || opt.text === value);
70
+ if (selectedOption) {
71
+ this.selectedId = selectedOption.id;
72
+ this.selectedText = selectedOption.text;
73
+ this.selected = selectedOption.id.toString();
74
+ }
75
+ else {
76
+ this.selectedId = undefined;
77
+ this.selectedText = '';
78
+ this.selected = '';
79
+ }
80
+ }
81
+ async getSelectedText() {
82
+ return this.selectedText;
83
+ }
84
+ watchSelected(newVal) {
85
+ const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === newVal || opt.text === newVal);
86
+ if (selectedOption) {
87
+ this.selectedId = selectedOption.id;
88
+ this.selectedText = selectedOption.text;
89
+ }
90
+ else {
91
+ this.selectedId = undefined;
92
+ this.selectedText = '';
93
+ }
94
+ }
65
95
  numberToWord(num) {
66
96
  const words = ['One', 'Two', 'Three', 'Four', 'Five'];
67
97
  return words[num - 1] || num.toString();
@@ -69,14 +99,17 @@ const Ddaselect = class {
69
99
  render() {
70
100
  const labelId = `${this.button_id}-label`;
71
101
  const valueId = `${this.button_id}-value`;
72
- return (index.h(index.Host, { key: 'c1dcfbea4498629d0dfa4f67948bb6ac30897ac2' }, index.h("div", { key: 'a95a7f3dd1221ad13a2a5369ec68c68034f02d38', class: `
102
+ return (index.h(index.Host, { key: '1e9145a83c3ec0e092e6092cc378d785af8f30a2' }, index.h("div", { key: 'a659d4a87d4f1036406f23645ea64aab7ed80cf5', class: `
73
103
  dda-input-container ${this.custom_class}
74
104
  ${this.component_mode}
75
105
  ${this.disabled ? 'dda-input-disabled' : ''}
76
106
  dda-input-size-${this.size} dda-validation-${this.validation_type}
77
- ` }, this.label && (index.h("span", { key: '665853d1e6aa374cea72c8268409a2c8d4c605be', id: labelId, class: "dda-input-label" }, this.label)), index.h("div", { key: 'eac1aeb088a25cd6fa43d63d9e4a9345fe16cbb2', class: "dda-dropdown-container" }, index.h("button", { key: '3adfaf044e5033e70c797c4e733b6c1cacd884e4', name: this.toggle_button_name, id: this.button_id, type: "button", class: "dda-input-field dda-select-header", "aria-labelledby": `${labelId} ${this.button_id}`, disabled: this.disabled, onClick: () => this.toggleSelect(), onBlur: this.handleBlur }, index.h("span", { key: '4aeac4f4baa2d34201ffa054b256379b716f71f8', id: valueId, class: "dda-select-button-label" }, this.selectedText || this.placeholder), index.h("i", { key: 'b7c6541a48190f0fe7f4bcbc188577c6d7914237', class: "material-icons", "aria-hidden": "true" }, this.is_open ? 'keyboard_arrow_up' : 'keyboard_arrow_down')), this.is_open && (index.h("div", { key: '2b686c68fa5e48f5f3dc87563bb01457f2fd8189', class: "dda-input-dropdown-list dda-select-list" }, this.parsedOptions.length > 0 ? (this.parsedOptions.map((option, index$1) => (index.h("button", { name: `option${this.numberToWord(index$1 + 1)}`, type: "button", class: `dda-input-dropdown-item ${this.selectedId === option.id ? 'selected' : ''}`, role: "option", "aria-selected": this.selectedId === option.id ? 'true' : 'false', onClick: () => this.selectOption(option) }, option.text)))) : (index.h("div", { class: "dda-input-dropdown-item" }, "No options available"))))), this.validation_type === 'error' && this.error_message ? (index.h("span", { class: "dda-error-message", id: this.validation_id, role: "alert" }, this.error_message)) : (this.helper_text && (index.h("span", { class: "dda-helper-text", id: this.validation_id }, this.helper_text))))));
107
+ ` }, this.label && (index.h("span", { key: 'bcd9cfb16f9d04cdca2ee1a44ea66f895a537656', id: labelId, class: "dda-input-label" }, this.label)), index.h("div", { key: '829e7f6d1c45507a016b17b660ad4e6d5346d8f7', class: "dda-dropdown-container" }, index.h("button", { key: 'c5c0d1cbd79fdb8c311673277365553bbdc60362', name: this.toggle_button_name, id: this.button_id, type: "button", class: "dda-input-field dda-select-header", "aria-labelledby": `${labelId} ${this.button_id}`, disabled: this.disabled, onClick: () => this.toggleSelect(), onBlur: this.handleBlur }, index.h("span", { key: '69793468dac92b8cc3ac771cc69c75f8cd6ea49b', id: valueId, class: "dda-select-button-label" }, this.selectedText || this.placeholder), index.h("i", { key: '5e8e2a3ab27596547c0c04a73bcb4303108e5331', class: "material-icons", "aria-hidden": "true" }, this.is_open ? 'keyboard_arrow_up' : 'keyboard_arrow_down')), this.is_open && (index.h("div", { key: 'f2c17e59dabb323d80a44c29411518f0aeb8a231', class: "dda-input-dropdown-list dda-select-list" }, this.parsedOptions.length > 0 ? (this.parsedOptions.map((option, index$1) => (index.h("button", { name: `option${this.numberToWord(index$1 + 1)}`, type: "button", class: `dda-input-dropdown-item ${this.selectedId === option.id ? 'selected' : ''}`, role: "option", "aria-selected": this.selectedId === option.id ? 'true' : 'false', onClick: () => this.selectOption(option) }, option.text)))) : (index.h("div", { class: "dda-input-dropdown-item" }, "No options available"))))), this.validation_type === 'error' && this.error_message ? (index.h("span", { class: "dda-error-message", id: this.validation_id, role: "alert" }, this.error_message)) : (this.helper_text && (index.h("span", { class: "dda-helper-text", id: this.validation_id }, this.helper_text))))));
78
108
  }
79
109
  get el() { return index.getElement(this); }
110
+ static get watchers() { return {
111
+ "selected": ["watchSelected"]
112
+ }; }
80
113
  };
81
114
 
82
115
  exports.dda_select = Ddaselect;
@@ -1 +1 @@
1
- {"file":"dda-select.entry.cjs.js","mappings":"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","names":["h","Host","index"],"sources":["src/components/dda-select/dda-select.tsx"],"sourcesContent":["import { Component, Prop, State, h, Host, Element, Event, EventEmitter } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-select',\r\n styleUrls: [],\r\n shadow: false,\r\n})\r\nexport class Ddaselect {\r\n @Element() el: HTMLElement;\r\n\r\n @Prop() label: string;\r\n @Prop() options: string;\r\n @Prop() selected: string; // can be id or text\r\n @Prop() disabled: boolean = false;\r\n @Prop() error?: string;\r\n @Prop() error_message: string;\r\n @Prop() helper_text: string;\r\n @Prop() validation_type?: string;\r\n @Prop() validation_id: string = 'text';\r\n @Prop() size?: string;\r\n @Prop() custom_class?: string = '';\r\n @Prop() component_mode?: string;\r\n @Prop() button_id: string;\r\n @Prop() toggle_button_name: string;\r\n @Prop() option_select_button_name: string;\r\n @Prop() placeholder: string = '';\r\n @Prop() main_aria_label: string = '';\r\n @Prop() input_name: string = '';\r\n \r\n @State() is_open: boolean = false;\r\n @State() selectedId: number;\r\n @State() selectedText: string;\r\n \r\n @Event() selectChanged: EventEmitter<{ id: number; text: string }>;\r\n @Event() selectBlurred: EventEmitter<{ name: string; value: string }>;\r\n\r\n private get parsedOptions(): { id: number; text: string }[] {\r\n try {\r\n return JSON.parse(this.options);\r\n } catch {\r\n return [];\r\n }\r\n }\r\n\r\n componentWillLoad() {\r\n const selectedOption = this.parsedOptions.find(\r\n (opt) => opt.id.toString() === this.selected || opt.text === this.selected\r\n );\r\n if (selectedOption) {\r\n this.selectedId = selectedOption.id;\r\n this.selectedText = selectedOption.text;\r\n }\r\n }\r\n\r\n toggleSelect() {\r\n if (!this.disabled) {\r\n this.is_open = !this.is_open;\r\n }\r\n }\r\n\r\n selectOption(option: { id: number; text: string }) {\r\n if (!this.disabled) {\r\n this.selectedId = option.id;\r\n this.selectedText = option.text;\r\n this.is_open = false;\r\n this.selectChanged.emit(option);\r\n }\r\n }\r\n\r\n handleClickOutside = (event: MouseEvent) => {\r\n if (this.is_open && !this.el.contains(event.target as Node)) {\r\n this.is_open = false;\r\n }\r\n };\r\n\r\n handleBlur = () => {\r\n this.selectBlurred.emit({\r\n name: this.input_name || this.button_id,\r\n value: this.selectedText || '',\r\n });\r\n };\r\n\r\n\r\n connectedCallback() {\r\n document.addEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n disconnectedCallback() {\r\n document.removeEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n private numberToWord(num: number): string {\r\n const words = ['One', 'Two', 'Three', 'Four', 'Five'];\r\n return words[num - 1] || num.toString();\r\n }\r\n\r\n render() {\r\n const labelId = `${this.button_id}-label`;\r\n const valueId = `${this.button_id}-value`;\r\n\r\n return (\r\n <Host>\r\n <div\r\n class={`\r\n dda-input-container ${this.custom_class} \r\n ${this.component_mode} \r\n ${this.disabled ? 'dda-input-disabled' : ''} \r\n dda-input-size-${this.size} dda-validation-${this.validation_type}\r\n `}\r\n >\r\n {this.label && (\r\n <span id={labelId} class=\"dda-input-label\">\r\n {this.label}\r\n </span>\r\n )}\r\n <div class=\"dda-dropdown-container\">\r\n <button\r\n name={this.toggle_button_name}\r\n id={this.button_id}\r\n type=\"button\"\r\n class=\"dda-input-field dda-select-header\"\r\n aria-labelledby={`${labelId} ${this.button_id}`}\r\n disabled={this.disabled}\r\n onClick={() => this.toggleSelect()}\r\n onBlur={this.handleBlur}\r\n >\r\n <span id={valueId} class=\"dda-select-button-label\">\r\n {this.selectedText || this.placeholder}\r\n </span>\r\n <i class=\"material-icons\" aria-hidden=\"true\">{this.is_open ? 'keyboard_arrow_up' : 'keyboard_arrow_down'}</i>\r\n </button>\r\n\r\n {this.is_open && (\r\n <div class=\"dda-input-dropdown-list dda-select-list\">\r\n {this.parsedOptions.length > 0 ? (\r\n this.parsedOptions.map((option, index) => (\r\n <button\r\n name={`option${this.numberToWord(index + 1)}`}\r\n type=\"button\"\r\n class={`dda-input-dropdown-item ${this.selectedId === option.id ? 'selected' : ''}`}\r\n role=\"option\"\r\n aria-selected={this.selectedId === option.id ? 'true' : 'false'}\r\n onClick={() => this.selectOption(option)}\r\n >\r\n {option.text}\r\n </button>\r\n ))\r\n ) : (\r\n <div class=\"dda-input-dropdown-item\">No options available</div>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n\r\n {this.validation_type === 'error' && this.error_message ? (\r\n <span \r\n class=\"dda-error-message\" \r\n id={this.validation_id}\r\n role=\"alert\"\r\n >\r\n {this.error_message}\r\n </span>\r\n ) : (\r\n this.helper_text && (\r\n <span \r\n class=\"dda-helper-text\" \r\n id={this.validation_id}\r\n >\r\n {this.helper_text}\r\n </span>\r\n )\r\n )}\r\n\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"dda-select.entry.cjs.js","mappings":";;;;;;MAOa,SAAS;IALtB;;;;QAWU,aAAQ,GAAY,KAAK,CAAC;QAK1B,kBAAa,GAAW,MAAM,CAAC;QAE/B,iBAAY,GAAY,EAAE,CAAC;QAK3B,gBAAW,GAAW,EAAE,CAAC;QACzB,oBAAe,GAAW,EAAE,CAAC;QAC7B,eAAU,GAAW,EAAE,CAAC;QAEvB,YAAO,GAAY,KAAK,CAAC;QAyClC,uBAAkB,GAAG,CAAC,KAAiB;YACrC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,EAAE;gBAC3D,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;SACF,CAAC;QAEF,eAAU,GAAG;YACX,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBACtB,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS;gBACvC,KAAK,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE;aAC/B,CAAC,CAAC;SACJ,CAAC;KA2HH;IAxKC,IAAY,aAAa;QACvB,IAAI;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACjC;QAAC,WAAM;YACN,OAAO,EAAE,CAAC;SACX;KACF;IAED,iBAAiB;QACf,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzH,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC;SACzC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACnC;KACF;IAED,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;SAC9B;KACF;IAED,YAAY,CAAC,MAAoC;QAC/C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACjC;KACF;IAeD,iBAAiB;QACf,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAC7D;IAED,oBAAoB;QAClB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAChE;IAGD,MAAM,WAAW,CAAC,KAAsB;QACtC,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;QAEpH,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC;YACxC,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;SAC9C;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACpB;KACF;IAGD,MAAM,eAAe;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;IAGD,aAAa,CAAC,MAAc;QAC1B,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAE3G,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SACxB;KACF;IAEO,YAAY,CAAC,GAAW;QAC9B,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;KACzC;IAED,MAAM;QACJ,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,QAAQ,CAAC;QAC1C,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,QAAQ,CAAC;QAE1C,QACEA,QAACC,UAAI,uDACHD,kEACE,KAAK,EAAE;kCACiB,IAAI,CAAC,YAAY;cACrC,IAAI,CAAC,cAAc;cACnB,IAAI,CAAC,QAAQ,GAAG,oBAAoB,GAAG,EAAE;6BAC1B,IAAI,CAAC,IAAI,mBAAmB,IAAI,CAAC,eAAe;WAClE,IAEA,IAAI,CAAC,KAAK,KACTA,mEAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAC,iBAAiB,IACvC,IAAI,CAAC,KAAK,CACN,CACR,EACDA,kEAAK,KAAK,EAAC,wBAAwB,IACjCA,qEACE,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAC7B,EAAE,EAAE,IAAI,CAAC,SAAS,EAClB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,mCAAmC,qBACxB,GAAG,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,EAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,EAClC,MAAM,EAAE,IAAI,CAAC,UAAU,IAEvBA,mEAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAC,yBAAyB,IAC/C,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,CACjC,EACPA,gEAAG,KAAK,EAAC,gBAAgB,iBAAa,MAAM,IACzC,IAAI,CAAC,OAAO,GAAG,mBAAmB,GAAG,qBAAqB,CACzD,CACG,EAER,IAAI,CAAC,OAAO,KACXA,kEAAK,KAAK,EAAC,yCAAyC,IACjD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAEE,OAAK,MACnCF,oBACE,IAAI,EAAE,SAAS,IAAI,CAAC,YAAY,CAACE,OAAK,GAAG,CAAC,CAAC,EAAE,EAC7C,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,2BAA2B,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,EAAE,GAAG,UAAU,GAAG,EAAE,EAAE,EACnF,IAAI,EAAC,QAAQ,mBACE,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,OAAO,EAC/D,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAEvC,MAAM,CAAC,IAAI,CACL,CACV,CAAC,KAEFF,iBAAK,KAAK,EAAC,yBAAyB,2BAA2B,CAChE,CACG,CACP,CACG,EAEL,IAAI,CAAC,eAAe,KAAK,OAAO,IAAI,IAAI,CAAC,aAAa,IACrDA,kBAAM,KAAK,EAAC,mBAAmB,EAAC,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,EAAC,OAAO,IACjE,IAAI,CAAC,aAAa,CACd,KAEP,IAAI,CAAC,WAAW,KACdA,kBAAM,KAAK,EAAC,iBAAiB,EAAC,EAAE,EAAE,IAAI,CAAC,aAAa,IACjD,IAAI,CAAC,WAAW,CACZ,CACR,CACF,CACG,CACD,EACP;KACH;;;;;;;;;","names":["h","Host","index"],"sources":["src/components/dda-select/dda-select.tsx"],"sourcesContent":["import { Component, Prop, State, h, Host, Element, Event, EventEmitter, Watch, Method } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-select',\r\n styleUrls: [],\r\n shadow: false,\r\n})\r\nexport class Ddaselect {\r\n @Element() el: HTMLElement;\r\n\r\n @Prop() label: string;\r\n @Prop() options: string;\r\n @Prop() selected: string; // can be id or text\r\n @Prop() disabled: boolean = false;\r\n @Prop() error?: string;\r\n @Prop() error_message: string;\r\n @Prop() helper_text: string;\r\n @Prop() validation_type?: string;\r\n @Prop() validation_id: string = 'text';\r\n @Prop() size?: string;\r\n @Prop() custom_class?: string = '';\r\n @Prop() component_mode?: string;\r\n @Prop() button_id: string;\r\n @Prop() toggle_button_name: string;\r\n @Prop() option_select_button_name: string;\r\n @Prop() placeholder: string = '';\r\n @Prop() main_aria_label: string = '';\r\n @Prop() input_name: string = '';\r\n\r\n @State() is_open: boolean = false;\r\n @State() selectedId: number;\r\n @State() selectedText: string;\r\n\r\n @Event() selectChanged: EventEmitter<{ id: number; text: string }>;\r\n @Event() selectBlurred: EventEmitter<{ name: string; value: string }>;\r\n\r\n private get parsedOptions(): { id: number; text: string }[] {\r\n try {\r\n return JSON.parse(this.options);\r\n } catch {\r\n return [];\r\n }\r\n }\r\n\r\n componentWillLoad() {\r\n const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === this.selected || opt.text === this.selected);\r\n if (selectedOption) {\r\n this.selectedId = selectedOption.id;\r\n this.selectedText = selectedOption.text;\r\n }\r\n if (this.selected) {\r\n this.watchSelected(this.selected);\r\n }\r\n }\r\n\r\n toggleSelect() {\r\n if (!this.disabled) {\r\n this.is_open = !this.is_open;\r\n }\r\n }\r\n\r\n selectOption(option: { id: number; text: string }) {\r\n if (!this.disabled) {\r\n this.selectedId = option.id;\r\n this.selectedText = option.text;\r\n this.is_open = false;\r\n this.selectChanged.emit(option);\r\n }\r\n }\r\n\r\n handleClickOutside = (event: MouseEvent) => {\r\n if (this.is_open && !this.el.contains(event.target as Node)) {\r\n this.is_open = false;\r\n }\r\n };\r\n\r\n handleBlur = () => {\r\n this.selectBlurred.emit({\r\n name: this.input_name || this.button_id,\r\n value: this.selectedText || '',\r\n });\r\n };\r\n\r\n connectedCallback() {\r\n document.addEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n disconnectedCallback() {\r\n document.removeEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n @Method()\r\n async setSelected(value: string | number) {\r\n const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === value.toString() || opt.text === value);\r\n\r\n if (selectedOption) {\r\n this.selectedId = selectedOption.id;\r\n this.selectedText = selectedOption.text;\r\n this.selected = selectedOption.id.toString();\r\n } else {\r\n this.selectedId = undefined;\r\n this.selectedText = '';\r\n this.selected = '';\r\n }\r\n }\r\n\r\n @Method()\r\n async getSelectedText() {\r\n return this.selectedText;\r\n }\r\n\r\n @Watch('selected')\r\n watchSelected(newVal: string) {\r\n const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === newVal || opt.text === newVal);\r\n\r\n if (selectedOption) {\r\n this.selectedId = selectedOption.id;\r\n this.selectedText = selectedOption.text;\r\n } else {\r\n this.selectedId = undefined;\r\n this.selectedText = '';\r\n }\r\n }\r\n\r\n private numberToWord(num: number): string {\r\n const words = ['One', 'Two', 'Three', 'Four', 'Five'];\r\n return words[num - 1] || num.toString();\r\n }\r\n\r\n render() {\r\n const labelId = `${this.button_id}-label`;\r\n const valueId = `${this.button_id}-value`;\r\n\r\n return (\r\n <Host>\r\n <div\r\n class={`\r\n dda-input-container ${this.custom_class} \r\n ${this.component_mode} \r\n ${this.disabled ? 'dda-input-disabled' : ''} \r\n dda-input-size-${this.size} dda-validation-${this.validation_type}\r\n `}\r\n >\r\n {this.label && (\r\n <span id={labelId} class=\"dda-input-label\">\r\n {this.label}\r\n </span>\r\n )}\r\n <div class=\"dda-dropdown-container\">\r\n <button\r\n name={this.toggle_button_name}\r\n id={this.button_id}\r\n type=\"button\"\r\n class=\"dda-input-field dda-select-header\"\r\n aria-labelledby={`${labelId} ${this.button_id}`}\r\n disabled={this.disabled}\r\n onClick={() => this.toggleSelect()}\r\n onBlur={this.handleBlur}\r\n >\r\n <span id={valueId} class=\"dda-select-button-label\">\r\n {this.selectedText || this.placeholder}\r\n </span>\r\n <i class=\"material-icons\" aria-hidden=\"true\">\r\n {this.is_open ? 'keyboard_arrow_up' : 'keyboard_arrow_down'}\r\n </i>\r\n </button>\r\n\r\n {this.is_open && (\r\n <div class=\"dda-input-dropdown-list dda-select-list\">\r\n {this.parsedOptions.length > 0 ? (\r\n this.parsedOptions.map((option, index) => (\r\n <button\r\n name={`option${this.numberToWord(index + 1)}`}\r\n type=\"button\"\r\n class={`dda-input-dropdown-item ${this.selectedId === option.id ? 'selected' : ''}`}\r\n role=\"option\"\r\n aria-selected={this.selectedId === option.id ? 'true' : 'false'}\r\n onClick={() => this.selectOption(option)}\r\n >\r\n {option.text}\r\n </button>\r\n ))\r\n ) : (\r\n <div class=\"dda-input-dropdown-item\">No options available</div>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n\r\n {this.validation_type === 'error' && this.error_message ? (\r\n <span class=\"dda-error-message\" id={this.validation_id} role=\"alert\">\r\n {this.error_message}\r\n </span>\r\n ) : (\r\n this.helper_text && (\r\n <span class=\"dda-helper-text\" id={this.validation_id}>\r\n {this.helper_text}\r\n </span>\r\n )\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -20,9 +20,9 @@ const DdaTabs = class {
20
20
  this.tab_icons = '["sentiment_satisfied", "sentiment_satisfied", "sentiment_satisfied"]';
21
21
  this.tab_type = 'dda-horizontal-tab';
22
22
  this.button_values = '["", "", ""]';
23
- this.tabhandler = (index) => {
24
- this.tabClick.emit(index);
25
- };
23
+ // private tabhandler = (index) => {
24
+ // this.tabClick.emit(index);
25
+ // };
26
26
  this.active_tab = 0;
27
27
  }
28
28
  get parsedButtonValues() {
@@ -30,8 +30,8 @@ const DdaTabs = class {
30
30
  return JSON.parse(this.button_values);
31
31
  }
32
32
  catch (error) {
33
- console.error("Error parsing button_values:", error);
34
- return ["", "", ""];
33
+ console.error('Error parsing button_values:', error);
34
+ return ['', '', ''];
35
35
  }
36
36
  }
37
37
  get parsedTabs() {
@@ -39,7 +39,7 @@ const DdaTabs = class {
39
39
  return JSON.parse(this.tab_texts); // Parse the string into an array
40
40
  }
41
41
  catch (error) {
42
- console.error("Error parsing tab_texts:", error);
42
+ console.error('Error parsing tab_texts:', error);
43
43
  return ['Tab 1', 'Tab 2', 'Tab 3']; // Fallback to default
44
44
  }
45
45
  }
@@ -48,8 +48,8 @@ const DdaTabs = class {
48
48
  return JSON.parse(this.tab_icons); // Parse the string into an array
49
49
  }
50
50
  catch (error) {
51
- console.error("Error parsing tabicons:", error);
52
- return ["sentiment_satisfied", "sentiment_satisfied", "sentiment_satisfied"]; // Fallback to default
51
+ console.error('Error parsing tabicons:', error);
52
+ return ['sentiment_satisfied', 'sentiment_satisfied', 'sentiment_satisfied']; // Fallback to default
53
53
  }
54
54
  }
55
55
  get parsedButtonIds() {
@@ -57,18 +57,22 @@ const DdaTabs = class {
57
57
  return JSON.parse(this.button_ids);
58
58
  }
59
59
  catch (error) {
60
- console.error("Error parsing button_ids:", error);
61
- return ["tab-btn-1", "tab-btn-2", "tab-btn-3"];
60
+ console.error('Error parsing button_ids:', error);
61
+ return ['tab-btn-1', 'tab-btn-2', 'tab-btn-3'];
62
62
  }
63
63
  }
64
+ // setActiveTab(index: number) {
65
+ // this.active_tab = index;
66
+ // if (this.tabClick) {
67
+ // this.tabhandler(index);
68
+ // }
69
+ // }
64
70
  setActiveTab(index) {
65
71
  this.active_tab = index;
66
- if (this.tabClick) {
67
- this.tabhandler(index);
68
- }
72
+ this.tabClick.emit(index);
69
73
  }
70
74
  render() {
71
- return (index.h(index.Host, { key: 'aa753db7ce6294e509d09fb51e16edfc982d7719' }, index.h("div", { key: 'd46add11e08bcae5c9a13f81996196db898d6338', role: "tablist", "aria-label": "Tab Navigation", class: `dda-tabs-container ${this.hover_style} ${this.custom_class} ${this.component_mode} ${this.tab_type}` }, this.parsedTabs.map((title, index$1) => (index.h("button", { id: this.parsedButtonIds[index$1] || `tab-btn-${index$1 + 1}`, name: this.button_name, "aria-label": title, type: "button", value: this.parsedButtonValues[index$1] || "", class: `dda-tab-item ${this.active_tab === index$1 ? 'active' : ''}`, role: "tab", "aria-selected": this.active_tab === index$1 ? 'true' : 'false', "aria-controls": `tab-btn-${index$1 + 1}`, onClick: () => this.setActiveTab(index$1) }, this.type === 'text-icon' && index.h("i", { class: `material-icons`, "aria-hidden": "true" }, this.parsedIcons[index$1] || ""), index.h("span", null, title)))))));
75
+ return (index.h(index.Host, { key: '9fba77b9c33c9077f5e8999a1ce8c46535df6302' }, index.h("div", { key: 'dc5d7ccde21eca695798d6e62c4bbcc117b19962', role: "tablist", "aria-label": "Tab Navigation", class: `dda-tabs-container ${this.hover_style} ${this.custom_class} ${this.component_mode} ${this.tab_type}` }, this.parsedTabs.map((title, index$1) => (index.h("button", { id: this.parsedButtonIds[index$1] || `tab-btn-${index$1 + 1}`, name: this.button_name, "aria-label": title, type: "button", value: this.parsedButtonValues[index$1] || '', class: `dda-tab-item ${this.active_tab === index$1 ? 'active' : ''}`, role: "tab", "aria-selected": this.active_tab === index$1 ? 'true' : 'false', "aria-controls": `tab-btn-${index$1 + 1}`, onClick: () => this.setActiveTab(index$1) }, this.type === 'text-icon' && (index.h("i", { class: `material-icons`, "aria-hidden": "true" }, this.parsedIcons[index$1] || '')), index.h("span", null, title)))))));
72
76
  }
73
77
  };
74
78
  DdaTabs.style = DdaTabsStyle0;