@dubai-design-system/components-js 3.11.6 → 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 (104) hide show
  1. package/dist/cjs/dda-header-menu_3.cjs.entry.js +26 -8
  2. package/dist/cjs/dda-header-menu_3.cjs.entry.js.map +1 -1
  3. package/dist/cjs/dda-header.cjs.entry.js +5 -4
  4. package/dist/cjs/dda-header.cjs.entry.js.map +1 -1
  5. package/dist/cjs/dda-search-input.cjs.entry.js +27 -3
  6. package/dist/cjs/dda-search-input.cjs.entry.js.map +1 -1
  7. package/dist/cjs/dda-select.cjs.entry.js +36 -3
  8. package/dist/cjs/dda-select.cjs.entry.js.map +1 -1
  9. package/dist/cjs/dda-tabs.cjs.entry.js +18 -14
  10. package/dist/cjs/dda-tabs.cjs.entry.js.map +1 -1
  11. package/dist/cjs/dda.cjs.js +1 -1
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/collection/components/dda-header/dda-header.js +25 -4
  14. package/dist/collection/components/dda-header/dda-header.js.map +1 -1
  15. package/dist/collection/components/dda-header-menu/dda-header-menu.css +232 -188
  16. package/dist/collection/components/dda-header-menu/dda-header-menu.js +23 -4
  17. package/dist/collection/components/dda-header-menu/dda-header-menu.js.map +1 -1
  18. package/dist/collection/components/dda-input/dda-input.js +64 -5
  19. package/dist/collection/components/dda-input/dda-input.js.map +1 -1
  20. package/dist/collection/components/dda-search-input/dda-search-input.js +72 -3
  21. package/dist/collection/components/dda-search-input/dda-search-input.js.map +1 -1
  22. package/dist/collection/components/dda-select/dda-select.js +81 -3
  23. package/dist/collection/components/dda-select/dda-select.js.map +1 -1
  24. package/dist/collection/components/dda-tabs/dda-tabs.js +20 -16
  25. package/dist/collection/components/dda-tabs/dda-tabs.js.map +1 -1
  26. package/dist/components/dda-header-menu.js +1 -1
  27. package/dist/components/dda-header.js +8 -6
  28. package/dist/components/dda-header.js.map +1 -1
  29. package/dist/components/dda-input.js +1 -1
  30. package/dist/components/dda-search-input.js +32 -4
  31. package/dist/components/dda-search-input.js.map +1 -1
  32. package/dist/components/dda-select.js +41 -4
  33. package/dist/components/dda-select.js.map +1 -1
  34. package/dist/components/dda-tabs.js +18 -14
  35. package/dist/components/dda-tabs.js.map +1 -1
  36. package/dist/components/{p-93bcdccb.js → p-589645ea.js} +29 -7
  37. package/dist/components/p-589645ea.js.map +1 -0
  38. package/dist/components/{p-c30037a8.js → p-f0f752d2.js} +5 -4
  39. package/dist/components/p-f0f752d2.js.map +1 -0
  40. package/dist/dda/dda.esm.js +1 -1
  41. package/dist/dda/dda.esm.js.map +1 -1
  42. package/dist/dda/p-0e352b46.entry.js +2 -0
  43. package/dist/dda/p-0e352b46.entry.js.map +1 -0
  44. package/dist/dda/p-a4eeb3f8.entry.js +2 -0
  45. package/dist/dda/p-a4eeb3f8.entry.js.map +1 -0
  46. package/dist/dda/p-c034b0f0.entry.js +2 -0
  47. package/dist/dda/p-c034b0f0.entry.js.map +1 -0
  48. package/dist/dda/p-ce9b7aeb.entry.js +2 -0
  49. package/dist/dda/p-ce9b7aeb.entry.js.map +1 -0
  50. package/dist/dda/{p-1fad7e82.entry.js → p-e5783b18.entry.js} +2 -2
  51. package/dist/dda/p-e5783b18.entry.js.map +1 -0
  52. package/dist/esm/dda-header-menu_3.entry.js +26 -8
  53. package/dist/esm/dda-header-menu_3.entry.js.map +1 -1
  54. package/dist/esm/dda-header.entry.js +5 -4
  55. package/dist/esm/dda-header.entry.js.map +1 -1
  56. package/dist/esm/dda-search-input.entry.js +27 -3
  57. package/dist/esm/dda-search-input.entry.js.map +1 -1
  58. package/dist/esm/dda-select.entry.js +36 -3
  59. package/dist/esm/dda-select.entry.js.map +1 -1
  60. package/dist/esm/dda-tabs.entry.js +18 -14
  61. package/dist/esm/dda-tabs.entry.js.map +1 -1
  62. package/dist/esm/dda.js +1 -1
  63. package/dist/esm/loader.js +1 -1
  64. package/dist/types/components/dda-header/dda-header.d.ts +1 -0
  65. package/dist/types/components/dda-header-menu/dda-header-menu.d.ts +2 -0
  66. package/dist/types/components/dda-input/dda-input.d.ts +4 -0
  67. package/dist/types/components/dda-search-input/dda-search-input.d.ts +4 -0
  68. package/dist/types/components/dda-select/dda-select.d.ts +3 -0
  69. package/dist/types/components/dda-tabs/dda-tabs.d.ts +1 -2
  70. package/dist/types/components.d.ts +16 -4
  71. package/package.json +2 -2
  72. package/readme.md +9 -0
  73. package/www/build/dda.esm.js +1 -1
  74. package/www/build/dda.esm.js.map +1 -1
  75. package/www/build/p-0e352b46.entry.js +2 -0
  76. package/www/build/p-0e352b46.entry.js.map +1 -0
  77. package/www/build/p-a4eeb3f8.entry.js +2 -0
  78. package/www/build/p-a4eeb3f8.entry.js.map +1 -0
  79. package/www/build/p-c034b0f0.entry.js +2 -0
  80. package/www/build/p-c034b0f0.entry.js.map +1 -0
  81. package/www/build/p-ce9b7aeb.entry.js +2 -0
  82. package/www/build/p-ce9b7aeb.entry.js.map +1 -0
  83. package/www/build/{p-1fad7e82.entry.js → p-e5783b18.entry.js} +2 -2
  84. package/www/build/p-e5783b18.entry.js.map +1 -0
  85. package/dist/components/p-93bcdccb.js.map +0 -1
  86. package/dist/components/p-c30037a8.js.map +0 -1
  87. package/dist/dda/p-03e384da.entry.js +0 -2
  88. package/dist/dda/p-03e384da.entry.js.map +0 -1
  89. package/dist/dda/p-1fad7e82.entry.js.map +0 -1
  90. package/dist/dda/p-48f0e5e3.entry.js +0 -2
  91. package/dist/dda/p-48f0e5e3.entry.js.map +0 -1
  92. package/dist/dda/p-a5199deb.entry.js +0 -2
  93. package/dist/dda/p-a5199deb.entry.js.map +0 -1
  94. package/dist/dda/p-bb94fb97.entry.js +0 -2
  95. package/dist/dda/p-bb94fb97.entry.js.map +0 -1
  96. package/www/build/p-03e384da.entry.js +0 -2
  97. package/www/build/p-03e384da.entry.js.map +0 -1
  98. package/www/build/p-1fad7e82.entry.js.map +0 -1
  99. package/www/build/p-48f0e5e3.entry.js +0 -2
  100. package/www/build/p-48f0e5e3.entry.js.map +0 -1
  101. package/www/build/p-a5199deb.entry.js +0 -2
  102. package/www/build/p-a5199deb.entry.js.map +0 -1
  103. package/www/build/p-bb94fb97.entry.js +0 -2
  104. package/www/build/p-bb94fb97.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"file":"dda-search-input.js","mappings":"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","names":["DdaSearchInput"],"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.js","mappings":"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","names":["DdaSearchInput"],"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}
