@dubai-design-system/components-js 3.11.9 → 3.12.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/cjs/dda-header-menu_3.cjs.entry.js +33 -3
  2. package/dist/cjs/dda-header-menu_3.cjs.entry.js.map +1 -1
  3. package/dist/cjs/dda-number-field.cjs.entry.js +18 -2
  4. package/dist/cjs/dda-number-field.cjs.entry.js.map +1 -1
  5. package/dist/cjs/dda-phonefield.cjs.entry.js +8 -12
  6. package/dist/cjs/dda-phonefield.cjs.entry.js.map +1 -1
  7. package/dist/cjs/dda-search-input.cjs.entry.js +32 -3
  8. package/dist/cjs/dda-search-input.cjs.entry.js.map +1 -1
  9. package/dist/cjs/dda-select.cjs.entry.js +30 -7
  10. package/dist/cjs/dda-select.cjs.entry.js.map +1 -1
  11. package/dist/cjs/dda-textarea.cjs.entry.js +39 -4
  12. package/dist/cjs/dda-textarea.cjs.entry.js.map +1 -1
  13. package/dist/cjs/dda.cjs.js +1 -1
  14. package/dist/cjs/loader.cjs.js +1 -1
  15. package/dist/collection/components/dda-input/dda-input.js +35 -5
  16. package/dist/collection/components/dda-input/dda-input.js.map +1 -1
  17. package/dist/collection/components/dda-number-field/dda-number-field.js +43 -2
  18. package/dist/collection/components/dda-number-field/dda-number-field.js.map +1 -1
  19. package/dist/collection/components/dda-phonefield/dda-phonefield.js +10 -14
  20. package/dist/collection/components/dda-phonefield/dda-phonefield.js.map +1 -1
  21. package/dist/collection/components/dda-search-input/dda-search-input.js +34 -5
  22. package/dist/collection/components/dda-search-input/dda-search-input.js.map +1 -1
  23. package/dist/collection/components/dda-select/dda-select.js +34 -11
  24. package/dist/collection/components/dda-select/dda-select.js.map +1 -1
  25. package/dist/collection/components/dda-textarea/dda-textarea.js +41 -6
  26. package/dist/collection/components/dda-textarea/dda-textarea.js.map +1 -1
  27. package/dist/components/dda-header.js +1 -1
  28. package/dist/components/dda-input.js +1 -1
  29. package/dist/components/dda-number-field.js +20 -3
  30. package/dist/components/dda-number-field.js.map +1 -1
  31. package/dist/components/dda-phonefield.js +8 -12
  32. package/dist/components/dda-phonefield.js.map +1 -1
  33. package/dist/components/dda-search-input.js +32 -3
  34. package/dist/components/dda-search-input.js.map +1 -1
  35. package/dist/components/dda-select.js +30 -7
  36. package/dist/components/dda-select.js.map +1 -1
  37. package/dist/components/dda-textarea.js +39 -4
  38. package/dist/components/dda-textarea.js.map +1 -1
  39. package/dist/components/{p-5b2ec1a3.js → p-0bbf1225.js} +34 -4
  40. package/dist/components/p-0bbf1225.js.map +1 -0
  41. package/dist/dda/dda.esm.js +1 -1
  42. package/dist/dda/dda.esm.js.map +1 -1
  43. package/dist/dda/p-210d62fb.entry.js +2 -0
  44. package/dist/dda/p-210d62fb.entry.js.map +1 -0
  45. package/dist/dda/{p-90e88405.entry.js → p-6907700e.entry.js} +2 -2
  46. package/dist/dda/p-6907700e.entry.js.map +1 -0
  47. package/dist/dda/{p-6938a156.entry.js → p-6d955874.entry.js} +2 -2
  48. package/{www/build/p-6938a156.entry.js.map → dist/dda/p-6d955874.entry.js.map} +1 -1
  49. package/dist/dda/p-a3f284bc.entry.js +2 -0
  50. package/dist/dda/p-a3f284bc.entry.js.map +1 -0
  51. package/dist/dda/{p-440094b1.entry.js → p-a9da1c36.entry.js} +2 -2
  52. package/dist/dda/p-a9da1c36.entry.js.map +1 -0
  53. package/dist/dda/p-d93f2102.entry.js +2 -0
  54. package/dist/dda/p-d93f2102.entry.js.map +1 -0
  55. package/dist/esm/dda-header-menu_3.entry.js +33 -3
  56. package/dist/esm/dda-header-menu_3.entry.js.map +1 -1
  57. package/dist/esm/dda-number-field.entry.js +19 -3
  58. package/dist/esm/dda-number-field.entry.js.map +1 -1
  59. package/dist/esm/dda-phonefield.entry.js +8 -12
  60. package/dist/esm/dda-phonefield.entry.js.map +1 -1
  61. package/dist/esm/dda-search-input.entry.js +32 -3
  62. package/dist/esm/dda-search-input.entry.js.map +1 -1
  63. package/dist/esm/dda-select.entry.js +30 -7
  64. package/dist/esm/dda-select.entry.js.map +1 -1
  65. package/dist/esm/dda-textarea.entry.js +39 -4
  66. package/dist/esm/dda-textarea.entry.js.map +1 -1
  67. package/dist/esm/dda.js +1 -1
  68. package/dist/esm/loader.js +1 -1
  69. package/dist/types/components/dda-input/dda-input.d.ts +1 -4
  70. package/dist/types/components/dda-number-field/dda-number-field.d.ts +3 -0
  71. package/dist/types/components/dda-phonefield/dda-phonefield.d.ts +1 -4
  72. package/dist/types/components/dda-search-input/dda-search-input.d.ts +1 -4
  73. package/dist/types/components/dda-select/dda-select.d.ts +5 -9
  74. package/dist/types/components/dda-textarea/dda-textarea.d.ts +3 -4
  75. package/dist/types/components.d.ts +13 -12
  76. package/package.json +2 -2
  77. package/readme.md +9 -0
  78. package/www/build/dda.esm.js +1 -1
  79. package/www/build/dda.esm.js.map +1 -1
  80. package/www/build/p-210d62fb.entry.js +2 -0
  81. package/www/build/p-210d62fb.entry.js.map +1 -0
  82. package/www/build/{p-90e88405.entry.js → p-6907700e.entry.js} +2 -2
  83. package/www/build/p-6907700e.entry.js.map +1 -0
  84. package/www/build/{p-6938a156.entry.js → p-6d955874.entry.js} +2 -2
  85. package/{dist/dda/p-6938a156.entry.js.map → www/build/p-6d955874.entry.js.map} +1 -1
  86. package/www/build/p-a3f284bc.entry.js +2 -0
  87. package/www/build/p-a3f284bc.entry.js.map +1 -0
  88. package/www/build/{p-440094b1.entry.js → p-a9da1c36.entry.js} +2 -2
  89. package/www/build/p-a9da1c36.entry.js.map +1 -0
  90. package/www/build/p-d93f2102.entry.js +2 -0
  91. package/www/build/p-d93f2102.entry.js.map +1 -0
  92. package/dist/components/p-5b2ec1a3.js.map +0 -1
  93. package/dist/dda/p-3239666b.entry.js +0 -2
  94. package/dist/dda/p-3239666b.entry.js.map +0 -1
  95. package/dist/dda/p-440094b1.entry.js.map +0 -1
  96. package/dist/dda/p-72e59001.entry.js +0 -2
  97. package/dist/dda/p-72e59001.entry.js.map +0 -1
  98. package/dist/dda/p-90e88405.entry.js.map +0 -1
  99. package/dist/dda/p-e9733963.entry.js +0 -2
  100. package/dist/dda/p-e9733963.entry.js.map +0 -1
  101. package/www/build/p-3239666b.entry.js +0 -2
  102. package/www/build/p-3239666b.entry.js.map +0 -1
  103. package/www/build/p-440094b1.entry.js.map +0 -1
  104. package/www/build/p-72e59001.entry.js +0 -2
  105. package/www/build/p-72e59001.entry.js.map +0 -1
  106. package/www/build/p-90e88405.entry.js.map +0 -1
  107. package/www/build/p-e9733963.entry.js +0 -2
  108. package/www/build/p-e9733963.entry.js.map +0 -1
