-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path9092.5739a0fdae8f86f2.js.map
1 lines (1 loc) · 45.5 KB
/
9092.5739a0fdae8f86f2.js.map
1
{"version":3,"file":"9092.5739a0fdae8f86f2.js","mappings":"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","names":["Searchbar","constructor","hostRef","_this","this","registerInstance","ionInput","createEvent","ionChange","ionCancel","ionClear","ionBlur","ionFocus","ionStyle","isCancelVisible","shouldAlignLeft","inputId","searchbarIds","onClearInput","_ref","_asyncToGenerator","shouldFocus","emit","Promise","resolve","setTimeout","value","getValue","emitInputChange","focused","setFocus","focusedValue","_x","apply","arguments","onCancelSearchbar","_ref2","ev","preventDefault","stopPropagation","emitValueChange","nativeInput","blur","_x2","onInput","input","target","onChange","onBlur","positionElements","undefined","onFocus","noAnimate","color","animated","autocomplete","autocorrect","cancelButtonIcon","config","get","arrowBackSharp","cancelButtonText","clearIcon","debounce","disabled","inputmode","enterkeyhint","name","placeholder","searchIcon","showCancelButton","showClearButton","spellcheck","type","debounceChanged","originalIonInput","debounceEvent","valueChanged","inputEl","showCancelButtonChanged","requestAnimationFrame","forceUpdate","connectedCallback","emitStyle","componentDidLoad","searchbar","_this2","focus","getInputElement","_this3","componentOnReady","el","event","newValue","toString","prevAlignLeft","mode","getIonMode","trim","positionPlaceholder","positionCancelButton","rtl","isRTL","iconEl","shadowRoot","querySelector","removeAttribute","doc","document","tempSpan","createElement","innerText","body","appendChild","raf","textWidth","offsetWidth","remove","inputLeft","iconLeft","clientWidth","style","paddingRight","marginRight","paddingLeft","marginLeft","cancelButton","shouldShowCancel","shouldShowCancelButton","cancelStyle","offset","hasValue","shouldShowClearButton","render","getBoolean","closeCircle","closeSharp","searchOutline","searchSharp","h","tabIndex","onMouseDown","onTouchStart","class","icon","lazy","Host","role","createColorClasses","a","ref","inputMode","enterKeyHint","autoComplete","autoCorrect","onPointerDown","onClick","getElement","watchers","ios","md","hostContext","selector","closest","cssClassMap","length","Object","assign","getClassMap","classes","map","getClassList","Array","isArray","split","filter","c","forEach","SCHEME","openURL","url","direction","animation","test","router","push","_x3","_x4"],"sourceRoot":"webpack:///","sources":["./node_modules/@ionic/core/dist/esm/ion-searchbar.entry.js","./node_modules/@ionic/core/dist/esm/theme-01f3f29c.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { r as registerInstance, d as createEvent, i as forceUpdate, h, H as Host, f as getElement } from './index-b7d870cf.js';\nimport { j as debounceEvent, c as componentOnReady, r as raf } from './helpers-ae653409.js';\nimport { i as isRTL } from './dir-babeabeb.js';\nimport { c as createColorClasses } from './theme-01f3f29c.js';\nimport { a as arrowBackSharp, b as closeCircle, d as closeSharp, s as searchOutline, e as searchSharp } from './index-c132c5f1.js';\nimport { c as config, b as getIonMode } from './ionic-global-1f99b929.js';\n\nconst searchbarIosCss = \".sc-ion-searchbar-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--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, #3880ff);--clear-button-color:var(--ion-color-step-600, #666666);--color:var(--ion-text-color, #000);--icon-color:var(--ion-color-step-600, #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}@supports (inset-inline-start: 0){.searchbar-search-icon.sc-ion-searchbar-ios{inset-inline-start:5px}}@supports not (inset-inline-start: 0){.searchbar-search-icon.sc-ion-searchbar-ios{left:5px}[dir=rtl].sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{left:unset;right:unset;right:5px}[dir=rtl].sc-ion-searchbar-ios .searchbar-search-icon.sc-ion-searchbar-ios{left:unset;right:unset;right:5px}@supports selector(:dir(rtl)){.searchbar-search-icon.sc-ion-searchbar-ios:dir(rtl){left:unset;right:unset;right: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}@supports (inset-inline-start: 0){.searchbar-clear-button.sc-ion-searchbar-ios{inset-inline-end:0}}@supports not (inset-inline-start: 0){.searchbar-clear-button.sc-ion-searchbar-ios{right:0}[dir=rtl].sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{left:unset;right:unset;left:0}[dir=rtl].sc-ion-searchbar-ios .searchbar-clear-button.sc-ion-searchbar-ios{left:unset;right:unset;left:0}@supports selector(:dir(rtl)){.searchbar-clear-button.sc-ion-searchbar-ios:dir(rtl){left:unset;right:unset;left:0}}}.searchbar-clear-icon.sc-ion-searchbar-ios{width:1.125rem;height:100%}.searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-padding-start:8px;padding-inline-start:8px;-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:16px}.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}\";\n\nconst searchbarMdCss = \".sc-ion-searchbar-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--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, #1a1a1a);--clear-button-color:initial;--color:var(--ion-color-step-850, #262626);--icon-color:var(--ion-color-step-600, #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}@supports (inset-inline-start: 0){.searchbar-search-icon.sc-ion-searchbar-md{inset-inline-start:16px}}@supports not (inset-inline-start: 0){.searchbar-search-icon.sc-ion-searchbar-md{left:16px}[dir=rtl].sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{left:unset;right:unset;right:16px}[dir=rtl].sc-ion-searchbar-md .searchbar-search-icon.sc-ion-searchbar-md{left:unset;right:unset;right:16px}@supports selector(:dir(rtl)){.searchbar-search-icon.sc-ion-searchbar-md:dir(rtl){left:unset;right:unset;right:16px}}}.searchbar-cancel-button.sc-ion-searchbar-md{top:0;background-color:transparent;font-size:1.5em}@supports (inset-inline-start: 0){.searchbar-cancel-button.sc-ion-searchbar-md{inset-inline-start:9px}}@supports not (inset-inline-start: 0){.searchbar-cancel-button.sc-ion-searchbar-md{left:9px}[dir=rtl].sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{left:unset;right:unset;right:9px}[dir=rtl].sc-ion-searchbar-md .searchbar-cancel-button.sc-ion-searchbar-md{left:unset;right:unset;right:9px}@supports selector(:dir(rtl)){.searchbar-cancel-button.sc-ion-searchbar-md:dir(rtl){left:unset;right:unset;right: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}@supports (inset-inline-start: 0){.searchbar-clear-button.sc-ion-searchbar-md{inset-inline-end:13px}}@supports not (inset-inline-start: 0){.searchbar-clear-button.sc-ion-searchbar-md{right:13px}[dir=rtl].sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{left:unset;right:unset;left:13px}[dir=rtl].sc-ion-searchbar-md .searchbar-clear-button.sc-ion-searchbar-md{left:unset;right:unset;left:13px}@supports selector(:dir(rtl)){.searchbar-clear-button.sc-ion-searchbar-md:dir(rtl){left:unset;right:unset;left: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}\";\n\nconst Searchbar = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionInput = createEvent(this, \"ionInput\", 7);\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.ionCancel = createEvent(this, \"ionCancel\", 7);\n this.ionClear = createEvent(this, \"ionClear\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.isCancelVisible = false;\n this.shouldAlignLeft = true;\n this.inputId = `ion-searchbar-${searchbarIds++}`;\n /**\n * Clears the input field and triggers the control change.\n */\n this.onClearInput = async (shouldFocus) => {\n this.ionClear.emit();\n return new Promise((resolve) => {\n // setTimeout() fixes https://github.com/ionic-team/ionic/issues/7527\n // wait for 4 frames\n setTimeout(() => {\n const value = this.getValue();\n if (value !== '') {\n this.value = '';\n this.emitInputChange();\n /**\n * When tapping clear button\n * ensure input is focused after\n * clearing input so users\n * can quickly start typing.\n */\n if (shouldFocus && !this.focused) {\n this.setFocus();\n /**\n * The setFocus call above will clear focusedValue,\n * but ionChange will never have gotten a chance to\n * fire. Manually revert focusedValue so onBlur can\n * compare against what was in the box before the clear.\n */\n this.focusedValue = value;\n }\n }\n resolve();\n }, 16 * 4);\n });\n };\n /**\n * Clears the input field and tells the input to blur since\n * the clearInput function doesn't want the input to blur\n * then calls the custom cancel function if the user passed one in.\n */\n this.onCancelSearchbar = async (ev) => {\n if (ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n this.ionCancel.emit();\n // get cached values before clearing the input\n const value = this.getValue();\n const focused = this.focused;\n await this.onClearInput();\n /**\n * If there used to be something in the box, and we weren't focused\n * beforehand (meaning no blur fired that would already handle this),\n * manually fire ionChange.\n */\n if (value && !focused) {\n this.emitValueChange(ev);\n }\n if (this.nativeInput) {\n this.nativeInput.blur();\n }\n };\n /**\n * Update the Searchbar input value when the input changes\n */\n this.onInput = (ev) => {\n const input = ev.target;\n if (input) {\n this.value = input.value;\n }\n this.emitInputChange(ev);\n };\n this.onChange = (ev) => {\n this.emitValueChange(ev);\n };\n /**\n * Sets the Searchbar to not focused and checks if it should align left\n * based on whether there is a value in the searchbar or not.\n */\n this.onBlur = (ev) => {\n this.focused = false;\n this.ionBlur.emit();\n this.positionElements();\n if (this.focusedValue !== this.value) {\n this.emitValueChange(ev);\n }\n this.focusedValue = undefined;\n };\n /**\n * Sets the Searchbar to focused and active on input focus.\n */\n this.onFocus = () => {\n this.focused = true;\n this.focusedValue = this.value;\n this.ionFocus.emit();\n this.positionElements();\n };\n this.focused = false;\n this.noAnimate = true;\n this.color = undefined;\n this.animated = false;\n this.autocomplete = 'off';\n this.autocorrect = 'off';\n this.cancelButtonIcon = config.get('backButtonIcon', arrowBackSharp);\n this.cancelButtonText = 'Cancel';\n this.clearIcon = undefined;\n this.debounce = undefined;\n this.disabled = false;\n this.inputmode = undefined;\n this.enterkeyhint = undefined;\n this.name = this.inputId;\n this.placeholder = 'Search';\n this.searchIcon = undefined;\n this.showCancelButton = 'never';\n this.showClearButton = 'always';\n this.spellcheck = false;\n this.type = 'search';\n this.value = '';\n }\n debounceChanged() {\n const { ionInput, debounce, originalIonInput } = this;\n /**\n * If debounce is undefined, we have to manually revert the ionInput emitter in case\n * debounce used to be set to a number. Otherwise, the event would stay debounced.\n */\n this.ionInput = debounce === undefined ? originalIonInput !== null && originalIonInput !== void 0 ? originalIonInput : ionInput : debounceEvent(ionInput, debounce);\n }\n valueChanged() {\n const inputEl = this.nativeInput;\n const value = this.getValue();\n if (inputEl && inputEl.value !== value) {\n inputEl.value = value;\n }\n }\n showCancelButtonChanged() {\n requestAnimationFrame(() => {\n this.positionElements();\n forceUpdate(this);\n });\n }\n connectedCallback() {\n this.emitStyle();\n }\n componentDidLoad() {\n this.originalIonInput = this.ionInput;\n this.positionElements();\n this.debounceChanged();\n setTimeout(() => {\n this.noAnimate = false;\n }, 300);\n }\n emitStyle() {\n this.ionStyle.emit({\n searchbar: true,\n });\n }\n /**\n * Sets focus on the native `input` in `ion-searchbar`. Use this method instead of the global\n * `input.focus()`.\n *\n * Developers who wish to focus an input when a page enters\n * should call `setFocus()` in the `ionViewDidEnter()` lifecycle method.\n *\n * Developers who wish to focus an input when an overlay is presented\n * should call `setFocus` after `didPresent` has resolved.\n *\n * See [managing focus](/docs/developing/managing-focus) for more information.\n */\n async setFocus() {\n if (this.nativeInput) {\n this.nativeInput.focus();\n }\n }\n /**\n * Returns the native `<input>` element used under the hood.\n */\n async getInputElement() {\n /**\n * If this gets called in certain early lifecycle hooks (ex: Vue onMounted),\n * nativeInput won't be defined yet with the custom elements build, so wait for it to load in.\n */\n if (!this.nativeInput) {\n await new Promise((resolve) => componentOnReady(this.el, resolve));\n }\n return Promise.resolve(this.nativeInput);\n }\n /**\n * Emits an `ionChange` event.\n *\n * This API should be called for user committed changes.\n * This API should not be used for external value changes.\n */\n emitValueChange(event) {\n const { value } = this;\n // Checks for both null and undefined values\n const newValue = value == null ? value : value.toString();\n // Emitting a value change should update the internal state for tracking the focused value\n this.focusedValue = newValue;\n this.ionChange.emit({ value: newValue, event });\n }\n /**\n * Emits an `ionInput` event.\n */\n emitInputChange(event) {\n const { value } = this;\n this.ionInput.emit({ value, event });\n }\n /**\n * Positions the input search icon, placeholder, and the cancel button\n * based on the input value and if it is focused. (ios only)\n */\n positionElements() {\n const value = this.getValue();\n const prevAlignLeft = this.shouldAlignLeft;\n const mode = getIonMode(this);\n const shouldAlignLeft = !this.animated || value.trim() !== '' || !!this.focused;\n this.shouldAlignLeft = shouldAlignLeft;\n if (mode !== 'ios') {\n return;\n }\n if (prevAlignLeft !== shouldAlignLeft) {\n this.positionPlaceholder();\n }\n if (this.animated) {\n this.positionCancelButton();\n }\n }\n /**\n * Positions the input placeholder\n */\n positionPlaceholder() {\n const inputEl = this.nativeInput;\n if (!inputEl) {\n return;\n }\n const rtl = isRTL(this.el);\n const iconEl = (this.el.shadowRoot || this.el).querySelector('.searchbar-search-icon');\n if (this.shouldAlignLeft) {\n inputEl.removeAttribute('style');\n iconEl.removeAttribute('style');\n }\n else {\n // Create a dummy span to get the placeholder width\n const doc = document;\n const tempSpan = doc.createElement('span');\n tempSpan.innerText = this.placeholder || '';\n doc.body.appendChild(tempSpan);\n // Get the width of the span then remove it\n raf(() => {\n const textWidth = tempSpan.offsetWidth;\n tempSpan.remove();\n // Calculate the input padding\n const inputLeft = 'calc(50% - ' + textWidth / 2 + 'px)';\n // Calculate the icon margin\n /**\n * We take the icon width to account\n * for any text scales applied to the icon\n * such as Dynamic Type on iOS as well as 8px\n * of padding.\n */\n const iconLeft = 'calc(50% - ' + (textWidth / 2 + iconEl.clientWidth + 8) + 'px)';\n // Set the input padding start and icon margin start\n if (rtl) {\n inputEl.style.paddingRight = inputLeft;\n iconEl.style.marginRight = iconLeft;\n }\n else {\n inputEl.style.paddingLeft = inputLeft;\n iconEl.style.marginLeft = iconLeft;\n }\n });\n }\n }\n /**\n * Show the iOS Cancel button on focus, hide it offscreen otherwise\n */\n positionCancelButton() {\n const rtl = isRTL(this.el);\n const cancelButton = (this.el.shadowRoot || this.el).querySelector('.searchbar-cancel-button');\n const shouldShowCancel = this.shouldShowCancelButton();\n if (cancelButton !== null && shouldShowCancel !== this.isCancelVisible) {\n const cancelStyle = cancelButton.style;\n this.isCancelVisible = shouldShowCancel;\n if (shouldShowCancel) {\n if (rtl) {\n cancelStyle.marginLeft = '0';\n }\n else {\n cancelStyle.marginRight = '0';\n }\n }\n else {\n const offset = cancelButton.offsetWidth;\n if (offset > 0) {\n if (rtl) {\n cancelStyle.marginLeft = -offset + 'px';\n }\n else {\n cancelStyle.marginRight = -offset + 'px';\n }\n }\n }\n }\n }\n getValue() {\n return this.value || '';\n }\n hasValue() {\n return this.getValue() !== '';\n }\n /**\n * Determines whether or not the cancel button should be visible onscreen.\n * Cancel button should be shown if one of two conditions applies:\n * 1. `showCancelButton` is set to `always`.\n * 2. `showCancelButton` is set to `focus`, and the searchbar has been focused.\n */\n shouldShowCancelButton() {\n if (this.showCancelButton === 'never' || (this.showCancelButton === 'focus' && !this.focused)) {\n return false;\n }\n return true;\n }\n /**\n * Determines whether or not the clear button should be visible onscreen.\n * Clear button should be shown if one of two conditions applies:\n * 1. `showClearButton` is set to `always`.\n * 2. `showClearButton` is set to `focus`, and the searchbar has been focused.\n */\n shouldShowClearButton() {\n if (this.showClearButton === 'never' || (this.showClearButton === 'focus' && !this.focused)) {\n return false;\n }\n return true;\n }\n render() {\n const { cancelButtonText } = this;\n const animated = this.animated && config.getBoolean('animated', true);\n const mode = getIonMode(this);\n const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);\n const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);\n const shouldShowCancelButton = this.shouldShowCancelButton();\n const cancelButton = this.showCancelButton !== 'never' && (h(\"button\", { \"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\", { \"aria-hidden\": \"true\" }, mode === 'md' ? (h(\"ion-icon\", { \"aria-hidden\": \"true\", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));\n return (h(Host, { role: \"search\", \"aria-disabled\": this.disabled ? 'true' : null, class: createColorClasses(this.color, {\n [mode]: true,\n 'searchbar-animated': animated,\n 'searchbar-disabled': this.disabled,\n 'searchbar-no-animate': animated && this.noAnimate,\n 'searchbar-has-value': this.hasValue(),\n 'searchbar-left-aligned': this.shouldAlignLeft,\n 'searchbar-has-focus': this.focused,\n 'searchbar-should-show-clear': this.shouldShowClearButton(),\n 'searchbar-should-show-cancel': this.shouldShowCancelButton(),\n }) }, h(\"div\", { class: \"searchbar-input-container\" }, h(\"input\", { \"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, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }), mode === 'md' && cancelButton, h(\"ion-icon\", { \"aria-hidden\": \"true\", mode: mode, icon: searchIcon, lazy: false, class: \"searchbar-search-icon\" }), h(\"button\", { \"aria-label\": \"reset\", type: \"button\", \"no-blur\": true, class: \"searchbar-clear-button\", onPointerDown: (ev) => {\n /**\n * This prevents mobile browsers from\n * blurring the input when the clear\n * button is activated.\n */\n ev.preventDefault();\n }, onClick: () => this.onClearInput(true) }, h(\"ion-icon\", { \"aria-hidden\": \"true\", mode: mode, icon: clearIcon, lazy: false, class: \"searchbar-clear-icon\" }))), mode === 'ios' && cancelButton));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"debounce\": [\"debounceChanged\"],\n \"value\": [\"valueChanged\"],\n \"showCancelButton\": [\"showCancelButtonChanged\"]\n }; }\n};\nlet searchbarIds = 0;\nSearchbar.style = {\n ios: searchbarIosCss,\n md: searchbarMdCss\n};\n\nexport { Searchbar as ion_searchbar };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nconst hostContext = (selector, el) => {\n return el.closest(selector) !== null;\n};\n/**\n * Create the mode and color classes for the component based on the classes passed in\n */\nconst createColorClasses = (color, cssClassMap) => {\n return typeof color === 'string' && color.length > 0\n ? Object.assign({ 'ion-color': true, [`ion-color-${color}`]: true }, cssClassMap) : cssClassMap;\n};\nconst getClassList = (classes) => {\n if (classes !== undefined) {\n const array = Array.isArray(classes) ? classes : classes.split(' ');\n return array\n .filter((c) => c != null)\n .map((c) => c.trim())\n .filter((c) => c !== '');\n }\n return [];\n};\nconst getClassMap = (classes) => {\n const map = {};\n getClassList(classes).forEach((c) => (map[c] = true));\n return map;\n};\nconst SCHEME = /^[a-z][a-z0-9+\\-.]*:/;\nconst openURL = async (url, ev, direction, animation) => {\n if (url != null && url[0] !== '#' && !SCHEME.test(url)) {\n const router = document.querySelector('ion-router');\n if (router) {\n if (ev != null) {\n ev.preventDefault();\n }\n return router.push(url, direction, animation);\n }\n }\n return false;\n};\n\nexport { createColorClasses as c, getClassMap as g, hostContext as h, openURL as o };\n"],"x_google_ignoreList":[0,1]}