Mini Shell

Direktori : /home/funerariamayer/app/
Upload File :
Current File : /home/funerariamayer/app/node_modules_ionic_core_dist_esm_ion-picker-internal_entry_js.js.map

{"version":3,"file":"node_modules_ionic_core_dist_esm_ion-picker-internal_entry_js.js","mappings":";;;;;;;;;;;;;;;AAAA;AACA;AACA;AAC6G;AACjD;;AAE5D,oCAAoC,oBAAoB,aAAa,kBAAkB,sBAAsB,mBAAmB,qBAAqB,uBAAuB,WAAW,aAAa,cAAc,UAAU,yCAAyC,kBAAkB,WAAW,UAAU,oBAAoB,qBAAqB,OAAO,MAAM,YAAY,yBAAyB,WAAW,YAAY,QAAQ,oBAAoB,OAAO,UAAU,YAAY,yBAAyB,WAAW,YAAY,QAAQ,wBAAwB,kBAAkB,OAAO,QAAQ,QAAQ,SAAS,iBAAiB,kBAAkB,aAAa,gBAAgB,kBAAkB,wBAAwB,YAAY,mCAAmC,2BAA2B,WAAW,+FAA+F,wBAAwB,kBAAkB,mBAAmB,0BAA0B,yBAAyB,wBAAwB,wBAAwB,YAAY,kBAAkB,MAAM,OAAO,QAAQ,SAAS,WAAW,YAAY,SAAS,UAAU,SAAS,UAAU,mBAAmB,UAAU,gBAAgB,wBAAwB,qBAAqB,0DAA0D,iBAAiB,yDAAyD,eAAe,qBAAqB,wNAAwN,uLAAuL,oBAAoB,wNAAwN,oLAAoL,wBAAwB,8CAA8C;;AAEvwE,mCAAmC,oBAAoB,aAAa,kBAAkB,sBAAsB,mBAAmB,qBAAqB,uBAAuB,WAAW,aAAa,cAAc,UAAU,yCAAyC,kBAAkB,WAAW,UAAU,oBAAoB,qBAAqB,OAAO,MAAM,YAAY,yBAAyB,WAAW,YAAY,QAAQ,oBAAoB,OAAO,UAAU,YAAY,yBAAyB,WAAW,YAAY,QAAQ,wBAAwB,kBAAkB,OAAO,QAAQ,QAAQ,SAAS,iBAAiB,kBAAkB,aAAa,gBAAgB,kBAAkB,wBAAwB,YAAY,mCAAmC,2BAA2B,WAAW,+FAA+F,wBAAwB,kBAAkB,mBAAmB,0BAA0B,yBAAyB,wBAAwB,wBAAwB,YAAY,kBAAkB,MAAM,OAAO,QAAQ,SAAS,WAAW,YAAY,SAAS,UAAU,SAAS,UAAU,mBAAmB,UAAU,gBAAgB,wBAAwB,qBAAqB,0DAA0D,iBAAiB,yDAAyD,eAAe,qBAAqB,mOAAmO,oLAAoL,oBAAoB,mOAAmO,iLAAiL;;AAEhtE;AACA;AACA,IAAI,qDAAgB;AACpB,8BAA8B,qDAAW;AACzC;AACA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,gBAAgB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,gBAAgB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oCAAoC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,wBAAwB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,sDAAsD;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,MAAM;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,MAAM;AACvC;AACA;AACA;AACA;AACA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,yCAAyC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,gCAAgC;AAC9C;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,IAAI,uDAAc;AAClB,IAAI,uDAAc;AAClB;AACA;AACA,YAAY,qDAAC,CAAC,iDAAI,IAAI,8EAA8E,EAAE,qDAAC,YAAY,kLAAkL,GAAG,qDAAC,UAAU,wBAAwB,GAAG,qDAAC,UAAU,uBAAuB,GAAG,qDAAC,UAAU,6DAA6D,GAAG,qDAAC;AAC/b;AACA,aAAa,OAAO,qDAAU;AAC9B;AACA;AACA;AACA;AACA;;AAEiD","sources":["./node_modules/@ionic/core/dist/esm/ion-picker-internal.entry.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-06cd27b1.js';\nimport { g as getElementRoot } from './helpers-eed79a2b.js';\n\nconst pickerInternalIosCss = \":host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;z-index:1;pointer-events:none}:host .picker-before{left:0;top:0;height:83px}:host-context([dir=rtl]){left:unset;right:unset;right:0}:host .picker-after{left:0;top:116px;height:84px}:host-context([dir=rtl]){left:unset;right:unset;right:0}:host .picker-highlight{border-radius:8px;left:0;right:0;top:50%;bottom:0;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:-1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .picker-highlight{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host ::slotted(ion-picker-column-internal:first-of-type){text-align:start}:host ::slotted(ion-picker-column-internal:last-of-type){text-align:end}:host .picker-before{background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%)}:host .picker-after{background:-webkit-gradient(linear, left bottom, left top, color-stop(20%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%)}:host .picker-highlight{background:var(--ion-color-step-150, #eeeeef)}\";\n\nconst pickerInternalMdCss = \":host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;z-index:1;pointer-events:none}:host .picker-before{left:0;top:0;height:83px}:host-context([dir=rtl]){left:unset;right:unset;right:0}:host .picker-after{left:0;top:116px;height:84px}:host-context([dir=rtl]){left:unset;right:unset;right:0}:host .picker-highlight{border-radius:8px;left:0;right:0;top:50%;bottom:0;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:-1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .picker-highlight{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host ::slotted(ion-picker-column-internal:first-of-type){text-align:start}:host ::slotted(ion-picker-column-internal:last-of-type){text-align:end}:host .picker-before{background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--background, var(--ion-background-color, #fff))), color-stop(90%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0)));background:linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0) 90%)}:host .picker-after{background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--background, var(--ion-background-color, #fff))), color-stop(90%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0)));background:linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 30%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0) 90%)}\";\n\nlet PickerInternal = class {\n  constructor(hostRef) {\n    registerInstance(this, hostRef);\n    this.ionInputModeChange = createEvent(this, \"ionInputModeChange\", 7);\n    this.useInputMode = false;\n    this.isInHighlightBounds = (ev) => {\n      const { highlightEl } = this;\n      if (!highlightEl) {\n        return false;\n      }\n      const bbox = highlightEl.getBoundingClientRect();\n      /**\n       * Check to see if the user clicked\n       * outside the bounds of the highlight.\n       */\n      const outsideX = ev.clientX < bbox.left || ev.clientX > bbox.right;\n      const outsideY = ev.clientY < bbox.top || ev.clientY > bbox.bottom;\n      if (outsideX || outsideY) {\n        return false;\n      }\n      return true;\n    };\n    /**\n     * If we are no longer focused\n     * on a picker column, then we should\n     * exit input mode. An exception is made\n     * for the input in the picker since having\n     * that focused means we are still in input mode.\n     */\n    this.onFocusOut = (ev) => {\n      const { relatedTarget } = ev;\n      if (!relatedTarget ||\n        relatedTarget.tagName !== 'ION-PICKER-COLUMN-INTERNAL' && relatedTarget !== this.inputEl) {\n        this.exitInputMode();\n      }\n    };\n    /**\n     * When picker columns receive focus\n     * the parent picker needs to determine\n     * whether to enter/exit input mode.\n     */\n    this.onFocusIn = (ev) => {\n      const { target } = ev;\n      /**\n       * Due to browser differences in how/when focus\n       * is dispatched on certain elements, we need to\n       * make sure that this function only ever runs when\n       * focusing a picker column.\n       */\n      if (target.tagName !== 'ION-PICKER-COLUMN-INTERNAL') {\n        return;\n      }\n      /**\n       * If we have actionOnClick\n       * then this means the user focused\n       * a picker column via mouse or\n       * touch (i.e. a PointerEvent). As a result,\n       * we should not enter/exit input mode\n       * until the click event has fired, which happens\n       * after the `focusin` event.\n       *\n       * Otherwise, the user likely focused\n       * the column using their keyboard and\n       * we should enter/exit input mode automatically.\n       */\n      if (!this.actionOnClick) {\n        const columnEl = target;\n        const allowInput = columnEl.numericInput;\n        if (allowInput) {\n          this.enterInputMode(columnEl, false);\n        }\n        else {\n          this.exitInputMode();\n        }\n      }\n    };\n    /**\n     * On click we need to run an actionOnClick\n     * function that has been set in onPointerDown\n     * so that we enter/exit input mode correctly.\n     */\n    this.onClick = () => {\n      const { actionOnClick } = this;\n      if (actionOnClick) {\n        actionOnClick();\n        this.actionOnClick = undefined;\n      }\n    };\n    /**\n     * Clicking a column also focuses the column on\n     * certain browsers, so we use onPointerDown\n     * to tell the onFocusIn function that users\n     * are trying to click the column rather than\n     * focus the column using the keyboard. When the\n     * user completes the click, the onClick function\n     * runs and runs the actionOnClick callback.\n     */\n    this.onPointerDown = (ev) => {\n      const { useInputMode, inputModeColumn, el } = this;\n      if (this.isInHighlightBounds(ev)) {\n        /**\n         * If we were already in\n         * input mode, then we should determine\n         * if we tapped a particular column and\n         * should switch to input mode for\n         * that specific column.\n         */\n        if (useInputMode) {\n          /**\n           * If we tapped a picker column\n           * then we should either switch to input\n           * mode for that column or all columns.\n           * Otherwise we should exit input mode\n           * since we just tapped the highlight and\n           * not a column.\n           */\n          if (ev.target.tagName === 'ION-PICKER-COLUMN-INTERNAL') {\n            /**\n             * If user taps 2 different columns\n             * then we should just switch to input mode\n             * for the new column rather than switching to\n             * input mode for all columns.\n             */\n            if (inputModeColumn && inputModeColumn === ev.target) {\n              this.actionOnClick = () => {\n                this.enterInputMode();\n              };\n            }\n            else {\n              this.actionOnClick = () => {\n                this.enterInputMode(ev.target);\n              };\n            }\n          }\n          else {\n            this.actionOnClick = () => {\n              this.exitInputMode();\n            };\n          }\n          /**\n           * If we were not already in\n           * input mode, then we should\n           * enter input mode for all columns.\n           */\n        }\n        else {\n          /**\n           * If there is only 1 numeric input column\n           * then we should skip multi column input.\n           */\n          const columns = el.querySelectorAll('ion-picker-column-internal.picker-column-numeric-input');\n          const columnEl = (columns.length === 1) ? ev.target : undefined;\n          this.actionOnClick = () => {\n            this.enterInputMode(columnEl);\n          };\n        }\n        return;\n      }\n      this.actionOnClick = () => {\n        this.exitInputMode();\n      };\n    };\n    /**\n     * Enters input mode to allow\n     * for text entry of numeric values.\n     * If on mobile, we focus a hidden input\n     * field so that the on screen keyboard\n     * is brought up. When tabbing using a\n     * keyboard, picker columns receive an outline\n     * to indicate they are focused. As a result,\n     * we should not focus the hidden input as it\n     * would cause the outline to go away, preventing\n     * users from having any visual indication of which\n     * column is focused.\n     */\n    this.enterInputMode = (columnEl, focusInput = true) => {\n      const { inputEl, el } = this;\n      if (!inputEl) {\n        return;\n      }\n      /**\n       * Only active input mode if there is at\n       * least one column that accepts numeric input.\n       */\n      const hasInputColumn = el.querySelector('ion-picker-column-internal.picker-column-numeric-input');\n      if (!hasInputColumn) {\n        return;\n      }\n      /**\n       * If columnEl is undefined then\n       * it is assumed that all numeric pickers\n       * are eligible for text entry.\n       * (i.e. hour and minute columns)\n       */\n      this.useInputMode = true;\n      this.inputModeColumn = columnEl;\n      /**\n       * Users with a keyboard and mouse can\n       * activate input mode where the input is\n       * focused as well as when it is not focused,\n       * so we need to make sure we clean up any\n       * old listeners.\n       */\n      if (focusInput) {\n        if (this.destroyKeypressListener) {\n          this.destroyKeypressListener();\n          this.destroyKeypressListener = undefined;\n        }\n        inputEl.focus();\n      }\n      else {\n        el.addEventListener('keypress', this.onKeyPress);\n        this.destroyKeypressListener = () => {\n          el.removeEventListener('keypress', this.onKeyPress);\n        };\n      }\n      this.emitInputModeChange();\n    };\n    this.exitInputMode = () => {\n      const { inputEl, useInputMode } = this;\n      if (!useInputMode || !inputEl) {\n        return;\n      }\n      this.useInputMode = false;\n      this.inputModeColumn = undefined;\n      inputEl.blur();\n      inputEl.value = '';\n      if (this.destroyKeypressListener) {\n        this.destroyKeypressListener();\n        this.destroyKeypressListener = undefined;\n      }\n      this.emitInputModeChange();\n    };\n    this.onKeyPress = (ev) => {\n      const { inputEl } = this;\n      if (!inputEl) {\n        return;\n      }\n      const parsedValue = parseInt(ev.key, 10);\n      /**\n       * Only numbers should be allowed\n       */\n      if (!Number.isNaN(parsedValue)) {\n        inputEl.value += ev.key;\n        this.onInputChange();\n      }\n    };\n    this.selectSingleColumn = () => {\n      const { inputEl, inputModeColumn, singleColumnSearchTimeout } = this;\n      if (!inputEl || !inputModeColumn) {\n        return;\n      }\n      const values = inputModeColumn.items;\n      /**\n       * If users pause for a bit, the search\n       * value should be reset similar to how a\n       * <select> behaves. So typing \"34\", waiting,\n       * then typing \"5\" should select \"05\".\n       */\n      if (singleColumnSearchTimeout) {\n        clearTimeout(singleColumnSearchTimeout);\n      }\n      this.singleColumnSearchTimeout = setTimeout(() => {\n        inputEl.value = '';\n        this.singleColumnSearchTimeout = undefined;\n      }, 1000);\n      /**\n       * For values that are longer than 2 digits long\n       * we should shift the value over 1 character\n       * to the left. So typing \"456\" would result in \"56\".\n       * TODO: If we want to support more than just\n       * time entry, we should update this value to be\n       * the max length of all of the picker items.\n       */\n      if (inputEl.value.length >= 3) {\n        const startIndex = inputEl.value.length - 2;\n        const newString = inputEl.value.substring(startIndex);\n        inputEl.value = newString;\n        this.selectSingleColumn();\n        return;\n      }\n      /**\n       * Checking the value of the input gets priority\n       * first. For example, if the value of the input\n       * is \"1\" and we entered \"2\", then the complete value\n       * is \"12\" and we should select hour 12.\n       *\n       * Regex removes any leading zeros from values like \"02\".\n       */\n      const findItemFromCompleteValue = values.find(({ text }) => text.replace(/^0+/, '') === inputEl.value);\n      if (findItemFromCompleteValue) {\n        inputModeColumn.value = findItemFromCompleteValue.value;\n        return;\n      }\n      /**\n       * If we typed \"56\" to get minute 56, then typed \"7\",\n       * we should select \"07\" as \"567\" is not a valid minute.\n       */\n      if (inputEl.value.length === 2) {\n        const changedCharacter = inputEl.value.substring(inputEl.value.length - 1);\n        inputEl.value = changedCharacter;\n        this.selectSingleColumn();\n      }\n    };\n    /**\n     * Searches a list of column items for a particular\n     * value. This is currently used for numeric values.\n     * The zeroBehavior can be set to account for leading\n     * or trailing zeros when looking at the item text.\n     */\n    this.searchColumn = (colEl, value, zeroBehavior = 'start') => {\n      let item;\n      const behavior = zeroBehavior === 'start' ? /^0+/ : /0$/;\n      item = colEl.items.find(({ text }) => text.replace(behavior, '') === value);\n      if (item) {\n        colEl.value = item.value;\n      }\n    };\n    this.selectMultiColumn = () => {\n      const { inputEl, el } = this;\n      if (!inputEl) {\n        return;\n      }\n      const numericPickers = Array.from(el.querySelectorAll('ion-picker-column-internal')).filter(col => col.numericInput);\n      const firstColumn = numericPickers[0];\n      const lastColumn = numericPickers[1];\n      let value = inputEl.value;\n      let minuteValue;\n      switch (value.length) {\n        case 1:\n          this.searchColumn(firstColumn, value);\n          break;\n        case 2:\n          /**\n           * If the first character is `0` or `1` it is\n           * possible that users are trying to type `09`\n           * or `11` into the hour field, so we should look\n           * at that first.\n           */\n          const firstCharacter = inputEl.value.substring(0, 1);\n          value = (firstCharacter === '0' || firstCharacter === '1') ? inputEl.value : firstCharacter;\n          this.searchColumn(firstColumn, value);\n          /**\n           * If only checked the first value,\n           * we can check the second value\n           * for a match in the minutes column\n           */\n          if (value.length === 1) {\n            minuteValue = inputEl.value.substring(inputEl.value.length - 1);\n            this.searchColumn(lastColumn, minuteValue, 'end');\n          }\n          break;\n        case 3:\n          /**\n           * If the first character is `0` or `1` it is\n           * possible that users are trying to type `09`\n           * or `11` into the hour field, so we should look\n           * at that first.\n           */\n          const firstCharacterAgain = inputEl.value.substring(0, 1);\n          value = (firstCharacterAgain === '0' || firstCharacterAgain === '1') ? inputEl.value.substring(0, 2) : firstCharacterAgain;\n          this.searchColumn(firstColumn, value);\n          /**\n           * If only checked the first value,\n           * we can check the second value\n           * for a match in the minutes column\n           */\n          minuteValue = (value.length === 1) ? inputEl.value.substring(1) : inputEl.value.substring(2);\n          this.searchColumn(lastColumn, minuteValue, 'end');\n          break;\n        case 4:\n          /**\n           * If the first character is `0` or `1` it is\n           * possible that users are trying to type `09`\n           * or `11` into the hour field, so we should look\n           * at that first.\n           */\n          const firstCharacterAgainAgain = inputEl.value.substring(0, 1);\n          value = (firstCharacterAgainAgain === '0' || firstCharacterAgainAgain === '1') ? inputEl.value.substring(0, 2) : firstCharacterAgainAgain;\n          this.searchColumn(firstColumn, value);\n          /**\n           * If only checked the first value,\n           * we can check the second value\n           * for a match in the minutes column\n           */\n          const minuteValueAgain = (value.length === 1) ? inputEl.value.substring(1, inputEl.value.length) : inputEl.value.substring(2, inputEl.value.length);\n          this.searchColumn(lastColumn, minuteValueAgain, 'end');\n          break;\n        default:\n          const startIndex = inputEl.value.length - 4;\n          const newString = inputEl.value.substring(startIndex);\n          inputEl.value = newString;\n          this.selectMultiColumn();\n          break;\n      }\n    };\n    /**\n     * Searches the value of the active column\n     * to determine which value users are trying\n     * to select\n     */\n    this.onInputChange = () => {\n      const { useInputMode, inputEl, inputModeColumn } = this;\n      if (!useInputMode || !inputEl) {\n        return;\n      }\n      if (inputModeColumn) {\n        this.selectSingleColumn();\n      }\n      else {\n        this.selectMultiColumn();\n      }\n    };\n    /**\n     * Emit ionInputModeChange. Picker columns\n     * listen for this event to determine whether\n     * or not their column is \"active\" for text input.\n     */\n    this.emitInputModeChange = () => {\n      const { useInputMode, inputModeColumn } = this;\n      this.ionInputModeChange.emit({\n        useInputMode,\n        inputModeColumn\n      });\n    };\n  }\n  componentWillLoad() {\n    getElementRoot(this.el).addEventListener('focusin', this.onFocusIn);\n    getElementRoot(this.el).addEventListener('focusout', this.onFocusOut);\n  }\n  render() {\n    return (h(Host, { onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, h(\"input\", { \"aria-hidden\": \"true\", tabindex: -1, inputmode: \"numeric\", type: \"number\", ref: el => this.inputEl = el, onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), h(\"div\", { class: \"picker-before\" }), h(\"div\", { class: \"picker-after\" }), h(\"div\", { class: \"picker-highlight\", ref: el => this.highlightEl = el }), h(\"slot\", null)));\n  }\n  get el() { return getElement(this); }\n};\nPickerInternal.style = {\n  ios: pickerInternalIosCss,\n  md: pickerInternalMdCss\n};\n\nexport { PickerInternal as ion_picker_internal };\n"],"names":[],"sourceRoot":"webpack:///"}

Zerion Mini Shell 1.0