@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
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["icTreeItemCss","IcTreeItemStyle0","treeItemIds","TreeItem","constructor","hostRef","this","treeItemTag","hostMutationObserver","TOOLTIP","TREE_ITEM_LABEL_CLASS_SELECTOR","TREE_ITEM_CONTENT_CLASS_SELECTOR","disabled","expanded","hasParentExpanded","hreflang","isParent","label","selected","size","theme","handleTreeItemClicked","updateAriaLabel","setTreeItemPadding","level","parentElement","el","treeItemContent","_a","shadowRoot","querySelector","isSiblingOfParent","Array","from","children","some","sibling","length","tagName","hasRouterSlot","routerSlot","classList","add","style","paddingLeft","truncateTreeItemLabel","treeItem","typographyEl","slottedContent","contentHeight","scrollHeight","newTypographyEl","document","createElement","innerHTML","textContent","replaceChild","firstChild","tooltipAlreadyExists","closest","treeContent","_b","computedHeight","parseFloat","getComputedStyle","height","tooltipEl","setAttribute","id","addEventListener","handleDisplayTooltip","appendChild","removeTreeItemTruncation","remove","display","tooltip","displayTooltip","setChildTreeItems","childTreeItems","filter","child","hostMutationCallback","mutationList","renderDynamicChildSlots","watchDisabledHandler","removeDisabledFalse","watchExpandedHandler","icTreeItemExpanded","emit","isExpanded","watchSelectedHandler","icTreeItemSelected","disconnectedCallback","disconnect","componentWillLoad","componentDidLoad","isSlotUsed","onComponentRequiredPropUndefined","prop","propName","MutationObserver","observe","childList","componentDidRender","truncateTreeItem","forEach","componentDidUpdate","handleKeyDown","ev","key","stopImmediatePropagation","setFocus","focus","treeItemElement","ariaLabel","treeItems","index","indexOf","parentChildren","render","Component","href","attrs","hrefLang","referrerPolicy","referrerpolicy","rel","target","h","Host","class","treeItemId","name","Object","assign","tabIndex","onClick","ref","onFocus","onBlur","arrowDropdown"],"sources":["src/components/ic-tree-item/ic-tree-item.css?tag=ic-tree-item&encapsulation=shadow","src/components/ic-tree-item/ic-tree-item.tsx"],"sourcesContent":[":host {\n display: block;\n border: none;\n position: relative;\n}\n\n:host .tree-item-content {\n display: flex;\n align-items: center;\n min-height: var(--ic-space-xl);\n padding: var(--ic-space-xxs) var(--ic-space-xs);\n text-decoration: none;\n color: var(--ic-tree-view-text);\n\n --ic-typography-color: var(--ic-tree-view-text);\n}\n\n::slotted([slot=\"router-item\"]) {\n display: flex;\n align-items: center;\n min-height: var(--ic-space-xl);\n text-decoration: none;\n font-family: var(--ic-font-body-family);\n color: var(--ic-tree-view-text);\n padding: var(--ic-space-xxs) var(--ic-space-xs) !important;\n}\n\n:host(.ic-tree-item-truncate) .tree-item-content,\n:host(.ic-tree-item-truncate) ::slotted([slot=\"router-item\"]) {\n height: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n::slotted([slot=\"router-item\"].ic-tree-item-single) {\n padding-left: calc(var(--ic-space-xl) + var(--ic-space-xs)) !important;\n}\n\n:host .tree-item-content:focus,\n::slotted([slot=\"router-item\"]:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n transition: var(--ic-transition-duration-fast);\n outline: none;\n}\n\n:host .tree-item-content:hover,\n::slotted([slot=\"router-item\"]:hover) {\n background-color: var(--ic-tree-view-hover) !important;\n cursor: pointer;\n}\n\n:host .tree-item-content:active,\n::slotted([slot=\"router-item\"]:active) {\n background-color: var(--ic-tree-view-pressed) !important;\n}\n\n:host(.ic-tree-item-selected) .tree-item-content,\n:host(.ic-tree-item-selected) ::slotted([slot=\"router-item\"]) {\n background-color: var(--ic-tree-view-selected) !important;\n}\n\n:host(.ic-tree-item-small) .tree-item-content,\n:host(.ic-tree-item-small) ::slotted([slot=\"router-item\"]) {\n min-height: var(--ic-space-lg);\n}\n\n:host(.ic-tree-item-large) .tree-item-content,\n:host(.ic-tree-item-large) ::slotted([slot=\"router-item\"]) {\n min-height: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.ic-tree-item-truncate.ic-tree-item-small) .tree-item-content,\n:host(.ic-tree-item-truncate.ic-tree-item-small)\n ::slotted([slot=\"router-item\"]) {\n height: var(--ic-space-lg);\n}\n\n:host(.ic-tree-item-truncate.ic-tree-item-large) .tree-item-content,\n:host(.ic-tree-item-truncate.ic-tree-item-large)\n ::slotted([slot=\"router-item\"]) {\n height: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.ic-tree-item-disabled) {\n pointer-events: none;\n}\n\n:host(.ic-tree-item-disabled) .tree-item-content,\n:host(.ic-tree-item-disabled) ::slotted([slot=\"icon\"]),\n:host(.ic-tree-item-disabled) ::slotted([slot=\"router-item\"]) {\n color: var(--ic-tree-view-text-disabled) !important;\n\n --ic-typography-color: var(--ic-tree-view-text-disabled) !important;\n\n fill: var(--ic-tree-view-icon-disabled);\n pointer-events: none;\n}\n\n:host .arrow-dropdown {\n color: var(--ic-tree-view-dropdown-arrow);\n margin-right: var(--ic-space-xs);\n margin-bottom: calc(var(--ic-space-xxs) * -1);\n}\n\n:host(.ic-tree-item-disabled) .arrow-dropdown {\n color: var(--ic-tree-view-dropdown-arrow-disabled);\n}\n\n:host(.ic-tree-item-small) .arrow-dropdown {\n margin-right: var(--ic-space-xxs);\n}\n\n:host .tree-item-expanded {\n transform: rotate(180deg);\n margin-top: calc(-1 * var(--ic-space-xxs));\n margin-bottom: 0;\n}\n\n:host .ic-tree-item-single {\n padding-left: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.ic-tree-item-small) .ic-tree-item-single {\n padding-left: calc(var(--ic-space-xl) + var(--ic-space-xxs));\n}\n\n.icon-container {\n min-width: var(--ic-space-lg);\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n margin: 0 var(--ic-space-xs) 0 0;\n}\n\n:host(.ic-tree-item-small) .icon-container {\n margin: 0 var(--ic-space-xxs) 0 0;\n}\n\n.ic-text-overflow {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.ic-tooltip-overflow {\n overflow: hidden;\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-tree-view-icon);\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n\n :host .tree-item-content:hover,\n ::slotted([slot=\"router-item\"]:hover),\n :host .tree-item-content:active,\n ::slotted([slot=\"router-item\"]:active),\n :host(.ic-tree-item-selected) .tree-item-content,\n :host(.ic-tree-item-selected) ::slotted([slot=\"router-item\"]) {\n background-color: none !important;\n }\n\n :host(.ic-tree-item-disabled) .tree-item-content,\n :host(.ic-tree-item-disabled) .arrow-dropdown,\n :host(.ic-tree-item-disabled) ::slotted([slot=\"icon\"]),\n :host(.ic-tree-item-disabled) ::slotted([slot=\"router-item\"]) {\n color: GrayText !important;\n\n --ic-typography-color: GrayText !important;\n\n fill: GrayText !important;\n }\n\n :host .tree-item-content:focus,\n ::slotted([slot=\"router-item\"]:focus) {\n border: var(--ic-border-hc) !important;\n }\n\n :host(.ic-tree-item-selected) .tree-item-content,\n :host(.ic-tree-item-selected) ::slotted([slot=\"router-item\"]) {\n color: Highlight !important;\n\n --ic-typography-color: Highlight !important;\n }\n}\n","import {\n Component,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n Host,\n Watch,\n State,\n Listen,\n Method,\n} from \"@stencil/core\";\nimport { IcSizes, IcThemeMode } from \"../../utils/types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n renderDynamicChildSlots,\n} from \"../../utils/helpers\";\nimport arrowDropdown from \"../../assets/arrow-dropdown.svg\";\n\nlet treeItemIds = 0;\n\n/**\n * @slot label - Content is set as the tree item label.\n * @slot icon - Content is placed to the left of the label.\n * @slot router-item - Handle routing by nesting your routes in this slot.\n */\n@Component({\n tag: \"ic-tree-item\",\n styleUrl: \"ic-tree-item.css\",\n shadow: true,\n})\nexport class TreeItem {\n private treeItemElement: HTMLElement | undefined;\n private treeItemTag = \"IC-TREE-ITEM\";\n private routerSlot: HTMLElement | null;\n private hostMutationObserver: MutationObserver | null = null;\n private TOOLTIP = \"ic-tooltip\";\n private TREE_ITEM_LABEL_CLASS_SELECTOR = \".tree-item-label\";\n private TREE_ITEM_CONTENT_CLASS_SELECTOR = \".tree-item-content\";\n\n @Element() el: HTMLIcTreeItemElement;\n\n @State() childTreeItems: HTMLIcTreeItemElement[];\n\n /**\n * If `true`, the tree item appears in the disabled state.\n */\n @Prop() disabled: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the tree item appears in the expanded state.\n */\n @Prop({ mutable: true }) expanded: boolean = false;\n @Watch(\"expanded\")\n watchExpandedHandler(): void {\n this.icTreeItemExpanded.emit({ isExpanded: this.expanded, id: this.el.id });\n }\n\n /**\n * @internal Determines if the parent tree item has been expanded.\n */\n @Prop({ mutable: true }) hasParentExpanded: boolean = false;\n\n /**\n * The URL that the tree item link points to. If set, the tree item will render as an \"a\" tag, otherwise it will render as a div.\n */\n @Prop() href?: string | undefined;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string = \"\";\n\n /**\n * @internal If `true`, the tree item is a parent of other tree items.\n */\n @Prop({ mutable: true }) isParent: boolean = false;\n\n /**\n * The label of the tree item.\n */\n @Prop() label: string = \"\";\n\n /**\n * @internal Holds the previous truncation state before the screen switches to a small viewport, so it can be reset when screen size changes again.\n */\n @Prop() previousTruncateTreeItem?: boolean;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * If `true`, the tree item appears in the selected state.\n */\n @Prop({ mutable: true }) selected: boolean = false;\n @Watch(\"selected\")\n watchSelectedHandler(): void {\n if (this.selected) {\n this.icTreeItemSelected.emit({ id: this.el.id });\n }\n this.updateAriaLabel();\n }\n\n /**\n * @internal Determines the size of the tree item.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * Sets the tree item id. Must be unique.\n */\n @Prop() treeItemId?: string;\n\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 @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * If `true`, the tree item label will be truncated instead of text wrapping.\n */\n @Prop() truncateTreeItem?: boolean;\n\n /**\n * Emitted when tree item is selected.\n */\n @Event() icTreeItemSelected: EventEmitter<{ id: string }>;\n\n /**\n * Emitted when tree item is expanded.\n */\n @Event() icTreeItemExpanded: EventEmitter<{\n isExpanded: boolean;\n id: string;\n }>;\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n this.setChildTreeItems();\n }\n\n componentDidLoad(): void {\n this.setTreeItemPadding();\n\n this.updateAriaLabel();\n\n !isSlotUsed(this.el, \"label\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tree item\"\n );\n\n this.hostMutationObserver = new MutationObserver((mutationList) => {\n this.hostMutationCallback(mutationList);\n });\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n componentDidRender(): void {\n this.truncateTreeItem\n ? this.truncateTreeItemLabel(this.el)\n : this.removeTreeItemTruncation(this.el);\n if (this.expanded) {\n this.childTreeItems.forEach((child: HTMLIcTreeItemElement) => {\n child.truncateTreeItem\n ? this.truncateTreeItemLabel(child)\n : this.removeTreeItemTruncation(child);\n });\n }\n }\n\n componentDidUpdate(): void {\n if (this.hasParentExpanded) {\n this.childTreeItems.forEach((child: HTMLIcTreeItemElement) => {\n child.truncateTreeItem\n ? this.truncateTreeItemLabel(child)\n : this.removeTreeItemTruncation(child);\n });\n this.hasParentExpanded = false;\n }\n }\n\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n if (ev.key === \"Enter\" || ev.key === \" \") {\n ev.stopImmediatePropagation();\n this.handleTreeItemClicked();\n }\n }\n\n /**\n * Sets focus on the native `input`.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.hasRouterSlot()) {\n this.routerSlot?.focus();\n } else {\n this.treeItemElement?.focus();\n }\n }\n\n private handleTreeItemClicked = (): void => {\n if (this.isParent) {\n this.expanded = !this.expanded;\n this.hasParentExpanded = true;\n }\n\n this.updateAriaLabel();\n this.selected = true;\n };\n\n /**\n * @internal Updates the aria-label of the tree item.\n */\n @Method()\n async updateAriaLabel(): Promise<void> {\n let ariaLabel;\n\n if (this.hasRouterSlot()) {\n ariaLabel = this.routerSlot!.textContent;\n } else if (isSlotUsed(this.el, \"label\")) {\n ariaLabel = this.el.querySelector('[slot=\"label\"]')!.textContent;\n } else {\n ariaLabel = this.label;\n }\n\n if (this.isParent) {\n ariaLabel = `${ariaLabel}, triggers submenu, ${\n this.expanded ? \"expanded\" : \"collapsed\"\n }`;\n }\n\n if (this.el.parentElement) {\n const treeItems = Array.from(\n (this.el.parentElement as HTMLElement).children\n ).filter(\n (child) => child.tagName === this.treeItemTag\n ) as HTMLIcTreeItemElement[];\n\n const index = treeItems.indexOf(this.el) + 1;\n const parentChildren = treeItems.length;\n\n ariaLabel = `${ariaLabel}, ${index} of ${parentChildren}`;\n }\n\n if (this.selected) {\n ariaLabel = `${ariaLabel}, active`;\n }\n\n if (this.disabled) {\n ariaLabel = `${ariaLabel}, dimmed`;\n }\n\n if (this.hasRouterSlot()) {\n this.routerSlot!.ariaLabel = ariaLabel;\n } else {\n this.treeItemElement!.ariaLabel = ariaLabel;\n }\n }\n\n private setTreeItemPadding = () => {\n let level = 1;\n let parentElement = this.el.parentElement;\n const treeItemContent = this.el.shadowRoot?.querySelector(\n this.TREE_ITEM_CONTENT_CLASS_SELECTOR\n ) as HTMLElement;\n\n if (!parentElement) {\n return;\n }\n\n const isSiblingOfParent = Array.from(parentElement.children).some(\n (sibling) =>\n sibling !== this.el &&\n !sibling.querySelector('[slot=\"router-item\"]') &&\n !sibling.querySelector('[slot=\"label\"]') &&\n sibling.children.length > 0\n );\n\n if (\n (isSiblingOfParent && !this.el.isParent) ||\n (parentElement.tagName === this.treeItemTag && !this.el.isParent)\n ) {\n if (this.hasRouterSlot()) {\n this.routerSlot!.classList.add(\"ic-tree-item-single\");\n } else {\n treeItemContent.classList.add(\"ic-tree-item-single\");\n }\n }\n\n while (parentElement) {\n if (parentElement.tagName === this.treeItemTag) {\n level++;\n treeItemContent.style.paddingLeft = !this.el.isParent\n ? `calc(var(--ic-space-${isSiblingOfParent ? \"xl\" : \"xs\"}) + ${\n level * (isSiblingOfParent ? 16 : 24)\n }px)`\n : `${level * 16}px`;\n }\n parentElement = parentElement.parentElement;\n }\n };\n\n private truncateTreeItemLabel = (treeItem: HTMLIcTreeItemElement) => {\n let typographyEl =\n treeItem.shadowRoot?.querySelector<HTMLIcTypographyElement>(\n this.TREE_ITEM_LABEL_CLASS_SELECTOR\n );\n const slottedContent = treeItem.querySelector(\"[slot='router-item']\");\n let contentHeight = slottedContent?.scrollHeight;\n\n if (!typographyEl && slottedContent) {\n const newTypographyEl = document.createElement(\"ic-typography\");\n newTypographyEl.innerHTML = slottedContent.textContent!;\n newTypographyEl.classList.add(\"tree-item-label\");\n slottedContent.replaceChild(newTypographyEl, slottedContent.firstChild!);\n typographyEl = newTypographyEl;\n } else if (typographyEl) {\n contentHeight = typographyEl.scrollHeight;\n }\n\n const tooltipAlreadyExists = !!typographyEl?.closest(this.TOOLTIP);\n const treeContent =\n treeItem.shadowRoot?.querySelector(\n this.TREE_ITEM_CONTENT_CLASS_SELECTOR\n ) || slottedContent;\n\n if (treeContent) {\n const computedHeight = parseFloat(getComputedStyle(treeContent).height);\n if (\n contentHeight &&\n computedHeight &&\n contentHeight > computedHeight &&\n !tooltipAlreadyExists &&\n typographyEl\n ) {\n const tooltipEl = document.createElement(\"ic-tooltip\");\n tooltipEl.setAttribute(\"target\", this.el.id);\n tooltipEl.setAttribute(\"label\", typographyEl.textContent!);\n tooltipEl.setAttribute(\"placement\", \"right\");\n\n if (treeContent === slottedContent) {\n treeContent.addEventListener(\"focus\", () =>\n this.handleDisplayTooltip(true)\n );\n treeContent.addEventListener(\"blur\", () =>\n this.handleDisplayTooltip(false)\n );\n tooltipEl.setAttribute(\"style\", \"overflow:hidden;\");\n typographyEl.setAttribute(\n \"style\",\n \"overflow:hidden;text-overflow:ellipsis;white-space:nowrap;\"\n );\n } else {\n tooltipEl.classList.add(\"ic-tooltip-overflow\");\n typographyEl.classList.add(\"ic-text-overflow\");\n }\n\n treeContent.appendChild(tooltipEl);\n tooltipEl.appendChild(typographyEl);\n }\n }\n };\n\n private removeTreeItemTruncation = (treeItem: HTMLIcTreeItemElement) => {\n const slottedContent = treeItem.querySelector(\"[slot='router-item']\");\n const typographyEl: HTMLIcTypographyElement =\n treeItem.shadowRoot?.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR) ||\n slottedContent!.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR)!;\n const tooltipEl = typographyEl?.closest<HTMLIcTooltipElement>(this.TOOLTIP);\n const treeContent =\n treeItem.shadowRoot?.querySelector(\n this.TREE_ITEM_CONTENT_CLASS_SELECTOR\n ) || slottedContent!;\n\n if (tooltipEl) {\n typographyEl.classList.remove(\"ic-text-overflow\");\n treeContent.replaceChild(\n treeContent === slottedContent\n ? typographyEl.firstChild!\n : typographyEl,\n tooltipEl\n );\n }\n };\n\n private hasRouterSlot(): boolean {\n this.routerSlot = this.el.querySelector('[slot=\"router-item\"]');\n return !!this.routerSlot;\n }\n\n private handleDisplayTooltip = (display: boolean) => {\n const typographyEl =\n this.el.shadowRoot?.querySelector<HTMLIcTypographyElement>(\n this.TREE_ITEM_LABEL_CLASS_SELECTOR\n ) || this.el.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR);\n const tooltip = typographyEl?.closest<HTMLIcTooltipElement>(this.TOOLTIP);\n\n tooltip?.displayTooltip(display);\n };\n\n private setChildTreeItems = () => {\n this.childTreeItems = Array.from((this.el as HTMLElement).children).filter(\n (child) => child.tagName === this.treeItemTag\n ) as HTMLIcTreeItemElement[];\n\n this.isParent = this.childTreeItems.length > 0;\n };\n\n private hostMutationCallback = (mutationList: MutationRecord[]) => {\n this.setChildTreeItems();\n renderDynamicChildSlots(mutationList, \"icon\", this);\n };\n\n render() {\n const { disabled, label, selected, size, expanded, theme } = this;\n\n const Component = this.href && !this.disabled ? \"a\" : \"div\";\n\n const attrs = Component == \"a\" && {\n href: this.href,\n hrefLang: this.hreflang,\n referrerPolicy: this.referrerpolicy,\n rel: this.rel,\n target: this.target,\n };\n\n return (\n <Host\n class={{\n \"ic-tree-item-disabled\": disabled,\n \"ic-tree-item-selected\": !disabled && selected,\n [`ic-tree-item-${size}`]: size !== \"medium\",\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n \"ic-tree-item-truncate\": !!this.truncateTreeItem,\n }}\n id={this.treeItemId ?? `ic-tree-item-${treeItemIds++}`}\n >\n {this.hasRouterSlot() ? (\n <slot name=\"router-item\" />\n ) : (\n <Component\n class={{\n \"tree-item-content\": true,\n }}\n tabIndex={disabled ? -1 : 0}\n onClick={this.handleTreeItemClicked}\n ref={(el) => (this.treeItemElement = el)}\n aria-disabled={disabled ? \"true\" : \"false\"}\n aria-live=\"polite\"\n {...attrs}\n onFocus={() => this.handleDisplayTooltip(true)}\n onBlur={() => this.handleDisplayTooltip(false)}\n >\n {this.isParent && (\n <span\n class={{\n [\"arrow-dropdown\"]: true,\n [\"tree-item-expanded\"]: expanded,\n }}\n aria-hidden=\"true\"\n innerHTML={arrowDropdown}\n />\n )}\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon-container\">\n <slot name=\"icon\" />\n </div>\n )}\n <ic-typography class=\"tree-item-label\">\n {isSlotUsed(this.el, \"label\") ? <slot name=\"label\" /> : label}\n </ic-typography>\n </Component>\n )}\n {expanded && (\n <div aria-hidden={`${!expanded}`}>\n <slot />\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"ySAAA,MAAMA,EAAgB,k3IACtB,MAAAC,EAAeD,ECqBf,IAAIE,EAAc,E,MAYLC,EAAQ,MALrB,WAAAC,CAAAC,G,wHAOUC,KAAAC,YAAc,eAEdD,KAAAE,qBAAgD,KAChDF,KAAAG,QAAU,aACVH,KAAAI,+BAAiC,mBACjCJ,KAAAK,iCAAmC,qBASnCL,KAAAM,SAAoB,MASHN,KAAAO,SAAoB,MASpBP,KAAAQ,kBAA6B,MAU9CR,KAAAS,SAAoB,GAKHT,KAAAU,SAAoB,MAKrCV,KAAAW,MAAgB,GAoBCX,KAAAY,SAAoB,MAYrCZ,KAAAa,KAAiB,SAejBb,KAAAc,MAAsB,UA2FtBd,KAAAe,sBAAwB,KAC9B,GAAIf,KAAKU,SAAU,CACjBV,KAAKO,UAAYP,KAAKO,SACtBP,KAAKQ,kBAAoB,I,CAG3BR,KAAKgB,kBACLhB,KAAKY,SAAW,IAAI,EAoDdZ,KAAAiB,mBAAqB,K,MAC3B,IAAIC,EAAQ,EACZ,IAAIC,EAAgBnB,KAAKoB,GAAGD,cAC5B,MAAME,GAAkBC,EAAAtB,KAAKoB,GAAGG,cAAU,MAAAD,SAAA,SAAAA,EAAEE,cAC1CxB,KAAKK,kCAGP,IAAKc,EAAe,CAClB,M,CAGF,MAAMM,EAAoBC,MAAMC,KAAKR,EAAcS,UAAUC,MAC1DC,GACCA,IAAY9B,KAAKoB,KAChBU,EAAQN,cAAc,0BACtBM,EAAQN,cAAc,mBACvBM,EAAQF,SAASG,OAAS,IAG9B,GACGN,IAAsBzB,KAAKoB,GAAGV,UAC9BS,EAAca,UAAYhC,KAAKC,cAAgBD,KAAKoB,GAAGV,SACxD,CACA,GAAIV,KAAKiC,gBAAiB,CACxBjC,KAAKkC,WAAYC,UAAUC,IAAI,sB,KAC1B,CACLf,EAAgBc,UAAUC,IAAI,sB,EAIlC,MAAOjB,EAAe,CACpB,GAAIA,EAAca,UAAYhC,KAAKC,YAAa,CAC9CiB,IACAG,EAAgBgB,MAAMC,aAAetC,KAAKoB,GAAGV,SACzC,uBAAuBe,EAAoB,KAAO,WAChDP,GAASO,EAAoB,GAAK,SAEpC,GAAGP,EAAQ,M,CAEjBC,EAAgBA,EAAcA,a,GAI1BnB,KAAAuC,sBAAyBC,I,QAC/B,IAAIC,GACFnB,EAAAkB,EAASjB,cAAU,MAAAD,SAAA,SAAAA,EAAEE,cACnBxB,KAAKI,gCAET,MAAMsC,EAAiBF,EAAShB,cAAc,wBAC9C,IAAImB,EAAgBD,IAAc,MAAdA,SAAc,SAAdA,EAAgBE,aAEpC,IAAKH,GAAgBC,EAAgB,CACnC,MAAMG,EAAkBC,SAASC,cAAc,iBAC/CF,EAAgBG,UAAYN,EAAeO,YAC3CJ,EAAgBV,UAAUC,IAAI,mBAC9BM,EAAeQ,aAAaL,EAAiBH,EAAeS,YAC5DV,EAAeI,C,MACV,GAAIJ,EAAc,CACvBE,EAAgBF,EAAaG,Y,CAG/B,MAAMQ,KAAyBX,IAAY,MAAZA,SAAY,SAAZA,EAAcY,QAAQrD,KAAKG,UAC1D,MAAMmD,IACJC,EAAAf,EAASjB,cAAU,MAAAgC,SAAA,SAAAA,EAAE/B,cACnBxB,KAAKK,oCACFqC,EAEP,GAAIY,EAAa,CACf,MAAME,EAAiBC,WAAWC,iBAAiBJ,GAAaK,QAChE,GACEhB,GACAa,GACAb,EAAgBa,IACfJ,GACDX,EACA,CACA,MAAMmB,EAAYd,SAASC,cAAc,cACzCa,EAAUC,aAAa,SAAU7D,KAAKoB,GAAG0C,IACzCF,EAAUC,aAAa,QAASpB,EAAaQ,aAC7CW,EAAUC,aAAa,YAAa,SAEpC,GAAIP,IAAgBZ,EAAgB,CAClCY,EAAYS,iBAAiB,SAAS,IACpC/D,KAAKgE,qBAAqB,QAE5BV,EAAYS,iBAAiB,QAAQ,IACnC/D,KAAKgE,qBAAqB,SAE5BJ,EAAUC,aAAa,QAAS,oBAChCpB,EAAaoB,aACX,QACA,6D,KAEG,CACLD,EAAUzB,UAAUC,IAAI,uBACxBK,EAAaN,UAAUC,IAAI,mB,CAG7BkB,EAAYW,YAAYL,GACxBA,EAAUK,YAAYxB,E,IAKpBzC,KAAAkE,yBAA4B1B,I,QAClC,MAAME,EAAiBF,EAAShB,cAAc,wBAC9C,MAAMiB,IACJnB,EAAAkB,EAASjB,cAAU,MAAAD,SAAA,SAAAA,EAAEE,cAAcxB,KAAKI,kCACxCsC,EAAgBlB,cAAcxB,KAAKI,gCACrC,MAAMwD,EAAYnB,IAAY,MAAZA,SAAY,SAAZA,EAAcY,QAA8BrD,KAAKG,SACnE,MAAMmD,IACJC,EAAAf,EAASjB,cAAU,MAAAgC,SAAA,SAAAA,EAAE/B,cACnBxB,KAAKK,oCACFqC,EAEP,GAAIkB,EAAW,CACbnB,EAAaN,UAAUgC,OAAO,oBAC9Bb,EAAYJ,aACVI,IAAgBZ,EACZD,EAAaU,WACbV,EACJmB,E,GAUE5D,KAAAgE,qBAAwBI,I,MAC9B,MAAM3B,IACJnB,EAAAtB,KAAKoB,GAAGG,cAAU,MAAAD,SAAA,SAAAA,EAAEE,cAClBxB,KAAKI,kCACFJ,KAAKoB,GAAGI,cAAcxB,KAAKI,gCAClC,MAAMiE,EAAU5B,IAAY,MAAZA,SAAY,SAAZA,EAAcY,QAA8BrD,KAAKG,SAEjEkE,IAAO,MAAPA,SAAO,SAAPA,EAASC,eAAeF,EAAQ,EAG1BpE,KAAAuE,kBAAoB,KAC1BvE,KAAKwE,eAAiB9C,MAAMC,KAAM3B,KAAKoB,GAAmBQ,UAAU6C,QACjEC,GAAUA,EAAM1C,UAAYhC,KAAKC,cAGpCD,KAAKU,SAAWV,KAAKwE,eAAezC,OAAS,CAAC,EAGxC/B,KAAA2E,qBAAwBC,IAC9B5E,KAAKuE,oBACLM,EAAwBD,EAAc,OAAQ5E,KAAK,C,CAhYrD,oBAAA8E,GACEC,EAAoB/E,KAAKM,SAAUN,KAAKoB,G,CAQ1C,oBAAA4D,GACEhF,KAAKiF,mBAAmBC,KAAK,CAAEC,WAAYnF,KAAKO,SAAUuD,GAAI9D,KAAKoB,GAAG0C,I,CAgDxE,oBAAAsB,GACE,GAAIpF,KAAKY,SAAU,CACjBZ,KAAKqF,mBAAmBH,KAAK,CAAEpB,GAAI9D,KAAKoB,GAAG0C,I,CAE7C9D,KAAKgB,iB,CAyCP,oBAAAsE,G,OACEhE,EAAAtB,KAAKE,wBAAoB,MAAAoB,SAAA,SAAAA,EAAEiE,Y,CAG7B,iBAAAC,GACET,EAAoB/E,KAAKM,SAAUN,KAAKoB,IACxCpB,KAAKuE,mB,CAGP,gBAAAkB,GACEzF,KAAKiB,qBAELjB,KAAKgB,mBAEJ0E,EAAW1F,KAAKoB,GAAI,UACnBuE,EACE,CAAC,CAAEC,KAAM5F,KAAKW,MAAOkF,SAAU,UAC/B,aAGJ7F,KAAKE,qBAAuB,IAAI4F,kBAAkBlB,IAChD5E,KAAK2E,qBAAqBC,EAAa,IAEzC5E,KAAKE,qBAAqB6F,QAAQ/F,KAAKoB,GAAI,CACzC4E,UAAW,M,CAGf,kBAAAC,GACEjG,KAAKkG,iBACDlG,KAAKuC,sBAAsBvC,KAAKoB,IAChCpB,KAAKkE,yBAAyBlE,KAAKoB,IACvC,GAAIpB,KAAKO,SAAU,CACjBP,KAAKwE,eAAe2B,SAASzB,IAC3BA,EAAMwB,iBACFlG,KAAKuC,sBAAsBmC,GAC3B1E,KAAKkE,yBAAyBQ,EAAM,G,EAK9C,kBAAA0B,GACE,GAAIpG,KAAKQ,kBAAmB,CAC1BR,KAAKwE,eAAe2B,SAASzB,IAC3BA,EAAMwB,iBACFlG,KAAKuC,sBAAsBmC,GAC3B1E,KAAKkE,yBAAyBQ,EAAM,IAE1C1E,KAAKQ,kBAAoB,K,EAK7B,aAAA6F,CAAcC,GACZ,GAAIA,EAAGC,MAAQ,SAAWD,EAAGC,MAAQ,IAAK,CACxCD,EAAGE,2BACHxG,KAAKe,uB,EAQT,cAAM0F,G,QACJ,GAAIzG,KAAKiC,gBAAiB,EACxBX,EAAAtB,KAAKkC,cAAU,MAAAZ,SAAA,SAAAA,EAAEoF,O,KACZ,EACLnD,EAAAvD,KAAK2G,mBAAe,MAAApD,SAAA,SAAAA,EAAEmD,O,EAkB1B,qBAAM1F,GACJ,IAAI4F,EAEJ,GAAI5G,KAAKiC,gBAAiB,CACxB2E,EAAY5G,KAAKkC,WAAYe,W,MACxB,GAAIyC,EAAW1F,KAAKoB,GAAI,SAAU,CACvCwF,EAAY5G,KAAKoB,GAAGI,cAAc,kBAAmByB,W,KAChD,CACL2D,EAAY5G,KAAKW,K,CAGnB,GAAIX,KAAKU,SAAU,CACjBkG,EAAY,GAAGA,wBACb5G,KAAKO,SAAW,WAAa,a,CAIjC,GAAIP,KAAKoB,GAAGD,cAAe,CACzB,MAAM0F,EAAYnF,MAAMC,KACrB3B,KAAKoB,GAAGD,cAA8BS,UACvC6C,QACCC,GAAUA,EAAM1C,UAAYhC,KAAKC,cAGpC,MAAM6G,EAAQD,EAAUE,QAAQ/G,KAAKoB,IAAM,EAC3C,MAAM4F,EAAiBH,EAAU9E,OAEjC6E,EAAY,GAAGA,MAAcE,QAAYE,G,CAG3C,GAAIhH,KAAKY,SAAU,CACjBgG,EAAY,GAAGA,W,CAGjB,GAAI5G,KAAKM,SAAU,CACjBsG,EAAY,GAAGA,W,CAGjB,GAAI5G,KAAKiC,gBAAiB,CACxBjC,KAAKkC,WAAY0E,UAAYA,C,KACxB,CACL5G,KAAK2G,gBAAiBC,UAAYA,C,EAkI9B,aAAA3E,GACNjC,KAAKkC,WAAalC,KAAKoB,GAAGI,cAAc,wBACxC,QAASxB,KAAKkC,U,CA0BhB,MAAA+E,G,MACE,MAAM3G,SAAEA,EAAQK,MAAEA,EAAKC,SAAEA,EAAQC,KAAEA,EAAIN,SAAEA,EAAQO,MAAEA,GAAUd,KAE7D,MAAMkH,EAAYlH,KAAKmH,OAASnH,KAAKM,SAAW,IAAM,MAEtD,MAAM8G,EAAQF,GAAa,KAAO,CAChCC,KAAMnH,KAAKmH,KACXE,SAAUrH,KAAKS,SACf6G,eAAgBtH,KAAKuH,eACrBC,IAAKxH,KAAKwH,IACVC,OAAQzH,KAAKyH,QAGf,OACEC,EAACC,EAAI,CAAApB,IAAA,2CACHqB,MAAO,CACL,wBAAyBtH,EACzB,yBAA0BA,GAAYM,EACtC,CAAC,gBAAgBC,KAASA,IAAS,SACnC,CAAC,YAAYC,KAAUA,IAAU,UACjC,0BAA2Bd,KAAKkG,kBAElCpC,IAAIxC,EAAAtB,KAAK6H,cAAU,MAAAvG,SAAA,EAAAA,EAAI,gBAAgB1B,OAEtCI,KAAKiC,gBACJyF,EAAA,QAAMI,KAAK,gBAEXJ,EAACR,EAASa,OAAAC,OAAA,CACRJ,MAAO,CACL,oBAAqB,MAEvBK,SAAU3H,GAAY,EAAI,EAC1B4H,QAASlI,KAAKe,sBACdoH,IAAM/G,GAAQpB,KAAK2G,gBAAkBvF,EAAG,gBACzBd,EAAW,OAAS,QAAO,YAChC,UACN8G,EAAK,CACTgB,QAAS,IAAMpI,KAAKgE,qBAAqB,MACzCqE,OAAQ,IAAMrI,KAAKgE,qBAAqB,SAEvChE,KAAKU,UACJgH,EAAA,QACEE,MAAO,CACL,CAAC,kBAAmB,KACpB,CAAC,sBAAuBrH,GACzB,cACW,OACZyC,UAAWsF,IAGd5C,EAAW1F,KAAKoB,GAAI,SACnBsG,EAAA,OAAKE,MAAM,kBACTF,EAAA,QAAMI,KAAK,UAGfJ,EAAA,iBAAeE,MAAM,mBAClBlC,EAAW1F,KAAKoB,GAAI,SAAWsG,EAAA,QAAMI,KAAK,UAAanH,IAI7DJ,GACCmH,EAAA,OAAAnB,IAAA,yDAAkB,IAAIhG,KACpBmH,EAAA,QAAAnB,IAAA,8C","ignoreList":[]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as i,h as e,H as t,g as s}from"./p-8e4e97b4.js";import{a,q as h,D as c,t as r,i as n,f as o}from"./p-e253a857.js";const l=':host{display:block;width:var(--tree-view-width, 100%);background-color:var(--ic-tree-view-background)}:host .heading-area-container{border-bottom:var(--ic-space-1px) solid var(--ic-tree-view-divider);display:flex;align-items:center;min-height:calc(\n var(--ic-space-xl) + var(--ic-space-xs) - var(--ic-space-1px)\n );padding:0 var(--ic-space-xs);--ic-typography-color:var(--ic-tree-view-text)}:host(.ic-tree-view-small) .heading-area-container{min-height:calc(var(--ic-space-xl) - var(--ic-space-1px))}:host(.ic-tree-view-large) .heading-area-container{min-height:calc(var(--ic-space-xxl) - var(--ic-space-1px))}:host(.ic-tree-view-truncate) .heading-area-container{height:calc(var(--ic-space-xl) + var(--ic-space-xs) - var(--ic-space-1px))}:host(.ic-tree-view-truncate.ic-tree-view-small) .heading-area-container{height:calc(var(--ic-space-xl) - var(--ic-space-1px))}:host(.ic-tree-view-truncate.ic-tree-view-large) .heading-area-container{height:calc(var(--ic-space-xxl) - var(--ic-space-1px))}.icon-container{width:var(--ic-space-lg);min-width:var(--ic-space-lg);height:var(--ic-space-lg);margin:0 var(--ic-space-xs) 0 0}:host(.ic-tree-view-small) .icon-container{margin:0 var(--ic-space-xxs) 0 0}.ic-text-overflow{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ic-tooltip-overflow{overflow:hidden}.tree-view-header.with-padding{padding-right:var(--ic-space-xs)}.tree-items-container-hidden{visibility:hidden}::slotted([slot="icon"]){fill:var(--ic-tree-view-icon)}@media (forced-colors: active){::slotted([slot="icon"]){fill:currentcolor}}';const d=l;var v=undefined&&undefined.__rest||function(i,e){var t={};for(var s in i)if(Object.prototype.hasOwnProperty.call(i,s)&&e.indexOf(s)<0)t[s]=i[s];if(i!=null&&typeof Object.getOwnPropertySymbols==="function")for(var a=0,s=Object.getOwnPropertySymbols(i);a<s.length;a++){if(e.indexOf(s[a])<0&&Object.prototype.propertyIsEnumerable.call(i,s[a]))t[s[a]]=i[s[a]]}return t};let f=0;const u=class{constructor(e){i(this,e);this.treeViewId=`ic-tree-view-${f++}`;this.treeItemTag="IC-TREE-ITEM";this.hostMutationObserver=null;this.isLoaded=false;this.resizeObserver=null;this.TOOLTIP="ic-tooltip";this.previousTruncateHeading=false;this.previousTruncateTreeItems=false;this.smallDevice=false;this.heading="";this.size="medium";this.theme="inherit";this.treeItemData=[];this.truncateHeading=false;this.truncateTreeItems=false;this.hostMutationCallback=i=>{var e;(e=this.hostMutationObserver)===null||e===void 0?void 0:e.disconnect();a(i,"icon",this);this.setTreeItems();this.createMutationObserver()};this.createMutationObserver=()=>{this.hostMutationObserver=new MutationObserver((i=>{this.hostMutationCallback(i)}));this.hostMutationObserver.observe(this.el,{childList:true,subtree:true})};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{const i=h()<=c.S;if(this.smallDevice!==i)this.smallDevice=i}));this.resizeObserver.observe(document.body)};this.removeTruncation=()=>{this.truncateHeading=false;this.truncateTreeItems=false};this.handleKeyDown=i=>{var e,t;const s=this.treeItems.indexOf(this.treeItems.filter((i=>i===document.activeElement))[0]);const a=(e=this.treeItems[s])===null||e===void 0?void 0:e.expanded;switch(i.key){case"ArrowDown":this.treeItems[this.getNextItemToSelect(s,true)].setFocus();if(s!==this.treeItems.length-1){i.preventDefault()}break;case"ArrowUp":this.treeItems[this.getNextItemToSelect(s,false)].setFocus();if(s!==0){i.preventDefault()}break;case"ArrowRight":if(this.treeItems[s].isParent&&!a){this.treeItems[s].expanded=true;this.treeItems[s].hasParentExpanded=true;this.treeItems[s].updateAriaLabel()}else if(this.treeItems[s].isParent&&a){this.treeItems[s].children[0].setFocus()}i.preventDefault();break;case"ArrowLeft":if(this.treeItems[s].isParent&&a){this.treeItems[s].expanded=false;this.treeItems[s].hasParentExpanded=false;this.treeItems[s].updateAriaLabel()}else if(((t=this.treeItems[s].parentElement)===null||t===void 0?void 0:t.tagName)===this.treeItemTag){this.treeItems[s].parentElement.setFocus()}i.preventDefault();break}};this.getNextItemToSelect=(i,e)=>{var t;const s=this.treeItems.length-1;if(i<1){i=0}let a=e?i+1:i-1;if(a<0){a=0}else if(a>s){a=s}const h=s+1;let c=0;while(c<h){if(a<0||a>s){return i}if(((t=this.treeItems[a].parentElement)===null||t===void 0?void 0:t.tagName)!==this.treeItemTag||this.treeItems[a].parentElement.expanded&&this.treeItems[a].offsetHeight>0){return a}if(a===s&&this.treeItems[a].disabled){return i}a=e?a+1:a-1;c++}return i};this.linkTreeItems=()=>{this.treeItems.forEach((i=>{i.setAttribute("context-id",this.treeViewId)}))};this.setTreeItems=()=>{this.treeItems=this.getAllTreeItems(this.el);this.linkTreeItems()};this.truncateTreeViewHeading=()=>{var i,e;const t=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector(".tree-view-header");const s=t===null||t===void 0?void 0:t.closest(this.TOOLTIP);const a=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(".heading-area-container");if(t&&a&&t.scrollHeight>a.clientHeight){t.classList.add("ic-text-overflow");if(!s){const i=document.createElement("ic-tooltip");i.setAttribute("target",this.el.id);i.setAttribute("label",t.textContent);i.classList.add("ic-tooltip-overflow");i.setAttribute("placement","right");a.appendChild(i);i.appendChild(t)}}};this.removeHeadingTruncation=()=>{var i,e,t;const s=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector(".tree-view-header");const a=s===null||s===void 0?void 0:s.closest(this.TOOLTIP);if(a&&s){s.classList.remove("ic-text-overflow");(t=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(".heading-area-container"))===null||t===void 0?void 0:t.replaceChild(s,a)}};this.isHeadingDefined=()=>r(this.heading)&&this.heading!==null;this.hasHeadingAreaContent=()=>n(this.el,"heading")||this.isHeadingDefined()||n(this.el,"icon")}watchSmallDeviceHandler(){if(this.smallDevice){this.previousTruncateHeading=this.truncateHeading;this.previousTruncateTreeItems=this.truncateTreeItems;this.removeTruncation()}else{this.truncateHeading=this.previousTruncateHeading;this.truncateTreeItems=this.previousTruncateTreeItems}}watchSizeHandler(){this.treeItems.forEach((i=>{i.size=this.size}))}watchThemeHandler(){this.treeItems.forEach((i=>{i.theme=this.theme}))}watchTreeItemOptionsHandler(){this.setTreeItems()}watchTruncateTreeItemsHandler(){this.treeItems.forEach((i=>{if(this.smallDevice){i.previousTruncateTreeItem=i.truncateTreeItem;i.truncateTreeItem=this.truncateTreeItems}else{i.truncateTreeItem=i.previousTruncateTreeItem}}))}disconnectedCallback(){var i,e;(i=this.hostMutationObserver)===null||i===void 0?void 0:i.disconnect();(e=this.resizeObserver)===null||e===void 0?void 0:e.disconnect()}componentWillLoad(){this.setTreeItems();this.previousTruncateHeading=this.truncateHeading;this.previousTruncateTreeItems=this.truncateTreeItems;o(this.runResizeObserver);this.watchSizeHandler();this.watchThemeHandler();this.treeItems.forEach((i=>{if(i.truncateTreeItem===undefined){i.truncateTreeItem=this.truncateTreeItems}}))}componentDidRender(){this.truncateHeading?this.truncateTreeViewHeading():this.removeHeadingTruncation()}componentDidLoad(){this.createMutationObserver();this.isLoaded=true}handleTreeItemSelected(i){this.treeItems.forEach((e=>{if(e.selected&&e.id!==i.detail.id){e.selected=false}}))}getAllTreeItems(i){const e=[];const t=i=>{Array.from(i.children).forEach((i=>{if(i.tagName===this.treeItemTag){e.push(i)}t(i)}))};const s=(i,t)=>{Array.from(t.children).forEach((i=>{if(i.tagName===this.treeItemTag){t.removeChild(i)}}));i.forEach((i=>{const a=document.createElement(this.treeItemTag);const{children:h,icon:c}=i,r=v(i,["children","icon"]);Object.assign(a,r);if(c){const i=document.createElement("div");i.setAttribute("slot","icon");i.innerHTML=c;a.appendChild(i)}t.appendChild(a);e.push(a);if(h&&h.length>0){s(h,a)}}))};if(this.treeItemData.length>0){s(this.treeItemData,i)}else{t(i)}return e}render(){const{heading:i,isLoaded:s,size:a,theme:h,truncateHeading:c}=this;return e(t,{key:"27580c72297c3cd967fca56e2173e804471021b7","context-id":this.treeViewId,class:{[`ic-tree-view-${a}`]:a!=="medium",[`ic-theme-${h}`]:h!=="inherit","ic-tree-view-truncate":c},onKeyDown:this.handleKeyDown,"aria-label":this.isHeadingDefined()?i:null},this.hasHeadingAreaContent()&&e("div",{key:"0c140dad9e375bd767f0666208ac543a5a6cea6b",class:"heading-area-container"},n(this.el,"icon")&&e("div",{key:"fab7825c158e50006616e74d05291a2fb84ad57a",class:"icon-container"},e("slot",{key:"13add86d2c3b7df897de7d32e44eb115e8d7c06c",name:"icon"})),e("ic-typography",{key:"ec68ded1444f4624ac02925be47e86733453f695",variant:"subtitle-large",class:{"tree-view-header":true,"with-padding":this.truncateHeading&&!s}},n(this.el,"heading")?e("slot",{name:"heading"}):i)),e("slot",{key:"54f0e3343a5ee14a951646a27636b2b86e067b7d"}))}get el(){return s(this)}static get watchers(){return{smallDevice:["watchSmallDeviceHandler"],size:["watchSizeHandler"],theme:["watchThemeHandler"],treeItemData:["watchTreeItemOptionsHandler"],truncateTreeItems:["watchTruncateTreeItemsHandler"]}}};u.style=d;export{u as ic_tree_view};
|
2
|
+
//# sourceMappingURL=p-78635447.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["icTreeViewCss","IcTreeViewStyle0","treeViewIds","TreeView","constructor","hostRef","this","treeViewId","treeItemTag","hostMutationObserver","isLoaded","resizeObserver","TOOLTIP","previousTruncateHeading","previousTruncateTreeItems","smallDevice","heading","size","theme","treeItemData","truncateHeading","truncateTreeItems","hostMutationCallback","mutationList","_a","disconnect","renderDynamicChildSlots","setTreeItems","createMutationObserver","MutationObserver","observe","el","childList","subtree","runResizeObserver","ResizeObserver","isSmallDevice","getCurrentDeviceSize","DEVICE_SIZES","S","document","body","removeTruncation","handleKeyDown","event","focussedChild","treeItems","indexOf","filter","activeElement","expanded","key","getNextItemToSelect","setFocus","length","preventDefault","isParent","hasParentExpanded","updateAriaLabel","children","_b","parentElement","tagName","currentItem","movingDown","numItems","nextItem","maxAttempts","attempts","offsetHeight","disabled","linkTreeItems","forEach","treeItem","setAttribute","getAllTreeItems","truncateTreeViewHeading","typographyEl","shadowRoot","querySelector","tooltip","closest","headingContainer","scrollHeight","clientHeight","classList","add","tooltipEl","createElement","id","textContent","appendChild","removeHeadingTruncation","remove","_c","replaceChild","isHeadingDefined","isPropDefined","hasHeadingAreaContent","isSlotUsed","watchSmallDeviceHandler","watchSizeHandler","watchThemeHandler","watchTreeItemOptionsHandler","watchTruncateTreeItemsHandler","previousTruncateTreeItem","truncateTreeItem","disconnectedCallback","componentWillLoad","checkResizeObserver","undefined","componentDidRender","componentDidLoad","handleTreeItemSelected","selected","detail","element","collectTreeItemsFromSlottedContent","Array","from","child","push","collectTreeItemsFromData","items","removeChild","item","icon","props","__rest","Object","assign","iconSlot","innerHTML","render","h","Host","class","onKeyDown","name","variant"],"sources":["src/components/ic-tree-view/ic-tree-view.css?tag=ic-tree-view&encapsulation=shadow","src/components/ic-tree-view/ic-tree-view.tsx"],"sourcesContent":["/**\n* @prop --tree-view-width: Width of the tree view\n*/\n\n:host {\n display: block;\n width: var(--tree-view-width, 100%);\n background-color: var(--ic-tree-view-background);\n}\n\n:host .heading-area-container {\n border-bottom: var(--ic-space-1px) solid var(--ic-tree-view-divider);\n display: flex;\n align-items: center;\n min-height: calc(\n var(--ic-space-xl) + var(--ic-space-xs) - var(--ic-space-1px)\n );\n padding: 0 var(--ic-space-xs);\n\n --ic-typography-color: var(--ic-tree-view-text);\n}\n\n:host(.ic-tree-view-small) .heading-area-container {\n min-height: calc(var(--ic-space-xl) - var(--ic-space-1px));\n}\n\n:host(.ic-tree-view-large) .heading-area-container {\n min-height: calc(var(--ic-space-xxl) - var(--ic-space-1px));\n}\n\n:host(.ic-tree-view-truncate) .heading-area-container {\n height: calc(var(--ic-space-xl) + var(--ic-space-xs) - var(--ic-space-1px));\n}\n\n:host(.ic-tree-view-truncate.ic-tree-view-small) .heading-area-container {\n height: calc(var(--ic-space-xl) - var(--ic-space-1px));\n}\n\n:host(.ic-tree-view-truncate.ic-tree-view-large) .heading-area-container {\n height: calc(var(--ic-space-xxl) - var(--ic-space-1px));\n}\n\n.icon-container {\n width: var(--ic-space-lg);\n min-width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n margin: 0 var(--ic-space-xs) 0 0;\n}\n\n:host(.ic-tree-view-small) .icon-container {\n margin: 0 var(--ic-space-xxs) 0 0;\n}\n\n.ic-text-overflow {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.ic-tooltip-overflow {\n overflow: hidden;\n}\n\n/* Ensures truncation works - accounts for text width increase as component hydrates */\n.tree-view-header.with-padding {\n padding-right: var(--ic-space-xs);\n}\n\n.tree-items-container-hidden {\n visibility: hidden;\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-tree-view-icon);\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n h,\n Prop,\n Element,\n Host,\n Watch,\n State,\n Listen,\n} from \"@stencil/core\";\nimport { IcSizes, IcThemeMode } from \"../../utils/types\";\nimport {\n checkResizeObserver,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n isPropDefined,\n isSlotUsed,\n renderDynamicChildSlots,\n} from \"../../utils/helpers\";\nimport { IcTreeItemOptions } from \"./ic-tree-view.types\";\n\nlet treeViewIds = 0;\n\n/**\n * @slot heading - Content is set as the tree view heading.\n * @slot icon - Content is placed to the left of the heading.\n */\n\n@Component({\n tag: \"ic-tree-view\",\n styleUrl: \"ic-tree-view.css\",\n shadow: true,\n})\nexport class TreeView {\n private treeViewId = `ic-tree-view-${treeViewIds++}`;\n private treeItemTag = \"IC-TREE-ITEM\";\n private hostMutationObserver: MutationObserver | null = null;\n private isLoaded = false;\n private resizeObserver: ResizeObserver | null = null;\n private TOOLTIP = \"ic-tooltip\";\n\n private previousTruncateHeading: boolean = false;\n private previousTruncateTreeItems: boolean = false;\n\n @Element() el: HTMLIcTreeViewElement;\n\n @State() smallDevice: boolean = false;\n @Watch(\"smallDevice\")\n watchSmallDeviceHandler(): void {\n if (this.smallDevice) {\n this.previousTruncateHeading = this.truncateHeading;\n this.previousTruncateTreeItems = this.truncateTreeItems;\n this.removeTruncation();\n } else {\n this.truncateHeading = this.previousTruncateHeading;\n this.truncateTreeItems = this.previousTruncateTreeItems;\n }\n }\n\n @State() treeItems: HTMLIcTreeItemElement[];\n\n /**\n * The heading of the tree view.\n */\n @Prop() heading: string = \"\";\n\n /**\n * The size of the tree view.\n */\n @Prop() size?: IcSizes = \"medium\";\n @Watch(\"size\")\n watchSizeHandler(): void {\n this.treeItems.forEach((treeItem) => {\n treeItem.size = this.size;\n });\n }\n\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 @Prop() theme?: IcThemeMode = \"inherit\";\n @Watch(\"theme\")\n watchThemeHandler(): void {\n this.treeItems.forEach((treeItem) => {\n treeItem.theme = this.theme;\n });\n }\n\n /**\n * The content within the tree view tree items. This will take precedence over slotted content.\n * */\n @Prop() treeItemData: IcTreeItemOptions[] = [];\n @Watch(\"treeItemData\")\n watchTreeItemOptionsHandler(): void {\n this.setTreeItems();\n }\n\n /**\n * If `true`, the tree view heading will be truncated instead of text wrapping.\n * When used on small devices, this prop will be overridden and headings will be set to text-wrap.\n */\n @Prop({ mutable: true }) truncateHeading: boolean = false;\n\n /**\n * If `true`, tree items will be truncated, unless they are individually overridden.\n * When used on small devices, this prop will be overridden and tree-items will be set to text-wrap.\n */\n @Prop({ mutable: true }) truncateTreeItems: boolean = false;\n @Watch(\"truncateTreeItems\")\n watchTruncateTreeItemsHandler(): void {\n this.treeItems.forEach((treeItem) => {\n if (this.smallDevice) {\n treeItem.previousTruncateTreeItem = treeItem.truncateTreeItem;\n treeItem.truncateTreeItem = this.truncateTreeItems;\n } else {\n treeItem.truncateTreeItem = treeItem.previousTruncateTreeItem;\n }\n });\n }\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n this.resizeObserver?.disconnect();\n }\n componentWillLoad(): void {\n this.setTreeItems();\n\n this.previousTruncateHeading = this.truncateHeading;\n this.previousTruncateTreeItems = this.truncateTreeItems;\n\n checkResizeObserver(this.runResizeObserver);\n\n this.watchSizeHandler();\n this.watchThemeHandler();\n this.treeItems.forEach((treeItem) => {\n if (treeItem.truncateTreeItem === undefined) {\n treeItem.truncateTreeItem = this.truncateTreeItems;\n }\n });\n }\n\n componentDidRender(): void {\n this.truncateHeading\n ? this.truncateTreeViewHeading()\n : this.removeHeadingTruncation();\n }\n\n componentDidLoad(): void {\n this.createMutationObserver();\n\n this.isLoaded = true;\n }\n\n @Listen(\"icTreeItemSelected\")\n handleTreeItemSelected(event: CustomEvent): void {\n this.treeItems.forEach((treeItem) => {\n if (treeItem.selected && treeItem.id !== event.detail.id) {\n treeItem.selected = false;\n }\n });\n }\n\n private hostMutationCallback = (mutationList: MutationRecord[]) => {\n this.hostMutationObserver?.disconnect();\n renderDynamicChildSlots(mutationList, \"icon\", this);\n this.setTreeItems();\n this.createMutationObserver();\n };\n\n private createMutationObserver = () => {\n this.hostMutationObserver = new MutationObserver((mutationList) => {\n this.hostMutationCallback(mutationList);\n });\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n subtree: true,\n });\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const isSmallDevice = getCurrentDeviceSize() <= DEVICE_SIZES.S;\n if (this.smallDevice !== isSmallDevice) this.smallDevice = isSmallDevice;\n });\n\n this.resizeObserver.observe(document.body);\n };\n\n private removeTruncation = (): void => {\n this.truncateHeading = false;\n this.truncateTreeItems = false;\n };\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n const focussedChild = this.treeItems.indexOf(\n this.treeItems.filter((el) => el === document.activeElement)[0]\n );\n const expanded = this.treeItems[focussedChild]?.expanded;\n switch (event.key) {\n case \"ArrowDown\":\n this.treeItems[\n this.getNextItemToSelect(focussedChild, true)\n ].setFocus();\n if (focussedChild !== this.treeItems.length - 1) {\n event.preventDefault();\n }\n break;\n case \"ArrowUp\":\n this.treeItems[\n this.getNextItemToSelect(focussedChild, false)\n ].setFocus();\n if (focussedChild !== 0) {\n event.preventDefault();\n }\n break;\n case \"ArrowRight\":\n if (this.treeItems[focussedChild].isParent && !expanded) {\n this.treeItems[focussedChild].expanded = true;\n this.treeItems[focussedChild].hasParentExpanded = true;\n this.treeItems[focussedChild].updateAriaLabel();\n } else if (this.treeItems[focussedChild].isParent && expanded) {\n (\n this.treeItems[focussedChild].children[0] as HTMLIcTreeItemElement\n ).setFocus();\n }\n event.preventDefault();\n break;\n case \"ArrowLeft\":\n if (this.treeItems[focussedChild].isParent && expanded) {\n this.treeItems[focussedChild].expanded = false;\n this.treeItems[focussedChild].hasParentExpanded = false;\n this.treeItems[focussedChild].updateAriaLabel();\n } else if (\n this.treeItems[focussedChild].parentElement?.tagName ===\n this.treeItemTag\n ) {\n (\n this.treeItems[focussedChild].parentElement as HTMLIcTreeItemElement\n ).setFocus();\n }\n event.preventDefault();\n break;\n }\n };\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const numItems = this.treeItems.length - 1;\n\n if (currentItem < 1) {\n currentItem = 0;\n }\n\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n if (nextItem < 0) {\n nextItem = 0;\n } else if (nextItem > numItems) {\n nextItem = numItems;\n }\n\n const maxAttempts = numItems + 1;\n let attempts = 0;\n\n while (attempts < maxAttempts) {\n if (nextItem < 0 || nextItem > numItems) {\n return currentItem;\n }\n\n if (\n this.treeItems[nextItem].parentElement?.tagName !== this.treeItemTag ||\n ((this.treeItems[nextItem].parentElement as HTMLIcTreeItemElement)\n .expanded &&\n this.treeItems[nextItem].offsetHeight > 0)\n ) {\n return nextItem;\n }\n\n if (nextItem === numItems && this.treeItems[nextItem].disabled) {\n return currentItem;\n }\n\n nextItem = movingDown ? nextItem + 1 : nextItem - 1;\n attempts++;\n }\n\n return currentItem;\n };\n\n private linkTreeItems = () => {\n this.treeItems.forEach((treeItem) => {\n treeItem.setAttribute(\"context-id\", this.treeViewId);\n });\n };\n\n private setTreeItems = () => {\n this.treeItems = this.getAllTreeItems(this.el as HTMLElement);\n\n this.linkTreeItems();\n };\n\n private getAllTreeItems(element: HTMLElement): HTMLIcTreeItemElement[] {\n const treeItems: HTMLIcTreeItemElement[] = [];\n\n const collectTreeItemsFromSlottedContent = (el: HTMLElement) => {\n Array.from(el.children).forEach((child) => {\n if (child.tagName === this.treeItemTag) {\n treeItems.push(child as HTMLIcTreeItemElement);\n }\n\n collectTreeItemsFromSlottedContent(child as HTMLElement);\n });\n };\n\n const collectTreeItemsFromData = (\n items: IcTreeItemOptions[],\n parentElement: HTMLElement\n ) => {\n Array.from(parentElement.children).forEach((child) => {\n if (child.tagName === this.treeItemTag) {\n parentElement.removeChild(child);\n }\n });\n\n items.forEach((item) => {\n const treeItem = document.createElement(\n this.treeItemTag\n ) as HTMLIcTreeItemElement;\n const { children, icon, ...props } = item;\n Object.assign(treeItem, props);\n\n if (icon) {\n const iconSlot = document.createElement(\"div\");\n iconSlot.setAttribute(\"slot\", \"icon\");\n iconSlot.innerHTML = icon;\n treeItem.appendChild(iconSlot);\n }\n\n parentElement.appendChild(treeItem);\n treeItems.push(treeItem);\n\n if (children && children.length > 0) {\n collectTreeItemsFromData(children, treeItem);\n }\n });\n };\n\n if (this.treeItemData.length > 0) {\n collectTreeItemsFromData(this.treeItemData, element);\n } else {\n collectTreeItemsFromSlottedContent(element);\n }\n\n return treeItems;\n }\n\n private truncateTreeViewHeading = () => {\n const typographyEl =\n this.el.shadowRoot?.querySelector<HTMLIcTypographyElement>(\n \".tree-view-header\"\n );\n const tooltip = typographyEl?.closest(this.TOOLTIP);\n const headingContainer = this.el.shadowRoot?.querySelector<HTMLElement>(\n \".heading-area-container\"\n );\n\n if (\n typographyEl &&\n headingContainer &&\n typographyEl.scrollHeight > headingContainer.clientHeight\n ) {\n typographyEl.classList.add(\"ic-text-overflow\");\n\n if (!tooltip) {\n const tooltipEl = document.createElement(\"ic-tooltip\");\n tooltipEl.setAttribute(\"target\", this.el.id);\n tooltipEl.setAttribute(\"label\", typographyEl.textContent!);\n tooltipEl.classList.add(\"ic-tooltip-overflow\");\n tooltipEl.setAttribute(\"placement\", \"right\");\n headingContainer.appendChild(tooltipEl);\n tooltipEl.appendChild(typographyEl);\n }\n }\n };\n\n private removeHeadingTruncation = () => {\n const typographyEl =\n this.el.shadowRoot?.querySelector<HTMLIcTypographyElement>(\n \".tree-view-header\"\n );\n const tooltipEl = typographyEl?.closest<HTMLIcTooltipElement>(this.TOOLTIP);\n\n if (tooltipEl && typographyEl) {\n typographyEl.classList.remove(\"ic-text-overflow\");\n this.el.shadowRoot\n ?.querySelector(\".heading-area-container\")\n ?.replaceChild(typographyEl, tooltipEl);\n }\n };\n\n private isHeadingDefined = () =>\n isPropDefined(this.heading) && this.heading !== null;\n\n private hasHeadingAreaContent = (): boolean => {\n return (\n isSlotUsed(this.el, \"heading\") ||\n this.isHeadingDefined() ||\n isSlotUsed(this.el, \"icon\")\n );\n };\n\n render() {\n const { heading, isLoaded, size, theme, truncateHeading } = this;\n\n return (\n <Host\n context-id={this.treeViewId}\n class={{\n [`ic-tree-view-${size}`]: size !== \"medium\",\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n \"ic-tree-view-truncate\": truncateHeading,\n }}\n onKeyDown={this.handleKeyDown}\n aria-label={this.isHeadingDefined() ? heading : null}\n >\n {this.hasHeadingAreaContent() && (\n <div class=\"heading-area-container\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon-container\">\n <slot name=\"icon\" />\n </div>\n )}\n <ic-typography\n variant=\"subtitle-large\"\n class={{\n \"tree-view-header\": true,\n \"with-padding\": this.truncateHeading && !isLoaded,\n }}\n >\n {isSlotUsed(this.el, \"heading\") ? (\n <slot name=\"heading\" />\n ) : (\n heading\n )}\n </ic-typography>\n </div>\n )}\n\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as t,c as i,h as e,H as s,g as a}from"./p-8e4e97b4.js";import{A as r,B as h,C as o,r as n,E as l,b as c,j as d,F as u}from"./p-0fe08a58.js";const b=`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M15.8327 5.34199L14.6577 4.16699L9.99935 8.82533L5.34102 4.16699L4.16602 5.34199L8.82435 10.0003L4.16602 14.6587L5.34102 15.8337L9.99935 11.1753L14.6577 15.8337L15.8327 14.6587L11.1743 10.0003L15.8327 5.34199Z" fill="currentColor"/>\n</svg>\n`;const p=`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">\n <path d="M13.1292 11.8792H12.4708L12.2375 11.6542C13.0542 10.7042 13.5458 9.47083 13.5458 8.12916C13.5458 5.13749 11.1208 2.71249 8.12916 2.71249C5.13749 2.71249 2.71249 5.13749 2.71249 8.12916C2.71249 11.1208 5.13749 13.5458 8.12916 13.5458C9.47083 13.5458 10.7042 13.0542 11.6542 12.2375L11.8792 12.4708V13.1292L16.0458 17.2875L17.2875 16.0458L13.1292 11.8792ZM8.12916 11.8792C6.05416 11.8792 4.37916 10.2042 4.37916 8.12916C4.37916 6.05416 6.05416 4.37916 8.12916 4.37916C10.2042 4.37916 11.8792 6.05416 11.8792 8.12916C11.8792 10.2042 10.2042 11.8792 8.12916 11.8792Z" fill="currentColor"/>\n</svg>`;const f='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.ic-search-bar-search){display:block;--divider-height:1.5rem;--ic-input-label-helpertext-padding:var(--ic-space-xs);--border-color:var(--ic-search-bar-outline);--input-bg-color:var(--ic-search-bar-background);--border-color-disabled:var(--ic-search-bar-outline-disabled);--menu-item-text-color:var(--ic-search-bar-dropdown-option-text);--menu-item-desc-text-color:var(--ic-search-bar-dropdown-option-description);--menu-bg-color:var(--ic-search-bar-dropdown-background);--menu-border-color:var(--ic-search-bar-dropdown-outline)}:host(.ic-search-bar-disabled){--ic-input-label-text-color:var(--ic-search-bar-label-disabled);--ic-input-label-helper-text-color:var(--ic-search-bar-subtitle-disabled)}:host(.ic-search-bar-search:hover){--border-color:var(--ic-search-bar-outline-hover)}:host(.ic-search-bar-search:active){--border-color:var(--ic-search-bar-outline-pressed)}:host(.ic-search-bar-search.ic-search-bar-small){--divider-height:1rem}:host(.ic-search-bar-full-width){width:100%}::-moz-placeholder{color:var(--ic-search-bar-placeholder-text);opacity:1}::placeholder{color:var(--ic-search-bar-placeholder-text);opacity:1}input{border:0;border-radius:var(--ic-border-radius);color:var(--ic-search-bar-filled-text);background-color:var(--input-bg-color);line-height:1.5rem;letter-spacing:0.005rem;width:100%;padding-right:var(--ic-space-xs);padding-left:var(--ic-space-xs);caret-color:var(--ic-search-bar-filled-text-cursor)}input:focus{border:0;outline:0}input:disabled::-moz-placeholder{color:var(--ic-search-bar-disabled-text)}input:disabled,input:disabled::placeholder{color:var(--ic-search-bar-disabled-text)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.no-left-pad{padding-left:0}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-results-button,input[type="search"]::-webkit-search-results-decoration{display:none}input[type="search"].truncate-value{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.clear-button-container{align-items:center;margin-right:var(--ic-space-1px);display:none;visibility:hidden}.clear-button{border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition)}.clear-button:focus,.clear-button:active{background-color:var(--ic-color-focus-inner);box-shadow:inset 0 0 0 0.125rem var(--ic-color-focus-outer);border-radius:0.25rem}.clear-button-unfocused *{fill:var(--ic-search-bar-clear-button)}.clear-button:focus,.clear-button:active *{fill:var(--ic-atoms-input-clear-button-focus)}.clear-button-visible{visibility:visible;display:flex}.search-submit-button-container{display:flex;align-items:center}.search-submit-button-unfocused *{fill:var(--ic-search-bar-filled-icon)}.search-submit-button-disabled *{fill:var(--ic-search-bar-icon-disabled)}.search-submit-button-disabled .ic-tooltip-container{display:none !important}.search-submit-button:focus,.search-submit-button:active{background-color:var(--ic-color-focus-inner) !important;box-shadow:inset 0 0 0 0.125rem var(--ic-color-focus-outer) !important;border-radius:var(--ic-space-xxs)}.search-submit-button:focus,.search-submit-button:active *{fill:white}.divider{width:var(--ic-border-width);background-color:var(--ic-search-bar-dropdown-divider);height:var(--divider-height)}.menu-container{width:var(--input-width, 20rem);position:relative;top:var(--ic-space-xxxs)}.menu-container.fullwidth{width:100%}.no-results{cursor:not-allowed}.search-results-status{border:0;clip:rect(0, 0, 0, 0, 0);height:var(--ic-space-1px);margin-bottom:calc(-1 * var(--ic-space-1px));margin-right:calc(-1 * var(--ic-space-1px));overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:var(--ic-space-1px)}@media (forced-colors: active){.search-submit-button-unfocused *{fill:canvastext}.search-submit-button-disabled *{fill:GrayText}}';const m=f;let v=0;const g=class{constructor(e){t(this,e);this.icChange=i(this,"icChange",7);this.icClear=i(this,"icClear",7);this.icInput=i(this,"icInput",7);this.icOptionSelect=i(this,"icOptionSelect",7);this.icMenuChange=i(this,"icMenuChange",7);this.icClearBlur=i(this,"icClearBlur",7);this.icRetryLoad=i(this,"icRetryLoad",7);this.icSubmitSearch=i(this,"icSubmitSearch",7);this.icSubmitSearchBlur=i(this,"icSubmitSearchBlur",7);this.icSearchBarBlur=i(this,"icSearchBarBlur",7);this.icSearchBarFocus=i(this,"icSearchBarFocus",7);this.icKeydown=i(this,"icKeydown",7);this.hasTimedOut=false;this.inputId=`ic-search-bar-input-${v++}`;this.menuCloseFromMenuChangeEvent=false;this.menuId=`${this.inputId}-menu`;this.preLoad=true;this.preventSubmit=false;this.prevNoOption=false;this.retryButtonClick=false;this.retryViaKeyPress=false;this.truncateValue=false;this.clearButtonFocused=false;this.open=false;this.searchSubmitFocused=false;this.showClearButton=false;this.autocapitalize="off";this.autocomplete="off";this.autocorrect="off";this.autofocus=false;this.charactersUntilSuggestion=2;this.disabled=false;this.disableAutoFiltering=false;this.debounce=0;this.emptyOptionListText="No results found";this.focusOnLoad=false;this.fullWidth=false;this.helperText="";this.hideLabel=false;this.assistiveHintText="When autocomplete results are available use the up and down arrows to choose and press enter to select";this.labelField="label";this.loading=false;this.loadingErrorLabel="Loading Error";this.loadingLabel="Loading...";this.name=this.inputId;this.placeholder="Search";this.preventFormSubmitOnSearch=false;this.readonly=false;this.required=false;this.searchMode="navigation";this.size="medium";this.spellcheck=false;this.theme="inherit";this.valueField="value";this.filteredOptions=[];this.options=[];this.value="";this.handleClear=t=>{var i;const e=t;const s=t;if(s.type==="click"||e.code==="Enter"||e.code==="Space"){this.value="";(i=this.inputEl)===null||i===void 0?void 0:i.setAttribute("value","");this.loading=false;clearTimeout(this.timeoutTimer);this.filteredOptions=this.options;this.showMenuWithNoInput()&&this.setMenuChange(true);this.el.setFocus();this.icClear.emit();t.preventDefault();this.preventSubmit=true}};this.onInput=({target:t})=>{this.value=t.value;this.icInput.emit({value:this.value});if(this.options.length>0){this.setMenuChange(true);this.preLoad=false;if(this.disableAutoFiltering===false){const t=r(this.options,false,this.value,"anywhere",this.labelField);this.filteredOptions=t.length>0?t:[{[this.labelField]:this.emptyOptionListText,[this.valueField]:""}]}}if(!this.showClearButton)this.showClearButton=true;this.debounceAriaLiveUpdate()};this.onInputBlur=({target:t,relatedTarget:i})=>{this.icSearchBarBlur.emit({value:t.value,relatedTarget:i})};this.onInputFocus=({target:t})=>{this.icSearchBarFocus.emit({value:t.value});this.showClearButton=true};this.handleClearBlur=({relatedTarget:t})=>{this.icClearBlur.emit({relatedTarget:t});this.clearButtonFocused=false};this.handleSubmitSearchBlur=({relatedTarget:t})=>{this.icSubmitSearchBlur.emit({relatedTarget:t});this.searchSubmitFocused=false};this.setInputValue=t=>{if(this.inputEl){const i=h(t,this.options,this.valueField,this.labelField);if(i)this.inputEl.value=i;else if(this.inputEl.value!==t){this.inputEl.value=t}}};this.handleMouseDown=t=>{t.preventDefault()};this.handleSubmitSearchFocus=()=>{this.searchSubmitFocused=true};this.handleSubmitSearch=()=>{if(this.highlightedValue)this.value=this.highlightedValue;this.highlightedValue=undefined;this.icSubmitSearch.emit({value:this.value});const t=this.el.closest("FORM");if(this.searchSubmitButton&&!!t&&!this.preventSubmit){o(t,this.searchSubmitButton)}};this.handleSubmitSearchKeyDown=t=>{if(t.key===" "){t.preventDefault();this.handleSubmitSearch()}};this.handleRetry=t=>{this.retryViaKeyPress=t.detail.keyPressed==="Enter";this.icRetryLoad.emit({value:t.detail.value});this.triggerLoading();this.retryButtonClick=true};this.triggerLoading=()=>{const t=[{[this.labelField]:this.loadingLabel,[this.valueField]:"",loading:true}];if(this.filteredOptions!==t)this.filteredOptions=t;if(this.timeout){this.timeoutTimer=window.setTimeout((()=>{this.filteredOptions=[{[this.labelField]:this.loadingErrorLabel,[this.valueField]:"",timedOut:true}]}),this.timeout)}};this.handleOptionSelect=t=>{if(t.detail.label===this.emptyOptionListText){this.el.setFocus();return}this.value=t.detail.value;this.icOptionSelect.emit({value:this.value})};this.handleMenuOptionHighlight=t=>{const{optionId:i}=t.detail;if(i)this.highlightedValue=i.replace(`${this.menuId}-`,"");this.ariaActiveDescendant=i||""};this.handleMenuChange=t=>{this.setMenuChange(t.detail.open);if(!t.detail.open){this.menuCloseFromMenuChangeEvent=true}};this.setMenuChange=t=>{if(this.open!==t){this.open=t;this.icMenuChange.emit({open:t})}};this.handleHostFocus=()=>{if(this.options&&(this.value||this.showMenuWithNoInput())&&!this.menuCloseFromMenuChangeEvent){this.setMenuChange(true)}this.truncateValue=false;this.showMenuWithNoInput()&&this.debounceAriaLiveUpdate();this.icSearchBarFocus.emit()};this.handleHostBlur=({relatedTarget:t})=>{var i;if(this.open&&this.options&&t!==this.menu&&!this.retryViaKeyPress&&!this.retryButtonClick){this.setMenuChange(false)}if(this.retryButtonClick||this.retryViaKeyPress){(i=this.inputEl)===null||i===void 0?void 0:i.focus()}this.showClearButton=false;this.menuCloseFromMenuChangeEvent=false;this.truncateValue=true;this.icSearchBarBlur.emit({relatedTarget:t,value:this.value});this.retryViaKeyPress=false;this.retryButtonClick=false;this.showMenuWithNoInput()&&this.updateSearchResultAriaLive()};this.handleFocusClearButton=()=>{this.clearButtonFocused=true};this.renderAssistiveHintEl=()=>{var t,i;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(`#${this.inputId}`);if(e&&Object.keys(e).length>0&&this.hasOptionsOrFilterDisabled()){this.assistiveHintEl=document.createElement("span");this.assistiveHintEl.innerText=this.assistiveHintText;this.assistiveHintEl.id=`${this.inputId}-assistive-hint`;this.assistiveHintEl.style.display="none";(i=e.after)===null||i===void 0?void 0:i.call(e,this.assistiveHintEl)}};this.updateSearchResultAriaLive=()=>{var t;const i=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(".search-results-status");if(i){if(!this.open||this.value===""&&!this.showMenuWithNoInput()||this.value.length<this.charactersUntilSuggestion){i.innerText=""}else if(this.hasOptionsOrFilterDisabled()&&this.filteredOptions.length>0&&this.open&&!this.filteredOptions[0].loading){i.innerText=this.hadNoOptions()?this.emptyOptionListText:`${this.filteredOptions.length} result${this.filteredOptions.length>1?"s":""} available`}}};this.hasOptionsOrFilterDisabled=()=>this.options.length>0||this.disableAutoFiltering;this.hadNoOptions=()=>this.filteredOptions.length===1&&this.filteredOptions[0][this.labelField]===this.emptyOptionListText&&this.searchMode==="navigation";this.isSubmitDisabled=()=>!this.value||this.value.length<this.charactersUntilSuggestion||this.disabled||this.hadNoOptions()||this.hasTimedOut||this.loading;this.showMenuWithNoInput=()=>this.charactersUntilSuggestion===0;this.updateSearchButtonType=()=>{this.searchButtonType=!!this.el.closest("FORM")&&!this.preventFormSubmitOnSearch?"submit":"button"}}watchCharactersUntilSuggestionHandler(){if(this.showMenuWithNoInput()){this.filteredOptions=this.options}}watchDisabledHandler(){n(this.disabled,this.el)}debounceChanged(){this.icChange=l(this.icChange,this.debounce)}loadingHandler(t){if(t&&!this.hasTimedOut){this.preLoad=false;this.triggerLoading()}}preventFormSubmitOnSearchHandler(){this.updateSearchButtonType()}filteredOptionsHandler(t){this.hasTimedOut=t.some((t=>t.timedOut))}watchOptionsHandler(t){if(this.disableAutoFiltering){if(!this.hasTimedOut){this.loading=false;clearTimeout(this.timeoutTimer);if(t.length>0){this.filteredOptions=t}else{if(this.hadNoOptions()){return}this.setMenuChange(true);if(!this.preLoad){this.filteredOptions=[{[this.labelField]:this.emptyOptionListText,[this.valueField]:""}]}this.preLoad=true}}}else if(this.showMenuWithNoInput()){this.filteredOptions=t}this.debounceAriaLiveUpdate()}watchValueHandler(t){this.setInputValue(t);this.icChange.emit({value:t})}connectedCallback(){this.debounceChanged()}disconnectedCallback(){var t;(t=this.assistiveHintEl)===null||t===void 0?void 0:t.remove()}componentWillLoad(){this.setInputValue(this.value);n(this.disabled,this.el);this.updateSearchButtonType()}componentDidLoad(){if(this.focusOnLoad){this.el.setFocus()}if(this.hasOptionsOrFilterDisabled()){this.renderAssistiveHintEl();if(this.disableAutoFiltering||this.showMenuWithNoInput()){this.filteredOptions=this.options}}c([{prop:this.label,propName:"label"}],"Search Bar")}componentWillRender(){if(this.prevNoOption&&this.menu&&!this.hasTimedOut){this.menu.handleSetFirstOption();this.prevNoOption=false}if(this.filteredOptions.find((t=>t[this.labelField]===this.emptyOptionListText||t[this.labelField]===this.loadingErrorLabel||t[this.labelField]===this.loadingLabel))){this.prevNoOption=true}}handleKeyDown(t){this.icKeydown.emit({event:t});if(this.menu&&this.open){this.menu.handleKeyboardOpen(t)}}handleKeyUp(t){if(t.key==="Enter"){if(this.preventSubmit||this.isSubmitDisabled()){return}this.handleSubmitSearch();this.setMenuChange(false)}if(t.key==="Escape"){this.setMenuChange(false)}if(this.preventSubmit){this.preventSubmit=false}}async setFocus(){var t;this.retryViaKeyPress=false;this.retryButtonClick=false;(t=this.inputEl)===null||t===void 0?void 0:t.focus()}debounceAriaLiveUpdate(){clearTimeout(this.debounceAriaLive);this.debounceAriaLive=window.setTimeout((()=>{this.updateSearchResultAriaLive()}),500)}render(){const{inputId:t,name:i,label:a,required:r,size:o,placeholder:n,helperText:l,disabled:c,value:f,readonly:m,spellcheck:v,fullWidth:g,options:w,open:y,hideLabel:x,menuId:k,ariaActiveDescendant:L,truncateValue:z,autofocus:C,autocapitalize:S,autocomplete:F,filteredOptions:T,theme:B,charactersUntilSuggestion:H,labelField:O,valueField:M,loadingLabel:$,loadingErrorLabel:E,searchMode:D,showClearButton:I,searchSubmitFocused:j,clearButtonFocused:U,searchButtonType:W}=this;const q=m||c;const K=d(this.el,t,l!=="",false).trim();let R=undefined;if(K!==""&&this.hasOptionsOrFilterDisabled()){R=`${K} ${t}-assistive-hint`}else if(this.hasOptionsOrFilterDisabled()){R=`${t}-assistive-hint`}else if(K!==""){R=K}const V=(!!f||this.showMenuWithNoInput())&&this.hasOptionsOrFilterDisabled();const A=V&&y&&T.length>0;const Z=A&&f.length>=H;const N=h(f,w,M,O);u(this.el,f,i,q);return e(s,{key:"52cd7f9c675ebb5a73d43d8aba5c564a09975983",class:{"ic-search-bar-search":true,"ic-search-bar-full-width":g,"ic-search-bar-disabled":c,"ic-search-bar-small":o==="small",[`ic-theme-${B}`]:B!=="inherit"},onFocus:this.handleHostFocus,onBlur:this.handleHostBlur},e("ic-input-container",{key:"93f1f86abb836848f4a77e8bea800402a7c3d792",readonly:m,disabled:q},!x&&e("ic-input-label",{key:"3408fa52e67fbc9420cb7f763198ea950e356b7e",for:t,label:a,helperText:l,required:r,disabled:q&&!m,readonly:m},e("slot",{key:"24fed7a49fc79140dabb28e1f77c8321bc51729b",name:"helper-text",slot:"helper-text"})),e("ic-input-component-container",{key:"be1083aceb07c1235666cb3f1f9892f8e1b8538d",ref:t=>this.anchorEl=t,size:o,disabled:q,readonly:m,fullWidth:g},e("input",{key:"4ea2d718f3b6e4e524f534719630c618bb25a4d4",id:t,name:i,ref:t=>this.inputEl=t,value:w&&!!N?N:f,class:{"no-left-pad":m,readonly:m,"truncate-value":z},placeholder:n,required:r,disabled:q,readonly:m,onInput:this.onInput,onBlur:this.onInputBlur,onFocus:this.onInputFocus,"aria-label":x?a:undefined,"aria-activedescendant":L,"aria-expanded":w.length>0&&Z?`${A}`:undefined,"aria-owns":Z?k:undefined,"aria-describedby":R,"aria-controls":Z?k:undefined,"aria-haspopup":w.length>0?"listbox":undefined,"aria-autocomplete":V?"list":undefined,role:w.length>0&&Z?"combobox":undefined,autocomplete:F,autocapitalize:S,autoFocus:C,spellcheck:v,inputmode:"search"}),e("div",{key:"447b4da477637a70ac3f2b9c180df87aebee044b",class:{"clear-button-container":true,"clear-button-visible":!!f&&!q&&I}},e("ic-button",{key:"3a740c60761c034298c1cabf4173a4168a2cbaee",id:"clear-button",class:{"clear-button":true,"clear-button-unfocused":!U},"aria-label":"Clear",innerHTML:b,onClick:this.handleClear,onMouseDown:this.handleMouseDown,size:o,onFocus:this.handleFocusClearButton,onBlur:this.handleClearBlur,onKeyDown:this.handleClear,type:"button",variant:"icon",theme:U?"light":"dark"}),e("div",{key:"7fec0530f8a21476d808203bc79857a0c44538ab",class:"divider"})),e("div",{key:"376a77d494db324f5e469932009692cab51c58fe",class:{"search-submit-button-container":true,"search-submit-button-disabled":this.isSubmitDisabled()}},e("ic-button",{key:"c94e42dc5907d0e7dc412b8a09792090d4359783",id:"search-submit-button","aria-label":"Search",ref:t=>this.searchSubmitButton=t,class:{"search-submit-button":true,"search-submit-button-small":o==="small","search-submit-button-unfocused":!j,"search-submit-button-disabled":this.isSubmitDisabled()},disabled:this.isSubmitDisabled(),innerHTML:p,size:o,onClick:this.handleSubmitSearch,onMouseDown:this.handleMouseDown,onBlur:this.handleSubmitSearchBlur,onFocus:this.handleSubmitSearchFocus,onKeyDown:this.handleSubmitSearchKeyDown,type:W,variant:"icon",theme:j?"light":"dark"}))),e("div",{key:"d59837a4d8626cb434d74920c3d16ebad1aa38e8",class:{"menu-container":true,fullwidth:g}},Z&&this.anchorEl&&this.inputEl&&e("ic-menu",{key:"05921526c6a5d778689ffaaa00567c155e1d24f9",class:{"no-results":this.hadNoOptions()||T.length===1&&(T[0][O]===$||T[0][O]===E)},activationType:"manual",anchorEl:this.anchorEl,autofocusOnSelected:false,searchMode:D,inputEl:this.inputEl,inputLabel:a,ref:t=>this.menu=t,fullWidth:g,menuId:k,open:true,options:T,onMenuOptionSelect:this.handleOptionSelect,onMenuStateChange:this.handleMenuChange,onMenuOptionId:this.handleMenuOptionHighlight,onRetryButtonClicked:this.handleRetry,parentEl:this.el,value:f,labelField:O,valueField:M}))),e("div",{key:"d7ae3fba62207c2df5ce4b02434e81777666d5c2","aria-live":"polite",role:"status",class:"search-results-status"}))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{charactersUntilSuggestion:["watchCharactersUntilSuggestionHandler"],disabled:["watchDisabledHandler"],debounce:["debounceChanged"],loading:["loadingHandler"],preventFormSubmitOnSearch:["preventFormSubmitOnSearchHandler"],filteredOptions:["filteredOptionsHandler"],options:["watchOptionsHandler"],value:["watchValueHandler"]}}};g.style=m;export{g as ic_search_bar};
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as t,c as i,h as e,H as s,g as a}from"./p-8e4e97b4.js";import{A as r,B as h,C as o,r as n,E as l,b as c,j as d,F as u}from"./p-0fe08a58.js";const b=`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M15.8327 5.34199L14.6577 4.16699L9.99935 8.82533L5.34102 4.16699L4.16602 5.34199L8.82435 10.0003L4.16602 14.6587L5.34102 15.8337L9.99935 11.1753L14.6577 15.8337L15.8327 14.6587L11.1743 10.0003L15.8327 5.34199Z" fill="currentColor"/>\n</svg>\n`;const f=`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">\n <path d="M13.1292 11.8792H12.4708L12.2375 11.6542C13.0542 10.7042 13.5458 9.47083 13.5458 8.12916C13.5458 5.13749 11.1208 2.71249 8.12916 2.71249C5.13749 2.71249 2.71249 5.13749 2.71249 8.12916C2.71249 11.1208 5.13749 13.5458 8.12916 13.5458C9.47083 13.5458 10.7042 13.0542 11.6542 12.2375L11.8792 12.4708V13.1292L16.0458 17.2875L17.2875 16.0458L13.1292 11.8792ZM8.12916 11.8792C6.05416 11.8792 4.37916 10.2042 4.37916 8.12916C4.37916 6.05416 6.05416 4.37916 8.12916 4.37916C10.2042 4.37916 11.8792 6.05416 11.8792 8.12916C11.8792 10.2042 10.2042 11.8792 8.12916 11.8792Z" fill="currentColor"/>\n</svg>`;const p='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.ic-search-bar-search){display:block;--divider-height:1.5rem;--ic-input-label-helpertext-padding:var(--ic-space-xs);--border-color:var(--ic-search-bar-outline);--input-bg-color:var(--ic-search-bar-background);--border-color-disabled:var(--ic-search-bar-outline-disabled);--menu-item-text-color:var(--ic-search-bar-dropdown-option-text);--menu-item-desc-text-color:var(--ic-search-bar-dropdown-option-description);--menu-bg-color:var(--ic-search-bar-dropdown-background);--menu-border-color:var(--ic-search-bar-dropdown-outline)}:host(.ic-search-bar-disabled){--ic-input-label-text-color:var(--ic-search-bar-label-disabled);--ic-input-label-helper-text-color:var(--ic-search-bar-subtitle-disabled)}:host(.ic-search-bar-search:hover){--border-color:var(--ic-search-bar-outline-hover)}:host(.ic-search-bar-search:active){--border-color:var(--ic-search-bar-outline-pressed)}:host(.ic-search-bar-search.ic-search-bar-small){--divider-height:1rem}:host(.ic-search-bar-full-width){width:100%}::-moz-placeholder{color:var(--ic-search-bar-placeholder-text);opacity:1}::placeholder{color:var(--ic-search-bar-placeholder-text);opacity:1}input{border:0;border-radius:var(--ic-border-radius);color:var(--ic-search-bar-filled-text);background-color:var(--input-bg-color);line-height:1.5rem;letter-spacing:0.005rem;width:100%;padding-right:var(--ic-space-xs);padding-left:var(--ic-space-xs);caret-color:var(--ic-search-bar-filled-text-cursor)}input:focus{border:0;outline:0}input:disabled::-moz-placeholder{color:var(--ic-search-bar-disabled-text)}input:disabled,input:disabled::placeholder{color:var(--ic-search-bar-disabled-text)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.no-left-pad{padding-left:0}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-results-button,input[type="search"]::-webkit-search-results-decoration{display:none}input[type="search"].truncate-value{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.clear-button-container{align-items:center;margin-right:var(--ic-space-1px);display:none;visibility:hidden}.clear-button{border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition)}.clear-button:focus,.clear-button:active{background-color:var(--ic-color-focus-inner);box-shadow:inset 0 0 0 0.125rem var(--ic-color-focus-outer);border-radius:0.25rem}.clear-button-unfocused *{fill:var(--ic-search-bar-clear-button)}.clear-button:focus,.clear-button:active *{fill:var(--ic-atoms-input-clear-button-focus)}.clear-button-visible{visibility:visible;display:flex}.search-submit-button-container{display:flex;align-items:center}.search-submit-button-unfocused *{fill:var(--ic-search-bar-filled-icon)}.search-submit-button-disabled *{fill:var(--ic-search-bar-icon-disabled)}.search-submit-button-disabled .ic-tooltip-container{display:none !important}.search-submit-button:focus,.search-submit-button:active{background-color:var(--ic-color-focus-inner) !important;box-shadow:inset 0 0 0 0.125rem var(--ic-color-focus-outer) !important;border-radius:var(--ic-space-xxs)}.search-submit-button:focus,.search-submit-button:active *{fill:white}.divider{width:var(--ic-border-width);background-color:var(--ic-search-bar-dropdown-divider);height:var(--divider-height)}.menu-container{width:var(--input-width, 20rem);position:relative;top:var(--ic-space-xxxs)}.menu-container.fullwidth{width:100%}.no-results{cursor:not-allowed}.search-results-status{border:0;clip:rect(0, 0, 0, 0, 0);height:var(--ic-space-1px);margin-bottom:calc(-1 * var(--ic-space-1px));margin-right:calc(-1 * var(--ic-space-1px));overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:var(--ic-space-1px)}@media (forced-colors: active){.search-submit-button-unfocused *{fill:canvastext}.search-submit-button-disabled *{fill:GrayText}}';const m=p;let v=0;const g=class{constructor(e){t(this,e);this.icChange=i(this,"icChange",7);this.icClear=i(this,"icClear",7);this.icInput=i(this,"icInput",7);this.icOptionSelect=i(this,"icOptionSelect",7);this.icMenuChange=i(this,"icMenuChange",7);this.icClearBlur=i(this,"icClearBlur",7);this.icRetryLoad=i(this,"icRetryLoad",7);this.icSubmitSearch=i(this,"icSubmitSearch",7);this.icSubmitSearchBlur=i(this,"icSubmitSearchBlur",7);this.icSearchBarBlur=i(this,"icSearchBarBlur",7);this.icSearchBarFocus=i(this,"icSearchBarFocus",7);this.icKeydown=i(this,"icKeydown",7);this.hasTimedOut=false;this.inputId=`ic-search-bar-input-${v++}`;this.menuCloseFromMenuChangeEvent=false;this.menuId=`${this.inputId}-menu`;this.preLoad=true;this.preventSubmit=false;this.prevNoOption=false;this.retryButtonClick=false;this.retryViaKeyPress=false;this.truncateValue=false;this.clearButtonFocused=false;this.open=false;this.searchSubmitFocused=false;this.showClearButton=false;this.autocapitalize="off";this.autocomplete="off";this.autocorrect="off";this.autofocus=false;this.charactersUntilSuggestion=2;this.disabled=false;this.disableAutoFiltering=false;this.debounce=0;this.emptyOptionListText="No results found";this.focusOnLoad=false;this.fullWidth=false;this.helperText="";this.hideLabel=false;this.assistiveHintText="When autocomplete results are available use the up and down arrows to choose and press enter to select";this.labelField="label";this.loading=false;this.loadingErrorLabel="Loading Error";this.loadingLabel="Loading...";this.name=this.inputId;this.placeholder="Search";this.preventFormSubmitOnSearch=false;this.readonly=false;this.required=false;this.searchMode="navigation";this.size="medium";this.spellcheck=false;this.theme="inherit";this.valueField="value";this.filteredOptions=[];this.options=[];this.value="";this.handleClear=t=>{var i;const e=t;const s=t;if(s.type==="click"||e.code==="Enter"||e.code==="Space"){this.value="";(i=this.inputEl)===null||i===void 0?void 0:i.setAttribute("value","");this.loading=false;clearTimeout(this.timeoutTimer);this.filteredOptions=this.options;this.showMenuWithNoInput()&&this.setMenuChange(true);this.el.setFocus();this.icClear.emit();t.preventDefault();this.preventSubmit=true}};this.onInput=({target:t})=>{this.value=t.value;this.icInput.emit({value:this.value});if(this.options.length>0){this.setMenuChange(true);this.preLoad=false;if(this.disableAutoFiltering===false){const t=r(this.options,false,this.value,"anywhere",this.labelField);this.filteredOptions=t.length>0?t:[{[this.labelField]:this.emptyOptionListText,[this.valueField]:""}]}}if(!this.showClearButton)this.showClearButton=true;this.debounceAriaLiveUpdate()};this.onInputBlur=({target:t,relatedTarget:i})=>{this.icSearchBarBlur.emit({value:t.value,relatedTarget:i})};this.onInputFocus=({target:t})=>{this.icSearchBarFocus.emit({value:t.value});this.showClearButton=true};this.handleClearBlur=({relatedTarget:t})=>{this.icClearBlur.emit({relatedTarget:t});this.clearButtonFocused=false};this.handleSubmitSearchBlur=({relatedTarget:t})=>{this.icSubmitSearchBlur.emit({relatedTarget:t});this.searchSubmitFocused=false};this.setInputValue=t=>{if(this.inputEl){const i=h(t,this.options,this.valueField,this.labelField);if(i)this.inputEl.value=i;else if(this.inputEl.value!==t){this.inputEl.value=t}}};this.handleMouseDown=t=>{t.preventDefault()};this.handleSubmitSearchFocus=()=>{this.searchSubmitFocused=true};this.handleSubmitSearch=()=>{if(this.highlightedValue)this.value=this.highlightedValue;this.highlightedValue=undefined;this.icSubmitSearch.emit({value:this.value});const t=this.el.closest("FORM");if(this.searchSubmitButton&&!!t&&!this.preventSubmit){o(t,this.searchSubmitButton)}};this.handleSubmitSearchKeyDown=t=>{if(t.key===" "){t.preventDefault();this.handleSubmitSearch()}};this.handleRetry=t=>{this.retryViaKeyPress=t.detail.keyPressed==="Enter";this.icRetryLoad.emit({value:t.detail.value});this.triggerLoading();this.retryButtonClick=true};this.triggerLoading=()=>{const t=[{[this.labelField]:this.loadingLabel,[this.valueField]:"",loading:true}];if(this.filteredOptions!==t)this.filteredOptions=t;if(this.timeout){this.timeoutTimer=window.setTimeout((()=>{this.filteredOptions=[{[this.labelField]:this.loadingErrorLabel,[this.valueField]:"",timedOut:true}]}),this.timeout)}};this.handleOptionSelect=t=>{if(t.detail.label===this.emptyOptionListText){this.el.setFocus();return}this.value=t.detail.value;this.icOptionSelect.emit({value:this.value})};this.handleMenuOptionHighlight=t=>{const{optionId:i}=t.detail;if(i)this.highlightedValue=i.replace(`${this.menuId}-`,"");this.ariaActiveDescendant=i||""};this.handleMenuChange=t=>{this.setMenuChange(t.detail.open);if(!t.detail.open){this.menuCloseFromMenuChangeEvent=true}};this.setMenuChange=t=>{if(this.open!==t){this.open=t;this.icMenuChange.emit({open:t})}};this.handleHostFocus=()=>{if(this.options&&(this.value||this.showMenuWithNoInput())&&!this.menuCloseFromMenuChangeEvent){this.setMenuChange(true)}this.truncateValue=false;this.showMenuWithNoInput()&&this.debounceAriaLiveUpdate();this.icSearchBarFocus.emit()};this.handleHostBlur=({relatedTarget:t})=>{var i;if(this.open&&this.options&&t!==this.menu&&!this.retryViaKeyPress&&!this.retryButtonClick){this.setMenuChange(false)}if(this.retryButtonClick||this.retryViaKeyPress){(i=this.inputEl)===null||i===void 0?void 0:i.focus()}this.showClearButton=false;this.menuCloseFromMenuChangeEvent=false;this.truncateValue=true;this.icSearchBarBlur.emit({relatedTarget:t,value:this.value});this.retryViaKeyPress=false;this.retryButtonClick=false;this.showMenuWithNoInput()&&this.updateSearchResultAriaLive()};this.handleFocusClearButton=()=>{this.clearButtonFocused=true};this.renderAssistiveHintEl=()=>{var t,i;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(`#${this.inputId}`);if(e&&Object.keys(e).length>0&&this.hasOptionsOrFilterDisabled()){this.assistiveHintEl=document.createElement("span");this.assistiveHintEl.innerText=this.assistiveHintText;this.assistiveHintEl.id=`${this.inputId}-assistive-hint`;this.assistiveHintEl.style.display="none";(i=e.after)===null||i===void 0?void 0:i.call(e,this.assistiveHintEl)}};this.updateSearchResultAriaLive=()=>{var t;const i=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(".search-results-status");if(i){if(!this.open||this.value===""&&!this.showMenuWithNoInput()||this.value.length<this.charactersUntilSuggestion){i.innerText=""}else if(this.hasOptionsOrFilterDisabled()&&this.filteredOptions.length>0&&this.open&&!this.filteredOptions[0].loading){i.innerText=this.hadNoOptions()?this.emptyOptionListText:`${this.filteredOptions.length} result${this.filteredOptions.length>1?"s":""} available`}}};this.hasOptionsOrFilterDisabled=()=>this.options.length>0||this.disableAutoFiltering;this.hadNoOptions=()=>this.filteredOptions.length===1&&this.filteredOptions[0][this.labelField]===this.emptyOptionListText&&this.searchMode==="navigation";this.isSubmitDisabled=()=>!this.value||this.value.length<this.charactersUntilSuggestion||this.disabled||this.hadNoOptions()||this.hasTimedOut||this.loading;this.showMenuWithNoInput=()=>this.charactersUntilSuggestion===0;this.updateSearchButtonType=()=>{this.searchButtonType=!!this.el.closest("FORM")&&!this.preventFormSubmitOnSearch?"submit":"button"}}watchCharactersUntilSuggestionHandler(){if(this.showMenuWithNoInput()){this.filteredOptions=this.options}}watchDisabledHandler(){n(this.disabled,this.el)}debounceChanged(){this.icChange=l(this.icChange,this.debounce)}loadingHandler(t){if(t&&!this.hasTimedOut){this.preLoad=false;this.triggerLoading()}}preventFormSubmitOnSearchHandler(){this.updateSearchButtonType()}filteredOptionsHandler(t){this.hasTimedOut=t.some((t=>t.timedOut))}watchOptionsHandler(t){if(this.disableAutoFiltering){if(!this.hasTimedOut){this.loading=false;clearTimeout(this.timeoutTimer);if(t.length>0){this.filteredOptions=t}else{if(this.hadNoOptions()){return}this.setMenuChange(true);if(!this.preLoad){this.filteredOptions=[{[this.labelField]:this.emptyOptionListText,[this.valueField]:""}]}this.preLoad=true}}}else if(this.showMenuWithNoInput()){this.filteredOptions=t}this.debounceAriaLiveUpdate()}watchValueHandler(t){this.setInputValue(t);this.icChange.emit({value:t})}connectedCallback(){this.debounceChanged()}disconnectedCallback(){var t;(t=this.assistiveHintEl)===null||t===void 0?void 0:t.remove()}componentWillLoad(){this.setInputValue(this.value);n(this.disabled,this.el);this.updateSearchButtonType()}componentDidLoad(){if(this.focusOnLoad){this.el.setFocus()}if(this.hasOptionsOrFilterDisabled()){this.renderAssistiveHintEl();if(this.disableAutoFiltering||this.showMenuWithNoInput()){this.filteredOptions=this.options}}c([{prop:this.label,propName:"label"}],"Search Bar")}componentWillRender(){if(this.prevNoOption&&this.menu&&!this.hasTimedOut){this.menu.handleSetFirstOption();this.prevNoOption=false}if(this.filteredOptions.find((t=>t[this.labelField]===this.emptyOptionListText||t[this.labelField]===this.loadingErrorLabel||t[this.labelField]===this.loadingLabel))){this.prevNoOption=true}}handleKeyDown(t){this.icKeydown.emit({event:t});if(this.menu&&this.open){this.menu.handleKeyboardOpen(t)}}handleKeyUp(t){if(t.key==="Enter"){if(this.preventSubmit||this.isSubmitDisabled()){return}this.handleSubmitSearch();this.setMenuChange(false)}if(t.key==="Escape"){this.setMenuChange(false)}if(this.preventSubmit){this.preventSubmit=false}}async setFocus(){var t;this.retryViaKeyPress=false;this.retryButtonClick=false;(t=this.inputEl)===null||t===void 0?void 0:t.focus()}debounceAriaLiveUpdate(){clearTimeout(this.debounceAriaLive);this.debounceAriaLive=window.setTimeout((()=>{this.updateSearchResultAriaLive()}),500)}render(){const{inputId:t,name:i,label:a,required:r,size:o,placeholder:n,helperText:l,disabled:c,value:p,readonly:m,spellcheck:v,fullWidth:g,options:w,open:y,hideLabel:x,menuId:k,ariaActiveDescendant:L,truncateValue:z,autofocus:C,autocapitalize:S,autocomplete:F,filteredOptions:T,theme:B,charactersUntilSuggestion:H,labelField:O,valueField:M,loadingLabel:$,loadingErrorLabel:E,searchMode:D,showClearButton:I,searchSubmitFocused:j,clearButtonFocused:U,searchButtonType:W}=this;const q=m||c;const K=d(this.el,t,l!=="",false).trim();let R=undefined;if(K!==""&&this.hasOptionsOrFilterDisabled()){R=`${K} ${t}-assistive-hint`}else if(this.hasOptionsOrFilterDisabled()){R=`${t}-assistive-hint`}else if(K!==""){R=K}const V=(!!p||this.showMenuWithNoInput())&&this.hasOptionsOrFilterDisabled();const A=V&&y&&T.length>0;const Z=A&&p.length>=H;const N=h(p,w,M,O);u(this.el,p,i,q);return e(s,{key:"52cd7f9c675ebb5a73d43d8aba5c564a09975983",class:{"ic-search-bar-search":true,"ic-search-bar-full-width":g,"ic-search-bar-disabled":c,"ic-search-bar-small":o==="small",[`ic-theme-${B}`]:B!=="inherit"},onFocus:this.handleHostFocus,onBlur:this.handleHostBlur},e("ic-input-container",{key:"93f1f86abb836848f4a77e8bea800402a7c3d792",readonly:m,disabled:q},!x&&e("ic-input-label",{key:"3408fa52e67fbc9420cb7f763198ea950e356b7e",for:t,label:a,helperText:l,required:r,disabled:q&&!m,readonly:m},e("slot",{key:"24fed7a49fc79140dabb28e1f77c8321bc51729b",name:"helper-text",slot:"helper-text"})),e("ic-input-component-container",{key:"be1083aceb07c1235666cb3f1f9892f8e1b8538d",ref:t=>this.anchorEl=t,size:o,disabled:q,readonly:m,fullWidth:g},e("input",{key:"4ea2d718f3b6e4e524f534719630c618bb25a4d4",id:t,name:i,ref:t=>this.inputEl=t,value:w&&!!N?N:p,class:{"no-left-pad":m,readonly:m,"truncate-value":z},placeholder:n,required:r,disabled:q,readonly:m,onInput:this.onInput,onBlur:this.onInputBlur,onFocus:this.onInputFocus,"aria-label":x?a:undefined,"aria-activedescendant":L,"aria-expanded":w.length>0&&Z?`${A}`:undefined,"aria-owns":Z?k:undefined,"aria-describedby":R,"aria-controls":Z?k:undefined,"aria-haspopup":w.length>0?"listbox":undefined,"aria-autocomplete":V?"list":undefined,role:w.length>0&&Z?"combobox":undefined,autocomplete:F,autocapitalize:S,autoFocus:C,spellcheck:v,inputmode:"search"}),e("div",{key:"447b4da477637a70ac3f2b9c180df87aebee044b",class:{"clear-button-container":true,"clear-button-visible":!!p&&!q&&I}},e("ic-button",{key:"3a740c60761c034298c1cabf4173a4168a2cbaee",id:"clear-button",class:{"clear-button":true,"clear-button-unfocused":!U},"aria-label":"Clear",innerHTML:b,onClick:this.handleClear,onMouseDown:this.handleMouseDown,size:o,onFocus:this.handleFocusClearButton,onBlur:this.handleClearBlur,onKeyDown:this.handleClear,type:"button",variant:"icon",theme:U?"light":"dark"}),e("div",{key:"7fec0530f8a21476d808203bc79857a0c44538ab",class:"divider"})),e("div",{key:"376a77d494db324f5e469932009692cab51c58fe",class:{"search-submit-button-container":true,"search-submit-button-disabled":this.isSubmitDisabled()}},e("ic-button",{key:"c94e42dc5907d0e7dc412b8a09792090d4359783",id:"search-submit-button","aria-label":"Search",ref:t=>this.searchSubmitButton=t,class:{"search-submit-button":true,"search-submit-button-small":o==="small","search-submit-button-unfocused":!j,"search-submit-button-disabled":this.isSubmitDisabled()},disabled:this.isSubmitDisabled(),innerHTML:f,size:o,onClick:this.handleSubmitSearch,onMouseDown:this.handleMouseDown,onBlur:this.handleSubmitSearchBlur,onFocus:this.handleSubmitSearchFocus,onKeyDown:this.handleSubmitSearchKeyDown,type:W,variant:"icon",theme:j?"light":"dark"}))),e("div",{key:"d59837a4d8626cb434d74920c3d16ebad1aa38e8",class:{"menu-container":true,fullwidth:g}},Z&&this.anchorEl&&this.inputEl&&e("ic-menu",{key:"db6985b5af28d19536d7c3f1a19e84be95c765da",class:{"no-results":this.hadNoOptions()||T.length===1&&(T[0][O]===$||T[0][O]===E)},activationType:"manual",anchorEl:this.anchorEl,autofocusOnSelected:false,searchMode:D,inputEl:this.inputEl,inputLabel:a,ref:t=>this.menu=t,fullWidth:g,menuId:k,open:true,options:T,onMenuOptionSelect:this.handleOptionSelect,onMenuStateChange:this.handleMenuChange,onMenuOptionId:this.handleMenuOptionHighlight,onRetryButtonClicked:this.handleRetry,parentEl:this.el,value:p,labelField:O,valueField:M,searchBar:true}))),e("div",{key:"9d3ffbf8df67646d6262b275d27b90d4ff27ca8f","aria-live":"polite",role:"status",class:"search-results-status"}))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{charactersUntilSuggestion:["watchCharactersUntilSuggestionHandler"],disabled:["watchDisabledHandler"],debounce:["debounceChanged"],loading:["loadingHandler"],preventFormSubmitOnSearch:["preventFormSubmitOnSearchHandler"],filteredOptions:["filteredOptionsHandler"],options:["watchOptionsHandler"],value:["watchValueHandler"]}}};g.style=m;export{g as ic_search_bar};
|
2
|
+
//# sourceMappingURL=p-a220535c.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["icSearchBarCss","IcSearchBarStyle0","inputIds","SearchBar","constructor","hostRef","this","hasTimedOut","inputId","menuCloseFromMenuChangeEvent","menuId","preLoad","preventSubmit","prevNoOption","retryButtonClick","retryViaKeyPress","truncateValue","clearButtonFocused","open","searchSubmitFocused","showClearButton","autocapitalize","autocomplete","autocorrect","autofocus","charactersUntilSuggestion","disabled","disableAutoFiltering","debounce","emptyOptionListText","focusOnLoad","fullWidth","helperText","hideLabel","assistiveHintText","labelField","loading","loadingErrorLabel","loadingLabel","name","placeholder","preventFormSubmitOnSearch","readonly","required","searchMode","size","spellcheck","theme","valueField","filteredOptions","options","value","handleClear","ev","_a","keyboardEvent","mouseEvent","type","code","inputEl","setAttribute","clearTimeout","timeoutTimer","showMenuWithNoInput","setMenuChange","el","setFocus","icClear","emit","preventDefault","onInput","target","icInput","length","rawFilteredOptions","getFilteredMenuOptions","debounceAriaLiveUpdate","onInputBlur","relatedTarget","icSearchBarBlur","onInputFocus","icSearchBarFocus","handleClearBlur","icClearBlur","handleSubmitSearchBlur","icSubmitSearchBlur","setInputValue","newValue","label","getLabelFromValue","handleMouseDown","handleSubmitSearchFocus","handleSubmitSearch","highlightedValue","undefined","icSubmitSearch","form","closest","searchSubmitButton","handleHiddenFormButtonClick","handleSubmitSearchKeyDown","key","handleRetry","detail","keyPressed","icRetryLoad","triggerLoading","loadingOption","timeout","window","setTimeout","timedOut","handleOptionSelect","icOptionSelect","handleMenuOptionHighlight","optionId","replace","ariaActiveDescendant","handleMenuChange","icMenuChange","handleHostFocus","handleHostBlur","menu","focus","updateSearchResultAriaLive","handleFocusClearButton","renderAssistiveHintEl","_b","input","shadowRoot","querySelector","Object","keys","hasOptionsOrFilterDisabled","assistiveHintEl","document","createElement","innerText","id","style","display","after","call","searchResultsStatusEl","hadNoOptions","isSubmitDisabled","updateSearchButtonType","searchButtonType","watchCharactersUntilSuggestionHandler","watchDisabledHandler","removeDisabledFalse","debounceChanged","icChange","debounceEvent","loadingHandler","preventFormSubmitOnSearchHandler","filteredOptionsHandler","newOptions","some","opt","watchOptionsHandler","watchValueHandler","connectedCallback","disconnectedCallback","remove","componentWillLoad","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","componentWillRender","handleSetFirstOption","find","filteredOption","handleKeyDown","event","icKeydown","handleKeyboardOpen","handleKeyUp","debounceAriaLive","render","disabledMode","describedBy","getInputDescribedByText","trim","describedById","hasSuggestedSearch","menuOpen","menuRendered","labelValue","renderHiddenInput","h","Host","class","onFocus","onBlur","for","slot","ref","anchorEl","role","autoFocus","inputmode","innerHTML","clearIcon","onClick","onMouseDown","onKeyDown","variant","searchIcon","fullwidth","activationType","autofocusOnSelected","inputLabel","onMenuOptionSelect","onMenuStateChange","onMenuOptionId","onRetryButtonClicked","parentEl","searchBar","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-search-bar/ic-search-bar.css?tag=ic-search-bar&encapsulation=shadow","../web-components/dist/collection/components/ic-search-bar/ic-search-bar.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n/**\n * @prop --ic-z-index-menu: z-index of search bar menu\n */\n\n:host(.ic-search-bar-search) {\n display: block;\n\n --divider-height: 1.5rem;\n --ic-input-label-helpertext-padding: var(--ic-space-xs);\n --border-color: var(--ic-search-bar-outline);\n --input-bg-color: var(--ic-search-bar-background);\n --border-color-disabled: var(--ic-search-bar-outline-disabled);\n --menu-item-text-color: var(--ic-search-bar-dropdown-option-text);\n --menu-item-desc-text-color: var(--ic-search-bar-dropdown-option-description);\n --menu-bg-color: var(--ic-search-bar-dropdown-background);\n --menu-border-color: var(--ic-search-bar-dropdown-outline);\n}\n\n:host(.ic-search-bar-disabled) {\n --ic-input-label-text-color: var(--ic-search-bar-label-disabled);\n --ic-input-label-helper-text-color: var(--ic-search-bar-subtitle-disabled);\n}\n\n:host(.ic-search-bar-search:hover) {\n --border-color: var(--ic-search-bar-outline-hover);\n}\n\n:host(.ic-search-bar-search:active) {\n --border-color: var(--ic-search-bar-outline-pressed);\n}\n\n:host(.ic-search-bar-search.ic-search-bar-small) {\n --divider-height: 1rem;\n}\n\n:host(.ic-search-bar-full-width) {\n width: 100%;\n}\n\n/* Custom Input */\n\n::-moz-placeholder {\n color: var(--ic-search-bar-placeholder-text);\n opacity: 1;\n}\n\n::placeholder {\n color: var(--ic-search-bar-placeholder-text);\n opacity: 1;\n}\n\ninput {\n border: 0;\n border-radius: var(--ic-border-radius);\n color: var(--ic-search-bar-filled-text);\n background-color: var(--input-bg-color);\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n padding-right: var(--ic-space-xs);\n padding-left: var(--ic-space-xs);\n caret-color: var(--ic-search-bar-filled-text-cursor);\n}\n\ninput:focus {\n border: 0;\n outline: 0;\n}\n\ninput:disabled::-moz-placeholder {\n color: var(--ic-search-bar-disabled-text);\n}\n\ninput:disabled,\ninput:disabled::placeholder {\n color: var(--ic-search-bar-disabled-text);\n}\n\n/* Chrome, Safari, Edge */\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n.no-left-pad {\n padding-left: 0;\n}\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration,\ninput[type=\"search\"]::-webkit-search-results-button,\ninput[type=\"search\"]::-webkit-search-results-decoration {\n display: none;\n}\n\ninput[type=\"search\"].truncate-value {\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n/* CLEAR */\n\n.clear-button-container {\n align-items: center;\n margin-right: var(--ic-space-1px);\n display: none;\n visibility: hidden;\n}\n\n.clear-button {\n border-radius: var(--ic-border-radius);\n transition: box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);\n}\n\n.clear-button:focus,\n.clear-button:active {\n background-color: var(--ic-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-unfocused * {\n fill: var(--ic-search-bar-clear-button);\n}\n\n.clear-button:focus,\n.clear-button:active * {\n fill: var(--ic-atoms-input-clear-button-focus);\n}\n\n.clear-button-visible {\n visibility: visible;\n display: flex;\n}\n\n.search-submit-button-container {\n display: flex;\n align-items: center;\n}\n\n.search-submit-button-unfocused * {\n fill: var(--ic-search-bar-filled-icon);\n}\n\n.search-submit-button-disabled * {\n fill: var(--ic-search-bar-icon-disabled);\n}\n\n.search-submit-button-disabled .ic-tooltip-container {\n display: none !important;\n}\n\n.search-submit-button:focus,\n.search-submit-button:active {\n background-color: var(--ic-color-focus-inner) !important;\n box-shadow: inset 0 0 0 0.125rem var(--ic-color-focus-outer) !important;\n border-radius: var(--ic-space-xxs);\n}\n\n.search-submit-button:focus,\n.search-submit-button:active * {\n fill: white;\n}\n\n.divider {\n width: var(--ic-border-width);\n background-color: var(--ic-search-bar-dropdown-divider);\n height: var(--divider-height);\n}\n\n.menu-container {\n width: var(--input-width, 20rem);\n position: relative;\n top: var(--ic-space-xxxs);\n}\n\n.menu-container.fullwidth {\n width: 100%;\n}\n\n.no-results {\n cursor: not-allowed;\n}\n\n.search-results-status {\n border: 0;\n clip: rect(0, 0, 0, 0, 0);\n height: var(--ic-space-1px);\n margin-bottom: calc(-1 * var(--ic-space-1px));\n margin-right: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: var(--ic-space-1px);\n}\n\n@media (forced-colors: active) {\n .search-submit-button-unfocused * {\n fill: canvastext;\n }\n\n .search-submit-button-disabled * {\n fill: GrayText;\n }\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { getInputDescribedByText, renderHiddenInput, handleHiddenFormButtonClick, getLabelFromValue, onComponentRequiredPropUndefined, getFilteredMenuOptions, removeDisabledFalse, debounceEvent, } from \"../../utils/helpers\";\nimport clearIcon from \"../../assets/clear-icon.svg\";\nimport searchIcon from \"../../assets/search-icon.svg\";\nlet inputIds = 0;\n/**\n * @slot helper-text - Content is set as the helper text for the search bar.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class SearchBar {\n constructor() {\n this.hasTimedOut = false;\n this.inputId = `ic-search-bar-input-${inputIds++}`;\n this.menuCloseFromMenuChangeEvent = false;\n this.menuId = `${this.inputId}-menu`;\n this.preLoad = true;\n this.preventSubmit = false;\n this.prevNoOption = false;\n this.retryButtonClick = false;\n this.retryViaKeyPress = false;\n this.truncateValue = false;\n this.clearButtonFocused = false;\n this.open = false;\n this.searchSubmitFocused = false;\n this.showClearButton = false;\n /**\n * The automatic capitalisation of the text value as it is entered/edited by the user.\n * Available options: \"off\", \"none\", \"on\", \"sentences\", \"words\", \"characters\".\n */\n this.autocapitalize = \"off\";\n /**\n * The state of autocompletion the browser can apply on the text value.\n */\n this.autocomplete = \"off\";\n /**\n * The state of autocorrection the browser can apply when the user is entering/editing the text value.\n */\n this.autocorrect = \"off\";\n /**\n * If `true`, the form control will have input focus when the page loads.\n */\n this.autofocus = false;\n /**\n * The number of characters until suggestions appear. The submit button will be disabled until the inputted value is equal to or greater than this number.\n */\n this.charactersUntilSuggestion = 2;\n /**\n * If `true`, the disabled state will be set.\n */\n this.disabled = false;\n /**\n * Specify whether to disable the built in filtering. For example, if options will already be filtered from external source.\n * If `true`, all options provided will be displayed.\n */\n this.disableAutoFiltering = false;\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n this.debounce = 0;\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 search bar will be focused when component loaded.\n */\n this.focusOnLoad = false;\n /**\n * Specify whether the search bar fills the full width of the container.\n * If `true`, this overrides the --input-width CSS variable.\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 * The hint text for the hidden assistive description element.\n */\n this.assistiveHintText = \"When autocomplete results are available use the up and down arrows to choose and press enter to select\";\n /**\n * The custom name for the label field to correspond with the IcMenuOption type.\n */\n this.labelField = \"label\";\n /**\n * Trigger loading state when fetching options asynchronously\n */\n this.loading = false;\n /**\n * Change the message displayed when external loading times out.\n */\n this.loadingErrorLabel = \"Loading Error\";\n /**\n * Change the message displayed whilst the options are being loaded externally.\n */\n this.loadingLabel = \"Loading...\";\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 display.\n */\n this.placeholder = \"Search\";\n /**\n * If `true` the parent form will not submit when the icSubmitSearch event fires.\n */\n this.preventFormSubmitOnSearch = false;\n /**\n * If `true`, the readonly state will be set.\n */\n this.readonly = false;\n /**\n * If `true`, the search bar will require a value.\n */\n this.required = false;\n /**\n * Specify the mode search bar uses to search. `navigation` allows for quick lookups of a set of values, `query` allows for more general searches.\n */\n this.searchMode = \"navigation\";\n /**\n * The size of the search bar component.\n */\n this.size = \"medium\";\n /**\n * If `true`, the value of the search will have its spelling and grammar checked.\n */\n this.spellcheck = false;\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 custom name for the value field to correspond with the IcMenuOption type.\n */\n this.valueField = \"value\";\n this.filteredOptions = [];\n /**\n * The suggested search options.\n */\n this.options = [];\n /**\n * The value of the search input.\n */\n this.value = \"\";\n this.handleClear = (ev) => {\n var _a;\n const keyboardEvent = ev;\n const mouseEvent = ev;\n if (mouseEvent.type === \"click\" ||\n keyboardEvent.code === \"Enter\" ||\n keyboardEvent.code === \"Space\") {\n this.value = \"\";\n (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.setAttribute(\"value\", \"\");\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n this.filteredOptions = this.options;\n this.showMenuWithNoInput() && this.setMenuChange(true);\n this.el.setFocus();\n this.icClear.emit();\n ev.preventDefault();\n this.preventSubmit = true;\n }\n };\n this.onInput = ({ target }) => {\n this.value = target.value;\n this.icInput.emit({ value: this.value });\n if (this.options.length > 0) {\n this.setMenuChange(true);\n this.preLoad = false;\n if (this.disableAutoFiltering === false) {\n const rawFilteredOptions = getFilteredMenuOptions(this.options, false, this.value, \"anywhere\", this.labelField);\n this.filteredOptions =\n rawFilteredOptions.length > 0\n ? rawFilteredOptions\n : [\n {\n [this.labelField]: this.emptyOptionListText,\n [this.valueField]: \"\",\n },\n ];\n }\n }\n if (!this.showClearButton)\n this.showClearButton = true;\n this.debounceAriaLiveUpdate();\n };\n this.onInputBlur = ({ target, relatedTarget }) => {\n this.icSearchBarBlur.emit({\n value: target.value,\n relatedTarget,\n });\n };\n this.onInputFocus = ({ target }) => {\n this.icSearchBarFocus.emit({ value: target.value });\n this.showClearButton = true;\n };\n this.handleClearBlur = ({ relatedTarget }) => {\n this.icClearBlur.emit({ relatedTarget });\n this.clearButtonFocused = false;\n };\n this.handleSubmitSearchBlur = ({ relatedTarget }) => {\n this.icSubmitSearchBlur.emit({ relatedTarget });\n this.searchSubmitFocused = false;\n };\n this.setInputValue = (newValue) => {\n if (this.inputEl) {\n const label = getLabelFromValue(newValue, this.options, this.valueField, this.labelField);\n if (label)\n this.inputEl.value = label;\n else if (this.inputEl.value !== newValue) {\n this.inputEl.value = newValue;\n }\n }\n };\n this.handleMouseDown = (ev) => {\n ev.preventDefault();\n };\n this.handleSubmitSearchFocus = () => {\n this.searchSubmitFocused = true;\n };\n this.handleSubmitSearch = () => {\n if (this.highlightedValue)\n this.value = this.highlightedValue;\n this.highlightedValue = undefined;\n this.icSubmitSearch.emit({ value: this.value });\n const form = this.el.closest(\"FORM\");\n if (this.searchSubmitButton && !!form && !this.preventSubmit) {\n handleHiddenFormButtonClick(form, this.searchSubmitButton);\n }\n };\n this.handleSubmitSearchKeyDown = (ev) => {\n if (ev.key === \" \") {\n ev.preventDefault();\n this.handleSubmitSearch();\n }\n };\n this.handleRetry = (ev) => {\n this.retryViaKeyPress = ev.detail.keyPressed === \"Enter\";\n this.icRetryLoad.emit({ value: ev.detail.value });\n this.triggerLoading();\n this.retryButtonClick = true;\n };\n this.triggerLoading = () => {\n const loadingOption = [\n {\n [this.labelField]: this.loadingLabel,\n [this.valueField]: \"\",\n loading: true,\n },\n ];\n if (this.filteredOptions !== loadingOption)\n this.filteredOptions = loadingOption;\n if (this.timeout) {\n this.timeoutTimer = window.setTimeout(() => {\n this.filteredOptions = [\n {\n [this.labelField]: this.loadingErrorLabel,\n [this.valueField]: \"\",\n timedOut: true,\n },\n ];\n }, this.timeout);\n }\n };\n this.handleOptionSelect = (ev) => {\n if (ev.detail.label === this.emptyOptionListText) {\n this.el.setFocus();\n return;\n }\n this.value = ev.detail.value;\n this.icOptionSelect.emit({ value: this.value });\n };\n this.handleMenuOptionHighlight = (ev) => {\n const { optionId } = ev.detail;\n if (optionId)\n this.highlightedValue = optionId.replace(`${this.menuId}-`, \"\");\n this.ariaActiveDescendant = optionId || \"\";\n };\n this.handleMenuChange = (ev) => {\n this.setMenuChange(ev.detail.open);\n if (!ev.detail.open) {\n this.menuCloseFromMenuChangeEvent = true;\n }\n };\n this.setMenuChange = (open) => {\n if (this.open !== open) {\n this.open = open;\n this.icMenuChange.emit({ open });\n }\n };\n this.handleHostFocus = () => {\n if (this.options &&\n (this.value || this.showMenuWithNoInput()) &&\n !this.menuCloseFromMenuChangeEvent) {\n this.setMenuChange(true);\n }\n this.truncateValue = false;\n this.showMenuWithNoInput() && this.debounceAriaLiveUpdate();\n this.icSearchBarFocus.emit();\n };\n this.handleHostBlur = ({ relatedTarget }) => {\n var _a;\n if (this.open &&\n this.options &&\n relatedTarget !== this.menu &&\n !this.retryViaKeyPress &&\n !this.retryButtonClick) {\n this.setMenuChange(false);\n }\n if (this.retryButtonClick || this.retryViaKeyPress) {\n (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.focus();\n }\n this.showClearButton = false;\n this.menuCloseFromMenuChangeEvent = false;\n this.truncateValue = true;\n this.icSearchBarBlur.emit({\n relatedTarget,\n value: this.value,\n });\n this.retryViaKeyPress = false;\n this.retryButtonClick = false;\n this.showMenuWithNoInput() && this.updateSearchResultAriaLive();\n };\n this.handleFocusClearButton = () => {\n this.clearButtonFocused = true;\n };\n this.renderAssistiveHintEl = () => {\n var _a, _b;\n const input = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(`#${this.inputId}`);\n if (input &&\n Object.keys(input).length > 0 &&\n this.hasOptionsOrFilterDisabled()) {\n this.assistiveHintEl = document.createElement(\"span\");\n this.assistiveHintEl.innerText = this.assistiveHintText;\n this.assistiveHintEl.id = `${this.inputId}-assistive-hint`;\n this.assistiveHintEl.style.display = \"none\";\n (_b = input.after) === null || _b === void 0 ? void 0 : _b.call(input, this.assistiveHintEl);\n }\n };\n this.updateSearchResultAriaLive = () => {\n var _a;\n const searchResultsStatusEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\".search-results-status\");\n if (searchResultsStatusEl) {\n if (!this.open ||\n (this.value === \"\" && !this.showMenuWithNoInput()) ||\n this.value.length < this.charactersUntilSuggestion) {\n searchResultsStatusEl.innerText = \"\";\n }\n else if (this.hasOptionsOrFilterDisabled() &&\n this.filteredOptions.length > 0 &&\n this.open &&\n !this.filteredOptions[0].loading) {\n searchResultsStatusEl.innerText = this.hadNoOptions()\n ? this.emptyOptionListText\n : `${this.filteredOptions.length} result${this.filteredOptions.length > 1 ? \"s\" : \"\"} available`;\n }\n }\n };\n this.hasOptionsOrFilterDisabled = () => this.options.length > 0 || this.disableAutoFiltering;\n this.hadNoOptions = () => this.filteredOptions.length === 1 &&\n this.filteredOptions[0][this.labelField] === this.emptyOptionListText &&\n this.searchMode === \"navigation\";\n this.isSubmitDisabled = () => !this.value ||\n this.value.length < this.charactersUntilSuggestion ||\n this.disabled ||\n this.hadNoOptions() ||\n this.hasTimedOut ||\n this.loading;\n this.showMenuWithNoInput = () => this.charactersUntilSuggestion === 0;\n this.updateSearchButtonType = () => {\n this.searchButtonType =\n !!this.el.closest(\"FORM\") &&\n !this.preventFormSubmitOnSearch\n ? \"submit\"\n : \"button\";\n };\n }\n watchCharactersUntilSuggestionHandler() {\n if (this.showMenuWithNoInput()) {\n this.filteredOptions = this.options;\n }\n }\n watchDisabledHandler() {\n removeDisabledFalse(this.disabled, this.el);\n }\n debounceChanged() {\n this.icChange = debounceEvent(this.icChange, this.debounce);\n }\n loadingHandler(newValue) {\n if (newValue && !this.hasTimedOut) {\n this.preLoad = false;\n this.triggerLoading();\n }\n }\n preventFormSubmitOnSearchHandler() {\n this.updateSearchButtonType();\n }\n filteredOptionsHandler(newOptions) {\n this.hasTimedOut = newOptions.some((opt) => opt.timedOut);\n }\n watchOptionsHandler(newOptions) {\n if (this.disableAutoFiltering) {\n if (!this.hasTimedOut) {\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n if (newOptions.length > 0) {\n this.filteredOptions = newOptions;\n }\n else {\n if (this.hadNoOptions()) {\n return;\n }\n this.setMenuChange(true);\n if (!this.preLoad) {\n this.filteredOptions = [\n {\n [this.labelField]: this.emptyOptionListText,\n [this.valueField]: \"\",\n },\n ];\n }\n this.preLoad = true;\n }\n }\n }\n else if (this.showMenuWithNoInput()) {\n this.filteredOptions = newOptions;\n }\n this.debounceAriaLiveUpdate();\n }\n watchValueHandler(newValue) {\n this.setInputValue(newValue);\n this.icChange.emit({ value: newValue });\n }\n connectedCallback() {\n this.debounceChanged();\n }\n disconnectedCallback() {\n var _a;\n (_a = this.assistiveHintEl) === null || _a === void 0 ? void 0 : _a.remove();\n }\n componentWillLoad() {\n this.setInputValue(this.value);\n removeDisabledFalse(this.disabled, this.el);\n this.updateSearchButtonType();\n }\n componentDidLoad() {\n if (this.focusOnLoad) {\n this.el.setFocus();\n }\n if (this.hasOptionsOrFilterDisabled()) {\n this.renderAssistiveHintEl();\n if (this.disableAutoFiltering || this.showMenuWithNoInput()) {\n this.filteredOptions = this.options;\n }\n }\n onComponentRequiredPropUndefined([{ prop: this.label, propName: \"label\" }], \"Search Bar\");\n }\n componentWillRender() {\n if (this.prevNoOption && this.menu && !this.hasTimedOut) {\n this.menu.handleSetFirstOption();\n this.prevNoOption = false;\n }\n if (this.filteredOptions.find((filteredOption) => filteredOption[this.labelField] === this.emptyOptionListText ||\n filteredOption[this.labelField] === this.loadingErrorLabel ||\n filteredOption[this.labelField] === this.loadingLabel)) {\n this.prevNoOption = true;\n }\n }\n handleKeyDown(event) {\n this.icKeydown.emit({ event });\n if (this.menu && this.open) {\n this.menu.handleKeyboardOpen(event);\n }\n }\n handleKeyUp(ev) {\n if (ev.key === \"Enter\") {\n if (this.preventSubmit || this.isSubmitDisabled()) {\n return;\n }\n this.handleSubmitSearch();\n this.setMenuChange(false);\n }\n if (ev.key === \"Escape\") {\n this.setMenuChange(false);\n }\n if (this.preventSubmit) {\n this.preventSubmit = false;\n }\n }\n /**\n * Sets focus on the native `input`.\n */\n async setFocus() {\n var _a;\n this.retryViaKeyPress = false;\n this.retryButtonClick = false;\n (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.focus();\n }\n debounceAriaLiveUpdate() {\n clearTimeout(this.debounceAriaLive);\n this.debounceAriaLive = window.setTimeout(() => {\n this.updateSearchResultAriaLive();\n }, 500);\n }\n render() {\n const { inputId, name, label, required, size, placeholder, helperText, disabled, value, readonly, spellcheck, fullWidth, options, open, hideLabel, menuId, ariaActiveDescendant, truncateValue, autofocus, autocapitalize, autocomplete, filteredOptions, theme, charactersUntilSuggestion, labelField, valueField, loadingLabel, loadingErrorLabel, searchMode, showClearButton, searchSubmitFocused, clearButtonFocused, searchButtonType, } = this;\n const disabledMode = readonly || disabled;\n const describedBy = getInputDescribedByText(this.el, inputId, helperText !== \"\", false).trim();\n let describedById = undefined;\n if (describedBy !== \"\" && this.hasOptionsOrFilterDisabled()) {\n describedById = `${describedBy} ${inputId}-assistive-hint`;\n }\n else if (this.hasOptionsOrFilterDisabled()) {\n describedById = `${inputId}-assistive-hint`;\n }\n else if (describedBy !== \"\") {\n describedById = describedBy;\n }\n const hasSuggestedSearch = (!!value || this.showMenuWithNoInput()) &&\n this.hasOptionsOrFilterDisabled();\n const menuOpen = hasSuggestedSearch && open && filteredOptions.length > 0;\n const menuRendered = menuOpen && value.length >= charactersUntilSuggestion;\n const labelValue = getLabelFromValue(value, options, valueField, labelField);\n renderHiddenInput(this.el, value, name, disabledMode);\n return (h(Host, { key: '52cd7f9c675ebb5a73d43d8aba5c564a09975983', class: {\n \"ic-search-bar-search\": true,\n \"ic-search-bar-full-width\": fullWidth,\n \"ic-search-bar-disabled\": disabled,\n \"ic-search-bar-small\": size === \"small\",\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }, onFocus: this.handleHostFocus, onBlur: this.handleHostBlur }, h(\"ic-input-container\", { key: '93f1f86abb836848f4a77e8bea800402a7c3d792', readonly: readonly, disabled: disabledMode }, !hideLabel && (h(\"ic-input-label\", { key: '3408fa52e67fbc9420cb7f763198ea950e356b7e', for: inputId, label: label, helperText: helperText, required: required, disabled: disabledMode && !readonly, readonly: readonly }, h(\"slot\", { key: '24fed7a49fc79140dabb28e1f77c8321bc51729b', name: \"helper-text\", slot: \"helper-text\" }))), h(\"ic-input-component-container\", { key: 'be1083aceb07c1235666cb3f1f9892f8e1b8538d', ref: (el) => (this.anchorEl = el), size: size, disabled: disabledMode, readonly: readonly, fullWidth: fullWidth }, h(\"input\", { key: '4ea2d718f3b6e4e524f534719630c618bb25a4d4', id: inputId, name: name, ref: (el) => (this.inputEl = el), value: options && !!labelValue ? labelValue : value, class: {\n \"no-left-pad\": readonly,\n readonly,\n \"truncate-value\": truncateValue,\n }, placeholder: placeholder, required: required, disabled: disabledMode, readonly: readonly, onInput: this.onInput, onBlur: this.onInputBlur, onFocus: this.onInputFocus, \"aria-label\": hideLabel ? label : undefined, \"aria-activedescendant\": ariaActiveDescendant, \"aria-expanded\": options.length > 0 && menuRendered ? `${menuOpen}` : undefined, \"aria-owns\": menuRendered ? menuId : undefined, \"aria-describedby\": describedById, \"aria-controls\": menuRendered ? menuId : undefined, \"aria-haspopup\": options.length > 0 ? \"listbox\" : undefined, \"aria-autocomplete\": hasSuggestedSearch ? \"list\" : undefined, role: options.length > 0 && menuRendered ? \"combobox\" : undefined, autocomplete: autocomplete, autocapitalize: autocapitalize, autoFocus: autofocus, spellcheck: spellcheck, inputmode: \"search\" }), h(\"div\", { key: '447b4da477637a70ac3f2b9c180df87aebee044b', class: {\n \"clear-button-container\": true,\n \"clear-button-visible\": !!value && !disabledMode && showClearButton,\n } }, h(\"ic-button\", { key: '3a740c60761c034298c1cabf4173a4168a2cbaee', id: \"clear-button\", class: {\n \"clear-button\": true,\n \"clear-button-unfocused\": !clearButtonFocused,\n }, \"aria-label\": \"Clear\", innerHTML: clearIcon, onClick: this.handleClear, onMouseDown: this.handleMouseDown, size: size, onFocus: this.handleFocusClearButton, onBlur: this.handleClearBlur, onKeyDown: this.handleClear, type: \"button\", variant: \"icon\", theme: clearButtonFocused ? \"light\" : \"dark\" }), h(\"div\", { key: '7fec0530f8a21476d808203bc79857a0c44538ab', class: \"divider\" })), h(\"div\", { key: '376a77d494db324f5e469932009692cab51c58fe', class: {\n \"search-submit-button-container\": true,\n \"search-submit-button-disabled\": this.isSubmitDisabled(),\n } }, h(\"ic-button\", { key: 'c94e42dc5907d0e7dc412b8a09792090d4359783', id: \"search-submit-button\", \"aria-label\": \"Search\", ref: (el) => (this.searchSubmitButton = el), class: {\n \"search-submit-button\": true,\n \"search-submit-button-small\": size === \"small\",\n \"search-submit-button-unfocused\": !searchSubmitFocused,\n \"search-submit-button-disabled\": this.isSubmitDisabled(),\n }, disabled: this.isSubmitDisabled(), innerHTML: searchIcon, size: size, onClick: this.handleSubmitSearch, onMouseDown: this.handleMouseDown, onBlur: this.handleSubmitSearchBlur, onFocus: this.handleSubmitSearchFocus, onKeyDown: this.handleSubmitSearchKeyDown, type: searchButtonType, variant: \"icon\", theme: searchSubmitFocused ? \"light\" : \"dark\" }))), h(\"div\", { key: 'd59837a4d8626cb434d74920c3d16ebad1aa38e8', class: {\n \"menu-container\": true,\n fullwidth: fullWidth,\n } }, menuRendered && this.anchorEl && this.inputEl && (h(\"ic-menu\", { key: 'db6985b5af28d19536d7c3f1a19e84be95c765da', class: {\n \"no-results\": this.hadNoOptions() ||\n (filteredOptions.length === 1 &&\n (filteredOptions[0][labelField] === loadingLabel ||\n filteredOptions[0][labelField] === loadingErrorLabel)),\n }, activationType: \"manual\", anchorEl: this.anchorEl, autofocusOnSelected: false, searchMode: searchMode, inputEl: this.inputEl, inputLabel: label, ref: (el) => (this.menu = el), fullWidth: fullWidth, menuId: menuId, open: true, options: filteredOptions, onMenuOptionSelect: this.handleOptionSelect, onMenuStateChange: this.handleMenuChange, onMenuOptionId: this.handleMenuOptionHighlight, onRetryButtonClicked: this.handleRetry, parentEl: this.el, value: value, labelField: labelField, valueField: valueField, searchBar: true })))), h(\"div\", { key: '9d3ffbf8df67646d6262b275d27b90d4ff27ca8f', \"aria-live\": \"polite\", role: \"status\", class: \"search-results-status\" })));\n }\n static get is() { return \"ic-search-bar\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-search-bar.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-search-bar.css\"]\n };\n }\n static get properties() {\n return {\n \"autocapitalize\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The automatic capitalisation of the text value as it is entered/edited by the user.\\nAvailable options: \\\"off\\\", \\\"none\\\", \\\"on\\\", \\\"sentences\\\", \\\"words\\\", \\\"characters\\\".\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"autocapitalize\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"off\\\"\"\n },\n \"autocomplete\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcAutocompleteTypes\",\n \"resolved\": \"\\\"name\\\" | \\\"on\\\" | \\\"off\\\" | \\\"honorific-prefix\\\" | \\\"given-name\\\" | \\\"additional-name\\\" | \\\"family-name\\\" | \\\"honorific-suffix\\\" | \\\"nickname\\\" | \\\"email\\\" | \\\"username\\\" | \\\"new-password\\\" | \\\"current-password\\\" | \\\"one-time-code\\\" | \\\"organization-title\\\" | \\\"organization\\\" | \\\"street-address\\\" | \\\"address-line1\\\" | \\\"address-line2\\\" | \\\"address-line3\\\" | \\\"address-level4\\\" | \\\"address-level3\\\" | \\\"address-level2\\\" | \\\"address-level1\\\" | \\\"country\\\" | \\\"country-name\\\" | \\\"postal-code\\\" | \\\"cc-name\\\" | \\\"cc-given-name\\\" | \\\"cc-additional-name\\\" | \\\"cc-family-name\\\" | \\\"cc-number\\\" | \\\"cc-exp\\\" | \\\"cc-exp-month\\\" | \\\"cc-exp-year\\\" | \\\"cc-csc\\\" | \\\"cc-type\\\" | \\\"transaction-currency\\\" | \\\"transaction-amount\\\" | \\\"language\\\" | \\\"bday\\\" | \\\"bday-day\\\" | \\\"bday-month\\\" | \\\"bday-year\\\" | \\\"sex\\\" | \\\"tel\\\" | \\\"tel-country-code\\\" | \\\"tel-national\\\" | \\\"tel-area-code\\\" | \\\"tel-local\\\" | \\\"tel-extension\\\" | \\\"impp\\\" | \\\"url\\\" | \\\"photo\\\"\",\n \"references\": {\n \"IcAutocompleteTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcAutocompleteTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The state of autocompletion the browser can apply on the text value.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"autocomplete\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"off\\\"\"\n },\n \"autocorrect\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcAutocorrectStates\",\n \"resolved\": \"\\\"off\\\" | \\\"on\\\"\",\n \"references\": {\n \"IcAutocorrectStates\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcAutocorrectStates\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The state of autocorrection the browser can apply when the user is entering/editing the text value.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"autocorrect\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"off\\\"\"\n },\n \"autofocus\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the form control will have input focus when the page loads.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"autofocus\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"charactersUntilSuggestion\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The number of characters until suggestions appear. The submit button will be disabled until the inputted value is equal to or greater than this number.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"characters-until-suggestion\",\n \"reflect\": false,\n \"defaultValue\": \"2\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": 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\": false,\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\": \"Specify whether to disable the built in filtering. For example, if options will already be filtered from external source.\\nIf `true`, all options provided will be displayed.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"disable-auto-filtering\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"debounce\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"debounce\",\n \"reflect\": false,\n \"defaultValue\": \"0\"\n },\n \"emptyOptionListText\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The text displayed when there are no options in the option list.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"empty-option-list-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"No results found\\\"\"\n },\n \"focusOnLoad\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the search bar will be focused when component loaded.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"focus-on-load\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"fullWidth\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specify whether the search bar fills the full width of the container.\\nIf `true`, this overrides the --input-width CSS variable.\"\n },\n \"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 \"assistiveHintText\": {\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 hint text for the hidden assistive description element.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"assistive-hint-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"When autocomplete results are available use the up and down arrows to choose and press enter to select\\\"\"\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label for the search bar.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"labelField\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The custom name for the label field to correspond with the IcMenuOption type.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"label-field\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"label\\\"\"\n },\n \"loading\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Trigger loading state when fetching options asynchronously\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"loading\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"loadingErrorLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Change 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\": \"Change 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 \"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 display.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"placeholder\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Search\\\"\"\n },\n \"preventFormSubmitOnSearch\": {\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 parent form will not submit when the icSubmitSearch event fires.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"prevent-form-submit-on-search\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\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 search bar will require a value.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"required\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"searchMode\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSearchBarSearchModes\",\n \"resolved\": \"\\\"navigation\\\" | \\\"query\\\"\",\n \"references\": {\n \"IcSearchBarSearchModes\": {\n \"location\": \"import\",\n \"path\": \"./ic-search-bar.types\",\n \"id\": \"src/components/ic-search-bar/ic-search-bar.types.ts::IcSearchBarSearchModes\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specify the mode search bar uses to search. `navigation` allows for quick lookups of a set of values, `query` allows for more general searches.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"search-mode\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"navigation\\\"\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizesNoLarge\",\n \"resolved\": \"\\\"medium\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizesNoLarge\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizesNoLarge\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the search bar component.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"medium\\\"\"\n },\n \"spellcheck\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the value of the search will have its spelling and grammar checked.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"spellcheck\",\n \"reflect\": false,\n \"defaultValue\": \"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 \"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 \"valueField\": {\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 custom name for the value field to correspond with the IcMenuOption type.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"value-field\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"value\\\"\"\n },\n \"options\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcMenuOption[]\",\n \"resolved\": \"IcMenuOption[]\",\n \"references\": {\n \"IcMenuOption\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcMenuOption\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The suggested search options.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"defaultValue\": \"[]\"\n },\n \"value\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The value of the search input.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"value\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"ariaActiveDescendant\": {},\n \"clearButtonFocused\": {},\n \"highlightedValue\": {},\n \"open\": {},\n \"searchSubmitFocused\": {},\n \"showClearButton\": {},\n \"searchButtonType\": {},\n \"filteredOptions\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icChange\",\n \"name\": \"icChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the value has changed.\"\n },\n \"complexType\": {\n \"original\": \"IcValueEventDetail\",\n \"resolved\": \"IcValueEventDetail\",\n \"references\": {\n \"IcValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icClear\",\n \"name\": \"icClear\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when value is cleared with clear button\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"icInput\",\n \"name\": \"icInput\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a keyboard input occurred.\"\n },\n \"complexType\": {\n \"original\": \"IcValueEventDetail\",\n \"resolved\": \"IcValueEventDetail\",\n \"references\": {\n \"IcValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icOptionSelect\",\n \"name\": \"icOptionSelect\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when option is highlighted within the menu\"\n },\n \"complexType\": {\n \"original\": \"IcOptionSelectEventDetail\",\n \"resolved\": \"IcOptionSelectEventDetail\",\n \"references\": {\n \"IcOptionSelectEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../ic-menu/ic-menu.types\",\n \"id\": \"src/components/ic-menu/ic-menu.types.ts::IcOptionSelectEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icMenuChange\",\n \"name\": \"icMenuChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the state of the menu changes (i.e. open or close)\"\n },\n \"complexType\": {\n \"original\": \"IcMenuChangeEventDetail\",\n \"resolved\": \"IcMenuChangeEventDetail\",\n \"references\": {\n \"IcMenuChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../ic-menu/ic-menu.types\",\n \"id\": \"src/components/ic-menu/ic-menu.types.ts::IcMenuChangeEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icClearBlur\",\n \"name\": \"icClearBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- Emitted when blur is invoked from clear button\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcBlurEventDetail\",\n \"resolved\": \"IcBlurEventDetail\",\n \"references\": {\n \"IcBlurEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcBlurEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icRetryLoad\",\n \"name\": \"icRetryLoad\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the 'retry loading' button is clicked\"\n },\n \"complexType\": {\n \"original\": \"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\": \"icSubmitSearch\",\n \"name\": \"icSubmitSearch\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the search value has been submitted\"\n },\n \"complexType\": {\n \"original\": \"IcValueEventDetail\",\n \"resolved\": \"IcValueEventDetail\",\n \"references\": {\n \"IcValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icSubmitSearchBlur\",\n \"name\": \"icSubmitSearchBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- Emitted when blur is invoked from search submit button\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcBlurEventDetail\",\n \"resolved\": \"IcBlurEventDetail\",\n \"references\": {\n \"IcBlurEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcBlurEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icSearchBarBlur\",\n \"name\": \"icSearchBarBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when blur is invoked from ic-search-bar\"\n },\n \"complexType\": {\n \"original\": \"IcSearchBarBlurEventDetail\",\n \"resolved\": \"IcSearchBarBlurEventDetail\",\n \"references\": {\n \"IcSearchBarBlurEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-search-bar.types\",\n \"id\": \"src/components/ic-search-bar/ic-search-bar.types.ts::IcSearchBarBlurEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icSearchBarFocus\",\n \"name\": \"icSearchBarFocus\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when focus is invoked from ic-search-bar\"\n },\n \"complexType\": {\n \"original\": \"IcValueEventDetail\",\n \"resolved\": \"IcValueEventDetail\",\n \"references\": {\n \"IcValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icKeydown\",\n \"name\": \"icKeydown\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a keydown event occurred.\"\n },\n \"complexType\": {\n \"original\": \"{ event: KeyboardEvent }\",\n \"resolved\": \"{ event: KeyboardEvent; }\",\n \"references\": {\n \"KeyboardEvent\": {\n \"location\": \"global\",\n \"id\": \"global::KeyboardEvent\"\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 native `input`.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"charactersUntilSuggestion\",\n \"methodName\": \"watchCharactersUntilSuggestionHandler\"\n }, {\n \"propName\": \"disabled\",\n \"methodName\": \"watchDisabledHandler\"\n }, {\n \"propName\": \"debounce\",\n \"methodName\": \"debounceChanged\"\n }, {\n \"propName\": \"loading\",\n \"methodName\": \"loadingHandler\"\n }, {\n \"propName\": \"preventFormSubmitOnSearch\",\n \"methodName\": \"preventFormSubmitOnSearchHandler\"\n }, {\n \"propName\": \"filteredOptions\",\n \"methodName\": \"filteredOptionsHandler\"\n }, {\n \"propName\": \"options\",\n \"methodName\": \"watchOptionsHandler\"\n }, {\n \"propName\": \"value\",\n \"methodName\": \"watchValueHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"keydown\",\n \"method\": \"handleKeyDown\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"keyup\",\n \"method\": \"handleKeyUp\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-search-bar.js.map\n"],"mappings":"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","ignoreList":[]}
|