@dubai-design-system/components-js 3.11.9 → 3.12.2-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) 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-phonefield.cjs.entry.js +8 -12
  4. package/dist/cjs/dda-phonefield.cjs.entry.js.map +1 -1
  5. package/dist/cjs/dda-search-input.cjs.entry.js +3 -3
  6. package/dist/cjs/dda-search-input.cjs.entry.js.map +1 -1
  7. package/dist/cjs/dda-select.cjs.entry.js +17 -7
  8. package/dist/cjs/dda-select.cjs.entry.js.map +1 -1
  9. package/dist/cjs/dda-textarea.cjs.entry.js +30 -4
  10. package/dist/cjs/dda-textarea.cjs.entry.js.map +1 -1
  11. package/dist/collection/components/dda-input/dda-input.js +35 -5
  12. package/dist/collection/components/dda-input/dda-input.js.map +1 -1
  13. package/dist/collection/components/dda-phonefield/dda-phonefield.js +10 -14
  14. package/dist/collection/components/dda-phonefield/dda-phonefield.js.map +1 -1
  15. package/dist/collection/components/dda-search-input/dda-search-input.js +5 -5
  16. package/dist/collection/components/dda-search-input/dda-search-input.js.map +1 -1
  17. package/dist/collection/components/dda-select/dda-select.js +21 -11
  18. package/dist/collection/components/dda-select/dda-select.js.map +1 -1
  19. package/dist/collection/components/dda-textarea/dda-textarea.js +32 -6
  20. package/dist/collection/components/dda-textarea/dda-textarea.js.map +1 -1
  21. package/dist/components/dda-header.js +1 -1
  22. package/dist/components/dda-input.js +1 -1
  23. package/dist/components/dda-phonefield.js +8 -12
  24. package/dist/components/dda-phonefield.js.map +1 -1
  25. package/dist/components/dda-search-input.js +3 -3
  26. package/dist/components/dda-search-input.js.map +1 -1
  27. package/dist/components/dda-select.js +17 -7
  28. package/dist/components/dda-select.js.map +1 -1
  29. package/dist/components/dda-textarea.js +30 -4
  30. package/dist/components/dda-textarea.js.map +1 -1
  31. package/dist/components/{p-5b2ec1a3.js → p-0bbf1225.js} +34 -4
  32. package/dist/components/p-0bbf1225.js.map +1 -0
  33. package/dist/dda/dda.esm.js +1 -1
  34. package/dist/dda/p-24c14c34.entry.js +2 -0
  35. package/dist/dda/p-24c14c34.entry.js.map +1 -0
  36. package/dist/dda/{p-90e88405.entry.js → p-631f86fd.entry.js} +2 -2
  37. package/dist/dda/p-631f86fd.entry.js.map +1 -0
  38. package/dist/dda/{p-6938a156.entry.js → p-6d955874.entry.js} +2 -2
  39. package/dist/dda/{p-6938a156.entry.js.map → p-6d955874.entry.js.map} +1 -1
  40. package/dist/dda/p-95f9ac9c.entry.js +2 -0
  41. package/dist/dda/p-95f9ac9c.entry.js.map +1 -0
  42. package/{www/build/p-440094b1.entry.js → dist/dda/p-a9da1c36.entry.js} +2 -2
  43. package/dist/dda/p-a9da1c36.entry.js.map +1 -0
  44. package/dist/esm/dda-header-menu_3.entry.js +33 -3
  45. package/dist/esm/dda-header-menu_3.entry.js.map +1 -1
  46. package/dist/esm/dda-phonefield.entry.js +8 -12
  47. package/dist/esm/dda-phonefield.entry.js.map +1 -1
  48. package/dist/esm/dda-search-input.entry.js +3 -3
  49. package/dist/esm/dda-search-input.entry.js.map +1 -1
  50. package/dist/esm/dda-select.entry.js +17 -7
  51. package/dist/esm/dda-select.entry.js.map +1 -1
  52. package/dist/esm/dda-textarea.entry.js +30 -4
  53. package/dist/esm/dda-textarea.entry.js.map +1 -1
  54. package/dist/types/components/dda-input/dda-input.d.ts +1 -4
  55. package/dist/types/components/dda-phonefield/dda-phonefield.d.ts +1 -4
  56. package/dist/types/components/dda-search-input/dda-search-input.d.ts +1 -4
  57. package/dist/types/components/dda-select/dda-select.d.ts +4 -9
  58. package/dist/types/components/dda-textarea/dda-textarea.d.ts +1 -4
  59. package/dist/types/components.d.ts +12 -12
  60. package/package.json +2 -2
  61. package/readme.md +5 -0
  62. package/www/build/dda.esm.js +1 -1
  63. package/www/build/p-24c14c34.entry.js +2 -0
  64. package/www/build/p-24c14c34.entry.js.map +1 -0
  65. package/www/build/{p-90e88405.entry.js → p-631f86fd.entry.js} +2 -2
  66. package/www/build/p-631f86fd.entry.js.map +1 -0
  67. package/www/build/{p-6938a156.entry.js → p-6d955874.entry.js} +2 -2
  68. package/www/build/{p-6938a156.entry.js.map → p-6d955874.entry.js.map} +1 -1
  69. package/www/build/p-95f9ac9c.entry.js +2 -0
  70. package/www/build/p-95f9ac9c.entry.js.map +1 -0
  71. package/{dist/dda/p-440094b1.entry.js → www/build/p-a9da1c36.entry.js} +2 -2
  72. package/www/build/p-a9da1c36.entry.js.map +1 -0
  73. package/dist/components/p-5b2ec1a3.js.map +0 -1
  74. package/dist/dda/p-440094b1.entry.js.map +0 -1
  75. package/dist/dda/p-72e59001.entry.js +0 -2
  76. package/dist/dda/p-72e59001.entry.js.map +0 -1
  77. package/dist/dda/p-90e88405.entry.js.map +0 -1
  78. package/dist/dda/p-e9733963.entry.js +0 -2
  79. package/dist/dda/p-e9733963.entry.js.map +0 -1
  80. package/www/build/p-440094b1.entry.js.map +0 -1
  81. package/www/build/p-72e59001.entry.js +0 -2
  82. package/www/build/p-72e59001.entry.js.map +0 -1
  83. package/www/build/p-90e88405.entry.js.map +0 -1
  84. package/www/build/p-e9733963.entry.js +0 -2
  85. package/www/build/p-e9733963.entry.js.map +0 -1
