import{__awaiter,__generator}from"tslib"; /*! * (C) Ionic http://ionicframework.com - MIT License */import{r as registerInstance,d as createEvent,h,f as Host,i as getElement}from"./index-6e4709ff.js";import{d as doc}from"./index-a5d50daf.js";import{r as raf,g as getElementRoot}from"./helpers-da915de8.js";import{a as hapticSelectionStart,b as hapticSelectionChanged,h as hapticSelectionEnd}from"./haptic-ac164e4c.js";import{a as isPlatform,b as getIonMode}from"./ionic-global-c4e0c089.js";import{c as createColorClasses}from"./theme-01f3f29c.js";import"./capacitor-59395cbd.js";var pickerColumnCss=":host{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;height:200px;font-size:22px;text-align:center}.picker-opts{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-width:26px;max-height:200px;outline:none;text-align:inherit;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none}.picker-item-empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-opts::-webkit-scrollbar{display:none}::slotted(ion-picker-column-option){display:block;scroll-snap-align:center}.picker-item-empty,:host(:not([disabled])) ::slotted(ion-picker-column-option.option-disabled){scroll-snap-align:none}::slotted([slot=prefix]),::slotted([slot=suffix]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::slotted([slot=prefix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:end;justify-content:end}::slotted([slot=suffix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:start;justify-content:start}:host(.picker-column-disabled) .picker-opts{overflow-y:hidden}:host(.picker-column-disabled) ::slotted(ion-picker-column-option){cursor:default;opacity:0.4;pointer-events:none}@media (any-hover: hover){:host(:focus) .picker-opts{outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}";var IonPickerColumnStyle0=pickerColumnCss;var PickerColumn=function(){function e(e){var t=this;registerInstance(this,e);this.ionChange=createEvent(this,"ionChange",7);this.isScrolling=false;this.isColumnVisible=false;this.canExitInputMode=true;this.centerPickerItemInView=function(e,i,n){if(i===void 0){i=true}if(n===void 0){n=true}var r=t,a=r.isColumnVisible,o=r.scrollEl;if(a&&o){var s=e.offsetTop-3*e.clientHeight+e.clientHeight/2;if(o.scrollTop!==s){t.canExitInputMode=n;o.scroll({top:s,left:0,behavior:i?"smooth":undefined})}}};this.setPickerItemActiveState=function(e,t){if(t){e.classList.add(PICKER_ITEM_ACTIVE_CLASS)}else{e.classList.remove(PICKER_ITEM_ACTIVE_CLASS)}};this.inputModeChange=function(e){if(!t.numericInput){return}var i=e.detail,n=i.useInputMode,r=i.inputModeColumn;var a=r===undefined||r===t.el;if(!n||!a){t.setInputModeActive(false);return}t.setInputModeActive(true)};this.setInputModeActive=function(e){if(t.isScrolling){t.scrollEndCallback=function(){t.isActive=e};return}t.isActive=e};this.initializeScrollListener=function(){var e=isPlatform("ios");var i=t,n=i.el,r=i.scrollEl;var a;var o=t.activeItem;var s=function(){raf((function(){if(!r)return;if(a){clearTimeout(a);a=undefined}if(!t.isScrolling){e&&hapticSelectionStart();t.isScrolling=true}var i=r.getBoundingClientRect();var s=i.x+i.width/2;var d=i.y+i.height/2;var c=n.getRootNode();var f=c instanceof ShadowRoot;var l=f?c:doc;if(l===undefined){return}var p=l.elementsFromPoint(s,d);var u=p.find((function(e){return e.tagName==="ION-PICKER-COLUMN-OPTION"}));if(o!==undefined){t.setPickerItemActiveState(o,false)}if(u===undefined||u.disabled){return}if(u!==o){e&&hapticSelectionChanged();if(t.canExitInputMode){t.exitInputMode()}}o=u;t.setPickerItemActiveState(u,true);a=setTimeout((function(){t.isScrolling=false;e&&hapticSelectionEnd();var i=t.scrollEndCallback;if(i){i();t.scrollEndCallback=undefined}t.canExitInputMode=true;t.setValue(u.value)}),250)}))};raf((function(){if(!r)return;r.addEventListener("scroll",s);t.destroyScrollListener=function(){r.removeEventListener("scroll",s)}}))};this.exitInputMode=function(){var e=t.parentEl;if(e==null)return;e.exitInputMode();t.el.classList.remove("picker-column-active")};this.isActive=false;this.disabled=false;this.value=undefined;this.color="primary";this.numericInput=false}e.prototype.valueChange=function(){if(this.isColumnVisible){this.scrollActiveItemIntoView(true)}};e.prototype.componentWillLoad=function(){var e=this;var t=this.parentEl=this.el.closest("ion-picker");var i=function(t){var i=t[t.length-1];if(i.isIntersecting){var n=e,r=n.activeItem,a=n.el;e.isColumnVisible=true;var o=getElementRoot(a).querySelector(".".concat(PICKER_ITEM_ACTIVE_CLASS));if(o){e.setPickerItemActiveState(o,false)}e.scrollActiveItemIntoView();if(r){e.setPickerItemActiveState(r,true)}e.initializeScrollListener()}else{e.isColumnVisible=false;if(e.destroyScrollListener){e.destroyScrollListener();e.destroyScrollListener=undefined}}};new IntersectionObserver(i,{threshold:.001,root:this.parentEl}).observe(this.el);if(t!==null){t.addEventListener("ionInputModeChange",(function(t){return e.inputModeChange(t)}))}};e.prototype.componentDidRender=function(){var e=this,t=e.el,i=e.activeItem,n=e.isColumnVisible,r=e.value;if(n&&!i){var a=t.querySelector("ion-picker-column-option");if(a!==null&&a.value!==r){this.setValue(a.value)}}};e.prototype.scrollActiveItemIntoView=function(){return __awaiter(this,arguments,void 0,(function(e){var t;if(e===void 0){e=false}return __generator(this,(function(i){t=this.activeItem;if(t){this.centerPickerItemInView(t,e,false)}return[2]}))}))};e.prototype.setValue=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){if(this.disabled===true||this.value===e){return[2]}this.value=e;this.ionChange.emit({value:e});return[2]}))}))};e.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(this.scrollEl){this.scrollEl.focus()}return[2]}))}))};Object.defineProperty(e.prototype,"activeItem",{get:function(){var e=this;var t=this.value;var i=Array.from(this.el.querySelectorAll("ion-picker-column-option"));return i.find((function(i){if(!e.disabled&&i.disabled){return false}return i.value===t}))},enumerable:false,configurable:true});e.prototype.render=function(){var e;var t=this;var i=this,n=i.color,r=i.disabled,a=i.isActive,o=i.numericInput;var s=getIonMode(this);return h(Host,{key:"20de89f624d0fdbb4eadf912a6a8a8c1f3c374bc",class:createColorClasses(n,(e={},e[s]=true,e["picker-column-active"]=a,e["picker-column-numeric-input"]=o,e["picker-column-disabled"]=r,e))},h("slot",{key:"39bd2171785e21aef935787d8222949a2d29a771",name:"prefix"}),h("div",{key:"97217b758b65913db869f322b8f127f0da3a1c28",class:"picker-opts",tabindex:r?undefined:0,ref:function(e){t.scrollEl=e}},h("div",{key:"8cfd8f5de1c274f7b2b5b14c7f6f875d475edc5c",class:"picker-item-empty","aria-hidden":"true"}," "),h("div",{key:"cfbf7e8abe54c4df98addb9a24e82dd803ba95c0",class:"picker-item-empty","aria-hidden":"true"}," "),h("div",{key:"8049923186d8b5ce28da2ce90ad720c244395f9c",class:"picker-item-empty","aria-hidden":"true"}," "),h("slot",{key:"180efa3b7874e2b4269fb150794eaeab9f648f2e"}),h("div",{key:"9161cc3e344b92354276981813e1d55ef9979dea",class:"picker-item-empty","aria-hidden":"true"}," "),h("div",{key:"ce703fb3ea07d5ea2abf526d64ca85d2beed15f1",class:"picker-item-empty","aria-hidden":"true"}," "),h("div",{key:"6ce6cb5de80ac316a664e9cfcecf1897c8f90e58",class:"picker-item-empty","aria-hidden":"true"}," ")),h("slot",{key:"ecccfa6bd8f6d2d641109e74d0788081e3f29801",name:"suffix"}))};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{value:["valueChange"]}},enumerable:false,configurable:true});return e}();var PICKER_ITEM_ACTIVE_CLASS="option-active";PickerColumn.style=IonPickerColumnStyle0;export{PickerColumn as ion_picker_column};