@@ -34,11 +34,14 @@ const Ddaselect = /*@__PURE__*/ proxyCustomElement(class Ddaselect extends H {
34
34
  }
35
35
  }
36
36
  componentWillLoad() {
37
- const selectedOption = this.parsedOptions.find((opt) => opt.id.toString() === this.selected || opt.text === this.selected);
37
+ const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === this.selected || opt.text === this.selected);
38
38
  if (selectedOption) {
39
39
  this.selectedId = selectedOption.id;
40
40
  this.selectedText = selectedOption.text;
41
41
  }
42
+ if (this.selected) {
43
+ this.watchSelected(this.selected);
44
+ }
42
45
  }
43
46
  toggleSelect() {
44
47
  if (!this.disabled) {
@@ -59,6 +62,33 @@ const Ddaselect = /*@__PURE__*/ proxyCustomElement(class Ddaselect extends H {
59
62
  disconnectedCallback() {
60
63
  document.removeEventListener('click', this.handleClickOutside);
61
64
  }
65
+ async setSelected(value) {
66
+ const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === value.toString() || opt.text === value);
67
+ if (selectedOption) {
68
+ this.selectedId = selectedOption.id;
69
+ this.selectedText = selectedOption.text;
70
+ this.selected = selectedOption.id.toString();
71
+ }
72
+ else {
73
+ this.selectedId = undefined;
74
+ this.selectedText = '';
75
+ this.selected = '';
76
+ }
77
+ }
78
+ async getSelectedText() {
79
+ return this.selectedText;
80
+ }
81
+ watchSelected(newVal) {
82
+ const selectedOption = this.parsedOptions.find(opt => opt.id.toString() === newVal || opt.text === newVal);
83
+ if (selectedOption) {
84
+ this.selectedId = selectedOption.id;
85
+ this.selectedText = selectedOption.text;
86
+ }
87
+ else {
88
+ this.selectedId = undefined;
89
+ this.selectedText = '';
90
+ }
91
+ }
62
92
  numberToWord(num) {
63
93
  const words = ['One', 'Two', 'Three', 'Four', 'Five'];
64
94
  return words[num - 1] || num.toString();
@@ -66,14 +96,17 @@ const Ddaselect = /*@__PURE__*/ proxyCustomElement(class Ddaselect extends H {
66
96
  render() {
67
97
  const labelId = `${this.button_id}-label`;
68
98
  const valueId = `${this.button_id}-value`;
69
- return (h(Host, { key: 'c1dcfbea4498629d0dfa4f67948bb6ac30897ac2' }, h("div", { key: 'a95a7f3dd1221ad13a2a5369ec68c68034f02d38', class: `
99
+ return (h(Host, { key: '1e9145a83c3ec0e092e6092cc378d785af8f30a2' }, h("div", { key: 'a659d4a87d4f1036406f23645ea64aab7ed80cf5', class: `
70
100
  dda-input-container ${this.custom_class}
71
101
  ${this.component_mode}
72
102
  ${this.disabled ? 'dda-input-disabled' : ''}
73
103
  dda-input-size-${this.size} dda-validation-${this.validation_type}
74
- ` }, this.label && (h("span", { key: '665853d1e6aa374cea72c8268409a2c8d4c605be', id: labelId, class: "dda-input-label" }, this.label)), h("div", { key: 'eac1aeb088a25cd6fa43d63d9e4a9345fe16cbb2', class: "dda-dropdown-container" }, 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 }, h("span", { key: '4aeac4f4baa2d34201ffa054b256379b716f71f8', id: valueId, class: "dda-select-button-label" }, this.selectedText || this.placeholder), h("i", { key: 'b7c6541a48190f0fe7f4bcbc188577c6d7914237', class: "material-icons", "aria-hidden": "true" }, this.is_open ? 'keyboard_arrow_up' : 'keyboard_arrow_down')), this.is_open && (h("div", { key: '2b686c68fa5e48f5f3dc87563bb01457f2fd8189', class: "dda-input-dropdown-list dda-select-list" }, this.parsedOptions.length > 0 ? (this.parsedOptions.map((option, index) => (h("button", { name: `option${this.numberToWord(index + 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)))) : (h("div", { class: "dda-input-dropdown-item" }, "No options available"))))), this.validation_type === 'error' && this.error_message ? (h("span", { class: "dda-error-message", id: this.validation_id, role: "alert" }, this.error_message)) : (this.helper_text && (h("span", { class: "dda-helper-text", id: this.validation_id }, this.helper_text))))));
104
+ ` }, this.label && (h("span", { key: 'bcd9cfb16f9d04cdca2ee1a44ea66f895a537656', id: labelId, class: "dda-input-label" }, this.label)), h("div", { key: '829e7f6d1c45507a016b17b660ad4e6d5346d8f7', class: "dda-dropdown-container" }, 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 }, h("span", { key: '69793468dac92b8cc3ac771cc69c75f8cd6ea49b', id: valueId, class: "dda-select-button-label" }, this.selectedText || this.placeholder), h("i", { key: '5e8e2a3ab27596547c0c04a73bcb4303108e5331', class: "material-icons", "aria-hidden": "true" }, this.is_open ? 'keyboard_arrow_up' : 'keyboard_arrow_down')), this.is_open && (h("div", { key: 'f2c17e59dabb323d80a44c29411518f0aeb8a231', class: "dda-input-dropdown-list dda-select-list" }, this.parsedOptions.length > 0 ? (this.parsedOptions.map((option, index) => (h("button", { name: `option${this.numberToWord(index + 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)))) : (h("div", { class: "dda-input-dropdown-item" }, "No options available"))))), this.validation_type === 'error' && this.error_message ? (h("span", { class: "dda-error-message", id: this.validation_id, role: "alert" }, this.error_message)) : (this.helper_text && (h("span", { class: "dda-helper-text", id: this.validation_id }, this.helper_text))))));
75
105
  }
