@nanoporetech-digital/components 5.4.2 → 5.5.1
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.
- package/CHANGELOG.md +30 -0
- package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +1 -1
- package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-nav.cjs.entry.js +1 -4
- package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-slides.cjs.entry.js +64 -33
- package/dist/cjs/nano-slides.cjs.entry.js.map +1 -1
- package/dist/cjs/{nano-table-201b1ee2.js → nano-table-884ce575.js} +2 -2
- package/dist/cjs/{nano-table-201b1ee2.js.map → nano-table-884ce575.js.map} +1 -1
- package/dist/cjs/nano-table.cjs.entry.js +1 -1
- package/dist/cjs/{table.worker-1b295406.js → table.worker-670457aa.js} +2 -2
- package/dist/cjs/table.worker-670457aa.js.map +1 -0
- package/dist/collection/components/global-nav/global-nav.js +1 -4
- package/dist/collection/components/global-nav/global-nav.js.map +1 -1
- package/dist/collection/components/nav-item/nav-item.js +1 -1
- package/dist/collection/components/nav-item/nav-item.js.map +1 -1
- package/dist/collection/components/slides/lib/js/animate.js +5 -3
- package/dist/collection/components/slides/lib/js/flickity.js +1 -0
- package/dist/collection/components/slides/lib/js/page-dots.js +5 -0
- package/dist/collection/components/slides/lib/js/prev-next-button.js +23 -6
- package/dist/collection/components/slides/slides-interface.js.map +1 -1
- package/dist/collection/components/slides/slides.js +47 -28
- package/dist/collection/components/slides/slides.js.map +1 -1
- package/dist/components/nano-global-nav.js +1 -4
- package/dist/components/nano-global-nav.js.map +1 -1
- package/dist/components/nano-slides.js +64 -33
- package/dist/components/nano-slides.js.map +1 -1
- package/dist/components/nav-item.js +1 -1
- package/dist/components/nav-item.js.map +1 -1
- package/dist/esm/nano-global-nav-user-profile_3.entry.js +1 -1
- package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +1 -1
- package/dist/esm/nano-global-nav.entry.js +1 -4
- package/dist/esm/nano-global-nav.entry.js.map +1 -1
- package/dist/esm/nano-slides.entry.js +64 -33
- package/dist/esm/nano-slides.entry.js.map +1 -1
- package/dist/esm/{nano-table-f2c222e8.js → nano-table-c6a4e1dc.js} +2 -2
- package/dist/esm/{nano-table-f2c222e8.js.map → nano-table-c6a4e1dc.js.map} +1 -1
- package/dist/esm/nano-table.entry.js +1 -1
- package/dist/esm/{table.worker-8356a40e.js → table.worker-2568f20c.js} +2 -2
- package/dist/esm/table.worker-2568f20c.js.map +1 -0
- package/dist/nano-components/nano-components.esm.js +1 -1
- package/dist/nano-components/{p-bdb5dfc3.js → p-4ef3200a.js} +2 -2
- package/dist/nano-components/p-7c4ac519.entry.js +23 -0
- package/dist/nano-components/p-7c4ac519.entry.js.map +1 -0
- package/dist/nano-components/{p-fa9f834b.entry.js → p-997319eb.entry.js} +2 -2
- package/dist/nano-components/{p-fa9f834b.entry.js.map → p-997319eb.entry.js.map} +1 -1
- package/dist/nano-components/{p-e94da35a.entry.js → p-9a0191c7.entry.js} +2 -2
- package/dist/nano-components/p-afd3cd17.entry.js +5 -0
- package/dist/nano-components/p-afd3cd17.entry.js.map +1 -0
- package/dist/nano-components/{p-a593dac2.js → p-f5698b41.js} +2 -2
- package/dist/types/components/slides/slides-interface.d.ts +2 -0
- package/dist/types/components/slides/slides.d.ts +39 -74
- package/dist/types/components.d.ts +3 -3
- package/docs-json.json +104 -7
- package/hydrate/index.js +80 -39
- package/package.json +2 -2
- package/dist/cjs/table.worker-1b295406.js.map +0 -1
- package/dist/esm/table.worker-8356a40e.js.map +0 -1
- package/dist/nano-components/p-37c7eda3.entry.js +0 -5
- package/dist/nano-components/p-37c7eda3.entry.js.map +0 -1
- package/dist/nano-components/p-7f5fb917.entry.js +0 -23
- package/dist/nano-components/p-7f5fb917.entry.js.map +0 -1
- /package/dist/nano-components/{p-bdb5dfc3.js.map → p-4ef3200a.js.map} +0 -0
- /package/dist/nano-components/{p-a593dac2.js.map → p-9a0191c7.entry.js.map} +0 -0
- /package/dist/nano-components/{p-e94da35a.entry.js.map → p-f5698b41.js.map} +0 -0
@@ -1,5 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* Web Components for Nanopore digital Web Apps
|
3
|
-
*/
|
4
|
-
import{r as n,h as t,i as e,c as i,a as s,g as a}from"./p-d6a04b3a.js";import{b as o,g as r,c as l}from"./p-257432ff.js";import{d as c}from"./p-f6de2d5d.js";import{g as h}from"./p-f88fa15c.js";import{g as d}from"./p-74a7fc4f.js";import{c as p}from"./p-411bb8f1.js";import{d as u,a as b}from"./p-7bff5224.js";import{F as f,a as v}from"./p-dc805ecc.js";const m=class{constructor(t){n(this,t);this.myAccountUser=undefined;this.userProfileUrl=undefined}render(){var n;return!!this.myAccountUser&&t("a",{href:this.userProfileUrl,class:"user-profile"},t("div",{class:"left"},t("div",{class:"avatar-container"},t("img",{class:"avatar",src:(n=this.myAccountUser)===null||n===void 0?void 0:n.small_avatar_url,alt:"User Avatar",height:75,width:75}),this.myAccountUser.is_nanopore_user&&t("img",{class:"logo-small",src:e(`../nano-assets/ont-wheel-light.svg`),alt:"Nanopore Logo"})),t("div",{class:"user-details"},t("span",{class:"name"},this.myAccountUser.name),t("span",{class:"bio"},this.myAccountUser.job_title," at ",this.myAccountUser.company))),t("div",{class:"right"},t("div",{class:"chevron-right"},t("nano-icon",{slot:"icon-end",name:"light/chevron-right","aria-label":"navigate to ..."}))))}};const g=':host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}:host{opacity:inherit;display:block;color:var(--color) !important;margin:var(--margin);outline:none !important}:host .nav-item,:host .link{outline:none !important;border-radius:inherit}:host ::slotted(*),:host *{box-sizing:border-box}:host ::slotted(button),:host button{background:none;border:none;margin:0}:host ::slotted(button),:host ::slotted(a),:host ::slotted(a:visited),:host button,:host a,:host a:visited{font-family:inherit;font-size:inherit;font-stretch:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-inline:var(--padding-start) var(--padding-end);padding-block:var(--padding-top) var(--padding-bottom);display:var(--display, block);white-space:nowrap;color:var(--color) !important;background-color:var(--bg-color);line-height:inherit;outline:none !important}:host ::slotted(nano-icon[slot=icon-start]){-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}:host ::slotted(nano-icon[slot=icon-end]){-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start)}:host .link ::slotted(nano-icon[slot=icon-start]){-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:0;padding-inline-end:0}:host .link ::slotted(nano-icon[slot=icon-end]){-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);-webkit-padding-start:0;padding-inline-start:0}:host .link,:host button,:host a{-webkit-border-after:var(--border-bottom);border-block-end:var(--border-bottom);display:flex;align-items:center;border-radius:inherit}:host .secondary-menu{display:none}:host ::slotted(a:hover),:host ::slotted(button:hover),:host .link:hover,:host button:hover,:host a:hover{text-decoration:inherit !important}:host button:focus-visible,:host a:focus-visible{color:var(--color-focus, var(--color-hover, var(--color))) !important;background-color:var(--bg-color-focus, var(--bg-color-hover, var(--bg-color)));box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)))}:host ::slotted(a:focus-visible),:host ::slotted(button:focus-visible){color:var(--color-focus, var(--color-hover, var(--color))) !important;background-color:var(--bg-color-focus, var(--bg-color-hover, var(--bg-color)));box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)))}.nav-item.selected .link,.nav-item.selected button,.nav-item.selected a{color:var(--color-selected, var(--color-open, var(--color))) !important;background-color:var(--bg-color-selected, var(--bg-color-open, var(--bg-color)))}.nav-item.secondary-open button,.nav-item.secondary-open a{color:var(--color-open, var(--color-selected, var(--color))) !important;background-color:var(--bg-color-open, var(--secondary-bg-color, var(--bg-color-selected, var(--bg-color))))}.nav-item.disabled{opacity:0.6}.nav-item.disabled button,.nav-item.disabled a{color:var(--color-disabled, var(--color)) !important}.nav-item:not(.nano-menu) ::slotted(a:hover),.nav-item:not(.nano-menu) ::slotted(button:hover),.nav-item:not(.nano-menu) .link:hover,.nav-item:not(.nano-menu) button:hover,.nav-item:not(.nano-menu) a:hover{color:var(--color-hover, var(--color-hover, var(--color))) !important;background-color:var(--bg-color-hover, var(--bg-color-focus, var(--bg-color)))}:host(.has-focus) .link{color:var(--color-focus, var(--color-hover, var(--color))) !important;background-color:var(--bg-color-focus, var(--bg-color-hover, var(--bg-color)));outline:var(--focus-outline, 5px auto -webkit-focus-ring-color)}:host(.nano-global-nav-menu) a,:host(.nano-global-nav-menu) a:visited,:host(.nano-global-nav-menu) button,:host(.nano-global-nav-menu) .link,:host(.nano-menu) a,:host(.nano-menu) a:visited,:host(.nano-menu) button,:host(.nano-menu) .link{display:flex;justify-content:flex-start;flex-direction:row;align-items:center;color:currentcolor;text-decoration:inherit;white-space:normal;cursor:pointer;line-height:1.2;width:100%}:host(.nano-global-nav-menu) .text,:host(.nano-menu) .text{-webkit-padding-start:0;padding-inline-start:0;-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);flex:1}:host(.nano-global-nav-menu) ::slotted(a),:host(.nano-global-nav-menu) ::slotted(button),:host(.nano-menu) ::slotted(a),:host(.nano-menu) ::slotted(button){flex:1}:host(.nano-global-nav-menu) .secondary-menu,:host(.nano-menu) .secondary-menu{display:none;position:absolute;color:var(--secondary-color, currentcolor);min-height:100%;inset-block-start:0;inset-inline-start:0;width:100%;z-index:1;opacity:0;transition:opacity 0.2s ease, transform 0.3s ease;background-color:var(--secondary-bg-color, white);transform:translateX(100%)}:host(.nano-global-nav-menu) .secondary-menu:focus,:host(.nano-menu) .secondary-menu:focus{outline:none}:host(.nano-global-nav-menu) .secondary-menu.open,:host(.nano-menu) .secondary-menu.open{opacity:1;transform:translateX(0);transition:opacity 0.3s ease, transform 0.2s ease}:host(.nano-global-nav-menu) ::slotted(nano-icon[slot=icon-start]){padding-inline:0 var(--padding-end);padding-block:0}:host(.nano-global-nav-menu) ::slotted(nano-icon[slot=icon-end]){padding-inline:0 var(--padding-end);padding-block:0;font-size:10px;flex:0 0 10px;pointer-events:none}:host(.nano-global-nav-menu) button ::slotted(nano-icon[slot=icon-end]),:host(.nano-global-nav-menu) a ::slotted(nano-icon[slot=icon-end]){padding:0}:host(.nano-global-nav-menu[dir=rtl]) .secondary-menu,:host(.nano-menu[dir=rtl]) .secondary-menu{transform:translateX(-100%)}:host(.nano-global-nav-menu[dir=rtl]) .secondary-menu.open,:host(.nano-menu[dir=rtl]) .secondary-menu.open{transform:translateX(0)}:host(.nano-menu) ::slotted(a:focus),:host(.nano-menu) ::slotted(button:focus){box-shadow:none}:host(.nano-menu) .secondary-menu-content{padding-inline:var(--secondary-padding-start) var(--secondary-padding-end);padding-block:var(--secondary-padding-top) var(--secondary-padding-bottom)}:host(.nano-global-nav-bar) .link,:host(.nano-global-nav-bar) a,:host(.nano-global-nav-bar) button{display:flex;align-items:center;cursor:pointer}:host(.nano-global-nav-bar) .text{flex:1 0 auto}:host(.nano-global-nav-bar) ::slotted(nano-icon[slot=icon-end]){margin-inline:var(--padding-end) 0;margin-block:0}:host(.nano-global-nav-bar) ::slotted(nano-icon[slot=icon-start]){margin-inline:0 var(--padding-start);margin-block:0}:host(.nano-global-nav-bar) ::slotted(a),:host(.nano-global-nav-bar) button{position:relative}:host(.nano-global-nav-bar) ::slotted(a)::before,:host(.nano-global-nav-bar) button::before{content:"";background-color:#0c5a71;height:9px;inset-inline:0 5px;inset-block-end:-22px;position:absolute;transform:translateZ(0) scaleX(0);transform-origin:0;transition:0.2s ease transform}:host(.nano-global-nav-bar) .selected button::before,:host(.nano-global-nav-bar) .secondary-open button::before{transform:translateZ(0) scaleX(1)}:host(.nano-global-nav-bar.selected) ::slotted(a)::before{transform:translateZ(0) scaleX(1)}:host(.nano-global-nav-bar.has-secondary) .secondary-open button::before{opacity:0.7}:host(.nano-global-nav-bar.has-secondary) .secondary-menu{display:none;transition:transform 0.3s ease;transform:translateY(-100%) translateZ(0);background-color:var(--secondary-bg-color, #196c82);color:var(--secondary-color);position:absolute;box-shadow:0 1px 25px 0 rgba(0, 0, 0, 0.15);inset-inline:0;z-index:-2;outline:none}:host(.nano-global-nav-bar.has-secondary) .secondary-menu.open{transform:translateY(12px) translateZ(0)}:host(.nano-menu-drawer) .link,:host(.nano-menu-drawer) a,:host(.nano-menu-drawer) button{-webkit-padding-before:calc(var(--padding-top) / 2);padding-block-start:calc(var(--padding-top) / 2);-webkit-padding-end:0;padding-inline-end:0;-webkit-padding-after:calc(var(--padding-bottom) / 2);padding-block-end:calc(var(--padding-bottom) / 2);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);display:flex;justify-content:flex-start;flex-direction:row;align-items:center;color:currentcolor;text-decoration:inherit;white-space:normal;border:none;cursor:pointer;line-height:1.2;width:100%}:host(.nano-menu-drawer) .text{-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);-webkit-padding-start:0;padding-inline-start:0;text-align:start;flex:0 1 auto;min-width:130px;width:130px}:host(.nano-menu-drawer) ::slotted(nano-icon[slot=icon-start]){padding-inline:0 var(--padding-end);padding-block:0;font-size:var(--icon-size);width:var(--icon-size);flex:0 0 var(--icon-size)}:host(.nano-menu-drawer) ::slotted(nano-icon[slot=icon-end]){padding:0 var(--padding-end) 0 0;font-size:10px;flex:0 0 20px;min-width:20px}:host(.nano-menu-drawer) .secondary-menu{display:none;position:absolute;background-color:var(--secondary-bg-color);color:var(--secondary-color);height:100vh;inset-inline:auto 0;inset-block:0;transform:translateX(0);z-index:-1;transition:transform 0.3s ease, opacity 0.2s ease;overflow-y:auto;width:var(--secondary-width, 400px);max-width:62vw;opacity:1;padding-inline:var(--secondary-padding-start, var(--padding-start)) var(--secondary-padding-end, var(--padding-end));padding-block:var(--secondary-padding-top, var(--padding-top)) var(--secondary-padding-bottom, var(--padding-bottom))}:host(.nano-menu-drawer) .secondary-menu:focus{outline:none}:host(.nano-menu-drawer) .secondary-menu.open{transform:translateX(100%)}:host(.nano-menu-drawer) .notification{position:relative}:host(.nano-menu-drawer) .notification::after{content:"";display:block;position:absolute;width:6px;height:6px;background-color:#ef4135;inset-inline-start:10px;inset-block-start:7px;border-radius:50%}@media (min-width: 52em){:host(.nano-menu-drawer) .notification::after{width:7px;height:7px;inset-inline-start:8px;inset-block-start:5px}}:host(.nano-menu-drawer[dir=rtl]) .secondary-menu{transform:translateX(0%)}:host(.nano-menu-drawer[dir=rtl]) .secondary-menu.open{transform:translateX(-100%);opacity:1}';const _=class{constructor(t){n(this,t);this.nanoClose=i(this,"nanoClose",7);this.nanoOpen=i(this,"nanoOpen",7);this.nanoOpening=i(this,"nanoOpening",7);this.nanoClosing=i(this,"nanoClosing",7);this.nanoBlur=i(this,"nanoBlur",7);this.nanoFocus=i(this,"nanoFocus",7);this.hasSecondarySlot=false;this.animating=false;this.closeSecondary=async()=>{if(!this.hasSecondarySlot||!this.didOpen)return;this.open=false;await c(this.secondaryDiv,"open",false);this.nanoClosing.emit({secondaryMenu:this.secondaryDiv});this.didOpen=false};this.openSecondary=async()=>{if(window.innerWidth<this.secondaryActiveWidth){this.secondaryFallback.call(this);return}if(!this.hasSecondarySlot||this.didOpen)return;this.open=true;await c(this.secondaryDiv,"open",true);this.nanoOpening.emit({secondaryMenu:this.secondaryDiv});this.didOpen=true};this.toggleSecondary=()=>{if(!this.hasSecondarySlot)return;if(this.didOpen)this.closeSecondary();else this.openSecondary()};this.handleFocus=()=>{this.hasFocus=true;if(this.href&&!this.animating&&this.hasSecondarySlot)this.openSecondary();this.nanoFocus.emit()};this.handleHostBlur=()=>{if(this.animating)return;this.el.removeAttribute("tabindex");this.hasFocus=false;this.nanoBlur.emit()};this.handleHostClick=n=>{if(!this.hasAnchorEle)return;const t=n.target.closest("a, button");if(!t)this.btn.click()};this.handleMouseEnter=async()=>{if(!this.href||this.animating||!this.hasSecondarySlot||this.globalNavEle&&!this.globalNavEle.classList.contains("ready"))return;let n=0;if(o(this.el,".secondary-open.has-secondary").length)n=300;clearTimeout(this.waitHide);this.fromHover=true;this.animating=true;this.waitShow=window.setTimeout((async()=>await this.openSecondary()),n);this.animating=false};this.handleMouseLeave=()=>{if(!this.href)return;clearTimeout(this.waitShow);this.fromHover=true;this.animating=true;this.waitHide=window.setTimeout((async()=>await this.closeSecondary()),300);this.animating=false};this.handleClick=()=>{this.fromHover=false;if(this.hasSecondarySlot)this.toggleSecondary()};this.hasAnchorEle=false;this.didOpen=false;this.isInGlobalNav=false;this.isInMenuDrawer=false;this.isInMenu=false;this.hasFocus=false;this.href=null;this.target="_self";this.disabled=false;this.open=false;this.selected=false;this.secondaryActiveWidth=0;this.secondaryFallback=()=>{};this.closeOnBlur=true;this.notification=false}async setFocus(){if(!this.btn)return;this.btn.focus()}openChange(){this.open?this.openSecondary():this.closeSecondary()}didOpenChange(){if(!this.hasSecondarySlot)return;if(!this.didOpen){setTimeout((()=>{if(!this.fromHover&&(!document.activeElement||document.activeElement===document.body))this.btn.focus({preventScroll:true});this.el.tabIndex=null;this.nanoClose.emit({secondaryMenu:this.secondaryDiv})}),50)}else{if(!this.fromHover){const n=new window.IntersectionObserver((t=>{if(t[0].boundingClientRect.top<0){this.secondaryDiv.scrollIntoView({behavior:"smooth"})}n.disconnect()}),{threshold:1});n.observe(this.secondaryDiv);this.secondaryDiv.focus({preventScroll:true});const t=h(this.secondaryDiv,true);if(t[0])t[0].focus();this.el.tabIndex=-1;this.nanoOpen.emit({secondaryMenu:this.secondaryDiv})}}}handleClose(n){if(!this.didOpen||!this.hasSecondarySlot)return;if(!n.composedPath().some((n=>n===this.secondaryDiv)))this.toggleSecondary()}connectedCallback(){const n=this.el.querySelector('[slot="secondary"]');this.hasSecondarySlot=!!n;const t=r(this.el,"a, button")[0];this.hasAnchorEle=!!t;if(t){this.href=t.href?t.href:null;this.btn=t;if(this.hasSecondarySlot)this.btn.addEventListener("click",this.toggleSecondary);this.btn.addEventListener("focus",this.handleFocus);this.btn.addEventListener("blur",this.handleHostBlur)}this.isInGlobalNav=false;this.isInMenuDrawer=false;this.globalNavEle=this.el.closest("nano-global-nav");this.isInMenuDrawer=!!this.el.closest("nano-menu-drawer");this.isInMenu=!!this.el.closest("nano-menu");this.isInGlobalNav=this.el.parentElement===this.globalNavEle||!!this.el.closest(".global-nav")}disconnectedCallback(){this.btn.removeEventListener("click",this.toggleSecondary);this.btn.removeEventListener("focus",this.handleFocus);this.btn.removeEventListener("blur",this.handleHostBlur)}render(){return t(s,{class:{"has-secondary":this.hasSecondarySlot,"secondary-open":this.open,selected:this.selected,"has-focus":this.hasFocus,disabled:this.disabled,"nano-global-nav":this.isInGlobalNav,"nano-menu-drawer":this.isInMenuDrawer,"nano-menu":this.isInMenu},onBlur:this.handleHostBlur,dir:this.el.ownerDocument.dir==="rtl"?"rtl":null,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,onClick:this.handleHostClick,role:"menuitem"},t("div",{class:{"nav-item":true,"secondary-open":this.open,selected:this.selected},part:"ctrl-wrapper"},this.href&&!this.hasAnchorEle&&!this.disabled&&t("a",{part:"ctrl ctrl--anchor",target:this.target,ref:n=>this.btn=n,href:this.href,onFocus:this.handleFocus,class:{notification:this.notification}},t("slot",{name:"icon-start"}),t("span",{class:"text"},t("slot",null)),t("slot",{name:"icon-end"})),(!this.hasAnchorEle&&!this.href||this.disabled)&&t("button",{part:"ctrl ctrl--button",ref:n=>this.btn=n,onClick:this.handleClick,onFocus:this.handleFocus,disabled:this.disabled,class:{notification:this.notification}},t("slot",{name:"icon-start"}),t("span",{class:"text"},t("slot",null)),t("slot",{name:"icon-end"})),this.hasAnchorEle&&!this.disabled&&t("div",{class:"link"},t("slot",{name:"icon-start"}),t("slot",null),t("slot",{name:"icon-end"})),this.hasSecondarySlot&&!this.disabled&&t("div",{class:"secondary-menu",ref:n=>this.secondaryDiv=n,tabIndex:-1},t("div",{class:"secondary-menu-content",part:"secondary-wrapper"},t("slot",{name:"secondary"})),t("div",{class:"secondary-menu-mask",onClick:this.closeSecondary,part:"secondary-mask"}))))}get el(){return a(this)}static get watchers(){return{open:["openChange"],didOpen:["didOpenChange"]}}};_.style=g;const w='.sc-nano-select-h {\n box-sizing: border-box;\n}\n\n*.sc-nano-select, *.sc-nano-select::before, *.sc-nano-select::after {\n box-sizing: border-box;\n}\n[hidden].sc-nano-select {\n display: none !important;\n}\n[disabled].sc-nano-select-h:not([disabled=false]) {\n opacity: 0.5;\n}\n\n.form-ctrl.sc-nano-select {\n min-inline-size: 100%;\n display: block;\n}\n.form-ctrl.has-helper-end.sc-nano-select {\n display: flex;\n gap: 1rem;\n container-type: inline-size;\n}\n.form-ctrl.has-helper-end.sc-nano-select .form-ctrl__wrapper.sc-nano-select {\n flex: 1 1 100%;\n}\n.form-ctrl.has-helper-end.sc-nano-select .form-ctrl__helper-end.sc-nano-select {\n display: none;\n}\n@container (min-width: 350px) {\n .form-ctrl.has-helper-end .form-ctrl__helper-end {\n display: block !important;\n }\n .form-ctrl.has-helper-end .form-ctrl__helper {\n display: none !important;\n }\n}\n\n.form-ctrl__wrapper.sc-nano-select {\n display: block;\n}\n\nlabel.sc-nano-select, .form-ctrl__more.sc-nano-select, .form-ctrl__error.sc-nano-select, .form-ctrl__helper.sc-nano-select {\n display: block;\n inline-size: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\nlabel.visually-hide.sc-nano-select, .form-ctrl__more.visually-hide.sc-nano-select, .form-ctrl__error.visually-hide.sc-nano-select, .form-ctrl__helper.visually-hide.sc-nano-select {\n clip: rect(1px, 1px, 1px, 1px);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n block-size: 1px;\n inline-size: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n}\n\n.form-ctrl__float-label.sc-nano-select {\n padding-block: 0;\n -webkit-padding-end: 0;\n padding-inline-end: 0;\n -webkit-padding-start: var(--padding-start);\n padding-inline-start: var(--padding-start);\n color: var(--label-color);\n position: absolute;\n font-size: 1.15em;\n transform: translateY(-50%);\n transform-origin: top left;\n inset-block-start: 50%;\n transition: all 0.125s ease-in;\n opacity: 1;\n}\n.has-focus.sc-nano-select-h .form-ctrl__float-label.sc-nano-select, .has-value.sc-nano-select-h .form-ctrl__float-label.sc-nano-select {\n transform: translateY(-110%);\n font-size: 0.8em;\n opacity: 0.7;\n}\n.form-ctrl__float-label.sc-nano-select .form-ctrl__label-charcount.sc-nano-select {\n opacity: 0;\n transition: opacity 0.125s ease-in;\n}\n.has-focus.sc-nano-select-h .form-ctrl__float-label.sc-nano-select .form-ctrl__label-charcount.sc-nano-select, .has-value.sc-nano-select-h .form-ctrl__float-label.sc-nano-select .form-ctrl__label-charcount.sc-nano-select {\n opacity: 1;\n}\n.form-ctrl__textarea.sc-nano-select .form-ctrl__float-label.sc-nano-select {\n inset-block-start: 50%;\n}\n.has-focus.sc-nano-select-h .form-ctrl__textarea.sc-nano-select .form-ctrl__float-label.sc-nano-select {\n inset-block-start: 0;\n transform: translateY(38%);\n}\n.has-value.sc-nano-select-h .form-ctrl__textarea.sc-nano-select .form-ctrl__float-label.sc-nano-select {\n inset-block-start: 0;\n transform: translateY(38%);\n}\n\n.form-ctrl__label.sc-nano-select {\n color: var(--label-color);\n font-size: var(--label-font-size);\n -webkit-padding-after: var(--padding-bottom);\n padding-block-end: var(--padding-bottom);\n line-height: 1;\n display: flex;\n}\n.form-ctrl__label.sc-nano-select .form-ctrl__label-wrap.sc-nano-select {\n flex: 1;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.form-ctrl__label.sc-nano-select .form-ctrl__label-placeholder.sc-nano-select {\n margin-block: unset;\n -webkit-margin-end: 5px;\n margin-inline-end: 5px;\n -webkit-margin-start: 0;\n margin-inline-start: 0;\n opacity: 0;\n -webkit-appearance: none;\n appearance: none;\n transition: 0.3s ease opacity;\n font-size: 0.9em;\n}\n.form-ctrl__label.sc-nano-select .form-ctrl__label-charcount.sc-nano-select {\n margin-block: unset;\n -webkit-margin-end: 0;\n margin-inline-end: 0;\n -webkit-margin-start: auto;\n margin-inline-start: auto;\n font-size: 0.9em;\n opacity: 0.5;\n}\n.has-value.sc-nano-select-h .form-ctrl__label.sc-nano-select .form-ctrl__label-placeholder.sc-nano-select {\n opacity: 0.5;\n}\n.has-focus.sc-nano-select-h .form-ctrl__label.sc-nano-select {\n color: var(--label-color--focus);\n}\n.is-invalid.sc-nano-select-h:not([disabled]) .form-ctrl__label.sc-nano-select {\n color: var(--label-color--invalid);\n}\n\n.has-float-label.sc-nano-select .select__multi-input.sc-nano-select, .has-float-label.sc-nano-select .select__native-input.sc-nano-select, .has-float-label.sc-nano-select .input__native-ctrl.sc-nano-select {\n opacity: 0;\n transition: opacity 0.125s ease-in;\n}\n.has-focus.sc-nano-select-h .has-float-label.sc-nano-select .select__multi-input.sc-nano-select, .has-value.sc-nano-select-h .has-float-label.sc-nano-select .select__multi-input.sc-nano-select, .has-focus.sc-nano-select-h .has-float-label.sc-nano-select .select__native-input.sc-nano-select, .has-value.sc-nano-select-h .has-float-label.sc-nano-select .select__native-input.sc-nano-select, .has-focus.sc-nano-select-h .has-float-label.sc-nano-select .input__native-ctrl.sc-nano-select, .has-value.sc-nano-select-h .has-float-label.sc-nano-select .input__native-ctrl.sc-nano-select {\n opacity: 1;\n}\n\n.form-ctrl__more.sc-nano-select {\n block-size: 1em;\n position: relative;\n margin-block: 4px var(--padding-bottom);\n margin-inline: 3px 0;\n}\n\n.form-ctrl__helper.sc-nano-select, .form-ctrl__error.sc-nano-select {\n inset-block-start: 0;\n inset-inline-start: 0;\n position: absolute;\n font-size: var(--invalid-msg-font-size);\n line-height: 1.2;\n transition: 0.3s ease-out opacity;\n}\n\n.form-ctrl__helper.sc-nano-select {\n font-style: italic;\n color: var(--help-msg-color);\n}\n[show-inline-error].sc-nano-select-h:not([show-inline-error=false]):not([disabled]).is-invalid .form-ctrl__helper.sc-nano-select {\n opacity: 0;\n}\n\n.form-ctrl__helper-end.sc-nano-select {\n flex: 1 1 30%;\n min-inline-size: 150px;\n font-size: var(--invalid-msg-font-size);\n color: var(--help-msg-color);\n font-style: italic;\n}\n\n.form-ctrl__error.sc-nano-select {\n opacity: 0;\n color: var(--invalid-msg-color);\n font-stretch: condensed;\n}\n.is-invalid.sc-nano-select-h:not([disabled]) .form-ctrl__error.sc-nano-select {\n opacity: 1;\n}\n\n.form-ctrl__input.sc-nano-select {\n font-family: inherit;\n font-size: inherit;\n font-stretch: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n border-radius: var(--input-border-radius);\n inline-size: 100%;\n padding: 0 !important;\n position: relative;\n flex: 1 0 auto;\n display: flex;\n background: var(--input-bg-color);\n border: var(--input-border-style);\n border-width: var(--input-border-width);\n font-size: var(--input-font-size);\n -webkit-padding-start: calc(var(--input-border-hint-width) - var(--input-border-width)) !important;\n padding-inline-start: calc(var(--input-border-hint-width) - var(--input-border-width)) !important;\n}\n.has-focus.sc-nano-select-h .form-ctrl__input.sc-nano-select {\n background: var(--input-bg-color--focus);\n border: var(--input-border-style--focus);\n border-width: var(--input-border-width);\n -webkit-padding-start: calc(var(--input-border-hint-width) - var(--input-border-width)) !important;\n padding-inline-start: calc(var(--input-border-hint-width) - var(--input-border-width)) !important;\n}\n.is-invalid.sc-nano-select-h:not([disabled]) .form-ctrl__input.sc-nano-select {\n background: var(--input-bg-color--invalid);\n border: var(--input-border-style--invalid);\n border-width: var(--input-border-width);\n -webkit-border-start: var(--input-border-style--invalid-focus) var(--input-border-hint-width);\n border-inline-start: var(--input-border-style--invalid-focus) var(--input-border-hint-width);\n -webkit-padding-start: 0 !important;\n padding-inline-start: 0 !important;\n}\n.is-invalid.has-focus.sc-nano-select-h:not([disabled]) .form-ctrl__input.sc-nano-select {\n background: var(--input-bg-color--invalid);\n border: var(--input-border-style--invalid-focus);\n border-width: var(--input-border-width);\n -webkit-border-start: var(--input-border-style--invalid-focus) var(--input-border-hint-width);\n border-inline-start: var(--input-border-style--invalid-focus) var(--input-border-hint-width);\n -webkit-padding-start: 0 !important;\n padding-inline-start: 0 !important;\n}\n\n.form-ctrl__input-wrap.sc-nano-select {\n display: flex;\n align-items: stretch;\n flex: 1;\n max-inline-size: 100%;\n}\n\n.form-ctrl__clear-btn.sc-nano-select, .form-ctrl__slot-end.sc-nano-select, .form-ctrl__slot-start.sc-nano-select, .form-ctrl__slot-value-end.sc-nano-select {\n --nano-icon-size: 1.4em;\n margin-block: 0;\n margin-inline: 0;\n font-size: 1em;\n border: 0;\n outline: none;\n background-color: transparent;\n background-repeat: no-repeat;\n display: flex;\n align-items: stretch;\n inline-size: auto;\n}\n\n.has-float-label.sc-nano-select .form-ctrl__slot-start.sc-nano-select {\n display: none;\n}\n\n.form-ctrl__slot-start.sc-nano-select-s > *, .form-ctrl__slot-start .sc-nano-select-s > *, .form-ctrl__slot-end.sc-nano-select-s > *, .form-ctrl__slot-end .sc-nano-select-s > *, .form-ctrl__slot-value-end.sc-nano-select-s > *, .form-ctrl__slot-value-end .sc-nano-select-s > *, .form-ctrl__slot-value-end.sc-nano-select *.sc-nano-select {\n --nano-icon-size: 1.4em;\n padding-inline: unset;\n -webkit-padding-start: var(--padding-start);\n padding-inline-start: var(--padding-start);\n -webkit-padding-end: var(--padding-end);\n padding-inline-end: var(--padding-end);\n font-size: 1em;\n align-items: center;\n display: flex;\n block-size: 100%;\n z-index: 1;\n}\n.sc-nano-select-h[disabled]:not([disabled=false]) .form-ctrl__slot-start.sc-nano-select-s > *, .sc-nano-select-h[disabled]:not([disabled=false]) .form-ctrl__slot-start .sc-nano-select-s > *, .sc-nano-select-h[disabled]:not([disabled=false]) .form-ctrl__slot-end.sc-nano-select-s > *, .sc-nano-select-h[disabled]:not([disabled=false]) .form-ctrl__slot-end .sc-nano-select-s > *, .sc-nano-select-h[disabled]:not([disabled=false]) .form-ctrl__slot-value-end.sc-nano-select-s > *, .sc-nano-select-h[disabled]:not([disabled=false]) .form-ctrl__slot-value-end .sc-nano-select-s > *, [disabled].sc-nano-select-h:not([disabled=false]) .form-ctrl__slot-value-end.sc-nano-select *.sc-nano-select {\n pointer-events: none;\n}\n\n.form-ctrl__slot-value-end.sc-nano-select-s > *, .form-ctrl__slot-value-end .sc-nano-select-s > *, .form-ctrl__slot-value-end.sc-nano-select *.sc-nano-select {\n pointer-events: none;\n}\n\n.form-ctrl__clear-btn.sc-nano-select {\n color: var(--clear-btn-color);\n padding: 0;\n opacity: 0;\n inline-size: 0;\n -webkit-appearance: none;\n appearance: none;\n align-items: center;\n overflow: hidden;\n}\n.is-invalid.sc-nano-select-h .form-ctrl__clear-btn.sc-nano-select {\n color: var(--clear-btn-color--invalid);\n}\n.has-value.sc-nano-select-h .form-ctrl__clear-btn.sc-nano-select {\n padding-block: 0;\n padding-inline: var(--padding-start) var(--padding-end);\n opacity: 1;\n inline-size: auto;\n}\n.form-ctrl__clear-btn.sc-nano-select:hover {\n color: var(--clear-btn-color--hover);\n}\n\n.sc-nano-select-h {\n \n --placeholder-color: var(--nano-input-placeholder-color, initial);\n --placeholder-font-style: var(--nano-input-placeholder-style, initial);\n --placeholder-font-weight: var(--nano-input-placeholder-weight, initial);\n --placeholder-opacity: var(--nano-input-placeholder-opacity, 0.5);\n --padding-top: var(--nano-input-padding-top, var(--nano-input-padding, 8px));\n --padding-end: var(--nano-input-padding-end, var(--nano-input-padding, 8px));\n --padding-bottom: var(--nano-input-padding-bottom, var(--nano-input-padding, 6px));\n --padding-start: var(--nano-input-padding-start, var(--nano-input-padding, 8px));\n --color-invalid: var(--nano-color-danger-rgb, 239 65 53);\n --color--focus-rgb:\n var(\n --nano-color-base-rgb,\n var(--nano-color-primary-rgb, 0 116 149)\n );\n --input-font-size: var(--nano-input-font-size, 0.87em);\n --input-text-color: var(--nano-input-text-color, #4a4a4a);\n --input-border-width: var(--nano-input-border-width, 1px);\n --input-border-hint-width: 3px;\n --input-border-color: var(--nano-input-border-color, #e4e6e8);\n --input-border-radius: var(--nano-input-border-radius, 0);\n --input-border-style: var(--nano-input-border-style, solid) var(--nano-input-border-color, #e4e6e8);\n --input-border-style--focus: var(--nano-input-border-style, solid) var(--nano-input-border-color--focus, #90c6e7);\n --input-border-style--invalid: var(--nano-input-border-style, solid) var(--nano-input-border-color--invalid, #e4e6e8);\n --input-border-style--invalid-focus: var(--nano-input-border-style, solid) var(--nano-input-border-color--invalid, #ef4135);\n --input-bg-color: var(--nano-input-background-color, #fff);\n --input-bg-color--focus: var(--input-bg-color);\n --input-bg-color--invalid: var(--nano-input-background-color, white);\n --invalid-msg-color: rgb(var(--color-invalid) / 100%);\n --invalid-msg-font-size: var(--nano-input-help-font-size, 0.75em);\n --help-msg-color: var(--nano-input-help-color, #616d6e);\n --clear-btn-color: var(--nano-clear-btn-color, rgba(0, 0, 0, 0.3));\n --clear-btn-color--hover: rgb(var(--color--focus-rgb) / 100%);\n --clear-btn-color--invalid: rgb(var(--color-invalid) / 100%);\n --label-color: var(--nano-input-label-color, "currentcolor");\n --label-color--focus: var(--label-color);\n --label-color--invalid: var(--nano-input-label-color-invalid, "currentcolor");\n --label-font-size: var(--nano-input-label-color, 1em);\n --multi-input-value-bg: var(--nano-input-tag-bg, 186 220 240);\n --multi-input-value-text-color: var(--nano-input-tag-color, #455556);\n --multi-input-value-border: var(--nano-input-tag-color, #badcf0);\n \n position: relative;\n width: 100%;\n padding: 0 !important;\n font-family: var(--nano-font-family, inherit);\n display: block;\n}\n\n.nano-color.sc-nano-select-h {\n --input-border-style--focus:\n var(--nano-input-border-style, solid) var(\n --nano-color-tint,\n var(--nano-color-primary-tint, #2689a5)\n );\n --multi-input-value-bg: var(--nano-color-tint-rgb);\n --multi-input-value-border: var(--nano-color-shade);\n --multi-input-value-text-color: var(--nano-color-contrast);\n color: var(--nano-color-base);\n}\n\nnano-item.sc-nano-select-h:not(.item-label), nano-item:not(.item-label) .sc-nano-select-h {\n --padding-start: 0;\n}\n\n[disabled].sc-nano-select-h:not([disabled=false]) *.sc-nano-select {\n pointer-events: none !important;\n}\n\nselect.sc-nano-select {\n display: none;\n}\n\n.select__native-input.sc-nano-select {\n font-family: inherit;\n font-size: inherit;\n font-stretch: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n padding: unset;\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: 0;\n border-radius: var(--input-border-radius);\n text-overflow: ellipsis;\n color: var(--input-text-color);\n display: inline-block;\n flex: 1;\n width: 100%;\n max-width: 100%;\n max-height: 100%;\n border: 0;\n outline: none;\n background: transparent;\n -webkit-appearance: none;\n appearance: none;\n margin: 0;\n box-sizing: border-box;\n resize: none;\n overflow: hidden;\n cursor: default;\n line-height: 2.5em;\n \n \n}\n.has-float-label.sc-nano-select .select__native-input.sc-nano-select {\n line-height: 2.1em;\n min-height: 2.1em;\n -webkit-padding-before: 1.4em;\n padding-block-start: 1.4em;\n}\n.select__native-input.sc-nano-select::selection {\n background: transparent;\n}\n.select__native-input.sc-nano-select::-moz-selection {\n background: transparent;\n}\n.select__native-input.sc-nano-select::placeholder {\n color: var(--placeholder-color);\n font-family: inherit;\n font-style: var(--placeholder-font-style);\n font-weight: var(--placeholder-font-weight);\n opacity: var(--placeholder-opacity);\n line-height: inherit;\n min-height: initial;\n}\n.select__native-input.sc-nano-select::-moz-placeholder {\n line-height: 2.8em;\n text-overflow: ellipsis;\n}\n.select__native-input.sc-nano-select:-webkit-autofill {\n background-color: transparent;\n}\n.select__native-input.sc-nano-select::-webkit-search-decoration, .select__native-input.sc-nano-select::-webkit-search-cancel-button, .select__native-input.sc-nano-select::-webkit-search-results-button, .select__native-input.sc-nano-select::-webkit-search-results-decoration {\n -webkit-appearance: none;\n appearance: none;\n}\n.select__native-input.sc-nano-select:invalid {\n box-shadow: none;\n}\n.select__native-input.sc-nano-select::-ms-clear, .select__native-input.sc-nano-select::-ms-reveal {\n display: none;\n}\n.select__native-input.resizable.sc-nano-select {\n resize: vertical;\n overflow: auto;\n}\n.form-ctrl__textarea.sc-nano-select .select__native-input.sc-nano-select {\n line-height: 1.5em;\n padding-block: var(--padding-top) var(--padding-bottom);\n white-space: pre-wrap;\n}\n.form-ctrl__textarea.sc-nano-select .select__native-input.sc-nano-select::placeholder {\n line-height: 1.5em;\n}\n.has-float-label.textarea.sc-nano-select .select__native-input.sc-nano-select {\n -webkit-padding-before: 1.8em;\n padding-block-start: 1.8em;\n}\n.masked.sc-nano-select-h .select__native-input.sc-nano-select {\n opacity: 0;\n position: absolute;\n inset-inline-start: 0;\n inset-block-start: 0;\n}\n\n.select__mask.sc-nano-select {\n font-family: inherit;\n font-size: inherit;\n font-stretch: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: 0;\n border-radius: var(--input-border-radius);\n pointer-events: none;\n line-height: 2.5em;\n min-height: 2.5em;\n}\n\n.select__multi-wrap.sc-nano-select {\n padding-block: 0 var(--padding-bottom);\n padding-inline: 0 0;\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n overflow: hidden;\n align-items: flex-start;\n}\n.has-float-label.sc-nano-select-h .select__multi-wrap.sc-nano-select {\n -webkit-padding-before: 1em;\n padding-block-start: 1em;\n}\n.select__multi-input.sc-nano-select {\n font-family: inherit;\n font-size: inherit;\n font-stretch: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: var(--padding-bottom) 0;\n min-width: 50px;\n width: 100%;\n max-height: 100%;\n -webkit-appearance: none;\n appearance: none;\n border: 0;\n outline: none;\n display: inline-block;\n background: transparent;\n flex: 0;\n position: relative;\n box-sizing: border-box;\n line-height: calc(2.5em - var(--padding-bottom));\n height: calc(2.5em - var(--padding-bottom));\n}\n.select__multi-input.sc-nano-select:last-child {\n flex: 1;\n}\n.select__multi-value.sc-nano-select {\n margin-block: var(--padding-bottom) 0;\n margin-inline: var(--padding-start) -3px;\n background: rgb(var(--multi-input-value-bg)/80%);\n color: var(--multi-input-value-text-color);\n border: 1px solid;\n border-color: var(--multi-input-value-border);\n padding: 0.35em 0.5em;\n max-width: 100%;\n display: flex;\n align-items: center;\n font-size: var(--input-font-size);\n letter-spacing: 1px;\n max-height: calc(2.5em - 8px);\n}\n.select__multi-value.sc-nano-select span.sc-nano-select {\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 100%;\n overflow: hidden;\n}\n.select__multi-value-remove.sc-nano-select {\n background-position: center;\n -webkit-padding-start: 0.5em;\n padding-inline-start: 0.5em;\n margin: 0;\n color: inherit;\n border: 0;\n outline: none;\n background-color: transparent;\n background-repeat: no-repeat;\n -webkit-appearance: none;\n appearance: none;\n display: flex;\n align-items: center;\n inset-block-start: 0;\n font-size: 1em;\n}\n.select__multi-value-remove.sc-nano-select nano-icon.sc-nano-select {\n --color: var(--multi-input-value-text-color);\n}\n\n.form-ctrl__float-label.sc-nano-select {\n width: calc(100% - (1em + var(--padding-start) * 2));\n}\n.has-focus.has-multiple.sc-nano-select-h .form-ctrl__float-label.sc-nano-select {\n transform: translateY(-110%);\n font-size: 0.8em;\n}\n.has-value.has-multiple.sc-nano-select-h .form-ctrl__float-label.sc-nano-select {\n transform: translateY(21%);\n inset-block-start: 0;\n}\n\n.has-focus.sc-nano-select-h select.sc-nano-select, .has-focus.sc-nano-select-h a.sc-nano-select, .has-focus.sc-nano-select-h button.sc-nano-select {\n pointer-events: auto;\n}';let y=0;const x=class{get inputCtrl(){return this._inputCtrl}set inputCtrl(n){if(n===this._inputCtrl)return;this._inputCtrl=n;this.setDataListOpts()}get selectWrap(){return this._selectWrap}set selectWrap(n){if(this._selectWrap===n)return;this._selectWrap=n;this.setDataListOpts()}get datalist(){return this._datalist}set datalist(n){if(this._datalist===n)return;this._datalist=n;this.setDataListOpts()}constructor(t){n(this,t);this.nanoChange=i(this,"nanoChange",7);this.nanoBlur=i(this,"nanoBlur",7);this.nanoFocus=i(this,"nanoFocus",7);this.nanoDidLoad=i(this,"nanoDidLoad",7);this.nanoDidUnload=i(this,"nanoDidUnload",7);this.nanoSearchChange=i(this,"nanoSearchChange",7);this.nanoValidate=i(this,"nanoValidate",7);this.valueItems=[];this.selectId=`nano-select-${y++}`;this.rtl=false;this.onInit=true;this.customError="";this._value=this.multiple?[]:"";this._options=[];this.customValidate=()=>{if(!this.nativeSelect||!!this.customError||!this.nativeSelect["setCustomValidity"])return;this.nativeSelect.setCustomValidity("");if(this.required&&!this.valArray.length){this.nativeSelect.setCustomValidity("Please fill in this field.");return true}if(this.valArray.length&&!this.allowCustomValues&&!this.isValidValues()){this.nativeSelect.setCustomValidity("Please choose an item from this field.");return true}if(this.max&&this.valArray.length>this.max){this.nativeSelect.setCustomValidity(`Only up to ${this.max} values are allowed.`);return true}if(this.min&&this.valArray.length<this.min){this.nativeSelect.setCustomValidity(`You must select a minimum of ${this.min} values.`);return true}return false};this.showInlineValidation=n=>{if(this.validateOn==="submitThenDirty")this.validateOn="dirty";this._invalid=false;this.showErrorMsg=false;this.errorMessage="";if(!this.nativeSelect.validity.valid){this.errorMessage=this.nativeSelect.validationMessage;this._invalid=true;this.showErrorMsg=true}this.nanoValidate.emit({isValid:!this.invalid,errorMessage:this.errorMessage,originalEvent:n})};this.handleInvalid=n=>{this._invalid=true;if(this.validateOn==="submit"){this._invalid=this.showErrorMsg=this.customValidate()}if(this.showInlineError)n.preventDefault();requestAnimationFrame((()=>this.showInlineValidation(n)))};this.setValue=n=>{n.preventDefault();if(!this.multiple){this.value=n.detail.value;return}if(this.value&&this.value.length&&this.value.includes(n.detail.value))return;if(this.max&&this.value.length===this.max)return;this.currInsertIndex++;this.value=[...this.value.slice(0,this.currInsertIndex),n.detail.value,...this.value.slice(this.currInsertIndex)];this.inputSearchVal=""};this.removeValue=n=>{if(!this.multiple||!this.value.length)return;if(!n)n=this.value[this.value.length-1];this.value=this.value.filter((t=>t!==n));this.currInsertIndex--;this.setFocus()};this.setOptions=()=>{if(!this.datalist||!this.datalist.activeOptions||!this.datalist.activeOptions.length)return;this._eOptions=this.datalist.activeOptions.map((n=>{const{value:t,selected:e,label:i,filterMeta:s}=n;return{value:t,selected:e,label:i,filterMeta:s}}));this.customValidate()};this.handleDocumentKeyDown=n=>{if(!this.multiple||!this.hasFocus)return;if(!this.inputSearchVal){let t;switch(n.key){case"Backspace":if(this.inputCtrl.previousElementSibling)t=this.inputCtrl.previousElementSibling;else break;this.removeValue(t.dataset.value||null);break;case"Delete":if(this.inputCtrl.nextElementSibling)t=this.inputCtrl.nextElementSibling;else break;this.removeValue(t.dataset.value||null);break;case"ArrowLeft":case"ArrowRight":if(!this.value.length)break;if(n.key==="ArrowLeft"&&this.inputCtrl.previousSibling)this.currInsertIndex--;if(n.key==="ArrowRight"&&this.inputCtrl.nextSibling)this.currInsertIndex++;setTimeout((()=>{this.inputCtrl.focus()}),20);n.preventDefault();break}}};this.onBlur=()=>{this.hasFocus=false;requestAnimationFrame((()=>{if(this.validateOn==="dirty"&&!this.hasFocus)this.showInlineValidation()}));this.nanoBlur.emit();if(!this.allowCustomValues&&this.multiple){this.inputSearchVal="";const n=new window.Event("change");this.inputCtrl.dispatchEvent(n)}};this.onFocus=()=>{this.hasFocus=true;this.nanoFocus.emit()};this.clearSelectValue=n=>{if(this.clearSelect&&!this.readonly&&!this.disabled&&n){n.preventDefault();n.stopPropagation()}if(this.multiple){this.value=[];this.currInsertIndex=-1}else this.value="";this.inputCtrl.value="";const t=new window.Event("change");this.inputCtrl.dispatchEvent(t)};this.onClick=()=>{this.setFocus()};this.onDragStart=n=>{const t=n.target;this.dragVal=t.dataset.value};this.onDragEnd=n=>{this.dragVal=null;n.preventDefault()};this.onDragLeave=n=>{const t=n.target;const e=t.dataset&&t.dataset.value?t.dataset.value:null;if(!e||this.dragVal===e||!this.value.includes(this.dragVal)){n.preventDefault();return}const i=this.value.indexOf(e);const s=this.value.indexOf(this.dragVal);const a=this.value;const o=a[i];a[i]=a[s];a[s]=o;this.value=[...a]};this.onMultiInput=n=>{this.inputSearchVal=n.target.value.trim();this.nanoSearchChange.emit({value:n.target.value.trim()})};this.currInsertIndex=-1;this.showErrorMsg=false;this.errorMessage="";this.hasFocus=false;this.hasLabelSlot=false;this.hasHelperSlot=false;this.hasHelperEndSlot=false;this.inputSearchVal="";this._invalid=false;this.color=undefined;this.autofocus=false;this.disabled=false;this.validateOn="submitThenDirty";this.showInlineError=true;this.label=undefined;this.hideLabel=false;this.floatLabel=false;this.multiple=false;this.name=this.selectId+"-name";this.placeholder=undefined;this.readonly=false;this.required=false;this.size=undefined;this.max=undefined;this.min=undefined;this.form=undefined;this.allowCustomValues=false;this._eOptions=[];this.clearSelect=false;this.mask=false;this.debounce=0;this.dropDownConfig={};this.showInlineValidation=u(this.showInlineValidation,50)}get invalid(){return this._invalid}get validityMessage(){if(!this.nativeSelect)return"";return this.nativeSelect.validationMessage}get value(){return this._value}set value(n){if(typeof n==="string"){if(this.multiple)this._value=n.split(",");else this._value=n}else if(Array.isArray(n)){if(this.multiple)this._value=n;else this._value=n[0]}}get options(){if(this._options.length)return this._options;if(!this.datalist||!this.datalist.activeOptions)return[];return this._eOptions.map((n=>{const{value:t,selected:e,label:i,filterMeta:s}=n;return{value:t,selected:e,label:i,filterMeta:s}}))}set options(n){this._options=n.map((n=>{if(typeof n==="string")return{value:n,label:n};else return n}))}debounceChanged(){this.nanoSearchChange=b(this.nanoSearchChange,this.debounce)}shouldValidate(){if(this.onInit)return;if(this.invalid)this.showErrorMsg=this._invalid=false;this.customValidate();if(this.validateOn!=="dirty")return;this.showInlineValidation()}valueChanged(){this.customValidate();if(this.onInit){if(this.multiple)this.currInsertIndex=this.value.length-1;return}requestAnimationFrame((()=>{this.shouldValidate();this.nanoChange.emit({value:this.value})}))}setDataListOpts(){if(!this.datalist||!this.selectWrap)return;this.datalist.input=this.inputCtrl;const n=this.datalist.dropDownConfig||{};this.datalist.dropDownConfig=Object.assign(Object.assign(Object.assign({},n),this.dropDownConfig),{tetherTo:this.selectWrap})}async reportValidity(n){return new Promise((t=>{if(n){this.customValidate();this.showInlineValidation()}setTimeout((()=>{t({isValid:!this._invalid,errorMessage:this.nativeSelect.validationMessage})}),50)}))}async setFocus(){if(!this.inputCtrl)return;this.inputCtrl.focus();setTimeout((()=>this.inputCtrl.click()),50)}getSelectElement(){return Promise.resolve(this.nativeSelect)}async showError(n){if(this.nativeSelect){this.customError=n;this.nativeSelect.setCustomValidity(n);this.showInlineValidation()}}get valArray(){return typeof this.value==="string"?this.value.length?[this.value]:[]:this.value}isValidValues(){return this.valArray.find((n=>this.options.find((t=>t.value===n))))}slotChangeObserver(){if(!window["MutationObserver"])return;const n=this.mo=new MutationObserver((()=>this.processSlottedContent()));n.observe(this.el,{childList:true,subtree:true})}processSlottedContent(){this.hasLabelSlot=!!this.el.querySelectorAll('[slot="label"]').length;this.hasHelperSlot=!!this.el.querySelector('[slot="helper"]');this.hasHelperEndSlot=!!this.el.querySelector('[slot="helper-end"]')}getLabel(n){const t=this.options.find((t=>{var e;return!t.disabled&&((e=t.value)===null||e===void 0?void 0:e.length)&&t.value===n}));return t&&t.label?t.label:n}onReset(n){const t=this.form?document.querySelector("#"+this.form):this.el.closest("form");if(!t||n.target!==this.el.closest("form"))return;this.clearSelectValue()}handleBlur(n){if(!this.hasFocus)return;const t=n;let e;requestAnimationFrame((()=>{if(t.key){if(t.key!=="Tab")return;e=d()}else e=n.target;if(l(this.el.tagName.toLowerCase(),e)!==this.el){this.onBlur()}}))}connectedCallback(){this.debounceChanged();this.el.dispatchEvent(new CustomEvent("nanoDidLoad",{detail:this.el}))}disconnectedCallback(){document.dispatchEvent(new CustomEvent("nanoDidUnload",{detail:this.el}));if(this.mo)this.mo.disconnect()}componentDidLoad(){this.slotChangeObserver();this.customValidate();this.setDataListOpts();requestAnimationFrame((()=>this.onInit=false))}componentWillLoad(){this.processSlottedContent()}render(){const n=this.selectId+"-lbl";const e=this.showInlineError||this.hasHelperSlot?this.selectId+"-moreId":"";const i=this.hasHelperEndSlot?this.selectId+"-helper":"";this.rtl=this.el.ownerDocument.dir==="rtl";this.valueItems=[];const a=(({el:n,floatLabel:t,label:e,errorMessage:i,showInlineError:s,hasHelperSlot:a,hasHelperEndSlot:o,hasLabelSlot:r,hideLabel:l,placeholder:c,rtl:h})=>({el:n,floatLabel:t,label:e,errorMessage:i,showInlineError:s,hasHelperSlot:a,hasHelperEndSlot:o,hasLabelSlot:r,hideLabel:l,placeholder:c,rtl:h}))(this);const o=Object.assign(Object.assign({},a),{labelId:n,moreId:e,helperEndId:i,hasValue:!!this.value.length||!!this.inputSearchVal.length,controlId:this.selectId});const r=(({readonly:n,disabled:t})=>({readonly:n,disabled:t,clearControl:this.clearSelect}))(this);return t(s,{type:this.multiple?"select-multiple":"select-one","aria-disabled":this.disabled?"true":null,class:Object.assign(Object.assign({},p(this.color)),{"has-value":!!this.value.length||!!this.inputSearchVal.length,"has-focus":this.hasFocus,"is-invalid":this.invalid,"has-label":this.label!==null&&!this.floatLabel,"has-float-label":this.label!==null&&this.floatLabel,rtl:this.rtl,"has-multiple":this.multiple,"has-clr-btn":this.clearSelect,masked:this.mask})},t(f,Object.assign({},o),t(v,Object.assign({},r,{onClearText:this.clearSelectValue,control:this.el,ref:n=>this.selectWrap=n,endValueSlot:t("slot",{name:"down-arrow"},t("nano-icon",{slot:"value-end",name:"light/chevron-down"}))}),this.multiple&&t("div",{class:"select__multi-wrap select"},this.multipleValues(n,e,i)),!this.multiple&&[this.mask&&t("div",{class:"select__mask"},this.getLabel(this.value)),t("input",{id:this.selectId,class:"select__native-input",ref:n=>this.inputCtrl=n,"aria-labelledby":n+" "+e+" "+i,disabled:this.disabled,form:this.form,placeholder:this.placeholder,readOnly:true,required:this.required,value:this.getLabel(this.value),onFocus:this.onFocus})])),!this.readonly&&!this.disabled&&t("nano-datalist",{onNanoOptionsUpdated:this.setOptions,ref:n=>this.datalist=n,selected:this.valArray,type:this.multiple?"selctMulti":"select",onNanoSelect:this.setValue,onNanoDeselect:n=>{n.preventDefault();this.removeValue(n.detail.value)},options:this._options.length?this._options:undefined},this.allowCustomValues&&this.multiple&&!!this.inputSearchVal&&t("nano-option",{slot:"list-top",value:this.inputSearchVal,selected:false,label:this.inputSearchVal,onNanoSelect:()=>this.inputCtrl.focus()},t("span",{slot:"check-icon"}),"Add '",this.inputSearchVal,"'"),t("slot",null)),t("select",{id:this.selectId+"-hidden",class:"select__native-ctrl",ref:n=>this.nativeSelect=n,"aria-labelledby":n+" "+e+" "+i,disabled:this.disabled,form:this.form,multiple:this.multiple,name:this.name,required:this.required,onInvalid:this.handleInvalid},this.allowCustomValues&&this.valArray.map((n=>t("option",{value:n,selected:true},n))),!this.allowCustomValues&&this.options.map((n=>t("option",{value:n.value,selected:this.valArray.includes(n.value),disabled:n.disabled,label:n.label},this.valArray.includes(n.value))))))}multipleValues(n,e,i){const s=t("input",{class:"select__multi-input",id:this.selectId,ref:n=>this.inputCtrl=n,readOnly:this.readonly,disabled:this.disabled,autoFocus:this.autofocus,autocomplete:"off",onKeyDown:this.handleDocumentKeyDown,onInput:this.onMultiInput,value:this.inputSearchVal,onTouchStart:this.onClick,onMouseDown:this.onClick,onFocus:this.onFocus,placeholder:this.placeholder&&!this.value.length?this.placeholder:"","aria-labelledby":n+" "+e+" "+i});if(!this.value.length)return s;return this.value.map(((n,e)=>{let i=t("span",{onDragStart:this.onDragStart,onDragLeave:this.onDragLeave,onDragEnd:this.onDragEnd,onDragOver:n=>n.preventDefault(),draggable:true,"data-value":n,ref:n=>this.valueItems.push(n),class:"select__multi-value"},t("span",null,this.getLabel(n)),t("button",{class:"select__multi-value-remove",type:"button",tabindex:"-1",onTouchEnd:()=>{this.removeValue(n)},onMouseUp:()=>{this.removeValue(n)}},t("nano-icon",{name:"light/times"})));if(e===0&&this.currInsertIndex<0)i=[s,i];else if(e===this.currInsertIndex)i=[i,s];return i}))}get el(){return a(this)}static get watchers(){return{debounce:["debounceChanged"],required:["shouldValidate"],disabled:["shouldValidate"],min:["shouldValidate"],max:["shouldValidate"],readonly:["shouldValidate"],value:["valueChanged"],dropDownConfig:["setDataListOpts"]}}};x.style=w;export{m as nano_global_nav_user_profile,_ as nano_nav_item,x as nano_select};
|
5
|
-
//# sourceMappingURL=p-37c7eda3.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["GlobalNavUserProfile","render","this","myAccountUser","h","href","userProfileUrl","class","src","_a","small_avatar_url","alt","height","width","is_nanopore_user","getAssetPath","name","job_title","company","slot","navItemCss","NavItem","hasSecondarySlot","animating","closeSecondary","async","didOpen","open","displayTransition","secondaryDiv","nanoClosing","emit","secondaryMenu","openSecondary","window","innerWidth","secondaryActiveWidth","secondaryFallback","call","nanoOpening","toggleSecondary","handleFocus","hasFocus","nanoFocus","handleHostBlur","el","removeAttribute","nanoBlur","handleHostClick","ev","hasAnchorEle","foundlink","target","closest","btn","click","handleMouseEnter","globalNavEle","classList","contains","timeToWait","getSiblings","length","clearTimeout","waitHide","fromHover","waitShow","setTimeout","handleMouseLeave","handleClick","focus","openChange","didOpenChange","document","activeElement","body","preventScroll","tabIndex","nanoClose","panelIO","IntersectionObserver","data","boundingClientRect","top","scrollIntoView","behavior","disconnect","threshold","observe","focusableChild","getTabbableElements","nanoOpen","handleClose","e","composedPath","some","connectedCallback","secondaryEle","querySelector","link","getDirectChildren","addEventListener","isInGlobalNav","isInMenuDrawer","isInMenu","parentElement","disconnectedCallback","removeEventListener","Host","selected","disabled","onBlur","dir","ownerDocument","onMouseEnter","onMouseLeave","onClick","role","part","ref","a","onFocus","notification","div","selectCss","selectIds","Select","inputCtrl","_inputCtrl","input","setDataListOpts","selectWrap","_selectWrap","ele","datalist","_datalist","constructor","hostRef","valueItems","selectId","rtl","onInit","customError","_value","multiple","_options","customValidate","nativeSelect","setCustomValidity","required","valArray","allowCustomValues","isValidValues","max","min","showInlineValidation","validateOn","_invalid","showErrorMsg","errorMessage","validity","valid","validationMessage","nanoValidate","isValid","invalid","originalEvent","handleInvalid","showInlineError","preventDefault","requestAnimationFrame","setValue","value","detail","includes","currInsertIndex","slice","inputSearchVal","removeValue","toFind","filter","val","setFocus","setOptions","activeOptions","_eOptions","map","ao","label","filterMeta","handleDocumentKeyDown","rm","key","previousElementSibling","dataset","nextElementSibling","previousSibling","nextSibling","event","Event","dispatchEvent","clearSelectValue","clearSelect","readonly","stopPropagation","onDragStart","dragVal","onDragEnd","onDragLeave","spanVal","to","indexOf","from","tmpArr","tmpVal","onMultiInput","trim","nanoSearchChange","debounce","validityMessage","split","Array","isArray","options","opts","opt","debounceChanged","debounceEvent","shouldValidate","valueChanged","nanoChange","currDWConfig","dropDownConfig","Object","assign","tetherTo","validateFirst","Promise","resolve","getSelectElement","message","find","slotChangeObserver","mo","MutationObserver","processSlottedContent","childList","subtree","hasLabelSlot","querySelectorAll","hasHelperSlot","hasHelperEndSlot","getLabel","onReset","form","handleBlur","kev","getActiveElement","closestElement","tagName","toLowerCase","CustomEvent","componentDidLoad","componentWillLoad","labelId","moreId","helperEndId","compWrapOptions","floatLabel","hideLabel","placeholder","wrapOptions","hasValue","controlId","controlOptions","clearControl","type","createColorClasses","color","masked","mask","FormControlWrap","FormControl","onClearText","control","endValueSlot","multipleValues","id","readOnly","onNanoOptionsUpdated","onNanoSelect","onNanoDeselect","undefined","select","onInvalid","autoFocus","autofocus","autocomplete","onKeyDown","onInput","onTouchStart","onMouseDown","i","toReturn","onDragOver","draggable","span","push","tabindex","onTouchEnd","onMouseUp"],"sources":["./src/components/global-nav/global-nav-user-profile.tsx","./src/components/nav-item/nav-item.scss?tag=nano-nav-item&encapsulation=shadow","./src/components/nav-item/nav-item.tsx","./src/components/select/select.scss?tag=nano-select&encapsulation=scoped","./src/components/select/select.tsx"],"sourcesContent":["import {\n Component,\n h,\n Prop,\n getAssetPath,\n ComponentInterface,\n} from '@stencil/core';\nimport { MyAccountUser } from './global-nav-interface';\n\n/**\n * Nanopore digital global navigation user profile.\n */\n@Component({\n tag: 'nano-global-nav-user-profile',\n})\nexport class GlobalNavUserProfile implements ComponentInterface {\n /**\n * Logged in user details automatically populated from MyAccount\n */\n @Prop() myAccountUser: MyAccountUser;\n\n /**\n * Link to the user profile\n */\n @Prop() userProfileUrl: string;\n\n // Render output\n\n render() {\n return (\n !!this.myAccountUser && (\n <a href={this.userProfileUrl} class=\"user-profile\">\n <div class=\"left\">\n <div class=\"avatar-container\">\n <img\n class=\"avatar\"\n src={this.myAccountUser?.small_avatar_url}\n alt=\"User Avatar\"\n height={75}\n width={75}\n />\n {this.myAccountUser.is_nanopore_user && (\n <img\n class=\"logo-small\"\n src={getAssetPath(`../nano-assets/ont-wheel-light.svg`)}\n alt=\"Nanopore Logo\"\n />\n )}\n </div>\n\n <div class=\"user-details\">\n <span class=\"name\">{this.myAccountUser.name}</span>\n\n <span class=\"bio\">\n {this.myAccountUser.job_title} at {this.myAccountUser.company}\n </span>\n </div>\n </div>\n\n <div class=\"right\">\n <div class=\"chevron-right\">\n <nano-icon\n slot=\"icon-end\"\n name=\"light/chevron-right\"\n aria-label=\"navigate to ...\"\n ></nano-icon>\n </div>\n </div>\n </a>\n )\n );\n }\n}\n","@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n\n:host {\n // These can be overwritten, but are automatically set from context components\n\n // --padding-top: inherit;\n // --padding-bottom: inherit;\n // --padding-start: inherit;\n // --padding-end: inherit;\n // --margin: inherit;\n\n // --secondary-padding-top: inherit;\n // --secondary-padding-bottom: inherit;\n // --secondary-padding-start: inherit;\n // --secondary-padding-end: inherit;\n\n // --border-bottom: inherit;\n // --icon-size: inherit;\n\n // --color: inherit;\n // --color-hover: inherit;\n // --color-focus: inherit;\n // --color-selected: inherit;\n // --color-open: inherit;\n\n // --bg-color: inherit;\n // --bg-color-hover: inherit;\n // --bg-color-selected: inherit;\n // --bg-color-open: inherit;\n // --bg-color-focus: inherit;\n\n // --secondary-bg-color: inherit;\n // --secondary-color: inherit;\n\n opacity: inherit;\n display: block;\n color: var(--color) !important;\n margin: var(--margin);\n outline: none !important;\n\n .nav-item,\n .link {\n outline: none !important;\n border-radius: inherit;\n }\n\n ::slotted(*),\n * {\n box-sizing: border-box;\n }\n\n ::slotted(button),\n button {\n background: none;\n border: none;\n margin: 0;\n }\n\n ::slotted(button),\n ::slotted(a),\n ::slotted(a:visited),\n button,\n a,\n a:visited {\n @include text-inherit();\n\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: var(--padding-top) var(--padding-bottom);\n display: var(--display, block);\n white-space: nowrap;\n color: var(--color) !important;\n background-color: var(--bg-color);\n line-height: inherit;\n outline: none !important;\n }\n\n ::slotted(nano-icon[slot='icon-start']) {\n padding-inline-end: var(--padding-end);\n }\n\n ::slotted(nano-icon[slot='icon-end']) {\n padding-inline-start: var(--padding-start);\n }\n\n .link {\n ::slotted(nano-icon[slot='icon-start']) {\n padding-inline-start: var(--padding-start);\n padding-inline-end: 0;\n }\n\n ::slotted(nano-icon[slot='icon-end']) {\n padding-inline-end: var(--padding-end);\n padding-inline-start: 0;\n }\n }\n\n .link,\n button,\n a {\n border-block-end: var(--border-bottom);\n display: flex;\n align-items: center;\n border-radius: inherit;\n }\n\n .secondary-menu {\n display: none;\n }\n\n ::slotted(a:hover),\n ::slotted(button:hover),\n .link:hover,\n button:hover,\n a:hover {\n text-decoration: inherit !important;\n }\n\n button:focus-visible,\n a:focus-visible {\n color: var(--color-focus, var(--color-hover, var(--color))) !important;\n background-color:\n var(\n --bg-color-focus,\n var(--bg-color-hover, var(--bg-color))\n );\n box-shadow: #{$control-focus-style};\n }\n\n ::slotted(a:focus-visible),\n ::slotted(button:focus-visible) {\n color: var(--color-focus, var(--color-hover, var(--color))) !important;\n background-color:\n var(\n --bg-color-focus,\n var(--bg-color-hover, var(--bg-color))\n );\n box-shadow: #{$control-focus-style};\n }\n}\n\n.nav-item {\n &.selected {\n .link,\n button,\n a {\n color: var(--color-selected, var(--color-open, var(--color))) !important;\n background-color:\n var(\n --bg-color-selected,\n var(--bg-color-open, var(--bg-color))\n );\n }\n }\n\n &.secondary-open {\n button,\n a {\n color: var(--color-open, var(--color-selected, var(--color))) !important;\n background-color:\n var(\n --bg-color-open,\n var(--secondary-bg-color, var(--bg-color-selected, var(--bg-color)))\n );\n }\n }\n\n &.disabled {\n opacity: 0.6;\n\n button,\n a {\n color: var(--color-disabled, var(--color)) !important;\n }\n }\n\n &:not(.nano-menu) {\n ::slotted(a:hover),\n ::slotted(button:hover),\n .link:hover,\n button:hover,\n a:hover {\n color: var(--color-hover, var(--color-hover, var(--color))) !important;\n background-color:\n var(\n --bg-color-hover,\n var(--bg-color-focus, var(--bg-color))\n );\n }\n }\n}\n\n:host(.has-focus) {\n .link {\n color: var(--color-focus, var(--color-hover, var(--color))) !important;\n background-color:\n var(\n --bg-color-focus,\n var(--bg-color-hover, var(--bg-color))\n );\n outline: var(--focus-outline, 5px auto -webkit-focus-ring-color);\n }\n}\n\n:host(.nano-global-nav-menu),\n:host(.nano-menu) {\n a,\n a:visited,\n button,\n .link {\n display: flex;\n justify-content: flex-start;\n flex-direction: row;\n align-items: center;\n color: currentcolor;\n text-decoration: inherit;\n white-space: normal;\n cursor: pointer;\n line-height: 1.2;\n width: 100%;\n }\n\n .text {\n padding-inline-start: 0;\n padding-inline-end: var(--padding-end);\n flex: 1;\n }\n\n ::slotted(a),\n ::slotted(button) {\n flex: 1;\n }\n\n .secondary-menu {\n display: none;\n position: absolute;\n color: var(--secondary-color, currentcolor);\n min-height: 100%;\n inset-block-start: 0;\n inset-inline-start: 0;\n width: 100%;\n z-index: 1;\n opacity: 0;\n transition: opacity 0.2s ease, transform 0.3s ease;\n background-color: var(--secondary-bg-color, white);\n transform: translateX(100%);\n\n &:focus {\n outline: none;\n }\n\n &.open {\n opacity: 1;\n transform: translateX(0);\n transition: opacity 0.3s ease, transform 0.2s ease;\n }\n }\n}\n\n:host(.nano-global-nav-menu) {\n ::slotted(nano-icon[slot='icon-start']) {\n padding-inline: 0 var(--padding-end);\n padding-block: 0;\n }\n\n ::slotted(nano-icon[slot='icon-end']) {\n padding-inline: 0 var(--padding-end);\n padding-block: 0;\n font-size: 10px;\n flex: 0 0 10px;\n pointer-events: none;\n }\n\n button,\n a {\n ::slotted(nano-icon[slot='icon-end']) {\n padding: 0;\n }\n }\n}\n\n:host(.nano-global-nav-menu[dir='rtl']),\n:host(.nano-menu[dir='rtl']) {\n .secondary-menu {\n transform: translateX(-100%);\n\n &.open {\n transform: translateX(0);\n }\n }\n}\n\n:host(.nano-menu) {\n ::slotted(a:focus),\n ::slotted(button:focus) {\n box-shadow: none;\n }\n\n .secondary-menu-content {\n padding-inline: var(--secondary-padding-start) var(--secondary-padding-end);\n padding-block: var(--secondary-padding-top) var(--secondary-padding-bottom);\n }\n}\n\n:host(.nano-global-nav-bar) {\n .link,\n a,\n button {\n display: flex;\n align-items: center;\n cursor: pointer;\n }\n\n .text {\n flex: 1 0 auto;\n }\n\n ::slotted(nano-icon[slot='icon-end']) {\n margin-inline: var(--padding-end) 0;\n margin-block: 0;\n }\n\n ::slotted(nano-icon[slot='icon-start']) {\n margin-inline: 0 var(--padding-start);\n margin-block: 0;\n }\n\n ::slotted(a),\n button {\n position: relative;\n\n &::before {\n content: '';\n background-color: rgb(12 90 113);\n height: 9px;\n inset-inline: 0 5px;\n inset-block-end: -22px;\n position: absolute;\n transform: translateZ(0) scaleX(0);\n transform-origin: 0;\n transition: 0.2s ease transform;\n }\n }\n\n .selected button::before,\n .secondary-open button::before {\n transform: translateZ(0) scaleX(1);\n }\n}\n\n:host(.nano-global-nav-bar.selected) {\n ::slotted(a) {\n &::before {\n transform: translateZ(0) scaleX(1);\n }\n }\n}\n\n:host(.nano-global-nav-bar.has-secondary) {\n .secondary-open button::before {\n opacity: 0.7;\n }\n\n .secondary-menu {\n display: none;\n transition: transform 0.3s ease;\n transform: translateY(-100%) translateZ(0);\n background-color: var(--secondary-bg-color, #196c82);\n color: var(--secondary-color);\n position: absolute;\n box-shadow: 0 1px 25px 0 rgb(0 0 0 / 15%);\n inset-inline: 0;\n z-index: -2;\n outline: none;\n\n &.open {\n transform: translateY(12px) translateZ(0);\n }\n }\n}\n\n:host(.nano-menu-drawer) {\n .link,\n a,\n button {\n padding-block-start: calc(var(--padding-top) / 2);\n padding-inline-end: 0;\n padding-block-end: calc(var(--padding-bottom) / 2);\n padding-inline-start: var(--padding-start);\n display: flex;\n justify-content: flex-start;\n flex-direction: row;\n align-items: center;\n color: currentcolor;\n text-decoration: inherit;\n white-space: normal;\n border: none;\n cursor: pointer;\n line-height: 1.2;\n width: 100%;\n }\n\n .text {\n padding-inline-end: var(--padding-end);\n padding-inline-start: 0;\n text-align: start;\n flex: 0 1 auto;\n min-width: 130px;\n width: 130px;\n }\n\n ::slotted(nano-icon[slot='icon-start']) {\n padding-inline: 0 var(--padding-end);\n padding-block: 0;\n font-size: var(--icon-size);\n width: var(--icon-size);\n flex: 0 0 var(--icon-size);\n }\n\n ::slotted(nano-icon[slot='icon-end']) {\n padding: 0 var(--padding-end) 0 0;\n font-size: 10px;\n flex: 0 0 20px;\n min-width: 20px;\n }\n\n .secondary-menu {\n display: none;\n position: absolute;\n background-color: var(--secondary-bg-color);\n color: var(--secondary-color);\n height: 100vh;\n inset-inline: auto 0;\n inset-block: 0;\n transform: translateX(0);\n z-index: -1;\n transition: transform 0.3s ease, opacity 0.2s ease;\n overflow-y: auto;\n width: var(--secondary-width, 400px);\n max-width: 62vw;\n opacity: 1;\n padding-inline:\n var(--secondary-padding-start, var(--padding-start))\n var(--secondary-padding-end, var(--padding-end));\n padding-block:\n var(--secondary-padding-top, var(--padding-top))\n var(--secondary-padding-bottom, var(--padding-bottom));\n\n &:focus {\n outline: none;\n }\n\n &.open {\n transform: translateX(100%);\n }\n }\n\n .notification {\n position: relative;\n\n &::after {\n content: '';\n display: block;\n position: absolute;\n width: 6px;\n height: 6px;\n background-color: #ef4135;\n inset-inline-start: 10px;\n inset-block-start: 7px;\n border-radius: 50%;\n\n @media (min-width: 52em) {\n width: 7px;\n height: 7px;\n inset-inline-start: 8px;\n inset-block-start: 5px;\n }\n }\n }\n}\n\n:host(.nano-menu-drawer[dir='rtl']) {\n .secondary-menu {\n transform: translateX(0%);\n\n &.open {\n transform: translateX(-100%);\n opacity: 1;\n }\n }\n}\n","import {\n Component,\n h,\n Host,\n Element,\n Prop,\n Watch,\n EventEmitter,\n Event,\n State,\n Method,\n ComponentInterface,\n Listen,\n} from '@stencil/core';\nimport { getSiblings, getDirectChildren } from '../../utils/dom';\nimport { displayTransition } from '../../utils/transitions';\nimport { getTabbableElements } from '../../utils/tabbable';\nimport type { NavItemEventDetail } from '../../interface';\n\n/**\n * Nav items to be used with the various nav items.\n * [Globla-Nav](/story/compounds-global-nav)\n * [Menu-Drawer](/story/components-menu-drawer)\n * [Dropdown](/story/components-dropdown)\n *\n * @slot icon-start - an icon at the start of the main control\n * @slot icon-end - an icon at the end of the main control\n * @slot secondary - a content panel in which you can place any html to display on control click\n * @slot - use the default slot for either `<a>` or text (if constructing a secondary content panel or using `href` directly)\n * @part ctrl - the controlling `<a>` or `<button>` element\n * @part ctrl--button - the controlling `<button>` element\n * @part ctrl--anchor - the controlling <a> element\n * @part ctrl-wrapper - the wrapping div around the control (shadow `<button>` / `<a>` or slotted `<a>`)\n * @part secondary-wrapper - the div surrounding slotted secondary content\n * @part secondary-mask - the div that is added when secondary content is shown\n */\n@Component({\n tag: 'nano-nav-item',\n styleUrl: 'nav-item.scss',\n shadow: true,\n})\nexport class NavItem implements ComponentInterface {\n private hasSecondarySlot: boolean = false;\n private secondaryDiv: HTMLDivElement;\n private btn: HTMLButtonElement | HTMLAnchorElement;\n private fromHover: boolean;\n private animating: boolean = false;\n private waitHide: number;\n private waitShow: number;\n private globalNavEle?: HTMLNanoGlobalNavElement;\n\n @State() hasAnchorEle: boolean = false;\n @State() didOpen: boolean = false;\n @State() isInGlobalNav: boolean = false;\n @State() isInMenuDrawer: boolean = false;\n @State() isInMenu: boolean = false;\n @State() hasFocus: boolean = false;\n @Element() private el: HTMLNanoNavItemElement;\n\n /**\n * Href to link to\n */\n @Prop({ mutable: true }) href: string = null;\n\n /**\n * Target to use for links\n */\n @Prop() target: '_self' | '_blank' | '_parent' | '_top' = '_self';\n\n /**\n * Disable the nav item\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether a secondary menu should be or is currently open\n */\n @Prop({ mutable: true, reflect: true }) open: boolean = false;\n\n /**\n * Whether this menu item is currently 'selected'\n */\n @Prop({ reflect: true }) selected: boolean = false;\n\n /**\n * Screen pixel width to activate the secondary menu\n */\n @Prop() secondaryActiveWidth: number = 0;\n\n /**\n * Secondary fallback function for when the secondary menu is no longer active.\n */\n @Prop() secondaryFallback = () => {};\n\n /**\n * Whether secondary menus should close on blur\n */\n @Prop() closeOnBlur: boolean = true;\n\n /**\n * Will show an indicator badge - only when placed in a nano-menu-draw\n */\n @Prop() notification: boolean = false;\n\n /**\n * Emitted when the nav item closes it's secondary navigation.\n */\n @Event() nanoClose!: EventEmitter<NavItemEventDetail>;\n\n /**\n * Emitted when the nav item opens it's secondary navigation.\n */\n @Event() nanoOpen!: EventEmitter<NavItemEventDetail>;\n\n /**\n * Emitted when the nav item is about to open it's secondary navigation.\n */\n @Event() nanoOpening!: EventEmitter<NavItemEventDetail>;\n\n /**\n * Emitted when the nav item is about to close it's secondary navigation.\n */\n @Event() nanoClosing!: EventEmitter<NavItemEventDetail>;\n\n /**\n * Emitted when the nav item loses focus.\n */\n @Event() nanoBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the nav item has focus.\n */\n @Event() nanoFocus!: EventEmitter<void>;\n\n /**\n * Sets focus on the first button or anchor present. Use this method instead of the global\n * `element.focus()`.\n */\n @Method()\n async setFocus() {\n if (!this.btn) return;\n this.btn.focus();\n }\n\n /**\n * Public open watcher\n */\n @Watch('open')\n openChange() {\n this.open ? this.openSecondary() : this.closeSecondary();\n }\n\n /**\n * Internal open watcher\n */\n @Watch('didOpen')\n didOpenChange() {\n if (!this.hasSecondarySlot) return;\n\n if (!this.didOpen) {\n /* the secondadry panel is not closing via hover,\n remove blur events, add focus back to originating button */\n setTimeout(() => {\n if (\n !this.fromHover &&\n (!document.activeElement || document.activeElement === document.body)\n )\n this.btn.focus({ preventScroll: true });\n this.el.tabIndex = null;\n this.nanoClose.emit({ secondaryMenu: this.secondaryDiv });\n }, 50);\n } else {\n /* the secondary panel is not opening via hover,\n scroll content into view, focus on it and add blur events */\n if (!this.fromHover) {\n const panelIO = new (window as any).IntersectionObserver(\n (data: IntersectionObserverEntry[]) => {\n if (data[0].boundingClientRect.top < 0) {\n this.secondaryDiv.scrollIntoView({\n behavior: 'smooth',\n });\n }\n panelIO.disconnect();\n },\n { threshold: 1 }\n );\n panelIO.observe(this.secondaryDiv);\n this.secondaryDiv.focus({ preventScroll: true });\n\n const focusableChild = getTabbableElements(this.secondaryDiv, true);\n if (focusableChild[0]) focusableChild[0].focus();\n\n this.el.tabIndex = -1;\n this.nanoOpen.emit({ secondaryMenu: this.secondaryDiv });\n }\n }\n }\n\n @Listen('click', { target: 'body' })\n @Listen('keyup', { target: 'body' })\n handleClose(e: MouseEvent | KeyboardEvent) {\n if (!this.didOpen || !this.hasSecondarySlot) return;\n if (!e.composedPath().some((el) => el === this.secondaryDiv))\n this.toggleSecondary();\n }\n\n private closeSecondary = async () => {\n if (!this.hasSecondarySlot || !this.didOpen) return;\n this.open = false;\n await displayTransition(this.secondaryDiv, 'open', false);\n this.nanoClosing.emit({ secondaryMenu: this.secondaryDiv });\n this.didOpen = false;\n };\n\n private openSecondary = async () => {\n if (window.innerWidth < this.secondaryActiveWidth) {\n this.secondaryFallback.call(this);\n return;\n }\n\n if (!this.hasSecondarySlot || this.didOpen) return;\n this.open = true;\n await displayTransition(this.secondaryDiv, 'open', true);\n this.nanoOpening.emit({ secondaryMenu: this.secondaryDiv });\n this.didOpen = true;\n };\n\n private toggleSecondary = () => {\n if (!this.hasSecondarySlot) return;\n if (this.didOpen) this.closeSecondary();\n else this.openSecondary();\n };\n\n private handleFocus = () => {\n this.hasFocus = true;\n // opens secondary panel when activated via hover\n if (this.href && !this.animating && this.hasSecondarySlot)\n this.openSecondary();\n this.nanoFocus.emit();\n };\n\n private handleHostBlur = () => {\n if (this.animating) return;\n\n // tab index is added to host when secondary panel opens\n // to return focus after secondary panel closes. Remove now if it was added\n this.el.removeAttribute('tabindex');\n this.hasFocus = false;\n this.nanoBlur.emit();\n };\n\n // direct host clicks to internal button\n private handleHostClick = (ev: MouseEvent) => {\n if (!this.hasAnchorEle) return;\n const foundlink = (ev.target as HTMLElement).closest('a, button');\n if (!foundlink) this.btn.click();\n };\n\n // handles secondary menu hover behaviour.\n private handleMouseEnter = async () => {\n if (\n !this.href ||\n this.animating ||\n !this.hasSecondarySlot ||\n (this.globalNavEle && !this.globalNavEle.classList.contains('ready'))\n )\n return;\n\n // if there are sibling secondary panels currently open,\n // we need to wait before opening otherwise we get unwanted overlapping\n let timeToWait = 0;\n if (getSiblings(this.el, '.secondary-open.has-secondary').length)\n timeToWait = 300;\n\n clearTimeout(this.waitHide);\n this.fromHover = true;\n this.animating = true;\n this.waitShow = window.setTimeout(\n async () => await this.openSecondary(),\n timeToWait\n );\n this.animating = false;\n };\n\n // handles secondary menu hover-out behaviour.\n private handleMouseLeave = () => {\n if (!this.href) return;\n clearTimeout(this.waitShow);\n this.fromHover = true;\n this.animating = true;\n\n // prevent closing immediately - makes navigating to items within more forgiving\n this.waitHide = window.setTimeout(\n async () => await this.closeSecondary(),\n 300\n );\n this.animating = false;\n };\n\n private handleClick = () => {\n this.fromHover = false;\n if (this.hasSecondarySlot) this.toggleSecondary();\n };\n\n connectedCallback() {\n const secondaryEle = this.el.querySelector('[slot=\"secondary\"]');\n this.hasSecondarySlot = !!secondaryEle;\n\n const link = getDirectChildren<HTMLAnchorElement | HTMLButtonElement>(\n this.el,\n 'a, button'\n )[0];\n this.hasAnchorEle = !!link;\n\n if (link) {\n this.href = (link as HTMLAnchorElement).href\n ? (link as HTMLAnchorElement).href\n : null;\n this.btn = link;\n if (this.hasSecondarySlot)\n this.btn.addEventListener('click', this.toggleSecondary);\n\n this.btn.addEventListener('focus', this.handleFocus);\n this.btn.addEventListener('blur', this.handleHostBlur);\n }\n\n this.isInGlobalNav = false;\n this.isInMenuDrawer = false;\n this.globalNavEle = this.el.closest('nano-global-nav');\n\n this.isInMenuDrawer = !!this.el.closest('nano-menu-drawer');\n this.isInMenu = !!this.el.closest('nano-menu');\n this.isInGlobalNav =\n this.el.parentElement === this.globalNavEle ||\n !!this.el.closest('.global-nav');\n }\n\n disconnectedCallback(): void {\n this.btn.removeEventListener('click', this.toggleSecondary);\n this.btn.removeEventListener('focus', this.handleFocus);\n this.btn.removeEventListener('blur', this.handleHostBlur);\n }\n\n render() {\n return (\n <Host\n class={{\n 'has-secondary': this.hasSecondarySlot,\n 'secondary-open': this.open,\n selected: this.selected,\n 'has-focus': this.hasFocus,\n disabled: this.disabled,\n 'nano-global-nav': this.isInGlobalNav,\n 'nano-menu-drawer': this.isInMenuDrawer,\n 'nano-menu': this.isInMenu,\n }}\n onBlur={this.handleHostBlur}\n dir={(this.el.ownerDocument as Document).dir === 'rtl' ? 'rtl' : null}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onClick={this.handleHostClick}\n role=\"menuitem\"\n >\n <div\n class={{\n 'nav-item': true,\n 'secondary-open': this.open,\n selected: this.selected,\n }}\n part=\"ctrl-wrapper\"\n >\n {this.href && !this.hasAnchorEle && !this.disabled && (\n <a\n part=\"ctrl ctrl--anchor\"\n target={this.target}\n ref={(a) => (this.btn = a)}\n href={this.href}\n onFocus={this.handleFocus}\n class={{\n notification: this.notification,\n }}\n >\n <slot name=\"icon-start\" />\n <span class=\"text\">\n <slot />\n </span>\n <slot name=\"icon-end\" />\n </a>\n )}\n {((!this.hasAnchorEle && !this.href) || this.disabled) && (\n <button\n part=\"ctrl ctrl--button\"\n ref={(btn) => (this.btn = btn)}\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n disabled={this.disabled}\n class={{\n notification: this.notification,\n }}\n >\n <slot name=\"icon-start\" />\n <span class=\"text\">\n <slot />\n </span>\n <slot name=\"icon-end\" />\n </button>\n )}\n {this.hasAnchorEle && !this.disabled && (\n <div class=\"link\">\n <slot name=\"icon-start\" />\n <slot />\n <slot name=\"icon-end\" />\n </div>\n )}\n {this.hasSecondarySlot && !this.disabled && (\n <div\n class=\"secondary-menu\"\n ref={(div) => (this.secondaryDiv = div)}\n tabIndex={-1}\n >\n <div class=\"secondary-menu-content\" part=\"secondary-wrapper\">\n <slot name=\"secondary\" />\n </div>\n <div\n class=\"secondary-menu-mask\"\n onClick={this.closeSecondary}\n part=\"secondary-mask\"\n ></div>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n","@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/layers';\n@import '../form-control/form-control';\n@import '../form-control/form-control-vars';\n\n:host {\n @include formControlVars;\n\n /**\n * @prop --max-menu-height: the maximum of the dropdown menu. Defaults to 50vw.\n */\n\n position: relative;\n width: 100%;\n padding: 0 !important;\n font-family: $font-family-base;\n display: block;\n}\n\n:host(.nano-color) {\n --input-border-style--focus:\n #{$input-border-style} var(\n --nano-color-tint,\n #{nano-color(\n primary,\n tint\n )}\n );\n --multi-input-value-bg: var(--nano-color-tint-rgb);\n --multi-input-value-border: var(--nano-color-shade);\n --multi-input-value-text-color: var(--nano-color-contrast);\n\n color: current-color(base);\n}\n\n:host-context(nano-item:not(.item-label)) {\n --padding-start: 0;\n}\n\n:host([disabled]:not([disabled='false'])) {\n * {\n pointer-events: none !important;\n }\n}\n\nselect {\n display: none;\n}\n\n.select__native-input {\n @include text-inherit();\n\n padding: unset;\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: 0;\n border-radius: var(--input-border-radius);\n text-overflow: ellipsis;\n color: var(--input-text-color);\n display: inline-block;\n flex: 1;\n width: 100%;\n max-width: 100%;\n max-height: 100%;\n border: 0;\n outline: none;\n background: transparent;\n appearance: none;\n margin: 0;\n box-sizing: border-box;\n resize: none;\n overflow: hidden;\n cursor: default;\n line-height: 2.5em;\n\n .has-float-label & {\n line-height: 2.1em;\n min-height: 2.1em;\n padding-block-start: 1.4em;\n }\n\n &::selection {\n background: transparent;\n }\n\n /* stylelint-disable-next-line selector-no-vendor-prefix */\n &::-moz-selection {\n background: transparent;\n }\n\n &::placeholder {\n color: var(--placeholder-color);\n font-family: inherit;\n font-style: var(--placeholder-font-style);\n font-weight: var(--placeholder-font-weight);\n opacity: var(--placeholder-opacity);\n line-height: inherit;\n min-height: initial;\n }\n\n /* stylelint-disable-next-line selector-no-vendor-prefix */\n &::-moz-placeholder {\n line-height: 2.8em;\n text-overflow: ellipsis;\n }\n\n &:-webkit-autofill {\n background-color: transparent;\n }\n\n &::-webkit-search-decoration,\n &::-webkit-search-cancel-button,\n &::-webkit-search-results-button,\n &::-webkit-search-results-decoration {\n appearance: none;\n }\n\n &:invalid {\n box-shadow: none;\n }\n\n &::-ms-clear,\n &::-ms-reveal {\n display: none;\n }\n\n &.resizable {\n resize: vertical;\n overflow: auto;\n }\n\n .form-ctrl__textarea & {\n line-height: 1.5em;\n padding-block: var(--padding-top) var(--padding-bottom);\n white-space: pre-wrap;\n\n &::placeholder {\n line-height: 1.5em;\n }\n }\n\n .has-float-label.textarea & {\n padding-block-start: 1.8em;\n }\n\n :host(.masked) & {\n opacity: 0;\n position: absolute;\n inset-inline-start: 0;\n inset-block-start: 0;\n }\n}\n\n.select__mask {\n @include text-inherit();\n\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: 0;\n border-radius: var(--input-border-radius);\n pointer-events: none;\n line-height: 2.5em;\n min-height: 2.5em;\n}\n\n// multi stuff\n\n.select__multi {\n &-wrap {\n padding-block: 0 var(--padding-bottom);\n padding-inline: 0 0;\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n overflow: hidden;\n align-items: flex-start;\n\n :host(.has-float-label) & {\n padding-block-start: 1em;\n }\n }\n\n &-input {\n @include text-inherit();\n\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: var(--padding-bottom) 0;\n min-width: 50px;\n width: 100%;\n max-height: 100%;\n appearance: none;\n border: 0;\n outline: none;\n display: inline-block;\n background: transparent;\n flex: 0;\n position: relative;\n box-sizing: border-box;\n line-height: calc(2.5em - var(--padding-bottom));\n height: calc(2.5em - var(--padding-bottom));\n\n &:last-child {\n flex: 1;\n }\n }\n\n &-value {\n margin-block: var(--padding-bottom) 0;\n margin-inline: var(--padding-start) -3px;\n background: rgb(var(--multi-input-value-bg) / 80%);\n color: var(--multi-input-value-text-color);\n border: 1px solid;\n border-color: var(--multi-input-value-border);\n padding: 0.35em 0.5em;\n max-width: 100%;\n display: flex;\n align-items: center;\n font-size: var(--input-font-size);\n letter-spacing: 1px;\n max-height: calc(2.5em - 8px);\n\n span {\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 100%;\n overflow: hidden;\n }\n }\n\n &-value-remove {\n @include background-position(center);\n\n padding-inline-start: 0.5em;\n margin: 0;\n color: inherit;\n border: 0;\n outline: none;\n background-color: transparent;\n background-repeat: no-repeat;\n appearance: none;\n display: flex;\n align-items: center;\n inset-block-start: 0;\n font-size: 1em;\n\n nano-icon {\n --color: var(--multi-input-value-text-color);\n }\n }\n}\n\n.form-ctrl__float-label {\n width: calc(100% - (1em + (var(--padding-start) * 2)));\n\n :host(.has-focus.has-multiple) & {\n transform: translateY(-110%);\n font-size: 0.8em;\n }\n\n :host(.has-value.has-multiple) & {\n transform: translateY(21%);\n inset-block-start: 0;\n }\n}\n\n:host(.has-focus) select,\n:host(.has-focus) a,\n:host(.has-focus) button {\n pointer-events: auto;\n}\n","import {\n Build,\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n VNode,\n Listen,\n} from '@stencil/core';\n\nimport { getActiveElement } from '../../utils/active-element';\nimport { closestElement } from '../../utils/dom';\nimport { createColorClasses } from '../../utils/theme';\nimport { debounce, debounceEvent } from '../../utils/throttle';\nimport { FormControl, FormControlWrap } from '../form-control/form-control';\nimport { OptionInterface } from '../option/option-interface';\nimport type { Dropdown } from '../dropdown/dropdown';\nimport type {\n Color,\n SelectChangeEventDetail,\n InputChangeEventDetail,\n ControlValidityEventDetail,\n ControlValidity,\n} from '../../interface';\n\nlet selectIds = 0;\n\n/**\n * The select component is a wrapper to the HTML select element with custom styling and additional functionality.\n * It accepts most of the same properties as the HTML [select](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select).\n * It's multi selection functionality is vastly improved from the native solution. It allows for the control of\n * value order through drag and drop or changing the insertion point with arrow keys. It also can allow for user defined values.\n *\n * @slot start - suitable for inline action buttons or icons that may add extra contextual information\n * @slot end - suitable for inline action buttons or icons that may add extra contextual information\n * @slot value-start - similar to 'start', however clicking elements using this slot will activate the input control. This would be suitable to show a secodary 'value' for context or to show a dropdown arrow if using a datalist\n * @slot value-end - similar to 'end', however clicking elements using this slot will activate the input control. This would be suitable to show a secodary 'value' for context or to show a dropdown arrow if using a datalist\n * @slot label - if you do not set a label attribute, you can use this slot for more complex markup\n * @slot helper - helper text to accompany the form field underneath.\n * @slot helper-end - helper text to accompany the form field on the side.\n * @slot down-arrow - use this to replace the default down arrow\n * @slot - default slot; nest `nano-option` elements\n */\n@Component({\n tag: 'nano-select',\n styleUrl: 'select.scss',\n scoped: true,\n})\nexport class Select implements ComponentInterface {\n private nativeSelect?: HTMLSelectElement;\n private valueItems: Array<HTMLSpanElement> = [];\n private dragVal: string;\n private mo?: MutationObserver;\n private selectId = `nano-select-${selectIds++}`;\n private rtl: boolean = false;\n private onInit: boolean = true;\n private customError: string = '';\n\n private get inputCtrl() {\n return this._inputCtrl;\n }\n private set inputCtrl(input) {\n if (input === this._inputCtrl) return;\n this._inputCtrl = input;\n this.setDataListOpts();\n }\n private _inputCtrl?: HTMLInputElement;\n\n // we don't want these rendered eles decorated with @State\n // because that will cause re-renders. Use get/set to set datalist options\n private _selectWrap: HTMLElement;\n private get selectWrap() {\n return this._selectWrap;\n }\n private set selectWrap(ele: HTMLElement) {\n if (this._selectWrap === ele) return;\n this._selectWrap = ele;\n this.setDataListOpts();\n }\n\n private _datalist: HTMLNanoDatalistElement;\n private get datalist() {\n return this._datalist;\n }\n private set datalist(ele: HTMLNanoDatalistElement) {\n if (this._datalist === ele) return;\n this._datalist = ele;\n this.setDataListOpts();\n }\n\n constructor() {\n this.showInlineValidation = debounce(this.showInlineValidation, 50);\n }\n\n @State() currInsertIndex: number = -1;\n @State() showErrorMsg = false;\n @State() errorMessage: string = '';\n @State() hasFocus = false;\n @State() hasLabelSlot: boolean = false;\n @State() hasHelperSlot: boolean = false;\n @State() hasHelperEndSlot = false;\n @State() inputSearchVal: string = '';\n\n @Element() el!: HTMLNanoSelectElement;\n\n /**\n * This will be true when the control is in an invalid state.\n * Validity is determined by the `required` prop. Or if custom validity message is set.\n */\n @Prop({ reflect: true })\n get invalid() {\n return this._invalid;\n }\n @State() _invalid = false;\n\n /**\n * Current validation message - if any. @readonly\n */\n @Prop()\n get validityMessage() {\n if (!this.nativeSelect) return '';\n return this.nativeSelect.validationMessage;\n }\n\n /**\n * The color to use from your application's color palette.\n * Default options are: `\"primary\"`, `\"secondary\"`, `\"tertiary\"`, `\"success\"`, `\"warning\"`, `\"danger\"`, `\"light\"`, `\"medium\"`, and `\"dark\"`.\n */\n @Prop() color?: Color;\n\n /**\n * This Boolean attribute lets you specify that a form control should have select focus when the page loads.\n */\n @Prop() autofocus = false;\n\n /**\n * If `true`, the user cannot interact with the select.\n */\n @Prop({ reflect: true }) disabled = false;\n\n /**\n * When should the field perform validation\n */\n @Prop({ mutable: true }) validateOn?: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submitThenDirty';\n\n /**\n * Whether to show validation errors underneath input\n */\n @Prop({ reflect: true }) showInlineError = true;\n\n /**\n * String to place within a label element. Alternatively use the 'label' slot\n */\n @Prop() label!: string;\n\n /**\n * Visually hide the label - but make it accessible.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * Enable floating label behaviour. Will disable placeholder if set.\n */\n @Prop() floatLabel: boolean = false;\n\n /**\n * If `true`, the user can enter more than one value. This attribute applies when the type attribute is set to `\"email\"` or `\"file\"`, otherwise it is ignored.\n */\n @Prop() multiple?: boolean = false;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.selectId + '-name';\n\n /**\n * Instructional text that shows before the select has a value. Text set here will be placed inside the label when a value is set. If you don't want this behaviour just set the first option to have no value.\n */\n @Prop() placeholder?: string | null;\n\n /**\n * If `true`, the user cannot modify the value.\n */\n @Prop({ reflect: true }) readonly = false;\n\n /**\n * If `true`, the user must fill in a value before submitting a form.\n */\n @Prop() required = false;\n\n /**\n * The initial size of the control.\n */\n @Prop() size?: number;\n\n /**\n * Maximum number of options that can be selected when multiple is true\n */\n @Prop() max?: number;\n\n /**\n * Minimum number of options that can be selected when multiple is true\n */\n @Prop() min?: number;\n\n /**\n * The form element to associate the select with (its form owner). Must be the id of a form.\n */\n @Prop() form?: string | null;\n\n /**\n * in multiple mode, allow users to enter their own values\n */\n @Prop() allowCustomValues: boolean = false;\n\n /**\n * The value of the select.\n */\n @Prop()\n get value() {\n return this._value;\n }\n set value(val: string | string[]) {\n if (typeof val === 'string') {\n if (this.multiple) this._value = val.split(',');\n else this._value = val;\n } else if (Array.isArray(val)) {\n if (this.multiple) this._value = val;\n else this._value = val[0];\n }\n }\n private _value: Array<string> | string = this.multiple ? [] : '';\n\n /**\n * You can set options via js as an array of strings: `domElement.options = ['option 1', 'option 2']` or\n * objects `domElement.options = [{label: 'option 1', value: 'opt-1'}]`. See `nano-option` docs for all available properties.\n * Alternatively, you can nest `<nano-option>` elements within a `<nano-select>`\n * Regardless - reading `options` will return the current component options - slotted or otherwise\n */\n @Prop()\n get options(): Array<OptionInterface | string> {\n if (this._options.length) return this._options;\n\n if (!this.datalist || !this.datalist.activeOptions) return [];\n\n return this._eOptions.map((ao) => {\n const { value, selected, label, filterMeta } = ao;\n return { value, selected, label, filterMeta };\n });\n }\n set options(opts: Array<OptionInterface | string>) {\n this._options = opts.map((opt) => {\n if (typeof opt === 'string') return { value: opt, label: opt };\n else return opt;\n });\n }\n private _options: OptionInterface[] = [];\n @State() _eOptions: OptionInterface[] = [];\n\n /**\n * If `true`, a clear icon will appear in the select when there is a value. Clicking it clears the select.\n */\n @Prop() clearSelect = false;\n\n /**\n * Hide the native select element and cover with a value 'mask'.\n * Enables a fluid nano-select width upon value change (if required). Doesn't work with multiple=\"true\".\n */\n @Prop() mask = false;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `nanoSearchChange` event after each keystroke.\n */\n @Prop() debounce = 0;\n\n @Watch('debounce')\n protected debounceChanged() {\n this.nanoSearchChange = debounceEvent(this.nanoSearchChange, this.debounce);\n }\n\n @Watch('required')\n @Watch('disabled')\n @Watch('min')\n @Watch('max')\n @Watch('readonly')\n protected shouldValidate() {\n if (this.onInit) return;\n if (this.invalid) this.showErrorMsg = this._invalid = false;\n\n this.customValidate();\n if (this.validateOn !== 'dirty') return;\n this.showInlineValidation();\n }\n\n /**\n * Update the native select element when the value changes\n */\n // eslint-disable-next-line @stencil-community/no-unused-watch\n @Watch('value')\n valueChanged() {\n this.customValidate();\n\n if (this.onInit) {\n if (this.multiple) this.currInsertIndex = this.value.length - 1;\n return;\n }\n requestAnimationFrame(() => {\n this.shouldValidate();\n this.nanoChange.emit({ value: this.value });\n });\n }\n\n /** nano-dropdown config options you can pass to the nested dropdown component */\n @Prop({ mutable: true }) dropDownConfig?: Partial<Dropdown> = {};\n\n @Watch('dropDownConfig')\n setDataListOpts() {\n if (!this.datalist || !this.selectWrap) return;\n\n this.datalist.input = this.inputCtrl;\n\n const currDWConfig = this.datalist.dropDownConfig || {};\n this.datalist.dropDownConfig = {\n ...currDWConfig,\n ...this.dropDownConfig,\n tetherTo: this.selectWrap,\n };\n }\n\n // Custom Events\n\n /**\n * Emitted when the value has changed.\n */\n @Event() nanoChange!: EventEmitter<SelectChangeEventDetail>;\n\n /**\n * Emitted when the select loses focus.\n */\n @Event() nanoBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the select has focus.\n */\n @Event() nanoFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the select has been created.\n * @internal\n */\n @Event() nanoDidLoad!: EventEmitter<void>;\n\n /**\n * Emitted when the select has been removed.\n * @internal\n */\n @Event() nanoDidUnload!: EventEmitter<void>;\n\n /**\n * Emitted when a keyboard input occurred on a multiple=\"true\" input\n */\n @Event() nanoSearchChange!: EventEmitter<InputChangeEventDetail>;\n\n /**\n * Called when validation is performed (which depends on `validateOn`).\n * @returns event.detail: `{ isValid: boolean, errorMessage: string, originalEvent: Event }`.\n */\n @Event() nanoValidate: EventEmitter<ControlValidityEventDetail>;\n\n // Public Methods\n\n /**\n * Get the current state of the control.\n * @param validateFirst - perform validation first before reporting\n * @returns `{ isValid: boolean, errorMessage: string }`\n */\n @Method()\n async reportValidity(validateFirst: boolean): Promise<ControlValidity> {\n return new Promise((resolve) => {\n if (validateFirst) {\n this.customValidate();\n this.showInlineValidation();\n }\n setTimeout(() => {\n resolve({\n isValid: !this._invalid,\n errorMessage: this.nativeSelect.validationMessage,\n });\n }, 50);\n });\n }\n\n /**\n * Sets focus on the specified `nano-select`. Use this method instead of the global\n * `select.focus()`.\n */\n @Method()\n async setFocus() {\n if (!this.inputCtrl) return;\n this.inputCtrl.focus();\n setTimeout(() => this.inputCtrl.click(), 50);\n }\n\n /**\n * @returns the native `<select>` element used under the hood.\n */\n @Method()\n getSelectElement(): Promise<HTMLSelectElement> {\n return Promise.resolve(this.nativeSelect!);\n }\n\n /**\n * Invalidate the field and show a custom error message.\n * To clear the error you will need to re-call this method with an empty string.\n */\n @Method()\n async showError(message: string) {\n if (this.nativeSelect) {\n this.customError = message;\n this.nativeSelect.setCustomValidity(message);\n this.showInlineValidation();\n }\n }\n\n /* Logic */\n\n private get valArray() {\n return typeof this.value === 'string'\n ? this.value.length\n ? [this.value]\n : []\n : this.value;\n }\n\n private isValidValues() {\n return this.valArray.find((val) =>\n (this.options as OptionInterface[]).find((opt) => opt.value === val)\n );\n }\n\n private customValidate = () => {\n if (\n !this.nativeSelect ||\n !!this.customError ||\n !this.nativeSelect['setCustomValidity']\n )\n return;\n\n this.nativeSelect.setCustomValidity('');\n // add custom validations 'cos html5 validations are a bit rubbish on selects\n if (this.required && !this.valArray.length) {\n this.nativeSelect.setCustomValidity('Please fill in this field.');\n return true;\n }\n if (\n this.valArray.length &&\n !this.allowCustomValues &&\n !this.isValidValues()\n ) {\n this.nativeSelect.setCustomValidity(\n 'Please choose an item from this field.'\n );\n return true;\n }\n if (this.max && this.valArray.length > this.max) {\n this.nativeSelect.setCustomValidity(\n `Only up to ${this.max} values are allowed.`\n );\n return true;\n }\n if (this.min && this.valArray.length < this.min) {\n this.nativeSelect.setCustomValidity(\n `You must select a minimum of ${this.min} values.`\n );\n return true;\n }\n return false;\n };\n\n private showInlineValidation = (ev?: Event) => {\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n\n this._invalid = false;\n this.showErrorMsg = false;\n this.errorMessage = '';\n\n if (!this.nativeSelect.validity.valid) {\n this.errorMessage = this.nativeSelect.validationMessage;\n this._invalid = true;\n this.showErrorMsg = true;\n }\n this.nanoValidate.emit({\n isValid: !this.invalid,\n errorMessage: this.errorMessage,\n originalEvent: ev,\n });\n };\n\n private handleInvalid = (ev: Event) => {\n this._invalid = true;\n\n if (this.validateOn === 'submit') {\n this._invalid = this.showErrorMsg = this.customValidate();\n }\n if (this.showInlineError) ev.preventDefault();\n\n requestAnimationFrame(() => this.showInlineValidation(ev));\n };\n\n private setValue = (e: CustomEvent<HTMLNanoOptionElement>) => {\n e.preventDefault();\n\n if (!this.multiple) {\n this.value = e.detail.value;\n return;\n }\n if (this.value && this.value.length && this.value.includes(e.detail.value))\n return;\n if (this.max && this.value.length === this.max) return;\n\n this.currInsertIndex++;\n this.value = [\n ...this.value.slice(0, this.currInsertIndex),\n e.detail.value,\n ...this.value.slice(this.currInsertIndex),\n ];\n this.inputSearchVal = '';\n // this.selectWrap.clientWidth; // force reflow\n };\n\n private removeValue = (toFind?: string) => {\n if (!this.multiple || !this.value.length) return;\n\n if (!toFind) toFind = this.value[this.value.length - 1];\n this.value = (this.value as Array<string>).filter((val) => val !== toFind);\n\n this.currInsertIndex--;\n // this.selectWrap.clientWidth; // force reflow\n this.setFocus();\n };\n\n private slotChangeObserver() {\n if (!window['MutationObserver']) return;\n\n const mo = (this.mo = new MutationObserver(() =>\n this.processSlottedContent()\n ));\n mo.observe(this.el, { childList: true, subtree: true });\n }\n\n private processSlottedContent() {\n // see if we have label / helper content\n this.hasLabelSlot = !!this.el.querySelectorAll('[slot=\"label\"]').length;\n this.hasHelperSlot = !!this.el.querySelector('[slot=\"helper\"]');\n this.hasHelperEndSlot = !!this.el.querySelector('[slot=\"helper-end\"]');\n }\n\n private getLabel(toFind: string) {\n const label = (this.options as OptionInterface[]).find((opt) => {\n return !opt.disabled && opt.value?.length && opt.value === toFind;\n });\n return label && label.label ? label.label : toFind;\n }\n\n /* Event handling */\n\n @Listen('reset', { target: 'body' })\n onReset(e) {\n const form = this.form\n ? document.querySelector('#' + this.form)\n : this.el.closest('form');\n if (!form || e.target !== this.el.closest('form')) return;\n\n this.clearSelectValue();\n }\n\n @Listen('mousedown', { target: 'body' })\n @Listen('keydown')\n handleBlur(e: KeyboardEvent | MouseEvent) {\n if (!this.hasFocus) return;\n\n const kev = e as KeyboardEvent;\n let target: Element;\n\n requestAnimationFrame(() => {\n if (kev.key) {\n if (kev.key !== 'Tab') return;\n target = getActiveElement();\n } else target = e.target as Element;\n\n if (closestElement(this.el.tagName.toLowerCase(), target) !== this.el) {\n this.onBlur();\n }\n });\n }\n\n private setOptions = () => {\n if (\n !this.datalist ||\n !this.datalist.activeOptions ||\n !this.datalist.activeOptions.length\n )\n return;\n\n this._eOptions = this.datalist.activeOptions.map((ao) => {\n const { value, selected, label, filterMeta } = ao;\n return { value, selected, label, filterMeta };\n });\n this.customValidate();\n };\n\n private handleDocumentKeyDown = (ev: KeyboardEvent) => {\n if (!this.multiple || !this.hasFocus) return;\n\n if (!this.inputSearchVal) {\n let rm: HTMLSpanElement;\n\n switch (ev.key) {\n case 'Backspace':\n if (this.inputCtrl.previousElementSibling)\n rm = this.inputCtrl.previousElementSibling as HTMLSpanElement;\n else break;\n\n this.removeValue(rm.dataset.value || null);\n break;\n\n case 'Delete':\n if (this.inputCtrl.nextElementSibling)\n rm = this.inputCtrl.nextElementSibling as HTMLSpanElement;\n else break;\n\n this.removeValue(rm.dataset.value || null);\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n if (!this.value.length) break;\n\n if (ev.key === 'ArrowLeft' && this.inputCtrl.previousSibling)\n this.currInsertIndex--;\n if (ev.key === 'ArrowRight' && this.inputCtrl.nextSibling)\n this.currInsertIndex++;\n\n setTimeout(() => {\n this.inputCtrl.focus();\n }, 20);\n ev.preventDefault();\n break;\n }\n }\n };\n\n private onBlur = () => {\n this.hasFocus = false;\n\n requestAnimationFrame(() => {\n if (this.validateOn === 'dirty' && !this.hasFocus)\n this.showInlineValidation();\n });\n this.nanoBlur.emit();\n\n if (!this.allowCustomValues && this.multiple) {\n this.inputSearchVal = '';\n const event = new window.Event('change');\n this.inputCtrl.dispatchEvent(event);\n }\n };\n\n private onFocus = () => {\n this.hasFocus = true;\n this.nanoFocus.emit();\n };\n\n private clearSelectValue = (ev?: Event) => {\n if (this.clearSelect && !this.readonly && !this.disabled && ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n if (this.multiple) {\n this.value = [];\n this.currInsertIndex = -1;\n } else this.value = '';\n\n this.inputCtrl.value = '';\n const event = new window.Event('change');\n this.inputCtrl.dispatchEvent(event);\n };\n\n private onClick = () => {\n this.setFocus();\n };\n\n /* Multi event handlers */\n\n private onDragStart = (ev: MouseEvent) => {\n const ele = ev.target as HTMLSpanElement;\n this.dragVal = ele.dataset.value;\n };\n\n private onDragEnd = (ev) => {\n this.dragVal = null;\n ev.preventDefault();\n };\n\n private onDragLeave = (ev: MouseEvent) => {\n const ele = ev.target as HTMLSpanElement;\n const spanVal: string =\n ele.dataset && ele.dataset.value ? ele.dataset.value : null;\n\n if (\n !spanVal ||\n this.dragVal === spanVal ||\n !this.value.includes(this.dragVal)\n ) {\n ev.preventDefault();\n return;\n }\n\n const to = this.value.indexOf(spanVal);\n const from = this.value.indexOf(this.dragVal);\n const tmpArr = this.value as Array<string>;\n const tmpVal = tmpArr[to];\n\n tmpArr[to] = tmpArr[from];\n tmpArr[from] = tmpVal;\n this.value = [...tmpArr];\n };\n\n private onMultiInput = (ev) => {\n this.inputSearchVal = ev.target.value.trim();\n this.nanoSearchChange.emit({ value: ev.target.value.trim() });\n };\n\n /* Stencil Component lifecycle hooks */\n\n connectedCallback() {\n this.debounceChanged();\n\n if (!Build.isBrowser) return;\n\n this.el.dispatchEvent(\n new CustomEvent('nanoDidLoad', {\n detail: this.el,\n })\n );\n }\n\n disconnectedCallback() {\n document.dispatchEvent(\n new CustomEvent('nanoDidUnload', {\n detail: this.el,\n })\n );\n\n if (!Build.isBrowser) return;\n if (this.mo) this.mo.disconnect();\n }\n\n componentDidLoad() {\n this.slotChangeObserver();\n this.customValidate();\n this.setDataListOpts();\n requestAnimationFrame(() => (this.onInit = false));\n }\n\n componentWillLoad() {\n this.processSlottedContent();\n }\n\n render() {\n const labelId = this.selectId + '-lbl';\n const moreId =\n this.showInlineError || this.hasHelperSlot\n ? this.selectId + '-moreId'\n : '';\n const helperEndId = this.hasHelperEndSlot ? this.selectId + '-helper' : '';\n\n this.rtl = (this.el.ownerDocument as Document).dir === 'rtl';\n this.valueItems = [];\n\n const compWrapOptions = (({\n el,\n floatLabel,\n label,\n errorMessage,\n showInlineError,\n hasHelperSlot,\n hasHelperEndSlot,\n hasLabelSlot,\n hideLabel,\n placeholder,\n rtl,\n }) => ({\n el,\n floatLabel,\n label,\n errorMessage,\n showInlineError,\n hasHelperSlot,\n hasHelperEndSlot,\n hasLabelSlot,\n hideLabel,\n placeholder,\n rtl,\n }))(this);\n const wrapOptions = {\n ...compWrapOptions,\n labelId,\n moreId,\n helperEndId,\n hasValue: !!this.value.length || !!this.inputSearchVal.length,\n controlId: this.selectId,\n };\n\n const controlOptions = (({ readonly, disabled }) => ({\n readonly,\n disabled,\n clearControl: this.clearSelect,\n }))(this);\n\n return (\n <Host\n type={this.multiple ? 'select-multiple' : 'select-one'}\n aria-disabled={this.disabled ? 'true' : null}\n class={{\n ...createColorClasses(this.color),\n 'has-value': !!this.value.length || !!this.inputSearchVal.length,\n 'has-focus': this.hasFocus,\n 'is-invalid': this.invalid,\n 'has-label': this.label !== null && !this.floatLabel,\n 'has-float-label': this.label !== null && this.floatLabel,\n rtl: this.rtl,\n 'has-multiple': this.multiple,\n 'has-clr-btn': this.clearSelect,\n masked: this.mask,\n }}\n >\n <FormControlWrap {...wrapOptions}>\n <FormControl\n {...controlOptions}\n onClearText={this.clearSelectValue}\n control={this.el}\n ref={(el) => (this.selectWrap = el)}\n endValueSlot={\n <slot name=\"down-arrow\">\n <nano-icon slot=\"value-end\" name=\"light/chevron-down\" />\n </slot>\n }\n >\n {this.multiple && (\n <div class=\"select__multi-wrap select\">\n {this.multipleValues(labelId, moreId, helperEndId)}\n </div>\n )}\n {!this.multiple && [\n this.mask && (\n <div class=\"select__mask\">\n {this.getLabel(this.value as string)}\n </div>\n ),\n <input\n id={this.selectId}\n class=\"select__native-input\"\n ref={(input) => (this.inputCtrl = input)}\n aria-labelledby={labelId + ' ' + moreId + ' ' + helperEndId}\n disabled={this.disabled}\n form={this.form}\n placeholder={this.placeholder}\n readOnly={true}\n required={this.required}\n value={this.getLabel(this.value as string)}\n onFocus={this.onFocus}\n />,\n ]}\n </FormControl>\n </FormControlWrap>\n {!this.readonly && !this.disabled && (\n <nano-datalist\n onNanoOptionsUpdated={this.setOptions}\n ref={(el) => (this.datalist = el)}\n selected={this.valArray}\n type={this.multiple ? 'selctMulti' : 'select'}\n onNanoSelect={this.setValue}\n onNanoDeselect={(e) => {\n e.preventDefault();\n this.removeValue(e.detail.value);\n }}\n options={this._options.length ? this._options : undefined}\n >\n {this.allowCustomValues &&\n this.multiple &&\n !!this.inputSearchVal && (\n <nano-option\n slot=\"list-top\"\n value={this.inputSearchVal}\n selected={false}\n label={this.inputSearchVal}\n onNanoSelect={() => this.inputCtrl.focus()}\n >\n <span slot=\"check-icon\"></span>\n Add '{this.inputSearchVal}'\n </nano-option>\n )}\n <slot />\n </nano-datalist>\n )}\n\n <select\n id={this.selectId + '-hidden'}\n class=\"select__native-ctrl\"\n ref={(select) => (this.nativeSelect = select)}\n aria-labelledby={labelId + ' ' + moreId + ' ' + helperEndId}\n disabled={this.disabled}\n form={this.form}\n multiple={this.multiple}\n name={this.name}\n required={this.required}\n onInvalid={this.handleInvalid}\n >\n {this.allowCustomValues &&\n this.valArray.map((val) => {\n return (\n <option value={val} selected={true}>\n {val}\n </option>\n );\n })}\n {!this.allowCustomValues &&\n this.options.map((opt: OptionInterface) => {\n return (\n <option\n value={opt.value}\n selected={this.valArray.includes(opt.value)}\n disabled={opt.disabled}\n label={opt.label}\n >\n {this.valArray.includes(opt.value)}\n </option>\n );\n })}\n </select>\n </Host>\n );\n }\n\n private multipleValues(\n labelId: string,\n moreId: string,\n helperEndId: string\n ): VNode | (VNode | VNode[])[] {\n const input: VNode = (\n <input\n class=\"select__multi-input\"\n id={this.selectId}\n ref={(input) => (this.inputCtrl = input)}\n readOnly={this.readonly}\n disabled={this.disabled}\n autoFocus={this.autofocus}\n autocomplete=\"off\"\n onKeyDown={this.handleDocumentKeyDown}\n onInput={this.onMultiInput}\n value={this.inputSearchVal}\n onTouchStart={this.onClick}\n onMouseDown={this.onClick}\n onFocus={this.onFocus}\n placeholder={\n this.placeholder && !this.value.length ? this.placeholder : ''\n }\n aria-labelledby={labelId + ' ' + moreId + ' ' + helperEndId}\n />\n );\n if (!this.value.length) return input;\n\n return (this.value as Array<string>).map((val, i) => {\n let toReturn: VNode | VNode[] = (\n <span\n onDragStart={this.onDragStart}\n onDragLeave={this.onDragLeave}\n onDragEnd={this.onDragEnd}\n onDragOver={(e) => e.preventDefault()}\n draggable\n data-value={val}\n ref={(span) => this.valueItems.push(span)}\n class=\"select__multi-value\"\n >\n <span>{this.getLabel(val)}</span>\n <button\n class=\"select__multi-value-remove\"\n type=\"button\"\n tabindex=\"-1\"\n onTouchEnd={() => {\n this.removeValue(val);\n }}\n onMouseUp={() => {\n this.removeValue(val);\n }}\n >\n <nano-icon name=\"light/times\"></nano-icon>\n </button>\n </span>\n );\n if (i === 0 && this.currInsertIndex < 0)\n toReturn = [input, toReturn as VNode];\n else if (i === this.currInsertIndex)\n toReturn = [toReturn as VNode, input];\n return toReturn;\n });\n }\n}\n"],"mappings":"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"}
|
@@ -1,23 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* Web Components for Nanopore digital Web Apps
|
3
|
-
*/
|
4
|
-
import{r as t,c as i,h as s,a as n,g as h}from"./p-d6a04b3a.js";import{c as e,a as r}from"./p-8fe51abf.js";var a=e((function(t){(function(i,s){if(t.exports){t.exports=s()}else{i.EvEmitter=s()}})(typeof window!="undefined"?window:r,(function(){function t(){}var i=t.prototype;i.on=function(t,i){if(!t||!i){return}var s=this._events=this._events||{};var n=s[t]=s[t]||[];if(n.indexOf(i)==-1){n.push(i)}return this};i.once=function(t,i){if(!t||!i){return}this.on(t,i);var s=this._onceEvents=this._onceEvents||{};var n=s[t]=s[t]||{};n[i]=true;return this};i.off=function(t,i){var s=this._events&&this._events[t];if(!s||!s.length){return}var n=s.indexOf(i);if(n!=-1){s.splice(n,1)}return this};i.emitEvent=function(t,i){var s=this._events&&this._events[t];if(!s||!s.length){return}s=s.slice(0);i=i||[];var n=this._onceEvents&&this._onceEvents[t];for(var h=0;h<s.length;h++){var e=s[h];var r=n&&n[e];if(r){this.off(t,e);delete n[e]}e.apply(this,i)}return this};i.allOff=function(){delete this._events;delete this._onceEvents};return t}))}));var o=e((function(t){
|
5
|
-
/*!
|
6
|
-
* getSize v2.0.3
|
7
|
-
* measure size of elements
|
8
|
-
* MIT license
|
9
|
-
*/
|
10
|
-
(function(i,s){if(t.exports){t.exports=s()}else{i.getSize=s()}})(window,(function t(){function i(t){var i=parseFloat(t);var s=t.indexOf("%")==-1&&!isNaN(i);return s&&i}function s(){}var n=typeof console=="undefined"?s:function(t){console.error(t)};var h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];var e=h.length;function r(){var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0};for(var i=0;i<e;i++){var s=h[i];t[s]=0}return t}function a(t){var i=getComputedStyle(t);if(!i){n("Style returned "+i+". Are you running this code in a hidden iframe on Firefox? "+"See https://bit.ly/getsizebug1")}return i}var o=false;var c;function f(){if(o){return}o=true;var t=document.createElement("div");t.style.width="200px";t.style.padding="1px 2px 3px 4px";t.style.borderStyle="solid";t.style.borderWidth="1px 2px 3px 4px";t.style.boxSizing="border-box";var s=document.body||document.documentElement;s.appendChild(t);var n=a(t);c=Math.round(i(n.width))==200;u.isBoxSizeOuter=c;s.removeChild(t)}function u(t){f();if(typeof t=="string"){t=document.querySelector(t)}if(!t||typeof t!="object"||!t.nodeType){return}var s=a(t);if(s.display=="none"){return r()}var n={};n.width=t.offsetWidth;n.height=t.offsetHeight;var o=n.isBorderBox=s.boxSizing=="border-box";for(var u=0;u<e;u++){var l=h[u];var v=s[l];var d=parseFloat(v);n[l]=!isNaN(d)?d:0}var y=n.paddingLeft+n.paddingRight;var p=n.paddingTop+n.paddingBottom;var b=n.marginLeft+n.marginRight;var g=n.marginTop+n.marginBottom;var w=n.borderLeftWidth+n.borderRightWidth;var k=n.borderTopWidth+n.borderBottomWidth;var m=o&&c;var x=i(s.width);if(x!==false){n.width=x+(m?0:y+w)}var z=i(s.height);if(z!==false){n.height=z+(m?0:p+k)}n.innerWidth=n.width-(y+w);n.innerHeight=n.height-(p+k);n.outerWidth=n.width+b;n.outerHeight=n.height+g;return n}return u}))}));var c=e((function(t){(function(i,s){if(t.exports){t.exports=s()}else{i.matchesSelector=s()}})(window,(function t(){var i=function(){var t=window.Element.prototype;if(t.matches){return"matches"}if(t.matchesSelector){return"matchesSelector"}var i=["webkit","moz","ms","o"];for(var s=0;s<i.length;s++){var n=i[s];var h=n+"MatchesSelector";if(t[h]){return h}}}();return function t(s,n){return s[i](n)}}))}));var f=e((function(t){(function(i,s){if(t.exports){t.exports=s(i,c)}else{i.fizzyUIUtils=s(i,i.matchesSelector)}})(window,(function t(i,s){var n={};n.extend=function(t,i){for(var s in i){t[s]=i[s]}return t};n.modulo=function(t,i){return(t%i+i)%i};var h=Array.prototype.slice;n.makeArray=function(t){if(Array.isArray(t)){return t}if(t===null||t===undefined){return[]}var i=typeof t=="object"&&typeof t.length=="number";if(i){return h.call(t)}return[t]};n.removeFrom=function(t,i){var s=t.indexOf(i);if(s!=-1){t.splice(s,1)}};n.getParent=function(t,i){while(t.parentNode&&t!=document.body){t=t.parentNode;if(s(t,i)){return t}}};n.getQueryElement=function(t){if(typeof t=="string"){return document.querySelector(t)}return t};n.handleEvent=function(t){var i="on"+t.type;if(this[i]){this[i](t)}};n.filterFindElements=function(t,i){t=n.makeArray(t);var h=[];t.forEach((function(t){if(!(t instanceof HTMLElement)){return}if(!i){h.push(t);return}if(s(t,i)){h.push(t)}var n=t.querySelectorAll(i);for(var e=0;e<n.length;e++){h.push(n[e])}}));return h};n.debounceMethod=function(t,i,s){s=s||100;var n=t.prototype[i];var h=i+"Timeout";t.prototype[i]=function(){var t=this[h];clearTimeout(t);var i=arguments;var e=this;this[h]=setTimeout((function(){n.apply(e,i);delete e[h]}),s)}};n.docReady=function(t){var i=document.readyState;if(i=="complete"||i=="interactive"){setTimeout(t)}else{document.addEventListener("DOMContentLoaded",t)}};n.toDashed=function(t){return t.replace(/(.)([A-Z])/g,(function(t,i,s){return i+"-"+s})).toLowerCase()};var e=i.console;n.htmlInit=function(t,s){n.docReady((function(){var h=n.toDashed(s);var r="data-"+h;var a=document.querySelectorAll("["+r+"]");var o=document.querySelectorAll(".js-"+h);var c=n.makeArray(a).concat(n.makeArray(o));var f=r+"-options";var u=i.jQuery;c.forEach((function(i){var n=i.getAttribute(r)||i.getAttribute(f);var h;try{h=n&&JSON.parse(n)}catch(t){if(e){e.error("Error parsing "+r+" on "+i.className+": "+t)}return}var a=new t(i,h);if(u){u.data(i,s,a)}}))}))};return n}))}));function u(t,i){this.element=t;this.parent=i;this.create()}var l=u.prototype;l.create=function(){this.element.style.position="absolute";this.element.setAttribute("aria-hidden","true");this.x=0;this.shift=0;Array.from(this.element.querySelectorAll("*")).forEach((t=>{t.setAttribute("tabindex","-1")}))};l.destroy=function(){this.unselect();this.element.style.position="";var t=this.parent.originSide;this.element.style[t]=""};l.getSize=function(){this.size=o(this.element)};l.setPosition=function(t){this.x=t;this.updateTarget();this.renderPosition(t)};l.updateTarget=l.setDefaultTarget=function(){var t=this.parent.originSide=="left"?"marginLeft":"marginRight";this.target=this.x+this.size[t]+this.size.width*this.parent.cellAlign};l.renderPosition=function(t){var i=this.parent.originSide;this.element.style[i]=this.parent.getPositionValue(t)};l.select=function(){this.element.classList.add("is-selected");this.element.removeAttribute("aria-hidden");Array.from(this.element.querySelectorAll("*")).forEach((t=>{t.removeAttribute("tabindex")}))};l.unselect=function(){this.element.classList.remove("is-selected");this.element.setAttribute("aria-hidden","true");Array.from(this.element.querySelectorAll("*")).forEach((t=>{t.setAttribute("tabindex","-1")}))};l.wrapShift=function(t){this.shift=t;this.renderPosition(this.x+this.parent.slideableWidth*t)};l.remove=function(){this.element.parentNode.removeChild(this.element)};function v(t){this.parent=t;this.isOriginLeft=t.originSide=="left";this.cells=[];this.outerWidth=0;this.height=0}var d=v.prototype;d.addCell=function(t){this.cells.push(t);this.outerWidth+=t.size.outerWidth;this.height=Math.max(t.size.outerHeight,this.height);if(this.cells.length==1){this.x=t.x;var i=this.isOriginLeft?"marginLeft":"marginRight";this.firstMargin=t.size[i]}};d.updateTarget=function(){var t=this.isOriginLeft?"marginRight":"marginLeft";var i=this.getLastCell();var s=i?i.size[t]:0;var n=this.outerWidth-(this.firstMargin+s);this.target=this.x+this.firstMargin+n*this.parent.cellAlign};d.getLastCell=function(){return this.cells[this.cells.length-1]};d.select=function(){this.cells.forEach((function(t){t.select()}))};d.unselect=function(){this.cells.forEach((function(t){t.unselect()}))};d.getCellElements=function(){return this.cells.map((function(t){return t.element}))};const y={};y.startAnimation=function(){if(this.isAnimating){return}this.isAnimating=true;this.restingFrames=0;this.animate()};y.animate=function(){this.applyDragForce();this.applySelectedAttraction();var t=this.x;this.integratePhysics();this.positionSlider();this.settle(t);if(this.isAnimating){var i=this;requestAnimationFrame((function t(){i.animate()}))}};y.positionSlider=function(){var t=this.x;if(this.options.wrapAround&&this.cells.length>1){t=f.modulo(t,this.slideableWidth);t=t-this.slideableWidth;this.shiftWrapCells(t)}this.setTranslateX(t,this.isAnimating);this.dispatchScrollEvent()};y.setTranslateX=function(t,i){t+=this.cursorPosition;t=this.options.rightToLeft?-t:t;var s=this.getPositionValue(t);this.slider.style.transform=i?"translate3d("+s+",0,0)":"translateX("+s+")"};y.dispatchScrollEvent=function(){var t=this.slides[0];if(!t){return}var i=-this.x-t.target;var s=i/this.slidesWidth;this.dispatchEvent("scroll",null,[s,i])};y.positionSliderAtSelected=function(){if(!this.cells.length){return}this.x=-this.selectedSlide.target;this.velocity=0;this.positionSlider()};y.getPositionValue=function(t){if(this.options.percentPosition){return Math.round(t/this.size.innerWidth*1e4)*.01+"%"}else{return Math.round(t)+"px"}};y.settle=function(t){if(!this.isPointerDown&&Math.round(this.x*100)==Math.round(t*100)){this.restingFrames++}if(this.restingFrames>2){this.isAnimating=false;delete this.isFreeScrolling;this.positionSlider();this.dispatchEvent("settle",null,[this.selectedIndex])}};y.shiftWrapCells=function(t){var i=this.cursorPosition+t;this._shiftCells(this.beforeShiftCells,i,-1);var s=this.size.innerWidth-(t+this.slideableWidth+this.cursorPosition);this._shiftCells(this.afterShiftCells,s,1)};y._shiftCells=function(t,i,s){for(var n=0;n<t.length;n++){var h=t[n];var e=i>0?s:0;h.wrapShift(e);i-=h.size.outerWidth}};y._unshiftCells=function(t){if(!t||!t.length){return}for(var i=0;i<t.length;i++){t[i].wrapShift(0)}};y.integratePhysics=function(){this.x+=this.velocity;this.velocity*=this.getFrictionFactor()};y.applyForce=function(t){this.velocity+=t};y.getFrictionFactor=function(){return 1-this.options[this.isFreeScrolling?"freeScrollFriction":"friction"]};y.getRestingPosition=function(){return this.x+this.velocity/(1-this.getFrictionFactor())};y.applyDragForce=function(){if(!this.isDraggable||!this.isPointerDown){return}var t=this.dragX-this.x;var i=t-this.velocity;this.applyForce(i)};y.applySelectedAttraction=function(){var t=this.isDraggable&&this.isPointerDown;if(t||this.isFreeScrolling||!this.slides.length){return}var i=this.selectedSlide.target*-1-this.x;var s=i*this.options.selectedAttraction;this.applyForce(s)};var p=window.getComputedStyle;var b=window.console;function g(t,i){t=f.makeArray(t);while(t.length){i.appendChild(t.shift())}}var w=0;var k={};function m(t,i){var s=f.getQueryElement(t);if(!s){if(b){b.error("Bad element for Flickity: "+(s||t))}return}this.element=s;if(this.element.flickityGUID){var n=k[this.element.flickityGUID];if(!k[this.element.flickityGUID])return;n.option(i);return n}this.options=f.extend({},this.constructor.defaults);this.option(i);this._create()}m.defaults={accessibility:true,cellAlign:"center",freeScrollFriction:.075,friction:.28,namespaceJQueryEvents:true,percentPosition:true,resize:true,selectedAttraction:.025,setGallerySize:true};m.createMethods=[];var x=m.prototype;f.extend(x,a.prototype);x._create=function(){var t=this.guid=++w;this.element.flickityGUID=t;k[t]=this;this.selectedIndex=0;this.restingFrames=0;this.x=0;this.velocity=0;this.originSide=this.options.rightToLeft?"right":"left";this.viewport=document.createElement("div");this.viewport.className="flickity-viewport";this._createSlider();if(this.options.resize||this.options.watchCSS){window.addEventListener("resize",this)}for(var i in this.options.on){var s=this.options.on[i];this.on(i,s)}m.createMethods.forEach((function(t){this[t]()}),this);if(this.options.watchCSS){this.watchCSS()}else{this.activate()}};x.option=function(t){f.extend(this.options,t)};x.activate=function(){if(this.isActive){return}this.isActive=true;this.element.classList.add("flickity-enabled");if(this.options.rightToLeft){this.element.classList.add("flickity-rtl")}this.getSize();var t=this.element.children;g(t,this.slider);this.viewport.appendChild(this.slider);this.element.appendChild(this.viewport);this.reloadCells();if(this.options.accessibility){this.element.tabIndex=0;this.element.addEventListener("keydown",this)}this.emitEvent("activate");this.selectInitialIndex();this.isInitActivated=true;this.dispatchEvent("ready")};x._createSlider=function(){var t=document.createElement("div");t.className="flickity-slider";t.style[this.originSide]=0;this.slider=t};x._filterFindCellElements=function(t){return f.filterFindElements(t,this.options.cellSelector)};x.reloadCells=function(){this.cells=this._makeCells(this.slider.getRootNode().host?this.slider.getRootNode().host.children:this.slider.children);this.positionCells();this._getWrapShiftCells();this.setGallerySize()};x._makeCells=function(t){var i=this._filterFindCellElements(t);var s=i.map((function(t){return new u(t,this)}),this);return s};x.getLastCell=function(){return this.cells[this.cells.length-1]};x.getLastSlide=function(){return this.slides[this.slides.length-1]};x.positionCells=function(){this._sizeCells(this.cells);this._positionCells(0)};x._positionCells=function(t){t=t||0;this.maxCellHeight=t?this.maxCellHeight||0:0;var i=0;if(t>0){var s=this.cells[t-1];i=s.x+s.size.outerWidth}var n=this.cells.length;for(var h=t;h<n;h++){var e=this.cells[h];e.setPosition(i);i+=e.size.outerWidth;this.maxCellHeight=Math.max(e.size.outerHeight,this.maxCellHeight)}this.slideableWidth=i;this.updateSlides();this._containSlides();this.slidesWidth=n?this.getLastSlide().target-this.slides[0].target:0};x._sizeCells=function(t){t.forEach((function(t){t.getSize()}))};x.updateSlides=function(){this.slides=[];if(!this.cells.length){return}var t=new v(this);this.slides.push(t);var i=this.originSide=="left";var s=i?"marginRight":"marginLeft";var n=this._getCanCellFit();this.cells.forEach((function(i,h){if(!t.cells.length){t.addCell(i);return}var e=t.outerWidth-t.firstMargin+(i.size.outerWidth-i.size[s]);if(n.call(this,h,e)){t.addCell(i)}else{t.updateTarget();t=new v(this);this.slides.push(t);t.addCell(i)}}),this);t.updateTarget();this.updateSelectedSlide()};x._getCanCellFit=function(){var t=this.options.groupCells;if(!t){return function(){return false}}else if(typeof t=="number"){var i=parseInt(t,10);return function(t){return t%i!==0}}var s=typeof t=="string"&&t.match(/^(\d+)%$/);var n=s?parseInt(s[1],10)/100:1;return function(t,i){return i<=(this.size.innerWidth+1)*n}};x._init=x.reposition=function(){this.positionCells();this.positionSliderAtSelected()};x.getSize=function(){this.size=o(this.element);this.setCellAlign();this.cursorPosition=this.size.innerWidth*this.cellAlign};var z={center:{left:.5,right:.5},left:{left:0,right:1},right:{right:0,left:1}};x.setCellAlign=function(){var t=z[this.options.cellAlign];this.cellAlign=t?t[this.originSide]:this.options.cellAlign};x.setGallerySize=function(){if(this.options.setGallerySize){var t=this.options.adaptiveHeight&&this.selectedSlide?this.selectedSlide.height:this.maxCellHeight;this.viewport.style.height=t+"px"}};x._getWrapShiftCells=function(){if(!this.options.wrapAround){return}this._unshiftCells(this.beforeShiftCells);this._unshiftCells(this.afterShiftCells);var t=this.cursorPosition;var i=this.cells.length-1;this.beforeShiftCells=this._getGapCells(t,i,-1);t=this.size.innerWidth-this.cursorPosition;this.afterShiftCells=this._getGapCells(t,0,1)};x._getGapCells=function(t,i,s){var n=[];while(t>0){var h=this.cells[i];if(!h){break}n.push(h);i+=s;t-=h.size.outerWidth}return n};x._containSlides=function(){if(!this.options.contain||this.options.wrapAround||!this.cells.length){return}var t=this.options.rightToLeft;var i=t?"marginRight":"marginLeft";var s=t?"marginLeft":"marginRight";var n=this.slideableWidth-this.getLastCell().size[s];var h=n<this.size.innerWidth;var e=this.cursorPosition+this.cells[0].size[i];var r=n-this.size.innerWidth*(1-this.cellAlign);this.slides.forEach((function(t){if(h){t.target=n*this.cellAlign}else{t.target=Math.max(t.target,e);t.target=Math.min(t.target,r)}}),this)};x.dispatchEvent=function(t,i,s){var n=i?[i].concat(s):s;this.emitEvent(t,n)};x.select=function(t,i,s){if(!this.isActive){return}t=parseInt(t,10);this._wrapSelect(t);if(this.options.wrapAround||i){t=f.modulo(t,this.slides.length)}if(!this.slides[t]){return}var n=this.selectedIndex;this.selectedIndex=t;this.updateSelectedSlide();if(s){this.positionSliderAtSelected()}else{this.startAnimation()}if(this.options.adaptiveHeight){this.setGallerySize()}this.dispatchEvent("select",null,[t]);if(t!=n){this.dispatchEvent("change",null,[t])}this.dispatchEvent("cellSelect")};x._wrapSelect=function(t){var i=this.slides.length;var s=this.options.wrapAround&&i>1;if(!s){return t}var n=f.modulo(t,i);var h=Math.abs(n-this.selectedIndex);var e=Math.abs(n+i-this.selectedIndex);var r=Math.abs(n-i-this.selectedIndex);if(!this.isDragSelect&&e<h){t+=i}else if(!this.isDragSelect&&r<h){t-=i}if(t<0){this.x-=this.slideableWidth}else if(t>=i){this.x+=this.slideableWidth}};x.previous=function(t,i){this.select(this.selectedIndex-1,t,i)};x.next=function(t,i){this.select(this.selectedIndex+1,t,i)};x.updateSelectedSlide=function(){var t=this.slides[this.selectedIndex];if(!t){return}this.unselectSelectedSlide();this.selectedSlide=t;t.select();this.selectedCells=t.cells;this.selectedElements=t.getCellElements();this.selectedCell=t.cells[0];this.selectedElement=this.selectedElements[0]};x.unselectSelectedSlide=function(){if(this.selectedSlide){this.selectedSlide.unselect()}};x.selectInitialIndex=function(){var t=this.options.initialIndex;if(this.isInitActivated){this.select(this.selectedIndex,false,true);return}if(t&&typeof t=="string"){var i=this.queryCell(t);if(i){this.selectCell(t,false,true);return}}var s=0;if(t&&this.slides[t]){s=t}this.select(s,false,true)};x.selectCell=function(t,i,s){var n=this.queryCell(t);if(!n){return}var h=this.getCellSlideIndex(n);this.select(h,i,s)};x.getCellSlideIndex=function(t){for(var i=0;i<this.slides.length;i++){var s=this.slides[i];var n=s.cells.indexOf(t);if(n!=-1){return i}}};x.getCell=function(t){for(var i=0;i<this.cells.length;i++){var s=this.cells[i];if(s.element==t){return s}}};x.getCells=function(t){t=f.makeArray(t);var i=[];t.forEach((function(t){var s=this.getCell(t);if(s){i.push(s)}}),this);return i};x.getCellElements=function(){return this.cells.map((function(t){return t.element}))};x.getParentCell=function(t){var i=this.getCell(t);if(i){return i}t=f.getParent(t,".flickity-slider > *");return this.getCell(t)};x.getAdjacentCellElements=function(t,i){if(!t){return this.selectedSlide.getCellElements()}i=i===undefined?this.selectedIndex:i;var s=this.slides.length;if(1+t*2>=s){return this.getCellElements()}var n=[];for(var h=i-t;h<=i+t;h++){var e=this.options.wrapAround?f.modulo(h,s):h;var r=this.slides[e];if(r){n=n.concat(r.getCellElements())}}return n};x.queryCell=function(t){if(typeof t=="number"){return this.cells[t]}if(typeof t=="string"){if(t.match(/^[#\.]?[\d\/]/)){return}t=this.element.querySelector(t)}return this.getCell(t)};x.uiChange=function(){this.emitEvent("uiChange")};x.childUIPointerDown=function(t){if(t.type!="touchstart"){t.preventDefault()}this.focus()};x.onresize=function(){this.watchCSS();this.resize()};f.debounceMethod(m,"onresize",150);x.resize=function(){if(!this.isActive){return}this.getSize();if(this.options.wrapAround){this.x=f.modulo(this.x,this.slideableWidth)}this.positionCells();this._getWrapShiftCells();this.setGallerySize();this.emitEvent("resize");var t=this.selectedElements&&this.selectedElements[0];this.selectCell(t,false,true)};x.watchCSS=function(){var t=this.options.watchCSS;if(!t){return}var i=p(this.element,":after").content;if(i.indexOf("flickity")!=-1){this.activate()}else{this.deactivate()}};x.onkeydown=function(t){var i=document.activeElement&&document.activeElement!=this.element;if(!this.options.accessibility||i){return}var s=m.keyboardHandlers[t.keyCode];if(s){s.call(this)}};m.keyboardHandlers={37:function(){var t=this.options.rightToLeft?"next":"previous";this.uiChange();this[t]()},39:function(){var t=this.options.rightToLeft?"previous":"next";this.uiChange();this[t]()}};x.focus=function(){var t=window.pageYOffset;this.element.focus({preventScroll:true});if(window.pageYOffset!=t){window.scrollTo(window.pageXOffset,t)}};x.deactivate=function(){if(!this.isActive){return}this.element.classList.remove("flickity-enabled");this.element.classList.remove("flickity-rtl");this.unselectSelectedSlide();this.cells.forEach((function(t){t.destroy()}));this.element.removeChild(this.viewport);g(this.slider.children,this.element);if(this.options.accessibility){this.element.removeAttribute("tabIndex");this.element.removeEventListener("keydown",this)}this.isActive=false;this.emitEvent("deactivate")};x.destroy=function(){this.deactivate();window.removeEventListener("resize",this);this.allOff();this.emitEvent("destroy");delete this.element.flickityGUID;delete k[this.guid]};f.extend(x,y);m.data=function(t){t=f.getQueryElement(t);var i=t&&t.flickityGUID;return i&&k[i]};f.htmlInit(m,"flickity");m.Cell=u;m.Slide=v;var M=e((function(t){
|
11
|
-
/*!
|
12
|
-
* Unipointer v2.4.0
|
13
|
-
* base class for doing one thing with pointer event
|
14
|
-
* MIT license
|
15
|
-
*/
|
16
|
-
(function(i,s){if(t.exports){t.exports=s(i,a)}else{i.Unipointer=s(i,i.EvEmitter)}})(window,(function t(i,s){function n(){}function h(){}var e=h.prototype=Object.create(s.prototype);e.bindStartEvent=function(t){this._bindStartEvent(t,true)};e.unbindStartEvent=function(t){this._bindStartEvent(t,false)};e._bindStartEvent=function(t,s){s=s===undefined?true:s;var n=s?"addEventListener":"removeEventListener";var h="mousedown";if("ontouchstart"in i){h="touchstart"}else if(i.PointerEvent){h="pointerdown"}t[n](h,this)};e.handleEvent=function(t){var i="on"+t.type;if(this[i]){this[i](t)}};e.getTouch=function(t){for(var i=0;i<t.length;i++){var s=t[i];if(s.identifier==this.pointerIdentifier){return s}}};e.onmousedown=function(t){var i=t.button;if(i&&(i!==0&&i!==1)){return}this._pointerDown(t,t)};e.ontouchstart=function(t){this._pointerDown(t,t.changedTouches[0])};e.onpointerdown=function(t){this._pointerDown(t,t)};e._pointerDown=function(t,i){if(t.button||this.isPointerDown){return}this.isPointerDown=true;this.pointerIdentifier=i.pointerId!==undefined?i.pointerId:i.identifier;this.pointerDown(t,i)};e.pointerDown=function(t,i){this._bindPostStartEvents(t);this.emitEvent("pointerDown",[t,i])};var r={mousedown:["mousemove","mouseup"],touchstart:["touchmove","touchend","touchcancel"],pointerdown:["pointermove","pointerup","pointercancel"]};e._bindPostStartEvents=function(t){if(!t){return}var s=r[t.type];s.forEach((function(t){i.addEventListener(t,this)}),this);this._boundPointerEvents=s};e._unbindPostStartEvents=function(){if(!this._boundPointerEvents){return}this._boundPointerEvents.forEach((function(t){i.removeEventListener(t,this)}),this);delete this._boundPointerEvents};e.onmousemove=function(t){this._pointerMove(t,t)};e.onpointermove=function(t){if(t.pointerId==this.pointerIdentifier){this._pointerMove(t,t)}};e.ontouchmove=function(t){var i=this.getTouch(t.changedTouches);if(i){this._pointerMove(t,i)}};e._pointerMove=function(t,i){this.pointerMove(t,i)};e.pointerMove=function(t,i){this.emitEvent("pointerMove",[t,i])};e.onmouseup=function(t){this._pointerUp(t,t)};e.onpointerup=function(t){if(t.pointerId==this.pointerIdentifier){this._pointerUp(t,t)}};e.ontouchend=function(t){var i=this.getTouch(t.changedTouches);if(i){this._pointerUp(t,i)}};e._pointerUp=function(t,i){this._pointerDone();this.pointerUp(t,i)};e.pointerUp=function(t,i){this.emitEvent("pointerUp",[t,i])};e._pointerDone=function(){this._pointerReset();this._unbindPostStartEvents();this.pointerDone()};e._pointerReset=function(){this.isPointerDown=false;delete this.pointerIdentifier};e.pointerDone=n;e.onpointercancel=function(t){if(t.pointerId==this.pointerIdentifier){this._pointerCancel(t,t)}};e.ontouchcancel=function(t){var i=this.getTouch(t.changedTouches);if(i){this._pointerCancel(t,i)}};e._pointerCancel=function(t,i){this._pointerDone();this.pointerCancel(t,i)};e.pointerCancel=function(t,i){this.emitEvent("pointerCancel",[t,i])};h.getPointerPoint=function(t){return{x:t.pageX,y:t.pageY}};return h}))}));var C=e((function(t){
|
17
|
-
/*!
|
18
|
-
* Unidragger v2.4.0
|
19
|
-
* Draggable base class
|
20
|
-
* MIT license
|
21
|
-
*/
|
22
|
-
(function(i,s){if(t.exports){t.exports=s(i,M)}else{i.Unidragger=s(i,i.Unipointer)}})(window,(function t(i,s){function n(){}var h=n.prototype=Object.create(s.prototype);h.bindHandles=function(){this._bindHandles(true)};h.unbindHandles=function(){this._bindHandles(false)};h._bindHandles=function(t){t=t===undefined?true:t;var s=t?"addEventListener":"removeEventListener";var n=t?this._touchActionValue:"";for(var h=0;h<this.handles.length;h++){var e=this.handles[h];this._bindStartEvent(e,t);e[s]("click",this);if(i.PointerEvent){e.style.touchAction=n}}};h._touchActionValue="none";h.pointerDown=function(t,i){var s=this.okayPointerDown(t);if(!s){return}this.pointerDownPointer={pageX:i.pageX,pageY:i.pageY};t.preventDefault();this.pointerDownBlur();this._bindPostStartEvents(t);this.emitEvent("pointerDown",[t,i])};var e={TEXTAREA:true,INPUT:true,SELECT:true,OPTION:true};var r={radio:true,checkbox:true,button:true,submit:true,image:true,file:true};h.okayPointerDown=function(t){var i=e[t.target.nodeName];var s=r[t.target.type];var n=!i||s;if(!n){this._pointerReset()}return n};h.pointerDownBlur=function(){var t=document.activeElement;var i=t&&t.blur&&t!=document.body;if(i){t.blur()}};h.pointerMove=function(t,i){var s=this._dragPointerMove(t,i);this.emitEvent("pointerMove",[t,i,s]);this._dragMove(t,i,s)};h._dragPointerMove=function(t,i){var s={x:i.pageX-this.pointerDownPointer.pageX,y:i.pageY-this.pointerDownPointer.pageY};if(!this.isDragging&&this.hasDragStarted(s)){this._dragStart(t,i)}return s};h.hasDragStarted=function(t){return Math.abs(t.x)>3||Math.abs(t.y)>3};h.pointerUp=function(t,i){this.emitEvent("pointerUp",[t,i]);this._dragPointerUp(t,i)};h._dragPointerUp=function(t,i){if(this.isDragging){this._dragEnd(t,i)}else{this._staticClick(t,i)}};h._dragStart=function(t,i){this.isDragging=true;this.isPreventingClicks=true;this.dragStart(t,i)};h.dragStart=function(t,i){this.emitEvent("dragStart",[t,i])};h._dragMove=function(t,i,s){if(!this.isDragging){return}this.dragMove(t,i,s)};h.dragMove=function(t,i,s){t.preventDefault();this.emitEvent("dragMove",[t,i,s])};h._dragEnd=function(t,i){this.isDragging=false;setTimeout(function(){delete this.isPreventingClicks}.bind(this));this.dragEnd(t,i)};h.dragEnd=function(t,i){this.emitEvent("dragEnd",[t,i])};h.onclick=function(t){if(this.isPreventingClicks){t.preventDefault()}};h._staticClick=function(t,i){if(this.isIgnoringMouseUp&&t.type=="mouseup"){return}this.staticClick(t,i);if(t.type!="mouseup"){this.isIgnoringMouseUp=true;setTimeout(function(){delete this.isIgnoringMouseUp}.bind(this),400)}};h.staticClick=function(t,i){this.emitEvent("staticClick",[t,i])};n.getPointerPoint=s.getPointerPoint;return n}))}));f.extend(m.defaults,{draggable:">1",dragThreshold:3});m.createMethods.push("_createDrag");var S=m.prototype;f.extend(S,C.prototype);S._touchActionValue="pan-y";var L="createTouch"in document;var T=false;S._createDrag=function(){this.on("activate",this.onActivateDrag);this.on("uiChange",this._uiChangeDrag);this.on("deactivate",this.onDeactivateDrag);this.on("cellChange",this.updateDraggable);if(L&&!T){window.addEventListener("touchmove",(function(){}));T=true}};S.onActivateDrag=function(){this.handles=[this.viewport];this.bindHandles();this.updateDraggable()};S.onDeactivateDrag=function(){this.unbindHandles();this.element.classList.remove("is-draggable")};S.updateDraggable=function(){if(this.options.draggable==">1"){this.isDraggable=this.slides.length>1}else{this.isDraggable=this.options.draggable}if(this.isDraggable){this.element.classList.add("is-draggable")}else{this.element.classList.remove("is-draggable")}};S.bindDrag=function(){this.options.draggable=true;this.updateDraggable()};S.unbindDrag=function(){this.options.draggable=false;this.updateDraggable()};S._uiChangeDrag=function(){delete this.isFreeScrolling};S.pointerDown=function(t,i){if(!this.isDraggable){this._pointerDownDefault(t,i);return}var s=this.okayPointerDown(t);if(!s){return}this._pointerDownPreventDefault(t);this.pointerDownFocus(t);if(document.activeElement!=this.element){this.pointerDownBlur()}this.dragX=this.x;this.viewport.classList.add("is-pointer-down");this.pointerDownScroll=E();window.addEventListener("scroll",this);this._pointerDownDefault(t,i)};S._pointerDownDefault=function(t,i){this.pointerDownPointer={pageX:i.pageX,pageY:i.pageY};this._bindPostStartEvents(t);this.dispatchEvent("pointerDown",t,[i])};var P={INPUT:true,TEXTAREA:true,SELECT:true};S.pointerDownFocus=function(t){var i=P[t.target.nodeName];if(!i){this.focus()}};S._pointerDownPreventDefault=function(t){var i=t.type=="touchstart";var s=t.pointerType=="touch";var n=P[t.target.nodeName];if(!i&&!s&&!n){t.preventDefault()}};S.hasDragStarted=function(t){return Math.abs(t.x)>this.options.dragThreshold};S.pointerUp=function(t,i){delete this.isTouchScrolling;this.viewport.classList.remove("is-pointer-down");this.dispatchEvent("pointerUp",t,[i]);this._dragPointerUp(t,i)};S.pointerDone=function(){window.removeEventListener("scroll",this);delete this.pointerDownScroll};S.dragStart=function(t,i){if(!this.isDraggable){return}this.dragStartPosition=this.x;this.startAnimation();window.removeEventListener("scroll",this);this.dispatchEvent("dragStart",t,[i])};S.pointerMove=function(t,i){var s=this._dragPointerMove(t,i);this.dispatchEvent("pointerMove",t,[i,s]);this._dragMove(t,i,s)};S.dragMove=function(t,i,s){if(!this.isDraggable){return}t.preventDefault();this.previousDragX=this.dragX;var n=this.options.rightToLeft?-1:1;if(this.options.wrapAround){s.x=s.x%this.slideableWidth}var h=this.dragStartPosition+s.x*n;if(!this.options.wrapAround&&this.slides.length){var e=Math.max(-this.slides[0].target,this.dragStartPosition);h=h>e?(h+e)*.5:h;var r=Math.min(-this.getLastSlide().target,this.dragStartPosition);h=h<r?(h+r)*.5:h}this.dragX=h;this.dragMoveTime=new Date;this.dispatchEvent("dragMove",t,[i,s])};S.dragEnd=function(t,i){if(!this.isDraggable){return}if(this.options.freeScroll){this.isFreeScrolling=true}var s=this.dragEndRestingSelect();if(this.options.freeScroll&&!this.options.wrapAround){var n=this.getRestingPosition();this.isFreeScrolling=-n>this.slides[0].target&&-n<this.getLastSlide().target}else if(!this.options.freeScroll&&s==this.selectedIndex){s+=this.dragEndBoostSelect()}delete this.previousDragX;this.isDragSelect=this.options.wrapAround;this.select(s);delete this.isDragSelect;this.dispatchEvent("dragEnd",t,[i])};S.dragEndRestingSelect=function(){var t=this.getRestingPosition();var i=Math.abs(this.getSlideDistance(-t,this.selectedIndex));var s=this._getClosestResting(t,i,1);var n=this._getClosestResting(t,i,-1);var h=s.distance<n.distance?s.index:n.index;return h};S._getClosestResting=function(t,i,s){var n=this.selectedIndex;var h=Infinity;var e=this.options.contain&&!this.options.wrapAround?function(t,i){return t<=i}:function(t,i){return t<i};while(e(i,h)){n+=s;h=i;i=this.getSlideDistance(-t,n);if(i===null){break}i=Math.abs(i)}return{distance:h,index:n-s}};S.getSlideDistance=function(t,i){var s=this.slides.length;var n=this.options.wrapAround&&s>1;var h=n?f.modulo(i,s):i;var e=this.slides[h];if(!e){return null}var r=n?this.slideableWidth*Math.floor(i/s):0;return t-(e.target+r)};S.dragEndBoostSelect=function(){if(this.previousDragX===undefined||!this.dragMoveTime||new Date-this.dragMoveTime>100){return 0}var t=this.getSlideDistance(-this.dragX,this.selectedIndex);var i=this.previousDragX-this.dragX;if(t>0&&i>0){return 1}else if(t<0&&i<0){return-1}return 0};S.staticClick=function(t,i){var s=this.getParentCell(t.target);var n=s&&s.element;var h=s&&this.cells.indexOf(s);this.dispatchEvent("staticClick",t,[i,n,h])};S.onscroll=function(){var t=E();var i=this.pointerDownScroll.x-t.x;var s=this.pointerDownScroll.y-t.y;if(Math.abs(i)>3||Math.abs(s)>3){this._pointerDone()}};function E(){return{x:window.pageXOffset,y:window.pageYOffset}}var A="http://www.w3.org/2000/svg";function O(t,i){this.direction=t;this.parent=i;this.parentElement=this.parent.element.shadowRoot||this.parent.element;this._create()}O.prototype=Object.create(M.prototype);O.prototype._create=function(){this.isEnabled=true;this.isPrevious=this.direction==-1;var t=this.parent.options.rightToLeft?1:-1;this.isLeft=this.direction==t;var i=this.element=document.createElement("button");i.className="flickity-button flickity-prev-next-button";i.className+=this.isPrevious?" previous":" next";i.setAttribute("type","button");this.disable();i.setAttribute("aria-label",this.isPrevious?"Previous":"Next");var s=this.createSVG();i.appendChild(s);this.parent.on("select",this.update.bind(this));this.on("pointerDown",this.parent.childUIPointerDown.bind(this.parent))};O.prototype.activate=function(){this.bindStartEvent(this.element);this.element.addEventListener("click",this);this.parentElement.appendChild(this.element)};O.prototype.deactivate=function(){this.parentElement.removeChild(this.element);this.unbindStartEvent(this.element);this.element.removeEventListener("click",this)};O.prototype.createSVG=function(){var t=document.createElementNS(A,"svg");t.setAttribute("class","flickity-button-icon");t.setAttribute("viewBox","0 0 100 100");var i=document.createElementNS(A,"path");var s=D(this.parent.options.arrowShape);i.setAttribute("d",s);i.setAttribute("class","arrow");if(!this.isLeft){i.setAttribute("transform","translate(100, 100) rotate(180) ")}t.appendChild(i);return t};function D(t){if(typeof t=="string"){return t}return"M "+t.x0+",50"+" L "+t.x1+","+(t.y1+50)+" L "+t.x2+","+(t.y2+50)+" L "+t.x3+",50 "+" L "+t.x2+","+(50-t.y2)+" L "+t.x1+","+(50-t.y1)+" Z"}O.prototype.handleEvent=f.handleEvent;O.prototype.onclick=function(){if(!this.isEnabled){return}this.parent.uiChange();var t=this.isPrevious?"previous":"next";this.parent[t]()};O.prototype.enable=function(){if(this.isEnabled){return}this.element.disabled=false;this.isEnabled=true};O.prototype.disable=function(){if(!this.isEnabled){return}this.element.disabled=true;this.isEnabled=false};O.prototype.update=function(){var t=this.parent.slides;if(this.parent.options.wrapAround&&t.length>1){this.enable();return}var i=t.length?t.length-1:0;var s=this.isPrevious?0:i;var n=this.parent.selectedIndex==s?"disable":"enable";this[n]()};O.prototype.destroy=function(){this.deactivate();this.allOff()};f.extend(m.defaults,{prevNextButtons:true,arrowShape:{x0:10,x1:60,y1:50,x2:70,y2:40,x3:30}});m.createMethods.push("_createPrevNextButtons");var j=m.prototype;j._createPrevNextButtons=function(){if(!this.options.prevNextButtons){return}this.prevButton=new O(-1,this);this.nextButton=new O(1,this);this.on("activate",this.activatePrevNextButtons)};j.activatePrevNextButtons=function(){this.prevButton.activate();this.nextButton.activate();this.on("deactivate",this.deactivatePrevNextButtons)};j.deactivatePrevNextButtons=function(){this.prevButton.deactivate();this.nextButton.deactivate();this.off("deactivate",this.deactivatePrevNextButtons)};m.PrevNextButton=O;function R(t){this.parent=t;this.parentElement=this.parent.element.shadowRoot||this.parent.element;this._create()}R.prototype=Object.create(M.prototype);R.prototype._create=function(){this.holder=document.createElement("ol");this.holder.className="flickity-page-dots";this.dots=[];this.handleClick=this.onClick.bind(this);this.on("pointerDown",this.parent.childUIPointerDown.bind(this.parent))};R.prototype.activate=function(){this.setDots();this.holder.addEventListener("click",this.handleClick);this.bindStartEvent(this.holder);this.parentElement.appendChild(this.holder)};R.prototype.deactivate=function(){this.holder.removeEventListener("click",this.handleClick);this.unbindStartEvent(this.holder);this.parentElement.removeChild(this.holder)};R.prototype.setDots=function(){var t=this.parent.slides.length-this.dots.length;if(t>0){this.addDots(t)}else if(t<0){this.removeDots(-t)}};R.prototype.addDots=function(t){var i=document.createDocumentFragment();var s=[];var n=this.dots.length;var h=n+t;for(var e=n;e<h;e++){var r=document.createElement("li");r.classList.add("dot");r.setAttribute("aria-label","Page dot "+(e+1));i.appendChild(r);s.push(r)}this.holder.appendChild(i);this.dots=this.dots.concat(s)};R.prototype.removeDots=function(t){var i=this.dots.splice(this.dots.length-t,t);i.forEach((function(t){this.holder.removeChild(t)}),this)};R.prototype.updateSelected=function(){if(this.selectedDot){this.selectedDot.classList.remove("is-selected");this.selectedDot.removeAttribute("aria-current")}if(!this.dots.length){return}this.selectedDot=this.dots[this.parent.selectedIndex];this.selectedDot.classList.add("is-selected");this.selectedDot.setAttribute("aria-current","step")};R.prototype.onTap=R.prototype.onClick=function(t){var i=t.target;if(i.nodeName!="LI"){return}this.parent.uiChange();var s=this.dots.indexOf(i);this.parent.select(s)};R.prototype.destroy=function(){this.deactivate();this.allOff()};m.PageDots=R;f.extend(m.defaults,{pageDots:true});m.createMethods.push("_createPageDots");var I=m.prototype;I._createPageDots=function(){if(!this.options.pageDots){return}this.pageDots=new R(this);this.on("activate",this.activatePageDots);this.on("select",this.updateSelectedPageDots);this.on("cellChange",this.updatePageDots);this.on("resize",this.updatePageDots);this.on("deactivate",this.deactivatePageDots)};I.activatePageDots=function(){this.pageDots.activate()};I.updateSelectedPageDots=function(){this.pageDots.updateSelected()};I.updatePageDots=function(){this.pageDots.setDots()};I.deactivatePageDots=function(){this.pageDots.deactivate()};m.PageDots=R;function N(t){this.parent=t;this.state="stopped";this.onVisibilityChange=this.visibilityChange.bind(this);this.onVisibilityPlay=this.visibilityPlay.bind(this)}N.prototype=Object.create(a.prototype);N.prototype.play=function(){if(this.state=="playing"){return}var t=document.hidden;if(t){document.addEventListener("visibilitychange",this.onVisibilityPlay);return}this.state="playing";document.addEventListener("visibilitychange",this.onVisibilityChange);this.tick()};N.prototype.tick=function(){if(this.state!="playing"){return}var t=this.parent.options.autoPlay;t=typeof t=="number"?t:3e3;var i=this;this.clear();this.timeout=setTimeout((function(){i.parent.next(true);i.tick()}),t)};N.prototype.stop=function(){this.state="stopped";this.clear();document.removeEventListener("visibilitychange",this.onVisibilityChange)};N.prototype.clear=function(){clearTimeout(this.timeout)};N.prototype.pause=function(){if(this.state=="playing"){this.state="paused";this.clear()}};N.prototype.unpause=function(){if(this.state=="paused"){this.play()}};N.prototype.visibilityChange=function(){var t=document.hidden;this[t?"pause":"unpause"]()};N.prototype.visibilityPlay=function(){this.play();document.removeEventListener("visibilitychange",this.onVisibilityPlay)};f.extend(m.defaults,{pauseAutoPlayOnHover:true});m.createMethods.push("_createPlayer");var B=m.prototype;B._createPlayer=function(){this.player=new N(this);this.on("activate",this.activatePlayer);this.on("uiChange",this.stopPlayer);this.on("pointerDown",this.stopPlayer);this.on("deactivate",this.deactivatePlayer)};B.activatePlayer=function(){if(!this.options.autoPlay){return}this.player.play();this.element.addEventListener("mouseenter",this)};B.playPlayer=function(){this.player.play()};B.stopPlayer=function(){this.player.stop()};B.pausePlayer=function(){this.player.pause()};B.unpausePlayer=function(){this.player.unpause()};B.deactivatePlayer=function(){this.player.stop();this.element.removeEventListener("mouseenter",this)};B.onmouseenter=function(){if(!this.options.pauseAutoPlayOnHover){return}this.player.pause();this.element.addEventListener("mouseleave",this)};B.onmouseleave=function(){this.player.unpause();this.element.removeEventListener("mouseleave",this)};m.Player=N;function F(t){var i=document.createDocumentFragment();t.forEach((function(t){i.appendChild(t.element)}));return i}var H=m.prototype;H.insert=function(t,i){var s=this._makeCells(t);if(!s||!s.length){return}var n=this.cells.length;i=i===undefined?n:i;var h=F(s);var e=i==n;if(e){this.slider.appendChild(h)}else{var r=this.cells[i].element;this.slider.insertBefore(h,r)}if(i===0){this.cells=s.concat(this.cells)}else if(e){this.cells=this.cells.concat(s)}else{var a=this.cells.splice(i,n-i);this.cells=this.cells.concat(s).concat(a)}this._sizeCells(s);this.cellChange(i,true)};H.append=function(t){this.insert(t,this.cells.length)};H.prepend=function(t){this.insert(t,0)};H.remove=function(t){var i=this.getCells(t);if(!i||!i.length){return}var s=this.cells.length-1;i.forEach((function(t){t.remove();var i=this.cells.indexOf(t);s=Math.min(i,s);f.removeFrom(this.cells,t)}),this);this.cellChange(s,true)};H.cellSizeChange=function(t){var i=this.getCell(t);if(!i){return}i.getSize();var s=this.cells.indexOf(i);this.cellChange(s)};H.cellChange=function(t,i){var s=this.selectedElement;this._positionCells(t);this._getWrapShiftCells();this.setGallerySize();var n=this.getCell(s);if(n){this.selectedIndex=this.getCellSlideIndex(n)}this.selectedIndex=Math.min(this.slides.length-1,this.selectedIndex);this.emitEvent("cellChange",[t]);this.select(this.selectedIndex);if(i){this.positionSliderAtSelected()}};m.createMethods.push("_createLazyload");var _=m.prototype;_._createLazyload=function(){this.on("select",this.lazyLoad)};_.lazyLoad=function(){var t=this.options.lazyLoad;if(!t){return}var i=typeof t=="number"?t:0;var s=this.getAdjacentCellElements(i);var n=[];s.forEach((function(t){var i=W(t);n=n.concat(i)}));n.forEach((function(t){new V(t,this)}),this)};function W(t){if(t.nodeName=="IMG"){var i=t.getAttribute("data-flickity-lazyload");var s=t.getAttribute("data-flickity-lazyload-src");var n=t.getAttribute("data-flickity-lazyload-srcset");if(i||s||n){return[t]}}var h="img[data-flickity-lazyload], "+"img[data-flickity-lazyload-src], img[data-flickity-lazyload-srcset]";var e=t.querySelectorAll(h);return f.makeArray(e)}function V(t,i){this.img=t;this.flickity=i;this.load()}V.prototype.handleEvent=f.handleEvent;V.prototype.load=function(){this.img.addEventListener("load",this);this.img.addEventListener("error",this);var t=this.img.getAttribute("data-flickity-lazyload")||this.img.getAttribute("data-flickity-lazyload-src");var i=this.img.getAttribute("data-flickity-lazyload-srcset");this.img.src=t;if(i){this.img.setAttribute("srcset",i)}this.img.removeAttribute("data-flickity-lazyload");this.img.removeAttribute("data-flickity-lazyload-src");this.img.removeAttribute("data-flickity-lazyload-srcset")};V.prototype.onload=function(t){this.complete(t,"flickity-lazyloaded")};V.prototype.onerror=function(t){this.complete(t,"flickity-lazyerror")};V.prototype.complete=function(t,i){this.img.removeEventListener("load",this);this.img.removeEventListener("error",this);var s=this.flickity.getParentCell(this.img);var n=s&&s.element;this.flickity.cellSizeChange(n);this.img.classList.add(i);this.flickity.dispatchEvent("lazyLoad",t,n)};m.LazyLoader=V;m.createMethods.push("_createFullscreen");var X=m.prototype;X._createFullscreen=function(){this.isFullscreen=false;if(!this.options.fullscreen){return}this.viewFullscreenButton=new U("view",this);this.exitFullscreenButton=new U("exit",this);this.on("activate",this._changeFullscreenActive);this.on("deactivate",this._changeFullscreenActive)};X._changeFullscreenActive=function(){var t=this.isActive?"appendChild":"removeChild";this.element[t](this.viewFullscreenButton.element);this.element[t](this.exitFullscreenButton.element);var i=this.isActive?"activate":"deactivate";this.viewFullscreenButton[i]();this.exitFullscreenButton[i]()};X.viewFullscreen=function(){this._changeFullscreen(true);this.focus()};X.exitFullscreen=function(){this._changeFullscreen(false)};X._changeFullscreen=function(t){if(this.isFullscreen==t){return}this.isFullscreen=t;var i=t?"add":"remove";document.documentElement.classList[i]("is-flickity-fullscreen");this.element.classList[i]("is-fullscreen");this.resize();if(this.isFullscreen){this.reposition()}this.dispatchEvent("fullscreenChange",null,[t])};X.toggleFullscreen=function(){this._changeFullscreen(!this.isFullscreen)};var Z=X.setGallerySize;X.setGallerySize=function(){if(!this.options.setGallerySize){return}if(this.isFullscreen){this.viewport.style.height=""}else{Z.call(this)}};m.keyboardHandlers[27]=function(){this.exitFullscreen()};function U(t,i){this.name=t;this.createButton();this.createIcon();this.onClick=function(){i[t+"Fullscreen"]()};this.clickHandler=this.onClick.bind(this)}U.prototype.createButton=function(){var t=this.element=document.createElement("button");t.className="flickity-button flickity-fullscreen-button "+"flickity-fullscreen-button-"+this.name;t.setAttribute("type","button");var i=Y(this.name+" full-screen");t.setAttribute("aria-label",i);t.title=i};function Y(t){return t[0].toUpperCase()+t.slice(1)}var G="http://www.w3.org/2000/svg";var J={view:"M15,20,7,28h5v4H0V20H4v5l8-8Zm5-5,8-8v5h4V0H20V4h5l-8,8Z",exit:"M32,3l-7,7h5v4H18V2h4V7l7-7ZM3,32l7-7v5h4V18H2v4H7L0,29Z"};U.prototype.createIcon=function(){var t=document.createElementNS(G,"svg");t.setAttribute("class","flickity-button-icon");t.setAttribute("viewBox","0 0 32 32");var i=document.createElementNS(G,"path");var s=J[this.name];i.setAttribute("d",s);t.appendChild(i);this.element.appendChild(t)};U.prototype.activate=function(){this.element.addEventListener("click",this.clickHandler)};U.prototype.deactivate=function(){this.element.removeEventListener("click",this.clickHandler)};m.FullscreenButton=U;var q=m.Slide;var Q=q.prototype.updateTarget;q.prototype.updateTarget=function(){Q.apply(this,arguments);if(!this.parent.options.fade){return}var t=this.target-this.x;var i=this.cells[0].x;this.cells.forEach((function(s){var n=s.x-i-t;s.renderPosition(n)}))};q.prototype.setOpacity=function(t){this.cells.forEach((function(i){i.element.style.opacity=t}))};var $=m.prototype;m.createMethods.push("_createFade");$._createFade=function(){this.fadeIndex=this.selectedIndex;this.prevSelectedIndex=this.selectedIndex;this.on("select",this.onSelectFade);this.on("dragEnd",this.onDragEndFade);this.on("settle",this.onSettleFade);this.on("activate",this.onActivateFade);this.on("deactivate",this.onDeactivateFade)};var K=$.updateSlides;$.updateSlides=function(){K.apply(this,arguments);if(!this.options.fade){return}this.slides.forEach((function(t,i){var s=i==this.selectedIndex?1:0;t.setOpacity(s)}),this)};$.onSelectFade=function(){this.fadeIndex=Math.min(this.prevSelectedIndex,this.slides.length-1);this.prevSelectedIndex=this.selectedIndex};$.onSettleFade=function(){delete this.didDragEnd;if(!this.options.fade){return}this.selectedSlide.setOpacity(1);var t=this.slides[this.fadeIndex];if(t&&this.fadeIndex!=this.selectedIndex){this.slides[this.fadeIndex].setOpacity(0)}};$.onDragEndFade=function(){this.didDragEnd=true};$.onActivateFade=function(){if(this.options.fade){this.element.classList.add("is-fade")}};$.onDeactivateFade=function(){if(!this.options.fade){return}this.element.classList.remove("is-fade");this.slides.forEach((function(t){t.setOpacity("")}))};var tt=$.positionSlider;$.positionSlider=function(){if(!this.options.fade){tt.apply(this,arguments);return}this.fadeSlides();this.dispatchScrollEvent()};var it=$.positionSliderAtSelected;$.positionSliderAtSelected=function(){if(this.options.fade){this.setTranslateX(0)}it.apply(this,arguments)};$.fadeSlides=function(){if(this.slides.length<2){return}var t=this.getFadeIndexes();var i=this.slides[t.a];var s=this.slides[t.b];var n=this.wrapDifference(i.target,s.target);var h=this.wrapDifference(i.target,-this.x);h=h/n;i.setOpacity(1-h);s.setOpacity(h);var e=t.a;if(this.isDragging){e=h>.5?t.a:t.b}var r=this.fadeHideIndex!=undefined&&this.fadeHideIndex!=e&&this.fadeHideIndex!=t.a&&this.fadeHideIndex!=t.b;if(r){this.slides[this.fadeHideIndex].setOpacity(0)}this.fadeHideIndex=e};$.getFadeIndexes=function(){if(!this.isDragging&&!this.didDragEnd){return{a:this.fadeIndex,b:this.selectedIndex}}if(this.options.wrapAround){return this.getFadeDragWrapIndexes()}else{return this.getFadeDragLimitIndexes()}};$.getFadeDragWrapIndexes=function(){var t=this.slides.map((function(t,i){return this.getSlideDistance(-this.x,i)}),this);var i=t.map((function(t){return Math.abs(t)}));var s=Math.min.apply(Math,i);var n=i.indexOf(s);var h=t[n];var e=this.slides.length;var r=h>=0?1:-1;return{a:n,b:f.modulo(n+r,e)}};$.getFadeDragLimitIndexes=function(){var t=0;for(var i=0;i<this.slides.length-1;i++){var s=this.slides[i];if(-this.x<s.target){break}t=i}return{a:t,b:t+1}};$.wrapDifference=function(t,i){var s=i-t;if(!this.options.wrapAround){return s}var n=s+this.slideableWidth;var h=s-this.slideableWidth;if(Math.abs(n)<Math.abs(s)){s=n}if(Math.abs(h)<Math.abs(s)){s=h}return s};var st=$._getWrapShiftCells;$._getWrapShiftCells=function(){if(!this.options.fade){st.apply(this,arguments)}};var nt=$.shiftWrapCells;$.shiftWrapCells=function(){if(!this.options.fade){nt.apply(this,arguments)}};const ht=m;const et=":host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}:host{--dot-color:#ccc;--dot-color-active:var(--nano-color-primary, #007495);--navbtns-icon-color:var(--dot-color-active);--navbtns-bg-color:white;--navbtns-icon-color-disabled:var(--dot-color-active);--navbtns-bg-color-disabled:white;--fsbtn-icon-color:var(--dot-color-active);--fsbtn-bg-color:white;display:block;-webkit-user-select:none;user-select:none;overflow:hidden;transition:opacity 0.2s;opacity:0;max-width:100vw}:host([ready]){opacity:1}.slideshow{max-height:100%;min-height:inherit;height:inherit;position:relative}.slideshow.not-ready{max-width:98vw}.flickity-container{opacity:0;transition:opacity 0.2s;display:flex;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content}.not-ready .flickity-container{width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content}.flickity-container.slides-ready{min-height:inherit;max-height:inherit;height:inherit;width:auto}[hidden]{display:none !important}.ui-extras{pointer-events:none;position:absolute;block-size:100%;inline-size:100%;inset-block-start:0;inset-inline-start:0}.ui-extras *{pointer-events:all}/*! Flickity v2.2.1\nhttps://flickity.metafizzy.co\n---------------------------------------------- */.flickity-enabled{position:relative;opacity:1}.flickity-enabled:focus{outline:none}.flickity-viewport{overflow:hidden;position:relative;min-block-size:100%;flex:1}.flickity-slider{position:absolute;inline-size:100%;block-size:100%}.flickity-enabled.is-draggable{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:grab;cursor:grab}.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{cursor:grabbing}.flickity-button{position:absolute;background:var(--navbtns-bg-color);border:none;color:#333;opacity:0.75}.flickity-button:hover{opacity:1;cursor:pointer}.flickity-button:focus{outline:none;box-shadow:0 0 0 5px #19f}.flickity-button:active{opacity:0.6}.flickity-button:disabled{opacity:0.3;cursor:auto;pointer-events:none;background:var(--navbtns-bg-color-disabled)}.flickity-button-icon{fill:var(--navbtns-icon-color)}.flickity-button:disabled .flickity-button-icon{fill:var(--navbtns-icon-color-disabled)}.flickity-prev-next-button{inset-block-start:50%;inline-size:44px;block-size:44px;border-radius:50%;transform:translateY(-50%)}.flickity-prev-next-button.previous{inset-inline-start:10px}.flickity-prev-next-button.next{inset-inline-end:10px}.flickity-rtl .flickity-prev-next-button.previous{inset-inline:auto 10px}.flickity-rtl .flickity-prev-next-button.next{inset-inline:10px auto}.flickity-prev-next-button .flickity-button-icon{position:absolute;inset-inline-start:20%;inset-block-start:20%;inline-size:60%;block-size:60%}.flickity-page-dots{position:absolute;inline-size:100%;inset-block-end:10px;padding:0;margin:0;list-style:none;text-align:center;line-height:1;z-index:4}.flickity-rtl .flickity-page-dots{direction:rtl}.flickity-page-dots .dot{display:inline-block;inline-size:10px;block-size:10px;margin-block:0;margin-inline:8px;border-radius:50%;cursor:pointer;background:var(--dot-color)}.flickity-page-dots .dot.is-selected{opacity:1;background:var(--dot-color-active)}.flickity-enabled.is-fullscreen{position:fixed;inset-inline-start:0;inset-block-start:0;inline-size:100%;block-size:100%;background:rgba(0, 0, 0, 0.9);-webkit-padding-after:35px;padding-block-end:35px;z-index:100}.flickity-enabled.is-fullscreen .flickity-page-dots{inset-block-end:45px}html.is-flickity-fullscreen{overflow:hidden}.flickity-fullscreen-button{display:block;inset-inline-end:10px;inset-block-start:10px;inline-size:24px;block-size:24px;border-radius:4px;background:var(--fsbtn-bg-color);fill:var(--fsbtn-icon-color)}.flickity-rtl .flickity-fullscreen-button{inset-inline:10px auto}.flickity-fullscreen-button-exit{display:none}.flickity-enabled.is-fullscreen .flickity-fullscreen-button-exit{display:block}.flickity-enabled.is-fullscreen .flickity-fullscreen-button-view{display:none}.flickity-fullscreen-button .flickity-button-icon{position:absolute;inline-size:16px;block-size:16px;inset-inline-start:4px;inset-block-start:4px}.flickity-enabled.is-fade .flickity-slider>*{pointer-events:none;z-index:0}.flickity-enabled.is-fade .flickity-slider ::slotted(.is-selected){pointer-events:auto;z-index:1}";const rt=class{constructor(s){t(this,s);this.nanoSlidesDidLoad=i(this,"nanoSlidesDidLoad",7);this.nanoSlidesReady=i(this,"nanoSlidesReady",7);this.nanoSlidesSelect=i(this,"nanoSlidesSelect",7);this.nanoSlidesChange=i(this,"nanoSlidesChange",7);this.nanoSlidesScroll=i(this,"nanoSlidesScroll",7);this.nanoSlidesTransitionEnd=i(this,"nanoSlidesTransitionEnd",7);this.nanoSlidesDragStart=i(this,"nanoSlidesDragStart",7);this.nanoSlidesDragMove=i(this,"nanoSlidesDragMove",7);this.nanoSlidesDragEnd=i(this,"nanoSlidesDragEnd",7);this.nanoSlidesTap=i(this,"nanoSlidesTap",7);this.nanoSlidesFullscreenChange=i(this,"nanoSlidesFullscreenChange",7);this.flickityReady=false;this.flickity=new Promise((t=>{this.readyflickity=t}));this.parralax=async()=>{const t=await this.flickity;t.slides.forEach(((i,s)=>{const n=this.childrenEles[s];const h=(i.target+t.x)*-1/3;n.style["transform"]="translateX("+h+"px)"}))};this.handleFullscreen=t=>{this.fullscreen=t;this.nanoSlidesFullscreenChange.emit(t)};this.handleSlideSelect=t=>{this.iCurrentSlide=t;this.nanoSlidesSelect.emit(t)};this.iCurrentSlide=undefined;this.slidesReady=undefined;this.didInit=false;this.options={};this.navbtns=false;this.pager=false;this.fullscreenbtn=false;this.fullscreen=false;this.animation="scroll";this.currentSlide=0;this.autoplay=false;this.ready=false}async optionsChanged(){if(this.flickityReady){const t=await this.getflickity();Object.assign(t.options,this.options);await this.update()}}async navbtnsChanged(){Array.from(this._getRoot().querySelectorAll(".flickity-prev-next-button")).forEach((t=>{t.hidden=!this.navbtns}))}async pagerChanged(){const t=this._getRoot().querySelector(".flickity-page-dots");t.hidden=!this.pager}async fullscreenBtnChanged(){const t=this._getRoot().querySelector(".flickity-fullscreen-button");t.hidden=!this.fullscreenbtn}async fullscreenChanged(t,i){const s=await this.getflickity();if(this.fullscreen)s.viewFullscreen();else if(typeof i!=="undefined")s.exitFullscreen()}async animationChange(t,i){const[s,n]=await Promise.all([this.getflickity(),at(this.host)]);n.forEach((t=>{t.style["left"]=undefined}));if(i==="parallax"){s.off("scroll",this.parralax);n.forEach(((t,i)=>{if(this.childrenEles&&this.childrenEles[i])this.childrenEles[i].style["transform"]=undefined}));this.update()}switch(this.animation){case"fade":this.options={fade:true,percentPosition:true};break;case"parallax":this.options={fade:false,percentPosition:false};s.on("scroll",this.parralax);break;default:this.options={fade:false,percentPosition:true};break}}currentSlideChange(){if(this.currentSlide!==this.iCurrentSlide)this.slideTo(this.currentSlide)}internalSlideChange(){this.currentSlide=this.iCurrentSlide}async autoPlayChange(){await this.stopAutoplay();if(this.autoplay){if(typeof this.autoplay==="string")this.autoplay=parseInt(this.autoplay);if(this.autoplay>0)this.startAutoplay(this.autoplay)}}async update(){const[t]=await Promise.all([this.getflickity(),at(this.host)]);this.childrenEles=this.host.querySelectorAll("nano-slide > *");t.reloadCells();t.resize();t.reposition()}async updateAutoHeight(t){const i=document.querySelector(".flickity-viewport");if(i)i.style.transition=t+"ms"}async slideTo(t,i){const s=await this.getflickity();s.select(t,i)}async slideNext(t,i){const s=await this.getflickity();s.next(i,t)}async slidePrev(t,i){const s=await this.getflickity();s.previous(t,i)}async getActiveIndex(){const t=await this.getflickity();return t.selectedIndex}async length(){const t=await this.getflickity();return t.slides.length}async isEnd(){const t=await this.getflickity();return t.selectedIndex===t.slides.length-1}async isBeginning(){const t=await this.getflickity();return t.selectedIndex===0}async startAutoplay(t){const i=await this.getflickity();if(t)this.options={autoPlay:t};setTimeout((()=>i.playPlayer()))}async stopAutoplay(){const t=await this.getflickity();t.stopPlayer()}async lockSwipes(t){const i=await this.getflickity();i.options.draggable=!t;i.updateDraggable()}async getflickity(){return this.flickity}async reload(){this.destroyflickity();setTimeout((()=>this.initflickity()),20)}_getRoot(){return this.host.shadowRoot?this.host.shadowRoot:this.host}destroyflickity(){const t=this.syncflickity;if(t!==undefined){t.destroy();this.flickity=new Promise((t=>{this.readyflickity=t}));this.flickityReady=false;this.syncflickity=undefined;this.ready=false}this.didInit=false}async initflickity(){const t=this.normalizeOptions();await at(this.host);this.flickityEl.style.height=this.flickityEl.getBoundingClientRect().height+"px";this.slidesReady=true;this.flickityEl=this.flickityEl||this._getRoot().querySelector(".flickity-container");if(this.flickityEl&&this.flickityEl.classList.contains("flickity-enabled"))this.destroyflickity();setTimeout((()=>{this.flickityEl.style.height="";const i=new ht(this.flickityEl,t);this.flickityReady=true;this.syncflickity=i;this.animationChange();this.navbtnsChanged();this.pagerChanged();this.fullscreenChanged();this.fullscreenBtnChanged();this.readyflickity(i);this.ready=true;if(!window["ResizeObserver"])return;const s=this.resizeO=new ResizeObserver((()=>{i.resize()}));s.observe(this.host)}),100)}normalizeOptions(){const t={cellSelector:"nano-slide",contain:true,prevNextButtons:true,fullscreen:true,accessibility:true,imagesLoaded:true,pageDots:true};if(this.animation==="fade"){t.fade=true}if(this.currentSlide>0){t.initialIndex=this.currentSlide}if(this.autoplay){if(typeof this.autoplay==="string")this.autoplay=parseInt(this.autoplay);if(this.autoplay>0)t.autoPlay=this.autoplay}const i={ready:()=>{setTimeout((()=>{this.nanoSlidesReady.emit()}),20)},select:this.handleSlideSelect,change:this.nanoSlidesChange.emit,scroll:this.nanoSlidesScroll.emit,settle:this.nanoSlidesTransitionEnd.emit,dragStart:this.nanoSlidesDragStart.emit,dragMove:this.nanoSlidesDragMove.emit,dragEnd:this.nanoSlidesDragEnd.emit,staticClick:this.nanoSlidesTap.emit,fullscreenChange:this.handleFullscreen};const s=!!this.options&&!!this.options.on?this.options.on:{};const n={on:Object.assign(Object.assign({},s),i)};return Object.assign(Object.assign(Object.assign({},t),n),this.options)}componentDidLoad(){if(typeof window!=="undefined"&&window.MutationObserver){const t=this.mutationO=new MutationObserver((t=>{if(t[0].addedNodes[0]&&t[0].addedNodes[0].nodeName.toLowerCase()==="nano-slide"&&this.flickityReady){this.update()}}));t.observe(this.host,{childList:true,subtree:true})}}componentWillLoad(){this.nanoSlidesDidLoad.emit();if(!this.didInit){this.didInit=true;this.initflickity()}}disconnectedCallback(){if(this.mutationO){this.mutationO.disconnect();this.mutationO=undefined}if(this.resizeO)this.resizeO.disconnect();this.destroyflickity()}render(){return s(n,null,s("div",{class:{slideshow:true,ready:this.ready,"not-ready":!this.ready}},s("div",{ref:t=>this.flickityEl=t,class:{"flickity-container":true,"slides-ready":this.slidesReady,"slides-not-ready":!this.slidesReady}},s("slot",null)),s("div",{class:"ui-extras"},s("slot",{name:"ui"}))))}get host(){return h(this)}static get watchers(){return{options:["optionsChanged"],navbtns:["navbtnsChanged"],pager:["pagerChanged"],fullscreenbtn:["fullscreenBtnChanged"],fullscreen:["fullscreenChanged"],animation:["animationChange"],currentSlide:["currentSlideChange"],iCurrentSlide:["internalSlideChange"],autoplay:["autoPlayChange"]}}};const at=t=>{const i=Array.from(t.querySelectorAll("nano-slide"));let s=i.filter((t=>!t.ready));if(!s.length)return Promise.resolve(i);return new Promise((n=>{const h=e=>{s=s.filter((t=>t!==e.target));if(!s.length){n(i);t.removeEventListener("nanoSlideReady",h)}};t.addEventListener("nanoSlideReady",h);t.addEventListener("nano-slide-ready",h)}))};rt.style=et;export{rt as nano_slides};
|
23
|
-
//# sourceMappingURL=p-7f5fb917.entry.js.map
|