@@ -180,14 +180,44 @@ const DdaInput = class {
180
180
  ]
181
181
  .filter(Boolean)
182
182
  .join(' ');
183
- return (index.h(index.Host, { key: '050ec4a94d4ddce7ea14fc7911cf5225f79e1376' }, index.h("div", { key: '698dd6f4d8a00790a8ddb65964497dee11e6bf18', class: inputClass }, this.label && (index.h("label", { key: 'e5a8fefae383e688aa5a8254409da83d7cd2f163', htmlFor: this.input_id, class: "dda-input-label", id: `${this.input_id}-label` }, this.label)), index.h("input", { key: '390569412bb0b904acb174e2caabdbb1473fd6d1', 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 => {
183
+ return (index.h(index.Host, { key: '0c68617cd233d276c09d29d12e031b0a00d883fa' }, index.h("div", { key: '785a9429deb055030a3f4c8f0c11baa0d4356c0e', class: inputClass }, this.label && (index.h("label", { key: '45f247480cf1c84b5c574dbc9fd7984a2804a6f6', htmlFor: this.input_id, class: "dda-input-label", id: `${this.input_id}-label` }, this.label)), index.h("input", { key: '6ebafb81518fc518cd69b04e9062343d24af408d', 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 => {
184
184
  this.internalValue = event.target.value;
185
185
  this.inputChanged.emit(event);
186
- this.onChanged.emit(event);
186
+ this.onChanged.emit(event.target.value);
187
+ this.el.dispatchEvent(new InputEvent('input', {
188
+ bubbles: true,
189
+ composed: true,
190
+ data: event.data,
191
+ inputType: event.inputType,
192
+ isComposing: event.isComposing,
193
+ }));
187
194
  }, onBlur: event => {
188
195
  const value = event.target.value.trim();
189
196
  this.inputBlurred.emit({ name: this.input_name, value });
190
- this.onBlurred.emit({ name: this.input_name, value });
197
+ this.onBlurred.emit(value);
198
+ this.el.dispatchEvent(new FocusEvent('blur', {
199
+ bubbles: true,
200
+ composed: true,
201
+ relatedTarget: event.relatedTarget,
202
+ }));
203
+ }, onFocus: (event) => {
204
+ this.el.dispatchEvent(new FocusEvent('focus', {
205
+ bubbles: true,
206
+ composed: true,
207
+ relatedTarget: event.relatedTarget,
208
+ }));
209
+ }, onKeyDown: (event) => {
210
+ this.el.dispatchEvent(new KeyboardEvent('keydown', {
211
+ bubbles: true,
212
+ composed: true,
213
+ key: event.key,
214
+ code: event.code,
215
+ ctrlKey: event.ctrlKey,
216
+ shiftKey: event.shiftKey,
217
+ altKey: event.altKey,
218
+ metaKey: event.metaKey,
219
+ repeat: event.repeat,
220
+ }));
191
221
  } }), 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))))));
192
222
  }
193
223
  get el() { return index.getElement(this); }
@@ -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: 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() onChanged: EventEmitter<any>;\r\n\r\n @Event() inputBlurred: EventEmitter<{ name: string; value: string }>;\r\n @Event() onBlurred: EventEmitter<{ name: string; value: string }>;\r\n\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 this.onChanged.emit(val);\r\n }\r\n\r\n @Method()\r\n async reset() {\r\n this.internalValue = '';\r\n // this.inputChanged.emit('');\r\n this.onChanged.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(event);\r\n this.onChanged.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 this.onBlurred.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 @Event() onChanged: EventEmitter<{ checked: boolean; input_id: string }>;\r\n\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 this.onChanged.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() onChanged: EventEmitter<any>;\r\n\r\n @Event() inputBlurred: EventEmitter<{ name: string; value: string }>;\r\n @Event() onBlurred: EventEmitter<any>;\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 this.onChanged.emit(val);\r\n }\r\n\r\n @Method()\r\n async reset() {\r\n this.internalValue = '';\r\n // this.inputChanged.emit('');\r\n this.onChanged.emit('');\r\n }\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(event);\r\n this.onChanged.emit((event.target as HTMLInputElement).value);\r\n this.el.dispatchEvent(\r\n new InputEvent('input', {\r\n bubbles: true,\r\n composed: true,\r\n data: event.data,\r\n inputType: event.inputType,\r\n isComposing: event.isComposing,\r\n }),\r\n );\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 this.onBlurred.emit(value);\r\n this.el.dispatchEvent(\r\n new FocusEvent('blur', {\r\n bubbles: true,\r\n composed: true,\r\n relatedTarget: event.relatedTarget,\r\n }),\r\n );\r\n }}\r\n onFocus={(event: FocusEvent) => {\r\n this.el.dispatchEvent(\r\n new FocusEvent('focus', {\r\n bubbles: true,\r\n composed: true,\r\n relatedTarget: event.relatedTarget,\r\n }),\r\n );\r\n }}\r\n onKeyDown={(event: KeyboardEvent) => {\r\n this.el.dispatchEvent(\r\n new KeyboardEvent('keydown', {\r\n bubbles: true,\r\n composed: true,\r\n key: event.key,\r\n code: event.code,\r\n ctrlKey: event.ctrlKey,\r\n shiftKey: event.shiftKey,\r\n altKey: event.altKey,\r\n metaKey: event.metaKey,\r\n repeat: event.repeat,\r\n }),\r\n );\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 @Event() onChanged: EventEmitter<{ checked: boolean; input_id: string }>;\r\n\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 this.onChanged.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}
@@ -27,6 +27,13 @@ const DdaNumberField = class {
27
27
  const inputElement = event.target;
28
28
  const inputValue = inputElement.value.replace(/[^0-9.]/g, '');
29
29
  inputElement.value = inputValue;
30
+ this.el.dispatchEvent(new InputEvent('input', {
31
+ bubbles: true,
32
+ composed: true,
33
+ data: event.data,
34
+ inputType: event.inputType,
35
+ isComposing: event.isComposing,
36
+ }));
30
37
  }
31
38
  handleFocus() {
32
39
  this.is_focused = true;
@@ -51,6 +58,12 @@ const DdaNumberField = class {
51
58
  return [];
52
59
  }
53
60
  }
61
+ async setValue(val) {
62
+ this.value = val;
63
+ }
64
+ async getValue() {
65
+ return this.value || '';
66
+ }
54
67
  render() {
55
68
  const containerClass = [
56
69
  'dda-input-container',
@@ -61,9 +74,12 @@ const DdaNumberField = class {
61
74
  this.error_message ? 'dda-error-message' : '',
62
75
  this.custom_class ? `${this.custom_class}` : '',
63
76
  this.component_mode,
64
- ].filter(Boolean).join(' ');
65
- return (index.h(index.Host, { key: '206115f19125245cff3037023b3e74ec7b3bc969', ref: el => (this.hostElement = el) }, index.h("div", { key: 'd1b1fff44900235f41cc479ce8bedb113e031555', class: containerClass }, this.label && index.h("label", { key: '487ed45829adf69a159534e44452cade2866de01', htmlFor: this.input_id, class: "dda-input-label" }, this.label), index.h("div", { key: 'b30be2cff6488c318a0883821c90e4f285e5de90', class: "dda-input-field-group dda-number-field" }, index.h("input", { key: '44b93fd0ccc032253cb4e0b0f5fbe47cdc3a5fa9', id: this.input_id, name: this.input_name, "aria-label": this.aria_label, type: "number", placeholder: this.placeholder, value: this.value, pattern: "[0-9]*", onInput: event => this.handleInput(event), onFocus: this.handleFocus.bind(this), onBlur: this.handleBlur.bind(this), class: "dda-field-group-input" }), index.h("div", { key: 'df600a2a0fd07fd4f5bbe55cfdd0cac93f0700b2', class: "dda-input-dropdown-btn" }, index.h("button", { key: '7f0b120e445cf46d403049fcf7fc3fb04c9b6db1', name: this.toggle_button_name, type: "button", class: "dda-dropdown-select", onClick: () => this.toggleCurrencyDropdown() }, this.selected_currency, " ", index.h("i", { key: 'dba31196d20cf9a10cefa7bde22c7d18e40a2657', class: `material-icons`, "aria-hidden": "true" }, this.isCurrencyDropdownOpen ? 'keyboard_arrow_up' : 'keyboard_arrow_down')), this.isCurrencyDropdownOpen && (index.h("div", { key: 'b84d4160de88048c8cea9404b41d9b99aba07a99', class: "dda-input-dropdown-list" }, this.parsedCurrencies.length > 0 ? (this.parsedCurrencies.map(option => (index.h("button", { name: this.currency_button_name, type: "button", class: `dda-input-dropdown-item ${this.selected_currency === option ? 'selected' : ''}`, onClick: () => this.selectCurrency(option) }, option)))) : (index.h("div", { class: "dda-input-dropdown-item" }, "No options available")))))), this.helper_text && index.h("span", { key: '217a462603bef7804f1c556ed5fa4aa9d8542ad0', class: "dda-helper-text" }, this.helper_text), this.error_message && index.h("span", { key: 'fcf554321d416f6235bb70bf7e1beceff2c43968', class: "dda-error-message" }, this.error_message))));
77
+ ]
78
+ .filter(Boolean)
79
+ .join(' ');
80
+ return (index.h(index.Host, { key: '91def39d4869053ffb52d63279a504c0fd7e03e1', ref: el => (this.hostElement = el) }, index.h("div", { key: 'bf83501237b86db00c05fb71d18f2a3d9cd13e11', class: containerClass }, this.label && (index.h("label", { key: 'b6ca1e8a6bc9ad27292f7fb8f94d86fddc6d29d6', htmlFor: this.input_id, class: "dda-input-label" }, this.label)), index.h("div", { key: 'f6b5193b6bf159272e7d20d375820698ea3f5a60', class: "dda-input-field-group dda-number-field" }, index.h("input", { key: 'd9369bd8021d0bf6af8870530d47718211e8360f', id: this.input_id, name: this.input_name, "aria-label": this.aria_label, type: "number", placeholder: this.placeholder, value: this.value, pattern: '[0-9]*', onInput: event => this.handleInput(event), onFocus: this.handleFocus.bind(this), onBlur: this.handleBlur.bind(this), class: "dda-field-group-input" }), index.h("div", { key: '4dc2a7224754217edf78619ac40399c21634556d', class: "dda-input-dropdown-btn" }, index.h("button", { key: '76047ef680f600fb74803e815669eba9a6dbb21e', name: this.toggle_button_name, type: "button", class: "dda-dropdown-select", onClick: () => this.toggleCurrencyDropdown() }, this.selected_currency, ' ', index.h("i", { key: '87017c99cb3515c7122148ede366f083599abbc3', class: `material-icons`, "aria-hidden": "true" }, this.isCurrencyDropdownOpen ? 'keyboard_arrow_up' : 'keyboard_arrow_down')), this.isCurrencyDropdownOpen && (index.h("div", { key: '0847ebded3099fcf48ac0e0a337480446f6cd255', class: "dda-input-dropdown-list" }, this.parsedCurrencies.length > 0 ? (this.parsedCurrencies.map(option => (index.h("button", { name: this.currency_button_name, type: "button", class: `dda-input-dropdown-item ${this.selected_currency === option ? 'selected' : ''}`, onClick: () => this.selectCurrency(option) }, option)))) : (index.h("div", { class: "dda-input-dropdown-item" }, "No options available")))))), this.helper_text && index.h("span", { key: 'c77a72d290e9b157bebf52e4ea0293f723c2ff3d', class: "dda-helper-text" }, this.helper_text), this.error_message && index.h("span", { key: '52a3c41a8907b557bb26b207ee57822e56559d99', class: "dda-error-message" }, this.error_message))));
66
81
  }
82
+ get el() { return index.getElement(this); }
67
83
  };
68
84
 
69
85
  exports.dda_number_field = DdaNumberField;
@@ -1 +1 @@
1
- {"file":"dda-number-field.entry.cjs.js","mappings":"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","names":["h","Host"],"sources":["src/components/dda-number-field/dda-number-field.tsx"],"sourcesContent":["import { Component, Prop, State, h, Host } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-number-field',\r\n styleUrls: [],\r\n shadow: false,\r\n})\r\nexport class DdaNumberField {\r\n @Prop() placeholder: string;\r\n @Prop() label: string;\r\n @Prop() value: string;\r\n @Prop() helper_text: string;\r\n @Prop() error_message: string;\r\n @Prop() validation_type?: string;\r\n @Prop() size?: string;\r\n @Prop() input_status?: string; // JSON string of currency options\r\n @Prop() currencies: string;\r\n @Prop() selected_currency: string = 'USD';\r\n @State() is_focused: boolean = false;\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() toggle_button_name?: string;\r\n @Prop() currency_button_name?: string;\r\n\r\n @State() isCurrencyDropdownOpen: boolean = false;\r\n\r\n private hostElement!: HTMLElement;\r\n\r\n connectedCallback() {\r\n document.addEventListener('click', this.handleOutsideClick);\r\n }\r\n\r\n disconnectedCallback() {\r\n document.removeEventListener('click', this.handleOutsideClick);\r\n }\r\n\r\n handleOutsideClick = (event: MouseEvent) => {\r\n if (!this.hostElement.contains(event.target as Node)) {\r\n this.isCurrencyDropdownOpen = false;\r\n }\r\n };\r\n\r\n handleInput(event) {\r\n const inputElement = event.target as HTMLInputElement;\r\n const inputValue = inputElement.value.replace(/[^0-9.]/g, '');\r\n inputElement.value = inputValue;\r\n }\r\n\r\n handleFocus() {\r\n this.is_focused = true;\r\n }\r\n\r\n handleBlur() {\r\n this.is_focused = false;\r\n }\r\n\r\n toggleCurrencyDropdown() {\r\n this.isCurrencyDropdownOpen = !this.isCurrencyDropdownOpen;\r\n this.handleFocus();\r\n this.handleBlur();\r\n }\r\n\r\n selectCurrency(currency: string) {\r\n this.selected_currency = currency;\r\n this.isCurrencyDropdownOpen = false;\r\n }\r\n\r\n private get parsedCurrencies(): string[] {\r\n try {\r\n return JSON.parse(this.currencies);\r\n } catch {\r\n return [];\r\n }\r\n }\r\n\r\n render() {\r\n const containerClass = [\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.is_focused ? 'dda-input-focus' : '',\r\n this.error_message ? 'dda-error-message' : '',\r\n this.custom_class ? `${this.custom_class}` : '',\r\n this.component_mode,\r\n ].filter(Boolean).join(' ');\r\n\r\n return (\r\n <Host ref={el => (this.hostElement = el as HTMLElement)}>\r\n <div class={containerClass}>\r\n {this.label && <label htmlFor={this.input_id} class=\"dda-input-label\">{this.label}</label>}\r\n <div class=\"dda-input-field-group dda-number-field\">\r\n <input\r\n id={this.input_id}\r\n name={this.input_name}\r\n aria-label={this.aria_label}\r\n type=\"number\"\r\n placeholder={this.placeholder}\r\n value={this.value}\r\n pattern={\"[0-9]*\"}\r\n onInput={event => this.handleInput(event)}\r\n onFocus={this.handleFocus.bind(this)}\r\n onBlur={this.handleBlur.bind(this)}\r\n class=\"dda-field-group-input\"\r\n />\r\n <div class=\"dda-input-dropdown-btn\">\r\n <button\r\n name={this.toggle_button_name}\r\n type=\"button\"\r\n class=\"dda-dropdown-select\"\r\n onClick={() => this.toggleCurrencyDropdown()}\r\n >\r\n {this.selected_currency} <i class={`material-icons`} aria-hidden=\"true\">{this.isCurrencyDropdownOpen ? 'keyboard_arrow_up' : 'keyboard_arrow_down'}</i>\r\n </button>\r\n {this.isCurrencyDropdownOpen && (\r\n <div class=\"dda-input-dropdown-list\">\r\n {this.parsedCurrencies.length > 0 ? (\r\n this.parsedCurrencies.map(option => (\r\n <button\r\n name={this.currency_button_name}\r\n type=\"button\"\r\n class={`dda-input-dropdown-item ${this.selected_currency === option ? 'selected' : ''}`}\r\n onClick={() => this.selectCurrency(option)}\r\n >\r\n {option}\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 </div>\r\n {this.helper_text && <span class=\"dda-helper-text\">{this.helper_text}</span>}\r\n {this.error_message && <span class=\"dda-error-message\">{this.error_message}</span>}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"dda-number-field.entry.cjs.js","mappings":"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","names":["h","Host"],"sources":["src/components/dda-number-field/dda-number-field.tsx"],"sourcesContent":["import { Component, Prop, State, h, Host, Element, Method } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-number-field',\r\n styleUrls: [],\r\n shadow: false,\r\n})\r\nexport class DdaNumberField {\r\n @Prop() placeholder: string;\r\n @Prop() label: string;\r\n @Prop() value: string;\r\n @Prop() helper_text: string;\r\n @Prop() error_message: string;\r\n @Prop() validation_type?: string;\r\n @Prop() size?: string;\r\n @Prop() input_status?: string; // JSON string of currency options\r\n @Prop() currencies: string;\r\n @Prop() selected_currency: string = 'USD';\r\n @State() is_focused: boolean = false;\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() toggle_button_name?: string;\r\n @Prop() currency_button_name?: string;\r\n\r\n @State() isCurrencyDropdownOpen: boolean = false;\r\n\r\n @Element() el: HTMLElement;\r\n\r\n private hostElement!: HTMLElement;\r\n\r\n connectedCallback() {\r\n document.addEventListener('click', this.handleOutsideClick);\r\n }\r\n\r\n disconnectedCallback() {\r\n document.removeEventListener('click', this.handleOutsideClick);\r\n }\r\n\r\n handleOutsideClick = (event: MouseEvent) => {\r\n if (!this.hostElement.contains(event.target as Node)) {\r\n this.isCurrencyDropdownOpen = false;\r\n }\r\n };\r\n\r\n handleInput(event) {\r\n const inputElement = event.target as HTMLInputElement;\r\n const inputValue = inputElement.value.replace(/[^0-9.]/g, '');\r\n inputElement.value = inputValue;\r\n this.el.dispatchEvent(\r\n new InputEvent('input', {\r\n bubbles: true,\r\n composed: true,\r\n data: event.data,\r\n inputType: event.inputType,\r\n isComposing: event.isComposing,\r\n }),\r\n );\r\n }\r\n\r\n handleFocus() {\r\n this.is_focused = true;\r\n }\r\n\r\n handleBlur() {\r\n this.is_focused = false;\r\n }\r\n\r\n toggleCurrencyDropdown() {\r\n this.isCurrencyDropdownOpen = !this.isCurrencyDropdownOpen;\r\n this.handleFocus();\r\n this.handleBlur();\r\n }\r\n\r\n selectCurrency(currency: string) {\r\n this.selected_currency = currency;\r\n this.isCurrencyDropdownOpen = false;\r\n }\r\n\r\n private get parsedCurrencies(): string[] {\r\n try {\r\n return JSON.parse(this.currencies);\r\n } catch {\r\n return [];\r\n }\r\n }\r\n\r\n @Method()\r\n async setValue(val: string) {\r\n this.value = val;\r\n }\r\n\r\n async getValue() {\r\n return this.value || '';\r\n }\r\n\r\n render() {\r\n const containerClass = [\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.is_focused ? 'dda-input-focus' : '',\r\n this.error_message ? 'dda-error-message' : '',\r\n this.custom_class ? `${this.custom_class}` : '',\r\n this.component_mode,\r\n ]\r\n .filter(Boolean)\r\n .join(' ');\r\n\r\n return (\r\n <Host ref={el => (this.hostElement = el as HTMLElement)}>\r\n <div class={containerClass}>\r\n {this.label && (\r\n <label htmlFor={this.input_id} class=\"dda-input-label\">\r\n {this.label}\r\n </label>\r\n )}\r\n <div class=\"dda-input-field-group dda-number-field\">\r\n <input\r\n id={this.input_id}\r\n name={this.input_name}\r\n aria-label={this.aria_label}\r\n type=\"number\"\r\n placeholder={this.placeholder}\r\n value={this.value}\r\n pattern={'[0-9]*'}\r\n onInput={event => this.handleInput(event)}\r\n onFocus={this.handleFocus.bind(this)}\r\n onBlur={this.handleBlur.bind(this)}\r\n class=\"dda-field-group-input\"\r\n />\r\n <div class=\"dda-input-dropdown-btn\">\r\n <button name={this.toggle_button_name} type=\"button\" class=\"dda-dropdown-select\" onClick={() => this.toggleCurrencyDropdown()}>\r\n {this.selected_currency}{' '}\r\n <i class={`material-icons`} aria-hidden=\"true\">\r\n {this.isCurrencyDropdownOpen ? 'keyboard_arrow_up' : 'keyboard_arrow_down'}\r\n </i>\r\n </button>\r\n {this.isCurrencyDropdownOpen && (\r\n <div class=\"dda-input-dropdown-list\">\r\n {this.parsedCurrencies.length > 0 ? (\r\n this.parsedCurrencies.map(option => (\r\n <button\r\n name={this.currency_button_name}\r\n type=\"button\"\r\n class={`dda-input-dropdown-item ${this.selected_currency === option ? 'selected' : ''}`}\r\n onClick={() => this.selectCurrency(option)}\r\n >\r\n {option}\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 </div>\r\n {this.helper_text && <span class=\"dda-helper-text\">{this.helper_text}</span>}\r\n {this.error_message && <span class=\"dda-error-message\">{this.error_message}</span>}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -210,11 +210,11 @@ const DdaPhoneField = class {
210
210
  async validatePhoneField() {
211
211
  this.phoneBlurred.emit({
212
212
  name: this.phone_input_name,
213
- value: this.internalValue.trim()
213
+ value: this.internalValue.trim(),
214
214
  });
215
215
  this.onBlurred.emit({
216
216
  name: this.phone_input_name,
217
- value: this.internalValue.trim()
217
+ value: this.internalValue.trim(),
218
218
  });
219
219
  }
220
220
  watchHandler(newValue) {
@@ -245,12 +245,9 @@ const DdaPhoneField = class {
245
245
  this.is_focused = false;
246
246
  this.phoneBlurred.emit({
247
247
  name: this.phone_input_name,
248
- value: this.internalValue.trim()
249
- });
250
- this.onBlurred.emit({
251
- name: this.phone_input_name,
252
- value: this.internalValue.trim()
248
+ value: this.internalValue.trim(),
253
249
  });
250
+ this.onBlurred.emit(this.internalValue.trim());
254
251
  }
255
252
  handlephonenumberChange(event) {
256
253
  const target = event.target;
@@ -258,11 +255,10 @@ const DdaPhoneField = class {
258
255
  this.internalValue = targetvalue;
259
256
  }
260
257
  handleKeyDown(event) {
261
- const allowedKeys = [
262
- 'Backspace', 'ArrowLeft', 'ArrowRight', 'Delete', 'Tab'
263
- ];
258
+ const allowedKeys = ['Backspace', 'ArrowLeft', 'ArrowRight', 'Delete', 'Tab'];
264
259
  if (allowedKeys.includes(event.key) ||
265
- (event.ctrlKey || event.metaKey) // Allow copy/paste shortcuts
260
+ event.ctrlKey ||
261
+ event.metaKey // Allow copy/paste shortcuts
266
262
  ) {
267
263
  return;
268
264
  }
@@ -272,7 +268,7 @@ const DdaPhoneField = class {
272
268
  }
273
269
  render() {
274
270
  const inputClass = `${this.component_mode} ${this.size ? `dda-input-size-${this.size}` : ''} ${this.error_message ? `dda-error-message` : ''} ${this.validation_type ? `dda-validation-${this.validation_type}` : ''} ${this.is_focused ? 'dda-input-focus' : ''} ${this.internalValue ? 'dda-input-focus-filled' : ''}`;
275
- return (index.h(index.Host, { key: '536b5776354d2baa1accb5614e28f18f4e16cc41', ref: (el) => this.hostElement = el }, index.h("div", { key: '70e1c8297d1c04f8bba3702bad9ce201a1e33309', class: `dda-input-container ${inputClass} ${this.custom_class} ${this.disabled ? 'dda-input-disabled' : ''}` }, this.label && index.h("label", { key: '9527d8fc868abf4b1ddca345d87a71df9aeeeea1', htmlFor: this.input_id, class: "dda-input-label" }, this.label), index.h("div", { key: 'df78a8dfa93281c3de6206db05b0498c6aa03c9a', class: `dda-input-field-group dda-phone-field` }, index.h("div", { key: 'feba11b8c237aae12bd36fcf2172bbe75a871295', class: "dda-input-dropdown-btn" }, index.h("button", { key: '00b4ce8c1e82b23a738f32fe8879291703f0303d', type: "button", name: this.toggle_button_name, class: "dda-dropdown-select", onClick: () => this.toggleDropdown() }, index.h("img", { key: 'b226050ee9bf0580ca9a39d3a7dd8300bd421fcc', src: this.country_flag, alt: "", width: "20" }), " ", this.country_code, index.h("i", { key: '4457ef48f82ee65976486a2866c5d1ffc4528ac1', class: "material-icons", "aria-hidden": "true" }, "keyboard_arrow_down")), this.dropdown_open && (index.h("div", { key: 'd595b834384499e1ea7b3f14916239ca8c03ad85', class: "dda-input-dropdown-list" }, this.countries.map(country => (index.h("button", { id: `countryCode${country.code}`, name: this.country_select_button_name, "aria-label": this.button_aria_label, type: "button", class: "country-select dda-input-dropdown-item", onClick: () => this.selectCountry(country) }, index.h("img", { src: country.flag, alt: "", width: "20" }), " ", country.code)))))), index.h("input", { key: '8b1273e7cdeea5e307ca770f48de3d6f3510d8b4', id: this.input_id, name: this.phone_input_name, "aria-label": this.aria_label, type: "text", inputmode: "numeric", maxlength: this.max_length, pattern: "[0-9]*", class: "dda-field-group-input", placeholder: this.placeholder, value: this.internalValue, disabled: this.disabled, onFocus: this.handleFocus.bind(this), onInput: (e) => this.handlephonenumberChange(e), onKeyDown: (e) => this.handleKeyDown(e), onBlur: () => this.handleBlur() })), 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))))));
271
+ return (index.h(index.Host, { key: 'd97be882c394ba7cc2a1f489d7222ab2fed0fe54', ref: el => (this.hostElement = el) }, index.h("div", { key: '8d811d7dc857a05ff09e1679af984714ec320d96', class: `dda-input-container ${inputClass} ${this.custom_class} ${this.disabled ? 'dda-input-disabled' : ''}` }, this.label && (index.h("label", { key: '715f3cbce511a077295ebaaf88c9c0affe58b782', htmlFor: this.input_id, class: "dda-input-label" }, this.label)), index.h("div", { key: 'cec492e63da2a10f200dc23ee480559597ac6670', class: `dda-input-field-group dda-phone-field` }, index.h("div", { key: 'c8fdd1e13ba790b6b3b3ed0037182bac05343608', class: "dda-input-dropdown-btn" }, index.h("button", { key: '1362edbfa546588f16d8c6d8b1793e08b9749945', type: "button", name: this.toggle_button_name, class: "dda-dropdown-select", onClick: () => this.toggleDropdown() }, index.h("img", { key: '0a0e0d32f797c2ab1044a0ba7bf3814bb8862331', src: this.country_flag, alt: "", width: "20" }), " ", this.country_code, index.h("i", { key: '8709a1598a6e57a816126d14c8466f41d56ce2b1', class: "material-icons", "aria-hidden": "true" }, "keyboard_arrow_down")), this.dropdown_open && (index.h("div", { key: 'a47b6c2d06486ae76ff2a98e7160b297b249c202', class: "dda-input-dropdown-list" }, this.countries.map(country => (index.h("button", { id: `countryCode${country.code}`, name: this.country_select_button_name, "aria-label": this.button_aria_label, type: "button", class: "country-select dda-input-dropdown-item", onClick: () => this.selectCountry(country) }, index.h("img", { src: country.flag, alt: "", width: "20" }), " ", country.code)))))), index.h("input", { key: 'ecc0b8bdde9294c0c1cefaed0fe797fe955bb599', id: this.input_id, name: this.phone_input_name, "aria-label": this.aria_label, type: "text", inputmode: "numeric", maxlength: this.max_length, pattern: "[0-9]*", class: "dda-field-group-input", placeholder: this.placeholder, value: this.internalValue, disabled: this.disabled, onFocus: this.handleFocus.bind(this), onInput: e => this.handlephonenumberChange(e), onKeyDown: e => this.handleKeyDown(e), onBlur: () => this.handleBlur() })), 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))))));
276
272
  }
277
273
  static get watchers() { return {
278
274
  "value": ["watchHandler"]