76
106
  get el() { return this; }
107
+ static get watchers() { return {
108
+ "selected": ["watchSelected"]
109
+ }; }
77
110
  }, [0, "dda-select", {
78
111
  "label": [1],
79
112
  "options": [1],
@@ -95,7 +128,11 @@ const Ddaselect = /*@__PURE__*/ proxyCustomElement(class Ddaselect extends H {
95
128
  "input_name": [1],
96
129
  "is_open": [32],
97
130
  "selectedId": [32],
98
- "selectedText": [32]
131
+ "selectedText": [32],
132
+ "setSelected": [64],
133
+ "getSelectedText": [64]
134
+ }, undefined, {
135
+ "selected": ["watchSelected"]
99
136
  }]);
100
137
  function defineCustomElement$1() {
101
138
  if (typeof customElements === "undefined") {
@@ -1 +1 @@
1
- {"file":"dda-select.js","mappings":"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","names":[],"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.js","mappings":"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","names":[],"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}
@@ -17,9 +17,9 @@ const DdaTabs$1 = /*@__PURE__*/ proxyCustomElement(class DdaTabs extends H {
17
17
  this.tab_icons = '["sentiment_satisfied", "sentiment_satisfied", "sentiment_satisfied"]';
18
18
  this.tab_type = 'dda-horizontal-tab';
19
19
  this.button_values = '["", "", ""]';
20
- this.tabhandler = (index) => {
21
- this.tabClick.emit(index);
22
- };
20
+ // private tabhandler = (index) => {
21
+ // this.tabClick.emit(index);
22
+ // };
23
23
  this.active_tab = 0;
24
24
  }
25
25
  get parsedButtonValues() {
@@ -27,8 +27,8 @@ const DdaTabs$1 = /*@__PURE__*/ proxyCustomElement(class DdaTabs extends H {
27
27
  return JSON.parse(this.button_values);
28
28
  }
29
29
  catch (error) {
30
- console.error("Error parsing button_values:", error);
31
- return ["", "", ""];
30
+ console.error('Error parsing button_values:', error);
31
+ return ['', '', ''];
32
32
  }
33
33
  }
34
34
  get parsedTabs() {
@@ -36,7 +36,7 @@ const DdaTabs$1 = /*@__PURE__*/ proxyCustomElement(class DdaTabs extends H {
36
36
  return JSON.parse(this.tab_texts); // Parse the string into an array
37
37
  }
38
38
  catch (error) {
39
- console.error("Error parsing tab_texts:", error);
39
+ console.error('Error parsing tab_texts:', error);
40
40
  return ['Tab 1', 'Tab 2', 'Tab 3']; // Fallback to default
41
41
  }
42
42
  }
@@ -45,8 +45,8 @@ const DdaTabs$1 = /*@__PURE__*/ proxyCustomElement(class DdaTabs extends H {
45
45
  return JSON.parse(this.tab_icons); // Parse the string into an array
46
46
  }
47
47
  catch (error) {
48
- console.error("Error parsing tabicons:", error);
49
- return ["sentiment_satisfied", "sentiment_satisfied", "sentiment_satisfied"]; // Fallback to default
48
+ console.error('Error parsing tabicons:', error);
49
+ return ['sentiment_satisfied', 'sentiment_satisfied', 'sentiment_satisfied']; // Fallback to default
50
50
  }
51
51
  }
52
52
  get parsedButtonIds() {
@@ -54,18 +54,22 @@ const DdaTabs$1 = /*@__PURE__*/ proxyCustomElement(class DdaTabs extends H {
54
54
  return JSON.parse(this.button_ids);
55
55
  }
56
56
  catch (error) {
57
- console.error("Error parsing button_ids:", error);
58
- return ["tab-btn-1", "tab-btn-2", "tab-btn-3"];
57
+ console.error('Error parsing button_ids:', error);
58
+ return ['tab-btn-1', 'tab-btn-2', 'tab-btn-3'];
59
59
  }
60
60
  }
61
+ // setActiveTab(index: number) {
62
+ // this.active_tab = index;
63
+ // if (this.tabClick) {
64
+ // this.tabhandler(index);
65
+ // }
66
+ // }
61
67
  setActiveTab(index) {
62
68
  this.active_tab = index;
63
- if (this.tabClick) {
64
- this.tabhandler(index);
65
- }
69
+ this.tabClick.emit(index);
66
70
  }
67
71
  render() {
68
- return (h(Host, { key: 'aa753db7ce6294e509d09fb51e16edfc982d7719' }, 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) => (h("button", { id: this.parsedButtonIds[index] || `tab-btn-${index + 1}`, name: this.button_name, "aria-label": title, type: "button", value: this.parsedButtonValues[index] || "", class: `dda-tab-item ${this.active_tab === index ? 'active' : ''}`, role: "tab", "aria-selected": this.active_tab === index ? 'true' : 'false', "aria-controls": `tab-btn-${index + 1}`, onClick: () => this.setActiveTab(index) }, this.type === 'text-icon' && h("i", { class: `material-icons`, "aria-hidden": "true" }, this.parsedIcons[index] || ""), h("span", null, title)))))));
72
+ return (h(Host, { key: '9fba77b9c33c9077f5e8999a1ce8c46535df6302' }, 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) => (h("button", { id: this.parsedButtonIds[index] || `tab-btn-${index + 1}`, name: this.button_name, "aria-label": title, type: "button", value: this.parsedButtonValues[index] || '', class: `dda-tab-item ${this.active_tab === index ? 'active' : ''}`, role: "tab", "aria-selected": this.active_tab === index ? 'true' : 'false', "aria-controls": `tab-btn-${index + 1}`, onClick: () => this.setActiveTab(index) }, this.type === 'text-icon' && (h("i", { class: `material-icons`, "aria-hidden": "true" }, this.parsedIcons[index] || '')), h("span", null, title)))))));
69
73
  }
70
74
  static get style() { return DdaTabsStyle0; }
71
75
  }, [0, "dda-tabs", {
@@ -1 +1 @@
1
- {"file":"dda-tabs.js","mappings":"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","names":["DdaTabs"],"sources":["src/components/dda-tabs/dda-tabs.css?tag=dda-tabs","src/components/dda-tabs/dda-tabs.tsx"],"sourcesContent":[".dda-tabs-container {\r\n display: inline-flex;\r\n gap:1px;\r\n}\r\n\r\n.dda-tab-item {\r\n min-height: 48px;\r\n background: transparent;\r\n display: inline-flex;\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 gap: 8px;\r\n align-items: center;\r\n border: 0;\r\n border-radius: 8px;\r\n padding: 5px 16px;\r\n cursor: pointer;\r\n position: relative;\r\n /* transition: all 0.25s ease-in-out; */\r\n}\r\n\r\n.light-mode .dda-tab-item{\r\n color: var(--dda-neutral-0);\r\n}\r\n\r\n.dda-tab-item i {\r\n font-size: 22px;\r\n color: var(--dda-neutral-variant-30);\r\n}\r\n\r\n/* .dda-tab-item.active span,\r\n.dda-tab-item:hover span {\r\n font-weight: var(--dda-fw-500);\r\n} */\r\n\r\n.dda-tab-default .dda-tab-item.active,\r\n.dda-tab-default .dda-tab-item:hover {\r\n background: var(--dda-neutral-variant-94);\r\n color: var(--dda-color-primary-40);\r\n}\r\n\r\n.light-mode.dda-tab-default .dda-tab-item.active,\r\n.light-mode.dda-tab-default .dda-tab-item:hover {\r\n color: var(--dda-primary-40);\r\n}\r\n\r\n.dda-tab-default .dda-tab-item.active i,\r\n.dda-tab-default .dda-tab-item:hover i {\r\n color: var(--dda-color-primary-40);\r\n}\r\n\r\n.dda-tab-filed .dda-tab-item.active,\r\n.dda-tab-filed .dda-tab-item:hover {\r\n background: var(--dda-color-primary-40);\r\n color: var(--dda-neutral-100);\r\n}\r\n\r\n.light-mode.dda-tab-filed .dda-tab-item.active,\r\n.light-mode.dda-tab-filed .dda-tab-item:hover {\r\n background: var(--dda-primary-40);\r\n}\r\n\r\n.dda-tab-filed .dda-tab-item.active i,\r\n.dda-tab-filed .dda-tab-item:hover i {\r\n color: var(--dda-neutral-100);\r\n}\r\n\r\n.dda-tab-underline .dda-tab-item {\r\n border-bottom: solid 1px var(--dda-neutral-90);\r\n border-radius: 0px;\r\n}\r\n\r\n\r\n.dda-tab-underline .dda-tab-item::after,\r\n.dda-tab-underline-filled .dda-tab-item::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.light-mode.dda-tab-underline .dda-tab-item::after,\r\n.light-mode.dda-tab-underline-filled .dda-tab-item::after{\r\n background-color: var(--dda-primary-40);\r\n}\r\n.dda-tab-underline .dda-tab-item:hover::after,\r\n.dda-tab-underline .dda-tab-item.active::after,\r\n.dda-tab-underline-filled .dda-tab-item:hover::after,\r\n.dda-tab-underline-filled .dda-tab-item.active::after{\r\n width: calc(100% - 32px);\r\n}\r\n\r\n.dda-tab-underline .dda-tab-item.active,\r\n.dda-tab-underline .dda-tab-item.active i,\r\n.dda-tab-underline-filled .dda-tab-item.active,\r\n.dda-tab-underline-filled .dda-tab-item.active i,\r\n.dda-tab-underline .dda-tab-item:hover,\r\n.dda-tab-underline .dda-tab-item:hover i,\r\n.dda-tab-underline-filled .dda-tab-item:hover,\r\n.dda-tab-underline-filled .dda-tab-item:hover i {\r\n color: var(--dda-color-primary-40);\r\n}\r\n\r\n.light-mode.dda-tab-underline .dda-tab-item.active,\r\n.light-mode.dda-tab-underline .dda-tab-item.active i,\r\n.light-mode.dda-tab-underline-filled .dda-tab-item.active,\r\n.light-mode.dda-tab-underline-filled .dda-tab-item.active i,\r\n.light-mode.dda-tab-underline .dda-tab-item:hover,\r\n.light-mode.dda-tab-underline .dda-tab-item:hover i,\r\n.light-mode.dda-tab-underline-filled .dda-tab-item:hover,\r\n.light-mode.dda-tab-underline-filled .dda-tab-item:hover i {\r\n color: var(--dda-primary-40);\r\n}\r\n\r\n.dda-tab-underline-filled .dda-tab-item.active,\r\n.dda-tab-underline-filled .dda-tab-item:hover {\r\n background: var(--dda-neutral-variant-94);\r\n}\r\n\r\n.dda-tabs-container.dda-vertical-tab{\r\n display: flex;\r\n flex-direction: column;\r\n gap: 2px;\r\n}\r\n.dda-tabs-container.dda-vertical-tab button{\r\n width: 100%;\r\n text-align: start;\r\n}\r\n\r\n\r\n.dda-tab-underline.dda-vertical-tab .dda-tab-item::after,\r\n.dda-tab-underline-filled.dda-vertical-tab .dda-tab-item::after {\r\n top: 50%;\r\n inset-inline-start: 0;\r\n width: 4px;\r\n height: 0;\r\n border-radius: 0px 8px 8px 0px;\r\n transform: translateY(-50%);\r\n}\r\n:root[dir='rtl'] .dda-tab-underline.dda-vertical-tab .dda-tab-item::after,\r\n:root[dir='rtl'] .dda-tab-underline-filled.dda-vertical-tab .dda-tab-item::after{\r\n border-radius: 8px 0px 0px 8px;\r\n}\r\n.dda-tab-underline.dda-vertical-tab .dda-tab-item:hover::after,\r\n.dda-tab-underline.dda-vertical-tab .dda-tab-item.active::after,\r\n.dda-tab-underline-filled.dda-vertical-tab .dda-tab-item:hover::after,\r\n.dda-tab-underline-filled.dda-vertical-tab .dda-tab-item.active::after {\r\n height: calc(100% - 14px);\r\n}\r\n\r\n@media (prefers-reduced-motion: no-preference) {\r\n .dda-tab-item {\r\n transition: all 0.25s ease-in-out;\r\n }\r\n .dda-tab-underline .dda-tab-item::after,\r\n .dda-tab-underline-filled .dda-tab-item::after {\r\n transition: all 0.25s ease-in-out;\r\n }\r\n}","import { Component, Prop, State, h, Host, Event, EventEmitter } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-tabs',\r\n styleUrls: ['dda-tabs.css'],\r\n shadow: false,\r\n})\r\nexport class DdaTabs {\r\n @Prop() type: 'text' | 'text-icon' = 'text';\r\n @Prop() hover_style: 'dda-tab-default' | 'dda-tab-filed' | 'dda-tab-underline' | 'dda-tab-underline-filled' = 'dda-tab-default';\r\n @Prop() border_bottom: boolean = false;\r\n @Prop() custom_class?: string = '';\r\n @Prop() component_mode?: string;\r\n @Prop() button_ids: string = '[\"tab-btn-1\", \"tab-btn-2\", \"tab-btn-3\"]'; // New prop for dynamic button IDs\r\n @Prop() tab_value: string;\r\n @Prop() tab_texts: string = '[\"Tab 1\", \"Tab 2\", \"Tab 3\"]'; // Keep it as a string\r\n @Prop() tab_icons: string = '[\"sentiment_satisfied\", \"sentiment_satisfied\", \"sentiment_satisfied\"]';\r\n @Prop() button_name: string;\r\n @Prop() tab_type: 'dda-horizontal-tab' | 'dda-vertical-tab' = 'dda-horizontal-tab';\r\n @Event() tabClick?: EventEmitter<void>;\r\n @Prop() button_values: string = '[\"\", \"\", \"\"]';\r\n\r\n private tabhandler = (index) => {\r\n this.tabClick.emit(index);\r\n };\r\n\r\n @State() active_tab: number = 0;\r\n\r\n get parsedButtonValues() {\r\n try {\r\n return JSON.parse(this.button_values);\r\n } catch (error) {\r\n console.error(\"Error parsing button_values:\", error);\r\n return [\"\", \"\", \"\"];\r\n }\r\n }\r\n\r\n get parsedTabs() {\r\n try {\r\n return JSON.parse(this.tab_texts); // Parse the string into an array\r\n } catch (error) {\r\n console.error(\"Error parsing tab_texts:\", error);\r\n return ['Tab 1', 'Tab 2', 'Tab 3']; // Fallback to default\r\n }\r\n }\r\n\r\n get parsedIcons() {\r\n try {\r\n return JSON.parse(this.tab_icons); // Parse the string into an array\r\n } catch (error) {\r\n console.error(\"Error parsing tabicons:\", error);\r\n return [\"sentiment_satisfied\", \"sentiment_satisfied\", \"sentiment_satisfied\"]; // Fallback to default\r\n }\r\n }\r\n\r\n get parsedButtonIds() {\r\n try {\r\n return JSON.parse(this.button_ids);\r\n } catch (error) {\r\n console.error(\"Error parsing button_ids:\", error);\r\n return [\"tab-btn-1\", \"tab-btn-2\", \"tab-btn-3\"];\r\n }\r\n }\r\n\r\n setActiveTab(index: number) {\r\n this.active_tab = index;\r\n if (this.tabClick) {\r\n this.tabhandler(index);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div role=\"tablist\" aria-label=\"Tab Navigation\" class={`dda-tabs-container ${this.hover_style} ${this.custom_class} ${this.component_mode} ${this.tab_type}`}>\r\n {this.parsedTabs.map((title, index) => (\r\n <button\r\n id={this.parsedButtonIds[index] || `tab-btn-${index + 1}`}\r\n name={this.button_name}\r\n aria-label={title}\r\n type=\"button\"\r\n value={this.parsedButtonValues[index] || \"\"}\r\n class={`dda-tab-item ${this.active_tab === index ? 'active' : ''}`}\r\n role=\"tab\"\r\n aria-selected={this.active_tab === index ? 'true' : 'false'}\r\n aria-controls={`tab-btn-${index + 1}`}\r\n onClick={() => this.setActiveTab(index)}\r\n >\r\n {this.type === 'text-icon' && <i class={`material-icons`} aria-hidden=\"true\">{this.parsedIcons[index] || \"\"}</i>}\r\n <span>{title}</span>\r\n </button>\r\n ))}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
1
+ {"file":"dda-tabs.js","mappings":"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","names":["DdaTabs"],"sources":["src/components/dda-tabs/dda-tabs.css?tag=dda-tabs","src/components/dda-tabs/dda-tabs.tsx"],"sourcesContent":[".dda-tabs-container {\r\n display: inline-flex;\r\n gap:1px;\r\n}\r\n\r\n.dda-tab-item {\r\n min-height: 48px;\r\n background: transparent;\r\n display: inline-flex;\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 gap: 8px;\r\n align-items: center;\r\n border: 0;\r\n border-radius: 8px;\r\n padding: 5px 16px;\r\n cursor: pointer;\r\n position: relative;\r\n /* transition: all 0.25s ease-in-out; */\r\n}\r\n\r\n.light-mode .dda-tab-item{\r\n color: var(--dda-neutral-0);\r\n}\r\n\r\n.dda-tab-item i {\r\n font-size: 22px;\r\n color: var(--dda-neutral-variant-30);\r\n}\r\n\r\n/* .dda-tab-item.active span,\r\n.dda-tab-item:hover span {\r\n font-weight: var(--dda-fw-500);\r\n} */\r\n\r\n.dda-tab-default .dda-tab-item.active,\r\n.dda-tab-default .dda-tab-item:hover {\r\n background: var(--dda-neutral-variant-94);\r\n color: var(--dda-color-primary-40);\r\n}\r\n\r\n.light-mode.dda-tab-default .dda-tab-item.active,\r\n.light-mode.dda-tab-default .dda-tab-item:hover {\r\n color: var(--dda-primary-40);\r\n}\r\n\r\n.dda-tab-default .dda-tab-item.active i,\r\n.dda-tab-default .dda-tab-item:hover i {\r\n color: var(--dda-color-primary-40);\r\n}\r\n\r\n.dda-tab-filed .dda-tab-item.active,\r\n.dda-tab-filed .dda-tab-item:hover {\r\n background: var(--dda-color-primary-40);\r\n color: var(--dda-neutral-100);\r\n}\r\n\r\n.light-mode.dda-tab-filed .dda-tab-item.active,\r\n.light-mode.dda-tab-filed .dda-tab-item:hover {\r\n background: var(--dda-primary-40);\r\n}\r\n\r\n.dda-tab-filed .dda-tab-item.active i,\r\n.dda-tab-filed .dda-tab-item:hover i {\r\n color: var(--dda-neutral-100);\r\n}\r\n\r\n.dda-tab-underline .dda-tab-item {\r\n border-bottom: solid 1px var(--dda-neutral-90);\r\n border-radius: 0px;\r\n}\r\n\r\n\r\n.dda-tab-underline .dda-tab-item::after,\r\n.dda-tab-underline-filled .dda-tab-item::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.light-mode.dda-tab-underline .dda-tab-item::after,\r\n.light-mode.dda-tab-underline-filled .dda-tab-item::after{\r\n background-color: var(--dda-primary-40);\r\n}\r\n.dda-tab-underline .dda-tab-item:hover::after,\r\n.dda-tab-underline .dda-tab-item.active::after,\r\n.dda-tab-underline-filled .dda-tab-item:hover::after,\r\n.dda-tab-underline-filled .dda-tab-item.active::after{\r\n width: calc(100% - 32px);\r\n}\r\n\r\n.dda-tab-underline .dda-tab-item.active,\r\n.dda-tab-underline .dda-tab-item.active i,\r\n.dda-tab-underline-filled .dda-tab-item.active,\r\n.dda-tab-underline-filled .dda-tab-item.active i,\r\n.dda-tab-underline .dda-tab-item:hover,\r\n.dda-tab-underline .dda-tab-item:hover i,\r\n.dda-tab-underline-filled .dda-tab-item:hover,\r\n.dda-tab-underline-filled .dda-tab-item:hover i {\r\n color: var(--dda-color-primary-40);\r\n}\r\n\r\n.light-mode.dda-tab-underline .dda-tab-item.active,\r\n.light-mode.dda-tab-underline .dda-tab-item.active i,\r\n.light-mode.dda-tab-underline-filled .dda-tab-item.active,\r\n.light-mode.dda-tab-underline-filled .dda-tab-item.active i,\r\n.light-mode.dda-tab-underline .dda-tab-item:hover,\r\n.light-mode.dda-tab-underline .dda-tab-item:hover i,\r\n.light-mode.dda-tab-underline-filled .dda-tab-item:hover,\r\n.light-mode.dda-tab-underline-filled .dda-tab-item:hover i {\r\n color: var(--dda-primary-40);\r\n}\r\n\r\n.dda-tab-underline-filled .dda-tab-item.active,\r\n.dda-tab-underline-filled .dda-tab-item:hover {\r\n background: var(--dda-neutral-variant-94);\r\n}\r\n\r\n.dda-tabs-container.dda-vertical-tab{\r\n display: flex;\r\n flex-direction: column;\r\n gap: 2px;\r\n}\r\n.dda-tabs-container.dda-vertical-tab button{\r\n width: 100%;\r\n text-align: start;\r\n}\r\n\r\n\r\n.dda-tab-underline.dda-vertical-tab .dda-tab-item::after,\r\n.dda-tab-underline-filled.dda-vertical-tab .dda-tab-item::after {\r\n top: 50%;\r\n inset-inline-start: 0;\r\n width: 4px;\r\n height: 0;\r\n border-radius: 0px 8px 8px 0px;\r\n transform: translateY(-50%);\r\n}\r\n:root[dir='rtl'] .dda-tab-underline.dda-vertical-tab .dda-tab-item::after,\r\n:root[dir='rtl'] .dda-tab-underline-filled.dda-vertical-tab .dda-tab-item::after{\r\n border-radius: 8px 0px 0px 8px;\r\n}\r\n.dda-tab-underline.dda-vertical-tab .dda-tab-item:hover::after,\r\n.dda-tab-underline.dda-vertical-tab .dda-tab-item.active::after,\r\n.dda-tab-underline-filled.dda-vertical-tab .dda-tab-item:hover::after,\r\n.dda-tab-underline-filled.dda-vertical-tab .dda-tab-item.active::after {\r\n height: calc(100% - 14px);\r\n}\r\n\r\n@media (prefers-reduced-motion: no-preference) {\r\n .dda-tab-item {\r\n transition: all 0.25s ease-in-out;\r\n }\r\n .dda-tab-underline .dda-tab-item::after,\r\n .dda-tab-underline-filled .dda-tab-item::after {\r\n transition: all 0.25s ease-in-out;\r\n }\r\n}","import { Component, Prop, State, h, Host, Event, EventEmitter } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-tabs',\r\n styleUrls: ['dda-tabs.css'],\r\n shadow: false,\r\n})\r\nexport class DdaTabs {\r\n @Prop() type: 'text' | 'text-icon' = 'text';\r\n @Prop() hover_style: 'dda-tab-default' | 'dda-tab-filed' | 'dda-tab-underline' | 'dda-tab-underline-filled' = 'dda-tab-default';\r\n @Prop() border_bottom: boolean = false;\r\n @Prop() custom_class?: string = '';\r\n @Prop() component_mode?: string;\r\n @Prop() button_ids: string = '[\"tab-btn-1\", \"tab-btn-2\", \"tab-btn-3\"]'; // New prop for dynamic button IDs\r\n @Prop() tab_value: string;\r\n @Prop() tab_texts: string = '[\"Tab 1\", \"Tab 2\", \"Tab 3\"]'; // Keep it as a string\r\n @Prop() tab_icons: string = '[\"sentiment_satisfied\", \"sentiment_satisfied\", \"sentiment_satisfied\"]';\r\n @Prop() button_name: string;\r\n @Prop() tab_type: 'dda-horizontal-tab' | 'dda-vertical-tab' = 'dda-horizontal-tab';\r\n @Event() tabClick: EventEmitter<number>;\r\n\r\n @Prop() button_values: string = '[\"\", \"\", \"\"]';\r\n\r\n // private tabhandler = (index) => {\r\n // this.tabClick.emit(index);\r\n // };\r\n\r\n @State() active_tab: number = 0;\r\n\r\n get parsedButtonValues() {\r\n try {\r\n return JSON.parse(this.button_values);\r\n } catch (error) {\r\n console.error('Error parsing button_values:', error);\r\n return ['', '', ''];\r\n }\r\n }\r\n\r\n get parsedTabs() {\r\n try {\r\n return JSON.parse(this.tab_texts); // Parse the string into an array\r\n } catch (error) {\r\n console.error('Error parsing tab_texts:', error);\r\n return ['Tab 1', 'Tab 2', 'Tab 3']; // Fallback to default\r\n }\r\n }\r\n\r\n get parsedIcons() {\r\n try {\r\n return JSON.parse(this.tab_icons); // Parse the string into an array\r\n } catch (error) {\r\n console.error('Error parsing tabicons:', error);\r\n return ['sentiment_satisfied', 'sentiment_satisfied', 'sentiment_satisfied']; // Fallback to default\r\n }\r\n }\r\n\r\n get parsedButtonIds() {\r\n try {\r\n return JSON.parse(this.button_ids);\r\n } catch (error) {\r\n console.error('Error parsing button_ids:', error);\r\n return ['tab-btn-1', 'tab-btn-2', 'tab-btn-3'];\r\n }\r\n }\r\n\r\n // setActiveTab(index: number) {\r\n // this.active_tab = index;\r\n // if (this.tabClick) {\r\n // this.tabhandler(index);\r\n // }\r\n // }\r\n setActiveTab(index: number) {\r\n this.active_tab = index;\r\n this.tabClick.emit(index);\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div role=\"tablist\" aria-label=\"Tab Navigation\" class={`dda-tabs-container ${this.hover_style} ${this.custom_class} ${this.component_mode} ${this.tab_type}`}>\r\n {this.parsedTabs.map((title, index) => (\r\n <button\r\n id={this.parsedButtonIds[index] || `tab-btn-${index + 1}`}\r\n name={this.button_name}\r\n aria-label={title}\r\n type=\"button\"\r\n value={this.parsedButtonValues[index] || ''}\r\n class={`dda-tab-item ${this.active_tab === index ? 'active' : ''}`}\r\n role=\"tab\"\r\n aria-selected={this.active_tab === index ? 'true' : 'false'}\r\n aria-controls={`tab-btn-${index + 1}`}\r\n onClick={() => this.setActiveTab(index)}\r\n >\r\n {this.type === 'text-icon' && (\r\n <i class={`material-icons`} aria-hidden=\"true\">\r\n {this.parsedIcons[index] || ''}\r\n </i>\r\n )}\r\n <span>{title}</span>\r\n </button>\r\n ))}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -15,6 +15,20 @@ const DdaInput = /*@__PURE__*/ proxyCustomElement(class DdaInput extends H {
15
15
  async getValue() {
16
16
  return this.internalValue || this.value || '';
17
17
  }
18
+ watchValue(newValue) {
19
+ this.internalValue = newValue || '';
20
+ }
21
+ async setValue(val) {
22
+ this.internalValue = val;
23
+ this.inputChanged.emit(val);
24
+ }
25
+ async reset() {
26
+ this.internalValue = '';
27
+ this.inputChanged.emit('');
28
+ }
29
+ componentWillLoad() {
30
+ this.internalValue = this.value || '';
31
+ }
18
32
  componentDidLoad() {
19
33
  // Hide date input placeholder
20
34
  if (this.type === 'date') {
@@ -45,17 +59,21 @@ const DdaInput = /*@__PURE__*/ proxyCustomElement(class DdaInput extends H {
45
59
  this.type === 'disabled' ? 'dda-input-disabled' : '',
46
60
  this.custom_class,
47
61
  this.component_mode,
48
- ].filter(Boolean).join(' ');
49
- return (h(Host, { key: 'b9fb5ad1dafba6f7c6f84ac991fbe39906f3eecc' }, h("div", { key: 'd0ebec077208be7b411944c4383bfa6e9643fe48', class: inputClass }, this.label &&
50
- h("label", { key: '1ea6a5732274284a5abedcbecc9ae6b1284b7cb4', htmlFor: this.input_id, class: "dda-input-label", id: `${this.input_id}-label` }, this.label), 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) => {
62
+ ]
63
+ .filter(Boolean)
64
+ .join(' ');
65
+ return (h(Host, { key: '4e003cdf89adeda38b90792d6347e7eea6d66f38' }, h("div", { key: '592b69be98bbba7466d13eafe1a7d8f1aaa6dced', class: inputClass }, this.label && (h("label", { key: '2ade0edb9bf64d6afeb4c4fd108721f42cc88df8', htmlFor: this.input_id, class: "dda-input-label", id: `${this.input_id}-label` }, this.label)), 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 => {
51
66
  this.internalValue = event.target.value;
52
- this.inputChanged.emit(event);
53
- }, onBlur: (event) => {
67
+ this.inputChanged.emit(this.internalValue);
68
+ }, onBlur: event => {
54
69
  const value = event.target.value.trim();
55
70
  this.inputBlurred.emit({ name: this.input_name, value });
56
71
  } }), this.validation_type === 'error' && this.error_message ? (h("span", { class: "dda-error-message", id: this.validation_id, role: "alert" }, this.error_message)) : (this.helper_text && (h("span", { class: "dda-helper-text", id: this.validation_id }, this.helper_text))))));
57
72
  }
58
73
  get el() { return this; }
74
+ static get watchers() { return {
75
+ "value": ["watchValue"]
76
+ }; }
59
77
  }, [0, "dda-input", {
60
78
  "label": [1],
61
79
  "placeholder": [1],
@@ -75,7 +93,11 @@ const DdaInput = /*@__PURE__*/ proxyCustomElement(class DdaInput extends H {
75
93
  "input_name": [1],
76
94
  "required": [4],
77
95
  "internalValue": [32],
78
- "getValue": [64]
96
+ "getValue": [64],
97
+ "setValue": [64],
98
+ "reset": [64]
99
+ }, undefined, {
100
+ "value": ["watchValue"]
79
101
  }]);
80
102
  function defineCustomElement() {
81
103
  if (typeof customElements === "undefined") {
@@ -94,4 +116,4 @@ defineCustomElement();
94
116
 
95
117
  export { DdaInput as D, defineCustomElement as d };
96
118
 
97
- //# sourceMappingURL=p-93bcdccb.js.map
119
+ //# sourceMappingURL=p-589645ea.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-589645ea.js","mappings":"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","names":[],"sources":["src/components/dda-input/dda-input.tsx"],"sourcesContent":["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"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-f6588843.js';
2
2
 
3
- 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;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{min-height:350px;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 0 8px 55px}.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}}";
3
+ 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}}";
4
4
  const DdaHeaderMenuStyle0 = ddaHeaderMenuCss;
5
5
 
6
6
  const DdaHeaderMenu = /*@__PURE__*/ proxyCustomElement(class DdaHeaderMenu extends H {
@@ -92,10 +92,10 @@ const DdaHeaderMenu = /*@__PURE__*/ proxyCustomElement(class DdaHeaderMenu exten
92
92
  'is-visible': isOpen,
93
93
  }, id: submenuId, "aria-label": `${headerMenuLabel} Mega Menu` }, h("div", { class: "dda-megamenu-wrap" }, h("div", { class: "dda-megamenu-content" }, h("div", { class: "dda-row" }, children.map((col, colIndex) => (h("div", { class: "dda-col-md-3", key: `col-${colIndex}` }, col.title && h("h6", { "aria-label": `${col.title} section`, class: "megamemu-sub-title" }, col.title), h("ul", null, col.items.map((item, itemIndex) => (h("li", { key: `item-${itemIndex}` }, h("a", { class: "dda-mega-menu-link",
94
94
  // href={item.url}
95
- href: this.useNavigator == "true" ? 'javascript:void(0)' : item.url, onClick: () => this.useNavigator == "true" ? this.navigatorClick.emit(item.url) : "" }, h("span", { class: "dda-mega-menu-icon", "aria-hidden": "true" }, h("i", { class: "material-icons material-symbols-outlined" }, "sentiment_satisfied")), h("span", { class: "text-wrap" }, h("span", { class: "dda-mega-menu-text" }, item.headerMenuLabel), item.description && (h("span", { class: "dda-mega-menu-desc" }, item.description))))))))))))))));
95
+ href: this.useNavigator == "true" ? 'javascript:void(0)' : item.url, onClick: () => this.useNavigator == "true" ? this.navigatorClick.emit(item.url) : "" }, this.showQuickLinksIcon ? (h("span", { class: "dda-mega-menu-icon", "aria-hidden": "true" }, h("i", { class: "material-icons material-symbols-outlined" }, item.quickLinksIcon ? item.quickLinksIcon : "sentiment_satisfied"))) : "", h("span", { class: "text-wrap" }, h("span", { class: "dda-mega-menu-text" }, item.headerMenuLabel), item.description && (h("span", { class: "dda-mega-menu-desc" }, item.description))))))))))))))));
96
96
  }
