UNPKG

@ionic/core

Version:
4 lines 12 kB
var __awaiter=this&&this.__awaiter||function(e,i,t,n){function r(e){return e instanceof t?e:new t((function(i){i(e)}))}return new(t||(t=Promise))((function(t,a){function o(e){try{f(n.next(e))}catch(e){a(e)}}function s(e){try{f(n["throw"](e))}catch(e){a(e)}}function f(e){e.done?t(e.value):r(e.value).then(o,s)}f((n=n.apply(e,i||[])).next())}))};var __generator=this&&this.__generator||function(e,i){var t={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},n,r,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(i){return f([e,i])}}function f(s){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,s[0]&&(t=0)),t)try{if(n=1,r&&(a=s[0]&2?r["return"]:s[0]?r["throw"]||((a=r["return"])&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;if(r=0,a)s=[s[0]&2,a.value];switch(s[0]){case 0:case 1:a=s;break;case 4:t.label++;return{value:s[1],done:false};case 5:t.label++;r=s[1];s=[0];continue;case 7:s=t.ops.pop();t.trys.pop();continue;default:if(!(a=t.trys,a=a.length>0&&a[a.length-1])&&(s[0]===6||s[0]===2)){t=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){t.label=s[1];break}if(s[0]===6&&t.label<a[1]){t.label=a[1];a=s;break}if(a&&t.label<a[2]){t.label=a[2];t.ops.push(s);break}if(a[2])t.ops.pop();t.trys.pop();continue}s=i.call(e,t)}catch(e){s=[6,e];r=0}finally{n=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}}; /*! * (C) Ionic http://ionicframework.com - MIT License */System.register(["./p-f11a9436.system.js","./p-792919fd.system.js","./p-455cd7cc.system.js","./p-a93873de.system.js","./p-f201b53a.system.js","./p-4609d030.system.js","./p-8985cdb6.system.js"],(function(e){"use strict";var i,t,n,r,a,o,s,f,c,u,l,d,p,h;return{setters:[function(e){i=e.r;t=e.c;n=e.h;r=e.e;a=e.f},function(e){o=e.d},function(e){s=e.r;f=e.g},function(e){c=e.a;u=e.b;l=e.h},function(e){d=e.a;p=e.b},function(e){h=e.c},function(){}],execute:function(){var v=":host{display:-ms-flexbox;display:flex;position:relative;-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}.assistive-focusable{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1;pointer-events:none}.assistive-focusable:focus{outline:none}.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 b=v;var m=e("ion_picker_column",function(){function e(e){var r=this;i(this,e);this.ionChange=t(this,"ionChange",7);this.isScrolling=false;this.isColumnVisible=false;this.canExitInputMode=true;this.updateValueTextOnScroll=false;this.centerPickerItemInView=function(e,i,t){if(i===void 0){i=true}if(t===void 0){t=true}var n=r,a=n.isColumnVisible,o=n.scrollEl;if(a&&o){var s=e.offsetTop-3*e.clientHeight+e.clientHeight/2;if(o.scrollTop!==s){r.canExitInputMode=t;r.updateValueTextOnScroll=false;o.scroll({top:s,left:0,behavior:i?"smooth":undefined})}}};this.setPickerItemActiveState=function(e,i){if(i){e.classList.add(y)}else{e.classList.remove(y)}};this.inputModeChange=function(e){if(!r.numericInput){return}var i=e.detail,t=i.useInputMode,n=i.inputModeColumn;var a=n===undefined||n===r.el;if(!t||!a){r.setInputModeActive(false);return}r.setInputModeActive(true)};this.setInputModeActive=function(e){if(r.isScrolling){r.scrollEndCallback=function(){r.isActive=e};return}r.isActive=e};this.initializeScrollListener=function(){var e=d("ios");var i=r,t=i.el,n=i.scrollEl;var a;var f=r.activeItem;var p=function(){s((function(){var i;if(!n)return;if(a){clearTimeout(a);a=undefined}if(!r.isScrolling){e&&c();r.isScrolling=true}var s=n.getBoundingClientRect();var d=s.x+s.width/2;var p=s.y+s.height/2;var h=t.getRootNode();var v=h instanceof ShadowRoot;var b=v?h:o;if(b===undefined){return}var m=b.elementsFromPoint(d,p);var y=m.find((function(e){return e.tagName==="ION-PICKER-COLUMN-OPTION"}));if(f!==undefined){r.setPickerItemActiveState(f,false)}if(y===undefined||y.disabled){return}if(y!==f){e&&u();if(r.canExitInputMode){r.exitInputMode()}}f=y;r.setPickerItemActiveState(y,true);if(r.updateValueTextOnScroll){(i=r.assistiveFocusable)===null||i===void 0?void 0:i.setAttribute("aria-valuetext",r.getOptionValueText(y))}a=setTimeout((function(){r.isScrolling=false;r.updateValueTextOnScroll=true;e&&l();var i=r.scrollEndCallback;if(i){i();r.scrollEndCallback=undefined}r.canExitInputMode=true;r.setValue(y.value)}),250)}))};s((function(){if(!n)return;n.addEventListener("scroll",p);r.destroyScrollListener=function(){n.removeEventListener("scroll",p)}}))};this.exitInputMode=function(){var e=r.parentEl;if(e==null)return;e.exitInputMode();r.el.classList.remove("picker-column-active")};this.findNextOption=function(e){if(e===void 0){e=1}var i=r.activeItem;if(!i)return null;var t=i;var n=i.nextElementSibling;while(n!=null){if(e>0){e--}if(n.tagName==="ION-PICKER-COLUMN-OPTION"&&!n.disabled&&e===0){return n}t=n;n=n.nextElementSibling}return t};this.findPreviousOption=function(e){if(e===void 0){e=1}var i=r.activeItem;if(!i)return null;var t=i;var n=i.previousElementSibling;while(n!=null){if(e>0){e--}if(n.tagName==="ION-PICKER-COLUMN-OPTION"&&!n.disabled&&e===0){return n}t=n;n=n.previousElementSibling}return t};this.onKeyDown=function(e){var i=d("mobile");var t=null;switch(e.key){case"ArrowDown":t=i?r.findPreviousOption():r.findNextOption();break;case"ArrowUp":t=i?r.findNextOption():r.findPreviousOption();break;case"PageUp":t=i?r.findNextOption(5):r.findPreviousOption(5);break;case"PageDown":t=i?r.findPreviousOption(5):r.findNextOption(5);break;case"Home":t=r.el.querySelector("ion-picker-column-option:first-of-type");break;case"End":t=r.el.querySelector("ion-picker-column-option:last-of-type");break}if(t!==null){r.setValue(t.value);e.preventDefault()}};this.getOptionValueText=function(e){var i;return e?(i=e.getAttribute("aria-label"))!==null&&i!==void 0?i:e.innerText:""};this.renderAssistiveFocusable=function(){var e=r.activeItem;var i=r.getOptionValueText(e);return n("div",{ref:function(e){return r.assistiveFocusable=e},class:"assistive-focusable",role:"slider",tabindex:r.disabled?undefined:0,"aria-label":r.ariaLabel,"aria-valuemin":0,"aria-valuemax":0,"aria-valuenow":0,"aria-valuetext":i,"aria-orientation":"vertical",onKeyDown:function(e){return r.onKeyDown(e)}})};this.ariaLabel=null;this.isActive=false;this.disabled=false;this.value=undefined;this.color="primary";this.numericInput=false}e.prototype.ariaLabelChanged=function(e){this.ariaLabel=e};e.prototype.valueChange=function(){if(this.isColumnVisible){this.scrollActiveItemIntoView(true)}};e.prototype.componentWillLoad=function(){var e=this;var i=this.parentEl=this.el.closest("ion-picker");var t=function(i){var t=i[i.length-1];if(t.isIntersecting){var n=e,r=n.activeItem,a=n.el;e.isColumnVisible=true;var o=f(a).querySelector(".".concat(y));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(t,{threshold:.001,root:this.parentEl}).observe(this.el);if(i!==null){i.addEventListener("ionInputModeChange",(function(i){return e.inputModeChange(i)}))}};e.prototype.componentDidRender=function(){var e=this,i=e.el,t=e.activeItem,n=e.isColumnVisible,r=e.value;if(n&&!t){var a=i.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 i;if(e===void 0){e=false}return __generator(this,(function(t){i=this.activeItem;if(i){this.centerPickerItemInView(i,e,false)}return[2]}))}))};e.prototype.setValue=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(i){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.assistiveFocusable){this.assistiveFocusable.focus()}return[2]}))}))};e.prototype.connectedCallback=function(){var e;this.ariaLabel=(e=this.el.getAttribute("aria-label"))!==null&&e!==void 0?e:"Select a value"};Object.defineProperty(e.prototype,"activeItem",{get:function(){var e=this;var i=this.value;var t=Array.from(this.el.querySelectorAll("ion-picker-column-option"));return t.find((function(t){if(!e.disabled&&t.disabled){return false}return t.value===i}))},enumerable:false,configurable:true});e.prototype.render=function(){var e;var i=this;var t=this,a=t.color,o=t.disabled,s=t.isActive,f=t.numericInput;var c=p(this);return n(r,{key:"a221dc10f1eb7c41637a16d2c7167c16939822fd",class:h(a,(e={},e[c]=true,e["picker-column-active"]=s,e["picker-column-numeric-input"]=f,e["picker-column-disabled"]=o,e))},this.renderAssistiveFocusable(),n("slot",{key:"81b0656f606856f3dc0a657bf167d81a5011405e",name:"prefix"}),n("div",{key:"71b9de67c04150255dd66592601c9d926db0c31c","aria-hidden":"true",class:"picker-opts",ref:function(e){i.scrollEl=e},tabIndex:-1},n("div",{key:"ebdc2f08c83db0cf17b4be29f28fcb00f529601e",class:"picker-item-empty","aria-hidden":"true"}," "),n("div",{key:"04ab56fcb8e6a7d6af00204c4560feb99ff34a56",class:"picker-item-empty","aria-hidden":"true"}," "),n("div",{key:"6cf8f538903faf0fe1e4130f3eaf7b4e2e17cb52",class:"picker-item-empty","aria-hidden":"true"}," "),n("slot",{key:"1cc392307b70c576be5b81b5226ceba735957f0f"}),n("div",{key:"23e3f28e2a99b9aa8b7c8f68ad9583e3ca63e9e2",class:"picker-item-empty","aria-hidden":"true"}," "),n("div",{key:"8a0563f09780c3116af0caebe4f40587ec1f041f",class:"picker-item-empty","aria-hidden":"true"}," "),n("div",{key:"13207e248fc0009f37e0c90a3ee2bac2f130b856",class:"picker-item-empty","aria-hidden":"true"}," ")),n("slot",{key:"55ecf2ab5f214f936c2468cbdb7952daf89416b8",name:"suffix"}))};Object.defineProperty(e.prototype,"el",{get:function(){return a(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{"aria-label":["ariaLabelChanged"],value:["valueChange"]}},enumerable:false,configurable:true});return e}());var y="option-active";m.style=b}}}));