@ukic/canary-web-components 2.0.0-canary.33 → 2.0.0-canary.34
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/ic-data-table.cjs.entry.js +2 -1
- package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +16 -3
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +21 -18
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +11 -3
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +2 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/ic-data-table/ic-data-table.js +2 -1
- package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
- package/dist/collection/components/ic-data-table/story-data.js +1 -0
- package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
- package/dist/components/ic-data-table.js +2 -1
- package/dist/components/ic-data-table.js.map +1 -1
- package/dist/components/ic-dialog.js +16 -3
- package/dist/components/ic-dialog.js.map +1 -1
- package/dist/components/ic-radio-group.js +21 -18
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +12 -4
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +2 -1
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/p-1c0bbd2a.entry.js +2 -0
- package/dist/core/p-1c0bbd2a.entry.js.map +1 -0
- package/dist/core/{p-d8988d8c.entry.js → p-72a584f4.entry.js} +2 -2
- package/dist/core/{p-d8988d8c.entry.js.map → p-72a584f4.entry.js.map} +1 -1
- package/dist/core/p-7e909871.entry.js +2 -0
- package/dist/core/p-7e909871.entry.js.map +1 -0
- package/dist/core/{p-3bbc3db1.entry.js → p-d9f8f96d.entry.js} +2 -2
- package/dist/core/{p-3bbc3db1.entry.js.map → p-d9f8f96d.entry.js.map} +1 -1
- package/dist/core/p-ff35dcea.entry.js +2 -0
- package/dist/core/p-ff35dcea.entry.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/ic-data-table.entry.js +2 -1
- package/dist/esm/ic-data-table.entry.js.map +1 -1
- package/dist/esm/ic-dialog.entry.js +16 -3
- package/dist/esm/ic-dialog.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +21 -18
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +11 -3
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +2 -1
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/hydrate/index.js +53 -27
- package/package.json +3 -3
- package/dist/core/p-05f900e5.entry.js +0 -2
- package/dist/core/p-05f900e5.entry.js.map +0 -1
- package/dist/core/p-d062a801.entry.js +0 -2
- package/dist/core/p-d062a801.entry.js.map +0 -1
- package/dist/core/p-f237940d.entry.js +0 -2
- package/dist/core/p-f237940d.entry.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["icSearchBarCss","inputIds","SearchBar","constructor","hostRef","this","assistiveHintEl","hasTimedOut","inputId","menuCloseFromMenuChangeEvent","menuId","preLoad","preventSubmit","prevNoOption","retryButtonClick","truncateValue","handleClear","ev","keyboardEvent","mouseEvent","type","code","value","inputEl","loading","clearTimeout","timeoutTimer","filteredOptions","options","el","setFocus","icClear","emit","preventDefault","onInput","target","noOptions","labelField","emptyOptionListText","valueField","length","setMenuChange","disableFilter","rawFilteredOptions","getFilteredMenuOptions","showClearButton","handleShowClearButton","debounceAriaLiveUpdate","onInputBlur","nextFocus","relatedTarget","icInputBlur","onInputFocus","icInputFocus","handleClearBlur","icClearBlur","clearButtonFocused","handleSubmitSearchBlur","icSubmitSearchBlur","searchSubmitFocused","handleMouseDown","handleSubmitSearchFocus","handleSubmitSearch","highlightedValue","undefined","icSubmitSearch","form","closest","searchSubmitButton","handleHiddenFormButtonClick","handleSubmitSearchKeyDown","key","handleRetry","retryViaKeyPress","detail","keyPressed","icRetryLoad","triggerLoading","loadingOption","loadingLabel","timeout","window","setTimeout","loadingErrorLabel","timedOut","handleOptionSelect","label","icOptionSelect","handleMenuOptionHighlight","_a","optionValue","optionId","replace","ariaActiveDescendant","handleMenuChange","open","handleMenuCloseFromMenuChange","focusInput","icMenuChange","handleHostFocus","handleTruncateValue","icSearchBarFocus","handleHostBlur","menu","icSearchBarBlur","visible","handleFocusClearButton","fromEvent","truncate","renderAssistiveHintEl","_b","input","shadowRoot","querySelector","Object","keys","hasOptionsOrFilterDisabled","document","createElement","innerText","hintText","id","style","display","after","updateSearchResultAriaLive","searchResultsStatusEl","charactersUntilSuggestion","hadNoOptions","searchMode","isSubmitDisabled","valueNotSet","valueLengthLess","disabled","highlightFirstOptionAfterNoResults","handleSetFirstOption","prevNoOptionsList","find","filteredOption","autocapitalize","autocomplete","autocorrect","autofocus","debounce","focusOnLoad","fullWidth","helperText","hideLabel","name","placeholder","readonly","required","size","small","spellcheck","watchDisabledHandler","removeDisabledFalse","loadingHandler","newValue","filteredOptionsHandler","newOptions","some","opt","watchOptionsHandler","watchValueHandler","getLabelFromValue","disconnectedCallback","remove","componentWillLoad","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","anchorEl","componentWillRender","handleKeyDown","keyEv","event","handleKeyboardOpen","handleKeyUp","debounceAriaLive","render","disabledMode","describedBy","getInputDescribedByText","trim","describedById","hasSuggestedSearch","menuOpen","menuRendered","labelValue","renderHiddenInput","h","Host","class","search","fullwidth","onFocus","onBlur","ref","ariaExpanded","role","autoFocus","inputmode","slot","innerHTML","clearIcon","onClick","onMouseDown","onKeyDown","variant","appearance","IcThemeForegroundEnum","Light","Dark","searchIcon","Default","activationType","autoFocusOnSelected","inputLabel","onMenuOptionSelect","onMenuStateChange","onMenuOptionId","onRetryButtonClicked","parentEl","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-search-bar/ic-search-bar.css?tag=ic-search-bar&encapsulation=shadow","../web-components/dist/collection/components/ic-search-bar/ic-search-bar.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n/**\n * @prop --ic-z-index-menu: z-index of search bar menu\n */\n\n:host(.search) {\n --divider-height: 1.5rem;\n --ic-input-label-helpertext-padding: var(--ic-space-xxs);\n}\n\n:host(.search.small) {\n --divider-height: 1rem;\n}\n\n:host(.fullwidth) {\n width: 100%;\n}\n\n:host(.search) .disabled:hover {\n border-color: var(--ic-architectural-200);\n}\n\n:host(.search.disabled) .disabled svg {\n color: var(--ic-architectural-200);\n}\n\n:host(.search) .disabled svg {\n color: var(--ic-architectural-400);\n}\n\n/* CLEAR */\n\n.clear-button-container {\n align-items: center;\n margin-right: var(--ic-space-1px);\n display: none;\n visibility: hidden;\n}\n\n.clear-button {\n border-radius: var(--ic-border-radius);\n transition: box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);\n}\n\n.clear-button:focus,\n.clear-button:active {\n background-color: var(--ic-focus-blue);\n box-shadow: inset 0 0 0 0.125rem var(--ic-focus-glow);\n border-radius: 0.25rem;\n}\n\n.clear-button:focus,\n.clear-button:active * {\n fill: white;\n}\n\n.clear-button-visible {\n visibility: visible;\n display: flex;\n}\n\n.search-submit-button-container {\n display: flex;\n align-items: center;\n}\n\n.search-submit-button-disabled .ic-tooltip-container {\n display: none !important;\n}\n\n.search-submit-button:focus,\n.search-submit-button:active {\n background-color: var(--ic-focus-blue) !important;\n box-shadow: inset 0 0 0 0.125rem var(--ic-focus-glow) !important;\n border-radius: var(--ic-space-xxs);\n}\n\n.search-submit-button:focus,\n.search-submit-button:active * {\n fill: white;\n}\n\n.divider {\n width: var(--ic-border-width);\n background-color: var(--ic-action-dark-active);\n height: var(--divider-height);\n}\n\n:host(.dark) .divider {\n background-color: var(--ic-architectural-200);\n}\n\n.menu-container {\n width: var(--input-width, 20rem);\n position: relative;\n top: var(--ic-space-xxxs);\n}\n\n.menu-container.fullwidth {\n width: 100%;\n}\n\n.no-results {\n cursor: not-allowed;\n}\n\n.search-results-status {\n border: 0;\n clip: rect(0, 0, 0, 0, 0);\n height: var(--ic-space-1px);\n margin-bottom: calc(-1 * var(--ic-space-1px));\n margin-right: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: var(--ic-space-1px);\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { IcThemeForegroundEnum, } from \"../../utils/types\";\nimport { getInputDescribedByText, renderHiddenInput, handleHiddenFormButtonClick, getLabelFromValue, onComponentRequiredPropUndefined, getFilteredMenuOptions, removeDisabledFalse, } from \"../../utils/helpers\";\nimport clearIcon from \"../../assets/clear-icon.svg\";\nimport searchIcon from \"../../assets/search-icon.svg\";\nlet inputIds = 0;\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class SearchBar {\n constructor() {\n this.assistiveHintEl = null;\n this.hasTimedOut = false;\n this.inputId = `ic-search-bar-input-${inputIds++}`;\n this.menuCloseFromMenuChangeEvent = false;\n this.menuId = `${this.inputId}-menu`;\n this.preLoad = true;\n this.preventSubmit = false;\n this.prevNoOption = false;\n this.retryButtonClick = false;\n this.truncateValue = false;\n this.handleClear = (ev) => {\n const keyboardEvent = ev;\n const mouseEvent = ev;\n if (mouseEvent.type === \"click\" ||\n keyboardEvent.code === \"Enter\" ||\n keyboardEvent.code === \"Space\") {\n this.value = \"\";\n this.inputEl.value = \"\";\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n this.filteredOptions = this.options;\n this.el.setFocus();\n this.icClear.emit();\n ev.preventDefault();\n this.preventSubmit = true;\n }\n };\n this.onInput = (ev) => {\n this.value = ev.target.value;\n const noOptions = [\n { [this.labelField]: this.emptyOptionListText, [this.valueField]: \"\" },\n ];\n if (this.options.length > 0) {\n this.setMenuChange(true);\n this.preLoad = false;\n if (this.disableFilter === false) {\n const rawFilteredOptions = getFilteredMenuOptions(this.options, false, this.value, \"anywhere\", this.labelField);\n this.filteredOptions =\n rawFilteredOptions.length > 0 ? rawFilteredOptions : noOptions;\n }\n }\n if (!this.showClearButton) {\n this.handleShowClearButton(true);\n }\n this.debounceAriaLiveUpdate();\n };\n this.onInputBlur = (ev) => {\n const value = ev.target.value;\n const nextFocus = ev.relatedTarget;\n this.icInputBlur.emit({ value: value, relatedTarget: nextFocus });\n };\n this.onInputFocus = (ev) => {\n const value = ev.target.value;\n this.icInputFocus.emit({ value: value });\n this.handleShowClearButton(true);\n };\n this.handleClearBlur = (ev) => {\n const nextFocus = ev.relatedTarget;\n this.icClearBlur.emit({ relatedTarget: nextFocus });\n this.clearButtonFocused = false;\n };\n this.handleSubmitSearchBlur = (ev) => {\n const nextFocus = ev.relatedTarget;\n this.icSubmitSearchBlur.emit({ relatedTarget: nextFocus });\n this.searchSubmitFocused = false;\n };\n this.handleMouseDown = (ev) => {\n ev.preventDefault();\n };\n this.handleSubmitSearchFocus = () => {\n this.searchSubmitFocused = true;\n };\n this.handleSubmitSearch = () => {\n this.highlightedValue && (this.value = this.highlightedValue);\n this.highlightedValue = undefined;\n this.icSubmitSearch.emit({ value: this.value });\n const form = this.el.closest(\"FORM\");\n if (this.searchSubmitButton && !!form && !this.preventSubmit) {\n handleHiddenFormButtonClick(form, this.searchSubmitButton);\n }\n };\n this.handleSubmitSearchKeyDown = (ev) => {\n if (ev.key === \" \") {\n ev.preventDefault();\n this.handleSubmitSearch();\n }\n };\n this.handleRetry = (ev) => {\n this.retryViaKeyPress = ev.detail.keyPressed === \"Enter\";\n this.icRetryLoad.emit({ value: ev.detail.value });\n this.triggerLoading();\n this.retryButtonClick = true;\n };\n this.triggerLoading = () => {\n const loadingOption = [\n {\n [this.labelField]: this.loadingLabel,\n [this.valueField]: \"\",\n loading: true,\n },\n ];\n if (this.filteredOptions !== loadingOption)\n this.filteredOptions = loadingOption;\n if (this.timeout) {\n this.timeoutTimer = window.setTimeout(() => {\n this.filteredOptions = [\n {\n [this.labelField]: this.loadingErrorLabel,\n [this.valueField]: \"\",\n timedOut: true,\n },\n ];\n }, this.timeout);\n }\n };\n this.handleOptionSelect = (ev) => {\n if (ev.detail.label === this.emptyOptionListText) {\n this.el.setFocus();\n return;\n }\n this.value = ev.detail.value;\n this.icOptionSelect.emit({ value: this.value });\n };\n this.handleMenuOptionHighlight = (ev) => {\n var _a;\n const optionValue = (_a = ev.detail.optionId) === null || _a === void 0 ? void 0 : _a.replace(`${this.menuId}-`, \"\");\n optionValue && (this.highlightedValue = optionValue);\n if (ev.detail.optionId) {\n this.ariaActiveDescendant = ev.detail.optionId;\n }\n else {\n this.ariaActiveDescendant = undefined;\n }\n };\n this.handleMenuChange = (ev) => {\n this.setMenuChange(ev.detail.open);\n if (!ev.detail.open) {\n this.handleMenuCloseFromMenuChange(true);\n if (ev.detail.focusInput === undefined || ev.detail.focusInput) {\n this.el.setFocus();\n }\n }\n };\n this.setMenuChange = (open) => {\n if (this.open !== open) {\n this.open = open;\n this.icMenuChange.emit({ open });\n }\n };\n this.handleHostFocus = () => {\n if (this.options && this.value && !this.menuCloseFromMenuChangeEvent) {\n this.setMenuChange(true);\n }\n this.handleTruncateValue(false);\n this.icSearchBarFocus.emit();\n };\n this.handleHostBlur = (ev) => {\n const nextFocus = ev.relatedTarget;\n if (this.open &&\n this.options &&\n nextFocus !== this.menu &&\n !this.retryViaKeyPress &&\n !this.retryButtonClick) {\n this.setMenuChange(false);\n }\n if (this.retryButtonClick || this.retryViaKeyPress) {\n this.inputEl.setFocus();\n }\n this.handleShowClearButton(false);\n this.handleMenuCloseFromMenuChange(false);\n this.handleTruncateValue(true);\n this.icSearchBarBlur.emit({ relatedTarget: nextFocus, value: this.value });\n this.retryViaKeyPress = false;\n this.retryButtonClick = false;\n };\n this.handleShowClearButton = (visible) => {\n this.showClearButton = visible;\n };\n this.handleFocusClearButton = () => {\n this.clearButtonFocused = true;\n };\n this.handleMenuCloseFromMenuChange = (fromEvent) => {\n this.menuCloseFromMenuChangeEvent = fromEvent;\n };\n this.handleTruncateValue = (truncate) => {\n this.truncateValue = truncate;\n };\n this.renderAssistiveHintEl = () => {\n var _a, _b;\n const input = (_b = (_a = this.el.shadowRoot\n .querySelector(\"ic-text-field\")) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector(`#${this.inputId}`);\n if (input &&\n Object.keys(input).length > 0 &&\n this.hasOptionsOrFilterDisabled()) {\n this.assistiveHintEl = document.createElement(\"span\");\n this.assistiveHintEl.innerText = this.hintText;\n this.assistiveHintEl.id = `${this.inputId}-assistive-hint`;\n this.assistiveHintEl.style.display = \"none\";\n if (input.after !== undefined) {\n input.after(this.assistiveHintEl);\n }\n }\n };\n this.updateSearchResultAriaLive = () => {\n const searchResultsStatusEl = this.el.shadowRoot.querySelector(\".search-results-status\");\n if (searchResultsStatusEl) {\n if (!this.open ||\n this.value === \"\" ||\n this.value.length < this.charactersUntilSuggestion) {\n searchResultsStatusEl.innerText = \"\";\n }\n else if (this.hasOptionsOrFilterDisabled() &&\n this.filteredOptions.length > 0 &&\n this.open &&\n !this.filteredOptions[0].loading) {\n if (this.hadNoOptions()) {\n searchResultsStatusEl.innerText = this.emptyOptionListText;\n }\n else {\n searchResultsStatusEl.innerText = `${this.filteredOptions.length} result${this.filteredOptions.length > 1 ? \"s\" : \"\"} available`;\n }\n }\n }\n };\n this.hasOptionsOrFilterDisabled = () => this.options.length > 0 || this.disableFilter;\n this.hadNoOptions = () => this.filteredOptions.length === 1 &&\n this.filteredOptions[0][this.labelField] === this.emptyOptionListText &&\n this.searchMode === \"navigation\";\n this.isSubmitDisabled = () => {\n const valueNotSet = this.value === undefined || this.value === null || this.value === \"\";\n const valueLengthLess = this.value.length < this.charactersUntilSuggestion;\n return (valueNotSet ||\n valueLengthLess ||\n this.disabled ||\n this.hadNoOptions() ||\n this.hasTimedOut ||\n this.loading);\n };\n this.highlightFirstOptionAfterNoResults = () => {\n if (this.prevNoOption && this.menu && !this.hasTimedOut) {\n this.menu.handleSetFirstOption();\n this.prevNoOption = false;\n }\n const prevNoOptionsList = this.filteredOptions.find((filteredOption) => filteredOption[this.labelField] === this.emptyOptionListText ||\n filteredOption[this.labelField] === this.loadingErrorLabel ||\n filteredOption[this.labelField] === this.loadingLabel);\n if (prevNoOptionsList) {\n this.prevNoOption = true;\n }\n };\n this.ariaActiveDescendant = undefined;\n this.clearButtonFocused = false;\n this.highlightedValue = undefined;\n this.open = false;\n this.searchSubmitFocused = false;\n this.showClearButton = false;\n this.autocapitalize = \"off\";\n this.autocomplete = \"off\";\n this.autocorrect = \"off\";\n this.autofocus = false;\n this.charactersUntilSuggestion = 2;\n this.disabled = false;\n this.disableFilter = false;\n this.debounce = 0;\n this.emptyOptionListText = \"No results found\";\n this.focusOnLoad = false;\n this.fullWidth = false;\n this.helperText = \"\";\n this.hideLabel = false;\n this.hintText = \"When autocomplete results are available use the up and down arrows to choose and press enter to select\";\n this.label = undefined;\n this.labelField = \"label\";\n this.loading = false;\n this.loadingErrorLabel = \"Loading Error\";\n this.loadingLabel = \"Loading...\";\n this.name = this.inputId;\n this.placeholder = \"Search\";\n this.readonly = false;\n this.required = false;\n this.searchMode = \"navigation\";\n this.size = \"default\";\n this.small = false;\n this.spellcheck = false;\n this.timeout = undefined;\n this.valueField = \"value\";\n this.filteredOptions = [];\n this.options = [];\n this.value = \"\";\n }\n watchDisabledHandler() {\n removeDisabledFalse(this.disabled, this.el);\n }\n loadingHandler(newValue) {\n if (newValue && !this.hasTimedOut) {\n this.preLoad = false;\n this.triggerLoading();\n }\n }\n filteredOptionsHandler(newOptions) {\n this.hasTimedOut = newOptions.some((opt) => opt.timedOut);\n }\n watchOptionsHandler(newOptions) {\n if (this.disableFilter && !this.hasTimedOut) {\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n if (newOptions.length > 0) {\n this.filteredOptions = newOptions;\n }\n else {\n if (this.hadNoOptions()) {\n return;\n }\n this.setMenuChange(true);\n !this.preLoad &&\n (this.filteredOptions = [\n {\n [this.labelField]: this.emptyOptionListText,\n [this.valueField]: \"\",\n },\n ]);\n this.preLoad = true;\n }\n }\n this.debounceAriaLiveUpdate();\n }\n watchValueHandler(newValue) {\n if (this.inputEl &&\n this.options &&\n !!getLabelFromValue(newValue, this.options, this.valueField, this.labelField)) {\n this.inputEl.value = getLabelFromValue(newValue, this.options, this.valueField, this.labelField);\n }\n else if (this.inputEl && this.inputEl.value !== newValue) {\n this.inputEl.value = newValue;\n }\n }\n disconnectedCallback() {\n if (this.assistiveHintEl) {\n this.assistiveHintEl.remove();\n }\n }\n componentWillLoad() {\n this.watchValueHandler(this.value);\n removeDisabledFalse(this.disabled, this.el);\n if (this.small) {\n this.size = \"small\";\n }\n }\n componentDidLoad() {\n if (this.focusOnLoad) {\n this.el.setFocus();\n }\n if (this.hasOptionsOrFilterDisabled()) {\n this.renderAssistiveHintEl();\n if (this.disableFilter) {\n this.filteredOptions = this.options;\n }\n }\n onComponentRequiredPropUndefined([{ prop: this.label, propName: \"label\" }], \"Search Bar\");\n if (this.inputEl !== undefined) {\n this.anchorEl = this.inputEl.shadowRoot.querySelector(\"ic-input-component-container\");\n }\n }\n componentWillRender() {\n this.highlightFirstOptionAfterNoResults();\n }\n handleKeyDown(ev) {\n const keyEv = ev.detail.event;\n if (this.menu && this.open) {\n this.menu.handleKeyboardOpen(keyEv);\n }\n }\n handleKeyUp(ev) {\n if (ev.key === \"Enter\") {\n if (this.preventSubmit || this.isSubmitDisabled()) {\n return;\n }\n this.handleSubmitSearch();\n this.setMenuChange(false);\n }\n if (ev.key === \"Escape\") {\n this.setMenuChange(false);\n }\n if (this.preventSubmit) {\n this.preventSubmit = false;\n }\n }\n /**\n * Sets focus on the native `input`.\n */\n async setFocus() {\n this.retryViaKeyPress = false;\n this.retryButtonClick = false;\n if (this.inputEl) {\n this.inputEl.setFocus();\n }\n }\n debounceAriaLiveUpdate() {\n clearTimeout(this.debounceAriaLive);\n this.debounceAriaLive = window.setTimeout(() => {\n this.updateSearchResultAriaLive();\n }, 500);\n }\n render() {\n const { inputId, name, label, required, small, size, placeholder, helperText, disabled, value, readonly, spellcheck, fullWidth, options, open, hideLabel, menuId, ariaActiveDescendant, truncateValue, autofocus, autocapitalize, autocomplete, filteredOptions, } = this;\n const disabledMode = readonly || disabled;\n const describedBy = getInputDescribedByText(inputId, helperText !== \"\", false).trim();\n let describedById;\n if (describedBy !== \"\" && this.hasOptionsOrFilterDisabled()) {\n describedById = `${describedBy} ${this.inputId}-assistive-hint`;\n }\n else if (this.hasOptionsOrFilterDisabled()) {\n describedById = `${this.inputId}-assistive-hint`;\n }\n else if (describedBy !== \"\") {\n describedById = describedBy;\n }\n else {\n describedById = undefined;\n }\n const hasSuggestedSearch = !!value && this.hasOptionsOrFilterDisabled();\n const menuOpen = hasSuggestedSearch && open && filteredOptions.length > 0;\n const menuRendered = menuOpen && value.length >= this.charactersUntilSuggestion;\n const labelValue = getLabelFromValue(value, options, this.valueField, this.labelField);\n renderHiddenInput(true, this.el, name, value, disabledMode);\n return (h(Host, { class: {\n search: true,\n fullwidth: fullWidth,\n disabled,\n small: size === \"small\",\n }, onFocus: this.handleHostFocus, onBlur: this.handleHostBlur }, h(\"ic-text-field\", { ref: (el) => (this.inputEl = el), inputId: inputId, label: label, helperText: helperText, required: required, disabled: disabledMode && !readonly, readonly: readonly, size: size, hideLabel: hideLabel, fullWidth: fullWidth, name: name, truncateValue: truncateValue, value: options && !!labelValue ? labelValue : value, placeholder: placeholder, onInput: this.onInput, onBlur: this.onInputBlur, onFocus: this.onInputFocus, \"aria-label\": hideLabel ? label : \"\", \"aria-describedby\": describedById, \"aria-owns\": menuRendered ? menuId : undefined, \"aria-controls\": menuRendered ? menuId : undefined, \"aria-haspopup\": options.length > 0 ? \"listbox\" : undefined, ariaExpanded: options.length > 0 ? `${menuOpen}` : undefined, ariaActiveDescendant: ariaActiveDescendant, \"aria-autocomplete\": hasSuggestedSearch ? \"list\" : undefined, role: options.length > 0 ? \"combobox\" : undefined, autocomplete: autocomplete, autocapitalize: autocapitalize, autoFocus: autofocus, spellcheck: spellcheck, inputmode: \"search\", debounce: this.debounce }, h(\"div\", { class: {\n \"clear-button-container\": true,\n \"clear-button-visible\": value && !disabledMode && this.showClearButton,\n }, slot: \"clear-button\" }, h(\"ic-button\", { id: \"clear-button\", class: \"clear-button\", \"aria-label\": \"Clear\", innerHTML: clearIcon, onClick: this.handleClear, onMouseDown: this.handleMouseDown, size: size, onFocus: this.handleFocusClearButton, onBlur: this.handleClearBlur, onKeyDown: this.handleClear, type: \"submit\", variant: \"icon\", appearance: this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark }), h(\"div\", { class: \"divider\" })), h(\"div\", { class: {\n \"search-submit-button-container\": true,\n \"search-submit-button-disabled\": this.isSubmitDisabled(),\n }, slot: \"search-submit-button\" }, h(\"ic-button\", { id: \"search-submit-button\", \"aria-label\": \"Search\", ref: (el) => (this.searchSubmitButton = el), class: {\n [\"search-submit-button\"]: true,\n [\"search-submit-button-small\"]: !!small,\n }, disabled: this.isSubmitDisabled(), innerHTML: searchIcon, size: size, onClick: this.handleSubmitSearch, onMouseDown: this.handleMouseDown, onBlur: this.handleSubmitSearchBlur, onFocus: this.handleSubmitSearchFocus, onKeyDown: this.handleSubmitSearchKeyDown, type: \"submit\", variant: \"icon\", appearance: this.searchSubmitFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Default })), h(\"div\", { class: {\n \"menu-container\": true,\n fullwidth: fullWidth,\n }, slot: \"menu\" }, menuRendered && (h(\"ic-menu\", { class: {\n \"no-results\": this.hadNoOptions() ||\n (filteredOptions.length === 1 &&\n (filteredOptions[0][this.labelField] ===\n this.loadingLabel ||\n filteredOptions[0][this.labelField] ===\n this.loadingErrorLabel)),\n }, activationType: \"manual\", anchorEl: this.anchorEl, autoFocusOnSelected: false, searchMode: this.searchMode, inputEl: this.inputEl, inputLabel: label, ref: (el) => (this.menu = el), small: size === \"small\", fullWidth: fullWidth, menuId: menuId, open: !!menuRendered, options: filteredOptions, onMenuOptionSelect: this.handleOptionSelect, onMenuStateChange: this.handleMenuChange, onMenuOptionId: this.handleMenuOptionHighlight, onRetryButtonClicked: this.handleRetry, parentEl: this.el, value: value, labelField: this.labelField, valueField: this.valueField })))), h(\"div\", { \"aria-live\": \"polite\", role: \"status\", class: \"search-results-status\" })));\n }\n static get is() { return \"ic-search-bar\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-search-bar.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-search-bar.css\"]\n };\n }\n static get properties() {\n return {\n \"autocapitalize\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The automatic capitalisation of the text value as it is entered/edited by the user.\\nAvailable options: \\\"off\\\", \\\"none\\\", \\\"on\\\", \\\"sentences\\\", \\\"words\\\", \\\"characters\\\".\"\n },\n \"attribute\": \"autocapitalize\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"off\\\"\"\n },\n \"autocomplete\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcAutocompleteTypes\",\n \"resolved\": \"\\\"name\\\" | \\\"on\\\" | \\\"off\\\" | \\\"honorific-prefix\\\" | \\\"given-name\\\" | \\\"additional-name\\\" | \\\"family-name\\\" | \\\"honorific-suffix\\\" | \\\"nickname\\\" | \\\"email\\\" | \\\"username\\\" | \\\"new-password\\\" | \\\"current-password\\\" | \\\"one-time-code\\\" | \\\"organization-title\\\" | \\\"organization\\\" | \\\"street-address\\\" | \\\"address-line1\\\" | \\\"address-line2\\\" | \\\"address-line3\\\" | \\\"address-level4\\\" | \\\"address-level3\\\" | \\\"address-level2\\\" | \\\"address-level1\\\" | \\\"country\\\" | \\\"country-name\\\" | \\\"postal-code\\\" | \\\"cc-name\\\" | \\\"cc-given-name\\\" | \\\"cc-additional-name\\\" | \\\"cc-family-name\\\" | \\\"cc-number\\\" | \\\"cc-exp\\\" | \\\"cc-exp-month\\\" | \\\"cc-exp-year\\\" | \\\"cc-csc\\\" | \\\"cc-type\\\" | \\\"transaction-currency\\\" | \\\"transaction-amount\\\" | \\\"language\\\" | \\\"bday\\\" | \\\"bday-day\\\" | \\\"bday-month\\\" | \\\"bday-year\\\" | \\\"sex\\\" | \\\"tel\\\" | \\\"tel-country-code\\\" | \\\"tel-national\\\" | \\\"tel-area-code\\\" | \\\"tel-local\\\" | \\\"tel-extension\\\" | \\\"impp\\\" | \\\"url\\\" | \\\"photo\\\"\",\n \"references\": {\n \"IcAutocompleteTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcAutocompleteTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The state of autocompletion the browser can apply on the text value.\"\n },\n \"attribute\": \"autocomplete\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"off\\\"\"\n },\n \"autocorrect\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcAutocorrectStates\",\n \"resolved\": \"\\\"off\\\" | \\\"on\\\"\",\n \"references\": {\n \"IcAutocorrectStates\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcAutocorrectStates\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The state of autocorrection the browser can apply when the user is entering/editing the text value.\"\n },\n \"attribute\": \"autocorrect\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"off\\\"\"\n },\n \"autofocus\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the form control will have input focus when the page loads.\"\n },\n \"attribute\": \"autofocus\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"charactersUntilSuggestion\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The number of characters until suggestions appear. The submit button will be disabled until the inputted value is equal to or greater than this number.\"\n },\n \"attribute\": \"characters-until-suggestion\",\n \"reflect\": false,\n \"defaultValue\": \"2\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the disabled state will be set.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"disableFilter\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specify whether to disable the built in filtering. For example, if options will already be filtered from external source.\\nIf `true`, all options provided will be displayed.\"\n },\n \"attribute\": \"disable-filter\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"debounce\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\"\n },\n \"attribute\": \"debounce\",\n \"reflect\": false,\n \"defaultValue\": \"0\"\n },\n \"emptyOptionListText\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The text displayed when there are no options in the option list.\"\n },\n \"attribute\": \"empty-option-list-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"No results found\\\"\"\n },\n \"focusOnLoad\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the search bar will be focused when component loaded.\"\n },\n \"attribute\": \"focus-on-load\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"fullWidth\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specify whether the search bar fills the full width of the container.\\nIf `true`, this overrides the --input-width CSS variable.\"\n },\n \"attribute\": \"full-width\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"helperText\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The helper text that will be displayed for additional field guidance.\"\n },\n \"attribute\": \"helper-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"hideLabel\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the label will be hidden and the required label value will be applied as an aria-label.\"\n },\n \"attribute\": \"hide-label\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"hintText\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The hint text for the hidden assistive description element.\"\n },\n \"attribute\": \"hint-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"When autocomplete results are available use the up and down arrows to choose and press enter to select\\\"\"\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label for the search bar.\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"labelField\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The custom name for the label field to correspond with the IcMenuOption type.\"\n },\n \"attribute\": \"label-field\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"label\\\"\"\n },\n \"loading\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Trigger loading state when fetching options asynchronously\"\n },\n \"attribute\": \"loading\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"loadingErrorLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Change the message displayed when external loading times out.\"\n },\n \"attribute\": \"loading-error-label\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Loading Error\\\"\"\n },\n \"loadingLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Change the message displayed whilst the options are being loaded externally.\"\n },\n \"attribute\": \"loading-label\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Loading...\\\"\"\n },\n \"name\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The name of the control, which is submitted with the form data.\"\n },\n \"attribute\": \"name\",\n \"reflect\": false,\n \"defaultValue\": \"this.inputId\"\n },\n \"placeholder\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The placeholder value to display.\"\n },\n \"attribute\": \"placeholder\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Search\\\"\"\n },\n \"readonly\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the readonly state will be set.\"\n },\n \"attribute\": \"readonly\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"required\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the search bar will require a value.\"\n },\n \"attribute\": \"required\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"searchMode\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSearchBarSearchModes\",\n \"resolved\": \"\\\"navigation\\\" | \\\"query\\\"\",\n \"references\": {\n \"IcSearchBarSearchModes\": {\n \"location\": \"import\",\n \"path\": \"./ic-search-bar.types\",\n \"id\": \"src/components/ic-search-bar/ic-search-bar.types.ts::IcSearchBarSearchModes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specify the mode search bar uses to search. `navigation` allows for quick lookups of a set of values, `query` allows for more general searches.\"\n },\n \"attribute\": \"search-mode\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"navigation\\\"\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizesNoLarge\",\n \"resolved\": \"\\\"default\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizesNoLarge\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizesNoLarge\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the search bar component.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"small\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"deprecated\",\n \"text\": \"This prop should not be used anymore. Set prop `size` to \\\"small\\\" instead.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"small\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"spellcheck\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the value of the search will have its spelling and grammar checked.\"\n },\n \"attribute\": \"spellcheck\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"timeout\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If using external filtering, set a timeout for when loading takes too long.\"\n },\n \"attribute\": \"timeout\",\n \"reflect\": false\n },\n \"valueField\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The custom name for the value field to correspond with the IcMenuOption type.\"\n },\n \"attribute\": \"value-field\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"value\\\"\"\n },\n \"options\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcMenuOption[]\",\n \"resolved\": \"IcMenuOption[]\",\n \"references\": {\n \"IcMenuOption\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcMenuOption\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The suggested search options.\"\n },\n \"defaultValue\": \"[]\"\n },\n \"value\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The value of the search input.\"\n },\n \"attribute\": \"value\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"ariaActiveDescendant\": {},\n \"clearButtonFocused\": {},\n \"highlightedValue\": {},\n \"open\": {},\n \"searchSubmitFocused\": {},\n \"showClearButton\": {},\n \"filteredOptions\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icChange\",\n \"name\": \"icChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the value has changed.\"\n },\n \"complexType\": {\n \"original\": \"IcValueEventDetail\",\n \"resolved\": \"IcValueEventDetail\",\n \"references\": {\n \"IcValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icClear\",\n \"name\": \"icClear\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when value is cleared with clear button\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"icInput\",\n \"name\": \"icInput\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a keyboard input occurred.\"\n },\n \"complexType\": {\n \"original\": \"IcValueEventDetail\",\n \"resolved\": \"IcValueEventDetail\",\n \"references\": {\n \"IcValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icInputBlur\",\n \"name\": \"icInputBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"deprecated\",\n \"text\": \"This event should not be used anymore. Use icSearchBarBlur instead.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcSearchBarBlurEventDetail\",\n \"resolved\": \"IcSearchBarBlurEventDetail\",\n \"references\": {\n \"IcSearchBarBlurEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-search-bar.types\",\n \"id\": \"src/components/ic-search-bar/ic-search-bar.types.ts::IcSearchBarBlurEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icInputFocus\",\n \"name\": \"icInputFocus\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"deprecated\",\n \"text\": \"This event should not be used anymore. Use icSearchBarFocus instead.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcValueEventDetail\",\n \"resolved\": \"IcValueEventDetail\",\n \"references\": {\n \"IcValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icOptionSelect\",\n \"name\": \"icOptionSelect\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when option is highlighted within the menu\"\n },\n \"complexType\": {\n \"original\": \"IcOptionSelectEventDetail\",\n \"resolved\": \"IcOptionSelectEventDetail\",\n \"references\": {\n \"IcOptionSelectEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../ic-menu/ic-menu.types\",\n \"id\": \"src/components/ic-menu/ic-menu.types.ts::IcOptionSelectEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icMenuChange\",\n \"name\": \"icMenuChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the state of the menu changes (i.e. open or close)\"\n },\n \"complexType\": {\n \"original\": \"IcMenuChangeEventDetail\",\n \"resolved\": \"IcMenuChangeEventDetail\",\n \"references\": {\n \"IcMenuChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../ic-menu/ic-menu.types\",\n \"id\": \"src/components/ic-menu/ic-menu.types.ts::IcMenuChangeEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icClearBlur\",\n \"name\": \"icClearBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- Emitted when blur is invoked from clear button\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcBlurEventDetail\",\n \"resolved\": \"IcBlurEventDetail\",\n \"references\": {\n \"IcBlurEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcBlurEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icRetryLoad\",\n \"name\": \"icRetryLoad\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the 'retry loading' button is clicked\"\n },\n \"complexType\": {\n \"original\": \"IcValueEventDetail\",\n \"resolved\": \"IcValueEventDetail\",\n \"references\": {\n \"IcValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icSubmitSearch\",\n \"name\": \"icSubmitSearch\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the search value has been submitted\"\n },\n \"complexType\": {\n \"original\": \"IcValueEventDetail\",\n \"resolved\": \"IcValueEventDetail\",\n \"references\": {\n \"IcValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icSubmitSearchBlur\",\n \"name\": \"icSubmitSearchBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- Emitted when blur is invoked from search submit button\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcBlurEventDetail\",\n \"resolved\": \"IcBlurEventDetail\",\n \"references\": {\n \"IcBlurEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcBlurEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icSearchBarBlur\",\n \"name\": \"icSearchBarBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when blur is invoked from ic-search-bar\"\n },\n \"complexType\": {\n \"original\": \"IcSearchBarBlurEventDetail\",\n \"resolved\": \"IcSearchBarBlurEventDetail\",\n \"references\": {\n \"IcSearchBarBlurEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-search-bar.types\",\n \"id\": \"src/components/ic-search-bar/ic-search-bar.types.ts::IcSearchBarBlurEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icSearchBarFocus\",\n \"name\": \"icSearchBarFocus\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when focus is invoked from ic-search-bar\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get methods() {\n return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on the native `input`.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"disabled\",\n \"methodName\": \"watchDisabledHandler\"\n }, {\n \"propName\": \"loading\",\n \"methodName\": \"loadingHandler\"\n }, {\n \"propName\": \"filteredOptions\",\n \"methodName\": \"filteredOptionsHandler\"\n }, {\n \"propName\": \"options\",\n \"methodName\": \"watchOptionsHandler\"\n }, {\n \"propName\": \"value\",\n \"methodName\": \"watchValueHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"icKeydown\",\n \"method\": \"handleKeyDown\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"keyup\",\n \"method\": \"handleKeyUp\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-search-bar.js.map\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["icSearchBarCss","inputIds","SearchBar","constructor","hostRef","this","assistiveHintEl","hasTimedOut","inputId","menuCloseFromMenuChangeEvent","menuId","preLoad","preventSubmit","prevNoOption","retryButtonClick","truncateValue","handleClear","ev","keyboardEvent","mouseEvent","type","code","value","inputEl","loading","clearTimeout","timeoutTimer","filteredOptions","options","el","setFocus","icClear","emit","preventDefault","onInput","target","noOptions","labelField","emptyOptionListText","valueField","length","setMenuChange","disableFilter","rawFilteredOptions","getFilteredMenuOptions","showClearButton","handleShowClearButton","debounceAriaLiveUpdate","onInputBlur","nextFocus","relatedTarget","icInputBlur","onInputFocus","icInputFocus","handleClearBlur","icClearBlur","clearButtonFocused","handleSubmitSearchBlur","icSubmitSearchBlur","searchSubmitFocused","handleMouseDown","handleSubmitSearchFocus","handleSubmitSearch","highlightedValue","undefined","icSubmitSearch","form","closest","searchSubmitButton","handleHiddenFormButtonClick","handleSubmitSearchKeyDown","key","handleRetry","retryViaKeyPress","detail","keyPressed","icRetryLoad","triggerLoading","loadingOption","loadingLabel","timeout","window","setTimeout","loadingErrorLabel","timedOut","handleOptionSelect","label","icOptionSelect","handleMenuOptionHighlight","_a","optionValue","optionId","replace","ariaActiveDescendant","handleMenuChange","open","handleMenuCloseFromMenuChange","focusInput","icMenuChange","handleHostFocus","handleTruncateValue","icSearchBarFocus","handleHostBlur","menu","icSearchBarBlur","visible","handleFocusClearButton","fromEvent","truncate","renderAssistiveHintEl","_b","input","shadowRoot","querySelector","Object","keys","hasOptionsOrFilterDisabled","document","createElement","innerText","hintText","id","style","display","after","updateSearchResultAriaLive","searchResultsStatusEl","charactersUntilSuggestion","hadNoOptions","searchMode","isSubmitDisabled","valueNotSet","valueLengthLess","disabled","highlightFirstOptionAfterNoResults","handleSetFirstOption","prevNoOptionsList","find","filteredOption","autocapitalize","autocomplete","autocorrect","autofocus","debounce","focusOnLoad","fullWidth","helperText","hideLabel","name","placeholder","readonly","required","size","small","spellcheck","watchDisabledHandler","removeDisabledFalse","loadingHandler","newValue","filteredOptionsHandler","newOptions","some","opt","watchOptionsHandler","watchValueHandler","getLabelFromValue","disconnectedCallback","remove","componentWillLoad","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","anchorEl","componentWillRender","handleKeyDown","keyEv","event","handleKeyboardOpen","handleKeyUp","debounceAriaLive","render","disabledMode","describedBy","getInputDescribedByText","trim","describedById","hasSuggestedSearch","menuOpen","menuRendered","labelValue","renderHiddenInput","h","Host","class","search","fullwidth","onFocus","onBlur","ref","ariaExpanded","role","autoFocus","inputmode","slot","innerHTML","clearIcon","onClick","onMouseDown","onKeyDown","variant","appearance","IcThemeForegroundEnum","Light","Dark","searchIcon","Default","activationType","autoFocusOnSelected","inputLabel","onMenuOptionSelect","onMenuStateChange","onMenuOptionId","onRetryButtonClicked","parentEl","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-search-bar/ic-search-bar.css?tag=ic-search-bar&encapsulation=shadow","../web-components/dist/collection/components/ic-search-bar/ic-search-bar.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n/**\n * @prop --ic-z-index-menu: z-index of search bar menu\n */\n\n:host(.search) {\n --divider-height: 1.5rem;\n --ic-input-label-helpertext-padding: var(--ic-space-xxs);\n}\n\n:host(.search.small) {\n --divider-height: 1rem;\n}\n\n:host(.fullwidth) {\n width: 100%;\n}\n\n:host(.search) .disabled:hover {\n border-color: var(--ic-architectural-200);\n}\n\n:host(.search.disabled) .disabled svg {\n color: var(--ic-architectural-200);\n}\n\n:host(.search) .disabled svg {\n color: var(--ic-architectural-400);\n}\n\n/* CLEAR */\n\n.clear-button-container {\n align-items: center;\n margin-right: var(--ic-space-1px);\n display: none;\n visibility: hidden;\n}\n\n.clear-button {\n border-radius: var(--ic-border-radius);\n transition: box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);\n}\n\n.clear-button:focus,\n.clear-button:active {\n background-color: var(--ic-focus-blue);\n box-shadow: inset 0 0 0 0.125rem var(--ic-focus-glow);\n border-radius: 0.25rem;\n}\n\n.clear-button:focus,\n.clear-button:active * {\n fill: white;\n}\n\n.clear-button-visible {\n visibility: visible;\n display: flex;\n}\n\n.search-submit-button-container {\n display: flex;\n align-items: center;\n}\n\n.search-submit-button-disabled .ic-tooltip-container {\n display: none !important;\n}\n\n.search-submit-button:focus,\n.search-submit-button:active {\n background-color: var(--ic-focus-blue) !important;\n box-shadow: inset 0 0 0 0.125rem var(--ic-focus-glow) !important;\n border-radius: var(--ic-space-xxs);\n}\n\n.search-submit-button:focus,\n.search-submit-button:active * {\n fill: white;\n}\n\n.divider {\n width: var(--ic-border-width);\n background-color: var(--ic-action-dark-active);\n height: var(--divider-height);\n}\n\n:host(.dark) .divider {\n background-color: var(--ic-architectural-200);\n}\n\n.menu-container {\n width: var(--input-width, 20rem);\n position: relative;\n top: var(--ic-space-xxxs);\n}\n\n.menu-container.fullwidth {\n width: 100%;\n}\n\n.no-results {\n cursor: not-allowed;\n}\n\n.search-results-status {\n border: 0;\n clip: rect(0, 0, 0, 0, 0);\n height: var(--ic-space-1px);\n margin-bottom: calc(-1 * var(--ic-space-1px));\n margin-right: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: var(--ic-space-1px);\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { IcThemeForegroundEnum, } from \"../../utils/types\";\nimport { getInputDescribedByText, renderHiddenInput, handleHiddenFormButtonClick, getLabelFromValue, onComponentRequiredPropUndefined, getFilteredMenuOptions, removeDisabledFalse, } from \"../../utils/helpers\";\nimport clearIcon from \"../../assets/clear-icon.svg\";\nimport searchIcon from \"../../assets/search-icon.svg\";\nlet inputIds = 0;\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class SearchBar {\n constructor() {\n this.assistiveHintEl = null;\n this.hasTimedOut = false;\n this.inputId = `ic-search-bar-input-${inputIds++}`;\n this.menuCloseFromMenuChangeEvent = false;\n this.menuId = `${this.inputId}-menu`;\n this.preLoad = true;\n this.preventSubmit = false;\n this.prevNoOption = false;\n this.retryButtonClick = false;\n this.truncateValue = false;\n this.handleClear = (ev) => {\n const keyboardEvent = ev;\n const mouseEvent = ev;\n if (mouseEvent.type === \"click\" ||\n keyboardEvent.code === \"Enter\" ||\n keyboardEvent.code === \"Space\") {\n this.value = \"\";\n this.inputEl.value = \"\";\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n this.filteredOptions = this.options;\n this.el.setFocus();\n this.icClear.emit();\n ev.preventDefault();\n this.preventSubmit = true;\n }\n };\n this.onInput = (ev) => {\n this.value = ev.target.value;\n const noOptions = [\n { [this.labelField]: this.emptyOptionListText, [this.valueField]: \"\" },\n ];\n if (this.options.length > 0) {\n this.setMenuChange(true);\n this.preLoad = false;\n if (this.disableFilter === false) {\n const rawFilteredOptions = getFilteredMenuOptions(this.options, false, this.value, \"anywhere\", this.labelField);\n this.filteredOptions =\n rawFilteredOptions.length > 0 ? rawFilteredOptions : noOptions;\n }\n }\n if (!this.showClearButton) {\n this.handleShowClearButton(true);\n }\n this.debounceAriaLiveUpdate();\n };\n this.onInputBlur = (ev) => {\n const value = ev.target.value;\n const nextFocus = ev.relatedTarget;\n this.icInputBlur.emit({ value: value, relatedTarget: nextFocus });\n };\n this.onInputFocus = (ev) => {\n const value = ev.target.value;\n this.icInputFocus.emit({ value: value });\n this.handleShowClearButton(true);\n };\n this.handleClearBlur = (ev) => {\n const nextFocus = ev.relatedTarget;\n this.icClearBlur.emit({ relatedTarget: nextFocus });\n this.clearButtonFocused = false;\n };\n this.handleSubmitSearchBlur = (ev) => {\n const nextFocus = ev.relatedTarget;\n this.icSubmitSearchBlur.emit({ relatedTarget: nextFocus });\n this.searchSubmitFocused = false;\n };\n this.handleMouseDown = (ev) => {\n ev.preventDefault();\n };\n this.handleSubmitSearchFocus = () => {\n this.searchSubmitFocused = true;\n };\n this.handleSubmitSearch = () => {\n this.highlightedValue && (this.value = this.highlightedValue);\n this.highlightedValue = undefined;\n this.icSubmitSearch.emit({ value: this.value });\n const form = this.el.closest(\"FORM\");\n if (this.searchSubmitButton && !!form && !this.preventSubmit) {\n handleHiddenFormButtonClick(form, this.searchSubmitButton);\n }\n };\n this.handleSubmitSearchKeyDown = (ev) => {\n if (ev.key === \" \") {\n ev.preventDefault();\n this.handleSubmitSearch();\n }\n };\n this.handleRetry = (ev) => {\n this.retryViaKeyPress = ev.detail.keyPressed === \"Enter\";\n this.icRetryLoad.emit({ value: ev.detail.value });\n this.triggerLoading();\n this.retryButtonClick = true;\n };\n this.triggerLoading = () => {\n const loadingOption = [\n {\n [this.labelField]: this.loadingLabel,\n [this.valueField]: \"\",\n loading: true,\n },\n ];\n if (this.filteredOptions !== loadingOption)\n this.filteredOptions = loadingOption;\n if (this.timeout) {\n this.timeoutTimer = window.setTimeout(() => {\n this.filteredOptions = [\n {\n [this.labelField]: this.loadingErrorLabel,\n [this.valueField]: \"\",\n timedOut: true,\n },\n ];\n }, this.timeout);\n }\n };\n this.handleOptionSelect = (ev) => {\n if (ev.detail.label === this.emptyOptionListText) {\n this.el.setFocus();\n return;\n }\n this.value = ev.detail.value;\n this.icOptionSelect.emit({ value: this.value });\n };\n this.handleMenuOptionHighlight = (ev) => {\n var _a;\n const optionValue = (_a = ev.detail.optionId) === null || _a === void 0 ? void 0 : _a.replace(`${this.menuId}-`, \"\");\n optionValue && (this.highlightedValue = optionValue);\n if (ev.detail.optionId) {\n this.ariaActiveDescendant = ev.detail.optionId;\n }\n else {\n this.ariaActiveDescendant = undefined;\n }\n };\n this.handleMenuChange = (ev) => {\n this.setMenuChange(ev.detail.open);\n if (!ev.detail.open) {\n this.handleMenuCloseFromMenuChange(true);\n if (ev.detail.focusInput === undefined || ev.detail.focusInput) {\n this.el.setFocus();\n }\n }\n };\n this.setMenuChange = (open) => {\n if (this.open !== open) {\n this.open = open;\n this.icMenuChange.emit({ open });\n }\n };\n this.handleHostFocus = () => {\n if (this.options && this.value && !this.menuCloseFromMenuChangeEvent) {\n this.setMenuChange(true);\n }\n this.handleTruncateValue(false);\n this.icSearchBarFocus.emit();\n };\n this.handleHostBlur = (ev) => {\n const nextFocus = ev.relatedTarget;\n if (this.open &&\n this.options &&\n nextFocus !== this.menu &&\n !this.retryViaKeyPress &&\n !this.retryButtonClick) {\n this.setMenuChange(false);\n }\n if (this.retryButtonClick || this.retryViaKeyPress) {\n this.inputEl.setFocus();\n }\n this.handleShowClearButton(false);\n this.handleMenuCloseFromMenuChange(false);\n this.handleTruncateValue(true);\n this.icSearchBarBlur.emit({ relatedTarget: nextFocus, value: this.value });\n this.retryViaKeyPress = false;\n this.retryButtonClick = false;\n };\n this.handleShowClearButton = (visible) => {\n this.showClearButton = visible;\n };\n this.handleFocusClearButton = () => {\n this.clearButtonFocused = true;\n };\n this.handleMenuCloseFromMenuChange = (fromEvent) => {\n this.menuCloseFromMenuChangeEvent = fromEvent;\n };\n this.handleTruncateValue = (truncate) => {\n this.truncateValue = truncate;\n };\n this.renderAssistiveHintEl = () => {\n var _a, _b;\n const input = (_b = (_a = this.el.shadowRoot\n .querySelector(\"ic-text-field\")) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector(`#${this.inputId}`);\n if (input &&\n Object.keys(input).length > 0 &&\n this.hasOptionsOrFilterDisabled()) {\n this.assistiveHintEl = document.createElement(\"span\");\n this.assistiveHintEl.innerText = this.hintText;\n this.assistiveHintEl.id = `${this.inputId}-assistive-hint`;\n this.assistiveHintEl.style.display = \"none\";\n if (input.after !== undefined) {\n input.after(this.assistiveHintEl);\n }\n }\n };\n this.updateSearchResultAriaLive = () => {\n const searchResultsStatusEl = this.el.shadowRoot.querySelector(\".search-results-status\");\n if (searchResultsStatusEl) {\n if (!this.open ||\n this.value === \"\" ||\n this.value.length < this.charactersUntilSuggestion) {\n searchResultsStatusEl.innerText = \"\";\n }\n else if (this.hasOptionsOrFilterDisabled() &&\n this.filteredOptions.length > 0 &&\n this.open &&\n !this.filteredOptions[0].loading) {\n if (this.hadNoOptions()) {\n searchResultsStatusEl.innerText = this.emptyOptionListText;\n }\n else {\n searchResultsStatusEl.innerText = `${this.filteredOptions.length} result${this.filteredOptions.length > 1 ? \"s\" : \"\"} available`;\n }\n }\n }\n };\n this.hasOptionsOrFilterDisabled = () => this.options.length > 0 || this.disableFilter;\n this.hadNoOptions = () => this.filteredOptions.length === 1 &&\n this.filteredOptions[0][this.labelField] === this.emptyOptionListText &&\n this.searchMode === \"navigation\";\n this.isSubmitDisabled = () => {\n const valueNotSet = this.value === undefined || this.value === null || this.value === \"\";\n const valueLengthLess = this.value.length < this.charactersUntilSuggestion;\n return (valueNotSet ||\n valueLengthLess ||\n this.disabled ||\n this.hadNoOptions() ||\n this.hasTimedOut ||\n this.loading);\n };\n this.highlightFirstOptionAfterNoResults = () => {\n if (this.prevNoOption && this.menu && !this.hasTimedOut) {\n this.menu.handleSetFirstOption();\n this.prevNoOption = false;\n }\n const prevNoOptionsList = this.filteredOptions.find((filteredOption) => filteredOption[this.labelField] === this.emptyOptionListText ||\n filteredOption[this.labelField] === this.loadingErrorLabel ||\n filteredOption[this.labelField] === this.loadingLabel);\n if (prevNoOptionsList) {\n this.prevNoOption = true;\n }\n };\n this.ariaActiveDescendant = undefined;\n this.clearButtonFocused = false;\n this.highlightedValue = undefined;\n this.open = false;\n this.searchSubmitFocused = false;\n this.showClearButton = false;\n this.autocapitalize = \"off\";\n this.autocomplete = \"off\";\n this.autocorrect = \"off\";\n this.autofocus = false;\n this.charactersUntilSuggestion = 2;\n this.disabled = false;\n this.disableFilter = false;\n this.debounce = 0;\n this.emptyOptionListText = \"No results found\";\n this.focusOnLoad = false;\n this.fullWidth = false;\n this.helperText = \"\";\n this.hideLabel = false;\n this.hintText = \"When autocomplete results are available use the up and down arrows to choose and press enter to select\";\n this.label = undefined;\n this.labelField = \"label\";\n this.loading = false;\n this.loadingErrorLabel = \"Loading Error\";\n this.loadingLabel = \"Loading...\";\n this.name = this.inputId;\n this.placeholder = \"Search\";\n this.readonly = false;\n this.required = false;\n this.searchMode = \"navigation\";\n this.size = \"default\";\n this.small = false;\n this.spellcheck = false;\n this.timeout = undefined;\n this.valueField = \"value\";\n this.filteredOptions = [];\n this.options = [];\n this.value = \"\";\n }\n watchDisabledHandler() {\n removeDisabledFalse(this.disabled, this.el);\n }\n loadingHandler(newValue) {\n if (newValue && !this.hasTimedOut) {\n this.preLoad = false;\n this.triggerLoading();\n }\n }\n filteredOptionsHandler(newOptions) {\n this.hasTimedOut = newOptions.some((opt) => opt.timedOut);\n }\n watchOptionsHandler(newOptions) {\n if (this.disableFilter && !this.hasTimedOut) {\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n if (newOptions.length > 0) {\n this.filteredOptions = newOptions;\n }\n else {\n if (this.hadNoOptions()) {\n return;\n }\n this.setMenuChange(true);\n !this.preLoad &&\n (this.filteredOptions = [\n {\n [this.labelField]: this.emptyOptionListText,\n [this.valueField]: \"\",\n },\n ]);\n this.preLoad = true;\n }\n }\n this.debounceAriaLiveUpdate();\n }\n watchValueHandler(newValue) {\n if (this.inputEl &&\n this.options &&\n !!getLabelFromValue(newValue, this.options, this.valueField, this.labelField)) {\n this.inputEl.value = getLabelFromValue(newValue, this.options, this.valueField, this.labelField);\n }\n else if (this.inputEl && this.inputEl.value !== newValue) {\n this.inputEl.value = newValue;\n }\n }\n disconnectedCallback() {\n if (this.assistiveHintEl) {\n this.assistiveHintEl.remove();\n }\n }\n componentWillLoad() {\n this.watchValueHandler(this.value);\n removeDisabledFalse(this.disabled, this.el);\n if (this.small) {\n this.size = \"small\";\n }\n }\n componentDidLoad() {\n var _a;\n if (this.focusOnLoad) {\n this.el.setFocus();\n }\n if (this.hasOptionsOrFilterDisabled()) {\n this.renderAssistiveHintEl();\n if (this.disableFilter) {\n this.filteredOptions = this.options;\n }\n }\n onComponentRequiredPropUndefined([{ prop: this.label, propName: \"label\" }], \"Search Bar\");\n if (this.inputEl !== undefined) {\n this.anchorEl = (_a = this.inputEl.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\"ic-input-component-container\");\n }\n }\n componentWillRender() {\n this.highlightFirstOptionAfterNoResults();\n }\n handleKeyDown(ev) {\n const keyEv = ev.detail.event;\n if (this.menu && this.open) {\n this.menu.handleKeyboardOpen(keyEv);\n }\n }\n handleKeyUp(ev) {\n if (ev.key === \"Enter\") {\n if (this.preventSubmit || this.isSubmitDisabled()) {\n return;\n }\n this.handleSubmitSearch();\n this.setMenuChange(false);\n }\n if (ev.key === \"Escape\") {\n this.setMenuChange(false);\n }\n if (this.preventSubmit) {\n this.preventSubmit = false;\n }\n }\n /**\n * Sets focus on the native `input`.\n */\n async setFocus() {\n this.retryViaKeyPress = false;\n this.retryButtonClick = false;\n if (this.inputEl) {\n this.inputEl.setFocus();\n }\n }\n debounceAriaLiveUpdate() {\n clearTimeout(this.debounceAriaLive);\n this.debounceAriaLive = window.setTimeout(() => {\n this.updateSearchResultAriaLive();\n }, 500);\n }\n render() {\n const { inputId, name, label, required, small, size, placeholder, helperText, disabled, value, readonly, spellcheck, fullWidth, options, open, hideLabel, menuId, ariaActiveDescendant, truncateValue, autofocus, autocapitalize, autocomplete, filteredOptions, } = this;\n const disabledMode = readonly || disabled;\n const describedBy = getInputDescribedByText(inputId, helperText !== \"\", false).trim();\n let describedById;\n if (describedBy !== \"\" && this.hasOptionsOrFilterDisabled()) {\n describedById = `${describedBy} ${this.inputId}-assistive-hint`;\n }\n else if (this.hasOptionsOrFilterDisabled()) {\n describedById = `${this.inputId}-assistive-hint`;\n }\n else if (describedBy !== \"\") {\n describedById = describedBy;\n }\n else {\n describedById = undefined;\n }\n const hasSuggestedSearch = !!value && this.hasOptionsOrFilterDisabled();\n const menuOpen = hasSuggestedSearch && open && filteredOptions.length > 0;\n const menuRendered = menuOpen && value.length >= this.charactersUntilSuggestion;\n const labelValue = getLabelFromValue(value, options, this.valueField, this.labelField);\n renderHiddenInput(true, this.el, name, value, disabledMode);\n return (h(Host, { class: {\n search: true,\n fullwidth: fullWidth,\n disabled,\n small: size === \"small\",\n }, onFocus: this.handleHostFocus, onBlur: this.handleHostBlur }, h(\"ic-text-field\", { ref: (el) => (this.inputEl = el), inputId: inputId, label: label, helperText: helperText, required: required, disabled: disabledMode && !readonly, readonly: readonly, size: size, hideLabel: hideLabel, fullWidth: fullWidth, name: name, truncateValue: truncateValue, value: options && !!labelValue ? labelValue : value, placeholder: placeholder, onInput: this.onInput, onBlur: this.onInputBlur, onFocus: this.onInputFocus, \"aria-label\": hideLabel ? label : \"\", \"aria-describedby\": describedById, \"aria-owns\": menuRendered ? menuId : undefined, \"aria-controls\": menuRendered ? menuId : undefined, \"aria-haspopup\": options.length > 0 ? \"listbox\" : undefined, ariaExpanded: options.length > 0 ? `${menuOpen}` : undefined, ariaActiveDescendant: ariaActiveDescendant, \"aria-autocomplete\": hasSuggestedSearch ? \"list\" : undefined, role: options.length > 0 ? \"combobox\" : undefined, autocomplete: autocomplete, autocapitalize: autocapitalize, autoFocus: autofocus, spellcheck: spellcheck, inputmode: \"search\", debounce: this.debounce }, h(\"div\", { class: {\n \"clear-button-container\": true,\n \"clear-button-visible\": value && !disabledMode && this.showClearButton,\n }, slot: \"clear-button\" }, h(\"ic-button\", { id: \"clear-button\", class: \"clear-button\", \"aria-label\": \"Clear\", innerHTML: clearIcon, onClick: this.handleClear, onMouseDown: this.handleMouseDown, size: size, onFocus: this.handleFocusClearButton, onBlur: this.handleClearBlur, onKeyDown: this.handleClear, type: \"submit\", variant: \"icon\", appearance: this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark }), h(\"div\", { class: \"divider\" })), h(\"div\", { class: {\n \"search-submit-button-container\": true,\n \"search-submit-button-disabled\": this.isSubmitDisabled(),\n }, slot: \"search-submit-button\" }, h(\"ic-button\", { id: \"search-submit-button\", \"aria-label\": \"Search\", ref: (el) => (this.searchSubmitButton = el), class: {\n [\"search-submit-button\"]: true,\n [\"search-submit-button-small\"]: !!small,\n }, disabled: this.isSubmitDisabled(), innerHTML: searchIcon, size: size, onClick: this.handleSubmitSearch, onMouseDown: this.handleMouseDown, onBlur: this.handleSubmitSearchBlur, onFocus: this.handleSubmitSearchFocus, onKeyDown: this.handleSubmitSearchKeyDown, type: \"submit\", variant: \"icon\", appearance: this.searchSubmitFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Default })), h(\"div\", { class: {\n \"menu-container\": true,\n fullwidth: fullWidth,\n }, slot: \"menu\" }, menuRendered && (h(\"ic-menu\", { class: {\n \"no-results\": this.hadNoOptions() ||\n (filteredOptions.length === 1 &&\n (filteredOptions[0][this.labelField] ===\n this.loadingLabel ||\n filteredOptions[0][this.labelField] ===\n this.loadingErrorLabel)),\n }, activationType: \"manual\", anchorEl: this.anchorEl, autoFocusOnSelected: false, searchMode: this.searchMode, inputEl: this.inputEl, inputLabel: label, ref: (el) => (this.menu = el), small: size === \"small\", fullWidth: fullWidth, menuId: menuId, open: !!menuRendered, options: filteredOptions, onMenuOptionSelect: this.handleOptionSelect, onMenuStateChange: this.handleMenuChange, onMenuOptionId: this.handleMenuOptionHighlight, onRetryButtonClicked: this.handleRetry, parentEl: this.el, value: value, labelField: this.labelField, valueField: this.valueField })))), h(\"div\", { \"aria-live\": \"polite\", role: \"status\", class: \"search-results-status\" })));\n }\n static get is() { return \"ic-search-bar\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-search-bar.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-search-bar.css\"]\n };\n }\n static get properties() {\n return {\n \"autocapitalize\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The automatic capitalisation of the text value as it is entered/edited by the user.\\nAvailable options: \\\"off\\\", \\\"none\\\", \\\"on\\\", \\\"sentences\\\", \\\"words\\\", \\\"characters\\\".\"\n },\n \"attribute\": \"autocapitalize\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"off\\\"\"\n },\n \"autocomplete\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcAutocompleteTypes\",\n \"resolved\": \"\\\"name\\\" | \\\"on\\\" | \\\"off\\\" | \\\"honorific-prefix\\\" | \\\"given-name\\\" | \\\"additional-name\\\" | \\\"family-name\\\" | \\\"honorific-suffix\\\" | \\\"nickname\\\" | \\\"email\\\" | \\\"username\\\" | \\\"new-password\\\" | \\\"current-password\\\" | \\\"one-time-code\\\" | \\\"organization-title\\\" | \\\"organization\\\" | \\\"street-address\\\" | \\\"address-line1\\\" | \\\"address-line2\\\" | \\\"address-line3\\\" | \\\"address-level4\\\" | \\\"address-level3\\\" | \\\"address-level2\\\" | \\\"address-level1\\\" | \\\"country\\\" | \\\"country-name\\\" | \\\"postal-code\\\" | \\\"cc-name\\\" | \\\"cc-given-name\\\" | \\\"cc-additional-name\\\" | \\\"cc-family-name\\\" | \\\"cc-number\\\" | \\\"cc-exp\\\" | \\\"cc-exp-month\\\" | \\\"cc-exp-year\\\" | \\\"cc-csc\\\" | \\\"cc-type\\\" | \\\"transaction-currency\\\" | \\\"transaction-amount\\\" | \\\"language\\\" | \\\"bday\\\" | \\\"bday-day\\\" | \\\"bday-month\\\" | \\\"bday-year\\\" | \\\"sex\\\" | \\\"tel\\\" | \\\"tel-country-code\\\" | \\\"tel-national\\\" | \\\"tel-area-code\\\" | \\\"tel-local\\\" | \\\"tel-extension\\\" | \\\"impp\\\" | \\\"url\\\" | \\\"photo\\\"\",\n \"references\": {\n \"IcAutocompleteTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcAutocompleteTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The state of autocompletion the browser can apply on the text value.\"\n },\n \"attribute\": \"autocomplete\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"off\\\"\"\n },\n \"autocorrect\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcAutocorrectStates\",\n \"resolved\": \"\\\"off\\\" | \\\"on\\\"\",\n \"references\": {\n \"IcAutocorrectStates\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcAutocorrectStates\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The state of autocorrection the browser can apply when the user is entering/editing the text value.\"\n },\n \"attribute\": \"autocorrect\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"off\\\"\"\n },\n \"autofocus\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the form control will have input focus when the page loads.\"\n },\n \"attribute\": \"autofocus\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"charactersUntilSuggestion\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The number of characters until suggestions appear. The submit button will be disabled until the inputted value is equal to or greater than this number.\"\n },\n \"attribute\": \"characters-until-suggestion\",\n \"reflect\": false,\n \"defaultValue\": \"2\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the disabled state will be set.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"disableFilter\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specify whether to disable the built in filtering. For example, if options will already be filtered from external source.\\nIf `true`, all options provided will be displayed.\"\n },\n \"attribute\": \"disable-filter\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"debounce\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\"\n },\n \"attribute\": \"debounce\",\n \"reflect\": false,\n \"defaultValue\": \"0\"\n },\n \"emptyOptionListText\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The text displayed when there are no options in the option list.\"\n },\n \"attribute\": \"empty-option-list-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"No results found\\\"\"\n },\n \"focusOnLoad\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the search bar will be focused when component loaded.\"\n },\n \"attribute\": \"focus-on-load\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"fullWidth\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specify whether the search bar fills the full width of the container.\\nIf `true`, this overrides the --input-width CSS variable.\"\n },\n \"attribute\": \"full-width\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"helperText\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The helper text that will be displayed for additional field guidance.\"\n },\n \"attribute\": \"helper-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"hideLabel\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the label will be hidden and the required label value will be applied as an aria-label.\"\n },\n \"attribute\": \"hide-label\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"hintText\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The hint text for the hidden assistive description element.\"\n },\n \"attribute\": \"hint-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"When autocomplete results are available use the up and down arrows to choose and press enter to select\\\"\"\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label for the search bar.\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"labelField\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The custom name for the label field to correspond with the IcMenuOption type.\"\n },\n \"attribute\": \"label-field\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"label\\\"\"\n },\n \"loading\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Trigger loading state when fetching options asynchronously\"\n },\n \"attribute\": \"loading\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"loadingErrorLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Change the message displayed when external loading times out.\"\n },\n \"attribute\": \"loading-error-label\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Loading Error\\\"\"\n },\n \"loadingLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Change the message displayed whilst the options are being loaded externally.\"\n },\n \"attribute\": \"loading-label\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Loading...\\\"\"\n },\n \"name\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The name of the control, which is submitted with the form data.\"\n },\n \"attribute\": \"name\",\n \"reflect\": false,\n \"defaultValue\": \"this.inputId\"\n },\n \"placeholder\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The placeholder value to display.\"\n },\n \"attribute\": \"placeholder\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Search\\\"\"\n },\n \"readonly\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the readonly state will be set.\"\n },\n \"attribute\": \"readonly\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"required\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the search bar will require a value.\"\n },\n \"attribute\": \"required\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"searchMode\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSearchBarSearchModes\",\n \"resolved\": \"\\\"navigation\\\" | \\\"query\\\"\",\n \"references\": {\n \"IcSearchBarSearchModes\": {\n \"location\": \"import\",\n \"path\": \"./ic-search-bar.types\",\n \"id\": \"src/components/ic-search-bar/ic-search-bar.types.ts::IcSearchBarSearchModes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specify the mode search bar uses to search. `navigation` allows for quick lookups of a set of values, `query` allows for more general searches.\"\n },\n \"attribute\": \"search-mode\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"navigation\\\"\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizesNoLarge\",\n \"resolved\": \"\\\"default\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizesNoLarge\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizesNoLarge\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the search bar component.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"small\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"deprecated\",\n \"text\": \"This prop should not be used anymore. Set prop `size` to \\\"small\\\" instead.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"small\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"spellcheck\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the value of the search will have its spelling and grammar checked.\"\n },\n \"attribute\": \"spellcheck\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"timeout\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If using external filtering, set a timeout for when loading takes too long.\"\n },\n \"attribute\": \"timeout\",\n \"reflect\": false\n },\n \"valueField\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The custom name for the value field to correspond with the IcMenuOption type.\"\n },\n \"attribute\": \"value-field\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"value\\\"\"\n },\n \"options\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcMenuOption[]\",\n \"resolved\": \"IcMenuOption[]\",\n \"references\": {\n \"IcMenuOption\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcMenuOption\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The suggested search options.\"\n },\n \"defaultValue\": \"[]\"\n },\n \"value\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The value of the search input.\"\n },\n \"attribute\": \"value\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"ariaActiveDescendant\": {},\n \"clearButtonFocused\": {},\n \"highlightedValue\": {},\n \"open\": {},\n \"searchSubmitFocused\": {},\n \"showClearButton\": {},\n \"filteredOptions\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icChange\",\n \"name\": \"icChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the value has changed.\"\n },\n \"complexType\": {\n \"original\": \"IcValueEventDetail\",\n \"resolved\": \"IcValueEventDetail\",\n \"references\": {\n \"IcValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icClear\",\n \"name\": \"icClear\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when value is cleared with clear button\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"icInput\",\n \"name\": \"icInput\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a keyboard input occurred.\"\n },\n \"complexType\": {\n \"original\": \"IcValueEventDetail\",\n \"resolved\": \"IcValueEventDetail\",\n \"references\": {\n \"IcValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icInputBlur\",\n \"name\": \"icInputBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"deprecated\",\n \"text\": \"This event should not be used anymore. Use icSearchBarBlur instead.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcSearchBarBlurEventDetail\",\n \"resolved\": \"IcSearchBarBlurEventDetail\",\n \"references\": {\n \"IcSearchBarBlurEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-search-bar.types\",\n \"id\": \"src/components/ic-search-bar/ic-search-bar.types.ts::IcSearchBarBlurEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icInputFocus\",\n \"name\": \"icInputFocus\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"deprecated\",\n \"text\": \"This event should not be used anymore. Use icSearchBarFocus instead.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcValueEventDetail\",\n \"resolved\": \"IcValueEventDetail\",\n \"references\": {\n \"IcValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icOptionSelect\",\n \"name\": \"icOptionSelect\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when option is highlighted within the menu\"\n },\n \"complexType\": {\n \"original\": \"IcOptionSelectEventDetail\",\n \"resolved\": \"IcOptionSelectEventDetail\",\n \"references\": {\n \"IcOptionSelectEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../ic-menu/ic-menu.types\",\n \"id\": \"src/components/ic-menu/ic-menu.types.ts::IcOptionSelectEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icMenuChange\",\n \"name\": \"icMenuChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the state of the menu changes (i.e. open or close)\"\n },\n \"complexType\": {\n \"original\": \"IcMenuChangeEventDetail\",\n \"resolved\": \"IcMenuChangeEventDetail\",\n \"references\": {\n \"IcMenuChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../ic-menu/ic-menu.types\",\n \"id\": \"src/components/ic-menu/ic-menu.types.ts::IcMenuChangeEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icClearBlur\",\n \"name\": \"icClearBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- Emitted when blur is invoked from clear button\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcBlurEventDetail\",\n \"resolved\": \"IcBlurEventDetail\",\n \"references\": {\n \"IcBlurEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcBlurEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icRetryLoad\",\n \"name\": \"icRetryLoad\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the 'retry loading' button is clicked\"\n },\n \"complexType\": {\n \"original\": \"IcValueEventDetail\",\n \"resolved\": \"IcValueEventDetail\",\n \"references\": {\n \"IcValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icSubmitSearch\",\n \"name\": \"icSubmitSearch\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the search value has been submitted\"\n },\n \"complexType\": {\n \"original\": \"IcValueEventDetail\",\n \"resolved\": \"IcValueEventDetail\",\n \"references\": {\n \"IcValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icSubmitSearchBlur\",\n \"name\": \"icSubmitSearchBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- Emitted when blur is invoked from search submit button\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcBlurEventDetail\",\n \"resolved\": \"IcBlurEventDetail\",\n \"references\": {\n \"IcBlurEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcBlurEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icSearchBarBlur\",\n \"name\": \"icSearchBarBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when blur is invoked from ic-search-bar\"\n },\n \"complexType\": {\n \"original\": \"IcSearchBarBlurEventDetail\",\n \"resolved\": \"IcSearchBarBlurEventDetail\",\n \"references\": {\n \"IcSearchBarBlurEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-search-bar.types\",\n \"id\": \"src/components/ic-search-bar/ic-search-bar.types.ts::IcSearchBarBlurEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icSearchBarFocus\",\n \"name\": \"icSearchBarFocus\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when focus is invoked from ic-search-bar\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get methods() {\n return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on the native `input`.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"disabled\",\n \"methodName\": \"watchDisabledHandler\"\n }, {\n \"propName\": \"loading\",\n \"methodName\": \"loadingHandler\"\n }, {\n \"propName\": \"filteredOptions\",\n \"methodName\": \"filteredOptionsHandler\"\n }, {\n \"propName\": \"options\",\n \"methodName\": \"watchOptionsHandler\"\n }, {\n \"propName\": \"value\",\n \"methodName\": \"watchValueHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"icKeydown\",\n \"method\": \"handleKeyDown\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"keyup\",\n \"method\": \"handleKeyUp\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-search-bar.js.map\n"],"mappings":"qvCAAA,MAAMA,EAAiB,ytICKvB,IAAIC,EAAW,E,MAEFC,EAAS,MAClB,WAAAC,CAAAC,G,yjBACIC,KAAKC,gBAAkB,KACvBD,KAAKE,YAAc,MACnBF,KAAKG,QAAU,uBAAuBP,MACtCI,KAAKI,6BAA+B,MACpCJ,KAAKK,OAAS,GAAGL,KAAKG,eACtBH,KAAKM,QAAU,KACfN,KAAKO,cAAgB,MACrBP,KAAKQ,aAAe,MACpBR,KAAKS,iBAAmB,MACxBT,KAAKU,cAAgB,MACrBV,KAAKW,YAAeC,IAChB,MAAMC,EAAgBD,EACtB,MAAME,EAAaF,EACnB,GAAIE,EAAWC,OAAS,SACpBF,EAAcG,OAAS,SACvBH,EAAcG,OAAS,QAAS,CAChChB,KAAKiB,MAAQ,GACbjB,KAAKkB,QAAQD,MAAQ,GACrBjB,KAAKmB,QAAU,MACfC,aAAapB,KAAKqB,cAClBrB,KAAKsB,gBAAkBtB,KAAKuB,QAC5BvB,KAAKwB,GAAGC,WACRzB,KAAK0B,QAAQC,OACbf,EAAGgB,iBACH5B,KAAKO,cAAgB,I,GAG7BP,KAAK6B,QAAWjB,IACZZ,KAAKiB,MAAQL,EAAGkB,OAAOb,MACvB,MAAMc,EAAY,CACd,CAAE,CAAC/B,KAAKgC,YAAahC,KAAKiC,oBAAqB,CAACjC,KAAKkC,YAAa,KAEtE,GAAIlC,KAAKuB,QAAQY,OAAS,EAAG,CACzBnC,KAAKoC,cAAc,MACnBpC,KAAKM,QAAU,MACf,GAAIN,KAAKqC,gBAAkB,MAAO,CAC9B,MAAMC,EAAqBC,EAAuBvC,KAAKuB,QAAS,MAAOvB,KAAKiB,MAAO,WAAYjB,KAAKgC,YACpGhC,KAAKsB,gBACDgB,EAAmBH,OAAS,EAAIG,EAAqBP,C,EAGjE,IAAK/B,KAAKwC,gBAAiB,CACvBxC,KAAKyC,sBAAsB,K,CAE/BzC,KAAK0C,wBAAwB,EAEjC1C,KAAK2C,YAAe/B,IAChB,MAAMK,EAAQL,EAAGkB,OAAOb,MACxB,MAAM2B,EAAYhC,EAAGiC,cACrB7C,KAAK8C,YAAYnB,KAAK,CAAEV,MAAOA,EAAO4B,cAAeD,GAAY,EAErE5C,KAAK+C,aAAgBnC,IACjB,MAAMK,EAAQL,EAAGkB,OAAOb,MACxBjB,KAAKgD,aAAarB,KAAK,CAAEV,MAAOA,IAChCjB,KAAKyC,sBAAsB,KAAK,EAEpCzC,KAAKiD,gBAAmBrC,IACpB,MAAMgC,EAAYhC,EAAGiC,cACrB7C,KAAKkD,YAAYvB,KAAK,CAAEkB,cAAeD,IACvC5C,KAAKmD,mBAAqB,KAAK,EAEnCnD,KAAKoD,uBAA0BxC,IAC3B,MAAMgC,EAAYhC,EAAGiC,cACrB7C,KAAKqD,mBAAmB1B,KAAK,CAAEkB,cAAeD,IAC9C5C,KAAKsD,oBAAsB,KAAK,EAEpCtD,KAAKuD,gBAAmB3C,IACpBA,EAAGgB,gBAAgB,EAEvB5B,KAAKwD,wBAA0B,KAC3BxD,KAAKsD,oBAAsB,IAAI,EAEnCtD,KAAKyD,mBAAqB,KACtBzD,KAAK0D,mBAAqB1D,KAAKiB,MAAQjB,KAAK0D,kBAC5C1D,KAAK0D,iBAAmBC,UACxB3D,KAAK4D,eAAejC,KAAK,CAAEV,MAAOjB,KAAKiB,QACvC,MAAM4C,EAAO7D,KAAKwB,GAAGsC,QAAQ,QAC7B,GAAI9D,KAAK+D,sBAAwBF,IAAS7D,KAAKO,cAAe,CAC1DyD,EAA4BH,EAAM7D,KAAK+D,mB,GAG/C/D,KAAKiE,0BAA6BrD,IAC9B,GAAIA,EAAGsD,MAAQ,IAAK,CAChBtD,EAAGgB,iBACH5B,KAAKyD,oB,GAGbzD,KAAKmE,YAAevD,IAChBZ,KAAKoE,iBAAmBxD,EAAGyD,OAAOC,aAAe,QACjDtE,KAAKuE,YAAY5C,KAAK,CAAEV,MAAOL,EAAGyD,OAAOpD,QACzCjB,KAAKwE,iBACLxE,KAAKS,iBAAmB,IAAI,EAEhCT,KAAKwE,eAAiB,KAClB,MAAMC,EAAgB,CAClB,CACI,CAACzE,KAAKgC,YAAahC,KAAK0E,aACxB,CAAC1E,KAAKkC,YAAa,GACnBf,QAAS,OAGjB,GAAInB,KAAKsB,kBAAoBmD,EACzBzE,KAAKsB,gBAAkBmD,EAC3B,GAAIzE,KAAK2E,QAAS,CACd3E,KAAKqB,aAAeuD,OAAOC,YAAW,KAClC7E,KAAKsB,gBAAkB,CACnB,CACI,CAACtB,KAAKgC,YAAahC,KAAK8E,kBACxB,CAAC9E,KAAKkC,YAAa,GACnB6C,SAAU,MAEjB,GACF/E,KAAK2E,Q,GAGhB3E,KAAKgF,mBAAsBpE,IACvB,GAAIA,EAAGyD,OAAOY,QAAUjF,KAAKiC,oBAAqB,CAC9CjC,KAAKwB,GAAGC,WACR,M,CAEJzB,KAAKiB,MAAQL,EAAGyD,OAAOpD,MACvBjB,KAAKkF,eAAevD,KAAK,CAAEV,MAAOjB,KAAKiB,OAAQ,EAEnDjB,KAAKmF,0BAA6BvE,IAC9B,IAAIwE,EACJ,MAAMC,GAAeD,EAAKxE,EAAGyD,OAAOiB,YAAc,MAAQF,SAAY,OAAS,EAAIA,EAAGG,QAAQ,GAAGvF,KAAKK,UAAW,IACjHgF,IAAgBrF,KAAK0D,iBAAmB2B,GACxC,GAAIzE,EAAGyD,OAAOiB,SAAU,CACpBtF,KAAKwF,qBAAuB5E,EAAGyD,OAAOiB,Q,KAErC,CACDtF,KAAKwF,qBAAuB7B,S,GAGpC3D,KAAKyF,iBAAoB7E,IACrBZ,KAAKoC,cAAcxB,EAAGyD,OAAOqB,MAC7B,IAAK9E,EAAGyD,OAAOqB,KAAM,CACjB1F,KAAK2F,8BAA8B,MACnC,GAAI/E,EAAGyD,OAAOuB,aAAejC,WAAa/C,EAAGyD,OAAOuB,WAAY,CAC5D5F,KAAKwB,GAAGC,U,IAIpBzB,KAAKoC,cAAiBsD,IAClB,GAAI1F,KAAK0F,OAASA,EAAM,CACpB1F,KAAK0F,KAAOA,EACZ1F,KAAK6F,aAAalE,KAAK,CAAE+D,Q,GAGjC1F,KAAK8F,gBAAkB,KACnB,GAAI9F,KAAKuB,SAAWvB,KAAKiB,QAAUjB,KAAKI,6BAA8B,CAClEJ,KAAKoC,cAAc,K,CAEvBpC,KAAK+F,oBAAoB,OACzB/F,KAAKgG,iBAAiBrE,MAAM,EAEhC3B,KAAKiG,eAAkBrF,IACnB,MAAMgC,EAAYhC,EAAGiC,cACrB,GAAI7C,KAAK0F,MACL1F,KAAKuB,SACLqB,IAAc5C,KAAKkG,OAClBlG,KAAKoE,mBACLpE,KAAKS,iBAAkB,CACxBT,KAAKoC,cAAc,M,CAEvB,GAAIpC,KAAKS,kBAAoBT,KAAKoE,iBAAkB,CAChDpE,KAAKkB,QAAQO,U,CAEjBzB,KAAKyC,sBAAsB,OAC3BzC,KAAK2F,8BAA8B,OACnC3F,KAAK+F,oBAAoB,MACzB/F,KAAKmG,gBAAgBxE,KAAK,CAAEkB,cAAeD,EAAW3B,MAAOjB,KAAKiB,QAClEjB,KAAKoE,iBAAmB,MACxBpE,KAAKS,iBAAmB,KAAK,EAEjCT,KAAKyC,sBAAyB2D,IAC1BpG,KAAKwC,gBAAkB4D,CAAO,EAElCpG,KAAKqG,uBAAyB,KAC1BrG,KAAKmD,mBAAqB,IAAI,EAElCnD,KAAK2F,8BAAiCW,IAClCtG,KAAKI,6BAA+BkG,CAAS,EAEjDtG,KAAK+F,oBAAuBQ,IACxBvG,KAAKU,cAAgB6F,CAAQ,EAEjCvG,KAAKwG,sBAAwB,KACzB,IAAIpB,EAAIqB,EACR,MAAMC,GAASD,GAAMrB,EAAKpF,KAAKwB,GAAGmF,WAC7BC,cAAc,oBAAsB,MAAQxB,SAAY,OAAS,EAAIA,EAAGuB,cAAgB,MAAQF,SAAY,OAAS,EAAIA,EAAGG,cAAc,IAAI5G,KAAKG,WACxJ,GAAIuG,GACAG,OAAOC,KAAKJ,GAAOvE,OAAS,GAC5BnC,KAAK+G,6BAA8B,CACnC/G,KAAKC,gBAAkB+G,SAASC,cAAc,QAC9CjH,KAAKC,gBAAgBiH,UAAYlH,KAAKmH,SACtCnH,KAAKC,gBAAgBmH,GAAK,GAAGpH,KAAKG,yBAClCH,KAAKC,gBAAgBoH,MAAMC,QAAU,OACrC,GAAIZ,EAAMa,QAAU5D,UAAW,CAC3B+C,EAAMa,MAAMvH,KAAKC,gB,IAI7BD,KAAKwH,2BAA6B,KAC9B,MAAMC,EAAwBzH,KAAKwB,GAAGmF,WAAWC,cAAc,0BAC/D,GAAIa,EAAuB,CACvB,IAAKzH,KAAK0F,MACN1F,KAAKiB,QAAU,IACfjB,KAAKiB,MAAMkB,OAASnC,KAAK0H,0BAA2B,CACpDD,EAAsBP,UAAY,E,MAEjC,GAAIlH,KAAK+G,8BACV/G,KAAKsB,gBAAgBa,OAAS,GAC9BnC,KAAK0F,OACJ1F,KAAKsB,gBAAgB,GAAGH,QAAS,CAClC,GAAInB,KAAK2H,eAAgB,CACrBF,EAAsBP,UAAYlH,KAAKiC,mB,KAEtC,CACDwF,EAAsBP,UAAY,GAAGlH,KAAKsB,gBAAgBa,gBAAgBnC,KAAKsB,gBAAgBa,OAAS,EAAI,IAAM,c,KAKlInC,KAAK+G,2BAA6B,IAAM/G,KAAKuB,QAAQY,OAAS,GAAKnC,KAAKqC,cACxErC,KAAK2H,aAAe,IAAM3H,KAAKsB,gBAAgBa,SAAW,GACtDnC,KAAKsB,gBAAgB,GAAGtB,KAAKgC,cAAgBhC,KAAKiC,qBAClDjC,KAAK4H,aAAe,aACxB5H,KAAK6H,iBAAmB,KACpB,MAAMC,EAAc9H,KAAKiB,QAAU0C,WAAa3D,KAAKiB,QAAU,MAAQjB,KAAKiB,QAAU,GACtF,MAAM8G,EAAkB/H,KAAKiB,MAAMkB,OAASnC,KAAK0H,0BACjD,OAAQI,GACJC,GACA/H,KAAKgI,UACLhI,KAAK2H,gBACL3H,KAAKE,aACLF,KAAKmB,OAAO,EAEpBnB,KAAKiI,mCAAqC,KACtC,GAAIjI,KAAKQ,cAAgBR,KAAKkG,OAASlG,KAAKE,YAAa,CACrDF,KAAKkG,KAAKgC,uBACVlI,KAAKQ,aAAe,K,CAExB,MAAM2H,EAAoBnI,KAAKsB,gBAAgB8G,MAAMC,GAAmBA,EAAerI,KAAKgC,cAAgBhC,KAAKiC,qBAC7GoG,EAAerI,KAAKgC,cAAgBhC,KAAK8E,mBACzCuD,EAAerI,KAAKgC,cAAgBhC,KAAK0E,eAC7C,GAAIyD,EAAmB,CACnBnI,KAAKQ,aAAe,I,GAG5BR,KAAKwF,qBAAuB7B,UAC5B3D,KAAKmD,mBAAqB,MAC1BnD,KAAK0D,iBAAmBC,UACxB3D,KAAK0F,KAAO,MACZ1F,KAAKsD,oBAAsB,MAC3BtD,KAAKwC,gBAAkB,MACvBxC,KAAKsI,eAAiB,MACtBtI,KAAKuI,aAAe,MACpBvI,KAAKwI,YAAc,MACnBxI,KAAKyI,UAAY,MACjBzI,KAAK0H,0BAA4B,EACjC1H,KAAKgI,SAAW,MAChBhI,KAAKqC,cAAgB,MACrBrC,KAAK0I,SAAW,EAChB1I,KAAKiC,oBAAsB,mBAC3BjC,KAAK2I,YAAc,MACnB3I,KAAK4I,UAAY,MACjB5I,KAAK6I,WAAa,GAClB7I,KAAK8I,UAAY,MACjB9I,KAAKmH,SAAW,yGAChBnH,KAAKiF,MAAQtB,UACb3D,KAAKgC,WAAa,QAClBhC,KAAKmB,QAAU,MACfnB,KAAK8E,kBAAoB,gBACzB9E,KAAK0E,aAAe,aACpB1E,KAAK+I,KAAO/I,KAAKG,QACjBH,KAAKgJ,YAAc,SACnBhJ,KAAKiJ,SAAW,MAChBjJ,KAAKkJ,SAAW,MAChBlJ,KAAK4H,WAAa,aAClB5H,KAAKmJ,KAAO,UACZnJ,KAAKoJ,MAAQ,MACbpJ,KAAKqJ,WAAa,MAClBrJ,KAAK2E,QAAUhB,UACf3D,KAAKkC,WAAa,QAClBlC,KAAKsB,gBAAkB,GACvBtB,KAAKuB,QAAU,GACfvB,KAAKiB,MAAQ,E,CAEjB,oBAAAqI,GACIC,EAAoBvJ,KAAKgI,SAAUhI,KAAKwB,G,CAE5C,cAAAgI,CAAeC,GACX,GAAIA,IAAazJ,KAAKE,YAAa,CAC/BF,KAAKM,QAAU,MACfN,KAAKwE,gB,EAGb,sBAAAkF,CAAuBC,GACnB3J,KAAKE,YAAcyJ,EAAWC,MAAMC,GAAQA,EAAI9E,U,CAEpD,mBAAA+E,CAAoBH,GAChB,GAAI3J,KAAKqC,gBAAkBrC,KAAKE,YAAa,CACzCF,KAAKmB,QAAU,MACfC,aAAapB,KAAKqB,cAClB,GAAIsI,EAAWxH,OAAS,EAAG,CACvBnC,KAAKsB,gBAAkBqI,C,KAEtB,CACD,GAAI3J,KAAK2H,eAAgB,CACrB,M,CAEJ3H,KAAKoC,cAAc,OAClBpC,KAAKM,UACDN,KAAKsB,gBAAkB,CACpB,CACI,CAACtB,KAAKgC,YAAahC,KAAKiC,oBACxB,CAACjC,KAAKkC,YAAa,MAG/BlC,KAAKM,QAAU,I,EAGvBN,KAAK0C,wB,CAET,iBAAAqH,CAAkBN,GACd,GAAIzJ,KAAKkB,SACLlB,KAAKuB,WACHyI,EAAkBP,EAAUzJ,KAAKuB,QAASvB,KAAKkC,WAAYlC,KAAKgC,YAAa,CAC/EhC,KAAKkB,QAAQD,MAAQ+I,EAAkBP,EAAUzJ,KAAKuB,QAASvB,KAAKkC,WAAYlC,KAAKgC,W,MAEpF,GAAIhC,KAAKkB,SAAWlB,KAAKkB,QAAQD,QAAUwI,EAAU,CACtDzJ,KAAKkB,QAAQD,MAAQwI,C,EAG7B,oBAAAQ,GACI,GAAIjK,KAAKC,gBAAiB,CACtBD,KAAKC,gBAAgBiK,Q,EAG7B,iBAAAC,GACInK,KAAK+J,kBAAkB/J,KAAKiB,OAC5BsI,EAAoBvJ,KAAKgI,SAAUhI,KAAKwB,IACxC,GAAIxB,KAAKoJ,MAAO,CACZpJ,KAAKmJ,KAAO,O,EAGpB,gBAAAiB,GACI,IAAIhF,EACJ,GAAIpF,KAAK2I,YAAa,CAClB3I,KAAKwB,GAAGC,U,CAEZ,GAAIzB,KAAK+G,6BAA8B,CACnC/G,KAAKwG,wBACL,GAAIxG,KAAKqC,cAAe,CACpBrC,KAAKsB,gBAAkBtB,KAAKuB,O,EAGpC8I,EAAiC,CAAC,CAAEC,KAAMtK,KAAKiF,MAAOsF,SAAU,UAAY,cAC5E,GAAIvK,KAAKkB,UAAYyC,UAAW,CAC5B3D,KAAKwK,UAAYpF,EAAKpF,KAAKkB,QAAQyF,cAAgB,MAAQvB,SAAY,OAAS,EAAIA,EAAGwB,cAAc,+B,EAG7G,mBAAA6D,GACIzK,KAAKiI,oC,CAET,aAAAyC,CAAc9J,GACV,MAAM+J,EAAQ/J,EAAGyD,OAAOuG,MACxB,GAAI5K,KAAKkG,MAAQlG,KAAK0F,KAAM,CACxB1F,KAAKkG,KAAK2E,mBAAmBF,E,EAGrC,WAAAG,CAAYlK,GACR,GAAIA,EAAGsD,MAAQ,QAAS,CACpB,GAAIlE,KAAKO,eAAiBP,KAAK6H,mBAAoB,CAC/C,M,CAEJ7H,KAAKyD,qBACLzD,KAAKoC,cAAc,M,CAEvB,GAAIxB,EAAGsD,MAAQ,SAAU,CACrBlE,KAAKoC,cAAc,M,CAEvB,GAAIpC,KAAKO,cAAe,CACpBP,KAAKO,cAAgB,K,EAM7B,cAAMkB,GACFzB,KAAKoE,iBAAmB,MACxBpE,KAAKS,iBAAmB,MACxB,GAAIT,KAAKkB,QAAS,CACdlB,KAAKkB,QAAQO,U,EAGrB,sBAAAiB,GACItB,aAAapB,KAAK+K,kBAClB/K,KAAK+K,iBAAmBnG,OAAOC,YAAW,KACtC7E,KAAKwH,4BAA4B,GAClC,I,CAEP,MAAAwD,GACI,MAAM7K,QAAEA,EAAO4I,KAAEA,EAAI9D,MAAEA,EAAKiE,SAAEA,EAAQE,MAAEA,EAAKD,KAAEA,EAAIH,YAAEA,EAAWH,WAAEA,EAAUb,SAAEA,EAAQ/G,MAAEA,EAAKgI,SAAEA,EAAQI,WAAEA,EAAUT,UAAEA,EAASrH,QAAEA,EAAOmE,KAAEA,EAAIoD,UAAEA,EAASzI,OAAEA,EAAMmF,qBAAEA,EAAoB9E,cAAEA,EAAa+H,UAAEA,EAASH,eAAEA,EAAcC,aAAEA,EAAYjH,gBAAEA,GAAqBtB,KACrQ,MAAMiL,EAAehC,GAAYjB,EACjC,MAAMkD,EAAcC,EAAwBhL,EAAS0I,IAAe,GAAI,OAAOuC,OAC/E,IAAIC,EACJ,GAAIH,IAAgB,IAAMlL,KAAK+G,6BAA8B,CACzDsE,EAAgB,GAAGH,KAAelL,KAAKG,wB,MAEtC,GAAIH,KAAK+G,6BAA8B,CACxCsE,EAAgB,GAAGrL,KAAKG,wB,MAEvB,GAAI+K,IAAgB,GAAI,CACzBG,EAAgBH,C,KAEf,CACDG,EAAgB1H,S,CAEpB,MAAM2H,IAAuBrK,GAASjB,KAAK+G,6BAC3C,MAAMwE,EAAWD,GAAsB5F,GAAQpE,EAAgBa,OAAS,EACxE,MAAMqJ,EAAeD,GAAYtK,EAAMkB,QAAUnC,KAAK0H,0BACtD,MAAM+D,EAAazB,EAAkB/I,EAAOM,EAASvB,KAAKkC,WAAYlC,KAAKgC,YAC3E0J,EAAkB,KAAM1L,KAAKwB,GAAIuH,EAAM9H,EAAOgK,GAC9C,OAAQU,EAAEC,EAAM,CAAEC,MAAO,CACjBC,OAAQ,KACRC,UAAWnD,EACXZ,WACAoB,MAAOD,IAAS,SACjB6C,QAAShM,KAAK8F,gBAAiBmG,OAAQjM,KAAKiG,gBAAkB0F,EAAE,gBAAiB,CAAEO,IAAM1K,GAAQxB,KAAKkB,QAAUM,EAAKrB,QAASA,EAAS8E,MAAOA,EAAO4D,WAAYA,EAAYK,SAAUA,EAAUlB,SAAUiD,IAAiBhC,EAAUA,SAAUA,EAAUE,KAAMA,EAAML,UAAWA,EAAWF,UAAWA,EAAWG,KAAMA,EAAMrI,cAAeA,EAAeO,MAAOM,KAAakK,EAAaA,EAAaxK,EAAO+H,YAAaA,EAAanH,QAAS7B,KAAK6B,QAASoK,OAAQjM,KAAK2C,YAAaqJ,QAAShM,KAAK+C,aAAc,aAAc+F,EAAY7D,EAAQ,GAAI,mBAAoBoG,EAAe,YAAaG,EAAenL,EAASsD,UAAW,gBAAiB6H,EAAenL,EAASsD,UAAW,gBAAiBpC,EAAQY,OAAS,EAAI,UAAYwB,UAAWwI,aAAc5K,EAAQY,OAAS,EAAI,GAAGoJ,IAAa5H,UAAW6B,qBAAsBA,EAAsB,oBAAqB8F,EAAqB,OAAS3H,UAAWyI,KAAM7K,EAAQY,OAAS,EAAI,WAAawB,UAAW4E,aAAcA,EAAcD,eAAgBA,EAAgB+D,UAAW5D,EAAWY,WAAYA,EAAYiD,UAAW,SAAU5D,SAAU1I,KAAK0I,UAAYiD,EAAE,MAAO,CAAEE,MAAO,CACxmC,yBAA0B,KAC1B,uBAAwB5K,IAAUgK,GAAgBjL,KAAKwC,iBACxD+J,KAAM,gBAAkBZ,EAAE,YAAa,CAAEvE,GAAI,eAAgByE,MAAO,eAAgB,aAAc,QAASW,UAAWC,EAAWC,QAAS1M,KAAKW,YAAagM,YAAa3M,KAAKuD,gBAAiB4F,KAAMA,EAAM6C,QAAShM,KAAKqG,uBAAwB4F,OAAQjM,KAAKiD,gBAAiB2J,UAAW5M,KAAKW,YAAaI,KAAM,SAAU8L,QAAS,OAAQC,WAAY9M,KAAKmD,mBAC3V4J,EAAsBC,MACtBD,EAAsBE,OAAStB,EAAE,MAAO,CAAEE,MAAO,aAAeF,EAAE,MAAO,CAAEE,MAAO,CACpF,iCAAkC,KAClC,gCAAiC7L,KAAK6H,oBACvC0E,KAAM,wBAA0BZ,EAAE,YAAa,CAAEvE,GAAI,uBAAwB,aAAc,SAAU8E,IAAM1K,GAAQxB,KAAK+D,mBAAqBvC,EAAKqK,MAAO,CACxJ,CAAC,wBAAyB,KAC1B,CAAC,gCAAiCzC,GACnCpB,SAAUhI,KAAK6H,mBAAoB2E,UAAWU,EAAY/D,KAAMA,EAAMuD,QAAS1M,KAAKyD,mBAAoBkJ,YAAa3M,KAAKuD,gBAAiB0I,OAAQjM,KAAKoD,uBAAwB4I,QAAShM,KAAKwD,wBAAyBoJ,UAAW5M,KAAKiE,0BAA2BlD,KAAM,SAAU8L,QAAS,OAAQC,WAAY9M,KAAKsD,oBACjTyJ,EAAsBC,MACtBD,EAAsBI,WAAaxB,EAAE,MAAO,CAAEE,MAAO,CACvD,iBAAkB,KAClBE,UAAWnD,GACZ2D,KAAM,QAAUf,GAAiBG,EAAE,UAAW,CAAEE,MAAO,CACtD,aAAc7L,KAAK2H,gBACdrG,EAAgBa,SAAW,IACvBb,EAAgB,GAAGtB,KAAKgC,cACrBhC,KAAK0E,cACLpD,EAAgB,GAAGtB,KAAKgC,cACpBhC,KAAK8E,oBACtBsI,eAAgB,SAAU5C,SAAUxK,KAAKwK,SAAU6C,oBAAqB,MAAOzF,WAAY5H,KAAK4H,WAAY1G,QAASlB,KAAKkB,QAASoM,WAAYrI,EAAOiH,IAAM1K,GAAQxB,KAAKkG,KAAO1E,EAAK4H,MAAOD,IAAS,QAASP,UAAWA,EAAWvI,OAAQA,EAAQqF,OAAQ8F,EAAcjK,QAASD,EAAiBiM,mBAAoBvN,KAAKgF,mBAAoBwI,kBAAmBxN,KAAKyF,iBAAkBgI,eAAgBzN,KAAKmF,0BAA2BuI,qBAAsB1N,KAAKmE,YAAawJ,SAAU3N,KAAKwB,GAAIP,MAAOA,EAAOe,WAAYhC,KAAKgC,WAAYE,WAAYlC,KAAKkC,eAAkByJ,EAAE,MAAO,CAAE,YAAa,SAAUS,KAAM,SAAUP,MAAO,0B,CAIxnB,yBAAW+B,GAAmB,OAAO,IAAK,C"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as t,c as i,h as e,H as s,g as a}from"./p-8455d1bb.js";import{c as n}from"./p-e081702e.js";import{j as o,e as r,i as h,a as l}from"./p-da506987.js";import"./p-fd186591.js";const d='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;min-height:100% !important;background:rgb(0 0 0 / 60%);z-index:var(--ic-z-index-dialog);opacity:0}:host(.fade-in){opacity:1}:host(.disable-height-constraint){background:none;justify-content:unset;align-items:unset}.dialog.disable-height-constraint{max-height:none;position:relative}.dialog.disable-height-constraint .content-area{overflow-y:visible}@media (prefers-reduced-motion: no-preference){:host{transition:opacity var(--ic-easing-transition-slow)}.dialog{transform:translateY(-3rem);transition:transform 1000s}:host(.fade-in) .dialog{transform:translateY(0);transition:transform var(--ic-easing-transition-slow)}}:host(.hidden){display:none}.dialog{background-color:var(--ic-architectural-white);color:var(--ic-architectural-black);border:var(--ic-border-default);border-radius:var(--ic-border-radius);padding:var(--ic-space-xs) 0 var(--ic-space-md);display:flex;flex-direction:column;box-sizing:border-box;overflow-x:visible}.small{width:50%;max-width:25rem;min-height:11rem;max-height:70vh}.medium{width:70vw;max-width:44rem;min-height:12.5rem;max-height:70vh}.large{width:90vw;max-width:62.5rem;min-height:12.5rem;max-height:90vh}.heading-area{display:flex;margin-bottom:var(--ic-space-xs);padding:0 var(--ic-space-md)}.heading{overflow-wrap:break-word}.close-icon{margin-left:auto}.content-area{-ms-overflow-style:none;scrollbar-width:none;padding:0 var(--ic-space-md);margin:0;overflow-y:auto}.content-area::-webkit-scrollbar{display:none}#dialog-content{margin-bottom:var(--ic-space-sm)}#dialog-content ::slotted(ic-typography){overflow-wrap:break-word}#dialog-content ::slotted(*){position:relative}.status-alert{margin-bottom:var(--ic-space-xs)}.dialog-controls{margin-top:auto;padding:var(--ic-space-xs) var(--ic-space-md) 0;display:flex;justify-content:flex-end;gap:var(--ic-space-md)}.dialog-control-button{width:-moz-fit-content;width:fit-content}.backdrop{overflow-y:auto;position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgb(0 0 0 / 60%);z-index:var(--ic-z-index-dialog);padding-top:16px;padding-bottom:16px}@media (min-width: 800px){:host([size="large"]) .dialog:not(.disable-width-constraint)>.content-area{width:75%}}@media (max-width: 576px){.dialog{width:100vw;height:100vh;transform:translateY(-5rem);max-width:none;max-height:none;box-sizing:border-box}.backdrop{padding:0}.dialog.disable-height-constraint{height:auto;min-height:100vh}}@media (max-width: 364px){.triple-button{flex-direction:column;gap:var(--ic-space-xs)}.dialog-control-button{width:unset}}';const c=class{constructor(s){t(this,s);this.icDialogCancelled=i(this,"icDialogCancelled",7);this.icDialogClosed=i(this,"icDialogClosed",7);this.icDialogConfirmed=i(this,"icDialogConfirmed",7);this.icDialogOpened=i(this,"icDialogOpened",7);this.DATA_GETS_FOCUS="data-gets-focus";this.DATA_GETS_FOCUS_SELECTOR="[data-gets-focus]";this.DIALOG_CONTROLS="dialog-controls";this.dialogHeight=0;this.focusedElementIndex=0;this.IC_TEXT_FIELD="IC-TEXT-FIELD";this.IC_ACCORDION="IC-ACCORDION";this.IC_ACCORDION_GROUP="IC-ACCORDION-GROUP";this.IC_SEARCH_BAR="IC-SEARCH-BAR";this.resizeObserver=null;this.dialogOpened=()=>{var t;this.dialogRendered=true;if(this.disableHeightConstraint){this.dialogEl.show()}else{(t=this.dialogEl)===null||t===void 0?void 0:t.showModal()}setTimeout((()=>{this.fadeIn=true;if(this.disableHeightConstraint&&this.backdropEl.scrollTop!==0){this.backdropEl.scrollTop=0}}),10);setTimeout((()=>{this.setInitialFocus();o(this.runResizeObserver)}),75);setTimeout((()=>{this.getFocusedElementIndex();this.icDialogOpened.emit()}),80)};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{clearTimeout(this.resizeTimeout);this.resizeTimeout=window.setTimeout(this.resizeObserverCallback,80)}));this.resizeObserver.observe(this.dialogEl)};this.resizeObserverCallback=()=>{if(this.dialogEl.clientHeight!==this.dialogHeight){this.dialogHeight=this.dialogEl.clientHeight}};this.refreshInteractiveElementsOnSlotChange=()=>{this.contentArea=this.el.shadowRoot.querySelector("#dialog-content slot");this.contentArea.addEventListener("slotchange",this.getInteractiveElements)};this.removeSlotChangeListener=()=>{if(this.contentArea){this.contentArea.removeEventListener("slotchange",this.getInteractiveElements)}};this.setInitialFocus=()=>{this.sourceElement=document.activeElement;let t;if(this.el.querySelector(this.DATA_GETS_FOCUS_SELECTOR)!==null){t=this.el.querySelector(this.DATA_GETS_FOCUS_SELECTOR)}else{t=this.el.shadowRoot.querySelector(this.DATA_GETS_FOCUS_SELECTOR)}if(t.tagName===this.IC_TEXT_FIELD){t.setFocus()}else if(t.tagName===this.IC_ACCORDION_GROUP){t.setFocus()}else if(t.tagName===this.IC_ACCORDION){t.setFocus()}else if(t.tagName===this.IC_SEARCH_BAR){t.setFocus()}else{t.focus({preventScroll:this.disableHeightConstraint?true:false})}};this.getFocusedElementIndex=()=>{for(let t=0;t<this.interactiveElementList.length;t++){if(this.interactiveElementList[t]===(this.el.shadowRoot.activeElement||document.activeElement)){this.focusedElementIndex=t}}};this.setAlertVariant=()=>{if(r(this.status)&&this.status!==null){const t=this.el.shadowRoot.querySelector("ic-alert");t.setAttribute("variant",this.status)}};this.closeIconClick=()=>{this.open=false};this.getInteractiveElements=()=>{this.interactiveElementList=Array.from(this.el.shadowRoot.querySelectorAll("ic-button"));const t=Array.from(this.el.querySelectorAll(`a[href], button, input:not(.ic-input), textarea, select, details, [tabindex]:not([tabindex="-1"]), \n ic-button, ic-checkbox, ic-select, ic-search-bar, ic-tab-group, ic-radio-group, \n ic-back-to-top, ic-breadcrumb, ic-chip[dismissible="true"], ic-footer-link, ic-link, ic-navigation-button, \n ic-navigation-item, ic-switch, ic-text-field, ic-accordion-group, ic-accordion, ic-date-input, ic-date-picker`));if(t.length>0){if(t[0].slot!==this.DIALOG_CONTROLS){t[0].setAttribute(this.DATA_GETS_FOCUS,"")}else if(!this.destructive){t[t.length-1].setAttribute(this.DATA_GETS_FOCUS,"")}}for(let i=0;i<t.length;i++){this.interactiveElementList.splice(1+i,0,t[i])}};this.getNextFocusEl=t=>this.interactiveElementList[t];this.focusNextInteractiveElement=t=>{this.getFocusedElementIndex();if(this.interactiveElementList[this.focusedElementIndex].tagName==="IC-SEARCH-BAR"){return false}this.setFocusIndexBasedOnShiftKey(t);this.loopNextFocusIndexIfLastElement();let i=this.getNextFocusEl(this.focusedElementIndex);const e=getComputedStyle(i).visibility==="hidden"||i.tagName===this.IC_ACCORDION_GROUP&&i.hasAttribute("single-expansion");if(i.tagName===this.IC_TEXT_FIELD){i.setFocus()}else{if(e){this.setFocusIndexBasedOnShiftKey(t);this.loopNextFocusIndexIfLastElement();i=this.getNextFocusEl(this.focusedElementIndex)}if(i.tagName===this.IC_ACCORDION_GROUP){i.setFocus()}else if(i.tagName===this.IC_ACCORDION){i.setFocus()}else if(i.tagName===this.IC_SEARCH_BAR){i.setFocus()}else{i.focus()}}return true};this.setButtonOnClick=()=>{var t,i,e;if(this.buttons){this.buttonOnclick0=new Function((t=this.buttonProps[0])===null||t===void 0?void 0:t.onclick);this.buttonOnclick1=new Function((i=this.buttonProps[1])===null||i===void 0?void 0:i.onclick);this.buttonOnclick2=new Function((e=this.buttonProps[2])===null||e===void 0?void 0:e.onclick)}};this.getButtonOnclick=t=>{if(t===0){return this.buttonOnclick0()}else if(t===1){return this.buttonOnclick1()}else{return this.buttonOnclick2()}};this.getButtonVariant=t=>{const i=this.destructive?"destructive":"primary";if(this.buttonProps.length===1){return i}else if(this.buttonProps.length===2){if(t===0){return"tertiary"}else{return i}}else{if(t===2){return i}else{return"secondary"}}};this.renderDialog=()=>{const{alertHeading:t,alertMessage:i,buttons:s,buttonProps:a,size:o,heading:r,label:l,status:d,destructive:c,dismissLabel:u,hideCloseButton:m}=this;return e("dialog",{class:{["dialog"]:true,[`${o}`]:true,["disable-height-constraint"]:this.disableHeightConstraint,["disable-width-constraint"]:this.disableWidthConstraint},"aria-labelledby":"dialog-label dialog-heading","aria-describedby":"dialog-alert dialog-content",ref:t=>this.dialogEl=t},e("div",{class:"heading-area"},e("div",{class:"heading-content"},e("div",{class:"label"},e("slot",{name:"label"},e("ic-typography",{variant:"label",id:"dialog-label"},l))),e("div",{class:"heading"},e("slot",{name:"heading"},e("ic-typography",{variant:"h4",id:"dialog-heading"},r)))),!m&&e("ic-button",{class:"close-icon",variant:"icon",innerHTML:n,"aria-label":u,onClick:this.closeIconClick,"data-gets-focus":c||!s?"":null})),e("div",{class:"content-area"},h(this.el,"alert")?e("slot",{name:"alert"}):d&&e("ic-alert",{variant:d,heading:t,message:i,"title-above":true,class:"status-alert",id:"dialog-alert"}),e("div",{id:"dialog-content"},e("slot",null))),(s||h(this.el,this.DIALOG_CONTROLS))&&e("div",{class:{[this.DIALOG_CONTROLS]:true,["triple-button"]:a.length===3}},e("slot",{name:this.DIALOG_CONTROLS},!h(this.el,this.DIALOG_CONTROLS)&&a.map(((t,i)=>{if(i>2){return}else{return e("ic-button",{variant:this.getButtonVariant(i),onClick:()=>this.getButtonOnclick(i),class:"dialog-control-button","full-width":a.length===3,"data-gets-focus":this.getButtonVariant(i)==="primary"?"":null},t.label)}})))))};this.dialogRendered=false;this.fadeIn=false;this.alertHeading=undefined;this.alertMessage=undefined;this.buttons=true;this.closeOnBackdropClick=true;this.destructive=false;this.dismissLabel="Dismiss";this.disableHeightConstraint=false;this.disableWidthConstraint=false;this.hideCloseButton=false;this.heading=undefined;this.label=undefined;this.open=undefined;this.size="small";this.status=undefined;this.buttonProps=[{label:"Cancel",onclick:"this.cancelDialog();"},{label:"Confirm",onclick:"this.confirmDialog();"}]}watchOpenHandler(){if(this.open){this.dialogOpened()}else{this.fadeIn=false;if(this.resizeObserver!==null){this.resizeObserver.disconnect()}setTimeout((()=>{var t;this.dialogRendered=false;this.dialogEl.close();(t=this.sourceElement)===null||t===void 0?void 0:t.focus();this.dialogHeight=0;this.icDialogClosed.emit()}),80)}}watchPropHandler(){this.setButtonOnClick()}disconnectedCallback(){this.removeSlotChangeListener()}componentWillLoad(){if(this.buttonProps.length){this.setButtonOnClick()}}componentDidLoad(){this.getInteractiveElements();this.setAlertVariant();this.refreshInteractiveElementsOnSlotChange();if(this.open){this.dialogOpened()}!h(this.el,"heading")&&l([{prop:this.heading,propName:"heading"}],"Dialog")}componentDidRender(){if(getComputedStyle(this.el).display!=="none"&&this.disableHeightConstraint){document.body.style.overflow="hidden"}else{document.body.style.overflow="auto"}}handleKeyboard(t){if(this.dialogRendered){switch(t.key){case"Tab":if(this.focusNextInteractiveElement(t.shiftKey)){t.preventDefault()}break;case"Escape":if(!t.repeat){this.open=false}t.stopImmediatePropagation();break}}}handleClick(t){const i=this.el.shadowRoot.querySelector("dialog");if(this.closeOnBackdropClick&&t.composedPath().indexOf(i)<=0){const i=this.dialogEl.getBoundingClientRect();const e=i.top<=t.clientY&&t.clientY<=i.top+i.height&&i.left<=t.clientX&&t.clientX<=i.left+i.width;if(!e){this.open=false}}}async showDialog(){this.open=true}async hideDialog(){this.open=false}async cancelDialog(){this.icDialogCancelled.emit();this.open=false}async confirmDialog(){this.icDialogConfirmed.emit()}loopNextFocusIndexIfLastElement(){if(this.focusedElementIndex>this.interactiveElementList.length-1)this.focusedElementIndex=0;else if(this.focusedElementIndex<0){this.focusedElementIndex=this.interactiveElementList.length-1}}setFocusIndexBasedOnShiftKey(t){if(t){this.focusedElementIndex-=1}else{this.focusedElementIndex+=1}}render(){return e(s,{class:{["hidden"]:!this.dialogRendered,["fade-in"]:this.fadeIn,["disable-height-constraint"]:this.disableHeightConstraint}},this.disableHeightConstraint?e("div",{class:"backdrop",ref:t=>this.backdropEl=t},this.renderDialog()):this.renderDialog())}get el(){return a(this)}static get watchers(){return{open:["watchOpenHandler"],buttonProps:["watchPropHandler"]}}};c.style=d;export{c as ic_dialog};
|
2
|
+
//# sourceMappingURL=p-7e909871.entry.js.map
|