@dubai-design-system/components-js 3.12.9 → 3.12.10

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 (54) hide show
  1. package/dist/cjs/dda-header.cjs.entry.js +4 -4
  2. package/dist/cjs/dda-header.cjs.entry.js.map +1 -1
  3. package/dist/cjs/dda-home-banner.cjs.entry.js +34 -5
  4. package/dist/cjs/dda-home-banner.cjs.entry.js.map +1 -1
  5. package/dist/cjs/dda-select.cjs.entry.js +2 -9
  6. package/dist/cjs/dda-select.cjs.entry.js.map +1 -1
  7. package/dist/collection/components/dda-header/dda-header-main.css +1 -0
  8. package/dist/collection/components/dda-header/dda-header.js +3 -3
  9. package/dist/collection/components/dda-header/dda-header.js.map +1 -1
  10. package/dist/collection/components/dda-home-banner/dda-home-banner.js +34 -5
  11. package/dist/collection/components/dda-home-banner/dda-home-banner.js.map +1 -1
  12. package/dist/collection/components/dda-select/dda-select.js +2 -12
  13. package/dist/collection/components/dda-select/dda-select.js.map +1 -1
  14. package/dist/components/dda-header.js +4 -4
  15. package/dist/components/dda-header.js.map +1 -1
  16. package/dist/components/dda-home-banner.js +34 -5
  17. package/dist/components/dda-home-banner.js.map +1 -1
  18. package/dist/components/dda-select.js +2 -9
  19. package/dist/components/dda-select.js.map +1 -1
  20. package/dist/dda/dda.esm.js +1 -1
  21. package/dist/dda/p-0ebdb27f.entry.js +2 -0
  22. package/dist/dda/p-0ebdb27f.entry.js.map +1 -0
  23. package/dist/dda/p-0fa24558.entry.js +2 -0
  24. package/dist/dda/p-0fa24558.entry.js.map +1 -0
  25. package/dist/dda/p-24da4601.entry.js +2 -0
  26. package/dist/dda/p-24da4601.entry.js.map +1 -0
  27. package/dist/esm/dda-header.entry.js +4 -4
  28. package/dist/esm/dda-header.entry.js.map +1 -1
  29. package/dist/esm/dda-home-banner.entry.js +34 -5
  30. package/dist/esm/dda-home-banner.entry.js.map +1 -1
  31. package/dist/esm/dda-select.entry.js +2 -9
  32. package/dist/esm/dda-select.entry.js.map +1 -1
  33. package/package.json +2 -2
  34. package/readme.md +4 -0
  35. package/www/build/dda.esm.js +1 -1
  36. package/www/build/p-0ebdb27f.entry.js +2 -0
  37. package/www/build/p-0ebdb27f.entry.js.map +1 -0
  38. package/www/build/p-0fa24558.entry.js +2 -0
  39. package/www/build/p-0fa24558.entry.js.map +1 -0
  40. package/www/build/p-24da4601.entry.js +2 -0
  41. package/www/build/p-24da4601.entry.js.map +1 -0
  42. package/dist/collection/global/global.css +0 -3007
  43. package/dist/dda/p-8a9c5267.entry.js +0 -2
  44. package/dist/dda/p-8a9c5267.entry.js.map +0 -1
  45. package/dist/dda/p-a11bf02a.entry.js +0 -2
  46. package/dist/dda/p-a11bf02a.entry.js.map +0 -1
  47. package/dist/dda/p-dc443758.entry.js +0 -2
  48. package/dist/dda/p-dc443758.entry.js.map +0 -1
  49. package/www/build/p-8a9c5267.entry.js +0 -2
  50. package/www/build/p-8a9c5267.entry.js.map +0 -1
  51. package/www/build/p-a11bf02a.entry.js +0 -2
  52. package/www/build/p-a11bf02a.entry.js.map +0 -1
  53. package/www/build/p-dc443758.entry.js +0 -2
  54. package/www/build/p-dc443758.entry.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ import{r as e,c as a,h as t}from"./p-1b339a0a.js";const i='.dda-header{width:100%;height:auto;background:var(--dda-surface-100);box-shadow:0px 6px 7px 0px rgba(0, 0, 0, 0.13);position:fixed;top:0;left:0;z-index:999}body.transparent .dda-header{background:transparent;box-shadow:none}.dda-header.white{background:var(--dda-surface-100) !important}.dda-header .dda-container-fluid{position:relative}body.transparent .dda-header.white{box-shadow:0px 6px 7px 0px rgba(0, 0, 0, 0.13)}body.transparent .dda-header::before{content:"";width:100%;height:250px;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%);position:absolute;top:0;left:0}.dda-header.white::before{display:none !important}.dda-head-logo{width:90vw;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:10px 20px;position:relative;direction:ltr !important}.govt-logo img{height:72px}.entt-logo img{height:54px}body.transparent .logo-colored{display:none}.logo-white{display:none}body.transparent .logo-white{display:block}.dda-header.white .dda-head-logo .logo-colored,:root[data-theme=\'dark\'] .dda-head-logo .logo-white{display:block}.dda-header.white .dda-head-logo .logo-white,:root[data-theme=\'dark\'] .dda-head-logo .logo-colored{display:none}:root[data-theme=\'dark\'] .dda-header.white .dda-head-logo .logo-white{display:block}.dda-menu-container{width:90vw;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:relative}.dda-main-navigation{display:flex;align-items:center;gap:10px}.dda-menu-overley{width:100%;height:100vh;background:#0000007e;position:fixed;top:0;left:0;z-index:1;display:none}.dda-menu-overley.show-overley{display:block}.hamburger-menu{display:flex;align-items:center}.hamburger-menu>dda-tooltip{height:22px}.hamburger-menu-btn{width:27px;height:22px;padding:0;background-color:transparent;border:transparent;position:relative}.hamburger-menu-btn::before,.hamburger-menu-btn::after{content:""}.hamburger-menu-btn::before,.hamburger-menu-btn::after,.hamburger-line{content:"";width:21px;height:2px;border-radius:4px;background-color:var(--dda-on-surface-30);position:absolute;left:3px}.hamburger-menu-btn::before{top:4px}.hamburger-menu-btn::after{bottom:4px}.hamburger-line{top:10px}.hamburger-menu-btn:hover::before,.hamburger-menu-btn:hover::after,.hamburger-menu-btn:hover .hamburger-line{background-color:var(--dda-color-primary-40)}body.transparent .hamburger-menu-btn::before,body.transparent .hamburger-menu-btn::after,body.transparent .hamburger-line{background-color:var(--dda-neutral-100) !important}.hamburger-menu-btn.close-menu .hamburger-line{display:none}.hamburger-menu-btn.close-menu::before{transform:rotate(45deg);top:10px}.hamburger-menu-btn.close-menu::after{transform:rotate(-45deg);bottom:10px}.hamburger-menu-text{width:0;height:0;opacity:0;position:absolute}.close-btn{position:absolute;inset-block-start:1.5rem;inset-inline-end:1.5rem;background:none;border:0;font-size:1.5em;z-index:10;color:#999999}.dda-header-megamenu{width:100%;padding:0 15px;position:fixed;top:175px;left:0}.dda-header-submenu-item{min-height:350px;background:var(--dda-surface-100);border-radius:8px;margin:0 auto;padding:42px 15px;box-shadow:0px 10px 15px -3px rgba(16, 24, 40, 0.1);position:relative}.dda-header-submenu-item .dda-header-submenu-title{font-size:var(--font-h6);font-weight:var(--font-weight-regular);color:var(--dda-on-surface-0);text-transform:uppercase;padding-inline-start:69px;margin-bottom:10px}.dda-header-submenu-item ul{display:flex;flex-direction:column;gap:8px;list-style:none}.dda-toolbar-menu,.dda-toolbar-menu-sidemenu{padding:0}.dda-toolbar-menu ul,.dda-toolbar-menu-sidemenu ul{display:flex;gap:10px;justify-content:center;margin:0px}.dda-toolbar-menu ul li .tool-btn,.dda-toolbar-menu-sidemenu ul li .tool-btn{height:40px;min-width:40px;background-color:var(--dda-surface-96);font-size:var(--font-body);color:var(--dda-on-surface-10);font-weight:var(--font-weight-regular);border:0px;padding:11px;border-radius:50px;display:inline-flex;align-items:center;justify-content:center;gap:10px}.dda-toolbar-menu ul li .tool-btn:focus-visible,.dda-toolbar-menu-sidemenu ul li .tool-btn:focus-visible{outline:solid 1px var(--dda-on-primary-variant-40) !important;outline-offset:-1px}.dda-toolbar-menu ul li .tool-btn img,.dda-toolbar-menu-sidemenu ul li .tool-btn img{height:17px;width:17px}.da-header-search{display:none}.dda-toolbar-menu ul li .tool-btn i,.dda-toolbar-menu ul li .tool-btn svg,.dda-toolbar-menu-sidemenu ul li .tool-btn i,.dda-toolbar-menu-sidemenu ul li .tool-btn svg{font-size:20px;color:var(--dda-on-surface-variant-30)}@media only screen and (min-width: 768px){body.transparent .dda-toolbar-menu ul li .tool-btn,body.transparent .dda-toolbar-menu-sidemenu ul li .tool-btn{background-color:rgb(41 42 45 / 14%);color:var(--dda-neutral-100)}body.transparent .dda-toolbar-menu ul li .tool-btn i,body.transparent .dda-toolbar-menu ul li .tool-btn svg,body.transparent .dda-toolbar-menu-sidemenu ul li .tool-btn i,body.transparent .dda-toolbar-menu-sidemenu ul li .tool-btn svg{color:var(--dda-neutral-100)}}.dda-search{position:relative}.dda-search i,.dda-search svg{font-size:21px;color:var(--dda-on-surface-variant-30);position:absolute;top:9px;inset-inline-start:10px;z-index:1}.dda-header-search-input{padding:0px !important}.dda-search input[type="text"]{width:110px;height:40px;background-color:transparent;border:0px;font-family:var(--font-family-main);font-size:var(--font-body);font-weight:var(--font-weight-regular);color:var(--dda-on-surface-0);border-radius:100px;padding-inline-start:40px !important;padding-inline-end:10px;}.dda-search input[type="text"]:focus{width:250px;}.dda-search input[type="text"]::-ms-input-placeholder{color:var(--dda-on-surface-0)}.dda-search input[type="text"]::placeholder{color:var(--dda-on-surface-0)}body.transparent .dda-header .dda-search input[type="text"]{color:var(--dda-surface-100)}body.transparent .dda-search input[type="text"]::-ms-input-placeholder{color:var(--dda-neutral-100)}body.transparent .dda-search input[type="text"]::placeholder{color:var(--dda-neutral-100)}body.transparent .dda-search i{color:var(--dda-neutral-100)}.dda-sidemenu{display:none;width:375px;background:var(--dda-surface-100);box-shadow:0px 4px 12px 0px rgba(0, 0, 0, 0.12);position:fixed;top:0px;inset-inline-start:-375px;bottom:0px;z-index:9;}.dda-sidemenu-content{display:flex;flex-direction:column;gap:15px;padding:32px;overflow-y:auto;height:100%;position:relative}.dda-sidemenu-content::-webkit-scrollbar{width:6px}.dda-sidemenu-content::-webkit-scrollbar-track{background:var(--dda-surface-variant-90)}.dda-sidemenu-content::-webkit-scrollbar-thumb{background:var(--dda-surface-variant-80)}.dda-sidemenu-content::-webkit-scrollbar-thumb:hover{background:var(--dda-color-primary-40)}.dda-side-nav-title{font-size:var(--font-h6);font-weight:var(--font-weight-regular);text-transform:uppercase;color:var(--dda-on-surface-0)}ul.main_side_menu{margin:0;margin-bottom:30px !important;padding:0px}ul.main_side_menu li{list-style:none;padding:0}ul.main_side_menu li a{display:flex;justify-content:space-between;padding-top:13px;padding-bottom:14px;text-decoration:none;font-size:var(--font-body);font-weight:var(--font-weight-regular);color:var(--dda-on-surface-0);border-bottom:1px solid var(--dda-surface-90);width:100%;cursor:pointer;position:relative}.main_sub_menu>ol>li:last-child>a{border-bottom:0}ul.main_side_menu li a.showSub::after,ul.main_side_menu li a.showSubSub::after{content:"";width:9px;height:9px;border-right:solid 2px var(--dda-color-primary-40);border-bottom:solid 2px var(--dda-color-primary-40);position:absolute;top:50%;inset-inline-end:3px;margin-top:-4.5px;transform:rotate(-45deg);}ul.main_side_menu li a i{display:block}:root[dir=\'rtl\'] ul.main_side_menu li a i{transform:rotate(180deg)}:root[dir=\'rtl\'] ul.main_side_menu li a.showSub::after,:root[dir=\'rtl\'] ul.main_side_menu li a.showSubSub::after{transform:rotate(135deg)}:root[dir=\'rtl\'] .material-icons{direction:rtl}ul.main_side_menu li a:hover,ul.main_side_menu li a.active,ul.main_side_menu li a.icon_arrow{color:var(--dda-color-primary-40);border-bottom:solid 2px var(--dda-color-primary-40);padding-bottom:13px}ul.main_side_menu li a.showSub.icon_arrow::after,ul.main_side_menu li a.showSubSub.icon_arrow::after{border-right:solid 2px var(--dda-color-primary-40);border-bottom:solid 2px var(--dda-color-primary-40)}ul.main_side_menu li .main_sub_menu{display:none;position:fixed;inset-inline-start:380px;width:350px;background:var(--dda-surface-100);padding:25px 20px 15px 20px;border-radius:10px;box-shadow:0px 4px 12px 0px rgba(0, 0, 0, 0.12)}ul.main_side_menu li .main_sub_menu.showSubMenu{display:block}.main_sub_menu ol{padding:0px}ul.main_side_menu .main_sub_menu{padding:25px 10px 15px 20px}.main_sub_menu>ol{max-height:380px;overflow:auto;padding:2px 2px 10px 2px}.dda-side-nav__title{font-size:var(--font-h6);color:var(--font-h6);font-weight:var(--font-weight-regular);text-transform:uppercase;margin-bottom:10px}.main_sub_menu>ol::-webkit-scrollbar{width:3px}.main_sub_menu>ol::-webkit-scrollbar-track{background:#fafafa}.main_sub_menu>ol::-webkit-scrollbar-thumb{background:var(--dda-neutral-variant-92)}.main_sub_menu>ol::-webkit-scrollbar-thumb:hover{background:var(--dda-neutral-variant-92)}.main_sub_menu li{position:relative}ul.main_side_menu .main_sub_menu .main_sub_menu{inset-inline-start:735px}ul.main_side_menu .main_sub_menu .main_sub_menu .main_sub_menu{inset-inline-start:1090px}.side-nav-close-btn{top:1.5rem;inset-inline-end:1.5rem}.dda-sidemenu-bottom{width:100%;position:fixed;inset-inline-start:0;bottom:0;display:none}.dda-sidemenu-gov-logo{display:flex;justify-content:center}.dda-sidemenu-gov-logo a{display:inline-block}.dda-sidemenu-gov-logo img{height:44px}.dda-accessibility-wrap{width:100%;padding:0 10px;position:fixed;top:185px;left:0}.dda-accessibility{max-width:880px;margin:0 auto;background:var(--dda-surface-100);padding:20px;border-radius:8px;box-shadow:0px 4px 12px 0px rgba(0, 0, 0, 0.12);position:relative;display:none;}.mobile-accessibility{padding-top:35px;position:absolute;top:0px;z-index:10;height:100%}.mobile-accessibility-content{display:block;padding:0 14px;height:100%;overflow-y:auto}.mobile-accessibility-content::-webkit-scrollbar{width:6px}.mobile-accessibility-content::-webkit-scrollbar-track{background:var(--dda-surface-variant-90)}.mobile-accessibility-content::-webkit-scrollbar-thumb{background:var(--dda-surface-variant-80)}.mobile-accessibility-content::-webkit-scrollbar-thumb:hover{background:var(--dda-color-primary-40)}.dda-accessibility-item{border-inline-start:solid 1px #E5E5E5}.dda-accessibility .dda-row .dda-accessibility-item:first-child{border:0px}.dda-theme-list{display:flex;flex-direction:column;gap:8px;border:0px}.close_accessibility{top:5px;inset-inline-end:5px}.dda-login-popup.desktop,.dda-login-popup.mobile{display:none}.dda-login-popup{background-color:var(--dda-surface-100);box-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),\r\n 0 4px 6px -4px rgba(0, 0, 0, 0.1);border:1px solid var(--dda-surface-variant-90);border-radius:0.5rem;padding:0.75rem;z-index:50;height:fit-content;min-width:110px}.dda-login-popup.desktop{position:fixed;top:170px;bottom:auto;inset-inline-end:5.5rem}.dda-login-popup.mobile{position:fixed;bottom:2.5rem;inset-inline-end:6rem}.dda-login-popup ul>:not(:last-child){border-bottom:1px solid var(--dda-surface-variant-90)}.dda-login-popup a{text-align:start;padding-inline:0.5rem;padding-block:0.25rem;display:inline-block;text-decoration:none;width:100%;color:var(--dda-surface-0);border-radius:4px}.dda-login-popup a:hover{background-color:var(--dda-on-primary-98);color:var(--dda-on-primary-variant-40)}@media (min-width: 640px){.dda-login-popup{inset-inline-end:8rem}}@media (max-width: 768px){.dda-login-popup.desktop{display:none !important}}@media (min-width: 767px){.dda-login-popup.mobile{display:none !important}}.dda-mobile-entt-logo,.dda-mobile-search{display:none;overflow:hidden}.dda-mobile-search a,.dda-mobile-search button{width:30px;padding:0;background:transparent;border:transparent}.dda-mobile-search a i,.dda-mobile-search a svg,.dda-mobile-search button i,.dda-mobile-search button svg{font-size:23px;color:var(--dda-on-surface-variant-30)}.dda-mobile-search a svg,.dda-mobile-search button svg{fill:var(--dda-on-surface-variant-30)}body.transparent .dda-mobile-search a i,body.transparent .dda-mobile-search a svg,body.transparent .dda-mobile-search button i,body.transparent .dda-mobile-search button svg{color:var(--dda-neutral-100)}.maincontent{padding-top:170px;padding-bottom:100px}@media screen and (max-width: 767px){body.transparent .dda-header::before{height:130px}.dda-header{padding:0 !important}.dda-menu-overley{display:none !important}.side-nav-close-btn{display:block}.dda-menu-container{width:100vw;height:80px;position:relative}.dda-head-logo{display:none}.dda-mobile-entt-logo,.dda-mobile-search{display:block}.dda-mobile-entt-logo img{height:40px}.dda-toolbar-menu{position:absolute;width:0;display:none}.dda-toolbar-menu ul li .tool-btn{display:none}.dda-accessibility-wrap{top:81px;padding:0}.dda-accessibility-wrap .dda-accessibility{height:calc(100vh - 82px);border-radius:0px;box-shadow:none}.dda-accessibility .dda-row{gap:30px}.dda-accessibility-item{border:0px}.dda-sidemenu-content{height:calc(100% - 130px);padding:32px 17px 32px 32px}.dda-sidemenu .dda-sidemenu-bottom{display:block;position:initial}.main_side_menu .dda-side-nav__title{display:none}.main_side_menu_wrap{height:calc(100% - 100px);overflow:auto;padding:5px}.main_side_menu_wrap::-webkit-scrollbar{width:3px}.main_side_menu_wrap::-webkit-scrollbar-track{background:#fafafa}.main_side_menu_wrap::-webkit-scrollbar-thumb{background:#e7e7e7}.main_side_menu_wrap::-webkit-scrollbar-thumb:hover{background:#d4d4d4}.dda-sidemenu{width:100%;top:80px;padding-inline-end:15px}ul.main_side_menu li a{padding-left:10px;padding-right:10px}ul.main_side_menu li .main_sub_menu{position:inherit !important;inset-inline-start:inherit !important;top:inherit ! Important;margin:0px !important;width:100% !important;padding:0px;box-shadow:none;border-radius:0px}ul.main_side_menu li a.showSub::after{transform:rotate(45deg);inset-inline-end:13px}ul.main_side_menu li a.icon_arrow::after{transform:rotate(-135deg)}:root[dir=\'rtl\'] ul.main_side_menu li a.showSub::after,:root[dir=\'rtl\'] ul.main_side_menu li a.showSubSub::after{transform:rotate(45deg)}:root[dir=\'rtl\'] ul.main_side_menu li a.showSub.icon_arrow::after{transform:rotate(-135deg)}.main_sub_menu>ol>li:last-child>a{border-bottom:1px solid #00000022}ul.main_side_menu li a.icon_arrow,ul.main_side_menu .main_sub_menu li a .icon_arrow{color:var(--dda-color-primary-40)}ul.main_side_menu .main_sub_menu ol{height:auto;max-height:none;padding:0;padding-inline-start:10px}.maincontent{padding-top:100px}ul.main_side_menu a.showSub.icon_arrow{background-color:var(--dda-on-primary-94)}ul.main_side_menu .main_sub_menu.showSubMenu{background-color:var(--dda-on-primary-98)}ul.main_side_menu li a:hover{padding-bottom:13px}}@media (max-width: 1024px){.dda-header{padding:10px 0}.dda-head-logo,.dda-menu-container{width:100vw}}@media (prefers-reduced-motion: no-preference){.dda-search input[type="text"]{transition:all 250ms ease}.dda-header{transition:all 300ms ease-in-out}.dda-sidemenu{transition:left 0.5s ease}ul.main_side_menu li a.showSub::after,ul.main_side_menu li a.showSubSub::after{transition:all 250ms ease}.dda-accessibility{transition:left 0.5s ease}}';const s=i;const o=class{constructor(i){e(this,i);this.languageSwitch=a(this,"languageSwitch",7);this.loginClick=a(this,"loginClick",7);this.navigatorClick=a(this,"navigatorClick",7);this.smTextSize=a(this,"smTextSize",7);this.baseTextSize=a(this,"baseTextSize",7);this.lgTextSize=a(this,"lgTextSize",7);this.normalContrast=a(this,"normalContrast",7);this.blindContrast=a(this,"blindContrast",7);this.redContrast=a(this,"redContrast",7);this.greenContrast=a(this,"greenContrast",7);this.accessibilitymenufunctionality=a(this,"accessibilitymenufunctionality",7);this.searchfunctionality=a(this,"searchfunctionality",7);this.firstLogoHref="#";this.firstLogoTarget="";this.rel="noopener noreferrer";this.secondLogoHref="#";this.header_default_submenu=false;this.loginText=null;this.isMenuOpen=false;this.isSubMenuOpen=false;this.isSideSubMenuOpen=false;this.isAccessibiltyOpen=false;this.isMobileAccessibiltyOpen=false;this.openMenus={};this.usePredesignedAccessibilityMenu=true;this.useNavigator="false";this.mobileMenuSearchId="mobileSearch";this.mobileMenuSearchUrl="javascript:void(0)";this.selected_contrast="normal";this.hideOtherMenu=false;this.parsedOtherMenuItems=[];this.parsedDropDownMenuItems=[];this.showQuickLinksIcon=true;this.useLoginPopup=false;this.loginPopupLinks=[];this.isDesktopLoginPopupOpen=false;this.isMobileLoginPopupOpen=false;this.lastScrollTop=0;this.toggleEscapeKey=e=>{if(e.key==="Escape"){this.isMenuOpen=false;this.isAccessibiltyOpen=false;this.isMobileAccessibiltyOpen=false;this.isSubMenuOpen=false;this.isSideSubMenuOpen=false;this.isDesktopLoginPopupOpen=false;this.isMobileLoginPopupOpen=false}};this.handleOutsideClick=e=>{let a=e.target.closest(".main_side_menu");if(!a){this.toggleSidebarSubMenu("");document.querySelectorAll(".main_sub_menu").forEach((e=>{e.classList.remove("showSubMenu")}));document.querySelectorAll(".showSub").forEach((e=>{e.classList.remove("icon_arrow")}))}};this.handleOutsideAccessibilityClick=e=>{if(this.isAccessibiltyOpen){const a=document.querySelector(".dda-accessibility-wrap .dda-accessibility");const t=a&&a.contains(e.target);const i=e.target.closest(".accessibility-btn");if(!t&&!i){this.isAccessibiltyOpen=false}}};this.handleOutsideLoginPopupClick=e=>{if(this.isDesktopLoginPopupOpen||this.isMobileLoginPopupOpen){const a=document.querySelector(".dda-login-popup");const t=a&&a.contains(e.target);const i=e.target.closest(".login-button");if(!t&&!i){this.isDesktopLoginPopupOpen=false;this.isMobileLoginPopupOpen=false}}};this.handleScroll=()=>{const e=window.scrollY;const a=document.querySelector(".dda-menu-container");const t=document.querySelector(".dda-header");if(e>this.lastScrollTop&&e>50){if(a)a.style.display="none";if(t)t.classList.add("white")}else{if(a)a.style.display="flex";if(t)t.classList.remove("white")}this.lastScrollTop=e};this.toggleMenu=()=>{if(this.isAccessibiltyOpen){this.isAccessibiltyOpen=false}if(this.isDesktopLoginPopupOpen||this.isMobileLoginPopupOpen){this.isDesktopLoginPopupOpen=false;this.isMobileLoginPopupOpen=false}this.isMenuOpen=!this.isMenuOpen;if(this.isMenuOpen){document.body.style.overflow="hidden"}else{document.body.style.overflow=""}};this.toggleAccessibilty=()=>{if(this.usePredesignedAccessibilityMenu==true){this.isAccessibiltyOpen=!this.isAccessibiltyOpen;this.accessibilitymenuhandler()}else{this.accessibilitymenuhandler()}};this.toggleMobileAccessibilty=()=>{if(this.usePredesignedAccessibilityMenu==true){this.isMobileAccessibiltyOpen=!this.isMobileAccessibiltyOpen;this.MobileAccessibilitymenuhandler()}else{this.MobileAccessibilitymenuhandler()}};this.languagehandler=()=>{this.languageSwitch.emit()};this.smTexthandler=()=>{this.selected_text_size="small";this.smTextSize.emit()};this.baseTexthandler=()=>{this.selected_text_size="normal";this.baseTextSize.emit()};this.lgTexthandler=()=>{this.selected_text_size="large";this.lgTextSize.emit()};this.normalContrasthandler=()=>{this.selected_contrast="normal";this.normalContrast.emit()};this.blindContrasthandler=()=>{this.selected_contrast="colorblind";this.blindContrast.emit()};this.redContrasthandler=()=>{this.selected_contrast="redweakness";this.redContrast.emit()};this.greenContrasthandler=()=>{this.selected_contrast="greenweakness";this.greenContrast.emit()};this.accessibilitymenuhandler=()=>{this.accessibilitymenufunctionality.emit()};this.MobileAccessibilitymenuhandler=()=>{this.accessibilitymenufunctionality.emit()};this.searchhandler=e=>{this.searchfunctionality.emit(e)};this.toggleLogin=()=>{if(this.useLoginPopup==true){this.loginClick.emit();if(window.innerWidth>=768){this.isDesktopLoginPopupOpen=!this.isDesktopLoginPopupOpen}else{this.isMobileLoginPopupOpen=!this.isMobileLoginPopupOpen}}};this.renderSubMenu=(e,a)=>{if(!e||e.length===0)return null;return t("div",{class:`main_sub_menu ${this.openMenus[a]?"showSubMenu":""}`,ref:e=>{if(e&&this.openMenus[a]){setTimeout((()=>{const a=e.closest("li");if(!a)return;const t=a.getBoundingClientRect();const i=e.getBoundingClientRect();const s=window.innerHeight;let o=t.top;if(t.top+i.height>s){const e=t.top+i.height-s;o=Math.max(t.top-e-10,10)}e.style.top=o+"px"}),0)}}},e[0].headerLabel&&t("h6",{class:"dda-side-nav__title"},e[0].headerLabel),t("ol",null,e.map(((e,i)=>{const s=`${a}-${i}`;return t("li",{key:s},t("a",{href:this.useNavigator=="true"?"javascript:void(0)":e.href,class:`${e.subLinkClass} ${e.subMenu&&e.subMenu.length>0?"showSub":""}`,onClick:a=>{this.handleMenuClick(a,e,s)}},e.label),this.renderSubMenu(e.subMenu,s))}))))};this.renderLoginPopup=()=>t("ul",null,this.parsedLoginPopupItems.map(((e,a)=>t("li",{key:`top-${a}`},t("a",{href:this.useNavigator=="true"?"javascript:void(0)":e.url,class:"",onClick:()=>{if(this.useNavigator=="true"){this.navigatorClick.emit(e.url)}this.isDesktopLoginPopupOpen=false}},e.popupItemLabel)))))}componentWillLoad(){this.parseOtherMenuItems(this.otherMenuItems)}parseOtherMenuItems(e){try{this.parsedOtherMenuItems=JSON.parse(e)}catch(a){console.warn("Invalid JSON for otherMenuItems",e);this.parsedOtherMenuItems=[]}}componentWillLoadS(){this.parseDropDownMenuItems(this.otherMenuItems)}parseDropDownMenuItems(e){try{this.parsedDropDownMenuItems=JSON.parse(e)}catch(a){console.warn("Invalid JSON for otherMenuItems",e);this.parsedDropDownMenuItems=[]}}get parsedLoginPopupItems(){if(typeof this.loginPopupLinks==="string"){try{return JSON.parse(this.loginPopupLinks)}catch(e){console.warn("Invalid JSON in loginPopupLinks");return[]}}}toggleSidebarSubMenu(e){if(e===""){this.openMenus={};return}const a=this.openMenus[e];const t={};if(!a){const a=e.split("-");let i="";for(let e=0;e<a.length-1;e++){i=i?`${i}-${a[e]}`:a[e];t[i]=true}t[e]=true}else{for(const a in this.openMenus){if(a!==e&&!a.startsWith(`${e}-`)){t[a]=true}}}this.openMenus=t}componentDidLoad(){window.addEventListener("scroll",this.handleScroll);document.addEventListener("click",this.handleOutsideClick);document.addEventListener("keydown",this.toggleEscapeKey);document.addEventListener("click",this.handleOutsideAccessibilityClick);document.addEventListener("click",this.handleOutsideLoginPopupClick)}disconnectedCallback(){window.removeEventListener("scroll",this.handleScroll);document.removeEventListener("click",this.handleOutsideClick);document.removeEventListener("click",this.handleOutsideAccessibilityClick);document.removeEventListener("click",this.handleOutsideLoginPopupClick)}parseJsonArray(e){try{return JSON.parse(e)}catch(e){console.error("Failed to parse JSON:",e);return[]}}handleMenuClick(e,a,t){var i;if(a.subMenu&&a.subMenu.length>0){e.preventDefault();const a=e.currentTarget;this.toggleSidebarSubMenu(t);if(a.classList.contains("icon_arrow")){a.classList.remove("icon_arrow")}else{a.classList.add("icon_arrow")}const s=(i=a.closest("ol"))===null||i===void 0?void 0:i.querySelectorAll("a.icon_arrow");s===null||s===void 0?void 0:s.forEach((e=>{if(e!==a){e.classList.remove("icon_arrow")}}))}else{console.log("check navigator",this.useNavigator,this.navigatorClick);if(this.useNavigator=="true"){this.navigatorClick.emit(a.href)}}}render(){const e=this.parseJsonArray(this.sideMenuItems);return t("header",{key:"2b4fa55f5dd9004fe6f40d3a492c81b7d0592f11",class:"dda-header"},t("div",{key:"a843f7013c7b835d9f8cdb1fa0389178f796c376",class:"dda-head-logo"},t("a",{key:"5917cf2493a2b44518d37e090e9230a2a960710e",href:this.useNavigator=="true"?"javascript:void(0)":this.firstLogoHref,onClick:()=>this.useNavigator=="true"?this.navigatorClick.emit(this.firstLogoHref):"",class:"govt-logo",target:this.firstLogoTarget,rel:"noopener noreferrer"},t("img",{key:"b2465b43a1e52eda2f0a88ca8efdbde26c7d0dbc",class:"logo-white",src:this.firstLogoWhiteSrc,alt:`${this.firstLogoAlt} White`}),t("img",{key:"9e8b6f30350357b63774381d88f92cfbd358fd25",class:"logo-colored",src:this.firstLogoSrc,alt:this.firstLogoAlt})),t("a",{key:"a891cb7b67c91b87e45edcabd1c5257bff0052fd",href:this.useNavigator=="true"?"javascript:void(0)":this.secondLogoHref,onClick:()=>this.useNavigator=="true"?this.navigatorClick.emit(this.secondLogoHref):"",class:"entt-logo"},t("img",{key:"21bf57b1e19d38d901a27b24990b56ed2173ca61",class:"logo-white",src:this.secondLogoWhiteSrc,alt:`${this.secondLogoAlt} White`}),t("img",{key:"ebc5fb30f29242082c946fed15a372103cf95e2b",class:"logo-colored",src:this.secondLogoSrc,alt:this.secondLogoAlt}))),t("div",{key:"cf9dd0bbe837b4b89b22a80fb7ec266066e9a23e",class:"dda-menu-container"},t("div",{key:"e7d850797fc2fd1741dc33beb8f8070898eacb7e",class:"dda-main-navigation"},t("div",{key:"0ccd59c3572e277c8082e8a9ef2efa5e53087287",class:`dda-menu-overley ${this.isMenuOpen?"show-overley":""}`,onClick:this.toggleMenu}),t("div",{key:"e02bd0d66f3d315b0d051ba338b3357ae43566c1",class:"hamburger-menu",onClick:this.toggleMenu},t("dda-tooltip",{key:"5834c4033a7d9b1c2c9e94c582fe67cd8840be37",title_text:this.hamburger_menu_button_name,position:"top",class:"dda-d-block"},t("button",{key:"467ef292e8b4ae925a0ba4d019f7f12306d8f2a4",type:"button",class:"hamburger-menu-btn",name:this.hamburger_menu_button_name},t("span",{key:"bdbc8f31b998774e4d2746eb141228b74256134b",class:"hamburger-line"}),t("span",{key:"848048859627f9c2534543f473d6a26555ad1ff9",class:"hamburger-menu-text"},this.hamburger_menu_button_name)))),t("div",{key:"bb89fd52b976955ace236c811f10b59ba7599656",class:"dda-sidemenu",style:{display:this.isMenuOpen?"block":"",insetInlineStart:this.isMenuOpen?"0px":""}},t("div",{key:"458e6702138d899eb43fab2af16df5b17964f002",class:"dda-sidemenu-content"},t("h6",{key:"282d0dbee6babef6f1ed37a208b0ce9a4f82d7ed",class:"dda-side-nav-title"},this.sideMainMenuTitle),t("ul",{key:"e12511de5bba98165c54bdd300f6a51b062d8572",class:"main_side_menu"},e.map(((e,a)=>{const i=`menu-${a}`;return t("li",{key:i,id:`header_${e.label}`},t("a",{href:this.useNavigator=="true"?"javascript:void(0)":e.href,class:[e.subMenu&&e.subMenu.length>0?"showSub":"",e.active==="true"?"active":""].filter(Boolean).join(" "),onClick:a=>{if(e.subMenu&&e.subMenu.length>0){a.preventDefault();const e=a.currentTarget;if(e.classList.contains("icon_arrow")){e.classList.remove("icon_arrow");this.toggleSidebarSubMenu(i);return}const t=document.querySelectorAll(".main_side_menu a.icon_arrow");t.forEach((e=>e.classList.remove("icon_arrow")));e.classList.add("icon_arrow");this.toggleSidebarSubMenu(i)}else{if(this.useNavigator=="true"){this.navigatorClick.emit(e.href)}}}},e.label),this.renderSubMenu(e.subMenu,i))}))),this.hideOtherMenu==false&&t("h6",{key:"a9d47b8de1b3896dda81e22e3beafa57bfa24e42",class:"dda-side-nav-title"},this.sideOtherMenuTitle),!this.hideOtherMenu&&t("ul",{key:"8e6920c0eb8383b4e1a5da31c88f8c12db2a408f",class:"main_side_menu"},this.parsedOtherMenuItems.map(((e,a)=>t("li",{key:`other-${a}`},t("a",{href:this.useNavigator=="true"?"javascript:void(0)":e.href,class:{active:e["active"]==="true"},onClick:()=>this.useNavigator=="true"?this.navigatorClick.emit(e.href):""},e.label))))),t("button",{key:"b8347c98a8c1de35a7b3ee8cbbbc0cef3389206b",type:"button",name:this.close_menu_button_name,class:"close-btn side-nav-close-btn","aria-label":"Close Sidebar",onClick:this.toggleMenu},t("i",{key:"7e60fd1e58b44d67c252577029f903af0523e4d3",class:"material-icons material-symbols-outlined","aria-hidden":"true"},"close"))),t("div",{key:"b0ab77f5e09e07fe0cbdf0e4b185020d041b50fb",class:"dda-sidemenu-bottom"},t("div",{key:"2f5d44c82d26990aa5bbec5fa6a0ed67305754de",class:"dda-sidemenu-gov-logo"},t("a",{key:"563ff1f1f20afb4d393cc4934bbfd772f5a4298c",href:this.useNavigator=="true"?"javascript:void(0)":this.firstLogoHref,onClick:()=>this.useNavigator=="true"?this.navigatorClick.emit(this.firstLogoHref):"",class:"govt-logo dda-mb-2"},t("img",{key:"c6b2f76b1a8c8bdb2d146169c00cd314b18f16a9",class:"",src:this.firstLogoSrc,alt:this.firstLogoAlt}))),t("div",{key:"c7b6c6cefdc1fd1aa123cc0563ab4c07a6f567fb",class:"dda-toolbar-menu-sidemenu"},t("ul",{key:"986b22e5512f15b6d5406183d6d7776aced51354"},this.accessibility_button_id&&t("li",{key:"5c005c1bc0a88b4bef2276f0f1922b8877d877aa"},t("button",{key:"03b5869a158bc9539b87960acefe193d7f235fd2",name:this.toggle_accessibility_button_name,class:"tool-btn accessibility-btn",type:"button",onClick:this.toggleMobileAccessibilty,id:this.accessibility_button_id},t("i",{key:"338033c97c6d3f4e481f9ed2d4e949eab11a2634",class:this.accessibility_button_icon_family},this.accessibility_button_icon_name),t("span",{key:"8a2fc90be54695cefa81df13ed735e39ca05bd93",class:"visually-hidden"},this.accessibility_button_text))),this.language_text&&t("li",{key:"39442db375abbe4e812786bd75d79662235cae4a"},t("button",{key:"f81180a4a9808bd1a44a76cd8345ee25d3842d93",name:this.language_button_name,class:"tool-btn",type:"button",onClick:this.languagehandler},this.language_text)),this.loginText&&t("li",{key:"54838fb84f8e9b3176a31a8d626b765be2b0f1ba"},t("dda-link-button",{key:"c3deeb4ed7f970fbb4046cf94ec75740cb443bed",button_color:"onsurface-secondary",start_icon:this.loginIcon,custom_class:"tool-btn login-button",link_button_text:this.loginText,onClick:this.toggleLogin,href:this.useLoginPopup?"javascript:void(0)":this.loginLink,button_shape:"circle",size:"sm"}))))),this.usePredesignedAccessibilityMenu?t("div",{class:"dda-accessibility hide-accessibility mobile-accessibility",style:{display:this.isMobileAccessibiltyOpen?"block":"none"}},t("div",{class:"mobile-accessibility-content"},t("div",{class:"dda-row"},t("div",{class:"dda-col-md-4 dda-accessibility-item"},t("h6",{class:"h6 Regular dda-mb-1"},this.contrast_title),t("form",null,t("fieldset",{class:"dda-theme-list"},t("legend",null,t("p",{class:"body Regular dda-mb-3"},this.contrast_description)),this.contrast_noraml_text?t("dda-radiobutton",{title_text:this.contrast_noraml_text,checked:this.selected_contrast=="normal",size:"default",variants:"normal",supporting:"",error_message:"",validation_id:"NormalThemeMobile",group_name:"themeselectionMobile",input_id:"NormalThemeMobile",custom_class:"",component_mode:"",aria_label:"radio-button",validation_type:"normal",onChange:this.normalContrasthandler,class:"hydrated"}):null,this.contrast_color_blind_text?t("dda-radiobutton",{title_text:this.contrast_color_blind_text,checked:this.selected_contrast=="colorblind",size:"default",variants:"normal",supporting:"",error_message:"",validation_id:"ColoursBlindMobile",group_name:"themeselectionMobile",input_id:"ColoursBlindMobile",custom_class:"",component_mode:"",aria_label:"radio-button",validation_type:"normal",onChange:this.blindContrasthandler,class:"hydrated"}):null,this.contrast_red_weakness_text?t("dda-radiobutton",{title_text:this.contrast_red_weakness_text,checked:this.selected_contrast=="redweakness",size:"default",variants:"normal",supporting:"",error_message:"",validation_id:"RedWeaknessMobile",group_name:"themeselectionMobile",input_id:"RedWeaknessMobile",custom_class:"",component_mode:"",aria_label:"radio-button",validation_type:"normal",onChange:this.redContrasthandler,class:"hydrated"}):null,this.contrast_green_weakness_text?t("dda-radiobutton",{title_text:this.contrast_green_weakness_text,checked:this.selected_contrast=="greenweakness",size:"default",variants:"normal",supporting:"",error_message:"",validation_id:"GreenWeaknessMobile",group_name:"themeselectionMobile",input_id:"GreenWeaknessMobile",custom_class:"",component_mode:"",aria_label:"radio-button",validation_type:"normal",onChange:this.greenContrasthandler,class:"hydrated"}):null))),t("div",{class:"dda-col-md-4 dda-accessibility-item"},t("h6",{class:"h6 Regular dda-mb-1"},this.screen_reader_title),t("p",{class:"body Regular dda-mb-3"},this.screen_reader_description),t("div",{class:"rs_skip rsbtn rs_preserve rs_mobile",id:"readspeaker_button1"},t("a",{rel:"nofollow",href:this.read_speaker_link,role:"button",class:"rsbtn_play circle readspeaker",accessKey:"L","aria-label":"Listen to this page using ReadSpeaker","data-rsshortcut":"play","aria-haspopup":"menu","data-rs-lang":"en_uk"},t("i",{class:"material-icons material-symbols-outlined","aria-hidden":"true"},"volume_up")))),t("div",{class:"dda-col-md-4 dda-accessibility-item"},t("h6",{class:"h6 Regular dda-mb-1"},this.text_size_title),t("p",{class:"body Regular dda-mb-3"},this.text_size_description),t("div",{class:"dda-d-flex dda-gap-4"},t("dda-button",{button_color:this.selected_text_size=="normal"?"default-primary":"default-secondary",button_text:"A",icon_button_shape:"circle",custom_class:"",size:"lg",onClick:this.baseTexthandler}),t("dda-button",{button_color:this.selected_text_size=="large"?"default-primary":"default-secondary",button_text:"A+",icon_button_shape:"circle",custom_class:"",size:"lg",onClick:this.lgTexthandler}),t("dda-button",{button_color:this.selected_text_size=="small"?"default-primary":"default-secondary",button_text:"A-",icon_button_shape:"circle",custom_class:"",size:"lg",onClick:this.smTexthandler}))))),t("button",{type:"button",name:this.close_accessibility_button_name,class:"close-btn close_accessibility","aria-label":"Close Accessibility",onClick:this.toggleMobileAccessibilty},t("i",{class:"material-icons material-symbols-outlined","aria-hidden":"true"},"close"))):null),this.quickLinks&&t("dda-header-menu",{key:"17e60d2b64d3450cdc7829a630bfebc7c57e062f","use-navigator":this.useNavigator,"navigator-click":this.navigatorClick,"show-Quick-Links-Icon":this.showQuickLinksIcon,"quick-links":typeof this.quickLinks==="string"?this.quickLinks:JSON.stringify(this.quickLinks)})),t("div",{key:"5a009a45527d9a5c2115760fd1bd841a129315db",class:"dda-mobile-entt-logo"},t("a",{key:"52b4073e25d0d31c905faabab1c94a8519624e66",href:this.useNavigator=="true"?"javascript:void(0)":this.secondLogoHref,onClick:()=>this.useNavigator=="true"?this.navigatorClick.emit(this.secondLogoHref):"",class:"entt-logo"},t("img",{key:"1e13be9b82915fb77e19840d6dbe9f1cc1ad3819",class:"logo-colored",src:this.secondLogoSrc,alt:this.secondLogoAlt}),t("img",{key:"c6c81bda608609ec558de4c89e926824d6ca6f93",class:"logo-white",src:this.secondLogoWhiteSrc,alt:this.secondLogoAlt}))),t("div",{key:"97b006f437d75ec8b27e24554df9b56bfd7ff1ee",class:"dda-mobile-search"},this.mobileMenuSearchId&&t("a",{key:"c48e5be76b471bdf5cf503b692ea525e9f5a5f6b",href:this.useNavigator=="true"?"javascript:void(0)":this.mobileMenuSearchUrl,onClick:()=>this.useNavigator=="true"?this.navigatorClick.emit(this.mobileMenuSearchUrl):"",class:"tool-btn",id:this.mobileMenuSearchId},t("span",{key:"7194871bc48ff2a783bd86e678de063de49ef3b0",class:"visualy-hidden"},this.searchText||"Search"),t("i",{key:"92ae3b3c5e146ef8df51d512ef7b86ddbd2bc2eb",class:"material-icons material-symbols-outlined","aria-hidden":"true"},"search"))),t("div",{key:"71a24e54fe17861d5369c16b9eb47dc8deabc610",class:"dda-toolbar-menu"},t("ul",{key:"d3be2c239014bc04830df7ec6a87708e5d33d11c"},this.search_input_name&&t("li",{key:"0ffdd3708a4f06363a1a52926ec2c2cc936aa230"},t("dda-tooltip",{key:"2864373c889e34642c269f4943955d5a6699e334",title_text:this.search_tooltip||"Search",description:"",position:"top"},t("div",{key:"e2451bc401ff4ea6a459ffcc76df013af42bc080",class:"dda-search dda-header-search"},t("label",{key:"d5ffe376370c6b60f255c64d31cd765b60fc51f5",id:"ddaSearch-label",class:"visualy-hidden","aria-hidden":"true"},this.searchText||"Search"),t("i",{key:"3a2546a99f9990f9add81ed79824f89b1d45cc29",class:"material-icons material-symbols-outlined","aria-hidden":"true"},"search"),t("dda-input",{key:"fd7fa33ef30326ca0dce0a6a9a50ab17d0eaab16",placeholder:this.search_input_placeholder||"Search",type:"text",input_id:"ddaSearch",value:this.search_value,input_name:this.search_input_name,aria_label:"input",input_role:"search",error_message:"Error text",validation_type:"normal",validation_id:"validationId",input_status:"normal",size:"default",custom_class:"dda-header-search-input tool-btn",component_mode:"",onInputChanged:e=>{this.searchhandler(e.detail.target.value);console.log(e.detail.target.value)},onKeyPress:e=>{if(e.key==="Enter"){this.searchhandler(e.target.value);console.log(e.target.value)}}}),t("span",{key:"f3c7f8b943401f81e07f4ca914b344677fec7d50",id:"validationId",class:"visually-hidden"},"Enter keywords to search the site.")))),this.accessibility_button_id&&t("li",{key:"dc6406f095f5386c00b3c0e4d276066071341df1"},t("dda-tooltip",{key:"d1dd080b48096bae38a67847a3101c4d1452d486",title_text:this.accessibility_tooltip,position:"top"},t("button",{key:"8d96493a4e036c1fa11d6e8818a1ca171ee4f575",name:this.toggle_accessibility_button_name,class:"tool-btn dda-btn btn-color-onsurface-secondary btn-size-sm btn-shape-circle accessibility-btn",type:"button",onClick:this.toggleAccessibilty,id:this.accessibility_button_id},t("i",{key:"098ba5c988e9747b23a38bfb9cbc2dbad2c30401",class:this.accessibility_button_icon_family},this.accessibility_button_icon_name),t("span",{key:"59bcfed4bc18816869eb70d0576911327807af83",class:"visually-hidden"},this.accessibility_button_text))),this.usePredesignedAccessibilityMenu?t("div",{class:"dda-accessibility-wrap"},t("div",{class:"dda-accessibility hide-accessibility",style:{display:this.isAccessibiltyOpen?"block":"none"}},t("div",{class:"dda-row"},t("div",{class:"dda-col-md-4 dda-accessibility-item"},t("h6",{class:"h6 Regular dda-mb-1"},this.contrast_title),t("form",null,t("fieldset",{class:"dda-theme-list"},t("legend",null,t("p",{class:"body Regular dda-mb-3"},this.contrast_description)),this.contrast_noraml_text?t("dda-radiobutton",{title_text:this.contrast_noraml_text,checked:this.selected_contrast=="normal",size:"default",variants:"normal",supporting:"",error_message:"",validation_id:"NormalTheme",group_name:"themeselection",input_id:"NormalTheme",custom_class:"",component_mode:"",aria_label:"radio-button",validation_type:"normal",onChange:this.normalContrasthandler,class:""}):null,this.contrast_color_blind_text?t("dda-radiobutton",{title_text:this.contrast_color_blind_text,checked:this.selected_contrast=="colorblind",size:"default",variants:"normal",supporting:"",error_message:"",validation_id:"ColoursBlind",group_name:"themeselection",input_id:"ColoursBlind",custom_class:"",component_mode:"",aria_label:"radio-button",validation_type:"normal",onChange:this.blindContrasthandler,class:"hydrated"}):null,this.contrast_red_weakness_text?t("dda-radiobutton",{title_text:this.contrast_red_weakness_text,checked:this.selected_contrast=="redweakness",size:"default",variants:"normal",supporting:"",error_message:"",validation_id:"RedWeakness",group_name:"themeselection",input_id:"RedWeakness",custom_class:"",component_mode:"",aria_label:"radio-button",validation_type:"normal",onChange:this.redContrasthandler,class:"hydrated"}):null,this.contrast_green_weakness_text?t("dda-radiobutton",{title_text:this.contrast_green_weakness_text,checked:this.selected_contrast=="greenweakness",size:"default",variants:"normal",supporting:"",error_message:"",validation_id:"GreenWeakness",group_name:"themeselection",input_id:"GreenWeakness",custom_class:"",component_mode:"",aria_label:"radio-button",validation_type:"normal",onChange:this.greenContrasthandler,class:"hydrated"}):null))),t("div",{class:"dda-col-md-4 dda-accessibility-item"},t("h6",{class:"h6 Regular dda-mb-1"},this.screen_reader_title),t("p",{class:"body Regular dda-mb-3"},this.screen_reader_description),t("div",{class:"rs_skip rsbtn rs_preserve rs_mobile",id:"readspeaker_button1"},t("a",{rel:"nofollow",href:this.read_speaker_link,role:"button",class:"rsbtn_play circle readspeaker",accessKey:"L","aria-label":"Listen to this page using ReadSpeaker","data-rsshortcut":"play","aria-haspopup":"menu","data-rs-lang":"en_uk"},t("i",{class:"material-icons material-symbols-outlined","aria-hidden":"true"},"volume_up")))),t("div",{class:"dda-col-md-4 dda-accessibility-item"},t("h6",{class:"h6 Regular dda-mb-1"},this.text_size_title),t("p",{class:"body Regular dda-mb-3"},this.text_size_description),t("div",{class:"dda-d-flex dda-gap-4"},t("dda-button",{button_color:this.selected_text_size=="normal"?"default-primary":"default-secondary",button_text:"A",icon_button_shape:"circle",custom_class:"",size:"lg",onClick:this.baseTexthandler}),t("dda-button",{button_color:this.selected_text_size=="large"?"default-primary":"default-secondary",button_text:"A+",icon_button_shape:"circle",custom_class:"",size:"lg",onClick:this.lgTexthandler}),t("dda-button",{button_color:this.selected_text_size=="small"?"default-primary":"default-secondary",button_text:"A-",icon_button_shape:"circle",custom_class:"",size:"lg",onClick:this.smTexthandler})))),t("button",{type:"button",name:this.close_accessibility_button_name,class:"close-btn close_accessibility","aria-label":"Close Sidebar",onClick:this.toggleAccessibilty},t("i",{class:"material-icons material-symbols-outlined","aria-hidden":"true"},"close")))):null),this.language_text&&t("li",{key:"2e3161882b7f83d4b213d4e48a5b279d61fcf518"},t("dda-tooltip",{key:"abc31292e476a458492365e0a75ee38c6f921a4b",title_text:this.language_tooltip,position:"top"},t("dda-button",{key:"ec64db79154c52ad71b967eea99ff1fb42a9facc",button_color:"onsurface-secondary",custom_class:"tool-btn",button_text:this.language_text,button_shape:"circle",size:"sm",onClick:this.languagehandler}))),this.loginText&&t("li",{key:"180106edd4c2dd0c913a35ee234c17f7567bc5f8"},t("dda-tooltip",{key:"cc7b960b53baa7bd6fcf3c48b9c46cf961940655",title_text:this.login_tooltip,position:"top"},t("dda-link-button",{key:"018cd454e292f0017a9209254f2f024513d1f056",button_color:"onsurface-secondary",start_icon:this.loginIcon,custom_class:"tool-btn login-button",link_button_text:this.loginText,onClick:this.toggleLogin,href:this.useLoginPopup?"javascript:void(0)":this.loginLink,button_shape:"circle",size:"sm"}))))),this.useLoginPopup?t("div",{class:"dda-login-popup desktop",style:{display:this.isDesktopLoginPopupOpen?"block":"none"}},this.renderLoginPopup()):null,this.useLoginPopup?t("div",{class:"dda-login-popup mobile",style:{display:this.isMobileLoginPopupOpen?"block":"none"}},this.renderLoginPopup()):null))}};o.style=s;export{o as dda_header};