@@ -1,2 +0,0 @@
1
- import{r as t,c as s,h as a,H as i,g as e}from"./p-1b339a0a.js";const h=class{constructor(a){t(this,a);this.inputChanged=s(this,"inputChanged",7);this.onChanged=s(this,"onChanged",7);this.buttonClicked=s(this,"buttonClicked",7);this.inputBlurred=s(this,"inputBlurred",7);this.onBlurred=s(this,"onBlurred",7);this.placeholder="Search";this.size="sm";this.show_button=false;this.has_error=false;this.custom_class="";this.hasInputValue=false;this.internalValue="";this.handleInput=t=>{const s=t.target;this.hasInputValue=s.value.length>0};this.handleKeyDown=t=>{if(t.key==="Enter"){const s=t.target;console.log("Search input value (Enter):",s.value)}};this.handleSearchClick=()=>{const t=this.el.querySelector(`#${this.input_id}`);if(t){this.buttonClicked.emit(this.internalValue||this.value)}}}watchValue(t){this.internalValue=t||"";this.hasInputValue=!!this.internalValue}componentWillLoad(){this.internalValue=this.value||"";this.hasInputValue=!!this.internalValue}clearInput(){if(!this.input_id)return;const t=this.el.querySelector(`#${this.input_id}`);if(t){t.value="";this.internalValue="";this.hasInputValue=false;this.onChanged.emit("");t.focus()}}async reset(){this.internalValue="";this.hasInputValue=false;this.onChanged.emit("")}async setValue(t){this.internalValue=t;this.hasInputValue=!!t;this.onChanged.emit(t)}render(){return a(i,{key:"788e32324959a661a2e455b68ad5182596fd5425"},a("div",{key:"14bf0a178e9c6ad063f099e50670469a848b7088",class:`dda-input-container dda-input-size-${this.size} ${this.component_mode} ${this.custom_class} ${this.input_status?`dda-input-${this.input_status}`:""} ${this.has_error?"dda-validation-error":""}`},this.label&&a("label",{key:"98f58b4a01e5f3b2ffefda00588586115852f507",htmlFor:this.button_id,class:"dda-input-label"},this.label),a("div",{key:"43393cf11cd9b1fe151190a92bdb1963a657873f",class:"dda-search-area dda-search-action"},a("i",{key:"e83ea59abe03acb5d871ad6d001b8d1a753dd593",class:"material-icons icon-left","aria-hidden":"true"},"search"),a("input",{key:"a38947bc2567d5fb162705b4b8227d3f508a51a7",name:this.search_input_name,"aria-label":this.aria_label,id:this.input_id,value:this.internalValue,type:"text",class:`dda-input-field dda-search-field ${this.show_button?"has-search-button":""}`,placeholder:this.placeholder,onKeyDown:this.handleKeyDown,onInput:t=>{this.internalValue=t.target.value;this.hasInputValue=!!this.internalValue;this.inputChanged.emit(t);this.onChanged.emit(t)},onBlur:t=>{const s=t.target.value.trim();this.inputBlurred.emit({name:this.search_input_name,value:s});this.onBlurred.emit({name:this.search_input_name,value:s})}}),a("div",{key:"a7b692b4c6ed2b8859ff0eef0069dea881363448",class:"dda-search-btngroup"},this.hasInputValue&&a("button",{key:"d8fb9737df78af6c4196e4dbd05ca9d74107e1d5",name:this.close_button_name,"aria-label":this.button_aria_label,id:this.button_id,type:"button",class:"dda-search-close-icon",onClick:()=>this.clearInput()},a("i",{key:"7c2f8c45df0060c2fa6d6f55bfab9d2dfa5bab28",class:"material-icons material-symbols-outlined","aria-hidden":"true"},"close")),this.show_button&&a("button",{key:"10828f37a7569715fccd9ee69f245841423b0fd5",name:this.search_button_name,type:"button",class:"dda-btn btn-color-default-primary dda-btn-sm",onClick:this.handleSearchClick},this.button_text))),this.helper_text&&a("span",{key:"6c94b4c951409ad20a4e84b339ab81516855ef16",class:"dda-helper-text",id:this.validation_id},this.helper_text),this.error_message&&a("span",{key:"ade9a6a691b2c013b23a8c9186b9d2822b6dd74c",class:"dda-error-message",id:this.validation_id},this.error_message)))}get el(){return e(this)}static get watchers(){return{value:["watchValue"]}}};export{h as dda_search_input};
2
- //# sourceMappingURL=p-e9733963.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["DdaSearchInput","constructor","hostRef","this","placeholder","size","show_button","has_error","custom_class","hasInputValue","internalValue","handleInput","event","target","value","length","handleKeyDown","key","console","log","handleSearchClick","input","el","querySelector","input_id","buttonClicked","emit","watchValue","newValue","componentWillLoad","clearInput","onChanged","focus","reset","setValue","val","render","h","Host","class","component_mode","input_status","label","htmlFor","button_id","name","search_input_name","aria_label","id","type","onKeyDown","onInput","inputChanged","onBlur","trim","inputBlurred","onBlurred","close_button_name","button_aria_label","onClick","search_button_name","button_text","helper_text","validation_id","error_message"],"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() onChanged: EventEmitter<any>;\r\n\r\n @Event() buttonClicked: EventEmitter<any>;\r\n @Event() inputBlurred: EventEmitter<{ name: string; value: string }>;\r\n @Event() onBlurred: EventEmitter<{ name: string; value: string }>;\r\n\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 this.onChanged.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 this.onChanged.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 this.onChanged.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(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.search_input_name, value });\r\n this.onBlurred.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"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["ddaHeaderMenuCss","DdaHeaderMenuStyle0","DdaHeaderMenu","constructor","hostRef","this","useNavigator","quickLinks","openIndex","openSubIndex","handleClickOutside","event","target","el","contains","parsedMenuItems","JSON","parse","_a","console","warn","handleToggle","index","hasSubmenu","item","preventDefault","navigatorClick","emit","url","connectedCallback","document","addEventListener","disconnectedCallback","removeEventListener","handleKeydown","key","renderDefaultSubmenu","children","isOpen","submenuId","headerMenuLabel","h","class","id","map","subIndex","hasSubSubmenu","length","subSubmenuId","isSubOpen","href","headerMenuId","undefined","String","active","onClick","e","defaultSubMenuTitle","subItem","subItemIndex","renderMegaMenu","col","colIndex","title","items","itemIndex","showQuickLinksIcon","quickLinksIcon","description","render","Host","type","DdaInput","input_role","validation_id","required","internalValue","getValue","value","watchValue","newValue","setValue","val","onChanged","reset","componentWillLoad","componentDidLoad","dateInput","querySelector","style","color","inputClass","validation_type","size","input_status","custom_class","component_mode","filter","Boolean","join","label","htmlFor","input_id","name","input_name","role","placeholder","aria_label","onInput","inputChanged","onBlur","trim","inputBlurred","onBlurred","error_message","helper_text","ddaRadiobuttonCss","DdaRadiobuttonStyle0","DdaRadiobutton","checked","handleChange","_e","radioChange","radiobuttonClass","variants","radio_status","group_name","disabled","onChange","title_text","supporting"],"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"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as s,h as e,H as i,g as a}from"./p-1b339a0a.js";const d=class{constructor(e){t(this,e);this.selectChanged=s(this,"selectChanged",7);this.onChanged=s(this,"onChanged",7);this.selectBlurred=s(this,"selectBlurred",7);this.onBlurred=s(this,"onBlurred",7);this.disabled=false;this.validation_id="text";this.custom_class="";this.placeholder="";this.main_aria_label="";this.input_name="";this.is_open=false;this.handleClickOutside=t=>{if(this.is_open&&!this.el.contains(t.target)){this.is_open=false}};this.handleBlur=()=>{this.selectBlurred.emit({name:this.input_name||this.button_id,value:this.selectedText||""});this.onBlurred.emit({name:this.input_name||this.button_id,value:this.selectedText||""})}}get parsedOptions(){try{return JSON.parse(this.options)}catch(t){return[]}}componentWillLoad(){const t=this.parsedOptions.find((t=>t.id.toString()===this.selected||t.text===this.selected));if(t){this.selectedId=t.id;this.selectedText=t.text}if(this.selected){this.watchSelected(this.selected)}}toggleSelect(){if(!this.disabled){this.is_open=!this.is_open}}selectOption(t){if(!this.disabled){this.selectedId=t.id;this.selectedText=t.text;this.is_open=false;this.selectChanged.emit(t);this.onChanged.emit(t)}}connectedCallback(){document.addEventListener("click",this.handleClickOutside)}disconnectedCallback(){document.removeEventListener("click",this.handleClickOutside)}async setSelected(t){const s=this.parsedOptions.find((s=>s.id.toString()===t.toString()||s.text===t));if(s){this.selectedId=s.id;this.selectedText=s.text;this.selected=s.id.toString()}else{this.selectedId=undefined;this.selectedText="";this.selected=""}}async getSelectedText(){return this.selectedText}watchSelected(t){const s=this.parsedOptions.find((s=>s.id.toString()===t||s.text===t));if(s){this.selectedId=s.id;this.selectedText=s.text}else{this.selectedId=undefined;this.selectedText=""}}numberToWord(t){const s=["One","Two","Three","Four","Five"];return s[t-1]||t.toString()}render(){const t=`${this.button_id}-label`;const s=`${this.button_id}-value`;return e(i,{key:"b2ea43f3cc071d70ea0c61d143824d49c7aff023"},e("div",{key:"950000c97017a28e0188deb01243fd13b0963c1b",class:`\n dda-input-container ${this.custom_class} \n ${this.component_mode} \n ${this.disabled?"dda-input-disabled":""} \n dda-input-size-${this.size} dda-validation-${this.validation_type}\n `},this.label&&e("span",{key:"5e6272c8b235646208167480e6149024687d2341",id:t,class:"dda-input-label"},this.label),e("div",{key:"0caa270da5785caec0c2e47769de205f2b085745",class:"dda-dropdown-container"},e("button",{key:"dc0e6b6f5d2d704e0d50c9472a3c82e20f6fbd6b",name:this.toggle_button_name,id:this.button_id,type:"button",class:"dda-input-field dda-select-header","aria-labelledby":`${t} ${this.button_id}`,disabled:this.disabled,onClick:()=>this.toggleSelect(),onBlur:this.handleBlur},e("span",{key:"2f4839cad9b6aa1113054c81416798a8cc30d1bb",id:s,class:"dda-select-button-label"},this.selectedText||this.placeholder),e("i",{key:"50c1eafec7ab95152088b07889dde1ba29aef178",class:"material-icons","aria-hidden":"true"},this.is_open?"keyboard_arrow_up":"keyboard_arrow_down")),this.is_open&&e("div",{key:"aca0e036afea36b25ab22e1e4440d25cebd2c41a",class:"dda-input-dropdown-list dda-select-list"},this.parsedOptions.length>0?this.parsedOptions.map(((t,s)=>e("button",{name:`option${this.numberToWord(s+1)}`,type:"button",class:`dda-input-dropdown-item ${this.selectedId===t.id?"selected":""}`,role:"option","aria-selected":this.selectedId===t.id?"true":"false",onClick:()=>this.selectOption(t)},t.text))):e("div",{class:"dda-input-dropdown-item"},"No options available"))),this.validation_type==="error"&&this.error_message?e("span",{class:"dda-error-message",id:this.validation_id,role:"alert"},this.error_message):this.helper_text&&e("span",{class:"dda-helper-text",id:this.validation_id},this.helper_text)))}get el(){return a(this)}static get watchers(){return{selected:["watchSelected"]}}};export{d as dda_select};
2
- //# sourceMappingURL=p-72e59001.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Ddaselect","constructor","hostRef","this","disabled","validation_id","custom_class","placeholder","main_aria_label","input_name","is_open","handleClickOutside","event","el","contains","target","handleBlur","selectBlurred","emit","name","button_id","value","selectedText","onBlurred","parsedOptions","JSON","parse","options","_a","componentWillLoad","selectedOption","find","opt","id","toString","selected","text","selectedId","watchSelected","toggleSelect","selectOption","option","selectChanged","onChanged","connectedCallback","document","addEventListener","disconnectedCallback","removeEventListener","setSelected","undefined","getSelectedText","newVal","numberToWord","num","words","render","labelId","valueId","h","Host","key","class","component_mode","size","validation_type","label","toggle_button_name","type","onClick","onBlur","length","map","index","role","error_message","helper_text"],"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() onChanged: EventEmitter<{ id: number; text: string }>;\r\n\r\n @Event() selectBlurred: EventEmitter<{ name: string; value: string }>;\r\n @Event() onBlurred: EventEmitter<{ name: string; value: string }>;\r\n\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 this.onChanged.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 this.onBlurred.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"],"mappings":"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","ignoreList":[]}