@nanoporetech-digital/components 8.7.0 → 8.7.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/dist/cjs/{fade-BLXO4NX4.js → fade-NeUskjyB.js} +2 -2
- package/dist/cjs/{form-control-B-3YQ1I7.js → form-control-C6SZCtLY.js} +1 -1
- package/dist/cjs/{fullscreen-Bh553is8.js → fullscreen-D5cgtwoy.js} +2 -2
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/{lazyload-C1nc-whI.js → lazyload-Dm1NcTJ1.js} +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/nano-accordion.cjs.entry.js +1 -1
- package/dist/cjs/nano-alert.cjs.entry.js +1 -1
- package/dist/cjs/nano-algolia-filter.cjs.entry.js +1 -1
- package/dist/cjs/nano-algolia-results.cjs.entry.js +1 -1
- package/dist/cjs/nano-algolia.cjs.entry.js +1 -1
- package/dist/cjs/nano-animation.cjs.entry.js +1 -1
- package/dist/cjs/nano-avatar_5.cjs.entry.js +2 -2
- package/dist/cjs/nano-card-carousel.cjs.entry.js +1 -1
- package/dist/cjs/nano-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/nano-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/nano-collapsible-comparison.cjs.entry.js +13 -2
- package/dist/cjs/nano-components.cjs.js +1 -1
- package/dist/cjs/{nano-data-table-BHQIpW0N.js → nano-data-table-xe9FWWGZ.js} +2 -2
- package/dist/cjs/nano-data-table.cjs.entry.js +2 -2
- package/dist/cjs/nano-datalist_3.cjs.entry.js +1 -1
- package/dist/cjs/nano-date-input.cjs.entry.js +1 -1
- package/dist/cjs/nano-date-picker_2.cjs.entry.js +2 -2
- package/dist/cjs/nano-details.cjs.entry.js +1 -1
- package/dist/cjs/nano-dialog.cjs.entry.js +1 -1
- package/dist/cjs/nano-dropdown_2.cjs.entry.js +1 -1
- package/dist/cjs/nano-field-validator.cjs.entry.js +1 -1
- package/dist/cjs/nano-file-upload.cjs.entry.js +1 -1
- package/dist/cjs/nano-global-nav.cjs.entry.js +1 -1
- package/dist/cjs/nano-grid_2.cjs.entry.js +1 -1
- package/dist/cjs/nano-hero.cjs.entry.js +1 -1
- package/dist/cjs/nano-icon-button_2.cjs.entry.js +1 -1
- package/dist/cjs/nano-icon.cjs.entry.js +1 -1
- package/dist/cjs/nano-in-page-nav.cjs.entry.js +1 -1
- package/dist/cjs/nano-increment.cjs.entry.js +1 -1
- package/dist/cjs/nano-intersection-observe.cjs.entry.js +1 -1
- package/dist/cjs/nano-masked-overflow.cjs.entry.js +1 -1
- package/dist/cjs/nano-menu-drawer.cjs.entry.js +1 -1
- package/dist/cjs/nano-more-less.cjs.entry.js +1 -1
- package/dist/cjs/nano-nav-item.cjs.entry.js +1 -1
- package/dist/cjs/nano-range.cjs.entry.js +1 -1
- package/dist/cjs/nano-rating.cjs.entry.js +1 -1
- package/dist/cjs/nano-resize-observe.cjs.entry.js +1 -1
- package/dist/cjs/nano-slide.cjs.entry.js +1 -1
- package/dist/cjs/{nano-slides-CrJKcnQs.js → nano-slides-ycRcUf0g.js} +5 -5
- package/dist/cjs/nano-slides.cjs.entry.js +2 -2
- package/dist/cjs/nano-sortable.cjs.entry.js +1 -1
- package/dist/cjs/nano-split-pane.cjs.entry.js +1 -1
- package/dist/cjs/nano-step-accordion.cjs.entry.js +1 -1
- package/dist/cjs/nano-step-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/nano-sticker.cjs.entry.js +1 -1
- package/dist/cjs/nano-tab-content.cjs.entry.js +1 -1
- package/dist/cjs/nano-tab-group.cjs.entry.js +1 -1
- package/dist/cjs/nano-tab.cjs.entry.js +1 -1
- package/dist/cjs/nano-table.cjs.entry.js +1 -1
- package/dist/cjs/{page-dots-CJkZc-XU.js → page-dots--38yVfTZ.js} +2 -2
- package/dist/cjs/{renderer-B9M1kXq8.js → renderer-CUTUqPQt.js} +6 -1
- package/dist/cjs/{table.worker-BeE8kdSf.js → table.worker-DIekzkZg.js} +2 -2
- package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
- package/dist/collection/components/collapsible-comparison/collapsible-comparison.js +52 -1
- package/dist/collection/utils/renderer.js +6 -1
- package/dist/components/nano-collapsible-comparison.js +15 -2
- package/dist/components/renderer.js +6 -1
- package/dist/esm/{fade--IBFBe-0.js → fade-BA6b-Fk9.js} +2 -2
- package/dist/esm/{form-control-CIz-2SMG.js → form-control-BCJMGxR_.js} +1 -1
- package/dist/esm/{fullscreen-BO0-v_-N.js → fullscreen-De_yN4cg.js} +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/{lazyload-DZWueTsT.js → lazyload-Cl8k3tPs.js} +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/nano-accordion.entry.js +1 -1
- package/dist/esm/nano-alert.entry.js +1 -1
- package/dist/esm/nano-algolia-filter.entry.js +1 -1
- package/dist/esm/nano-algolia-results.entry.js +1 -1
- package/dist/esm/nano-algolia.entry.js +1 -1
- package/dist/esm/nano-animation.entry.js +1 -1
- package/dist/esm/nano-avatar_5.entry.js +2 -2
- package/dist/esm/nano-card-carousel.entry.js +1 -1
- package/dist/esm/nano-checkbox-group.entry.js +1 -1
- package/dist/esm/nano-checkbox.entry.js +1 -1
- package/dist/esm/nano-collapsible-comparison.entry.js +13 -2
- package/dist/esm/nano-components.js +1 -1
- package/dist/esm/{nano-data-table-CWliPF7Y.js → nano-data-table-C1hBvIg7.js} +2 -2
- package/dist/esm/nano-data-table.entry.js +2 -2
- package/dist/esm/nano-datalist_3.entry.js +1 -1
- package/dist/esm/nano-date-input.entry.js +1 -1
- package/dist/esm/nano-date-picker_2.entry.js +2 -2
- package/dist/esm/nano-details.entry.js +1 -1
- package/dist/esm/nano-dialog.entry.js +1 -1
- package/dist/esm/nano-dropdown_2.entry.js +1 -1
- package/dist/esm/nano-field-validator.entry.js +1 -1
- package/dist/esm/nano-file-upload.entry.js +1 -1
- package/dist/esm/nano-global-nav.entry.js +1 -1
- package/dist/esm/nano-grid_2.entry.js +1 -1
- package/dist/esm/nano-hero.entry.js +1 -1
- package/dist/esm/nano-icon-button_2.entry.js +1 -1
- package/dist/esm/nano-icon.entry.js +1 -1
- package/dist/esm/nano-in-page-nav.entry.js +1 -1
- package/dist/esm/nano-increment.entry.js +1 -1
- package/dist/esm/nano-intersection-observe.entry.js +1 -1
- package/dist/esm/nano-masked-overflow.entry.js +1 -1
- package/dist/esm/nano-menu-drawer.entry.js +1 -1
- package/dist/esm/nano-more-less.entry.js +1 -1
- package/dist/esm/nano-nav-item.entry.js +1 -1
- package/dist/esm/nano-range.entry.js +1 -1
- package/dist/esm/nano-rating.entry.js +1 -1
- package/dist/esm/nano-resize-observe.entry.js +1 -1
- package/dist/esm/nano-slide.entry.js +1 -1
- package/dist/esm/{nano-slides-Cumys6rw.js → nano-slides-GrbOydfa.js} +5 -5
- package/dist/esm/nano-slides.entry.js +2 -2
- package/dist/esm/nano-sortable.entry.js +1 -1
- package/dist/esm/nano-split-pane.entry.js +1 -1
- package/dist/esm/nano-step-accordion.entry.js +1 -1
- package/dist/esm/nano-step-breadcrumb.entry.js +1 -1
- package/dist/esm/nano-sticker.entry.js +1 -1
- package/dist/esm/nano-tab-content.entry.js +1 -1
- package/dist/esm/nano-tab-group.entry.js +1 -1
- package/dist/esm/nano-tab.entry.js +1 -1
- package/dist/esm/nano-table.entry.js +1 -1
- package/dist/esm/{page-dots-Czwlqg1b.js → page-dots-CSf81OuJ.js} +2 -2
- package/dist/esm/{renderer-BaP2L8CT.js → renderer-DasB4P10.js} +6 -1
- package/dist/esm/{table.worker-DJks4i_l.js → table.worker-Dxl1vTb_.js} +2 -2
- package/dist/nano-components/{fade--IBFBe-0.js → fade-BA6b-Fk9.js} +1 -1
- package/dist/nano-components/{form-control-CIz-2SMG.js → form-control-BCJMGxR_.js} +1 -1
- package/dist/nano-components/{fullscreen-BO0-v_-N.js → fullscreen-De_yN4cg.js} +1 -1
- package/dist/nano-components/index.esm.js +1 -1
- package/dist/nano-components/lazyload-Cl8k3tPs.js +4 -0
- package/dist/nano-components/nano-accordion.entry.js +1 -1
- package/dist/nano-components/nano-alert.entry.js +1 -1
- package/dist/nano-components/nano-algolia-filter.entry.js +1 -1
- package/dist/nano-components/nano-algolia-results.entry.js +1 -1
- package/dist/nano-components/nano-algolia.entry.js +1 -1
- package/dist/nano-components/nano-animation.entry.js +1 -1
- package/dist/nano-components/nano-avatar_5.entry.js +1 -1
- package/dist/nano-components/nano-card-carousel.entry.js +1 -1
- package/dist/nano-components/nano-checkbox-group.entry.js +1 -1
- package/dist/nano-components/nano-checkbox.entry.js +1 -1
- package/dist/nano-components/nano-collapsible-comparison.entry.js +1 -1
- package/dist/nano-components/nano-components.esm.js +1 -1
- package/dist/nano-components/{nano-data-table-CWliPF7Y.js → nano-data-table-C1hBvIg7.js} +1 -1
- package/dist/nano-components/nano-data-table.entry.js +1 -1
- package/dist/nano-components/nano-datalist_3.entry.js +1 -1
- package/dist/nano-components/nano-date-input.entry.js +1 -1
- package/dist/nano-components/nano-date-picker_2.entry.js +1 -1
- package/dist/nano-components/nano-details.entry.js +1 -1
- package/dist/nano-components/nano-dialog.entry.js +1 -1
- package/dist/nano-components/nano-dropdown_2.entry.js +1 -1
- package/dist/nano-components/nano-field-validator.entry.js +1 -1
- package/dist/nano-components/nano-file-upload.entry.js +1 -1
- package/dist/nano-components/nano-global-nav.entry.js +1 -1
- package/dist/nano-components/nano-grid_2.entry.js +1 -1
- package/dist/nano-components/nano-hero.entry.js +1 -1
- package/dist/nano-components/nano-icon-button_2.entry.js +1 -1
- package/dist/nano-components/nano-icon.entry.js +1 -1
- package/dist/nano-components/nano-in-page-nav.entry.js +1 -1
- package/dist/nano-components/nano-increment.entry.js +1 -1
- package/dist/nano-components/nano-intersection-observe.entry.js +1 -1
- package/dist/nano-components/nano-masked-overflow.entry.js +1 -1
- package/dist/nano-components/nano-menu-drawer.entry.js +1 -1
- package/dist/nano-components/nano-more-less.entry.js +1 -1
- package/dist/nano-components/nano-nav-item.entry.js +1 -1
- package/dist/nano-components/nano-range.entry.js +1 -1
- package/dist/nano-components/nano-rating.entry.js +1 -1
- package/dist/nano-components/nano-resize-observe.entry.js +1 -1
- package/dist/nano-components/nano-slide.entry.js +1 -1
- package/dist/nano-components/{nano-slides-Cumys6rw.js → nano-slides-GrbOydfa.js} +4 -4
- package/dist/nano-components/nano-slides.entry.js +1 -1
- package/dist/nano-components/nano-sortable.entry.js +1 -1
- package/dist/nano-components/nano-split-pane.entry.js +1 -1
- package/dist/nano-components/nano-step-accordion.entry.js +1 -1
- package/dist/nano-components/nano-step-breadcrumb.entry.js +1 -1
- package/dist/nano-components/nano-sticker.entry.js +1 -1
- package/dist/nano-components/nano-tab-content.entry.js +1 -1
- package/dist/nano-components/nano-tab-group.entry.js +1 -1
- package/dist/nano-components/nano-tab.entry.js +1 -1
- package/dist/nano-components/nano-table.entry.js +1 -1
- package/dist/nano-components/{page-dots-Czwlqg1b.js → page-dots-CSf81OuJ.js} +1 -1
- package/dist/nano-components/renderer-DasB4P10.js +4 -0
- package/dist/nano-components/table.worker-Dxl1vTb_.js +4 -0
- package/dist/types/components/collapsible-comparison/collapsible-comparison.d.ts +9 -0
- package/dist/types/components.d.ts +20 -0
- package/docs-json.json +61 -3
- package/docs-vscode.json +8 -0
- package/hydrate/index.js +15 -2
- package/hydrate/index.mjs +15 -2
- package/package.json +2 -2
- package/dist/nano-components/lazyload-DZWueTsT.js +0 -4
- package/dist/nano-components/renderer-BaP2L8CT.js +0 -4
- package/dist/nano-components/table.worker-DJks4i_l.js +0 -4
- /package/dist/types/builds/{-v_1b6Vq → FKs_t1C_}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/generate-vue-component.d.ts +0 -0
- /package/dist/types/builds/{-v_1b6Vq → FKs_t1C_}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/index.d.ts +0 -0
- /package/dist/types/builds/{-v_1b6Vq → FKs_t1C_}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/output-vue.d.ts +0 -0
- /package/dist/types/builds/{-v_1b6Vq → FKs_t1C_}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/plugin.d.ts +0 -0
- /package/dist/types/builds/{-v_1b6Vq → FKs_t1C_}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/types.d.ts +0 -0
- /package/dist/types/builds/{-v_1b6Vq → FKs_t1C_}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/utils.d.ts +0 -0
- /package/dist/types/builds/{-v_1b6Vq → FKs_t1C_}/0/Digital/nano-components/packages/components/.stencil/stencil.config.d.ts +0 -0
- /package/dist/types/builds/{-v_1b6Vq → FKs_t1C_}/0/Digital/nano-components/packages/components/.stencil/stencil.config.prod.d.ts +0 -0
- /package/dist/types/builds/{-v_1b6Vq → FKs_t1C_}/0/Digital/nano-components/packages/components/.stencil/testing/mocks/intersection-observer.d.ts +0 -0
- /package/dist/types/builds/{-v_1b6Vq → FKs_t1C_}/0/Digital/nano-components/packages/components/.stencil/wdio.conf.d.ts +0 -0
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* Custom elements for Nanopore-Digital Web applications
|
3
3
|
*/
|
4
|
-
import{g as t,r as i,c as e,d as n,a as o}from"./index-BM3Om9WE.js";import{t as s,h as a}from"./renderer-BaP2L8CT.js";import{g as r}from"./active-element-CKJIkX0R.js";import{d as h}from"./throttle-C93FMm2Z.js";import{g as d}from"./dom-dlicJTEJ.js";let l=0;const c=class{isNanoInput=!1;typeToSelect="";typeToSelectTimeout;nanoDropdown;listBox;mo;listId="nano-datalist-"+l++;isFiltered=!1;shouldFocus=!1;get allOptEles(){return this._allOptEles}set allOptEles(t){this._allOptEles=t,this.connectedInput?.value||t.forEach((t=>{t.selected&&!this.selected.includes(t.value)&&this.changeInputValue(t)}))}_allOptEles=[];get host(){return t(this)}actvOptEles=[];connectedInput;inputLabel;hasNoResult;shouldOpen;canOpen=!0;optionIds=[];constructor(t){i(this,t),this.nanoSelect=e(this,"nanoSelect",7),this.nanoDeselect=e(this,"nanoDeselect",7),this.nanoOptionsUpdated=e(this,"nanoOptionsUpdated",7),this.inputChange=h(this.inputChange.bind(this),50)}selected=[];get dropDownConfig(){return this._dropDownConfig}set dropDownConfig(t){this._dropDownConfig={...this._dropDownConfig,...t}}_dropDownConfig={skidding:-1};options=[];input;type="input";get activeOptions(){return this.allOptEles}open=!1;openWatcher(){n((()=>{if(this.open&&this.nanoDropdown.tetherTo){const{height:t,top:i}=this.nanoDropdown.tetherTo.getBoundingClientRect();this.nanoDropdown.style.setProperty("--max-height",`max(${window.innerHeight-(t+i+40)}px, 48vw)`)}this.nanoDropdown.open=this.open,this.connectedInput&&this.connectedInput.setAttribute("aria-expanded",this.open.toString())}))}disableFilter=!1;disabled=!1;async watchInputChange(){let t;(t=this.host.closest(s("nano-input")))?(this.isNanoInput=!0,this.connectedInput=await t.getInputElement()):this.input&&"string"==typeof this.input&&(t=document.querySelector(this.input))?(this.isNanoInput=!1,this.connectedInput=t):"object"==typeof this.input&&(this.connectedInput=this.input)}handleOptionsChange(){if(this.host)if(d(this.host,":not(nano-nav-item):not(nano-option):not([role])",!0).forEach((t=>t.setAttribute("role","none"))),this.options&&this.options.length||this.mo){if(this.options?.length){this.mo&&(this.mo.disconnect(),this.mo=void 0);const t=this.host.querySelectorAll(s("nano-option"));n((()=>{t?.length&&t.forEach((t=>t.remove())),this.allOptEles=this.options.flatMap(((t,i)=>{if(t.value||t.label){const e=Object.assign(document.createElement(s("nano-option")),{label:t.label,value:t.value,ariaPosinset:i,ariaSetsize:this.options.length,selected:t.selected,id:this.listId+"-option-"+i,textContent:t.label?t.label:t.value,slot:"internal-opts"});return this.host.append(e),e}})),this.connectedInput?.value.length&&"select"!==this.type?this.inputChange():this.actvOptEles=[...this.allOptEles]}))}}else(this.mo=new MutationObserver((()=>this.processSlottedContent()))).observe(this.host,{childList:!0,subtree:!0}),this.processSlottedContent()}watchTypeChange(){if(!this.connectedInput||this.disabled)return;let t={closeOnSelect:!1},i="both",e=!1;switch(this.type){case"input":t={closeOnSelect:!0};break;case"select":i="list",e=!0,t={closeOnSelect:!0}}this.isNanoInput||(t.tetherTo=this.connectedInput),this.dropDownConfig={...this.dropDownConfig,...t},this.connectedInput.setAttribute("aria-autocomplete",i),this.connectedInput.readOnly=e}manageInputEvents(t,i){if(i){const t=i.closest(s("nano-input"));t&&t.removeEventListener("nanoChange",this.inputChange),this.removeEventListeners(i),this.inputLabel=null,n((()=>{i.removeAttribute("role"),i.removeAttribute("aria-expanded"),i.removeAttribute("aria-controls"),i.removeAttribute("aria-owns"),i.removeAttribute("aria-haspopup"),i.removeAttribute("aria-autocomplete"),i.removeAttribute("autocomplete")}))}if(t){const i=t.closest(s("nano-input"));i&&i.addEventListener("nanoChange",this.inputChange),t.addEventListener("change",this.inputChange),t.addEventListener("click",this.inputClick),t.addEventListener("keydown",this.inputKeydown),t.addEventListener("input",this.inputChange),this.listId=this.host.id||this.listId,this.inputLabel=t?.labels?.item(0)||function(t){let i;return t.id&&(i=document.querySelector(`label[for='${t.id}']`)),i||(i=t.closest("label")),i}(t),n((()=>{this.host.id=this.listId,t.setAttribute("role","combobox"),t.setAttribute("aria-expanded","false"),t.setAttribute("aria-controls",this.listId),t.setAttribute("aria-owns",this.listId),t.setAttribute("aria-haspopup","listbox"),t.setAttribute("autocomplete","off")}))}}watchActvOptChange(){let t=0;const i=this.connectedInput?.value||"",e=[];n((()=>{this.allOptEles.forEach(((n,o)=>{this.actvOptEles.includes(n)?(t++,n.setAttribute("aria-posinset",t+""),n.setAttribute("aria-setsize",this.actvOptEles.length+""),n.hidden=!1,this.isSelected(n,i)):(n.removeAttribute("aria-posinset"),n.removeAttribute("aria-setsize"),n.hidden=!0,n.selected=!1),n.id=this.listId+"-option-"+o,e.push(n.id)})),this.optionIds=e}))}manageCanOpen(){this.canOpen=!(!this.actvOptEles.length&&!this.hasNoResult)}manageDropdownDisplay(){this.shouldOpen&&this.canOpen&&!this.disabled&&(this.open=!0),this.shouldOpen&&this.canOpen||(this.open=!1),this.openWatcher()}fireActiveOptsEvent(){this.nanoOptionsUpdated.emit(this.actvOptEles)}nanoSelect;nanoDeselect;nanoOptionsUpdated;isSelected(t,i){t&&(t.selected=!(i!==t.value&&!this.selected.includes(t.value)))}get dropwdownOpen(){return!(!this.nanoDropdown||!this.open)}get exactMatch(){return this.allOptEles.find((t=>this.connectedInput.value===t.value))}changeInputValue(t){let i;if(this.selected.includes(t.value)?(this.selected=this.selected.filter((i=>i!==t.value)),i=this.nanoDeselect.emit(t)):(this.selected=[...this.selected],i=this.nanoSelect.emit(t)),!i.defaultPrevented){this.connectedInput&&(this.connectedInput.value=t.value);const i=new window.Event("change");this.connectedInput?.dispatchEvent(i)}}optSelected=t=>{t.stopPropagation(),this.changeInputValue(t.detail),requestAnimationFrame((()=>this.inputChange())),"selectMulti"!==this.type&&(this.shouldOpen=!1)};setOptStartsWith(){const t=t=>t.toLowerCase().substring(0,this.typeToSelect.length)===this.typeToSelect,i=this.allOptEles.find((i=>i.value.trim().length>0&&!i.disabled&&(t(i.textContent)||t(i.value)||t(i.label)||t(i.filterMeta))));i&&this.changeInputValue(i)}removeEventListeners(t){const i=t.closest(s("nano-input"));i&&i.removeEventListener("nanoChange",this.inputChange),t.removeEventListener("change",this.inputChange),t.removeEventListener("click",this.inputClick),t.removeEventListener("keydown",this.inputKeydown),t.removeEventListener("input",this.inputChange)}processSlottedContent(){requestAnimationFrame((()=>{this.allOptEles=Array.from(this.host.querySelectorAll(s("nano-option"))),this.hasNoResult=!!this.host.querySelector('[slot="no-result"]'),this.connectedInput?.value.length&&"select"!==this.type?this.inputChange():this.actvOptEles=this.allOptEles}))}handleShow=async()=>{this.shouldFocus?(this.shouldFocus=!1,this.listBox.setFocus()):"select"===this.type&&this.listBox.showActiveElement()};handleHide=()=>{this.open=!1,r().closest(this.host.tagName.toLowerCase())&&this.connectedInput.select()};inputChange(){if(!this.connectedInput)return;if(this.disableFilter)return void(this.actvOptEles=this.allOptEles);const t=this.connectedInput?.value,i=t.trim().toLowerCase();let e=!1;const n=[],o=t=>t.toLowerCase().indexOf(i)>-1;this.allOptEles.forEach((i=>{t!==i.value&&t!==i.label||"selectMulti"===this.type?this.isSelected(i,t):(i.selected=!0,e=!0)})),this.allOptEles.forEach((t=>{(!i.length||e||t.value.trim().length>0&&!t.disabled&&(o(t.textContent)||o(t.value)||o(t.label)||o(t.filterMeta)))&&n.push(t)})),this.isFiltered=i.length&&!e,this.actvOptEles=n}inputClick=()=>{this.open||(this.shouldOpen=!0,this.manageDropdownDisplay())};inputKeydown=t=>{["Shift","ArrowRight","ArrowLeft","Escape","Tab"].includes(t.key)?"Tab"===t.key&&(this.shouldOpen=!1):"select"!==this.type||["ArrowDown","ArrowUp","Enter"].includes(t.key)||" "===t.key&&!this.typeToSelectTimeout?this.open&&["ArrowDown","ArrowUp"].includes(t.key)?this.listBox.setFocus():(this.shouldOpen=!0,this.manageDropdownDisplay(),["ArrowDown","ArrowUp","Enter"].includes(t.key)&&(t.preventDefault(),this.shouldFocus=!0)):(" "===t.key||/^[a-zA0-9]+$/i.test(t.key))&&(clearTimeout(this.typeToSelectTimeout),this.typeToSelectTimeout=window.setTimeout((()=>{this.typeToSelect="",this.typeToSelectTimeout=0}),750),this.typeToSelect+=t.key,this.setOptStartsWith())};optionKeyDown=t=>{["Shift","ArrowUp","ArrowDown","Escape","Enter","Tab","Space","PageUp","PageDown","Home","End"," "].includes(t.key)?"Escape"===t.key&&this.connectedInput.focus():"select"===this.type||this.exactMatch&&!["Delete","Backspace"].includes(t.key)||this.connectedInput.focus()};connectedCallback(){this.watchInputChange()}componentDidLoad(){this.handleOptionsChange(),this.openWatcher()}componentDidRender(){setTimeout((()=>{!this.connectedInput&&this.host.isConnected&&console.warn("no `nano-input` found. `nano-datalist` should be nested within an `nano-input` or linked via `input` prop",this.host)}),500)}disconnectedCallback(){this.mo&&(this.mo.disconnect(),this.mo=void 0),this.connectedInput&&(this.connectedInput=void 0)}render(){return a(o,{key:"6648095e87e86086dd4beb0bea663c077becb0a9",class:"nano-datalist",role:this.actvOptEles.length?"listbox":void 0,"aria-owns":this.optionIds.length?this.optionIds.join(" "):void 0,"aria-label":this.optionIds.length?"Select options from the list below":void 0},a("nano-dropdown",{key:"882d3706051e93738b2b52fb4d4024aeeb3ef295",part:"dropdown",exportparts:"trigger:dropdown__trigger, panel:dropdown__panel",...this.dropDownConfig,ref:t=>this.nanoDropdown=t,dialogTitle:"Select options from the list below",class:{dlist__dropdown:!0,"dlist--isfiltered":this.isFiltered},onNanoAfterShow:this.handleShow,onNanoAfterHide:this.handleHide,role:"group"},a("nano-menu",{key:"ccda08c9da20ea0cbb6944a170929c2c5ef36b70",part:"main-menu",ref:t=>this.listBox=t,hidden:!this.actvOptEles.length,type:"listbox",label:this.inputLabel?this.inputLabel.textContent:void 0,class:{dlist__menu:!0,"dlist__menu--open":this.dropwdownOpen},tabIndex:-1,onNanoSelect:this.optSelected,onKeyDown:this.optionKeyDown},a("slot",{key:"0db7a9e551be91837cd7dfa148057702db76f1db",name:"list-top"}),a("slot",{key:"b55088fc93ac7cfb24eee33ffe720de3e401daf5"}),a("slot",{key:"28eeaf664c8f2f78adf9716ab952071659c02fb6",name:"internal-opts"}),a("slot",{key:"be42f12bb5027f2b8664ab9d275014b6ea37d702",name:"list-bottom"})),a("nano-menu",{key:"28ec7183890b5d266081a7a75179552261ab4401",part:"no-result-menu",type:"listbox",label:"No results found",hidden:!!this.actvOptEles.length,class:{dlist__menu:!0,"dlist__menu--open":this.dropwdownOpen}},a("slot",{key:"57a5d980992d0eac7a505f3dae5c8d57fb8d38d8",name:"no-result"})),!!this.actvOptEles&&a("div",{key:"5b2e2489fb2ed53011f465b56defe279a55af455",class:"dlist__status"},this.actvOptEles.length," result",this.actvOptEles.length>1?"s":""," available.")))}static get watchers(){return{open:["openWatcher"],input:["watchInputChange"],options:["handleOptionsChange"],type:["watchTypeChange"],connectedInput:["watchTypeChange","manageInputEvents"],disabled:["watchTypeChange"],selected:["watchActvOptChange"],actvOptEles:["watchActvOptChange","manageCanOpen","fireActiveOptsEvent"],hasNoResult:["manageCanOpen"],shouldOpen:["manageDropdownDisplay"],canOpen:["manageDropdownDisplay"]}}};c.style=":host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host{--padding-top:8px;--padding-bottom:8px;--padding-start:var(--nano-spacing-l);--padding-end:var(--nano-spacing-l);--font-size:var(--nano-font-size-2xs);--color:var(--nano-color-neutral-1000);color:var(--color)}.dlist--isfiltered ::slotted(*:not(.nano-option,[slot=no-result],[slot=list-top],[slot=list-bottom])){display:none !important}.dlist__dropdown{--min-width:100%;--overflow:auto;--padding:var(--nano-spacing-sm) 0;display:inline}.dlist__status{clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}.dlist__menu{--padding-top:inherit;--padding-bottom:inherit;--padding-start:inherit;--padding-end:inherit;--font-size:inherit;--padding:var(--nano-spacing-sm) var(--nano-spacing-l)}";let p=0;const b=class{optId="nano-option-"+p++;get host(){return t(this)}constructor(t){i(this,t),this.nanoSelect=e(this,"nanoSelect",7),this.handleClick=h(this.handleClick.bind(this),5)}value="";valueChanged(){this.value&&this.value.length||this.label||(this.value=this.labelContent)}label="";labelChanged(){this.label&&this.label.length||(this.label=this.labelContent.length?this.labelContent:this.value)}selected=!1;disabled=!1;filterMeta="";href;nanoSelect;handleKeyDown(t){this.disabled||this.href||("Enter"===t.key&&this.nanoSelect.emit(this.host)," "===t.key&&t.preventDefault())}handleClick(){this.disabled||this.href||this.nanoSelect.emit(this.host)}get labelContent(){return d(this.host,"*:not([slot])",!1).map((t=>t.textContent)).join(" ").trim()}componentWillLoad(){this.valueChanged(),this.labelChanged()}render(){return a(o,{key:"193c0fa2c765f3bed98dd18261c615c3171c97d4",role:"option","aria-selected":this.selected?"true":"false","aria-disabled":this.disabled?"true":"false",class:"nano-option"},a(this.href?"a":"div",{key:"0a6c64fbec219970a4bd7d28e177176cf36b9d27",href:this.href||void 0,onMouseDown:this.handleClick,id:this.optId,class:{option:!0,"option--selected":this.selected,"option--disabled":this.disabled,"option--novalue":!this.value}},a("div",{key:"6e6aceb3acd0b854562b0de41b905b013f5ea71c",part:"check-icon",class:"option__check"},a("slot",{key:"82770c1ddc501f2d8dde42c14827fd596fd30172",name:"check-icon"},a("nano-icon",{key:"a25365aa49a3694fa1c956f5645e48fe904c4e19",name:"light/check","aria-hidden":"true"}))),a("div",{key:"9f3c3d2ed11af90a0bfa658849fbc8b12545c7c6",part:"start",class:"option__start"},a("slot",{key:"194a2647aeaeeac8d8268e1386dba7feabb16d40",name:"start"})),a("div",{key:"4eb3a838d9510432b5614e0de0e958b45d132cc5",part:"label",class:"option__label"},a("slot",{key:"6db178c30cd08c9a15ed6c5996d263da86d28285"},this.label||this.value)),a("div",{key:"aac32437be089e438b419545d2659778de1119f2",part:"end",class:"option__end"},a("slot",{key:"c108eff1c579522f4ead3e2fc157930bc329ceb2",name:"end"}))))}static get watchers(){return{value:["valueChanged"],label:["labelChanged"]}}};b.style=":host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host{--bg:none;--bg-selected:none;--bg-focus:var(--nano-color-blue-cerulean-1000);--bg-disabled:none;--color:var(--nano-color-base-1000);--color-selected:var(--nano-color-base-1000);--color-focus:var(--nano-color-base-0);--color-disabled:var(--nano-color-neutral-400);--opt-icon-size:1em;--padding-start:var(--nano-spacing-sm);--padding-end:var(--nano-spacing-md);--padding-bottom:6px;--padding-top:6px;display:block;color:var(--color);overflow:hidden;font-size:var(--nano-font-size-xs)}:host(:focus){outline:none}.option{color:inherit;text-decoration:none;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;display:flex;align-items:stretch;inline-size:100%;background:var(--bg);padding-inline:var(--padding-start) var(--padding-end);padding-block:var(--padding-top) var(--padding-bottom)}:host(:focus) .option:not(.option--disabled),:host .option.option--selected{outline:none;background:var(--bg-selected);color:var(--color-selected)}:host(:focus) .option:not(.option--disabled){background:var(--bg-focus);color:var(--color-focus)}.option.option--disabled{outline:none;color:var(--color-disabled);cursor:not-allowed;background:var(--bg-disabled)}.option.option--novalue{font-style:italic;opacity:0.7}.option__label{flex:1 1 auto;display:flex;align-items:center}.option__start{flex:0 0 auto;display:flex;align-items:center}.option__start ::slotted(.nano-icon){font-size:var(--opt-icon-size);margin-inline-end:var(--padding-end)}.option__end{flex:0 0 auto;display:flex;align-items:center}.option__end ::slotted(.nano-icon){font-size:var(--opt-icon-size)}.option__end ::slotted(:first-child){margin-inline-start:var(--padding-start)}.option__check{visibility:hidden;display:flex;margin-inline-end:var(--padding-start);align-items:center;font-size:var(--nano-font-size-2xs);inline-size:var(--nano-font-size-2xs)}.option--selected:not(.option--novalue) .option__check{visibility:visible}";const u=class{constructor(t){i(this,t),this.nanoClose=e(this,"nanoClose",7)}closable=!1;size="regular";get el(){return t(this)}nanoClose;onKeyDown=t=>{switch(t.key){case"Enter":case" ":t.preventDefault(),this.close()}};handleClick=()=>{this.close()};close(){this.nanoClose.emit()}containsAnchor=()=>!!this.el.querySelector("a");render(){return this.closable&&!this.containsAnchor()?[a("slot",null),a("nano-icon-button",{label:"Close","icon-name":"light/xmark-large",onKeyDown:this.onKeyDown,onClick:this.handleClick})]:a("slot",null)}};u.style=":host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}";export{c as nano_datalist,b as nano_option,u as nano_tag}
|
4
|
+
import{g as t,r as i,c as e,d as n,a as o}from"./index-BM3Om9WE.js";import{t as s,h as a}from"./renderer-DasB4P10.js";import{g as r}from"./active-element-CKJIkX0R.js";import{d as h}from"./throttle-C93FMm2Z.js";import{g as d}from"./dom-dlicJTEJ.js";let l=0;const c=class{isNanoInput=!1;typeToSelect="";typeToSelectTimeout;nanoDropdown;listBox;mo;listId="nano-datalist-"+l++;isFiltered=!1;shouldFocus=!1;get allOptEles(){return this._allOptEles}set allOptEles(t){this._allOptEles=t,this.connectedInput?.value||t.forEach((t=>{t.selected&&!this.selected.includes(t.value)&&this.changeInputValue(t)}))}_allOptEles=[];get host(){return t(this)}actvOptEles=[];connectedInput;inputLabel;hasNoResult;shouldOpen;canOpen=!0;optionIds=[];constructor(t){i(this,t),this.nanoSelect=e(this,"nanoSelect",7),this.nanoDeselect=e(this,"nanoDeselect",7),this.nanoOptionsUpdated=e(this,"nanoOptionsUpdated",7),this.inputChange=h(this.inputChange.bind(this),50)}selected=[];get dropDownConfig(){return this._dropDownConfig}set dropDownConfig(t){this._dropDownConfig={...this._dropDownConfig,...t}}_dropDownConfig={skidding:-1};options=[];input;type="input";get activeOptions(){return this.allOptEles}open=!1;openWatcher(){n((()=>{if(this.open&&this.nanoDropdown.tetherTo){const{height:t,top:i}=this.nanoDropdown.tetherTo.getBoundingClientRect();this.nanoDropdown.style.setProperty("--max-height",`max(${window.innerHeight-(t+i+40)}px, 48vw)`)}this.nanoDropdown.open=this.open,this.connectedInput&&this.connectedInput.setAttribute("aria-expanded",this.open.toString())}))}disableFilter=!1;disabled=!1;async watchInputChange(){let t;(t=this.host.closest(s("nano-input")))?(this.isNanoInput=!0,this.connectedInput=await t.getInputElement()):this.input&&"string"==typeof this.input&&(t=document.querySelector(this.input))?(this.isNanoInput=!1,this.connectedInput=t):"object"==typeof this.input&&(this.connectedInput=this.input)}handleOptionsChange(){if(this.host)if(d(this.host,":not(nano-nav-item):not(nano-option):not([role])",!0).forEach((t=>t.setAttribute("role","none"))),this.options&&this.options.length||this.mo){if(this.options?.length){this.mo&&(this.mo.disconnect(),this.mo=void 0);const t=this.host.querySelectorAll(s("nano-option"));n((()=>{t?.length&&t.forEach((t=>t.remove())),this.allOptEles=this.options.flatMap(((t,i)=>{if(t.value||t.label){const e=Object.assign(document.createElement(s("nano-option")),{label:t.label,value:t.value,ariaPosinset:i,ariaSetsize:this.options.length,selected:t.selected,id:this.listId+"-option-"+i,textContent:t.label?t.label:t.value,slot:"internal-opts"});return this.host.append(e),e}})),this.connectedInput?.value.length&&"select"!==this.type?this.inputChange():this.actvOptEles=[...this.allOptEles]}))}}else(this.mo=new MutationObserver((()=>this.processSlottedContent()))).observe(this.host,{childList:!0,subtree:!0}),this.processSlottedContent()}watchTypeChange(){if(!this.connectedInput||this.disabled)return;let t={closeOnSelect:!1},i="both",e=!1;switch(this.type){case"input":t={closeOnSelect:!0};break;case"select":i="list",e=!0,t={closeOnSelect:!0}}this.isNanoInput||(t.tetherTo=this.connectedInput),this.dropDownConfig={...this.dropDownConfig,...t},this.connectedInput.setAttribute("aria-autocomplete",i),this.connectedInput.readOnly=e}manageInputEvents(t,i){if(i){const t=i.closest(s("nano-input"));t&&t.removeEventListener("nanoChange",this.inputChange),this.removeEventListeners(i),this.inputLabel=null,n((()=>{i.removeAttribute("role"),i.removeAttribute("aria-expanded"),i.removeAttribute("aria-controls"),i.removeAttribute("aria-owns"),i.removeAttribute("aria-haspopup"),i.removeAttribute("aria-autocomplete"),i.removeAttribute("autocomplete")}))}if(t){const i=t.closest(s("nano-input"));i&&i.addEventListener("nanoChange",this.inputChange),t.addEventListener("change",this.inputChange),t.addEventListener("click",this.inputClick),t.addEventListener("keydown",this.inputKeydown),t.addEventListener("input",this.inputChange),this.listId=this.host.id||this.listId,this.inputLabel=t?.labels?.item(0)||function(t){let i;return t.id&&(i=document.querySelector(`label[for='${t.id}']`)),i||(i=t.closest("label")),i}(t),n((()=>{this.host.id=this.listId,t.setAttribute("role","combobox"),t.setAttribute("aria-expanded","false"),t.setAttribute("aria-controls",this.listId),t.setAttribute("aria-owns",this.listId),t.setAttribute("aria-haspopup","listbox"),t.setAttribute("autocomplete","off")}))}}watchActvOptChange(){let t=0;const i=this.connectedInput?.value||"",e=[];n((()=>{this.allOptEles.forEach(((n,o)=>{this.actvOptEles.includes(n)?(t++,n.setAttribute("aria-posinset",t+""),n.setAttribute("aria-setsize",this.actvOptEles.length+""),n.hidden=!1,this.isSelected(n,i)):(n.removeAttribute("aria-posinset"),n.removeAttribute("aria-setsize"),n.hidden=!0,n.selected=!1),n.id=this.listId+"-option-"+o,e.push(n.id)})),this.optionIds=e}))}manageCanOpen(){this.canOpen=!(!this.actvOptEles.length&&!this.hasNoResult)}manageDropdownDisplay(){this.shouldOpen&&this.canOpen&&!this.disabled&&(this.open=!0),this.shouldOpen&&this.canOpen||(this.open=!1),this.openWatcher()}fireActiveOptsEvent(){this.nanoOptionsUpdated.emit(this.actvOptEles)}nanoSelect;nanoDeselect;nanoOptionsUpdated;isSelected(t,i){t&&(t.selected=!(i!==t.value&&!this.selected.includes(t.value)))}get dropwdownOpen(){return!(!this.nanoDropdown||!this.open)}get exactMatch(){return this.allOptEles.find((t=>this.connectedInput.value===t.value))}changeInputValue(t){let i;if(this.selected.includes(t.value)?(this.selected=this.selected.filter((i=>i!==t.value)),i=this.nanoDeselect.emit(t)):(this.selected=[...this.selected],i=this.nanoSelect.emit(t)),!i.defaultPrevented){this.connectedInput&&(this.connectedInput.value=t.value);const i=new window.Event("change");this.connectedInput?.dispatchEvent(i)}}optSelected=t=>{t.stopPropagation(),this.changeInputValue(t.detail),requestAnimationFrame((()=>this.inputChange())),"selectMulti"!==this.type&&(this.shouldOpen=!1)};setOptStartsWith(){const t=t=>t.toLowerCase().substring(0,this.typeToSelect.length)===this.typeToSelect,i=this.allOptEles.find((i=>i.value.trim().length>0&&!i.disabled&&(t(i.textContent)||t(i.value)||t(i.label)||t(i.filterMeta))));i&&this.changeInputValue(i)}removeEventListeners(t){const i=t.closest(s("nano-input"));i&&i.removeEventListener("nanoChange",this.inputChange),t.removeEventListener("change",this.inputChange),t.removeEventListener("click",this.inputClick),t.removeEventListener("keydown",this.inputKeydown),t.removeEventListener("input",this.inputChange)}processSlottedContent(){requestAnimationFrame((()=>{this.allOptEles=Array.from(this.host.querySelectorAll(s("nano-option"))),this.hasNoResult=!!this.host.querySelector('[slot="no-result"]'),this.connectedInput?.value.length&&"select"!==this.type?this.inputChange():this.actvOptEles=this.allOptEles}))}handleShow=async()=>{this.shouldFocus?(this.shouldFocus=!1,this.listBox.setFocus()):"select"===this.type&&this.listBox.showActiveElement()};handleHide=()=>{this.open=!1,r().closest(this.host.tagName.toLowerCase())&&this.connectedInput.select()};inputChange(){if(!this.connectedInput)return;if(this.disableFilter)return void(this.actvOptEles=this.allOptEles);const t=this.connectedInput?.value,i=t.trim().toLowerCase();let e=!1;const n=[],o=t=>t.toLowerCase().indexOf(i)>-1;this.allOptEles.forEach((i=>{t!==i.value&&t!==i.label||"selectMulti"===this.type?this.isSelected(i,t):(i.selected=!0,e=!0)})),this.allOptEles.forEach((t=>{(!i.length||e||t.value.trim().length>0&&!t.disabled&&(o(t.textContent)||o(t.value)||o(t.label)||o(t.filterMeta)))&&n.push(t)})),this.isFiltered=i.length&&!e,this.actvOptEles=n}inputClick=()=>{this.open||(this.shouldOpen=!0,this.manageDropdownDisplay())};inputKeydown=t=>{["Shift","ArrowRight","ArrowLeft","Escape","Tab"].includes(t.key)?"Tab"===t.key&&(this.shouldOpen=!1):"select"!==this.type||["ArrowDown","ArrowUp","Enter"].includes(t.key)||" "===t.key&&!this.typeToSelectTimeout?this.open&&["ArrowDown","ArrowUp"].includes(t.key)?this.listBox.setFocus():(this.shouldOpen=!0,this.manageDropdownDisplay(),["ArrowDown","ArrowUp","Enter"].includes(t.key)&&(t.preventDefault(),this.shouldFocus=!0)):(" "===t.key||/^[a-zA0-9]+$/i.test(t.key))&&(clearTimeout(this.typeToSelectTimeout),this.typeToSelectTimeout=window.setTimeout((()=>{this.typeToSelect="",this.typeToSelectTimeout=0}),750),this.typeToSelect+=t.key,this.setOptStartsWith())};optionKeyDown=t=>{["Shift","ArrowUp","ArrowDown","Escape","Enter","Tab","Space","PageUp","PageDown","Home","End"," "].includes(t.key)?"Escape"===t.key&&this.connectedInput.focus():"select"===this.type||this.exactMatch&&!["Delete","Backspace"].includes(t.key)||this.connectedInput.focus()};connectedCallback(){this.watchInputChange()}componentDidLoad(){this.handleOptionsChange(),this.openWatcher()}componentDidRender(){setTimeout((()=>{!this.connectedInput&&this.host.isConnected&&console.warn("no `nano-input` found. `nano-datalist` should be nested within an `nano-input` or linked via `input` prop",this.host)}),500)}disconnectedCallback(){this.mo&&(this.mo.disconnect(),this.mo=void 0),this.connectedInput&&(this.connectedInput=void 0)}render(){return a(o,{key:"6648095e87e86086dd4beb0bea663c077becb0a9",class:"nano-datalist",role:this.actvOptEles.length?"listbox":void 0,"aria-owns":this.optionIds.length?this.optionIds.join(" "):void 0,"aria-label":this.optionIds.length?"Select options from the list below":void 0},a("nano-dropdown",{key:"882d3706051e93738b2b52fb4d4024aeeb3ef295",part:"dropdown",exportparts:"trigger:dropdown__trigger, panel:dropdown__panel",...this.dropDownConfig,ref:t=>this.nanoDropdown=t,dialogTitle:"Select options from the list below",class:{dlist__dropdown:!0,"dlist--isfiltered":this.isFiltered},onNanoAfterShow:this.handleShow,onNanoAfterHide:this.handleHide,role:"group"},a("nano-menu",{key:"ccda08c9da20ea0cbb6944a170929c2c5ef36b70",part:"main-menu",ref:t=>this.listBox=t,hidden:!this.actvOptEles.length,type:"listbox",label:this.inputLabel?this.inputLabel.textContent:void 0,class:{dlist__menu:!0,"dlist__menu--open":this.dropwdownOpen},tabIndex:-1,onNanoSelect:this.optSelected,onKeyDown:this.optionKeyDown},a("slot",{key:"0db7a9e551be91837cd7dfa148057702db76f1db",name:"list-top"}),a("slot",{key:"b55088fc93ac7cfb24eee33ffe720de3e401daf5"}),a("slot",{key:"28eeaf664c8f2f78adf9716ab952071659c02fb6",name:"internal-opts"}),a("slot",{key:"be42f12bb5027f2b8664ab9d275014b6ea37d702",name:"list-bottom"})),a("nano-menu",{key:"28ec7183890b5d266081a7a75179552261ab4401",part:"no-result-menu",type:"listbox",label:"No results found",hidden:!!this.actvOptEles.length,class:{dlist__menu:!0,"dlist__menu--open":this.dropwdownOpen}},a("slot",{key:"57a5d980992d0eac7a505f3dae5c8d57fb8d38d8",name:"no-result"})),!!this.actvOptEles&&a("div",{key:"5b2e2489fb2ed53011f465b56defe279a55af455",class:"dlist__status"},this.actvOptEles.length," result",this.actvOptEles.length>1?"s":""," available.")))}static get watchers(){return{open:["openWatcher"],input:["watchInputChange"],options:["handleOptionsChange"],type:["watchTypeChange"],connectedInput:["watchTypeChange","manageInputEvents"],disabled:["watchTypeChange"],selected:["watchActvOptChange"],actvOptEles:["watchActvOptChange","manageCanOpen","fireActiveOptsEvent"],hasNoResult:["manageCanOpen"],shouldOpen:["manageDropdownDisplay"],canOpen:["manageDropdownDisplay"]}}};c.style=":host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host{--padding-top:8px;--padding-bottom:8px;--padding-start:var(--nano-spacing-l);--padding-end:var(--nano-spacing-l);--font-size:var(--nano-font-size-2xs);--color:var(--nano-color-neutral-1000);color:var(--color)}.dlist--isfiltered ::slotted(*:not(.nano-option,[slot=no-result],[slot=list-top],[slot=list-bottom])){display:none !important}.dlist__dropdown{--min-width:100%;--overflow:auto;--padding:var(--nano-spacing-sm) 0;display:inline}.dlist__status{clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}.dlist__menu{--padding-top:inherit;--padding-bottom:inherit;--padding-start:inherit;--padding-end:inherit;--font-size:inherit;--padding:var(--nano-spacing-sm) var(--nano-spacing-l)}";let p=0;const b=class{optId="nano-option-"+p++;get host(){return t(this)}constructor(t){i(this,t),this.nanoSelect=e(this,"nanoSelect",7),this.handleClick=h(this.handleClick.bind(this),5)}value="";valueChanged(){this.value&&this.value.length||this.label||(this.value=this.labelContent)}label="";labelChanged(){this.label&&this.label.length||(this.label=this.labelContent.length?this.labelContent:this.value)}selected=!1;disabled=!1;filterMeta="";href;nanoSelect;handleKeyDown(t){this.disabled||this.href||("Enter"===t.key&&this.nanoSelect.emit(this.host)," "===t.key&&t.preventDefault())}handleClick(){this.disabled||this.href||this.nanoSelect.emit(this.host)}get labelContent(){return d(this.host,"*:not([slot])",!1).map((t=>t.textContent)).join(" ").trim()}componentWillLoad(){this.valueChanged(),this.labelChanged()}render(){return a(o,{key:"193c0fa2c765f3bed98dd18261c615c3171c97d4",role:"option","aria-selected":this.selected?"true":"false","aria-disabled":this.disabled?"true":"false",class:"nano-option"},a(this.href?"a":"div",{key:"0a6c64fbec219970a4bd7d28e177176cf36b9d27",href:this.href||void 0,onMouseDown:this.handleClick,id:this.optId,class:{option:!0,"option--selected":this.selected,"option--disabled":this.disabled,"option--novalue":!this.value}},a("div",{key:"6e6aceb3acd0b854562b0de41b905b013f5ea71c",part:"check-icon",class:"option__check"},a("slot",{key:"82770c1ddc501f2d8dde42c14827fd596fd30172",name:"check-icon"},a("nano-icon",{key:"a25365aa49a3694fa1c956f5645e48fe904c4e19",name:"light/check","aria-hidden":"true"}))),a("div",{key:"9f3c3d2ed11af90a0bfa658849fbc8b12545c7c6",part:"start",class:"option__start"},a("slot",{key:"194a2647aeaeeac8d8268e1386dba7feabb16d40",name:"start"})),a("div",{key:"4eb3a838d9510432b5614e0de0e958b45d132cc5",part:"label",class:"option__label"},a("slot",{key:"6db178c30cd08c9a15ed6c5996d263da86d28285"},this.label||this.value)),a("div",{key:"aac32437be089e438b419545d2659778de1119f2",part:"end",class:"option__end"},a("slot",{key:"c108eff1c579522f4ead3e2fc157930bc329ceb2",name:"end"}))))}static get watchers(){return{value:["valueChanged"],label:["labelChanged"]}}};b.style=":host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host{--bg:none;--bg-selected:none;--bg-focus:var(--nano-color-blue-cerulean-1000);--bg-disabled:none;--color:var(--nano-color-base-1000);--color-selected:var(--nano-color-base-1000);--color-focus:var(--nano-color-base-0);--color-disabled:var(--nano-color-neutral-400);--opt-icon-size:1em;--padding-start:var(--nano-spacing-sm);--padding-end:var(--nano-spacing-md);--padding-bottom:6px;--padding-top:6px;display:block;color:var(--color);overflow:hidden;font-size:var(--nano-font-size-xs)}:host(:focus){outline:none}.option{color:inherit;text-decoration:none;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;display:flex;align-items:stretch;inline-size:100%;background:var(--bg);padding-inline:var(--padding-start) var(--padding-end);padding-block:var(--padding-top) var(--padding-bottom)}:host(:focus) .option:not(.option--disabled),:host .option.option--selected{outline:none;background:var(--bg-selected);color:var(--color-selected)}:host(:focus) .option:not(.option--disabled){background:var(--bg-focus);color:var(--color-focus)}.option.option--disabled{outline:none;color:var(--color-disabled);cursor:not-allowed;background:var(--bg-disabled)}.option.option--novalue{font-style:italic;opacity:0.7}.option__label{flex:1 1 auto;display:flex;align-items:center}.option__start{flex:0 0 auto;display:flex;align-items:center}.option__start ::slotted(.nano-icon){font-size:var(--opt-icon-size);margin-inline-end:var(--padding-end)}.option__end{flex:0 0 auto;display:flex;align-items:center}.option__end ::slotted(.nano-icon){font-size:var(--opt-icon-size)}.option__end ::slotted(:first-child){margin-inline-start:var(--padding-start)}.option__check{visibility:hidden;display:flex;margin-inline-end:var(--padding-start);align-items:center;font-size:var(--nano-font-size-2xs);inline-size:var(--nano-font-size-2xs)}.option--selected:not(.option--novalue) .option__check{visibility:visible}";const u=class{constructor(t){i(this,t),this.nanoClose=e(this,"nanoClose",7)}closable=!1;size="regular";get el(){return t(this)}nanoClose;onKeyDown=t=>{switch(t.key){case"Enter":case" ":t.preventDefault(),this.close()}};handleClick=()=>{this.close()};close(){this.nanoClose.emit()}containsAnchor=()=>!!this.el.querySelector("a");render(){return this.closable&&!this.containsAnchor()?[a("slot",null),a("nano-icon-button",{label:"Close","icon-name":"light/xmark-large",onKeyDown:this.onKeyDown,onClick:this.handleClick})]:a("slot",null)}};u.style=":host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}";export{c as nano_datalist,b as nano_option,u as nano_tag}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* Custom elements for Nanopore-Digital Web applications
|
3
3
|
*/
|
4
|
-
import{r as e,c as t,g as i,a as n}from"./index-BM3Om9WE.js";import{h as a}from"./renderer-BaP2L8CT.js";import{p as s,a as o,c as d}from"./date-utils-BZYdjI1P.js";import{c as r}from"./theme-aiuyr36I.js";const c={d:"(\\d{1,2})",m:"(\\d{1,2})",y:"(\\d{4})"};let h=0;const l=class{constructor(i){e(this,i),this.nanoChange=t(this,"nanoChange",7),this.nanoValidate=t(this,"nanoValidate",7)}pickerEle;trigger;pickerCloseBtn;dropdown;input;directInput=!1;dateOrderIndeces={d:0,m:1,y:3};inputId="nano-input-"+h++;locale=window.navigator.languages||window.navigator.language||void 0;get host(){return i(this)}pattern;inputValue;get invalid(){return this._invalid}_invalid=!1;get validityMessage(){return this.input?this.input.validityMessage:""}helperText=!0;helperTextFormat={year:"numeric",month:"long",day:"numeric"};floatLabel=!1;name=this.inputId;readonly=!1;size;form;firstDayOfWeek;localization;disabled=!1;color;autofocus=!1;clearable=!1;label;placeholder;value="";handleValueChange(){this.directInput||(this.inputValue=this.formatIsoDate(this.value)),setTimeout((()=>{this.nanoChange.emit({value:this.value,date:s(this.value)})}),20),this.directInput=!1}validateOn="submitThenDirty";showInlineError=!0;dateOrder="dmy";handleDateOrderChange(){this.setDatePattern()}required=!1;min;max;hideLabel=!1;testDateValidity(){const e=s(this.value);let t,i,n="";this.value&&e&&(this.min&&(t=s(this.min))&&e<t&&(n="Date below the minimum: "+t.toLocaleDateString(this.locale,this.helperTextFormat)),this.max&&(i=s(this.max))&&e>i&&(n="Date above the maximum: "+i.toLocaleDateString(this.locale,this.helperTextFormat)),this.isDateDisabled(e)&&(n="Date selected is disabled.")),requestAnimationFrame((async()=>{if(!this.input)return;const t=await this.input.getInputElement();this.value.length&&!e&&(n="Please enter a valid date"),t.setCustomValidity(n),"dirty"===this.input.validateOn&&this.input.showError(n)}))}picker=!0;initialPickerDate;pickerOpen=!1;handlePickerOpenChange(){this.dropdown.open=this.pickerOpen}closeAfterPicked=!0;get dropDownConfig(){return this._dropDownConfig}set dropDownConfig(e){this._dropDownConfig={...this._dropDownConfig,...e}}_dropDownConfig={};get dateValue(){return s(this.value)}isDateDisabled=()=>!1;nanoChange;nanoValidate;async reportValidity(e){return(await this.input.reportValidity(e)).isValid&&e&&this.testDateValidity(),await this.input.reportValidity(e)}async setFocus(){this.input&&this.input.setFocus()}async getInputElement(){return await this.input.getInputElement()}async showError(e){this.input&&this.input.showError(e)}onInputChange=e=>{e.stopPropagation(),this.setValue(e.target.value)};onInputValidate=e=>{e.stopPropagation(),this._invalid=!e.detail.isValid,this.nanoValidate.emit({isValid:e.detail.isValid,errorMessage:e.detail.errorMessage,originalEvent:e.detail.originalEvent})};onInputKey=()=>{this.directInput=!0};onDatePicked=e=>{this.directInput=!1,this.value=e.detail.value,this.closeAfterPicked&&(this.pickerOpen=!1)};onDropdownHide=()=>{setTimeout((()=>this.pickerOpen=!1),200),setTimeout((()=>this.trigger.focus()),50)};onTriggerClick=()=>{this.pickerOpen||(this.pickerOpen=!0)};onTriggerKey=e=>{[" ","Enter"].includes(e.key)&&(this.pickerOpen||(this.pickerOpen=!0))};onCloseClick=()=>{this.pickerOpen&&(this.pickerOpen=!1)};onCloseKeyDown=e=>{"Tab"===e.key&&e.shiftKey&&(this.pickerEle.setFocus(!0),e.preventDefault())," "!==e.key&&"Enter"!==e.key||this.pickerOpen&&(this.pickerOpen=!1)};setDatePattern(){const e=[],t=[];Array.from(this.dateOrder).map(((i,n)=>{e.push(c[i]),this.dateOrderIndeces[i]=n,t.push("y"===i?"yyyy":i+i)})),this.pattern=e.join("\\W+"),this.placeholder||"false"===this.placeholder||(this.placeholder=t.join(" "))}formatIsoDate(e){const t=[];Array.from("ymd").map((e=>t.push(c[e])));const i=e.match(new RegExp(t.join("\\W+")));if(!i)return"";const n=[];return n[this.dateOrderIndeces.d]=i[3],n[this.dateOrderIndeces.m]=i[2],n[this.dateOrderIndeces.y]=i[1],n.join(" ")}setValue(e){const t=e.match(new RegExp(this.pattern));if(!t)return void(this.value=e);let i=d(t[this.dateOrderIndeces.y+1],t[this.dateOrderIndeces.m+1],t[this.dateOrderIndeces.d+1]);if(!i&&(i=new Date(e),!i))return void(this.value=e);const n=o(i);return this.value=n,n}connectedCallback(){console.warn('nano-date-input is deprecated and will be removed in a future version. Use nano-input with type="date" instead.'),this.setDatePattern(),this.handleValueChange()}componentDidLoad(){this.pickerCloseBtn&&this.picker&&(this.pickerEle.firstFocusEle=this.pickerCloseBtn,this.dropdown.tetherTo=this.trigger,setTimeout((()=>this.handlePickerOpenChange()),300))}render(){this.locale=navigator.languages||navigator.language||void 0,this.dropDownConfig.placement=this.dropDownConfig.placement||"bottom-end","rtl"===this.host.ownerDocument.dir&&this.dropDownConfig.placement.replace("start","end"),this.trigger&&(this.dropDownConfig.tetherTo=this.trigger);const e=s(this.value),t=!!this.host.querySelector('[slot="helper"]');return a(n,{key:"d584003b7188229e35c59048e46b0c2be1068987",class:{...r(this.color),"date-input":!0}},a("div",{key:"88ef9423db0ed1e11b5ccad2c75a0c9d0f9b9d29",class:"date-field"},a("nano-input",{key:"a4d5c368da0bb9b296563e09760d8c450360d2d3",class:"date-field__input",slot:"trigger",required:this.required||void 0,showInlineError:this.showInlineError,validateOn:this.validateOn,placeholder:"false"!==this.placeholder?this.placeholder:void 0,pattern:this.pattern,label:this.label,disabled:this.disabled||void 0,color:this.color||void 0,autofocus:this.autofocus||void 0,clearable:this.clearable||void 0,onNanoChange:this.onInputChange,onNanoInput:this.onInputKey,onNanoValidate:this.onInputValidate,name:"",form:this.form||void 0,size:this.size||void 0,readonly:this.readonly,value:this.inputValue,ref:e=>this.input=e,floatLabel:this.floatLabel,hideLabel:this.hideLabel,inputmode:"numeric",part:"input"},a("slot",{key:"8852fd0a14ed85773706f6313be4af121c33f212",name:"start",slot:"start"}),a("slot",{key:"c34815b4acd3bd9e556d908dcebb4e39a9ab1f78",name:"label",slot:"label"}),a("slot",{key:"3ba077636a9908c1ff57ca6a82824586becd8497",name:"end",slot:"end"}),this.picker&&[a("button",{key:"c45a42017fc0023f1f9b6c8201b209979678fd52",slot:"end",class:"date-field__open",type:"button",onKeyDown:this.onTriggerKey,onClick:this.onTriggerClick,ref:e=>this.trigger=e,disabled:this.disabled||this.readonly},a("nano-icon",{key:"ae888424999bff07e6693023e1ef38a2ae471c96",name:"light/calendar-days"})),a("nano-dropdown",{key:"d82337659d8656f162e51789dcd32c102f733f77",slot:"end",onNanoHide:this.onDropdownHide,dialogTitle:"Choose a date",class:"date-field__dropdown",ref:e=>this.dropdown=e,...this.dropDownConfig,part:"dropdown"},a("div",{key:"f5c9d99cd1a6725068f7f1acd27cf6e3e3717754"},a("div",{key:"b9e02ade28a5213382b993e57143dff2d19ececd",class:"date-field__close-bar"},a("button",{key:"af6aebad9c406b500d17338a0f5fb178638d3a01",class:"date-field__close",type:"button",onMouseDown:this.onCloseClick,onKeyDown:this.onCloseKeyDown,ref:e=>this.pickerCloseBtn=e},a("nano-icon",{key:"6cecd49256234320e73d732e689dd552dbf22645",name:"light/xmark"}),a("span",{key:"fc9f86d2f3dbf06d53217ccf6556b3b119240ceb",class:"vhidden"},"Close window"))),a("nano-date-picker",{key:"d0a388667a9372ecfebae22d0175fe68230c11ac",isDateDisabled:this.isDateDisabled,onNanoDatePicked:this.onDatePicked,min:this.min||void 0,max:this.max||void 0,"is-modal":!0,ref:e=>this.pickerEle=e,localization:this.localization,selectedDate:this.value||this.initialPickerDate,firstDayOfWeek:this.firstDayOfWeek,color:this.color||void 0,part:"date-picker"})))],(t||this.helperText||this.showInlineError)&&a("span",{key:"109ec3fe3dd22087fca3240b3ad2b712b7444a3e",slot:"helper"},a("span",{key:"a709814dfcb66923cb512737768b4385c6a2fa85",class:{vhidden:!!this.value.length}},a("slot",{key:"16375d1e2af0839d94b93b02117817fe54ed5887",name:"helper"})),this.helperText&&!!e&&a("span",{key:"dce160d23dbf15337800f15f43380c75643f6373"},e.toLocaleDateString(this.locale,this.helperTextFormat)))),a("input",{key:"c50fb0b2a5104229cf44f9564a902b813e45111f",type:"hidden",value:this.value,name:this.name})))}static get watchers(){return{value:["handleValueChange","testDateValidity"],dateOrder:["handleDateOrderChange"],min:["testDateValidity"],max:["testDateValidity"],pickerOpen:["handlePickerOpenChange"]}}};l.style=".sc-nano-date-input-h,*.sc-nano-date-input,*.sc-nano-date-input::before,*.sc-nano-date-input::after{box-sizing:border-box}[hidden].sc-nano-date-input{display:none !important}@media (prefers-reduced-motion: reduce){.sc-nano-date-input-h,*.sc-nano-date-input,*.sc-nano-date-input::before,*.sc-nano-date-input::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.sc-nano-date-input-h,*.sc-nano-date-input,*.sc-nano-date-input::before,*.sc-nano-date-input::after{box-sizing:border-box}[hidden].sc-nano-date-input{display:none !important}@media (prefers-reduced-motion: reduce){.sc-nano-date-input-h,*.sc-nano-date-input,*.sc-nano-date-input::before,*.sc-nano-date-input::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.sc-nano-date-input-h{display:inline-block;inline-size:100%;--focus-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));--open-btn-color:var(--nano-button-color, #f0efed);--open-btn-border:none;--close-btn-color:var(--nano-button-color, #f0efed);--picker-base-size:16px}.nano-color.sc-nano-date-input-h{--focus-shadow:0 0 0 0.1875rem rgb(var(--nano-color-tint-rgb)/0.56)}.nano-icon.sc-nano-date-input{pointer-events:none}.date-field.sc-nano-date-input{display:flex;flex-direction:column;position:relative}.date-field__dropdown.sc-nano-date-input{--padding:0;--overflow:visible;padding:0 !important;inline-size:0 !important;inline-size:100%;z-index:var(--nano-layer-index-dropdown, 300) !important}.date-field__close-bar.sc-nano-date-input{align-items:center;display:flex;justify-content:space-between;text-overflow:ellipsis;white-space:nowrap;border:0;margin:0;overflow:visible;padding:0;position:absolute;inset-inline-end:-8px;inset-block-start:-8px;inline-size:auto;z-index:1}.date-field__open.sc-nano-date-input{background:var(--open-btn-color);border:var(--open-btn-border);margin:0;appearance:none}.date-field__open.sc-nano-date-input:focus{box-shadow:var(--focus-shadow);outline:none}.date-field__close.sc-nano-date-input{align-items:center;appearance:none;background:var(--close-btn-color);border:0;border-radius:50%;cursor:pointer;display:flex;block-size:24px;justify-content:center;padding:0;inline-size:24px}@media (width >= 36em){.date-field__close.sc-nano-date-input{opacity:0}}.date-field__close.sc-nano-date-input:focus{box-shadow:var(--focus-shadow);outline:none}@media (width >= 36em){.date-field__close.sc-nano-date-input:focus{opacity:1}}.date-field__close.sc-nano-date-input .nano-icon.sc-nano-date-input{margin-block:0;margin-inline:auto}.date-field.sc-nano-date-input .nano-date-picker.sc-nano-date-input{font-size:var(--picker-base-size)}.vhidden.sc-nano-date-input{clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}";export{l as nano_date_input}
|
4
|
+
import{r as e,c as t,g as i,a as n}from"./index-BM3Om9WE.js";import{h as a}from"./renderer-DasB4P10.js";import{p as s,a as o,c as d}from"./date-utils-BZYdjI1P.js";import{c as r}from"./theme-aiuyr36I.js";const c={d:"(\\d{1,2})",m:"(\\d{1,2})",y:"(\\d{4})"};let h=0;const l=class{constructor(i){e(this,i),this.nanoChange=t(this,"nanoChange",7),this.nanoValidate=t(this,"nanoValidate",7)}pickerEle;trigger;pickerCloseBtn;dropdown;input;directInput=!1;dateOrderIndeces={d:0,m:1,y:3};inputId="nano-input-"+h++;locale=window.navigator.languages||window.navigator.language||void 0;get host(){return i(this)}pattern;inputValue;get invalid(){return this._invalid}_invalid=!1;get validityMessage(){return this.input?this.input.validityMessage:""}helperText=!0;helperTextFormat={year:"numeric",month:"long",day:"numeric"};floatLabel=!1;name=this.inputId;readonly=!1;size;form;firstDayOfWeek;localization;disabled=!1;color;autofocus=!1;clearable=!1;label;placeholder;value="";handleValueChange(){this.directInput||(this.inputValue=this.formatIsoDate(this.value)),setTimeout((()=>{this.nanoChange.emit({value:this.value,date:s(this.value)})}),20),this.directInput=!1}validateOn="submitThenDirty";showInlineError=!0;dateOrder="dmy";handleDateOrderChange(){this.setDatePattern()}required=!1;min;max;hideLabel=!1;testDateValidity(){const e=s(this.value);let t,i,n="";this.value&&e&&(this.min&&(t=s(this.min))&&e<t&&(n="Date below the minimum: "+t.toLocaleDateString(this.locale,this.helperTextFormat)),this.max&&(i=s(this.max))&&e>i&&(n="Date above the maximum: "+i.toLocaleDateString(this.locale,this.helperTextFormat)),this.isDateDisabled(e)&&(n="Date selected is disabled.")),requestAnimationFrame((async()=>{if(!this.input)return;const t=await this.input.getInputElement();this.value.length&&!e&&(n="Please enter a valid date"),t.setCustomValidity(n),"dirty"===this.input.validateOn&&this.input.showError(n)}))}picker=!0;initialPickerDate;pickerOpen=!1;handlePickerOpenChange(){this.dropdown.open=this.pickerOpen}closeAfterPicked=!0;get dropDownConfig(){return this._dropDownConfig}set dropDownConfig(e){this._dropDownConfig={...this._dropDownConfig,...e}}_dropDownConfig={};get dateValue(){return s(this.value)}isDateDisabled=()=>!1;nanoChange;nanoValidate;async reportValidity(e){return(await this.input.reportValidity(e)).isValid&&e&&this.testDateValidity(),await this.input.reportValidity(e)}async setFocus(){this.input&&this.input.setFocus()}async getInputElement(){return await this.input.getInputElement()}async showError(e){this.input&&this.input.showError(e)}onInputChange=e=>{e.stopPropagation(),this.setValue(e.target.value)};onInputValidate=e=>{e.stopPropagation(),this._invalid=!e.detail.isValid,this.nanoValidate.emit({isValid:e.detail.isValid,errorMessage:e.detail.errorMessage,originalEvent:e.detail.originalEvent})};onInputKey=()=>{this.directInput=!0};onDatePicked=e=>{this.directInput=!1,this.value=e.detail.value,this.closeAfterPicked&&(this.pickerOpen=!1)};onDropdownHide=()=>{setTimeout((()=>this.pickerOpen=!1),200),setTimeout((()=>this.trigger.focus()),50)};onTriggerClick=()=>{this.pickerOpen||(this.pickerOpen=!0)};onTriggerKey=e=>{[" ","Enter"].includes(e.key)&&(this.pickerOpen||(this.pickerOpen=!0))};onCloseClick=()=>{this.pickerOpen&&(this.pickerOpen=!1)};onCloseKeyDown=e=>{"Tab"===e.key&&e.shiftKey&&(this.pickerEle.setFocus(!0),e.preventDefault())," "!==e.key&&"Enter"!==e.key||this.pickerOpen&&(this.pickerOpen=!1)};setDatePattern(){const e=[],t=[];Array.from(this.dateOrder).map(((i,n)=>{e.push(c[i]),this.dateOrderIndeces[i]=n,t.push("y"===i?"yyyy":i+i)})),this.pattern=e.join("\\W+"),this.placeholder||"false"===this.placeholder||(this.placeholder=t.join(" "))}formatIsoDate(e){const t=[];Array.from("ymd").map((e=>t.push(c[e])));const i=e.match(new RegExp(t.join("\\W+")));if(!i)return"";const n=[];return n[this.dateOrderIndeces.d]=i[3],n[this.dateOrderIndeces.m]=i[2],n[this.dateOrderIndeces.y]=i[1],n.join(" ")}setValue(e){const t=e.match(new RegExp(this.pattern));if(!t)return void(this.value=e);let i=d(t[this.dateOrderIndeces.y+1],t[this.dateOrderIndeces.m+1],t[this.dateOrderIndeces.d+1]);if(!i&&(i=new Date(e),!i))return void(this.value=e);const n=o(i);return this.value=n,n}connectedCallback(){console.warn('nano-date-input is deprecated and will be removed in a future version. Use nano-input with type="date" instead.'),this.setDatePattern(),this.handleValueChange()}componentDidLoad(){this.pickerCloseBtn&&this.picker&&(this.pickerEle.firstFocusEle=this.pickerCloseBtn,this.dropdown.tetherTo=this.trigger,setTimeout((()=>this.handlePickerOpenChange()),300))}render(){this.locale=navigator.languages||navigator.language||void 0,this.dropDownConfig.placement=this.dropDownConfig.placement||"bottom-end","rtl"===this.host.ownerDocument.dir&&this.dropDownConfig.placement.replace("start","end"),this.trigger&&(this.dropDownConfig.tetherTo=this.trigger);const e=s(this.value),t=!!this.host.querySelector('[slot="helper"]');return a(n,{key:"d584003b7188229e35c59048e46b0c2be1068987",class:{...r(this.color),"date-input":!0}},a("div",{key:"88ef9423db0ed1e11b5ccad2c75a0c9d0f9b9d29",class:"date-field"},a("nano-input",{key:"a4d5c368da0bb9b296563e09760d8c450360d2d3",class:"date-field__input",slot:"trigger",required:this.required||void 0,showInlineError:this.showInlineError,validateOn:this.validateOn,placeholder:"false"!==this.placeholder?this.placeholder:void 0,pattern:this.pattern,label:this.label,disabled:this.disabled||void 0,color:this.color||void 0,autofocus:this.autofocus||void 0,clearable:this.clearable||void 0,onNanoChange:this.onInputChange,onNanoInput:this.onInputKey,onNanoValidate:this.onInputValidate,name:"",form:this.form||void 0,size:this.size||void 0,readonly:this.readonly,value:this.inputValue,ref:e=>this.input=e,floatLabel:this.floatLabel,hideLabel:this.hideLabel,inputmode:"numeric",part:"input"},a("slot",{key:"8852fd0a14ed85773706f6313be4af121c33f212",name:"start",slot:"start"}),a("slot",{key:"c34815b4acd3bd9e556d908dcebb4e39a9ab1f78",name:"label",slot:"label"}),a("slot",{key:"3ba077636a9908c1ff57ca6a82824586becd8497",name:"end",slot:"end"}),this.picker&&[a("button",{key:"c45a42017fc0023f1f9b6c8201b209979678fd52",slot:"end",class:"date-field__open",type:"button",onKeyDown:this.onTriggerKey,onClick:this.onTriggerClick,ref:e=>this.trigger=e,disabled:this.disabled||this.readonly},a("nano-icon",{key:"ae888424999bff07e6693023e1ef38a2ae471c96",name:"light/calendar-days"})),a("nano-dropdown",{key:"d82337659d8656f162e51789dcd32c102f733f77",slot:"end",onNanoHide:this.onDropdownHide,dialogTitle:"Choose a date",class:"date-field__dropdown",ref:e=>this.dropdown=e,...this.dropDownConfig,part:"dropdown"},a("div",{key:"f5c9d99cd1a6725068f7f1acd27cf6e3e3717754"},a("div",{key:"b9e02ade28a5213382b993e57143dff2d19ececd",class:"date-field__close-bar"},a("button",{key:"af6aebad9c406b500d17338a0f5fb178638d3a01",class:"date-field__close",type:"button",onMouseDown:this.onCloseClick,onKeyDown:this.onCloseKeyDown,ref:e=>this.pickerCloseBtn=e},a("nano-icon",{key:"6cecd49256234320e73d732e689dd552dbf22645",name:"light/xmark"}),a("span",{key:"fc9f86d2f3dbf06d53217ccf6556b3b119240ceb",class:"vhidden"},"Close window"))),a("nano-date-picker",{key:"d0a388667a9372ecfebae22d0175fe68230c11ac",isDateDisabled:this.isDateDisabled,onNanoDatePicked:this.onDatePicked,min:this.min||void 0,max:this.max||void 0,"is-modal":!0,ref:e=>this.pickerEle=e,localization:this.localization,selectedDate:this.value||this.initialPickerDate,firstDayOfWeek:this.firstDayOfWeek,color:this.color||void 0,part:"date-picker"})))],(t||this.helperText||this.showInlineError)&&a("span",{key:"109ec3fe3dd22087fca3240b3ad2b712b7444a3e",slot:"helper"},a("span",{key:"a709814dfcb66923cb512737768b4385c6a2fa85",class:{vhidden:!!this.value.length}},a("slot",{key:"16375d1e2af0839d94b93b02117817fe54ed5887",name:"helper"})),this.helperText&&!!e&&a("span",{key:"dce160d23dbf15337800f15f43380c75643f6373"},e.toLocaleDateString(this.locale,this.helperTextFormat)))),a("input",{key:"c50fb0b2a5104229cf44f9564a902b813e45111f",type:"hidden",value:this.value,name:this.name})))}static get watchers(){return{value:["handleValueChange","testDateValidity"],dateOrder:["handleDateOrderChange"],min:["testDateValidity"],max:["testDateValidity"],pickerOpen:["handlePickerOpenChange"]}}};l.style=".sc-nano-date-input-h,*.sc-nano-date-input,*.sc-nano-date-input::before,*.sc-nano-date-input::after{box-sizing:border-box}[hidden].sc-nano-date-input{display:none !important}@media (prefers-reduced-motion: reduce){.sc-nano-date-input-h,*.sc-nano-date-input,*.sc-nano-date-input::before,*.sc-nano-date-input::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.sc-nano-date-input-h,*.sc-nano-date-input,*.sc-nano-date-input::before,*.sc-nano-date-input::after{box-sizing:border-box}[hidden].sc-nano-date-input{display:none !important}@media (prefers-reduced-motion: reduce){.sc-nano-date-input-h,*.sc-nano-date-input,*.sc-nano-date-input::before,*.sc-nano-date-input::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.sc-nano-date-input-h{display:inline-block;inline-size:100%;--focus-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));--open-btn-color:var(--nano-button-color, #f0efed);--open-btn-border:none;--close-btn-color:var(--nano-button-color, #f0efed);--picker-base-size:16px}.nano-color.sc-nano-date-input-h{--focus-shadow:0 0 0 0.1875rem rgb(var(--nano-color-tint-rgb)/0.56)}.nano-icon.sc-nano-date-input{pointer-events:none}.date-field.sc-nano-date-input{display:flex;flex-direction:column;position:relative}.date-field__dropdown.sc-nano-date-input{--padding:0;--overflow:visible;padding:0 !important;inline-size:0 !important;inline-size:100%;z-index:var(--nano-layer-index-dropdown, 300) !important}.date-field__close-bar.sc-nano-date-input{align-items:center;display:flex;justify-content:space-between;text-overflow:ellipsis;white-space:nowrap;border:0;margin:0;overflow:visible;padding:0;position:absolute;inset-inline-end:-8px;inset-block-start:-8px;inline-size:auto;z-index:1}.date-field__open.sc-nano-date-input{background:var(--open-btn-color);border:var(--open-btn-border);margin:0;appearance:none}.date-field__open.sc-nano-date-input:focus{box-shadow:var(--focus-shadow);outline:none}.date-field__close.sc-nano-date-input{align-items:center;appearance:none;background:var(--close-btn-color);border:0;border-radius:50%;cursor:pointer;display:flex;block-size:24px;justify-content:center;padding:0;inline-size:24px}@media (width >= 36em){.date-field__close.sc-nano-date-input{opacity:0}}.date-field__close.sc-nano-date-input:focus{box-shadow:var(--focus-shadow);outline:none}@media (width >= 36em){.date-field__close.sc-nano-date-input:focus{opacity:1}}.date-field__close.sc-nano-date-input .nano-icon.sc-nano-date-input{margin-block:0;margin-inline:auto}.date-field.sc-nano-date-input .nano-date-picker.sc-nano-date-input{font-size:var(--picker-base-size)}.vhidden.sc-nano-date-input{clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}";export{l as nano_date_input}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* Custom elements for Nanopore-Digital Web applications
|
3
3
|
*/
|
4
|
-
import{r as n,c as t,g as e,a}from"./index-BM3Om9WE.js";import{h as i,t as o}from"./renderer-BaP2L8CT.js";import{i as s,g as r,b as l,D as c,p as d,d as h,s as p,e as u,f as b,h as f,j as _,k as m,l as v,a as g}from"./date-utils-BZYdjI1P.js";import{c as y}from"./dom-dlicJTEJ.js";import{a as k}from"./throttle-C93FMm2Z.js";import{F as x,a as w}from"./form-control-CIz-2SMG.js";const z={buttonLabel:"Choose date",placeholder:"YYYY-MM-DD",selectedDateMessage:"Selected date is",prevMonthLabel:"Previous month",nextMonthLabel:"Next month",monthSelectLabel:"Month",yearSelectLabel:"Year",closeLabel:"Close window",keyboardInstruction:"You can use arrow keys to navigate dates",calendarHeading:"Choose a date",dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},D=({focusedDay:n,today:t,day:e,onDaySelect:a,onKeyboardNavigation:o,focusedDayRef:r,inRange:l,disabled:c,isSelected:d})=>{const h=s(e,t),p=s(e,n),u=e.getMonth()!==n.getMonth()||c,b=!l;return i("button",{class:{"duet-date__day":!0,"is-outside":b,"is-disabled":u,"is-today":h},tabIndex:p?0:-1,onClick:function(n){a(n,e)},onKeyDown:o,disabled:b,type:"button","aria-pressed":d?"true":"false",ref:n=>{p&&n&&r&&r(n)}},i("span",{"aria-hidden":"true"},e.getDate()),i("span",{class:"duet-date__vhidden"},e.toLocaleDateString(void 0,{day:"numeric",month:"long"})))},C=({selectedDate:n,focusedDate:t,labelledById:e,localization:a,firstDayOfWeek:o,min:c,max:d,onDateSelect:h,onKeyboardNavigation:p,focusedDayRef:u,onMouseDown:b,onFocusIn:f,isDateDisabled:_})=>{const m=new Date,v=r(t,o);return i("table",{class:"duet-date__table",role:"grid","aria-labelledby":e,onFocusin:f,onMouseDown:b},i("thead",null,i("tr",null,(y=o,k=n=>i("th",{class:"duet-date__table-header",scope:"col"},i("span",{"aria-hidden":"true"},n.substring(0,2)),i("span",{class:"duet-date__vhidden"},n)),(g=a.dayNames).map(((n,t)=>k(g[(t+y)%g.length])))))),i("tbody",null,function(n){const t=[];for(let e=0;e<n.length;e+=7)t.push(n.slice(e,e+7));return t}(v).map((e=>i("tr",{class:"duet-date__row"},e.map((e=>i("td",{class:"duet-date__cell",role:"gridcell","aria-selected":s(e,n)?"true":void 0},i(D,{day:e,today:m,focusedDay:t,inRange:l(e,c,d),onDaySelect:h,onKeyboardNavigation:p,focusedDayRef:u,disabled:_(e),isSelected:s(e,n)})))))))));var g,y,k};let S=0;const I=class{constructor(e){n(this,e),this.nanoDatePicked=t(this,"nanoDatePicked",7)}dateId="nano-datepicker-"+S++;monthSelectId=this.dateId+"-month";yearSelectId=this.dateId+"-year";dialogLabelId=this.dateId+"-dialog";firstFocusableElement;monthSelectNode;focusedDayNode;focusTimeoutId;initialTouchX=null;initialTouchY=null;get host(){return e(this)}activeFocus=!1;focusedDay=new Date;_selectedDate="";get selectedDate(){return this._selectedDate}set selectedDate(n){"string"==typeof n?(n=n.split("T")[0],this._selectedDate=n):this._selectedDate=""}min="";max="";firstDayOfWeek=c.Monday;localization=z;isDateDisabled=()=>!1;isModal=!1;firstFocusEle;nanoDatePicked;async setFocus(n=!1){this.setFocusedDay(d(this.selectedDate)||new Date),n?setTimeout((()=>this.focusedDayNode.focus({preventScroll:!0})),20):(clearTimeout(this.focusTimeoutId),this.focusTimeoutId=setTimeout((()=>{this.monthSelectNode.focus({preventScroll:!0})}),20))}handleSelectedDateChange(){this.setFocus(!0)}enableActiveFocus=()=>{this.activeFocus=!0};disableActiveFocus=()=>{this.activeFocus=!1};addDays(n){this.setFocusedDay(h(this.focusedDay,n))}addMonths(n){this.setMonth(this.focusedDay.getMonth()+n)}addYears(n){this.setYear(this.focusedDay.getFullYear()+n)}startOfWeek(){this.setFocusedDay(p(this.focusedDay,this.firstDayOfWeek))}endOfWeek(){this.setFocusedDay(u(this.focusedDay,this.firstDayOfWeek))}setMonth(n){const t=b(f(this.focusedDay),n),e=_(t),a=b(this.focusedDay,n);this.setFocusedDay(m(a,t,e))}setYear(n){const t=v(f(this.focusedDay),n),e=_(t),a=v(this.focusedDay,n);this.setFocusedDay(m(a,t,e))}setFocusedDay(n){this.focusedDay=m(n,d(this.min),d(this.max))}handleTouchStart=n=>{const t=n.changedTouches[0];this.initialTouchX=t.pageX,this.initialTouchY=t.pageY};handleTouchMove=n=>{n.preventDefault()};handleTouchEnd=n=>{const t=n.changedTouches[0],e=t.pageX-this.initialTouchX,a=t.pageY-this.initialTouchY;Math.abs(e)>=70&&Math.abs(a)<=70&&this.addMonths(e<0?1:-1),this.initialTouchY=null,this.initialTouchX=null};handleNextMonthClick=n=>{n.preventDefault(),this.addMonths(1)};handlePreviousMonthClick=n=>{n.preventDefault(),this.addMonths(-1)};handleKeyboardNavigation=n=>{if("Tab"===n.key&&!n.shiftKey&&this.isModal){n.preventDefault();const t=this.firstFocusEle||this.firstFocusableElement;return void(t.setFocus?t.setFocus():t.focus())}let t=!0;switch(n.key){case"ArrowRight":this.addDays(1);break;case"ArrowLeft":this.addDays(-1);break;case"ArrowDown":this.addDays(7);break;case"ArrowUp":this.addDays(-7);break;case"PageUp":n.shiftKey?this.addYears(-1):this.addMonths(-1);break;case"PageDown":n.shiftKey?this.addYears(1):this.addMonths(1);break;case"Home":this.startOfWeek();break;case"End":this.endOfWeek();break;default:t=!1}t&&(n.preventDefault(),this.enableActiveFocus())};handleDaySelect=(n,t)=>{const e=!this.isDateDisabled(t);l(t,d(this.min),d(this.max))&&e&&(t.getMonth()===this.focusedDay.getMonth()?this.setValue(t):this.setFocusedDay(t))};handleMonthSelect=n=>{this.setMonth(parseInt(n.target.value,10))};handleYearSelect=n=>{this.setYear(parseInt(n.target.value,10))};setValue(n){this.selectedDate=g(n),this.nanoDatePicked.emit({value:this.selectedDate,valueAsDate:n})}processFocusedDayNode=n=>{this.focusedDayNode=n,this.activeFocus&&setTimeout((()=>n.focus({preventScroll:!0})),0)};componentWillLoad(){this.handleSelectedDateChange()}render(){const n=d(this.selectedDate),t=(n||this.focusedDay).getFullYear(),e=this.focusedDay.getMonth(),o=this.focusedDay.getFullYear(),s=d(this.min),r=d(this.max),c=null!=s&&s.getMonth()===e&&s.getFullYear()===o,h=null!=r&&r.getMonth()===e&&r.getFullYear()===o;let p=t-10,u=t+10;return s&&(p=s.getFullYear()),r&&(u=r.getFullYear()),i(a,{key:"d3b992532815f40dbd9fcb7b0ddfaa27d703899b",class:"nano-date-picker"},i("div",{key:"c1be847528fac0224c54110aa77a7b471969c34d",class:"duet-date"},i("div",{key:"8aa8dceea4d272bf171924bfbf59a4f645bed23d",class:{"duet-date__dialog":!0,"is-active":!0},onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd},i("div",{key:"374d34c706b3972971ebfc05d32d4f2cfb8721de",class:"duet-date__dialog-content"},i("div",{key:"4713d41d66ae2bc7057ec337080cd54700b51033",class:"duet-date__vhidden duet-date__instructions","aria-live":"polite"},this.localization.keyboardInstruction),i("div",{key:"b602d630814a176a066dab67645178fd15a7ca22",class:"duet-date__header",onFocusin:this.disableActiveFocus},i("div",{key:"2cc00317d6468c2ea5c477249774eec83f5b94da"},i("h2",{key:"0f420e58b51e50d6d973330665c508ca8167f3c3",id:this.dialogLabelId,class:"duet-date__vhidden","aria-live":"polite"},this.localization.monthNames[e]," ",this.focusedDay.getFullYear()),i("label",{key:"56192f5d51880678b86137cca89cb4a98515e03e",htmlFor:this.monthSelectId,class:"duet-date__vhidden"},this.localization.monthSelectLabel),i("div",{key:"900c7995f2a3c51b5d22fee6176518940e7efc27",class:"duet-date__select"},i("select",{key:"22bef19a74a42e7864d6cff32707adc7c0cc52b6",id:this.monthSelectId,class:"duet-date__select--month",ref:n=>this.firstFocusableElement=this.monthSelectNode=n,onChange:this.handleMonthSelect},this.localization.monthNames.map(((n,t)=>i("option",{key:n,value:t,selected:t===e,disabled:!l(new Date(o,t,1),s?f(s):null,r?_(r):null)},n)))),i("div",{key:"ba1108c781547bbaba8da184f07fd7d36b12cb4c",class:"duet-date__select-label","aria-hidden":"true"},i("span",{key:"8cd8018d9b68129e69219b9bffcd978a394269a5"},this.localization.monthNamesShort[e]),i("nano-icon",{key:"e2b440b6adf599930d20e584c92c5f66d52564fd",name:"light/chevron-down"}))),i("label",{key:"043530523830f9c5a67682c47cfb6dc0464f3133",htmlFor:this.yearSelectId,class:"duet-date__vhidden"},this.localization.yearSelectLabel),i("div",{key:"e2e43ad2280255eb46cf06b9328af9bbefbe96a5",class:"duet-date__select"},i("select",{key:"eaaa7a64a034d1723c20b42cf14c8cea0f8c78b1",id:this.yearSelectId,class:"duet-date__select--year",onChange:this.handleYearSelect},function(n,t){const e=[];for(let a=n;a<=t;a++)e.push(a);return e}(p,u).map((n=>i("option",{key:n,selected:n===o},n)))),i("div",{key:"c6ce7ec0f073caad0bd6ab09d03f1e20f5433e97",class:"duet-date__select-label","aria-hidden":"true"},i("span",{key:"3f985ad9b631cb140f4e551ab2f20cbdef88da6a"},this.focusedDay.getFullYear()),i("nano-icon",{key:"1b06f5e08b8b33bcc7d641abe122e3bb0fad05ba",name:"light/chevron-down"})))),i("div",{key:"4ea6d2f63406af47b4aba3b137c778aa9fed2524",class:"duet-date__nav"},i("button",{key:"6cd94d90c91aa0ccbd74a9ba361b7d894ef9fccf",class:"duet-date__prev",onClick:this.handlePreviousMonthClick,disabled:c,type:"button"},i("nano-icon",{key:"83d33e3779d7249634afbd8f1cd1c6476bad4697",name:"light/chevron-left"}),i("span",{key:"2318ef1d137f42a93240efc4caa15b376f079909",class:"duet-date__vhidden"},this.localization.prevMonthLabel)),i("button",{key:"f8c400b9e644687ce1279a70e6fc5c0b1aec6aac",class:"duet-date__next",onClick:this.handleNextMonthClick,disabled:h,type:"button"},i("nano-icon",{key:"a4ef19900fdfee3cc340ab6bba83dcf782e9b21a",name:"light/chevron-right"}),i("span",{key:"da03dc579aeb3dc5a00b2c647f78b71186cc7d74",class:"duet-date__vhidden"},this.localization.nextMonthLabel)))),i("div",{key:"ec82cee96b94f0b4a36993d42bae2eb02a392522"},i(C,{key:"e84697f87540abe1e8cfd47903655ac8b68ba08d",selectedDate:n,focusedDate:this.focusedDay,onDateSelect:this.handleDaySelect,onKeyboardNavigation:this.handleKeyboardNavigation,labelledById:this.dialogLabelId,localization:this.localization,firstDayOfWeek:this.firstDayOfWeek,focusedDayRef:this.processFocusedDayNode,min:s,max:r,isDateDisabled:this.isDateDisabled}))))))}static get watchers(){return{selectedDate:["handleSelectedDateChange"]}}};I.style=':host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host{--active-color:var(--nano-color-primary-1000);--active-text-color:var(--nano-color-base-0);--inactive-color:var(--nano-color-neutral-300);display:block;font-size:16px;background:var(--nano-color-neutral-50)}.duet-date *,.duet-date *::before,.duet-date *::after{box-sizing:border-box;margin:0}.duet-date{box-sizing:border-box;color:currentcolor;display:block;margin:0;position:relative;text-align:start;inline-size:100%}.duet-date__dialog{display:flex;inset-block-start:100%;max-inline-size:100%;inline-size:100%}.duet-date__dialog.is-left{inset-inline:auto 0;inline-size:auto}.duet-date__dialog-content{min-inline-size:290px;padding:var(--nano-spacing-md);position:relative;transform:none;max-inline-size:100%;inline-size:100%}.duet-date__table{border-collapse:collapse;border-spacing:0;font-size:1em;line-height:1;text-align:center;inline-size:100%}.duet-date__table-header{font-size:0.75em;font-weight:600;letter-spacing:1px;line-height:1;padding-block-end:8px;text-decoration:none;text-transform:uppercase}.duet-date__cell{text-align:center;padding:0 0 3px}.duet-date__day{appearance:none;background:transparent;border:0;border-radius:50%;cursor:pointer;display:inline-block;font-size:0.875em;font-variant-numeric:tabular-nums;line-height:1;position:relative;text-align:center;vertical-align:middle;z-index:1;block-size:2.5em;inline-size:2.5em}.duet-date__day.is-today{box-shadow:0 0 0 1px var(--active-color);position:relative}.duet-date__day:hover::before,.duet-date__day.is-today::before{content:"";background:var(--active-color);border-radius:50%;opacity:0.16;position:absolute;inset:0}[aria-selected=true] .duet-date__day{background:var(--active-color) !important;color:var(--active-text-color);box-shadow:none;outline:0}.duet-date__day:not(.is-disabled):active{background:color-mix(in srgb, var(--active-color), black 20%);color:var(--active-text-color)}.duet-date__day:focus-visible{outline:var(--nano-focus-ring);outline-offset:-1px;z-index:2}.duet-date__day.is-disabled{background:transparent;box-shadow:none;cursor:default;opacity:0.5}.duet-date__day.is-disabled::before{display:none}.duet-date__day.is-outside{background:var(--inactive-color);box-shadow:none;cursor:default;opacity:0.8;pointer-events:none}.duet-date__day.is-outside::before{display:none}.duet-date__header{align-items:center;display:flex;justify-content:space-between;margin-block-end:var(--nano-spacing-md);inline-size:100%}.duet-date__nav{white-space:nowrap}.duet-date__prev,.duet-date__next{background:var(--inactive-color);align-items:center;appearance:none;border:0;border-radius:50%;cursor:pointer;display:inline-flex;justify-content:space-around;margin-inline-start:8px;padding:0;font-size:0.9em;block-size:2.2em;inline-size:2.2em}.duet-date__prev:focus-visible,.duet-date__next:focus-visible{outline:var(--nano-focus-ring);outline-offset:var(--nano-focus-ring-offset)}.duet-date__prev:active,.duet-date__next:active{background:color-mix(in srgb, var(--inactive-color), black 20%)}.duet-date__prev:disabled,.duet-date__next:disabled{cursor:default;opacity:0.7}.duet-date__prev .nano-icon,.duet-date__next .nano-icon{margin-block:0;margin-inline:auto}.duet-date__select{display:inline-flex;margin-block-start:4px;position:relative}.duet-date__select span{margin-inline-end:4px}.duet-date__select select{cursor:pointer;font-size:1em;block-size:100%;inset-inline-start:0;opacity:0;position:absolute;inset-block-start:0;inline-size:100%;z-index:2}.duet-date__select select:focus-visible:focus+.duet-date__select-label{outline:var(--nano-focus-ring);outline-offset:var(--nano-focus-ring-offset)}.duet-date__select-label{align-items:center;display:flex;font-size:1.25em;font-weight:600;line-height:1;padding-block:0;padding-inline:8px 4px;pointer-events:none;position:relative;inline-size:100%;z-index:1}.duet-date__select-label .nano-icon{font-size:0.55em}.duet-date__vhidden{border:0;clip:rect(1px, 1px, 1px, 1px);block-size:1px;overflow:hidden;padding:0;position:absolute;inset-block-start:0;inline-size:1px}';let M=0;const L=class{nativeInput;inputId="nano-input-"+M++;didBlurAfterEdit=!1;rtl=!1;mo;charCount=0;hasRendered=!1;pickerDropdown;picker;pickerCloseBtn;shouldValidate=!1;_nativeInputWrap;get nativeInputWrap(){return this._nativeInputWrap}set nativeInputWrap(n){this._nativeInputWrap!==n&&(this._nativeInputWrap=n,this.setDataListOpts())}constructor(e){n(this,e),this.nanoInput=t(this,"nanoInput",7),this.nanoChange=t(this,"nanoChange",7),this.nanoBlur=t(this,"nanoBlur",7),this.nanoFocus=t(this,"nanoFocus",7),this.nanoDidLoad=t(this,"nanoDidLoad",7),this.nanoDidUnload=t(this,"nanoDidUnload",7),this.nanoValidate=t(this,"nanoValidate",7),this.handleBlur=this.handleBlur.bind(this)}hasFocus=!1;hasLabelSlot=!1;hasHelperSlot=!1;hasHelperEndSlot=!1;errorMessage="";datalist=null;setDataListOpts(){this.datalist&&(this.datalist.dropDownConfig={distance:10,...this.datalist.dropDownConfig||{},skidding:-1,tetherTo:this.nativeInputWrap})}get el(){return e(this)}get invalid(){return this._invalid}_invalid=null;get validityMessage(){return this.nativeInput?this.nativeInput.validationMessage:""}accept;autocapitalise="none";autocomplete="off";autocorrect="off";autofocus=!1;clearable=!1;clearOnEdit;debounce=0;debounceChanged(){this.nanoChange=k(this.nanoChange,this.debounce)}disabled=!1;inputmode;validateOn="submitThenDirty";showInlineError=!0;_label="";get label(){return this.required&&!this._label.endsWith("*")?this._label+" *":this._label}set label(n){this._label=n}alwaysShowPlaceholder=!1;hideLabel=!1;floatLabel=!1;max;maxlength;min;minlength;multiple;name=this.inputId;pattern;placeholder;readonly=!1;required=!1;spellcheck=!1;step;size;type="text";form;value="";valueChanged(){this.nanoChange.emit({value:this.value}),this.charCount=this.value?.length||0,"textarea"===this.type&&"auto"===this.resize&&(this.nativeInput.style.height="auto",this.value?.length&&(this.nativeInput.style.height=this.nativeInput.scrollHeight+"px")),"date"===this.type&&(this.isDateDisabled(this.valueAsDate)?this.nativeInput.setCustomValidity("Date selected is not available."):"Date selected is not available."===this.nativeInput.validationMessage&&this.nativeInput.setCustomValidity("")),this.shouldValidate=!0}get valueAsNumber(){return"textarea"===this.type?NaN:this.nativeInput?.valueAsNumber||NaN}get valueAsDate(){return"textarea"===this.type?null:new Date(this.value)}showCharCount=!1;handleValidatePropChange(){this.hasRendered&&(this.shouldValidate=!0)}resize="auto";rows=2;showPicker=!0;isDateDisabled=()=>!1;initialPickerDate;closeAfterPicked=!0;pickerOptions={};nanoInput;nanoChange;nanoBlur;nanoFocus;nanoDidLoad;nanoDidUnload;nanoValidate;async reportValidity(n){return new Promise((t=>{n&&this.validate(),setTimeout((()=>{t({isValid:!this._invalid,errorMessage:this.nativeInput.validationMessage})}),50)}))}async setFocus(){this.nativeInput&&(this.nativeInput.focus(),this.nativeInput.click())}async select(){this.nativeInput&&this.nativeInput.select()}getInputElement(){return Promise.resolve(this.nativeInput)}async showError(n){this.nativeInput&&(this.nativeInput.setCustomValidity(n),this.validate())}onReset(n){(this.form?document.querySelector("#"+this.form):this.el.closest("form"))&&n.target===this.el.closest("form")&&(this.value="")}handleBlur(n){if(!this.hasFocus)return;const t=n;let e;requestAnimationFrame((()=>{if(n instanceof KeyboardEvent&&t.key){if("Tab"!==t.key)return;e=document.activeElement}else e=n instanceof FocusEvent?document.activeElement:n.target;y(this.el.tagName.toLowerCase(),e)!==this.el&&this.onBlur()}))}shouldClearOnEdit(){const{type:n,clearOnEdit:t}=this;return void 0===t?"password"===n:t}getValue(){return this.value||""}validate=n=>{"submitThenDirty"===this.validateOn&&(this.validateOn="dirty"),this.nativeInput.validity?.valid?this._invalid=!1:(this.showInlineError&&(n&&n.preventDefault(),this.errorMessage=this.nativeInput.validationMessage),this._invalid=!0),this.nanoValidate.emit({isValid:!this._invalid,errorMessage:this.nativeInput.validationMessage,originalEvent:n})};onInput=n=>{const t=n.target;this.value=t?.value||"",this.nanoInput.emit(n)};onBlur=()=>{this.hasFocus=!1,this.focusChanged(),"dirty"===this.validateOn&&this.validate(),this.nanoBlur.emit()};onFocus=n=>{"date"===this.type&&n.preventDefault(),this.hasFocus=!0,this.focusChanged(),this.nanoFocus.emit()};onKeydown=n=>{"date"===this.type&&[" "].includes(n.key)&&(n.preventDefault(),this.showPicker&&this.pickerDropdown?.show()),this.shouldClearOnEdit()&&(this.didBlurAfterEdit&&this.hasValue()&&this.clearTextInput(),this.didBlurAfterEdit=!1)};clearTextInput=n=>{this.clearable&&!this.readonly&&!this.disabled&&n&&(n.preventDefault(),n.stopPropagation()),this.value="",this.nativeInput.value="";const t=new window.Event("change");this.nativeInput.dispatchEvent(t)};focusChanged(){!this.hasFocus&&this.shouldClearOnEdit()&&this.hasValue()&&(this.didBlurAfterEdit=!0)}hasValue(){return this.getValue().length>0}slotChangeObserver(){this.mo&&this.mo.disconnect(),(this.mo=new MutationObserver((()=>this.processSlottedContent()))).observe(this.el,{childList:!0,subtree:!0})}processSlottedContent(){this.hasLabelSlot=!!this.el.querySelectorAll('[slot="label"]'),this.hasHelperSlot=!!this.el.querySelector('[slot="helper"]'),this.hasHelperEndSlot=!!this.el.querySelector('[slot="helper-end"]'),this.datalist=this.el.querySelector(`${o("nano-datalist")}:not([slot])`)}connectedCallback(){this.debounceChanged(),this.el.dispatchEvent(new CustomEvent("nanoDidLoad",{detail:this.el}))}disconnectedCallback(){document.dispatchEvent(new CustomEvent("nanoDidUnload",{detail:this.el})),this.mo&&this.mo.disconnect()}componentDidLoad(){this.slotChangeObserver(),this.hasRendered=!0,this.autofocus&&setTimeout((()=>this.setFocus()),300)}componentWillLoad(){this.processSlottedContent()}componentDidRender(){this.shouldValidate&&(this.validate(),this.shouldValidate=!1)}render(){const n=this.getValue(),t=this.inputId+"-lbl",e=this.showInlineError||this.hasHelperSlot?this.inputId+"-more":"",o=this.hasHelperEndSlot?this.inputId+"-helper":"";this.rtl="rtl"===this.el.ownerDocument.dir;const s={...(({el:n,floatLabel:t,label:e,alwaysShowPlaceholder:a,errorMessage:i,type:o,showInlineError:s,hasHelperSlot:r,hasLabelSlot:l,hideLabel:c,placeholder:d,maxlength:h,charCount:p,showCharCount:u,rtl:b,hasHelperEndSlot:f})=>({el:n,floatLabel:t,label:e,alwaysShowPlaceholder:a,errorMessage:i,type:o,showInlineError:s,hasHelperSlot:r,hasLabelSlot:l,hideLabel:c,placeholder:d,maxlength:h,charCount:p,showCharCount:u,rtl:b,hasHelperEndSlot:f}))(this),labelId:t,moreId:e,helperEndId:o,hasValue:this.hasValue(),controlId:this.inputId},r=(({clearable:n,readonly:t,disabled:e})=>({clearable:n,readonly:t,disabled:e,clearControl:this.clearable}))(this);return i(a,{key:"636d7624bcfe136a0e93b55cf9fc38e272f7aed6","aria-disabled":this.disabled?"true":null,class:{"has-value":this.hasValue(),"has-focus":this.hasFocus,"is-invalid":!0===this._invalid,"is-valid":!1===this._invalid,"nano-input":!0}},i("div",{key:"942db1636f7d08dd581359b66df66ebf080d23ae",style:{width:"100%"}},i(x,{key:"d944b897545398b51ab0a76e1f8d62c57cd85843",...s,class:{"has-helper":this.hasHelperSlot,"has-error":!!this.errorMessage&&this.showInlineError&&!0===this._invalid}},i(w,{key:"efd29f841ff0724228fc47754a5aad8d82f88d49",...r,onClearText:this.clearTextInput,control:this.el,ref:n=>this.nativeInputWrap=n,showInlineError:this.showInlineError,endSlot:this.showPicker&&"date"===this.type&&!this.readonly&&!this.disabled&&[i("nano-dropdown",{slot:"end",dialogTitle:"Choose a date",class:"input__date-dropdown",part:"date__dropdown",placement:"bottom-end",skidding:10,distance:12,ref:n=>this.pickerDropdown=n,onNanoAfterShow:()=>this.picker.setFocus(!0)},i("nano-icon-button",{label:"Open date picker",iconName:"light/calendar-days",slot:"trigger",class:"input__date-trigger"}),i("div",null,i("div",{class:"date-field__close-bar"},i("nano-icon-button",{label:"Close date picker",iconName:"light/xmark",class:"input__date-close",onClick:n=>{n.target.closest("nano-dropdown")?.hide()},ref:n=>this.pickerCloseBtn=n})),i("nano-date-picker",{part:"date__picker",ref:n=>{this.picker=n,this.picker.firstFocusEle=this.pickerCloseBtn},...this.pickerOptions,isDateDisabled:this.isDateDisabled,onNanoDatePicked:n=>{this.value=n.detail.value,this.pickerDropdown?.hide()},min:this.min,max:this.max,"is-modal":!0,selectedDate:this.value||this.initialPickerDate||void 0})))]},"textarea"!==this.type&&i("input",{key:"ce5547777de11926717b27712f7d687171d0dde7",id:this.inputId,class:"input__native-ctrl",ref:n=>this.nativeInput=n,"aria-labelledby":t+" "+e+" "+o,disabled:this.disabled,accept:this.accept,autoCapitalize:this.autocapitalise,autoComplete:this.autocomplete,autoCorrect:this.autocorrect,autoFocus:this.autofocus,inputMode:this.inputmode,form:this.form,min:this.min,max:this.max,minLength:this.minlength,maxLength:this.maxlength,multiple:this.multiple,name:this.name,pattern:this.pattern,placeholder:this.placeholder,readOnly:this.readonly,required:this.required,spellcheck:this.spellcheck,step:this.step,size:this.size,type:this.type,value:n,onInput:this.onInput,onClick:n=>n.preventDefault(),onChange:this.onInput,onFocus:this.onFocus,onBlur:this.handleBlur,onKeyDown:this.onKeydown,onInvalid:this.validate}),"textarea"===this.type&&i("textarea",{key:"e1dc2377200cdccda85cdbb6cda08a49d8459c1e",rows:this.floatLabel?1:this.rows,id:this.inputId,class:{"input__native-ctrl":!0,input__resizable:"true"===this.resize},ref:n=>this.nativeInput=n,"aria-labelledby":t+" "+e+" "+o,disabled:this.disabled,autoCapitalize:this.autocapitalise,autoCorrect:this.autocorrect,autoFocus:this.autofocus,inputMode:this.inputmode,form:this.form,minLength:this.minlength,maxLength:this.maxlength,name:this.name,placeholder:this.placeholder,readOnly:this.readonly,required:this.required,spellcheck:this.spellcheck,value:n,onInput:this.onInput,onChange:this.onInput,onFocus:this.onFocus,onKeyDown:this.onKeydown,onInvalid:this.validate,onBlur:this.handleBlur}))),i("slot",{key:"564511c369dc13eb85cbf7e1c48b5d5fbbea8679"})))}static get watchers(){return{datalist:["setDataListOpts"],debounce:["debounceChanged"],value:["valueChanged"],minlength:["handleValidatePropChange"],maxlength:["handleValidatePropChange"],min:["handleValidatePropChange"],max:["handleValidatePropChange"],required:["handleValidatePropChange"],disabled:["handleValidatePropChange"],readonly:["handleValidatePropChange"],pattern:["handleValidatePropChange"],inputmode:["handleValidatePropChange"],type:["handleValidatePropChange"]}}};L.style='.sc-nano-input-h, *.sc-nano-input, *.sc-nano-input::before, *.sc-nano-input::after {\n box-sizing: border-box;\n}\n[hidden].sc-nano-input {\n display: none !important;\n}\n@media (prefers-reduced-motion: reduce) {\n .sc-nano-input-h, *.sc-nano-input, *.sc-nano-input::before, *.sc-nano-input::after {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n }\n }.sc-nano-input-h, *.sc-nano-input, *.sc-nano-input::before, *.sc-nano-input::after {\n box-sizing: border-box;\n}\n[hidden].sc-nano-input {\n display: none !important;\n}\n@media (prefers-reduced-motion: reduce) {\n .sc-nano-input-h, *.sc-nano-input, *.sc-nano-input::before, *.sc-nano-input::after {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n }\n }slot-fb.sc-nano-input {\n display: contents !important;\n}\n\n[disabled].sc-nano-input-h:not([disabled=false]) {\n opacity: 0.5;\n position: relative;\n}\n[disabled].sc-nano-input-h:not([disabled=false])::after {\n content: "";\n position: absolute;\n inset: 0;\n cursor: not-allowed;\n}\n\n.form-ctrl.sc-nano-input {\n min-inline-size: 100%;\n display: block;\n}\n.form-ctrl.has-helper-end.sc-nano-input {\n display: flex;\n gap: 1rem;\n container-type: inline-size;\n}\n.form-ctrl.has-helper-end.sc-nano-input .form-ctrl__wrapper.sc-nano-input {\n flex: 1 1 100%;\n}\n.form-ctrl.has-helper-end.sc-nano-input .form-ctrl__helper-end.sc-nano-input {\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-input {\n display: block;\n}\n\nlabel.sc-nano-input, .form-ctrl__more.sc-nano-input, .form-ctrl__error.sc-nano-input, .form-ctrl__helper.sc-nano-input {\n display: block;\n}\nlabel.visually-hide.sc-nano-input, .form-ctrl__more.visually-hide.sc-nano-input, .form-ctrl__error.visually-hide.sc-nano-input, .form-ctrl__helper.visually-hide.sc-nano-input {\n clip-path: inset(50%);\n block-size: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n inline-size: 1px;\n}\n\n.form-ctrl__float-label.sc-nano-input {\n padding-block: 0;\n padding-inline: var(--padding-start) 0;\n color: var(--label-color);\n position: absolute;\n font-size: 1em;\n transform: translateY(-50%);\n inset-block-start: 50%;\n transition: all 0.125s ease-in;\n opacity: 1;\n}\n.has-focus.sc-nano-input-h .form-ctrl__float-label.sc-nano-input, .has-value.sc-nano-input-h .form-ctrl__float-label.sc-nano-input {\n transform: none;\n font-size: 0.75em;\n opacity: 0.7;\n inset-block-start: var(--padding-top);\n}\n.form-ctrl__float-label.sc-nano-input .form-ctrl__label-charcount.sc-nano-input {\n opacity: 0;\n transition: opacity 0.125s ease-in;\n}\n.has-focus.sc-nano-input-h .form-ctrl__float-label.sc-nano-input .form-ctrl__label-charcount.sc-nano-input, .has-value.sc-nano-input-h .form-ctrl__float-label.sc-nano-input .form-ctrl__label-charcount.sc-nano-input {\n opacity: 1;\n}\n\n.form-ctrl__label.sc-nano-input {\n color: var(--label-color);\n font-size: var(--label-font-size);\n padding-block-end: var(--padding-bottom);\n line-height: 1;\n display: flex;\n align-items: center;\n}\n.form-ctrl__label.sc-nano-input .form-ctrl__label-wrap.sc-nano-input {\n flex: 1;\n overflow-x: clip;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.form-ctrl__label.sc-nano-input .form-ctrl__label-placeholder.sc-nano-input {\n margin-block: unset;\n margin-inline: 0 5px;\n opacity: 0;\n appearance: none;\n transition: 0.3s ease opacity;\n font-size: 0.85em;\n}\n.form-ctrl__label.sc-nano-input .form-ctrl__label-charcount.sc-nano-input {\n margin-block: unset;\n margin-inline: auto 0;\n font-size: var(--nano-font-size-2xs);\n opacity: 0.5;\n}\n.has-value.sc-nano-input-h .form-ctrl__label.sc-nano-input .form-ctrl__label-placeholder.sc-nano-input {\n opacity: 0.5;\n}\n\n.has-float-label.sc-nano-input .select__multi-input.sc-nano-input, .has-float-label.sc-nano-input .select__native-input.sc-nano-input, .has-float-label.sc-nano-input .input__native-ctrl.sc-nano-input {\n opacity: 0;\n transition: opacity 0.125s ease-in;\n}\n.has-focus.sc-nano-input-h .has-float-label.sc-nano-input .select__multi-input.sc-nano-input, .has-value.sc-nano-input-h .has-float-label.sc-nano-input .select__multi-input.sc-nano-input, .has-focus.sc-nano-input-h .has-float-label.sc-nano-input .select__native-input.sc-nano-input, .has-value.sc-nano-input-h .has-float-label.sc-nano-input .select__native-input.sc-nano-input, .has-focus.sc-nano-input-h .has-float-label.sc-nano-input .input__native-ctrl.sc-nano-input, .has-value.sc-nano-input-h .has-float-label.sc-nano-input .input__native-ctrl.sc-nano-input {\n opacity: 1;\n}\n\n.form-ctrl__more.sc-nano-input {\n position: relative;\n margin-block: var(--padding-bottom) 0;\n margin-inline: 0;\n opacity: 0;\n display: none;\n transition: all var(--nano-transition-fast) ease;\n transition-behavior: allow-discrete;\n}\n.form-ctrl__more.sc-nano-input > *.sc-nano-input {\n grid-column: 1;\n grid-row: 1;\n}\n.has-helper.sc-nano-input .form-ctrl__more.sc-nano-input, .has-error.sc-nano-input .form-ctrl__more.sc-nano-input {\n display: grid;\n opacity: 1;\n}\n\n.form-ctrl__helper.sc-nano-input, .form-ctrl__error.sc-nano-input {\n font-size: var(--more-font-size);\n line-height: 1.2;\n transition: 0.3s ease-out opacity;\n}\n\n.form-ctrl__helper.sc-nano-input {\n font-style: italic;\n color: var(--help-msg-color);\n}\n[show-inline-error].sc-nano-input-h:not([show-inline-error=false]).is-invalid .form-ctrl__helper.sc-nano-input {\n opacity: 0;\n}\n\n.form-ctrl__helper-end.sc-nano-input {\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-input {\n opacity: 0;\n color: var(--invalid-msg-color);\n font-style: italic;\n}\n.is-invalid.sc-nano-input-h:not([disabled]) .form-ctrl__error.sc-nano-input {\n opacity: 1;\n}\n\n.form-ctrl__input.sc-nano-input {\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) var(--input-border-width);\n font-size: var(--input-font-size);\n padding-inline-start: calc(var(--input-invalid-border-hint-width) - var(--input-border-width)) !important;\n}\n.form-ctrl__input.sc-nano-input:focus-visible, .form-ctrl__input.sc-nano-input:focus-within, .has-focus.sc-nano-input-h .form-ctrl__input.sc-nano-input {\n outline: var(--nano-focus-ring-color) solid 3px;\n outline-offset: -2px;\n}\n.is-invalid.sc-nano-input-h:not([disabled]) .form-ctrl__input.sc-nano-input {\n border-inline-start: solid var(--color-invalid) var(--input-invalid-border-hint-width);\n padding-inline-start: 0 !important;\n}\n.is-invalid.has-focus.sc-nano-input-h:not([disabled]) .form-ctrl__input.sc-nano-input {\n border-color: var(--color-invalid);\n border-inline-start: solid var(--color-invalid) var(--input-invalid-border-hint-width);\n padding-inline-start: 0 !important;\n}\n\n.form-ctrl__input-wrap.sc-nano-input {\n display: flex;\n flex: 1;\n max-inline-size: 100%;\n align-items: center;\n}\n[type=textarea].sc-nano-input-h .form-ctrl__input-wrap.sc-nano-input {\n align-items: start;\n}\n\n.form-ctrl__clear-btn.sc-nano-input, .form-ctrl__slot-end.sc-nano-input, .form-ctrl__slot-start.sc-nano-input, .form-ctrl__slot-value-end.sc-nano-input {\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: center;\n inline-size: auto;\n padding-inline-end: var(--padding-end);\n padding-block: var(--padding-top) var(--padding-bottom);\n}\n.form-ctrl__clear-btn.sc-nano-input:empty, .form-ctrl__slot-end.sc-nano-input:empty, .form-ctrl__slot-start.sc-nano-input:empty, .form-ctrl__slot-value-end.sc-nano-input:empty {\n display: none;\n}\n\n.form-ctrl__slot-end.sc-nano-input {\n padding-block: calc(var(--padding-top) / 2) calc(var(--padding-bottom) / 2);\n}\n\n.form-ctrl__slot-start.sc-nano-input {\n padding-inline-end: 0;\n}\n.has-float-label.sc-nano-input .form-ctrl__slot-start.sc-nano-input {\n display: none;\n}\n\n.form-ctrl__slot-start.sc-nano-input-s > *, .form-ctrl__slot-start.sc-nano-input-s > *, .form-ctrl__slot-start .sc-nano-input-s > *, .form-ctrl__slot-end.sc-nano-input-s > *, .form-ctrl__slot-end .sc-nano-input-s > *, .form-ctrl__slot-value-end.sc-nano-input-s > :not(slot-fb), .form-ctrl__slot-value-end .sc-nano-input-s > :not(slot-fb) {\n padding-inline: unset;\n align-items: center;\n display: flex;\n block-size: 100%;\n z-index: 1;\n}\n.sc-nano-input-h[disabled]:not([disabled=false]) .form-ctrl__slot-start.sc-nano-input-s > *, .form-ctrl__slot-start.sc-nano-input-s > *, .form-ctrl__slot-start .sc-nano-input-s > *, .sc-nano-input-h[disabled]:not([disabled=false]) .form-ctrl__slot-end.sc-nano-input-s > *, .form-ctrl__slot-end .sc-nano-input-s > *, .sc-nano-input-h[disabled]:not([disabled=false]) .form-ctrl__slot-value-end.sc-nano-input-s > :not(slot-fb), .form-ctrl__slot-value-end .sc-nano-input-s > :not(slot-fb) {\n pointer-events: none;\n}\n\n.form-ctrl__slot-start.sc-nano-input-s > *, .form-ctrl__slot-start.sc-nano-input-s > *, .form-ctrl__slot-start .sc-nano-input-s > * {\n margin-inline: var(--padding-start) 0;\n}\n\n.form-ctrl__slot-value-end.sc-nano-input-s > *, .form-ctrl__slot-value-end.sc-nano-input-s > *, .form-ctrl__slot-value-end .sc-nano-input-s > *, .form-ctrl__slot-value-end.sc-nano-input *.sc-nano-input {\n pointer-events: none;\n}\n\n.form-ctrl__clear-btn.sc-nano-input {\n color: var(--clear-btn-color);\n padding: 0;\n opacity: 0;\n inline-size: 0;\n appearance: none;\n align-items: center;\n overflow: hidden;\n padding-block: var(--padding-top) var(--padding-bottom);\n}\n.is-invalid.sc-nano-input-h .form-ctrl__clear-btn.sc-nano-input {\n color: var(--clear-btn-color--invalid);\n}\n.has-value.sc-nano-input-h .form-ctrl__clear-btn.sc-nano-input {\n padding-inline: 0 var(--padding-end);\n opacity: 1;\n inline-size: auto;\n}\n.form-ctrl__clear-btn.sc-nano-input:hover {\n color: var(--clear-btn-color--hover);\n}\n\n.form-ctrl__validation-icon.sc-nano-input {\n padding-block: var(--padding-top) var(--padding-bottom);\n padding-inline-end: var(--padding-end);\n display: grid;\n grid-template-areas: "overlay";\n}\n.sc-nano-input-h:not(.is-invalid .form-ctrl__validation-icon.sc-nano-input, .is-valid).sc-nano-input-h .form-ctrl__validation-icon.sc-nano-input {\n display: none;\n}\n\n.form-ctrl__error-icon.sc-nano-input, .form-ctrl__success-icon.sc-nano-input {\n color: var(--color-valid);\n opacity: 0;\n transition: 0.3s ease-out opacity;\n grid-area: overlay;\n}\n\n.is-valid.sc-nano-input-h .form-ctrl__success-icon.sc-nano-input {\n opacity: 1;\n}\n\n.form-ctrl__error-icon.sc-nano-input {\n color: var(--color-invalid);\n}\n.is-invalid.sc-nano-input-h .form-ctrl__error-icon.sc-nano-input {\n opacity: 1;\n}\n\n.sc-nano-input-h {\n \n --placeholder-color: var(--nano-color-neutral-1000);\n --padding-top: var(--nano-spacing-sm);\n --padding-end: var(--nano-spacing-sm);\n --padding-bottom: var(--nano-spacing-sm);\n --padding-start: var(--nano-spacing-sm);\n --color-invalid: var(--nano-color-danger-1100);\n --color-valid: var(--nano-color-success-1000);\n --input-font-size: var(--nano-font-size-sm);\n --input-text-color: var(--nano-color-base-1000);\n --input-border-width: 1px;\n --input-border-color: var(--nano-color-neutral-300);\n --input-border-radius: 0px;\n --input-invalid-border-hint-width: 2px;\n --input-border-style: solid var(--input-border-color);\n --input-border-style--focus: solid var(--input-border-width) var(--nano-color-primary-700);\n --input-bg-color: var(--nano-color-base-0);\n --invalid-msg-color: var(--color-invalid);\n --help-msg-color: var(--nano-color-base-1000);\n --more-font-size: var(--nano-font-size-2xs);\n --clear-btn-color: rgb(var(--nano-color-base-rgb-1000) / 60%);\n --clear-btn-color--hover: rgb(var(--nano-color-base-rgb-1000) / 100%);\n --clear-btn-color--invalid: rgb(var(--color-invalid) / 100%);\n --label-color: var(--nano-color-base-1000);\n --label-font-size: var(--nano-font-size-xs);\n position: relative;\n inline-size: 100%;\n padding: 0 !important;\n color: currentcolor;\n display: block;\n}\n\n[type=date].sc-nano-input-h .input__date-trigger.sc-nano-input {\n color: var(--nano-color-primary-1200);\n}\n[type=date].sc-nano-input-h .input__date-dropdown.sc-nano-input {\n --overflow: visible;\n}\n[type=date].sc-nano-input-h .input__date-close.sc-nano-input {\n position: absolute;\n inset-inline-end: 0;\n inset-block: 0;\n opacity: 0;\n z-index: 2;\n}\n[type=date].sc-nano-input-h .input__date-close.sc-nano-input:focus {\n opacity: 1;\n}\n@supports selector(::-moz-placeholder) {\n [type=date].sc-nano-input-h .form-ctrl__input-wrap.sc-nano-input {\n justify-content: end;\n min-block-size: 2.5em;\n }\n [type=date].sc-nano-input-h .input__native-ctrl.sc-nano-input {\n position: absolute;\n inset-inline-start: 0;\n inset-block-start: 0;\n }\n [type=date].sc-nano-input-h .input__date-dropdown.sc-nano-input {\n background-color: var(--nano-color-base-0);\n }\n}\n\n.input__native-ctrl.sc-nano-input {\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 appearance: none;\n -webkit-rtl-ordering: logical;\n padding-block: 0;\n padding-inline: var(--padding-start) var(--padding-end);\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 inline-size: 100%;\n max-inline-size: 100%;\n max-block-size: 100%;\n border: 0;\n outline: none;\n background: transparent;\n margin: 0;\n box-sizing: border-box;\n resize: none;\n overflow: hidden;\n line-height: 2.5em;\n min-block-size: 2.5em;\n \n}\n.has-float-label.sc-nano-input .input__native-ctrl.sc-nano-input {\n line-height: 2.1em;\n min-block-size: 2.1em;\n padding-block-start: 1.4em;\n}\n.input__native-ctrl.sc-nano-input::placeholder {\n color: var(--placeholder-color);\n font-family: inherit;\n font-style: initial;\n font-weight: initial;\n line-height: inherit;\n min-block-size: initial;\n}\n.input__native-ctrl.sc-nano-input::-moz-placeholder {\n line-height: 2.8em;\n text-overflow: ellipsis;\n}\n.input__native-ctrl.sc-nano-input:-webkit-autofill {\n background-color: transparent;\n}\n.input__native-ctrl.sc-nano-input::-webkit-search-decoration, .input__native-ctrl.sc-nano-input::-webkit-search-cancel-button, .input__native-ctrl.sc-nano-input::-webkit-search-results-button, .input__native-ctrl.sc-nano-input::-webkit-search-results-decoration {\n appearance: none;\n}\n.input__native-ctrl.sc-nano-input::-webkit-calendar-picker-indicator {\n display: none;\n}\n.input__native-ctrl.sc-nano-input::-webkit-datetime-edit {\n display: block;\n padding: 0;\n}\n.input__native-ctrl.sc-nano-input:invalid {\n box-shadow: none;\n}\n.input__native-ctrl.sc-nano-input::-ms-clear, .input__native-ctrl.sc-nano-input::-ms-reveal {\n display: none;\n}\n.input__native-ctrl.input__resizable.sc-nano-input {\n resize: vertical;\n overflow: auto;\n}\n.form-ctrl__textarea.sc-nano-input .input__native-ctrl.sc-nano-input {\n line-height: 1.5em;\n padding-block: calc(var(--padding-top) - 3px) 0.5em;\n white-space: pre-wrap;\n}\n.form-ctrl__textarea.sc-nano-input .input__native-ctrl.sc-nano-input::placeholder {\n line-height: 1.5em;\n}\n.has-float-label.sc-nano-input .form-ctrl__textarea.sc-nano-input .input__native-ctrl.sc-nano-input {\n padding-block-start: 1.75em;\n}\n[readonly].sc-nano-input-h:not([readonly=false]) .input__native-ctrl.sc-nano-input {\n -webkit-user-select: none;\n user-select: none;\n}';export{I as nano_date_picker,L as nano_input}
|
4
|
+
import{r as n,c as t,g as e,a}from"./index-BM3Om9WE.js";import{h as i,t as o}from"./renderer-DasB4P10.js";import{i as s,g as r,b as l,D as c,p as d,d as h,s as p,e as u,f as b,h as f,j as _,k as m,l as v,a as g}from"./date-utils-BZYdjI1P.js";import{c as y}from"./dom-dlicJTEJ.js";import{a as k}from"./throttle-C93FMm2Z.js";import{F as x,a as w}from"./form-control-BCJMGxR_.js";const z={buttonLabel:"Choose date",placeholder:"YYYY-MM-DD",selectedDateMessage:"Selected date is",prevMonthLabel:"Previous month",nextMonthLabel:"Next month",monthSelectLabel:"Month",yearSelectLabel:"Year",closeLabel:"Close window",keyboardInstruction:"You can use arrow keys to navigate dates",calendarHeading:"Choose a date",dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},D=({focusedDay:n,today:t,day:e,onDaySelect:a,onKeyboardNavigation:o,focusedDayRef:r,inRange:l,disabled:c,isSelected:d})=>{const h=s(e,t),p=s(e,n),u=e.getMonth()!==n.getMonth()||c,b=!l;return i("button",{class:{"duet-date__day":!0,"is-outside":b,"is-disabled":u,"is-today":h},tabIndex:p?0:-1,onClick:function(n){a(n,e)},onKeyDown:o,disabled:b,type:"button","aria-pressed":d?"true":"false",ref:n=>{p&&n&&r&&r(n)}},i("span",{"aria-hidden":"true"},e.getDate()),i("span",{class:"duet-date__vhidden"},e.toLocaleDateString(void 0,{day:"numeric",month:"long"})))},C=({selectedDate:n,focusedDate:t,labelledById:e,localization:a,firstDayOfWeek:o,min:c,max:d,onDateSelect:h,onKeyboardNavigation:p,focusedDayRef:u,onMouseDown:b,onFocusIn:f,isDateDisabled:_})=>{const m=new Date,v=r(t,o);return i("table",{class:"duet-date__table",role:"grid","aria-labelledby":e,onFocusin:f,onMouseDown:b},i("thead",null,i("tr",null,(y=o,k=n=>i("th",{class:"duet-date__table-header",scope:"col"},i("span",{"aria-hidden":"true"},n.substring(0,2)),i("span",{class:"duet-date__vhidden"},n)),(g=a.dayNames).map(((n,t)=>k(g[(t+y)%g.length])))))),i("tbody",null,function(n){const t=[];for(let e=0;e<n.length;e+=7)t.push(n.slice(e,e+7));return t}(v).map((e=>i("tr",{class:"duet-date__row"},e.map((e=>i("td",{class:"duet-date__cell",role:"gridcell","aria-selected":s(e,n)?"true":void 0},i(D,{day:e,today:m,focusedDay:t,inRange:l(e,c,d),onDaySelect:h,onKeyboardNavigation:p,focusedDayRef:u,disabled:_(e),isSelected:s(e,n)})))))))));var g,y,k};let S=0;const I=class{constructor(e){n(this,e),this.nanoDatePicked=t(this,"nanoDatePicked",7)}dateId="nano-datepicker-"+S++;monthSelectId=this.dateId+"-month";yearSelectId=this.dateId+"-year";dialogLabelId=this.dateId+"-dialog";firstFocusableElement;monthSelectNode;focusedDayNode;focusTimeoutId;initialTouchX=null;initialTouchY=null;get host(){return e(this)}activeFocus=!1;focusedDay=new Date;_selectedDate="";get selectedDate(){return this._selectedDate}set selectedDate(n){"string"==typeof n?(n=n.split("T")[0],this._selectedDate=n):this._selectedDate=""}min="";max="";firstDayOfWeek=c.Monday;localization=z;isDateDisabled=()=>!1;isModal=!1;firstFocusEle;nanoDatePicked;async setFocus(n=!1){this.setFocusedDay(d(this.selectedDate)||new Date),n?setTimeout((()=>this.focusedDayNode.focus({preventScroll:!0})),20):(clearTimeout(this.focusTimeoutId),this.focusTimeoutId=setTimeout((()=>{this.monthSelectNode.focus({preventScroll:!0})}),20))}handleSelectedDateChange(){this.setFocus(!0)}enableActiveFocus=()=>{this.activeFocus=!0};disableActiveFocus=()=>{this.activeFocus=!1};addDays(n){this.setFocusedDay(h(this.focusedDay,n))}addMonths(n){this.setMonth(this.focusedDay.getMonth()+n)}addYears(n){this.setYear(this.focusedDay.getFullYear()+n)}startOfWeek(){this.setFocusedDay(p(this.focusedDay,this.firstDayOfWeek))}endOfWeek(){this.setFocusedDay(u(this.focusedDay,this.firstDayOfWeek))}setMonth(n){const t=b(f(this.focusedDay),n),e=_(t),a=b(this.focusedDay,n);this.setFocusedDay(m(a,t,e))}setYear(n){const t=v(f(this.focusedDay),n),e=_(t),a=v(this.focusedDay,n);this.setFocusedDay(m(a,t,e))}setFocusedDay(n){this.focusedDay=m(n,d(this.min),d(this.max))}handleTouchStart=n=>{const t=n.changedTouches[0];this.initialTouchX=t.pageX,this.initialTouchY=t.pageY};handleTouchMove=n=>{n.preventDefault()};handleTouchEnd=n=>{const t=n.changedTouches[0],e=t.pageX-this.initialTouchX,a=t.pageY-this.initialTouchY;Math.abs(e)>=70&&Math.abs(a)<=70&&this.addMonths(e<0?1:-1),this.initialTouchY=null,this.initialTouchX=null};handleNextMonthClick=n=>{n.preventDefault(),this.addMonths(1)};handlePreviousMonthClick=n=>{n.preventDefault(),this.addMonths(-1)};handleKeyboardNavigation=n=>{if("Tab"===n.key&&!n.shiftKey&&this.isModal){n.preventDefault();const t=this.firstFocusEle||this.firstFocusableElement;return void(t.setFocus?t.setFocus():t.focus())}let t=!0;switch(n.key){case"ArrowRight":this.addDays(1);break;case"ArrowLeft":this.addDays(-1);break;case"ArrowDown":this.addDays(7);break;case"ArrowUp":this.addDays(-7);break;case"PageUp":n.shiftKey?this.addYears(-1):this.addMonths(-1);break;case"PageDown":n.shiftKey?this.addYears(1):this.addMonths(1);break;case"Home":this.startOfWeek();break;case"End":this.endOfWeek();break;default:t=!1}t&&(n.preventDefault(),this.enableActiveFocus())};handleDaySelect=(n,t)=>{const e=!this.isDateDisabled(t);l(t,d(this.min),d(this.max))&&e&&(t.getMonth()===this.focusedDay.getMonth()?this.setValue(t):this.setFocusedDay(t))};handleMonthSelect=n=>{this.setMonth(parseInt(n.target.value,10))};handleYearSelect=n=>{this.setYear(parseInt(n.target.value,10))};setValue(n){this.selectedDate=g(n),this.nanoDatePicked.emit({value:this.selectedDate,valueAsDate:n})}processFocusedDayNode=n=>{this.focusedDayNode=n,this.activeFocus&&setTimeout((()=>n.focus({preventScroll:!0})),0)};componentWillLoad(){this.handleSelectedDateChange()}render(){const n=d(this.selectedDate),t=(n||this.focusedDay).getFullYear(),e=this.focusedDay.getMonth(),o=this.focusedDay.getFullYear(),s=d(this.min),r=d(this.max),c=null!=s&&s.getMonth()===e&&s.getFullYear()===o,h=null!=r&&r.getMonth()===e&&r.getFullYear()===o;let p=t-10,u=t+10;return s&&(p=s.getFullYear()),r&&(u=r.getFullYear()),i(a,{key:"d3b992532815f40dbd9fcb7b0ddfaa27d703899b",class:"nano-date-picker"},i("div",{key:"c1be847528fac0224c54110aa77a7b471969c34d",class:"duet-date"},i("div",{key:"8aa8dceea4d272bf171924bfbf59a4f645bed23d",class:{"duet-date__dialog":!0,"is-active":!0},onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd},i("div",{key:"374d34c706b3972971ebfc05d32d4f2cfb8721de",class:"duet-date__dialog-content"},i("div",{key:"4713d41d66ae2bc7057ec337080cd54700b51033",class:"duet-date__vhidden duet-date__instructions","aria-live":"polite"},this.localization.keyboardInstruction),i("div",{key:"b602d630814a176a066dab67645178fd15a7ca22",class:"duet-date__header",onFocusin:this.disableActiveFocus},i("div",{key:"2cc00317d6468c2ea5c477249774eec83f5b94da"},i("h2",{key:"0f420e58b51e50d6d973330665c508ca8167f3c3",id:this.dialogLabelId,class:"duet-date__vhidden","aria-live":"polite"},this.localization.monthNames[e]," ",this.focusedDay.getFullYear()),i("label",{key:"56192f5d51880678b86137cca89cb4a98515e03e",htmlFor:this.monthSelectId,class:"duet-date__vhidden"},this.localization.monthSelectLabel),i("div",{key:"900c7995f2a3c51b5d22fee6176518940e7efc27",class:"duet-date__select"},i("select",{key:"22bef19a74a42e7864d6cff32707adc7c0cc52b6",id:this.monthSelectId,class:"duet-date__select--month",ref:n=>this.firstFocusableElement=this.monthSelectNode=n,onChange:this.handleMonthSelect},this.localization.monthNames.map(((n,t)=>i("option",{key:n,value:t,selected:t===e,disabled:!l(new Date(o,t,1),s?f(s):null,r?_(r):null)},n)))),i("div",{key:"ba1108c781547bbaba8da184f07fd7d36b12cb4c",class:"duet-date__select-label","aria-hidden":"true"},i("span",{key:"8cd8018d9b68129e69219b9bffcd978a394269a5"},this.localization.monthNamesShort[e]),i("nano-icon",{key:"e2b440b6adf599930d20e584c92c5f66d52564fd",name:"light/chevron-down"}))),i("label",{key:"043530523830f9c5a67682c47cfb6dc0464f3133",htmlFor:this.yearSelectId,class:"duet-date__vhidden"},this.localization.yearSelectLabel),i("div",{key:"e2e43ad2280255eb46cf06b9328af9bbefbe96a5",class:"duet-date__select"},i("select",{key:"eaaa7a64a034d1723c20b42cf14c8cea0f8c78b1",id:this.yearSelectId,class:"duet-date__select--year",onChange:this.handleYearSelect},function(n,t){const e=[];for(let a=n;a<=t;a++)e.push(a);return e}(p,u).map((n=>i("option",{key:n,selected:n===o},n)))),i("div",{key:"c6ce7ec0f073caad0bd6ab09d03f1e20f5433e97",class:"duet-date__select-label","aria-hidden":"true"},i("span",{key:"3f985ad9b631cb140f4e551ab2f20cbdef88da6a"},this.focusedDay.getFullYear()),i("nano-icon",{key:"1b06f5e08b8b33bcc7d641abe122e3bb0fad05ba",name:"light/chevron-down"})))),i("div",{key:"4ea6d2f63406af47b4aba3b137c778aa9fed2524",class:"duet-date__nav"},i("button",{key:"6cd94d90c91aa0ccbd74a9ba361b7d894ef9fccf",class:"duet-date__prev",onClick:this.handlePreviousMonthClick,disabled:c,type:"button"},i("nano-icon",{key:"83d33e3779d7249634afbd8f1cd1c6476bad4697",name:"light/chevron-left"}),i("span",{key:"2318ef1d137f42a93240efc4caa15b376f079909",class:"duet-date__vhidden"},this.localization.prevMonthLabel)),i("button",{key:"f8c400b9e644687ce1279a70e6fc5c0b1aec6aac",class:"duet-date__next",onClick:this.handleNextMonthClick,disabled:h,type:"button"},i("nano-icon",{key:"a4ef19900fdfee3cc340ab6bba83dcf782e9b21a",name:"light/chevron-right"}),i("span",{key:"da03dc579aeb3dc5a00b2c647f78b71186cc7d74",class:"duet-date__vhidden"},this.localization.nextMonthLabel)))),i("div",{key:"ec82cee96b94f0b4a36993d42bae2eb02a392522"},i(C,{key:"e84697f87540abe1e8cfd47903655ac8b68ba08d",selectedDate:n,focusedDate:this.focusedDay,onDateSelect:this.handleDaySelect,onKeyboardNavigation:this.handleKeyboardNavigation,labelledById:this.dialogLabelId,localization:this.localization,firstDayOfWeek:this.firstDayOfWeek,focusedDayRef:this.processFocusedDayNode,min:s,max:r,isDateDisabled:this.isDateDisabled}))))))}static get watchers(){return{selectedDate:["handleSelectedDateChange"]}}};I.style=':host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host{--active-color:var(--nano-color-primary-1000);--active-text-color:var(--nano-color-base-0);--inactive-color:var(--nano-color-neutral-300);display:block;font-size:16px;background:var(--nano-color-neutral-50)}.duet-date *,.duet-date *::before,.duet-date *::after{box-sizing:border-box;margin:0}.duet-date{box-sizing:border-box;color:currentcolor;display:block;margin:0;position:relative;text-align:start;inline-size:100%}.duet-date__dialog{display:flex;inset-block-start:100%;max-inline-size:100%;inline-size:100%}.duet-date__dialog.is-left{inset-inline:auto 0;inline-size:auto}.duet-date__dialog-content{min-inline-size:290px;padding:var(--nano-spacing-md);position:relative;transform:none;max-inline-size:100%;inline-size:100%}.duet-date__table{border-collapse:collapse;border-spacing:0;font-size:1em;line-height:1;text-align:center;inline-size:100%}.duet-date__table-header{font-size:0.75em;font-weight:600;letter-spacing:1px;line-height:1;padding-block-end:8px;text-decoration:none;text-transform:uppercase}.duet-date__cell{text-align:center;padding:0 0 3px}.duet-date__day{appearance:none;background:transparent;border:0;border-radius:50%;cursor:pointer;display:inline-block;font-size:0.875em;font-variant-numeric:tabular-nums;line-height:1;position:relative;text-align:center;vertical-align:middle;z-index:1;block-size:2.5em;inline-size:2.5em}.duet-date__day.is-today{box-shadow:0 0 0 1px var(--active-color);position:relative}.duet-date__day:hover::before,.duet-date__day.is-today::before{content:"";background:var(--active-color);border-radius:50%;opacity:0.16;position:absolute;inset:0}[aria-selected=true] .duet-date__day{background:var(--active-color) !important;color:var(--active-text-color);box-shadow:none;outline:0}.duet-date__day:not(.is-disabled):active{background:color-mix(in srgb, var(--active-color), black 20%);color:var(--active-text-color)}.duet-date__day:focus-visible{outline:var(--nano-focus-ring);outline-offset:-1px;z-index:2}.duet-date__day.is-disabled{background:transparent;box-shadow:none;cursor:default;opacity:0.5}.duet-date__day.is-disabled::before{display:none}.duet-date__day.is-outside{background:var(--inactive-color);box-shadow:none;cursor:default;opacity:0.8;pointer-events:none}.duet-date__day.is-outside::before{display:none}.duet-date__header{align-items:center;display:flex;justify-content:space-between;margin-block-end:var(--nano-spacing-md);inline-size:100%}.duet-date__nav{white-space:nowrap}.duet-date__prev,.duet-date__next{background:var(--inactive-color);align-items:center;appearance:none;border:0;border-radius:50%;cursor:pointer;display:inline-flex;justify-content:space-around;margin-inline-start:8px;padding:0;font-size:0.9em;block-size:2.2em;inline-size:2.2em}.duet-date__prev:focus-visible,.duet-date__next:focus-visible{outline:var(--nano-focus-ring);outline-offset:var(--nano-focus-ring-offset)}.duet-date__prev:active,.duet-date__next:active{background:color-mix(in srgb, var(--inactive-color), black 20%)}.duet-date__prev:disabled,.duet-date__next:disabled{cursor:default;opacity:0.7}.duet-date__prev .nano-icon,.duet-date__next .nano-icon{margin-block:0;margin-inline:auto}.duet-date__select{display:inline-flex;margin-block-start:4px;position:relative}.duet-date__select span{margin-inline-end:4px}.duet-date__select select{cursor:pointer;font-size:1em;block-size:100%;inset-inline-start:0;opacity:0;position:absolute;inset-block-start:0;inline-size:100%;z-index:2}.duet-date__select select:focus-visible:focus+.duet-date__select-label{outline:var(--nano-focus-ring);outline-offset:var(--nano-focus-ring-offset)}.duet-date__select-label{align-items:center;display:flex;font-size:1.25em;font-weight:600;line-height:1;padding-block:0;padding-inline:8px 4px;pointer-events:none;position:relative;inline-size:100%;z-index:1}.duet-date__select-label .nano-icon{font-size:0.55em}.duet-date__vhidden{border:0;clip:rect(1px, 1px, 1px, 1px);block-size:1px;overflow:hidden;padding:0;position:absolute;inset-block-start:0;inline-size:1px}';let M=0;const L=class{nativeInput;inputId="nano-input-"+M++;didBlurAfterEdit=!1;rtl=!1;mo;charCount=0;hasRendered=!1;pickerDropdown;picker;pickerCloseBtn;shouldValidate=!1;_nativeInputWrap;get nativeInputWrap(){return this._nativeInputWrap}set nativeInputWrap(n){this._nativeInputWrap!==n&&(this._nativeInputWrap=n,this.setDataListOpts())}constructor(e){n(this,e),this.nanoInput=t(this,"nanoInput",7),this.nanoChange=t(this,"nanoChange",7),this.nanoBlur=t(this,"nanoBlur",7),this.nanoFocus=t(this,"nanoFocus",7),this.nanoDidLoad=t(this,"nanoDidLoad",7),this.nanoDidUnload=t(this,"nanoDidUnload",7),this.nanoValidate=t(this,"nanoValidate",7),this.handleBlur=this.handleBlur.bind(this)}hasFocus=!1;hasLabelSlot=!1;hasHelperSlot=!1;hasHelperEndSlot=!1;errorMessage="";datalist=null;setDataListOpts(){this.datalist&&(this.datalist.dropDownConfig={distance:10,...this.datalist.dropDownConfig||{},skidding:-1,tetherTo:this.nativeInputWrap})}get el(){return e(this)}get invalid(){return this._invalid}_invalid=null;get validityMessage(){return this.nativeInput?this.nativeInput.validationMessage:""}accept;autocapitalise="none";autocomplete="off";autocorrect="off";autofocus=!1;clearable=!1;clearOnEdit;debounce=0;debounceChanged(){this.nanoChange=k(this.nanoChange,this.debounce)}disabled=!1;inputmode;validateOn="submitThenDirty";showInlineError=!0;_label="";get label(){return this.required&&!this._label.endsWith("*")?this._label+" *":this._label}set label(n){this._label=n}alwaysShowPlaceholder=!1;hideLabel=!1;floatLabel=!1;max;maxlength;min;minlength;multiple;name=this.inputId;pattern;placeholder;readonly=!1;required=!1;spellcheck=!1;step;size;type="text";form;value="";valueChanged(){this.nanoChange.emit({value:this.value}),this.charCount=this.value?.length||0,"textarea"===this.type&&"auto"===this.resize&&(this.nativeInput.style.height="auto",this.value?.length&&(this.nativeInput.style.height=this.nativeInput.scrollHeight+"px")),"date"===this.type&&(this.isDateDisabled(this.valueAsDate)?this.nativeInput.setCustomValidity("Date selected is not available."):"Date selected is not available."===this.nativeInput.validationMessage&&this.nativeInput.setCustomValidity("")),this.shouldValidate=!0}get valueAsNumber(){return"textarea"===this.type?NaN:this.nativeInput?.valueAsNumber||NaN}get valueAsDate(){return"textarea"===this.type?null:new Date(this.value)}showCharCount=!1;handleValidatePropChange(){this.hasRendered&&(this.shouldValidate=!0)}resize="auto";rows=2;showPicker=!0;isDateDisabled=()=>!1;initialPickerDate;closeAfterPicked=!0;pickerOptions={};nanoInput;nanoChange;nanoBlur;nanoFocus;nanoDidLoad;nanoDidUnload;nanoValidate;async reportValidity(n){return new Promise((t=>{n&&this.validate(),setTimeout((()=>{t({isValid:!this._invalid,errorMessage:this.nativeInput.validationMessage})}),50)}))}async setFocus(){this.nativeInput&&(this.nativeInput.focus(),this.nativeInput.click())}async select(){this.nativeInput&&this.nativeInput.select()}getInputElement(){return Promise.resolve(this.nativeInput)}async showError(n){this.nativeInput&&(this.nativeInput.setCustomValidity(n),this.validate())}onReset(n){(this.form?document.querySelector("#"+this.form):this.el.closest("form"))&&n.target===this.el.closest("form")&&(this.value="")}handleBlur(n){if(!this.hasFocus)return;const t=n;let e;requestAnimationFrame((()=>{if(n instanceof KeyboardEvent&&t.key){if("Tab"!==t.key)return;e=document.activeElement}else e=n instanceof FocusEvent?document.activeElement:n.target;y(this.el.tagName.toLowerCase(),e)!==this.el&&this.onBlur()}))}shouldClearOnEdit(){const{type:n,clearOnEdit:t}=this;return void 0===t?"password"===n:t}getValue(){return this.value||""}validate=n=>{"submitThenDirty"===this.validateOn&&(this.validateOn="dirty"),this.nativeInput.validity?.valid?this._invalid=!1:(this.showInlineError&&(n&&n.preventDefault(),this.errorMessage=this.nativeInput.validationMessage),this._invalid=!0),this.nanoValidate.emit({isValid:!this._invalid,errorMessage:this.nativeInput.validationMessage,originalEvent:n})};onInput=n=>{const t=n.target;this.value=t?.value||"",this.nanoInput.emit(n)};onBlur=()=>{this.hasFocus=!1,this.focusChanged(),"dirty"===this.validateOn&&this.validate(),this.nanoBlur.emit()};onFocus=n=>{"date"===this.type&&n.preventDefault(),this.hasFocus=!0,this.focusChanged(),this.nanoFocus.emit()};onKeydown=n=>{"date"===this.type&&[" "].includes(n.key)&&(n.preventDefault(),this.showPicker&&this.pickerDropdown?.show()),this.shouldClearOnEdit()&&(this.didBlurAfterEdit&&this.hasValue()&&this.clearTextInput(),this.didBlurAfterEdit=!1)};clearTextInput=n=>{this.clearable&&!this.readonly&&!this.disabled&&n&&(n.preventDefault(),n.stopPropagation()),this.value="",this.nativeInput.value="";const t=new window.Event("change");this.nativeInput.dispatchEvent(t)};focusChanged(){!this.hasFocus&&this.shouldClearOnEdit()&&this.hasValue()&&(this.didBlurAfterEdit=!0)}hasValue(){return this.getValue().length>0}slotChangeObserver(){this.mo&&this.mo.disconnect(),(this.mo=new MutationObserver((()=>this.processSlottedContent()))).observe(this.el,{childList:!0,subtree:!0})}processSlottedContent(){this.hasLabelSlot=!!this.el.querySelectorAll('[slot="label"]'),this.hasHelperSlot=!!this.el.querySelector('[slot="helper"]'),this.hasHelperEndSlot=!!this.el.querySelector('[slot="helper-end"]'),this.datalist=this.el.querySelector(`${o("nano-datalist")}:not([slot])`)}connectedCallback(){this.debounceChanged(),this.el.dispatchEvent(new CustomEvent("nanoDidLoad",{detail:this.el}))}disconnectedCallback(){document.dispatchEvent(new CustomEvent("nanoDidUnload",{detail:this.el})),this.mo&&this.mo.disconnect()}componentDidLoad(){this.slotChangeObserver(),this.hasRendered=!0,this.autofocus&&setTimeout((()=>this.setFocus()),300)}componentWillLoad(){this.processSlottedContent()}componentDidRender(){this.shouldValidate&&(this.validate(),this.shouldValidate=!1)}render(){const n=this.getValue(),t=this.inputId+"-lbl",e=this.showInlineError||this.hasHelperSlot?this.inputId+"-more":"",o=this.hasHelperEndSlot?this.inputId+"-helper":"";this.rtl="rtl"===this.el.ownerDocument.dir;const s={...(({el:n,floatLabel:t,label:e,alwaysShowPlaceholder:a,errorMessage:i,type:o,showInlineError:s,hasHelperSlot:r,hasLabelSlot:l,hideLabel:c,placeholder:d,maxlength:h,charCount:p,showCharCount:u,rtl:b,hasHelperEndSlot:f})=>({el:n,floatLabel:t,label:e,alwaysShowPlaceholder:a,errorMessage:i,type:o,showInlineError:s,hasHelperSlot:r,hasLabelSlot:l,hideLabel:c,placeholder:d,maxlength:h,charCount:p,showCharCount:u,rtl:b,hasHelperEndSlot:f}))(this),labelId:t,moreId:e,helperEndId:o,hasValue:this.hasValue(),controlId:this.inputId},r=(({clearable:n,readonly:t,disabled:e})=>({clearable:n,readonly:t,disabled:e,clearControl:this.clearable}))(this);return i(a,{key:"636d7624bcfe136a0e93b55cf9fc38e272f7aed6","aria-disabled":this.disabled?"true":null,class:{"has-value":this.hasValue(),"has-focus":this.hasFocus,"is-invalid":!0===this._invalid,"is-valid":!1===this._invalid,"nano-input":!0}},i("div",{key:"942db1636f7d08dd581359b66df66ebf080d23ae",style:{width:"100%"}},i(x,{key:"d944b897545398b51ab0a76e1f8d62c57cd85843",...s,class:{"has-helper":this.hasHelperSlot,"has-error":!!this.errorMessage&&this.showInlineError&&!0===this._invalid}},i(w,{key:"efd29f841ff0724228fc47754a5aad8d82f88d49",...r,onClearText:this.clearTextInput,control:this.el,ref:n=>this.nativeInputWrap=n,showInlineError:this.showInlineError,endSlot:this.showPicker&&"date"===this.type&&!this.readonly&&!this.disabled&&[i("nano-dropdown",{slot:"end",dialogTitle:"Choose a date",class:"input__date-dropdown",part:"date__dropdown",placement:"bottom-end",skidding:10,distance:12,ref:n=>this.pickerDropdown=n,onNanoAfterShow:()=>this.picker.setFocus(!0)},i("nano-icon-button",{label:"Open date picker",iconName:"light/calendar-days",slot:"trigger",class:"input__date-trigger"}),i("div",null,i("div",{class:"date-field__close-bar"},i("nano-icon-button",{label:"Close date picker",iconName:"light/xmark",class:"input__date-close",onClick:n=>{n.target.closest("nano-dropdown")?.hide()},ref:n=>this.pickerCloseBtn=n})),i("nano-date-picker",{part:"date__picker",ref:n=>{this.picker=n,this.picker.firstFocusEle=this.pickerCloseBtn},...this.pickerOptions,isDateDisabled:this.isDateDisabled,onNanoDatePicked:n=>{this.value=n.detail.value,this.pickerDropdown?.hide()},min:this.min,max:this.max,"is-modal":!0,selectedDate:this.value||this.initialPickerDate||void 0})))]},"textarea"!==this.type&&i("input",{key:"ce5547777de11926717b27712f7d687171d0dde7",id:this.inputId,class:"input__native-ctrl",ref:n=>this.nativeInput=n,"aria-labelledby":t+" "+e+" "+o,disabled:this.disabled,accept:this.accept,autoCapitalize:this.autocapitalise,autoComplete:this.autocomplete,autoCorrect:this.autocorrect,autoFocus:this.autofocus,inputMode:this.inputmode,form:this.form,min:this.min,max:this.max,minLength:this.minlength,maxLength:this.maxlength,multiple:this.multiple,name:this.name,pattern:this.pattern,placeholder:this.placeholder,readOnly:this.readonly,required:this.required,spellcheck:this.spellcheck,step:this.step,size:this.size,type:this.type,value:n,onInput:this.onInput,onClick:n=>n.preventDefault(),onChange:this.onInput,onFocus:this.onFocus,onBlur:this.handleBlur,onKeyDown:this.onKeydown,onInvalid:this.validate}),"textarea"===this.type&&i("textarea",{key:"e1dc2377200cdccda85cdbb6cda08a49d8459c1e",rows:this.floatLabel?1:this.rows,id:this.inputId,class:{"input__native-ctrl":!0,input__resizable:"true"===this.resize},ref:n=>this.nativeInput=n,"aria-labelledby":t+" "+e+" "+o,disabled:this.disabled,autoCapitalize:this.autocapitalise,autoCorrect:this.autocorrect,autoFocus:this.autofocus,inputMode:this.inputmode,form:this.form,minLength:this.minlength,maxLength:this.maxlength,name:this.name,placeholder:this.placeholder,readOnly:this.readonly,required:this.required,spellcheck:this.spellcheck,value:n,onInput:this.onInput,onChange:this.onInput,onFocus:this.onFocus,onKeyDown:this.onKeydown,onInvalid:this.validate,onBlur:this.handleBlur}))),i("slot",{key:"564511c369dc13eb85cbf7e1c48b5d5fbbea8679"})))}static get watchers(){return{datalist:["setDataListOpts"],debounce:["debounceChanged"],value:["valueChanged"],minlength:["handleValidatePropChange"],maxlength:["handleValidatePropChange"],min:["handleValidatePropChange"],max:["handleValidatePropChange"],required:["handleValidatePropChange"],disabled:["handleValidatePropChange"],readonly:["handleValidatePropChange"],pattern:["handleValidatePropChange"],inputmode:["handleValidatePropChange"],type:["handleValidatePropChange"]}}};L.style='.sc-nano-input-h, *.sc-nano-input, *.sc-nano-input::before, *.sc-nano-input::after {\n box-sizing: border-box;\n}\n[hidden].sc-nano-input {\n display: none !important;\n}\n@media (prefers-reduced-motion: reduce) {\n .sc-nano-input-h, *.sc-nano-input, *.sc-nano-input::before, *.sc-nano-input::after {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n }\n }.sc-nano-input-h, *.sc-nano-input, *.sc-nano-input::before, *.sc-nano-input::after {\n box-sizing: border-box;\n}\n[hidden].sc-nano-input {\n display: none !important;\n}\n@media (prefers-reduced-motion: reduce) {\n .sc-nano-input-h, *.sc-nano-input, *.sc-nano-input::before, *.sc-nano-input::after {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n }\n }slot-fb.sc-nano-input {\n display: contents !important;\n}\n\n[disabled].sc-nano-input-h:not([disabled=false]) {\n opacity: 0.5;\n position: relative;\n}\n[disabled].sc-nano-input-h:not([disabled=false])::after {\n content: "";\n position: absolute;\n inset: 0;\n cursor: not-allowed;\n}\n\n.form-ctrl.sc-nano-input {\n min-inline-size: 100%;\n display: block;\n}\n.form-ctrl.has-helper-end.sc-nano-input {\n display: flex;\n gap: 1rem;\n container-type: inline-size;\n}\n.form-ctrl.has-helper-end.sc-nano-input .form-ctrl__wrapper.sc-nano-input {\n flex: 1 1 100%;\n}\n.form-ctrl.has-helper-end.sc-nano-input .form-ctrl__helper-end.sc-nano-input {\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-input {\n display: block;\n}\n\nlabel.sc-nano-input, .form-ctrl__more.sc-nano-input, .form-ctrl__error.sc-nano-input, .form-ctrl__helper.sc-nano-input {\n display: block;\n}\nlabel.visually-hide.sc-nano-input, .form-ctrl__more.visually-hide.sc-nano-input, .form-ctrl__error.visually-hide.sc-nano-input, .form-ctrl__helper.visually-hide.sc-nano-input {\n clip-path: inset(50%);\n block-size: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n inline-size: 1px;\n}\n\n.form-ctrl__float-label.sc-nano-input {\n padding-block: 0;\n padding-inline: var(--padding-start) 0;\n color: var(--label-color);\n position: absolute;\n font-size: 1em;\n transform: translateY(-50%);\n inset-block-start: 50%;\n transition: all 0.125s ease-in;\n opacity: 1;\n}\n.has-focus.sc-nano-input-h .form-ctrl__float-label.sc-nano-input, .has-value.sc-nano-input-h .form-ctrl__float-label.sc-nano-input {\n transform: none;\n font-size: 0.75em;\n opacity: 0.7;\n inset-block-start: var(--padding-top);\n}\n.form-ctrl__float-label.sc-nano-input .form-ctrl__label-charcount.sc-nano-input {\n opacity: 0;\n transition: opacity 0.125s ease-in;\n}\n.has-focus.sc-nano-input-h .form-ctrl__float-label.sc-nano-input .form-ctrl__label-charcount.sc-nano-input, .has-value.sc-nano-input-h .form-ctrl__float-label.sc-nano-input .form-ctrl__label-charcount.sc-nano-input {\n opacity: 1;\n}\n\n.form-ctrl__label.sc-nano-input {\n color: var(--label-color);\n font-size: var(--label-font-size);\n padding-block-end: var(--padding-bottom);\n line-height: 1;\n display: flex;\n align-items: center;\n}\n.form-ctrl__label.sc-nano-input .form-ctrl__label-wrap.sc-nano-input {\n flex: 1;\n overflow-x: clip;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.form-ctrl__label.sc-nano-input .form-ctrl__label-placeholder.sc-nano-input {\n margin-block: unset;\n margin-inline: 0 5px;\n opacity: 0;\n appearance: none;\n transition: 0.3s ease opacity;\n font-size: 0.85em;\n}\n.form-ctrl__label.sc-nano-input .form-ctrl__label-charcount.sc-nano-input {\n margin-block: unset;\n margin-inline: auto 0;\n font-size: var(--nano-font-size-2xs);\n opacity: 0.5;\n}\n.has-value.sc-nano-input-h .form-ctrl__label.sc-nano-input .form-ctrl__label-placeholder.sc-nano-input {\n opacity: 0.5;\n}\n\n.has-float-label.sc-nano-input .select__multi-input.sc-nano-input, .has-float-label.sc-nano-input .select__native-input.sc-nano-input, .has-float-label.sc-nano-input .input__native-ctrl.sc-nano-input {\n opacity: 0;\n transition: opacity 0.125s ease-in;\n}\n.has-focus.sc-nano-input-h .has-float-label.sc-nano-input .select__multi-input.sc-nano-input, .has-value.sc-nano-input-h .has-float-label.sc-nano-input .select__multi-input.sc-nano-input, .has-focus.sc-nano-input-h .has-float-label.sc-nano-input .select__native-input.sc-nano-input, .has-value.sc-nano-input-h .has-float-label.sc-nano-input .select__native-input.sc-nano-input, .has-focus.sc-nano-input-h .has-float-label.sc-nano-input .input__native-ctrl.sc-nano-input, .has-value.sc-nano-input-h .has-float-label.sc-nano-input .input__native-ctrl.sc-nano-input {\n opacity: 1;\n}\n\n.form-ctrl__more.sc-nano-input {\n position: relative;\n margin-block: var(--padding-bottom) 0;\n margin-inline: 0;\n opacity: 0;\n display: none;\n transition: all var(--nano-transition-fast) ease;\n transition-behavior: allow-discrete;\n}\n.form-ctrl__more.sc-nano-input > *.sc-nano-input {\n grid-column: 1;\n grid-row: 1;\n}\n.has-helper.sc-nano-input .form-ctrl__more.sc-nano-input, .has-error.sc-nano-input .form-ctrl__more.sc-nano-input {\n display: grid;\n opacity: 1;\n}\n\n.form-ctrl__helper.sc-nano-input, .form-ctrl__error.sc-nano-input {\n font-size: var(--more-font-size);\n line-height: 1.2;\n transition: 0.3s ease-out opacity;\n}\n\n.form-ctrl__helper.sc-nano-input {\n font-style: italic;\n color: var(--help-msg-color);\n}\n[show-inline-error].sc-nano-input-h:not([show-inline-error=false]).is-invalid .form-ctrl__helper.sc-nano-input {\n opacity: 0;\n}\n\n.form-ctrl__helper-end.sc-nano-input {\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-input {\n opacity: 0;\n color: var(--invalid-msg-color);\n font-style: italic;\n}\n.is-invalid.sc-nano-input-h:not([disabled]) .form-ctrl__error.sc-nano-input {\n opacity: 1;\n}\n\n.form-ctrl__input.sc-nano-input {\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) var(--input-border-width);\n font-size: var(--input-font-size);\n padding-inline-start: calc(var(--input-invalid-border-hint-width) - var(--input-border-width)) !important;\n}\n.form-ctrl__input.sc-nano-input:focus-visible, .form-ctrl__input.sc-nano-input:focus-within, .has-focus.sc-nano-input-h .form-ctrl__input.sc-nano-input {\n outline: var(--nano-focus-ring-color) solid 3px;\n outline-offset: -2px;\n}\n.is-invalid.sc-nano-input-h:not([disabled]) .form-ctrl__input.sc-nano-input {\n border-inline-start: solid var(--color-invalid) var(--input-invalid-border-hint-width);\n padding-inline-start: 0 !important;\n}\n.is-invalid.has-focus.sc-nano-input-h:not([disabled]) .form-ctrl__input.sc-nano-input {\n border-color: var(--color-invalid);\n border-inline-start: solid var(--color-invalid) var(--input-invalid-border-hint-width);\n padding-inline-start: 0 !important;\n}\n\n.form-ctrl__input-wrap.sc-nano-input {\n display: flex;\n flex: 1;\n max-inline-size: 100%;\n align-items: center;\n}\n[type=textarea].sc-nano-input-h .form-ctrl__input-wrap.sc-nano-input {\n align-items: start;\n}\n\n.form-ctrl__clear-btn.sc-nano-input, .form-ctrl__slot-end.sc-nano-input, .form-ctrl__slot-start.sc-nano-input, .form-ctrl__slot-value-end.sc-nano-input {\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: center;\n inline-size: auto;\n padding-inline-end: var(--padding-end);\n padding-block: var(--padding-top) var(--padding-bottom);\n}\n.form-ctrl__clear-btn.sc-nano-input:empty, .form-ctrl__slot-end.sc-nano-input:empty, .form-ctrl__slot-start.sc-nano-input:empty, .form-ctrl__slot-value-end.sc-nano-input:empty {\n display: none;\n}\n\n.form-ctrl__slot-end.sc-nano-input {\n padding-block: calc(var(--padding-top) / 2) calc(var(--padding-bottom) / 2);\n}\n\n.form-ctrl__slot-start.sc-nano-input {\n padding-inline-end: 0;\n}\n.has-float-label.sc-nano-input .form-ctrl__slot-start.sc-nano-input {\n display: none;\n}\n\n.form-ctrl__slot-start.sc-nano-input-s > *, .form-ctrl__slot-start.sc-nano-input-s > *, .form-ctrl__slot-start .sc-nano-input-s > *, .form-ctrl__slot-end.sc-nano-input-s > *, .form-ctrl__slot-end .sc-nano-input-s > *, .form-ctrl__slot-value-end.sc-nano-input-s > :not(slot-fb), .form-ctrl__slot-value-end .sc-nano-input-s > :not(slot-fb) {\n padding-inline: unset;\n align-items: center;\n display: flex;\n block-size: 100%;\n z-index: 1;\n}\n.sc-nano-input-h[disabled]:not([disabled=false]) .form-ctrl__slot-start.sc-nano-input-s > *, .form-ctrl__slot-start.sc-nano-input-s > *, .form-ctrl__slot-start .sc-nano-input-s > *, .sc-nano-input-h[disabled]:not([disabled=false]) .form-ctrl__slot-end.sc-nano-input-s > *, .form-ctrl__slot-end .sc-nano-input-s > *, .sc-nano-input-h[disabled]:not([disabled=false]) .form-ctrl__slot-value-end.sc-nano-input-s > :not(slot-fb), .form-ctrl__slot-value-end .sc-nano-input-s > :not(slot-fb) {\n pointer-events: none;\n}\n\n.form-ctrl__slot-start.sc-nano-input-s > *, .form-ctrl__slot-start.sc-nano-input-s > *, .form-ctrl__slot-start .sc-nano-input-s > * {\n margin-inline: var(--padding-start) 0;\n}\n\n.form-ctrl__slot-value-end.sc-nano-input-s > *, .form-ctrl__slot-value-end.sc-nano-input-s > *, .form-ctrl__slot-value-end .sc-nano-input-s > *, .form-ctrl__slot-value-end.sc-nano-input *.sc-nano-input {\n pointer-events: none;\n}\n\n.form-ctrl__clear-btn.sc-nano-input {\n color: var(--clear-btn-color);\n padding: 0;\n opacity: 0;\n inline-size: 0;\n appearance: none;\n align-items: center;\n overflow: hidden;\n padding-block: var(--padding-top) var(--padding-bottom);\n}\n.is-invalid.sc-nano-input-h .form-ctrl__clear-btn.sc-nano-input {\n color: var(--clear-btn-color--invalid);\n}\n.has-value.sc-nano-input-h .form-ctrl__clear-btn.sc-nano-input {\n padding-inline: 0 var(--padding-end);\n opacity: 1;\n inline-size: auto;\n}\n.form-ctrl__clear-btn.sc-nano-input:hover {\n color: var(--clear-btn-color--hover);\n}\n\n.form-ctrl__validation-icon.sc-nano-input {\n padding-block: var(--padding-top) var(--padding-bottom);\n padding-inline-end: var(--padding-end);\n display: grid;\n grid-template-areas: "overlay";\n}\n.sc-nano-input-h:not(.is-invalid .form-ctrl__validation-icon.sc-nano-input, .is-valid).sc-nano-input-h .form-ctrl__validation-icon.sc-nano-input {\n display: none;\n}\n\n.form-ctrl__error-icon.sc-nano-input, .form-ctrl__success-icon.sc-nano-input {\n color: var(--color-valid);\n opacity: 0;\n transition: 0.3s ease-out opacity;\n grid-area: overlay;\n}\n\n.is-valid.sc-nano-input-h .form-ctrl__success-icon.sc-nano-input {\n opacity: 1;\n}\n\n.form-ctrl__error-icon.sc-nano-input {\n color: var(--color-invalid);\n}\n.is-invalid.sc-nano-input-h .form-ctrl__error-icon.sc-nano-input {\n opacity: 1;\n}\n\n.sc-nano-input-h {\n \n --placeholder-color: var(--nano-color-neutral-1000);\n --padding-top: var(--nano-spacing-sm);\n --padding-end: var(--nano-spacing-sm);\n --padding-bottom: var(--nano-spacing-sm);\n --padding-start: var(--nano-spacing-sm);\n --color-invalid: var(--nano-color-danger-1100);\n --color-valid: var(--nano-color-success-1000);\n --input-font-size: var(--nano-font-size-sm);\n --input-text-color: var(--nano-color-base-1000);\n --input-border-width: 1px;\n --input-border-color: var(--nano-color-neutral-300);\n --input-border-radius: 0px;\n --input-invalid-border-hint-width: 2px;\n --input-border-style: solid var(--input-border-color);\n --input-border-style--focus: solid var(--input-border-width) var(--nano-color-primary-700);\n --input-bg-color: var(--nano-color-base-0);\n --invalid-msg-color: var(--color-invalid);\n --help-msg-color: var(--nano-color-base-1000);\n --more-font-size: var(--nano-font-size-2xs);\n --clear-btn-color: rgb(var(--nano-color-base-rgb-1000) / 60%);\n --clear-btn-color--hover: rgb(var(--nano-color-base-rgb-1000) / 100%);\n --clear-btn-color--invalid: rgb(var(--color-invalid) / 100%);\n --label-color: var(--nano-color-base-1000);\n --label-font-size: var(--nano-font-size-xs);\n position: relative;\n inline-size: 100%;\n padding: 0 !important;\n color: currentcolor;\n display: block;\n}\n\n[type=date].sc-nano-input-h .input__date-trigger.sc-nano-input {\n color: var(--nano-color-primary-1200);\n}\n[type=date].sc-nano-input-h .input__date-dropdown.sc-nano-input {\n --overflow: visible;\n}\n[type=date].sc-nano-input-h .input__date-close.sc-nano-input {\n position: absolute;\n inset-inline-end: 0;\n inset-block: 0;\n opacity: 0;\n z-index: 2;\n}\n[type=date].sc-nano-input-h .input__date-close.sc-nano-input:focus {\n opacity: 1;\n}\n@supports selector(::-moz-placeholder) {\n [type=date].sc-nano-input-h .form-ctrl__input-wrap.sc-nano-input {\n justify-content: end;\n min-block-size: 2.5em;\n }\n [type=date].sc-nano-input-h .input__native-ctrl.sc-nano-input {\n position: absolute;\n inset-inline-start: 0;\n inset-block-start: 0;\n }\n [type=date].sc-nano-input-h .input__date-dropdown.sc-nano-input {\n background-color: var(--nano-color-base-0);\n }\n}\n\n.input__native-ctrl.sc-nano-input {\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 appearance: none;\n -webkit-rtl-ordering: logical;\n padding-block: 0;\n padding-inline: var(--padding-start) var(--padding-end);\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 inline-size: 100%;\n max-inline-size: 100%;\n max-block-size: 100%;\n border: 0;\n outline: none;\n background: transparent;\n margin: 0;\n box-sizing: border-box;\n resize: none;\n overflow: hidden;\n line-height: 2.5em;\n min-block-size: 2.5em;\n \n}\n.has-float-label.sc-nano-input .input__native-ctrl.sc-nano-input {\n line-height: 2.1em;\n min-block-size: 2.1em;\n padding-block-start: 1.4em;\n}\n.input__native-ctrl.sc-nano-input::placeholder {\n color: var(--placeholder-color);\n font-family: inherit;\n font-style: initial;\n font-weight: initial;\n line-height: inherit;\n min-block-size: initial;\n}\n.input__native-ctrl.sc-nano-input::-moz-placeholder {\n line-height: 2.8em;\n text-overflow: ellipsis;\n}\n.input__native-ctrl.sc-nano-input:-webkit-autofill {\n background-color: transparent;\n}\n.input__native-ctrl.sc-nano-input::-webkit-search-decoration, .input__native-ctrl.sc-nano-input::-webkit-search-cancel-button, .input__native-ctrl.sc-nano-input::-webkit-search-results-button, .input__native-ctrl.sc-nano-input::-webkit-search-results-decoration {\n appearance: none;\n}\n.input__native-ctrl.sc-nano-input::-webkit-calendar-picker-indicator {\n display: none;\n}\n.input__native-ctrl.sc-nano-input::-webkit-datetime-edit {\n display: block;\n padding: 0;\n}\n.input__native-ctrl.sc-nano-input:invalid {\n box-shadow: none;\n}\n.input__native-ctrl.sc-nano-input::-ms-clear, .input__native-ctrl.sc-nano-input::-ms-reveal {\n display: none;\n}\n.input__native-ctrl.input__resizable.sc-nano-input {\n resize: vertical;\n overflow: auto;\n}\n.form-ctrl__textarea.sc-nano-input .input__native-ctrl.sc-nano-input {\n line-height: 1.5em;\n padding-block: calc(var(--padding-top) - 3px) 0.5em;\n white-space: pre-wrap;\n}\n.form-ctrl__textarea.sc-nano-input .input__native-ctrl.sc-nano-input::placeholder {\n line-height: 1.5em;\n}\n.has-float-label.sc-nano-input .form-ctrl__textarea.sc-nano-input .input__native-ctrl.sc-nano-input {\n padding-block-start: 1.75em;\n}\n[readonly].sc-nano-input-h:not([readonly=false]) .input__native-ctrl.sc-nano-input {\n -webkit-user-select: none;\n user-select: none;\n}';export{I as nano_date_picker,L as nano_input}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* Custom elements for Nanopore-Digital Web applications
|
3
3
|
*/
|
4
|
-
import{r as t,c as e,a as i}from"./index-BM3Om9WE.js";import{h as n}from"./renderer-
|
4
|
+
import{r as t,c as e,a as i}from"./index-BM3Om9WE.js";import{h as n}from"./renderer-DasB4P10.js";import{H as a}from"./slot-CFTP7C_Z.js";import"./dom-dlicJTEJ.js";const o=class{constructor(i){t(this,i),this.nanoOpen=e(this,"nanoOpen",7),this.nanoClose=e(this,"nanoClose",7),this.nanoAfterOpen=e(this,"nanoAfterOpen",7),this.nanoAfterClose=e(this,"nanoAfterClose",7)}mo;stateChanging=!1;slotCtrl=new a(this,"icon-start","icon-end","icon-collapse","icon-expand");detailsEl;headerEl;_bodyEl;get bodyEl(){return this._bodyEl}set bodyEl(t){this.bodyEl&&this.bodyEl===this._bodyEl||(this.bodyEl&&this.bodyEl.removeEventListener("transitionend",this.handleTransitionEnd),t.addEventListener("transitionend",this.handleTransitionEnd),this._bodyEl=t)}label="";open=!1;disabled=!1;size="medium";nanoOpen;nanoClose;nanoAfterOpen;nanoAfterClose;toggleClick(){this.stateChanging=!0,this.open?this.show():this.hide()}onKeyDown=t=>{if(!this.stateChanging&&!this.disabled)switch(t.key){case"Enter":case" ":t.preventDefault(),this.open=!this.open;break;case"ArrowUp":case"ArrowLeft":t.preventDefault(),this.open=!1;break;case"ArrowDown":case"ArrowRight":t.preventDefault(),this.open=!0}};onMouseDown=t=>{t.preventDefault(),this.headerEl.focus(),this.stateChanging||this.disabled||(this.open=!this.open)};handleTransitionEnd=t=>{"opacity"===t.propertyName&&t.composedPath().find((t=>t===this.bodyEl))&&(this.open?(this.nanoAfterOpen.emit(),requestAnimationFrame((()=>this.stateChanging=!1))):(this.detailsEl.open=!1,this.nanoAfterClose.emit(),requestAnimationFrame((()=>this.stateChanging=!1))))};hide(){if(this.nanoClose.emit(this.open).defaultPrevented)return this.open=!0,void(this.detailsEl.open=!0)}show(){const t=this.nanoOpen.emit();if(this.detailsEl.open=!0,t.defaultPrevented)return this.open=!1,void(this.detailsEl.open=!1)}attachMo(){!this.mo&&this.detailsEl&&(this.mo=new MutationObserver((t=>{if(!this.stateChanging)for(const e of t)"attributes"!==e.type||"open"!==e.attributeName||this.disabled||(this.open=this.detailsEl.open)})),this.mo.observe(this.detailsEl,{attributes:!0}))}componentDidLoad(){this.open&&this.detailsEl.setAttribute("open","true"),this.attachMo()}connectedCallback(){this.bodyEl&&this.bodyEl.addEventListener("transitionend",this.handleTransitionEnd),this.attachMo()}disconnectedCallback(){this.mo&&(this.mo.disconnect(),this.mo=void 0),this.bodyEl&&this.bodyEl.removeEventListener("transitionend",this.handleTransitionEnd)}render(){return n(i,{key:"1cbedc078a3390a3ad82b99ac0f37e8ea0f8d480",class:"nano-details"},n("details",{key:"22659218ba7d1ec936523ff33c7ed2a1efb2af74",part:"base",ref:t=>this.detailsEl=t,class:{details:!0,disabled:this.disabled}},n("summary",{key:"3a7cd64e7d8e2b5235b7c0f7d58c434cb2a52469",part:"header","aria-controls":"content","aria-expanded":this.open?"true":"false","aria-disabled":this.disabled?"true":"false",tabindex:this.disabled?"-1":"0",id:"header",role:"button",class:"header",ref:t=>this.headerEl=t,onKeyDown:this.onKeyDown,onClick:this.onMouseDown},this.slotCtrl.has("icon-start")&&n("span",{key:"4a8de08dca34823e162019e2d4dddef2ed2c123d",part:"icon icon--start",class:"icon icon--start"},n("slot",{key:"cf6ea31f1685afa4bde64a6cbdef43cb0d0a053a",name:"icon-start"})),n("div",{key:"0b11c544cfbb5852dfeae66b482154f1780a2569",part:"label",class:"label"},this.label?this.label:n("slot",{name:"label"})),n("span",{key:"5470af7891318c513870c473a8ad1f501174f51b",part:"icon icon--end",class:"icon icon--end"},n("slot",this.open?{name:"icon-collapse"}:{name:"icon-expand"}),n("slot",{key:"45960716eeec5d5ad08b63fd536608fcd33ab8f2",name:"icon-end"},!this.slotCtrl.has("icon-start")&&!this.slotCtrl.has("icon-end")&&!this.slotCtrl.has("icon-expand")&&!this.slotCtrl.has("icon-collapse")&&n("nano-icon",{key:"5357b61cb197dc4a1ceccf415a34defdfeb6b290",class:"default-icon",name:"light/chevron-down"})))),n("div",{key:"aa7f850c8415c2cd40fd7a965fba8eb98fca62b5",part:"body",class:"body",ref:t=>this.bodyEl=t,role:"region","aria-labelledby":"header"},n("div",{key:"e98e6a68e4c15525b4377d4229fb4a1855650732",part:"content-wrapper",class:"content-wrapper"},n("div",{key:"6710e302f7e2a5987ccd6703ea3c6cc0bf705d23",part:"content",class:"content",id:"content"},n("slot",{key:"891525e66383979e621787f766bcfbcea78a9630"}))))))}static get watchers(){return{open:["toggleClick"]}}};o.style=":host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host{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:var(--nano-spacing-md);--btn-padding:var(--padding);--btn-bg-color:transparent;--btn-bg-color--hover:var(--nano-color-primary-100);--btn-bg-color--active:var(--nano-color-primary-300);--content-padding:var(--padding);display:block;border:1px solid var(--nano-color-neutral-300);color:var(--nano-color-neutral-1400)}:host([size=small]){--padding:var(--nano-spacing-sm) 0.9375rem}:host([size=large]){--padding:var(--nano-spacing-l)}:host([size=large]) .header{font-weight:var(--nano-font-weight-normal);font-size:var(--nano-font-size-lg);line-height:var(--nano-line-height-dense);text-wrap:balance}:host([disabled]){opacity:0.5}.header{all:unset;cursor:pointer;padding:var(--btn-padding);position:relative;display:flex;flex-wrap:wrap;align-items:center;background:var(--btn-bg-color);color:inherit;font-weight:var(--nano-font-weight-normal);font-size:var(--nano-font-size-md);line-height:var(--nano-line-height-dense);text-wrap:balance}.header::-webkit-details-marker{display:none}.header:focus{outline:none}.header:not([aria-disabled=true]):focus-visible{outline:var(--nano-focus-ring);outline-offset:var(--nano-focus-ring-offset)}.header:not([aria-disabled=true]):hover{background:var(--btn-bg-color--hover)}.header:not([aria-disabled=true]):active{background:var(--btn-bg-color--active)}.disabled .header{cursor:not-allowed}.header .label{inline-size:100%;max-inline-size:100%;max-block-size:100%;flex:1;display:inline-block}.header .icon{line-height:0;flex-direction:column;justify-content:center;display:inline-block;color:var(--nano-color-primary-1200)}.header .icon .default-icon{rotate:0deg;transform-origin:center;transition:var(--nano-transition-x-fast) ease rotate}:host([open]) .header .icon .default-icon{rotate:180deg}.header .icon--start{margin-inline:0 var(--btn-padding);margin-block:0}.header .icon--end{margin-inline:var(--btn-padding) 0;margin-block:0}.header .icon ::slotted(.nano-icon),.header .icon::slotted(.nano-icon){color:currentcolor;transition:var(--nano-transition-x-fast) ease rotate;transform-origin:center}.body{display:grid;grid-template-rows:0fr;transition:all var(--nano-transition-fast) ease-out;opacity:0}:host([open]) .body{grid-template-rows:1fr;opacity:1}.content-wrapper{overflow:hidden}.content{padding:var(--content-padding)}";export{o as nano_details}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* Custom elements for Nanopore-Digital Web applications
|
3
3
|
*/
|
4
|
-
import{r as a,c as o,g as i,a as t}from"./index-BM3Om9WE.js";import{h as e}from"./renderer-
|
4
|
+
import{r as a,c as o,g as i,a as t}from"./index-BM3Om9WE.js";import{h as e}from"./renderer-DasB4P10.js";import{M as n}from"./modal-CY_3_LJ7.js";import{l as r,u as s}from"./scroll-1nFw8CNk.js";import{H as d}from"./slot-CFTP7C_Z.js";import{C as l}from"./component-store-JYVuxwvK.js";import{g as h}from"./tabbable-BgopY-vd.js";import"./dom-dlicJTEJ.js";import"./throttle-C93FMm2Z.js";let c=0;const b=class{constructor(i){a(this,i),this.nanoShow=o(this,"nanoShow",7),this.nanoAfterShow=o(this,"nanoAfterShow",7),this.nanoHide=o(this,"nanoHide",7),this.nanoAfterHide=o(this,"nanoAfterHide",7),this.nanoInitialFocus=o(this,"nanoInitialFocus",7),this.nanoRequestClose=o(this,"nanoRequestClose",7)}componentId="dialog-"+ ++c;modal;willShow=!1;willHide=!1;originalTrigger;overlay;dialog;slotCtrl=new d(this,"footer");get panel(){return this._panel}set panel(a){this._panel&&this.panel.removeEventListener("transitionend",this.handleTransitionEnd),a.addEventListener("transitionend",this.handleTransitionEnd),this._panel=a}_panel;get host(){return i(this)}noDismiss=!1;hidden=!0;showRibbon=!0;open=!1;handleOpenChange(){this.open?this.show():this.hide()}label;noHeader=!1;noUserDismiss=!1;storeId;storeMethod="url-hash";hoist=!1;handleHoistChange(){"popover"in globalThis.HTMLElement.prototype||!this.hoist||Array.from(document.body.children).includes(this.host)||document.body.prepend(this.host)}nanoShow;nanoAfterShow;nanoHide;nanoAfterHide;nanoInitialFocus;nanoRequestClose;async show(){if(this.willShow)return;if(this.nanoShow.emit().defaultPrevented)return void(this.open=!1);this.dialog&&(this.dialog.hidden=!1),this.originalTrigger=document.activeElement,this.willShow=!0,this.hidden=!1,this.open=!0,this.modal.activate(),"function"==typeof this.dialog?.showPopover&&this.dialog.showPopover(),r(this.host);const a=this.host.querySelector("[autofocus]");a&&a.removeAttribute("autofocus"),this.host.addEventListener("nanoAfterShow",(()=>{this.nanoInitialFocus.emit().defaultPrevented||(a||h(this.host,!0,!0,!0)[0]||this.panel).focus({preventScroll:!0})}),{once:!0})}async hide(){if(this.willHide)return;if(this.nanoHide.emit().defaultPrevented)return void(this.open=!0);this.willHide=!0,this.open=!1,this.modal.deactivate(),this.stopVideos();const a=this.originalTrigger;a&&(a.setFocus&&"function"==typeof a.setFocus?a.setFocus():a.focus()),setTimeout((()=>{this.open||"function"!=typeof this.dialog?.hidePopover||this.dialog.hidePopover(),s(this.host)}),300)}handleKeyDown=a=>{"Escape"===a.key&&this.requestClose()};requestClose=()=>{this.nanoRequestClose.emit().defaultPrevented||this.noUserDismiss?(this.noDismiss=!0,setTimeout((()=>this.noDismiss=!1),250)):this.hide()};handleTransitionEnd=a=>{"opacity"===a.propertyName&&a.composedPath().find((a=>a===this.panel||a===this.overlay))&&(this.willShow=!1,this.willHide=!1,this.open?this.nanoAfterShow.emit():this.nanoAfterHide.emit(),this.open||(this.dialog.hidden=!0,this.hidden=!0))};stopVideos(){Array.from(this.host.querySelectorAll("iframe,video")).forEach((a=>{"video"===a.tagName.toLowerCase()?a.pause():a.src=a.src}))}connectedCallback(){this.handleHoistChange(),this.modal=new n(this.host)}componentWillLoad(){this.storeId&&l.init(this,["open"],this.storeMethod,this.storeId)}componentDidLoad(){this.dialog.hidden=!this.open,this.open&&(this.show(),this.nanoAfterShow.emit())}disconnectedCallback(){s(this.host),this.panel&&this.panel.removeEventListener("transitionend",this.handleTransitionEnd)}render(){return e(t,{key:"b6ba3eea63e7aee1da10dca2a653a6c9f7d66266",class:"nano-dialog"},e("div",{key:"8ac30cda032a4fbc89b432f16ce3e9adb88ca68e",part:"base",class:{dialog:!0,"dialog--open":this.open,"dialog--has-footer":this.slotCtrl.has("footer"),"dialog--has-header":!this.noHeader,"dialog--nodismiss":this.noDismiss,"dialog--with-ribbon":this.showRibbon},onKeyDown:this.handleKeyDown,ref:a=>this.dialog=a,popover:"manual"},e("div",{key:"4d2cde77fa9c8796daa2591eb425d1694f211d90",part:"overlay",class:"dialog__overlay",ref:a=>this.overlay=a,onClick:this.requestClose}),e("div",{key:"a99ea663fbb2560aaa8f49f23325a661f96dece6",ref:a=>this.panel=a,part:"panel",class:"dialog__panel",role:"dialog","aria-modal":"true","aria-hidden":this.hidden?"true":"false","aria-label":this.noHeader?this.label:null,"aria-labelledby":this.noHeader?null:`${this.componentId}-title`,tabIndex:-1},e("div",{key:"0e0bab9c4307d64cd9d7deb14603d1a5e1f9d27c",class:"dialog__body-wrap"},!this.noHeader&&e("nano-sticker",{key:"6f1ea1f827d3a18622515f57b5c55d9cb4daa8a0"},e("header",{key:"d1cb39f7c1878810f85c7641fdae2217180327b3",part:"header",class:"dialog__header"},e("span",{key:"7f0ac92358b64688eca01979fd68a665802636d6",part:"title",class:"dialog__title",id:`${this.componentId}-title`},e("slot",{key:"9b53b34fa5f815a46e9bbd961acecbe592b14cb5",name:"label"},this.label||String.fromCharCode(65279))),!this.noUserDismiss&&e("nano-icon-button",{key:"4b110b4b490ede1f757046d252de8e2015f50d6e",part:"close-button",exportparts:"base:close-button__base",class:"dialog__close-icon",label:"close dialog",onClick:this.requestClose,iconName:"light/xmark"}))),e("div",{key:"f2225d9d4753b91afd697466b897e20441704f82",part:"body",class:"dialog__body"},e("slot",{key:"1bc02a8964d47650a45dd047bac390615823b176"})),this.slotCtrl.has("footer")&&e("nano-sticker",{key:"9cca925aa007316b93475d54194278ee69fcfdd6",position:"bottom"},e("footer",{key:"8b1b57752c43c3e010361c90da2cd3e647243828",part:"footer",class:"dialog__footer"},e("slot",{key:"3fdf3ec86fb5efd8a97a8ddee887dac53d3f58be",name:"footer"})))))))}static get watchers(){return{open:["handleOpenChange"],hoist:["handleHoistChange"]}}};b.style=":host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host{--border-radius:0;--content-background:var(--nano-color-surface-300);--content-color:var(--nano-color-base-1000);--footer-content:var(--nano-color-neutral-75);--scrim-color:var(--nano-overlay-background-color);--box-shadow:var(--nano-shadow-l3);--close-button-color:var(--nano-color-primary-1200);--width:50rem;--height:auto;--body-padding-v:var(--nano-spacing-l1-default);--body-padding-h:var(--nano-spacing-l1-default);--header-padding-v:var(--nano-spacing-l);--header-padding-h:var(--nano-spacing-l1-default);--footer-padding-v:var(--nano-spacing-l);--footer-padding-h:var(--nano-spacing-l1-default)}.dialog{display:flex;align-items:center;justify-content:center;position:fixed;inset:0;z-index:var(--nano-z-index-modal);border:none;inline-size:unset;block-size:unset;color:var(--content-color);background-color:unset}.dialog::backdrop{display:none}.dialog__panel{display:flex;flex-direction:column;z-index:2;inline-size:var(--width);block-size:var(--height);max-inline-size:calc(100% - (var(--nano-spacing-xl) + var(--nano-scroll-lock-size)));max-block-size:calc(92vh - var(--nano-spacing-xl));background-color:var(--content-background);border-radius:var(--border-radius);box-shadow:var(--box-shadow);opacity:0;transform:scale(0.8);transition:var(--nano-transition-fast) opacity, var(--nano-transition-fast) transform}.dialog__panel:focus{outline:none}.dialog--open .dialog__panel{display:flex;opacity:1;transform:none}.dialog--nodismiss .dialog__panel{animation:cannotClose 0.25s ease-in-out 1}@keyframes cannotClose{0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}}.dialog__header{flex:0 0 auto;display:flex;inline-size:100%;background-color:var(--content-background);border-radius:var(--border-radius) var(--border-radius) 0 0;transition:var(--nano-transition-x-fast) box-shadow;min-inline-size:auto;padding-block:var(--header-padding-v);padding-inline:var(--header-padding-h)}[stuck] .dialog__header{box-shadow:var(--nano-shadow-l0)}.dialog__title{flex:1 1 auto;font-weight:var(--nano-font-weight-normal);font-size:var(--nano-font-size-xl);line-height:var(--nano-line-height-denser);text-wrap:balance}.dialog__close-icon{flex:0 0 auto;display:flex;align-items:center;font-size:1.375rem;position:relative;inset-inline-end:calc(var(--nano-spacing-l1-default) / 2 * -1);--color:var(--close-button-color)}.dialog__body-wrap{flex:1 1 auto;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:var(--border-radius)}.dialog:not(.dialog--has-header) .dialog__body-wrap{border-start-start-radius:0;border-start-end-radius:0;border-end-start-radius:inherit;border-end-end-radius:inherit}.dialog:not(.dialog--has-footer) .dialog__body-wrap{border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-start-radius:0;border-end-end-radius:0}.dialog__body{padding-block:0 var(--body-padding-v);padding-inline:var(--body-padding-h)}.dialog:not(.dialog--has-header) .dialog__body{padding-block-start:var(--body-padding-v)}.dialog__body ::slotted(*){max-inline-size:100%}.dialog__footer{inline-size:100%;padding-block:var(--footer-padding-v);padding-inline:var(--footer-padding-h);background:var(--footer-content);border-radius:0 0 var(--border-radius) var(--border-radius);position:relative;inset-block-start:1px;min-inline-size:auto;border-block-start:1px solid var(--nano-color-neutral-300);gap:var(--nano-spacing-md);display:inline-flex}.dialog:not(.dialog--has-footer) .dialog__footer{display:none}.dialog__overlay{position:fixed;inset:0 !important;background-color:var(--scrim-color);opacity:0;transition:var(--nano-transition-fast) opacity}.dialog--open .dialog__overlay{opacity:1}";export{b as nano_dialog}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* Custom elements for Nanopore-Digital Web applications
|
3
3
|
*/
|
4
|
-
import{r as t,c as i,g as o,a as e}from"./index-BM3Om9WE.js";import{f as n,g as s}from"./active-element-CKJIkX0R.js";import{P as a}from"./popover-DNdFZ1hX.js";import{a as r,g as h}from"./tabbable-BgopY-vd.js";import{t as d,h as l}from"./renderer-BaP2L8CT.js";import{g as p}from"./dom-dlicJTEJ.js";import{g as c}from"./slot-CFTP7C_Z.js";let m=0;const u=class{constructor(o){t(this,o),this.nanoShow=i(this,"nanoShow",7),this.nanoAfterShow=i(this,"nanoAfterShow",7),this.nanoHide=i(this,"nanoHide",7),this.nanoAfterHide=i(this,"nanoAfterHide",7)}dropdownId="dropdown-"+m++;labelId=this.dropdownId+"-title";ignoreOpenWatcher=!1;panel;popover;trigger;positioner;accessibleTrigger;didLoad=!1;focusFirstEle=!0;get menu(){return this.host.querySelector(d("nano-menu"))}get host(){return o(this)}autoOpen=!0;open=!1;handleOpenChange(){this.ignoreOpenWatcher||(this.open?this.show():this.hide(),this.accessibleTrigger?this.accessibleTrigger.setAttribute("aria-expanded",this.open.toString()):this.updateAccessibleTrigger())}closeOnSelect=!0;containingElement;tetherTo=null;handleTetherToChange(){this.createPopover(),this.updateAccessibleTrigger()}placement="bottom-start";distance=5;skidding=0;hoist=!1;handlePopoverOptionsChange(){this.popover&&this.popover.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,skidding:this.skidding,distance:this.distance})}dialogTitle;nanoShow;nanoAfterShow;nanoHide;nanoAfterHide;eventType;secondaryOpen(t){t.detail.secondaryMenu&&(t.stopPropagation(),this.panel.classList.add("loading"),this.panel.addEventListener("transitionend",(()=>{this.panel.classList.remove("loading")}),{once:!0}),this.panel.style.minHeight=t.detail.secondaryMenu.scrollHeight+"px")}secondaryClose(t){t.detail.secondaryMenu&&(t.stopPropagation(),t.target.parentElement&&(this.panel.style.minHeight=t.target.parentElement.scrollHeight+"px"))}handlePanelSelect(t){this.closeOnSelect&&t.target.tagName.toLowerCase()===d("nano-menu")&&this.hide()}async show(){if(this.ignoreOpenWatcher=!0,this.open=!0,this.nanoShow.emit().defaultPrevented)return this.open=!1,void(this.ignoreOpenWatcher=!1);"function"==typeof this.positioner?.showPopover?(this.hoist=!0,this.popover.show(),this.positioner.showPopover()):this.popover.show(),this.ignoreOpenWatcher=!1,document.addEventListener("mousedown",this.handleDocumentMouseDown),document.addEventListener("keydown",this.handleDocumentKeyDown)}async hide(){if(this.ignoreOpenWatcher=!0,this.open=!1,this.nanoHide.emit().defaultPrevented)return this.open=!0,void(this.ignoreOpenWatcher=!1);this.popover&&this.popover.hide(),this.ignoreOpenWatcher=!1,document.removeEventListener("mousedown",this.handleDocumentMouseDown),document.removeEventListener("keydown",this.handleDocumentKeyDown)}afterHide(){"function"==typeof this.positioner?.hidePopover&&this.positioner.hidePopover(),this.panel.scrollTop=0,this.accessibleTrigger&&n(this.containingElement,this.trigger)&&this.accessibleTrigger.focus()}togglePanel=()=>{this.autoOpen&&(this.open?this.hide():this.show())};updateAccessibleTrigger(){if(!this.didLoad)return;let t;this.accessibleTrigger=null,t=this.tetherTo?r(this.tetherTo):Array.from(this.host.querySelectorAll('[slot="trigger"]')).map(r)[0],t&&!t.getAttribute("aria-haspopup")&&(t.setAttribute("aria-haspopup","true"),t.setAttribute("aria-expanded",this.open?"true":"false"),this.accessibleTrigger=t)}handleDocumentKeyDown(t){if("Escape"!==t.key)if("Tab"===t.key)setTimeout((()=>{n(this.containingElement,this.trigger,t)||this.hide()}));else{if(this.menu&&(this.placement.match(/bottom|top/)&&["ArrowDown","ArrowUp"].includes(t.key)||this.placement.match(/right|left/)&&["ArrowRight","ArrowLeft"].includes(t.key)))return!this.open||n(this.containingElement,this.trigger,t)?"NANO-DROPDOWN"===this.containingElement.tagName&&this.containingElement.placement.match(/right|left/)&&"NANO-DROPDOWN"===this.trigger.getRootNode()?.host?.tagName?void this.hide():void 0:(t.preventDefault(),this.menu.setFocus(),void(this.focusFirstEle=!0));const i=t.composedPath();if(this.menu&&i.length&&!i.find((t=>t!==this.menu)))return void this.menu.dispatchEvent(new KeyboardEvent(t.type,t))}else this.hide()}handleDocumentMouseDown(t){n(this.containingElement,this.trigger,t)||this.hide()}handleTriggerKeyDown=t=>{(this.placement.match(/bottom|top/)&&["ArrowDown","ArrowUp"," ","Enter"].includes(t.key)||this.placement.match(/right|left/)&&["ArrowRight","ArrowLeft"," ","Enter"].includes(t.key))&&(this.show(),t.preventDefault(),t.stopPropagation(),this.menu&&(this.menu.setFocus(),this.focusFirstEle=!0))};handleTriggerSlotChange=()=>{this.updateAccessibleTrigger()};createPopover(){(this.tetherTo||this.trigger)&&this.positioner&&(this.popover&&(this.open&&this.hide(),this.popover.destroy(),this.popover=null),this.popover=new a(this.tetherTo||this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:()=>{this.nanoAfterHide.emit()},onAfterShow:()=>{this.nanoAfterShow.emit()},onTransitionEnd:()=>{this.open?this.menu&&(this.menu.showActiveElement(),this.focusFirstEle&&(this.menu.setFocus(),this.focusFirstEle=!1)):this.afterHide()}}),this.open&&this.show())}isOverflowing(){return["auto","scroll"].includes(window.getComputedStyle(this.host).getPropertyValue("--overflow"))}connectedCallback(){this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.containingElement||(this.containingElement=this.host)}componentDidLoad(){this.didLoad=!0,this.createPopover(),setTimeout((()=>this.updateAccessibleTrigger()),100)}disconnectedCallback(){this.host.isConnected&&this.hide(),this.popover&&this.popover.destroy()}render(){return l(e,{key:"c0ed4b8b03d27f7437c148c8df305886c6cf29d9",class:"nano-dropdown"},l("div",{key:"27165586e2caa99ba746e7db3aa1574f0e9d1576",part:"base",id:this.dropdownId,class:{dropdown:!0,"dropdown--open":this.open}},l("span",{key:"b401a4d341e786ae4fe8c54adf06f8da1be4f531",part:"trigger",class:"dropdown__trigger",ref:t=>this.trigger=t,onKeyDown:this.handleTriggerKeyDown,onClick:this.togglePanel},l("slot",{key:"bd61e0f2d5e164b21d3ecba81c63ec72b0b7cc6f",name:"trigger",onSlotchange:this.handleTriggerSlotChange})),l("div",{key:"e0cb2a8823490b70f6aa01073d3873fa785fd763",ref:t=>this.positioner=t,class:"dropdown__positioner",popover:"manual",id:this.dropdownId+"-positioner"},l("div",{key:"3f1b7e3911cd7616ff85d042fc0d1e3e358f36c2",ref:t=>this.panel=t,part:"panel",class:`dropdown__panel ${this.placement.split("-").join(" ")}`,"aria-hidden":!this.open,role:"group"===this.host.getAttribute("role")?"group":"dialog","aria-modal":"group"===this.host.getAttribute("role")?void 0:"true","aria-labelledby":this.dialogTitle?this.labelId:void 0,tabIndex:this.isOverflowing()?0:void 0},this.dialogTitle&&l("span",{key:"19cc4dd331a4c2cbdc73a05687681cb2830fff0c",id:this.labelId,class:"dropdown__accessible-title","aria-live":"group"===this.host.getAttribute("role")?void 0:"polite"},this.dialogTitle),l("slot",{key:"5da1881086c31481463b3b7244552e17ee66d997"})))))}static get watchers(){return{open:["handleOpenChange"],tetherTo:["handleTetherToChange"],placement:["handlePopoverOptionsChange"],distance:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"]}}};u.style=":host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host{--width:auto;--border:none;--border-radius:0px;--background:var(--nano-color-neutral-75);--padding:0 0;--overflow:auto;--dropdown-z-index:var(--nano-z-index-dropdown);--min-width:0;--max-height:none;--box-shadow:var(--nano-shadow-l2);--menu-height:calc(100vh - 200px);display:inline-block}.dropdown{position:relative}.dropdown__trigger{display:block}.dropdown__positioner{position:absolute;z-index:var(--dropdown-z-index);min-inline-size:var(--min-width);border:0;background:none;padding:0;overflow:visible;color:unset}.dropdown__positioner::backdrop{display:none}.dropdown__positioner[popover],.dropdown__positioner:popover-open{inset:unset}@media (width <= 35.9375em){.dropdown__positioner{z-index:100}}.dropdown__panel{padding:var(--padding);background:var(--background);min-inline-size:var(--min-width);inline-size:var(--width);border:var(--border);border-radius:var(--border-radius);color:currentcolor;box-shadow:var(--box-shadow);opacity:0;transition:var(--nano-transition-x-fast) ease opacity, var(--nano-transition-x-fast) ease transform, var(--nano-transition-fast) ease min-block-size;min-block-size:20px;overflow:var(--overflow);max-block-size:var(--max-height);box-sizing:content-box !important}.dropdown__panel.loading{overflow-y:hidden}.dropdown__panel.top{transform:translateY(-20px) translateZ(0)}.dropdown__panel.bottom{transform:translateY(20px) translateZ(0)}.dropdown__positioner.popover-visible .dropdown__panel{opacity:1;transform:translateY(0) translateZ(0)}.dropdown__panel ::slotted(.nano-menu){max-block-size:var(--menu-height)}.dropdown__accessible-title{clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}";const b=class{constructor(o){t(this,o),this.nanoFocus=i(this,"nanoFocus",7),this.nanoBlur=i(this,"nanoBlur",7),this.nanoSelect=i(this,"nanoSelect",7)}ignoreMouseEvents=!1;ignoreMouseTimeout;menu;typeToSelect="";typeToSelectTimeout;get el(){return o(this)}get hasFocus(){return this._hasFocus}_hasFocus=!1;type;_type;label;nanoFocus;nanoBlur;nanoSelect;async setFocus(){this.menu?.focus&&this.menu.focus({preventScroll:!0})}async removeFocus(){this.menu?.blur&&this.menu.blur()}async showActiveElement(){this.selectedItem&&this.selectedItem.scrollIntoView({block:"nearest"})}async resetActiveItem(){this.getItems.filter((t=>t.tagName.toLowerCase()===d("nano-option"))).map((t=>t.setAttribute("tabindex","-1")))}get getItems(){let t;if("listbox"===this._type)t=p(this.el,`${d("nano-nav-item")}, ${d("nano-option")}`,"slot");else{const i=this.el.querySelectorAll("[open]");t=h(i[i.length-1]||this.el)}return t.filter((t=>!t.disabled&&!t.hidden))}get activeItem(){const t=s();return this.getItems.find((i=>"0"===i.getAttribute("tabindex")||i===t||i===document.activeElement||i.classList.contains("has-focus")))}get selectedItem(){return this.getItems.find((t=>t.selected))}async setActiveFocusItem(t,i=!0){const o=this.getItems,e=t||o.find((t=>t.selected))||o[0];o.filter((t=>t.tagName.toLowerCase()===d("nano-option"))).map((t=>t.setAttribute("tabindex",t===e?"0":"-1"))),i&&(e?e.setFocus?e.setFocus():e.focus():this.hasFocus||this.menu.focus())}handleBlur(t){if(!this.hasFocus)return;let i;if(t.key){if("Tab"!==t.key)return;i=s()&&s().closest(this.el.tagName.toLowerCase())===this.el}else i=!!t.composedPath().find((t=>t===this.el));i||(this.resetActiveItem(),this._hasFocus=!1,this.nanoBlur.emit())}handleFocus=()=>{this._hasFocus=!0,this.setActiveFocusItem(this.selectedItem||this.getItems[0]),this.nanoFocus.emit()};handleClick=t=>{const i=t.target.closest(d("nano-nav-item"));i&&!i.disabled&&this.nanoSelect.emit(i)};handleKeyDown=t=>{switch(clearTimeout(this.ignoreMouseTimeout),this.ignoreMouseTimeout=setTimeout((()=>this.ignoreMouseEvents=!1),500),this.ignoreMouseEvents=!0,t.key){case" ":this.activeItem&&(t.stopPropagation(),"BUTTON"!==this.activeItem.nodeName&&this.activeItem.click());break;case"ArrowDown":case"ArrowUp":case"PageDown":case"PageUp":case"Home":case"End":{const i=this.getItems;let o=i.indexOf(this.activeItem);if(i.length)return t.preventDefault(),"ArrowDown"===t.key?o++:"ArrowUp"===t.key?o--:"Home"===t.key||"PageUp"===t.key?o=0:"End"!==t.key&&"PageDown"!==t.key||(o=i.length-1),o<0&&(o=i.length-1),o>i.length-1&&(o=0),this.setActiveFocusItem(i[o]),void(i[o]&&i[o].scrollIntoView({block:"nearest"}));break}}if(" "===t.key||/^[a-z0-9]+$/i.test(t.key)){clearTimeout(this.typeToSelectTimeout),this.typeToSelectTimeout=setTimeout((()=>this.typeToSelect=""),750),this.typeToSelect+=t.key;const i=this.getItems;for(const t of i)if(c(t).toLowerCase().trim().substring(0,this.typeToSelect.length)===this.typeToSelect){this.setActiveFocusItem(t);break}}};handleMouseOver=t=>{const i=t.target,o=i.closest(d("nano-nav-item"))||i.closest(d("nano-option"))||i.closest("a");o&&!this.ignoreMouseEvents&&this.setActiveFocusItem(o)};handleSlotContent=()=>{if(this._type=this.type||null,!this._type){let t,i=0;h(this.el).forEach((o=>{"A"===o.tagName||"link"===o.role?t++:i++})),this._type=t>i?"nav":"menu"}"nav"!==this._type&&(p(this.el,`*:not(${d("nano-nav-item")}, a, ${d("nano-option")}, ${d("nano-dropdown")})`,!0).forEach((t=>{this.getItems.indexOf(t)<0&&t.setAttribute("role","none")})),this.el.querySelectorAll(`a, ${d("nano-dropdown")}`).forEach((t=>{t.setAttribute("role","A"===t.tagName?"menuitem":"group")})))};componentWillLoad(){this.handleSlotContent()}render(){return l(e,{key:"584081bb33462feb595037c47abd68aa3db1105a",role:"listbox"===this._type?"group":this._type,class:"nano-menu"},l("div",{key:"3847f51ea7fb4b0a80fe527d98e2af79468ed4bb",onClick:this.handleClick,onKeyDown:this.handleKeyDown,onMouseOver:this.handleMouseOver,onFocus:this.handleFocus,"aria-label":this.label?this.label:void 0,ref:t=>this.menu=t,part:"base",class:{menu:!0,["menu--"+this._type]:!0,"menu--has-focus":this.hasFocus},tabIndex:-1,role:"group"},l("slot",{key:"213d89d4ce752d7fa07e0f145d939679d6cb82ab",onSlotchange:this.handleSlotContent})))}};b.style=":host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host{--padding:var(--nano-spacing-sm) var(--nano-spacing-sm);--font-size:1rem;--background:var(--nano-color-neutral-75);--nav-item-padding:var(--padding);display:block;background:var(--background);color:var(--nano-color-neutral-1400);overflow-x:clip}.menu{font-size:var(--font-size);overscroll-behavior:none;min-inline-size:var(--width);position:relative}.menu:focus{outline:none}::slotted(*:not(.nano-nav-item,.nano-option,hr,slot)){padding:var(--padding);display:block}";export{u as nano_dropdown,b as nano_menu}
|
4
|
+
import{r as t,c as i,g as o,a as e}from"./index-BM3Om9WE.js";import{f as n,g as s}from"./active-element-CKJIkX0R.js";import{P as a}from"./popover-DNdFZ1hX.js";import{a as r,g as h}from"./tabbable-BgopY-vd.js";import{t as d,h as l}from"./renderer-DasB4P10.js";import{g as p}from"./dom-dlicJTEJ.js";import{g as c}from"./slot-CFTP7C_Z.js";let m=0;const u=class{constructor(o){t(this,o),this.nanoShow=i(this,"nanoShow",7),this.nanoAfterShow=i(this,"nanoAfterShow",7),this.nanoHide=i(this,"nanoHide",7),this.nanoAfterHide=i(this,"nanoAfterHide",7)}dropdownId="dropdown-"+m++;labelId=this.dropdownId+"-title";ignoreOpenWatcher=!1;panel;popover;trigger;positioner;accessibleTrigger;didLoad=!1;focusFirstEle=!0;get menu(){return this.host.querySelector(d("nano-menu"))}get host(){return o(this)}autoOpen=!0;open=!1;handleOpenChange(){this.ignoreOpenWatcher||(this.open?this.show():this.hide(),this.accessibleTrigger?this.accessibleTrigger.setAttribute("aria-expanded",this.open.toString()):this.updateAccessibleTrigger())}closeOnSelect=!0;containingElement;tetherTo=null;handleTetherToChange(){this.createPopover(),this.updateAccessibleTrigger()}placement="bottom-start";distance=5;skidding=0;hoist=!1;handlePopoverOptionsChange(){this.popover&&this.popover.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,skidding:this.skidding,distance:this.distance})}dialogTitle;nanoShow;nanoAfterShow;nanoHide;nanoAfterHide;eventType;secondaryOpen(t){t.detail.secondaryMenu&&(t.stopPropagation(),this.panel.classList.add("loading"),this.panel.addEventListener("transitionend",(()=>{this.panel.classList.remove("loading")}),{once:!0}),this.panel.style.minHeight=t.detail.secondaryMenu.scrollHeight+"px")}secondaryClose(t){t.detail.secondaryMenu&&(t.stopPropagation(),t.target.parentElement&&(this.panel.style.minHeight=t.target.parentElement.scrollHeight+"px"))}handlePanelSelect(t){this.closeOnSelect&&t.target.tagName.toLowerCase()===d("nano-menu")&&this.hide()}async show(){if(this.ignoreOpenWatcher=!0,this.open=!0,this.nanoShow.emit().defaultPrevented)return this.open=!1,void(this.ignoreOpenWatcher=!1);"function"==typeof this.positioner?.showPopover?(this.hoist=!0,this.popover.show(),this.positioner.showPopover()):this.popover.show(),this.ignoreOpenWatcher=!1,document.addEventListener("mousedown",this.handleDocumentMouseDown),document.addEventListener("keydown",this.handleDocumentKeyDown)}async hide(){if(this.ignoreOpenWatcher=!0,this.open=!1,this.nanoHide.emit().defaultPrevented)return this.open=!0,void(this.ignoreOpenWatcher=!1);this.popover&&this.popover.hide(),this.ignoreOpenWatcher=!1,document.removeEventListener("mousedown",this.handleDocumentMouseDown),document.removeEventListener("keydown",this.handleDocumentKeyDown)}afterHide(){"function"==typeof this.positioner?.hidePopover&&this.positioner.hidePopover(),this.panel.scrollTop=0,this.accessibleTrigger&&n(this.containingElement,this.trigger)&&this.accessibleTrigger.focus()}togglePanel=()=>{this.autoOpen&&(this.open?this.hide():this.show())};updateAccessibleTrigger(){if(!this.didLoad)return;let t;this.accessibleTrigger=null,t=this.tetherTo?r(this.tetherTo):Array.from(this.host.querySelectorAll('[slot="trigger"]')).map(r)[0],t&&!t.getAttribute("aria-haspopup")&&(t.setAttribute("aria-haspopup","true"),t.setAttribute("aria-expanded",this.open?"true":"false"),this.accessibleTrigger=t)}handleDocumentKeyDown(t){if("Escape"!==t.key)if("Tab"===t.key)setTimeout((()=>{n(this.containingElement,this.trigger,t)||this.hide()}));else{if(this.menu&&(this.placement.match(/bottom|top/)&&["ArrowDown","ArrowUp"].includes(t.key)||this.placement.match(/right|left/)&&["ArrowRight","ArrowLeft"].includes(t.key)))return!this.open||n(this.containingElement,this.trigger,t)?"NANO-DROPDOWN"===this.containingElement.tagName&&this.containingElement.placement.match(/right|left/)&&"NANO-DROPDOWN"===this.trigger.getRootNode()?.host?.tagName?void this.hide():void 0:(t.preventDefault(),this.menu.setFocus(),void(this.focusFirstEle=!0));const i=t.composedPath();if(this.menu&&i.length&&!i.find((t=>t!==this.menu)))return void this.menu.dispatchEvent(new KeyboardEvent(t.type,t))}else this.hide()}handleDocumentMouseDown(t){n(this.containingElement,this.trigger,t)||this.hide()}handleTriggerKeyDown=t=>{(this.placement.match(/bottom|top/)&&["ArrowDown","ArrowUp"," ","Enter"].includes(t.key)||this.placement.match(/right|left/)&&["ArrowRight","ArrowLeft"," ","Enter"].includes(t.key))&&(this.show(),t.preventDefault(),t.stopPropagation(),this.menu&&(this.menu.setFocus(),this.focusFirstEle=!0))};handleTriggerSlotChange=()=>{this.updateAccessibleTrigger()};createPopover(){(this.tetherTo||this.trigger)&&this.positioner&&(this.popover&&(this.open&&this.hide(),this.popover.destroy(),this.popover=null),this.popover=new a(this.tetherTo||this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:()=>{this.nanoAfterHide.emit()},onAfterShow:()=>{this.nanoAfterShow.emit()},onTransitionEnd:()=>{this.open?this.menu&&(this.menu.showActiveElement(),this.focusFirstEle&&(this.menu.setFocus(),this.focusFirstEle=!1)):this.afterHide()}}),this.open&&this.show())}isOverflowing(){return["auto","scroll"].includes(window.getComputedStyle(this.host).getPropertyValue("--overflow"))}connectedCallback(){this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.containingElement||(this.containingElement=this.host)}componentDidLoad(){this.didLoad=!0,this.createPopover(),setTimeout((()=>this.updateAccessibleTrigger()),100)}disconnectedCallback(){this.host.isConnected&&this.hide(),this.popover&&this.popover.destroy()}render(){return l(e,{key:"c0ed4b8b03d27f7437c148c8df305886c6cf29d9",class:"nano-dropdown"},l("div",{key:"27165586e2caa99ba746e7db3aa1574f0e9d1576",part:"base",id:this.dropdownId,class:{dropdown:!0,"dropdown--open":this.open}},l("span",{key:"b401a4d341e786ae4fe8c54adf06f8da1be4f531",part:"trigger",class:"dropdown__trigger",ref:t=>this.trigger=t,onKeyDown:this.handleTriggerKeyDown,onClick:this.togglePanel},l("slot",{key:"bd61e0f2d5e164b21d3ecba81c63ec72b0b7cc6f",name:"trigger",onSlotchange:this.handleTriggerSlotChange})),l("div",{key:"e0cb2a8823490b70f6aa01073d3873fa785fd763",ref:t=>this.positioner=t,class:"dropdown__positioner",popover:"manual",id:this.dropdownId+"-positioner"},l("div",{key:"3f1b7e3911cd7616ff85d042fc0d1e3e358f36c2",ref:t=>this.panel=t,part:"panel",class:`dropdown__panel ${this.placement.split("-").join(" ")}`,"aria-hidden":!this.open,role:"group"===this.host.getAttribute("role")?"group":"dialog","aria-modal":"group"===this.host.getAttribute("role")?void 0:"true","aria-labelledby":this.dialogTitle?this.labelId:void 0,tabIndex:this.isOverflowing()?0:void 0},this.dialogTitle&&l("span",{key:"19cc4dd331a4c2cbdc73a05687681cb2830fff0c",id:this.labelId,class:"dropdown__accessible-title","aria-live":"group"===this.host.getAttribute("role")?void 0:"polite"},this.dialogTitle),l("slot",{key:"5da1881086c31481463b3b7244552e17ee66d997"})))))}static get watchers(){return{open:["handleOpenChange"],tetherTo:["handleTetherToChange"],placement:["handlePopoverOptionsChange"],distance:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"]}}};u.style=":host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host{--width:auto;--border:none;--border-radius:0px;--background:var(--nano-color-neutral-75);--padding:0 0;--overflow:auto;--dropdown-z-index:var(--nano-z-index-dropdown);--min-width:0;--max-height:none;--box-shadow:var(--nano-shadow-l2);--menu-height:calc(100vh - 200px);display:inline-block}.dropdown{position:relative}.dropdown__trigger{display:block}.dropdown__positioner{position:absolute;z-index:var(--dropdown-z-index);min-inline-size:var(--min-width);border:0;background:none;padding:0;overflow:visible;color:unset}.dropdown__positioner::backdrop{display:none}.dropdown__positioner[popover],.dropdown__positioner:popover-open{inset:unset}@media (width <= 35.9375em){.dropdown__positioner{z-index:100}}.dropdown__panel{padding:var(--padding);background:var(--background);min-inline-size:var(--min-width);inline-size:var(--width);border:var(--border);border-radius:var(--border-radius);color:currentcolor;box-shadow:var(--box-shadow);opacity:0;transition:var(--nano-transition-x-fast) ease opacity, var(--nano-transition-x-fast) ease transform, var(--nano-transition-fast) ease min-block-size;min-block-size:20px;overflow:var(--overflow);max-block-size:var(--max-height);box-sizing:content-box !important}.dropdown__panel.loading{overflow-y:hidden}.dropdown__panel.top{transform:translateY(-20px) translateZ(0)}.dropdown__panel.bottom{transform:translateY(20px) translateZ(0)}.dropdown__positioner.popover-visible .dropdown__panel{opacity:1;transform:translateY(0) translateZ(0)}.dropdown__panel ::slotted(.nano-menu){max-block-size:var(--menu-height)}.dropdown__accessible-title{clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}";const b=class{constructor(o){t(this,o),this.nanoFocus=i(this,"nanoFocus",7),this.nanoBlur=i(this,"nanoBlur",7),this.nanoSelect=i(this,"nanoSelect",7)}ignoreMouseEvents=!1;ignoreMouseTimeout;menu;typeToSelect="";typeToSelectTimeout;get el(){return o(this)}get hasFocus(){return this._hasFocus}_hasFocus=!1;type;_type;label;nanoFocus;nanoBlur;nanoSelect;async setFocus(){this.menu?.focus&&this.menu.focus({preventScroll:!0})}async removeFocus(){this.menu?.blur&&this.menu.blur()}async showActiveElement(){this.selectedItem&&this.selectedItem.scrollIntoView({block:"nearest"})}async resetActiveItem(){this.getItems.filter((t=>t.tagName.toLowerCase()===d("nano-option"))).map((t=>t.setAttribute("tabindex","-1")))}get getItems(){let t;if("listbox"===this._type)t=p(this.el,`${d("nano-nav-item")}, ${d("nano-option")}`,"slot");else{const i=this.el.querySelectorAll("[open]");t=h(i[i.length-1]||this.el)}return t.filter((t=>!t.disabled&&!t.hidden))}get activeItem(){const t=s();return this.getItems.find((i=>"0"===i.getAttribute("tabindex")||i===t||i===document.activeElement||i.classList.contains("has-focus")))}get selectedItem(){return this.getItems.find((t=>t.selected))}async setActiveFocusItem(t,i=!0){const o=this.getItems,e=t||o.find((t=>t.selected))||o[0];o.filter((t=>t.tagName.toLowerCase()===d("nano-option"))).map((t=>t.setAttribute("tabindex",t===e?"0":"-1"))),i&&(e?e.setFocus?e.setFocus():e.focus():this.hasFocus||this.menu.focus())}handleBlur(t){if(!this.hasFocus)return;let i;if(t.key){if("Tab"!==t.key)return;i=s()&&s().closest(this.el.tagName.toLowerCase())===this.el}else i=!!t.composedPath().find((t=>t===this.el));i||(this.resetActiveItem(),this._hasFocus=!1,this.nanoBlur.emit())}handleFocus=()=>{this._hasFocus=!0,this.setActiveFocusItem(this.selectedItem||this.getItems[0]),this.nanoFocus.emit()};handleClick=t=>{const i=t.target.closest(d("nano-nav-item"));i&&!i.disabled&&this.nanoSelect.emit(i)};handleKeyDown=t=>{switch(clearTimeout(this.ignoreMouseTimeout),this.ignoreMouseTimeout=setTimeout((()=>this.ignoreMouseEvents=!1),500),this.ignoreMouseEvents=!0,t.key){case" ":this.activeItem&&(t.stopPropagation(),"BUTTON"!==this.activeItem.nodeName&&this.activeItem.click());break;case"ArrowDown":case"ArrowUp":case"PageDown":case"PageUp":case"Home":case"End":{const i=this.getItems;let o=i.indexOf(this.activeItem);if(i.length)return t.preventDefault(),"ArrowDown"===t.key?o++:"ArrowUp"===t.key?o--:"Home"===t.key||"PageUp"===t.key?o=0:"End"!==t.key&&"PageDown"!==t.key||(o=i.length-1),o<0&&(o=i.length-1),o>i.length-1&&(o=0),this.setActiveFocusItem(i[o]),void(i[o]&&i[o].scrollIntoView({block:"nearest"}));break}}if(" "===t.key||/^[a-z0-9]+$/i.test(t.key)){clearTimeout(this.typeToSelectTimeout),this.typeToSelectTimeout=setTimeout((()=>this.typeToSelect=""),750),this.typeToSelect+=t.key;const i=this.getItems;for(const t of i)if(c(t).toLowerCase().trim().substring(0,this.typeToSelect.length)===this.typeToSelect){this.setActiveFocusItem(t);break}}};handleMouseOver=t=>{const i=t.target,o=i.closest(d("nano-nav-item"))||i.closest(d("nano-option"))||i.closest("a");o&&!this.ignoreMouseEvents&&this.setActiveFocusItem(o)};handleSlotContent=()=>{if(this._type=this.type||null,!this._type){let t,i=0;h(this.el).forEach((o=>{"A"===o.tagName||"link"===o.role?t++:i++})),this._type=t>i?"nav":"menu"}"nav"!==this._type&&(p(this.el,`*:not(${d("nano-nav-item")}, a, ${d("nano-option")}, ${d("nano-dropdown")})`,!0).forEach((t=>{this.getItems.indexOf(t)<0&&t.setAttribute("role","none")})),this.el.querySelectorAll(`a, ${d("nano-dropdown")}`).forEach((t=>{t.setAttribute("role","A"===t.tagName?"menuitem":"group")})))};componentWillLoad(){this.handleSlotContent()}render(){return l(e,{key:"584081bb33462feb595037c47abd68aa3db1105a",role:"listbox"===this._type?"group":this._type,class:"nano-menu"},l("div",{key:"3847f51ea7fb4b0a80fe527d98e2af79468ed4bb",onClick:this.handleClick,onKeyDown:this.handleKeyDown,onMouseOver:this.handleMouseOver,onFocus:this.handleFocus,"aria-label":this.label?this.label:void 0,ref:t=>this.menu=t,part:"base",class:{menu:!0,["menu--"+this._type]:!0,"menu--has-focus":this.hasFocus},tabIndex:-1,role:"group"},l("slot",{key:"213d89d4ce752d7fa07e0f145d939679d6cb82ab",onSlotchange:this.handleSlotContent})))}};b.style=":host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host{--padding:var(--nano-spacing-sm) var(--nano-spacing-sm);--font-size:1rem;--background:var(--nano-color-neutral-75);--nav-item-padding:var(--padding);display:block;background:var(--background);color:var(--nano-color-neutral-1400);overflow-x:clip}.menu{font-size:var(--font-size);overscroll-behavior:none;min-inline-size:var(--width);position:relative}.menu:focus{outline:none}::slotted(*:not(.nano-nav-item,.nano-option,hr,slot)){padding:var(--padding);display:block}";export{u as nano_dropdown,b as nano_menu}
|