@dubai-design-system/components-js 3.12.4 → 3.12.6

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 (152) hide show
  1. package/dist/cjs/dda-attach-file.cjs.entry.js +5 -2
  2. package/dist/cjs/dda-attach-file.cjs.entry.js.map +1 -1
  3. package/dist/cjs/dda-header.cjs.entry.js +8 -5
  4. package/dist/cjs/dda-header.cjs.entry.js.map +1 -1
  5. package/dist/cjs/dda-horizontal-stepper.cjs.entry.js +1 -1
  6. package/dist/cjs/dda-segmented-tabs.cjs.entry.js +1 -1
  7. package/dist/cjs/dda-select.cjs.entry.js +9 -2
  8. package/dist/cjs/dda-select.cjs.entry.js.map +1 -1
  9. package/dist/cjs/dda-split-button.cjs.entry.js +104 -0
  10. package/dist/cjs/dda-split-button.cjs.entry.js.map +1 -0
  11. package/dist/cjs/dda-sticky-footer.cjs.entry.js +1 -1
  12. package/dist/cjs/dda-tabs.cjs.entry.js +1 -1
  13. package/dist/cjs/dda-textarea.cjs.entry.js +1 -1
  14. package/dist/cjs/dda-toggle.cjs.entry.js +2 -2
  15. package/dist/cjs/dda-tooltip.cjs.entry.js +1 -1
  16. package/dist/cjs/dda-vertical-stepper.cjs.entry.js +1 -1
  17. package/dist/cjs/dda.cjs.js +1 -1
  18. package/dist/cjs/loader.cjs.js +1 -1
  19. package/dist/collection/collection-manifest.json +1 -0
  20. package/dist/collection/components/dda-attach-file/dda-attach-file.js +24 -2
  21. package/dist/collection/components/dda-attach-file/dda-attach-file.js.map +1 -1
  22. package/dist/collection/components/dda-attach-file/dda-attach-file.stories.js +3 -0
  23. package/dist/collection/components/dda-attach-file/dda-attach-file.stories.js.map +1 -1
  24. package/dist/collection/components/dda-header/dda-header.js +8 -5
  25. package/dist/collection/components/dda-header/dda-header.js.map +1 -1
  26. package/dist/collection/components/dda-header/dda-header.stories.js +7 -0
  27. package/dist/collection/components/dda-header/dda-header.stories.js.map +1 -1
  28. package/dist/collection/components/dda-select/dda-select.js +12 -2
  29. package/dist/collection/components/dda-select/dda-select.js.map +1 -1
  30. package/dist/collection/components/dda-select/dda-select.stories.js +4 -3
  31. package/dist/collection/components/dda-select/dda-select.stories.js.map +1 -1
  32. package/dist/collection/components/dda-split-button/dda-split-button.js +442 -0
  33. package/dist/collection/components/dda-split-button/dda-split-button.js.map +1 -0
  34. package/dist/collection/components/dda-split-button/dda-split-button.stories.js +144 -0
  35. package/dist/collection/components/dda-split-button/dda-split-button.stories.js.map +1 -0
  36. package/dist/collection/components/dda-sticky-footer/dda-sticky-footer.js +1 -1
  37. package/dist/collection/components/dda-tabs/dda-tabs.js +1 -1
  38. package/dist/collection/components/dda-textarea/dda-textarea.js +1 -1
  39. package/dist/collection/components/dda-toggle/dda-toggle.js +2 -2
  40. package/dist/collection/components/dda-tooltip/dda-tooltip.js +1 -1
  41. package/dist/collection/components/segmented-groups/dda-segmented-tabs/dda-segmented-tabs.js +1 -1
  42. package/dist/collection/components/stepper/dda-horizontal-stepper/dda-horizontal-stepper.js +1 -1
  43. package/dist/collection/components/stepper/dda-vertical-stepper/dda-vertical-stepper.js +1 -1
  44. package/dist/collection/global/global.css +2988 -0
  45. package/dist/collection/global/input.css +674 -0
  46. package/dist/components/dda-attach-file.js +6 -2
  47. package/dist/components/dda-attach-file.js.map +1 -1
  48. package/dist/components/dda-header.js +9 -6
  49. package/dist/components/dda-header.js.map +1 -1
  50. package/dist/components/dda-horizontal-stepper.js +1 -1
  51. package/dist/components/dda-segmented-tabs.js +1 -1
  52. package/dist/components/dda-select.js +9 -2
  53. package/dist/components/dda-select.js.map +1 -1
  54. package/dist/components/dda-split-button.d.ts +11 -0
  55. package/dist/components/dda-split-button.js +136 -0
  56. package/dist/components/dda-split-button.js.map +1 -0
  57. package/dist/components/dda-sticky-footer.js +2 -2
  58. package/dist/components/dda-tabs.js +1 -1
  59. package/dist/components/dda-textarea.js +1 -1
  60. package/dist/components/dda-toggle.js +2 -2
  61. package/dist/components/dda-tooltip.js +1 -1
  62. package/dist/components/dda-vertical-stepper.js +1 -1
  63. package/dist/components/{p-e5df7bea.js → p-ba13ee0a.js} +2 -2
  64. package/dist/components/{p-e5df7bea.js.map → p-ba13ee0a.js.map} +1 -1
  65. package/dist/dda/dda.css +1 -1
  66. package/dist/dda/dda.esm.js +1 -1
  67. package/dist/dda/dda.esm.js.map +1 -1
  68. package/dist/dda/{p-e5783b18.entry.js → p-207203ae.entry.js} +2 -2
  69. package/dist/dda/p-3d1bd318.entry.js +2 -0
  70. package/dist/dda/p-3d1bd318.entry.js.map +1 -0
  71. package/dist/dda/{p-6907700e.entry.js → p-3fef96a8.entry.js} +2 -2
  72. package/dist/dda/{p-bdaee99c.entry.js → p-5bf0d4fe.entry.js} +2 -2
  73. package/dist/dda/{p-448d72f4.entry.js → p-5c5aeda7.entry.js} +2 -2
  74. package/dist/dda/p-5c5aeda7.entry.js.map +1 -0
  75. package/dist/dda/{p-3e36c414.entry.js → p-5d47716e.entry.js} +2 -2
  76. package/dist/dda/{p-a42f8db6.entry.js → p-60d855a6.entry.js} +2 -2
  77. package/dist/dda/{p-90c3c3b3.entry.js → p-6fd79768.entry.js} +2 -2
  78. package/{www/build/p-1cf47f82.entry.js → dist/dda/p-9636f669.entry.js} +2 -2
  79. package/dist/dda/{p-cd518bfb.entry.js → p-9c090bc6.entry.js} +2 -2
  80. package/dist/dda/p-9c090bc6.entry.js.map +1 -0
  81. package/dist/dda/{p-f60d6c1f.entry.js → p-b48e061c.entry.js} +2 -2
  82. package/dist/dda/p-dca57f55.entry.js +2 -0
  83. package/dist/dda/p-dca57f55.entry.js.map +1 -0
  84. package/dist/esm/dda-attach-file.entry.js +5 -2
  85. package/dist/esm/dda-attach-file.entry.js.map +1 -1
  86. package/dist/esm/dda-header.entry.js +8 -5
  87. package/dist/esm/dda-header.entry.js.map +1 -1
  88. package/dist/esm/dda-horizontal-stepper.entry.js +1 -1
  89. package/dist/esm/dda-segmented-tabs.entry.js +1 -1
  90. package/dist/esm/dda-select.entry.js +9 -2
  91. package/dist/esm/dda-select.entry.js.map +1 -1
  92. package/dist/esm/dda-split-button.entry.js +100 -0
  93. package/dist/esm/dda-split-button.entry.js.map +1 -0
  94. package/dist/esm/dda-sticky-footer.entry.js +1 -1
  95. package/dist/esm/dda-tabs.entry.js +1 -1
  96. package/dist/esm/dda-textarea.entry.js +1 -1
  97. package/dist/esm/dda-toggle.entry.js +2 -2
  98. package/dist/esm/dda-tooltip.entry.js +1 -1
  99. package/dist/esm/dda-vertical-stepper.entry.js +1 -1
  100. package/dist/esm/dda.js +1 -1
  101. package/dist/esm/loader.js +1 -1
  102. package/dist/types/components/dda-attach-file/dda-attach-file.d.ts +1 -0
  103. package/dist/types/components/dda-attach-file/dda-attach-file.stories.d.ts +4 -0
  104. package/dist/types/components/dda-split-button/dda-split-button.d.ts +36 -0
  105. package/dist/types/components/dda-split-button/dda-split-button.stories.d.ts +79 -0
  106. package/dist/types/components.d.ts +63 -0
  107. package/package.json +2 -2
  108. package/readme.md +11 -0
  109. package/www/build/dda.css +1 -1
  110. package/www/build/dda.esm.js +1 -1
  111. package/www/build/dda.esm.js.map +1 -1
  112. package/www/build/{p-e5783b18.entry.js → p-207203ae.entry.js} +2 -2
  113. package/www/build/p-3d1bd318.entry.js +2 -0
  114. package/www/build/p-3d1bd318.entry.js.map +1 -0
  115. package/www/build/{p-6907700e.entry.js → p-3fef96a8.entry.js} +2 -2
  116. package/www/build/{p-44246d95.css → p-46ac0422.css} +1 -1
  117. package/www/build/{p-bdaee99c.entry.js → p-5bf0d4fe.entry.js} +2 -2
  118. package/www/build/{p-448d72f4.entry.js → p-5c5aeda7.entry.js} +2 -2
  119. package/www/build/p-5c5aeda7.entry.js.map +1 -0
  120. package/www/build/{p-3e36c414.entry.js → p-5d47716e.entry.js} +2 -2
  121. package/www/build/{p-a42f8db6.entry.js → p-60d855a6.entry.js} +2 -2
  122. package/www/build/{p-90c3c3b3.entry.js → p-6fd79768.entry.js} +2 -2
  123. package/{dist/dda/p-1cf47f82.entry.js → www/build/p-9636f669.entry.js} +2 -2
  124. package/www/build/{p-cd518bfb.entry.js → p-9c090bc6.entry.js} +2 -2
  125. package/www/build/p-9c090bc6.entry.js.map +1 -0
  126. package/www/build/{p-f60d6c1f.entry.js → p-b48e061c.entry.js} +2 -2
  127. package/www/build/p-dca57f55.entry.js +2 -0
  128. package/www/build/p-dca57f55.entry.js.map +1 -0
  129. package/dist/dda/p-210d62fb.entry.js +0 -2
  130. package/dist/dda/p-210d62fb.entry.js.map +0 -1
  131. package/dist/dda/p-448d72f4.entry.js.map +0 -1
  132. package/dist/dda/p-cd518bfb.entry.js.map +0 -1
  133. package/www/build/p-210d62fb.entry.js +0 -2
  134. package/www/build/p-210d62fb.entry.js.map +0 -1
  135. package/www/build/p-448d72f4.entry.js.map +0 -1
  136. package/www/build/p-cd518bfb.entry.js.map +0 -1
  137. /package/dist/dda/{p-e5783b18.entry.js.map → p-207203ae.entry.js.map} +0 -0
  138. /package/dist/dda/{p-6907700e.entry.js.map → p-3fef96a8.entry.js.map} +0 -0
  139. /package/dist/dda/{p-bdaee99c.entry.js.map → p-5bf0d4fe.entry.js.map} +0 -0
  140. /package/dist/dda/{p-3e36c414.entry.js.map → p-5d47716e.entry.js.map} +0 -0
  141. /package/dist/dda/{p-a42f8db6.entry.js.map → p-60d855a6.entry.js.map} +0 -0
  142. /package/dist/dda/{p-90c3c3b3.entry.js.map → p-6fd79768.entry.js.map} +0 -0
  143. /package/dist/dda/{p-1cf47f82.entry.js.map → p-9636f669.entry.js.map} +0 -0
  144. /package/dist/dda/{p-f60d6c1f.entry.js.map → p-b48e061c.entry.js.map} +0 -0
  145. /package/www/build/{p-e5783b18.entry.js.map → p-207203ae.entry.js.map} +0 -0
  146. /package/www/build/{p-6907700e.entry.js.map → p-3fef96a8.entry.js.map} +0 -0
  147. /package/www/build/{p-bdaee99c.entry.js.map → p-5bf0d4fe.entry.js.map} +0 -0
  148. /package/www/build/{p-3e36c414.entry.js.map → p-5d47716e.entry.js.map} +0 -0
  149. /package/www/build/{p-a42f8db6.entry.js.map → p-60d855a6.entry.js.map} +0 -0
  150. /package/www/build/{p-90c3c3b3.entry.js.map → p-6fd79768.entry.js.map} +0 -0
  151. /package/www/build/{p-1cf47f82.entry.js.map → p-9636f669.entry.js.map} +0 -0
  152. /package/www/build/{p-f60d6c1f.entry.js.map → p-b48e061c.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["ddaHeaderMainCss","DdaHeaderStyle0","DdaHeader","constructor","hostRef","this","firstLogoHref","secondLogoHref","header_default_submenu","loginText","isMenuOpen","isSubMenuOpen","isSideSubMenuOpen","isAccessibiltyOpen","isMobileAccessibiltyOpen","openMenus","usePredesignedAccessibilityMenu","useNavigator","mobileMenuSearchId","mobileMenuSearchUrl","selected_contrast","hideOtherMenu","parsedOtherMenuItems","parsedDropDownMenuItems","showQuickLinksIcon","useLoginPopup","loginPopupLinks","isDesktopLoginPopupOpen","isMobileLoginPopupOpen","lastScrollTop","toggleEscapeKey","event","key","handleOutsideClick","isClickInsideMenu","target","closest","toggleSidebarSubMenu","document","querySelectorAll","forEach","menu","classList","remove","anchor","handleOutsideAccessibilityClick","accessibilityMenu","querySelector","isClickInsideDesktopMenu","contains","isClickOnToggleButton","handleOutsideLoginPopupClick","loginPopup","handleScroll","scrollTop","window","scrollY","menuContainer","logoContainer","style","display","add","toggleMenu","body","overflow","toggleAccessibilty","accessibilitymenuhandler","toggleMobileAccessibilty","MobileAccessibilitymenuhandler","languagehandler","languageSwitch","emit","smTexthandler","selected_text_size","smTextSize","baseTexthandler","baseTextSize","lgTexthandler","lgTextSize","normalContrasthandler","normalContrast","blindContrasthandler","blindContrast","redContrasthandler","redContrast","greenContrasthandler","greenContrast","accessibilitymenufunctionality","searchhandler","searchval","searchfunctionality","toggleLogin","loginClick","innerWidth","renderSubMenu","subMenu","parentLi","length","h","class","headerLabel","map","item","index","currentIndex","href","subLinkClass","onClick","e","handleMenuClick","label","renderLoginPopup","parsedLoginPopupItems","url","navigatorClick","popupItemLabel","componentWillLoad","parseOtherMenuItems","otherMenuItems","newValue","JSON","parse","err","console","warn","componentWillLoadS","parseDropDownMenuItems","_a","isCurrentlyOpen","newOpenMenus","parts","split","parentPath","i","startsWith","componentDidLoad","addEventListener","disconnectedCallback","removeEventListener","parseJsonArray","jsonString","error","preventDefault","currentTarget","siblingAnchors","el","log","render","sideMenuItems","src","firstLogoWhiteSrc","alt","firstLogoAlt","firstLogoSrc","secondLogoWhiteSrc","secondLogoAlt","secondLogoSrc","title_text","hamburger_menu_button_name","position","type","name","insetInlineStart","sideMainMenuTitle","id","active","filter","Boolean","join","current","allAnchors","sideOtherMenuTitle","itemlist","accessibility_button_id","toggle_accessibility_button_name","accessibility_button_icon_family","accessibility_button_icon_name","accessibility_button_text","language_text","language_button_name","button_color","start_icon","loginIcon","custom_class","link_button_text","loginLink","button_shape","size","close_menu_button_name","contrast_title","contrast_description","contrast_noraml_text","checked","variants","supporting","error_message","validation_id","group_name","input_id","component_mode","aria_label","validation_type","onChange","contrast_color_blind_text","contrast_red_weakness_text","contrast_green_weakness_text","screen_reader_title","screen_reader_description","rel","read_speaker_link","role","accessKey","text_size_title","text_size_description","button_text","icon_button_shape","close_accessibility_button_name","quickLinks","stringify","searchText","search_input_name","search_tooltip","description","placeholder","search_input_placeholder","value","search_value","input_name","input_role","input_status","onKeyPress","accessibility_tooltip","language_tooltip","login_tooltip"],"sources":["src/components/dda-header/dda-header-main.css?tag=dda-header","src/components/dda-header/dda-header.tsx"],"sourcesContent":[".dda-header {\r\n width: 100%;\r\n height: auto;\r\n background: var(--dda-surface-100);\r\n /* transition: all 300ms ease-in-out; */\r\n box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.13);\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n z-index: 999;\r\n}\r\n\r\nbody.transparent .dda-header {\r\n background: transparent;\r\n box-shadow: none;\r\n}\r\n\r\n.dda-header.white {\r\n background: var(--dda-surface-100) !important;\r\n}\r\n\r\n.dda-header .dda-container-fluid {\r\n position: relative;\r\n}\r\n\r\nbody.transparent .dda-header.white {\r\n box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.13);\r\n}\r\n\r\nbody.transparent .dda-header::before {\r\n content: \"\";\r\n width: 100%;\r\n height: 250px;\r\n background: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 63.02%, rgba(0, 0, 0, 0) 100%);\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n}\r\n\r\n.dda-header.white::before {\r\n display: none !important;\r\n}\r\n\r\n.dda-head-logo {\r\n width: 90vw;\r\n margin: 0 auto;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding: 10px 20px;\r\n position: relative;\r\n direction: ltr !important;\r\n}\r\n\r\n.govt-logo img {\r\n height: 72px;\r\n}\r\n\r\n.entt-logo img {\r\n height: 54px;\r\n}\r\n\r\nbody.transparent .logo-colored {\r\n display: none;\r\n}\r\n\r\n.logo-white {\r\n display: none;\r\n}\r\n\r\nbody.transparent .logo-white {\r\n display: block;\r\n}\r\n\r\n\r\n.dda-header.white .dda-head-logo .logo-colored,\r\n:root[data-theme='dark'] .dda-head-logo .logo-white {\r\n display: block;\r\n}\r\n\r\n.dda-header.white .dda-head-logo .logo-white,\r\n:root[data-theme='dark'] .dda-head-logo .logo-colored {\r\n display: none;\r\n}\r\n\r\n:root[data-theme='dark'] .dda-header.white .dda-head-logo .logo-white {\r\n display: block;\r\n}\r\n\r\n.dda-menu-container {\r\n width: 90vw;\r\n margin: 0 auto;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding: 0 20px;\r\n position: relative;\r\n}\r\n\r\n.dda-main-navigation {\r\n display: flex;\r\n align-items: center;\r\n gap: 10px;\r\n}\r\n\r\n.dda-menu-overley {\r\n width: 100%;\r\n height: 100vh;\r\n background: #0000007e;\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n z-index: 1;\r\n display: none;\r\n}\r\n\r\n.dda-menu-overley.show-overley {\r\n display: block;\r\n}\r\n\r\n.hamburger-menu {\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.hamburger-menu>dda-tooltip {\r\n height: 22px;\r\n}\r\n\r\n.hamburger-menu-btn {\r\n width: 27px;\r\n height: 22px;\r\n padding: 0;\r\n background-color: transparent;\r\n border: transparent;\r\n position: relative;\r\n}\r\n\r\n.hamburger-menu-btn::before,\r\n.hamburger-menu-btn::after {\r\n content: \"\";\r\n}\r\n\r\n.hamburger-menu-btn::before,\r\n.hamburger-menu-btn::after,\r\n.hamburger-line {\r\n content: \"\";\r\n width: 21px;\r\n height: 2px;\r\n border-radius: 4px;\r\n background-color: var(--dda-on-surface-30);\r\n position: absolute;\r\n left: 3px;\r\n}\r\n\r\n.hamburger-menu-btn::before {\r\n top: 4px;\r\n}\r\n\r\n.hamburger-menu-btn::after {\r\n bottom: 4px;\r\n}\r\n\r\n.hamburger-line {\r\n top: 10px;\r\n}\r\n\r\n.hamburger-menu-btn:hover::before,\r\n.hamburger-menu-btn:hover::after,\r\n.hamburger-menu-btn:hover .hamburger-line {\r\n background-color: var(--dda-color-primary-40);\r\n}\r\n\r\nbody.transparent .hamburger-menu-btn::before,\r\nbody.transparent .hamburger-menu-btn::after,\r\nbody.transparent .hamburger-line {\r\n background-color: var(--dda-neutral-100) !important;\r\n}\r\n\r\n\r\n.hamburger-menu-btn.close-menu .hamburger-line {\r\n display: none;\r\n}\r\n\r\n.hamburger-menu-btn.close-menu::before {\r\n transform: rotate(45deg);\r\n top: 10px;\r\n}\r\n\r\n.hamburger-menu-btn.close-menu::after {\r\n transform: rotate(-45deg);\r\n bottom: 10px;\r\n}\r\n\r\n.hamburger-menu-text {\r\n width: 0;\r\n height: 0;\r\n opacity: 0;\r\n position: absolute;\r\n}\r\n\r\n.close-btn {\r\n position: absolute;\r\n inset-block-start: 1.5rem;\r\n inset-inline-end: 1.5rem;\r\n background: none;\r\n border: 0;\r\n font-size: 1.5em;\r\n z-index: 10;\r\n color: #999999;\r\n}\r\n\r\n\r\n\r\n.dda-header-megamenu {\r\n width: 100%;\r\n padding: 0 15px;\r\n position: fixed;\r\n top: 175px;\r\n left: 0;\r\n}\r\n\r\n.dda-header-submenu-item {\r\n min-height: 350px;\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-header-submenu-item .dda-header-submenu-title {\r\n font-size: var(--font-h6);\r\n font-weight: var(--font-weight-regular);\r\n color: var(--dda-on-surface-0);\r\n text-transform: uppercase;\r\n padding-inline-start: 69px;\r\n margin-bottom: 10px;\r\n}\r\n\r\n.dda-header-submenu-item ul {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 8px;\r\n list-style: none;\r\n}\r\n\r\n/*******************/\r\n.dda-toolbar-menu,\r\n.dda-toolbar-menu-sidemenu {\r\n padding: 0;\r\n}\r\n\r\n.dda-toolbar-menu ul,\r\n.dda-toolbar-menu-sidemenu ul {\r\n display: flex;\r\n gap: 10px;\r\n justify-content: center;\r\n margin: 0px;\r\n}\r\n\r\n.dda-toolbar-menu ul li .tool-btn,\r\n.dda-toolbar-menu-sidemenu ul li .tool-btn {\r\n height: 40px;\r\n min-width: 40px;\r\n background-color: var(--dda-surface-96);\r\n font-size: var(--font-body);\r\n color: var(--dda-on-surface-10);\r\n font-weight: var(--font-weight-regular);\r\n border: 0px;\r\n padding: 11px;\r\n border-radius: 50px;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: 10px;\r\n}\r\n\r\n.dda-toolbar-menu ul li .tool-btn:focus-visible,\r\n.dda-toolbar-menu-sidemenu ul li .tool-btn:focus-visible {\r\n outline: solid 1px var(--dda-on-primary-variant-40) !important;\r\n outline-offset: -1px;\r\n}\r\n\r\n.dda-toolbar-menu ul li .tool-btn img,\r\n.dda-toolbar-menu-sidemenu ul li .tool-btn img {\r\n height: 17px;\r\n width: 17px;\r\n}\r\n\r\n\r\n.da-header-search {\r\n display: none;\r\n}\r\n\r\n\r\n.dda-toolbar-menu ul li .tool-btn i,\r\n.dda-toolbar-menu ul li .tool-btn svg,\r\n.dda-toolbar-menu-sidemenu ul li .tool-btn i,\r\n.dda-toolbar-menu-sidemenu ul li .tool-btn svg {\r\n font-size: 20px;\r\n color: var(--dda-on-surface-variant-30);\r\n}\r\n\r\n@media only screen and (min-width: 768px) {\r\n\r\n body.transparent .dda-toolbar-menu ul li .tool-btn,\r\n body.transparent .dda-toolbar-menu-sidemenu ul li .tool-btn {\r\n background-color: rgb(41 42 45 / 14%);\r\n color: var(--dda-neutral-100);\r\n }\r\n\r\n body.transparent .dda-toolbar-menu ul li .tool-btn i,\r\n body.transparent .dda-toolbar-menu ul li .tool-btn svg,\r\n body.transparent .dda-toolbar-menu-sidemenu ul li .tool-btn i,\r\n body.transparent .dda-toolbar-menu-sidemenu ul li .tool-btn svg {\r\n color: var(--dda-neutral-100);\r\n }\r\n}\r\n\r\n\r\n.dda-search {\r\n position: relative;\r\n}\r\n.dda-search i,\r\n.dda-search svg {\r\n font-size: 21px;\r\n color: var(--dda-on-surface-variant-30);\r\n position: absolute;\r\n top: 9px;\r\n inset-inline-start: 10px;\r\n z-index: 1;\r\n}\r\n\r\n.dda-header-search-input {\r\n padding: 0px !important;\r\n}\r\n\r\n.dda-search input[type=\"text\"] {\r\n width: 110px;\r\n height: 40px;\r\n background-color: transparent;\r\n border: 0px;\r\n font-family: var(--font-family-main);\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 border-radius: 100px;\r\n padding-inline-start: 40px !important;\r\n padding-inline-end: 10px;\r\n /* transition: all 250ms ease; */\r\n}\r\n\r\n.dda-search input[type=\"text\"]:focus {\r\n width: 250px;\r\n /* outline: 0; */\r\n}\r\n\r\n.dda-search input[type=\"text\"]::-ms-input-placeholder {\r\n color: var(--dda-on-surface-0);\r\n}\r\n\r\n.dda-search input[type=\"text\"]::placeholder {\r\n color: var(--dda-on-surface-0);\r\n}\r\n\r\nbody.transparent .dda-header .dda-search input[type=\"text\"] {\r\n color: var(--dda-surface-100);\r\n}\r\n\r\nbody.transparent .dda-search input[type=\"text\"]::-ms-input-placeholder {\r\n color: var(--dda-neutral-100);\r\n}\r\n\r\nbody.transparent .dda-search input[type=\"text\"]::placeholder {\r\n color: var(--dda-neutral-100);\r\n}\r\n\r\nbody.transparent .dda-search i {\r\n color: var(--dda-neutral-100);\r\n}\r\n\r\n.dda-sidemenu {\r\n display: none;\r\n width: 375px;\r\n background: var(--dda-surface-100);\r\n box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.12);\r\n position: fixed;\r\n top: 0px;\r\n inset-inline-start: -375px;\r\n bottom: 0px;\r\n z-index: 9;\r\n /* transition: left 0.5s ease; */\r\n}\r\n\r\n.dda-sidemenu-content {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 15px;\r\n padding: 32px;\r\n overflow-y: auto;\r\n height: 100%;\r\n}\r\n\r\n.dda-sidemenu-content::-webkit-scrollbar {\r\n width: 6px;\r\n}\r\n\r\n.dda-sidemenu-content::-webkit-scrollbar-track {\r\n background: var(--dda-surface-variant-90);\r\n}\r\n\r\n.dda-sidemenu-content::-webkit-scrollbar-thumb {\r\n background: var(--dda-surface-variant-80);\r\n}\r\n\r\n.dda-sidemenu-content::-webkit-scrollbar-thumb:hover {\r\n background: var(--dda-color-primary-40);\r\n}\r\n\r\n.dda-side-nav-title {\r\n font-size: var(--font-h6);\r\n font-weight: var(--font-weight-regular);\r\n text-transform: uppercase;\r\n color: var(--dda-on-surface-0);\r\n}\r\n\r\nul.main_side_menu {\r\n margin: 0;\r\n margin-bottom: 30px !important;\r\n padding: 0px;\r\n}\r\n\r\nul.main_side_menu li {\r\n list-style: none;\r\n padding: 0;\r\n}\r\n\r\nul.main_side_menu li a {\r\n display: flex;\r\n justify-content: space-between;\r\n padding-top: 13px;\r\n padding-bottom: 14px;\r\n text-decoration: none;\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 border-bottom: 1px solid var(--dda-surface-90);\r\n width: 100%;\r\n cursor: pointer;\r\n position: relative;\r\n}\r\n\r\n.main_sub_menu>ol>li:last-child>a {\r\n border-bottom: 0;\r\n}\r\n\r\nul.main_side_menu li a.showSub::after,\r\nul.main_side_menu li a.showSubSub::after {\r\n content: \"\";\r\n width: 9px;\r\n height: 9px;\r\n border-right: solid 2px var(--dda-color-primary-40);\r\n border-bottom: solid 2px var(--dda-color-primary-40);\r\n position: absolute;\r\n top: 50%;\r\n inset-inline-end: 3px;\r\n margin-top: -4.5px;\r\n transform: rotate(-45deg);\r\n /* transition: all 250ms ease; */\r\n}\r\n\r\nul.main_side_menu li a i {\r\n display: block;\r\n}\r\n\r\n:root[dir='rtl'] ul.main_side_menu li a i {\r\n transform: rotate(180deg);\r\n}\r\n\r\n:root[dir='rtl'] ul.main_side_menu li a.showSub::after,\r\n:root[dir='rtl'] ul.main_side_menu li a.showSubSub::after {\r\n transform: rotate(135deg);\r\n}\r\n\r\n:root[dir='rtl'] .material-icons {\r\n direction: rtl;\r\n}\r\n\r\n\r\nul.main_side_menu li a:hover,\r\nul.main_side_menu li a.active,\r\nul.main_side_menu li a.icon_arrow {\r\n color: var(--dda-color-primary-40);\r\n border-bottom: solid 2px var(--dda-color-primary-40);\r\n padding-bottom: 13px;\r\n}\r\n\r\nul.main_side_menu li a.showSub.icon_arrow::after,\r\nul.main_side_menu li a.showSubSub.icon_arrow::after {\r\n\r\n border-right: solid 2px var(--dda-color-primary-40);\r\n border-bottom: solid 2px var(--dda-color-primary-40);\r\n\r\n}\r\n\r\nul.main_side_menu li .main_sub_menu {\r\n display: none;\r\n position: fixed;\r\n margin-top: -50px;\r\n inset-inline-start: 380px;\r\n width: 350px;\r\n background: var(--dda-surface-100);\r\n padding: 25px 20px 15px 20px;\r\n border-radius: 10px;\r\n box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.12);\r\n}\r\n\r\nul.main_side_menu li .main_sub_menu.showSubMenu {\r\n display: block;\r\n}\r\n\r\n.main_sub_menu ol {\r\n padding: 0px;\r\n}\r\n\r\nul.main_side_menu .main_sub_menu {\r\n padding: 25px 10px 15px 20px;\r\n}\r\n\r\n.main_sub_menu>ol {\r\n max-height: 380px;\r\n overflow: auto;\r\n padding: 2px 2px 10px 2px;\r\n}\r\n\r\n.dda-side-nav__title {\r\n font-size: var(--font-h6);\r\n color: var(--font-h6);\r\n font-weight: var(--font-weight-regular);\r\n text-transform: uppercase;\r\n margin-bottom: 10px;\r\n}\r\n\r\n.main_sub_menu>ol::-webkit-scrollbar {\r\n width: 3px;\r\n}\r\n\r\n.main_sub_menu>ol::-webkit-scrollbar-track {\r\n background: #fafafa;\r\n}\r\n\r\n.main_sub_menu>ol::-webkit-scrollbar-thumb {\r\n background: var(--dda-neutral-variant-92);\r\n}\r\n\r\n.main_sub_menu>ol::-webkit-scrollbar-thumb:hover {\r\n background: var(--dda-neutral-variant-92);\r\n}\r\n\r\n.main_sub_menu li {\r\n position: relative;\r\n}\r\n\r\nul.main_side_menu .main_sub_menu .main_sub_menu {\r\n inset-inline-start: 735px;\r\n}\r\n\r\nul.main_side_menu .main_sub_menu .main_sub_menu .main_sub_menu {\r\n inset-inline-start: 1090px;\r\n}\r\n\r\n.side-nav-close-btn {\r\n top: 1.5rem;\r\n inset-inline-end: 1.5rem;\r\n}\r\n\r\n.dda-sidemenu-bottom {\r\n width: 100%;\r\n position: fixed;\r\n inset-inline-start: 0;\r\n bottom: 0;\r\n display: none;\r\n}\r\n\r\n.dda-sidemenu-gov-logo {\r\n display: flex;\r\n justify-content: center;\r\n}\r\n\r\n.dda-sidemenu-gov-logo a {\r\n display: inline-block;\r\n}\r\n\r\n.dda-sidemenu-gov-logo img {\r\n height: 44px;\r\n}\r\n\r\n/*Accessibility*/\r\n.dda-accessibility-wrap {\r\n width: 100%;\r\n padding: 0 10px;\r\n position: fixed;\r\n top: 185px;\r\n left: 0;\r\n}\r\n\r\n.dda-accessibility {\r\n max-width: 880px;\r\n margin: 0 auto;\r\n background: var(--dda-surface-100);\r\n padding: 20px;\r\n border-radius: 8px;\r\n box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.12);\r\n position: relative;\r\n display: none;\r\n /* transition: left 0.5s ease; */\r\n}\r\n\r\n.mobile-accessibility {\r\n padding-top: 35px;\r\n position: absolute;\r\n top: 0px;\r\n z-index: 10;\r\n height: 100%;\r\n}\r\n\r\n.mobile-accessibility-content {\r\n display: block;\r\n padding: 0 14px;\r\n height: 100%;\r\n overflow-y: auto;\r\n}\r\n\r\n.mobile-accessibility-content::-webkit-scrollbar {\r\n width: 6px;\r\n}\r\n\r\n.mobile-accessibility-content::-webkit-scrollbar-track {\r\n background: var(--dda-surface-variant-90);\r\n}\r\n\r\n.mobile-accessibility-content::-webkit-scrollbar-thumb {\r\n background: var(--dda-surface-variant-80);\r\n}\r\n\r\n.mobile-accessibility-content::-webkit-scrollbar-thumb:hover {\r\n background: var(--dda-color-primary-40);\r\n}\r\n\r\n.dda-accessibility-item {\r\n border-inline-start: solid 1px #E5E5E5;\r\n}\r\n\r\n.dda-accessibility .dda-row .dda-accessibility-item:first-child {\r\n border: 0px;\r\n}\r\n\r\n.dda-theme-list {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 8px;\r\n border: 0px;\r\n}\r\n\r\n.close_accessibility {\r\n top: 5px;\r\n inset-inline-end: 5px;\r\n}\r\n\r\n.dda-login-popup.desktop,\r\n.dda-login-popup.mobile {\r\n display: none;\r\n}\r\n\r\n.dda-login-popup {\r\n background-color: var(--dda-surface-100);\r\n box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),\r\n 0 4px 6px -4px rgba(0, 0, 0, 0.1);\r\n border: 1px solid var(--dda-surface-variant-90);\r\n border-radius: 0.5rem;\r\n padding: 0.75rem;\r\n z-index: 50;\r\n height: fit-content;\r\n min-width: 110px;\r\n}\r\n\r\n.dda-login-popup.desktop {\r\n position: fixed;\r\n top: 170px;\r\n bottom: auto;\r\n inset-inline-end: 5.5rem;\r\n}\r\n\r\n.dda-login-popup.mobile {\r\n position: fixed;\r\n bottom: 2.5rem;\r\n inset-inline-end: 6rem;\r\n}\r\n\r\n.dda-login-popup ul> :not(:last-child) {\r\n border-bottom: 1px solid var(--dda-surface-variant-90);\r\n}\r\n\r\n.dda-login-popup a {\r\n text-align: start;\r\n padding-inline: 0.5rem;\r\n padding-block: 0.25rem;\r\n display: inline-block;\r\n text-decoration: none;\r\n width: 100%;\r\n color: var(--dda-surface-0);\r\n border-radius: 4px;\r\n}\r\n\r\n.dda-login-popup a:hover {\r\n background-color: var(--dda-on-primary-98);\r\n color: var(--dda-on-primary-variant-40);\r\n}\r\n\r\n@media (min-width: 640px) {\r\n .dda-login-popup {\r\n inset-inline-end: 8rem;\r\n }\r\n}\r\n\r\n@media (max-width: 768px) {\r\n .dda-login-popup.desktop{\r\n display: none !important;\r\n }\r\n}\r\n\r\n@media (min-width: 767px) {\r\n .dda-login-popup.mobile{\r\n display: none !important;\r\n }\r\n}\r\n\r\n/*Mobile view*/\r\n.dda-mobile-entt-logo,\r\n.dda-mobile-search {\r\n display: none;\r\n overflow: hidden;\r\n}\r\n\r\n.dda-mobile-search a,\r\n.dda-mobile-search button {\r\n width: 30px;\r\n padding: 0;\r\n background: transparent;\r\n border: transparent;\r\n}\r\n\r\n.dda-mobile-search a i,\r\n.dda-mobile-search a svg,\r\n.dda-mobile-search button i,\r\n.dda-mobile-search button svg {\r\n font-size: 23px;\r\n color: var(--dda-on-surface-variant-30);\r\n}\r\n\r\n.dda-mobile-search a svg,\r\n.dda-mobile-search button svg {\r\n fill: var(--dda-on-surface-variant-30);\r\n}\r\n\r\nbody.transparent .dda-mobile-search a i,\r\nbody.transparent .dda-mobile-search a svg,\r\nbody.transparent .dda-mobile-search button i,\r\nbody.transparent .dda-mobile-search button svg {\r\n color: var(--dda-neutral-100);\r\n}\r\n\r\n.maincontent {\r\n padding-top: 170px;\r\n padding-bottom: 100px;\r\n}\r\n\r\n\r\n@media screen and (max-width: 767px) {\r\n body.transparent .dda-header::before {\r\n height: 130px;\r\n }\r\n\r\n .dda-header {\r\n padding: 0 !important;\r\n }\r\n\r\n .dda-menu-overley {\r\n display: none !important;\r\n }\r\n\r\n .side-nav-close-btn {\r\n display: block;\r\n }\r\n\r\n .dda-menu-container {\r\n width: 100vw;\r\n height: 80px;\r\n position: relative;\r\n }\r\n\r\n .dda-head-logo {\r\n display: none;\r\n }\r\n\r\n .dda-mobile-entt-logo,\r\n .dda-mobile-search {\r\n display: block;\r\n }\r\n\r\n .dda-mobile-entt-logo img {\r\n height: 40px;\r\n }\r\n\r\n .dda-toolbar-menu {\r\n position: absolute;\r\n width: 0;\r\n display: none;\r\n }\r\n\r\n .dda-toolbar-menu ul li .tool-btn {\r\n display: none;\r\n }\r\n\r\n .dda-accessibility-wrap {\r\n top: 81px;\r\n padding: 0;\r\n }\r\n\r\n .dda-accessibility-wrap .dda-accessibility {\r\n height: calc(100vh - 82px);\r\n border-radius: 0px;\r\n box-shadow: none;\r\n }\r\n\r\n .dda-accessibility .dda-row {\r\n gap: 30px;\r\n }\r\n\r\n .dda-accessibility-item {\r\n border: 0px;\r\n }\r\n\r\n .dda-sidemenu-content {\r\n height: calc(100% - 130px);\r\n padding: 32px 17px 32px 32px;\r\n }\r\n\r\n .dda-sidemenu .dda-sidemenu-bottom {\r\n display: block;\r\n position: initial;\r\n }\r\n\r\n .main_side_menu .dda-side-nav__title {\r\n display: none;\r\n }\r\n\r\n .main_side_menu_wrap {\r\n height: calc(100% - 100px);\r\n overflow: auto;\r\n padding: 5px;\r\n }\r\n\r\n .main_side_menu_wrap::-webkit-scrollbar {\r\n width: 3px;\r\n }\r\n\r\n .main_side_menu_wrap::-webkit-scrollbar-track {\r\n background: #fafafa;\r\n }\r\n\r\n .main_side_menu_wrap::-webkit-scrollbar-thumb {\r\n background: #e7e7e7;\r\n }\r\n\r\n .main_side_menu_wrap::-webkit-scrollbar-thumb:hover {\r\n background: #d4d4d4;\r\n }\r\n\r\n .dda-sidemenu {\r\n width: 100%;\r\n top: 80px;\r\n padding-inline-end: 15px;\r\n }\r\n\r\n ul.main_side_menu li a {\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n }\r\n\r\n ul.main_side_menu li .main_sub_menu {\r\n position: inherit !important;\r\n inset-inline-start: inherit !important;\r\n top: inherit ! Important;\r\n margin: 0px !important;\r\n width: 100% !important;\r\n padding: 0px;\r\n box-shadow: none;\r\n border-radius: 0px;\r\n }\r\n\r\n ul.main_side_menu li a.showSub::after {\r\n transform: rotate(45deg);\r\n inset-inline-end: 13px;\r\n }\r\n\r\n ul.main_side_menu li a.icon_arrow::after {\r\n transform: rotate(-135deg);\r\n }\r\n\r\n :root[dir='rtl'] ul.main_side_menu li a.showSub::after,\r\n :root[dir='rtl'] ul.main_side_menu li a.showSubSub::after {\r\n transform: rotate(45deg);\r\n }\r\n\r\n :root[dir='rtl'] ul.main_side_menu li a.showSub.icon_arrow::after,\r\n :root[dir='rtl'] ul.main_side_menu li a.showSub.icon_arrow::after {\r\n transform: rotate(-135deg);\r\n }\r\n\r\n .main_sub_menu>ol>li:last-child>a {\r\n border-bottom: 1px solid #00000022;\r\n }\r\n\r\n ul.main_side_menu li a.icon_arrow,\r\n ul.main_side_menu .main_sub_menu li a .icon_arrow {\r\n color: var(--dda-color-primary-40);\r\n }\r\n\r\n ul.main_side_menu .main_sub_menu ol {\r\n height: auto;\r\n max-height: none;\r\n padding: 0;\r\n padding-inline-start: 10px;\r\n }\r\n\r\n .maincontent {\r\n padding-top: 100px;\r\n }\r\n\r\n ul.main_side_menu a.showSub.icon_arrow {\r\n background-color: var(--dda-on-primary-94);\r\n }\r\n\r\n ul.main_side_menu .main_sub_menu.showSubMenu {\r\n background-color: var(--dda-on-primary-98);\r\n }\r\n\r\n ul.main_side_menu li a:hover {\r\n padding-bottom: 13px;\r\n }\r\n\r\n}\r\n\r\n@media (max-width: 1200px) {}\r\n\r\n@media (max-width: 1024px) {\r\n .dda-header {\r\n padding: 10px 0;\r\n }\r\n\r\n .dda-head-logo,\r\n .dda-menu-container {\r\n width: 100vw;\r\n }\r\n}\r\n\r\n@media (prefers-reduced-motion: no-preference) {\r\n .dda-search input[type=\"text\"] {\r\n transition: all 250ms ease;\r\n }\r\n\r\n .dda-header {\r\n transition: all 300ms ease-in-out;\r\n }\r\n\r\n .dda-sidemenu {\r\n transition: left 0.5s ease;\r\n }\r\n\r\n ul.main_side_menu li a.showSub::after,\r\n ul.main_side_menu li a.showSubSub::after {\r\n transition: all 250ms ease;\r\n }\r\n\r\n .dda-accessibility {\r\n transition: left 0.5s ease;\r\n }\r\n}","import { Component, h, Prop, State, Event, EventEmitter } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-header',\r\n styleUrls: ['dda-header-main.css'],\r\n shadow: false,\r\n})\r\nexport class DdaHeader {\r\n @Prop() firstLogoHref: string = '#';\r\n @Prop() firstLogoSrc: string;\r\n @Prop() firstLogoWhiteSrc: string;\r\n @Prop() firstLogoAlt: string;\r\n\r\n @Prop() secondLogoHref: string = '#';\r\n @Prop() secondLogoSrc: string;\r\n @Prop() secondLogoWhiteSrc: string;\r\n @Prop() secondLogoAlt: string;\r\n\r\n @Prop() sideMainMenuTitle: string;\r\n @Prop() sideOtherMenuTitle: string;\r\n\r\n @Prop() header_submenu_type: 'mega_menu' | 'normal_sub_menu';\r\n @Prop() sideMenuItems: string;\r\n @Prop() header_default_submenu: boolean = false;\r\n @Prop() read_speaker_link: string;\r\n @Prop() searchText: string;\r\n @Prop() loginLink: string;\r\n @Prop() loginIcon: string;\r\n @Prop() loginText: string = null;\r\n @Prop() language_text: string;\r\n @Prop() language_tooltip: string;\r\n @Prop() login_tooltip: string;\r\n @Prop() accessibility_tooltip: string;\r\n @Prop() search_tooltip: string;\r\n @Event() languageSwitch: EventEmitter<void>;\r\n @Event() loginClick: EventEmitter<void>;\r\n @Event() navigatorClick?: EventEmitter<string>;\r\n @Event() smTextSize: EventEmitter<void>;\r\n @Event() baseTextSize: EventEmitter<void>;\r\n @Event() lgTextSize: EventEmitter<void>;\r\n @Event() normalContrast: EventEmitter<void>;\r\n @Event() blindContrast: EventEmitter<void>;\r\n @Event() redContrast: EventEmitter<void>;\r\n @Event() greenContrast: EventEmitter<void>;\r\n @State() isMenuOpen: boolean = false;\r\n @State() isSubMenuOpen: boolean = false;\r\n @State() isSideSubMenuOpen: boolean = false;\r\n @State() isAccessibiltyOpen: boolean = false;\r\n @State() isMobileAccessibiltyOpen: boolean = false;\r\n @Prop() hamburger_menu_button_name: string;\r\n @Prop() accessibility_button_text: string;\r\n @Prop() accessibility_button_id: string;\r\n @Prop() accessibility_button_icon_family: string;\r\n @Prop() accessibility_button_icon_name: string;\r\n @Prop() search_button_name: string;\r\n @Prop() search_input_name: string;\r\n @Prop() search_value: string;\r\n @Prop() language_button_name: string;\r\n @Prop() close_menu_button_name: string;\r\n @Prop() close_accessibility_button_name: string;\r\n @Prop() toggle_accessibility_button_name: string;\r\n\r\n @State() openMenus: { [index: string]: boolean } = {};\r\n\r\n @Prop() usePredesignedAccessibilityMenu: boolean = true;\r\n @Prop() useNavigator: 'true' | 'false' = 'false';\r\n @Event() accessibilitymenufunctionality: EventEmitter<void>;\r\n @Event() searchfunctionality: EventEmitter<string>;\r\n\r\n @Prop() search_input_placeholder: string;\r\n\r\n @Prop() mobileMenuSearchId: string = 'mobileSearch';\r\n @Prop() mobileMenuSearchUrl: string = 'javascript:void(0)';\r\n\r\n @Prop() contrast_title: string;\r\n @Prop() contrast_description: string;\r\n @Prop() contrast_noraml_text: string;\r\n @Prop() contrast_color_blind_text: string;\r\n @Prop() contrast_red_weakness_text: string;\r\n @Prop() contrast_green_weakness_text: string;\r\n @Prop() selected_contrast: 'normal' | 'colorblind' | 'redweakness' | 'greenweakness' = 'normal';\r\n @Prop() selected_text_size: 'normal' | 'large' | 'small';\r\n @Prop() screen_reader_title: string;\r\n @Prop() screen_reader_description: string;\r\n @Prop() text_size_title: string;\r\n @Prop() text_size_description: string;\r\n @Prop() hideOtherMenu: boolean = false;\r\n @Prop() otherMenuItems: string;\r\n @State() parsedOtherMenuItems: { label: string; href: string }[] = [];\r\n @State() parsedDropDownMenuItems: { label: string; href: string }[] = [];\r\n\r\n @Prop() quickLinks: string | any[];\r\n @Prop() showQuickLinksIcon?: boolean = true;\r\n\r\n @Prop() useLoginPopup: boolean = false;\r\n @Prop() loginPopupLinks:\r\n | string\r\n | Array<{\r\n popupItemLabel: string;\r\n url: string;\r\n }> = [];\r\n @State() isDesktopLoginPopupOpen: boolean = false;\r\n @State() isMobileLoginPopupOpen: boolean = false;\r\n\r\n private lastScrollTop = 0;\r\n\r\n componentWillLoad() {\r\n this.parseOtherMenuItems(this.otherMenuItems);\r\n }\r\n\r\n parseOtherMenuItems(newValue: string) {\r\n try {\r\n this.parsedOtherMenuItems = JSON.parse(newValue);\r\n } catch (err) {\r\n console.warn('Invalid JSON for otherMenuItems', newValue);\r\n this.parsedOtherMenuItems = [];\r\n }\r\n }\r\n\r\n componentWillLoadS() {\r\n this.parseDropDownMenuItems(this.otherMenuItems);\r\n }\r\n parseDropDownMenuItems(newValue: string) {\r\n try {\r\n this.parsedDropDownMenuItems = JSON.parse(newValue);\r\n } catch (err) {\r\n console.warn('Invalid JSON for otherMenuItems', newValue);\r\n this.parsedDropDownMenuItems = [];\r\n }\r\n }\r\n\r\n get parsedLoginPopupItems() {\r\n if (typeof this.loginPopupLinks === 'string') {\r\n try {\r\n return JSON.parse(this.loginPopupLinks);\r\n } catch {\r\n console.warn('Invalid JSON in loginPopupLinks');\r\n return [];\r\n }\r\n }\r\n }\r\n\r\n toggleSidebarSubMenu(index: string) {\r\n if (index === '') {\r\n this.openMenus = {};\r\n return;\r\n }\r\n\r\n const isCurrentlyOpen = this.openMenus[index];\r\n const newOpenMenus = {};\r\n\r\n if (!isCurrentlyOpen) {\r\n const parts = index.split('-');\r\n let parentPath = '';\r\n\r\n for (let i = 0; i < parts.length - 1; i++) {\r\n parentPath = parentPath ? `${parentPath}-${parts[i]}` : parts[i];\r\n newOpenMenus[parentPath] = true;\r\n }\r\n\r\n newOpenMenus[index] = true;\r\n } else {\r\n for (const key in this.openMenus) {\r\n if (key !== index && !key.startsWith(`${index}-`)) {\r\n newOpenMenus[key] = true;\r\n }\r\n }\r\n }\r\n\r\n this.openMenus = newOpenMenus;\r\n }\r\n\r\n toggleEscapeKey = (event: KeyboardEvent) => {\r\n if (event.key === 'Escape') {\r\n this.isMenuOpen = false;\r\n this.isAccessibiltyOpen = false;\r\n this.isMobileAccessibiltyOpen = false;\r\n this.isSubMenuOpen = false;\r\n this.isSideSubMenuOpen = false;\r\n this.isDesktopLoginPopupOpen = false;\r\n this.isMobileLoginPopupOpen = false;\r\n }\r\n };\r\n\r\n componentDidLoad() {\r\n window.addEventListener('scroll', this.handleScroll);\r\n document.addEventListener('click', this.handleOutsideClick);\r\n document.addEventListener('keydown', this.toggleEscapeKey);\r\n document.addEventListener('click', this.handleOutsideAccessibilityClick);\r\n document.addEventListener('click', this.handleOutsideLoginPopupClick);\r\n }\r\n\r\n disconnectedCallback() {\r\n window.removeEventListener('scroll', this.handleScroll);\r\n document.removeEventListener('click', this.handleOutsideClick);\r\n document.removeEventListener('click', this.handleOutsideAccessibilityClick);\r\n document.removeEventListener('click', this.handleOutsideLoginPopupClick);\r\n }\r\n\r\n handleOutsideClick = (event: MouseEvent) => {\r\n let isClickInsideMenu = (event.target as Element).closest('.main_side_menu');\r\n if (!isClickInsideMenu) {\r\n this.toggleSidebarSubMenu('');\r\n document.querySelectorAll('.main_sub_menu').forEach(menu => {\r\n menu.classList.remove('showSubMenu');\r\n });\r\n document.querySelectorAll('.showSub').forEach(anchor => {\r\n anchor.classList.remove('icon_arrow');\r\n });\r\n }\r\n };\r\n\r\n handleOutsideAccessibilityClick = (event: MouseEvent) => {\r\n if (this.isAccessibiltyOpen) {\r\n const accessibilityMenu = document.querySelector('.dda-accessibility-wrap .dda-accessibility');\r\n const isClickInsideDesktopMenu = accessibilityMenu && accessibilityMenu.contains(event.target as Node);\r\n const isClickOnToggleButton = (event.target as Element).closest('.accessibility-btn');\r\n\r\n if (!isClickInsideDesktopMenu && !isClickOnToggleButton) {\r\n this.isAccessibiltyOpen = false;\r\n }\r\n }\r\n };\r\n\r\n handleOutsideLoginPopupClick = (event: MouseEvent) => {\r\n if (this.isDesktopLoginPopupOpen || this.isMobileLoginPopupOpen) {\r\n const loginPopup = document.querySelector('.dda-login-popup');\r\n const isClickInsideDesktopMenu = loginPopup && loginPopup.contains(event.target as Node);\r\n const isClickOnToggleButton = (event.target as Element).closest('.login-button');\r\n\r\n if (!isClickInsideDesktopMenu && !isClickOnToggleButton) {\r\n this.isDesktopLoginPopupOpen = false;\r\n this.isMobileLoginPopupOpen = false;\r\n }\r\n }\r\n };\r\n\r\n handleScroll = () => {\r\n const scrollTop = window.scrollY;\r\n const menuContainer = document.querySelector('.dda-menu-container') as HTMLElement;\r\n const logoContainer = document.querySelector('.dda-header') as HTMLElement;\r\n\r\n if (scrollTop > this.lastScrollTop && scrollTop > 50) {\r\n if (menuContainer) menuContainer.style.display = 'none';\r\n if (logoContainer) logoContainer.classList.add('white');\r\n } else {\r\n if (menuContainer) menuContainer.style.display = 'flex';\r\n if (logoContainer) logoContainer.classList.remove('white');\r\n }\r\n this.lastScrollTop = scrollTop;\r\n };\r\n\r\n private parseJsonArray(jsonString: string) {\r\n try {\r\n return JSON.parse(jsonString);\r\n } catch (e) {\r\n console.error('Failed to parse JSON:', e);\r\n return [];\r\n }\r\n }\r\n private toggleMenu = () => {\r\n if (this.isAccessibiltyOpen) {\r\n this.isAccessibiltyOpen = false;\r\n }\r\n\r\n if (this.isDesktopLoginPopupOpen || this.isMobileLoginPopupOpen) {\r\n this.isDesktopLoginPopupOpen = false;\r\n this.isMobileLoginPopupOpen = false;\r\n }\r\n this.isMenuOpen = !this.isMenuOpen;\r\n\r\n if (this.isMenuOpen) {\r\n document.body.style.overflow = 'hidden';\r\n } else {\r\n document.body.style.overflow = '';\r\n }\r\n };\r\n\r\n private toggleAccessibilty = () => {\r\n if (this.usePredesignedAccessibilityMenu == true) {\r\n this.isAccessibiltyOpen = !this.isAccessibiltyOpen;\r\n this.accessibilitymenuhandler();\r\n } else {\r\n this.accessibilitymenuhandler();\r\n }\r\n };\r\n\r\n private toggleMobileAccessibilty = () => {\r\n if (this.usePredesignedAccessibilityMenu == true) {\r\n this.isMobileAccessibiltyOpen = !this.isMobileAccessibiltyOpen;\r\n this.MobileAccessibilitymenuhandler();\r\n } else {\r\n this.MobileAccessibilitymenuhandler();\r\n }\r\n };\r\n\r\n private languagehandler = () => {\r\n this.languageSwitch.emit();\r\n };\r\n private smTexthandler = () => {\r\n this.selected_text_size = 'small';\r\n this.smTextSize.emit();\r\n };\r\n private baseTexthandler = () => {\r\n this.selected_text_size = 'normal';\r\n this.baseTextSize.emit();\r\n };\r\n private lgTexthandler = () => {\r\n this.selected_text_size = 'large';\r\n this.lgTextSize.emit();\r\n };\r\n\r\n private normalContrasthandler = () => {\r\n this.selected_contrast = 'normal';\r\n this.normalContrast.emit();\r\n };\r\n private blindContrasthandler = () => {\r\n this.selected_contrast = 'colorblind';\r\n this.blindContrast.emit();\r\n };\r\n private redContrasthandler = () => {\r\n this.selected_contrast = 'redweakness';\r\n this.redContrast.emit();\r\n };\r\n private greenContrasthandler = () => {\r\n this.selected_contrast = 'greenweakness';\r\n this.greenContrast.emit();\r\n };\r\n\r\n private accessibilitymenuhandler = () => {\r\n this.accessibilitymenufunctionality.emit();\r\n };\r\n private MobileAccessibilitymenuhandler = () => {\r\n this.accessibilitymenufunctionality.emit();\r\n };\r\n\r\n private searchhandler = searchval => {\r\n this.searchfunctionality.emit(searchval);\r\n };\r\n\r\n private toggleLogin = () => {\r\n if (this.useLoginPopup == true) {\r\n this.loginClick.emit();\r\n if (window.innerWidth >= 768) {\r\n this.isDesktopLoginPopupOpen = !this.isDesktopLoginPopupOpen;\r\n } else {\r\n this.isMobileLoginPopupOpen = !this.isMobileLoginPopupOpen;\r\n }\r\n }\r\n };\r\n\r\n \r\n\r\n private handleMenuClick(e: Event, item: any, currentIndex: string) {\r\n if (item.subMenu && item.subMenu.length > 0) {\r\n e.preventDefault();\r\n const anchor = e.currentTarget as HTMLElement;\r\n // Toggle submenu\r\n this.toggleSidebarSubMenu(currentIndex);\r\n // Toggle .icon_arrow on the clicked <a>\r\n if (anchor.classList.contains('icon_arrow')) {\r\n anchor.classList.remove('icon_arrow');\r\n } else {\r\n anchor.classList.add('icon_arrow');\r\n }\r\n // Optional: If you want to close all submenus at the same level\r\n const siblingAnchors = anchor.closest('ol')?.querySelectorAll('a.icon_arrow');\r\n siblingAnchors?.forEach(el => {\r\n if (el !== anchor) {\r\n el.classList.remove('icon_arrow');\r\n }\r\n });\r\n } else {\r\n console.log('check navigator', this.useNavigator, this.navigatorClick);\r\n\r\n if (this.useNavigator == 'true') {\r\n this.navigatorClick.emit(item.href);\r\n }\r\n }\r\n }\r\n\r\n renderSubMenu = (subMenu, parentLi) => {\r\n if (!subMenu || subMenu.length === 0) return null;\r\n return (\r\n <div class={`main_sub_menu ${this.openMenus[parentLi] ? 'showSubMenu' : ''}`}>\r\n {subMenu[0].headerLabel && <h6 class=\"dda-side-nav__title\">{subMenu[0].headerLabel}</h6>}\r\n <ol>\r\n {subMenu.map((item, index) => {\r\n const currentIndex = `${parentLi}-${index}`;\r\n return (\r\n <li key={currentIndex}>\r\n <a\r\n href={this.useNavigator == 'true' ? 'javascript:void(0)' : item.href}\r\n class={`${item.subLinkClass} ${item.subMenu && item.subMenu.length > 0 ? 'showSub' : ''}`}\r\n onClick={e => {\r\n this.handleMenuClick(e, item, currentIndex);\r\n }}\r\n >\r\n {item.label}\r\n </a>\r\n {this.renderSubMenu(item.subMenu, currentIndex)}\r\n </li>\r\n );\r\n })}\r\n </ol>\r\n </div>\r\n );\r\n };\r\n\r\n renderLoginPopup = () => {\r\n return (\r\n <ul>\r\n {this.parsedLoginPopupItems.map((item, index) => {\r\n return (\r\n <li key={`top-${index}`}>\r\n <a\r\n href={this.useNavigator == 'true' ? 'javascript:void(0)' : item.url}\r\n class=\"\"\r\n onClick={() => {\r\n if (this.useNavigator == 'true') {\r\n this.navigatorClick.emit(item.url);\r\n }\r\n this.isDesktopLoginPopupOpen = false;\r\n }}\r\n >\r\n {item.popupItemLabel}\r\n </a>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n );\r\n };\r\n\r\n render() {\r\n const sideMenuItems = this.parseJsonArray(this.sideMenuItems);\r\n\r\n return (\r\n <header class={'dda-header'}>\r\n {/* Logo Section */}\r\n <div class=\"dda-head-logo\">\r\n <a\r\n href={this.useNavigator == 'true' ? 'javascript:void(0)' : this.firstLogoHref}\r\n onClick={() => (this.useNavigator == 'true' ? this.navigatorClick.emit(this.firstLogoHref) : '')}\r\n class=\"govt-logo\"\r\n >\r\n <img class=\"logo-white\" src={this.firstLogoWhiteSrc} alt={`${this.firstLogoAlt} White`} />\r\n <img class=\"logo-colored\" src={this.firstLogoSrc} alt={this.firstLogoAlt} />\r\n </a>\r\n <a\r\n href={this.useNavigator == 'true' ? 'javascript:void(0)' : this.secondLogoHref}\r\n onClick={() => (this.useNavigator == 'true' ? this.navigatorClick.emit(this.secondLogoHref) : '')}\r\n class=\"entt-logo\"\r\n >\r\n <img class=\"logo-white\" src={this.secondLogoWhiteSrc} alt={`${this.secondLogoAlt} White`} />\r\n <img class=\"logo-colored\" src={this.secondLogoSrc} alt={this.secondLogoAlt} />\r\n </a>\r\n </div>\r\n\r\n {/* Main Navigation Section */}\r\n <div class=\"dda-menu-container\">\r\n <div class=\"dda-main-navigation\">\r\n <div class={`dda-menu-overley ${this.isMenuOpen ? 'show-overley' : ''}`} onClick={this.toggleMenu}></div>\r\n\r\n {/* Hamburger Menu */}\r\n <div class=\"hamburger-menu\" onClick={this.toggleMenu}>\r\n <dda-tooltip title_text={this.hamburger_menu_button_name} position=\"top\" class=\"dda-d-block\">\r\n <button type=\"button\" class=\"hamburger-menu-btn\" name={this.hamburger_menu_button_name}>\r\n <span class=\"hamburger-line\"></span>\r\n <span class=\"hamburger-menu-text\">{this.hamburger_menu_button_name}</span>\r\n </button>\r\n </dda-tooltip>\r\n </div>\r\n\r\n {/* Side Menu */}\r\n <div class=\"dda-sidemenu\" style={{ display: this.isMenuOpen ? 'block' : '', insetInlineStart: this.isMenuOpen ? '0px' : '' }}>\r\n <div class=\"dda-sidemenu-content\">\r\n <h6 class=\"dda-side-nav-title\">{this.sideMainMenuTitle}</h6>\r\n\r\n <ul class=\"main_side_menu\">\r\n {sideMenuItems.map((menu, index) => {\r\n const currentIndex = `menu-${index}`;\r\n return (\r\n <li key={currentIndex} id={`header_${menu.label}`}>\r\n <a\r\n // href={menu.href}\r\n href={this.useNavigator == 'true' ? 'javascript:void(0)' : menu.href}\r\n // class={menu.subMenu && menu.subMenu.length > 0 ? 'showSub' : ''}\r\n class={\r\n [\r\n menu.subMenu && menu.subMenu.length > 0 ? 'showSub' : '',\r\n menu.active === 'true' ? 'active' : ''\r\n ]\r\n .filter(Boolean)\r\n .join(' ')\r\n }\r\n onClick={e => {\r\n if (menu.subMenu && menu.subMenu.length > 0) {\r\n e.preventDefault();\r\n const current = e.currentTarget as HTMLElement;\r\n if (current.classList.contains('icon_arrow')) {\r\n // If already active, remove it (toggle off)\r\n current.classList.remove('icon_arrow');\r\n this.toggleSidebarSubMenu(currentIndex); // Optionally collapse submenu\r\n return;\r\n }\r\n // Remove .icon_arrow from ALL other anchors\r\n const allAnchors = document.querySelectorAll('.main_side_menu a.icon_arrow');\r\n allAnchors.forEach(anchor => anchor.classList.remove('icon_arrow'));\r\n // Add .icon_arrow to the clicked anchor\r\n current.classList.add('icon_arrow');\r\n // Show submenu\r\n this.toggleSidebarSubMenu(currentIndex);\r\n } else {\r\n if (this.useNavigator == 'true') {\r\n this.navigatorClick.emit(menu.href);\r\n }\r\n }\r\n }}\r\n >\r\n {menu.label}\r\n </a>\r\n\r\n {this.renderSubMenu(menu.subMenu, currentIndex)}\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n\r\n {this.hideOtherMenu == false && <h6 class=\"dda-side-nav-title\">{this.sideOtherMenuTitle}</h6>}\r\n\r\n {!this.hideOtherMenu && (\r\n <ul class=\"main_side_menu\">\r\n {this.parsedOtherMenuItems.map((itemlist, index) => (\r\n <li key={`other-${index}`}>\r\n <a\r\n href={this.useNavigator == 'true' ? 'javascript:void(0)' : itemlist.href}\r\n class={{\r\n active: itemlist['active'] === 'true',\r\n }}\r\n onClick={() => (this.useNavigator == 'true' ? this.navigatorClick.emit(itemlist.href) : '')}\r\n >\r\n {itemlist.label}\r\n </a>\r\n </li>\r\n ))}\r\n </ul>\r\n )}\r\n\r\n </div>\r\n\r\n <div class=\"dda-sidemenu-bottom\">\r\n <div class=\"dda-sidemenu-gov-logo\">\r\n <a\r\n href={this.useNavigator == 'true' ? 'javascript:void(0)' : this.firstLogoHref}\r\n onClick={() => (this.useNavigator == 'true' ? this.navigatorClick.emit(this.firstLogoHref) : '')}\r\n class=\"govt-logo dda-mb-2\"\r\n >\r\n <img class=\"\" src={this.firstLogoSrc} alt={this.firstLogoAlt} />\r\n </a>\r\n </div>\r\n <div class=\"dda-toolbar-menu-sidemenu\">\r\n <ul>\r\n {/* Mobile Accessibility Button */}\r\n {this.accessibility_button_id && (\r\n <li>\r\n <button\r\n name={this.toggle_accessibility_button_name}\r\n class=\"tool-btn accessibility-btn\"\r\n type=\"button\"\r\n onClick={this.toggleMobileAccessibilty}\r\n id={this.accessibility_button_id}\r\n >\r\n <i class={this.accessibility_button_icon_family}>{this.accessibility_button_icon_name}</i>\r\n <span class=\"visually-hidden\">{this.accessibility_button_text}</span>\r\n </button>\r\n </li>\r\n )}\r\n\r\n {this.language_text && (\r\n <li>\r\n <button name={this.language_button_name} class=\"tool-btn\" type=\"button\" onClick={this.languagehandler}>\r\n {this.language_text}\r\n </button>\r\n </li>\r\n )}\r\n\r\n {this.loginText && (\r\n <li>\r\n <dda-link-button\r\n button_color=\"onsurface-secondary\"\r\n start_icon={this.loginIcon}\r\n custom_class=\"tool-btn login-button\"\r\n link_button_text={this.loginText}\r\n onClick={this.toggleLogin}\r\n // href={this.loginLink}\r\n href={this.useLoginPopup ? 'javascript:void(0)' : this.loginLink}\r\n button_shape=\"circle\"\r\n size=\"sm\"\r\n ></dda-link-button>\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <button type=\"button\" name={this.close_menu_button_name} class=\"close-btn side-nav-close-btn\" aria-label=\"Close Sidebar\" onClick={this.toggleMenu}>\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 {/* Mobile Accessibility Popup */}\r\n {this.usePredesignedAccessibilityMenu ? (\r\n <div class=\"dda-accessibility hide-accessibility mobile-accessibility\" style={{ display: this.isMobileAccessibiltyOpen ? 'block' : 'none' }}>\r\n <div class=\"mobile-accessibility-content\">\r\n <div class=\"dda-row\">\r\n <div class=\"dda-col-md-4 dda-accessibility-item\">\r\n <h6 class=\"h6 Regular dda-mb-1\">{this.contrast_title}</h6>\r\n\r\n <form>\r\n <fieldset class=\"dda-theme-list\">\r\n <legend>\r\n <p class=\"body Regular dda-mb-3\">{this.contrast_description}</p>\r\n </legend>\r\n {this.contrast_noraml_text ? (\r\n <dda-radiobutton\r\n title_text={this.contrast_noraml_text}\r\n checked={this.selected_contrast == 'normal'}\r\n size=\"default\"\r\n variants=\"normal\"\r\n supporting=\"\"\r\n error_message=\"\"\r\n validation_id=\"NormalThemeMobile\"\r\n group_name=\"themeselectionMobile\"\r\n input_id=\"NormalThemeMobile\"\r\n custom_class=\"\"\r\n component_mode=\"\"\r\n aria_label=\"radio-button\"\r\n validation_type=\"normal\"\r\n onChange={this.normalContrasthandler}\r\n class=\"hydrated\"\r\n ></dda-radiobutton>\r\n ) : null}\r\n\r\n {this.contrast_color_blind_text ? (\r\n <dda-radiobutton\r\n title_text={this.contrast_color_blind_text}\r\n checked={this.selected_contrast == 'colorblind'}\r\n size=\"default\"\r\n variants=\"normal\"\r\n supporting=\"\"\r\n error_message=\"\"\r\n validation_id=\"ColoursBlindMobile\"\r\n group_name=\"themeselectionMobile\"\r\n input_id=\"ColoursBlindMobile\"\r\n custom_class=\"\"\r\n component_mode=\"\"\r\n aria_label=\"radio-button\"\r\n validation_type=\"normal\"\r\n onChange={this.blindContrasthandler}\r\n class=\"hydrated\"\r\n ></dda-radiobutton>\r\n ) : null}\r\n\r\n {this.contrast_red_weakness_text ? (\r\n <dda-radiobutton\r\n title_text={this.contrast_red_weakness_text}\r\n checked={this.selected_contrast == 'redweakness'}\r\n size=\"default\"\r\n variants=\"normal\"\r\n supporting=\"\"\r\n error_message=\"\"\r\n validation_id=\"RedWeaknessMobile\"\r\n group_name=\"themeselectionMobile\"\r\n input_id=\"RedWeaknessMobile\"\r\n custom_class=\"\"\r\n component_mode=\"\"\r\n aria_label=\"radio-button\"\r\n validation_type=\"normal\"\r\n onChange={this.redContrasthandler}\r\n class=\"hydrated\"\r\n ></dda-radiobutton>\r\n ) : null}\r\n\r\n {this.contrast_green_weakness_text ? (\r\n <dda-radiobutton\r\n title_text={this.contrast_green_weakness_text}\r\n checked={this.selected_contrast == 'greenweakness'}\r\n size=\"default\"\r\n variants=\"normal\"\r\n supporting=\"\"\r\n error_message=\"\"\r\n validation_id=\"GreenWeaknessMobile\"\r\n group_name=\"themeselectionMobile\"\r\n input_id=\"GreenWeaknessMobile\"\r\n custom_class=\"\"\r\n component_mode=\"\"\r\n aria_label=\"radio-button\"\r\n validation_type=\"normal\"\r\n onChange={this.greenContrasthandler}\r\n class=\"hydrated\"\r\n ></dda-radiobutton>\r\n ) : null}\r\n </fieldset>\r\n </form>\r\n </div>\r\n <div class=\"dda-col-md-4 dda-accessibility-item\">\r\n <h6 class=\"h6 Regular dda-mb-1\">{this.screen_reader_title}</h6>\r\n <p class=\"body Regular dda-mb-3\">{this.screen_reader_description}</p>\r\n <div class=\"rs_skip rsbtn rs_preserve rs_mobile\" id=\"readspeaker_button1\">\r\n <a\r\n rel=\"nofollow\"\r\n href={this.read_speaker_link}\r\n role=\"button\"\r\n class=\"rsbtn_play circle readspeaker\"\r\n accessKey=\"L\"\r\n aria-label=\"Listen to this page using ReadSpeaker\"\r\n data-rsshortcut=\"play\"\r\n aria-haspopup=\"menu\"\r\n data-rs-lang=\"en_uk\"\r\n >\r\n <i class=\"material-icons material-symbols-outlined\" aria-hidden=\"true\">\r\n volume_up\r\n </i>\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"dda-col-md-4 dda-accessibility-item\">\r\n <h6 class=\"h6 Regular dda-mb-1\">{this.text_size_title}</h6>\r\n <p class=\"body Regular dda-mb-3\">{this.text_size_description}</p>\r\n <div class=\"dda-d-flex dda-gap-4\">\r\n <dda-button\r\n button_color={this.selected_text_size == 'normal' ? 'default-primary' : 'default-secondary'}\r\n button_text=\"A\"\r\n icon_button_shape=\"circle\"\r\n custom_class=\"\"\r\n size=\"lg\"\r\n onClick={this.baseTexthandler}\r\n ></dda-button>\r\n <dda-button\r\n button_color={this.selected_text_size == 'large' ? 'default-primary' : 'default-secondary'}\r\n button_text=\"A+\"\r\n icon_button_shape=\"circle\"\r\n custom_class=\"\"\r\n size=\"lg\"\r\n onClick={this.lgTexthandler}\r\n ></dda-button>\r\n\r\n <dda-button\r\n button_color={this.selected_text_size == 'small' ? 'default-primary' : 'default-secondary'}\r\n button_text=\"A-\"\r\n icon_button_shape=\"circle\"\r\n custom_class=\"\"\r\n size=\"lg\"\r\n onClick={this.smTexthandler}\r\n ></dda-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <button\r\n type=\"button\"\r\n name={this.close_accessibility_button_name}\r\n class=\"close-btn close_accessibility\"\r\n aria-label=\"Close Accessibility\"\r\n onClick={this.toggleMobileAccessibilty}\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 </div>\r\n ) : null}\r\n </div>\r\n\r\n {/* headermenu */}\r\n {this.quickLinks && (\r\n <dda-header-menu\r\n use-navigator={this.useNavigator}\r\n navigator-click={this.navigatorClick}\r\n show-Quick-Links-Icon={this.showQuickLinksIcon}\r\n quick-links={typeof this.quickLinks === 'string' ? this.quickLinks : JSON.stringify(this.quickLinks)}\r\n ></dda-header-menu>\r\n )}\r\n </div>\r\n\r\n <div class=\"dda-mobile-entt-logo\">\r\n <a\r\n href={this.useNavigator == 'true' ? 'javascript:void(0)' : this.secondLogoHref}\r\n onClick={() => (this.useNavigator == 'true' ? this.navigatorClick.emit(this.secondLogoHref) : '')}\r\n class=\"entt-logo\"\r\n >\r\n <img class=\"logo-colored\" src={this.secondLogoSrc} alt={this.secondLogoAlt} />\r\n <img class=\"logo-white\" src={this.secondLogoWhiteSrc} alt={this.secondLogoAlt} />\r\n </a>\r\n </div>\r\n <div class=\"dda-mobile-search\">\r\n {this.mobileMenuSearchId && (\r\n <a\r\n href={this.useNavigator == 'true' ? 'javascript:void(0)' : this.mobileMenuSearchUrl}\r\n onClick={() => (this.useNavigator == 'true' ? this.navigatorClick.emit(this.mobileMenuSearchUrl) : '')}\r\n class=\"tool-btn\"\r\n id={this.mobileMenuSearchId}\r\n >\r\n <span class=\"visualy-hidden\">{this.searchText || 'Search'}</span>\r\n <i class=\"material-icons material-symbols-outlined\" aria-hidden=\"true\">\r\n search\r\n </i>\r\n </a>\r\n )}\r\n </div>\r\n\r\n {/* Toolbar Menu */}\r\n <div class=\"dda-toolbar-menu\">\r\n <ul>\r\n {this.search_input_name && (\r\n <li>\r\n <dda-tooltip title_text={this.search_tooltip || 'Search'} description=\"\" position=\"top\">\r\n <div class=\"dda-search dda-header-search\">\r\n <label id=\"ddaSearch-label\" class=\"visualy-hidden\" aria-hidden=\"true\">\r\n {this.searchText || 'Search'}\r\n </label>\r\n <i class=\"material-icons material-symbols-outlined\" aria-hidden=\"true\">\r\n search\r\n </i>\r\n <dda-input\r\n placeholder={this.search_input_placeholder || 'Search'}\r\n type=\"text\"\r\n input_id=\"ddaSearch\"\r\n value={this.search_value}\r\n input_name={this.search_input_name}\r\n aria_label=\"input\"\r\n input_role=\"search\"\r\n error_message=\"Error text\"\r\n validation_type=\"normal\"\r\n validation_id=\"validationId\"\r\n input_status=\"normal\"\r\n size=\"default\"\r\n custom_class=\"dda-header-search-input tool-btn\"\r\n component_mode=\"\"\r\n // handleInput={(event) => console.log(event.target.value,\"\")}\r\n onKeyPress={e => {\r\n if (e.key === 'Enter') {\r\n this.searchhandler((e.target as HTMLInputElement).value); // Pass the value to the searchhandler\r\n }\r\n }}\r\n ></dda-input>\r\n <span id=\"validationId\" class=\"visually-hidden\">\r\n Enter keywords to search the site.\r\n </span>\r\n </div>\r\n </dda-tooltip>\r\n </li>\r\n )}\r\n\r\n {this.accessibility_button_id && (\r\n <li>\r\n <dda-tooltip title_text={this.accessibility_tooltip} position=\"top\">\r\n <button\r\n name={this.toggle_accessibility_button_name}\r\n class=\"tool-btn dda-btn btn-color-onsurface-secondary btn-size-sm btn-shape-circle accessibility-btn\"\r\n type=\"button\"\r\n onClick={this.toggleAccessibilty}\r\n id={this.accessibility_button_id}\r\n >\r\n <i class={this.accessibility_button_icon_family}>{this.accessibility_button_icon_name}</i>\r\n <span class=\"visually-hidden\">{this.accessibility_button_text}</span>\r\n </button>\r\n </dda-tooltip>\r\n {this.usePredesignedAccessibilityMenu ? (\r\n <div class=\"dda-accessibility-wrap\">\r\n <div class=\"dda-accessibility hide-accessibility\" style={{ display: this.isAccessibiltyOpen ? 'block' : 'none' }}>\r\n <div class=\"dda-row\">\r\n <div class=\"dda-col-md-4 dda-accessibility-item\">\r\n <h6 class=\"h6 Regular dda-mb-1\">{this.contrast_title}</h6>\r\n <form>\r\n <fieldset class=\"dda-theme-list\">\r\n <legend>\r\n <p class=\"body Regular dda-mb-3\">{this.contrast_description}</p>\r\n </legend>\r\n\r\n {this.contrast_noraml_text ? (\r\n <dda-radiobutton\r\n title_text={this.contrast_noraml_text}\r\n checked={this.selected_contrast == 'normal'}\r\n size=\"default\"\r\n variants=\"normal\"\r\n supporting=\"\"\r\n error_message=\"\"\r\n validation_id=\"NormalTheme\"\r\n group_name=\"themeselection\"\r\n input_id=\"NormalTheme\"\r\n custom_class=\"\"\r\n component_mode=\"\"\r\n aria_label=\"radio-button\"\r\n validation_type=\"normal\"\r\n onChange={this.normalContrasthandler}\r\n class=\"\"\r\n ></dda-radiobutton>\r\n ) : null}\r\n\r\n {this.contrast_color_blind_text ? (\r\n <dda-radiobutton\r\n title_text={this.contrast_color_blind_text}\r\n checked={this.selected_contrast == 'colorblind'}\r\n size=\"default\"\r\n variants=\"normal\"\r\n supporting=\"\"\r\n error_message=\"\"\r\n validation_id=\"ColoursBlind\"\r\n group_name=\"themeselection\"\r\n input_id=\"ColoursBlind\"\r\n custom_class=\"\"\r\n component_mode=\"\"\r\n aria_label=\"radio-button\"\r\n validation_type=\"normal\"\r\n onChange={this.blindContrasthandler}\r\n class=\"hydrated\"\r\n ></dda-radiobutton>\r\n ) : null}\r\n\r\n {this.contrast_red_weakness_text ? (\r\n <dda-radiobutton\r\n title_text={this.contrast_red_weakness_text}\r\n checked={this.selected_contrast == 'redweakness'}\r\n size=\"default\"\r\n variants=\"normal\"\r\n supporting=\"\"\r\n error_message=\"\"\r\n validation_id=\"RedWeakness\"\r\n group_name=\"themeselection\"\r\n input_id=\"RedWeakness\"\r\n custom_class=\"\"\r\n component_mode=\"\"\r\n aria_label=\"radio-button\"\r\n validation_type=\"normal\"\r\n onChange={this.redContrasthandler}\r\n class=\"hydrated\"\r\n ></dda-radiobutton>\r\n ) : null}\r\n\r\n {this.contrast_green_weakness_text ? (\r\n <dda-radiobutton\r\n title_text={this.contrast_green_weakness_text}\r\n checked={this.selected_contrast == 'greenweakness'}\r\n size=\"default\"\r\n variants=\"normal\"\r\n supporting=\"\"\r\n error_message=\"\"\r\n validation_id=\"GreenWeakness\"\r\n group_name=\"themeselection\"\r\n input_id=\"GreenWeakness\"\r\n custom_class=\"\"\r\n component_mode=\"\"\r\n aria_label=\"radio-button\"\r\n validation_type=\"normal\"\r\n onChange={this.greenContrasthandler}\r\n class=\"hydrated\"\r\n ></dda-radiobutton>\r\n ) : null}\r\n </fieldset>\r\n </form>\r\n </div>\r\n <div class=\"dda-col-md-4 dda-accessibility-item\">\r\n <h6 class=\"h6 Regular dda-mb-1\">{this.screen_reader_title}</h6>\r\n <p class=\"body Regular dda-mb-3\">{this.screen_reader_description}</p>\r\n <div class=\"rs_skip rsbtn rs_preserve rs_mobile\" id=\"readspeaker_button1\">\r\n <a\r\n rel=\"nofollow\"\r\n href={this.read_speaker_link}\r\n role=\"button\"\r\n class=\"rsbtn_play circle readspeaker\"\r\n accessKey=\"L\"\r\n aria-label=\"Listen to this page using ReadSpeaker\"\r\n data-rsshortcut=\"play\"\r\n aria-haspopup=\"menu\"\r\n data-rs-lang=\"en_uk\"\r\n >\r\n <i class=\"material-icons material-symbols-outlined\" aria-hidden=\"true\">\r\n volume_up\r\n </i>\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"dda-col-md-4 dda-accessibility-item\">\r\n <h6 class=\"h6 Regular dda-mb-1\">{this.text_size_title}</h6>\r\n <p class=\"body Regular dda-mb-3\">{this.text_size_description}</p>\r\n <div class=\"dda-d-flex dda-gap-4\">\r\n <dda-button\r\n button_color={this.selected_text_size == 'normal' ? 'default-primary' : 'default-secondary'}\r\n button_text=\"A\"\r\n icon_button_shape=\"circle\"\r\n custom_class=\"\"\r\n size=\"lg\"\r\n onClick={this.baseTexthandler}\r\n ></dda-button>\r\n <dda-button\r\n button_color={this.selected_text_size == 'large' ? 'default-primary' : 'default-secondary'}\r\n button_text=\"A+\"\r\n icon_button_shape=\"circle\"\r\n custom_class=\"\"\r\n size=\"lg\"\r\n onClick={this.lgTexthandler}\r\n ></dda-button>\r\n <dda-button\r\n button_color={this.selected_text_size == 'small' ? 'default-primary' : 'default-secondary'}\r\n button_text=\"A-\"\r\n icon_button_shape=\"circle\"\r\n custom_class=\"\"\r\n size=\"lg\"\r\n onClick={this.smTexthandler}\r\n ></dda-button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <button\r\n type=\"button\"\r\n name={this.close_accessibility_button_name}\r\n class=\"close-btn close_accessibility\"\r\n aria-label=\"Close Sidebar\"\r\n onClick={this.toggleAccessibilty}\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 </div>\r\n </div>\r\n ) : null}\r\n </li>\r\n )}\r\n\r\n {this.language_text && (\r\n <li>\r\n <dda-tooltip title_text={this.language_tooltip} position=\"top\">\r\n <dda-button\r\n button_color=\"onsurface-secondary\"\r\n custom_class=\"tool-btn\"\r\n button_text={this.language_text}\r\n button_shape=\"circle\"\r\n size=\"sm\"\r\n onClick={this.languagehandler}\r\n ></dda-button>\r\n </dda-tooltip>\r\n </li>\r\n )}\r\n\r\n {this.loginText && (\r\n <li>\r\n <dda-tooltip title_text={this.login_tooltip} position=\"top\">\r\n <dda-link-button\r\n button_color=\"onsurface-secondary\"\r\n start_icon={this.loginIcon}\r\n custom_class=\"tool-btn login-button\"\r\n link_button_text={this.loginText}\r\n onClick={this.toggleLogin}\r\n // href={this.loginLink}\r\n href={this.useLoginPopup ? 'javascript:void(0)' : this.loginLink}\r\n button_shape=\"circle\"\r\n size=\"sm\"\r\n ></dda-link-button>\r\n </dda-tooltip>\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n\r\n {this.useLoginPopup ? (\r\n <div class=\"dda-login-popup desktop\" style={{ display: this.isDesktopLoginPopupOpen ? 'block' : 'none' }}>\r\n {this.renderLoginPopup()}\r\n </div>\r\n ) : null}\r\n\r\n {this.useLoginPopup ? (\r\n <div class=\"dda-login-popup mobile\" style={{ display: this.isMobileLoginPopupOpen ? 'block' : 'none' }}>\r\n {this.renderLoginPopup()}\r\n </div>\r\n ) : null}\r\n </div>\r\n </header>\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 h=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(this.selectedId);this.el.dispatchEvent(new FocusEvent("blur",{bubbles:true,composed:true}))}}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.id);this.el.dispatchEvent(new InputEvent("input",{bubbles:true,composed:true,data:t.id,inputType:"select"}))}}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 setValue(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}async getValue(){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:"c89e68e10cc4658318fd818305436c027a24ead5"},e("div",{key:"b436e93c4cbfdd5b76aa4c15e38b76872d04185c",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:"f0c20e8afd927b1c8f6940cc1c260b24a445086b",id:t,class:"dda-input-label"},this.label),e("div",{key:"8bb32b3eb1669b2b44c1d3c2080821046f31caf5",class:"dda-dropdown-container"},e("button",{key:"c30b9f0219d65a079565f5a18a7498eb7b83bb15",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:"79489230cb303c49294e73b378041b18dae01abc",id:s,class:"dda-select-button-label"},this.selectedText||this.placeholder),e("i",{key:"19e5d561ecce26640b3338a17b23191e3cb5fb08",class:"material-icons","aria-hidden":"true"},this.is_open?"keyboard_arrow_up":"keyboard_arrow_down")),this.is_open&&e("div",{key:"35f08c99f312bb9a9062074b72564c79885dac43",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{h as dda_select};
2
- //# sourceMappingURL=p-210d62fb.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","selectedId","dispatchEvent","FocusEvent","bubbles","composed","parsedOptions","JSON","parse","options","_a","componentWillLoad","selectedOption","find","opt","id","toString","selected","text","watchSelected","toggleSelect","selectOption","option","selectChanged","onChanged","InputEvent","data","inputType","connectedCallback","document","addEventListener","disconnectedCallback","removeEventListener","setSelected","undefined","setValue","getSelectedText","getValue","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<any>;\r\n\r\n @Event() selectBlurred: EventEmitter<{ name: string; value: string }>;\r\n @Event() onBlurred: EventEmitter<any>;\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: any; 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.id);\r\n\r\n this.el.dispatchEvent(\r\n new InputEvent('input', {\r\n bubbles: true,\r\n composed: true,\r\n data: option.id,\r\n inputType: 'select',\r\n }),\r\n );\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(this.selectedId);\r\n\r\n this.el.dispatchEvent(\r\n new FocusEvent('blur', {\r\n bubbles: true,\r\n composed: true,\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 @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 async setValue(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 async getValue() {\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":"sEAOaA,EAAS,MALtB,WAAAC,CAAAC,G,8KAWUC,KAAAC,SAAoB,MAKpBD,KAAAE,cAAwB,OAExBF,KAAAG,aAAwB,GAKxBH,KAAAI,YAAsB,GACtBJ,KAAAK,gBAA0B,GAC1BL,KAAAM,WAAqB,GAEpBN,KAAAO,QAAmB,MAsD5BP,KAAAQ,mBAAsBC,IACpB,GAAIT,KAAKO,UAAYP,KAAKU,GAAGC,SAASF,EAAMG,QAAiB,CAC3DZ,KAAKO,QAAU,K,GAInBP,KAAAa,WAAa,KACXb,KAAKc,cAAcC,KAAK,CACtBC,KAAMhB,KAAKM,YAAcN,KAAKiB,UAC9BC,MAAOlB,KAAKmB,cAAgB,KAE9BnB,KAAKoB,UAAUL,KAAKf,KAAKqB,YAEzBrB,KAAKU,GAAGY,cACN,IAAIC,WAAW,OAAQ,CACrBC,QAAS,KACTC,SAAU,OAEb,C,CA9DH,iBAAYC,GACV,IACE,OAAOC,KAAKC,MAAM5B,KAAK6B,Q,CACvB,MAAAC,GACA,MAAO,E,EAIX,iBAAAC,GACE,MAAMC,EAAiBhC,KAAK0B,cAAcO,MAAKC,GAAOA,EAAIC,GAAGC,aAAepC,KAAKqC,UAAYH,EAAII,OAAStC,KAAKqC,WAC/G,GAAIL,EAAgB,CAClBhC,KAAKqB,WAAaW,EAAeG,GACjCnC,KAAKmB,aAAea,EAAeM,I,CAErC,GAAItC,KAAKqC,SAAU,CACjBrC,KAAKuC,cAAcvC,KAAKqC,S,EAI5B,YAAAG,GACE,IAAKxC,KAAKC,SAAU,CAClBD,KAAKO,SAAWP,KAAKO,O,EAIzB,YAAAkC,CAAaC,GACX,IAAK1C,KAAKC,SAAU,CAClBD,KAAKqB,WAAaqB,EAAOP,GACzBnC,KAAKmB,aAAeuB,EAAOJ,KAC3BtC,KAAKO,QAAU,MACfP,KAAK2C,cAAc5B,KAAK2B,GACxB1C,KAAK4C,UAAU7B,KAAK2B,EAAOP,IAE3BnC,KAAKU,GAAGY,cACN,IAAIuB,WAAW,QAAS,CACtBrB,QAAS,KACTC,SAAU,KACVqB,KAAMJ,EAAOP,GACbY,UAAW,W,EA2BnB,iBAAAC,GACEC,SAASC,iBAAiB,QAASlD,KAAKQ,mB,CAG1C,oBAAA2C,GACEF,SAASG,oBAAoB,QAASpD,KAAKQ,mB,CAI7C,iBAAM6C,CAAYnC,GAChB,MAAMc,EAAiBhC,KAAK0B,cAAcO,MAAKC,GAAOA,EAAIC,GAAGC,aAAelB,EAAMkB,YAAcF,EAAII,OAASpB,IAE7G,GAAIc,EAAgB,CAClBhC,KAAKqB,WAAaW,EAAeG,GACjCnC,KAAKmB,aAAea,EAAeM,KACnCtC,KAAKqC,SAAWL,EAAeG,GAAGC,U,KAC7B,CACLpC,KAAKqB,WAAaiC,UAClBtD,KAAKmB,aAAe,GACpBnB,KAAKqC,SAAW,E,EAIpB,cAAMkB,CAASrC,GACb,MAAMc,EAAiBhC,KAAK0B,cAAcO,MAAKC,GAAOA,EAAIC,GAAGC,aAAelB,EAAMkB,YAAcF,EAAII,OAASpB,IAE7G,GAAIc,EAAgB,CAClBhC,KAAKqB,WAAaW,EAAeG,GACjCnC,KAAKmB,aAAea,EAAeM,KACnCtC,KAAKqC,SAAWL,EAAeG,GAAGC,U,KAC7B,CACLpC,KAAKqB,WAAaiC,UAClBtD,KAAKmB,aAAe,GACpBnB,KAAKqC,SAAW,E,EAKpB,qBAAMmB,GACJ,OAAOxD,KAAKmB,Y,CAGd,cAAMsC,GACJ,OAAOzD,KAAKmB,cAAgB,E,CAI9B,aAAAoB,CAAcmB,GACZ,MAAM1B,EAAiBhC,KAAK0B,cAAcO,MAAKC,GAAOA,EAAIC,GAAGC,aAAesB,GAAUxB,EAAII,OAASoB,IAEnG,GAAI1B,EAAgB,CAClBhC,KAAKqB,WAAaW,EAAeG,GACjCnC,KAAKmB,aAAea,EAAeM,I,KAC9B,CACLtC,KAAKqB,WAAaiC,UAClBtD,KAAKmB,aAAe,E,EAIhB,YAAAwC,CAAaC,GACnB,MAAMC,EAAQ,CAAC,MAAO,MAAO,QAAS,OAAQ,QAC9C,OAAOA,EAAMD,EAAM,IAAMA,EAAIxB,U,CAG/B,MAAA0B,GACE,MAAMC,EAAU,GAAG/D,KAAKiB,kBACxB,MAAM+C,EAAU,GAAGhE,KAAKiB,kBAExB,OACEgD,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CACEC,MAAO,qCACiBpE,KAAKG,8BACzBH,KAAKqE,gCACLrE,KAAKC,SAAW,qBAAuB,mCACxBD,KAAKsE,uBAAuBtE,KAAKuE,+BAGnDvE,KAAKwE,OACJP,EAAA,QAAAE,IAAA,2CAAMhC,GAAI4B,EAASK,MAAM,mBACtBpE,KAAKwE,OAGVP,EAAA,OAAAE,IAAA,2CAAKC,MAAM,0BACTH,EAAA,UAAAE,IAAA,2CACEnD,KAAMhB,KAAKyE,mBACXtC,GAAInC,KAAKiB,UACTyD,KAAK,SACLN,MAAM,oCAAmC,kBACxB,GAAGL,KAAW/D,KAAKiB,YACpChB,SAAUD,KAAKC,SACf0E,QAAS,IAAM3E,KAAKwC,eACpBoC,OAAQ5E,KAAKa,YAEboD,EAAA,QAAAE,IAAA,2CAAMhC,GAAI6B,EAASI,MAAM,2BACtBpE,KAAKmB,cAAgBnB,KAAKI,aAE7B6D,EAAA,KAAAE,IAAA,2CAAGC,MAAM,iBAAgB,cAAa,QACnCpE,KAAKO,QAAU,oBAAsB,wBAIzCP,KAAKO,SACJ0D,EAAA,OAAAE,IAAA,2CAAKC,MAAM,2CACRpE,KAAK0B,cAAcmD,OAAS,EAC3B7E,KAAK0B,cAAcoD,KAAI,CAACpC,EAAQqC,IAC9Bd,EAAA,UACEjD,KAAM,SAAShB,KAAK2D,aAAaoB,EAAQ,KACzCL,KAAK,SACLN,MAAO,2BAA2BpE,KAAKqB,aAAeqB,EAAOP,GAAK,WAAa,KAC/E6C,KAAK,SAAQ,gBACEhF,KAAKqB,aAAeqB,EAAOP,GAAK,OAAS,QACxDwC,QAAS,IAAM3E,KAAKyC,aAAaC,IAEhCA,EAAOJ,QAIZ2B,EAAA,OAAKG,MAAM,2BAAyB,0BAM3CpE,KAAKuE,kBAAoB,SAAWvE,KAAKiF,cACxChB,EAAA,QAAMG,MAAM,oBAAoBjC,GAAInC,KAAKE,cAAe8E,KAAK,SAC1DhF,KAAKiF,eAGRjF,KAAKkF,aACHjB,EAAA,QAAMG,MAAM,kBAAkBjC,GAAInC,KAAKE,eACpCF,KAAKkF,c","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icnPDFSvg","icnPowerPointSvg","icnWordSvg","icnExcelSvg","icnImageSvg","icnVideoSvg","icnOneNoteSvg","icnDefaultSvg","DdaAttachFile","constructor","hostRef","this","validation_id","custom_class","aria_label","button_aria_label","disabled","max_file_size","file_size_error_message","file","isFileUploaded","internalErrorMessage","fileIcons","pdf","pdfIcon","pptx","pptIcon","docx","wordIcon","xlsx","excelIcon","png","imageIcon","jpg","jpeg","mp4","videoIcon","mkv","one","onenoteIcon","getFile","handleFileInput","event","files","_a","target","length","selectedFile","fileSizeInMB","size","replace","toString","validation_type","fileChanged","emit","removeFile","fileInputRef","value","getFileIcon","fileName","extension","split","pop","toLowerCase","defaultIcon","render","inputClass","input_type","component_mode","filter","Boolean","join","shouldShowError","error_message","h","Host","key","class","label","id","input_id","src","name","alt","type","button_name","button_id","role","tabIndex","onClick","place_holder","click","upload_button_text","htmlFor","input_name","accept","hidden","ref","el","onInput","success_text","helper_text"],"sources":["src/assets/img/icn/file_icons/icn-PDF.svg","src/assets/img/icn/file_icons/icn-PowerPoint.svg","src/assets/img/icn/file_icons/icn-Word.svg","src/assets/img/icn/file_icons/icn-Excel.svg","src/assets/img/icn/file_icons/icn-Image.svg","src/assets/img/icn/file_icons/icn-Video.svg","src/assets/img/icn/file_icons/icn-OneNote.svg","src/assets/img/icn/file_icons/icn-default.svg","src/components/dda-attach-file/dda-attach-file.tsx"],"sourcesContent":["<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M16 7.44336H13.5C12.673 7.44336 12 6.77036 12 5.94336V2.44336H4V18.4434H16V7.44336Z\" fill=\"white\"/>\r\n<path d=\"M16 6.44336V6.15036L13 3.15036V5.94336C13 6.21836 13.225 6.44336 13.5 6.44336H16Z\" fill=\"white\"/>\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.707 5.44336L13 1.73636C12.8125 1.54881 12.5582 1.44342 12.293 1.44336H4C3.44772 1.44336 3 1.89107 3 2.44336V18.4434C3 18.9956 3.44772 19.4434 4 19.4434H16C16.5523 19.4434 17 18.9956 17 18.4434V6.15036C16.9999 5.88516 16.8945 5.63085 16.707 5.44336ZM16 6.15036V6.44336H13.5C13.2241 6.44281 13.0006 6.21927 13 5.94336V3.15036L16 6.15036ZM4 2.64336V18.2434C4 18.3538 4.08954 18.4434 4.2 18.4434H15.8C15.9105 18.4434 16 18.3538 16 18.2434V7.44336H13.5C12.6716 7.44336 12 6.77179 12 5.94336V2.44336H4.2C4.09 2.44336 4 2.53336 4 2.64336Z\" fill=\"#3F4948\"/>\r\n<path d=\"M14.5 10.4434H5.5C5.22386 10.4434 5 10.2195 5 9.94336C5 9.66722 5.22386 9.44336 5.5 9.44336H14.5C14.7761 9.44336 15 9.66722 15 9.94336C15 10.2195 14.7761 10.4434 14.5 10.4434Z\" fill=\"#E0E3E2\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6 16.4434V12.4434C6 11.8911 6.44772 11.4434 7 11.4434H13C13.5523 11.4434 14 11.8911 14 12.4434V16.4434C14 16.9956 13.5523 17.4434 13 17.4434H7C6.44772 17.4434 6 16.9956 6 16.4434ZM7.2 16.4434H12.794C12.8468 16.445 12.898 16.425 12.9358 16.388C12.9735 16.351 12.9946 16.3002 12.994 16.2474C12.988 15.5694 12.996 13.3154 13 12.6374C13 12.5274 12.91 12.4434 12.8 12.4434H7.2C7.09 12.4434 7 12.5334 7 12.6434V16.2434C7 16.3538 7.08954 16.4434 7.2 16.4434ZM4.75 16.4434H3C2.44772 16.4434 2 15.9956 2 15.4434V13.4434C2 12.8911 2.44772 12.4434 3 12.4434H4.75C4.88807 12.4434 5 12.5553 5 12.6934V16.1934C5 16.3314 4.88807 16.4434 4.75 16.4434ZM15.25 16.4434H17C17.5523 16.4434 18 15.9956 18 15.4434V13.4434C18 12.8911 17.5523 12.4434 17 12.4434H15.25C15.1119 12.4434 15 12.5553 15 12.6934V16.1934C15 16.3314 15.1119 16.4434 15.25 16.4434Z\" fill=\"#DD6B51\"/>\r\n</svg>\r\n","<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M18 7.44336H15.5C14.673 7.44336 14 6.77036 14 5.94336V2.44336H6V18.4434H18V7.44336Z\" fill=\"white\"/>\r\n<path d=\"M18 6.44336V6.15036L15 3.15036V5.94336C15 6.21836 15.225 6.44336 15.5 6.44336H18Z\" fill=\"white\"/>\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.707 5.44336L15 1.73636C14.8125 1.54881 14.5582 1.44342 14.293 1.44336H6C5.44772 1.44336 5 1.89107 5 2.44336V18.4434C5 18.9956 5.44772 19.4434 6 19.4434H18C18.5523 19.4434 19 18.9956 19 18.4434V6.15036C18.9999 5.88516 18.8945 5.63085 18.707 5.44336ZM18 6.15036V6.44336H15.5C15.2241 6.44281 15.0006 6.21927 15 5.94336V3.15036L18 6.15036ZM6 2.64336V18.2434C6 18.3538 6.08954 18.4434 6.2 18.4434H17.8C17.9105 18.4434 18 18.3538 18 18.2434V7.44336H15.5C14.6716 7.44336 14 6.77179 14 5.94336V2.44336H6.2C6.09 2.44336 6 2.53336 6 2.64336Z\" fill=\"#3F4948\"/>\r\n<path d=\"M15.95 11.4434H14L13 10.4434L12 11.4434V13.9324C12.419 14.2484 12.935 14.4434 13.5 14.4434C14.2508 14.4435 14.9619 14.1062 15.4368 13.5247C15.9118 12.9432 16.1002 12.179 15.95 11.4434Z\" fill=\"#DD6B51\"/>\r\n<path d=\"M13.5 9.44336C12.9578 9.44449 12.4309 9.62328 12 9.95236V11.4434H14V9.49336C13.8354 9.46001 13.6679 9.44326 13.5 9.44336V9.44336Z\" fill=\"#FFEBE6\"/>\r\n<path d=\"M15 10.4434H17C16.7939 9.43641 16.0069 8.6495 15 8.44336V10.4434H15Z\" fill=\"#FFEBE6\"/>\r\n<path d=\"M2 16.4434H10C10.5523 16.4434 11 15.9956 11 15.4434V7.44336C11 6.89107 10.5523 6.44336 10 6.44336H2C1.44772 6.44336 1 6.89107 1 7.44336V15.4434C1 15.9956 1.44772 16.4434 2 16.4434Z\" fill=\"#DD6B51\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.50496 8.92436C7.17596 8.60336 6.69996 8.44336 6.07996 8.44336H4.01196V14.4434H4.99996V12.3224H6.01496C6.37901 12.33 6.73878 12.2428 7.05896 12.0694C7.35996 11.9004 7.59096 11.6644 7.75496 11.3594C7.91896 11.0554 7.99996 10.7074 7.99996 10.3174C7.99996 9.71036 7.83496 9.24536 7.50496 8.92436ZM5.89896 11.4434H4.99996V9.43136H5.93096C6.35896 9.43136 6.99996 9.43536 6.99996 10.4434C6.99996 11.3414 6.40596 11.4434 5.89896 11.4434Z\" fill=\"#E0E3E2\"/>\r\n</svg>\r\n","<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M18 7.44336H15.5C14.673 7.44336 14 6.77036 14 5.94336V2.44336H6V18.4434H18V7.44336Z\" fill=\"white\"/>\r\n<path d=\"M18 6.44336V6.15036L15 3.15036V5.94336C15 6.21836 15.225 6.44336 15.5 6.44336H18Z\" fill=\"white\"/>\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.707 5.44336L15 1.73636C14.8125 1.54881 14.5582 1.44342 14.293 1.44336H6C5.44772 1.44336 5 1.89107 5 2.44336V18.4434C5 18.9956 5.44772 19.4434 6 19.4434H18C18.5523 19.4434 19 18.9956 19 18.4434V6.15036C18.9999 5.88516 18.8945 5.63085 18.707 5.44336ZM18 6.15036V6.44336H15.5C15.2241 6.44281 15.0006 6.21927 15 5.94336V3.15036L18 6.15036ZM6 2.64336V18.2434C6 18.3538 6.08954 18.4434 6.2 18.4434H17.8C17.9105 18.4434 18 18.3538 18 18.2434V7.44336H15.5C14.6716 7.44336 14 6.77179 14 5.94336V2.44336H6.2C6.09 2.44336 6 2.53336 6 2.64336Z\" fill=\"#3F4948\"/>\r\n<path d=\"M16.5 12.4434H12V13.4434H16.5C16.7761 13.4434 17 13.2195 17 12.9434C17 12.6672 16.7761 12.4434 16.5 12.4434Z\" fill=\"#006A67\"/>\r\n<path d=\"M16.5 10.4434H12V11.4434H16.5C16.7761 11.4434 17 11.2195 17 10.9434C17 10.6672 16.7761 10.4434 16.5 10.4434Z\" fill=\"#006A67\"/>\r\n<path d=\"M16.5 8.44336H12V9.44336H16.5C16.7761 9.44336 17 9.2195 17 8.94336C17 8.66722 16.7761 8.44336 16.5 8.44336Z\" fill=\"#006687\"/>\r\n<path d=\"M2 16.4434H10C10.5523 16.4434 11 15.9956 11 15.4434V7.44336C11 6.89107 10.5523 6.44336 10 6.44336H2C1.44772 6.44336 1 6.89107 1 7.44336V15.4434C1 15.9956 1.44772 16.4434 2 16.4434Z\" fill=\"#006A67\"/>\r\n<path d=\"M7.21 14.3794L6 9.93935L4.794 14.3794H3.918L2.755 8.53735H3.641L4.449 12.3634L5.523 8.53735H6.389L7.54201 12.4534L8.34401 8.53735H9.229L8.085 14.3794H7.21Z\" fill=\"white\"/>\r\n</svg>\r\n","<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M18 7.44336H15.5C14.673 7.44336 14 6.77036 14 5.94336V2.44336H6V18.4434H18V7.44336Z\" fill=\"white\"/>\r\n<path d=\"M18 6.44336V6.15036L15 3.15036V5.94336C15 6.21836 15.225 6.44336 15.5 6.44336H18Z\" fill=\"white\"/>\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.707 5.44336L15 1.73636C14.8125 1.54881 14.5582 1.44342 14.293 1.44336H6C5.44772 1.44336 5 1.89107 5 2.44336V18.4434C5 18.9956 5.44772 19.4434 6 19.4434H18C18.5523 19.4434 19 18.9956 19 18.4434V6.15036C18.9999 5.88516 18.8945 5.63085 18.707 5.44336ZM18 6.15036V6.44336H15.5C15.2241 6.44281 15.0006 6.21927 15 5.94336V3.15036L18 6.15036ZM6 2.64336V18.2434C6 18.3538 6.08954 18.4434 6.2 18.4434H17.8C17.9105 18.4434 18 18.3538 18 18.2434V7.44336H15.5C14.6716 7.44336 14 6.77179 14 5.94336V2.44336H6.2C6.09 2.44336 6 2.53336 6 2.64336Z\" fill=\"#3F4948\"/>\r\n<path d=\"M2 16.4434H10C10.5523 16.4434 11 15.9956 11 15.4434V7.44336C11 6.89107 10.5523 6.44336 10 6.44336H2C1.44772 6.44336 1 6.89107 1 7.44336V15.4434C1 15.9956 1.44772 16.4434 2 16.4434Z\" fill=\"#0D6D2D\"/>\r\n<path d=\"M4.60602 14.4434L8.31302 8.44336H7.15002L3.39502 14.4434H4.60602Z\" fill=\"white\"/>\r\n<path d=\"M7.37299 14.4434L3.66699 8.44336H4.82899L8.58299 14.4434H7.37299Z\" fill=\"white\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.084 14.3254H17V10.5834C17 9.15636 16.327 8.44336 14.982 8.44336C14.6146 8.45162 14.2501 8.51085 13.899 8.61936C13.493 8.73636 13.206 8.85836 13.039 8.98536V9.92336C13.594 9.45836 14.216 9.22536 14.904 9.22536C15.691 9.22536 16.084 9.70936 16.084 10.6784L14.369 10.9184C13.109 11.0974 12.479 11.7184 12.479 12.7834C12.479 13.2914 12.646 13.6934 12.977 13.9934C13.308 14.2934 13.751 14.4434 14.301 14.4434C15.075 14.4434 15.663 14.0994 16.061 13.4104H16.084V14.3254ZM14.698 11.6054L16.084 11.4104V11.9794C16.084 12.4604 15.935 12.8614 15.639 13.1814C15.344 13.5014 14.968 13.6614 14.514 13.6614C14.193 13.6614 13.93 13.5754 13.725 13.4024C13.52 13.2284 13.418 12.9984 13.418 12.7124C13.418 12.3574 13.513 12.1024 13.703 11.9434C13.893 11.7854 14.225 11.6724 14.698 11.6054Z\" fill=\"#0D6D2D\"/>\r\n</svg>\r\n","<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M3.5 17.4434H16.5C16.775 17.4434 17 17.2184 17 16.9434V3.94336C17 3.66836 16.775 3.44336 16.5 3.44336H3.5C3.225 3.44336 3 3.66836 3 3.94336V16.9434C3 17.2184 3.225 17.4434 3.5 17.4434Z\" fill=\"white\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.691 11.1004L10.813 12.3864L9.12599 10.0604C8.93788 9.80101 8.63689 9.64749 8.31649 9.64749C7.9961 9.64749 7.6951 9.80101 7.50699 10.0604L5.11699 13.3564C4.89632 13.6607 4.86498 14.0631 5.03589 14.398C5.20679 14.7328 5.55105 14.9435 5.92699 14.9434H14.073C14.4438 14.9435 14.7843 14.7383 14.9575 14.4104C15.1307 14.0825 15.1082 13.6856 14.899 13.3794L13.343 11.0994C13.1567 10.8264 12.8475 10.663 12.517 10.663C12.1865 10.663 11.8773 10.8264 11.691 11.0994V11.1004Z\" stroke=\"#E0E3E2\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M13.5 7.94336C14.0523 7.94336 14.5 7.49564 14.5 6.94336C14.5 6.39107 14.0523 5.94336 13.5 5.94336C12.9477 5.94336 12.5 6.39107 12.5 6.94336C12.5 7.49564 12.9477 7.94336 13.5 7.94336Z\" stroke=\"#835400\"/>\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3.5 18.4434H16.5C17.327 18.4434 18 17.7704 18 16.9434V3.94336C18 3.11636 17.327 2.44336 16.5 2.44336H3.5C2.673 2.44336 2 3.11636 2 3.94336V16.9434C2 17.7704 2.673 18.4434 3.5 18.4434ZM3 3.94336C3 3.66722 3.22386 3.44336 3.5 3.44336H16.5C16.7761 3.44336 17 3.66722 17 3.94336V16.9434C17 17.2195 16.7761 17.4434 16.5 17.4434H3.5C3.22386 17.4434 3 17.2195 3 16.9434V3.94336Z\" fill=\"#3F4948\"/>\r\n</svg>\r\n","<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M3.5 17.4434H16.5C16.775 17.4434 17 17.2184 17 16.9434V3.94336C17 3.66836 16.775 3.44336 16.5 3.44336H3.5C3.225 3.44336 3 3.66836 3 3.94336V16.9434C3 17.2184 3.225 17.4434 3.5 17.4434Z\" fill=\"white\"/>\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3.5 18.4434H16.5C17.327 18.4434 18 17.7704 18 16.9434V3.94336C18 3.11636 17.327 2.44336 16.5 2.44336H3.5C2.673 2.44336 2 3.11636 2 3.94336V16.9434C2 17.7704 2.673 18.4434 3.5 18.4434ZM3 3.94336C3 3.66722 3.22386 3.44336 3.5 3.44336H16.5C16.7761 3.44336 17 3.66722 17 3.94336V16.9434C17 17.2195 16.7761 17.4434 16.5 17.4434H3.5C3.22386 17.4434 3 17.2195 3 16.9434V3.94336Z\" fill=\"#3F4948\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.5 10.4434L8.5 7.94336V12.9434L12.5 10.4434Z\" stroke=\"#006687\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg>\r\n","<svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path opacity=\"0.64\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.5 19.4434H16.5C17.327 19.4434 18 18.7704 18 17.9434V7.44336C18.5523 7.44336 19 6.99564 19 6.44336V3.44336C19 2.89107 18.5523 2.44336 18 2.44336H17.914C17.708 1.86136 17.152 1.44336 16.5 1.44336H6.5C5.673 1.44336 5 2.11636 5 2.94336V17.9434C5 18.7704 5.673 19.4434 6.5 19.4434ZM6 2.94336C6 2.66722 6.22386 2.44336 6.5 2.44336H16.5C16.7761 2.44336 17 2.66722 17 2.94336V3.44336H18V6.44336H17V17.9434C17 18.2195 16.7761 18.4434 16.5 18.4434H6.5C6.22386 18.4434 6 18.2195 6 17.9434V2.94336Z\" fill=\"#3F4948\"/>\r\n<path d=\"M18 3.44336H17V2.94336C17 2.66722 16.7761 2.44336 16.5 2.44336H6.5C6.22386 2.44336 6 2.66722 6 2.94336V17.9434C6 18.2195 6.22386 18.4434 6.5 18.4434H16.5C16.7761 18.4434 17 18.2195 17 17.9434V6.44336H18V3.44336Z\" fill=\"white\"/>\r\n<path d=\"M2 16.4434H10C10.5523 16.4434 11 15.9956 11 15.4434V7.44336C11 6.89107 10.5523 6.44336 10 6.44336H2C1.44772 6.44336 1 6.89107 1 7.44336V15.4434C1 15.9956 1.44772 16.4434 2 16.4434Z\" fill=\"#904EDB\"/>\r\n<path d=\"M9 14.4434H7.604C7.604 14.4434 3.995 9.76036 4 9.75536V14.4434H3V8.44336H4.27C4.27 8.44336 7.898 13.1054 8 13.2714V8.44336H9V14.4434Z\" fill=\"white\"/>\r\n</svg>\r\n","<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" fill=\"#3F4948\" viewBox=\"0 0 256 256\"><path d=\"M210.83,85.17l-56-56A4,4,0,0,0,152,28H56A12,12,0,0,0,44,40V216a12,12,0,0,0,12,12H200a12,12,0,0,0,12-12V88A4,4,0,0,0,210.83,85.17ZM156,41.65,198.34,84H156ZM200,220H56a4,4,0,0,1-4-4V40a4,4,0,0,1,4-4h92V88a4,4,0,0,0,4,4h52V216A4,4,0,0,1,200,220Z\"></path></svg>","import { Component, Prop, State, Event, EventEmitter, Method, h, Host } from '@stencil/core';\r\nimport pdfIcon from '../../assets/img/icn/file_icons/icn-PDF.svg';\r\nimport pptIcon from '../../assets/img/icn/file_icons/icn-PowerPoint.svg';\r\nimport wordIcon from '../../assets/img/icn/file_icons/icn-Word.svg';\r\nimport excelIcon from '../../assets/img/icn/file_icons/icn-Excel.svg';\r\nimport imageIcon from '../../assets/img/icn/file_icons/icn-Image.svg';\r\nimport videoIcon from '../../assets/img/icn/file_icons/icn-Video.svg';\r\nimport onenoteIcon from '../../assets/img/icn/file_icons/icn-OneNote.svg';\r\nimport defaultIcon from '../../assets/img/icn/file_icons/icn-default.svg';\r\n\r\n@Component({\r\n tag: 'dda-attach-file',\r\n styleUrls: [],\r\n shadow: false,\r\n})\r\nexport class DdaAttachFile {\r\n @Prop() label: string;\r\n @Prop() place_holder: string;\r\n @Prop() upload_button_text: string;\r\n @Prop() helper_text: string;\r\n @Prop() success_text: string;\r\n @Prop() error_message: string;\r\n @Prop() size?: string;\r\n @Prop() validation_type?: string;\r\n @Prop() validation_id: string = 'text';\r\n @Prop() input_type?: string;\r\n @Prop() custom_class?: string = '';\r\n @Prop() component_mode?: string;\r\n @Prop() aria_label?: string = '';\r\n @Prop() button_aria_label?: string = '';\r\n @Prop() input_id: string;\r\n @Prop() input_name?: string;\r\n @Prop() button_id: string;\r\n @Prop() button_name?: string;\r\n @Prop() accept?: string;\r\n @Prop() disabled: boolean = false;\r\n\r\n @Prop() max_file_size: number = 5; // in MB\r\n @Prop() file_size_error_message: string = 'File size should not exceed {max} MB';\r\n \r\n @State() file: File | null = null;\r\n @State() isFileUploaded: boolean = false;\r\n @State() internalErrorMessage: string = '';\r\n\r\n private fileInputRef: HTMLInputElement;\r\n\r\n @Event() fileChanged: EventEmitter<File | null>;\r\n\r\n @Method()\r\n async getFile(): Promise<File | null> {\r\n return this.file;\r\n }\r\n\r\n private fileIcons = {\r\n pdf: pdfIcon,\r\n pptx: pptIcon,\r\n docx: wordIcon,\r\n xlsx: excelIcon,\r\n png: imageIcon,\r\n jpg: imageIcon,\r\n jpeg: imageIcon,\r\n mp4: videoIcon,\r\n mkv: videoIcon,\r\n one: onenoteIcon,\r\n };\r\n\r\n handleFileInput(event: Event) {\r\n const files = (event.target as HTMLInputElement)?.files;\r\n if (files && files.length > 0) {\r\n const selectedFile = files[0];\r\n const fileSizeInMB = selectedFile.size / (1024 * 1024);\r\n\r\n if (this.max_file_size && fileSizeInMB > this.max_file_size) {\r\n this.file = null;\r\n this.isFileUploaded = false;\r\n this.internalErrorMessage = this.file_size_error_message.replace('{max}', this.max_file_size.toString());\r\n this.validation_type = 'error';\r\n this.fileChanged.emit(null);\r\n return;\r\n }\r\n\r\n this.file = selectedFile;\r\n this.isFileUploaded = true;\r\n this.internalErrorMessage = '';\r\n this.validation_type = 'normal';\r\n this.fileChanged.emit(this.file);\r\n } else {\r\n this.file = null;\r\n this.isFileUploaded = false;\r\n this.internalErrorMessage = '';\r\n this.validation_type = 'normal';\r\n this.fileChanged.emit(null);\r\n }\r\n }\r\n\r\n removeFile() {\r\n this.file = null;\r\n this.isFileUploaded = false;\r\n this.fileInputRef.value = '';\r\n this.internalErrorMessage = '';\r\n this.validation_type = 'normal';\r\n this.fileChanged.emit(null);\r\n }\r\n\r\n getFileIcon(fileName: string) {\r\n const extension = fileName.split('.').pop()?.toLowerCase();\r\n return this.fileIcons[extension] || defaultIcon;\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_type ? `dda-input-${this.input_type}` : '',\r\n this.custom_class,\r\n this.component_mode,\r\n ].filter(Boolean).join(' ');\r\n\r\n const shouldShowError = this.validation_type === 'error' && (this.internalErrorMessage || this.error_message);\r\n\r\n return (\r\n <Host>\r\n <div class={inputClass}>\r\n {this.label && (\r\n <span class=\"dda-input-label\" id={`${this.input_id}-label`}>\r\n {this.label}\r\n </span>\r\n )}\r\n\r\n <div class=\"dda-input-field-group dda-attach-file\">\r\n {this.file ? (\r\n <div class=\"dda-file-details\">\r\n <div class=\"dda-items\">\r\n <img src={this.getFileIcon(this.file.name)} alt=\"File Icon\" class=\"dda-file-icon\" />\r\n <span class=\"dda-file-name\">{this.file.name}</span>\r\n </div>\r\n <button\r\n type=\"button\"\r\n class=\"remove-file\"\r\n name={this.button_name}\r\n id={this.button_id}\r\n role=\"button\"\r\n tabIndex={0}\r\n aria-label={this.button_aria_label || 'Remove file'}\r\n onClick={() => this.removeFile()}\r\n disabled={this.disabled}\r\n >\r\n <i class=\"material-icons material-symbols-outlined\" aria-hidden=\"true\">close</i>\r\n </button>\r\n </div>\r\n ) : (\r\n <div class=\"dda-file-input\">\r\n <span>{this.place_holder || 'No File Selected'}</span>\r\n <button\r\n type=\"button\"\r\n class=\"dda-file-choose\"\r\n name={this.button_name}\r\n id={this.button_id}\r\n tabIndex={0}\r\n aria-labelledby={`${this.button_id}-label`}\r\n onClick={() => this.fileInputRef?.click()}\r\n disabled={this.disabled}\r\n >\r\n {this.upload_button_text || 'Choose File'}\r\n </button>\r\n <span id={`${this.button_id}-label`} class=\"visually-hidden\">\r\n {this.upload_button_text || 'Choose File'}\r\n </span>\r\n\r\n <label htmlFor={this.input_id} class=\"visually-hidden\">\r\n {this.label}\r\n </label>\r\n <input\r\n id={this.input_id}\r\n name={this.input_name}\r\n type=\"file\"\r\n accept={this.accept}\r\n disabled={this.disabled}\r\n hidden\r\n ref={(el) => (this.fileInputRef = el as HTMLInputElement)}\r\n onInput={(event) => this.handleFileInput(event)}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n\r\n {shouldShowError ? (\r\n <span class=\"dda-error-message\" id={this.validation_id} role=\"alert\" aria-live=\"assertive\">\r\n <span class=\"dda-d-flex dda-align-items-start dda-gap-2\">\r\n <i class=\"material-icons material-symbols-outlined\" aria-hidden=\"true\">info</i>\r\n <span>{this.internalErrorMessage || this.error_message}</span>\r\n </span>\r\n </span>\r\n ) : this.isFileUploaded && this.success_text ? (\r\n <span class=\"dda-success-text\" id={this.validation_id} role=\"status\" aria-live=\"polite\">\r\n <span class=\"dda-d-flex dda-align-items-start dda-gap-2\">\r\n <i class=\"material-icons material-symbols-outlined\" aria-hidden=\"true\">check</i>\r\n <span>{this.success_text}</span>\r\n </span>\r\n </span>\r\n ) : this.helper_text ? (\r\n <span class=\"dda-helper-text\" id={this.validation_id}>\r\n <span class=\"dda-d-flex dda-align-items-start dda-gap-2\">\r\n <i class=\"material-icons material-symbols-outlined\" aria-hidden=\"true\">info</i>\r\n <span>{this.helper_text}</span>\r\n </span>\r\n </span>\r\n ) : null}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}