@ukic/web-components 3.0.0-alpha.13 → 3.0.0-alpha.14

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.
Files changed (158) hide show
  1. package/dist/cjs/ic-button_3.cjs.entry.js +59 -1
  2. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  3. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  4. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-navigation-group.cjs.entry.js +6 -3
  7. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-navigation-menu.cjs.entry.js +36 -22
  9. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-popover-menu.cjs.entry.js +5 -4
  11. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-select.cjs.entry.js +13 -10
  13. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-side-navigation.cjs.entry.js +7 -4
  15. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-skip-link.cjs.entry.js +10 -9
  17. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  19. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-step.cjs.entry.js +13 -12
  21. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-toast.cjs.entry.js +3 -3
  23. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  24. package/dist/collection/components/ic-button/ic-button.css +6 -0
  25. package/dist/collection/components/ic-button/ic-button.js +58 -0
  26. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  27. package/dist/collection/components/ic-button/ic-button.stories.js +179 -0
  28. package/dist/collection/components/ic-menu-item/ic-menu-item.css +1 -0
  29. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +30 -4
  30. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  31. package/dist/collection/components/ic-navigation-group/ic-navigation-group.types.js.map +1 -1
  32. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +36 -22
  33. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  34. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +5 -4
  35. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  36. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +70 -1
  37. package/dist/collection/components/ic-select/ic-select.css +1 -0
  38. package/dist/collection/components/ic-select/ic-select.js +12 -9
  39. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  40. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +7 -4
  41. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  42. package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +12 -0
  43. package/dist/collection/components/ic-skip-link/ic-skip-link.css +22 -2
  44. package/dist/collection/components/ic-skip-link/ic-skip-link.js +13 -12
  45. package/dist/collection/components/ic-skip-link/ic-skip-link.js.map +1 -1
  46. package/dist/collection/components/ic-skip-link/ic-skip-link.stories.js +375 -31
  47. package/dist/collection/components/ic-status-tag/ic-status-tag.css +1 -1
  48. package/dist/collection/components/ic-step/ic-step.css +2 -2
  49. package/dist/collection/components/ic-step/ic-step.js +12 -11
  50. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  51. package/dist/collection/components/ic-stepper/ic-stepper.stories.js +5 -1
  52. package/dist/collection/components/ic-toast/ic-toast.js +3 -3
  53. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  54. package/dist/collection/components/ic-top-navigation/ic-top-navigation.stories.js +8 -19
  55. package/dist/components/helpers.js +1 -1
  56. package/dist/components/ic-button2.js +59 -1
  57. package/dist/components/ic-button2.js.map +1 -1
  58. package/dist/components/ic-menu-item2.js +1 -1
  59. package/dist/components/ic-menu-item2.js.map +1 -1
  60. package/dist/components/ic-navigation-group.js +6 -3
  61. package/dist/components/ic-navigation-group.js.map +1 -1
  62. package/dist/components/ic-navigation-menu2.js +37 -23
  63. package/dist/components/ic-navigation-menu2.js.map +1 -1
  64. package/dist/components/ic-popover-menu.js +5 -4
  65. package/dist/components/ic-popover-menu.js.map +1 -1
  66. package/dist/components/ic-radio-group.js.map +1 -1
  67. package/dist/components/ic-radio-option.js.map +1 -1
  68. package/dist/components/ic-search-bar.js.map +1 -1
  69. package/dist/components/ic-select.js +13 -10
  70. package/dist/components/ic-select.js.map +1 -1
  71. package/dist/components/ic-side-navigation.js +7 -4
  72. package/dist/components/ic-side-navigation.js.map +1 -1
  73. package/dist/components/ic-skeleton.js.map +1 -1
  74. package/dist/components/ic-skip-link.js +10 -9
  75. package/dist/components/ic-skip-link.js.map +1 -1
  76. package/dist/components/ic-status-tag.js +1 -1
  77. package/dist/components/ic-status-tag.js.map +1 -1
  78. package/dist/components/ic-step.js +13 -12
  79. package/dist/components/ic-step.js.map +1 -1
  80. package/dist/components/ic-tab-panel.js.map +1 -1
  81. package/dist/components/ic-toast.js +4 -4
  82. package/dist/components/ic-toast.js.map +1 -1
  83. package/dist/components/ic-top-navigation.js +1 -1
  84. package/dist/core/core.css +35 -29
  85. package/dist/core/core.esm.js +1 -1
  86. package/dist/core/{p-abf767e3.entry.js → p-1dc0c174.entry.js} +2 -2
  87. package/dist/core/p-1dc0c174.entry.js.map +1 -0
  88. package/dist/core/{p-e30c6d79.entry.js → p-22d88d2f.entry.js} +2 -2
  89. package/dist/core/p-22d88d2f.entry.js.map +1 -0
  90. package/dist/core/p-39bf060d.entry.js +2 -0
  91. package/dist/core/p-39bf060d.entry.js.map +1 -0
  92. package/dist/core/p-4a5ab31e.entry.js.map +1 -1
  93. package/dist/core/p-625f914e.entry.js +2 -0
  94. package/dist/core/p-625f914e.entry.js.map +1 -0
  95. package/dist/core/p-67d47db4.entry.js +2 -0
  96. package/dist/core/p-67d47db4.entry.js.map +1 -0
  97. package/dist/core/{p-8577de91.entry.js → p-9dbe3f3e.entry.js} +2 -2
  98. package/dist/core/{p-8577de91.entry.js.map → p-9dbe3f3e.entry.js.map} +1 -1
  99. package/dist/core/p-a9fd6dcf.entry.js +2 -0
  100. package/dist/core/p-a9fd6dcf.entry.js.map +1 -0
  101. package/dist/core/p-c7be6679.entry.js +2 -0
  102. package/dist/core/p-c7be6679.entry.js.map +1 -0
  103. package/dist/core/p-d80f3ec1.entry.js +2 -0
  104. package/dist/core/p-d80f3ec1.entry.js.map +1 -0
  105. package/dist/core/p-dce2c5e8.entry.js +2 -0
  106. package/dist/core/p-dce2c5e8.entry.js.map +1 -0
  107. package/dist/core/{p-de7542fa.entry.js → p-e3be3502.entry.js} +2 -2
  108. package/dist/core/p-e3be3502.entry.js.map +1 -0
  109. package/dist/esm/ic-button_3.entry.js +59 -1
  110. package/dist/esm/ic-button_3.entry.js.map +1 -1
  111. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  112. package/dist/esm/ic-menu-item.entry.js +1 -1
  113. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  114. package/dist/esm/ic-navigation-group.entry.js +6 -3
  115. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  116. package/dist/esm/ic-navigation-menu.entry.js +37 -23
  117. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  118. package/dist/esm/ic-popover-menu.entry.js +5 -4
  119. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  120. package/dist/esm/ic-select.entry.js +13 -10
  121. package/dist/esm/ic-select.entry.js.map +1 -1
  122. package/dist/esm/ic-side-navigation.entry.js +7 -4
  123. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  124. package/dist/esm/ic-skip-link.entry.js +10 -9
  125. package/dist/esm/ic-skip-link.entry.js.map +1 -1
  126. package/dist/esm/ic-status-tag.entry.js +1 -1
  127. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  128. package/dist/esm/ic-step.entry.js +13 -12
  129. package/dist/esm/ic-step.entry.js.map +1 -1
  130. package/dist/esm/ic-toast.entry.js +3 -3
  131. package/dist/esm/ic-toast.entry.js.map +1 -1
  132. package/dist/types/components/ic-button/ic-button.d.ts +1 -0
  133. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +6 -2
  134. package/dist/types/components/ic-navigation-group/ic-navigation-group.types.d.ts +3 -0
  135. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +2 -0
  136. package/dist/types/components/ic-skip-link/ic-skip-link.d.ts +4 -4
  137. package/dist/types/components.d.ts +11 -10
  138. package/hydrate/index.js +154 -70
  139. package/hydrate/index.mjs +154 -70
  140. package/package.json +2 -2
  141. package/vscode-data.json +4 -4
  142. package/dist/core/p-052d1ff0.entry.js +0 -2
  143. package/dist/core/p-052d1ff0.entry.js.map +0 -1
  144. package/dist/core/p-0b757d78.entry.js +0 -2
  145. package/dist/core/p-0b757d78.entry.js.map +0 -1
  146. package/dist/core/p-59287779.entry.js +0 -2
  147. package/dist/core/p-59287779.entry.js.map +0 -1
  148. package/dist/core/p-6c8e72b4.entry.js +0 -2
  149. package/dist/core/p-6c8e72b4.entry.js.map +0 -1
  150. package/dist/core/p-6fdb8a79.entry.js +0 -2
  151. package/dist/core/p-6fdb8a79.entry.js.map +0 -1
  152. package/dist/core/p-76bdbc98.entry.js +0 -2
  153. package/dist/core/p-76bdbc98.entry.js.map +0 -1
  154. package/dist/core/p-9bcd2c77.entry.js +0 -2
  155. package/dist/core/p-9bcd2c77.entry.js.map +0 -1
  156. package/dist/core/p-abf767e3.entry.js.map +0 -1
  157. package/dist/core/p-de7542fa.entry.js.map +0 -1
  158. package/dist/core/p-e30c6d79.entry.js.map +0 -1
@@ -163,11 +163,14 @@ const SideNavigation = /*@__PURE__*/ proxyCustomElement(class SideNavigation ext
163
163
  }
164
164
  const iconWrapper = document.createElement("div");
165
165
  const icon = navItemSlot === null || navItemSlot === void 0 ? void 0 : navItemSlot.querySelector("svg");
166
+ const badge = navItemSlot === null || navItemSlot === void 0 ? void 0 : navItemSlot.querySelector("ic-badge");
166
167
  const label = (_a = navItem.textContent) === null || _a === void 0 ? void 0 : _a.trim();
167
168
  const icTypography = document.createElement("ic-typography");
168
169
  icTypography.classList.add("ic-typography-label", "hydrated", "navigation-item-side-nav-slotted-text");
170
+ iconWrapper.style.position = "relative";
169
171
  iconWrapper.style.height = "var(--ic-space-lg)";
170
172
  icon && iconWrapper.append(icon);
173
+ badge && iconWrapper.append(badge);
171
174
  if (label) {
172
175
  icTypography.textContent = label;
173
176
  }
@@ -442,7 +445,7 @@ const SideNavigation = /*@__PURE__*/ proxyCustomElement(class SideNavigation ext
442
445
  isAppNameSubtitleVariant,
443
446
  appTitle: appTitle || "",
444
447
  };
445
- return (h(Host, { key: 'c8a0d9085354c61747396cd721c9f3b4b07c6620', class: {
448
+ return (h(Host, { key: 'da621f79cc6d0e721b46d89689623ab603869c5c', class: {
446
449
  "xs-menu-open": menuOpen && isSDevice,
447
450
  "xs-menu-close": !menuOpen && isSDevice,
448
451
  "sm-collapsed": !isSDevice && !menuExpanded,
@@ -451,12 +454,12 @@ const SideNavigation = /*@__PURE__*/ proxyCustomElement(class SideNavigation ext
451
454
  [`ic-side-navigation-${IcBrandForegroundEnum.Dark}`]: foregroundColor === IcBrandForegroundEnum.Dark,
452
455
  ["collapsed-labels"]: !isSDevice && !menuExpanded && !!collapsedIconLabels,
453
456
  ["ic-side-navigation-inline"]: !!inline,
454
- } }, isSDevice && this.renderTopBar(Object.assign({}, topBarProps)), h("div", { key: '61bf137082753ff275d530c92a3b5e2baa77dfc8', class: "side-navigation", id: "side-navigation" }, !isSDevice && this.renderTopBar(Object.assign({}, topBarProps)), h("div", { key: '968cce83f46508eef2f1d36cbcdf71b999ae8d01', class: "side-navigation-inner" }, isSlotUsed(this.el, "primary-navigation") && (h("nav", { key: '0d6011c95720e19bb9257857a0c8d5fc8582586e', class: "primary-navigation", "aria-labelledby": "primary-navigation-landmark" }, h("span", { key: 'fd20471ab31baffaaa45ab9d4b601a5b93861211', "aria-hidden": "true", class: "navigation-landmark-title", id: "primary-navigation-landmark" }, "Primary"), h("ul", { key: '443bdddf3f7e67f465e8ab713129c62e933218dc', class: "navigation-list" }, h("slot", { key: 'ef84cdd387fcc0d08c99b3348b12a5d75dc8cbb5', name: "primary-navigation" }))))), h("div", { key: '214e3aedbf7490f07d479ded04b4948a32b8762a', class: {
457
+ } }, isSDevice && this.renderTopBar(Object.assign({}, topBarProps)), h("div", { key: 'e1a1746cf0b72f95df40c4de8c5b24142e42958c', class: "side-navigation", id: "side-navigation" }, !isSDevice && this.renderTopBar(Object.assign({}, topBarProps)), h("div", { key: 'fb4d44f6de1f637c1f913c7bc1979d261b138961', class: "side-navigation-inner" }, isSlotUsed(this.el, "primary-navigation") && (h("nav", { key: 'd242bf8b7266a913ddf15cd6d3c710b67998478b', class: "primary-navigation", "aria-labelledby": "primary-navigation-landmark" }, h("span", { key: '5496dfe55e4ea5b5a86ff9cbf49d3a1948580c38', "aria-hidden": "true", class: "navigation-landmark-title", id: "primary-navigation-landmark" }, "Primary"), h("ul", { key: '5c963c5a63930a85c8d56a8acf9f402b11cb5717', class: "navigation-list" }, h("slot", { key: '6e9893f2302d72b8a8dd8c91efc69324e28b7845', name: "primary-navigation" }))))), h("div", { key: '3a5a9c6510d4e70389ff271e089d46732b7ff35a', class: {
455
458
  ["bottom-wrapper"]: true,
456
459
  ["classification-spacing"]: hasClassificationBanner(),
457
- } }, isSlotUsed(this.el, "secondary-navigation") && (h("nav", { key: '049842dcc0a218e346cb5801451539238026bd1e', class: "secondary-navigation", "aria-labelledby": "secondary-navigation-landmark" }, h("span", { key: '43a512817c2f6ebe62a6619e321dd09f30bd1892', "aria-hidden": "true", class: "navigation-landmark-title", id: "secondary-navigation-landmark" }, "Secondary"), h("ul", { key: '8559c056204586c0565b90e73cb6dc364f50a673', class: "navigation-list" }, h("slot", { key: '2efcf26eb30b17f011cc5abc8e530e14f07a3e18', name: "secondary-navigation" })))), h("div", { key: 'd517c80b9c1d2e5d1a2d55c9d646fcdc618193b9', class: "bottom-side-nav" }, this.hasSecondaryNavigation && h("ic-divider", { key: '13c8a9d4ec0dea727e559257836201af55198741' }), displayExpandBtn && (h("button", { key: '5740a000e2274d8dd37d859818489eba0c81c04e', class: "menu-expand-button", innerHTML: chevronIcon, onClick: () => this.toggleMenuExpanded(!this.menuExpanded), "aria-label": `${menuExpanded ? "Collapse" : "Expand"} side navigation` })), h("div", { key: '5d2117c9116ec48ede52c2afd331cd28fc499627', class: "app-status-wrapper" }, status !== "" && (h("div", { key: '7e02d31bb85fb286161a38fce68cda91461110fa', class: {
460
+ } }, isSlotUsed(this.el, "secondary-navigation") && (h("nav", { key: 'a325206b9aaab5d2c68e0854b6d88f6c0754a2f7', class: "secondary-navigation", "aria-labelledby": "secondary-navigation-landmark" }, h("span", { key: 'cce653a875b1768a5c5960d2c86a55e42e104456', "aria-hidden": "true", class: "navigation-landmark-title", id: "secondary-navigation-landmark" }, "Secondary"), h("ul", { key: 'd61e1b6969d597bdb48ba59be75e50f95c3327e9', class: "navigation-list" }, h("slot", { key: '75d0ddba3f9b6663f0888e579d60dfdf77455944', name: "secondary-navigation" })))), h("div", { key: 'a5e646f3027491a5e3288bafb03a49699ad7fe16', class: "bottom-side-nav" }, this.hasSecondaryNavigation && h("ic-divider", { key: '709a1cd78355adb93d7d5e0636252ba8b53cc3dc' }), displayExpandBtn && (h("button", { key: '2f61bbc7a06cbd5f1d90a126507a6fce4d329545', class: "menu-expand-button", innerHTML: chevronIcon, onClick: () => this.toggleMenuExpanded(!this.menuExpanded), "aria-label": `${menuExpanded ? "Collapse" : "Expand"} side navigation` })), h("div", { key: '8c21e3ecb652850205f4fbe785be95acd7d8120b', class: "app-status-wrapper" }, status !== "" && (h("div", { key: '96b2fe13baecbb436c6f90d69bc1eba2447ef37d', class: {
458
461
  ["app-status"]: true,
459
- } }, h("ic-typography", { key: '396a93337b049b5055d8ee6c71bbc5b523185ef2', "aria-label": "app tag", variant: "label-uppercase", class: "app-status-text" }, status))), version !== "" && (h("ic-typography", { key: 'addaab0b5c057e975cf4e186fdaf92ca6650a5b2', variant: "label", class: "app-version", "aria-label": "app version" }, version))))))));
462
+ } }, h("ic-typography", { key: '017292fb3f29859ee96b6af1f12e787a95300a3d', "aria-label": "app tag", variant: "label-uppercase", class: "app-status-text" }, status))), version !== "" && (h("ic-typography", { key: 'ded1fc5cf16022ec9c2eea424910cbc0c88132a8', variant: "label", class: "app-version", "aria-label": "app version" }, version))))))));
460
463
  }
