@ionic/core 8.8.11-nightly.20260612 → 8.8.11-nightly.20260616
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/components/ion-input-otp.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
- package/dist/cjs/ion-searchbar.cjs.entry.js +26 -5
- package/dist/collection/components/input-otp/input-otp.js +3 -3
- package/dist/collection/components/searchbar/searchbar.js +26 -5
- package/dist/docs.json +1 -1
- package/dist/esm/ion-input-otp.entry.js +3 -3
- package/dist/esm/ion-searchbar.entry.js +26 -5
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-21eb76d5.entry.js +4 -0
- package/dist/ionic/{p-8d6fd502.entry.js → p-4745f534.entry.js} +1 -1
- package/dist/types/components/searchbar/searchbar.d.ts +1 -0
- package/hydrate/index.js +29 -8
- package/hydrate/index.mjs +29 -8
- package/package.json +1 -1
- package/dist/ionic/p-e686695b.entry.js +0 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import{p as i,H as o,e as t,f as n,h as s,F as r,d as p,t as e}from"./p-CHqRYvYm.js";import{i as a}from"./p-Baq1XyAy.js";import{i as l}from"./p-C53feagD.js";import{c as d}from"./p-DiVJyqlX.js";import{b as u}from"./p-DOFCbuQR.js";const c=i(class extends o{constructor(i){super(),!1!==i&&this.__registerHost(),this.ionInput=t(this,"ionInput",7),this.ionChange=t(this,"ionChange",7),this.ionComplete=t(this,"ionComplete",7),this.ionBlur=t(this,"ionBlur",7),this.ionFocus=t(this,"ionFocus",7),this.inheritedAttributes={},this.inputRefs=[],this.inputId="ion-input-otp-"+h++,this.parsedSeparators=[],this.isKeyboardNavigation=!1,this.inputValues=[],this.hasFocus=!1,this.previousInputValues=[],this.autocapitalize="off",this.disabled=!1,this.fill="outline",this.length=4,this.readonly=!1,this.shape="round",this.size="medium",this.type="number",this.value="",this.onFocus=i=>o=>{var t;const{inputRefs:n}=this;this.hasFocus||(this.ionFocus.emit(o),this.focusedValue=this.value),this.hasFocus=!0;let s=i;if(!this.isKeyboardNavigation){const o=this.inputValues[i]?i:this.getFirstEmptyIndex();s=-1===o?this.length-1:o,null===(t=this.inputRefs[s])||void 0===t||t.focus()}n.forEach(((i,o)=>{i.tabIndex=o===s?0:-1})),this.isKeyboardNavigation=!1},this.onBlur=i=>{const{inputRefs:o}=this,t=i.relatedTarget;null!=t&&o.includes(t)||(this.hasFocus=!1,this.updateTabIndexes(),this.ionBlur.emit(i),this.focusedValue!==this.value&&this.emitIonChange(i))},this.onKeyDown=i=>o=>{const{disabled:t,length:n,readonly:s}=this,r=l(this.el),p=o.target;if(!t)if(!s||"Backspace"!==o.key&&"Delete"!==o.key){if(!(p.selectionStart!==p.selectionEnd||(o.metaKey||o.ctrlKey)&&["a","c","v","x","r","z","y"].includes(o.key.toLowerCase())))if("Backspace"===o.key)if(this.inputValues[i]){for(let o=i;o<n-1;o++)this.inputValues[o]=this.inputValues[o+1];this.inputValues[n-1]="";for(let i=0;i<n;i++)this.inputRefs[i].value=this.inputValues[i]||"";this.updateValue(o),o.preventDefault()}else!this.inputValues[i]&&i>0&&this.focusPrevious(i);else if("ArrowLeft"===o.key||"ArrowRight"===o.key){this.isKeyboardNavigation=!0,o.preventDefault();const t="ArrowLeft"===o.key;t&&r||!t&&!r?this.inputValues[i]&&i<n-1&&this.focusNext(i):this.focusPrevious(i)}else if("Tab"===o.key)return void(this.isKeyboardNavigation=!0)}else o.preventDefault()},this.onInput=i=>o=>{var t,n;const{disabled:s,length:r,readonly:p,validKeyPattern:e}=this,a=o.target,l=a.value,d=this.previousInputValues[i]||"";if(s||p)return;if(l.length-d.length>1){const i=l.split("").filter((i=>e.test(i))).slice(0,r);0===i.length&&requestAnimationFrame((()=>{this.inputRefs.forEach((i=>{i.value=""}))}));for(let o=0;o<r;o++)this.inputValues[o]=i[o]||"",this.inputRefs[o].value=i[o]||"";return this.updateValue(o),setTimeout((()=>{var o;null===(o=this.inputRefs[i.length<r?i.length:r-1])||void 0===o||o.focus()}),20),void(this.previousInputValues=[...this.inputValues])}if(l.length>0&&!e.test(l[l.length-1]))return a.value=this.inputValues[i]||"",void(this.previousInputValues=[...this.inputValues]);if(0===a.selectionStart&&a.selectionEnd===l.length||!this.inputValues[i])return this.inputValues[i]=l,a.value=l,this.updateValue(o),this.focusNext(i),void(this.previousInputValues=[...this.inputValues]);if(this.inputValues[i]&&""===this.inputValues[this.inputValues.length-1]&&2===l.length){let t=o.data;if(t||(t=l.split("").find(((i,o)=>i!==d[o]))||l[l.length-1]),!e.test(t))return a.value=this.inputValues[i]||"",void(this.previousInputValues=[...this.inputValues]);for(let o=this.inputValues.length-1;o>i;o--)this.inputValues[o]=this.inputValues[o-1],this.inputRefs[o].value=this.inputValues[o]||"";return this.inputValues[i]=t,this.inputRefs[i].value=t,this.updateValue(o),void(this.previousInputValues=[...this.inputValues])}const u=null!==(n=l[(null!==(t=a.selectionStart)&&void 0!==t?t:l.length)-1])&&void 0!==n?n:l[0];if(!e.test(u))return a.value=this.inputValues[i]||"",void(this.previousInputValues=[...this.inputValues]);this.inputValues[i]=u,a.value=u,this.updateValue(o),this.previousInputValues=[...this.inputValues]},this.onPaste=i=>{var o,t;const{disabled:n,inputRefs:s,length:r,readonly:p,validKeyPattern:e}=this;if(i.preventDefault(),n||p)return;const a=null===(o=i.clipboardData)||void 0===o?void 0:o.getData("text");if(!a)return void this.emitIonInput(i);const l=a.split("").filter((i=>e.test(i))).slice(0,r);l.forEach(((i,o)=>{o<r&&(this.inputRefs[o].value=i,this.inputValues[o]=i)})),this.value=l.join(""),this.updateValue(i),null===(t=s[l.length<r?l.length:r-1])||void 0===t||t.focus()}}async setFocus(i){var o,t;if("number"==typeof i)null===(o=this.inputRefs[Math.max(0,Math.min(i,this.length-1))])||void 0===o||o.focus();else{const i=this.getTabbableIndex();null===(t=this.inputRefs[i])||void 0===t||t.focus()}}valueChanged(){this.initializeValues(),this.updateTabIndexes()}processSeparators(){const{separators:i,length:o}=this;if(void 0===i)return void(this.parsedSeparators=[]);if("string"==typeof i&&"all"!==i&&!/^(\d+)(,\d+)*$/.test(i))return n('[ion-input-otp] - Invalid separators format. Expected a comma-separated list of numbers, an array of numbers, or "all". Received: '+i,this.el),void(this.parsedSeparators=[]);let t;t="all"===i?Array.from({length:o-1},((i,o)=>o+1)):Array.isArray(i)?i:i.split(",").map((i=>parseInt(i,10))).filter((i=>!isNaN(i))),t.filter(((i,o)=>t.indexOf(i)!==o)).length>0&&n("[ion-input-otp] - Duplicate separator positions are not allowed. Received: "+i,this.el);const s=t.filter((i=>i>o));s.length>0&&n(`[ion-input-otp] - The following separator positions are greater than the input length (${o}): ${s.join(", ")}. These separators will be ignored.`,this.el),this.parsedSeparators=t.filter((i=>i<=o))}componentWillLoad(){this.inheritedAttributes=a(this.el),this.processSeparators(),this.initializeValues()}componentDidLoad(){this.updateTabIndexes()}get validKeyPattern(){return RegExp(`^${this.getPattern()}$`,"u")}getPattern(){const{pattern:i,type:o}=this;return i||("number"===o?"[\\p{N}]":"[\\p{L}\\p{N}]")}getInputmode(){const{inputmode:i}=this;return i||("number"==this.type?"numeric":"text")}initializeValues(){this.inputValues=Array(this.length).fill(""),null!=this.value&&0!==(this.value+"").length&&((this.value+"").split("").slice(0,this.length).forEach(((i,o)=>{this.validKeyPattern.test(i)&&(this.inputValues[o]=i)})),this.value=this.inputValues.join(""),this.previousInputValues=[...this.inputValues])}updateValue(i){const{inputValues:o,length:t}=this,n=o.join("");this.value=n,this.emitIonInput(i),n.length===t&&this.ionComplete.emit({value:n})}emitIonChange(i){const{value:o}=this;this.ionChange.emit({value:null==o?o:""+o,event:i})}emitIonInput(i){const{value:o}=this;this.ionInput.emit({value:null==o?o:""+o,event:i})}focusNext(i){var o;const{inputRefs:t,length:n}=this;i<n-1&&(null===(o=t[i+1])||void 0===o||o.focus())}focusPrevious(i){var o;const{inputRefs:t}=this;i>0&&(null===(o=t[i-1])||void 0===o||o.focus())}getFirstEmptyIndex(){var i;const{inputValues:o,length:t}=this;return null!==(i=Array.from({length:t},((i,t)=>o[t]||"")).findIndex((i=>!i||""===i)))&&void 0!==i?i:-1}getTabbableIndex(){const{length:i}=this,o=this.getFirstEmptyIndex();return-1===o?i-1:o}updateTabIndexes(){const{inputRefs:i,inputValues:o,length:t}=this;let n=-1;for(let i=0;i<t;i++)if(!o[i]||""===o[i]){n=i;break}i.forEach(((i,s)=>{const r=-1===n?s===t-1:n===s;i.tabIndex=r?0:-1,i.setAttribute("aria-hidden",o[s]&&""!==o[s]||r?"false":"true")}))}showSeparator(i){const{length:o}=this;return this.parsedSeparators.includes(i+1)&&i<o-1}render(){var i,o;const{autocapitalize:t,color:n,disabled:e,el:a,fill:l,hasFocus:c,inheritedAttributes:h,inputId:v,inputRefs:g,inputValues:m,length:f,readonly:b,shape:x,size:k}=this,w=u(this),y=this.getInputmode(),z=this.getTabbableIndex(),I=this.getPattern(),R=""!==(null===(o=null===(i=a.querySelector(".input-otp-description"))||void 0===i?void 0:i.textContent)||void 0===o?void 0:o.trim());return s(p,{key:"5c1386ae6b8038ec33ca94fd818c9353b1b37f75",class:d(n,{[w]:!0,"has-focus":c,["input-otp-size-"+k]:!0,["input-otp-shape-"+x]:!0,["input-otp-fill-"+l]:!0,"input-otp-disabled":e,"input-otp-readonly":b})},s("div",Object.assign({key:"9a19129688e55095f8386826c73ef3f9744becff",role:"group","aria-label":"One-time password input",class:"input-otp-group"},h),Array.from({length:f}).map(((i,o)=>s(r,null,s("div",{class:"native-wrapper"},s("input",{class:"native-input",id:`${v}-${o}`,"aria-label":`Input ${o+1} of ${f}`,type:"text",autoCapitalize:t,inputmode:y,pattern:I,disabled:e,readOnly:b,tabIndex:o===z?0:-1,value:m[o]||"",autocomplete:"one-time-code",ref:i=>g[o]=i,onInput:this.onInput(o),onBlur:this.onBlur,onFocus:this.onFocus(o),onKeyDown:this.onKeyDown(o),onPaste:this.onPaste})),this.showSeparator(o)&&s("div",{class:"input-otp-separator"}))))),s("div",{key:"7853819c3610c4691191f1836b947bf4ec17939d",class:{"input-otp-description":!0,"input-otp-description-hidden":!R}},s("slot",{key:"f4674d47d3d3991f21a0a79321ebc323968071dc"})))}get el(){return this}static get watchers(){return{value:[{valueChanged:0}],separators:[{processSeparators:0}],length:[{processSeparators:0}]}}static get style(){return{ios:".sc-ion-input-otp-ios-h{--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--padding-top:16px;--padding-end:0;--padding-bottom:16px;--padding-start:0;--color:initial;--min-width:40px;--separator-width:8px;--separator-height:var(--separator-width);--separator-border-radius:999px;--separator-color:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;font-size:0.875rem}.input-otp-group.sc-ion-input-otp-ios{-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.native-wrapper.sc-ion-input-otp-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--min-width)}.native-input.sc-ion-input-otp-ios{border-radius:var(--border-radius);width:var(--width);min-width:inherit;height:var(--height);border-width:var(--border-width);border-style:solid;border-color:var(--border-color);background:var(--background);color:var(--color);font-size:inherit;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{caret-color:var(--highlight-color)}.input-otp-description.sc-ion-input-otp-ios{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-description-hidden.sc-ion-input-otp-ios{display:none}.input-otp-separator.sc-ion-input-otp-ios{border-radius:var(--separator-border-radius);-ms-flex-negative:0;flex-shrink:0;width:var(--separator-width);height:var(--separator-height);background:var(--separator-color)}.input-otp-size-small.sc-ion-input-otp-ios-h{--width:40px;--height:40px}.input-otp-size-small.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios{gap:8px}.input-otp-size-medium.sc-ion-input-otp-ios-h{--width:48px;--height:48px}.input-otp-size-large.sc-ion-input-otp-ios-h{--width:56px;--height:56px}.input-otp-size-medium.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios,.input-otp-size-large.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios{gap:12px}.input-otp-shape-round.sc-ion-input-otp-ios-h{--border-radius:16px}.input-otp-shape-soft.sc-ion-input-otp-ios-h{--border-radius:8px}.input-otp-shape-rectangular.sc-ion-input-otp-ios-h{--border-radius:0}.input-otp-fill-outline.sc-ion-input-otp-ios-h{--background:none}.input-otp-fill-solid.sc-ion-input-otp-ios-h{--border-color:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-disabled.sc-ion-input-otp-ios-h{--color:var(--ion-color-step-350, var(--ion-text-color-step-650, #a6a6a6))}.input-otp-fill-outline.input-otp-disabled.sc-ion-input-otp-ios-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.input-otp-disabled.sc-ion-input-otp-ios-h,.input-otp-disabled.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:disabled{cursor:not-allowed}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{--border-color:var(--highlight-color);outline:none}.input-otp-fill-outline.input-otp-readonly.sc-ion-input-otp-ios-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-fill-solid.input-otp-disabled.sc-ion-input-otp-ios-h,.input-otp-fill-solid.input-otp-readonly.sc-ion-input-otp-ios-h{--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.ion-touched.ion-invalid.sc-ion-input-otp-ios-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-input-otp-ios-h{--highlight-color:var(--highlight-color-valid)}.has-focus.ion-valid.sc-ion-input-otp-ios-h,.ion-touched.ion-invalid.sc-ion-input-otp-ios-h{--border-color:var(--highlight-color)}.ion-color.sc-ion-input-otp-ios-h{--highlight-color-focused:var(--ion-color-base)}.input-otp-fill-outline.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{border-color:rgba(var(--ion-color-base-rgb), 0.6)}.input-otp-fill-outline.ion-color.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-outline.ion-color.has-focus.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.has-focus.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:var(--ion-color-danger, #c5000f)}.input-otp-fill-outline.ion-color.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-outline.ion-color.has-focus.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.has-focus.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:var(--ion-color-success, #2dd55b)}.input-otp-fill-outline.input-otp-disabled.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:rgba(var(--ion-color-base-rgb), 0.3)}.sc-ion-input-otp-ios-h{--border-width:0.55px}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{--border-width:1px}.input-otp-fill-outline.sc-ion-input-otp-ios-h{--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))))}",md:".sc-ion-input-otp-md-h{--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--padding-top:16px;--padding-end:0;--padding-bottom:16px;--padding-start:0;--color:initial;--min-width:40px;--separator-width:8px;--separator-height:var(--separator-width);--separator-border-radius:999px;--separator-color:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;font-size:0.875rem}.input-otp-group.sc-ion-input-otp-md{-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.native-wrapper.sc-ion-input-otp-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--min-width)}.native-input.sc-ion-input-otp-md{border-radius:var(--border-radius);width:var(--width);min-width:inherit;height:var(--height);border-width:var(--border-width);border-style:solid;border-color:var(--border-color);background:var(--background);color:var(--color);font-size:inherit;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{caret-color:var(--highlight-color)}.input-otp-description.sc-ion-input-otp-md{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-description-hidden.sc-ion-input-otp-md{display:none}.input-otp-separator.sc-ion-input-otp-md{border-radius:var(--separator-border-radius);-ms-flex-negative:0;flex-shrink:0;width:var(--separator-width);height:var(--separator-height);background:var(--separator-color)}.input-otp-size-small.sc-ion-input-otp-md-h{--width:40px;--height:40px}.input-otp-size-small.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md{gap:8px}.input-otp-size-medium.sc-ion-input-otp-md-h{--width:48px;--height:48px}.input-otp-size-large.sc-ion-input-otp-md-h{--width:56px;--height:56px}.input-otp-size-medium.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md,.input-otp-size-large.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md{gap:12px}.input-otp-shape-round.sc-ion-input-otp-md-h{--border-radius:16px}.input-otp-shape-soft.sc-ion-input-otp-md-h{--border-radius:8px}.input-otp-shape-rectangular.sc-ion-input-otp-md-h{--border-radius:0}.input-otp-fill-outline.sc-ion-input-otp-md-h{--background:none}.input-otp-fill-solid.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-disabled.sc-ion-input-otp-md-h{--color:var(--ion-color-step-350, var(--ion-text-color-step-650, #a6a6a6))}.input-otp-fill-outline.input-otp-disabled.sc-ion-input-otp-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.input-otp-disabled.sc-ion-input-otp-md-h,.input-otp-disabled.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:disabled{cursor:not-allowed}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{--border-color:var(--highlight-color);outline:none}.input-otp-fill-outline.input-otp-readonly.sc-ion-input-otp-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-fill-solid.input-otp-disabled.sc-ion-input-otp-md-h,.input-otp-fill-solid.input-otp-readonly.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.ion-touched.ion-invalid.sc-ion-input-otp-md-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-input-otp-md-h{--highlight-color:var(--highlight-color-valid)}.has-focus.ion-valid.sc-ion-input-otp-md-h,.ion-touched.ion-invalid.sc-ion-input-otp-md-h{--border-color:var(--highlight-color)}.ion-color.sc-ion-input-otp-md-h{--highlight-color-focused:var(--ion-color-base)}.input-otp-fill-outline.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{border-color:rgba(var(--ion-color-base-rgb), 0.6)}.input-otp-fill-outline.ion-color.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-outline.ion-color.has-focus.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.has-focus.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:var(--ion-color-danger, #c5000f)}.input-otp-fill-outline.ion-color.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-outline.ion-color.has-focus.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.has-focus.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:var(--ion-color-success, #2dd55b)}.input-otp-fill-outline.input-otp-disabled.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:rgba(var(--ion-color-base-rgb), 0.3)}.sc-ion-input-otp-md-h{--border-width:1px}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{--border-width:2px}.input-otp-fill-outline.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3))}"}}},[294,"ion-input-otp",{autocapitalize:[1],color:[513],disabled:[516],fill:[1],inputmode:[1],length:[2],pattern:[1],readonly:[516],separators:[1],shape:[1],size:[1],type:[1],value:[1032],inputValues:[32],hasFocus:[32],previousInputValues:[32],setFocus:[64]},void 0,{value:[{valueChanged:0}],separators:[{processSeparators:0}],length:[{processSeparators:0}]}]);let h=0;const v=c,g=function(){"undefined"!=typeof customElements&&["ion-input-otp"].forEach((i=>{"ion-input-otp"===i&&(customElements.get(e(i))||customElements.define(e(i),c))}))};export{v as IonInputOtp,g as defineCustomElement}
|
|
4
|
+
import{p as i,H as o,e as t,f as n,h as s,F as r,d as p,t as e}from"./p-CHqRYvYm.js";import{i as a}from"./p-Baq1XyAy.js";import{i as l}from"./p-C53feagD.js";import{c as d}from"./p-DiVJyqlX.js";import{b as u}from"./p-DOFCbuQR.js";const c=i(class extends o{constructor(i){super(),!1!==i&&this.__registerHost(),this.ionInput=t(this,"ionInput",7),this.ionChange=t(this,"ionChange",7),this.ionComplete=t(this,"ionComplete",7),this.ionBlur=t(this,"ionBlur",7),this.ionFocus=t(this,"ionFocus",7),this.inheritedAttributes={},this.inputRefs=[],this.inputId="ion-input-otp-"+h++,this.parsedSeparators=[],this.isKeyboardNavigation=!1,this.inputValues=[],this.hasFocus=!1,this.previousInputValues=[],this.autocapitalize="off",this.disabled=!1,this.fill="outline",this.length=4,this.readonly=!1,this.shape="round",this.size="medium",this.type="number",this.value="",this.onFocus=i=>o=>{var t;const{inputRefs:n}=this;this.hasFocus||(this.ionFocus.emit(o),this.focusedValue=this.value),this.hasFocus=!0;let s=i;if(!this.isKeyboardNavigation){const o=this.inputValues[i]?i:this.getFirstEmptyIndex();s=-1===o?this.length-1:o,null===(t=this.inputRefs[s])||void 0===t||t.focus()}n.forEach(((i,o)=>{i.tabIndex=o===s?0:-1})),this.isKeyboardNavigation=!1},this.onBlur=i=>{const{inputRefs:o}=this,t=i.relatedTarget;null!=t&&o.includes(t)||(this.hasFocus=!1,this.updateTabIndexes(),this.ionBlur.emit(i),this.focusedValue!==this.value&&this.emitIonChange(i))},this.onKeyDown=i=>o=>{const{disabled:t,length:n,readonly:s}=this,r=l(this.el),p=o.target;if(!t)if(!s||"Backspace"!==o.key&&"Delete"!==o.key){if(!(p.selectionStart!==p.selectionEnd||(o.metaKey||o.ctrlKey)&&["a","c","v","x","r","z","y"].includes(o.key.toLowerCase())))if("Backspace"===o.key)if(this.inputValues[i]){for(let o=i;o<n-1;o++)this.inputValues[o]=this.inputValues[o+1];this.inputValues[n-1]="";for(let i=0;i<n;i++)this.inputRefs[i].value=this.inputValues[i]||"";this.updateValue(o),o.preventDefault()}else!this.inputValues[i]&&i>0&&this.focusPrevious(i);else if("ArrowLeft"===o.key||"ArrowRight"===o.key){this.isKeyboardNavigation=!0,o.preventDefault();const t="ArrowLeft"===o.key;t&&r||!t&&!r?this.inputValues[i]&&i<n-1&&this.focusNext(i):this.focusPrevious(i)}else if("Tab"===o.key)return void(this.isKeyboardNavigation=!0)}else o.preventDefault()},this.onInput=i=>o=>{var t,n;const{disabled:s,length:r,readonly:p,validKeyPattern:e}=this,a=o.target,l=a.value,d=this.previousInputValues[i]||"";if(s||p)return;if(l.length-d.length>1){const i=l.split("").filter((i=>e.test(i))).slice(0,r);0===i.length&&requestAnimationFrame((()=>{this.inputRefs.forEach((i=>{i.value=""}))}));for(let o=0;o<r;o++)this.inputValues[o]=i[o]||"",this.inputRefs[o].value=i[o]||"";return this.updateValue(o),setTimeout((()=>{var o;null===(o=this.inputRefs[i.length<r?i.length:r-1])||void 0===o||o.focus()}),20),void(this.previousInputValues=[...this.inputValues])}if(l.length>0&&!e.test(l[l.length-1]))return a.value=this.inputValues[i]||"",void(this.previousInputValues=[...this.inputValues]);if(0===a.selectionStart&&a.selectionEnd===l.length||!this.inputValues[i])return this.inputValues[i]=l,a.value=l,this.updateValue(o),this.focusNext(i),void(this.previousInputValues=[...this.inputValues]);if(this.inputValues[i]&&""===this.inputValues[this.inputValues.length-1]&&2===l.length){let t=o.data;if(t||(t=l.split("").find(((i,o)=>i!==d[o]))||l[l.length-1]),!e.test(t))return a.value=this.inputValues[i]||"",void(this.previousInputValues=[...this.inputValues]);for(let o=this.inputValues.length-1;o>i;o--)this.inputValues[o]=this.inputValues[o-1],this.inputRefs[o].value=this.inputValues[o]||"";return this.inputValues[i]=t,this.inputRefs[i].value=t,this.updateValue(o),void(this.previousInputValues=[...this.inputValues])}const u=null!==(n=l[(null!==(t=a.selectionStart)&&void 0!==t?t:l.length)-1])&&void 0!==n?n:l[0];if(!e.test(u))return a.value=this.inputValues[i]||"",void(this.previousInputValues=[...this.inputValues]);this.inputValues[i]=u,a.value=u,this.updateValue(o),this.previousInputValues=[...this.inputValues]},this.onPaste=i=>{var o,t;const{disabled:n,inputRefs:s,length:r,readonly:p,validKeyPattern:e}=this;if(i.preventDefault(),n||p)return;const a=null===(o=i.clipboardData)||void 0===o?void 0:o.getData("text");if(!a)return void this.emitIonInput(i);const l=a.split("").filter((i=>e.test(i))).slice(0,r);l.forEach(((i,o)=>{o<r&&(this.inputRefs[o].value=i,this.inputValues[o]=i)})),this.value=l.join(""),this.updateValue(i),null===(t=s[l.length<r?l.length:r-1])||void 0===t||t.focus()}}async setFocus(i){var o,t;if("number"==typeof i)null===(o=this.inputRefs[Math.max(0,Math.min(i,this.length-1))])||void 0===o||o.focus();else{const i=this.getTabbableIndex();null===(t=this.inputRefs[i])||void 0===t||t.focus()}}valueChanged(){this.initializeValues(),this.updateTabIndexes()}processSeparators(){const{separators:i,length:o}=this;if(void 0===i)return void(this.parsedSeparators=[]);if("string"==typeof i&&"all"!==i&&!/^(\d+)(,\d+)*$/.test(i))return n('[ion-input-otp] - Invalid separators format. Expected a comma-separated list of numbers, an array of numbers, or "all". Received: '+i,this.el),void(this.parsedSeparators=[]);let t;t="all"===i?Array.from({length:o-1},((i,o)=>o+1)):Array.isArray(i)?i:i.split(",").map((i=>parseInt(i,10))).filter((i=>!isNaN(i))),t.filter(((i,o)=>t.indexOf(i)!==o)).length>0&&n("[ion-input-otp] - Duplicate separator positions are not allowed. Received: "+i,this.el);const s=t.filter((i=>i>o));s.length>0&&n(`[ion-input-otp] - The following separator positions are greater than the input length (${o}): ${s.join(", ")}. These separators will be ignored.`,this.el),this.parsedSeparators=t.filter((i=>i<=o))}componentWillLoad(){this.inheritedAttributes=a(this.el),this.processSeparators(),this.initializeValues()}componentDidLoad(){this.updateTabIndexes()}get validKeyPattern(){return RegExp(`^${this.getPattern()}$`,"u")}getPattern(){const{pattern:i,type:o}=this;return i||("number"===o?"[\\p{N}]":"[\\p{L}\\p{N}]")}getInputmode(){const{inputmode:i}=this;return i||("number"==this.type?"numeric":"text")}initializeValues(){this.inputValues=Array(this.length).fill(""),null!=this.value&&0!==(this.value+"").length&&((this.value+"").split("").slice(0,this.length).forEach(((i,o)=>{this.validKeyPattern.test(i)&&(this.inputValues[o]=i)})),this.value=this.inputValues.join(""),this.previousInputValues=[...this.inputValues])}updateValue(i){const{inputValues:o,length:t}=this,n=o.join("");this.value=n,this.emitIonInput(i),n.length===t&&this.ionComplete.emit({value:n})}emitIonChange(i){const{value:o}=this;this.ionChange.emit({value:null==o?o:""+o,event:i})}emitIonInput(i){const{value:o}=this;this.ionInput.emit({value:null==o?o:""+o,event:i})}focusNext(i){var o;const{inputRefs:t,length:n}=this;i<n-1&&(null===(o=t[i+1])||void 0===o||o.focus())}focusPrevious(i){var o;const{inputRefs:t}=this;i>0&&(null===(o=t[i-1])||void 0===o||o.focus())}getFirstEmptyIndex(){var i;const{inputValues:o,length:t}=this;return null!==(i=Array.from({length:t},((i,t)=>o[t]||"")).findIndex((i=>!i||""===i)))&&void 0!==i?i:-1}getTabbableIndex(){const{length:i}=this,o=this.getFirstEmptyIndex();return-1===o?i-1:o}updateTabIndexes(){const{inputRefs:i,inputValues:o,length:t}=this;let n=-1;for(let i=0;i<t;i++)if(!o[i]||""===o[i]){n=i;break}i.forEach(((i,s)=>{const r=-1===n?s===t-1:n===s;i.tabIndex=r?0:-1,i.setAttribute("aria-hidden",o[s]&&""!==o[s]||r?"false":"true")}))}showSeparator(i){const{length:o}=this;return this.parsedSeparators.includes(i+1)&&i<o-1}render(){var i,o;const{autocapitalize:t,color:n,disabled:e,el:a,fill:l,hasFocus:c,inheritedAttributes:h,inputId:v,inputRefs:g,inputValues:m,length:f,readonly:b,shape:x,size:k}=this,w=u(this),y=this.getInputmode(),z=this.getTabbableIndex(),I=this.getPattern(),R=""!==(null===(o=null===(i=a.querySelector(".input-otp-description"))||void 0===i?void 0:i.textContent)||void 0===o?void 0:o.trim());return s(p,{key:"ffeec6d07b5d3cd375b72d4c9f4fe755d80ac094",class:d(n,{[w]:!0,"has-focus":c,["input-otp-size-"+k]:!0,["input-otp-shape-"+x]:!0,["input-otp-fill-"+l]:!0,"input-otp-disabled":e,"input-otp-readonly":b})},s("div",Object.assign({key:"f42471e4ed8054f07162a52b42a0ca49c3d57bb0",role:"group","aria-label":"One-time password input",class:"input-otp-group"},h),Array.from({length:f}).map(((i,o)=>s(r,null,s("div",{class:"native-wrapper"},s("input",{class:"native-input",id:`${v}-${o}`,"aria-label":`Input ${o+1} of ${f}`,type:"text",autoCapitalize:t,inputmode:y,pattern:I,disabled:e,readOnly:b,tabIndex:o===z?0:-1,value:m[o]||"",autocomplete:"one-time-code",ref:i=>g[o]=i,onInput:this.onInput(o),onBlur:this.onBlur,onFocus:this.onFocus(o),onKeyDown:this.onKeyDown(o),onPaste:this.onPaste})),this.showSeparator(o)&&s("div",{class:"input-otp-separator"}))))),s("div",{key:"b06461605b2404476b856785b7116e18b4dbaeaa",class:{"input-otp-description":!0,"input-otp-description-hidden":!R}},s("slot",{key:"5bf9e7dc365f6caf0d4b13ae26e5559cdbbd162c"})))}get el(){return this}static get watchers(){return{value:[{valueChanged:0}],separators:[{processSeparators:0}],length:[{processSeparators:0}]}}static get style(){return{ios:".sc-ion-input-otp-ios-h{--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--padding-top:16px;--padding-end:0;--padding-bottom:16px;--padding-start:0;--color:initial;--min-width:40px;--separator-width:8px;--separator-height:var(--separator-width);--separator-border-radius:999px;--separator-color:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;font-size:0.875rem}.input-otp-group.sc-ion-input-otp-ios{-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.native-wrapper.sc-ion-input-otp-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--min-width)}.native-input.sc-ion-input-otp-ios{border-radius:var(--border-radius);width:var(--width);min-width:inherit;height:var(--height);border-width:var(--border-width);border-style:solid;border-color:var(--border-color);background:var(--background);color:var(--color);font-size:inherit;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{caret-color:var(--highlight-color)}.input-otp-description.sc-ion-input-otp-ios{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-description-hidden.sc-ion-input-otp-ios{display:none}.input-otp-separator.sc-ion-input-otp-ios{border-radius:var(--separator-border-radius);-ms-flex-negative:0;flex-shrink:0;width:var(--separator-width);height:var(--separator-height);background:var(--separator-color)}.input-otp-size-small.sc-ion-input-otp-ios-h{--width:40px;--height:40px}.input-otp-size-small.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios{gap:8px}.input-otp-size-medium.sc-ion-input-otp-ios-h{--width:48px;--height:48px}.input-otp-size-large.sc-ion-input-otp-ios-h{--width:56px;--height:56px}.input-otp-size-medium.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios,.input-otp-size-large.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios{gap:12px}.input-otp-shape-round.sc-ion-input-otp-ios-h{--border-radius:16px}.input-otp-shape-soft.sc-ion-input-otp-ios-h{--border-radius:8px}.input-otp-shape-rectangular.sc-ion-input-otp-ios-h{--border-radius:0}.input-otp-fill-outline.sc-ion-input-otp-ios-h{--background:none}.input-otp-fill-solid.sc-ion-input-otp-ios-h{--border-color:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-disabled.sc-ion-input-otp-ios-h{--color:var(--ion-color-step-350, var(--ion-text-color-step-650, #a6a6a6))}.input-otp-fill-outline.input-otp-disabled.sc-ion-input-otp-ios-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.input-otp-disabled.sc-ion-input-otp-ios-h,.input-otp-disabled.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:disabled{cursor:not-allowed}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{--border-color:var(--highlight-color);outline:none}.input-otp-fill-outline.input-otp-readonly.sc-ion-input-otp-ios-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-fill-solid.input-otp-disabled.sc-ion-input-otp-ios-h,.input-otp-fill-solid.input-otp-readonly.sc-ion-input-otp-ios-h{--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.ion-touched.ion-invalid.sc-ion-input-otp-ios-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-input-otp-ios-h{--highlight-color:var(--highlight-color-valid)}.has-focus.ion-valid.sc-ion-input-otp-ios-h,.ion-touched.ion-invalid.sc-ion-input-otp-ios-h{--border-color:var(--highlight-color)}.ion-color.sc-ion-input-otp-ios-h{--highlight-color-focused:var(--ion-color-base)}.input-otp-fill-outline.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{border-color:rgba(var(--ion-color-base-rgb), 0.6)}.input-otp-fill-outline.ion-color.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-outline.ion-color.has-focus.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.has-focus.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:var(--ion-color-danger, #c5000f)}.input-otp-fill-outline.ion-color.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-outline.ion-color.has-focus.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.has-focus.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:var(--ion-color-success, #2dd55b)}.input-otp-fill-outline.input-otp-disabled.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:rgba(var(--ion-color-base-rgb), 0.3)}.sc-ion-input-otp-ios-h{--border-width:0.55px}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{--border-width:1px}.input-otp-fill-outline.sc-ion-input-otp-ios-h{--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))))}",md:".sc-ion-input-otp-md-h{--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--padding-top:16px;--padding-end:0;--padding-bottom:16px;--padding-start:0;--color:initial;--min-width:40px;--separator-width:8px;--separator-height:var(--separator-width);--separator-border-radius:999px;--separator-color:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;font-size:0.875rem}.input-otp-group.sc-ion-input-otp-md{-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.native-wrapper.sc-ion-input-otp-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--min-width)}.native-input.sc-ion-input-otp-md{border-radius:var(--border-radius);width:var(--width);min-width:inherit;height:var(--height);border-width:var(--border-width);border-style:solid;border-color:var(--border-color);background:var(--background);color:var(--color);font-size:inherit;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{caret-color:var(--highlight-color)}.input-otp-description.sc-ion-input-otp-md{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-description-hidden.sc-ion-input-otp-md{display:none}.input-otp-separator.sc-ion-input-otp-md{border-radius:var(--separator-border-radius);-ms-flex-negative:0;flex-shrink:0;width:var(--separator-width);height:var(--separator-height);background:var(--separator-color)}.input-otp-size-small.sc-ion-input-otp-md-h{--width:40px;--height:40px}.input-otp-size-small.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md{gap:8px}.input-otp-size-medium.sc-ion-input-otp-md-h{--width:48px;--height:48px}.input-otp-size-large.sc-ion-input-otp-md-h{--width:56px;--height:56px}.input-otp-size-medium.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md,.input-otp-size-large.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md{gap:12px}.input-otp-shape-round.sc-ion-input-otp-md-h{--border-radius:16px}.input-otp-shape-soft.sc-ion-input-otp-md-h{--border-radius:8px}.input-otp-shape-rectangular.sc-ion-input-otp-md-h{--border-radius:0}.input-otp-fill-outline.sc-ion-input-otp-md-h{--background:none}.input-otp-fill-solid.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-disabled.sc-ion-input-otp-md-h{--color:var(--ion-color-step-350, var(--ion-text-color-step-650, #a6a6a6))}.input-otp-fill-outline.input-otp-disabled.sc-ion-input-otp-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.input-otp-disabled.sc-ion-input-otp-md-h,.input-otp-disabled.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:disabled{cursor:not-allowed}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{--border-color:var(--highlight-color);outline:none}.input-otp-fill-outline.input-otp-readonly.sc-ion-input-otp-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-fill-solid.input-otp-disabled.sc-ion-input-otp-md-h,.input-otp-fill-solid.input-otp-readonly.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.ion-touched.ion-invalid.sc-ion-input-otp-md-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-input-otp-md-h{--highlight-color:var(--highlight-color-valid)}.has-focus.ion-valid.sc-ion-input-otp-md-h,.ion-touched.ion-invalid.sc-ion-input-otp-md-h{--border-color:var(--highlight-color)}.ion-color.sc-ion-input-otp-md-h{--highlight-color-focused:var(--ion-color-base)}.input-otp-fill-outline.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{border-color:rgba(var(--ion-color-base-rgb), 0.6)}.input-otp-fill-outline.ion-color.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-outline.ion-color.has-focus.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.has-focus.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:var(--ion-color-danger, #c5000f)}.input-otp-fill-outline.ion-color.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-outline.ion-color.has-focus.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.has-focus.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:var(--ion-color-success, #2dd55b)}.input-otp-fill-outline.input-otp-disabled.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:rgba(var(--ion-color-base-rgb), 0.3)}.sc-ion-input-otp-md-h{--border-width:1px}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{--border-width:2px}.input-otp-fill-outline.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3))}"}}},[294,"ion-input-otp",{autocapitalize:[1],color:[513],disabled:[516],fill:[1],inputmode:[1],length:[2],pattern:[1],readonly:[516],separators:[1],shape:[1],size:[1],type:[1],value:[1032],inputValues:[32],hasFocus:[32],previousInputValues:[32],setFocus:[64]},void 0,{value:[{valueChanged:0}],separators:[{processSeparators:0}],length:[{processSeparators:0}]}]);let h=0;const v=c,g=function(){"undefined"!=typeof customElements&&["ion-input-otp"].forEach((i=>{"ion-input-otp"===i&&(customElements.get(e(i))||customElements.define(e(i),c))}))};export{v as IonInputOtp,g as defineCustomElement}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import{p as a,H as o,e as r,c as e,i,h as n,d as t,t as s}from"./p-CHqRYvYm.js";import{l as c,d as h,c as l,r as b}from"./p-Baq1XyAy.js";import{i as d}from"./p-C53feagD.js";import{c as p}from"./p-DiVJyqlX.js";import{b as u,t as m,u as g,j as f,k as x}from"./p-CO7fmmxt.js";import{b as y}from"./p-DOFCbuQR.js";import{d as v}from"./p-DqLB8yFQ.js";const w=a(class extends o{constructor(a){super(),!1!==a&&this.__registerHost(),this.ionInput=r(this,"ionInput",7),this.ionChange=r(this,"ionChange",7),this.ionCancel=r(this,"ionCancel",7),this.ionClear=r(this,"ionClear",7),this.ionBlur=r(this,"ionBlur",7),this.ionFocus=r(this,"ionFocus",7),this.ionStyle=r(this,"ionStyle",7),this.isCancelVisible=!1,this.shouldAlignLeft=!0,this.inputId="ion-searchbar-"+k++,this.inheritedAttributes={},this.focused=!1,this.noAnimate=!0,this.animated=!1,this.autocapitalize="off",this.autocomplete="off",this.autocorrect="off",this.cancelButtonIcon=e.get("backButtonIcon",u),this.cancelButtonText="Cancel",this.disabled=!1,this.name=this.inputId,this.placeholder="Search",this.showCancelButton="never",this.showClearButton="always",this.spellcheck=!1,this.type="search",this.value="",this.onClearInput=async a=>(this.clearTimeout&&clearTimeout(this.clearTimeout),this.ionClear.emit(),new Promise((o=>{this.clearTimeout=setTimeout((()=>{const r=this.getValue();""!==r&&(this.value="",this.emitInputChange(),a&&!this.focused&&(this.setFocus(),this.focusedValue=r)),o()}),64)}))),this.onCancelSearchbar=async a=>{a&&(a.preventDefault(),a.stopPropagation()),this.ionCancel.emit();const o=this.getValue(),r=this.focused;await this.onClearInput(),o&&!r&&this.emitValueChange(a),this.nativeInput&&this.nativeInput.blur()},this.onInput=a=>{const o=a.target;o&&(this.value=o.value),this.emitInputChange(a)},this.onChange=a=>{this.emitValueChange(a)},this.onBlur=a=>{this.focused=!1,this.ionBlur.emit(),this.positionElements(),this.focusedValue!==this.value&&this.emitValueChange(a),this.focusedValue=void 0},this.onFocus=()=>{this.focused=!0,this.focusedValue=this.value,this.ionFocus.emit(),this.positionElements()}}onLangChanged(a){this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{lang:a}),i(this)}onDirChanged(a){this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{dir:a}),i(this)}debounceChanged(){const{ionInput:a,debounce:o,originalIonInput:r}=this;this.ionInput=void 0===o?null!=r?r:a:c(a,o)}valueChanged(){const a=this.nativeInput,o=this.getValue();a&&a.value!==o&&(a.value=o)}showCancelButtonChanged(){requestAnimationFrame((()=>{this.positionElements(),i(this)}))}connectedCallback(){this.emitStyle()}componentWillLoad(){this.inheritedAttributes=Object.assign({},h(this.el,["lang","dir"]))}componentDidLoad(){this.originalIonInput=this.ionInput,this.positionElements(),this.debounceChanged(),this.loadTimeout=setTimeout((()=>{this.noAnimate=!1}),300)}disconnectedCallback(){this.loadTimeout&&clearTimeout(this.loadTimeout),this.clearTimeout&&clearTimeout(this.clearTimeout)}emitStyle(){this.ionStyle.emit({searchbar:!0})}async setFocus(){this.nativeInput&&this.nativeInput.focus()}async getInputElement(){return this.nativeInput||await new Promise((a=>l(this.el,a))),Promise.resolve(this.nativeInput)}emitValueChange(a){const{value:o}=this,r=null==o?o:""+o;this.focusedValue=r,this.ionChange.emit({value:r,event:a})}emitInputChange(a){const{value:o}=this;this.ionInput.emit({value:o,event:a})}positionElements(){const a=this.getValue(),o=this.shouldAlignLeft,r=y(this),e=!this.animated||""!==a.trim()||!!this.focused;this.shouldAlignLeft=e,"ios"===r&&(o!==e&&this.positionPlaceholder(),this.animated&&this.positionCancelButton())}positionPlaceholder(){const a=this.nativeInput;if(!a)return;const o=d(this.el),r=(this.el.shadowRoot||this.el).querySelector(".searchbar-search-icon");if(this.shouldAlignLeft)a.removeAttribute("style"),r.removeAttribute("style");else{const e=document,i=e.createElement("span");i.innerText=this.placeholder||"",e.body.appendChild(i),b((()=>{const e=i.offsetWidth;i.remove();const n="calc(50% - "+e/2+"px)",t="calc(50% - "+(e/2+r.clientWidth+8)+"px)";o?(a.style.paddingRight=n,r.style.marginRight=t):(a.style.paddingLeft=n,r.style.marginLeft=t)}))}}positionCancelButton(){const a=d(this.el),o=(this.el.shadowRoot||this.el).querySelector(".searchbar-cancel-button"),r=this.shouldShowCancelButton();if(null!==o&&r!==this.isCancelVisible){const e=o.style;if(this.isCancelVisible=r,r)a?e.marginLeft="0":e.marginRight="0";else{const r=o.offsetWidth;r>0&&(a?e.marginLeft=-r+"px":e.marginRight=-r+"px")}}}getValue(){return this.value||""}hasValue(){return""!==this.getValue()}shouldShowCancelButton(){return!("never"===this.showCancelButton||"focus"===this.showCancelButton&&!this.focused)}shouldShowClearButton(){return!("never"===this.showClearButton||"focus"===this.showClearButton&&!this.focused)}render(){const{cancelButtonText:a,autocapitalize:o}=this,r=this.animated&&e.getBoolean("animated",!0),i=y(this),s=this.clearIcon||("ios"===i?f:x),c=this.searchIcon||("ios"===i?m:g),h=this.shouldShowCancelButton(),l="never"!==this.showCancelButton&&n("button",{key:"9e9f3a7f6ee66140181f8c3cfa42bbeee75adafc","aria-label":a,"aria-hidden":h?void 0:"true",type:"button",tabIndex:"ios"!==i||h?void 0:-1,onMouseDown:this.onCancelSearchbar,onTouchStart:this.onCancelSearchbar,class:"searchbar-cancel-button"},n("div",{key:"5f83fbcc0708830637815e8c0b69356cad381870","aria-hidden":"true"},"md"===i?n("ion-icon",{"aria-hidden":"true",mode:i,icon:this.cancelButtonIcon,lazy:!1}):a));return n(t,{key:"219c263c1f3cc63e18bc2d2ba5d672b7806eddd0",role:"search","aria-disabled":this.disabled?"true":null,class:p(this.color,{[i]:!0,"searchbar-animated":r,"searchbar-disabled":this.disabled,"searchbar-no-animate":r&&this.noAnimate,"searchbar-has-value":this.hasValue(),"searchbar-left-aligned":this.shouldAlignLeft,"searchbar-has-focus":this.focused,"searchbar-should-show-clear":this.shouldShowClearButton(),"searchbar-should-show-cancel":this.shouldShowCancelButton()})},n("div",{key:"3f1c25442d6d87c0df67f79482a925b80dcc403d",class:"searchbar-input-container"},n("input",Object.assign({key:"a386fecafda0fab449ea1488906ba6cfc55e2b5c","aria-label":"search text",disabled:this.disabled,ref:a=>this.nativeInput=a,class:"searchbar-input",inputMode:this.inputmode,enterKeyHint:this.enterkeyhint,name:this.name,onInput:this.onInput,onChange:this.onChange,onBlur:this.onBlur,onFocus:this.onFocus,minLength:this.minlength,maxLength:this.maxlength,placeholder:this.placeholder,type:this.type,value:this.getValue(),autoCapitalize:"default"===o?void 0:o,autoComplete:this.autocomplete,autoCorrect:this.autocorrect,spellcheck:this.spellcheck},this.inheritedAttributes)),"md"===i&&l,n("ion-icon",{key:"5f81642628335def39a14f0726e0fafdc7203776","aria-hidden":"true",mode:i,icon:c,lazy:!1,class:"searchbar-search-icon"}),n("button",{key:"da3073646f2d7f639261b556517fbadabc3c10e9","aria-label":"reset",type:"button","no-blur":!0,class:"searchbar-clear-button",onPointerDown:a=>{a.preventDefault()},onClick:()=>this.onClearInput(!0)},n("ion-icon",{key:"065cd6c707ae462c0767df1bab04ce8045f340a4","aria-hidden":"true",mode:i,icon:s,lazy:!1,class:"searchbar-clear-icon"}))),"ios"===i&&l)}get el(){return this}static get watchers(){return{lang:[{onLangChanged:0}],dir:[{onDirChanged:0}],debounce:[{debounceChanged:0}],value:[{valueChanged:0}],showCancelButton:[{showCancelButtonChanged:0}]}}static get style(){return{ios:".sc-ion-searchbar-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-searchbar-ios-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:inherit}.searchbar-search-icon.sc-ion-searchbar-ios{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-ios{display:block;position:relative;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-ios{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;min-height:inherit;border:0;outline:none;background:var(--background);font-family:inherit;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-input.sc-ion-searchbar-ios::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-ios::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-ios>div.sc-ion-searchbar-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-clear-button.sc-ion-searchbar-ios:focus{opacity:0.5}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{display:block}.searchbar-disabled.sc-ion-searchbar-ios-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-ios-h{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.07);--border-radius:10px;--box-shadow:none;--cancel-button-color:var(--ion-color-primary, #0054e9);--clear-button-color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));--color:var(--ion-text-color, #000);--icon-color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:12px;padding-bottom:12px;min-height:60px;contain:content}.searchbar-input-container.sc-ion-searchbar-ios{min-height:36px}.searchbar-search-icon.sc-ion-searchbar-ios{-webkit-margin-start:calc(50% - 60px);margin-inline-start:calc(50% - 60px);top:0;position:absolute;width:1.375rem;height:100%;contain:strict}.searchbar-search-icon.sc-ion-searchbar-ios{inset-inline-start:5px}.searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:6px;padding-bottom:6px;height:100%;font-size:1.0625rem;font-weight:400;contain:strict}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:1.75rem;padding-inline-start:1.75rem;-webkit-padding-end:1.75rem;padding-inline-end:1.75rem}.searchbar-clear-button.sc-ion-searchbar-ios{top:0;background-position:center;position:absolute;width:1.875rem;height:100%;border:0;background-color:transparent}.searchbar-clear-button.sc-ion-searchbar-ios{inset-inline-end:0}.searchbar-clear-icon.sc-ion-searchbar-ios{width:1.125rem;height:100%}.searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0;background-color:transparent;font-size:17px}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{-webkit-margin-start:0;margin-inline-start:0}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:1.875rem;padding-inline-start:1.875rem}.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{display:block}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-transition:all 300ms ease;transition:all 300ms ease}.searchbar-animated.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{opacity:1;pointer-events:auto}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-margin-end:-100%;margin-inline-end:-100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:all 300ms ease;transition:all 300ms ease;opacity:0;pointer-events:none}.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-transition-duration:0ms;transition-duration:0ms}.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{color:var(--ion-color-base)}@media (any-hover: hover){.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios:hover{color:var(--ion-color-tint)}}ion-toolbar.sc-ion-searchbar-ios-h,ion-toolbar .sc-ion-searchbar-ios-h{padding-top:1px;padding-bottom:15px;min-height:52px}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color),ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color){color:inherit}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios{color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios{background:rgba(var(--ion-color-contrast-rgb), 0.07);color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}",md:".sc-ion-searchbar-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-searchbar-md-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{color:inherit}.searchbar-search-icon.sc-ion-searchbar-md{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-md{display:block;position:relative;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-md{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;min-height:inherit;border:0;outline:none;background:var(--background);font-family:inherit;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-input.sc-ion-searchbar-md::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-md::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-md>div.sc-ion-searchbar-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-clear-button.sc-ion-searchbar-md:focus{opacity:0.5}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{display:block}.searchbar-disabled.sc-ion-searchbar-md-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-md-h{--background:var(--ion-background-color, #fff);--border-radius:2px;--box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);--cancel-button-color:var(--ion-color-step-900, var(--ion-text-color-step-100, #1a1a1a));--clear-button-color:initial;--color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--icon-color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;background:inherit}.searchbar-search-icon.sc-ion-searchbar-md{top:11px;width:1.3125rem;height:1.3125rem}.searchbar-search-icon.sc-ion-searchbar-md{inset-inline-start:16px}.searchbar-cancel-button.sc-ion-searchbar-md{top:0;background-color:transparent;font-size:1.5em}.searchbar-cancel-button.sc-ion-searchbar-md{inset-inline-start:9px}.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-cancel-button.sc-ion-searchbar-md{position:absolute}.searchbar-search-icon.ion-activated.sc-ion-searchbar-md,.searchbar-cancel-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-input.sc-ion-searchbar-md{-webkit-padding-start:3.4375rem;padding-inline-start:3.4375rem;-webkit-padding-end:3.4375rem;padding-inline-end:3.4375rem;padding-top:0.375rem;padding-bottom:0.375rem;background-position:left 8px center;height:auto;font-size:1rem;font-weight:400;line-height:30px}[dir=rtl].sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background-position:right 8px center}[dir=rtl].sc-ion-searchbar-md .searchbar-input.sc-ion-searchbar-md{background-position:right 8px center}@supports selector(:dir(rtl)){.searchbar-input.sc-ion-searchbar-md:dir(rtl){background-position:right 8px center}}.searchbar-clear-button.sc-ion-searchbar-md{top:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;position:absolute;height:100%;border:0;background-color:transparent}.searchbar-clear-button.sc-ion-searchbar-md{inset-inline-end:13px}.searchbar-clear-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-clear-icon.sc-ion-searchbar-md{width:1.375rem;height:100%}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md{display:none}ion-toolbar.sc-ion-searchbar-md-h,ion-toolbar .sc-ion-searchbar-md-h{-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:7px;padding-inline-end:7px;padding-top:3px;padding-bottom:3px}"}}},[34,"ion-searchbar",{color:[513],animated:[4],autocapitalize:[1],autocomplete:[1],autocorrect:[1],cancelButtonIcon:[1,"cancel-button-icon"],cancelButtonText:[1,"cancel-button-text"],clearIcon:[1,"clear-icon"],debounce:[2],disabled:[4],inputmode:[1],enterkeyhint:[1],maxlength:[2],minlength:[2],name:[1],placeholder:[1],searchIcon:[1,"search-icon"],showCancelButton:[1,"show-cancel-button"],showClearButton:[1,"show-clear-button"],spellcheck:[4],type:[1],value:[1025],focused:[32],noAnimate:[32],setFocus:[64],getInputElement:[64]},void 0,{lang:[{onLangChanged:0}],dir:[{onDirChanged:0}],debounce:[{debounceChanged:0}],value:[{valueChanged:0}],showCancelButton:[{showCancelButtonChanged:0}]}]);let k=0;const C=w,z=function(){"undefined"!=typeof customElements&&["ion-searchbar","ion-icon"].forEach((a=>{switch(a){case"ion-searchbar":customElements.get(s(a))||customElements.define(s(a),w);break;case"ion-icon":customElements.get(s(a))||v()}}))};export{C as IonSearchbar,z as defineCustomElement}
|
|
4
|
+
import{p as a,H as o,e as r,c as e,i,h as n,d as t,t as s}from"./p-CHqRYvYm.js";import{l as c,d as h,c as l,r as b}from"./p-Baq1XyAy.js";import{i as d}from"./p-C53feagD.js";import{c as p}from"./p-DiVJyqlX.js";import{b as u,t as m,u as g,j as f,k as v}from"./p-CO7fmmxt.js";import{b as x}from"./p-DOFCbuQR.js";import{d as y}from"./p-DqLB8yFQ.js";const w=a(class extends o{constructor(a){super(),!1!==a&&this.__registerHost(),this.ionInput=r(this,"ionInput",7),this.ionChange=r(this,"ionChange",7),this.ionCancel=r(this,"ionCancel",7),this.ionClear=r(this,"ionClear",7),this.ionBlur=r(this,"ionBlur",7),this.ionFocus=r(this,"ionFocus",7),this.ionStyle=r(this,"ionStyle",7),this.isCancelVisible=!1,this.shouldAlignLeft=!0,this.inputId="ion-searchbar-"+k++,this.inheritedAttributes={},this.focused=!1,this.noAnimate=!0,this.animated=!1,this.autocapitalize="off",this.autocomplete="off",this.autocorrect="off",this.cancelButtonIcon=e.get("backButtonIcon",u),this.cancelButtonText="Cancel",this.disabled=!1,this.name=this.inputId,this.placeholder="Search",this.showCancelButton="never",this.showClearButton="always",this.spellcheck=!1,this.type="search",this.value="",this.onClearInput=async a=>(this.clearTimeout&&clearTimeout(this.clearTimeout),this.ionClear.emit(),new Promise((o=>{this.clearTimeout=setTimeout((()=>{const r=this.getValue();""!==r&&(this.value="",this.emitInputChange(),a&&!this.focused&&(this.setFocus(),this.focusedValue=r)),o()}),64)}))),this.onCancelSearchbar=async a=>{a&&(a.preventDefault(),a.stopPropagation()),this.ionCancel.emit();const o=this.getValue(),r=this.focused;await this.onClearInput(),o&&!r&&this.emitValueChange(a),this.nativeInput&&this.nativeInput.blur()},this.onInput=a=>{const o=a.target;o&&(this.value=o.value),this.emitInputChange(a)},this.onChange=a=>{this.emitValueChange(a)},this.onBlur=a=>{this.focused=!1,this.ionBlur.emit(),this.positionElements(),this.focusedValue!==this.value&&this.emitValueChange(a),this.focusedValue=void 0},this.onFocus=()=>{this.focused=!0,this.focusedValue=this.value,this.ionFocus.emit(),this.positionElements()}}onLangChanged(a){this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{lang:a}),i(this)}onDirChanged(a){this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{dir:a}),i(this)}debounceChanged(){const{ionInput:a,debounce:o,originalIonInput:r}=this;this.ionInput=void 0===o?null!=r?r:a:c(a,o)}valueChanged(){const a=this.nativeInput,o=this.getValue();a&&a.value!==o&&(a.value=o)}showCancelButtonChanged(){requestAnimationFrame((()=>{this.positionElements(),i(this)}))}connectedCallback(){this.emitStyle()}componentWillLoad(){this.inheritedAttributes=Object.assign({},h(this.el,["lang","dir"]))}componentDidLoad(){this.originalIonInput=this.ionInput,this.positionElements(),this.debounceChanged(),this.loadTimeout=setTimeout((()=>{this.noAnimate=!1}),300)}disconnectedCallback(){var a;this.loadTimeout&&clearTimeout(this.loadTimeout),this.clearTimeout&&clearTimeout(this.clearTimeout),null===(a=this.searchIconResizeObserver)||void 0===a||a.disconnect()}emitStyle(){this.ionStyle.emit({searchbar:!0})}async setFocus(){this.nativeInput&&this.nativeInput.focus()}async getInputElement(){return this.nativeInput||await new Promise((a=>l(this.el,a))),Promise.resolve(this.nativeInput)}emitValueChange(a){const{value:o}=this,r=null==o?o:""+o;this.focusedValue=r,this.ionChange.emit({value:r,event:a})}emitInputChange(a){const{value:o}=this;this.ionInput.emit({value:o,event:a})}positionElements(){const a=this.getValue(),o=this.shouldAlignLeft,r=x(this),e=!this.animated||""!==a.trim()||!!this.focused;this.shouldAlignLeft=e,"ios"===r&&(o!==e&&this.positionPlaceholder(),this.animated&&this.positionCancelButton())}positionPlaceholder(){const a=this.nativeInput;if(!a)return;const o=d(this.el),r=(this.el.shadowRoot||this.el).querySelector(".searchbar-search-icon");if(this.shouldAlignLeft)a.removeAttribute("style"),r.removeAttribute("style");else{const e=document,i=e.createElement("span");i.innerText=this.placeholder||"",e.body.appendChild(i),b((()=>{var e,n;const t=i.offsetWidth;i.remove();const s="calc(50% - "+t/2+"px)",c=r.clientWidth;if(0===c)return null===(e=this.searchIconResizeObserver)||void 0===e||e.disconnect(),this.searchIconResizeObserver=new ResizeObserver((a=>{var o;a[0].contentRect.width>0&&(null===(o=this.searchIconResizeObserver)||void 0===o||o.disconnect(),this.positionPlaceholder())})),void(null===(n=this.searchIconResizeObserver)||void 0===n||n.observe(r));const h="calc(50% - "+(t/2+c+8)+"px)";o?(a.style.paddingRight=s,r.style.marginRight=h):(a.style.paddingLeft=s,r.style.marginLeft=h)}))}}positionCancelButton(){const a=d(this.el),o=(this.el.shadowRoot||this.el).querySelector(".searchbar-cancel-button"),r=this.shouldShowCancelButton();if(null!==o&&r!==this.isCancelVisible){const e=o.style;if(this.isCancelVisible=r,r)a?e.marginLeft="0":e.marginRight="0";else{const r=o.offsetWidth;r>0&&(a?e.marginLeft=-r+"px":e.marginRight=-r+"px")}}}getValue(){return this.value||""}hasValue(){return""!==this.getValue()}shouldShowCancelButton(){return!("never"===this.showCancelButton||"focus"===this.showCancelButton&&!this.focused)}shouldShowClearButton(){return!("never"===this.showClearButton||"focus"===this.showClearButton&&!this.focused)}render(){const{cancelButtonText:a,autocapitalize:o}=this,r=this.animated&&e.getBoolean("animated",!0),i=x(this),s=this.clearIcon||("ios"===i?f:v),c=this.searchIcon||("ios"===i?m:g),h=this.shouldShowCancelButton(),l="never"!==this.showCancelButton&&n("button",{key:"226b7a676b4819cda4062b8334fa8d4c4cee6f1a","aria-label":a,"aria-hidden":h?void 0:"true",type:"button",tabIndex:"ios"!==i||h?void 0:-1,onMouseDown:this.onCancelSearchbar,onTouchStart:this.onCancelSearchbar,class:"searchbar-cancel-button"},n("div",{key:"89adb4efa17a78c973bbd5527cfac91d99ceb9bb","aria-hidden":"true"},"md"===i?n("ion-icon",{"aria-hidden":"true",mode:i,icon:this.cancelButtonIcon,lazy:!1}):a));return n(t,{key:"237dd767403dba3cb3d7de8905996e275669da3b",role:"search","aria-disabled":this.disabled?"true":null,class:p(this.color,{[i]:!0,"searchbar-animated":r,"searchbar-disabled":this.disabled,"searchbar-no-animate":r&&this.noAnimate,"searchbar-has-value":this.hasValue(),"searchbar-left-aligned":this.shouldAlignLeft,"searchbar-has-focus":this.focused,"searchbar-should-show-clear":this.shouldShowClearButton(),"searchbar-should-show-cancel":this.shouldShowCancelButton()})},n("div",{key:"5b4bdf7280bea710304b6975e76390fe6ceb7417",class:"searchbar-input-container"},n("input",Object.assign({key:"01a0820a2cf904aec1c7d84b542ab7918d435632","aria-label":"search text",disabled:this.disabled,ref:a=>this.nativeInput=a,class:"searchbar-input",inputMode:this.inputmode,enterKeyHint:this.enterkeyhint,name:this.name,onInput:this.onInput,onChange:this.onChange,onBlur:this.onBlur,onFocus:this.onFocus,minLength:this.minlength,maxLength:this.maxlength,placeholder:this.placeholder,type:this.type,value:this.getValue(),autoCapitalize:"default"===o?void 0:o,autoComplete:this.autocomplete,autoCorrect:this.autocorrect,spellcheck:this.spellcheck},this.inheritedAttributes)),"md"===i&&l,n("ion-icon",{key:"cd64973206b1cc59d221112861733b7ee25f0323","aria-hidden":"true",mode:i,icon:c,lazy:!1,class:"searchbar-search-icon"}),n("button",{key:"2061fa8449bbc576cf8c5130ea613378ea492944","aria-label":"reset",type:"button","no-blur":!0,class:"searchbar-clear-button",onPointerDown:a=>{a.preventDefault()},onClick:()=>this.onClearInput(!0)},n("ion-icon",{key:"00df6f7742bff70b1b088d544b8c00e962e7216c","aria-hidden":"true",mode:i,icon:s,lazy:!1,class:"searchbar-clear-icon"}))),"ios"===i&&l)}get el(){return this}static get watchers(){return{lang:[{onLangChanged:0}],dir:[{onDirChanged:0}],debounce:[{debounceChanged:0}],value:[{valueChanged:0}],showCancelButton:[{showCancelButtonChanged:0}]}}static get style(){return{ios:".sc-ion-searchbar-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-searchbar-ios-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:inherit}.searchbar-search-icon.sc-ion-searchbar-ios{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-ios{display:block;position:relative;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-ios{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;min-height:inherit;border:0;outline:none;background:var(--background);font-family:inherit;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-input.sc-ion-searchbar-ios::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-ios::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-ios>div.sc-ion-searchbar-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-clear-button.sc-ion-searchbar-ios:focus{opacity:0.5}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{display:block}.searchbar-disabled.sc-ion-searchbar-ios-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-ios-h{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.07);--border-radius:10px;--box-shadow:none;--cancel-button-color:var(--ion-color-primary, #0054e9);--clear-button-color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));--color:var(--ion-text-color, #000);--icon-color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:12px;padding-bottom:12px;min-height:60px;contain:content}.searchbar-input-container.sc-ion-searchbar-ios{min-height:36px}.searchbar-search-icon.sc-ion-searchbar-ios{-webkit-margin-start:calc(50% - 60px);margin-inline-start:calc(50% - 60px);top:0;position:absolute;width:1.375rem;height:100%;contain:strict}.searchbar-search-icon.sc-ion-searchbar-ios{inset-inline-start:5px}.searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:6px;padding-bottom:6px;height:100%;font-size:1.0625rem;font-weight:400;contain:strict}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:1.75rem;padding-inline-start:1.75rem;-webkit-padding-end:1.75rem;padding-inline-end:1.75rem}.searchbar-clear-button.sc-ion-searchbar-ios{top:0;background-position:center;position:absolute;width:1.875rem;height:100%;border:0;background-color:transparent}.searchbar-clear-button.sc-ion-searchbar-ios{inset-inline-end:0}.searchbar-clear-icon.sc-ion-searchbar-ios{width:1.125rem;height:100%}.searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;-ms-flex-negative:0;flex-shrink:0;background-color:transparent;font-size:17px}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{-webkit-margin-start:0;margin-inline-start:0}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:1.875rem;padding-inline-start:1.875rem}.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{display:block}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-transition:all 300ms ease;transition:all 300ms ease}.searchbar-animated.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{opacity:1;pointer-events:auto}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-margin-end:-100%;margin-inline-end:-100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:all 300ms ease;transition:all 300ms ease;opacity:0;pointer-events:none}.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-transition-duration:0ms;transition-duration:0ms}.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{color:var(--ion-color-base)}@media (any-hover: hover){.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios:hover{color:var(--ion-color-tint)}}ion-toolbar.sc-ion-searchbar-ios-h,ion-toolbar .sc-ion-searchbar-ios-h{padding-top:1px;padding-bottom:15px;min-height:52px}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color),ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color){color:inherit}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios{color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios{background:rgba(var(--ion-color-contrast-rgb), 0.07);color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}",md:".sc-ion-searchbar-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}.ion-color.sc-ion-searchbar-md-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{color:inherit}.searchbar-search-icon.sc-ion-searchbar-md{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-md{display:block;position:relative;-ms-flex-negative:1;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-md{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;min-height:inherit;border:0;outline:none;background:var(--background);font-family:inherit;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-input.sc-ion-searchbar-md::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-md::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-md>div.sc-ion-searchbar-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar-clear-button.sc-ion-searchbar-md:focus{opacity:0.5}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{display:block}.searchbar-disabled.sc-ion-searchbar-md-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-md-h{--background:var(--ion-background-color, #fff);--border-radius:2px;--box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);--cancel-button-color:var(--ion-color-step-900, var(--ion-text-color-step-100, #1a1a1a));--clear-button-color:initial;--color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));--icon-color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;background:inherit}.searchbar-search-icon.sc-ion-searchbar-md{top:11px;width:1.3125rem;height:1.3125rem}.searchbar-search-icon.sc-ion-searchbar-md{inset-inline-start:16px}.searchbar-cancel-button.sc-ion-searchbar-md{top:0;background-color:transparent;font-size:1.5em}.searchbar-cancel-button.sc-ion-searchbar-md{inset-inline-start:9px}.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-cancel-button.sc-ion-searchbar-md{position:absolute}.searchbar-search-icon.ion-activated.sc-ion-searchbar-md,.searchbar-cancel-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-input.sc-ion-searchbar-md{-webkit-padding-start:3.4375rem;padding-inline-start:3.4375rem;-webkit-padding-end:3.4375rem;padding-inline-end:3.4375rem;padding-top:0.375rem;padding-bottom:0.375rem;background-position:left 8px center;height:auto;font-size:1rem;font-weight:400;line-height:30px}[dir=rtl].sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background-position:right 8px center}[dir=rtl].sc-ion-searchbar-md .searchbar-input.sc-ion-searchbar-md{background-position:right 8px center}@supports selector(:dir(rtl)){.searchbar-input.sc-ion-searchbar-md:dir(rtl){background-position:right 8px center}}.searchbar-clear-button.sc-ion-searchbar-md{top:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;position:absolute;height:100%;border:0;background-color:transparent}.searchbar-clear-button.sc-ion-searchbar-md{inset-inline-end:13px}.searchbar-clear-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-clear-icon.sc-ion-searchbar-md{width:1.375rem;height:100%}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md{display:none}ion-toolbar.sc-ion-searchbar-md-h,ion-toolbar .sc-ion-searchbar-md-h{-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:7px;padding-inline-end:7px;padding-top:3px;padding-bottom:3px}"}}},[34,"ion-searchbar",{color:[513],animated:[4],autocapitalize:[1],autocomplete:[1],autocorrect:[1],cancelButtonIcon:[1,"cancel-button-icon"],cancelButtonText:[1,"cancel-button-text"],clearIcon:[1,"clear-icon"],debounce:[2],disabled:[4],inputmode:[1],enterkeyhint:[1],maxlength:[2],minlength:[2],name:[1],placeholder:[1],searchIcon:[1,"search-icon"],showCancelButton:[1,"show-cancel-button"],showClearButton:[1,"show-clear-button"],spellcheck:[4],type:[1],value:[1025],focused:[32],noAnimate:[32],setFocus:[64],getInputElement:[64]},void 0,{lang:[{onLangChanged:0}],dir:[{onDirChanged:0}],debounce:[{debounceChanged:0}],value:[{valueChanged:0}],showCancelButton:[{showCancelButtonChanged:0}]}]);let k=0;const C=w,z=function(){"undefined"!=typeof customElements&&["ion-searchbar","ion-icon"].forEach((a=>{switch(a){case"ion-searchbar":customElements.get(s(a))||customElements.define(s(a),w);break;case"ion-icon":customElements.get(s(a))||y()}}))};export{C as IonSearchbar,z as defineCustomElement}
|
|
@@ -632,7 +632,7 @@ const InputOTP = class {
|
|
|
632
632
|
const tabbableIndex = this.getTabbableIndex();
|
|
633
633
|
const pattern = this.getPattern();
|
|
634
634
|
const hasDescription = ((_b = (_a = el.querySelector('.input-otp-description')) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) !== '';
|
|
635
|
-
return (index.h(index.Host, { key: '
|
|
635
|
+
return (index.h(index.Host, { key: 'ffeec6d07b5d3cd375b72d4c9f4fe755d80ac094', class: theme.createColorClasses(color, {
|
|
636
636
|
[mode]: true,
|
|
637
637
|
'has-focus': hasFocus,
|
|
638
638
|
[`input-otp-size-${size}`]: true,
|
|
@@ -640,10 +640,10 @@ const InputOTP = class {
|
|
|
640
640
|
[`input-otp-fill-${fill}`]: true,
|
|
641
641
|
'input-otp-disabled': disabled,
|
|
642
642
|
'input-otp-readonly': readonly,
|
|
643
|
-
}) }, index.h("div", Object.assign({ key: '
|
|
643
|
+
}) }, index.h("div", Object.assign({ key: 'f42471e4ed8054f07162a52b42a0ca49c3d57bb0', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, inheritedAttributes), Array.from({ length }).map((_, index$1) => (index.h(index.Fragment, null, index.h("div", { class: "native-wrapper" }, index.h("input", { class: "native-input", id: `${inputId}-${index$1}`, "aria-label": `Input ${index$1 + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index$1 === tabbableIndex ? 0 : -1, value: inputValues[index$1] || '', autocomplete: "one-time-code", ref: (el) => (inputRefs[index$1] = el), onInput: this.onInput(index$1), onBlur: this.onBlur, onFocus: this.onFocus(index$1), onKeyDown: this.onKeyDown(index$1), onPaste: this.onPaste })), this.showSeparator(index$1) && index.h("div", { class: "input-otp-separator" }))))), index.h("div", { key: 'b06461605b2404476b856785b7116e18b4dbaeaa', class: {
|
|
644
644
|
'input-otp-description': true,
|
|
645
645
|
'input-otp-description-hidden': !hasDescription,
|
|
646
|
-
} }, index.h("slot", { key: '
|
|
646
|
+
} }, index.h("slot", { key: '5bf9e7dc365f6caf0d4b13ae26e5559cdbbd162c' }))));
|
|
647
647
|
}
|
|
648
648
|
get el() { return index.getElement(this); }
|
|
649
649
|
static get watchers() { return {
|
|
@@ -254,12 +254,14 @@ const Searchbar = class {
|
|
|
254
254
|
}, 300);
|
|
255
255
|
}
|
|
256
256
|
disconnectedCallback() {
|
|
257
|
+
var _a;
|
|
257
258
|
if (this.loadTimeout) {
|
|
258
259
|
clearTimeout(this.loadTimeout);
|
|
259
260
|
}
|
|
260
261
|
if (this.clearTimeout) {
|
|
261
262
|
clearTimeout(this.clearTimeout);
|
|
262
263
|
}
|
|
264
|
+
(_a = this.searchIconResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
263
265
|
}
|
|
264
266
|
emitStyle() {
|
|
265
267
|
this.ionStyle.emit({
|
|
@@ -357,6 +359,7 @@ const Searchbar = class {
|
|
|
357
359
|
doc.body.appendChild(tempSpan);
|
|
358
360
|
// Get the width of the span then remove it
|
|
359
361
|
helpers.raf(() => {
|
|
362
|
+
var _a, _b;
|
|
360
363
|
const textWidth = tempSpan.offsetWidth;
|
|
361
364
|
tempSpan.remove();
|
|
362
365
|
// Calculate the input padding
|
|
@@ -368,7 +371,25 @@ const Searchbar = class {
|
|
|
368
371
|
* such as Dynamic Type on iOS as well as 8px
|
|
369
372
|
* of padding.
|
|
370
373
|
*/
|
|
371
|
-
const
|
|
374
|
+
const iconWidth = iconEl.clientWidth;
|
|
375
|
+
/**
|
|
376
|
+
* Fix for https://github.com/ionic-team/ionic-framework/issues/30434:
|
|
377
|
+
* iconEl.clientWidth can very briefly be 0 when this is called from componentDidLoad.
|
|
378
|
+
* If it is zero, set up a ResizeObserver and call this function when it observes a width greater than 0.
|
|
379
|
+
*/
|
|
380
|
+
if (iconWidth === 0) {
|
|
381
|
+
(_a = this.searchIconResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
382
|
+
this.searchIconResizeObserver = new ResizeObserver((entries) => {
|
|
383
|
+
var _a;
|
|
384
|
+
if (entries[0].contentRect.width > 0) {
|
|
385
|
+
(_a = this.searchIconResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
386
|
+
this.positionPlaceholder();
|
|
387
|
+
}
|
|
388
|
+
});
|
|
389
|
+
(_b = this.searchIconResizeObserver) === null || _b === void 0 ? void 0 : _b.observe(iconEl);
|
|
390
|
+
return;
|
|
391
|
+
}
|
|
392
|
+
const iconLeft = 'calc(50% - ' + (textWidth / 2 + iconWidth + 8) + 'px)';
|
|
372
393
|
// Set the input padding start and icon margin start
|
|
373
394
|
if (rtl) {
|
|
374
395
|
inputEl.style.paddingRight = inputLeft;
|
|
@@ -449,8 +470,8 @@ const Searchbar = class {
|
|
|
449
470
|
const clearIcon = this.clearIcon || (mode === 'ios' ? index$1.closeCircle : index$1.closeSharp);
|
|
450
471
|
const searchIcon = this.searchIcon || (mode === 'ios' ? index$1.searchOutline : index$1.searchSharp);
|
|
451
472
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
452
|
-
const cancelButton = this.showCancelButton !== 'never' && (index.h("button", { key: '
|
|
453
|
-
return (index.h(index.Host, { key: '
|
|
473
|
+
const cancelButton = this.showCancelButton !== 'never' && (index.h("button", { key: '226b7a676b4819cda4062b8334fa8d4c4cee6f1a', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, index.h("div", { key: '89adb4efa17a78c973bbd5527cfac91d99ceb9bb', "aria-hidden": "true" }, mode === 'md' ? (index.h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
|
|
474
|
+
return (index.h(index.Host, { key: '237dd767403dba3cb3d7de8905996e275669da3b', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: theme.createColorClasses(this.color, {
|
|
454
475
|
[mode]: true,
|
|
455
476
|
'searchbar-animated': animated,
|
|
456
477
|
'searchbar-disabled': this.disabled,
|
|
@@ -460,14 +481,14 @@ const Searchbar = class {
|
|
|
460
481
|
'searchbar-has-focus': this.focused,
|
|
461
482
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
462
483
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
463
|
-
}) }, index.h("div", { key: '
|
|
484
|
+
}) }, index.h("div", { key: '5b4bdf7280bea710304b6975e76390fe6ceb7417', class: "searchbar-input-container" }, index.h("input", Object.assign({ key: '01a0820a2cf904aec1c7d84b542ab7918d435632', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, index.h("ion-icon", { key: 'cd64973206b1cc59d221112861733b7ee25f0323', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), index.h("button", { key: '2061fa8449bbc576cf8c5130ea613378ea492944', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
|
|
464
485
|
/**
|
|
465
486
|
* This prevents mobile browsers from
|
|
466
487
|
* blurring the input when the clear
|
|
467
488
|
* button is activated.
|
|
468
489
|
*/
|
|
469
490
|
ev.preventDefault();
|
|
470
|
-
}, onClick: () => this.onClearInput(true) }, index.h("ion-icon", { key: '
|
|
491
|
+
}, onClick: () => this.onClearInput(true) }, index.h("ion-icon", { key: '00df6f7742bff70b1b088d544b8c00e962e7216c', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
|
|
471
492
|
}
|
|
472
493
|
get el() { return index.getElement(this); }
|
|
473
494
|
static get watchers() { return {
|
|
@@ -620,7 +620,7 @@ export class InputOTP {
|
|
|
620
620
|
const tabbableIndex = this.getTabbableIndex();
|
|
621
621
|
const pattern = this.getPattern();
|
|
622
622
|
const hasDescription = ((_b = (_a = el.querySelector('.input-otp-description')) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) !== '';
|
|
623
|
-
return (h(Host, { key: '
|
|
623
|
+
return (h(Host, { key: 'ffeec6d07b5d3cd375b72d4c9f4fe755d80ac094', class: createColorClasses(color, {
|
|
624
624
|
[mode]: true,
|
|
625
625
|
'has-focus': hasFocus,
|
|
626
626
|
[`input-otp-size-${size}`]: true,
|
|
@@ -628,10 +628,10 @@ export class InputOTP {
|
|
|
628
628
|
[`input-otp-fill-${fill}`]: true,
|
|
629
629
|
'input-otp-disabled': disabled,
|
|
630
630
|
'input-otp-readonly': readonly,
|
|
631
|
-
}) }, h("div", Object.assign({ key: '
|
|
631
|
+
}) }, h("div", Object.assign({ key: 'f42471e4ed8054f07162a52b42a0ca49c3d57bb0', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper" }, h("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: "one-time-code", ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && h("div", { class: "input-otp-separator" }))))), h("div", { key: 'b06461605b2404476b856785b7116e18b4dbaeaa', class: {
|
|
632
632
|
'input-otp-description': true,
|
|
633
633
|
'input-otp-description-hidden': !hasDescription,
|
|
634
|
-
} }, h("slot", { key: '
|
|
634
|
+
} }, h("slot", { key: '5bf9e7dc365f6caf0d4b13ae26e5559cdbbd162c' }))));
|
|
635
635
|
}
|
|
636
636
|
static get is() { return "ion-input-otp"; }
|
|
637
637
|
static get encapsulation() { return "scoped"; }
|
|
@@ -243,12 +243,14 @@ export class Searchbar {
|
|
|
243
243
|
}, 300);
|
|
244
244
|
}
|
|
245
245
|
disconnectedCallback() {
|
|
246
|
+
var _a;
|
|
246
247
|
if (this.loadTimeout) {
|
|
247
248
|
clearTimeout(this.loadTimeout);
|
|
248
249
|
}
|
|
249
250
|
if (this.clearTimeout) {
|
|
250
251
|
clearTimeout(this.clearTimeout);
|
|
251
252
|
}
|
|
253
|
+
(_a = this.searchIconResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
252
254
|
}
|
|
253
255
|
emitStyle() {
|
|
254
256
|
this.ionStyle.emit({
|
|
@@ -346,6 +348,7 @@ export class Searchbar {
|
|
|
346
348
|
doc.body.appendChild(tempSpan);
|
|
347
349
|
// Get the width of the span then remove it
|
|
348
350
|
raf(() => {
|
|
351
|
+
var _a, _b;
|
|
349
352
|
const textWidth = tempSpan.offsetWidth;
|
|
350
353
|
tempSpan.remove();
|
|
351
354
|
// Calculate the input padding
|
|
@@ -357,7 +360,25 @@ export class Searchbar {
|
|
|
357
360
|
* such as Dynamic Type on iOS as well as 8px
|
|
358
361
|
* of padding.
|
|
359
362
|
*/
|
|
360
|
-
const
|
|
363
|
+
const iconWidth = iconEl.clientWidth;
|
|
364
|
+
/**
|
|
365
|
+
* Fix for https://github.com/ionic-team/ionic-framework/issues/30434:
|
|
366
|
+
* iconEl.clientWidth can very briefly be 0 when this is called from componentDidLoad.
|
|
367
|
+
* If it is zero, set up a ResizeObserver and call this function when it observes a width greater than 0.
|
|
368
|
+
*/
|
|
369
|
+
if (iconWidth === 0) {
|
|
370
|
+
(_a = this.searchIconResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
371
|
+
this.searchIconResizeObserver = new ResizeObserver((entries) => {
|
|
372
|
+
var _a;
|
|
373
|
+
if (entries[0].contentRect.width > 0) {
|
|
374
|
+
(_a = this.searchIconResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
375
|
+
this.positionPlaceholder();
|
|
376
|
+
}
|
|
377
|
+
});
|
|
378
|
+
(_b = this.searchIconResizeObserver) === null || _b === void 0 ? void 0 : _b.observe(iconEl);
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
const iconLeft = 'calc(50% - ' + (textWidth / 2 + iconWidth + 8) + 'px)';
|
|
361
382
|
// Set the input padding start and icon margin start
|
|
362
383
|
if (rtl) {
|
|
363
384
|
inputEl.style.paddingRight = inputLeft;
|
|
@@ -438,8 +459,8 @@ export class Searchbar {
|
|
|
438
459
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
439
460
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
440
461
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
441
|
-
const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '
|
|
442
|
-
return (h(Host, { key: '
|
|
462
|
+
const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '226b7a676b4819cda4062b8334fa8d4c4cee6f1a', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, h("div", { key: '89adb4efa17a78c973bbd5527cfac91d99ceb9bb', "aria-hidden": "true" }, mode === 'md' ? (h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
|
|
463
|
+
return (h(Host, { key: '237dd767403dba3cb3d7de8905996e275669da3b', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
|
|
443
464
|
[mode]: true,
|
|
444
465
|
'searchbar-animated': animated,
|
|
445
466
|
'searchbar-disabled': this.disabled,
|
|
@@ -449,14 +470,14 @@ export class Searchbar {
|
|
|
449
470
|
'searchbar-has-focus': this.focused,
|
|
450
471
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
451
472
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
452
|
-
}) }, h("div", { key: '
|
|
473
|
+
}) }, h("div", { key: '5b4bdf7280bea710304b6975e76390fe6ceb7417', class: "searchbar-input-container" }, h("input", Object.assign({ key: '01a0820a2cf904aec1c7d84b542ab7918d435632', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, h("ion-icon", { key: 'cd64973206b1cc59d221112861733b7ee25f0323', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), h("button", { key: '2061fa8449bbc576cf8c5130ea613378ea492944', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
|
|
453
474
|
/**
|
|
454
475
|
* This prevents mobile browsers from
|
|
455
476
|
* blurring the input when the clear
|
|
456
477
|
* button is activated.
|
|
457
478
|
*/
|
|
458
479
|
ev.preventDefault();
|
|
459
|
-
}, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '
|
|
480
|
+
}, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '00df6f7742bff70b1b088d544b8c00e962e7216c', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
|
|
460
481
|
}
|
|
461
482
|
static get is() { return "ion-searchbar"; }
|
|
462
483
|
static get encapsulation() { return "scoped"; }
|
package/dist/docs.json
CHANGED
|
@@ -630,7 +630,7 @@ const InputOTP = class {
|
|
|
630
630
|
const tabbableIndex = this.getTabbableIndex();
|
|
631
631
|
const pattern = this.getPattern();
|
|
632
632
|
const hasDescription = ((_b = (_a = el.querySelector('.input-otp-description')) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) !== '';
|
|
633
|
-
return (h(Host, { key: '
|
|
633
|
+
return (h(Host, { key: 'ffeec6d07b5d3cd375b72d4c9f4fe755d80ac094', class: createColorClasses(color, {
|
|
634
634
|
[mode]: true,
|
|
635
635
|
'has-focus': hasFocus,
|
|
636
636
|
[`input-otp-size-${size}`]: true,
|
|
@@ -638,10 +638,10 @@ const InputOTP = class {
|
|
|
638
638
|
[`input-otp-fill-${fill}`]: true,
|
|
639
639
|
'input-otp-disabled': disabled,
|
|
640
640
|
'input-otp-readonly': readonly,
|
|
641
|
-
}) }, h("div", Object.assign({ key: '
|
|
641
|
+
}) }, h("div", Object.assign({ key: 'f42471e4ed8054f07162a52b42a0ca49c3d57bb0', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper" }, h("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: "one-time-code", ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && h("div", { class: "input-otp-separator" }))))), h("div", { key: 'b06461605b2404476b856785b7116e18b4dbaeaa', class: {
|
|
642
642
|
'input-otp-description': true,
|
|
643
643
|
'input-otp-description-hidden': !hasDescription,
|
|
644
|
-
} }, h("slot", { key: '
|
|
644
|
+
} }, h("slot", { key: '5bf9e7dc365f6caf0d4b13ae26e5559cdbbd162c' }))));
|
|
645
645
|
}
|
|
646
646
|
get el() { return getElement(this); }
|
|
647
647
|
static get watchers() { return {
|
|
@@ -252,12 +252,14 @@ const Searchbar = class {
|
|
|
252
252
|
}, 300);
|
|
253
253
|
}
|
|
254
254
|
disconnectedCallback() {
|
|
255
|
+
var _a;
|
|
255
256
|
if (this.loadTimeout) {
|
|
256
257
|
clearTimeout(this.loadTimeout);
|
|
257
258
|
}
|
|
258
259
|
if (this.clearTimeout) {
|
|
259
260
|
clearTimeout(this.clearTimeout);
|
|
260
261
|
}
|
|
262
|
+
(_a = this.searchIconResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
261
263
|
}
|
|
262
264
|
emitStyle() {
|
|
263
265
|
this.ionStyle.emit({
|
|
@@ -355,6 +357,7 @@ const Searchbar = class {
|
|
|
355
357
|
doc.body.appendChild(tempSpan);
|
|
356
358
|
// Get the width of the span then remove it
|
|
357
359
|
raf(() => {
|
|
360
|
+
var _a, _b;
|
|
358
361
|
const textWidth = tempSpan.offsetWidth;
|
|
359
362
|
tempSpan.remove();
|
|
360
363
|
// Calculate the input padding
|
|
@@ -366,7 +369,25 @@ const Searchbar = class {
|
|
|
366
369
|
* such as Dynamic Type on iOS as well as 8px
|
|
367
370
|
* of padding.
|
|
368
371
|
*/
|
|
369
|
-
const
|
|
372
|
+
const iconWidth = iconEl.clientWidth;
|
|
373
|
+
/**
|
|
374
|
+
* Fix for https://github.com/ionic-team/ionic-framework/issues/30434:
|
|
375
|
+
* iconEl.clientWidth can very briefly be 0 when this is called from componentDidLoad.
|
|
376
|
+
* If it is zero, set up a ResizeObserver and call this function when it observes a width greater than 0.
|
|
377
|
+
*/
|
|
378
|
+
if (iconWidth === 0) {
|
|
379
|
+
(_a = this.searchIconResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
380
|
+
this.searchIconResizeObserver = new ResizeObserver((entries) => {
|
|
381
|
+
var _a;
|
|
382
|
+
if (entries[0].contentRect.width > 0) {
|
|
383
|
+
(_a = this.searchIconResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
384
|
+
this.positionPlaceholder();
|
|
385
|
+
}
|
|
386
|
+
});
|
|
387
|
+
(_b = this.searchIconResizeObserver) === null || _b === void 0 ? void 0 : _b.observe(iconEl);
|
|
388
|
+
return;
|
|
389
|
+
}
|
|
390
|
+
const iconLeft = 'calc(50% - ' + (textWidth / 2 + iconWidth + 8) + 'px)';
|
|
370
391
|
// Set the input padding start and icon margin start
|
|
371
392
|
if (rtl) {
|
|
372
393
|
inputEl.style.paddingRight = inputLeft;
|
|
@@ -447,8 +468,8 @@ const Searchbar = class {
|
|
|
447
468
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
448
469
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
449
470
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
450
|
-
const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '
|
|
451
|
-
return (h(Host, { key: '
|
|
471
|
+
const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '226b7a676b4819cda4062b8334fa8d4c4cee6f1a', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, h("div", { key: '89adb4efa17a78c973bbd5527cfac91d99ceb9bb', "aria-hidden": "true" }, mode === 'md' ? (h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
|
|
472
|
+
return (h(Host, { key: '237dd767403dba3cb3d7de8905996e275669da3b', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
|
|
452
473
|
[mode]: true,
|
|
453
474
|
'searchbar-animated': animated,
|
|
454
475
|
'searchbar-disabled': this.disabled,
|
|
@@ -458,14 +479,14 @@ const Searchbar = class {
|
|
|
458
479
|
'searchbar-has-focus': this.focused,
|
|
459
480
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
460
481
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
461
|
-
}) }, h("div", { key: '
|
|
482
|
+
}) }, h("div", { key: '5b4bdf7280bea710304b6975e76390fe6ceb7417', class: "searchbar-input-container" }, h("input", Object.assign({ key: '01a0820a2cf904aec1c7d84b542ab7918d435632', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, h("ion-icon", { key: 'cd64973206b1cc59d221112861733b7ee25f0323', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), h("button", { key: '2061fa8449bbc576cf8c5130ea613378ea492944', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
|
|
462
483
|
/**
|
|
463
484
|
* This prevents mobile browsers from
|
|
464
485
|
* blurring the input when the clear
|
|
465
486
|
* button is activated.
|
|
466
487
|
*/
|
|
467
488
|
ev.preventDefault();
|
|
468
|
-
}, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '
|
|
489
|
+
}, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '00df6f7742bff70b1b088d544b8c00e962e7216c', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
|
|
469
490
|
}
|
|
470
491
|
get el() { return getElement(this); }
|
|
471
492
|
static get watchers() { return {
|