@ukic/canary-web-components 3.0.0-canary.21 → 3.0.0-canary.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-table.cjs.entry.js +29 -21
- package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-date-picker.cjs.entry.js +17 -10
- package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +39 -47
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +3 -10
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination_4.cjs.entry.js +2 -2
- package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +2 -2
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +2 -2
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +15 -4
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js +13 -4
- package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tree-item.cjs.entry.js +14 -8
- package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tree-view.cjs.entry.js +23 -15
- package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/ic-data-table/ic-data-table.css +3 -2
- package/dist/collection/components/ic-data-table/ic-data-table.js +28 -20
- package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
- package/dist/collection/components/ic-data-table/ic-data-table.stories.js +2 -2
- package/dist/collection/components/ic-data-table/ic-data-table.stories.js.map +1 -1
- package/dist/collection/components/ic-data-table/story-data.js +32 -73
- package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
- package/dist/collection/components/ic-date-picker/ic-date-picker.js +37 -10
- package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
- package/dist/collection/components/ic-tree-item/ic-tree-item.js +14 -8
- package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
- package/dist/collection/components/ic-tree-view/ic-tree-view.js +23 -15
- package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
- package/dist/components/ic-data-table.js +29 -21
- package/dist/components/ic-data-table.js.map +1 -1
- package/dist/components/ic-date-picker.js +18 -10
- package/dist/components/ic-date-picker.js.map +1 -1
- package/dist/components/ic-loading-indicator2.js +1 -1
- package/dist/components/ic-loading-indicator2.js.map +1 -1
- package/dist/components/ic-menu2.js +42 -47
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-navigation-item.js +3 -10
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-search-bar.js +2 -2
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-select2.js +2 -2
- package/dist/components/ic-select2.js.map +1 -1
- package/dist/components/ic-side-navigation.js +2 -2
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-toggle-button-group.js +17 -4
- package/dist/components/ic-toggle-button-group.js.map +1 -1
- package/dist/components/ic-toggle-button.js +14 -4
- package/dist/components/ic-toggle-button.js.map +1 -1
- package/dist/components/ic-tree-item.js +15 -9
- package/dist/components/ic-tree-item.js.map +1 -1
- package/dist/components/ic-tree-view.js +24 -16
- package/dist/components/ic-tree-view.js.map +1 -1
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/p-156fc5f1.entry.js +2 -0
- package/dist/core/p-156fc5f1.entry.js.map +1 -0
- package/dist/core/{p-b6c3cc1c.entry.js → p-15ec796a.entry.js} +2 -2
- package/dist/core/p-15ec796a.entry.js.map +1 -0
- package/dist/core/{p-145238fe.entry.js → p-1ffac8ae.entry.js} +2 -2
- package/dist/core/{p-145238fe.entry.js.map → p-1ffac8ae.entry.js.map} +1 -1
- package/dist/core/{p-b6d1988d.entry.js → p-6e7aaca5.entry.js} +2 -2
- package/dist/core/{p-b6d1988d.entry.js.map → p-6e7aaca5.entry.js.map} +1 -1
- package/dist/core/p-755bdc43.entry.js +2 -0
- package/dist/core/p-755bdc43.entry.js.map +1 -0
- package/dist/core/p-78635447.entry.js +2 -0
- package/dist/core/p-78635447.entry.js.map +1 -0
- package/dist/core/{p-1bcf49fa.entry.js → p-a220535c.entry.js} +2 -2
- package/dist/core/p-a220535c.entry.js.map +1 -0
- package/dist/core/{p-9fafa5fa.entry.js → p-b88585bf.entry.js} +2 -2
- package/dist/core/p-b88585bf.entry.js.map +1 -0
- package/dist/core/{p-b6b7c15c.entry.js → p-bc974a3e.entry.js} +2 -2
- package/dist/core/p-bc974a3e.entry.js.map +1 -0
- package/dist/core/p-c67381b1.entry.js +2 -0
- package/dist/core/p-c67381b1.entry.js.map +1 -0
- package/dist/core/p-d04b75cb.entry.js +2 -0
- package/dist/core/p-d04b75cb.entry.js.map +1 -0
- package/dist/core/p-e2103bcc.entry.js +2 -0
- package/dist/core/p-e2103bcc.entry.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/ic-button_3.entry.js +1 -1
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-data-table.entry.js +29 -21
- package/dist/esm/ic-data-table.entry.js.map +1 -1
- package/dist/esm/ic-date-picker.entry.js +17 -10
- package/dist/esm/ic-date-picker.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_3.entry.js +39 -47
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +3 -10
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-pagination_4.entry.js +2 -2
- package/dist/esm/ic-pagination_4.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +2 -2
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +2 -2
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button-group.entry.js +15 -4
- package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button.entry.js +13 -4
- package/dist/esm/ic-toggle-button.entry.js.map +1 -1
- package/dist/esm/ic-tree-item.entry.js +15 -9
- package/dist/esm/ic-tree-item.entry.js.map +1 -1
- package/dist/esm/ic-tree-view.entry.js +24 -16
- package/dist/esm/ic-tree-view.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-data-table/ic-data-table.d.ts +1 -1
- package/dist/types/components/ic-data-table/ic-data-table.stories.d.ts +1 -1
- package/dist/types/components/ic-data-table/story-data.d.ts +0 -64
- package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +4 -0
- package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +2 -0
- package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +2 -1
- package/dist/types/components.d.ts +8 -0
- package/hydrate/index.js +166 -126
- package/hydrate/index.mjs +166 -126
- package/package.json +3 -3
- package/dist/core/p-1b20ab19.entry.js +0 -2
- package/dist/core/p-1b20ab19.entry.js.map +0 -1
- package/dist/core/p-1bcf49fa.entry.js.map +0 -1
- package/dist/core/p-5f8b09e4.entry.js +0 -2
- package/dist/core/p-5f8b09e4.entry.js.map +0 -1
- package/dist/core/p-7001f1c1.entry.js +0 -2
- package/dist/core/p-7001f1c1.entry.js.map +0 -1
- package/dist/core/p-9fafa5fa.entry.js.map +0 -1
- package/dist/core/p-b6b7c15c.entry.js.map +0 -1
- package/dist/core/p-b6c3cc1c.entry.js.map +0 -1
- package/dist/core/p-b9369ce5.entry.js +0 -2
- package/dist/core/p-b9369ce5.entry.js.map +0 -1
- package/dist/core/p-cbbba154.entry.js +0 -2
- package/dist/core/p-cbbba154.entry.js.map +0 -1
- package/dist/core/p-dc3aba7c.entry.js +0 -2
- package/dist/core/p-dc3aba7c.entry.js.map +0 -1
@@ -1 +0,0 @@
|
|
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","watchSelectedHandler","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","watchDisabledHandler","removeDisabledFalse","watchExpandedHandler","icTreeItemExpanded","emit","isExpanded","icTreeItemSelected","disconnectedCallback","disconnect","componentWillLoad","childTreeItems","filter","child","componentDidLoad","isSlotUsed","onComponentRequiredPropUndefined","prop","propName","MutationObserver","mutationList","renderDynamicChildSlots","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\n this.childTreeItems = Array.from((this.el as HTMLElement).children).filter(\n (child) => child.tagName === this.treeItemTag\n ) as HTMLIcTreeItemElement[];\n\n if (this.childTreeItems.length > 0) {\n this.isParent = true;\n }\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 renderDynamicChildSlots(mutationList, \"icon\", this)\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 this.watchSelectedHandler();\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 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":"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","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icToggleButtonCss","IcToggleButtonStyle0","TRACKED_ATTRIBUTES","ToggleButton","constructor","hostRef","this","checked","disabled","fullWidth","iconPlacement","loading","monochrome","size","theme","tooltipPlacement","variant","handleFocus","ev","stopImmediatePropagation","handleClick","icToggleChecked","emit","watchDisabledHandler","removeDisabledFalse","el","componentWillLoad","_a","isSlottedInGroup","parentAttributes","parentElement","attributes","i","length","attribute","getNamedItem","name","value","componentDidLoad","onComponentRequiredPropUndefined","prop","accessibleLabel","label","propName","handleHostClick","e","render","iconVariant","h","Host","key","class","onFocus","onClick","title","isSlotUsed","slot","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-toggle-button/ic-toggle-button.css?tag=ic-toggle-button&encapsulation=shadow","../web-components/dist/collection/components/ic-toggle-button/ic-toggle-button.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/* VARIABLES FOR IC-TOGGLE-BUTTON-GROUP */\n:host {\n --toggle-button-border: var(--ic-toggle-button-unselected-border);\n --toggle-button-text-colour: var(--ic-toggle-button-unselected-text);\n --toggle-button-border-hover: var(--ic-toggle-button-unselected-border-hover);\n --toggle-button-text-colour-hover: var(\n --ic-toggle-button-unselected-text-hover\n );\n --toggle-button-border-active: var(\n --ic-toggle-button-unselected-border-pressed\n );\n --toggle-button-text-colour-active: var(\n --ic-toggle-button-unselected-text-pressed\n );\n}\n\n:host(:not(.expand-toggle-group-child)) {\n display: inline-block;\n border-radius: var(--ic-border-radius);\n border: var(--ic-border-width) solid var(--toggle-button-border);\n}\n\n:host(.ic-toggle-button-full-width:not(.expand-toggle-group-child)) {\n width: 100%;\n}\n\n:host(.ic-toggle-button-checked) {\n --toggle-button-border: var(--ic-toggle-button-selected-border);\n --toggle-button-text-colour: var(--ic-toggle-button-selected-text);\n --toggle-button-border-hover: var(--ic-toggle-button-selected-border-hover);\n --toggle-button-text-colour-hover: var(--ic-toggle-button-selected-text);\n --toggle-button-border-active: var(\n --ic-toggle-button-selected-border-pressed\n );\n --toggle-button-text-colour-active: var(--ic-toggle-button-selected-text);\n}\n\n:host(.ic-toggle-button-monochrome) {\n --toggle-button-border: var(--ic-toggle-button-unselected-border-monochrome);\n --toggle-button-text-colour: var(\n --ic-toggle-button-unselected-text-monochrome\n );\n --toggle-button-border-hover: var(\n --ic-toggle-button-unselected-border-hover-monochrome\n );\n --toggle-button-text-colour-hover: var(\n --ic-toggle-button-unselected-text-monochrome\n );\n --toggle-button-border-active: var(\n --ic-toggle-button-unselected-border-pressed-monochrome\n );\n --toggle-button-text-colour-active: var(\n --ic-toggle-button-unselected-text-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked) {\n --toggle-button-border: var(--ic-toggle-button-selected-border-monochrome);\n --toggle-button-text-colour: var(--ic-toggle-button-selected-text-monochrome);\n --toggle-button-border-hover: var(\n --ic-toggle-button-selected-border-hover-monochrome\n );\n --toggle-button-text-colour-hover: var(\n --ic-toggle-button-selected-text-monochrome\n );\n --toggle-button-border-active: var(\n --ic-toggle-button-selected-border-pressed-monochrome\n );\n --toggle-button-text-colour-active: var(\n --ic-toggle-button-selected-text-monochrome\n );\n}\n\n:host(.ic-toggle-button-disabled) {\n --toggle-button-border: var(--ic-toggle-button-unselected-border-disabled);\n --toggle-button-text-colour: var(--ic-toggle-button-unselected-text-disabled);\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-monochrome) {\n --toggle-button-border: var(\n --ic-toggle-button-unselected-border-disabled-monochrome\n );\n --toggle-button-text-colour: var(\n --ic-toggle-button-unselected-text-disabled-monochrome\n );\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked) {\n --toggle-button-border: var(--ic-toggle-button-selected-border-disabled);\n --toggle-button-text-colour: var(--ic-toggle-button-selected-text-disabled);\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome) {\n --toggle-button-border: var(\n --ic-toggle-button-selected-border-disabled-monochrome\n );\n --toggle-button-text-colour: var(\n --ic-toggle-button-selected-text-disabled-monochrome\n );\n}\n\n:host(.expand-toggle-group-child) ::part(button) {\n width: 100%;\n}\n\n:host(.expand-toggle-group-child:not(.ic-toggle-button-loading))\n ::part(button) {\n min-height: inherit;\n height: auto;\n}\n\n:host ic-button {\n --icon-width: var(--ic-space-lg);\n --icon-height: var(--ic-space-lg);\n}\n\n:host(.expand-toggle-group-child) ic-button {\n min-width: 100%;\n min-height: 100%;\n height: 100%;\n}\n\n:host(.expand-toggle-group-child) ::part(button):focus,\n:host(.expand-toggle-group-child.ic-toggle-button-checked)\n ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-default),\n var(--ic-border-focus);\n}\n\n:host(.expand-toggle-group-child.ic-toggle-button-light) ::part(button):focus,\n:host(.expand-toggle-group-child.ic-toggle-button-dark) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-monochrome-dark),\n var(--ic-border-focus);\n}\n\n:host(:focus) {\n z-index: 1;\n}\n\n:host ::part(button) {\n border: none;\n color: var(--toggle-button-text-colour);\n}\n\n:host ::part(button):hover {\n color: var(--toggle-button-text-colour-hover);\n background-color: var(--ic-toggle-button-unselected-background-hover);\n}\n\n:host ::part(button):active {\n color: var(--toggle-button-text-colour-active);\n background-color: var(--ic-toggle-button-unselected-background-pressed);\n}\n\n:host ::part(button):focus {\n border: var(--ic-border-width) solid var(--toggle-button-border);\n}\n\n:host ::part(button):hover:focus {\n border: var(--ic-border-width) solid var(--toggle-button-border-hover);\n}\n\n:host ::part(button):active:focus {\n border: var(--ic-border-width) solid var(--toggle-button-border-active);\n}\n\n:host(.ic-toggle-button-disabled) ::part(button) {\n color: var(--toggle-button-text-colour);\n}\n\n:host(:not(.expand-toggle-group-child)):has(ic-button:hover) {\n border: var(--ic-border-width) solid var(--toggle-button-border-hover);\n}\n\n:host(:not(.expand-toggle-group-child)):has(ic-button:active) {\n border: var(--ic-border-width) solid var(--toggle-button-border-active);\n}\n\n:host(:not(.expand-toggle-group-child).ic-toggle-button-disabled) {\n border: var(--ic-border-width) dashed var(--toggle-button-border);\n}\n\n:host(.ic-toggle-button-checked) ::part(button) {\n background-color: var(--ic-toggle-button-selected-background);\n box-shadow: inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-text);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-border-focus),\n var(--ic-border-focus);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):hover {\n background-color: var(--ic-toggle-button-selected-background-hover);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):active,\n:host(.ic-toggle-button-icon.ic-toggle-button-checked) ::part(button):active {\n background-color: var(--ic-toggle-button-selected-background-pressed);\n}\n\n:host(.ic-toggle-button-monochrome) ::part(button):hover {\n background-color: var(\n --ic-toggle-button-unselected-background-hover-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome) ::part(button):active {\n background-color: var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked) ::part(button) {\n background-color: var(--ic-toggle-button-selected-background-monochrome);\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):hover {\n background-color: var(\n --ic-toggle-button-selected-background-hover-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):active,\n:host(.ic-toggle-button-icon.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):active {\n background-color: var(\n --ic-toggle-button-selected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-text),\n var(--ic-border-focus);\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button),\n:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked)\n ::part(button) {\n background-color: transparent;\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button),\n:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked)\n ::part(button)::before {\n background-image: radial-gradient(\n var(--ic-toggle-button-selected-background-disabled) 95%,\n white 20%\n );\n background-repeat: no-repeat;\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome)\n ::part(button),\n:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome)\n ::part(button)::before {\n background-image: radial-gradient(\n var(--ic-toggle-button-selected-background-disabled-monochrome) 95%,\n white 20%\n );\n background-repeat: no-repeat;\n}\n\n:host(.ic-toggle-button-icon) ::part(button) {\n height: calc(var(--ic-space-xl) + var(--ic-space-xs));\n width: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.ic-toggle-button-icon) ::part(button):active {\n background-color: var(--ic-action-default-bg-pressed);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-dark) ::part(button):active {\n background-color: var(--ic-action-dark-bg-pressed);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-light) ::part(button):active {\n background-color: var(--ic-action-light-bg-pressed);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-small) ::part(button) {\n height: var(--ic-space-xl);\n width: var(--ic-space-xl);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-large) ::part(button) {\n height: var(--ic-space-xxl);\n width: var(--ic-space-xxl);\n}\n\n:host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-selected-background-pressed\n );\n\n background-color: var(--ic-toggle-button-selected-background-pressed);\n}\n\n:host(.ic-toggle-button-loading) ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-unselected-background-pressed\n );\n\n background-color: var(--ic-toggle-button-unselected-background-pressed);\n}\n\n:host(.ic-toggle-button-checked.ic-toggle-button-loading)\n ::part(ic-loading-container) {\n --inner-color: var(--ic-toggle-button-loading-bar);\n}\n\n:host(.ic-toggle-button-loading) ::part(ic-loading-container) {\n --inner-color: var(--ic-toggle-button-selected-loading-bar);\n}\n\n:host(.ic-toggle-button-checked.ic-toggle-button-loading.ic-toggle-button-monochrome)\n ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-selected-background-pressed-monochrome\n );\n\n background-color: var(\n --ic-toggle-button-selected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-loading.ic-toggle-button-monochrome) ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n );\n\n background-color: var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n );\n}\n\n@media (forced-colors: active) {\n :host(.ic-toggle-button-checked) ::part(button),\n :host(.ic-toggle-button-checked) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-light) ::part(button),\n :host(.ic-toggle-button-checked.ic-toggle-button-light) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-dark) ::part(button),\n :host(.ic-toggle-button-checked.ic-toggle-button-dark) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-disabled) ::part(button) {\n background-color: GrayText;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(button),\n :host(.ic-toggle-button-checked.ic-toggle-button-loading)\n ::part(button):hover {\n --loading-button-background: Highlight;\n }\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { isSlotUsed, onComponentRequiredPropUndefined, removeDisabledFalse, isSlottedInGroup, } from \"../../utils/helpers\";\nconst TRACKED_ATTRIBUTES = [\n \"loading\",\n \"disabled\",\n \"full-width\",\n \"icon-placement\",\n \"variant\",\n \"size\",\n \"theme\",\n \"monochrome\",\n];\n/**\n * @slot icon - Content will be displayed alongside the toggle button label.\n * @slot badge - Badge component overlaying the top right of the toggle button.\n */\nexport class ToggleButton {\n constructor() {\n /**\n * If `true`, the toggle button will be in a checked state.\n */\n this.checked = false;\n /**\n * If `true`, the toggle button will be in disabled state.\n */\n this.disabled = false;\n /**\n * If `true`, the toggle button will fill the width of the container.\n */\n this.fullWidth = false;\n /**\n * The placement of the icon in relation to the toggle button label.\n */\n this.iconPlacement = \"left\";\n /**\n * If `true`, the toggle button will be in loading state.\n */\n this.loading = false;\n /**\n * If `true`, the toggle button will display as black in the light theme, and white in dark theme.\n */\n this.monochrome = false;\n /**\n * The size of the toggle button to be displayed.\n */\n this.size = \"medium\";\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n this.theme = \"inherit\";\n /**\n * The position of the tooltip in relation to the toggle button.\n */\n this.tooltipPlacement = \"bottom\";\n /**\n * The variant of the toggle button.\n */\n this.variant = \"default\";\n this.handleFocus = (ev) => {\n ev.stopImmediatePropagation();\n };\n this.handleClick = () => {\n if (!this.loading && !this.disabled) {\n this.icToggleChecked.emit({\n checked: this.checked,\n });\n }\n };\n }\n watchDisabledHandler() {\n removeDisabledFalse(this.disabled, this.el);\n }\n componentWillLoad() {\n var _a;\n removeDisabledFalse(this.disabled, this.el);\n if (!isSlottedInGroup(this.el))\n return;\n const parentAttributes = (_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.attributes;\n if (!parentAttributes)\n return;\n for (let i = 0; i < TRACKED_ATTRIBUTES.length; i++) {\n const attribute = parentAttributes.getNamedItem(TRACKED_ATTRIBUTES[i]);\n if (!attribute)\n continue;\n switch (attribute.name) {\n case TRACKED_ATTRIBUTES[0]:\n this.loading = attribute.value !== \"false\";\n break;\n case TRACKED_ATTRIBUTES[1]:\n this.disabled = attribute.value !== \"false\";\n break;\n case TRACKED_ATTRIBUTES[2]:\n this.fullWidth = attribute.value !== \"false\";\n break;\n case TRACKED_ATTRIBUTES[3]:\n this.iconPlacement = attribute.value;\n break;\n case TRACKED_ATTRIBUTES[4]:\n this.variant = attribute.value;\n break;\n case TRACKED_ATTRIBUTES[5]:\n this.size = attribute.value;\n break;\n case TRACKED_ATTRIBUTES[6]:\n this.theme = attribute.value;\n break;\n case TRACKED_ATTRIBUTES[7]:\n this.monochrome = attribute.value !== \"false\";\n break;\n }\n }\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([\n {\n prop: this.variant === \"icon\" ? this.accessibleLabel : this.label,\n propName: this.variant === \"icon\" ? \"accessible-label\" : \"label\",\n },\n ], \"Toggle button\");\n }\n handleHostClick(e) {\n if (this.disabled) {\n e.stopImmediatePropagation();\n }\n else if (!this.loading) {\n this.checked = !this.checked;\n }\n }\n render() {\n const { accessibleLabel, checked, disabled, fullWidth, iconPlacement, monochrome, label, loading, size, theme, tooltipPlacement, variant, } = this;\n const iconVariant = variant === \"icon\";\n return (h(Host, { key: '64acdb10437030311b26805c7a5b4fb4e53a7641', class: {\n \"ic-toggle-button-checked\": checked,\n \"ic-toggle-button-disabled\": disabled,\n \"ic-toggle-button-icon\": iconVariant,\n \"ic-toggle-button-loading\": loading,\n \"ic-toggle-button-monochrome\": monochrome,\n \"ic-toggle-button-full-width\": fullWidth,\n [`ic-toggle-button-${size}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }, onFocus: this.handleFocus }, h(\"ic-button\", { key: '7ec9db00accaa2e67f4797534f4ad2b304da6397', \"aria-pressed\": `${checked}`, variant: iconVariant ? \"icon\" : \"secondary\", onClick: this.handleClick, title: accessibleLabel, \"aria-label\": `${accessibleLabel ? accessibleLabel : label}, ${checked ? \"ticked\" : \"unticked\"}`, disabled: disabled, size: size, fullWidth: fullWidth, loading: loading, tooltipPlacement: tooltipPlacement }, !iconVariant && label, h(\"slot\", { key: 'e84bac663f0dababe84c49180fbeabaaff23c24d' }), isSlotUsed(this.el, \"icon\") && (h(\"slot\", { key: 'ee8b32317edb8d9f0dfcbdb0daa106a53bcf26d4', name: \"icon\", slot: `${iconPlacement}-icon` })), isSlotUsed(this.el, \"badge\") && (h(\"slot\", { key: 'baa79552fb587d8f1167874dc55f47bbf9cf711b', name: \"badge\", slot: \"badge\" })))));\n }\n static get is() { return \"ic-toggle-button\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-toggle-button.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-toggle-button.css\"]\n };\n }\n static get properties() {\n return {\n \"accessibleLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The accessible label that will be applied to the toggle button. This is required for the icon variant of toggle buttons.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"accessible-label\",\n \"reflect\": false\n },\n \"checked\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button will be in a checked state.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"checked\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button will be in disabled state.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"fullWidth\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button will fill the width of the container.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"full-width\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"iconPlacement\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcIconPlacementOptions\",\n \"resolved\": \"\\\"left\\\" | \\\"right\\\" | \\\"top\\\"\",\n \"references\": {\n \"IcIconPlacementOptions\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcIconPlacementOptions\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The placement of the icon in relation to the toggle button label.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"icon-placement\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"left\\\"\"\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label to display in the toggle button. This is required for the default variant of toggle buttons.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"loading\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button will be in loading state.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"loading\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"monochrome\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button will display as black in the light theme, and white in dark theme.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"monochrome\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"large\\\" | \\\"medium\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the toggle button to be displayed.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"medium\\\"\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": true,\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 \"tooltipPlacement\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcButtonTooltipPlacement\",\n \"resolved\": \"\\\"bottom\\\" | \\\"left\\\" | \\\"right\\\" | \\\"top\\\"\",\n \"references\": {\n \"IcButtonTooltipPlacement\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcButtonTooltipPlacement\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The position of the tooltip in relation to the toggle button.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"tooltip-placement\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"bottom\\\"\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"\\\"default\\\" | \\\"icon\\\"\",\n \"resolved\": \"\\\"default\\\" | \\\"icon\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The variant of the toggle button.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"variant\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"default\\\"\"\n }\n };\n }\n static get events() {\n return [{\n \"method\": \"icToggleChecked\",\n \"name\": \"icToggleChecked\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the user clicks a toggle button.\"\n },\n \"complexType\": {\n \"original\": \"{\\n checked: boolean;\\n }\",\n \"resolved\": \"{ checked: boolean; }\",\n \"references\": {}\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"disabled\",\n \"methodName\": \"watchDisabledHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"click\",\n \"method\": \"handleHostClick\",\n \"target\": undefined,\n \"capture\": true,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-toggle-button.js.map\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icNavigationItemCss","IcNavigationItemStyle0","NavigationItem","constructor","hostRef","this","isInitialRender","hostMutationObserver","ANIMATION_DURATION","parseInt","getCssProperty","ARIA_LABEL_STRING","isInSideNav","deviceSize","DEVICE_SIZES","XL","focusStyle","getBrandForegroundAppearance","inTopNavSideMenu","isSideNavMobile","isTopNavChild","sideNavExpanded","ariaLabel","collapsedIconLabel","displayNavigationTooltip","download","expandable","href","selected","theme","displayDefaultNavigationItem","label","hreflang","target","rel","referrerpolicy","variant","ChevronIconComponent","h","class","svg","innerHTML","chevronIcon","slottedBadgeEl","el","querySelector","BadgeComponent","name","IconComponent","referrerPolicy","ref","itemEl","part","OpenInNew","tabindex","topNavResizedHandler","detail","_a","size","parentEl","customMobileBreakpoint","L","sideNavExpandHandler","sideNavMobile","sideNavToggleTooltip","handleBlur","relatedTarget","tagName","childBlur","emit","handleClick","event","type","key","navItemClicked","hostMutationCallback","mutationList","forceComponentUpdate","forEach","attributeName","attribute","getAttribute","forceUpdate","generateTooltipLabel","navigationSlot","textContent","children","renderNavigationItemContent","showTooltip","tooltip","shadowRoot","collapsedClass","timer","displayTooltip","setTimeout","classList","add","clearTimeout","remove","navigationTypeChangeHandler","navigationType","disconnectedCallback","_b","_c","removeEventListener","disconnect","componentWillLoad","_d","_e","_f","navType","parent","getNavItemParentDetails","getCurrentDeviceSize","contains","addEventListener","parentElement","trim","hasAttribute","componentDidLoad","MutationObserver","observe","attributes","componentDidUpdate","brandChangeHandler","mode","setFocus","focus","render","isTopNavChildDesktop","Host","onBlur","onClick","onKeyDown","role","placement","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-navigation-item/ic-navigation-item.css?tag=ic-navigation-item&encapsulation=shadow","../web-components/dist/collection/components/ic-navigation-item/ic-navigation-item.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-navigation-item: z-index of navigation item\n */\n\n:host {\n display: block;\n\n --navigation-link-colour: var(--ic-brand-text-color);\n}\n\n:host(:focus-within) {\n z-index: var(--ic-z-index-navigation-item);\n}\n\n/* chevron */\nsvg {\n width: var(--ic-space-xl);\n fill: var(--ic-brand-text-color);\n}\n\n.svg {\n margin-left: auto;\n}\n\n.chevron-container svg,\n.chevron-container .svg {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n.chevron-container {\n flex-grow: 1;\n}\n\n:host(.expandable.navigation-item) .link,\n:host(.expandable.navigation-item) ::slotted(a) {\n padding-right: 0;\n}\n\n:host(.navigation-item) .link,\n:host(.navigation-item) ::slotted(a) {\n height: calc(100% - var(--ic-space-xxs));\n width: -moz-fit-content;\n width: fit-content;\n color: var(--navigation-link-colour);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 var(--ic-space-md) var(--ic-space-xxs);\n text-decoration: none;\n transition: var(--ic-easing-transition-fast);\n position: relative;\n white-space: nowrap;\n}\n\n:host(.navigation-item) ::slotted(a) {\n height: 100%;\n font: var(--ic-font-label) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt025) !important;\n padding: 0 var(--ic-space-md) !important;\n}\n\n:host(.navigation-item-selected) .link::after,\n:host(.navigation-item-selected) ::slotted(a.active)::after,\n:host(.navigation-item-top-nav) ::slotted(a.active)::after {\n content: \"\";\n height: 0.25rem;\n width: 100%;\n position: absolute;\n bottom: 0;\n background-color: var(--ic-top-navigation-theme);\n}\n\n:host(.navigation-item-selected.navigation-item-page-header)\n ::slotted(a.active)::after,\n:host(.navigation-item-selected.navigation-item-page-header) .link::after,\n:host(.navigation-item.navigation-item-page-header) ::slotted(a.active)::after,\n:host(.navigation-item-top-nav-child) ::slotted(a.active)::after {\n content: none;\n}\n\n:host(.navigation-item-side-menu-selected) .link,\n:host(.navigation-item-side-menu) ::slotted(a.active),\n:host(.navigation-item-top-nav-child) ::slotted(a.active) {\n box-shadow: none;\n}\n\n:host(.navigation-item) .link:hover:not(:focus) {\n background-color: var(--ic-brand-hover);\n cursor: pointer;\n}\n\n:host(.navigation-item:not(.navigation-item-page-header, .navigation-item-side-menu, .navigation-item-top-nav-child))\n ::slotted(a:hover:not(:focus)),\n:host(.navigation-item-side-nav.navigation-item) .link:hover:not(:focus) {\n background-color: var(--ic-brand-hover) !important;\n}\n\n:host(.navigation-item:not(.navigation-item-top-nav-child, .navigation-item-side-menu, .navigation-item-top-nav-child-selected\n .navigation-item-side-menu-selected))\n .focus-indicator:focus-within {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n}\n\n:host(.navigation-item) .link:focus,\n:host(.navigation-item) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n outline-offset: calc(-1 * (var(--ic-space-xxxs) + var(--ic-space-1px) / 2));\n}\n\n:host(.navigation-item-selected) .link:focus,\n:host(.navigation-item) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n outline-offset: calc(-1 * (var(--ic-space-xxxs) + var(--ic-space-1px) / 2));\n}\n\n:host(.navigation-item) .link:active:not(:focus),\n:host(.navigation-item) ::slotted(a:active:not(:focus)) {\n background-color: var(--ic-brand-active);\n}\n\n:host(.navigation-item-side-menu) .link,\n:host(.navigation-item-side-menu) ::slotted(a) {\n min-height: 2.5rem;\n height: auto;\n width: 100%;\n box-sizing: border-box;\n color: var(--ic-top-navigation-nav-item);\n\n --ic-typography-color: var(--ic-top-navigation-nav-item);\n\n display: flex;\n align-items: center;\n justify-content: flex-start;\n text-decoration: none;\n text-wrap: wrap;\n white-space: normal;\n transition: box-shadow var(--ic-transition-duration-fast),\n border-radius var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(svg),\n:host(.navigation-item-side-menu) ::slotted(svg),\n:host(.navigation-item-page-header) ::slotted(svg) {\n fill: var(--ic-color-text-primary);\n}\n\n:host(.navigation-item-side-menu) ::slotted(a) {\n font: var(--ic-font-body) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt005) !important;\n transition: box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast);\n}\n\n:host(.navigation-item-side-menu) .link:hover:not(:focus) {\n background-color: var(--ic-top-navigation-nav-item-hover);\n}\n\n:host(.navigation-item-side-menu) ::slotted(a:hover:not(:focus)) {\n background-color: var(--ic-top-navigation-nav-item-hover) !important;\n}\n\n:host(.navigation-item-side-menu) .focus-indicator:focus-within {\n box-shadow: none;\n}\n\n:host(.navigation-item-side-menu) .link:focus,\n:host(.navigation-item-side-menu) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus-inset) !important;\n width: auto;\n border-radius: var(--ic-border-radius-inset) !important;\n}\n\n:host(.navigation-item-side-menu-selected) .link,\n:host(.navigation-item-side-menu-selected) ::slotted(a) {\n transition: box-shadow var(--ic-easing-transition-slow),\n background-color var(--ic-easing-transition-slow);\n}\n\n:host(.navigation-item-side-menu-selected) .link:focus,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus),\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus) {\n margin-left: var(--ic-space-xs) !important;\n padding-left: var(--ic-space-xs) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link,\n:host(.navigation-item-top-nav-child) ::slotted(a) {\n height: 2.5rem;\n width: calc(100% - var(--ic-space-xl));\n min-width: 9.063rem;\n color: var(--ic-top-navigation-nav-item);\n display: flex;\n align-items: center;\n justify-content: flex-start;\n padding: 0 var(--ic-space-md) !important;\n text-decoration: none;\n position: relative;\n transition: box-shadow var(--ic-transition-duration-fast),\n border-radius var(--ic-transition-duration-slow);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a) {\n font: var(--ic-font-body) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt005) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link:hover:not(:focus),\n:host(.navigation-item-top-nav-child) ::slotted(a:hover:not(:focus)) {\n background-color: var(--ic-top-navigation-nav-item-hover) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link:focus,\n:host(.navigation-item-top-nav-child) ::slotted(a:focus) {\n z-index: 1;\n outline: var(--ic-hc-focus-outline);\n border-radius: var(--ic-border-radius-inset);\n box-shadow: var(--ic-border-focus-inset);\n transition: border-radius 0s, box-shadow var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n}\n\n:host(.navigation-item-side-menu) .link:active:not(:focus) {\n background-color: var(--ic-top-navigation-nav-item-pressed);\n}\n\n:host(.navigation-item-top-nav-child) .link:active:not(:focus),\n:host(.navigation-item-top-nav-child) ::slotted(a:active:not(:focus)) {\n outline: var(--ic-hc-focus-outline);\n background-color: var(--ic-top-navigation-nav-item-pressed);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a:active:not(:focus)),\n:host(.navigation-item-side-menu) ::slotted(a:active:not(:focus)) {\n background-color: var(--ic-top-navigation-nav-item-pressed) !important;\n}\n\n:host(.navigation-item-side-menu-selected) *,\n:host(.navigation-item-top-nav-child-selected) *,\n:host(.navigation-item-side-menu) ::slotted(a.active),\n:host(.navigation-item-top-nav-child) ::slotted(a.active) {\n font-weight: 700 !important;\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a.active)::before,\n:host(.navigation-item-top-nav-child-selected) .link::before,\n:host(.navigation-item-side-menu-selected) .link::before,\n:host(.navigation-item-side-menu) ::slotted(a.active)::before,\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before {\n content: \"\";\n position: absolute;\n left: 0;\n width: var(--ic-space-xs);\n height: inherit;\n min-height: 2.5rem;\n background-color: var(--ic-top-navigation-nav-item-banner);\n transition: left 0s;\n}\n\n:host(.navigation-item-side-menu-selected) .link::before,\n:host(.navigation-item-side-menu-selected) .link:focus::before {\n margin-top: var(--ic-space-xxs);\n}\n\n:host(.navigation-item-top-nav-child-selected) .link:focus {\n margin-left: var(--ic-space-xs);\n margin-right: calc(-1 * var(--ic-space-xs));\n padding-left: var(--ic-space-xs) !important;\n}\n\n:host(.navigation-item-top-nav-child-selected) .link:focus::before {\n left: calc(-1 * var(--ic-space-xs));\n z-index: 1;\n}\n\n:host(.navigation-item-side-menu-selected) .link::before,\n:host(.navigation-item-side-menu) ::slotted(a.active)::before,\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before {\n z-index: 1;\n}\n\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before,\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus)::before {\n left: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.navigation-item-side-menu-selected) .link::after {\n display: none;\n}\n\n:host(.navigation-item-side-nav-collapsed) .link {\n height: 100%;\n}\n\n:host(.navigation-item-side-nav-collapsed) ::slotted(svg),\n:host(.navigation-item-side-nav-collapsed-with-label) ::slotted(svg) {\n margin: auto;\n pointer-events: none;\n}\n\n:host(.navigation-item-side-nav-collapsed) .icon,\n:host(.navigation-item-side-nav-collapsed-with-label) .icon,\n:host(.navigation-item-side-nav-collapsed-with-label) ic-typography {\n align-items: center;\n padding: 0;\n margin: auto 0;\n width: -moz-fit-content;\n width: fit-content;\n pointer-events: none;\n}\n\n:host(.navigation-item-side-nav-collapsed-with-label) ic-typography {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n text-align: center;\n}\n\n:host(.navigation-item-side-nav-collapsed-with-label) .link,\n:host(.navigation-item-side-nav-collapsed-with-label) ::slotted(a) {\n display: flex;\n flex-direction: column;\n height: -moz-fit-content;\n height: fit-content;\n padding: var(--ic-space-xs) !important;\n gap: var(--ic-space-xxs);\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n .link,\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n height: auto !important;\n gap: 0;\n width: auto;\n padding: var(--ic-space-xs) !important;\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n display: block;\n text-align: center;\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n .link\n ic-typography {\n opacity: 1;\n min-width: -moz-min-content;\n min-width: min-content;\n}\n\n:host(.navigation-item-side-nav-collapsed) svg,\n:host(.navigation-item-side-nav-collapsed-with-label) svg {\n display: none;\n}\n\n::slotted(svg) {\n fill: var(--ic-brand-text-color);\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n}\n\n.icon {\n height: 1.5rem;\n width: var(--ic-space-xxl);\n margin-left: calc(-1 * var(--ic-space-md));\n flex: 0 1 0%;\n position: relative;\n}\n\n.icon > ::slotted(*) {\n margin-left: var(--ic-space-md) !important;\n margin-right: var(--ic-space-xs);\n}\n\n.inline-badge {\n margin-left: var(--ic-space-xs);\n}\n\n.badge {\n margin-left: 0;\n}\n\n:host(.navigation-item-side-nav-collapsed) .icon > ::slotted(*) {\n margin: auto !important;\n}\n\n:host(.navigation-item-side-nav) .icon > ::slotted(*) {\n margin-right: 0;\n}\n\n:host(.navigation-item-side-nav) .link,\n:host(.navigation-item-side-nav) ::slotted(a) {\n height: var(--navigation-item-height, 4rem);\n min-height: var(--navigation-item-min-height);\n width: var(--navigation-item-width, auto);\n justify-content: var(--navigation-item-justify-content);\n display: flex;\n gap: var(--ic-space-xs);\n box-sizing: border-box;\n color: var(--navigation-item-child-color) !important;\n text-decoration: none !important;\n white-space: nowrap;\n padding: 0 var(--ic-space-md);\n text-wrap: wrap;\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) ::slotted(a) {\n height: var(--navigation-item-child-height);\n width: var(--navigation-group-width);\n color: var(--navigation-item-child-color) !important;\n display: flex;\n gap: 0.625rem;\n box-sizing: border-box;\n min-width: 0;\n transition: box-shadow var(--ic-easing-transition-fast);\n text-decoration: none !important;\n white-space: nowrap;\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link:focus,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus-dark);\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-menu) .link:active {\n background-color: var(--navigation-item-child-active);\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link:active,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n ::slotted(a:active) {\n background-color: var(--navigation-item-child-active);\n}\n\n:host(.navigation-item-side-nav) a.link ic-typography,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n a.link\n ic-typography,\n:host(.navigation-item-side-nav) div.link ic-typography,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n div.link\n ic-typography,\n.navigation-item-side-nav-slotted-text {\n opacity: var(--navigation-item-label-opacity);\n transition: opacity var(--ic-easing-transition-slow);\n white-space: wrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link,\n:host(.navigation-item-side-nav.navigation-item) ::slotted(a.active) {\n box-shadow: inset 0.313rem 0 0 var(--ic-brand-text-color);\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link::before,\n:host(.navigation-item-side-nav) ::slotted(a.active)::before {\n content: \"\";\n display: block;\n position: absolute;\n inset: 0 0 0 0.313rem;\n border-radius: 0.688rem !important;\n transition: var(--ic-easing-transition-slow);\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link:focus::before,\n:host(.navigation-item-side-nav) ::slotted(a.active:focus)::before {\n box-shadow: var(--ic-border-focus-inset);\n}\n\n:host(:not(.navigation-item-side-nav-collapsed).navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n .link {\n opacity: var(--navigation-item-label-opacity);\n height: auto;\n}\n\n:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label)\n .link,\n:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n min-width: var(--navigation-group-item-min-width);\n padding: var(--ic-space-xs) !important;\n height: auto;\n gap: 0;\n}\n\n:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n display: block;\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link::after,\n:host(.navigation-item-side-nav) ::slotted(a.active)::after {\n display: none;\n}\n\n:host(.navigation-item-side-nav.navigation-item) .link:focus,\n:host(.navigation-item-side-nav.navigation-item) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background-color: transparent;\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link:focus,\n:host(.navigation-item-side-nav) ::slotted(a.active:focus) {\n margin: 0 auto;\n box-shadow: inset 0.313rem 0 0 var(--ic-brand-text-color);\n border-radius: 0;\n}\n\n:host(.navigation-item-page-header).link,\n:host(.navigation-item-page-header) a,\n:host(.navigation-item-page-header) ::slotted(a) {\n height: 2.5rem !important;\n color: var(--ic-color-text-primary) !important;\n transition: all var(--ic-easing-transition-fast) !important;\n box-shadow: rgba(23 89 188 / 0%) !important;\n}\n\n:host(.navigation-item-page-header.navigation-item-selected) .link::after,\n:host(.navigation-item-page-header) ::slotted(a.active)::after {\n content: \" \" !important;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: var(--ic-space-xxs);\n background-color: var(--ic-action-default) !important;\n}\n\n:host(.navigation-item-page-header) .link:hover,\n:host(.navigation-item-page-header) ::slotted(.link:hover),\n:host(.navigation-item-page-header) ::slotted(a:hover),\n:host(.navigation-item-page-header) .link:hover:not(:focus) {\n background-color: var(--ic-action-default-bg-hover) !important;\n cursor: pointer;\n}\n\n:host(.navigation-item-page-header) .link:focus,\n:host(.navigation-item-page-header) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus);\n}\n\n:host(.navigation-item-page-header) .link:active,\n:host(.navigation-item-page-header) ::slotted(a:active) {\n background-color: var(--ic-action-default-bg-pressed) !important;\n}\n\n:host(.navigation-item-page-header.navigation-item-selected) .link:focus::after,\n:host(.navigation-item-page-header) ::slotted(a.active:focus)::after {\n border-bottom-left-radius: var(--ic-border-radius);\n border-bottom-right-radius: var(--ic-border-radius);\n}\n\n:host(.navigation-item-page-header.navigation-item-selected.with-transition)\n .link,\n:host(.navigation-item-page-header.navigation-item-selected.with-transition)\n ::slotted(a.active) {\n transition: all var(--ic-easing-transition-fast),\n border-color var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-page-header) ::slotted(a.active)::before,\n:host(.navigation-item-page-header) ::slotted(a.active:focus)::before,\n:host(.navigation-item-page-header.navigation-item-selected)\n .link:focus::before {\n display: none;\n}\n\n.open-in-new-icon {\n flex: 1;\n}\n\n.open-in-new-icon svg {\n margin-top: var(--ic-space-xxs);\n padding-left: var(--ic-space-xs);\n}\n\n:host(.navigation-item-side-nav) .open-in-new-icon {\n margin-left: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.navigation-item-top-nav) .open-in-new-icon svg,\n:host(.navigation-item-page-header) .open-in-new-icon svg,\n:host(.navigation-item-side-nav) .open-in-new-icon svg {\n height: 0.875rem;\n width: 0.875rem;\n}\n\n:host(.navigation-item-side-menu) .open-in-new-icon svg,\n:host(.navigation-item-top-nav-child) .open-in-new-icon svg {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n}\n\n:host(.navigation-item-page-header) .open-in-new-icon svg,\n:host(.navigation-item-top-nav-child) .open-in-new-icon svg,\n:host(.navigation-item-side-menu) .open-in-new-icon svg {\n fill: var(--ic-color-text-primary);\n}\n\n@media (forced-colors: active) {\n .open-in-new-icon svg {\n fill: currentcolor;\n }\n}\n","import { forceUpdate, h, Host, } from \"@stencil/core\";\nimport { DEVICE_SIZES, getCssProperty, getCurrentDeviceSize, getBrandForegroundAppearance, getNavItemParentDetails, } from \"../../utils/helpers\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport OpenInNew from \"../../assets/OpenInNew.svg\";\n/**\n * @part link - The `<a>` within ic-navigation-item\n * @slot badge - Badge component overlaying the top right of the icon.\n * @slot icon - Content will be displayed to the left of the label for expanded navigation items, and in replacement of the label for collapsed navigation items.\n */\nexport class NavigationItem {\n constructor() {\n this.isInitialRender = true;\n this.hostMutationObserver = null;\n this.ANIMATION_DURATION = parseInt(getCssProperty(\"--ic-transition-duration-slow\")) || 0;\n this.ARIA_LABEL_STRING = \"aria-label\";\n this.isInSideNav = false;\n this.deviceSize = DEVICE_SIZES.XL;\n this.focusStyle = getBrandForegroundAppearance();\n this.inTopNavSideMenu = false;\n this.isSideNavMobile = false;\n this.isTopNavChild = false;\n this.sideNavExpanded = false;\n this.ariaLabel = \"\";\n /**\n * @internal If `true`, the icon and label will be displayed when side navigation is collapsed.\n */\n this.collapsedIconLabel = false;\n /**\n * @internal If `true`, the navigation item will be displayed within a tooltip.\n */\n this.displayNavigationTooltip = false;\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n this.download = false;\n /**\n * @internal If `true`, the navigation item will be expandable.\n */\n this.expandable = false;\n /**\n * The destination of the navigation item.\n */\n this.href = \"\";\n /**\n * If `true`, the navigation item will be set in a selected state.\n */\n this.selected = 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 this.displayDefaultNavigationItem = (href, label, hreflang, target, rel, referrerpolicy, download) => {\n const variant = this.isTopNavChild || this.inTopNavSideMenu ? \"body\" : \"label\";\n const ChevronIconComponent = this.expandable && (h(\"div\", { class: { svg: true }, innerHTML: chevronIcon }));\n const slottedBadgeEl = this.el.querySelector('[slot=\"badge\"]');\n const BadgeComponent = slottedBadgeEl && (h(\"div\", { class: \"inline-badge\" }, h(\"slot\", { name: \"badge\" })));\n const IconComponent = this.el.querySelector('[slot=\"icon\"]') && (h(\"div\", { class: \"icon\" }, h(\"slot\", { name: \"icon\" }), this.isInSideNav && BadgeComponent));\n return href !== \"\" ? (h(\"a\", { href: href, target: target, rel: rel, hreflang: hreflang, referrerPolicy: referrerpolicy, download: download !== false ? download : null, class: \"link\", ref: (el) => (this.itemEl = el), part: \"link\", \"aria-label\": this.ariaLabel ? this.ariaLabel : null }, IconComponent, h(\"ic-typography\", { variant: variant }, label), target === \"_blank\" && (h(\"span\", { class: \"open-in-new-icon\", innerHTML: OpenInNew })), BadgeComponent, h(\"div\", { class: \"chevron-container\" }, ChevronIconComponent))) : (h(\"div\", { tabindex: \"0\", class: \"link\", ref: (el) => (this.itemEl = el) }, IconComponent, h(\"ic-typography\", { variant: variant }, label), ChevronIconComponent, BadgeComponent));\n };\n this.topNavResizedHandler = ({ detail, }) => {\n var _a;\n const { size } = detail;\n if (size !== this.deviceSize) {\n this.deviceSize = size;\n this.inTopNavSideMenu =\n size <=\n (((_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.customMobileBreakpoint) || DEVICE_SIZES.L);\n }\n };\n this.sideNavExpandHandler = ({ detail, }) => {\n const { sideNavExpanded, sideNavMobile } = detail;\n this.sideNavExpanded = sideNavExpanded;\n this.isSideNavMobile = sideNavMobile;\n this.sideNavToggleTooltip(!sideNavExpanded && !sideNavMobile);\n };\n this.handleBlur = ({ relatedTarget }) => {\n if (relatedTarget === null ||\n relatedTarget.tagName !== \"IC-NAVIGATION-ITEM\") {\n this.childBlur.emit();\n }\n };\n this.handleClick = (event) => {\n if (event.type === \"click\" ||\n (event.type === \"keydown\" &&\n (event.key === \"Enter\" ||\n event.key === \" \"))) {\n this.navItemClicked.emit();\n }\n };\n // triggered when attributes of host element change\n this.hostMutationCallback = (mutationList) => {\n let forceComponentUpdate = false;\n mutationList.forEach(({ attributeName }) => {\n if (attributeName) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute && attributeName === this.ARIA_LABEL_STRING) {\n this.ariaLabel = attribute;\n forceComponentUpdate = true;\n }\n }\n });\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n this.generateTooltipLabel = () => {\n var _a;\n if (this.label) {\n return this.label;\n }\n if (this.navigationSlot) {\n return this.navigationSlot.textContent || \"\";\n }\n return ((_a = this.el.children[0]) === null || _a === void 0 ? void 0 : _a.textContent) || \"\";\n };\n this.renderNavigationItemContent = () => {\n if (!this.label && !this.navigationSlot)\n return h(\"slot\", null);\n return this.label ? (this.displayDefaultNavigationItem(this.href, this.label, this.hreflang, this.target, this.rel, this.referrerpolicy, this.download)) : (h(\"slot\", { name: \"navigation-item\" }));\n };\n // Displays tooltip only once the collapsing animation is finished\n this.sideNavToggleTooltip = (showTooltip) => {\n var _a;\n const tooltip = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\"ic-tooltip\");\n const collapsedClass = \"tooltip-navigation-item-side-nav-collapsed\";\n let timer;\n if (!tooltip)\n return;\n if (showTooltip) {\n tooltip.displayTooltip(false); // Hides tooltip for when mouse is hovering over icon\n timer = setTimeout(() => {\n tooltip.classList.add(collapsedClass);\n }, this.ANIMATION_DURATION);\n }\n else {\n clearTimeout(timer);\n tooltip.classList.remove(collapsedClass);\n }\n };\n }\n navigationTypeChangeHandler() {\n this.isInSideNav = this.navigationType === \"side\";\n }\n disconnectedCallback() {\n var _a, _b, _c;\n if (this.isInSideNav) {\n (_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"icSideNavExpanded\", this.sideNavExpandHandler);\n }\n else if (this.navigationType === \"top\") {\n (_b = this.parentEl) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"icTopNavResized\", this.topNavResizedHandler);\n }\n (_c = this.hostMutationObserver) === null || _c === void 0 ? void 0 : _c.disconnect();\n }\n componentWillLoad() {\n var _a, _b, _c, _d, _e, _f;\n const { navType, parent } = getNavItemParentDetails(this.el);\n this.navigationType = navType;\n this.isInSideNav = this.navigationType === \"side\";\n this.parentEl = parent;\n this.deviceSize = getCurrentDeviceSize();\n this.sideNavExpanded =\n ((_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.classList.contains(\"sm-expanded\")) ||\n ((_b = this.parentEl) === null || _b === void 0 ? void 0 : _b.classList.contains(\"xs-menu-open\")) ||\n false;\n if (this.isInSideNav) {\n (_c = this.parentEl) === null || _c === void 0 ? void 0 : _c.addEventListener(\"icSideNavExpanded\", this.sideNavExpandHandler);\n }\n else if (this.navigationType === \"top\") {\n (_d = this.parentEl) === null || _d === void 0 ? void 0 : _d.addEventListener(\"icTopNavResized\", this.topNavResizedHandler);\n if (((_e = this.el.parentElement) === null || _e === void 0 ? void 0 : _e.tagName) === \"IC-NAVIGATION-GROUP\")\n this.isTopNavChild = true;\n if (this.deviceSize <=\n this.parentEl.customMobileBreakpoint)\n this.inTopNavSideMenu = true;\n }\n this.navigationSlot = this.el.querySelector('[slot=\"navigation-item\"]');\n if (this.navigationSlot) {\n this.navigationSlot.ariaLabel =\n ((_f = this.navigationSlot.textContent) === null || _f === void 0 ? void 0 : _f.trim()) || null;\n }\n if (this.el.hasAttribute(this.ARIA_LABEL_STRING)) {\n this.ariaLabel = this.el.getAttribute(this.ARIA_LABEL_STRING) || \"\";\n }\n }\n componentDidLoad() {\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n });\n }\n componentDidUpdate() {\n this.isInitialRender = false;\n }\n brandChangeHandler({ detail }) {\n this.focusStyle = detail.mode;\n }\n /**\n * Sets focus on the nav item.\n */\n async setFocus() {\n var _a;\n this.itemEl ? this.itemEl.focus() : (_a = this.el.querySelector(\"a\")) === null || _a === void 0 ? void 0 : _a.focus();\n }\n render() {\n const { inTopNavSideMenu, isTopNavChild, selected, navigationType, focusStyle, isInitialRender, sideNavExpanded, displayNavigationTooltip, collapsedIconLabel, isSideNavMobile, expandable, isInSideNav, theme, } = this;\n const isTopNavChildDesktop = isTopNavChild && !inTopNavSideMenu;\n return (h(Host, { key: 'fbc3ed6180f0dcf2430f28de0a8c94f397269054', class: {\n \"navigation-item\": true,\n \"navigation-item-selected\": !isTopNavChild && selected,\n \"navigation-item-top-nav\": !inTopNavSideMenu && navigationType === \"top\",\n \"navigation-item-top-nav-child\": isTopNavChildDesktop,\n \"navigation-item-top-nav-child-selected\": isTopNavChildDesktop && selected,\n \"navigation-item-side-menu\": inTopNavSideMenu,\n \"navigation-item-side-menu-selected\": inTopNavSideMenu && selected,\n \"navigation-item-page-header\": navigationType === \"page-header\",\n \"navigation-item-side-nav\": isInSideNav,\n \"navigation-item-side-nav-collapsed\": (!sideNavExpanded || displayNavigationTooltip) && isInSideNav,\n \"navigation-item-side-nav-collapsed-with-label\": !sideNavExpanded &&\n isInSideNav &&\n collapsedIconLabel &&\n !isSideNavMobile,\n \"with-transition\": !isInitialRender,\n expandable,\n [focusStyle]: isTopNavChild ? isInSideNav : !inTopNavSideMenu,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }, onBlur: isTopNavChildDesktop ? this.handleBlur : null, onClick: this.handleClick, onKeyDown: this.handleClick, \"aria-current\": selected ? \"page\" : null, role: \"listitem\" }, h(\"ic-tooltip\", { key: 'd308ed029016a9d3c6c0d2400880b74eaa1e0b2e', label: this.generateTooltipLabel(), target: \"navigation-item\", placement: \"right\", class: {\n \"tooltip-navigation-item\": true,\n \"tooltip-navigation-item-side-nav-collapsed\": displayNavigationTooltip && isInSideNav,\n \"tooltip-long-label-navigation-item-side-nav-expanded\": this.el.hasAttribute(\"[display-navigation-tooltip = 'true']\"),\n } }, this.renderNavigationItemContent())));\n }\n static get is() { return \"ic-navigation-item\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-navigation-item.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-navigation-item.css\"]\n };\n }\n static get properties() {\n return {\n \"collapsedIconLabel\": {\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 \"name\": \"internal\",\n \"text\": \"If `true`, the icon and label will be displayed when side navigation is collapsed.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"collapsed-icon-label\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"displayNavigationTooltip\": {\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 \"name\": \"internal\",\n \"text\": \"If `true`, the navigation item will be displayed within a tooltip.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"display-navigation-tooltip\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"download\": {\n \"type\": \"any\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | boolean\",\n \"resolved\": \"boolean | string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the user can save the linked URL instead of navigating to it.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"download\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"expandable\": {\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 \"name\": \"internal\",\n \"text\": \"If `true`, the navigation item will be expandable.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"expandable\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"href\": {\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 destination of the navigation item.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"href\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"hreflang\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The human language of the linked URL.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"hreflang\",\n \"reflect\": false\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label of the navigation item.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"rel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The relationship of the linked URL as space-separated link types.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"rel\",\n \"reflect\": false\n },\n \"referrerpolicy\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ReferrerPolicy\",\n \"resolved\": \"\\\"\\\" | \\\"no-referrer\\\" | \\\"no-referrer-when-downgrade\\\" | \\\"origin\\\" | \\\"origin-when-cross-origin\\\" | \\\"same-origin\\\" | \\\"strict-origin\\\" | \\\"strict-origin-when-cross-origin\\\" | \\\"unsafe-url\\\" | undefined\",\n \"references\": {\n \"ReferrerPolicy\": {\n \"location\": \"global\",\n \"id\": \"global::ReferrerPolicy\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"How much of the referrer to send when following the link.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"referrerpolicy\",\n \"reflect\": false\n },\n \"selected\": {\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 navigation item will be set in a selected state.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"selected\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"target\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"target\",\n \"reflect\": false\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"deviceSize\": {},\n \"focusStyle\": {},\n \"inTopNavSideMenu\": {},\n \"isSideNavMobile\": {},\n \"isTopNavChild\": {},\n \"navigationType\": {},\n \"parentEl\": {},\n \"sideNavExpanded\": {},\n \"ariaLabel\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"childBlur\",\n \"name\": \"childBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- Emitted when item loses focus.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"navItemClicked\",\n \"name\": \"navItemClicked\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- Emitted when navigation item clicked.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get methods() {\n return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on the nav item.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"navigationType\",\n \"methodName\": \"navigationTypeChangeHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"brandChange\",\n \"method\": \"brandChangeHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-navigation-item.js.map\n"],"mappings":"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","ignoreList":[]}
|