2
+ //# sourceMappingURL=p-0ebdb27f.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ddaHeaderMainCss","DdaHeaderStyle0","DdaHeader","constructor","hostRef","this","firstLogoHref","firstLogoTarget","rel","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","ref","el","setTimeout","parent","rect","getBoundingClientRect","submenuRect","viewportHeight","innerHeight","top","height","diff","Math","max","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","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","close_menu_button_name","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","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","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","onInputChanged","detail","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 position: relative;\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}\r\n\r\n\r\n/* @media screen and (max-height: 552px) {\r\n ul.main_side_menu li .main_sub_menu {\r\n position: inherit;\r\n margin-top: 0px;\r\n width: 100%;\r\n padding: 5px 0px 15px 20px;\r\n box-shadow: none;\r\n inset-inline-start: inherit !important;\r\n }\r\n .dda-side-nav__title{\r\n display: none;\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 @Prop() firstLogoTarget?: string = '';\r\n @Prop() rel?: string = 'noopener noreferrer';\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 // ref={el => {\r\n // if (el && this.openMenus[parentLi]) {\r\n // setTimeout(() => {\r\n // const parent = el.closest('li');\r\n // if (!parent) return;\r\n // const rect = parent.getBoundingClientRect();\r\n // el.style.top = rect.top + 'px';\r\n // }, 0);\r\n // }\r\n // }}\r\n\r\n ref={el => {\r\n if (el && this.openMenus[parentLi]) {\r\n setTimeout(() => {\r\n const parent = el.closest('li');\r\n if (!parent) return;\r\n\r\n const rect = parent.getBoundingClientRect();\r\n const submenuRect = el.getBoundingClientRect();\r\n const viewportHeight = window.innerHeight;\r\n\r\n let top = rect.top;\r\n\r\n if (rect.top + submenuRect.height > viewportHeight) {\r\n const diff = rect.top + submenuRect.height - viewportHeight;\r\n top = Math.max(rect.top - diff - 10, 10);\r\n }\r\n\r\n el.style.top = top + 'px';\r\n }, 0);\r\n }\r\n }}\r\n >\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\" target={this.firstLogoTarget} rel=\"noopener noreferrer\"\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={this.useNavigator == 'true' ? 'javascript:void(0)' : menu.href}\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 <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 </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\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 onInputChanged={(e: any) => {\r\n this.searchhandler(e.detail.target.value);\r\n console.log(e.detail.target.value);\r\n }}\r\n onKeyPress={e => {\r\n if (e.key === 'Enter') {\r\n this.searchhandler((e.target as HTMLInputElement).value);\r\n console.log((e.target as HTMLInputElement).value);\r\n // 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":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as a,H as i,g as t}from"./p-1b339a0a.js";const n=".dda-home-banner{width:100%;height:calc(100vh);background-color:black;position:relative;overflow:hidden;display:block}.dda-home-banner .dda-home-slides .dda-home-banner-slide::before{content:'';width:100%;height:80%;position:absolute;bottom:0;background:rgb(0, 0, 0);background:linear-gradient(0deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);z-index:1}.dda-home-slides{position:absolute;left:0;top:0;width:100%;height:100%;display:flex;}.dda-home-banner .dda-home-slides img,.dda-home-banner .dda-home-slides video{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0}.dda-home-banner .dda-home-slides .dda-home-banner-slide{position:relative;width:100vw;height:100vh}.dda-home-banner .dda-home-slides .dda-home-banner-slide{position:absolute;top:0;left:0;width:100%;opacity:0;pointer-events:none;z-index:0;box-sizing:border-box}.dda-home-banner .dda-home-slides .dda-home-banner-slide.active{opacity:1;pointer-events:auto;z-index:1}.dda-home-banner-slider-nav{width:100%;text-align:center;position:absolute;bottom:279px;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;height:30px;z-index:3}.dda-home-banner-slider-nav .dda-home-banner-slider-nav-content{width:100%;text-align:center;display:flex;justify-content:center;align-items:center;gap:15px}.dda-home-banner-slider-nav .dda-home-banner-prev,.dda-home-banner-slider-nav .dda-home-banner-next,.dda-home-banner-slider-nav .dda-home-banner-Pause{height:28px;width:28px;padding:0;margin:0;border:0;background:none;display:flex;align-items:center;justify-content:center;color:#ffffff;background:rgba(0, 0, 0, 0);border-radius:50%;font-size:25px;}.dda-home-banner-slider-nav .dda-home-banner-prev:hover,.dda-home-banner-slider-nav .dda-home-banner-next:hover{background:rgba(0, 0, 0, 0.15)}.dda-home-banner-slider-nav .dda-home-banner-Pause span{width:28px;height:28px;display:flex;align-items:center;justify-content:center;position:relative}.dda-home-banner-slider-nav .dda-home-banner-Pause span svg.main-circle{width:30px;height:30px}.dda-home-banner-slider-nav .dda-home-banner-Pause span svg.nav-play-icon{width:10px;height:10px;position:absolute;top:9px;left:9px}.dda-home-banner-slider-nav .dda-home-banner-Pause span svg.nav-pause-icon{width:9px;height:9px;position:absolute;top:9px;left:9px}.dda-home-banner-slider-nav ul{display:flex;align-items:center;gap:15px}.dda-home-banner-slider-nav .dots{display:block;width:10px;height:10px;background:rgba(256,256,256,0.2);overflow:hidden;text-indent:-100px;margin:0;padding:0;border:0px;border-radius:20px;cursor:pointer;}.dda-home-banner-slider-nav .dots.active{background:rgba(256,256,256,0.85)}[dir=\"rtl\"] .dda-home-banner-slider-nav .dda-home-banner-next i.material-icons{transform:rotate(180deg)}[dir=\"rtl\"] .dda-home-banner-slider-nav .dda-home-banner-prev i.material-icons{transform:rotate(-180deg)}.dda-home-banner .dda-slide-contant-wrap{position:relative;width:100vw;height:100vh;display:flex;align-items:center}.dda-home-banner .dda-slide-contant{width:90vw;margin:0 auto;padding:0 20px;position:relative;z-index:1}.dda-home-banner .dda-slide-contant h2{font-size:var(--dda-fs-display-sm);color:#fff;font-weight:var(--dda-fw-700)}.dda-home-banner .dda-slide-contant p{font-size:var(--dda-fs-headline-sm);color:#fff;font-weight:var(--dda-fw-300)}.material-symbols-outlined{font-variation-settings:'FILL' 1,\r\n 'wght' 400,\r\n 'GRAD' 0,\r\n 'opsz' 24}@media (max-width: 1024px){.dda-home-banner{height:calc(100vh)}.dda-home-banner .dda-slide-contant{width:100vw}.dda-home-banner-slider-nav{bottom:300px}.dda-mouse-scroll,.dda-home-banner-prev,.dda-home-banner-Pause,.dda-home-banner-next{display:none !important}.dda-home-banner .dda-slide-contant-wrap{display:inherit;height:auto;position:absolute;bottom:350px}}@media (prefers-reduced-motion: no-preference){.dda-home-slides{transition:all 0.7s ease-in-out}.dda-home-banner .dda-home-slides .dda-home-banner-slide{transition:opacity 1s ease-in-out}.dda-home-banner-slider-nav .dda-home-banner-prev,.dda-home-banner-slider-nav .dda-home-banner-next,.dda-home-banner-slider-nav .dda-home-banner-Pause{transition:all 0.2s linear}.dda-home-banner-slider-nav .dots{transition:all 0.2s linear}.dda-slider-timer-circle{transition:stroke-dashoffset 3s linear}}";const d=n;const s=class{constructor(a){e(this,a);this.autoplay=true;this.interval=3e3;this.currentSlide=0;this.slides=[];this.autoPlayActive=true;this.pausedProgressOffset=0;this.animationFrameId=null}componentDidLoad(){this.updateSlides();const e=this.el.querySelector("slot");e===null||e===void 0?void 0:e.addEventListener("slotchange",(()=>this.updateSlides()));this.autoPlayActive=this.autoplay&&this.slides.length>1;this.playVideoInCurrentSlide();if(this.autoPlayActive){const e=()=>{const a=this.el.querySelector(".circle-loader");if(a){this.startAutoplay();this.animateProgress()}else{requestAnimationFrame(e)}};e()}}disconnectedCallback(){this.stopAutoplay();if(this.animationFrameId){cancelAnimationFrame(this.animationFrameId)}}componentDidRender(){this.slides.forEach(((e,a)=>{e.classList.toggle("active",a===this.currentSlide)}))}updateSlides(){this.slides=Array.from(this.el.querySelectorAll(".dda-home-banner-slide"));if(this.slides.length>0){this.currentSlide=0}if(this.slides.length<=1){this.autoPlayActive=false;this.stopAutoplay()}}startAutoplay(){this.stopAutoplay();if(this.autoPlayActive&&this.slides.length>1){const e=this.slides[this.currentSlide];const a=e===null||e===void 0?void 0:e.querySelector("video");const i=e=>{this.autoPlayInterval=setInterval((()=>{this.nextSlide()}),e);this.animateProgress(1)};if(a){if(a.readyState>=1){i(a.duration*1e3)}else{a.addEventListener("loadedmetadata",(()=>{i(a.duration*1e3)}),{once:true})}}else{i(this.interval)}}}stopAutoplay(){if(this.autoPlayInterval){clearInterval(this.autoPlayInterval);this.autoPlayInterval=null}}toggleAutoplay(){var e;const a=this.el.querySelector(".circle-loader");const i=(e=this.slides[this.currentSlide])===null||e===void 0?void 0:e.querySelector("video");this.autoPlayActive=!this.autoPlayActive;if(this.autoPlayActive){this.startAutoplay();const e=this.pausedProgressOffset;const t=(a===null||a===void 0?void 0:a.getTotalLength())||1;const n=e/t;if(i)i.play();this.animateProgress(n)}else{this.stopAutoplay();if(this.animationFrameId){cancelAnimationFrame(this.animationFrameId);this.animationFrameId=null}if(a){const e=window.getComputedStyle(a);const i=parseFloat(e.strokeDashoffset||"0");this.pausedProgressOffset=i}if(i)i.pause()}}playVideoInCurrentSlide(){this.slides.forEach(((e,a)=>{const i=e.querySelector("video");if(i){if(a===this.currentSlide){i.currentTime=0;i.play()}else{i.pause()}}}))}nextSlide(){this.currentSlide=(this.currentSlide+1)%this.slides.length}prevSlide(){this.currentSlide=(this.currentSlide-1+this.slides.length)%this.slides.length}setSlide(e){this.currentSlide=e}onSlideChanged(){this.animateProgress();this.playVideoInCurrentSlide();this.startAutoplay()}animateProgress(e=1){const a=this.el.querySelector(".circle-loader");if(!a)return;const i=a.getTotalLength();const t=this.slides[this.currentSlide];const n=t===null||t===void 0?void 0:t.querySelector("video");const d=(n&&n.duration?n.duration*1e3:this.interval)*e;const s=performance.now();this.pausedProgressOffset=i*e;a.style.strokeDasharray=`${i}`;a.style.strokeDashoffset=`${this.pausedProgressOffset}`;a.style.transition="none";const o=t=>{const n=t-s;const r=Math.min(n/d,1);const l=i*(1-r)*e;a.style.strokeDashoffset=`${l}`;if(r<1){this.animationFrameId=requestAnimationFrame(o)}};if(this.animationFrameId){cancelAnimationFrame(this.animationFrameId)}this.animationFrameId=requestAnimationFrame(o)}resetProgress(){const e=this.el.querySelector(".circle-loader");if(e){const a=e.getTotalLength();e.style.transition="none";e.style.strokeDashoffset=`${a}`;this.pausedProgressOffset=a}}render(){const e=this.slides.length>1;return a(i,{key:"6d49434287317b90ab4f3d07ce3ad839cdce9fb3"},a("div",{key:"37f724da3f9197c53046365f89765b5beda5583b",class:"dda-home-banner",role:"region","aria-label":"Homepage banner with slides"},a("div",{key:"e7bacf7d2bb56a2d2317877577c7f45d0d553fc4",class:"dda-home-slides",role:"list","aria-live":"polite","aria-atomic":"true"},a("slot",{key:"047b8e02aee6ad81f8fb9c8b208b5328bc8ae221"})),a("div",{key:"a9644a5013e870ee1e3af3516a38ecb36b94cd11",class:"dda-home-banner-slider-nav"},e&&a("div",{key:"37c3d24ce94851c5b41536d711cb93b444697e78",class:"dda-home-banner-slider-nav-content"},a("button",{key:"9b48cc861bc760c5309f0816b062622ad80562bb",type:"button",class:"dda-home-banner-prev",onClick:()=>this.prevSlide()},a("i",{key:"09f0362f0e7475aa27d72fae72da4ef42f9ba12b",class:"material-icons","aria-hidden":"true"},"chevron_left"),a("span",{key:"bc681d9f54cca2aab657c5c7080735b36e40e821",class:"visually-hidden"},"Previous slide")),a("button",{key:"5083b1653405c62a0f4a81c7047d9507a1bfcec7",type:"button",class:"dda-home-banner-Pause",onClick:()=>this.toggleAutoplay(),"aria-pressed":this.autoPlayActive?"true":"false","aria-label":this.autoPlayActive?"Pause slideshow autoplay":"Play slideshow autoplay"},a("span",{key:"0f7c7fbc870ee42c3edd32a03afc5143e538876c"},a("svg",{key:"618ec4c1ed650ca31e41e028f9a30306624aad52",class:"main-circle",width:"25",height:"26",viewBox:"0 0 25 26",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},a("path",{key:"8233d9df1044bd665aba9ffb8d09af6d3b365285",class:"circle-loader",d:"M8.61616 4.62474C9.35885 4.35949 10.4729 3.92017 12.146 3.92017C16.7619 3.92017 21.1489 7.55969 21.1489 12.9247C20.9849 18.8126 16.4271 21.9202 12.146 21.9202C7.78471 21.9202 3.16382 18.5036 3.16382 12.9601C3.16382 11.8748 3.2148 11.4931 3.48806 10.4602",stroke:"white","stroke-width":"2","stroke-linecap":"round"}),a("circle",{key:"e972a42bebb33765304c65ce489cc0b5f6858edc",class:"dott",cx:"5.17456",cy:"6.92017",r:"1.44751",fill:"white"})),this.autoPlayActive?a("svg",{class:"nav-pause-icon",width:"7",height:"7",viewBox:"0 0 7 7",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},a("path",{d:"M0.482666 0.548584H2.48267V6.54858H0.482666V0.548584Z",fill:"white"}),a("path",{d:"M4.47974 0.548584H6.47974V6.54858H4.47974V0.548584Z",fill:"white"})):a("svg",{class:"nav-play-icon",width:"9",height:"9",viewBox:"0 0 9 9",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},a("path",{d:"M7.9682 3.68255C8.63487 4.06745 8.63487 5.0297 7.9682 5.4146L2.31372 8.67922C1.64705 9.06412 0.813721 8.58299 0.813721 7.81319L0.813721 1.28396C0.813721 0.51416 1.64705 0.0330374 2.31372 0.417938L7.9682 3.68255Z",fill:"white"})))),a("ul",{key:"adddb6104fd2ba0c9c86de3e222016c50c441924","aria-label":"Select slide"},this.slides.map(((e,i)=>a("li",{key:i},a("button",{type:"button",class:this.currentSlide===i?"dots active":"dots",onClick:()=>this.setSlide(i),"aria-label":`Go to slide ${i+1}`,"aria-current":this.currentSlide===i?"true":"false"}))))),a("button",{key:"6d67a6af87386354b62bed2cbfa065260877ac04",type:"button",class:"dda-home-banner-next",onClick:()=>this.nextSlide(),"aria-label":"Next slide"},a("i",{key:"3632b6248cd7d68381820c2c95ee1549c80e60c8",class:"material-icons","aria-hidden":"true"},"chevron_right"),a("span",{key:"fae1952c104e8ecd95395df92fd31e7a445b05a2",class:"visually-hidden"},"Next slide"))),a("div",{key:"7bad9578f986c285da80baf3cf04eedfe97fccb2",class:"dda-mouse-scroll"},a("dda-scroll-icon",{key:"477ff1157d58ae5da3b6d8815b6279aa00143e0a",scroll_icon_size:"sm",scroll_icon_color:"white",custom_class:"",component_mode:"",class:"hydrated","aria-hidden":"true"})))))}get el(){return t(this)}static get watchers(){return{currentSlide:["onSlideChanged"]}}};s.style=d;export{s as dda_home_banner};
2
+ //# sourceMappingURL=p-0fa24558.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["homeBannerCss","DdaHomeBannerStyle0","DdaHomeBanner","constructor","hostRef","this","autoplay","interval","currentSlide","slides","autoPlayActive","pausedProgressOffset","animationFrameId","componentDidLoad","updateSlides","slot","el","querySelector","addEventListener","length","playVideoInCurrentSlide","tryStart","circle","startAutoplay","animateProgress","requestAnimationFrame","disconnectedCallback","stopAutoplay","cancelAnimationFrame","componentDidRender","forEach","slide","index","classList","toggle","Array","from","querySelectorAll","video","setupTimer","durationMs","autoPlayInterval","setInterval","nextSlide","readyState","duration","once","clearInterval","toggleAutoplay","_a","offset","totalLength","getTotalLength","startRatio","play","style","window","getComputedStyle","strokeDashoffset","parseFloat","pause","currentTime","prevSlide","setSlide","onSlideChanged","start","performance","now","strokeDasharray","transition","animate","elapsed","progress","Math","min","newOffset","resetProgress","render","hasMultipleSlides","h","Host","key","class","role","type","onClick","width","height","viewBox","fill","xmlns","d","stroke","cx","cy","r","map","_","scroll_icon_size","scroll_icon_color","custom_class","component_mode"],"sources":["src/components/dda-home-banner/home-banner.css?tag=dda-home-banner","src/components/dda-home-banner/dda-home-banner.tsx"],"sourcesContent":[".dda-home-banner {\r\n width: 100%;\r\n height: calc(100vh);\r\n background-color: black;\r\n position: relative;\r\n overflow: hidden;\r\n display: block;\r\n}\r\n\r\n.dda-home-banner .dda-home-slides .dda-home-banner-slide::before {\r\n content: '';\r\n width: 100%;\r\n height: 80%;\r\n position: absolute;\r\n bottom: 0;\r\n background: rgb(0, 0, 0);\r\n background: linear-gradient(0deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);\r\n z-index: 1;\r\n}\r\n\r\n.dda-home-slides {\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n /* transition: all 0.7s ease-in-out; */\r\n}\r\n\r\n.dda-home-banner .dda-home-slides img,\r\n.dda-home-banner .dda-home-slides video {\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n}\r\n\r\n.dda-home-banner .dda-home-slides .dda-home-banner-slide {\r\n position: relative;\r\n width: 100vw;\r\n height: 100vh;\r\n}\r\n\r\n.dda-home-banner .dda-home-slides .dda-home-banner-slide {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n opacity: 0;\r\n /* transition: opacity 1s ease-in-out; */\r\n pointer-events: none;\r\n z-index: 0;\r\n box-sizing: border-box;\r\n}\r\n\r\n.dda-home-banner .dda-home-slides .dda-home-banner-slide.active {\r\n opacity: 1;\r\n pointer-events: auto;\r\n z-index: 1;\r\n}\r\n\r\n.dda-home-banner-slider-nav {\r\n width: 100%;\r\n text-align: center;\r\n position: absolute;\r\n bottom: 279px;\r\n left: 0;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 5px;\r\n height: 30px;\r\n z-index: 3;\r\n}\r\n\r\n.dda-home-banner-slider-nav .dda-home-banner-slider-nav-content{\r\n width: 100%;\r\n text-align: center;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 15px;\r\n}\r\n\r\n.dda-home-banner-slider-nav .dda-home-banner-prev,\r\n.dda-home-banner-slider-nav .dda-home-banner-next,\r\n.dda-home-banner-slider-nav .dda-home-banner-Pause {\r\n height: 28px;\r\n width: 28px;\r\n padding: 0;\r\n margin: 0;\r\n border: 0;\r\n background: none;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n color: #ffffff;\r\n background: rgba(0, 0, 0, 0);\r\n border-radius: 50%;\r\n font-size: 25px;\r\n /* transition: all 0.2s linear; */\r\n}\r\n.dda-home-banner-slider-nav .dda-home-banner-prev:hover,\r\n.dda-home-banner-slider-nav .dda-home-banner-next:hover {\r\n background: rgba(0, 0, 0, 0.15);\r\n}\r\n\r\n.dda-home-banner-slider-nav .dda-home-banner-Pause span{\r\n width: 28px;\r\n height: 28px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: relative;\r\n}\r\n.dda-home-banner-slider-nav .dda-home-banner-Pause span svg.main-circle{\r\n width: 30px;\r\n height: 30px;\r\n}\r\n.dda-home-banner-slider-nav .dda-home-banner-Pause span svg.nav-play-icon{\r\n width: 10px;\r\n height: 10px;\r\n position: absolute;\r\n top: 9px;\r\n left: 9px;\r\n}\r\n.dda-home-banner-slider-nav .dda-home-banner-Pause span svg.nav-pause-icon{\r\n width: 9px;\r\n height: 9px;\r\n position: absolute;\r\n top: 9px;\r\n left: 9px;\r\n}\r\n.dda-home-banner-slider-nav ul {\r\n display: flex;\r\n align-items: center;\r\n gap: 15px;\r\n}\r\n\r\n.dda-home-banner-slider-nav .dots {\r\n display: block;\r\n width: 10px;\r\n height: 10px;\r\n background: rgba(256,256,256,0.2);\r\n overflow: hidden;\r\n text-indent: -100px;\r\n margin: 0;\r\n padding: 0;\r\n border: 0px;\r\n border-radius: 20px;\r\n cursor: pointer;\r\n /* transition: all 0.2s linear; */\r\n}\r\n\r\n.dda-home-banner-slider-nav .dots.active {\r\n background: rgba(256,256,256,0.85);\r\n}\r\n\r\n\r\n\r\n\r\n/* .dda-slider-timer-circle {\r\n transition: stroke-dashoffset 3s linear;\r\n} */\r\n\r\n\r\n[dir=\"rtl\"] .dda-home-banner-slider-nav .dda-home-banner-next i.material-icons {\r\n transform: rotate(180deg);\r\n}\r\n\r\n[dir=\"rtl\"] .dda-home-banner-slider-nav .dda-home-banner-prev i.material-icons {\r\n transform: rotate(-180deg);\r\n}\r\n\r\n\r\n\r\n\r\n/*Customizable slider content based on entity design*/\r\n.dda-home-banner .dda-slide-contant-wrap {\r\n position: relative;\r\n width: 100vw;\r\n height: 100vh;\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.dda-home-banner .dda-slide-contant {\r\n width: 90vw;\r\n margin: 0 auto;\r\n padding: 0 20px;\r\n position: relative;\r\n z-index: 1;\r\n}\r\n\r\n.dda-home-banner .dda-slide-contant h2 {\r\n font-size: var(--dda-fs-display-sm);\r\n color: #fff;\r\n font-weight: var(--dda-fw-700);\r\n}\r\n\r\n.dda-home-banner .dda-slide-contant p {\r\n font-size: var(--dda-fs-headline-sm);\r\n color: #fff;\r\n font-weight: var(--dda-fw-300);\r\n}\r\n\r\n\r\n\r\n.material-symbols-outlined {\r\n font-variation-settings:\r\n 'FILL' 1,\r\n 'wght' 400,\r\n 'GRAD' 0,\r\n 'opsz' 24\r\n}\r\n\r\n\r\n@media screen and (max-width:992px) {\r\n \r\n}\r\n@media (max-width: 1024px) {\r\n .dda-home-banner {\r\n height: calc(100vh);\r\n }\r\n .dda-home-banner .dda-slide-contant {\r\n width: 100vw;\r\n }\r\n .dda-home-banner-slider-nav {\r\n bottom: 300px;\r\n }\r\n .dda-mouse-scroll,\r\n .dda-home-banner-prev,\r\n .dda-home-banner-Pause,\r\n .dda-home-banner-next{\r\n display: none !important;\r\n }\r\n .dda-home-banner .dda-slide-contant-wrap{\r\n display: inherit;\r\n height: auto;\r\n position: absolute;\r\n bottom: 350px;\r\n }\r\n \r\n}\r\n\r\n\r\n@media (prefers-reduced-motion: no-preference) {\r\n .dda-home-slides {\r\n transition: all 0.7s ease-in-out;\r\n }\r\n .dda-home-banner .dda-home-slides .dda-home-banner-slide {\r\n transition: opacity 1s ease-in-out;\r\n }\r\n .dda-home-banner-slider-nav .dda-home-banner-prev,\r\n .dda-home-banner-slider-nav .dda-home-banner-next,\r\n .dda-home-banner-slider-nav .dda-home-banner-Pause {\r\n transition: all 0.2s linear;\r\n }\r\n .dda-home-banner-slider-nav .dots {\r\n transition: all 0.2s linear;\r\n }\r\n .dda-slider-timer-circle {\r\n transition: stroke-dashoffset 3s linear;\r\n }\r\n\r\n}","import { Host, Component, h, State, Element, Prop, Watch } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-home-banner',\r\n styleUrls: ['home-banner.css'],\r\n shadow: false,\r\n})\r\nexport class DdaHomeBanner {\r\n @Element() el: HTMLElement;\r\n\r\n /** Props */\r\n @Prop() autoplay: boolean = true;\r\n @Prop() interval: number = 3000;\r\n\r\n /** States */\r\n @State() currentSlide: number = 0;\r\n @State() slides: HTMLElement[] = [];\r\n @State() autoPlayActive: boolean = true;\r\n\r\n private autoPlayInterval: any;\r\n private pausedProgressOffset: number = 0;\r\n private animationFrameId: number | null = null;\r\n\r\n // componentDidLoad() {\r\n // this.updateSlides();\r\n // const slot = this.el.querySelector('slot');\r\n // slot?.addEventListener('slotchange', () => this.updateSlides());\r\n\r\n // this.autoPlayActive = this.autoplay && this.slides.length > 1;\r\n // this.playVideoInCurrentSlide();\r\n\r\n // if (this.autoPlayActive) {\r\n // this.startAutoplay();\r\n // this.animateProgress(); // Initial animation\r\n // }\r\n // }\r\n\r\n componentDidLoad() {\r\n this.updateSlides();\r\n const slot = this.el.querySelector('slot');\r\n slot?.addEventListener('slotchange', () => this.updateSlides());\r\n\r\n this.autoPlayActive = this.autoplay && this.slides.length > 1;\r\n this.playVideoInCurrentSlide();\r\n\r\n // ✅ Wait for the DOM to fully render slides before animating\r\n if (this.autoPlayActive) {\r\n const tryStart = () => {\r\n const circle = this.el.querySelector('.circle-loader');\r\n if (circle) {\r\n this.startAutoplay();\r\n this.animateProgress();\r\n } else {\r\n requestAnimationFrame(tryStart);\r\n }\r\n };\r\n tryStart();\r\n }\r\n}\r\n\r\n disconnectedCallback() {\r\n this.stopAutoplay();\r\n if (this.animationFrameId) {\r\n cancelAnimationFrame(this.animationFrameId);\r\n }\r\n }\r\n\r\n componentDidRender() {\r\n this.slides.forEach((slide, index) => {\r\n slide.classList.toggle('active', index === this.currentSlide);\r\n });\r\n }\r\n\r\n updateSlides() {\r\n this.slides = Array.from(this.el.querySelectorAll('.dda-home-banner-slide'));\r\n if (this.slides.length > 0) {\r\n this.currentSlide = 0;\r\n }\r\n\r\n // Disable autoplay if there's only one slide\r\n if (this.slides.length <= 1) {\r\n this.autoPlayActive = false;\r\n this.stopAutoplay();\r\n }\r\n }\r\n\r\n startAutoplay() {\r\n this.stopAutoplay();\r\n\r\n if (this.autoPlayActive && this.slides.length > 1) {\r\n const slide = this.slides[this.currentSlide];\r\n const video = slide?.querySelector('video') as HTMLVideoElement;\r\n\r\n const setupTimer = (durationMs: number) => {\r\n this.autoPlayInterval = setInterval(() => {\r\n this.nextSlide();\r\n }, durationMs);\r\n this.animateProgress(1); // animate full ring\r\n };\r\n\r\n if (video) {\r\n if (video.readyState >= 1) {\r\n setupTimer(video.duration * 1000);\r\n } else {\r\n video.addEventListener(\r\n 'loadedmetadata',\r\n () => {\r\n setupTimer(video.duration * 1000);\r\n },\r\n { once: true }\r\n );\r\n }\r\n } else {\r\n setupTimer(this.interval);\r\n }\r\n }\r\n }\r\n\r\n stopAutoplay() {\r\n if (this.autoPlayInterval) {\r\n clearInterval(this.autoPlayInterval);\r\n this.autoPlayInterval = null;\r\n }\r\n }\r\n\r\n toggleAutoplay() {\r\n const circle = this.el.querySelector('.circle-loader') as SVGPathElement;\r\n const video = this.slides[this.currentSlide]?.querySelector('video') as HTMLVideoElement;\r\n\r\n this.autoPlayActive = !this.autoPlayActive;\r\n\r\n if (this.autoPlayActive) {\r\n this.startAutoplay();\r\n\r\n const offset = this.pausedProgressOffset;\r\n const totalLength = circle?.getTotalLength() || 1;\r\n const startRatio = offset / totalLength;\r\n\r\n if (video) video.play();\r\n this.animateProgress(startRatio);\r\n } else {\r\n this.stopAutoplay();\r\n\r\n if (this.animationFrameId) {\r\n cancelAnimationFrame(this.animationFrameId);\r\n this.animationFrameId = null;\r\n }\r\n\r\n if (circle) {\r\n const style = window.getComputedStyle(circle);\r\n const strokeDashoffset = parseFloat(style.strokeDashoffset || '0');\r\n this.pausedProgressOffset = strokeDashoffset;\r\n }\r\n\r\n if (video) video.pause();\r\n }\r\n }\r\n\r\n playVideoInCurrentSlide() {\r\n this.slides.forEach((slide, index) => {\r\n const video = slide.querySelector('video') as HTMLVideoElement;\r\n if (video) {\r\n if (index === this.currentSlide) {\r\n video.currentTime = 0;\r\n video.play();\r\n } else {\r\n video.pause();\r\n }\r\n }\r\n });\r\n }\r\n\r\n nextSlide() {\r\n this.currentSlide = (this.currentSlide + 1) % this.slides.length;\r\n }\r\n\r\n prevSlide() {\r\n this.currentSlide = (this.currentSlide - 1 + this.slides.length) % this.slides.length;\r\n }\r\n\r\n setSlide(index: number) {\r\n this.currentSlide = index;\r\n }\r\n\r\n @Watch('currentSlide')\r\n onSlideChanged() {\r\n this.animateProgress();\r\n this.playVideoInCurrentSlide();\r\n this.startAutoplay(); // restart with correct duration\r\n }\r\n\r\n animateProgress(startRatio = 1) {\r\n const circle = this.el.querySelector('.circle-loader') as SVGPathElement;\r\n if (!circle) return;\r\n\r\n const length = circle.getTotalLength();\r\n const slide = this.slides[this.currentSlide];\r\n const video = slide?.querySelector('video') as HTMLVideoElement;\r\n const duration = (video && video.duration ? video.duration * 1000 : this.interval) * startRatio;\r\n const start = performance.now();\r\n this.pausedProgressOffset = length * startRatio;\r\n\r\n circle.style.strokeDasharray = `${length}`;\r\n circle.style.strokeDashoffset = `${this.pausedProgressOffset}`;\r\n circle.style.transition = 'none';\r\n\r\n const animate = (now: number) => {\r\n const elapsed = now - start;\r\n const progress = Math.min(elapsed / duration, 1);\r\n const newOffset = length * (1 - progress) * startRatio;\r\n circle.style.strokeDashoffset = `${newOffset}`;\r\n\r\n if (progress < 1) {\r\n this.animationFrameId = requestAnimationFrame(animate);\r\n }\r\n };\r\n\r\n if (this.animationFrameId) {\r\n cancelAnimationFrame(this.animationFrameId);\r\n }\r\n this.animationFrameId = requestAnimationFrame(animate);\r\n }\r\n\r\n resetProgress() {\r\n const circle = this.el.querySelector('.circle-loader') as SVGPathElement;\r\n if (circle) {\r\n const length = circle.getTotalLength();\r\n circle.style.transition = 'none';\r\n circle.style.strokeDashoffset = `${length}`;\r\n this.pausedProgressOffset = length;\r\n }\r\n }\r\n\r\n render() {\r\n const hasMultipleSlides = this.slides.length > 1;\r\n\r\n return (\r\n <Host>\r\n <div class=\"dda-home-banner\" role=\"region\" aria-label=\"Homepage banner with slides\">\r\n <div class=\"dda-home-slides\" role=\"list\" aria-live=\"polite\" aria-atomic=\"true\">\r\n <slot></slot>\r\n </div>\r\n\r\n <div class=\"dda-home-banner-slider-nav\">\r\n {hasMultipleSlides && (\r\n <div class=\"dda-home-banner-slider-nav-content\">\r\n <button\r\n type=\"button\"\r\n class=\"dda-home-banner-prev\"\r\n onClick={() => this.prevSlide()}\r\n >\r\n <i class=\"material-icons\" aria-hidden=\"true\">chevron_left</i>\r\n <span class=\"visually-hidden\">Previous slide</span>\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"dda-home-banner-Pause\"\r\n onClick={() => this.toggleAutoplay()}\r\n aria-pressed={this.autoPlayActive ? 'true' : 'false'}\r\n aria-label={this.autoPlayActive ? 'Pause slideshow autoplay' : 'Play slideshow autoplay'}\r\n >\r\n <span>\r\n <svg\r\n class=\"main-circle\"\r\n width=\"25\"\r\n height=\"26\"\r\n viewBox=\"0 0 25 26\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n aria-hidden=\"true\"\r\n >\r\n <path\r\n class=\"circle-loader\"\r\n d=\"M8.61616 4.62474C9.35885 4.35949 10.4729 3.92017 12.146 3.92017C16.7619 3.92017 21.1489 7.55969 21.1489 12.9247C20.9849 18.8126 16.4271 21.9202 12.146 21.9202C7.78471 21.9202 3.16382 18.5036 3.16382 12.9601C3.16382 11.8748 3.2148 11.4931 3.48806 10.4602\"\r\n stroke=\"white\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n />\r\n <circle class=\"dott\" cx=\"5.17456\" cy=\"6.92017\" r=\"1.44751\" fill=\"white\" />\r\n </svg>\r\n {this.autoPlayActive ? (\r\n <svg\r\n class=\"nav-pause-icon\"\r\n width=\"7\"\r\n height=\"7\"\r\n viewBox=\"0 0 7 7\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n aria-hidden=\"true\"\r\n >\r\n <path d=\"M0.482666 0.548584H2.48267V6.54858H0.482666V0.548584Z\" fill=\"white\" />\r\n <path d=\"M4.47974 0.548584H6.47974V6.54858H4.47974V0.548584Z\" fill=\"white\" />\r\n </svg>\r\n ) : (\r\n <svg\r\n class=\"nav-play-icon\"\r\n width=\"9\"\r\n height=\"9\"\r\n viewBox=\"0 0 9 9\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n aria-hidden=\"true\"\r\n >\r\n <path\r\n d=\"M7.9682 3.68255C8.63487 4.06745 8.63487 5.0297 7.9682 5.4146L2.31372 8.67922C1.64705 9.06412 0.813721 8.58299 0.813721 7.81319L0.813721 1.28396C0.813721 0.51416 1.64705 0.0330374 2.31372 0.417938L7.9682 3.68255Z\"\r\n fill=\"white\"\r\n />\r\n </svg>\r\n )}\r\n </span>\r\n </button>\r\n\r\n <ul aria-label=\"Select slide\">\r\n {this.slides.map((_, index) => (\r\n <li key={index}>\r\n <button\r\n type=\"button\"\r\n class={this.currentSlide === index ? 'dots active' : 'dots'}\r\n onClick={() => this.setSlide(index)}\r\n aria-label={`Go to slide ${index + 1}`}\r\n aria-current={this.currentSlide === index ? 'true' : 'false'}\r\n ></button>\r\n </li>\r\n ))}\r\n </ul>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"dda-home-banner-next\"\r\n onClick={() => this.nextSlide()}\r\n aria-label=\"Next slide\"\r\n >\r\n <i class=\"material-icons\" aria-hidden=\"true\">chevron_right</i>\r\n <span class=\"visually-hidden\">Next slide</span>\r\n </button>\r\n </div>\r\n )}\r\n\r\n <div class=\"dda-mouse-scroll\">\r\n <dda-scroll-icon\r\n scroll_icon_size=\"sm\"\r\n scroll_icon_color=\"white\"\r\n custom_class=\"\"\r\n component_mode=\"\"\r\n class=\"hydrated\"\r\n aria-hidden=\"true\"\r\n ></dda-scroll-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
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:"ecf43cd602ef0f98974d1c76cfd50ac7357b6a08"},e("div",{key:"4c15c3048ad62d235b7259cbf3f39921909ce5e5",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:"e58cda1941ef732a951dc06f7c01f7d904a1c8c3",id:t,class:"dda-input-label"},this.label),e("div",{key:"6885ef524717d3b8f9850b3995f56ae5194e748a",class:"dda-dropdown-container"},e("button",{key:"a4e6e30acdf55e12aa4742f9dc824c9e1eec0b57",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:"8f67e50593affdb2b558200091c2aecd53e9c387",id:s,class:"dda-select-button-label"},this.selectedText||this.placeholder),e("i",{key:"423ca7dcd2b51118ffa5e5cddaa86d05ae981e5d",class:"material-icons","aria-hidden":"true"},this.is_open?"keyboard_arrow_up":"keyboard_arrow_down")),this.is_open&&e("div",{key:"ffcefb669f4400f26ffff871092cf22ac977a2d4",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-24da4601.entry.js.map
@@ -0,0 +1 @@
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: ['../../global/input.css', '../../global/global.css'],\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":"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","ignoreList":[]}