97
97
  render() {
98
- return (h(Host, { key: '99c421ebe442538d7051fdf798510415038e25e6' }, h("nav", { key: '1e7895db32ea9a3f0a03a85b0af3cd61d7c0afff', "aria-label": "Main navigation", class: "dda-header-menu" }, h("ul", { key: 'c21de7d311cebc23f6c78c531ed7b08cb057f8e0', class: "dda-mega-menu" }, this.parsedMenuItems.map((item, index) => {
98
+ return (h(Host, { key: '29e85895138a63049930f62c93c2a15aab22c0cf' }, h("nav", { key: 'd48d5f933456c1c3d030bfb14aa6033b38afd895', "aria-label": "Main navigation", class: "dda-header-menu" }, h("ul", { key: '9cd8056b970d196de3ca1dc58db8dbf34f009033', class: "dda-mega-menu" }, this.parsedMenuItems.map((item, index) => {
99
99
  const isOpen = this.openIndex === index;
100
100
  const hasSubmenu = item.children && item.children.length > 0;
101
101
  const submenuId = `submenu-${index}`;
@@ -111,6 +111,7 @@ const DdaHeaderMenu = /*@__PURE__*/ proxyCustomElement(class DdaHeaderMenu exten
111
111
  get el() { return this; }
112
112
  static get style() { return DdaHeaderMenuStyle0; }
113
113
  }, [0, "dda-header-menu", {
114
+ "showQuickLinksIcon": [4, "show-quick-links-icon"],
114
115
  "useNavigator": [1, "use-navigator"],
115
116
  "quickLinks": [1, "quick-links"],
116
117
  "openIndex": [32],
@@ -133,4 +134,4 @@ defineCustomElement();
133
134
 
134
135
  export { DdaHeaderMenu as D, defineCustomElement as d };
135
136
 
136
- //# sourceMappingURL=p-c30037a8.js.map
137
+ //# sourceMappingURL=p-f0f752d2.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-f0f752d2.js","mappings":"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","names":[],"sources":["src/components/dda-header-menu/dda-header-menu.css?tag=dda-header-menu","src/components/dda-header-menu/dda-header-menu.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"],"version":3}