461
464
  get el() { return this; }
462
465
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"ic-side-navigation.js","mappings":"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","names":[],"sources":["src/components/ic-side-navigation/ic-side-navigation.css?tag=ic-side-navigation&encapsulation=shadow","src/components/ic-side-navigation/ic-side-navigation.tsx"],"sourcesContent":["/**\n * @prop --ic-z-index-side-navigation: z-index of side navigation panel\n */\n\n:host {\n display: block;\n\n --ic-typography-color: currentcolor;\n --side-navigation-position: fixed;\n --side-navigation-position-left: 0;\n --side-navigation-position-top: var(--ic-space-xxl);\n --side-navigation-height: var(--ic-space-xxl);\n --sm-side-navigation-top-bar-height: 3.5rem;\n --sm-side-navigation-collapsed-labels-width: 6rem;\n --sm-side-navigation-expand-transition-duration: var(\n --ic-transition-duration-slow\n );\n --side-navigation-width: 20rem;\n --sm-side-navigation-bottom-bar-height: 3.5rem;\n --keyline-lighten: var(--ic-space-1px) solid var(--ic-side-navigation-keyline);\n --keyline-darken: var(--ic-space-1px) solid var(--ic-state-layer-darken-20);\n\n --ic-button-secondary-text-monochrome: var(--ic-brand-text-color);\n --ic-button-secondary-border-monochrome: var(--ic-brand-text-color);\n z-index: var(--ic-z-index-side-navigation);\n}\n\n:host > * {\n box-sizing: border-box;\n}\n\n.side-navigation {\n display: flex;\n flex-direction: column;\n width: var(--side-navigation-width);\n color: var(--ic-side-navigation-text);\n position: var(--side-navigation-position);\n top: var(--side-navigation-position-top);\n left: calc(var(--side-navigation-width) * -1);\n bottom: 0;\n background-color: var(--ic-side-navigation-background);\n z-index: var(--ic-z-index-side-navigation);\n}\n\n:host(.ic-side-navigation-inline) .side-navigation {\n position: absolute;\n height: 100%;\n}\n\n:host(.anchor-right) .side-navigation {\n right: calc(var(--side-navigation-width) * -1);\n}\n\n.classification-spacing {\n margin-bottom: var(--ic-space-lg);\n}\n\n.navigation-list {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n\n.side-navigation-inner {\n background-color: var(--ic-side-navigation-background);\n display: flex;\n flex-direction: column;\n flex: 1 1 0;\n overflow: auto;\n}\n\n:host(.ic-side-navigation-inline) .side-navigation-inner {\n flex: 1;\n}\n\n:host(.xs-menu-open) .side-navigation {\n transition: left var(--ic-easing-transition-slow);\n left: 0;\n}\n\n:host(:has(.xs-menu-open, .xs-menu-close)) ::slotted(ic-navigation-item) {\n --navigation-item-side-nav-right: var(--ic-space-xl);\n}\n\n:host(.xs-menu-close) .side-navigation {\n left: calc(var(--side-navigation-width) * -1);\n transition: left var(--ic-easing-transition-slow);\n}\n\n:host(.xs-menu-close) .side-navigation > * {\n visibility: hidden;\n}\n\n:host(.anchor-right.xs-menu-open) .side-navigation {\n right: 0;\n left: auto;\n}\n\n:host(.anchor-right.xs-menu-close) .side-navigation {\n right: calc(var(--side-navigation-width) * -1);\n left: auto;\n transition: right var(--ic-easing-transition-slow);\n}\n\n.bottom-wrapper {\n border-top: var(--keyline-lighten);\n bottom: 0;\n left: 0;\n z-index: 2;\n background-color: var(--ic-side-navigation-background);\n display: flex;\n flex-direction: column;\n}\n\n:host(.ic-side-navigation-inline) .bottom-wrapper {\n position: sticky;\n}\n\n:host(.ic-side-navigation-dark) .bottom-wrapper {\n border-top: var(--keyline-darken);\n}\n\n/* Mobile Top Bar */\n\n.top-bar {\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: var(--side-navigation-height);\n padding: var(--ic-space-xs);\n box-sizing: border-box;\n background-color: var(--ic-side-navigation-background);\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n border-bottom: var(--keyline-lighten);\n box-shadow: var(--ic-elevation-overlay);\n z-index: 2;\n overflow: hidden;\n visibility: visible;\n}\n\n:host(.ic-side-navigation-inline) .top-bar {\n position: absolute;\n}\n\n:host(.ic-side-navigation-dark) .top-bar {\n border-bottom: var(--keyline-darken);\n}\n\n.top-bar.dark a:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.app-title-wrapper {\n display: flex;\n margin-left: var(--ic-space-xs);\n border-left: var(--keyline-lighten);\n padding-left: var(--ic-space-xxs);\n color: var(--ic-side-navigation-text);\n align-items: center;\n}\n\n:host(.ic-side-navigation-dark) .app-title-wrapper {\n border-left: var(--keyline-darken);\n}\n\n.app-title-wrapper ic-typography h1 {\n margin: 0;\n}\n\n@media screen and (min-width: 340px) {\n .app-title-wrapper ic-typography {\n margin-left: var(--ic-space-xs);\n }\n}\n\n:host .title-link {\n display: flex;\n align-items: center;\n transition: box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast);\n text-decoration: none;\n padding: var(--ic-space-xxs);\n color: var(--ic-side-navigation-text);\n}\n\n:host .title-link:visited,\n:host .title-link:active {\n color: var(--ic-side-navigation-text);\n}\n\nslot[name=\"app-title\"]::slotted(a),\nslot[name=\"app-icon\"]::slotted(a) {\n color: var(--ic-side-navigation-text);\n outline: none;\n text-decoration: none;\n display: flex;\n}\n\nslot[name=\"app-title\"]::slotted(ic-typography),\nslot[name=\"app-title\"]::slotted(a) {\n margin-left: var(--ic-space-xs) !important;\n}\n\nslot[name=\"app-title\"]::slotted(a) {\n font: var(--ic-font-subtitle-small);\n}\n\n@media screen and (min-width: 577px) {\n :host(.sm-collapsed) slot[name=\"app-title\"]::slotted(ic-typography),\n :host(.sm-collapsed) slot[name=\"app-title\"]::slotted(a) {\n position: absolute;\n left: -9999px;\n opacity: 0;\n transition: opacity var(--ic-easing-transition-slow);\n }\n\n :host(.sm-expanded) slot[name=\"app-title\"]::slotted(a) {\n font: var(--ic-font-h3) !important;\n font-weight: var(--ic-font-weight-semibold) !important;\n margin-left: var(--ic-space-xs) !important;\n }\n}\n\n:host .title-link:hover {\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-side-navigation-hover);\n}\n\n:host .title-link:active {\n background-color: var(--ic-side-navigation-pressed);\n}\n\n:host .title-link:focus,\n:host .title-link:focus-within {\n border-radius: var(--ic-border-radius);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n background-color: transparent;\n}\n\n:host .title-link ic-typography {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.app-title-wrapper ::slotted(svg) {\n fill: var(--ic-side-navigation-text);\n}\n\n.app-icon-container {\n display: none;\n}\n\n.button-label {\n display: flex;\n align-items: center;\n}\n\n.mobile-top-bar-menu-icon {\n display: flex;\n}\n\n.menu-button {\n width: 6.5rem;\n}\n\n.app-status-wrapper {\n inset: 0 var(--ic-space-sm) 0 3.5rem;\n width: auto;\n display: flex;\n gap: var(--ic-space-xs);\n padding: var(--ic-space-sm) 0;\n justify-content: flex-end;\n align-items: flex-end;\n pointer-events: none;\n height: -moz-fit-content;\n height: fit-content;\n margin: 0 var(--ic-space-xs);\n}\n\n.app-status-wrapper .app-version {\n display: flex;\n overflow-wrap: break-word;\n padding-bottom: var(--ic-space-xxs);\n}\n\n.app-status-wrapper .app-status {\n display: flex;\n border-radius: 1rem;\n background-color: var(--ic-side-navigation-text);\n color: var(--ic-side-navigation-status-tag-text);\n padding: var(--ic-space-xxs) var(--ic-space-lg);\n min-width: 1rem;\n}\n\n.app-status-wrapper .app-status-text {\n overflow-wrap: break-word;\n}\n\n:host(.ic-side-navigation-dark) .app-status-wrapper .app-status {\n --ic-typography-color: var(--ic-architectural-white);\n}\n\n.navigation-landmark-title {\n position: absolute;\n width: var(--ic-space-1px);\n height: var(--ic-space-1px);\n padding: 0;\n margin: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n}\n\n/* Navigation Group */\n\n::slotted(ic-navigation-group) {\n --navigation-group-height: 2.75rem;\n --navigation-group-width: 100%;\n --navigation-group-justify-content: space-between;\n --navigation-group-hover: var(--ic-side-navigation-hover);\n --navigation-group-text-hover: var(--ic-side-navigation-text);\n --navigation-item-child-height: 3.5rem;\n --navigation-item-child-active: var(--ic-action-dark-bg-pressed);\n --navigation-item-child-color: var(--ic-side-navigation-text);\n --navigation-group-expand-toggle-padding: 0.25rem;\n}\n\n/* Navigation Items */\n\n::slotted(ic-navigation-item),\n::slotted(ic-navigation-group) {\n --navigation-item-justify-content: flex-start;\n --navigation-item-min-height: 56px;\n --navigation-item-height: auto;\n}\n\n/* Toggle Chevron */\n\n.bottom-side-nav {\n position: relative;\n align-content: flex-end;\n min-height: var(--sm-side-navigation-top-bar-height);\n}\n\n.bottom-side-nav ic-divider {\n position: absolute;\n top: 0;\n}\n\n.primary-navigation {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n\n /* Hide scrollbar when required but keep functionality */\n scrollbar-width: none;\n}\n\n.primary-navigation::-webkit-scrollbar {\n display: none;\n}\n\n.primary-navigation,\n.secondary-navigation {\n overflow-x: hidden;\n}\n\n.bottom-side-nav .menu-expand-button {\n position: absolute;\n display: none;\n}\n\n.menu-visibility-visible {\n visibility: visible;\n width: 100%;\n}\n\n.app-title-show {\n min-width: 15.5rem;\n}\n\n:host(.side-display) {\n display: flex;\n flex-direction: column;\n height: 100vh;\n position: var(--side-navigation-position);\n left: 0;\n top: 0;\n bottom: 0;\n}\n\n:host(.side-display) .app-icon-container {\n height: 40px;\n display: flex;\n align-items: center;\n}\n\n:host(.side-display) .top-bar {\n --side-navigation-height: var(--sm-side-navigation-top-bar-height);\n\n position: relative;\n padding: 0;\n box-shadow: none;\n}\n\n:host(.ic-side-navigation-inline.side-display) .top-bar {\n position: sticky;\n}\n\n:host(.anchor-right.side-display) .top-bar {\n box-shadow: 0.188rem 0.188rem 0.5rem rgb(0 0 0 / 20%);\n}\n\n:host(.anchor-right.side-display) .bottom-wrapper {\n box-shadow: 0.188rem -0.188rem 0.5rem rgb(0 0 0 / 20%);\n}\n\n:host(.side-display) .side-navigation,\n:host(.side-display) .top-bar {\n width: var(--sm-side-navigation-top-bar-height);\n}\n\n:host(.sm-collapsed.side-display) {\n width: var(--sm-side-navigation-top-bar-height);\n transition: width var(--ic-easing-transition-slow);\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) {\n width: var(--sm-side-navigation-collapsed-labels-width);\n}\n\n:host(.sm-expanded.side-display) {\n width: var(--side-navigation-width);\n transition: width var(--ic-easing-transition-slow);\n box-shadow: var(--ic-elevation-overlay);\n}\n\n:host(.side-display) .side-navigation {\n --side-navigation-position-top: 0;\n\n flex: 1;\n position: relative;\n top: auto;\n left: auto;\n bottom: auto;\n}\n\n:host(.ic-side-navigation-inline.side-display) .side-navigation {\n position: relative;\n}\n\n:host(.anchor-right.side-display) .side-navigation {\n left: auto;\n right: 0;\n}\n\n:host(.side-display) .app-title-wrapper {\n margin-left: 0;\n border-left: none;\n padding: var(--ic-space-xs) var(--ic-space-sm);\n}\n\n:host(.side-display) .app-title-wrapper ::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host(.side-display) .app-title-wrapper ic-typography {\n font-weight: var(--ic-font-weight-semibold);\n}\n\n:host(.sm-collapsed.side-display) .app-title-wrapper ic-typography {\n position: absolute;\n left: -9999px;\n opacity: 0;\n transition: opacity var(--ic-easing-transition-slow);\n}\n\n:host(.sm-expanded.side-display) ic-typography {\n position: relative;\n left: 0;\n}\n\n:host(.sm-expanded.side-display) :is(.side-navigation, .top-bar) {\n width: var(--side-navigation-width);\n transition: width var(--ic-easing-transition-slow);\n}\n\n:host(.sm-collapsed.side-display) :is(.side-navigation, .top-bar) {\n width: var(--sm-side-navigation-top-bar-height);\n transition: width var(--ic-easing-transition-slow);\n}\n\n:host(.anchor-right.sm-expanded.side-display) :is(.side-navigation, .top-bar) {\n left: auto;\n right: 0;\n}\n\n:host(.side-display) .app-status-wrapper,\n:host(.sm-collapsed.side-display) .app-status-wrapper {\n display: none;\n margin-left: 0;\n}\n\n:host(.sm-expanded.side-display) .app-status-wrapper {\n display: flex;\n max-width: 16rem;\n margin-right: calc(var(--ic-space-xxxs) + var(--ic-space-xs));\n}\n\n:host(.side-display) .bottom-side-nav {\n justify-items: flex-end;\n align-items: flex-end;\n justify-content: flex-end;\n display: flex;\n outline: none;\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button {\n padding-left: var(--ic-space-md);\n height: var(--sm-side-navigation-top-bar-height);\n width: 100%;\n color: var(--ic-side-navigation-text);\n background-color: transparent;\n outline: var(--ic-hc-focus-outline);\n border: none;\n cursor: pointer;\n display: flex;\n transition: var(--ic-easing-transition-fast);\n}\n\n:host(.sm-expanded.side-display) .bottom-side-nav .menu-expand-button {\n height: 100%;\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button svg {\n justify-items: flex-start;\n align-self: center;\n display: inline-block;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button:hover {\n background-color: var(--ic-side-navigation-hover);\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button: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(.sm-collapsed.side-display) .bottom-side-nav .menu-expand-button svg {\n transform: scaleX(1);\n transition: transform var(--ic-easing-transition-slow);\n}\n\n:host(.sm-expanded.side-display) .bottom-side-nav .menu-expand-button svg {\n transform: scaleX(-1);\n transition: transform var(--ic-easing-transition-slow);\n align-self: flex-end;\n margin-bottom: 0.875rem;\n}\n\n:host(.anchor-right.sm-collapsed.side-display)\n .bottom-side-nav\n .menu-expand-button\n svg {\n transform: scaleX(-1);\n}\n\n:host(.anchor-right.sm-expanded.side-display)\n .bottom-side-nav\n .menu-expand-button\n svg {\n transform: scaleX(1);\n}\n\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-item) {\n --navigation-item-label-opacity: 1;\n}\n\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-item),\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-group) {\n --navigation-item-label-opacity: 0;\n --navigation-item-min-height: 3.5rem;\n --navigation-item-height: 3.5rem;\n}\n\n:host(.sm-expanded.side-display) ::slotted(ic-navigation-item),\n:host(.sm-expanded.side-display) ::slotted(ic-navigation-group) {\n --navigation-item-label-opacity: 1;\n --navigation-item-height: auto;\n --navigation-item-min-height: 3.5rem;\n --navigation-item-width: 20rem;\n --navigation-item-side-nav-right: var(--ic-space-xl);\n}\n\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-group) {\n --navigation-group-title-position: absolute;\n --navigation-group-title-position-left: -9999px;\n --navigation-group-title-opacity: none;\n}\n\n:host(.sm-expanded.side-display) ::slotted(ic-navigation-group) {\n --navigation-group-title-position: relative;\n --navigation-group-title-position-left: 0;\n --navigation-group-expand-toggle-padding: 0.25rem;\n --navigation-group-title-opacity: flex;\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) .side-navigation,\n:host(.sm-collapsed.collapsed-labels.side-display) .top-bar {\n width: var(--sm-side-navigation-collapsed-labels-width);\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) .menu-expand-button {\n padding: 0;\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) .app-title-wrapper {\n width: 100%;\n justify-content: center;\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display)\n ::slotted(ic-navigation-group) {\n --navigation-group-justify-content: center;\n --navigation-item-label-opacity: 1;\n --navigation-group-item-min-width: 100%;\n --navigation-group-expand-toggle-padding: 1rem;\n}\n\n:host(.collapsed-labels.side-display) .bottom-side-nav .menu-expand-button {\n justify-content: center;\n}\n\n:host(.side-display) .collapsed-icon-labels-start {\n visibility: hidden;\n opacity: 0;\n}\n\n:host(.side-display) .collapsed-icon-labels-end {\n visibility: visible;\n opacity: 1;\n transition: visibility 0s, opacity var(--ic-easing-transition-slow);\n}\n\n/* Media Queries */\n\n@media screen and (max-width: 419px) {\n .top-bar {\n height: var(--side-navigation-height);\n }\n .side-navigation {\n width: 100%;\n }\n}\n\n@media screen and (min-width: 340px) {\n .app-icon-container {\n display: flex;\n }\n}\n\n@media screen and (min-width: 993px) {\n :host(.side-display) {\n position: sticky;\n left: auto;\n top: 0;\n bottom: 0;\n }\n\n :host(.sm-expanded.side-display) {\n box-shadow: none;\n }\n}\n\n@media (forced-colors: active) {\n .side-navigation,\n .top-bar {\n border-right: var(--ic-border-hc);\n }\n\n .menu-expand-button {\n color: Highlight !important;\n }\n\n slot[name=\"app-icon\"]::slotted(svg) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Listen,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\n\nimport menuIcon from \"../../assets/hamburger-menu-icon.svg\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport {\n getCurrentDeviceSize,\n DEVICE_SIZES,\n checkResizeObserver,\n isSlotUsed,\n getBrandForegroundAppearance,\n getCssProperty,\n hasClassificationBanner,\n onComponentRequiredPropUndefined,\n isEmptyString,\n isPropDefined,\n} from \"../../utils/helpers\";\nimport {\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n} from \"../../utils/types\";\nimport { IcTopBar, IcExpandedDetail } from \"./ic-side-navigation.types\";\n\n/**\n * @slot app-icon - Content will be rendered adjacent to the app title at the very top of the side navigation.\n * @slot app-title - Handle routing by nesting a route in the app title.\n * @slot primary-navigation - Content will be rendered at the top of the side navigation.\n * @slot secondary-navigation - Content will be rendered at the bottom of the side navigation.\n */\n\n@Component({\n tag: \"ic-side-navigation\",\n styleUrl: \"ic-side-navigation.css\",\n shadow: true,\n})\nexport class SideNavigation {\n private ANIMATION_DURATION =\n parseInt(getCssProperty(\"--ic-transition-duration-slow\")) || 0;\n private IC_NAVIGATION_ITEM: string = \"ic-navigation-item\";\n private resizeObserver: ResizeObserver | null = null;\n private COLLAPSED_ICON_LABELS_END = \"collapsed-icon-labels-end\";\n private COLLAPSED_ICON_LABELS_START = \"collapsed-icon-labels-start\";\n private menuButton?: HTMLIcButtonElement;\n\n @Element() el: HTMLIcSideNavigationElement;\n\n @State() deviceSize: number = getCurrentDeviceSize();\n @State() deviceSizeAppTitle: number = DEVICE_SIZES.S;\n @State() foregroundColor: IcBrandForeground = getBrandForegroundAppearance();\n @State() hasSecondaryNavigation: boolean = false;\n @State() menuExpanded: boolean = false;\n @State() menuOpen: boolean = false;\n\n /**\n * The app title to be displayed. This is required, unless a slotted app title link is used.\n */\n @Prop() appTitle?: string;\n\n /**\n * If `true`, the icon and label will appear when side navigation is collapsed.\n */\n @Prop() collapsedIconLabels?: boolean = false;\n\n /**\n * If `true`, automatic parent wrapper styling will be disabled.\n */\n @Prop() disableAutoParentStyling?: boolean = false;\n\n /**\n * If `true`, the side navigation will not display as a top bar on small devices.\n */\n @Prop() disableTopBarBehaviour?: boolean = false;\n\n /**\n * If `true`, the side navigation will display in an expanded state.\n */\n @Prop() expanded?: boolean = false;\n\n @Watch(\"expanded\")\n watchExpandedHandler(): void {\n this.toggleMenuExpanded(this.expanded!);\n }\n\n /**\n * The URL that the app title link points to.\n */\n @Prop() href?: string = \"/\";\n\n /**\n * @internal If `true`, side navigation will be contained by its parent element.\n */\n @Prop() inline?: boolean = false;\n\n /**\n * The short title of the app to be displayed at small screen sizes in place of the app title.\n */\n @Prop() shortAppTitle?: string = \"\";\n\n /**\n * If `true`, the menu expand button will be removed (PLEASE NOTE: This takes effect on screen sizes 992px and above).\n */\n @Prop() static?: boolean = false;\n\n /**\n * The status of the app to be displayed.\n */\n @Prop() status?: string;\n\n /**\n * The version of the app to be displayed.\n */\n @Prop() version?: string;\n\n /**\n * Emitted when the side navigation is collapsed and expanded.\n */\n @Event() icSideNavExpanded: EventEmitter<IcExpandedDetail>;\n\n componentWillLoad(): void {\n this.setMenuExpanded(this.expanded!);\n\n if (this.collapsedIconLabels) {\n this.setCollapsedIconLabels();\n }\n\n this.hasSecondaryNavigation = isSlotUsed(this.el, \"secondary-navigation\");\n }\n\n componentDidLoad(): void {\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuExpanded,\n sideNavMobile:\n this.deviceSize === DEVICE_SIZES.S && !this.disableTopBarBehaviour,\n });\n\n checkResizeObserver(this.runResizeObserver);\n this.styleSlottedCollapsedIconLabel();\n this.arrangeSlottedNavigationItem(this.menuExpanded);\n this.displayTooltipWithExpandedLongLabel(this.menuExpanded);\n\n this.setExpandedButtonHeight();\n\n !isSlotUsed(this.el, \"app-title\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.appTitle, propName: \"app-title\" }],\n \"Side Navigation\"\n );\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n\n this.el?.removeEventListener(\"transitionend\", this.transitionEndHandler);\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler({ detail }: CustomEvent<IcBrand>): void {\n this.foregroundColor = detail.mode;\n }\n\n private emitSideNavigationExpanded = (objDetails: {\n sideNavExpanded: boolean;\n sideNavMobile?: boolean;\n }): void => {\n this.icSideNavExpanded.emit({\n sideNavExpanded: objDetails.sideNavExpanded,\n sideNavMobile: !!objDetails.sideNavMobile,\n });\n };\n\n private toggleMenu = (): void => {\n this.menuOpen = !this.menuOpen;\n this.setMobileMenuAriaAttributes(this.menuOpen);\n\n this.arrangeSlottedNavigationItem(this.menuOpen);\n\n this.setToggleMenuFlyoutMenuVisibility(this.menuOpen);\n\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuOpen,\n sideNavMobile: true,\n });\n };\n\n private setToggleMenuFlyoutMenuVisibility = (menuOpen: boolean) => {\n const sideNav = this.el.shadowRoot?.querySelector(\n \"#side-navigation\"\n ) as HTMLDivElement;\n const sideNavInner = sideNav.querySelector(\n \".side-navigation-inner\"\n ) as HTMLElement;\n const bottomWrapper = sideNav.querySelector(\n \".bottom-wrapper\"\n ) as HTMLElement;\n\n const menuVisibilityVisible = \"menu-visibility-visible\";\n\n if (menuOpen) {\n bottomWrapper.classList.add(menuVisibilityVisible);\n sideNavInner.classList.add(menuVisibilityVisible);\n } else {\n setTimeout(() => {\n sideNavInner.classList.remove(menuVisibilityVisible);\n bottomWrapper.classList.remove(menuVisibilityVisible);\n }, this.ANIMATION_DURATION);\n }\n };\n\n private setMobileMenuAriaAttributes = (menuOpen: boolean) => {\n if (this.menuButton) {\n this.menuButton.setAttribute(\"aria-expanded\", `${menuOpen}`);\n this.menuButton.setAttribute(\n \"aria-label\",\n `${menuOpen ? \"Close\" : \"Open\"} navigation menu`\n );\n }\n };\n\n private setAndRemoveNoWrapAfterMenuExpanded = () => {\n const appTitle =\n this.el.shadowRoot?.querySelector(\".title-link ic-typography\") ||\n this.el.querySelector(\"[slot='app-title']\");\n\n appTitle?.classList.add(\"ic-typography-no-wrap\");\n\n setTimeout(() => {\n appTitle?.classList.remove(\"ic-typography-no-wrap\");\n }, this.ANIMATION_DURATION);\n };\n\n private toggleMenuExpanded = (expanded: boolean): void => {\n if (this.deviceSize > DEVICE_SIZES.S) {\n this.menuExpanded = expanded;\n }\n\n if (this.menuExpanded) {\n this.setAndRemoveNoWrapAfterMenuExpanded();\n this.el.shadowRoot\n ?.querySelector(\".app-title-inner-wrapper\")\n ?.classList.add(\"app-title-show\");\n } else {\n this.el.style.setProperty(\"--navigation-item-width\", \"320px\");\n this.el.shadowRoot\n ?.querySelector(\".app-title-inner-wrapper\")\n ?.classList.remove(\"app-title-show\");\n\n this.el.addEventListener(\"transitionend\", (e) => {\n if (e.propertyName === \"width\") {\n this.el.style.setProperty(\"--navigation-item-width\", null);\n }\n });\n }\n\n this.arrangeSlottedNavigationItem(this.menuExpanded);\n\n this.displayTooltipWithExpandedLongLabel(this.menuExpanded);\n\n if (this.collapsedIconLabels) {\n this.animateCollapsedIconLabels();\n }\n\n this.setExpandedButtonHeight();\n this.emitSideNavigationExpanded({ sideNavExpanded: this.menuExpanded });\n };\n\n /**\n * In order to style nested slotted elements (e.g. using React Router components), this method\n * rearranges the a tag and labels and adds inline styling expand/collapsed animations as external CSS classes are not\n * do not take affect.\n * @param menuExpanded boolean - true or false depending on side navigation state\n */\n private arrangeSlottedNavigationItem = (menuExpanded?: boolean) => {\n const navItems = this.el.querySelectorAll(\"ic-navigation-item\");\n navItems.forEach((navItem) => {\n const isNamedSlot = isSlotUsed(navItem, \"navigation-item\");\n const isUnnamedSlot =\n navItem.children[0] && !navItem.children[0].getAttribute(\"slot\");\n if (isNamedSlot || isUnnamedSlot) {\n let navItemSlot;\n if (isNamedSlot) {\n navItemSlot = navItem.querySelector(\"[slot='navigation-item']\");\n } else {\n navItemSlot = navItem.children[0];\n }\n const iconWrapper = document.createElement(\"div\");\n const icon = navItemSlot?.querySelector(\"svg\");\n const label = navItem.textContent?.trim();\n const icTypography = document.createElement(\"ic-typography\");\n icTypography.classList.add(\n \"ic-typography-label\",\n \"hydrated\",\n \"navigation-item-side-nav-slotted-text\"\n );\n\n iconWrapper.style.height = \"var(--ic-space-lg)\";\n\n icon && iconWrapper.append(icon);\n\n if (label) {\n icTypography.textContent = label;\n }\n\n if (navItemSlot) {\n navItemSlot.textContent = \"\";\n navItemSlot.append(iconWrapper);\n navItemSlot.append(icTypography);\n }\n\n if (this.collapsedIconLabels) {\n this.styleSlottedCollapsedIconLabels(!!menuExpanded, icTypography);\n } else {\n this.styleSlottedIconLabels(!!menuExpanded, icTypography);\n }\n }\n });\n };\n\n private styleSlottedCollapsedIconLabels = (\n menuExpanded: boolean,\n icTypography: HTMLIcTypographyElement\n ) => {\n if (menuExpanded) {\n icTypography.style.marginTop = \"0\";\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n } else {\n icTypography.style.marginTop = \"10px\";\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n }\n };\n\n private setExpandedButtonHeight = () => {\n const appStatusWrapper = this.el.shadowRoot?.querySelector(\n \"#side-navigation > .bottom-wrapper > .bottom-side-nav > .app-status-wrapper\"\n ) as HTMLDivElement;\n\n if (appStatusWrapper.offsetHeight !== 0) {\n this.el.style.setProperty(\n \"--sm-side-navigation-bottom-bar-height\",\n `${appStatusWrapper.offsetHeight}px`\n );\n }\n };\n\n private styleSlottedIconLabels = (\n menuExpanded: boolean,\n icTypography: HTMLSpanElement\n ) => {\n if (menuExpanded) {\n icTypography.style.opacity = \"1\";\n icTypography.style.visibility = \"visible\";\n icTypography.style.transition =\n \"visibility 0s, opacity var(--ic-easing-transition-slow)\";\n } else {\n icTypography.style.opacity = \"0\";\n icTypography.style.visibility = \"hidden\";\n icTypography.style.transition =\n \"visibility 0s, opacity var(--ic-easing-transition-slow)\";\n }\n };\n\n private transitionHandler = (type: string) => {\n const primaryNavigationWrapper = this.el.shadowRoot?.querySelector(\n \".primary-navigation\"\n );\n\n const secondaryNavigationWrapper = this.el.shadowRoot?.querySelector(\n \".bottom-wrapper > .secondary-navigation\"\n );\n\n const classToRemove =\n type === \"start\"\n ? this.COLLAPSED_ICON_LABELS_END\n : this.COLLAPSED_ICON_LABELS_START;\n\n const classToAdd =\n type === \"start\"\n ? this.COLLAPSED_ICON_LABELS_START\n : this.COLLAPSED_ICON_LABELS_END;\n\n if (primaryNavigationWrapper) {\n primaryNavigationWrapper.classList.remove(classToRemove);\n primaryNavigationWrapper.classList.add(classToAdd);\n }\n\n if (secondaryNavigationWrapper) {\n secondaryNavigationWrapper.classList.remove(classToRemove);\n secondaryNavigationWrapper.classList.add(classToAdd);\n }\n };\n\n private transitionEndHandler = () => {\n this.transitionHandler(\"end\");\n };\n\n private animateCollapsedIconLabels = () => {\n this.transitionHandler(\"start\");\n this.transitionEndHandler();\n\n this.el.addEventListener(\"transitionend\", this.transitionEndHandler);\n };\n\n private paddingIconWidth = (\n navItems: HTMLIcNavigationItemElement[]\n ): number => {\n const navItemLink =\n (navItems[0].shadowRoot &&\n (navItems[0].shadowRoot.querySelector(\"ic-tooltip a\") ||\n navItems[0].shadowRoot.querySelector(\"ic-tooltip div\"))) ||\n navItems[0].querySelector(\"a\") ||\n navItems[0].querySelector(\"div\");\n const navItemSVG = navItems[0].querySelector(\"svg\");\n\n if (navItemLink && navItemSVG) {\n const navStyles = {\n gap: window.getComputedStyle(navItemLink).gap,\n iconWidth: window.getComputedStyle(navItemSVG).width,\n paddingLeft: window.getComputedStyle(navItemLink).paddingLeft,\n };\n\n return Object.values(navStyles).reduce((prev, curr) => {\n return (prev += parseInt(curr));\n }, 0);\n }\n\n return 0;\n };\n\n private displayTooltipWithExpandedLongLabel = (menuExpanded: boolean) => {\n let timer;\n\n if (menuExpanded) {\n timer = setTimeout(() => {\n const sideNavWidth = this.el.clientWidth;\n\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n\n const paddingIconDelta = navigationItems.length\n ? this.paddingIconWidth(navigationItems)\n : 0;\n\n navigationItems.forEach(\n (navigationItem: HTMLIcNavigationItemElement) => {\n const icTypographyScrollWidth =\n (\n navigationItem.shadowRoot &&\n navigationItem.shadowRoot.querySelector(\n \"ic-tooltip .link ic-typography.ic-typography-label\"\n )\n )?.scrollWidth ||\n navigationItem.querySelector(\"ic-typography.ic-typography-label\")\n ?.scrollWidth;\n\n if (\n icTypographyScrollWidth &&\n icTypographyScrollWidth > sideNavWidth - paddingIconDelta\n ) {\n navigationItem.setAttribute(\"display-navigation-tooltip\", \"true\");\n }\n }\n );\n }, this.ANIMATION_DURATION);\n } else {\n clearTimeout(timer);\n\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n navigationItems.forEach((navigationItem: HTMLIcNavigationItemElement) => {\n navigationItem.setAttribute(\"display-navigation-tooltip\", \"false\");\n });\n }\n };\n\n private setMenuExpanded = (expanded: boolean): void => {\n this.menuExpanded = expanded;\n };\n\n /**\n * As the mobile top bar is fixed, a padding top is required\n * to push main content down the height of the mobile top bar\n * @param value - padding-top css value\n */\n private setParentPaddingTop = (value: string) => {\n this.el.parentElement?.style.setProperty(\"padding-top\", value);\n };\n\n private setParentPaddingLeft = (value: string) => {\n this.el.parentElement?.style.setProperty(\"padding-left\", value);\n };\n\n private renderAppTitle = (isAppNameSubtitleVariant: boolean) => {\n const displayShortAppTitle =\n this.deviceSize <= DEVICE_SIZES.S && !isEmptyString(this.shortAppTitle!);\n return (\n <ic-typography\n variant={\n displayShortAppTitle || isAppNameSubtitleVariant\n ? \"subtitle-small\"\n : \"h3\"\n }\n aria-label={\n displayShortAppTitle\n ? `${this.appTitle} (${this.shortAppTitle})`\n : undefined\n }\n >\n <h1>{displayShortAppTitle ? this.shortAppTitle : this.appTitle}</h1>\n </ic-typography>\n );\n };\n\n private resizeObserverCallback = (currSize: number) => {\n this.deviceSize = currSize;\n\n const isSmallAndDisableTopBar =\n currSize === DEVICE_SIZES.S && !this.disableTopBarBehaviour;\n\n if (!this.disableAutoParentStyling) {\n const topBarHeight =\n this.el.shadowRoot?.querySelector(\".top-bar\")?.scrollHeight;\n this.setParentPaddingTop(\n isSmallAndDisableTopBar ? `${topBarHeight}px` : \"0\"\n );\n if (isSmallAndDisableTopBar) this.setParentPaddingLeft(\"0\");\n if (isSmallAndDisableTopBar && this.inline) {\n this.el.parentElement?.style.setProperty(\n \"height\",\n `calc(100% - ${topBarHeight}px)`\n );\n } else if (!isSmallAndDisableTopBar) {\n this.el.parentElement?.style.setProperty(\"height\", \"100%\");\n }\n }\n\n if (!this.disableAutoParentStyling) {\n const paddingLeft = `calc(var(--ic-space-xxl) ${\n this.collapsedIconLabels ? \"* 2\" : \"+ var(--ic-space-xs)\"\n })`;\n\n if (currSize > DEVICE_SIZES.L) {\n this.setParentPaddingTop(\"0\");\n this.setParentPaddingLeft(\"0\");\n } else if (\n (currSize > DEVICE_SIZES.S || this.disableTopBarBehaviour) &&\n currSize <= DEVICE_SIZES.M &&\n this.static\n ) {\n this.setParentPaddingLeft(paddingLeft);\n } else if (\n (currSize > DEVICE_SIZES.S || this.disableTopBarBehaviour) &&\n currSize <= DEVICE_SIZES.L\n ) {\n this.setParentPaddingLeft(\n this.static && this.menuExpanded\n ? \"calc(var(--ic-space-xl) * 10)\"\n : paddingLeft\n );\n }\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.deviceSizeAppTitle = currSize;\n this.resizeObserverCallback(currSize);\n });\n\n this.resizeObserver.observe(document.body, { box: \"content-box\" });\n };\n\n private setCollapsedIconLabels = () => {\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n navigationItems.forEach((navigationItem: HTMLIcNavigationItemElement) => {\n navigationItem.setAttribute(\"collapsed-icon-label\", \"true\");\n });\n };\n\n private styleSlottedCollapsedIconLabel = () => {\n const dynamicSlottedIcTypographyComps: HTMLIcTypographyElement[] =\n Array.from(\n this.el.querySelectorAll(\".navigation-item-side-nav-slotted-text\")\n );\n\n dynamicSlottedIcTypographyComps.forEach((icTypography) => {\n if (\n icTypography.parentElement?.parentElement?.classList.contains(\n \"navigation-item-side-nav-collapsed-with-label\"\n )\n ) {\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n icTypography.style.marginTop = \"10px\";\n }\n });\n };\n\n private renderTopBar = ({\n isSDevice,\n foregroundColor,\n menuOpen,\n href,\n isAppNameSubtitleVariant,\n }: IcTopBar) => {\n const hasTitle = this.appTitle !== \"\" && isPropDefined(this.appTitle);\n\n const Component = isSlotUsed(this.el, \"app-title\") ? \"div\" : \"a\";\n\n const attrs = Component == \"a\" && {\n href: href,\n };\n\n return (\n <div\n class={{\n \"top-bar\": true,\n [this.foregroundColor]: true,\n }}\n >\n {isSDevice && (\n <nav\n aria-labelledby=\"menu-navigation-toggle-button-landmark\"\n aria-hidden=\"false\"\n >\n <ic-button\n aria-label=\"Open navigation menu\"\n class=\"menu-button\"\n id=\"menu-button\"\n variant=\"secondary\"\n size=\"small\"\n full-width=\"true\"\n theme={\n foregroundColor == \"default\" || foregroundColor == \"light\"\n ? \"light\"\n : \"dark\"\n }\n monochrome\n onClick={this.toggleMenu}\n ariaOwnsId=\"side-navigation\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n ref={(el) => (this.menuButton = el)}\n >\n <span\n class=\"mobile-top-bar-menu-icon\"\n slot=\"left-icon\"\n innerHTML={menuOpen ? closeIcon : menuIcon}\n ></span>\n {menuOpen ? \"Close\" : \"Menu\"}\n </ic-button>\n <span\n id=\"menu-navigation-toggle-button-landmark\"\n class=\"navigation-landmark-title\"\n aria-hidden=\"true\"\n >\n Navigation menu toggle button\n </span>\n </nav>\n )}\n <div class=\"app-title-wrapper\">\n {(hasTitle || isSlotUsed(this.el, \"app-title\")) && (\n <Component {...attrs} class=\"title-link\">\n <div class=\"app-icon-container\" aria-hidden=\"true\">\n <slot name=\"app-icon\"></slot>\n </div>\n <div class=\"app-title-inner-wrapper\">\n {isSlotUsed(this.el, \"app-title\") ? (\n <slot name=\"app-title\"></slot>\n ) : (\n this.renderAppTitle(isAppNameSubtitleVariant)\n )}\n </div>\n </Component>\n )}\n </div>\n </div>\n );\n };\n\n render() {\n const {\n appTitle,\n menuOpen,\n foregroundColor,\n menuExpanded,\n href,\n status,\n version,\n collapsedIconLabels,\n inline,\n } = this;\n\n const isSDevice =\n !this.disableTopBarBehaviour && this.deviceSize === DEVICE_SIZES.S;\n const isMdDevice = this.deviceSize === DEVICE_SIZES.M;\n const isLgDevice = this.deviceSize >= DEVICE_SIZES.L;\n const isAppNameSubtitleVariant = this.deviceSizeAppTitle === DEVICE_SIZES.S;\n const displayExpandBtn =\n isMdDevice || this.disableTopBarBehaviour || (isLgDevice && !this.static);\n\n const topBarProps: IcTopBar = {\n isSDevice,\n foregroundColor,\n menuOpen,\n href: href!,\n isAppNameSubtitleVariant,\n appTitle: appTitle || \"\",\n };\n\n return (\n <Host\n class={{\n \"xs-menu-open\": menuOpen && isSDevice,\n \"xs-menu-close\": !menuOpen && isSDevice,\n \"sm-collapsed\": !isSDevice && !menuExpanded,\n \"sm-expanded\": !isSDevice && menuExpanded,\n \"side-display\":\n this.deviceSize > DEVICE_SIZES.S || !!this.disableTopBarBehaviour,\n [`ic-side-navigation-${IcBrandForegroundEnum.Dark}`]:\n foregroundColor === IcBrandForegroundEnum.Dark,\n [\"collapsed-labels\"]:\n !isSDevice && !menuExpanded && !!collapsedIconLabels,\n [\"ic-side-navigation-inline\"]: !!inline,\n }}\n >\n {isSDevice && this.renderTopBar({ ...topBarProps })}\n <div class=\"side-navigation\" id=\"side-navigation\">\n {!isSDevice && this.renderTopBar({ ...topBarProps })}\n <div class=\"side-navigation-inner\">\n {isSlotUsed(this.el, \"primary-navigation\") && (\n <nav\n class=\"primary-navigation\"\n aria-labelledby=\"primary-navigation-landmark\"\n >\n <span\n aria-hidden=\"true\"\n class=\"navigation-landmark-title\"\n id=\"primary-navigation-landmark\"\n >\n Primary\n </span>\n <ul class=\"navigation-list\">\n <slot name=\"primary-navigation\"></slot>\n </ul>\n </nav>\n )}\n </div>\n <div\n class={{\n [\"bottom-wrapper\"]: true,\n [\"classification-spacing\"]: hasClassificationBanner(),\n }}\n >\n {isSlotUsed(this.el, \"secondary-navigation\") && (\n <nav\n class=\"secondary-navigation\"\n aria-labelledby=\"secondary-navigation-landmark\"\n >\n <span\n aria-hidden=\"true\"\n class=\"navigation-landmark-title\"\n id=\"secondary-navigation-landmark\"\n >\n Secondary\n </span>\n <ul class=\"navigation-list\">\n <slot name=\"secondary-navigation\"></slot>\n </ul>\n </nav>\n )}\n <div class=\"bottom-side-nav\">\n {this.hasSecondaryNavigation && <ic-divider></ic-divider>}\n {displayExpandBtn && (\n <button\n class=\"menu-expand-button\"\n innerHTML={chevronIcon}\n onClick={() => this.toggleMenuExpanded(!this.menuExpanded)}\n aria-label={`${\n menuExpanded ? \"Collapse\" : \"Expand\"\n } side navigation`}\n ></button>\n )}\n <div class=\"app-status-wrapper\">\n {status !== \"\" && (\n <div\n class={{\n [\"app-status\"]: true,\n }}\n >\n <ic-typography\n aria-label=\"app tag\"\n variant=\"label-uppercase\"\n class=\"app-status-text\"\n >\n {status}\n </ic-typography>\n </div>\n )}\n {version !== \"\" && (\n <ic-typography\n variant=\"label\"\n class=\"app-version\"\n aria-label=\"app version\"\n >\n {version}\n </ic-typography>\n )}\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-side-navigation.js","mappings":"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","names":[],"sources":["src/components/ic-side-navigation/ic-side-navigation.css?tag=ic-side-navigation&encapsulation=shadow","src/components/ic-side-navigation/ic-side-navigation.tsx"],"sourcesContent":["/**\n * @prop --ic-z-index-side-navigation: z-index of side navigation panel\n */\n\n:host {\n display: block;\n\n --ic-typography-color: currentcolor;\n --side-navigation-position: fixed;\n --side-navigation-position-left: 0;\n --side-navigation-position-top: var(--ic-space-xxl);\n --side-navigation-height: var(--ic-space-xxl);\n --sm-side-navigation-top-bar-height: 3.5rem;\n --sm-side-navigation-collapsed-labels-width: 6rem;\n --sm-side-navigation-expand-transition-duration: var(\n --ic-transition-duration-slow\n );\n --side-navigation-width: 20rem;\n --sm-side-navigation-bottom-bar-height: 3.5rem;\n --keyline-lighten: var(--ic-space-1px) solid var(--ic-side-navigation-keyline);\n --keyline-darken: var(--ic-space-1px) solid var(--ic-state-layer-darken-20);\n\n --ic-button-secondary-text-monochrome: var(--ic-brand-text-color);\n --ic-button-secondary-border-monochrome: var(--ic-brand-text-color);\n z-index: var(--ic-z-index-side-navigation);\n}\n\n:host > * {\n box-sizing: border-box;\n}\n\n.side-navigation {\n display: flex;\n flex-direction: column;\n width: var(--side-navigation-width);\n color: var(--ic-side-navigation-text);\n position: var(--side-navigation-position);\n top: var(--side-navigation-position-top);\n left: calc(var(--side-navigation-width) * -1);\n bottom: 0;\n background-color: var(--ic-side-navigation-background);\n z-index: var(--ic-z-index-side-navigation);\n}\n\n:host(.ic-side-navigation-inline) .side-navigation {\n position: absolute;\n height: 100%;\n}\n\n:host(.anchor-right) .side-navigation {\n right: calc(var(--side-navigation-width) * -1);\n}\n\n.classification-spacing {\n margin-bottom: var(--ic-space-lg);\n}\n\n.navigation-list {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n\n.side-navigation-inner {\n background-color: var(--ic-side-navigation-background);\n display: flex;\n flex-direction: column;\n flex: 1 1 0;\n overflow: auto;\n}\n\n:host(.ic-side-navigation-inline) .side-navigation-inner {\n flex: 1;\n}\n\n:host(.xs-menu-open) .side-navigation {\n transition: left var(--ic-easing-transition-slow);\n left: 0;\n}\n\n:host(:has(.xs-menu-open, .xs-menu-close)) ::slotted(ic-navigation-item) {\n --navigation-item-side-nav-right: var(--ic-space-xl);\n}\n\n:host(.xs-menu-close) .side-navigation {\n left: calc(var(--side-navigation-width) * -1);\n transition: left var(--ic-easing-transition-slow);\n}\n\n:host(.xs-menu-close) .side-navigation > * {\n visibility: hidden;\n}\n\n:host(.anchor-right.xs-menu-open) .side-navigation {\n right: 0;\n left: auto;\n}\n\n:host(.anchor-right.xs-menu-close) .side-navigation {\n right: calc(var(--side-navigation-width) * -1);\n left: auto;\n transition: right var(--ic-easing-transition-slow);\n}\n\n.bottom-wrapper {\n border-top: var(--keyline-lighten);\n bottom: 0;\n left: 0;\n z-index: 2;\n background-color: var(--ic-side-navigation-background);\n display: flex;\n flex-direction: column;\n}\n\n:host(.ic-side-navigation-inline) .bottom-wrapper {\n position: sticky;\n}\n\n:host(.ic-side-navigation-dark) .bottom-wrapper {\n border-top: var(--keyline-darken);\n}\n\n/* Mobile Top Bar */\n\n.top-bar {\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: var(--side-navigation-height);\n padding: var(--ic-space-xs);\n box-sizing: border-box;\n background-color: var(--ic-side-navigation-background);\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n border-bottom: var(--keyline-lighten);\n box-shadow: var(--ic-elevation-overlay);\n z-index: 2;\n overflow: hidden;\n visibility: visible;\n}\n\n:host(.ic-side-navigation-inline) .top-bar {\n position: absolute;\n}\n\n:host(.ic-side-navigation-dark) .top-bar {\n border-bottom: var(--keyline-darken);\n}\n\n.top-bar.dark a:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.app-title-wrapper {\n display: flex;\n margin-left: var(--ic-space-xs);\n border-left: var(--keyline-lighten);\n padding-left: var(--ic-space-xxs);\n color: var(--ic-side-navigation-text);\n align-items: center;\n}\n\n:host(.ic-side-navigation-dark) .app-title-wrapper {\n border-left: var(--keyline-darken);\n}\n\n.app-title-wrapper ic-typography h1 {\n margin: 0;\n}\n\n@media screen and (min-width: 340px) {\n .app-title-wrapper ic-typography {\n margin-left: var(--ic-space-xs);\n }\n}\n\n:host .title-link {\n display: flex;\n align-items: center;\n transition: box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast);\n text-decoration: none;\n padding: var(--ic-space-xxs);\n color: var(--ic-side-navigation-text);\n}\n\n:host .title-link:visited,\n:host .title-link:active {\n color: var(--ic-side-navigation-text);\n}\n\nslot[name=\"app-title\"]::slotted(a),\nslot[name=\"app-icon\"]::slotted(a) {\n color: var(--ic-side-navigation-text);\n outline: none;\n text-decoration: none;\n display: flex;\n}\n\nslot[name=\"app-title\"]::slotted(ic-typography),\nslot[name=\"app-title\"]::slotted(a) {\n margin-left: var(--ic-space-xs) !important;\n}\n\nslot[name=\"app-title\"]::slotted(a) {\n font: var(--ic-font-subtitle-small);\n}\n\n@media screen and (min-width: 577px) {\n :host(.sm-collapsed) slot[name=\"app-title\"]::slotted(ic-typography),\n :host(.sm-collapsed) slot[name=\"app-title\"]::slotted(a) {\n position: absolute;\n left: -9999px;\n opacity: 0;\n transition: opacity var(--ic-easing-transition-slow);\n }\n\n :host(.sm-expanded) slot[name=\"app-title\"]::slotted(a) {\n font: var(--ic-font-h3) !important;\n font-weight: var(--ic-font-weight-semibold) !important;\n margin-left: var(--ic-space-xs) !important;\n }\n}\n\n:host .title-link:hover {\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-side-navigation-hover);\n}\n\n:host .title-link:active {\n background-color: var(--ic-side-navigation-pressed);\n}\n\n:host .title-link:focus,\n:host .title-link:focus-within {\n border-radius: var(--ic-border-radius);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n background-color: transparent;\n}\n\n:host .title-link ic-typography {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.app-title-wrapper ::slotted(svg) {\n fill: var(--ic-side-navigation-text);\n}\n\n.app-icon-container {\n display: none;\n}\n\n.button-label {\n display: flex;\n align-items: center;\n}\n\n.mobile-top-bar-menu-icon {\n display: flex;\n}\n\n.menu-button {\n width: 6.5rem;\n}\n\n.app-status-wrapper {\n inset: 0 var(--ic-space-sm) 0 3.5rem;\n width: auto;\n display: flex;\n gap: var(--ic-space-xs);\n padding: var(--ic-space-sm) 0;\n justify-content: flex-end;\n align-items: flex-end;\n pointer-events: none;\n height: -moz-fit-content;\n height: fit-content;\n margin: 0 var(--ic-space-xs);\n}\n\n.app-status-wrapper .app-version {\n display: flex;\n overflow-wrap: break-word;\n padding-bottom: var(--ic-space-xxs);\n}\n\n.app-status-wrapper .app-status {\n display: flex;\n border-radius: 1rem;\n background-color: var(--ic-side-navigation-text);\n color: var(--ic-side-navigation-status-tag-text);\n padding: var(--ic-space-xxs) var(--ic-space-lg);\n min-width: 1rem;\n}\n\n.app-status-wrapper .app-status-text {\n overflow-wrap: break-word;\n}\n\n:host(.ic-side-navigation-dark) .app-status-wrapper .app-status {\n --ic-typography-color: var(--ic-architectural-white);\n}\n\n.navigation-landmark-title {\n position: absolute;\n width: var(--ic-space-1px);\n height: var(--ic-space-1px);\n padding: 0;\n margin: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n}\n\n/* Navigation Group */\n\n::slotted(ic-navigation-group) {\n --navigation-group-height: 2.75rem;\n --navigation-group-width: 100%;\n --navigation-group-justify-content: space-between;\n --navigation-group-hover: var(--ic-side-navigation-hover);\n --navigation-group-text-hover: var(--ic-side-navigation-text);\n --navigation-item-child-height: 3.5rem;\n --navigation-item-child-active: var(--ic-action-dark-bg-pressed);\n --navigation-item-child-color: var(--ic-side-navigation-text);\n --navigation-group-expand-toggle-padding: 0.25rem;\n}\n\n/* Navigation Items */\n\n::slotted(ic-navigation-item),\n::slotted(ic-navigation-group) {\n --navigation-item-justify-content: flex-start;\n --navigation-item-min-height: 56px;\n --navigation-item-height: auto;\n}\n\n/* Toggle Chevron */\n\n.bottom-side-nav {\n position: relative;\n align-content: flex-end;\n min-height: var(--sm-side-navigation-top-bar-height);\n}\n\n.bottom-side-nav ic-divider {\n position: absolute;\n top: 0;\n}\n\n.primary-navigation {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n\n /* Hide scrollbar when required but keep functionality */\n scrollbar-width: none;\n}\n\n.primary-navigation::-webkit-scrollbar {\n display: none;\n}\n\n.primary-navigation,\n.secondary-navigation {\n overflow-x: hidden;\n}\n\n.bottom-side-nav .menu-expand-button {\n position: absolute;\n display: none;\n}\n\n.menu-visibility-visible {\n visibility: visible;\n width: 100%;\n}\n\n.app-title-show {\n min-width: 15.5rem;\n}\n\n:host(.side-display) {\n display: flex;\n flex-direction: column;\n height: 100vh;\n position: var(--side-navigation-position);\n left: 0;\n top: 0;\n bottom: 0;\n}\n\n:host(.side-display) .app-icon-container {\n height: 40px;\n display: flex;\n align-items: center;\n}\n\n:host(.side-display) .top-bar {\n --side-navigation-height: var(--sm-side-navigation-top-bar-height);\n\n position: relative;\n padding: 0;\n box-shadow: none;\n}\n\n:host(.ic-side-navigation-inline.side-display) .top-bar {\n position: sticky;\n}\n\n:host(.anchor-right.side-display) .top-bar {\n box-shadow: 0.188rem 0.188rem 0.5rem rgb(0 0 0 / 20%);\n}\n\n:host(.anchor-right.side-display) .bottom-wrapper {\n box-shadow: 0.188rem -0.188rem 0.5rem rgb(0 0 0 / 20%);\n}\n\n:host(.side-display) .side-navigation,\n:host(.side-display) .top-bar {\n width: var(--sm-side-navigation-top-bar-height);\n}\n\n:host(.sm-collapsed.side-display) {\n width: var(--sm-side-navigation-top-bar-height);\n transition: width var(--ic-easing-transition-slow);\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) {\n width: var(--sm-side-navigation-collapsed-labels-width);\n}\n\n:host(.sm-expanded.side-display) {\n width: var(--side-navigation-width);\n transition: width var(--ic-easing-transition-slow);\n box-shadow: var(--ic-elevation-overlay);\n}\n\n:host(.side-display) .side-navigation {\n --side-navigation-position-top: 0;\n\n flex: 1;\n position: relative;\n top: auto;\n left: auto;\n bottom: auto;\n}\n\n:host(.ic-side-navigation-inline.side-display) .side-navigation {\n position: relative;\n}\n\n:host(.anchor-right.side-display) .side-navigation {\n left: auto;\n right: 0;\n}\n\n:host(.side-display) .app-title-wrapper {\n margin-left: 0;\n border-left: none;\n padding: var(--ic-space-xs) var(--ic-space-sm);\n}\n\n:host(.side-display) .app-title-wrapper ::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host(.side-display) .app-title-wrapper ic-typography {\n font-weight: var(--ic-font-weight-semibold);\n}\n\n:host(.sm-collapsed.side-display) .app-title-wrapper ic-typography {\n position: absolute;\n left: -9999px;\n opacity: 0;\n transition: opacity var(--ic-easing-transition-slow);\n}\n\n:host(.sm-expanded.side-display) ic-typography {\n position: relative;\n left: 0;\n}\n\n:host(.sm-expanded.side-display) :is(.side-navigation, .top-bar) {\n width: var(--side-navigation-width);\n transition: width var(--ic-easing-transition-slow);\n}\n\n:host(.sm-collapsed.side-display) :is(.side-navigation, .top-bar) {\n width: var(--sm-side-navigation-top-bar-height);\n transition: width var(--ic-easing-transition-slow);\n}\n\n:host(.anchor-right.sm-expanded.side-display) :is(.side-navigation, .top-bar) {\n left: auto;\n right: 0;\n}\n\n:host(.side-display) .app-status-wrapper,\n:host(.sm-collapsed.side-display) .app-status-wrapper {\n display: none;\n margin-left: 0;\n}\n\n:host(.sm-expanded.side-display) .app-status-wrapper {\n display: flex;\n max-width: 16rem;\n margin-right: calc(var(--ic-space-xxxs) + var(--ic-space-xs));\n}\n\n:host(.side-display) .bottom-side-nav {\n justify-items: flex-end;\n align-items: flex-end;\n justify-content: flex-end;\n display: flex;\n outline: none;\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button {\n padding-left: var(--ic-space-md);\n height: var(--sm-side-navigation-top-bar-height);\n width: 100%;\n color: var(--ic-side-navigation-text);\n background-color: transparent;\n outline: var(--ic-hc-focus-outline);\n border: none;\n cursor: pointer;\n display: flex;\n transition: var(--ic-easing-transition-fast);\n}\n\n:host(.sm-expanded.side-display) .bottom-side-nav .menu-expand-button {\n height: 100%;\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button svg {\n justify-items: flex-start;\n align-self: center;\n display: inline-block;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button:hover {\n background-color: var(--ic-side-navigation-hover);\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button: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(.sm-collapsed.side-display) .bottom-side-nav .menu-expand-button svg {\n transform: scaleX(1);\n transition: transform var(--ic-easing-transition-slow);\n}\n\n:host(.sm-expanded.side-display) .bottom-side-nav .menu-expand-button svg {\n transform: scaleX(-1);\n transition: transform var(--ic-easing-transition-slow);\n align-self: flex-end;\n margin-bottom: 0.875rem;\n}\n\n:host(.anchor-right.sm-collapsed.side-display)\n .bottom-side-nav\n .menu-expand-button\n svg {\n transform: scaleX(-1);\n}\n\n:host(.anchor-right.sm-expanded.side-display)\n .bottom-side-nav\n .menu-expand-button\n svg {\n transform: scaleX(1);\n}\n\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-item) {\n --navigation-item-label-opacity: 1;\n}\n\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-item),\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-group) {\n --navigation-item-label-opacity: 0;\n --navigation-item-min-height: 3.5rem;\n --navigation-item-height: 3.5rem;\n}\n\n:host(.sm-expanded.side-display) ::slotted(ic-navigation-item),\n:host(.sm-expanded.side-display) ::slotted(ic-navigation-group) {\n --navigation-item-label-opacity: 1;\n --navigation-item-height: auto;\n --navigation-item-min-height: 3.5rem;\n --navigation-item-width: 20rem;\n --navigation-item-side-nav-right: var(--ic-space-xl);\n}\n\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-group) {\n --navigation-group-title-position: absolute;\n --navigation-group-title-position-left: -9999px;\n --navigation-group-title-opacity: none;\n}\n\n:host(.sm-expanded.side-display) ::slotted(ic-navigation-group) {\n --navigation-group-title-position: relative;\n --navigation-group-title-position-left: 0;\n --navigation-group-expand-toggle-padding: 0.25rem;\n --navigation-group-title-opacity: flex;\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) .side-navigation,\n:host(.sm-collapsed.collapsed-labels.side-display) .top-bar {\n width: var(--sm-side-navigation-collapsed-labels-width);\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) .menu-expand-button {\n padding: 0;\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) .app-title-wrapper {\n width: 100%;\n justify-content: center;\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display)\n ::slotted(ic-navigation-group) {\n --navigation-group-justify-content: center;\n --navigation-item-label-opacity: 1;\n --navigation-group-item-min-width: 100%;\n --navigation-group-expand-toggle-padding: 1rem;\n}\n\n:host(.collapsed-labels.side-display) .bottom-side-nav .menu-expand-button {\n justify-content: center;\n}\n\n:host(.side-display) .collapsed-icon-labels-start {\n visibility: hidden;\n opacity: 0;\n}\n\n:host(.side-display) .collapsed-icon-labels-end {\n visibility: visible;\n opacity: 1;\n transition: visibility 0s, opacity var(--ic-easing-transition-slow);\n}\n\n/* Media Queries */\n\n@media screen and (max-width: 419px) {\n .top-bar {\n height: var(--side-navigation-height);\n }\n .side-navigation {\n width: 100%;\n }\n}\n\n@media screen and (min-width: 340px) {\n .app-icon-container {\n display: flex;\n }\n}\n\n@media screen and (min-width: 993px) {\n :host(.side-display) {\n position: sticky;\n left: auto;\n top: 0;\n bottom: 0;\n }\n\n :host(.sm-expanded.side-display) {\n box-shadow: none;\n }\n}\n\n@media (forced-colors: active) {\n .side-navigation,\n .top-bar {\n border-right: var(--ic-border-hc);\n }\n\n .menu-expand-button {\n color: Highlight !important;\n }\n\n slot[name=\"app-icon\"]::slotted(svg) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Listen,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\n\nimport menuIcon from \"../../assets/hamburger-menu-icon.svg\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport {\n getCurrentDeviceSize,\n DEVICE_SIZES,\n checkResizeObserver,\n isSlotUsed,\n getBrandForegroundAppearance,\n getCssProperty,\n hasClassificationBanner,\n onComponentRequiredPropUndefined,\n isEmptyString,\n isPropDefined,\n} from \"../../utils/helpers\";\nimport {\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n} from \"../../utils/types\";\nimport { IcTopBar, IcExpandedDetail } from \"./ic-side-navigation.types\";\n\n/**\n * @slot app-icon - Content will be rendered adjacent to the app title at the very top of the side navigation.\n * @slot app-title - Handle routing by nesting a route in the app title.\n * @slot primary-navigation - Content will be rendered at the top of the side navigation.\n * @slot secondary-navigation - Content will be rendered at the bottom of the side navigation.\n */\n\n@Component({\n tag: \"ic-side-navigation\",\n styleUrl: \"ic-side-navigation.css\",\n shadow: true,\n})\nexport class SideNavigation {\n private ANIMATION_DURATION =\n parseInt(getCssProperty(\"--ic-transition-duration-slow\")) || 0;\n private IC_NAVIGATION_ITEM: string = \"ic-navigation-item\";\n private resizeObserver: ResizeObserver | null = null;\n private COLLAPSED_ICON_LABELS_END = \"collapsed-icon-labels-end\";\n private COLLAPSED_ICON_LABELS_START = \"collapsed-icon-labels-start\";\n private menuButton?: HTMLIcButtonElement;\n\n @Element() el: HTMLIcSideNavigationElement;\n\n @State() deviceSize: number = getCurrentDeviceSize();\n @State() deviceSizeAppTitle: number = DEVICE_SIZES.S;\n @State() foregroundColor: IcBrandForeground = getBrandForegroundAppearance();\n @State() hasSecondaryNavigation: boolean = false;\n @State() menuExpanded: boolean = false;\n @State() menuOpen: boolean = false;\n\n /**\n * The app title to be displayed. This is required, unless a slotted app title link is used.\n */\n @Prop() appTitle?: string;\n\n /**\n * If `true`, the icon and label will appear when side navigation is collapsed.\n */\n @Prop() collapsedIconLabels?: boolean = false;\n\n /**\n * If `true`, automatic parent wrapper styling will be disabled.\n */\n @Prop() disableAutoParentStyling?: boolean = false;\n\n /**\n * If `true`, the side navigation will not display as a top bar on small devices.\n */\n @Prop() disableTopBarBehaviour?: boolean = false;\n\n /**\n * If `true`, the side navigation will display in an expanded state.\n */\n @Prop() expanded?: boolean = false;\n\n @Watch(\"expanded\")\n watchExpandedHandler(): void {\n this.toggleMenuExpanded(this.expanded!);\n }\n\n /**\n * The URL that the app title link points to.\n */\n @Prop() href?: string = \"/\";\n\n /**\n * @internal If `true`, side navigation will be contained by its parent element.\n */\n @Prop() inline?: boolean = false;\n\n /**\n * The short title of the app to be displayed at small screen sizes in place of the app title.\n */\n @Prop() shortAppTitle?: string = \"\";\n\n /**\n * If `true`, the menu expand button will be removed (PLEASE NOTE: This takes effect on screen sizes 992px and above).\n */\n @Prop() static?: boolean = false;\n\n /**\n * The status of the app to be displayed.\n */\n @Prop() status?: string;\n\n /**\n * The version of the app to be displayed.\n */\n @Prop() version?: string;\n\n /**\n * Emitted when the side navigation is collapsed and expanded.\n */\n @Event() icSideNavExpanded: EventEmitter<IcExpandedDetail>;\n\n componentWillLoad(): void {\n this.setMenuExpanded(this.expanded!);\n\n if (this.collapsedIconLabels) {\n this.setCollapsedIconLabels();\n }\n\n this.hasSecondaryNavigation = isSlotUsed(this.el, \"secondary-navigation\");\n }\n\n componentDidLoad(): void {\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuExpanded,\n sideNavMobile:\n this.deviceSize === DEVICE_SIZES.S && !this.disableTopBarBehaviour,\n });\n\n checkResizeObserver(this.runResizeObserver);\n this.styleSlottedCollapsedIconLabel();\n this.arrangeSlottedNavigationItem(this.menuExpanded);\n this.displayTooltipWithExpandedLongLabel(this.menuExpanded);\n\n this.setExpandedButtonHeight();\n\n !isSlotUsed(this.el, \"app-title\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.appTitle, propName: \"app-title\" }],\n \"Side Navigation\"\n );\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n\n this.el?.removeEventListener(\"transitionend\", this.transitionEndHandler);\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler({ detail }: CustomEvent<IcBrand>): void {\n this.foregroundColor = detail.mode;\n }\n\n private emitSideNavigationExpanded = (objDetails: {\n sideNavExpanded: boolean;\n sideNavMobile?: boolean;\n }): void => {\n this.icSideNavExpanded.emit({\n sideNavExpanded: objDetails.sideNavExpanded,\n sideNavMobile: !!objDetails.sideNavMobile,\n });\n };\n\n private toggleMenu = (): void => {\n this.menuOpen = !this.menuOpen;\n this.setMobileMenuAriaAttributes(this.menuOpen);\n\n this.arrangeSlottedNavigationItem(this.menuOpen);\n\n this.setToggleMenuFlyoutMenuVisibility(this.menuOpen);\n\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuOpen,\n sideNavMobile: true,\n });\n };\n\n private setToggleMenuFlyoutMenuVisibility = (menuOpen: boolean) => {\n const sideNav = this.el.shadowRoot?.querySelector(\n \"#side-navigation\"\n ) as HTMLDivElement;\n const sideNavInner = sideNav.querySelector(\n \".side-navigation-inner\"\n ) as HTMLElement;\n const bottomWrapper = sideNav.querySelector(\n \".bottom-wrapper\"\n ) as HTMLElement;\n\n const menuVisibilityVisible = \"menu-visibility-visible\";\n\n if (menuOpen) {\n bottomWrapper.classList.add(menuVisibilityVisible);\n sideNavInner.classList.add(menuVisibilityVisible);\n } else {\n setTimeout(() => {\n sideNavInner.classList.remove(menuVisibilityVisible);\n bottomWrapper.classList.remove(menuVisibilityVisible);\n }, this.ANIMATION_DURATION);\n }\n };\n\n private setMobileMenuAriaAttributes = (menuOpen: boolean) => {\n if (this.menuButton) {\n this.menuButton.setAttribute(\"aria-expanded\", `${menuOpen}`);\n this.menuButton.setAttribute(\n \"aria-label\",\n `${menuOpen ? \"Close\" : \"Open\"} navigation menu`\n );\n }\n };\n\n private setAndRemoveNoWrapAfterMenuExpanded = () => {\n const appTitle =\n this.el.shadowRoot?.querySelector(\".title-link ic-typography\") ||\n this.el.querySelector(\"[slot='app-title']\");\n\n appTitle?.classList.add(\"ic-typography-no-wrap\");\n\n setTimeout(() => {\n appTitle?.classList.remove(\"ic-typography-no-wrap\");\n }, this.ANIMATION_DURATION);\n };\n\n private toggleMenuExpanded = (expanded: boolean): void => {\n if (this.deviceSize > DEVICE_SIZES.S) {\n this.menuExpanded = expanded;\n }\n\n if (this.menuExpanded) {\n this.setAndRemoveNoWrapAfterMenuExpanded();\n this.el.shadowRoot\n ?.querySelector(\".app-title-inner-wrapper\")\n ?.classList.add(\"app-title-show\");\n } else {\n this.el.style.setProperty(\"--navigation-item-width\", \"320px\");\n this.el.shadowRoot\n ?.querySelector(\".app-title-inner-wrapper\")\n ?.classList.remove(\"app-title-show\");\n\n this.el.addEventListener(\"transitionend\", (e) => {\n if (e.propertyName === \"width\") {\n this.el.style.setProperty(\"--navigation-item-width\", null);\n }\n });\n }\n\n this.arrangeSlottedNavigationItem(this.menuExpanded);\n\n this.displayTooltipWithExpandedLongLabel(this.menuExpanded);\n\n if (this.collapsedIconLabels) {\n this.animateCollapsedIconLabels();\n }\n\n this.setExpandedButtonHeight();\n this.emitSideNavigationExpanded({ sideNavExpanded: this.menuExpanded });\n };\n\n /**\n * In order to style nested slotted elements (e.g. using React Router components), this method\n * rearranges the a tag and labels and adds inline styling expand/collapsed animations as external CSS classes are not\n * do not take affect.\n * @param menuExpanded boolean - true or false depending on side navigation state\n */\n private arrangeSlottedNavigationItem = (menuExpanded?: boolean) => {\n const navItems = this.el.querySelectorAll(\"ic-navigation-item\");\n navItems.forEach((navItem) => {\n const isNamedSlot = isSlotUsed(navItem, \"navigation-item\");\n const isUnnamedSlot =\n navItem.children[0] && !navItem.children[0].getAttribute(\"slot\");\n if (isNamedSlot || isUnnamedSlot) {\n let navItemSlot;\n if (isNamedSlot) {\n navItemSlot = navItem.querySelector(\"[slot='navigation-item']\");\n } else {\n navItemSlot = navItem.children[0];\n }\n const iconWrapper = document.createElement(\"div\");\n const icon = navItemSlot?.querySelector(\"svg\");\n const badge = navItemSlot?.querySelector(\"ic-badge\");\n const label = navItem.textContent?.trim();\n const icTypography = document.createElement(\"ic-typography\");\n icTypography.classList.add(\n \"ic-typography-label\",\n \"hydrated\",\n \"navigation-item-side-nav-slotted-text\"\n );\n\n iconWrapper.style.position = \"relative\";\n iconWrapper.style.height = \"var(--ic-space-lg)\";\n\n icon && iconWrapper.append(icon);\n badge && iconWrapper.append(badge);\n\n if (label) {\n icTypography.textContent = label;\n }\n\n if (navItemSlot) {\n navItemSlot.textContent = \"\";\n navItemSlot.append(iconWrapper);\n navItemSlot.append(icTypography);\n }\n\n if (this.collapsedIconLabels) {\n this.styleSlottedCollapsedIconLabels(!!menuExpanded, icTypography);\n } else {\n this.styleSlottedIconLabels(!!menuExpanded, icTypography);\n }\n }\n });\n };\n\n private styleSlottedCollapsedIconLabels = (\n menuExpanded: boolean,\n icTypography: HTMLIcTypographyElement\n ) => {\n if (menuExpanded) {\n icTypography.style.marginTop = \"0\";\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n } else {\n icTypography.style.marginTop = \"10px\";\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n }\n };\n\n private setExpandedButtonHeight = () => {\n const appStatusWrapper = this.el.shadowRoot?.querySelector(\n \"#side-navigation > .bottom-wrapper > .bottom-side-nav > .app-status-wrapper\"\n ) as HTMLDivElement;\n\n if (appStatusWrapper.offsetHeight !== 0) {\n this.el.style.setProperty(\n \"--sm-side-navigation-bottom-bar-height\",\n `${appStatusWrapper.offsetHeight}px`\n );\n }\n };\n\n private styleSlottedIconLabels = (\n menuExpanded: boolean,\n icTypography: HTMLSpanElement\n ) => {\n if (menuExpanded) {\n icTypography.style.opacity = \"1\";\n icTypography.style.visibility = \"visible\";\n icTypography.style.transition =\n \"visibility 0s, opacity var(--ic-easing-transition-slow)\";\n } else {\n icTypography.style.opacity = \"0\";\n icTypography.style.visibility = \"hidden\";\n icTypography.style.transition =\n \"visibility 0s, opacity var(--ic-easing-transition-slow)\";\n }\n };\n\n private transitionHandler = (type: string) => {\n const primaryNavigationWrapper = this.el.shadowRoot?.querySelector(\n \".primary-navigation\"\n );\n\n const secondaryNavigationWrapper = this.el.shadowRoot?.querySelector(\n \".bottom-wrapper > .secondary-navigation\"\n );\n\n const classToRemove =\n type === \"start\"\n ? this.COLLAPSED_ICON_LABELS_END\n : this.COLLAPSED_ICON_LABELS_START;\n\n const classToAdd =\n type === \"start\"\n ? this.COLLAPSED_ICON_LABELS_START\n : this.COLLAPSED_ICON_LABELS_END;\n\n if (primaryNavigationWrapper) {\n primaryNavigationWrapper.classList.remove(classToRemove);\n primaryNavigationWrapper.classList.add(classToAdd);\n }\n\n if (secondaryNavigationWrapper) {\n secondaryNavigationWrapper.classList.remove(classToRemove);\n secondaryNavigationWrapper.classList.add(classToAdd);\n }\n };\n\n private transitionEndHandler = () => {\n this.transitionHandler(\"end\");\n };\n\n private animateCollapsedIconLabels = () => {\n this.transitionHandler(\"start\");\n this.transitionEndHandler();\n\n this.el.addEventListener(\"transitionend\", this.transitionEndHandler);\n };\n\n private paddingIconWidth = (\n navItems: HTMLIcNavigationItemElement[]\n ): number => {\n const navItemLink =\n (navItems[0].shadowRoot &&\n (navItems[0].shadowRoot.querySelector(\"ic-tooltip a\") ||\n navItems[0].shadowRoot.querySelector(\"ic-tooltip div\"))) ||\n navItems[0].querySelector(\"a\") ||\n navItems[0].querySelector(\"div\");\n const navItemSVG = navItems[0].querySelector(\"svg\");\n\n if (navItemLink && navItemSVG) {\n const navStyles = {\n gap: window.getComputedStyle(navItemLink).gap,\n iconWidth: window.getComputedStyle(navItemSVG).width,\n paddingLeft: window.getComputedStyle(navItemLink).paddingLeft,\n };\n\n return Object.values(navStyles).reduce((prev, curr) => {\n return (prev += parseInt(curr));\n }, 0);\n }\n\n return 0;\n };\n\n private displayTooltipWithExpandedLongLabel = (menuExpanded: boolean) => {\n let timer;\n\n if (menuExpanded) {\n timer = setTimeout(() => {\n const sideNavWidth = this.el.clientWidth;\n\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n\n const paddingIconDelta = navigationItems.length\n ? this.paddingIconWidth(navigationItems)\n : 0;\n\n navigationItems.forEach(\n (navigationItem: HTMLIcNavigationItemElement) => {\n const icTypographyScrollWidth =\n (\n navigationItem.shadowRoot &&\n navigationItem.shadowRoot.querySelector(\n \"ic-tooltip .link ic-typography.ic-typography-label\"\n )\n )?.scrollWidth ||\n navigationItem.querySelector(\"ic-typography.ic-typography-label\")\n ?.scrollWidth;\n\n if (\n icTypographyScrollWidth &&\n icTypographyScrollWidth > sideNavWidth - paddingIconDelta\n ) {\n navigationItem.setAttribute(\"display-navigation-tooltip\", \"true\");\n }\n }\n );\n }, this.ANIMATION_DURATION);\n } else {\n clearTimeout(timer);\n\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n navigationItems.forEach((navigationItem: HTMLIcNavigationItemElement) => {\n navigationItem.setAttribute(\"display-navigation-tooltip\", \"false\");\n });\n }\n };\n\n private setMenuExpanded = (expanded: boolean): void => {\n this.menuExpanded = expanded;\n };\n\n /**\n * As the mobile top bar is fixed, a padding top is required\n * to push main content down the height of the mobile top bar\n * @param value - padding-top css value\n */\n private setParentPaddingTop = (value: string) => {\n this.el.parentElement?.style.setProperty(\"padding-top\", value);\n };\n\n private setParentPaddingLeft = (value: string) => {\n this.el.parentElement?.style.setProperty(\"padding-left\", value);\n };\n\n private renderAppTitle = (isAppNameSubtitleVariant: boolean) => {\n const displayShortAppTitle =\n this.deviceSize <= DEVICE_SIZES.S && !isEmptyString(this.shortAppTitle!);\n return (\n <ic-typography\n variant={\n displayShortAppTitle || isAppNameSubtitleVariant\n ? \"subtitle-small\"\n : \"h3\"\n }\n aria-label={\n displayShortAppTitle\n ? `${this.appTitle} (${this.shortAppTitle})`\n : undefined\n }\n >\n <h1>{displayShortAppTitle ? this.shortAppTitle : this.appTitle}</h1>\n </ic-typography>\n );\n };\n\n private resizeObserverCallback = (currSize: number) => {\n this.deviceSize = currSize;\n\n const isSmallAndDisableTopBar =\n currSize === DEVICE_SIZES.S && !this.disableTopBarBehaviour;\n\n if (!this.disableAutoParentStyling) {\n const topBarHeight =\n this.el.shadowRoot?.querySelector(\".top-bar\")?.scrollHeight;\n this.setParentPaddingTop(\n isSmallAndDisableTopBar ? `${topBarHeight}px` : \"0\"\n );\n if (isSmallAndDisableTopBar) this.setParentPaddingLeft(\"0\");\n if (isSmallAndDisableTopBar && this.inline) {\n this.el.parentElement?.style.setProperty(\n \"height\",\n `calc(100% - ${topBarHeight}px)`\n );\n } else if (!isSmallAndDisableTopBar) {\n this.el.parentElement?.style.setProperty(\"height\", \"100%\");\n }\n }\n\n if (!this.disableAutoParentStyling) {\n const paddingLeft = `calc(var(--ic-space-xxl) ${\n this.collapsedIconLabels ? \"* 2\" : \"+ var(--ic-space-xs)\"\n })`;\n\n if (currSize > DEVICE_SIZES.L) {\n this.setParentPaddingTop(\"0\");\n this.setParentPaddingLeft(\"0\");\n } else if (\n (currSize > DEVICE_SIZES.S || this.disableTopBarBehaviour) &&\n currSize <= DEVICE_SIZES.M &&\n this.static\n ) {\n this.setParentPaddingLeft(paddingLeft);\n } else if (\n (currSize > DEVICE_SIZES.S || this.disableTopBarBehaviour) &&\n currSize <= DEVICE_SIZES.L\n ) {\n this.setParentPaddingLeft(\n this.static && this.menuExpanded\n ? \"calc(var(--ic-space-xl) * 10)\"\n : paddingLeft\n );\n }\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.deviceSizeAppTitle = currSize;\n this.resizeObserverCallback(currSize);\n });\n\n this.resizeObserver.observe(document.body, { box: \"content-box\" });\n };\n\n private setCollapsedIconLabels = () => {\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n navigationItems.forEach((navigationItem: HTMLIcNavigationItemElement) => {\n navigationItem.setAttribute(\"collapsed-icon-label\", \"true\");\n });\n };\n\n private styleSlottedCollapsedIconLabel = () => {\n const dynamicSlottedIcTypographyComps: HTMLIcTypographyElement[] =\n Array.from(\n this.el.querySelectorAll(\".navigation-item-side-nav-slotted-text\")\n );\n\n dynamicSlottedIcTypographyComps.forEach((icTypography) => {\n if (\n icTypography.parentElement?.parentElement?.classList.contains(\n \"navigation-item-side-nav-collapsed-with-label\"\n )\n ) {\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n icTypography.style.marginTop = \"10px\";\n }\n });\n };\n\n private renderTopBar = ({\n isSDevice,\n foregroundColor,\n menuOpen,\n href,\n isAppNameSubtitleVariant,\n }: IcTopBar) => {\n const hasTitle = this.appTitle !== \"\" && isPropDefined(this.appTitle);\n\n const Component = isSlotUsed(this.el, \"app-title\") ? \"div\" : \"a\";\n\n const attrs = Component == \"a\" && {\n href: href,\n };\n\n return (\n <div\n class={{\n \"top-bar\": true,\n [this.foregroundColor]: true,\n }}\n >\n {isSDevice && (\n <nav\n aria-labelledby=\"menu-navigation-toggle-button-landmark\"\n aria-hidden=\"false\"\n >\n <ic-button\n aria-label=\"Open navigation menu\"\n class=\"menu-button\"\n id=\"menu-button\"\n variant=\"secondary\"\n size=\"small\"\n full-width=\"true\"\n theme={\n foregroundColor == \"default\" || foregroundColor == \"light\"\n ? \"light\"\n : \"dark\"\n }\n monochrome\n onClick={this.toggleMenu}\n ariaOwnsId=\"side-navigation\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n ref={(el) => (this.menuButton = el)}\n >\n <span\n class=\"mobile-top-bar-menu-icon\"\n slot=\"left-icon\"\n innerHTML={menuOpen ? closeIcon : menuIcon}\n ></span>\n {menuOpen ? \"Close\" : \"Menu\"}\n </ic-button>\n <span\n id=\"menu-navigation-toggle-button-landmark\"\n class=\"navigation-landmark-title\"\n aria-hidden=\"true\"\n >\n Navigation menu toggle button\n </span>\n </nav>\n )}\n <div class=\"app-title-wrapper\">\n {(hasTitle || isSlotUsed(this.el, \"app-title\")) && (\n <Component {...attrs} class=\"title-link\">\n <div class=\"app-icon-container\" aria-hidden=\"true\">\n <slot name=\"app-icon\"></slot>\n </div>\n <div class=\"app-title-inner-wrapper\">\n {isSlotUsed(this.el, \"app-title\") ? (\n <slot name=\"app-title\"></slot>\n ) : (\n this.renderAppTitle(isAppNameSubtitleVariant)\n )}\n </div>\n </Component>\n )}\n </div>\n </div>\n );\n };\n\n render() {\n const {\n appTitle,\n menuOpen,\n foregroundColor,\n menuExpanded,\n href,\n status,\n version,\n collapsedIconLabels,\n inline,\n } = this;\n\n const isSDevice =\n !this.disableTopBarBehaviour && this.deviceSize === DEVICE_SIZES.S;\n const isMdDevice = this.deviceSize === DEVICE_SIZES.M;\n const isLgDevice = this.deviceSize >= DEVICE_SIZES.L;\n const isAppNameSubtitleVariant = this.deviceSizeAppTitle === DEVICE_SIZES.S;\n const displayExpandBtn =\n isMdDevice || this.disableTopBarBehaviour || (isLgDevice && !this.static);\n\n const topBarProps: IcTopBar = {\n isSDevice,\n foregroundColor,\n menuOpen,\n href: href!,\n isAppNameSubtitleVariant,\n appTitle: appTitle || \"\",\n };\n\n return (\n <Host\n class={{\n \"xs-menu-open\": menuOpen && isSDevice,\n \"xs-menu-close\": !menuOpen && isSDevice,\n \"sm-collapsed\": !isSDevice && !menuExpanded,\n \"sm-expanded\": !isSDevice && menuExpanded,\n \"side-display\":\n this.deviceSize > DEVICE_SIZES.S || !!this.disableTopBarBehaviour,\n [`ic-side-navigation-${IcBrandForegroundEnum.Dark}`]:\n foregroundColor === IcBrandForegroundEnum.Dark,\n [\"collapsed-labels\"]:\n !isSDevice && !menuExpanded && !!collapsedIconLabels,\n [\"ic-side-navigation-inline\"]: !!inline,\n }}\n >\n {isSDevice && this.renderTopBar({ ...topBarProps })}\n <div class=\"side-navigation\" id=\"side-navigation\">\n {!isSDevice && this.renderTopBar({ ...topBarProps })}\n <div class=\"side-navigation-inner\">\n {isSlotUsed(this.el, \"primary-navigation\") && (\n <nav\n class=\"primary-navigation\"\n aria-labelledby=\"primary-navigation-landmark\"\n >\n <span\n aria-hidden=\"true\"\n class=\"navigation-landmark-title\"\n id=\"primary-navigation-landmark\"\n >\n Primary\n </span>\n <ul class=\"navigation-list\">\n <slot name=\"primary-navigation\"></slot>\n </ul>\n </nav>\n )}\n </div>\n <div\n class={{\n [\"bottom-wrapper\"]: true,\n [\"classification-spacing\"]: hasClassificationBanner(),\n }}\n >\n {isSlotUsed(this.el, \"secondary-navigation\") && (\n <nav\n class=\"secondary-navigation\"\n aria-labelledby=\"secondary-navigation-landmark\"\n >\n <span\n aria-hidden=\"true\"\n class=\"navigation-landmark-title\"\n id=\"secondary-navigation-landmark\"\n >\n Secondary\n </span>\n <ul class=\"navigation-list\">\n <slot name=\"secondary-navigation\"></slot>\n </ul>\n </nav>\n )}\n <div class=\"bottom-side-nav\">\n {this.hasSecondaryNavigation && <ic-divider></ic-divider>}\n {displayExpandBtn && (\n <button\n class=\"menu-expand-button\"\n innerHTML={chevronIcon}\n onClick={() => this.toggleMenuExpanded(!this.menuExpanded)}\n aria-label={`${\n menuExpanded ? \"Collapse\" : \"Expand\"\n } side navigation`}\n ></button>\n )}\n <div class=\"app-status-wrapper\">\n {status !== \"\" && (\n <div\n class={{\n [\"app-status\"]: true,\n }}\n >\n <ic-typography\n aria-label=\"app tag\"\n variant=\"label-uppercase\"\n class=\"app-status-text\"\n >\n {status}\n </ic-typography>\n </div>\n )}\n {version !== \"\" && (\n <ic-typography\n variant=\"label\"\n class=\"app-version\"\n aria-label=\"app version\"\n >\n {version}\n </ic-typography>\n )}\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"ic-skeleton.js","mappings":";;AAAA,MAAM,aAAa,GAAG,i7FAAi7F,CAAC;AACx8F,yBAAe,aAAa;;ACG5B,MAAM,eAAe,GAAG;IACtB,IAAI,EAAE,KAAK;IACX,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,MAAM;CAClB,CAAC;MAOW,QAAQ;IALrB;;;;;;;QAWU,UAAK,GAAiB,SAAS,CAAC;;;;QAKhC,YAAO,GAAwB,WAAW,CAAC;KA0BpD;IAxBC,MAAM;QACJ,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAEpC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,iBAAiB;cAC/B;gBACE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,eAAe,CAAC,OAAQ,CAAC;gBACpD,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,KAAK,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;aACnE;cACD,SAAS,CAAC;QAEd,QACE,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI;gBACd,oBAAoB,EAAE,OAAO,KAAK,QAAQ;gBAC1C,CAAC,YAAY,KAAK,EAAE,GAAG,KAAK,KAAK,SAAS;aAC3C,EACD,KAAK,EAAE,KAAK,mBACE,MAAM,IAEpB,8DAAQ,CACH,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/ic-skeleton/ic-skeleton.css?tag=ic-skeleton&encapsulation=shadow","src/components/ic-skeleton/ic-skeleton.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n@keyframes loading {\n 0% {\n background-color: var(--ic-skeleton-background);\n }\n\n 50% {\n background-color: var(--ic-skeleton-background-secondary);\n }\n\n 100% {\n background-color: var(--ic-skeleton-background);\n }\n}\n\n:host(.skeleton) {\n background-color: var(--ic-skeleton-background);\n border-radius: var(--ic-border-radius);\n animation: loading 1200ms infinite;\n display: inline-block;\n}\n\n:host(.skeleton) > * {\n opacity: 0;\n visibility: hidden;\n}\n\n:host(.ic-skeleton-circle) {\n border-radius: 50%;\n}\n\n@media (forced-colors: active) {\n :host(.skeleton) {\n -ms-high-contrast-adjust: none;\n forced-color-adjust: none;\n background: currentcolor;\n }\n}\n","import { Component, Element, Host, Prop, h } from \"@stencil/core\";\nimport { IcSkeletonVariants } from \"./ic-skeleton.types\";\nimport { IcThemeMode } from \"../../utils/types\";\n\nconst DEFAULT_HEIGHTS = {\n text: \"1em\",\n circle: \"25px\",\n rectangle: \"93px\",\n};\n\n@Component({\n tag: \"ic-skeleton\",\n styleUrl: \"ic-skeleton.css\",\n shadow: true,\n})\nexport class Skeleton {\n @Element() el: HTMLIcSkeletonElement;\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 * The variant of the skeleton that will be displayed.\n */\n @Prop() variant?: IcSkeletonVariants = \"rectangle\";\n\n render() {\n const { variant, theme, el } = this;\n\n const style = !el.firstElementChild\n ? {\n height: el.style.height || DEFAULT_HEIGHTS[variant!],\n width: el.style.width || (variant === \"circle\" ? \"25px\" : \"260px\"),\n }\n : undefined;\n\n return (\n <Host\n class={{\n skeleton: true,\n \"ic-skeleton-circle\": variant === \"circle\",\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n style={style}\n aria-disabled=\"true\"\n >\n <slot />\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-skeleton.js","mappings":";;AAAA,MAAM,aAAa,GAAG,i7FAAi7F,CAAC;AACx8F,yBAAe,aAAa;;ACG5B,MAAM,eAAe,GAAG;IACtB,IAAI,EAAE,KAAK;IACX,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,MAAM;CAClB,CAAC;MAOW,QAAQ;IALrB;;;;;;;QAWU,UAAK,GAAiB,SAAS,CAAC;;;;QAKhC,YAAO,GAAwB,WAAW,CAAC;KA0BpD;IAxBC,MAAM;QACJ,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAEpC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,iBAAiB;cAC/B;gBACE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,eAAe,CAAC,OAAQ,CAAC;gBACpD,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,KAAK,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;aACnE;cACD,SAAS,CAAC;QAEd,QACE,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI;gBACd,oBAAoB,EAAE,OAAO,KAAK,QAAQ;gBAC1C,CAAC,YAAY,KAAK,EAAE,GAAG,KAAK,KAAK,SAAS;aAC3C,EACD,KAAK,EAAE,KAAK,mBACE,MAAM,IAEpB,8DAAQ,CACH,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/ic-skeleton/ic-skeleton.css?tag=ic-skeleton&encapsulation=shadow","src/components/ic-skeleton/ic-skeleton.tsx"],"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@keyframes loading {\n 0% {\n background-color: var(--ic-skeleton-background);\n }\n\n 50% {\n background-color: var(--ic-skeleton-background-secondary);\n }\n\n 100% {\n background-color: var(--ic-skeleton-background);\n }\n}\n\n:host(.skeleton) {\n background-color: var(--ic-skeleton-background);\n border-radius: var(--ic-border-radius);\n animation: loading 1200ms infinite;\n display: inline-block;\n}\n\n:host(.skeleton) > * {\n opacity: 0;\n visibility: hidden;\n}\n\n:host(.ic-skeleton-circle) {\n border-radius: 50%;\n}\n\n@media (forced-colors: active) {\n :host(.skeleton) {\n -ms-high-contrast-adjust: none;\n forced-color-adjust: none;\n background: currentcolor;\n }\n}\n","import { Component, Element, Host, Prop, h } from \"@stencil/core\";\nimport { IcSkeletonVariants } from \"./ic-skeleton.types\";\nimport { IcThemeMode } from \"../../utils/types\";\n\nconst DEFAULT_HEIGHTS = {\n text: \"1em\",\n circle: \"25px\",\n rectangle: \"93px\",\n};\n\n@Component({\n tag: \"ic-skeleton\",\n styleUrl: \"ic-skeleton.css\",\n shadow: true,\n})\nexport class Skeleton {\n @Element() el: HTMLIcSkeletonElement;\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 * The variant of the skeleton that will be displayed.\n */\n @Prop() variant?: IcSkeletonVariants = \"rectangle\";\n\n render() {\n const { variant, theme, el } = this;\n\n const style = !el.firstElementChild\n ? {\n height: el.style.height || DEFAULT_HEIGHTS[variant!],\n width: el.style.width || (variant === \"circle\" ? \"25px\" : \"260px\"),\n }\n : undefined;\n\n return (\n <Host\n class={{\n skeleton: true,\n \"ic-skeleton-circle\": variant === \"circle\",\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n style={style}\n aria-disabled=\"true\"\n >\n <slot />\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { d as defineCustomElement$2 } from './ic-link2.js';
3
3
 
4
- const icSkipLinkCss = "ic-link{position:absolute;left:-9999px}ic-link:focus{z-index:var(--ic-z-index-skip-link);left:var(--ic-space-sm);padding:var(--ic-space-sm);box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius)}.display-top:focus{top:var(--ic-space-sm)}.full-width:focus{display:flex;justify-content:center;right:var(--ic-space-sm)}.show-background{background:var(--ic-skip-link-background)}";
4
+ const icSkipLinkCss = ":host{display:block}ic-link{position:absolute;left:-9999px}ic-link:focus{z-index:var(--ic-z-index-skip-link);left:var(--ic-space-sm);padding:var(--ic-space-sm);box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);width:-moz-fit-content;width:fit-content}.display-top:focus{top:var(--ic-skip-link-position-top, var(--ic-space-sm))}.inline:focus{position:static;display:inline-block;margin:var(--ic-space-xs) 0}.full-width:focus{display:flex;right:var(--ic-space-sm);width:auto}.inline.full-width:focus{justify-content:start}.show-background{background:var(--ic-skip-link-background)}";
5
5
  const IcSkipLinkStyle0 = icSkipLinkCss;
6
6
 
7
7
  const SkipLink = /*@__PURE__*/ proxyCustomElement(class SkipLink extends HTMLElement {
@@ -10,19 +10,19 @@ const SkipLink = /*@__PURE__*/ proxyCustomElement(class SkipLink extends HTMLEle
10
10
  this.__registerHost();
11
11
  this.__attachShadow();
12
12
  /**
13
- * If `true`, the link will fill the width of the page.
13
+ * If `true`, the skip link will fill the width of the page.
14
14
  */
15
15
  this.fullWidth = false;
16
16
  /**
17
- * If `true`, the link will appear inline with surrounding page content when focused.
17
+ * If `true`, the skip link will appear inline with surrounding page content when focused.
18
18
  */
19
19
  this.inline = false;
20
20
  /**
21
- * The label displayed when the link is focused.
21
+ * The label displayed when the skip link is focused.
22
22
  */
23
23
  this.label = "Skip to main content";
24
24
  /**
25
- * If `true`, the link will display as black in the light theme, and white in the dark theme.
25
+ * If `true`, the skip link will display as black in the light theme, and white in the dark theme.
26
26
  */
27
27
  this.monochrome = false;
28
28
  /**
@@ -36,13 +36,14 @@ const SkipLink = /*@__PURE__*/ proxyCustomElement(class SkipLink extends HTMLEle
36
36
  }
37
37
  render() {
38
38
  const { fullWidth, inline, label, monochrome, target, theme, transparentBackground, } = this;
39
- return (h(Host, { key: '4baf3d6889dd78858a743a8f67196b6f491a05ad', class: {
39
+ return (h(Host, { key: 'ed2c4e6527f04dbf634a971c0f8e5ebc6655f27e', class: {
40
40
  [`ic-theme-${theme}`]: theme !== "inherit",
41
- } }, h("ic-link", { key: '77b4fb3b7edb92f9438394640fc0815af8b69b4b', class: {
41
+ } }, h("ic-link", { key: 'f72fcc3cdff5e39b0ed5ca843feed93241ff5603', class: {
42
42
  "display-top": !inline,
43
- "full-width": fullWidth,
43
+ "full-width": !!fullWidth,
44
44
  "show-background": !transparentBackground,
45
- }, href: target, monochrome: monochrome, theme: theme }, label)));
45
+ inline: !!inline,
46
+ }, href: `#${target}`, monochrome: monochrome, theme: theme }, label)));
46
47
  }
47
48
  get el() { return this; }
48
49
  static get style() { return IcSkipLinkStyle0; }
@@ -1 +1 @@
1
- {"file":"ic-skip-link.js","mappings":";;;AAAA,MAAM,aAAa,GAAG,0YAA0Y,CAAC;AACja,yBAAe,aAAa;;MCOf,QAAQ;IALrB;;;;;;;QAWU,cAAS,GAAG,KAAK,CAAC;;;;QAKlB,WAAM,GAAG,KAAK,CAAC;;;;QAKf,UAAK,GAAG,sBAAsB,CAAC;;;;QAK/B,eAAU,GAAG,KAAK,CAAC;;;;QAUnB,UAAK,GAAgB,SAAS,CAAC;;;;QAK/B,0BAAqB,GAAG,KAAK,CAAC;KAkCvC;IAhCC,MAAM;QACJ,MAAM,EACJ,SAAS,EACT,MAAM,EACN,KAAK,EACL,UAAU,EACV,MAAM,EACN,KAAK,EACL,qBAAqB,GACtB,GAAG,IAAI,CAAC;QAET,QACE,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,CAAC,YAAY,KAAK,EAAE,GAAG,KAAK,KAAK,SAAS;aAC3C,IAED,gEACE,KAAK,EAAE;gBACL,aAAa,EAAE,CAAC,MAAM;gBACtB,YAAY,EAAE,SAAS;gBACvB,iBAAiB,EAAE,CAAC,qBAAqB;aAC1C,EACD,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,IAEX,KAAK,CACE,CACL,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/ic-skip-link/ic-skip-link.css?tag=ic-skip-link&encapsulation=shadow","src/components/ic-skip-link/ic-skip-link.tsx"],"sourcesContent":["ic-link {\n position: absolute;\n left: -9999px;\n}\n\nic-link:focus {\n z-index: var(--ic-z-index-skip-link);\n left: var(--ic-space-sm);\n padding: var(--ic-space-sm);\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n}\n\n.display-top:focus {\n top: var(--ic-space-sm);\n}\n\n.full-width:focus {\n display: flex;\n justify-content: center;\n right: var(--ic-space-sm);\n}\n\n.show-background {\n background: var(--ic-skip-link-background);\n}\n","import { Component, Element, h, Host, Prop } from \"@stencil/core\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-skip-link\",\n styleUrl: \"ic-skip-link.css\",\n shadow: true,\n})\nexport class SkipLink {\n @Element() el: HTMLIcSkipLinkElement;\n\n /**\n * If `true`, the link will fill the width of the page.\n */\n @Prop() fullWidth = false;\n\n /**\n * If `true`, the link will appear inline with surrounding page content when focused.\n */\n @Prop() inline = false;\n\n /**\n * The label displayed when the link is focused.\n */\n @Prop() label = \"Skip to main content\";\n\n /**\n * If `true`, the link will display as black in the light theme, and white in the dark theme.\n */\n @Prop() monochrome = false;\n\n /**\n * The target ID for the element which should receive focus when triggering the skip link.\n */\n @Prop() target!: 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 background will be hidden.\n */\n @Prop() transparentBackground = false;\n\n render() {\n const {\n fullWidth,\n inline,\n label,\n monochrome,\n target,\n theme,\n transparentBackground,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <ic-link\n class={{\n \"display-top\": !inline,\n \"full-width\": fullWidth,\n \"show-background\": !transparentBackground,\n }}\n href={target}\n monochrome={monochrome}\n theme={theme}\n >\n {label}\n </ic-link>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-skip-link.js","mappings":";;;AAAA,MAAM,aAAa,GAAG,2lBAA2lB,CAAC;AAClnB,yBAAe,aAAa;;MCOf,QAAQ;IALrB;;;;;;;QAWU,cAAS,GAAY,KAAK,CAAC;;;;QAK3B,WAAM,GAAY,KAAK,CAAC;;;;QAKxB,UAAK,GAAW,sBAAsB,CAAC;;;;QAKvC,eAAU,GAAY,KAAK,CAAC;;;;QAU5B,UAAK,GAAgB,SAAS,CAAC;;;;QAK/B,0BAAqB,GAAY,KAAK,CAAC;KAmChD;IAjCC,MAAM;QACJ,MAAM,EACJ,SAAS,EACT,MAAM,EACN,KAAK,EACL,UAAU,EACV,MAAM,EACN,KAAK,EACL,qBAAqB,GACtB,GAAG,IAAI,CAAC;QAET,QACE,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,CAAC,YAAY,KAAK,EAAE,GAAG,KAAK,KAAK,SAAS;aAC3C,IAED,gEACE,KAAK,EAAE;gBACL,aAAa,EAAE,CAAC,MAAM;gBACtB,YAAY,EAAE,CAAC,CAAC,SAAS;gBACzB,iBAAiB,EAAE,CAAC,qBAAqB;gBACzC,MAAM,EAAE,CAAC,CAAC,MAAM;aACjB,EACD,IAAI,EAAE,IAAI,MAAM,EAAE,EAClB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,IAEX,KAAK,CACE,CACL,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/ic-skip-link/ic-skip-link.css?tag=ic-skip-link&encapsulation=shadow","src/components/ic-skip-link/ic-skip-link.tsx"],"sourcesContent":["/**\n* @prop --ic-skip-link-position-top: The top position of the skip link when it is not displayed inline and has an absolute position.\n*/\n\n:host {\n display: block;\n}\n\nic-link {\n position: absolute;\n left: -9999px;\n}\n\nic-link:focus {\n z-index: var(--ic-z-index-skip-link);\n left: var(--ic-space-sm);\n padding: var(--ic-space-sm);\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n width: -moz-fit-content;\n width: fit-content;\n}\n\n.display-top:focus {\n top: var(--ic-skip-link-position-top, var(--ic-space-sm));\n}\n\n.inline:focus {\n position: static;\n display: inline-block;\n margin: var(--ic-space-xs) 0;\n}\n\n.full-width:focus {\n display: flex;\n right: var(--ic-space-sm);\n width: auto;\n}\n\n.inline.full-width:focus {\n justify-content: start;\n}\n\n.show-background {\n background: var(--ic-skip-link-background);\n}\n","import { Component, Element, h, Host, Prop } from \"@stencil/core\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-skip-link\",\n styleUrl: \"ic-skip-link.css\",\n shadow: true,\n})\nexport class SkipLink {\n @Element() el: HTMLIcSkipLinkElement;\n\n /**\n * If `true`, the skip link will fill the width of the page.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * If `true`, the skip link will appear inline with surrounding page content when focused.\n */\n @Prop() inline: boolean = false;\n\n /**\n * The label displayed when the skip link is focused.\n */\n @Prop() label: string = \"Skip to main content\";\n\n /**\n * If `true`, the skip link will display as black in the light theme, and white in the dark theme.\n */\n @Prop() monochrome: boolean = false;\n\n /**\n * The target ID for the element which should receive focus when triggering the skip link.\n */\n @Prop() target!: 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 background will be hidden.\n */\n @Prop() transparentBackground: boolean = false;\n\n render() {\n const {\n fullWidth,\n inline,\n label,\n monochrome,\n target,\n theme,\n transparentBackground,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <ic-link\n class={{\n \"display-top\": !inline,\n \"full-width\": !!fullWidth,\n \"show-background\": !transparentBackground,\n inline: !!inline,\n }}\n href={`#${target}`}\n monochrome={monochrome}\n theme={theme}\n >\n {label}\n </ic-link>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -2,7 +2,7 @@ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal
2
2
  import { o as onComponentRequiredPropUndefined } from './helpers.js';
3
3
  import { d as defineCustomElement$2 } from './ic-typography2.js';
4
4
 
5
- const icStatusTagCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}.tag{padding:var(--ic-space-xxs) var(--ic-space-sm);font-size:0.875rem;border-radius:var(--ic-space-md);display:inline-block;min-width:2.5rem;text-align:center;--ic-typography-color:var(--ic-status-tag-text)}.small{padding:var(--ic-space-xxxs) var(--ic-space-sm);border-radius:calc(var(--ic-space-md) - var(--ic-space-xxxs))}.large{padding:var(--ic-space-xs) var(--ic-space-sm);border-radius:calc(var(--ic-space-md) + var(--ic-space-xxs))}.filled-neutral{background-color:var(--ic-status-tag-neutral)}.filled-success{background-color:var(--ic-status-tag-success)}.filled-warning{background-color:var(--ic-status-tag-warning);--ic-typography-color:var(--ic-status-tag-text-inverted)}.filled-danger{background-color:var(--ic-status-tag-error)}.outlined{padding:calc(var(--ic-space-xxxs) + var(--ic-space-1px))\n calc(var(--ic-space-sm) - var(--ic-space-1px))}.outlined.small{padding:var(--ic-space-1px) calc(var(--ic-space-sm) - var(--ic-space-1px))}.outlined.large{padding:calc(var(--ic-space-xs) - var(--ic-space-1px))\n calc(var(--ic-space-sm) - var(--ic-space-1px))}.outlined-neutral{background-color:var(--ic-status-tag-outlined-background-neutral);border:var(--ic-border-width) solid var(--ic-status-tag-outlined-neutral);--ic-typography-color:var(--ic-status-tag-text-inverted)}.outlined-success{background-color:var(--ic-status-tag-outlined-background-success);border:var(--ic-border-width) solid var(--ic-status-tag-outlined-success);--ic-typography-color:var(--ic-status-tag-text-inverted)}.outlined-warning{background-color:var(--ic-status-tag-outlined-background-warning);border:var(--ic-border-width) solid var(--ic-status-tag-outlined-warning);--ic-typography-color:var(--ic-status-tag-text-inverted)}.outlined-danger{background-color:var(--ic-status-tag-outlined-background-error);border:var(--ic-border-width) solid var(--ic-status-tag-outlined-error);--ic-typography-color:var(--ic-status-tag-text-inverted)}@media (forced-colors: active){.tag{border:var(--ic-border-hc);-ms-high-contrast-adjust:none;forced-color-adjust:none}}";
5
+ const icStatusTagCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}.tag{padding:var(--ic-space-xxs) var(--ic-space-sm);font-size:0.875rem;border-radius:var(--ic-space-md);display:inline-block;min-width:2.5rem;text-align:center;--ic-typography-color:var(--ic-status-tag-text)}.small{padding:var(--ic-space-xxxs) var(--ic-space-sm);border-radius:calc(var(--ic-space-md) - var(--ic-space-xxxs))}.large{padding:var(--ic-space-xs) var(--ic-space-sm);border-radius:calc(var(--ic-space-md) + var(--ic-space-xxs))}.filled-neutral{background-color:var(--ic-status-tag-neutral)}.filled-success{background-color:var(--ic-status-tag-success)}.filled-warning{background-color:var(--ic-status-tag-warning);--ic-typography-color:var(--ic-status-tag-filled-warning-text)}.filled-danger{background-color:var(--ic-status-tag-error)}.outlined{padding:calc(var(--ic-space-xxxs) + var(--ic-space-1px))\n calc(var(--ic-space-sm) - var(--ic-space-1px))}.outlined.small{padding:var(--ic-space-1px) calc(var(--ic-space-sm) - var(--ic-space-1px))}.outlined.large{padding:calc(var(--ic-space-xs) - var(--ic-space-1px))\n calc(var(--ic-space-sm) - var(--ic-space-1px))}.outlined-neutral{background-color:var(--ic-status-tag-outlined-background-neutral);border:var(--ic-border-width) solid var(--ic-status-tag-outlined-neutral);--ic-typography-color:var(--ic-status-tag-text-inverted)}.outlined-success{background-color:var(--ic-status-tag-outlined-background-success);border:var(--ic-border-width) solid var(--ic-status-tag-outlined-success);--ic-typography-color:var(--ic-status-tag-text-inverted)}.outlined-warning{background-color:var(--ic-status-tag-outlined-background-warning);border:var(--ic-border-width) solid var(--ic-status-tag-outlined-warning);--ic-typography-color:var(--ic-status-tag-text-inverted)}.outlined-danger{background-color:var(--ic-status-tag-outlined-background-error);border:var(--ic-border-width) solid var(--ic-status-tag-outlined-error);--ic-typography-color:var(--ic-status-tag-text-inverted)}@media (forced-colors: active){.tag{border:var(--ic-border-hc);-ms-high-contrast-adjust:none;forced-color-adjust:none}}";
6
6
  const IcStatusTagStyle0 = icStatusTagCss;
7
7
 
8
8
  const StatusTag = /*@__PURE__*/ proxyCustomElement(class StatusTag extends HTMLElement {
@@ -1 +1 @@
1
- {"file":"ic-status-tag.js","mappings":";;;;AAAA,MAAM,cAAc,GAAG,i4IAAi4I,CAAC;AACz5I,0BAAe,cAAc;;MCShB,SAAS;IALtB;;;;;;;;QAUU,cAAS,GAAa,KAAK,CAAC;;;;QAU5B,SAAI,GAAa,QAAQ,CAAC;;;;QAK1B,WAAM,GAAyB,SAAS,CAAC;;;;QAKzC,UAAK,GAAkC,SAAS,CAAC;;;;QAKjD,cAAS,GAAa,IAAI,CAAC;;;;QAK3B,YAAO,GAAoB,QAAQ,CAAC;KAmC7C;IAjCC,gBAAgB;QACd,gCAAgC,CAC9B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EACzC,YAAY,CACb,CAAC;KACH;IAED,MAAM;QACJ,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC3E,QACE,EAAC,IAAI,qDACH,KAAK,EAAE,EAAE,CAAC,YAAY,KAAK,EAAE,GAAG,KAAK,KAAK,SAAS,EAAE,EACrD,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI,gBACtB,QAAQ,IAEnB,+DACE,KAAK,EAAE;gBACL,CAAC,KAAK,GAAG,IAAI;gBACb,CAAC,GAAG,OAAO,IAAI,MAAM,EAAE,GAAG,IAAI;gBAC9B,CAAC,UAAU,GAAG,OAAO,KAAK,UAAU;gBACpC,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI;aAClB,IAED,sEACE,OAAO,EAAE,SAAS,GAAG,iBAAiB,GAAG,OAAO,4BACxB,KAAK,IAE7B,+DAAO,KAAK,CAAQ,CACN,CACT,CACJ,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/ic-status-tag/ic-status-tag.css?tag=ic-status-tag&encapsulation=shadow","src/components/ic-status-tag/ic-status-tag.tsx"],"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.tag {\n padding: var(--ic-space-xxs) var(--ic-space-sm);\n font-size: 0.875rem;\n border-radius: var(--ic-space-md);\n display: inline-block;\n min-width: 2.5rem;\n text-align: center;\n\n --ic-typography-color: var(--ic-status-tag-text);\n}\n\n.small {\n padding: var(--ic-space-xxxs) var(--ic-space-sm);\n border-radius: calc(var(--ic-space-md) - var(--ic-space-xxxs));\n}\n\n.large {\n padding: var(--ic-space-xs) var(--ic-space-sm);\n border-radius: calc(var(--ic-space-md) + var(--ic-space-xxs));\n}\n\n.filled-neutral {\n background-color: var(--ic-status-tag-neutral);\n}\n\n.filled-success {\n background-color: var(--ic-status-tag-success);\n}\n\n.filled-warning {\n background-color: var(--ic-status-tag-warning);\n --ic-typography-color: var(--ic-status-tag-text-inverted);\n}\n\n.filled-danger {\n background-color: var(--ic-status-tag-error);\n}\n\n.outlined {\n padding: calc(var(--ic-space-xxxs) + var(--ic-space-1px))\n calc(var(--ic-space-sm) - var(--ic-space-1px));\n}\n\n.outlined.small {\n padding: var(--ic-space-1px) calc(var(--ic-space-sm) - var(--ic-space-1px));\n}\n\n.outlined.large {\n padding: calc(var(--ic-space-xs) - var(--ic-space-1px))\n calc(var(--ic-space-sm) - var(--ic-space-1px));\n}\n\n.outlined-neutral {\n background-color: var(--ic-status-tag-outlined-background-neutral);\n border: var(--ic-border-width) solid var(--ic-status-tag-outlined-neutral);\n --ic-typography-color: var(--ic-status-tag-text-inverted);\n}\n\n.outlined-success {\n background-color: var(--ic-status-tag-outlined-background-success);\n border: var(--ic-border-width) solid var(--ic-status-tag-outlined-success);\n --ic-typography-color: var(--ic-status-tag-text-inverted);\n}\n\n.outlined-warning {\n background-color: var(--ic-status-tag-outlined-background-warning);\n border: var(--ic-border-width) solid var(--ic-status-tag-outlined-warning);\n --ic-typography-color: var(--ic-status-tag-text-inverted);\n}\n\n.outlined-danger {\n background-color: var(--ic-status-tag-outlined-background-error);\n border: var(--ic-border-width) solid var(--ic-status-tag-outlined-error);\n --ic-typography-color: var(--ic-status-tag-text-inverted);\n}\n\n@media (forced-colors: active) {\n .tag {\n border: var(--ic-border-hc);\n -ms-high-contrast-adjust: none;\n forced-color-adjust: none;\n }\n}\n","import { Component, Host, h, Prop } from \"@stencil/core\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\nimport { IcStatusTagStatuses } from \"./ic-status-tag.types\";\nimport { IcEmphasisType, IcSizes } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-status-tag\",\n styleUrl: \"ic-status-tag.css\",\n shadow: true,\n})\nexport class StatusTag {\n /**\n * If `true`, role='status' is added to the component and it will act as an 'aria-live' region.\n * Screen readers will announce changes to the `label`, but not the initial value.\n */\n @Prop() announced?: boolean = false;\n\n /**\n * The content rendered within the status tag.\n */\n @Prop() label!: string;\n\n /**\n * The size of the status tag component.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * The colour of the status tag.\n */\n @Prop() status?: IcStatusTagStatuses = \"neutral\";\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?: \"dark\" | \"light\" | \"inherit\" = \"inherit\";\n\n /**\n * The letter case of the status tag's label.\n */\n @Prop() uppercase?: boolean = true;\n\n /**\n * The emphasis of the status tag.\n */\n @Prop() variant?: IcEmphasisType = \"filled\";\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Status Tag\"\n );\n }\n\n render() {\n const { label, status, variant, size, announced, theme, uppercase } = this;\n return (\n <Host\n class={{ [`ic-theme-${theme}`]: theme !== \"inherit\" }}\n role={announced ? \"status\" : null}\n aria-label=\"Status\"\n >\n <strong\n class={{\n [\"tag\"]: true,\n [`${variant}-${status}`]: true,\n [\"outlined\"]: variant === \"outlined\",\n [`${size}`]: true,\n }}\n >\n <ic-typography\n variant={uppercase ? \"label-uppercase\" : \"label\"}\n apply-vertical-margins={false}\n >\n <span>{label}</span>\n </ic-typography>\n </strong>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-status-tag.js","mappings":";;;;AAAA,MAAM,cAAc,GAAG,u4IAAu4I,CAAC;AAC/5I,0BAAe,cAAc;;MCShB,SAAS;IALtB;;;;;;;;QAUU,cAAS,GAAa,KAAK,CAAC;;;;QAU5B,SAAI,GAAa,QAAQ,CAAC;;;;QAK1B,WAAM,GAAyB,SAAS,CAAC;;;;QAKzC,UAAK,GAAkC,SAAS,CAAC;;;;QAKjD,cAAS,GAAa,IAAI,CAAC;;;;QAK3B,YAAO,GAAoB,QAAQ,CAAC;KAmC7C;IAjCC,gBAAgB;QACd,gCAAgC,CAC9B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EACzC,YAAY,CACb,CAAC;KACH;IAED,MAAM;QACJ,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC3E,QACE,EAAC,IAAI,qDACH,KAAK,EAAE,EAAE,CAAC,YAAY,KAAK,EAAE,GAAG,KAAK,KAAK,SAAS,EAAE,EACrD,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI,gBACtB,QAAQ,IAEnB,+DACE,KAAK,EAAE;gBACL,CAAC,KAAK,GAAG,IAAI;gBACb,CAAC,GAAG,OAAO,IAAI,MAAM,EAAE,GAAG,IAAI;gBAC9B,CAAC,UAAU,GAAG,OAAO,KAAK,UAAU;gBACpC,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI;aAClB,IAED,sEACE,OAAO,EAAE,SAAS,GAAG,iBAAiB,GAAG,OAAO,4BACxB,KAAK,IAE7B,+DAAO,KAAK,CAAQ,CACN,CACT,CACJ,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/ic-status-tag/ic-status-tag.css?tag=ic-status-tag&encapsulation=shadow","src/components/ic-status-tag/ic-status-tag.tsx"],"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.tag {\n padding: var(--ic-space-xxs) var(--ic-space-sm);\n font-size: 0.875rem;\n border-radius: var(--ic-space-md);\n display: inline-block;\n min-width: 2.5rem;\n text-align: center;\n\n --ic-typography-color: var(--ic-status-tag-text);\n}\n\n.small {\n padding: var(--ic-space-xxxs) var(--ic-space-sm);\n border-radius: calc(var(--ic-space-md) - var(--ic-space-xxxs));\n}\n\n.large {\n padding: var(--ic-space-xs) var(--ic-space-sm);\n border-radius: calc(var(--ic-space-md) + var(--ic-space-xxs));\n}\n\n.filled-neutral {\n background-color: var(--ic-status-tag-neutral);\n}\n\n.filled-success {\n background-color: var(--ic-status-tag-success);\n}\n\n.filled-warning {\n background-color: var(--ic-status-tag-warning);\n --ic-typography-color: var(--ic-status-tag-filled-warning-text);\n}\n\n.filled-danger {\n background-color: var(--ic-status-tag-error);\n}\n\n.outlined {\n padding: calc(var(--ic-space-xxxs) + var(--ic-space-1px))\n calc(var(--ic-space-sm) - var(--ic-space-1px));\n}\n\n.outlined.small {\n padding: var(--ic-space-1px) calc(var(--ic-space-sm) - var(--ic-space-1px));\n}\n\n.outlined.large {\n padding: calc(var(--ic-space-xs) - var(--ic-space-1px))\n calc(var(--ic-space-sm) - var(--ic-space-1px));\n}\n\n.outlined-neutral {\n background-color: var(--ic-status-tag-outlined-background-neutral);\n border: var(--ic-border-width) solid var(--ic-status-tag-outlined-neutral);\n --ic-typography-color: var(--ic-status-tag-text-inverted);\n}\n\n.outlined-success {\n background-color: var(--ic-status-tag-outlined-background-success);\n border: var(--ic-border-width) solid var(--ic-status-tag-outlined-success);\n --ic-typography-color: var(--ic-status-tag-text-inverted);\n}\n\n.outlined-warning {\n background-color: var(--ic-status-tag-outlined-background-warning);\n border: var(--ic-border-width) solid var(--ic-status-tag-outlined-warning);\n --ic-typography-color: var(--ic-status-tag-text-inverted);\n}\n\n.outlined-danger {\n background-color: var(--ic-status-tag-outlined-background-error);\n border: var(--ic-border-width) solid var(--ic-status-tag-outlined-error);\n --ic-typography-color: var(--ic-status-tag-text-inverted);\n}\n\n@media (forced-colors: active) {\n .tag {\n border: var(--ic-border-hc);\n -ms-high-contrast-adjust: none;\n forced-color-adjust: none;\n }\n}\n","import { Component, Host, h, Prop } from \"@stencil/core\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\nimport { IcStatusTagStatuses } from \"./ic-status-tag.types\";\nimport { IcEmphasisType, IcSizes } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-status-tag\",\n styleUrl: \"ic-status-tag.css\",\n shadow: true,\n})\nexport class StatusTag {\n /**\n * If `true`, role='status' is added to the component and it will act as an 'aria-live' region.\n * Screen readers will announce changes to the `label`, but not the initial value.\n */\n @Prop() announced?: boolean = false;\n\n /**\n * The content rendered within the status tag.\n */\n @Prop() label!: string;\n\n /**\n * The size of the status tag component.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * The colour of the status tag.\n */\n @Prop() status?: IcStatusTagStatuses = \"neutral\";\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?: \"dark\" | \"light\" | \"inherit\" = \"inherit\";\n\n /**\n * The letter case of the status tag's label.\n */\n @Prop() uppercase?: boolean = true;\n\n /**\n * The emphasis of the status tag.\n */\n @Prop() variant?: IcEmphasisType = \"filled\";\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Status Tag\"\n );\n }\n\n render() {\n const { label, status, variant, size, announced, theme, uppercase } = this;\n return (\n <Host\n class={{ [`ic-theme-${theme}`]: theme !== \"inherit\" }}\n role={announced ? \"status\" : null}\n aria-label=\"Status\"\n >\n <strong\n class={{\n [\"tag\"]: true,\n [`${variant}-${status}`]: true,\n [\"outlined\"]: variant === \"outlined\",\n [`${size}`]: true,\n }}\n >\n <ic-typography\n variant={uppercase ? \"label-uppercase\" : \"label\"}\n apply-vertical-margins={false}\n >\n <span>{label}</span>\n </ic-typography>\n </strong>\n </Host>\n );\n }\n}\n"],"version":3}