@ukic/canary-web-components 3.0.0-canary.21 → 3.0.0-canary.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-table.cjs.entry.js +29 -21
- package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-date-picker.cjs.entry.js +17 -10
- package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +39 -47
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +3 -10
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination_4.cjs.entry.js +2 -2
- package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +2 -2
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +2 -2
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +15 -4
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js +13 -4
- package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tree-item.cjs.entry.js +14 -8
- package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tree-view.cjs.entry.js +23 -15
- package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/ic-data-table/ic-data-table.css +3 -2
- package/dist/collection/components/ic-data-table/ic-data-table.js +28 -20
- package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
- package/dist/collection/components/ic-data-table/ic-data-table.stories.js +2 -2
- package/dist/collection/components/ic-data-table/ic-data-table.stories.js.map +1 -1
- package/dist/collection/components/ic-data-table/story-data.js +32 -73
- package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
- package/dist/collection/components/ic-date-picker/ic-date-picker.js +37 -10
- package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
- package/dist/collection/components/ic-tree-item/ic-tree-item.js +14 -8
- package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
- package/dist/collection/components/ic-tree-view/ic-tree-view.js +23 -15
- package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
- package/dist/components/ic-data-table.js +29 -21
- package/dist/components/ic-data-table.js.map +1 -1
- package/dist/components/ic-date-picker.js +18 -10
- package/dist/components/ic-date-picker.js.map +1 -1
- package/dist/components/ic-loading-indicator2.js +1 -1
- package/dist/components/ic-loading-indicator2.js.map +1 -1
- package/dist/components/ic-menu2.js +42 -47
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-navigation-item.js +3 -10
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-search-bar.js +2 -2
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-select2.js +2 -2
- package/dist/components/ic-select2.js.map +1 -1
- package/dist/components/ic-side-navigation.js +2 -2
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-toggle-button-group.js +17 -4
- package/dist/components/ic-toggle-button-group.js.map +1 -1
- package/dist/components/ic-toggle-button.js +14 -4
- package/dist/components/ic-toggle-button.js.map +1 -1
- package/dist/components/ic-tree-item.js +15 -9
- package/dist/components/ic-tree-item.js.map +1 -1
- package/dist/components/ic-tree-view.js +24 -16
- package/dist/components/ic-tree-view.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-156fc5f1.entry.js +2 -0
- package/dist/core/p-156fc5f1.entry.js.map +1 -0
- package/dist/core/{p-b6c3cc1c.entry.js → p-15ec796a.entry.js} +2 -2
- package/dist/core/p-15ec796a.entry.js.map +1 -0
- package/dist/core/{p-145238fe.entry.js → p-1ffac8ae.entry.js} +2 -2
- package/dist/core/{p-145238fe.entry.js.map → p-1ffac8ae.entry.js.map} +1 -1
- package/dist/core/{p-b6d1988d.entry.js → p-6e7aaca5.entry.js} +2 -2
- package/dist/core/{p-b6d1988d.entry.js.map → p-6e7aaca5.entry.js.map} +1 -1
- package/dist/core/p-755bdc43.entry.js +2 -0
- package/dist/core/p-755bdc43.entry.js.map +1 -0
- package/dist/core/p-78635447.entry.js +2 -0
- package/dist/core/p-78635447.entry.js.map +1 -0
- package/dist/core/{p-1bcf49fa.entry.js → p-a220535c.entry.js} +2 -2
- package/dist/core/p-a220535c.entry.js.map +1 -0
- package/dist/core/{p-9fafa5fa.entry.js → p-b88585bf.entry.js} +2 -2
- package/dist/core/p-b88585bf.entry.js.map +1 -0
- package/dist/core/{p-b6b7c15c.entry.js → p-bc974a3e.entry.js} +2 -2
- package/dist/core/p-bc974a3e.entry.js.map +1 -0
- package/dist/core/p-c67381b1.entry.js +2 -0
- package/dist/core/p-c67381b1.entry.js.map +1 -0
- package/dist/core/p-d04b75cb.entry.js +2 -0
- package/dist/core/p-d04b75cb.entry.js.map +1 -0
- package/dist/core/p-e2103bcc.entry.js +2 -0
- package/dist/core/p-e2103bcc.entry.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/ic-button_3.entry.js +1 -1
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-data-table.entry.js +29 -21
- package/dist/esm/ic-data-table.entry.js.map +1 -1
- package/dist/esm/ic-date-picker.entry.js +17 -10
- package/dist/esm/ic-date-picker.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_3.entry.js +39 -47
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +3 -10
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-pagination_4.entry.js +2 -2
- package/dist/esm/ic-pagination_4.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +2 -2
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +2 -2
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button-group.entry.js +15 -4
- package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button.entry.js +13 -4
- package/dist/esm/ic-toggle-button.entry.js.map +1 -1
- package/dist/esm/ic-tree-item.entry.js +15 -9
- package/dist/esm/ic-tree-item.entry.js.map +1 -1
- package/dist/esm/ic-tree-view.entry.js +24 -16
- package/dist/esm/ic-tree-view.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-data-table/ic-data-table.d.ts +1 -1
- package/dist/types/components/ic-data-table/ic-data-table.stories.d.ts +1 -1
- package/dist/types/components/ic-data-table/story-data.d.ts +0 -64
- package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +4 -0
- package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +2 -0
- package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +2 -1
- package/dist/types/components.d.ts +8 -0
- package/hydrate/index.js +166 -126
- package/hydrate/index.mjs +166 -126
- package/package.json +3 -3
- package/dist/core/p-1b20ab19.entry.js +0 -2
- package/dist/core/p-1b20ab19.entry.js.map +0 -1
- package/dist/core/p-1bcf49fa.entry.js.map +0 -1
- package/dist/core/p-5f8b09e4.entry.js +0 -2
- package/dist/core/p-5f8b09e4.entry.js.map +0 -1
- package/dist/core/p-7001f1c1.entry.js +0 -2
- package/dist/core/p-7001f1c1.entry.js.map +0 -1
- package/dist/core/p-9fafa5fa.entry.js.map +0 -1
- package/dist/core/p-b6b7c15c.entry.js.map +0 -1
- package/dist/core/p-b6c3cc1c.entry.js.map +0 -1
- package/dist/core/p-b9369ce5.entry.js +0 -2
- package/dist/core/p-b9369ce5.entry.js.map +0 -1
- package/dist/core/p-cbbba154.entry.js +0 -2
- package/dist/core/p-cbbba154.entry.js.map +0 -1
- package/dist/core/p-dc3aba7c.entry.js +0 -2
- package/dist/core/p-dc3aba7c.entry.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"file":"ic-select2.js","mappings":"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","names":[],"sources":["../web-components/dist/collection/components/ic-select/ic-select.css?tag=ic-select&encapsulation=shadow","../web-components/dist/collection/components/ic-select/ic-select.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 --input-width: Width of the input field\n * @prop --menu-width: Width of the dropdown menu\n * @prop --ic-z-index-menu: z-index of select menu\n */\n\n:host {\n display: block;\n position: relative;\n\n --ic-input-label-helpertext-padding: var(--ic-space-xs);\n --menu-max-height: 100px;\n --border-color: var(--ic-select-field-border);\n --border-color-hover: var(--ic-select-field-border-hover);\n --border-color-pressed: var(--ic-select-field-border-pressed);\n --border-color-disabled: var(--ic-select-field-border-disabled);\n --border-color-error: var(--ic-select-field-border-error);\n --border-color-error-hover: var(--ic-select-field-border-error-hover);\n --border-color-error-pressed: var(--ic-select-field-border-error-pressed);\n --border-color-success: var(--ic-select-field-border-success);\n --border-color-success-hover: var(--ic-select-field-border-success-hover);\n --border-color-success-pressed: var(--ic-select-field-border-success-pressed);\n --border-color-warning: var(--ic-select-field-border-warning);\n --border-color-warning-hover: var(--ic-select-field-border-warning-hover);\n --border-color-warning-pressed: var(--ic-select-field-border-warning-pressed);\n --ic-input-label-text-color: var(--ic-select-field-labe);\n --ic-input-label-helper-text-color: var(\n --ic-select-input-field-label-subtitle\n );\n --ic-input-validation-status-text-color: var(--ic-select-state-text);\n --ic-input-validation-error: var(--ic-select-state-icon-error);\n --ic-input-validation-warning-icon-color: var(--ic-select-state-icon-warning);\n --ic-input-validation-success-icon-color: var(--ic-select-state-icon-success);\n --menu-item-text-color: var(--ic-select-list-option-text);\n --menu-bg-color: var(--ic-select-list-option-background);\n --menu-border-color: var(--ic-select-dropdown-list-border);\n}\n\n:host(.ic-select-disabled) {\n --ic-input-label-text-color: var(--ic-select-field-label-disabled);\n --ic-input-label-helper-text-color: var(\n --ic-select-input-field-label-subtitle-disabled\n );\n}\n\n:host(.ic-select-full-width) {\n width: 100%;\n}\n\nic-input-component-container.menu-open {\n --border-color: var(--ic-select-field-border-pressed);\n}\n\nic-input-validation .status-icon,\nic-input-validation .statustext {\n visibility: visible;\n}\n\nic-input-validation.menu-open .status-icon,\nic-input-validation.menu-open .statustext {\n visibility: hidden;\n transition: visibility 0s;\n}\n\nic-input-label {\n margin-bottom: var(--ic-space-xs);\n}\n\nselect {\n border: 0;\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-select-field-background);\n color: var(--ic-select-content-text);\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n height: 100%;\n padding-left: 0.375rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background-repeat: no-repeat;\n background-position: right 0.375rem center;\n background-image: var(--ic-select-mobile-dropdown-icon);\n caret-color: var(--ic-select-input-field-text-cursor);\n}\n\nselect option,\n.select-option-selected {\n color: var(--ic-select-list-option-text);\n}\n\nselect:disabled {\n color: var(--ic-select-content-text-disabled);\n background-image: var(--ic-select-mobile-dropdown-icon-disabled);\n}\n\nselect:focus {\n border: 0;\n outline: 0;\n}\n\nselect:not([disabled]) {\n cursor: pointer;\n}\n\n.select-container {\n width: 100%;\n display: flex;\n align-items: center;\n position: relative;\n}\n\n.select-input {\n width: 100%;\n height: 100%;\n padding: 0 0.375rem;\n display: flex;\n cursor: pointer;\n align-items: center;\n justify-content: space-between;\n background: none;\n border: none;\n background-color: var(--ic-select-field-background);\n color: var(--ic-select-content-text);\n}\n\n.select-input:focus {\n outline: none;\n}\n\n.select-input[disabled] {\n pointer-events: none;\n}\n\n:host(.ic-select-searchable) .select-input {\n cursor: auto;\n}\n\n.select-input.with-clear-button {\n padding-right: 0;\n}\n\n.value-text {\n max-width: calc(100% - (var(--ic-space-lg) + var(--ic-space-xxs)));\n box-sizing: border-box;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n margin-bottom: 0 !important;\n}\n\n.value-text.with-clear-button {\n padding-right: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n.searchable-select-container {\n align-items: center;\n display: flex;\n width: 100%;\n position: relative;\n}\n\n.expand-icon {\n height: var(--ic-space-lg);\n padding-left: var(--ic-space-xxs);\n color: var(--ic-select-expand-icon-color);\n}\n\n.expand-icon > svg {\n display: inline-block;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.ic-select-disabled) .expand-icon,\n:host(.ic-select-disabled) .expand-icon > svg > path {\n color: var(--ic-select-disabled-expand-icon-color);\n}\n\n:host(.ic-select-searchable) .expand-icon {\n padding-left: 0;\n height: 2.25rem;\n}\n\n:host(.ic-select-searchable) .expand-icon > svg {\n height: 2.25rem;\n padding: 0 calc(var(--ic-space-xxxs) + var(--ic-space-xxs)) 0\n var(--ic-space-xxs);\n}\n\n:host(.ic-select-searchable:not(.ic-select-disabled)) .expand-icon > svg {\n cursor: pointer;\n}\n\n.expand-icon-open {\n color: var(--ic-select-expand-icon-color);\n}\n\n.expand-icon-open,\n:host(.ic-select-searchable) .expand-icon-open {\n transform: rotateX(180deg);\n}\n\n.placeholder {\n color: var(--ic-select-content-placeholder-text);\n}\n\n:host(.ic-select-disabled.ic-select-searchable) .select-input::-moz-placeholder {\n color: var(--ic-select-content-text-disabled);\n}\n\n:host(.ic-select-disabled) .value-text,\n:host(.ic-select-disabled) .select-input,\n:host(.ic-select-disabled) .placeholder,\n:host(.ic-select-disabled.ic-select-searchable) .select-input::placeholder {\n color: var(--ic-select-content-text-disabled);\n}\n\n.select-input-end {\n display: flex;\n align-items: center;\n}\n\n.clear-button-container {\n display: flex;\n align-items: center;\n}\n\n.divider {\n width: var(--ic-space-1px);\n background-color: var(--ic-select-content-divider);\n margin: var(--ic-space-xxs) 0;\n border-radius: var(--ic-space-1px);\n height: var(--ic-space-lg);\n}\n\n:host(.ic-select-small) .divider {\n height: var(--ic-space-md);\n}\n\n:host(.ic-select-large) .divider {\n height: var(--ic-space-xl);\n}\n\n.clear-button {\n color: var(--ic-select-clear-button);\n position: absolute;\n right: calc(var(--ic-space-xl) + var(--ic-space-xxs) - var(--ic-space-1px));\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-color-focus-inner);\n box-shadow: inset 0 0 0 0.125rem var(--ic-color-focus-outer);\n border-radius: 0.25rem;\n}\n\n.clear-button:focus,\n.clear-button:active * {\n fill: var(--ic-atoms-input-clear-button-focus);\n}\n\n.clear-button.searchable {\n position: static;\n}\n\n.searchable-select-results-status,\n.multi-select-selected-count {\n border: 0;\n clip: rect(0, 0, 0, 0, 0);\n height: 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\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-select-content-placeholder-text);\n}\n\n.has-value ::slotted([slot=\"icon\"]) {\n fill: var(--ic-select-content-text);\n}\n\n.readonly ::slotted([slot=\"icon\"]) {\n padding: 0.375rem;\n margin-bottom: 0.75rem;\n}\n\n@media (forced-colors: active) {\n .has-value ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n}\n","import { Host, h, forceUpdate, } from \"@stencil/core\";\nimport { getInputDescribedByText, getLabelFromValue, hasValidationStatus, inheritAttributes, onComponentRequiredPropUndefined, renderHiddenInput, isMobileOrTablet, getFilteredMenuOptions, getOptionsWithoutGroupTitlesCount, addFormResetListener, removeFormResetListener, removeDisabledFalse, checkSlotInChildMutations, isSlotUsed, } from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport { IcInformationStatus, } from \"../../utils/types\";\nimport Expand from \"./assets/Expand.svg\";\nimport Clear from \"./assets/Clear.svg\";\nlet inputIds = 0;\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"tabindex\", \"title\"];\n/**\n * @slot helper-text - Content is set as the helper text for the select.\n * @slot icon - Content will be placed to the left of the select text input.\n */\nexport class Select {\n constructor() {\n this.blurredBecauseButtonPressed = false;\n this.hasSetDefaultValue = false;\n this.hasTimedOut = false;\n this.inheritedAttributes = {};\n this.initialOptionsEmpty = false;\n this.inputId = `ic-select-input-${inputIds++}`;\n this.menuId = `${this.inputId}-menu`;\n this.retryButtonClick = false;\n this.searchableMenuItemSelected = false;\n this.ungroupedOptions = [];\n this.hostMutationObserver = null;\n this.clearButtonFocused = false;\n this.noOptions = null;\n this.open = false;\n this.pressedCharacters = \"\";\n this.searchableSelectInputValue = null;\n /**\n * If `true`, the disabled state will be set.\n */\n this.disabled = false;\n /**\n * If `true`, the built in filtering will be disabled for a searchable variant. For example, if options will already be filtered from external source.\n */\n this.disableAutoFiltering = false;\n /**\n * The text displayed when there are no options in the option list.\n */\n this.emptyOptionListText = \"No results found\";\n /**\n * If `true`, the select will fill the width of the container.\n */\n this.fullWidth = false;\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n this.helperText = \"\";\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n this.hideLabel = false;\n /**\n * If `true`, descriptions of options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n this.includeDescriptionsInSearch = false;\n /**\n * If `true`, group titles of grouped options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n this.includeGroupTitlesInSearch = false;\n /**\n * The message displayed when external loading times out.\n */\n this.loadingErrorLabel = \"Loading Error\";\n /**\n * The message displayed whilst the options are being loaded externally.\n */\n this.loadingLabel = \"Loading...\";\n /**\n * If `true`, multiple options can be selected.\n */\n this.multiple = false;\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = this.inputId;\n /**\n * The placeholder value to be displayed.\n */\n this.placeholder = \"Select an option\";\n /**\n * If `true`, the readonly state will be set.\n */\n this.readonly = false;\n /**\n * If `true`, the select will require a value.\n */\n this.required = false;\n /**\n * If `true`, a searchable variant of the select will be displayed which can be typed in to filter options. This functionality is only available on the single-select variant of the select component.\n */\n this.searchable = false;\n /**\n * Whether the search string of the searchable select should match the start of or anywhere in the options. Only applies to built in filtering.\n */\n this.searchMatchPosition = \"anywhere\";\n /**\n * If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown on the single select.\n */\n this.selectOnEnter = false;\n /**\n * If `true`, a button which clears the select input when clicked will be displayed. The button will always appear on the searchable select.\n */\n this.showClearButton = false;\n /**\n * The size of the select.\n */\n this.size = \"medium\";\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n this.theme = \"inherit\";\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n this.validationStatus = \"\";\n /**\n * The text to display as the validation message.\n */\n this.validationText = \"\";\n /**\n * If `true`, the loading state will be triggered when fetching options asynchronously.\n */\n this.loading = false;\n /**\n * The possible selection options.\n */\n this.options = [];\n this.filteredOptions = this.options;\n this.uniqueOptions = this.options;\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icInput` event after each keystroke.\n */\n this.debounce = 0;\n this.currDebounce = this.debounce;\n /**\n * The value of the select, reflected by the value of the currently selected option.\n * For the searchable variant, the value is also reflected by the user input.\n * For the multi-select variant, the value must be an array of option values.\n */\n this.value = null;\n this.initialValue = this.value;\n this.inputValueToFilter = this.value;\n // triggered when attributes of host element change\n this.hostMutationCallback = (mutationList) => {\n let forceComponentUpdate = false;\n mutationList.forEach(({ attributeName, type, addedNodes, removedNodes }) => {\n if (attributeName) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute && MUTABLE_ATTRIBUTES.includes(attributeName)) {\n this.inheritedAttributes[attributeName] = attribute;\n forceComponentUpdate = true;\n }\n }\n else if (type === \"childList\") {\n forceComponentUpdate = checkSlotInChildMutations(addedNodes, removedNodes, \"icon\");\n }\n });\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n this.handleRetry = (ev) => {\n var _a;\n if (ev.detail.keyPressed)\n (_a = this.searchableSelectElement) === null || _a === void 0 ? void 0 : _a.focus();\n this.blurredBecauseButtonPressed = true;\n this.retryButtonClick = true;\n this.hasSetDefaultValue = true;\n this.icRetryLoad.emit({\n value: this.searchable\n ? this.searchableSelectInputValue\n : this.hiddenInputValue,\n });\n };\n this.emitIcChange = (value) => {\n // If \"Select all\" button clicked, replace value with new value (array of all option values)\n if (this.multiple && !Array.isArray(value) && value !== null) {\n // Update selected options - adds / removes them, in order of option list\n // Create new array if value prop is undefined\n if (this.value) {\n let valueArray = this.value.slice();\n if (this.value.includes(value)) {\n valueArray.splice(valueArray.indexOf(value), 1);\n }\n else {\n valueArray.push(value);\n valueArray = this.getValueSortedByOptions(valueArray);\n }\n this.value = valueArray.length === 0 ? null : valueArray;\n }\n else {\n this.value = [value];\n }\n }\n else {\n this.value = value;\n }\n this.icChange.emit({ value: this.multiple ? this.value : value });\n };\n this.emitIcInput = (value) => {\n clearTimeout(this.debounceIcInput);\n this.debounceIcInput = window.setTimeout(() => this.icInput.emit({ value }), this.currDebounce);\n };\n this.setOptions = () => {\n if (!this.hasTimedOut && this.options !== this.noOptions) {\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n if (this.options.length > 0) {\n this.setOptionsValuesFromLabels();\n this.uniqueOptions = this.deduplicateOptions(this.options);\n }\n else {\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.uniqueOptions = this.noOptions;\n }\n this.filteredOptions = this.uniqueOptions;\n if (this.isExternalFiltering()) {\n // When searchable select\n this.noOptions = null;\n this.updateSearchableSelectResultAriaLive();\n this.setDefaultValue();\n }\n else if (this.initialOptionsEmpty) {\n this.setDefaultValue();\n this.initialOptionsEmpty = false;\n }\n }\n else if (!this.searchable) {\n this.options = this.noOptions || [];\n }\n };\n /**\n * Processes the provided array of IcMenuOptions, removing duplicates and reporting them with a console.warn\n * @param options array of IcMenuOptions\n * @returns a new options object, with all entries possessing a duplicate 'value' field removed\n */\n this.deduplicateOptions = (options) => {\n const uniqueValues = [];\n const dedupedOptions = [];\n options.forEach((option) => {\n if (option.children) {\n //If an option has children, we will loop through them\n const dedupedChildren = [];\n option.children.forEach((child) => {\n if (uniqueValues.includes(child.value)) {\n console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${child.value}) which has been removed.`);\n }\n else {\n uniqueValues.push(child.value);\n dedupedChildren.push(child);\n }\n });\n // construct a modified option, inserting the deduplicated children alongside the original information\n dedupedOptions.push(Object.assign(Object.assign({}, option), { children: dedupedChildren }));\n }\n else {\n // If an option does not have children, assess to see if it's value has been included already\n if (uniqueValues.includes(option.value)) {\n console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${option.value}) which has been removed.`);\n }\n else {\n uniqueValues.push(option.value);\n dedupedOptions.push(option);\n }\n }\n });\n return dedupedOptions;\n };\n /**\n * Loop through options array and for all options with no value, infer it from the label\n */\n this.setOptionsValuesFromLabels = () => {\n if (this.options.length > 0) {\n this.options.map((option) => {\n if (!option.value) {\n option.value = option.label;\n }\n });\n }\n };\n this.setUngroupedOptions = (event) => {\n this.ungroupedOptions = event.detail.options;\n };\n this.setTextColor = () => {\n if (this.nativeSelectElement) {\n this.nativeSelectElement.className =\n this.nativeSelectElement.selectedIndex === 0\n ? \"placeholder\"\n : \"select-option-selected\";\n }\n };\n this.setMenuChange = (open) => {\n if (this.open !== open) {\n this.open = open;\n }\n };\n this.getLabelFromValue = (value) => getLabelFromValue(value, this.uniqueOptions);\n this.getMultipleOptionsString = (selectedValues) => selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.map((value) => this.getLabelFromValue(value)).filter((label) => !!label).join(\", \");\n this.getFilteredChildMenuOptions = (option) => (Object.assign(Object.assign({}, option), { children: option.children &&\n getFilteredMenuOptions(option.children, this.searchable && !!this.includeDescriptionsInSearch, this.searchable\n ? this.searchableSelectInputValue || \"\"\n : this.pressedCharacters, this.searchable ? this.searchMatchPosition : \"start\") }));\n // (For multi-select) get value array, i.e. selected option values, in order they appear in option list\n this.getValueSortedByOptions = (value) => {\n const valueArray = value;\n const valuesFromAllOptions = this.ungroupedOptions.map((option) => option.value);\n valueArray.sort((a, b) => valuesFromAllOptions.indexOf(a) - valuesFromAllOptions.indexOf(b));\n return valueArray;\n };\n this.handleNativeSelectChange = () => {\n if (this.nativeSelectElement) {\n this.icOptionSelect.emit({ value: this.nativeSelectElement.value });\n this.emitIcChange(this.nativeSelectElement.value);\n }\n this.setTextColor();\n };\n // Handle option select for when a custom input box and menu is rendered\n // (rather than native <select> - rendered when viewed on a mobile / tablet screen)\n this.handleCustomSelectChange = (event) => {\n var _a, _b;\n const { value, label, optionId } = event.detail;\n if (label === this.emptyOptionListText) {\n (_a = this.searchableSelectElement) === null || _a === void 0 ? void 0 : _a.focus();\n return;\n }\n if (this.searchable) {\n this.value = value || null;\n this.searchableMenuItemSelected = true;\n // After editing the input, if selecting the same option as before, set the input value to label again\n if (this.value === this.currValue) {\n this.searchableSelectInputValue =\n this.getLabelFromValue(this.value) || null;\n }\n this.inputValueToFilter = null;\n this.hiddenInputValue =\n this.getValueFromLabel(this.searchableSelectInputValue) || null;\n }\n if (value) {\n if (this.multiple && ((_b = this.value) === null || _b === void 0 ? void 0 : _b.includes(value))) {\n this.icOptionDeselect.emit({ value });\n }\n else {\n this.icOptionSelect.emit({ value });\n }\n }\n this.ariaActiveDescendant = optionId;\n this.emitIcChange(value || null);\n };\n this.handleSelectAllChange = ({ detail, }) => {\n const allValues = this.ungroupedOptions\n .filter((option) => !option.disabled)\n .map((option) => option.value);\n if (detail.select) {\n // Only emit icOptionSelect for all values that are newly selected\n const unselectedValues = this.value\n ? allValues.filter((value) => this.value && !this.value.includes(value))\n : allValues;\n unselectedValues.forEach((value) => this.icOptionSelect.emit({ value }));\n }\n else {\n // Only emit icOptionDeselect for values that were selected\n this.value.forEach((value) => this.icOptionDeselect.emit({ value }));\n }\n this.emitIcChange(detail.select ? allValues : null);\n };\n this.handleMenuChange = (event) => {\n this.open = event.detail.open;\n this.pressedCharacters = \"\";\n if (this.searchable)\n this.handleFocusIndicatorDisplay();\n };\n // clears the debounce delay when navigating the menu with arrow keys etc\n // to prevent delay in change event, which should only occur when typing in input\n this.handleMenuKeyPress = (ev) => {\n ev.cancelBubble = true;\n if (!this.multiple) {\n this.handleCharacterKeyDown(ev.detail.key);\n }\n };\n this.handleFocusIndicatorDisplay = () => {\n var _a;\n const focusIndicator = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\".focus-indicator\");\n if (focusIndicator) {\n if (this.open) {\n focusIndicator.classList.add(\"focus-indicator-enabled\");\n }\n else {\n focusIndicator.classList.remove(\"focus-indicator-enabled\");\n }\n }\n };\n this.handleMouseDown = (event) => {\n if (!this.open) {\n event.preventDefault();\n }\n };\n this.isExternalFiltering = () => this.searchable && !!this.disableAutoFiltering;\n this.handleClick = (event) => {\n var _a, _b;\n if (!this.open && this.menu) {\n if (this.isExternalFiltering()) {\n this.menu.options = this.filteredOptions;\n }\n else if (!this.hasTimedOut &&\n !this.loading &&\n !((_a = this.noOptions) === null || _a === void 0 ? void 0 : _a.length) &&\n (!this.searchable || this.searchableMenuItemSelected)) {\n this.noOptions = null;\n this.menu.options = this.uniqueOptions;\n }\n }\n if (event.detail !== 0) {\n (_b = this.menu) === null || _b === void 0 ? void 0 : _b.handleClickOpen();\n }\n };\n this.handleExpandIconMouseDown = (event) => {\n var _a;\n if (!this.disabled) {\n event.preventDefault();\n (_a = this.searchableSelectElement) === null || _a === void 0 ? void 0 : _a.focus();\n this.handleClick(event);\n }\n };\n this.handleClear = (event) => {\n var _a, _b;\n event.stopPropagation();\n this.hasTimedOut = false;\n clearTimeout(this.timeoutTimer);\n this.clearInput();\n this.emitIcChange(null);\n this.icClear.emit();\n if (this.searchable) {\n this.hiddenInputValue = null;\n (_a = this.searchableSelectElement) === null || _a === void 0 ? void 0 : _a.focus();\n }\n else {\n (_b = this.customSelectElement) === null || _b === void 0 ? void 0 : _b.focus();\n }\n };\n this.handleCharacterKeyDown = (key) => {\n // Only close menu when space is pressed if not being used alongside character keys to quickly select options\n if (this.open && key === \" \" && this.pressedCharacters.length === 0) {\n this.setMenuChange(false);\n }\n if (key.length !== 1 || this.searchable) {\n this.pressedCharacters = \"\";\n return;\n }\n window.clearTimeout(this.characterKeyPressTimer);\n this.characterKeyPressTimer = window.setTimeout(() => (this.pressedCharacters = \"\"), 1000);\n if (key !== \" \" || !!this.pressedCharacters) {\n this.pressedCharacters += key;\n this.handleFilter();\n if (!this.noOptions) {\n this.emitIcChange(this.filteredOptions[0].value);\n }\n }\n };\n this.handleNativeSelectKeyDown = (event) => {\n if ((event.key !== \"Escape\" && event.key !== \"Tab\") || this.open) {\n event.cancelBubble = true;\n }\n this.handleCharacterKeyDown(event.key);\n };\n this.handleKeyDown = (event) => {\n var _a;\n if ((event.key !== \"Escape\" && event.key !== \"Tab\") || this.open) {\n event.cancelBubble = true;\n }\n const isArrowKey = event.key === \"ArrowDown\" || event.key === \"ArrowUp\";\n if (this.menu && !this.open) {\n if (this.isExternalFiltering() && (event.key === \"Enter\" || isArrowKey)) {\n this.menu.options = this.filteredOptions;\n }\n else if (!this.hasTimedOut) {\n this.noOptions = null;\n this.menu.options = this.uniqueOptions;\n }\n }\n if (this.open && event.key === \"Enter\") {\n this.setMenuChange(false);\n }\n else {\n if (!isArrowKey || this.noOptions === null) {\n if (event.key !== \" \" || this.pressedCharacters.length <= 0) {\n // Keyboard events get passed onto ic-menu\n (_a = this.menu) === null || _a === void 0 ? void 0 : _a.handleKeyboardOpen(event);\n }\n if (!this.multiple) {\n this.handleCharacterKeyDown(event.key);\n }\n }\n }\n };\n this.handleClearButtonFocus = () => {\n this.clearButtonFocused = true;\n };\n this.handleClearButtonBlur = (ev) => {\n var _a;\n const retryButton = (_a = this.menu) === null || _a === void 0 ? void 0 : _a.querySelector(\"#retry-button\");\n if ((!this.searchableSelectElement ||\n ev.relatedTarget !== this.searchableSelectElement) &&\n (!retryButton || ev.relatedTarget !== retryButton)) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n }\n this.clearButtonFocused = false;\n };\n this.handleFilter = () => {\n var _a;\n const options = this.deduplicateOptions(this.searchable ? [...this.uniqueOptions] : this.ungroupedOptions);\n const isGrouped = options.some((option) => !!option.children);\n let newFilteredOptions = [];\n let menuOptionsFiltered;\n if (this.searchable) {\n menuOptionsFiltered = getFilteredMenuOptions(options, !!this.includeDescriptionsInSearch, this.inputValueToFilter || \"\", this.searchMatchPosition);\n this.searchableMenuItemSelected = false;\n }\n else {\n menuOptionsFiltered = getFilteredMenuOptions(options, false, this.pressedCharacters, \"start\");\n }\n if (!isGrouped &&\n ((_a = menuOptionsFiltered[0]) === null || _a === void 0 ? void 0 : _a.label) !== this.emptyOptionListText) {\n newFilteredOptions = menuOptionsFiltered;\n }\n else if (isGrouped) {\n newFilteredOptions = options.map((option) => this.includeGroupTitlesInSearch &&\n menuOptionsFiltered.indexOf(option) !== -1\n ? option\n : this.getFilteredChildMenuOptions(option));\n }\n if (newFilteredOptions.length > 0 &&\n (!isGrouped ||\n newFilteredOptions.some(({ children }) => children && children.length > 0))) {\n this.noOptions = null;\n this.filteredOptions = newFilteredOptions;\n }\n else {\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.filteredOptions = this.noOptions;\n }\n };\n /**\n * Put the select component into loading state.\n * Replace options with the loading message. If timeout is enabled, set the timeout and once passed, replace options with the loading error message\n */\n this.triggerLoading = () => {\n this.hasTimedOut = false;\n this.noOptions = [{ label: this.loadingLabel, value: \"\", loading: true }];\n if (this.filteredOptions !== this.noOptions && this.searchable) {\n this.filteredOptions = this.noOptions;\n }\n else if (this.uniqueOptions !== this.noOptions && !this.searchable) {\n this.uniqueOptions = this.noOptions;\n }\n if (this.timeout) {\n this.timeoutTimer = window.setTimeout(() => {\n this.loading = false;\n this.hasTimedOut = true;\n this.noOptions = [\n { label: this.loadingErrorLabel, value: \"\", timedOut: true },\n ];\n this.filteredOptions = this.noOptions;\n if (!this.searchable)\n this.uniqueOptions = this.noOptions;\n }, this.timeout);\n }\n };\n this.getValueFromLabel = (label) => { var _a; return label && ((_a = this.uniqueOptions.find((option) => option.label === label)) === null || _a === void 0 ? void 0 : _a.value); };\n this.handleSearchableSelectInput = (event) => {\n this.searchableSelectInputValue = event.target.value;\n this.emitIcInput(this.searchableSelectInputValue);\n // De-select previous selection when input is edited\n // Only emit icChange once when editing input\n if (this.value != null) {\n this.emitIcChange(null);\n }\n this.hiddenInputValue = null;\n this.inputValueToFilter = this.searchableSelectInputValue;\n this.setMenuChange(true);\n if (!this.disableAutoFiltering) {\n this.handleFilter();\n clearTimeout(this.debounceAria);\n window.setTimeout(() => {\n this.updateSearchableSelectResultAriaLive();\n }, 800);\n }\n };\n this.updateSearchableSelectResultAriaLive = () => {\n var _a;\n const searchableSelectResultsStatusEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\".searchable-select-results-status\");\n if (searchableSelectResultsStatusEl) {\n searchableSelectResultsStatusEl.innerText =\n this.noOptions !== null ? this.emptyOptionListText : \"\";\n }\n };\n this.updateMultiSelectedCountAriaLive = () => {\n var _a, _b;\n const multiSelectSelectedCountEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\".multi-select-selected-count\");\n const selectedCount = `${(_b = this.currValue) === null || _b === void 0 ? void 0 : _b.length} of ${getOptionsWithoutGroupTitlesCount(this.options)} selected`;\n if (multiSelectSelectedCountEl &&\n multiSelectSelectedCountEl.innerText !== selectedCount) {\n multiSelectSelectedCountEl.innerText = selectedCount;\n }\n };\n this.getDefaultValue = (value) => this.getLabelFromValue(value) || null;\n this.setDefaultValue = () => {\n if (!this.hasSetDefaultValue && this.currValue) {\n this.searchableSelectInputValue = this.searchable\n ? this.getDefaultValue(this.currValue)\n : null;\n this.initialValue = this.currValue;\n this.hasSetDefaultValue = true;\n }\n };\n this.onFocus = () => {\n this.icFocus.emit();\n };\n this.onBlur = ({ relatedTarget }) => {\n var _a;\n const target = relatedTarget;\n if (target !== null &&\n ((target.tagName === \"UL\" && target.className.includes(\"menu\")) ||\n (target.tagName === \"LI\" && target.className.includes(\"option\")))) {\n return;\n }\n const retryButton = (_a = this.menu) === null || _a === void 0 ? void 0 : _a.querySelector(\"#retry-button\");\n if (this.searchable &&\n !!this.menu &&\n target !== this.menu &&\n !Array.from(this.menu.querySelectorAll(\"[role='option']\")).includes(target) &&\n (!this.clearButton || target !== this.clearButton) &&\n (!retryButton || target !== retryButton)) {\n if (!this.retryButtonClick) {\n this.setMenuChange(false);\n // Clear input field on blur when searchable if no option is selected\n if (!this.value) {\n this.clearInput();\n }\n }\n this.handleFocusIndicatorDisplay();\n }\n this.retryButtonClick = false;\n this.icBlur.emit();\n };\n this.onTimeoutBlur = (ev) => {\n if (ev.detail.ev.relatedTarget !==\n this.searchableSelectElement &&\n !this.blurredBecauseButtonPressed) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n this.icBlur.emit();\n }\n this.blurredBecauseButtonPressed = false;\n };\n this.handleFormReset = () => {\n this.value = this.initialValue;\n if (this.searchable) {\n this.searchableSelectInputValue = this.getDefaultValue(this.value);\n this.hiddenInputValue = this.value;\n }\n };\n this.clearInput = () => {\n var _a;\n this.noOptions = null;\n if (this.searchable) {\n (_a = this.searchableSelectElement) === null || _a === void 0 ? void 0 : _a.setAttribute(\"value\", \"\");\n this.searchableSelectInputValue = null;\n this.filteredOptions = this.uniqueOptions;\n }\n };\n this.renderNativeOption = (option) => (h(\"option\", { value: option.value, disabled: option.disabled, selected: option.value === this.currValue }, option.label));\n }\n watchDisabledHandler() {\n removeDisabledFalse(this.disabled, this.el);\n }\n loadingHandler(newValue) {\n newValue ? this.triggerLoading() : this.setOptions();\n }\n watchOptionsHandler() {\n this.setOptions();\n }\n debounceChangedHandler(newValue) {\n if (this.currDebounce !== newValue) {\n this.currDebounce = newValue;\n }\n }\n valueChangedHandler() {\n if (this.value !== this.currValue) {\n if (this.value && this.multiple) {\n this.currValue = this.getMultipleOptionsString(this.value)\n ? this.getValueSortedByOptions(this.value)\n : null;\n this.updateMultiSelectedCountAriaLive();\n }\n else {\n this.currValue = this.getLabelFromValue(this.value)\n ? this.value\n : null;\n }\n }\n if (this.searchable && this.value) {\n // Only set if value not null - prevents whole input value being cleared when edited\n this.searchableSelectInputValue =\n this.getLabelFromValue(String(this.currValue)) || null;\n }\n }\n openChangedHandler() {\n this.open ? this.icOpen.emit() : this.icClose.emit();\n }\n disconnectedCallback() {\n var _a;\n removeFormResetListener(this.el, this.handleFormReset);\n (_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n componentWillLoad() {\n const valueInOptions = this.multiple\n ? this.getMultipleOptionsString(this.value)\n : this.getLabelFromValue(this.value);\n this.currValue = valueInOptions ? this.value : null;\n this.inheritedAttributes = inheritAttributes(this.el, MUTABLE_ATTRIBUTES);\n removeDisabledFalse(this.disabled, this.el);\n this.setOptionsValuesFromLabels();\n addFormResetListener(this.el, this.handleFormReset);\n if (!this.options.length) {\n this.initialOptionsEmpty = true;\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.uniqueOptions = this.noOptions;\n this.filteredOptions = this.noOptions;\n }\n else {\n this.setDefaultValue();\n this.uniqueOptions = this.deduplicateOptions(this.options);\n }\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([{ prop: this.label, propName: \"label\" }], \"Select\");\n if (this.loading) {\n this.triggerLoading();\n }\n if (this.searchable) {\n this.hiddenInputValue = this.currValue;\n }\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n childList: true,\n });\n }\n componentDidRender() {\n if (this.nativeSelectElement && !this.disabled) {\n this.setTextColor();\n }\n }\n /**\n * Sets focus on the input box.\n */\n async setFocus() {\n if (this.nativeSelectElement) {\n this.nativeSelectElement.focus();\n }\n else if (this.customSelectElement) {\n this.customSelectElement.focus();\n }\n else if (this.searchableSelectElement) {\n this.searchableSelectElement.focus();\n }\n }\n render() {\n var _a;\n const { size, disabled, fullWidth, helperText, hideLabel, label, menuId, multiple, name, options, placeholder, readonly, required, searchable, showClearButton, validationStatus, validationText, currValue, theme, hiddenInputValue, open, inputId, searchableSelectInputValue, loading, value, emptyOptionListText, uniqueOptions, selectOnEnter, form, inheritedAttributes, ariaActiveDescendant, hasTimedOut, noOptions, filteredOptions, clearButtonFocused, } = this;\n // HTML inputs only accept 'string' for their value\n // Does not cause errors when it is a multi-select - sets value correctly, to a comma-separated string\n renderHiddenInput(this.el, searchable ? hiddenInputValue : currValue, name || inputId, disabled);\n const invalid = `${validationStatus === IcInformationStatus.Error}`;\n const describedBy = getInputDescribedByText(this.el, inputId, helperText !== \"\", hasValidationStatus(validationStatus, !!disabled)).trim();\n const valueLabelString = multiple\n ? this.getMultipleOptionsString(currValue)\n : this.getLabelFromValue(currValue);\n const isClearable = !disabled &&\n (searchable\n ? !!searchableSelectInputValue\n : !!currValue && !loading && showClearButton);\n return (h(Host, { key: '4772c66e1053f7c19cafff3753af54715eab05d9', class: {\n \"ic-select-disabled\": disabled,\n \"ic-select-searchable\": searchable,\n [`ic-select-${size}`]: size !== \"medium\",\n \"ic-select-full-width\": fullWidth,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }, onBlur: this.onBlur }, h(\"ic-input-container\", { key: '8d4a5a0b53f01cc6740b9fc1f5fa0805e45c8169', readonly: readonly }, !hideLabel && (h(\"ic-input-label\", { key: '37e19194734f052932dd6ac7c56994f67802a1bd', for: inputId, label: label, helperText: helperText, required: required, disabled: disabled, readonly: readonly }, h(\"slot\", { key: '3b27f513ffc78d514c7695b1e5941041837efd55', name: \"helper-text\", slot: \"helper-text\" }))), h(\"ic-input-component-container\", { key: 'a5bf5d711e23862ec08fb8f8e85ce0beec436ccc', ref: (el) => (this.anchorEl = el), class: { \"menu-open\": open }, size: size, fullWidth: fullWidth, disabled: disabled, readonly: readonly, validationStatus: validationStatus }, isSlotUsed(this.el, \"icon\") &&\n !disabled &&\n (!readonly || !!value) && (h(\"span\", { key: '42fc8c78302cde968d3c96ad72c9aac66652829e', slot: \"left-icon\", class: {\n readonly,\n \"has-value\": !!value,\n } }, h(\"slot\", { key: '0cf7160335785716303e4e2e602be1a2d975098e', name: \"icon\" }))), readonly ? (h(\"ic-typography\", null, h(\"p\", null, valueLabelString))) : isMobileOrTablet() && !multiple ? (h(\"select\", Object.assign({ ref: (el) => (this.nativeSelectElement = el), disabled: disabled, onChange: this.handleNativeSelectChange, required: required, id: inputId, \"aria-label\": label, \"aria-describedby\": describedBy, \"aria-invalid\": invalid, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.handleNativeSelectKeyDown, form: form }, inheritedAttributes), h(\"option\", { value: \"\", selected: true, disabled: !showClearButton }, placeholder), options.map((option) => option.children ? (h(\"optgroup\", { label: option.label }, option.children.map((child) => this.renderNativeOption(child)))) : (this.renderNativeOption(option))))) : searchable ? (h(\"div\", { class: \"searchable-select-container\" }, h(\"input\", { class: {\n \"select-input\": true,\n \"with-clear-button\": !!searchableSelectInputValue,\n }, role: \"combobox\", autocomplete: \"off\", \"aria-label\": label, \"aria-describedby\": describedBy, \"aria-activedescendant\": ariaActiveDescendant, \"aria-autocomplete\": \"list\", \"aria-expanded\": `${open}`, \"aria-invalid\": invalid, \"aria-required\": `${required}`, \"aria-controls\": menuId, ref: (el) => (this.searchableSelectElement = el), id: inputId, value: searchableSelectInputValue || undefined, placeholder: placeholder, disabled: disabled, onInput: this.handleSearchableSelectInput, onClick: this.handleClick, onKeyDown: this.handleKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, form: form }), isClearable && (h(\"div\", { class: \"clear-button-container\" }, h(\"ic-button\", { id: \"clear-button\", ref: (el) => (this.clearButton = el), \"aria-label\": searchableSelectInputValue &&\n (currValue === null || loading)\n ? \"Clear input\"\n : \"Clear selection\", class: \"clear-button\", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: size, variant: \"icon\", theme: clearButtonFocused ? \"light\" : \"dark\" }), h(\"div\", { class: \"divider\" }))), h(\"span\", { onMouseDown: this.handleExpandIconMouseDown, class: {\n \"expand-icon\": true,\n \"expand-icon-open\": open,\n }, innerHTML: Expand, \"aria-hidden\": \"true\" }), h(\"div\", { \"aria-live\": \"polite\", role: \"status\", class: \"searchable-select-results-status\" }))) : (h(\"div\", { class: \"select-container\" }, h(\"button\", { class: \"select-input\", ref: (el) => (this.customSelectElement = el), id: inputId, \"aria-label\": `${label}, ${(multiple && currValue\n ? `${currValue.length} of ${getOptionsWithoutGroupTitlesCount(options)} selected, ${valueLabelString}`\n : valueLabelString) || placeholder}${required ? \", required\" : \"\"}`, \"aria-describedby\": describedBy, \"aria-invalid\": invalid, \"aria-haspopup\": \"listbox\", \"aria-expanded\": `${open}`, \"aria-owns\": menuId, \"aria-controls\": menuId, disabled: disabled, onBlur: this.onBlur, onFocus: this.onFocus, onClick: this.handleClick, onMouseDown: this.handleMouseDown, onKeyDown: this.handleKeyDown }, h(\"ic-typography\", { variant: \"body\", class: {\n \"value-text\": true,\n \"with-clear-button\": isClearable,\n placeholder: !loading && multiple\n ? !value || value.length < 1\n : !this.getLabelFromValue(currValue),\n } }, valueLabelString || placeholder), h(\"div\", { class: \"select-input-end\" }, isClearable && h(\"div\", { class: \"divider\" }), h(\"span\", { class: {\n \"expand-icon\": true,\n \"expand-icon-open\": open,\n }, innerHTML: Expand, \"aria-hidden\": \"true\" }))), isClearable && (h(\"ic-button\", { id: \"clear-button\", \"aria-label\": \"Clear selection\", class: \"clear-button\", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: size, variant: \"icon\", theme: clearButtonFocused ? \"light\" : \"dark\" }))))), (!isMobileOrTablet() || multiple) && (h(\"ic-menu\", { key: '3c09e05b72ddab09e9cfe2fb3ba2e403964dcb37', class: {\n \"no-results\": loading ||\n hasTimedOut ||\n ((_a = noOptions === null || noOptions === void 0 ? void 0 : noOptions[0]) === null || _a === void 0 ? void 0 : _a.label) === emptyOptionListText,\n }, ref: (el) => (this.menu = el), inputEl: searchable\n ? this.searchableSelectElement\n : this.customSelectElement, inputLabel: label, anchorEl: this.anchorEl, size: size, menuId: menuId, open: open, options: searchable ? filteredOptions : uniqueOptions, value: multiple ? currValue : currValue, fullWidth: fullWidth, selectOnEnter: selectOnEnter, onMenuStateChange: this.handleMenuChange, onMenuOptionSelect: this.handleCustomSelectChange, onMenuOptionSelectAll: this.handleSelectAllChange, onMenuKeyPress: this.handleMenuKeyPress, onUngroupedOptionsSet: this.setUngroupedOptions, onRetryButtonClicked: this.handleRetry, parentEl: this.el, onTimeoutBlur: this.onTimeoutBlur, activationType: searchable || multiple || selectOnEnter ? \"manual\" : \"automatic\", closeOnSelect: !multiple })), multiple && (h(\"div\", { key: '744fd85d0482cc49928b5d167691a58ff87d22ab', \"aria-live\": \"polite\", role: \"status\", class: \"multi-select-selected-count\" })), hasValidationStatus(validationStatus, disabled) && (h(\"ic-input-validation\", { key: '034f52ca6c0b23f29d784ec342a83e9434a0e352', class: { \"menu-open\": open }, ariaLiveMode: \"polite\", status: validationStatus, message: validationText, for: inputId })))));\n }\n static get is() { return \"ic-select\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-select.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-select.css\"]\n };\n }\n static get properties() {\n return {\n \"disabled\": {\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 disabled state will be set.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"disabled\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"disableAutoFiltering\": {\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 built in filtering will be disabled for a searchable variant. For example, if options will already be filtered from external source.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"disable-auto-filtering\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\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 \"getter\": false,\n \"setter\": false,\n \"attribute\": \"empty-option-list-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"No results found\\\"\"\n },\n \"form\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The <form> element to associate the select with.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"form\",\n \"reflect\": 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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the select will fill the width of the container.\"\n },\n \"getter\": false,\n \"setter\": false,\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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The helper text that will be displayed for additional field guidance.\"\n },\n \"getter\": false,\n \"setter\": false,\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\": false,\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 \"getter\": false,\n \"setter\": false,\n \"attribute\": \"hide-label\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"includeDescriptionsInSearch\": {\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`, descriptions of options will be included when filtering options in a searchable select. Only applies to built in filtering.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"include-descriptions-in-search\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"includeGroupTitlesInSearch\": {\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`, group titles of grouped options will be included when filtering options in a searchable select. Only applies to built in filtering.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"include-group-titles-in-search\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\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 select.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"label\",\n \"reflect\": 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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The message displayed when external loading times out.\"\n },\n \"getter\": false,\n \"setter\": false,\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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The message displayed whilst the options are being loaded externally.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"loading-label\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Loading...\\\"\"\n },\n \"multiple\": {\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`, multiple options can be selected.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"multiple\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\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 \"getter\": false,\n \"setter\": false,\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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The placeholder value to be displayed.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"placeholder\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Select an option\\\"\"\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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the readonly state will be set.\"\n },\n \"getter\": false,\n \"setter\": false,\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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the select will require a value.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"required\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"searchable\": {\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`, a searchable variant of the select will be displayed which can be typed in to filter options. This functionality is only available on the single-select variant of the select component.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"searchable\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"searchMatchPosition\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSearchMatchPositions\",\n \"resolved\": \"\\\"anywhere\\\" | \\\"start\\\"\",\n \"references\": {\n \"IcSearchMatchPositions\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSearchMatchPositions\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Whether the search string of the searchable select should match the start of or anywhere in the options. Only applies to built in filtering.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"search-match-position\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"anywhere\\\"\"\n },\n \"selectOnEnter\": {\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 icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown on the single select.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"select-on-enter\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"showClearButton\": {\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`, a button which clears the select input when clicked will be displayed. The button will always appear on the searchable select.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"show-clear-button\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"large\\\" | \\\"medium\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the select.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"medium\\\"\"\n },\n \"timeout\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\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 \"getter\": false,\n \"setter\": false,\n \"attribute\": \"timeout\",\n \"reflect\": false\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n },\n \"validationStatus\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcInformationStatusOrEmpty\",\n \"resolved\": \"\\\"\\\" | \\\"error\\\" | \\\"success\\\" | \\\"warning\\\"\",\n \"references\": {\n \"IcInformationStatusOrEmpty\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcInformationStatusOrEmpty\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The validation status - e.g. 'error' | 'warning' | 'success'.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"validation-status\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"validationText\": {\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 to display as the validation message.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"validation-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the loading state will be triggered when fetching options asynchronously.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"loading\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The possible selection options.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"defaultValue\": \"[]\"\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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The amount of time, in milliseconds, to wait to trigger the `icInput` event after each keystroke.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"debounce\",\n \"reflect\": false,\n \"defaultValue\": \"0\"\n },\n \"value\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"string | string[] | null\",\n \"resolved\": \"null | string | string[]\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The value of the select, reflected by the value of the currently selected option.\\nFor the searchable variant, the value is also reflected by the user input.\\nFor the multi-select variant, the value must be an array of option values.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"value\",\n \"reflect\": false,\n \"defaultValue\": \"null\"\n }\n };\n }\n static get states() {\n return {\n \"ariaActiveDescendant\": {},\n \"clearButtonFocused\": {},\n \"debounceIcInput\": {},\n \"hiddenInputValue\": {},\n \"noOptions\": {},\n \"open\": {},\n \"pressedCharacters\": {},\n \"searchableSelectInputValue\": {},\n \"filteredOptions\": {},\n \"uniqueOptions\": {},\n \"currDebounce\": {},\n \"initialValue\": {},\n \"inputValueToFilter\": {},\n \"currValue\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icBlur\",\n \"name\": \"icBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the select loses focus.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\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 changes.\"\n },\n \"complexType\": {\n \"original\": \"IcMultiValueEventDetail\",\n \"resolved\": \"IcMultiValueEventDetail\",\n \"references\": {\n \"IcMultiValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcMultiValueEventDetail\"\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 the clear or clear all button is clicked.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"icClose\",\n \"name\": \"icClose\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the select options menu is closed.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"icFocus\",\n \"name\": \"icFocus\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the select gains focus.\"\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\": \"IcMultiValueEventDetail\",\n \"resolved\": \"IcMultiValueEventDetail\",\n \"references\": {\n \"IcMultiValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcMultiValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icOpen\",\n \"name\": \"icOpen\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the select options menu is opened.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\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 an option is selected.\\nSelecting an option will also trigger an `icChange/onIcChange` due to the value being updated.\"\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\": \"icOptionDeselect\",\n \"name\": \"icOptionDeselect\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when `multiple` is `true` and an option is deselected.\"\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\": \"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 for a searchable variant.\"\n },\n \"complexType\": {\n \"original\": \"IcMultiValueEventDetail\",\n \"resolved\": \"IcMultiValueEventDetail\",\n \"references\": {\n \"IcMultiValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcMultiValueEventDetail\"\n }\n }\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 input box.\",\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\": \"options\",\n \"methodName\": \"watchOptionsHandler\"\n }, {\n \"propName\": \"debounce\",\n \"methodName\": \"debounceChangedHandler\"\n }, {\n \"propName\": \"value\",\n \"methodName\": \"valueChangedHandler\"\n }, {\n \"propName\": \"open\",\n \"methodName\": \"openChangedHandler\"\n }];\n }\n}\n//# sourceMappingURL=ic-select.js.map\n"],"version":3}
|
1
|
+
{"file":"ic-select2.js","mappings":"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","names":[],"sources":["../web-components/dist/collection/components/ic-select/ic-select.css?tag=ic-select&encapsulation=shadow","../web-components/dist/collection/components/ic-select/ic-select.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 --input-width: Width of the input field\n * @prop --menu-width: Width of the dropdown menu\n * @prop --ic-z-index-menu: z-index of select menu\n */\n\n:host {\n display: block;\n position: relative;\n\n --ic-input-label-helpertext-padding: var(--ic-space-xs);\n --menu-max-height: 100px;\n --border-color: var(--ic-select-field-border);\n --border-color-hover: var(--ic-select-field-border-hover);\n --border-color-pressed: var(--ic-select-field-border-pressed);\n --border-color-disabled: var(--ic-select-field-border-disabled);\n --border-color-error: var(--ic-select-field-border-error);\n --border-color-error-hover: var(--ic-select-field-border-error-hover);\n --border-color-error-pressed: var(--ic-select-field-border-error-pressed);\n --border-color-success: var(--ic-select-field-border-success);\n --border-color-success-hover: var(--ic-select-field-border-success-hover);\n --border-color-success-pressed: var(--ic-select-field-border-success-pressed);\n --border-color-warning: var(--ic-select-field-border-warning);\n --border-color-warning-hover: var(--ic-select-field-border-warning-hover);\n --border-color-warning-pressed: var(--ic-select-field-border-warning-pressed);\n --ic-input-label-text-color: var(--ic-select-field-labe);\n --ic-input-label-helper-text-color: var(\n --ic-select-input-field-label-subtitle\n );\n --ic-input-validation-status-text-color: var(--ic-select-state-text);\n --ic-input-validation-error: var(--ic-select-state-icon-error);\n --ic-input-validation-warning-icon-color: var(--ic-select-state-icon-warning);\n --ic-input-validation-success-icon-color: var(--ic-select-state-icon-success);\n --menu-item-text-color: var(--ic-select-list-option-text);\n --menu-bg-color: var(--ic-select-list-option-background);\n --menu-border-color: var(--ic-select-dropdown-list-border);\n}\n\n:host(.ic-select-disabled) {\n --ic-input-label-text-color: var(--ic-select-field-label-disabled);\n --ic-input-label-helper-text-color: var(\n --ic-select-input-field-label-subtitle-disabled\n );\n}\n\n:host(.ic-select-full-width) {\n width: 100%;\n}\n\nic-input-component-container.menu-open {\n --border-color: var(--ic-select-field-border-pressed);\n}\n\nic-input-validation .status-icon,\nic-input-validation .statustext {\n visibility: visible;\n}\n\nic-input-validation.menu-open .status-icon,\nic-input-validation.menu-open .statustext {\n visibility: hidden;\n transition: visibility 0s;\n}\n\nic-input-label {\n margin-bottom: var(--ic-space-xs);\n}\n\nselect {\n border: 0;\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-select-field-background);\n color: var(--ic-select-content-text);\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n height: 100%;\n padding-left: 0.375rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background-repeat: no-repeat;\n background-position: right 0.375rem center;\n background-image: var(--ic-select-mobile-dropdown-icon);\n caret-color: var(--ic-select-input-field-text-cursor);\n}\n\nselect option,\n.select-option-selected {\n color: var(--ic-select-list-option-text);\n}\n\nselect:disabled {\n color: var(--ic-select-content-text-disabled);\n background-image: var(--ic-select-mobile-dropdown-icon-disabled);\n}\n\nselect:focus {\n border: 0;\n outline: 0;\n}\n\nselect:not([disabled]) {\n cursor: pointer;\n}\n\n.select-container {\n width: 100%;\n display: flex;\n align-items: center;\n position: relative;\n}\n\n.select-input {\n width: 100%;\n height: 100%;\n padding: 0 0.375rem;\n display: flex;\n cursor: pointer;\n align-items: center;\n justify-content: space-between;\n background: none;\n border: none;\n background-color: var(--ic-select-field-background);\n color: var(--ic-select-content-text);\n}\n\n.select-input:focus {\n outline: none;\n}\n\n.select-input[disabled] {\n pointer-events: none;\n}\n\n:host(.ic-select-searchable) .select-input {\n cursor: auto;\n}\n\n.select-input.with-clear-button {\n padding-right: 0;\n}\n\n.value-text {\n max-width: calc(100% - (var(--ic-space-lg) + var(--ic-space-xxs)));\n box-sizing: border-box;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n margin-bottom: 0 !important;\n}\n\n.value-text.with-clear-button {\n padding-right: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n.searchable-select-container {\n align-items: center;\n display: flex;\n width: 100%;\n position: relative;\n}\n\n.expand-icon {\n height: var(--ic-space-lg);\n padding-left: var(--ic-space-xxs);\n color: var(--ic-select-expand-icon-color);\n}\n\n.expand-icon > svg {\n display: inline-block;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.ic-select-disabled) .expand-icon,\n:host(.ic-select-disabled) .expand-icon > svg > path {\n color: var(--ic-select-disabled-expand-icon-color);\n}\n\n:host(.ic-select-searchable) .expand-icon {\n padding-left: 0;\n height: 2.25rem;\n}\n\n:host(.ic-select-searchable) .expand-icon > svg {\n height: 2.25rem;\n padding: 0 calc(var(--ic-space-xxxs) + var(--ic-space-xxs)) 0\n var(--ic-space-xxs);\n}\n\n:host(.ic-select-searchable:not(.ic-select-disabled)) .expand-icon > svg {\n cursor: pointer;\n}\n\n.expand-icon-open {\n color: var(--ic-select-expand-icon-color);\n}\n\n.expand-icon-open,\n:host(.ic-select-searchable) .expand-icon-open {\n transform: rotateX(180deg);\n}\n\n.placeholder {\n color: var(--ic-select-content-placeholder-text);\n}\n\n:host(.ic-select-disabled.ic-select-searchable) .select-input::-moz-placeholder {\n color: var(--ic-select-content-text-disabled);\n}\n\n:host(.ic-select-disabled) .value-text,\n:host(.ic-select-disabled) .select-input,\n:host(.ic-select-disabled) .placeholder,\n:host(.ic-select-disabled.ic-select-searchable) .select-input::placeholder {\n color: var(--ic-select-content-text-disabled);\n}\n\n.select-input-end {\n display: flex;\n align-items: center;\n}\n\n.clear-button-container {\n display: flex;\n align-items: center;\n}\n\n.divider {\n width: var(--ic-space-1px);\n background-color: var(--ic-select-content-divider);\n margin: var(--ic-space-xxs) 0;\n border-radius: var(--ic-space-1px);\n height: var(--ic-space-lg);\n}\n\n:host(.ic-select-small) .divider {\n height: var(--ic-space-md);\n}\n\n:host(.ic-select-large) .divider {\n height: var(--ic-space-xl);\n}\n\n.clear-button {\n color: var(--ic-select-clear-button);\n position: absolute;\n right: calc(var(--ic-space-xl) + var(--ic-space-xxs) - var(--ic-space-1px));\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-color-focus-inner);\n box-shadow: inset 0 0 0 0.125rem var(--ic-color-focus-outer);\n border-radius: 0.25rem;\n}\n\n.clear-button:focus,\n.clear-button:active * {\n fill: var(--ic-atoms-input-clear-button-focus);\n}\n\n.clear-button.searchable {\n position: static;\n}\n\n.searchable-select-results-status,\n.multi-select-selected-count {\n border: 0;\n clip: rect(0, 0, 0, 0, 0);\n height: 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\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-select-content-placeholder-text);\n}\n\n.has-value ::slotted([slot=\"icon\"]) {\n fill: var(--ic-select-content-text);\n}\n\n.readonly ::slotted([slot=\"icon\"]) {\n padding: 0.375rem;\n margin-bottom: 0.75rem;\n}\n\n@media (forced-colors: active) {\n .has-value ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n}\n","import { Host, h, forceUpdate, } from \"@stencil/core\";\nimport { getInputDescribedByText, getLabelFromValue, hasValidationStatus, inheritAttributes, onComponentRequiredPropUndefined, renderHiddenInput, isMobileOrTablet, getFilteredMenuOptions, getOptionsWithoutGroupTitlesCount, addFormResetListener, removeFormResetListener, removeDisabledFalse, checkSlotInChildMutations, isSlotUsed, } from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport { IcInformationStatus, } from \"../../utils/types\";\nimport Expand from \"./assets/Expand.svg\";\nimport Clear from \"./assets/Clear.svg\";\nlet inputIds = 0;\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"tabindex\", \"title\"];\n/**\n * @slot helper-text - Content is set as the helper text for the select.\n * @slot icon - Content will be placed to the left of the select text input.\n */\nexport class Select {\n constructor() {\n this.blurredBecauseButtonPressed = false;\n this.hasSetDefaultValue = false;\n this.hasTimedOut = false;\n this.inheritedAttributes = {};\n this.initialOptionsEmpty = false;\n this.inputId = `ic-select-input-${inputIds++}`;\n this.menuId = `${this.inputId}-menu`;\n this.retryButtonClick = false;\n this.searchableMenuItemSelected = false;\n this.ungroupedOptions = [];\n this.hostMutationObserver = null;\n this.clearButtonFocused = false;\n this.noOptions = null;\n this.open = false;\n this.pressedCharacters = \"\";\n this.searchableSelectInputValue = null;\n /**\n * If `true`, the disabled state will be set.\n */\n this.disabled = false;\n /**\n * If `true`, the built in filtering will be disabled for a searchable variant. For example, if options will already be filtered from external source.\n */\n this.disableAutoFiltering = false;\n /**\n * The text displayed when there are no options in the option list.\n */\n this.emptyOptionListText = \"No results found\";\n /**\n * If `true`, the select will fill the width of the container.\n */\n this.fullWidth = false;\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n this.helperText = \"\";\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n this.hideLabel = false;\n /**\n * If `true`, descriptions of options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n this.includeDescriptionsInSearch = false;\n /**\n * If `true`, group titles of grouped options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n this.includeGroupTitlesInSearch = false;\n /**\n * The message displayed when external loading times out.\n */\n this.loadingErrorLabel = \"Loading Error\";\n /**\n * The message displayed whilst the options are being loaded externally.\n */\n this.loadingLabel = \"Loading...\";\n /**\n * If `true`, multiple options can be selected.\n */\n this.multiple = false;\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = this.inputId;\n /**\n * The placeholder value to be displayed.\n */\n this.placeholder = \"Select an option\";\n /**\n * If `true`, the readonly state will be set.\n */\n this.readonly = false;\n /**\n * If `true`, the select will require a value.\n */\n this.required = false;\n /**\n * If `true`, a searchable variant of the select will be displayed which can be typed in to filter options. This functionality is only available on the single-select variant of the select component.\n */\n this.searchable = false;\n /**\n * Whether the search string of the searchable select should match the start of or anywhere in the options. Only applies to built in filtering.\n */\n this.searchMatchPosition = \"anywhere\";\n /**\n * If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown on the single select.\n */\n this.selectOnEnter = false;\n /**\n * If `true`, a button which clears the select input when clicked will be displayed. The button will always appear on the searchable select.\n */\n this.showClearButton = false;\n /**\n * The size of the select.\n */\n this.size = \"medium\";\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n this.theme = \"inherit\";\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n this.validationStatus = \"\";\n /**\n * The text to display as the validation message.\n */\n this.validationText = \"\";\n /**\n * If `true`, the loading state will be triggered when fetching options asynchronously.\n */\n this.loading = false;\n /**\n * The possible selection options.\n */\n this.options = [];\n this.filteredOptions = this.options;\n this.uniqueOptions = this.options;\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icInput` event after each keystroke.\n */\n this.debounce = 0;\n this.currDebounce = this.debounce;\n /**\n * The value of the select, reflected by the value of the currently selected option.\n * For the searchable variant, the value is also reflected by the user input.\n * For the multi-select variant, the value must be an array of option values.\n */\n this.value = null;\n this.initialValue = this.value;\n this.inputValueToFilter = this.value;\n // triggered when attributes of host element change\n this.hostMutationCallback = (mutationList) => {\n let forceComponentUpdate = false;\n mutationList.forEach(({ attributeName, type, addedNodes, removedNodes }) => {\n if (attributeName) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute && MUTABLE_ATTRIBUTES.includes(attributeName)) {\n this.inheritedAttributes[attributeName] = attribute;\n forceComponentUpdate = true;\n }\n }\n else if (type === \"childList\") {\n forceComponentUpdate = checkSlotInChildMutations(addedNodes, removedNodes, \"icon\");\n }\n });\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n this.handleRetry = (ev) => {\n var _a;\n if (ev.detail.keyPressed)\n (_a = this.searchableSelectElement) === null || _a === void 0 ? void 0 : _a.focus();\n this.blurredBecauseButtonPressed = true;\n this.retryButtonClick = true;\n this.hasSetDefaultValue = true;\n this.icRetryLoad.emit({\n value: this.searchable\n ? this.searchableSelectInputValue\n : this.hiddenInputValue,\n });\n };\n this.emitIcChange = (value) => {\n // If \"Select all\" button clicked, replace value with new value (array of all option values)\n if (this.multiple && !Array.isArray(value) && value !== null) {\n // Update selected options - adds / removes them, in order of option list\n // Create new array if value prop is undefined\n if (this.value) {\n let valueArray = this.value.slice();\n if (this.value.includes(value)) {\n valueArray.splice(valueArray.indexOf(value), 1);\n }\n else {\n valueArray.push(value);\n valueArray = this.getValueSortedByOptions(valueArray);\n }\n this.value = valueArray.length === 0 ? null : valueArray;\n }\n else {\n this.value = [value];\n }\n }\n else {\n this.value = value;\n }\n this.icChange.emit({ value: this.multiple ? this.value : value });\n };\n this.emitIcInput = (value) => {\n clearTimeout(this.debounceIcInput);\n this.debounceIcInput = window.setTimeout(() => this.icInput.emit({ value }), this.currDebounce);\n };\n this.setOptions = () => {\n if (!this.hasTimedOut && this.options !== this.noOptions) {\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n if (this.options.length > 0) {\n this.setOptionsValuesFromLabels();\n this.uniqueOptions = this.deduplicateOptions(this.options);\n }\n else {\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.uniqueOptions = this.noOptions;\n }\n this.filteredOptions = this.uniqueOptions;\n if (this.isExternalFiltering()) {\n // When searchable select\n this.noOptions = null;\n this.updateSearchableSelectResultAriaLive();\n this.setDefaultValue();\n }\n else if (this.initialOptionsEmpty) {\n this.setDefaultValue();\n this.initialOptionsEmpty = false;\n }\n }\n else if (!this.searchable) {\n this.options = this.noOptions || [];\n }\n };\n /**\n * Processes the provided array of IcMenuOptions, removing duplicates and reporting them with a console.warn\n * @param options array of IcMenuOptions\n * @returns a new options object, with all entries possessing a duplicate 'value' field removed\n */\n this.deduplicateOptions = (options) => {\n const uniqueValues = [];\n const dedupedOptions = [];\n options.forEach((option) => {\n if (option.children) {\n //If an option has children, we will loop through them\n const dedupedChildren = [];\n option.children.forEach((child) => {\n if (uniqueValues.includes(child.value)) {\n console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${child.value}) which has been removed.`);\n }\n else {\n uniqueValues.push(child.value);\n dedupedChildren.push(child);\n }\n });\n // construct a modified option, inserting the deduplicated children alongside the original information\n dedupedOptions.push(Object.assign(Object.assign({}, option), { children: dedupedChildren }));\n }\n else {\n // If an option does not have children, assess to see if it's value has been included already\n if (uniqueValues.includes(option.value)) {\n console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${option.value}) which has been removed.`);\n }\n else {\n uniqueValues.push(option.value);\n dedupedOptions.push(option);\n }\n }\n });\n return dedupedOptions;\n };\n /**\n * Loop through options array and for all options with no value, infer it from the label\n */\n this.setOptionsValuesFromLabels = () => {\n if (this.options.length > 0) {\n this.options.map((option) => {\n if (!option.value) {\n option.value = option.label;\n }\n });\n }\n };\n this.setUngroupedOptions = (event) => {\n this.ungroupedOptions = event.detail.options;\n };\n this.setTextColor = () => {\n if (this.nativeSelectElement) {\n this.nativeSelectElement.className =\n this.nativeSelectElement.selectedIndex === 0\n ? \"placeholder\"\n : \"select-option-selected\";\n }\n };\n this.setMenuChange = (open) => {\n if (this.open !== open) {\n this.open = open;\n }\n };\n this.getLabelFromValue = (value) => getLabelFromValue(value, this.uniqueOptions);\n this.getMultipleOptionsString = (selectedValues) => selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.map((value) => this.getLabelFromValue(value)).filter((label) => !!label).join(\", \");\n this.getFilteredChildMenuOptions = (option) => (Object.assign(Object.assign({}, option), { children: option.children &&\n getFilteredMenuOptions(option.children, this.searchable && !!this.includeDescriptionsInSearch, this.searchable\n ? this.searchableSelectInputValue || \"\"\n : this.pressedCharacters, this.searchable ? this.searchMatchPosition : \"start\") }));\n // (For multi-select) get value array, i.e. selected option values, in order they appear in option list\n this.getValueSortedByOptions = (value) => {\n const valueArray = value;\n const valuesFromAllOptions = this.ungroupedOptions.map((option) => option.value);\n valueArray.sort((a, b) => valuesFromAllOptions.indexOf(a) - valuesFromAllOptions.indexOf(b));\n return valueArray;\n };\n this.handleNativeSelectChange = () => {\n if (this.nativeSelectElement) {\n this.icOptionSelect.emit({ value: this.nativeSelectElement.value });\n this.emitIcChange(this.nativeSelectElement.value);\n }\n this.setTextColor();\n };\n // Handle option select for when a custom input box and menu is rendered\n // (rather than native <select> - rendered when viewed on a mobile / tablet screen)\n this.handleCustomSelectChange = (event) => {\n var _a, _b;\n const { value, label, optionId } = event.detail;\n if (label === this.emptyOptionListText) {\n (_a = this.searchableSelectElement) === null || _a === void 0 ? void 0 : _a.focus();\n return;\n }\n if (this.searchable) {\n this.value = value || null;\n this.searchableMenuItemSelected = true;\n // After editing the input, if selecting the same option as before, set the input value to label again\n if (this.value === this.currValue) {\n this.searchableSelectInputValue =\n this.getLabelFromValue(this.value) || null;\n }\n this.inputValueToFilter = null;\n this.hiddenInputValue =\n this.getValueFromLabel(this.searchableSelectInputValue) || null;\n }\n if (value) {\n if (this.multiple && ((_b = this.value) === null || _b === void 0 ? void 0 : _b.includes(value))) {\n this.icOptionDeselect.emit({ value });\n }\n else {\n this.icOptionSelect.emit({ value });\n }\n }\n this.ariaActiveDescendant = optionId;\n this.emitIcChange(value || null);\n };\n this.handleSelectAllChange = ({ detail, }) => {\n const allValues = this.ungroupedOptions\n .filter((option) => !option.disabled)\n .map((option) => option.value);\n if (detail.select) {\n // Only emit icOptionSelect for all values that are newly selected\n const unselectedValues = this.value\n ? allValues.filter((value) => this.value && !this.value.includes(value))\n : allValues;\n unselectedValues.forEach((value) => this.icOptionSelect.emit({ value }));\n }\n else {\n // Only emit icOptionDeselect for values that were selected\n this.value.forEach((value) => this.icOptionDeselect.emit({ value }));\n }\n this.emitIcChange(detail.select ? allValues : null);\n };\n this.handleMenuChange = (event) => {\n this.open = event.detail.open;\n this.pressedCharacters = \"\";\n if (this.searchable)\n this.handleFocusIndicatorDisplay();\n };\n // clears the debounce delay when navigating the menu with arrow keys etc\n // to prevent delay in change event, which should only occur when typing in input\n this.handleMenuKeyPress = (ev) => {\n ev.cancelBubble = true;\n if (!this.multiple) {\n this.handleCharacterKeyDown(ev.detail.key);\n }\n };\n this.handleFocusIndicatorDisplay = () => {\n var _a;\n const focusIndicator = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\".focus-indicator\");\n if (focusIndicator) {\n if (this.open) {\n focusIndicator.classList.add(\"focus-indicator-enabled\");\n }\n else {\n focusIndicator.classList.remove(\"focus-indicator-enabled\");\n }\n }\n };\n this.handleMouseDown = (event) => {\n if (!this.open) {\n event.preventDefault();\n }\n };\n this.isExternalFiltering = () => this.searchable && !!this.disableAutoFiltering;\n this.handleClick = (event) => {\n var _a, _b;\n if (!this.open && this.menu) {\n if (this.isExternalFiltering()) {\n this.menu.options = this.filteredOptions;\n }\n else if (!this.hasTimedOut &&\n !this.loading &&\n !((_a = this.noOptions) === null || _a === void 0 ? void 0 : _a.length) &&\n (!this.searchable || this.searchableMenuItemSelected)) {\n this.noOptions = null;\n this.menu.options = this.uniqueOptions;\n }\n }\n if (event.detail !== 0) {\n (_b = this.menu) === null || _b === void 0 ? void 0 : _b.handleClickOpen();\n }\n };\n this.handleExpandIconMouseDown = (event) => {\n var _a;\n if (!this.disabled) {\n event.preventDefault();\n (_a = this.searchableSelectElement) === null || _a === void 0 ? void 0 : _a.focus();\n this.handleClick(event);\n }\n };\n this.handleClear = (event) => {\n var _a, _b;\n event.stopPropagation();\n this.hasTimedOut = false;\n clearTimeout(this.timeoutTimer);\n this.clearInput();\n this.emitIcChange(null);\n this.icClear.emit();\n if (this.searchable) {\n this.hiddenInputValue = null;\n (_a = this.searchableSelectElement) === null || _a === void 0 ? void 0 : _a.focus();\n }\n else {\n (_b = this.customSelectElement) === null || _b === void 0 ? void 0 : _b.focus();\n }\n };\n this.handleCharacterKeyDown = (key) => {\n // Only close menu when space is pressed if not being used alongside character keys to quickly select options\n if (this.open && key === \" \" && this.pressedCharacters.length === 0) {\n this.setMenuChange(false);\n }\n if (key.length !== 1 || this.searchable) {\n this.pressedCharacters = \"\";\n return;\n }\n window.clearTimeout(this.characterKeyPressTimer);\n this.characterKeyPressTimer = window.setTimeout(() => (this.pressedCharacters = \"\"), 1000);\n if (key !== \" \" || !!this.pressedCharacters) {\n this.pressedCharacters += key;\n this.handleFilter();\n if (!this.noOptions) {\n this.emitIcChange(this.filteredOptions[0].value);\n }\n }\n };\n this.handleNativeSelectKeyDown = (event) => {\n if ((event.key !== \"Escape\" && event.key !== \"Tab\") || this.open) {\n event.cancelBubble = true;\n }\n this.handleCharacterKeyDown(event.key);\n };\n this.handleKeyDown = (event) => {\n var _a;\n if ((event.key !== \"Escape\" && event.key !== \"Tab\") || this.open) {\n event.cancelBubble = true;\n }\n const isArrowKey = event.key === \"ArrowDown\" || event.key === \"ArrowUp\";\n if (this.menu && !this.open) {\n if (this.isExternalFiltering() && (event.key === \"Enter\" || isArrowKey)) {\n this.menu.options = this.filteredOptions;\n }\n else if (!this.hasTimedOut) {\n this.noOptions = null;\n this.menu.options = this.uniqueOptions;\n }\n }\n if (this.open && event.key === \"Enter\") {\n this.setMenuChange(false);\n }\n else {\n if (!isArrowKey || this.noOptions === null) {\n if (event.key !== \" \" || this.pressedCharacters.length <= 0) {\n // Keyboard events get passed onto ic-menu\n (_a = this.menu) === null || _a === void 0 ? void 0 : _a.handleKeyboardOpen(event);\n }\n if (!this.multiple) {\n this.handleCharacterKeyDown(event.key);\n }\n }\n }\n };\n this.handleClearButtonFocus = () => {\n this.clearButtonFocused = true;\n };\n this.handleClearButtonBlur = (ev) => {\n var _a;\n const retryButton = (_a = this.menu) === null || _a === void 0 ? void 0 : _a.querySelector(\"#retry-button\");\n if ((!this.searchableSelectElement ||\n ev.relatedTarget !== this.searchableSelectElement) &&\n (!retryButton || ev.relatedTarget !== retryButton)) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n }\n this.clearButtonFocused = false;\n };\n this.handleFilter = () => {\n var _a;\n const options = this.deduplicateOptions(this.searchable ? [...this.uniqueOptions] : this.ungroupedOptions);\n const isGrouped = options.some((option) => !!option.children);\n let newFilteredOptions = [];\n let menuOptionsFiltered;\n if (this.searchable) {\n menuOptionsFiltered = getFilteredMenuOptions(options, !!this.includeDescriptionsInSearch, this.inputValueToFilter || \"\", this.searchMatchPosition);\n this.searchableMenuItemSelected = false;\n }\n else {\n menuOptionsFiltered = getFilteredMenuOptions(options, false, this.pressedCharacters, \"start\");\n }\n if (!isGrouped &&\n ((_a = menuOptionsFiltered[0]) === null || _a === void 0 ? void 0 : _a.label) !== this.emptyOptionListText) {\n newFilteredOptions = menuOptionsFiltered;\n }\n else if (isGrouped) {\n newFilteredOptions = options.map((option) => this.includeGroupTitlesInSearch &&\n menuOptionsFiltered.indexOf(option) !== -1\n ? option\n : this.getFilteredChildMenuOptions(option));\n }\n if (newFilteredOptions.length > 0 &&\n (!isGrouped ||\n newFilteredOptions.some(({ children }) => children && children.length > 0))) {\n this.noOptions = null;\n this.filteredOptions = newFilteredOptions;\n }\n else {\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.filteredOptions = this.noOptions;\n }\n };\n /**\n * Put the select component into loading state.\n * Replace options with the loading message. If timeout is enabled, set the timeout and once passed, replace options with the loading error message\n */\n this.triggerLoading = () => {\n this.hasTimedOut = false;\n this.noOptions = [{ label: this.loadingLabel, value: \"\", loading: true }];\n if (this.filteredOptions !== this.noOptions && this.searchable) {\n this.filteredOptions = this.noOptions;\n }\n else if (this.uniqueOptions !== this.noOptions && !this.searchable) {\n this.uniqueOptions = this.noOptions;\n }\n if (this.timeout) {\n this.timeoutTimer = window.setTimeout(() => {\n this.loading = false;\n this.hasTimedOut = true;\n this.noOptions = [\n { label: this.loadingErrorLabel, value: \"\", timedOut: true },\n ];\n this.filteredOptions = this.noOptions;\n if (!this.searchable)\n this.uniqueOptions = this.noOptions;\n }, this.timeout);\n }\n };\n this.getValueFromLabel = (label) => { var _a; return label && ((_a = this.uniqueOptions.find((option) => option.label === label)) === null || _a === void 0 ? void 0 : _a.value); };\n this.handleSearchableSelectInput = (event) => {\n this.searchableSelectInputValue = event.target.value;\n this.emitIcInput(this.searchableSelectInputValue);\n // De-select previous selection when input is edited\n // Only emit icChange once when editing input\n if (this.value != null) {\n this.emitIcChange(null);\n }\n this.hiddenInputValue = null;\n this.inputValueToFilter = this.searchableSelectInputValue;\n this.setMenuChange(true);\n if (!this.disableAutoFiltering) {\n this.handleFilter();\n clearTimeout(this.debounceAria);\n window.setTimeout(() => {\n this.updateSearchableSelectResultAriaLive();\n }, 800);\n }\n };\n this.updateSearchableSelectResultAriaLive = () => {\n var _a;\n const searchableSelectResultsStatusEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\".searchable-select-results-status\");\n if (searchableSelectResultsStatusEl) {\n searchableSelectResultsStatusEl.innerText =\n this.noOptions !== null ? this.emptyOptionListText : \"\";\n }\n };\n this.updateMultiSelectedCountAriaLive = () => {\n var _a, _b;\n const multiSelectSelectedCountEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\".multi-select-selected-count\");\n const selectedCount = `${(_b = this.currValue) === null || _b === void 0 ? void 0 : _b.length} of ${getOptionsWithoutGroupTitlesCount(this.options)} selected`;\n if (multiSelectSelectedCountEl &&\n multiSelectSelectedCountEl.innerText !== selectedCount) {\n multiSelectSelectedCountEl.innerText = selectedCount;\n }\n };\n this.getDefaultValue = (value) => this.getLabelFromValue(value) || null;\n this.setDefaultValue = () => {\n if (!this.hasSetDefaultValue && this.currValue) {\n this.searchableSelectInputValue = this.searchable\n ? this.getDefaultValue(this.currValue)\n : null;\n this.initialValue = this.currValue;\n this.hasSetDefaultValue = true;\n }\n };\n this.onFocus = () => {\n this.icFocus.emit();\n };\n this.onBlur = ({ relatedTarget }) => {\n var _a;\n const target = relatedTarget;\n if (target !== null &&\n ((target.tagName === \"UL\" && target.className.includes(\"menu\")) ||\n (target.tagName === \"LI\" && target.className.includes(\"option\")))) {\n return;\n }\n const retryButton = (_a = this.menu) === null || _a === void 0 ? void 0 : _a.querySelector(\"#retry-button\");\n if (this.searchable &&\n !!this.menu &&\n target !== this.menu &&\n !Array.from(this.menu.querySelectorAll(\"[role='option']\")).includes(target) &&\n (!this.clearButton || target !== this.clearButton) &&\n (!retryButton || target !== retryButton)) {\n if (!this.retryButtonClick) {\n this.setMenuChange(false);\n // Clear input field on blur when searchable if no option is selected\n if (!this.value) {\n this.clearInput();\n }\n }\n this.handleFocusIndicatorDisplay();\n }\n this.retryButtonClick = false;\n this.icBlur.emit();\n };\n this.onTimeoutBlur = (ev) => {\n if (ev.detail.ev.relatedTarget !==\n this.searchableSelectElement &&\n !this.blurredBecauseButtonPressed) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n this.icBlur.emit();\n }\n this.blurredBecauseButtonPressed = false;\n };\n this.handleFormReset = () => {\n this.value = this.initialValue;\n if (this.searchable) {\n this.searchableSelectInputValue = this.getDefaultValue(this.value);\n this.hiddenInputValue = this.value;\n }\n };\n this.clearInput = () => {\n var _a;\n this.noOptions = null;\n if (this.searchable) {\n (_a = this.searchableSelectElement) === null || _a === void 0 ? void 0 : _a.setAttribute(\"value\", \"\");\n this.searchableSelectInputValue = null;\n this.filteredOptions = this.uniqueOptions;\n }\n };\n this.renderNativeOption = (option) => (h(\"option\", { value: option.value, disabled: option.disabled, selected: option.value === this.currValue }, option.label));\n }\n watchDisabledHandler() {\n removeDisabledFalse(this.disabled, this.el);\n }\n loadingHandler(newValue) {\n newValue ? this.triggerLoading() : this.setOptions();\n }\n watchOptionsHandler() {\n this.setOptions();\n }\n debounceChangedHandler(newValue) {\n if (this.currDebounce !== newValue) {\n this.currDebounce = newValue;\n }\n }\n valueChangedHandler() {\n if (this.value !== this.currValue) {\n if (this.value && this.multiple) {\n this.currValue = this.getMultipleOptionsString(this.value)\n ? this.getValueSortedByOptions(this.value)\n : null;\n this.updateMultiSelectedCountAriaLive();\n }\n else {\n this.currValue = this.getLabelFromValue(this.value)\n ? this.value\n : null;\n }\n }\n if (this.searchable && this.value) {\n // Only set if value not null - prevents whole input value being cleared when edited\n this.searchableSelectInputValue =\n this.getLabelFromValue(String(this.currValue)) || null;\n }\n }\n openChangedHandler() {\n this.open ? this.icOpen.emit() : this.icClose.emit();\n }\n disconnectedCallback() {\n var _a;\n removeFormResetListener(this.el, this.handleFormReset);\n (_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n componentWillLoad() {\n const valueInOptions = this.multiple\n ? this.getMultipleOptionsString(this.value)\n : this.getLabelFromValue(this.value);\n this.currValue = valueInOptions ? this.value : null;\n this.inheritedAttributes = inheritAttributes(this.el, MUTABLE_ATTRIBUTES);\n removeDisabledFalse(this.disabled, this.el);\n this.setOptionsValuesFromLabels();\n addFormResetListener(this.el, this.handleFormReset);\n if (!this.options.length) {\n this.initialOptionsEmpty = true;\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.uniqueOptions = this.noOptions;\n this.filteredOptions = this.noOptions;\n }\n else {\n this.setDefaultValue();\n this.uniqueOptions = this.deduplicateOptions(this.options);\n }\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([{ prop: this.label, propName: \"label\" }], \"Select\");\n if (this.loading) {\n this.triggerLoading();\n }\n if (this.searchable) {\n this.hiddenInputValue = this.currValue;\n }\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n childList: true,\n });\n }\n componentDidRender() {\n if (this.nativeSelectElement && !this.disabled) {\n this.setTextColor();\n }\n }\n /**\n * Sets focus on the input box.\n */\n async setFocus() {\n if (this.nativeSelectElement) {\n this.nativeSelectElement.focus();\n }\n else if (this.customSelectElement) {\n this.customSelectElement.focus();\n }\n else if (this.searchableSelectElement) {\n this.searchableSelectElement.focus();\n }\n }\n render() {\n var _a;\n const { size, disabled, fullWidth, helperText, hideLabel, label, menuId, multiple, name, options, placeholder, readonly, required, searchable, showClearButton, validationStatus, validationText, currValue, theme, hiddenInputValue, open, inputId, searchableSelectInputValue, loading, value, emptyOptionListText, uniqueOptions, selectOnEnter, form, inheritedAttributes, ariaActiveDescendant, hasTimedOut, noOptions, filteredOptions, clearButtonFocused, } = this;\n // HTML inputs only accept 'string' for their value\n // Does not cause errors when it is a multi-select - sets value correctly, to a comma-separated string\n renderHiddenInput(this.el, searchable ? hiddenInputValue : currValue, name || inputId, disabled);\n const invalid = `${validationStatus === IcInformationStatus.Error}`;\n const describedBy = getInputDescribedByText(this.el, inputId, helperText !== \"\", hasValidationStatus(validationStatus, !!disabled)).trim();\n const valueLabelString = multiple\n ? this.getMultipleOptionsString(currValue)\n : this.getLabelFromValue(currValue);\n const isClearable = !disabled &&\n (searchable\n ? !!searchableSelectInputValue\n : !!currValue && !loading && showClearButton);\n return (h(Host, { key: '4772c66e1053f7c19cafff3753af54715eab05d9', class: {\n \"ic-select-disabled\": disabled,\n \"ic-select-searchable\": searchable,\n [`ic-select-${size}`]: size !== \"medium\",\n \"ic-select-full-width\": fullWidth,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }, onBlur: this.onBlur }, h(\"ic-input-container\", { key: '8d4a5a0b53f01cc6740b9fc1f5fa0805e45c8169', readonly: readonly }, !hideLabel && (h(\"ic-input-label\", { key: '37e19194734f052932dd6ac7c56994f67802a1bd', for: inputId, label: label, helperText: helperText, required: required, disabled: disabled, readonly: readonly }, h(\"slot\", { key: '3b27f513ffc78d514c7695b1e5941041837efd55', name: \"helper-text\", slot: \"helper-text\" }))), h(\"ic-input-component-container\", { key: 'a5bf5d711e23862ec08fb8f8e85ce0beec436ccc', ref: (el) => (this.anchorEl = el), class: { \"menu-open\": open }, size: size, fullWidth: fullWidth, disabled: disabled, readonly: readonly, validationStatus: validationStatus }, isSlotUsed(this.el, \"icon\") &&\n !disabled &&\n (!readonly || !!value) && (h(\"span\", { key: '42fc8c78302cde968d3c96ad72c9aac66652829e', slot: \"left-icon\", class: {\n readonly,\n \"has-value\": !!value,\n } }, h(\"slot\", { key: '0cf7160335785716303e4e2e602be1a2d975098e', name: \"icon\" }))), readonly ? (h(\"ic-typography\", null, h(\"p\", null, valueLabelString))) : isMobileOrTablet() && !multiple ? (h(\"select\", Object.assign({ ref: (el) => (this.nativeSelectElement = el), disabled: disabled, onChange: this.handleNativeSelectChange, required: required, id: inputId, \"aria-label\": label, \"aria-describedby\": describedBy, \"aria-invalid\": invalid, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.handleNativeSelectKeyDown, form: form }, inheritedAttributes), h(\"option\", { value: \"\", selected: true, disabled: !showClearButton }, placeholder), options.map((option) => option.children ? (h(\"optgroup\", { label: option.label }, option.children.map((child) => this.renderNativeOption(child)))) : (this.renderNativeOption(option))))) : searchable ? (h(\"div\", { class: \"searchable-select-container\" }, h(\"input\", { class: {\n \"select-input\": true,\n \"with-clear-button\": !!searchableSelectInputValue,\n }, role: \"combobox\", autocomplete: \"off\", \"aria-label\": label, \"aria-describedby\": describedBy, \"aria-activedescendant\": ariaActiveDescendant, \"aria-autocomplete\": \"list\", \"aria-expanded\": `${open}`, \"aria-invalid\": invalid, \"aria-required\": `${required}`, \"aria-controls\": menuId, ref: (el) => (this.searchableSelectElement = el), id: inputId, value: searchableSelectInputValue || undefined, placeholder: placeholder, disabled: disabled, onInput: this.handleSearchableSelectInput, onClick: this.handleClick, onKeyDown: this.handleKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, form: form }), isClearable && (h(\"div\", { class: \"clear-button-container\" }, h(\"ic-button\", { id: \"clear-button\", ref: (el) => (this.clearButton = el), \"aria-label\": searchableSelectInputValue &&\n (currValue === null || loading)\n ? \"Clear input\"\n : \"Clear selection\", class: \"clear-button\", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: size, variant: \"icon\", theme: clearButtonFocused ? \"light\" : \"dark\" }), h(\"div\", { class: \"divider\" }))), h(\"span\", { onMouseDown: this.handleExpandIconMouseDown, class: {\n \"expand-icon\": true,\n \"expand-icon-open\": open,\n }, innerHTML: Expand, \"aria-hidden\": \"true\" }), h(\"div\", { \"aria-live\": \"polite\", role: \"status\", class: \"searchable-select-results-status\" }))) : (h(\"div\", { class: \"select-container\" }, h(\"button\", { class: \"select-input\", ref: (el) => (this.customSelectElement = el), id: inputId, \"aria-label\": `${label}, ${(multiple && currValue\n ? `${currValue.length} of ${getOptionsWithoutGroupTitlesCount(options)} selected, ${valueLabelString}`\n : valueLabelString) || placeholder}${required ? \", required\" : \"\"}`, \"aria-describedby\": describedBy, \"aria-invalid\": invalid, \"aria-haspopup\": \"listbox\", \"aria-expanded\": `${open}`, \"aria-owns\": menuId, \"aria-controls\": menuId, disabled: disabled, onBlur: this.onBlur, onFocus: this.onFocus, onClick: this.handleClick, onMouseDown: this.handleMouseDown, onKeyDown: this.handleKeyDown }, h(\"ic-typography\", { variant: \"body\", class: {\n \"value-text\": true,\n \"with-clear-button\": isClearable,\n placeholder: !loading && multiple\n ? !value || value.length < 1\n : !this.getLabelFromValue(currValue),\n } }, valueLabelString || placeholder), h(\"div\", { class: \"select-input-end\" }, isClearable && h(\"div\", { class: \"divider\" }), h(\"span\", { class: {\n \"expand-icon\": true,\n \"expand-icon-open\": open,\n }, innerHTML: Expand, \"aria-hidden\": \"true\" }))), isClearable && (h(\"ic-button\", { id: \"clear-button\", \"aria-label\": \"Clear selection\", class: \"clear-button\", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: size, variant: \"icon\", theme: clearButtonFocused ? \"light\" : \"dark\" }))))), (!isMobileOrTablet() || multiple) && (h(\"ic-menu\", { key: '56ad9e2340b8c7f7242a33b35cd2ccda78123f1c', class: {\n \"no-results\": loading ||\n hasTimedOut ||\n ((_a = noOptions === null || noOptions === void 0 ? void 0 : noOptions[0]) === null || _a === void 0 ? void 0 : _a.label) === emptyOptionListText,\n }, ref: (el) => (this.menu = el), inputEl: searchable\n ? this.searchableSelectElement\n : this.customSelectElement, inputLabel: label, anchorEl: this.anchorEl, size: size, menuId: menuId, open: open, options: searchable ? filteredOptions : uniqueOptions, value: multiple ? currValue : currValue, fullWidth: fullWidth, selectOnEnter: selectOnEnter, onMenuStateChange: this.handleMenuChange, onMenuOptionSelect: this.handleCustomSelectChange, onMenuOptionSelectAll: this.handleSelectAllChange, onMenuKeyPress: this.handleMenuKeyPress, onUngroupedOptionsSet: this.setUngroupedOptions, onRetryButtonClicked: this.handleRetry, parentEl: this.el, onTimeoutBlur: this.onTimeoutBlur, activationType: searchable || multiple || selectOnEnter ? \"manual\" : \"automatic\", closeOnSelect: !multiple, multiSelect: multiple ? true : false, searchableSelect: searchable ? true : false })), multiple && (h(\"div\", { key: '7f06215c9bf2ea494abde73bc6245c08ef0b6a0a', \"aria-live\": \"polite\", role: \"status\", class: \"multi-select-selected-count\" })), hasValidationStatus(validationStatus, disabled) && (h(\"ic-input-validation\", { key: '15510a6e9e5b5ea184bf97d2f863d6d5e5aacd48', class: { \"menu-open\": open }, ariaLiveMode: \"polite\", status: validationStatus, message: validationText, for: inputId })))));\n }\n static get is() { return \"ic-select\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-select.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-select.css\"]\n };\n }\n static get properties() {\n return {\n \"disabled\": {\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 disabled state will be set.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"disabled\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"disableAutoFiltering\": {\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 built in filtering will be disabled for a searchable variant. For example, if options will already be filtered from external source.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"disable-auto-filtering\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\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 \"getter\": false,\n \"setter\": false,\n \"attribute\": \"empty-option-list-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"No results found\\\"\"\n },\n \"form\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The <form> element to associate the select with.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"form\",\n \"reflect\": 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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the select will fill the width of the container.\"\n },\n \"getter\": false,\n \"setter\": false,\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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The helper text that will be displayed for additional field guidance.\"\n },\n \"getter\": false,\n \"setter\": false,\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\": false,\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 \"getter\": false,\n \"setter\": false,\n \"attribute\": \"hide-label\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"includeDescriptionsInSearch\": {\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`, descriptions of options will be included when filtering options in a searchable select. Only applies to built in filtering.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"include-descriptions-in-search\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"includeGroupTitlesInSearch\": {\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`, group titles of grouped options will be included when filtering options in a searchable select. Only applies to built in filtering.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"include-group-titles-in-search\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\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 select.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"label\",\n \"reflect\": 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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The message displayed when external loading times out.\"\n },\n \"getter\": false,\n \"setter\": false,\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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The message displayed whilst the options are being loaded externally.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"loading-label\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Loading...\\\"\"\n },\n \"multiple\": {\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`, multiple options can be selected.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"multiple\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\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 \"getter\": false,\n \"setter\": false,\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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The placeholder value to be displayed.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"placeholder\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Select an option\\\"\"\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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the readonly state will be set.\"\n },\n \"getter\": false,\n \"setter\": false,\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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the select will require a value.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"required\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"searchable\": {\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`, a searchable variant of the select will be displayed which can be typed in to filter options. This functionality is only available on the single-select variant of the select component.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"searchable\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"searchMatchPosition\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSearchMatchPositions\",\n \"resolved\": \"\\\"anywhere\\\" | \\\"start\\\"\",\n \"references\": {\n \"IcSearchMatchPositions\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSearchMatchPositions\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Whether the search string of the searchable select should match the start of or anywhere in the options. Only applies to built in filtering.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"search-match-position\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"anywhere\\\"\"\n },\n \"selectOnEnter\": {\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 icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown on the single select.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"select-on-enter\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"showClearButton\": {\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`, a button which clears the select input when clicked will be displayed. The button will always appear on the searchable select.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"show-clear-button\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"large\\\" | \\\"medium\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the select.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"medium\\\"\"\n },\n \"timeout\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\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 \"getter\": false,\n \"setter\": false,\n \"attribute\": \"timeout\",\n \"reflect\": false\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n },\n \"validationStatus\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcInformationStatusOrEmpty\",\n \"resolved\": \"\\\"\\\" | \\\"error\\\" | \\\"success\\\" | \\\"warning\\\"\",\n \"references\": {\n \"IcInformationStatusOrEmpty\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcInformationStatusOrEmpty\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The validation status - e.g. 'error' | 'warning' | 'success'.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"validation-status\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"validationText\": {\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 to display as the validation message.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"validation-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the loading state will be triggered when fetching options asynchronously.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"loading\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The possible selection options.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"defaultValue\": \"[]\"\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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The amount of time, in milliseconds, to wait to trigger the `icInput` event after each keystroke.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"debounce\",\n \"reflect\": false,\n \"defaultValue\": \"0\"\n },\n \"value\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"string | string[] | null\",\n \"resolved\": \"null | string | string[]\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The value of the select, reflected by the value of the currently selected option.\\nFor the searchable variant, the value is also reflected by the user input.\\nFor the multi-select variant, the value must be an array of option values.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"value\",\n \"reflect\": false,\n \"defaultValue\": \"null\"\n }\n };\n }\n static get states() {\n return {\n \"ariaActiveDescendant\": {},\n \"clearButtonFocused\": {},\n \"debounceIcInput\": {},\n \"hiddenInputValue\": {},\n \"noOptions\": {},\n \"open\": {},\n \"pressedCharacters\": {},\n \"searchableSelectInputValue\": {},\n \"filteredOptions\": {},\n \"uniqueOptions\": {},\n \"currDebounce\": {},\n \"initialValue\": {},\n \"inputValueToFilter\": {},\n \"currValue\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icBlur\",\n \"name\": \"icBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the select loses focus.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\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 changes.\"\n },\n \"complexType\": {\n \"original\": \"IcMultiValueEventDetail\",\n \"resolved\": \"IcMultiValueEventDetail\",\n \"references\": {\n \"IcMultiValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcMultiValueEventDetail\"\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 the clear or clear all button is clicked.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"icClose\",\n \"name\": \"icClose\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the select options menu is closed.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"icFocus\",\n \"name\": \"icFocus\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the select gains focus.\"\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\": \"IcMultiValueEventDetail\",\n \"resolved\": \"IcMultiValueEventDetail\",\n \"references\": {\n \"IcMultiValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcMultiValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icOpen\",\n \"name\": \"icOpen\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the select options menu is opened.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\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 an option is selected.\\nSelecting an option will also trigger an `icChange/onIcChange` due to the value being updated.\"\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\": \"icOptionDeselect\",\n \"name\": \"icOptionDeselect\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when `multiple` is `true` and an option is deselected.\"\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\": \"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 for a searchable variant.\"\n },\n \"complexType\": {\n \"original\": \"IcMultiValueEventDetail\",\n \"resolved\": \"IcMultiValueEventDetail\",\n \"references\": {\n \"IcMultiValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcMultiValueEventDetail\"\n }\n }\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 input box.\",\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\": \"options\",\n \"methodName\": \"watchOptionsHandler\"\n }, {\n \"propName\": \"debounce\",\n \"methodName\": \"debounceChangedHandler\"\n }, {\n \"propName\": \"value\",\n \"methodName\": \"valueChangedHandler\"\n }, {\n \"propName\": \"open\",\n \"methodName\": \"openChangedHandler\"\n }];\n }\n}\n//# sourceMappingURL=ic-select.js.map\n"],"version":3}
|