@ukic/canary-web-components 2.0.0-canary.34 → 2.0.0-canary.36

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 (98) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/core.cjs.js +1 -1
  3. package/dist/cjs/helpers-951fb33a.js.map +1 -1
  4. package/dist/cjs/ic-badge.cjs.entry.js +23 -0
  5. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-data-table.cjs.entry.js +23 -26
  8. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-date-input.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-empty-state_2.cjs.entry.js +31 -5
  12. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-navigation-button.cjs.entry.js +2 -2
  14. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  16. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-toast.cjs.entry.js +2 -2
  18. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  19. package/dist/cjs/loader.cjs.js +1 -1
  20. package/dist/collection/components/ic-data-table/ic-data-table.js +42 -27
  21. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  22. package/dist/collection/components/ic-data-table/story-data.js +39 -4
  23. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  24. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +4 -1
  25. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
  26. package/dist/collection/components/ic-date-input/ic-date-input.js +1 -1
  27. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  28. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +50 -5
  29. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  30. package/dist/collection/utils/types.js.map +1 -1
  31. package/dist/components/helpers2.js.map +1 -1
  32. package/dist/components/ic-badge.js +25 -2
  33. package/dist/components/ic-badge.js.map +1 -1
  34. package/dist/components/ic-data-table.js +24 -26
  35. package/dist/components/ic-data-table.js.map +1 -1
  36. package/dist/components/ic-date-input2.js +1 -1
  37. package/dist/components/ic-date-input2.js.map +1 -1
  38. package/dist/components/ic-navigation-button.js +2 -2
  39. package/dist/components/ic-navigation-button.js.map +1 -1
  40. package/dist/components/ic-navigation-item.js +1 -1
  41. package/dist/components/ic-navigation-item.js.map +1 -1
  42. package/dist/components/ic-pagination-bar2.js +33 -5
  43. package/dist/components/ic-pagination-bar2.js.map +1 -1
  44. package/dist/components/ic-toast.js +2 -2
  45. package/dist/components/ic-toast.js.map +1 -1
  46. package/dist/components/ic-tooltip2.js.map +1 -1
  47. package/dist/core/core.esm.js +1 -1
  48. package/dist/core/core.esm.js.map +1 -1
  49. package/dist/core/{p-938a0ccc.entry.js → p-080ebc66.entry.js} +2 -2
  50. package/dist/core/{p-938a0ccc.entry.js.map → p-080ebc66.entry.js.map} +1 -1
  51. package/dist/core/p-20241d58.entry.js +2 -0
  52. package/dist/core/p-20241d58.entry.js.map +1 -0
  53. package/dist/core/p-4476d3b0.entry.js +2 -0
  54. package/dist/core/p-4476d3b0.entry.js.map +1 -0
  55. package/dist/core/p-8ab58daa.js.map +1 -1
  56. package/dist/core/p-95871655.entry.js.map +1 -1
  57. package/dist/core/p-9c80c37d.entry.js +2 -0
  58. package/dist/core/p-9c80c37d.entry.js.map +1 -0
  59. package/dist/core/{p-4f118361.entry.js → p-9cd73369.entry.js} +2 -2
  60. package/dist/core/p-9cd73369.entry.js.map +1 -0
  61. package/dist/core/p-b68d6867.entry.js +2 -0
  62. package/dist/core/p-b68d6867.entry.js.map +1 -0
  63. package/dist/core/{p-2b61d283.entry.js → p-f2bb3c93.entry.js} +2 -2
  64. package/dist/core/{p-2b61d283.entry.js.map → p-f2bb3c93.entry.js.map} +1 -1
  65. package/dist/esm/core.js +1 -1
  66. package/dist/esm/helpers-948df101.js.map +1 -1
  67. package/dist/esm/ic-badge.entry.js +23 -0
  68. package/dist/esm/ic-badge.entry.js.map +1 -1
  69. package/dist/esm/ic-button_3.entry.js.map +1 -1
  70. package/dist/esm/ic-data-table.entry.js +23 -26
  71. package/dist/esm/ic-data-table.entry.js.map +1 -1
  72. package/dist/esm/ic-date-input.entry.js +1 -1
  73. package/dist/esm/ic-date-input.entry.js.map +1 -1
  74. package/dist/esm/ic-empty-state_2.entry.js +31 -5
  75. package/dist/esm/ic-empty-state_2.entry.js.map +1 -1
  76. package/dist/esm/ic-navigation-button.entry.js +2 -2
  77. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  78. package/dist/esm/ic-navigation-item.entry.js +1 -1
  79. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  80. package/dist/esm/ic-toast.entry.js +2 -2
  81. package/dist/esm/ic-toast.entry.js.map +1 -1
  82. package/dist/esm/loader.js +1 -1
  83. package/dist/types/components/ic-data-table/ic-data-table.d.ts +4 -0
  84. package/dist/types/components/ic-data-table/story-data.d.ts +2 -1
  85. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +5 -0
  86. package/dist/types/components.d.ts +16 -0
  87. package/dist/types/utils/types.d.ts +10 -9
  88. package/hydrate/index.js +87 -39
  89. package/package.json +12 -3
  90. package/dist/core/p-3156304b.entry.js +0 -2
  91. package/dist/core/p-3156304b.entry.js.map +0 -1
  92. package/dist/core/p-4f118361.entry.js.map +0 -1
  93. package/dist/core/p-61ca218b.entry.js +0 -2
  94. package/dist/core/p-61ca218b.entry.js.map +0 -1
  95. package/dist/core/p-d9f8f96d.entry.js +0 -2
  96. package/dist/core/p-d9f8f96d.entry.js.map +0 -1
  97. package/dist/core/p-e7439c1e.entry.js +0 -2
  98. package/dist/core/p-e7439c1e.entry.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ import{r as s,h as a,H as t,g as i}from"./p-8455d1bb.js";import{c,h as e,g as r,b as o,d as h,e as n,a as l}from"./p-da506987.js";import"./p-fd186591.js";const d="@media (prefers-reduced-motion: no-preference){:host(.show){animation:expand var(--ic-transition-duration-slow)}:host(.hide){animation:shrink var(--ic-transition-duration-slow)}}:host{display:flex;height:var(--ic-space-md);min-width:var(--ic-space-md);width:-moz-fit-content;width:fit-content;border-radius:calc(2 * var(--ic-space-xxl));position:absolute}:host(.neutral){background-color:var(--ic-architectural-500)}:host(.light){background-color:var(--ic-architectural-40)}:host(.info){background-color:var(--ic-status-info)}:host(.warning){background-color:var(--ic-status-warning-mid)}:host(.error){background-color:var(--ic-status-error)}:host(.success){background-color:var(--ic-status-success)}:host(.small){height:var(--ic-space-sm);min-width:var(--ic-space-sm)}:host(.large){height:calc(var(--ic-space-md) + var(--ic-space-xxs));min-width:calc(var(--ic-space-md) + var(--ic-space-xxs))}:host(.dot.default){height:var(--ic-space-xs);width:var(--ic-space-xs);min-width:var(--ic-space-xs)}:host(.dot.small){height:calc(var(--ic-space-xxs) + var(--ic-space-xxxs));width:calc(var(--ic-space-xxs) + var(--ic-space-xxxs));min-width:calc(var(--ic-space-xxs) + var(--ic-space-xxxs))}:host(.dot.large){height:var(--ic-space-sm);width:var(--ic-space-sm);min-width:var(--ic-space-sm)}:host(.foreground-dark) ::slotted(*){fill:var(--ic-color-primary-text)}:host(.foreground-light) ::slotted(*){fill:white}:host(.foreground-dark) ic-typography{color:var(--ic-color-primary-text)}:host(.foreground-light) ic-typography{color:white}:host(.text) ic-typography{align-self:center;padding:0 calc((var(--ic-space-xs) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px)}:host(.text.small) ic-typography{padding:0 0.2132rem}:host(.text.large) ic-typography{padding:0 calc((var(--ic-space-sm) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px)}:host(.icon) ::slotted(svg){width:var(--ic-space-sm);height:var(--ic-space-sm);padding:var(--ic-space-xxxs)}:host(.icon.small) ::slotted(svg){width:var(--ic-space-xs);height:var(--ic-space-xs)}:host(.icon.large) ::slotted(svg){width:calc(var(--ic-space-sm) + var(--ic-space-xxxs));height:calc(var(--ic-space-sm) + var(--ic-space-xxxs));padding:calc(var(--ic-space-xxxs) + var(--ic-space-1px))}:host(.far){top:calc(-1 * var(--ic-space-xs));right:calc(-1 * var(--ic-space-xs))}:host(.far.small),:host(.dot.far.large){top:calc(-1 * var(--ic-space-xxs));right:calc(-1 * var(--ic-space-xxs))}:host(.dot.far),:host(.dot.far.small){top:calc(-1 * var(--ic-space-xxxs));right:calc(-1 * var(--ic-space-xxxs))}:host(.near){top:calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));right:calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)))}:host(.dot.near){top:calc(-1 * var(--ic-space-1px));right:calc(-1 * var(--ic-space-1px))}:host(.inline){position:static}:host(.hide){visibility:hidden !important;transition:visibility var(--ic-transition-duration-slow)}.sr-only{position:absolute;left:-9999px}@keyframes expand{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes shrink{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}";const p="IC-NAVIGATION-BUTTON";const v="IC-TOP-NAVIGATION";const x=class{constructor(a){s(this,a);this.ariaLabel=null;this.setBadgeColour=()=>{const s=c(this.customColor);if(s){this.customColorRGBA=s;const{r:a,g:t,b:i,a:c}=s;this.el.style.backgroundColor=`rgba(${a}, ${t}, ${i}, ${c})`}};this.getBadgeRGB=()=>{switch(this.variant){case"custom":return this.customColorRGBA;case"error":case"success":case"warning":case"info":{return o(r(`--ic-status-${this.variant}`))}case"neutral":case"light":return e(r(`--ic-architectural-${this.variant==="neutral"?500:40}`))}};this.getBadgeForeground=()=>{const{r:s,g:a,b:t}=this.getBadgeRGB();this.foregroundColour=h((s*299+a*587+t*114)/1e3)};this.getTextLabel=()=>this.maxNumber&&Number(this.textLabel)>this.maxNumber?`${this.maxNumber}+`:this.textLabel;this.setAccessibleLabel=()=>{const s=this.el.parentElement;const a=this.isAccessibleLabelDefined()?this.accessibleLabel:this.textLabel||"with badge being displayed";if(s){const{tagName:t}=s;if(t!=="IC-CARD"&&(t!=="IC-TAB"||t==="IC-TAB"&&this.parentAriaLabel)){const t=this.parentAriaLabel?`${this.parentAriaLabel} ,`:"";s.ariaLabel=this.visible?`${t} ${a}`:undefined}else{this.ariaLabel=`, ${a}`}}};this.setPositionInTopNavigation=()=>{const s=this.el.parentElement.parentElement;s.classList.contains("mobile-mode")?this.position="inline":this.position="near"};this.isInTopNav=()=>{const s=this.el.parentElement;const a=s.parentElement;return s.tagName===p&&a.tagName===v};this.isAccessibleLabelDefined=()=>n(this.accessibleLabel)&&this.accessibleLabel!==null;this.accessibleLabel=undefined;this.customColor=null;this.maxNumber=undefined;this.position="far";this.size="default";this.textLabel=undefined;this.type="text";this.variant="neutral";this.visible=true}accessibleLabelHandler(){this.setAccessibleLabel()}customColorHandler(){this.variant==="custom"&&this.setBadgeColour()}variantHandler(){this.getBadgeForeground()}visibleHandler(){this.setAccessibleLabel()}componentWillLoad(){var s;this.variant==="custom"&&this.setBadgeColour();this.getBadgeForeground();const a=(s=this.el.parentElement)===null||s===void 0?void 0:s.ariaLabel;if(a)this.parentAriaLabel=a;this.setAccessibleLabel()}componentDidLoad(){this.type==="text"&&l([{prop:this.textLabel,propName:"text-label"}],"Badge")}componentWillRender(){this.isInTopNav()&&this.setPositionInTopNavigation()}navBarMenuOpenHandler(){this.isInTopNav()&&(this.position="inline")}navBarMenuCloseHandler(){this.isInTopNav()&&(this.position="near")}async showBadge(){this.visible=true}async hideBadge(){this.visible=false}render(){const{ariaLabel:s,el:i,foregroundColour:c,getTextLabel:e,position:r,size:o,textLabel:h,type:n,variant:l,visible:d}=this;return a(t,{class:{[`${r}`]:true,[`${o}`]:true,[`${l}`]:true,[`${n}`]:true,[`foreground-${c}`]:c!==null,[`${d?"show":"hide"}`]:true},id:i.id||null,"aria-label":s,role:"status"},n==="icon"&&a("slot",{name:"badge-icon"}),n==="text"&&h&&a("ic-typography",{variant:o==="small"?"badge-small":"badge"},e()),n==="dot"&&a("span",{class:"sr-only"},"badge"))}static get delegatesFocus(){return true}get el(){return i(this)}static get watchers(){return{accessibleLabel:["accessibleLabelHandler"],customColor:["customColorHandler"],variant:["variantHandler"],visible:["visibleHandler"]}}};x.style=d;export{x as ic_badge};
2
+ //# sourceMappingURL=p-9c80c37d.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icBadgeCss","NAVIGATION_BUTTON","TOP_NAVIGATION","Badge","constructor","hostRef","this","ariaLabel","setBadgeColour","colorRGBA","convertToRGBA","customColor","customColorRGBA","r","g","b","a","el","style","backgroundColor","getBadgeRGB","variant","rgbaStrToObj","getCssProperty","hexToRgba","getBadgeForeground","foregroundColour","getThemeForegroundColor","getTextLabel","maxNumber","Number","textLabel","setAccessibleLabel","parentEl","parentElement","defaultAriaLabel","isAccessibleLabelDefined","accessibleLabel","tagName","parentAriaLabel","ariaLabelPrefix","visible","undefined","setPositionInTopNavigation","parentTopNavEl","classList","contains","position","isInTopNav","grandparentEl","isPropDefined","size","type","accessibleLabelHandler","customColorHandler","variantHandler","visibleHandler","componentWillLoad","_a","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","componentWillRender","navBarMenuOpenHandler","navBarMenuCloseHandler","showBadge","hideBadge","render","h","Host","class","id","role","name","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-badge/ic-badge.css?tag=ic-badge&encapsulation=shadow","../web-components/dist/collection/components/ic-badge/ic-badge.js"],"sourcesContent":["@media (prefers-reduced-motion: no-preference) {\n :host(.show) {\n animation: expand var(--ic-transition-duration-slow);\n }\n\n :host(.hide) {\n animation: shrink var(--ic-transition-duration-slow);\n }\n}\n\n:host {\n display: flex;\n height: var(--ic-space-md);\n min-width: var(--ic-space-md);\n width: -moz-fit-content;\n width: fit-content;\n border-radius: calc(2 * var(--ic-space-xxl));\n position: absolute;\n}\n\n:host(.neutral) {\n background-color: var(--ic-architectural-500);\n}\n\n:host(.light) {\n background-color: var(--ic-architectural-40);\n}\n\n:host(.info) {\n background-color: var(--ic-status-info);\n}\n\n:host(.warning) {\n background-color: var(--ic-status-warning-mid);\n}\n\n:host(.error) {\n background-color: var(--ic-status-error);\n}\n\n:host(.success) {\n background-color: var(--ic-status-success);\n}\n\n:host(.small) {\n height: var(--ic-space-sm);\n min-width: var(--ic-space-sm);\n}\n\n:host(.large) {\n height: calc(var(--ic-space-md) + var(--ic-space-xxs));\n min-width: calc(var(--ic-space-md) + var(--ic-space-xxs));\n}\n\n:host(.dot.default) {\n height: var(--ic-space-xs);\n width: var(--ic-space-xs);\n min-width: var(--ic-space-xs);\n}\n\n:host(.dot.small) {\n height: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n width: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n min-width: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n}\n\n:host(.dot.large) {\n height: var(--ic-space-sm);\n width: var(--ic-space-sm);\n min-width: var(--ic-space-sm);\n}\n\n:host(.foreground-dark) ::slotted(*) {\n fill: var(--ic-color-primary-text);\n}\n\n:host(.foreground-light) ::slotted(*) {\n fill: white;\n}\n\n:host(.foreground-dark) ic-typography {\n color: var(--ic-color-primary-text);\n}\n\n:host(.foreground-light) ic-typography {\n color: white;\n}\n\n:host(.text) ic-typography {\n align-self: center;\n padding: 0 calc((var(--ic-space-xs) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px);\n}\n\n:host(.text.small) ic-typography {\n padding: 0 0.2132rem;\n}\n\n:host(.text.large) ic-typography {\n padding: 0 calc((var(--ic-space-sm) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px);\n}\n\n:host(.icon) ::slotted(svg) {\n width: var(--ic-space-sm);\n height: var(--ic-space-sm);\n padding: var(--ic-space-xxxs);\n}\n\n:host(.icon.small) ::slotted(svg) {\n width: var(--ic-space-xs);\n height: var(--ic-space-xs);\n}\n\n:host(.icon.large) ::slotted(svg) {\n width: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n height: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n padding: calc(var(--ic-space-xxxs) + var(--ic-space-1px));\n}\n\n:host(.far) {\n top: calc(-1 * var(--ic-space-xs));\n right: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.far.small),\n:host(.dot.far.large) {\n top: calc(-1 * var(--ic-space-xxs));\n right: calc(-1 * var(--ic-space-xxs));\n}\n\n:host(.dot.far),\n:host(.dot.far.small) {\n top: calc(-1 * var(--ic-space-xxxs));\n right: calc(-1 * var(--ic-space-xxxs));\n}\n\n:host(.near) {\n top: calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));\n right: calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));\n}\n\n:host(.dot.near) {\n top: calc(-1 * var(--ic-space-1px));\n right: calc(-1 * var(--ic-space-1px));\n}\n\n:host(.inline) {\n position: static;\n}\n\n:host(.hide) {\n visibility: hidden !important;\n transition: visibility var(--ic-transition-duration-slow);\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n@keyframes expand {\n from {\n opacity: 0;\n transform: scale(0);\n }\n\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n@keyframes shrink {\n from {\n opacity: 1;\n transform: scale(1);\n }\n\n to {\n opacity: 0;\n transform: scale(0);\n }\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { convertToRGBA, getCssProperty, getThemeForegroundColor, hexToRgba, isPropDefined, onComponentRequiredPropUndefined, rgbaStrToObj, } from \"../../utils/helpers\";\nconst NAVIGATION_BUTTON = \"IC-NAVIGATION-BUTTON\";\nconst TOP_NAVIGATION = \"IC-TOP-NAVIGATION\";\n/**\n * @slot badge-icon - Icon will be rendered inside the badge if type is set to icon.\n */\nexport class Badge {\n constructor() {\n this.ariaLabel = null;\n this.setBadgeColour = () => {\n const colorRGBA = convertToRGBA(this.customColor);\n if (colorRGBA) {\n this.customColorRGBA = colorRGBA;\n const { r, g, b, a } = colorRGBA;\n this.el.style.backgroundColor = `rgba(${r}, ${g}, ${b}, ${a})`;\n }\n };\n this.getBadgeRGB = () => {\n switch (this.variant) {\n case \"custom\":\n return this.customColorRGBA;\n case \"error\":\n case \"success\":\n case \"warning\":\n case \"info\": {\n return rgbaStrToObj(getCssProperty(`--ic-status-${this.variant}`));\n }\n case \"neutral\":\n case \"light\":\n return hexToRgba(getCssProperty(`--ic-architectural-${this.variant === \"neutral\" ? 500 : 40}`));\n }\n };\n this.getBadgeForeground = () => {\n const { r, g, b } = this.getBadgeRGB();\n this.foregroundColour = getThemeForegroundColor((r * 299 + g * 587 + b * 114) / 1000);\n };\n this.getTextLabel = () => this.maxNumber && Number(this.textLabel) > this.maxNumber\n ? `${this.maxNumber}+`\n : this.textLabel;\n // Set aria-label on badge and / or parent element\n // Aria-describedby seems to not work, probably due to shadow DOM\n this.setAccessibleLabel = () => {\n const parentEl = this.el.parentElement;\n const defaultAriaLabel = this.isAccessibleLabelDefined()\n ? this.accessibleLabel\n : this.textLabel || \"with badge being displayed\";\n if (parentEl) {\n const { tagName } = parentEl;\n if (tagName !== \"IC-CARD\" &&\n (tagName !== \"IC-TAB\" || (tagName === \"IC-TAB\" && this.parentAriaLabel))) {\n const ariaLabelPrefix = this.parentAriaLabel\n ? `${this.parentAriaLabel} ,`\n : \"\";\n parentEl.ariaLabel = this.visible\n ? `${ariaLabelPrefix} ${defaultAriaLabel}`\n : undefined;\n }\n else {\n this.ariaLabel = `, ${defaultAriaLabel}`;\n }\n }\n };\n this.setPositionInTopNavigation = () => {\n const parentTopNavEl = this.el.parentElement.parentElement;\n parentTopNavEl.classList.contains(\"mobile-mode\")\n ? (this.position = \"inline\")\n : (this.position = \"near\");\n };\n this.isInTopNav = () => {\n const parentEl = this.el.parentElement;\n const grandparentEl = parentEl.parentElement;\n return (parentEl.tagName === NAVIGATION_BUTTON &&\n grandparentEl.tagName === TOP_NAVIGATION);\n };\n this.isAccessibleLabelDefined = () => isPropDefined(this.accessibleLabel) && this.accessibleLabel !== null;\n this.accessibleLabel = undefined;\n this.customColor = null;\n this.maxNumber = undefined;\n this.position = \"far\";\n this.size = \"default\";\n this.textLabel = undefined;\n this.type = \"text\";\n this.variant = \"neutral\";\n this.visible = true;\n }\n accessibleLabelHandler() {\n this.setAccessibleLabel();\n }\n customColorHandler() {\n this.variant === \"custom\" && this.setBadgeColour();\n }\n variantHandler() {\n this.getBadgeForeground();\n }\n visibleHandler() {\n this.setAccessibleLabel();\n }\n componentWillLoad() {\n var _a;\n this.variant === \"custom\" && this.setBadgeColour();\n this.getBadgeForeground();\n const ariaLabel = (_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.ariaLabel;\n if (ariaLabel)\n this.parentAriaLabel = ariaLabel;\n this.setAccessibleLabel();\n }\n componentDidLoad() {\n this.type === \"text\" &&\n onComponentRequiredPropUndefined([{ prop: this.textLabel, propName: \"text-label\" }], \"Badge\");\n }\n componentWillRender() {\n this.isInTopNav() && this.setPositionInTopNavigation();\n }\n navBarMenuOpenHandler() {\n this.isInTopNav() && (this.position = \"inline\");\n }\n navBarMenuCloseHandler() {\n this.isInTopNav() && (this.position = \"near\");\n }\n /**\n * @deprecated This method should not be used anymore. Use visible prop to set badge visibility.\n */\n async showBadge() {\n this.visible = true;\n }\n /**\n * @deprecated This method should not be used anymore. Use visible prop to set badge visibility.\n */\n async hideBadge() {\n this.visible = false;\n }\n render() {\n const { ariaLabel, el, foregroundColour, getTextLabel, position, size, textLabel, type, variant, visible, } = this;\n return (h(Host, { class: {\n [`${position}`]: true,\n [`${size}`]: true,\n [`${variant}`]: true,\n [`${type}`]: true,\n [`foreground-${foregroundColour}`]: foregroundColour !== null,\n [`${visible ? \"show\" : \"hide\"}`]: true,\n }, id: el.id || null, \"aria-label\": ariaLabel, role: \"status\" }, type === \"icon\" && h(\"slot\", { name: \"badge-icon\" }), type === \"text\" && textLabel && (h(\"ic-typography\", { variant: size === \"small\" ? \"badge-small\" : \"badge\" }, getTextLabel())), type === \"dot\" && h(\"span\", { class: \"sr-only\" }, \"badge\")));\n }\n static get is() { return \"ic-badge\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-badge.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-badge.css\"]\n };\n }\n static get properties() {\n return {\n \"accessibleLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The accessible label of the badge component to provide context for screen reader users.\"\n },\n \"attribute\": \"accessible-label\",\n \"reflect\": false\n },\n \"customColor\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcColor\",\n \"resolved\": \"`#${string}` | `rgb(${string})` | `rgba(${string})`\",\n \"references\": {\n \"IcColor\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcColor\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The custom badge colour. This will only style the badge component if variant=\\\"custom\\\".\\nCan be a hex value e.g. \\\"#ff0000\\\", RGB e.g. \\\"rgb(255, 0, 0)\\\", or RGBA e.g. \\\"rgba(255, 0, 0, 1)\\\".\"\n },\n \"attribute\": \"custom-color\",\n \"reflect\": false,\n \"defaultValue\": \"null\"\n },\n \"maxNumber\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The maximum number shown on the badge appended with a +.\\nThis will only be displayed if type=\\\"text\\\" and textLabel is not empty.\"\n },\n \"attribute\": \"max-number\",\n \"reflect\": false\n },\n \"position\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"IcBadgePositions\",\n \"resolved\": \"\\\"far\\\" | \\\"inline\\\" | \\\"near\\\"\",\n \"references\": {\n \"IcBadgePositions\": {\n \"location\": \"import\",\n \"path\": \"./ic-badge.types\",\n \"id\": \"src/components/ic-badge/ic-badge.types.ts::IcBadgePositions\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The positioning of the badge in reference to the parent element.\"\n },\n \"attribute\": \"position\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"far\\\"\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"default\\\" | \\\"large\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the badge to be displayed.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"textLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The text displayed in the badge. This will only be displayed if type=\\\"text\\\".\"\n },\n \"attribute\": \"text-label\",\n \"reflect\": false\n },\n \"type\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcBadgeTypes\",\n \"resolved\": \"\\\"dot\\\" | \\\"icon\\\" | \\\"text\\\"\",\n \"references\": {\n \"IcBadgeTypes\": {\n \"location\": \"import\",\n \"path\": \"./ic-badge.types\",\n \"id\": \"src/components/ic-badge/ic-badge.types.ts::IcBadgeTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The type of badge to be displayed.\"\n },\n \"attribute\": \"type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"text\\\"\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcBadgeVariants\",\n \"resolved\": \"\\\"custom\\\" | \\\"error\\\" | \\\"info\\\" | \\\"light\\\" | \\\"neutral\\\" | \\\"success\\\" | \\\"warning\\\"\",\n \"references\": {\n \"IcBadgeVariants\": {\n \"location\": \"import\",\n \"path\": \"./ic-badge.types\",\n \"id\": \"src/components/ic-badge/ic-badge.types.ts::IcBadgeVariants\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The variant of the badge to be displayed.\"\n },\n \"attribute\": \"variant\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"neutral\\\"\"\n },\n \"visible\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the badge will be displayed.\"\n },\n \"attribute\": \"visible\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n }\n };\n }\n static get methods() {\n return {\n \"showBadge\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"deprecated\",\n \"text\": \"This method should not be used anymore. Use visible prop to set badge visibility.\"\n }]\n }\n },\n \"hideBadge\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"deprecated\",\n \"text\": \"This method should not be used anymore. Use visible prop to set badge visibility.\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"accessibleLabel\",\n \"methodName\": \"accessibleLabelHandler\"\n }, {\n \"propName\": \"customColor\",\n \"methodName\": \"customColorHandler\"\n }, {\n \"propName\": \"variant\",\n \"methodName\": \"variantHandler\"\n }, {\n \"propName\": \"visible\",\n \"methodName\": \"visibleHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"icNavigationMenuOpened\",\n \"method\": \"navBarMenuOpenHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"icNavigationMenuClosed\",\n \"method\": \"navBarMenuCloseHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-badge.js.map\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as e,f as t,h as i,H as n,g as o}from"./p-8455d1bb.js";import{d as s,x as a,a as r,i as l,y as d}from"./p-da506987.js";import{I as u}from"./p-fd186591.js";const b='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;margin-right:var(--ic-space-xs);list-style:none}:host(.in-side-menu){margin-right:0}:host::part(button){height:100%;min-height:2.5rem}';const p=[...d,"title"];const c=class{constructor(i){e(this,i);this.inheritedAttributes={};this.hostMutationObserver=null;this.hostMutationCallback=e=>{let i=false;e.forEach((({attributeName:e})=>{if(p.includes(e)){this.inheritedAttributes[e]=this.el.getAttribute(e);i=true}}));if(i){t(this)}};this.initialAppearance=s();this.mode="navbar";this.download=false;this.href=undefined;this.hreflang=undefined;this.label=undefined;this.referrerpolicy=undefined;this.rel=undefined;this.target=undefined}componentWillLoad(){this.inheritedAttributes=a(this.el,p)}componentDidLoad(){r([{prop:this.label,propName:"label"}],"Navigation Button");this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{attributes:true})}componentWillRender(){const e=this.el.querySelector(`[slot="icon"]`);e!==null&&e.setAttribute("viewBox","0 0 24 24")}disconnectedCallback(){var e;(e=this.hostMutationObserver)===null||e===void 0?void 0:e.disconnect()}navBarMenuOpenHandler(){this.mode="menu"}navBarMenuCloseHandler(){this.mode="navbar"}themeChangeHandler(e){const t=e.detail;this.initialAppearance=t.mode}async setFocus(){if(this.buttonEl){this.buttonEl.focus()}}render(){const{href:e,target:t,rel:o,download:s,referrerpolicy:a}=this;let r="";let d="";let b="icon";let p=this.initialAppearance;let c="large";let h=false;let m=false;if(this.mode==="menu"){r=this.label;b="tertiary";p=u.Default;c="default";h=true;d="popout-menu-button";m=true}const f={variant:b,appearance:p,size:c,href:e,target:t,rel:o,download:s,referrerpolicy:a,fullWidth:h,disableTooltip:m};return i(n,{class:{["in-side-menu"]:this.mode==="menu"}},i("ic-button",Object.assign({class:d,"aria-label":b=="icon"?this.label:null,ref:e=>this.buttonEl=e},f,this.inheritedAttributes),r,i("slot",{slot:"left-icon",name:"icon"}),l(this.el,"badge")&&b==="icon"&&i("slot",{name:"badge"})))}static get delegatesFocus(){return true}get el(){return o(this)}};c.style=b;export{c as ic_navigation_button};
2
- //# sourceMappingURL=p-4f118361.entry.js.map
1
+ import{r as e,f as t,h as i,H as n,g as o}from"./p-8455d1bb.js";import{d as s,x as a,a as r,i as l,y as d}from"./p-da506987.js";import{I as u}from"./p-fd186591.js";const b='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;margin-right:var(--ic-space-xs);list-style:none}:host(.in-side-menu){margin-right:0}:host::part(button){height:100%;min-height:2.5rem}:host(.in-side-menu) ::slotted(ic-badge){margin-left:var(--ic-space-xs)}';const p=[...d,"title"];const c=class{constructor(i){e(this,i);this.inheritedAttributes={};this.hostMutationObserver=null;this.hostMutationCallback=e=>{let i=false;e.forEach((({attributeName:e})=>{if(p.includes(e)){this.inheritedAttributes[e]=this.el.getAttribute(e);i=true}}));if(i){t(this)}};this.initialAppearance=s();this.mode="navbar";this.download=false;this.href=undefined;this.hreflang=undefined;this.label=undefined;this.referrerpolicy=undefined;this.rel=undefined;this.target=undefined}componentWillLoad(){this.inheritedAttributes=a(this.el,p)}componentDidLoad(){r([{prop:this.label,propName:"label"}],"Navigation Button");this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{attributes:true})}componentWillRender(){const e=this.el.querySelector(`[slot="icon"]`);e!==null&&e.setAttribute("viewBox","0 0 24 24")}disconnectedCallback(){var e;(e=this.hostMutationObserver)===null||e===void 0?void 0:e.disconnect()}navBarMenuOpenHandler(){this.mode="menu"}navBarMenuCloseHandler(){this.mode="navbar"}themeChangeHandler(e){const t=e.detail;this.initialAppearance=t.mode}async setFocus(){if(this.buttonEl){this.buttonEl.focus()}}render(){const{href:e,target:t,rel:o,download:s,referrerpolicy:a}=this;let r="";let d="";let b="icon";let p=this.initialAppearance;let c="large";let h=false;let m=false;if(this.mode==="menu"){r=this.label;b="tertiary";p=u.Default;c="default";h=true;d="popout-menu-button";m=true}const f={variant:b,appearance:p,size:c,href:e,target:t,rel:o,download:s,referrerpolicy:a,fullWidth:h,disableTooltip:m};return i(n,{class:{["in-side-menu"]:this.mode==="menu"}},i("ic-button",Object.assign({class:d,"aria-label":b=="icon"?this.label:null,ref:e=>this.buttonEl=e},f,this.inheritedAttributes),r,i("slot",{slot:"left-icon",name:"icon"}),l(this.el,"badge")&&i("slot",{name:"badge"})))}static get delegatesFocus(){return true}get el(){return o(this)}};c.style=b;export{c as ic_navigation_button};
2
+ //# sourceMappingURL=p-9cd73369.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icNavigationButtonCss","MUTABLE_ATTRIBUTES","IC_INHERITED_ARIA","NavigationButton","constructor","hostRef","this","inheritedAttributes","hostMutationObserver","hostMutationCallback","mutationList","forceComponentUpdate","forEach","attributeName","includes","el","getAttribute","forceUpdate","initialAppearance","getThemeForegroundColor","mode","download","href","undefined","hreflang","label","referrerpolicy","rel","target","componentWillLoad","inheritAttributes","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","MutationObserver","observe","attributes","componentWillRender","iconEl","querySelector","setAttribute","disconnectedCallback","_a","disconnect","navBarMenuOpenHandler","navBarMenuCloseHandler","themeChangeHandler","ev","theme","detail","setFocus","buttonEl","focus","render","className","variant","appearance","size","fullWidth","disableTooltip","IcThemeForegroundEnum","Default","buttonProps","h","Host","class","Object","assign","ref","slot","name","isSlotUsed","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-navigation-button/ic-navigation-button.css?tag=ic-navigation-button&encapsulation=shadow","../web-components/dist/collection/components/ic-navigation-button/ic-navigation-button.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: block;\n margin-right: var(--ic-space-xs);\n list-style: none;\n}\n\n:host(.in-side-menu) {\n margin-right: 0;\n}\n\n:host::part(button) {\n height: 100%;\n min-height: 2.5rem;\n}\n\n:host(.in-side-menu) ::slotted(ic-badge) {\n margin-left: var(--ic-space-xs);\n}\n","import { Host, h, forceUpdate, } from \"@stencil/core\";\nimport { getThemeForegroundColor, inheritAttributes, onComponentRequiredPropUndefined, isSlotUsed, } from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport { IcThemeForegroundEnum, } from \"../../utils/types\";\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"title\"];\n/**\n * @slot icon - Content will be placed to the left of the button label.\n * @slot badge - Badge component overlaying the top right of the button.\n */\nexport class NavigationButton {\n constructor() {\n this.inheritedAttributes = {};\n this.hostMutationObserver = null;\n // triggered when attributes of host element change\n this.hostMutationCallback = (mutationList) => {\n let forceComponentUpdate = false;\n mutationList.forEach(({ attributeName }) => {\n if (MUTABLE_ATTRIBUTES.includes(attributeName)) {\n this.inheritedAttributes[attributeName] =\n this.el.getAttribute(attributeName);\n forceComponentUpdate = true;\n }\n });\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n this.initialAppearance = getThemeForegroundColor();\n this.mode = \"navbar\";\n this.download = false;\n this.href = undefined;\n this.hreflang = undefined;\n this.label = undefined;\n this.referrerpolicy = undefined;\n this.rel = undefined;\n this.target = undefined;\n }\n componentWillLoad() {\n this.inheritedAttributes = inheritAttributes(this.el, MUTABLE_ATTRIBUTES);\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([{ prop: this.label, propName: \"label\" }], \"Navigation Button\");\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n });\n }\n componentWillRender() {\n const iconEl = this.el.querySelector(`[slot=\"icon\"]`);\n iconEl !== null && iconEl.setAttribute(\"viewBox\", \"0 0 24 24\");\n }\n disconnectedCallback() {\n var _a;\n (_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n navBarMenuOpenHandler() {\n this.mode = \"menu\";\n }\n navBarMenuCloseHandler() {\n this.mode = \"navbar\";\n }\n themeChangeHandler(ev) {\n const theme = ev.detail;\n this.initialAppearance = theme.mode;\n }\n /**\n * Sets focus on the native `button`.\n */\n async setFocus() {\n if (this.buttonEl) {\n this.buttonEl.focus();\n }\n }\n render() {\n const { href, target, rel, download, referrerpolicy } = this;\n let label = \"\";\n let className = \"\";\n let variant = \"icon\";\n let appearance = this.initialAppearance;\n let size = \"large\";\n let fullWidth = false;\n let disableTooltip = false;\n if (this.mode === \"menu\") {\n label = this.label;\n variant = \"tertiary\";\n appearance = IcThemeForegroundEnum.Default;\n size = \"default\";\n fullWidth = true;\n className = \"popout-menu-button\";\n disableTooltip = true;\n }\n const buttonProps = {\n variant,\n appearance,\n size,\n href,\n target,\n rel,\n download,\n referrerpolicy,\n fullWidth,\n disableTooltip,\n };\n return (h(Host, { class: { [\"in-side-menu\"]: this.mode === \"menu\" } }, h(\"ic-button\", Object.assign({ class: className, \"aria-label\": variant == \"icon\" ? this.label : null, ref: (el) => (this.buttonEl = el) }, buttonProps, this.inheritedAttributes), label, h(\"slot\", { slot: \"left-icon\", name: \"icon\" }), isSlotUsed(this.el, \"badge\") && h(\"slot\", { name: \"badge\" }))));\n }\n static get is() { return \"ic-navigation-button\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-navigation-button.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-navigation-button.css\"]\n };\n }\n static get properties() {\n return {\n \"download\": {\n \"type\": \"any\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | boolean\",\n \"resolved\": \"boolean | string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the user can save the linked URL instead of navigating to it.\"\n },\n \"attribute\": \"download\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"href\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The URL that the link points to. This will render the button as an \\\"a\\\" tag.\"\n },\n \"attribute\": \"href\",\n \"reflect\": false\n },\n \"hreflang\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The human language of the linked URL.\"\n },\n \"attribute\": \"hreflang\",\n \"reflect\": false\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label info to display.\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"referrerpolicy\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ReferrerPolicy\",\n \"resolved\": \"\\\"\\\" | \\\"no-referrer\\\" | \\\"no-referrer-when-downgrade\\\" | \\\"origin\\\" | \\\"origin-when-cross-origin\\\" | \\\"same-origin\\\" | \\\"strict-origin\\\" | \\\"strict-origin-when-cross-origin\\\" | \\\"unsafe-url\\\"\",\n \"references\": {\n \"ReferrerPolicy\": {\n \"location\": \"global\",\n \"id\": \"global::ReferrerPolicy\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"How much of the referrer to send when following the link.\"\n },\n \"attribute\": \"referrerpolicy\",\n \"reflect\": false\n },\n \"rel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The relationship of the linked URL as space-separated link types.\"\n },\n \"attribute\": \"rel\",\n \"reflect\": false\n },\n \"target\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\"\n },\n \"attribute\": \"target\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"initialAppearance\": {},\n \"mode\": {}\n };\n }\n static get methods() {\n return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on the native `button`.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"icNavigationMenuOpened\",\n \"method\": \"navBarMenuOpenHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"icNavigationMenuClosed\",\n \"method\": \"navBarMenuCloseHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"themeChange\",\n \"method\": \"themeChangeHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-navigation-button.js.map\n"],"mappings":"oKAAA,MAAMA,EAAwB,skFCI9B,MAAMC,EAAqB,IAAIC,EAAmB,S,MAKrCC,EAAgB,MACzB,WAAAC,CAAAC,G,UACIC,KAAKC,oBAAsB,GAC3BD,KAAKE,qBAAuB,KAE5BF,KAAKG,qBAAwBC,IACzB,IAAIC,EAAuB,MAC3BD,EAAaE,SAAQ,EAAGC,oBACpB,GAAIZ,EAAmBa,SAASD,GAAgB,CAC5CP,KAAKC,oBAAoBM,GACrBP,KAAKS,GAAGC,aAAaH,GACzBF,EAAuB,I,KAG/B,GAAIA,EAAsB,CACtBM,EAAYX,K,GAGpBA,KAAKY,kBAAoBC,IACzBb,KAAKc,KAAO,SACZd,KAAKe,SAAW,MAChBf,KAAKgB,KAAOC,UACZjB,KAAKkB,SAAWD,UAChBjB,KAAKmB,MAAQF,UACbjB,KAAKoB,eAAiBH,UACtBjB,KAAKqB,IAAMJ,UACXjB,KAAKsB,OAASL,S,CAElB,iBAAAM,GACIvB,KAAKC,oBAAsBuB,EAAkBxB,KAAKS,GAAId,E,CAE1D,gBAAA8B,GACIC,EAAiC,CAAC,CAAEC,KAAM3B,KAAKmB,MAAOS,SAAU,UAAY,qBAC5E5B,KAAKE,qBAAuB,IAAI2B,iBAAiB7B,KAAKG,sBACtDH,KAAKE,qBAAqB4B,QAAQ9B,KAAKS,GAAI,CACvCsB,WAAY,M,CAGpB,mBAAAC,GACI,MAAMC,EAASjC,KAAKS,GAAGyB,cAAc,iBACrCD,IAAW,MAAQA,EAAOE,aAAa,UAAW,Y,CAEtD,oBAAAC,GACI,IAAIC,GACHA,EAAKrC,KAAKE,wBAA0B,MAAQmC,SAAY,OAAS,EAAIA,EAAGC,Y,CAE7E,qBAAAC,GACIvC,KAAKc,KAAO,M,CAEhB,sBAAA0B,GACIxC,KAAKc,KAAO,Q,CAEhB,kBAAA2B,CAAmBC,GACf,MAAMC,EAAQD,EAAGE,OACjB5C,KAAKY,kBAAoB+B,EAAM7B,I,CAKnC,cAAM+B,GACF,GAAI7C,KAAK8C,SAAU,CACf9C,KAAK8C,SAASC,O,EAGtB,MAAAC,GACI,MAAMhC,KAAEA,EAAIM,OAAEA,EAAMD,IAAEA,EAAGN,SAAEA,EAAQK,eAAEA,GAAmBpB,KACxD,IAAImB,EAAQ,GACZ,IAAI8B,EAAY,GAChB,IAAIC,EAAU,OACd,IAAIC,EAAanD,KAAKY,kBACtB,IAAIwC,EAAO,QACX,IAAIC,EAAY,MAChB,IAAIC,EAAiB,MACrB,GAAItD,KAAKc,OAAS,OAAQ,CACtBK,EAAQnB,KAAKmB,MACb+B,EAAU,WACVC,EAAaI,EAAsBC,QACnCJ,EAAO,UACPC,EAAY,KACZJ,EAAY,qBACZK,EAAiB,I,CAErB,MAAMG,EAAc,CAChBP,UACAC,aACAC,OACApC,OACAM,SACAD,MACAN,WACAK,iBACAiC,YACAC,kBAEJ,OAAQI,EAAEC,EAAM,CAAEC,MAAO,CAAE,CAAC,gBAAiB5D,KAAKc,OAAS,SAAY4C,EAAE,YAAaG,OAAOC,OAAO,CAAEF,MAAOX,EAAW,aAAcC,GAAW,OAASlD,KAAKmB,MAAQ,KAAM4C,IAAMtD,GAAQT,KAAK8C,SAAWrC,GAAOgD,EAAazD,KAAKC,qBAAsBkB,EAAOuC,EAAE,OAAQ,CAAEM,KAAM,YAAaC,KAAM,SAAWC,EAAWlE,KAAKS,GAAI,UAAYiD,EAAE,OAAQ,CAAEO,KAAM,W,CAIvW,yBAAWE,GAAmB,OAAO,IAAK,C"}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as i,H as e,g as a,c as s}from"./p-8455d1bb.js";import{i as n,a as h,k as l}from"./p-da506987.js";import{G as r,h as o}from"./p-8ab58daa.js";import"./p-fd186591.js";const c=":host{gap:var(--ic-space-xs);padding:var(--ic-space-xs)}:host,.action-area{display:flex;flex-direction:column}.action-area{gap:var(--ic-space-md)}:host ::slotted(svg),:host ::slotted(img){border-radius:var(--ic-space-xxs)}:host(.right),:host(.right) .action-area{align-items:flex-end;text-align:right}:host(.center),:host(.center) .action-area{align-items:center;text-align:center}:host(.image-default) ::slotted(svg),:host(.image-default) ::slotted(img){height:calc(3 * var(--ic-space-lg)) !important;width:calc(3 * var(--ic-space-lg)) !important}:host(.image-small) ::slotted(svg),:host(.image-small) ::slotted(img){height:var(--ic-space-xxl) !important;width:var(--ic-space-xxl) !important}:host(.image-large) ::slotted(svg),:host(.image-large) ::slotted(img){height:calc(4 * var(--ic-space-xl)) !important;width:calc(4 * var(--ic-space-xl)) !important}";const g=class{constructor(i){t(this,i);this.hostMutationObserver=null;this.aligned="left";this.body=undefined;this.bodyMaxLines=undefined;this.heading=undefined;this.imageSize="default";this.subheading=undefined}disconnectedCallback(){var t;(t=this.hostMutationObserver)===null||t===void 0?void 0:t.disconnect()}componentDidLoad(){!n(this.el,"heading")&&h([{prop:this.heading,propName:"heading"}],"Empty State");this.hostMutationObserver=new MutationObserver((t=>l(t,["image","actions"],this)));this.hostMutationObserver.observe(this.el,{childList:true})}render(){const{aligned:t,body:a,bodyMaxLines:s,heading:h,imageSize:l,subheading:r}=this;return i(e,{class:{[`${t}`]:true,[`image-${l}`]:n(this.el,"image")}},n(this.el,"image")&&i("slot",{name:"image"}),i("div",null,i("slot",{name:"heading"},i("ic-typography",{variant:"h4"},h)),i("slot",{name:"subheading"},i("ic-typography",{variant:"subtitle-small"},r)),i("slot",{name:"body"},i("ic-typography",{maxLines:s},a))),n(this.el,"actions")&&i("div",{class:"action-area"},i("slot",{name:"actions"})))}get el(){return a(this)}};g.style=c;const p=":host(){display:block}.pagination-bar{height:3.5rem;display:flex;align-items:center;justify-content:flex-end;gap:var(--ic-space-xl);padding:var(--ic-space-xs) var(--ic-space-md);box-sizing:border-box}.pagination-bar-left{justify-content:flex-start}.item-controls{display:flex;align-items:center;gap:var(--ic-space-xl)}.pagination-bar-space-between .item-controls{margin-right:auto}.items-per-page-holder{display:flex;align-items:center;gap:var(--ic-space-xs)}.items-per-page-input{--input-width:5rem}.pagination-controls{display:flex;align-items:center;gap:var(--ic-space-xl)}.pagination-controls-wrap{flex-direction:column;align-items:flex-end;gap:var(--ic-space-xs)}.pagination-bar-space-between .pagination-controls{margin-left:auto}.go-to-page-holder{display:flex;align-items:center;gap:var(--ic-space-xs)}.go-to-page-input{--input-width:var(--ic-space-xl)}.go-to-page-button{--min-width:var(--ic-space-xl)}.pagination-text-default,.pagination-text-dark,.pagination-text-light{white-space:nowrap}.pagination-text-light{color:var(--ic-color-white-text)}@media screen and (max-width: 768px){.pagination-bar{flex-direction:column;align-items:flex-end;height:-moz-fit-content;height:fit-content;gap:var(--ic-space-xs)}.pagination-bar-left{align-items:flex-start}}@media screen and (max-width: 320px){.item-controls,.pagination-controls{flex-direction:column;align-items:flex-end;gap:var(--ic-space-xs)}.pagination-bar-left .item-controls,.pagination-bar-left .pagination-controls,.pagination-bar-space-between .item-controls,.pagination-bar-space-between .pagination-controls{align-items:flex-start}}";const d=class{constructor(i){t(this,i);this.icPageChange=s(this,"icPageChange",7);this.icItemsPerPageChange=s(this,"icItemsPerPageChange",7);this.PAGE_INPUT_FIELD_ID="go-to-page-input";this.INVALID_PAGE_ERROR="Please enter a valid page";this.resizeObserver=null;this.changeItemsPerPage=()=>{this.setItemsPerPage(Number(this.pageDropdownEl.value))};this.changePage=t=>{this.activePage=t;this.lowerBound=t!==1?(t-1)*this.itemsPerPage+1:t;this.setUpperBound()};this.focusElFromLabel=t=>{var i;(i=this.paginationBarEl.querySelector(t))===null||i===void 0?void 0:i.setFocus()};this.goToPage=()=>{var t;const i=this.pageInputEl;const e=Number(i.value);if(e<=this.totalPages&&e>0){this.changePage(e);(t=this.paginationEl)===null||t===void 0?void 0:t.setCurrentPage(e);this.activePage=e;i.value="";this.icPageChange.emit({value:e});this.pageInputTooltipEl.displayTooltip(false,false);i.validationStatus=""}else{this.setInputError(i,this.INVALID_PAGE_ERROR)}};this.goToPageLabelClickHandler=()=>{this.focusElFromLabel("ic-text-field")};this.handleBlur=()=>{const t=this.pageInputEl;if(Number(t.value)<=this.totalPages&&Number(t.value)>0||t.value===""){t.validationStatus=""}this.pageInputTooltipEl.displayTooltip(false,false)};this.handleFocus=()=>{if(this.pageInputEl.validationStatus==="error"){this.pageInputTooltipEl.displayTooltip(true,true)}};this.handleInputChange=()=>{const t=parseInt(this.pageInputEl.value);if(t>this.totalPages||t<=0){this.setInputError(this.pageInputEl,this.INVALID_PAGE_ERROR);this.pageInputTooltipEl.displayTooltip(true,true)}};this.handleKeydown=t=>{if(t.key==="Enter"){if(this.pageInputEl.validationStatus==="error"){this.pageInputTooltipEl.displayTooltip(true,true)}else{this.goToPage()}}else{this.pageInputTooltipEl.displayTooltip(false,false);this.pageInputEl.validationStatus=""}};this.handleKeyUp=t=>{if(Number.isNaN(parseInt(this.pageInputEl.value))&&t.key!=="Backspace"&&t.key!=="Enter"&&t.key!=="Tab"&&t.key!=="Shift"){this.setInputError(this.pageInputEl,"Please enter a number",false);this.pageInputTooltipEl.displayTooltip(true,false)}};this.itemsPerPageLabelClickHandler=()=>{this.focusElFromLabel("ic-select")};this.paginationShouldWrap=()=>{if(this.type==="simple"){this.paginationWrapped=this.paginationEl.clientHeight>63}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{const{clientWidth:t}=this.paginationBarEl;if(t-this.paginationWidth>50||t-this.paginationWidth<-50){this.paginationWidth=t;this.paginationShouldWrap()}}));this.resizeObserver.observe(this.paginationBarEl)};this.setInputError=(t,i,e=true)=>{this.inputError=i;t.validationStatus="error";if(e)t.setFocus()};this.setToFirstPage=()=>{var t;const i=1;this.changePage(i);(t=this.paginationEl)===null||t===void 0?void 0:t.setCurrentPage(i);this.activePage=i;this.icPageChange.emit({value:i})};this.setItemsPerPage=t=>{var i;if(this.itemsPerPage!==t){this.itemsPerPage=t;this.itemsPerPageString=t.toString();this.icItemsPerPageChange.emit({value:this.itemsPerPage});if(this.setToFirstPageOnPaginationChange){this.setToFirstPage()}}this.totalPages=this.totalItems>this.itemsPerPage?Math.ceil(this.totalItems/this.itemsPerPage):1;this.setUpperBound();if(this.activePage>this.totalPages){(i=this.paginationEl)===null||i===void 0?void 0:i.setCurrentPage(this.totalPages);this.activePage=this.totalPages}this.icPageChange.emit({value:this.activePage,fromItemsPerPage:true})};this.setItemsPerPageOptions=()=>{const t=this.itemsPerPageOptions?JSON.parse(JSON.stringify(this.itemsPerPageOptions)):null;const i=t||(this.totalItems<=100?[{label:"10",value:"10"},{label:"25",value:"25"},{label:"50",value:"50"}]:[{label:"25",value:"25"},{label:"100",value:"100"},{label:"1000",value:"1000"}]);this.displayedItemsPerPageOptions=i.filter((({value:t})=>this.totalItems>=Number(t)));const e=this.displayedItemsPerPageOptions.length;const a=()=>this.displayedItemsPerPageOptions.push({label:"All",value:String(this.totalItems)});const s=()=>Number(this.displayedItemsPerPageOptions[e-1].value)===this.totalItems;const n=()=>this.displayedItemsPerPageOptions[e-1].label="All";if(e===0){a()}else if(s()){n()}else if(!this.hideAllFromItemsPerPage){a()}};this.setPaginationBarContent=()=>{this.setItemsPerPageOptions();let t=0;const i=this.displayedItemsPerPageOptions.some((({value:i})=>{t=Number(i);return this.itemsPerPage<=t}));this.setItemsPerPage(i||!i&&this.itemsPerPage>t?t:this.itemsPerPage)};this.setUpperBound=()=>{this.upperBound=Math.min(this.lowerBound+this.itemsPerPage-1,this.totalItems)};this.capitalizedItemLabel=undefined;this.capitalizedPageLabel=undefined;this.activePage=1;this.displayedItemsPerPageOptions=undefined;this.inputError="Please enter a valid page";this.itemsPerPage=10;this.itemsPerPageString="10";this.lowerBound=1;this.lowerCaseItemLabel=undefined;this.lowerCasePageLabel=undefined;this.paginationWidth=undefined;this.paginationWrapped=false;this.totalPages=undefined;this.upperBound=undefined;this.alignment="right";this.appearance="default";this.currentPage=1;this.selectedItemsPerPage=undefined;this.hideAllFromItemsPerPage=false;this.itemLabel="Item";this.itemsPerPageOptions=undefined;this.type="simple";this.rangeLabelType="page";this.pageLabel="Page";this.showGoToPageControl=false;this.hideRangeLabel=false;this.showItemsPerPageControl=false;this.totalItems=undefined;this.setToFirstPageOnPaginationChange=false}watchPageNumberHandler(){this.setPaginationBarContent();if(typeof this.currentPage==="number"&&this.currentPage){if(this.currentPage<1||this.totalPages&&this.currentPage>this.totalPages){console.error(`The current page (${this.currentPage}) must be a number greater than zero but less than or equal to the total number of pages (${this.totalPages})`)}else{this.activePage=this.currentPage}}}watchSelectedItemsPerPageHandler(){var t;if(this.selectedItemsPerPage!==null&&this.selectedItemsPerPage!==undefined){if((t=this.displayedItemsPerPageOptions)===null||t===void 0?void 0:t.filter((t=>t.value===`${this.selectedItemsPerPage}`)).length){this.setItemsPerPage(this.selectedItemsPerPage)}else{console.error(`The selected items per page option "${this.selectedItemsPerPage}" does not exist`)}}}watchHideAllFromItemsPerPageHandler(){this.setPaginationBarContent()}watchItemLabelHandler(){this.capitalizedItemLabel=r(this.itemLabel);this.lowerCaseItemLabel=this.itemLabel.toLowerCase()}watchItemsPerPageOptionsHandler(t,i){if(JSON.stringify(t)===JSON.stringify(i))return;this.setPaginationBarContent()}watchPageLabelHandler(){this.capitalizedPageLabel=r(this.pageLabel);this.lowerCasePageLabel=this.pageLabel.toLowerCase()}watchTotalItemsHandler(){this.setPaginationBarContent()}watchSetToFirstPageOnPaginationChange(){this.setPaginationBarContent()}disconnectedCallback(){var t;(t=this.resizeObserver)===null||t===void 0?void 0:t.disconnect()}componentWillLoad(){this.watchPageNumberHandler();this.watchPageLabelHandler();this.watchItemLabelHandler();this.setPaginationBarContent();this.watchSelectedItemsPerPageHandler()}componentDidLoad(){var t,i;this.paginationWidth=this.paginationBarEl.clientWidth;o(this.runResizeObserver);const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(`.${this.PAGE_INPUT_FIELD_ID}`);if(e){const t=(i=e===null||e===void 0?void 0:e.shadowRoot)===null||i===void 0?void 0:i.querySelector("input");if(t){t.style.textAlign="center";t.style.padding="0"}}this.paginationShouldWrap()}pageChangeHandler(t){const i=t.detail.value;this.changePage(i)}render(){const{appearance:t,alignment:e,displayedItemsPerPageOptions:a,PAGE_INPUT_FIELD_ID:s,type:n,rangeLabelType:h,hideRangeLabel:l,showItemsPerPageControl:r,showGoToPageControl:o,pageLabel:c,capitalizedPageLabel:g,lowerCasePageLabel:p,capitalizedItemLabel:d,lowerCaseItemLabel:m,totalPages:u,activePage:f,itemsPerPageString:v}=this;return i("div",{class:{["pagination-bar"]:true,[`pagination-bar-${e}`]:true},ref:t=>this.paginationBarEl=t},(!l||r)&&i("div",{class:"item-controls"},r&&i("div",{class:"items-per-page-holder"},i("ic-typography",{class:{[`pagination-text-${t}`]:true,["items-per-page-control-label"]:true},variant:"label",onClick:this.itemsPerPageLabelClickHandler},d,"s per ",p),i("ic-select",{small:true,label:"items-per-page-input",class:"items-per-page-input",hideLabel:true,options:a,value:v,onIcChange:this.changeItemsPerPage,ref:t=>this.pageDropdownEl=t})),!l&&(h==="data"?i("ic-typography",{class:{[`pagination-text-${t}`]:true,["item-pagination-label"]:true},variant:"label","aria-live":"polite"},this.upperBound===0&&`0 ${m}s`,this.upperBound>0&&`${this.lowerBound} - ${this.upperBound} of ${this.totalItems} ${m}${this.totalItems>1?"s":""}`):i("ic-typography",{class:{[`pagination-text-${t}`]:true,["page-pagination-label"]:true},variant:"label","aria-live":"polite"},g," ",f," of ",u))),i("div",{class:{["pagination-controls"]:true,["pagination-controls-wrap"]:this.paginationWrapped}},i("div",{class:"pagination-holder"},i("ic-pagination",{appearance:t,type:n,pages:u,label:c,ref:t=>this.paginationEl=t,currentPage:f})),o&&i("div",{class:"go-to-page-holder"},i("ic-typography",{class:{[`pagination-text-${t}`]:true},variant:"label",onClick:this.goToPageLabelClickHandler},"Go to ",p),i("ic-tooltip",{label:this.inputError,target:`#${s}`,disableHover:true,disableClick:true,ref:t=>this.pageInputTooltipEl=t},i("ic-text-field",{type:"number",size:"small",label:s,class:s,id:s,hideLabel:true,onKeyDown:this.handleKeydown,onKeyUp:this.handleKeyUp,onInput:this.handleInputChange,max:u,min:"1",validationInlineInternal:true,onBlur:this.handleBlur,onFocus:this.handleFocus,ref:t=>this.pageInputEl=t})),i("ic-button",{appearance:t,variant:"secondary",onClick:this.goToPage,size:"small",class:"go-to-page-button"},"Go"))))}get el(){return a(this)}static get watchers(){return{currentPage:["watchPageNumberHandler"],selectedItemsPerPage:["watchSelectedItemsPerPageHandler"],hideAllFromItemsPerPage:["watchHideAllFromItemsPerPageHandler"],itemLabel:["watchItemLabelHandler"],itemsPerPageOptions:["watchItemsPerPageOptionsHandler"],pageLabel:["watchPageLabelHandler"],totalItems:["watchTotalItemsHandler"],setToFirstPageOnPaginationChange:["watchSetToFirstPageOnPaginationChange"]}}};d.style=p;export{g as ic_empty_state,d as ic_pagination_bar};
2
+ //# sourceMappingURL=p-b68d6867.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icEmptyStateCss","EmptyState","constructor","hostRef","this","hostMutationObserver","aligned","body","undefined","bodyMaxLines","heading","imageSize","subheading","disconnectedCallback","_a","disconnect","componentDidLoad","isSlotUsed","el","onComponentRequiredPropUndefined","prop","propName","MutationObserver","mutationList","renderDynamicChildSlots","observe","childList","render","h","Host","class","name","variant","maxLines","icPaginationBarCss","PaginationBar","PAGE_INPUT_FIELD_ID","INVALID_PAGE_ERROR","resizeObserver","changeItemsPerPage","setItemsPerPage","Number","pageDropdownEl","value","changePage","page","activePage","lowerBound","itemsPerPage","setUpperBound","focusElFromLabel","paginationBarEl","querySelector","setFocus","goToPage","input","pageInputEl","totalPages","paginationEl","setCurrentPage","icPageChange","emit","pageInputTooltipEl","displayTooltip","validationStatus","setInputError","goToPageLabelClickHandler","handleBlur","textField","handleFocus","handleInputChange","inputValue","parseInt","handleKeydown","ev","key","handleKeyUp","isNaN","itemsPerPageLabelClickHandler","paginationShouldWrap","type","paginationWrapped","clientHeight","runResizeObserver","ResizeObserver","clientWidth","paginationWidth","error","focus","inputError","setToFirstPage","firstPage","newValue","itemsPerPageString","toString","icItemsPerPageChange","setToFirstPageOnPaginationChange","totalItems","Math","ceil","fromItemsPerPage","setItemsPerPageOptions","clonedItemsPerPageOptions","itemsPerPageOptions","JSON","parse","stringify","displayedItemsPerPageOptions","label","filter","currentItemsLength","length","addAllOption","push","String","lastItemsPerPageEqualsTotalItems","relabelLastOptionToAll","hideAllFromItemsPerPage","setPaginationBarContent","lastOptionValue","updated","some","upperBound","min","watchPageNumberHandler","currentPage","console","watchSelectedItemsPerPageHandler","selectedItemsPerPage","option","watchHideAllFromItemsPerPageHandler","watchItemLabelHandler","capitalizedItemLabel","capitalize","itemLabel","lowerCaseItemLabel","toLowerCase","watchItemsPerPageOptionsHandler","newVal","oldVal","watchPageLabelHandler","capitalizedPageLabel","pageLabel","lowerCasePageLabel","watchTotalItemsHandler","watchSetToFirstPageOnPaginationChange","componentWillLoad","checkResizeObserver","shadowRoot","_b","style","textAlign","padding","pageChangeHandler","detail","appearance","alignment","rangeLabelType","hideRangeLabel","showItemsPerPageControl","showGoToPageControl","ref","onClick","small","hideLabel","options","onIcChange","pages","target","disableHover","disableClick","size","id","onKeyDown","onKeyUp","onInput","max","validationInlineInternal","onBlur","onFocus"],"sources":["../web-components/dist/collection/components/ic-empty-state/ic-empty-state.css?tag=ic-empty-state&encapsulation=shadow","../web-components/dist/collection/components/ic-empty-state/ic-empty-state.js","src/components/ic-pagination-bar/ic-pagination-bar.css?tag=ic-pagination-bar&encapsulation=shadow","src/components/ic-pagination-bar/ic-pagination-bar.tsx"],"sourcesContent":[":host {\n gap: var(--ic-space-xs);\n padding: var(--ic-space-xs);\n}\n\n:host,\n.action-area {\n display: flex;\n flex-direction: column;\n}\n\n.action-area {\n gap: var(--ic-space-md);\n}\n\n:host ::slotted(svg),\n:host ::slotted(img) {\n border-radius: var(--ic-space-xxs);\n}\n\n:host(.right),\n:host(.right) .action-area {\n align-items: flex-end;\n text-align: right;\n}\n\n:host(.center),\n:host(.center) .action-area {\n align-items: center;\n text-align: center;\n}\n\n:host(.image-default) ::slotted(svg),\n:host(.image-default) ::slotted(img) {\n height: calc(3 * var(--ic-space-lg)) !important;\n width: calc(3 * var(--ic-space-lg)) !important;\n}\n\n:host(.image-small) ::slotted(svg),\n:host(.image-small) ::slotted(img) {\n height: var(--ic-space-xxl) !important;\n width: var(--ic-space-xxl) !important;\n}\n\n:host(.image-large) ::slotted(svg),\n:host(.image-large) ::slotted(img) {\n height: calc(4 * var(--ic-space-xl)) !important;\n width: calc(4 * var(--ic-space-xl)) !important;\n}\n","import { h, Host } from \"@stencil/core\";\nimport { isSlotUsed, onComponentRequiredPropUndefined, renderDynamicChildSlots, } from \"../../utils/helpers\";\n/**\n * @slot image - Content is placed at the top above all other content.\n * @slot actions - Content is placed at the bottom below all other content.\n * @slot heading - Content will be rendered in place of the heading prop.\n * @slot subheading - Content will be rendered in place of the subheading prop.\n * @slot body - Content will be rendered in place of the body prop.\n */\nexport class EmptyState {\n constructor() {\n this.hostMutationObserver = null;\n this.aligned = \"left\";\n this.body = undefined;\n this.bodyMaxLines = undefined;\n this.heading = undefined;\n this.imageSize = \"default\";\n this.subheading = undefined;\n }\n disconnectedCallback() {\n var _a;\n (_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n componentDidLoad() {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined([{ prop: this.heading, propName: \"heading\" }], \"Empty State\");\n this.hostMutationObserver = new MutationObserver((mutationList) => renderDynamicChildSlots(mutationList, [\"image\", \"actions\"], this));\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n render() {\n const { aligned, body, bodyMaxLines, heading, imageSize, subheading } = this;\n return (h(Host, { class: {\n [`${aligned}`]: true,\n [`image-${imageSize}`]: isSlotUsed(this.el, \"image\"),\n } }, isSlotUsed(this.el, \"image\") && h(\"slot\", { name: \"image\" }), h(\"div\", null, h(\"slot\", { name: \"heading\" }, h(\"ic-typography\", { variant: \"h4\" }, heading)), h(\"slot\", { name: \"subheading\" }, h(\"ic-typography\", { variant: \"subtitle-small\" }, subheading)), h(\"slot\", { name: \"body\" }, h(\"ic-typography\", { maxLines: bodyMaxLines }, body))), isSlotUsed(this.el, \"actions\") && (h(\"div\", { class: \"action-area\" }, h(\"slot\", { name: \"actions\" })))));\n }\n static get is() { return \"ic-empty-state\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-empty-state.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-empty-state.css\"]\n };\n }\n static get properties() {\n return {\n \"aligned\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcEmptyStateAlignment\",\n \"resolved\": \"\\\"center\\\" | \\\"left\\\" | \\\"right\\\"\",\n \"references\": {\n \"IcEmptyStateAlignment\": {\n \"location\": \"import\",\n \"path\": \"./ic-empty-state.types\",\n \"id\": \"src/components/ic-empty-state/ic-empty-state.types.ts::IcEmptyStateAlignment\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The alignment of the empty state container.\"\n },\n \"attribute\": \"aligned\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"left\\\"\"\n },\n \"body\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The body text rendered in the empty state container.\"\n },\n \"attribute\": \"body\",\n \"reflect\": false\n },\n \"bodyMaxLines\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The number of lines of body text to display before truncating.\"\n },\n \"attribute\": \"body-max-lines\",\n \"reflect\": false\n },\n \"heading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The title rendered in the empty state container.\"\n },\n \"attribute\": \"heading\",\n \"reflect\": false\n },\n \"imageSize\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"default\\\" | \\\"large\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the image or icon used in the image slot.\"\n },\n \"attribute\": \"image-size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"subheading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The subtitle rendered in the empty state container.\"\n },\n \"attribute\": \"subheading\",\n \"reflect\": false\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ic-empty-state.js.map\n",":host() {\n display: block;\n}\n\n.pagination-bar {\n height: 3.5rem;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--ic-space-xl);\n padding: var(--ic-space-xs) var(--ic-space-md);\n box-sizing: border-box;\n}\n\n.pagination-bar-left {\n justify-content: flex-start;\n}\n\n.item-controls {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xl);\n}\n\n.pagination-bar-space-between .item-controls {\n margin-right: auto;\n}\n\n.items-per-page-holder {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n.items-per-page-input {\n --input-width: 5rem;\n}\n\n.pagination-controls {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xl);\n}\n\n.pagination-controls-wrap {\n flex-direction: column;\n align-items: flex-end;\n gap: var(--ic-space-xs);\n}\n\n.pagination-bar-space-between .pagination-controls {\n margin-left: auto;\n}\n\n.go-to-page-holder {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n.go-to-page-input {\n --input-width: var(--ic-space-xl);\n}\n\n.go-to-page-button {\n --min-width: var(--ic-space-xl);\n}\n\n.pagination-text-default,\n.pagination-text-dark,\n.pagination-text-light {\n white-space: nowrap;\n}\n\n.pagination-text-light {\n color: var(--ic-color-white-text);\n}\n\n@media screen and (max-width: 768px) {\n .pagination-bar {\n flex-direction: column;\n align-items: flex-end;\n height: fit-content;\n gap: var(--ic-space-xs);\n }\n\n .pagination-bar-left {\n align-items: flex-start;\n }\n}\n\n@media screen and (max-width: 320px) {\n .item-controls,\n .pagination-controls {\n flex-direction: column;\n align-items: flex-end;\n gap: var(--ic-space-xs);\n }\n\n .pagination-bar-left .item-controls,\n .pagination-bar-left .pagination-controls,\n .pagination-bar-space-between .item-controls,\n .pagination-bar-space-between .pagination-controls {\n align-items: flex-start;\n }\n}\n","import {\n Component,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Listen,\n h,\n Watch,\n} from \"@stencil/core\";\nimport { IcThemeForeground } from \"@ukic/web-components/dist/types/interface\";\nimport { checkResizeObserver, capitalize } from \"../../utils/helpers\";\nimport { IcPageChangeEventDetail } from \"./ic-pagination-bar.types\";\nimport {\n IcPaginationAlignmentOptions,\n IcPaginationLabelTypes,\n IcPaginationTypes,\n} from \"@ukic/web-components/dist/types/components/ic-pagination/ic-pagination.types\";\n\n@Component({\n tag: \"ic-pagination-bar\",\n styleUrl: \"ic-pagination-bar.css\",\n shadow: true,\n})\nexport class PaginationBar {\n private PAGE_INPUT_FIELD_ID = \"go-to-page-input\";\n\n private INVALID_PAGE_ERROR = \"Please enter a valid page\";\n\n private resizeObserver: ResizeObserver = null;\n private pageDropdownEl: HTMLIcSelectElement;\n private pageInputEl: HTMLIcTextFieldElement;\n private pageInputTooltipEl: HTMLIcTooltipElement;\n private paginationBarEl: HTMLElement;\n private paginationEl: HTMLIcPaginationElement;\n\n @Element() el: HTMLIcPaginationBarElement;\n\n @State() capitalizedItemLabel: string;\n\n @State() capitalizedPageLabel: string;\n\n @State() activePage: number = 1;\n\n @State() displayedItemsPerPageOptions?: {\n label: string;\n value: string;\n }[];\n\n @State() inputError: string = \"Please enter a valid page\";\n\n @State() itemsPerPage: number = 10;\n\n @State() itemsPerPageString: string = \"10\";\n\n @State() lowerBound: number = 1;\n\n @State() lowerCaseItemLabel: string;\n\n @State() lowerCasePageLabel: string;\n\n @State() paginationWidth: number;\n\n @State() paginationWrapped: boolean = false;\n\n @State() totalPages: number;\n\n @State() upperBound: number;\n\n /**\n * Sets the alignment of the items in the pagination bar.\n */\n @Prop() alignment?: IcPaginationAlignmentOptions = \"right\";\n\n /**\n * Sets the styling for the items in the pagination bar.\n */\n @Prop() appearance?: IcThemeForeground = \"default\";\n\n /**\n * The current page number to be displayed on the pagination bar.\n */\n @Prop() currentPage?: number = 1;\n\n @Watch(\"currentPage\")\n watchPageNumberHandler(): void {\n this.setPaginationBarContent();\n\n if (typeof this.currentPage === \"number\" && this.currentPage) {\n if (\n this.currentPage < 1 ||\n (this.totalPages && this.currentPage > this.totalPages)\n ) {\n console.error(\n `The current page (${this.currentPage}) must be a number greater than zero but less than or equal to the total number of pages (${this.totalPages})`\n );\n } else {\n this.activePage = this.currentPage;\n }\n }\n }\n\n /**\n * The items per page option to be selected.\n */\n @Prop() selectedItemsPerPage?: number;\n\n @Watch(\"selectedItemsPerPage\")\n watchSelectedItemsPerPageHandler(): void {\n if (\n this.selectedItemsPerPage !== null &&\n this.selectedItemsPerPage !== undefined\n ) {\n if (\n this.displayedItemsPerPageOptions?.filter(\n (option) => option.value === `${this.selectedItemsPerPage}`\n ).length\n ) {\n this.setItemsPerPage(this.selectedItemsPerPage);\n } else {\n console.error(\n `The selected items per page option \"${this.selectedItemsPerPage}\" does not exist`\n );\n }\n }\n }\n\n /**\n * If `true`, the 'All' option will be hidden from the 'items per page' select input.\n */\n @Prop() hideAllFromItemsPerPage?: boolean = false;\n @Watch(\"hideAllFromItemsPerPage\")\n watchHideAllFromItemsPerPageHandler(): void {\n this.setPaginationBarContent();\n }\n\n /**\n * The text which will be used in place of 'Item' on the pagination bar.\n */\n @Prop() itemLabel?: string = \"Item\";\n\n @Watch(\"itemLabel\")\n watchItemLabelHandler(): void {\n this.capitalizedItemLabel = capitalize(this.itemLabel);\n this.lowerCaseItemLabel = this.itemLabel.toLowerCase();\n }\n\n /**\n * The options which will be displayed for 'items per page' select input.\n */\n @Prop() itemsPerPageOptions?: {\n label: string;\n value: string;\n }[];\n\n @Watch(\"itemsPerPageOptions\")\n watchItemsPerPageOptionsHandler(\n newVal: {\n label: string;\n value: string;\n }[],\n oldVal: {\n label: string;\n value: string;\n }[]\n ): void {\n if (JSON.stringify(newVal) === JSON.stringify(oldVal)) return;\n this.setPaginationBarContent();\n }\n\n /**\n * Whether the displayed pagination is simple or complex.\n */\n @Prop() type?: IcPaginationTypes = \"simple\";\n\n /**\n * Whether total number of items and current item range or total number of pages and current page is displayed.\n */\n @Prop() rangeLabelType?: IcPaginationLabelTypes = \"page\";\n\n /**\n * The text which will be used in place of 'Page' on the pagination bar.\n */\n @Prop() pageLabel?: string = \"Page\";\n\n @Watch(\"pageLabel\")\n watchPageLabelHandler(): void {\n this.capitalizedPageLabel = capitalize(this.pageLabel);\n this.lowerCasePageLabel = this.pageLabel.toLowerCase();\n }\n\n /**\n * If `true`, the 'go to page' control should be displayed.\n */\n @Prop() showGoToPageControl?: boolean = false;\n\n /**\n * If `true`, the number of total items and current item range or number of total pages and current page will be hidden.\n */\n @Prop() hideRangeLabel?: boolean = false;\n\n /**\n * If `true`, the select input to control 'items per page' should be displayed.\n */\n @Prop() showItemsPerPageControl?: boolean = false;\n\n /**\n * Total number of items to be displayed across all pages.\n */\n @Prop() totalItems!: number;\n\n @Watch(\"totalItems\")\n watchTotalItemsHandler(): void {\n this.setPaginationBarContent();\n }\n\n /**\n If `true`, the pagination bar is set to the first page when the 'items per page' changes\n */\n @Prop() setToFirstPageOnPaginationChange?: boolean = false;\n\n @Watch(\"setToFirstPageOnPaginationChange\")\n watchSetToFirstPageOnPaginationChange(): void {\n this.setPaginationBarContent();\n }\n\n /**\n * Emitted when a page is navigated to via the 'go to' input.\n * The `detail` property contains `value` (i.e. the page number) and a `fromItemsPerPage` flag to indicate if the event was triggered by the `icItemsPerPageChange` event also occurring.\n */\n @Event() icPageChange: EventEmitter<IcPageChangeEventDetail>;\n\n /**\n * Emitted when the items per page option is changed.\n */\n @Event() icItemsPerPageChange: EventEmitter<{ value: number }>;\n\n disconnectedCallback(): void {\n this.resizeObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.watchPageNumberHandler();\n this.watchPageLabelHandler();\n this.watchItemLabelHandler();\n this.setPaginationBarContent();\n this.watchSelectedItemsPerPageHandler();\n }\n\n componentDidLoad(): void {\n this.paginationWidth = this.paginationBarEl.clientWidth;\n checkResizeObserver(this.runResizeObserver);\n const textField = this.el.shadowRoot?.querySelector(\n `.${this.PAGE_INPUT_FIELD_ID}`\n );\n if (textField) {\n const input = textField?.shadowRoot?.querySelector(\"input\");\n if (input) {\n input.style.textAlign = \"center\";\n input.style.padding = \"0\";\n }\n }\n this.paginationShouldWrap();\n }\n\n @Listen(\"icPageChange\")\n pageChangeHandler(ev: CustomEvent): void {\n const page = ev.detail.value;\n this.changePage(page);\n }\n\n private changeItemsPerPage = () => {\n this.setItemsPerPage(Number(this.pageDropdownEl.value));\n };\n\n private changePage = (page: number) => {\n this.activePage = page;\n this.lowerBound = page !== 1 ? (page - 1) * this.itemsPerPage + 1 : page;\n this.setUpperBound();\n };\n\n private focusElFromLabel = (el: \"ic-select\" | \"ic-text-field\") => {\n this.paginationBarEl.querySelector(el)?.setFocus();\n };\n\n private goToPage = () => {\n const input = this.pageInputEl;\n const page = Number(input.value);\n if (page <= this.totalPages && page > 0) {\n this.changePage(page);\n this.paginationEl?.setCurrentPage(page);\n this.activePage = page;\n input.value = \"\";\n this.icPageChange.emit({ value: page });\n this.pageInputTooltipEl.displayTooltip(false, false);\n input.validationStatus = \"\";\n } else {\n this.setInputError(input, this.INVALID_PAGE_ERROR);\n }\n };\n\n private goToPageLabelClickHandler = () => {\n this.focusElFromLabel(\"ic-text-field\");\n };\n\n private handleBlur = () => {\n const textField = this.pageInputEl;\n if (\n (Number(textField.value) <= this.totalPages &&\n Number(textField.value) > 0) ||\n textField.value === \"\"\n ) {\n textField.validationStatus = \"\";\n }\n this.pageInputTooltipEl.displayTooltip(false, false);\n };\n\n private handleFocus = () => {\n if (this.pageInputEl.validationStatus === \"error\") {\n this.pageInputTooltipEl.displayTooltip(true, true);\n }\n };\n\n private handleInputChange = () => {\n const inputValue = parseInt(this.pageInputEl.value);\n\n if (inputValue > this.totalPages || inputValue <= 0) {\n this.setInputError(this.pageInputEl, this.INVALID_PAGE_ERROR);\n this.pageInputTooltipEl.displayTooltip(true, true);\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \"Enter\") {\n if (this.pageInputEl.validationStatus === \"error\") {\n this.pageInputTooltipEl.displayTooltip(true, true);\n } else {\n this.goToPage();\n }\n } else {\n this.pageInputTooltipEl.displayTooltip(false, false);\n this.pageInputEl.validationStatus = \"\";\n }\n };\n\n private handleKeyUp = (ev: KeyboardEvent) => {\n if (\n Number.isNaN(parseInt(this.pageInputEl.value)) &&\n ev.key !== \"Backspace\" &&\n ev.key !== \"Enter\" &&\n ev.key !== \"Tab\" &&\n ev.key !== \"Shift\"\n ) {\n this.setInputError(this.pageInputEl, \"Please enter a number\", false);\n this.pageInputTooltipEl.displayTooltip(true, false);\n }\n };\n\n private itemsPerPageLabelClickHandler = () => {\n this.focusElFromLabel(\"ic-select\");\n };\n\n private paginationShouldWrap = () => {\n if (this.type === \"simple\") {\n this.paginationWrapped = this.paginationEl.clientHeight > 63;\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const { clientWidth } = this.paginationBarEl;\n if (\n clientWidth - this.paginationWidth > 50 ||\n clientWidth - this.paginationWidth < -50\n ) {\n this.paginationWidth = clientWidth;\n this.paginationShouldWrap();\n }\n });\n\n this.resizeObserver.observe(this.paginationBarEl);\n };\n\n private setInputError = (\n el: HTMLIcTextFieldElement,\n error: string,\n focus = true\n ) => {\n this.inputError = error;\n el.validationStatus = \"error\";\n if (focus) el.setFocus();\n };\n\n private setToFirstPage = () => {\n const firstPage = 1;\n this.changePage(firstPage);\n this.paginationEl?.setCurrentPage(firstPage);\n this.activePage = firstPage;\n this.icPageChange.emit({ value: firstPage });\n };\n\n private setItemsPerPage = (newValue: number) => {\n if (this.itemsPerPage !== newValue) {\n this.itemsPerPage = newValue;\n this.itemsPerPageString = newValue.toString();\n this.icItemsPerPageChange.emit({ value: this.itemsPerPage });\n\n if (this.setToFirstPageOnPaginationChange) {\n this.setToFirstPage();\n }\n }\n\n this.totalPages =\n this.totalItems > this.itemsPerPage\n ? Math.ceil(this.totalItems / this.itemsPerPage)\n : 1;\n\n this.setUpperBound();\n if (this.activePage > this.totalPages) {\n this.paginationEl?.setCurrentPage(this.totalPages);\n this.activePage = this.totalPages;\n }\n this.icPageChange.emit({ value: this.activePage, fromItemsPerPage: true });\n };\n\n private setItemsPerPageOptions = () => {\n const clonedItemsPerPageOptions: {\n label: string;\n value: string;\n }[] = this.itemsPerPageOptions\n ? JSON.parse(JSON.stringify(this.itemsPerPageOptions))\n : null;\n\n const displayedItemsPerPageOptions =\n clonedItemsPerPageOptions ||\n (this.totalItems <= 100\n ? [\n { label: \"10\", value: \"10\" },\n { label: \"25\", value: \"25\" },\n { label: \"50\", value: \"50\" },\n ]\n : [\n { label: \"25\", value: \"25\" },\n { label: \"100\", value: \"100\" },\n { label: \"1000\", value: \"1000\" },\n ]);\n\n this.displayedItemsPerPageOptions = displayedItemsPerPageOptions.filter(\n ({ value }) => this.totalItems >= Number(value)\n );\n\n const currentItemsLength = this.displayedItemsPerPageOptions.length;\n\n const addAllOption = () =>\n this.displayedItemsPerPageOptions.push({\n label: \"All\",\n value: String(this.totalItems),\n });\n\n const lastItemsPerPageEqualsTotalItems = () =>\n Number(\n this.displayedItemsPerPageOptions[currentItemsLength - 1].value\n ) === this.totalItems;\n\n const relabelLastOptionToAll = () =>\n (this.displayedItemsPerPageOptions[currentItemsLength - 1].label = \"All\");\n\n if (currentItemsLength === 0) {\n addAllOption();\n } else if (lastItemsPerPageEqualsTotalItems()) {\n relabelLastOptionToAll();\n } else if (!this.hideAllFromItemsPerPage) {\n addAllOption();\n }\n };\n\n private setPaginationBarContent = (): void => {\n this.setItemsPerPageOptions();\n\n let lastOptionValue = 0;\n const updated = this.displayedItemsPerPageOptions.some(({ value }) => {\n lastOptionValue = Number(value);\n return this.itemsPerPage <= lastOptionValue;\n });\n\n this.setItemsPerPage(\n updated || (!updated && this.itemsPerPage > lastOptionValue)\n ? lastOptionValue\n : this.itemsPerPage\n );\n };\n\n private setUpperBound = () => {\n this.upperBound = Math.min(\n this.lowerBound + this.itemsPerPage - 1,\n this.totalItems\n );\n };\n\n render() {\n const {\n appearance,\n alignment,\n displayedItemsPerPageOptions,\n PAGE_INPUT_FIELD_ID,\n type,\n rangeLabelType,\n hideRangeLabel,\n showItemsPerPageControl,\n showGoToPageControl,\n pageLabel,\n capitalizedPageLabel,\n lowerCasePageLabel,\n capitalizedItemLabel,\n lowerCaseItemLabel,\n totalPages,\n activePage,\n itemsPerPageString,\n } = this;\n\n return (\n <div\n class={{\n [\"pagination-bar\"]: true,\n [`pagination-bar-${alignment}`]: true,\n }}\n ref={(el) => (this.paginationBarEl = el)}\n >\n {(!hideRangeLabel || showItemsPerPageControl) && (\n <div class=\"item-controls\">\n {showItemsPerPageControl && (\n <div class=\"items-per-page-holder\">\n <ic-typography\n class={{\n [`pagination-text-${appearance}`]: true,\n [\"items-per-page-control-label\"]: true,\n }}\n variant=\"label\"\n onClick={this.itemsPerPageLabelClickHandler}\n >\n {capitalizedItemLabel}s per {lowerCasePageLabel}\n </ic-typography>\n <ic-select\n small\n label=\"items-per-page-input\"\n class=\"items-per-page-input\"\n hideLabel\n options={displayedItemsPerPageOptions}\n value={itemsPerPageString}\n onIcChange={this.changeItemsPerPage}\n ref={(el: HTMLIcSelectElement) => (this.pageDropdownEl = el)}\n ></ic-select>\n </div>\n )}\n {!hideRangeLabel &&\n (rangeLabelType === \"data\" ? (\n <ic-typography\n class={{\n [`pagination-text-${appearance}`]: true,\n [\"item-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {this.upperBound === 0 && `0 ${lowerCaseItemLabel}s`}\n {this.upperBound > 0 &&\n `${this.lowerBound} - ${this.upperBound} of ${\n this.totalItems\n } ${lowerCaseItemLabel}${this.totalItems > 1 ? \"s\" : \"\"}`}\n </ic-typography>\n ) : (\n <ic-typography\n class={{\n [`pagination-text-${appearance}`]: true,\n [\"page-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {capitalizedPageLabel} {activePage} of {totalPages}\n </ic-typography>\n ))}\n </div>\n )}\n <div\n class={{\n [\"pagination-controls\"]: true,\n [\"pagination-controls-wrap\"]: this.paginationWrapped,\n }}\n >\n <div class=\"pagination-holder\">\n <ic-pagination\n appearance={appearance}\n type={type}\n pages={totalPages}\n label={pageLabel}\n ref={(el: HTMLIcPaginationElement) => (this.paginationEl = el)}\n currentPage={activePage}\n ></ic-pagination>\n </div>\n {showGoToPageControl && (\n <div class=\"go-to-page-holder\">\n <ic-typography\n class={{ [`pagination-text-${appearance}`]: true }}\n variant=\"label\"\n onClick={this.goToPageLabelClickHandler}\n >\n Go to {lowerCasePageLabel}\n </ic-typography>\n <ic-tooltip\n label={this.inputError}\n target={`#${PAGE_INPUT_FIELD_ID}`}\n disableHover\n disableClick\n ref={(el: HTMLIcTooltipElement) =>\n (this.pageInputTooltipEl = el)\n }\n >\n <ic-text-field\n type=\"number\"\n size=\"small\"\n label={PAGE_INPUT_FIELD_ID}\n class={PAGE_INPUT_FIELD_ID}\n id={PAGE_INPUT_FIELD_ID}\n hideLabel\n onKeyDown={this.handleKeydown}\n onKeyUp={this.handleKeyUp}\n onInput={this.handleInputChange}\n max={totalPages}\n min=\"1\"\n validationInlineInternal\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n ref={(el: HTMLIcTextFieldElement) => (this.pageInputEl = el)}\n ></ic-text-field>\n </ic-tooltip>\n <ic-button\n appearance={appearance}\n variant=\"secondary\"\n onClick={this.goToPage}\n size=\"small\"\n class=\"go-to-page-button\"\n >\n Go\n </ic-button>\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as t,c as i,h as e,H as s,g as a}from"./p-8455d1bb.js";import{c as o}from"./p-e081702e.js";import{i as n,V as r,a as c,K as d,e as l}from"./p-da506987.js";import{I as h}from"./p-fd186591.js";const m='/*! 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}@media (prefers-reduced-motion: no-preference){:host{animation:fadein var(--ic-transition-duration-slow) ease-in-out}:host(.hidden){animation:fadeout var(--ic-transition-duration-slow) ease-in-out}}:host{--bottom-position:var(--ic-space-xl);position:fixed;bottom:var(--bottom-position);left:50%;transform:translate(-50%);z-index:var(--ic-z-index-toast)}:host(.hidden){display:none}.container{max-width:32.5rem;min-width:18rem;box-shadow:var(--ic-elevation-overlay);min-height:3.5rem;background-color:var(--ic-architectural-800);color:var(--ic-color-white-text);display:flex;align-items:center;position:relative;border-radius:var(--ic-border-radius)}.toast-icon-container{height:100%;display:flex;align-items:center}.divider{height:100%;width:var(--ic-space-xs);position:absolute;border-radius:var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs)}.divider-neutral{background-color:var(--ic-status-unknown)}.divider-info{background-color:var(--ic-status-info-contrast)}.divider-warning{background-color:var(--ic-status-warning-contrast)}.divider-error{background-color:var(--ic-status-error-contrast)}.divider-success{background-color:var(--ic-status-success-contrast)}.toast-icon,::slotted(svg){height:var(--ic-space-lg);width:var(--ic-space-lg);margin-left:var(--ic-space-md)}:host([variant="neutral"]) .toast-icon svg,::slotted(svg){fill:var(--ic-status-unknown)}:host([variant="info"]) .toast-icon svg{fill:var(--ic-status-info-contrast)}:host([variant="warning"]) .toast-icon svg{fill:var(--ic-status-warning-contrast)}:host([variant="error"]) .toast-icon svg{fill:var(--ic-status-error-contrast)}:host([variant="success"]) .toast-icon svg{fill:var(--ic-status-success-contrast)}.toast-content{margin-left:var(--ic-space-xs);width:100%}.no-icon{margin-left:var(--ic-space-md)}.toast-message{padding:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0}.toast-action-container{padding-bottom:var(--ic-space-md)}ic-button,.toast-dismiss-timer{padding:var(--ic-space-xs)}@media (max-width: 576px){:host{--bottom-position:var(--ic-space-lg);width:calc(100% - 2 * var(--ic-space-md))}}@media (min-width: 993px){:host{--bottom-position:calc(var(--ic-space-xl) + var(--ic-space-xs))}}@media (forced-colors: active){.container{border:var(--ic-hc-border)}}@keyframes fadein{from{bottom:0;opacity:0}to{bottom:var(--bottom-position);opacity:1}}@keyframes fadeout{from{bottom:var(--bottom-position);opacity:1}to{bottom:0;opacity:0}}';const u=1e3;const p=70;const b=140;const f=class{constructor(e){t(this,e);this.icDismiss=i(this,"icDismiss",7);this.interactiveElements=[];this.dismissAction=()=>{this.icDismiss.emit()};this.handleProgressChange=()=>{this.timerProgress-=u/this.autoDismissTimeout*100};this.timerProgress=100;this.visible=false;this.autoDismissTimeout=5e3;this.dismissButtonAriaLabel="dismiss";this.dismissMode="manual";this.heading=undefined;this.message=undefined;this.neutralIconAriaLabel=undefined;this.variant=undefined}dismissModeChangeHandler(t){this.isManual=t==="manual"}disconnectedCallback(){window.clearTimeout(this.dismissTimeout);window.clearInterval(this.timerRefreshInterval)}componentWillLoad(){var t,i;this.handleLongText(this.heading.length>p,((t=this.message)===null||t===void 0?void 0:t.length)>b);if(this.autoDismissTimeout<5e3)this.autoDismissTimeout=5e3;if(n(this.el,"action"))this.dismissMode="manual";this.isManual=this.dismissMode==="manual";if(n(this.el,"neutral-icon"))this.variant="neutral";if(this.variant==="neutral"){this.neutralVariantLabel=(i=this.neutralIconAriaLabel)!==null&&i!==void 0?i:r[this.variant].ariaLabel}if(this.isManual){const t=l(this.message)?`. ${this.message}`:"";this.el.setAttribute("aria-label",this.variant?this.neutralVariantLabel||r[this.variant].ariaLabel:this.heading);(this.variant||this.message)&&this.el.setAttribute("aria-description",this.variant?`${this.heading}${t}`:this.message)}}componentDidLoad(){c([{prop:this.heading,propName:"heading"}],"Toast");const t=d(this.el,"action");const i=this.el.shadowRoot.querySelector("ic-button");if(t)this.interactiveElements.push(t);if(i)this.interactiveElements.push(i)}handleDismiss(){this.visible=false;clearInterval(this.timerRefreshInterval);this.timerProgress=100}handleKeyboard(t){if(this.isManual&&this.visible){switch(t.key){case"Tab":t.preventDefault();this.findNextInteractiveElement(t.shiftKey).setFocus();break;case"Escape":!t.repeat&&this.dismissAction();t.stopImmediatePropagation();break}}}handleTimer(t){if(!this.isManual){switch(t.type){case"mouseenter":window.clearTimeout(this.dismissTimeout);window.clearInterval(this.timerRefreshInterval);this.timerProgress=100;break;case"mouseleave":this.dismissTimeout=window.setTimeout(this.dismissAction,this.autoDismissTimeout);this.timerRefreshInterval=window.setInterval(this.handleProgressChange,u);break}}}async setVisible(){if(!this.visible)this.visible=true;if(!this.isManual){this.dismissTimeout=window.setTimeout(this.dismissAction,this.autoDismissTimeout);this.timerRefreshInterval=window.setInterval(this.handleProgressChange,u);return null}else{window.setTimeout((()=>this.interactiveElements[0].setFocus()),200);return document.activeElement}}handleLongText(t,i){if(i||t){console.error(`Too many characters in toast ${t?"heading":""}${t&&i?" and ":""}${i?"message":""}. Refer to character limits specified in the prop description`)}}findNextInteractiveElement(t){const i=this.interactiveElements[0];const e=this.interactiveElements[this.interactiveElements.length-1];if(this.isActive(t?i:e))return t?e:i;let s;return this.interactiveElements.some(((t,i)=>{if(!this.isActive(t))return false;s=i;return true}))?this.interactiveElements[s+(t?-1:1)]:i}isActive(t){return t===this.el?!!this.el.shadowRoot.activeElement:document.activeElement===t}render(){const{variant:t,heading:i,message:a,visible:c,isManual:d,dismissButtonAriaLabel:l}=this;return e(s,{class:{["hidden"]:!c},role:d?"dialog":"status"},e("div",{class:"container"},t&&c&&e("div",{class:"toast-icon-container"},e("div",{class:{["divider"]:true,[`divider-${t}`]:true}}),t==="neutral"?e("slot",{name:"neutral-icon"}):e("span",{class:"toast-icon",innerHTML:r[t].icon})),e("div",{class:{["toast-content"]:true,["no-icon"]:t==="neutral"&&!n(this.el,"neutral-icon")}},e("div",{class:"toast-message"},e("ic-typography",{variant:"subtitle-large"},c&&e("h5",null,i)),a&&e("ic-typography",{variant:"body"},c&&e("p",null,a))),n(this.el,"action")&&e("div",{class:"toast-action-container"},e("slot",{name:"action"}))),!d?e("ic-loading-indicator",{class:"toast-dismiss-timer",appearance:"light",size:"icon",progress:this.timerProgress}):e("ic-button",{id:"dismiss-button",innerHTML:o,onClick:this.dismissAction,variant:"icon",appearance:h.Light,"aria-label":l})))}get el(){return a(this)}static get watchers(){return{dismissMode:["dismissModeChangeHandler"]}}};f.style=m;export{f as ic_toast};
2
- //# sourceMappingURL=p-2b61d283.entry.js.map
1
+ import{r as t,c as i,h as e,H as s,g as a}from"./p-8455d1bb.js";import{c as o}from"./p-e081702e.js";import{i as n,V as r,a as c,K as d,e as l}from"./p-da506987.js";import{I as h}from"./p-fd186591.js";const m='/*! 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}@media (prefers-reduced-motion: no-preference){:host{animation:fadein var(--ic-transition-duration-slow) ease-in-out}:host(.hidden){animation:fadeout var(--ic-transition-duration-slow) ease-in-out}}:host{--bottom-position:var(--ic-space-xl);position:fixed;bottom:var(--bottom-position);left:50%;transform:translate(-50%);z-index:var(--ic-z-index-toast)}:host(.hidden){display:none}.container{max-width:32.5rem;min-width:18rem;box-shadow:var(--ic-elevation-overlay);min-height:3.5rem;background-color:var(--ic-architectural-800);color:var(--ic-color-white-text);display:flex;align-items:center;position:relative;border-radius:var(--ic-border-radius)}.toast-icon-container{height:100%;display:flex;align-items:center}.divider{height:100%;width:var(--ic-space-xs);position:absolute;border-radius:var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs)}.divider-neutral{background-color:var(--ic-status-unknown)}.divider-info{background-color:var(--ic-status-info-contrast)}.divider-warning{background-color:var(--ic-status-warning-contrast)}.divider-error{background-color:var(--ic-status-error-contrast)}.divider-success{background-color:var(--ic-status-success-contrast)}.toast-icon,::slotted(svg){height:var(--ic-space-lg);width:var(--ic-space-lg);margin-left:var(--ic-space-md)}:host([variant="neutral"]) .toast-icon svg,::slotted(svg){fill:var(--ic-status-unknown)}:host([variant="info"]) .toast-icon svg{fill:var(--ic-status-info-contrast)}:host([variant="warning"]) .toast-icon svg{fill:var(--ic-status-warning-contrast)}:host([variant="error"]) .toast-icon svg{fill:var(--ic-status-error-contrast)}:host([variant="success"]) .toast-icon svg{fill:var(--ic-status-success-contrast)}.toast-content{margin-left:var(--ic-space-xs);width:100%}.no-icon{margin-left:var(--ic-space-md)}.toast-message{padding:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0}.toast-action-container{padding-bottom:var(--ic-space-md)}ic-button,.toast-dismiss-timer{padding:var(--ic-space-xs)}@media (max-width: 576px){:host{--bottom-position:var(--ic-space-lg);width:calc(100% - 2 * var(--ic-space-md))}}@media (min-width: 993px){:host{--bottom-position:calc(var(--ic-space-xl) + var(--ic-space-xs))}}@media (forced-colors: active){.container{border:var(--ic-hc-border)}}@keyframes fadein{from{bottom:0;opacity:0}to{bottom:var(--bottom-position);opacity:1}}@keyframes fadeout{from{bottom:var(--bottom-position);opacity:1}to{bottom:0;opacity:0}}';const u=1e3;const p=70;const b=140;const f=class{constructor(e){t(this,e);this.icDismiss=i(this,"icDismiss",7);this.interactiveElements=[];this.dismissAction=()=>{this.icDismiss.emit()};this.handleProgressChange=()=>{this.timerProgress-=u/this.autoDismissTimeout*100};this.timerProgress=100;this.visible=false;this.autoDismissTimeout=5e3;this.dismissButtonAriaLabel="dismiss";this.dismissMode="manual";this.heading=undefined;this.message=undefined;this.neutralIconAriaLabel=undefined;this.variant=undefined}dismissModeChangeHandler(t){this.isManual=t==="manual"}disconnectedCallback(){window.clearTimeout(this.dismissTimeout);window.clearInterval(this.timerRefreshInterval)}componentWillLoad(){var t,i;this.handleLongText(this.heading.length>p,((t=this.message)===null||t===void 0?void 0:t.length)>b);if(this.autoDismissTimeout<5e3)this.autoDismissTimeout=5e3;if(n(this.el,"action"))this.dismissMode="manual";this.isManual=this.dismissMode==="manual";if(n(this.el,"neutral-icon"))this.variant="neutral";if(this.variant==="neutral"){this.neutralVariantLabel=(i=this.neutralIconAriaLabel)!==null&&i!==void 0?i:r[this.variant].ariaLabel}if(this.isManual){const t=l(this.message)?`. ${this.message}`:"";this.el.setAttribute("aria-label",this.variant?this.neutralVariantLabel||r[this.variant].ariaLabel:this.heading);(this.variant||this.message)&&this.el.setAttribute("aria-description",this.variant?`${this.heading}${t}`:this.message)}}componentDidLoad(){c([{prop:this.heading,propName:"heading"}],"Toast");const t=d(this.el,"action");const i=this.el.shadowRoot.querySelector("ic-button");if(t)this.interactiveElements.push(t);if(i)this.interactiveElements.push(i)}handleDismiss(){this.visible=false;clearInterval(this.timerRefreshInterval);this.timerProgress=100}handleKeyboard(t){if(this.isManual&&this.visible){switch(t.key){case"Tab":t.preventDefault();this.findNextInteractiveElement(t.shiftKey).setFocus();break;case"Escape":!t.repeat&&this.dismissAction();t.stopImmediatePropagation();break}}}handleTimer(t){if(!this.isManual){switch(t.type){case"mouseenter":window.clearTimeout(this.dismissTimeout);window.clearInterval(this.timerRefreshInterval);this.timerProgress=100;break;case"mouseleave":this.dismissTimeout=window.setTimeout(this.dismissAction,this.autoDismissTimeout);this.timerRefreshInterval=window.setInterval(this.handleProgressChange,u);break}}}async setVisible(){if(!this.visible)this.visible=true;if(!this.isManual){this.dismissTimeout=window.setTimeout(this.dismissAction,this.autoDismissTimeout);this.timerRefreshInterval=window.setInterval(this.handleProgressChange,u);return null}else{window.setTimeout((()=>this.interactiveElements[0].setFocus()),200);return document.activeElement}}handleLongText(t,i){if(i||t){console.error(`Too many characters in toast ${t?"heading":""}${t&&i?" and ":""}${i?"message":""}. Refer to character limits specified in the prop description`)}}findNextInteractiveElement(t){const i=this.interactiveElements[0];const e=this.interactiveElements[this.interactiveElements.length-1];if(this.isActive(t?i:e))return t?e:i;let s;return this.interactiveElements.some(((t,i)=>{if(!this.isActive(t))return false;s=i;return true}))?this.interactiveElements[s+(t?-1:1)]:i}isActive(t){return t===this.el?!!this.el.shadowRoot.activeElement:document.activeElement===t}render(){const{variant:t,heading:i,message:a,visible:c,isManual:d,dismissButtonAriaLabel:l}=this;return e(s,{class:{["hidden"]:!c},role:d?"dialog":"alert","aria-live":d?null:"polite"},e("div",{class:"container"},t&&c&&e("div",{class:"toast-icon-container"},e("div",{class:{["divider"]:true,[`divider-${t}`]:true}}),t==="neutral"?e("slot",{name:"neutral-icon"}):e("span",{class:"toast-icon",innerHTML:r[t].icon})),e("div",{class:{["toast-content"]:true,["no-icon"]:t==="neutral"&&!n(this.el,"neutral-icon")}},e("div",{class:"toast-message"},e("ic-typography",{variant:"subtitle-large"},c&&(d?e("h5",null,i):e("p",null,i))),a&&e("ic-typography",{variant:"body"},c&&e("p",null,a))),n(this.el,"action")&&e("div",{class:"toast-action-container"},e("slot",{name:"action"}))),!d?e("ic-loading-indicator",{class:"toast-dismiss-timer",appearance:"light",size:"icon",progress:this.timerProgress}):e("ic-button",{id:"dismiss-button",innerHTML:o,onClick:this.dismissAction,variant:"icon",appearance:h.Light,"aria-label":l})))}get el(){return a(this)}static get watchers(){return{dismissMode:["dismissModeChangeHandler"]}}};f.style=m;export{f as ic_toast};
2
+ //# sourceMappingURL=p-f2bb3c93.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["icToastCss","AUTO_DISMISS_TIMER_REFRESH_RATE_MS","TOAST_HEADING_CHAR_LIMIT","TOAST_MESSAGE_CHAR_LIMIT","Toast","constructor","hostRef","this","interactiveElements","dismissAction","icDismiss","emit","handleProgressChange","timerProgress","autoDismissTimeout","visible","dismissButtonAriaLabel","dismissMode","heading","undefined","message","neutralIconAriaLabel","variant","dismissModeChangeHandler","newValue","isManual","disconnectedCallback","window","clearTimeout","dismissTimeout","clearInterval","timerRefreshInterval","componentWillLoad","_a","_b","handleLongText","length","isSlotUsed","el","neutralVariantLabel","VARIANT_ICONS","ariaLabel","toastMessage","isPropDefined","setAttribute","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","actionContent","getSlot","dismissButton","shadowRoot","querySelector","push","handleDismiss","handleKeyboard","ev","key","preventDefault","findNextInteractiveElement","shiftKey","setFocus","repeat","stopImmediatePropagation","handleTimer","type","setTimeout","setInterval","setVisible","document","activeElement","headingTooLong","messageTooLong","console","error","isBackwards","firstEl","lastEl","isActive","currentIndex","some","index","targetEl","render","h","Host","class","role","name","innerHTML","icon","appearance","size","progress","id","closeIcon","onClick","IcThemeForegroundEnum","Light"],"sources":["../web-components/dist/collection/components/ic-toast/ic-toast.css?tag=ic-toast&encapsulation=shadow","../web-components/dist/collection/components/ic-toast/ic-toast.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n/**\n * @prop --ic-z-index-toast: z-index of toast\n */\n\n@media (prefers-reduced-motion: no-preference) {\n :host {\n animation: fadein var(--ic-transition-duration-slow) ease-in-out;\n }\n\n :host(.hidden) {\n animation: fadeout var(--ic-transition-duration-slow) ease-in-out;\n }\n}\n\n:host {\n --bottom-position: var(--ic-space-xl);\n\n position: fixed;\n bottom: var(--bottom-position);\n left: 50%;\n transform: translate(-50%);\n z-index: var(--ic-z-index-toast);\n}\n\n:host(.hidden) {\n display: none;\n}\n\n.container {\n max-width: 32.5rem;\n min-width: 18rem;\n box-shadow: var(--ic-elevation-overlay);\n min-height: 3.5rem;\n background-color: var(--ic-architectural-800);\n color: var(--ic-color-white-text);\n display: flex;\n align-items: center;\n position: relative;\n border-radius: var(--ic-border-radius);\n}\n\n.toast-icon-container {\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.divider {\n height: 100%;\n width: var(--ic-space-xs);\n position: absolute;\n border-radius: var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);\n}\n\n.divider-neutral {\n background-color: var(--ic-status-unknown);\n}\n\n.divider-info {\n background-color: var(--ic-status-info-contrast);\n}\n\n.divider-warning {\n background-color: var(--ic-status-warning-contrast);\n}\n\n.divider-error {\n background-color: var(--ic-status-error-contrast);\n}\n\n.divider-success {\n background-color: var(--ic-status-success-contrast);\n}\n\n.toast-icon,\n::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n}\n\n:host([variant=\"neutral\"]) .toast-icon svg,\n::slotted(svg) {\n fill: var(--ic-status-unknown);\n}\n\n:host([variant=\"info\"]) .toast-icon svg {\n fill: var(--ic-status-info-contrast);\n}\n\n:host([variant=\"warning\"]) .toast-icon svg {\n fill: var(--ic-status-warning-contrast);\n}\n\n:host([variant=\"error\"]) .toast-icon svg {\n fill: var(--ic-status-error-contrast);\n}\n\n:host([variant=\"success\"]) .toast-icon svg {\n fill: var(--ic-status-success-contrast);\n}\n\n.toast-content {\n margin-left: var(--ic-space-xs);\n width: 100%;\n}\n\n.no-icon {\n margin-left: var(--ic-space-md);\n}\n\n.toast-message {\n padding: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n.toast-action-container {\n padding-bottom: var(--ic-space-md);\n}\n\nic-button,\n.toast-dismiss-timer {\n padding: var(--ic-space-xs);\n}\n\n@media (max-width: 576px) {\n :host {\n --bottom-position: var(--ic-space-lg);\n\n width: calc(100% - 2 * var(--ic-space-md));\n }\n}\n\n@media (min-width: 993px) {\n :host {\n --bottom-position: calc(var(--ic-space-xl) + var(--ic-space-xs));\n }\n}\n\n@media (forced-colors: active) {\n .container {\n border: var(--ic-hc-border);\n }\n}\n\n@keyframes fadein {\n from {\n bottom: 0;\n opacity: 0;\n }\n\n to {\n bottom: var(--bottom-position);\n opacity: 1;\n }\n}\n\n@keyframes fadeout {\n from {\n bottom: var(--bottom-position);\n opacity: 1;\n }\n\n to {\n bottom: 0;\n opacity: 0;\n }\n}\n","import { h, Host, } from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { VARIANT_ICONS } from \"../../utils/constants\";\nimport { getSlot, isPropDefined, isSlotUsed, onComponentRequiredPropUndefined, } from \"../../utils/helpers\";\nimport { IcThemeForegroundEnum, } from \"../../utils/types\";\nconst AUTO_DISMISS_TIMER_REFRESH_RATE_MS = 1000;\nconst TOAST_HEADING_CHAR_LIMIT = 70;\nconst TOAST_MESSAGE_CHAR_LIMIT = 140;\n/**\n * @slot action - IcButton or IcLink is placed below header and message. If used will default toast to manual `dismiss` type.\n * @slot neutral-icon - A custom neutral icon is placed on the left side of the component. If used will default toast to `neutral` variant.\n */\nexport class Toast {\n constructor() {\n this.interactiveElements = [];\n this.dismissAction = () => {\n this.icDismiss.emit();\n };\n this.handleProgressChange = () => {\n this.timerProgress -=\n (AUTO_DISMISS_TIMER_REFRESH_RATE_MS / this.autoDismissTimeout) * 100;\n };\n this.timerProgress = 100;\n this.visible = false;\n this.autoDismissTimeout = 5000;\n this.dismissButtonAriaLabel = \"dismiss\";\n this.dismissMode = \"manual\";\n this.heading = undefined;\n this.message = undefined;\n this.neutralIconAriaLabel = undefined;\n this.variant = undefined;\n }\n dismissModeChangeHandler(newValue) {\n this.isManual = newValue === \"manual\";\n }\n disconnectedCallback() {\n window.clearTimeout(this.dismissTimeout);\n window.clearInterval(this.timerRefreshInterval);\n }\n componentWillLoad() {\n var _a, _b;\n this.handleLongText(this.heading.length > TOAST_HEADING_CHAR_LIMIT, ((_a = this.message) === null || _a === void 0 ? void 0 : _a.length) > TOAST_MESSAGE_CHAR_LIMIT);\n if (this.autoDismissTimeout < 5000)\n this.autoDismissTimeout = 5000;\n if (isSlotUsed(this.el, \"action\"))\n this.dismissMode = \"manual\";\n this.isManual = this.dismissMode === \"manual\";\n if (isSlotUsed(this.el, \"neutral-icon\"))\n this.variant = \"neutral\";\n if (this.variant === \"neutral\") {\n this.neutralVariantLabel =\n (_b = this.neutralIconAriaLabel) !== null && _b !== void 0 ? _b : VARIANT_ICONS[this.variant].ariaLabel;\n }\n if (this.isManual) {\n const toastMessage = isPropDefined(this.message)\n ? `. ${this.message}`\n : \"\";\n this.el.setAttribute(\"aria-label\", this.variant\n ? this.neutralVariantLabel || VARIANT_ICONS[this.variant].ariaLabel\n : this.heading);\n (this.variant || this.message) &&\n this.el.setAttribute(\"aria-description\", this.variant ? `${this.heading}${toastMessage}` : this.message);\n }\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([{ prop: this.heading, propName: \"heading\" }], \"Toast\");\n const actionContent = getSlot(this.el, \"action\");\n const dismissButton = this.el.shadowRoot.querySelector(\"ic-button\");\n if (actionContent)\n this.interactiveElements.push(actionContent);\n if (dismissButton)\n this.interactiveElements.push(dismissButton);\n }\n handleDismiss() {\n this.visible = false;\n clearInterval(this.timerRefreshInterval);\n this.timerProgress = 100;\n }\n handleKeyboard(ev) {\n if (this.isManual && this.visible) {\n switch (ev.key) {\n case \"Tab\":\n ev.preventDefault();\n this.findNextInteractiveElement(ev.shiftKey).setFocus();\n break;\n case \"Escape\":\n !ev.repeat && this.dismissAction();\n ev.stopImmediatePropagation();\n break;\n }\n }\n }\n handleTimer(ev) {\n if (!this.isManual) {\n switch (ev.type) {\n case \"mouseenter\":\n window.clearTimeout(this.dismissTimeout);\n window.clearInterval(this.timerRefreshInterval);\n this.timerProgress = 100;\n break;\n case \"mouseleave\":\n this.dismissTimeout = window.setTimeout(this.dismissAction, this.autoDismissTimeout);\n this.timerRefreshInterval = window.setInterval(this.handleProgressChange, AUTO_DISMISS_TIMER_REFRESH_RATE_MS);\n break;\n }\n }\n }\n /**\n * @internal Used to display the individual toast.\n * @returns The element that previously had focus before the toast appeared\n */\n async setVisible() {\n if (!this.visible)\n this.visible = true;\n if (!this.isManual) {\n this.dismissTimeout = window.setTimeout(this.dismissAction, this.autoDismissTimeout);\n this.timerRefreshInterval = window.setInterval(this.handleProgressChange, AUTO_DISMISS_TIMER_REFRESH_RATE_MS);\n return null;\n }\n else {\n window.setTimeout(() => this.interactiveElements[0].setFocus(), 200);\n return document.activeElement;\n }\n }\n handleLongText(headingTooLong, messageTooLong) {\n if (messageTooLong || headingTooLong) {\n console.error(`Too many characters in toast ${headingTooLong ? \"heading\" : \"\"}${headingTooLong && messageTooLong ? \" and \" : \"\"}${messageTooLong ? \"message\" : \"\"}. Refer to character limits specified in the prop description`);\n }\n }\n findNextInteractiveElement(isBackwards) {\n const firstEl = this.interactiveElements[0];\n const lastEl = this.interactiveElements[this.interactiveElements.length - 1];\n if (this.isActive(isBackwards ? firstEl : lastEl))\n return isBackwards ? lastEl : firstEl;\n let currentIndex;\n return this.interactiveElements.some((el, index) => {\n if (!this.isActive(el))\n return false;\n currentIndex = index;\n return true;\n })\n ? this.interactiveElements[currentIndex + (isBackwards ? -1 : 1)]\n : firstEl;\n }\n isActive(targetEl) {\n return targetEl === this.el\n ? !!this.el.shadowRoot.activeElement\n : document.activeElement === targetEl;\n }\n render() {\n const { variant, heading, message, visible, isManual, dismissButtonAriaLabel, } = this;\n return (h(Host, { class: { [\"hidden\"]: !visible }, role: isManual ? \"dialog\" : \"status\" }, h(\"div\", { class: \"container\" }, variant && visible && (h(\"div\", { class: \"toast-icon-container\" }, h(\"div\", { class: {\n [\"divider\"]: true,\n [`divider-${variant}`]: true,\n } }), variant === \"neutral\" ? (h(\"slot\", { name: \"neutral-icon\" })) : (h(\"span\", { class: \"toast-icon\", innerHTML: VARIANT_ICONS[variant].icon })))), h(\"div\", { class: {\n [\"toast-content\"]: true,\n [\"no-icon\"]: variant === \"neutral\" && !isSlotUsed(this.el, \"neutral-icon\"),\n } }, h(\"div\", { class: \"toast-message\" }, h(\"ic-typography\", { variant: \"subtitle-large\" }, visible && h(\"h5\", null, heading)), message && (h(\"ic-typography\", { variant: \"body\" }, visible && h(\"p\", null, message)))), isSlotUsed(this.el, \"action\") && (h(\"div\", { class: \"toast-action-container\" }, h(\"slot\", { name: \"action\" })))), !isManual ? (h(\"ic-loading-indicator\", { class: \"toast-dismiss-timer\", appearance: \"light\", size: \"icon\", progress: this.timerProgress })) : (h(\"ic-button\", { id: \"dismiss-button\", innerHTML: closeIcon, onClick: this.dismissAction, variant: \"icon\", appearance: IcThemeForegroundEnum.Light, \"aria-label\": dismissButtonAriaLabel })))));\n }\n static get is() { return \"ic-toast\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-toast.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-toast.css\"]\n };\n }\n static get properties() {\n return {\n \"autoDismissTimeout\": {\n \"type\": \"number\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If toast dismissMode is set to `automatic`, use this prop to define the time before the toast dismisses (in MILLISECONDS)\\n(NOTE: Has a minimum value of `5000ms`)\"\n },\n \"attribute\": \"auto-dismiss-timeout\",\n \"reflect\": false,\n \"defaultValue\": \"5000\"\n },\n \"dismissButtonAriaLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If toast can be manually dismissed, this prop sets a custom aria-label for the ic-button component\"\n },\n \"attribute\": \"dismiss-button-aria-label\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"dismiss\\\"\"\n },\n \"dismissMode\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"IcActivationTypes\",\n \"resolved\": \"\\\"automatic\\\" | \\\"manual\\\"\",\n \"references\": {\n \"IcActivationTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcActivationTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"How the toast will be dismissed. If manual will display a dismiss button.\"\n },\n \"attribute\": \"dismiss-mode\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"manual\\\"\"\n },\n \"heading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The title to display at the start of the toast. (NOTE: Should be no more than `70` characters)\"\n },\n \"attribute\": \"heading\",\n \"reflect\": false\n },\n \"message\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The main body message of the toast. (NOTE: Should be no more than `140` characters)\"\n },\n \"attribute\": \"message\",\n \"reflect\": false\n },\n \"neutralIconAriaLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Provides a custom alt-text to be announced to screen readers, if slotting a custom neutral icon\"\n },\n \"attribute\": \"neutral-icon-aria-label\",\n \"reflect\": false\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"IcStatusVariants\",\n \"resolved\": \"\\\"error\\\" | \\\"info\\\" | \\\"neutral\\\" | \\\"success\\\" | \\\"warning\\\"\",\n \"references\": {\n \"IcStatusVariants\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcStatusVariants\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The variant of the toast being rendered\"\n },\n \"attribute\": \"variant\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"timerProgress\": {},\n \"visible\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icDismiss\",\n \"name\": \"icDismiss\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Is emitted when the user dismisses the toast\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get methods() {\n return {\n \"setVisible\": {\n \"complexType\": {\n \"signature\": \"() => Promise<HTMLElement>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n }\n },\n \"return\": \"Promise<HTMLElement>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Used to display the individual toast.\"\n }, {\n \"name\": \"returns\",\n \"text\": \"The element that previously had focus before the toast appeared\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"dismissMode\",\n \"methodName\": \"dismissModeChangeHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"icDismiss\",\n \"method\": \"handleDismiss\",\n \"target\": undefined,\n \"capture\": true,\n \"passive\": false\n }, {\n \"name\": \"keydown\",\n \"method\": \"handleKeyboard\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"mouseenter\",\n \"method\": \"handleTimer\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": true\n }, {\n \"name\": \"mouseleave\",\n \"method\": \"handleTimer\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": true\n }];\n }\n}\n//# sourceMappingURL=ic-toast.js.map\n"],"mappings":"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"}
1
+ {"version":3,"names":["icToastCss","AUTO_DISMISS_TIMER_REFRESH_RATE_MS","TOAST_HEADING_CHAR_LIMIT","TOAST_MESSAGE_CHAR_LIMIT","Toast","constructor","hostRef","this","interactiveElements","dismissAction","icDismiss","emit","handleProgressChange","timerProgress","autoDismissTimeout","visible","dismissButtonAriaLabel","dismissMode","heading","undefined","message","neutralIconAriaLabel","variant","dismissModeChangeHandler","newValue","isManual","disconnectedCallback","window","clearTimeout","dismissTimeout","clearInterval","timerRefreshInterval","componentWillLoad","_a","_b","handleLongText","length","isSlotUsed","el","neutralVariantLabel","VARIANT_ICONS","ariaLabel","toastMessage","isPropDefined","setAttribute","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","actionContent","getSlot","dismissButton","shadowRoot","querySelector","push","handleDismiss","handleKeyboard","ev","key","preventDefault","findNextInteractiveElement","shiftKey","setFocus","repeat","stopImmediatePropagation","handleTimer","type","setTimeout","setInterval","setVisible","document","activeElement","headingTooLong","messageTooLong","console","error","isBackwards","firstEl","lastEl","isActive","currentIndex","some","index","targetEl","render","h","Host","class","role","name","innerHTML","icon","appearance","size","progress","id","closeIcon","onClick","IcThemeForegroundEnum","Light"],"sources":["../web-components/dist/collection/components/ic-toast/ic-toast.css?tag=ic-toast&encapsulation=shadow","../web-components/dist/collection/components/ic-toast/ic-toast.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n/**\n * @prop --ic-z-index-toast: z-index of toast\n */\n\n@media (prefers-reduced-motion: no-preference) {\n :host {\n animation: fadein var(--ic-transition-duration-slow) ease-in-out;\n }\n\n :host(.hidden) {\n animation: fadeout var(--ic-transition-duration-slow) ease-in-out;\n }\n}\n\n:host {\n --bottom-position: var(--ic-space-xl);\n\n position: fixed;\n bottom: var(--bottom-position);\n left: 50%;\n transform: translate(-50%);\n z-index: var(--ic-z-index-toast);\n}\n\n:host(.hidden) {\n display: none;\n}\n\n.container {\n max-width: 32.5rem;\n min-width: 18rem;\n box-shadow: var(--ic-elevation-overlay);\n min-height: 3.5rem;\n background-color: var(--ic-architectural-800);\n color: var(--ic-color-white-text);\n display: flex;\n align-items: center;\n position: relative;\n border-radius: var(--ic-border-radius);\n}\n\n.toast-icon-container {\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.divider {\n height: 100%;\n width: var(--ic-space-xs);\n position: absolute;\n border-radius: var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);\n}\n\n.divider-neutral {\n background-color: var(--ic-status-unknown);\n}\n\n.divider-info {\n background-color: var(--ic-status-info-contrast);\n}\n\n.divider-warning {\n background-color: var(--ic-status-warning-contrast);\n}\n\n.divider-error {\n background-color: var(--ic-status-error-contrast);\n}\n\n.divider-success {\n background-color: var(--ic-status-success-contrast);\n}\n\n.toast-icon,\n::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n}\n\n:host([variant=\"neutral\"]) .toast-icon svg,\n::slotted(svg) {\n fill: var(--ic-status-unknown);\n}\n\n:host([variant=\"info\"]) .toast-icon svg {\n fill: var(--ic-status-info-contrast);\n}\n\n:host([variant=\"warning\"]) .toast-icon svg {\n fill: var(--ic-status-warning-contrast);\n}\n\n:host([variant=\"error\"]) .toast-icon svg {\n fill: var(--ic-status-error-contrast);\n}\n\n:host([variant=\"success\"]) .toast-icon svg {\n fill: var(--ic-status-success-contrast);\n}\n\n.toast-content {\n margin-left: var(--ic-space-xs);\n width: 100%;\n}\n\n.no-icon {\n margin-left: var(--ic-space-md);\n}\n\n.toast-message {\n padding: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n.toast-action-container {\n padding-bottom: var(--ic-space-md);\n}\n\nic-button,\n.toast-dismiss-timer {\n padding: var(--ic-space-xs);\n}\n\n@media (max-width: 576px) {\n :host {\n --bottom-position: var(--ic-space-lg);\n\n width: calc(100% - 2 * var(--ic-space-md));\n }\n}\n\n@media (min-width: 993px) {\n :host {\n --bottom-position: calc(var(--ic-space-xl) + var(--ic-space-xs));\n }\n}\n\n@media (forced-colors: active) {\n .container {\n border: var(--ic-hc-border);\n }\n}\n\n@keyframes fadein {\n from {\n bottom: 0;\n opacity: 0;\n }\n\n to {\n bottom: var(--bottom-position);\n opacity: 1;\n }\n}\n\n@keyframes fadeout {\n from {\n bottom: var(--bottom-position);\n opacity: 1;\n }\n\n to {\n bottom: 0;\n opacity: 0;\n }\n}\n","import { h, Host, } from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { VARIANT_ICONS } from \"../../utils/constants\";\nimport { getSlot, isPropDefined, isSlotUsed, onComponentRequiredPropUndefined, } from \"../../utils/helpers\";\nimport { IcThemeForegroundEnum, } from \"../../utils/types\";\nconst AUTO_DISMISS_TIMER_REFRESH_RATE_MS = 1000;\nconst TOAST_HEADING_CHAR_LIMIT = 70;\nconst TOAST_MESSAGE_CHAR_LIMIT = 140;\n/**\n * @slot action - IcButton or IcLink is placed below header and message. If used will default toast to manual `dismiss` type.\n * @slot neutral-icon - A custom neutral icon is placed on the left side of the component. If used will default toast to `neutral` variant.\n */\nexport class Toast {\n constructor() {\n this.interactiveElements = [];\n this.dismissAction = () => {\n this.icDismiss.emit();\n };\n this.handleProgressChange = () => {\n this.timerProgress -=\n (AUTO_DISMISS_TIMER_REFRESH_RATE_MS / this.autoDismissTimeout) * 100;\n };\n this.timerProgress = 100;\n this.visible = false;\n this.autoDismissTimeout = 5000;\n this.dismissButtonAriaLabel = \"dismiss\";\n this.dismissMode = \"manual\";\n this.heading = undefined;\n this.message = undefined;\n this.neutralIconAriaLabel = undefined;\n this.variant = undefined;\n }\n dismissModeChangeHandler(newValue) {\n this.isManual = newValue === \"manual\";\n }\n disconnectedCallback() {\n window.clearTimeout(this.dismissTimeout);\n window.clearInterval(this.timerRefreshInterval);\n }\n componentWillLoad() {\n var _a, _b;\n this.handleLongText(this.heading.length > TOAST_HEADING_CHAR_LIMIT, ((_a = this.message) === null || _a === void 0 ? void 0 : _a.length) > TOAST_MESSAGE_CHAR_LIMIT);\n if (this.autoDismissTimeout < 5000)\n this.autoDismissTimeout = 5000;\n if (isSlotUsed(this.el, \"action\"))\n this.dismissMode = \"manual\";\n this.isManual = this.dismissMode === \"manual\";\n if (isSlotUsed(this.el, \"neutral-icon\"))\n this.variant = \"neutral\";\n if (this.variant === \"neutral\") {\n this.neutralVariantLabel =\n (_b = this.neutralIconAriaLabel) !== null && _b !== void 0 ? _b : VARIANT_ICONS[this.variant].ariaLabel;\n }\n if (this.isManual) {\n const toastMessage = isPropDefined(this.message)\n ? `. ${this.message}`\n : \"\";\n this.el.setAttribute(\"aria-label\", this.variant\n ? this.neutralVariantLabel || VARIANT_ICONS[this.variant].ariaLabel\n : this.heading);\n (this.variant || this.message) &&\n this.el.setAttribute(\"aria-description\", this.variant ? `${this.heading}${toastMessage}` : this.message);\n }\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([{ prop: this.heading, propName: \"heading\" }], \"Toast\");\n const actionContent = getSlot(this.el, \"action\");\n const dismissButton = this.el.shadowRoot.querySelector(\"ic-button\");\n if (actionContent)\n this.interactiveElements.push(actionContent);\n if (dismissButton)\n this.interactiveElements.push(dismissButton);\n }\n handleDismiss() {\n this.visible = false;\n clearInterval(this.timerRefreshInterval);\n this.timerProgress = 100;\n }\n handleKeyboard(ev) {\n if (this.isManual && this.visible) {\n switch (ev.key) {\n case \"Tab\":\n ev.preventDefault();\n this.findNextInteractiveElement(ev.shiftKey).setFocus();\n break;\n case \"Escape\":\n !ev.repeat && this.dismissAction();\n ev.stopImmediatePropagation();\n break;\n }\n }\n }\n handleTimer(ev) {\n if (!this.isManual) {\n switch (ev.type) {\n case \"mouseenter\":\n window.clearTimeout(this.dismissTimeout);\n window.clearInterval(this.timerRefreshInterval);\n this.timerProgress = 100;\n break;\n case \"mouseleave\":\n this.dismissTimeout = window.setTimeout(this.dismissAction, this.autoDismissTimeout);\n this.timerRefreshInterval = window.setInterval(this.handleProgressChange, AUTO_DISMISS_TIMER_REFRESH_RATE_MS);\n break;\n }\n }\n }\n /**\n * @internal Used to display the individual toast.\n * @returns The element that previously had focus before the toast appeared\n */\n async setVisible() {\n if (!this.visible)\n this.visible = true;\n if (!this.isManual) {\n this.dismissTimeout = window.setTimeout(this.dismissAction, this.autoDismissTimeout);\n this.timerRefreshInterval = window.setInterval(this.handleProgressChange, AUTO_DISMISS_TIMER_REFRESH_RATE_MS);\n return null;\n }\n else {\n window.setTimeout(() => this.interactiveElements[0].setFocus(), 200);\n return document.activeElement;\n }\n }\n handleLongText(headingTooLong, messageTooLong) {\n if (messageTooLong || headingTooLong) {\n console.error(`Too many characters in toast ${headingTooLong ? \"heading\" : \"\"}${headingTooLong && messageTooLong ? \" and \" : \"\"}${messageTooLong ? \"message\" : \"\"}. Refer to character limits specified in the prop description`);\n }\n }\n findNextInteractiveElement(isBackwards) {\n const firstEl = this.interactiveElements[0];\n const lastEl = this.interactiveElements[this.interactiveElements.length - 1];\n if (this.isActive(isBackwards ? firstEl : lastEl))\n return isBackwards ? lastEl : firstEl;\n let currentIndex;\n return this.interactiveElements.some((el, index) => {\n if (!this.isActive(el))\n return false;\n currentIndex = index;\n return true;\n })\n ? this.interactiveElements[currentIndex + (isBackwards ? -1 : 1)]\n : firstEl;\n }\n isActive(targetEl) {\n return targetEl === this.el\n ? !!this.el.shadowRoot.activeElement\n : document.activeElement === targetEl;\n }\n render() {\n const { variant, heading, message, visible, isManual, dismissButtonAriaLabel, } = this;\n return (h(Host, { class: { [\"hidden\"]: !visible }, role: isManual ? \"dialog\" : \"alert\", \"aria-live\": isManual ? null : \"polite\" }, h(\"div\", { class: \"container\" }, variant && visible && (h(\"div\", { class: \"toast-icon-container\" }, h(\"div\", { class: {\n [\"divider\"]: true,\n [`divider-${variant}`]: true,\n } }), variant === \"neutral\" ? (h(\"slot\", { name: \"neutral-icon\" })) : (h(\"span\", { class: \"toast-icon\", innerHTML: VARIANT_ICONS[variant].icon })))), h(\"div\", { class: {\n [\"toast-content\"]: true,\n [\"no-icon\"]: variant === \"neutral\" && !isSlotUsed(this.el, \"neutral-icon\"),\n } }, h(\"div\", { class: \"toast-message\" }, h(\"ic-typography\", { variant: \"subtitle-large\" }, visible && (isManual ? h(\"h5\", null, heading) : h(\"p\", null, heading))), message && (h(\"ic-typography\", { variant: \"body\" }, visible && h(\"p\", null, message)))), isSlotUsed(this.el, \"action\") && (h(\"div\", { class: \"toast-action-container\" }, h(\"slot\", { name: \"action\" })))), !isManual ? (h(\"ic-loading-indicator\", { class: \"toast-dismiss-timer\", appearance: \"light\", size: \"icon\", progress: this.timerProgress })) : (h(\"ic-button\", { id: \"dismiss-button\", innerHTML: closeIcon, onClick: this.dismissAction, variant: \"icon\", appearance: IcThemeForegroundEnum.Light, \"aria-label\": dismissButtonAriaLabel })))));\n }\n static get is() { return \"ic-toast\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-toast.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-toast.css\"]\n };\n }\n static get properties() {\n return {\n \"autoDismissTimeout\": {\n \"type\": \"number\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If toast dismissMode is set to `automatic`, use this prop to define the time before the toast dismisses (in MILLISECONDS)\\n(NOTE: Has a minimum value of `5000ms`)\"\n },\n \"attribute\": \"auto-dismiss-timeout\",\n \"reflect\": false,\n \"defaultValue\": \"5000\"\n },\n \"dismissButtonAriaLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If toast can be manually dismissed, this prop sets a custom aria-label for the ic-button component\"\n },\n \"attribute\": \"dismiss-button-aria-label\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"dismiss\\\"\"\n },\n \"dismissMode\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"IcActivationTypes\",\n \"resolved\": \"\\\"automatic\\\" | \\\"manual\\\"\",\n \"references\": {\n \"IcActivationTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcActivationTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"How the toast will be dismissed. If manual will display a dismiss button.\"\n },\n \"attribute\": \"dismiss-mode\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"manual\\\"\"\n },\n \"heading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The title to display at the start of the toast. (NOTE: Should be no more than `70` characters)\"\n },\n \"attribute\": \"heading\",\n \"reflect\": false\n },\n \"message\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The main body message of the toast. (NOTE: Should be no more than `140` characters)\"\n },\n \"attribute\": \"message\",\n \"reflect\": false\n },\n \"neutralIconAriaLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Provides a custom alt-text to be announced to screen readers, if slotting a custom neutral icon\"\n },\n \"attribute\": \"neutral-icon-aria-label\",\n \"reflect\": false\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"IcStatusVariants\",\n \"resolved\": \"\\\"error\\\" | \\\"info\\\" | \\\"neutral\\\" | \\\"success\\\" | \\\"warning\\\"\",\n \"references\": {\n \"IcStatusVariants\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcStatusVariants\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The variant of the toast being rendered\"\n },\n \"attribute\": \"variant\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"timerProgress\": {},\n \"visible\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icDismiss\",\n \"name\": \"icDismiss\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Is emitted when the user dismisses the toast\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get methods() {\n return {\n \"setVisible\": {\n \"complexType\": {\n \"signature\": \"() => Promise<HTMLElement>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n }\n },\n \"return\": \"Promise<HTMLElement>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Used to display the individual toast.\"\n }, {\n \"name\": \"returns\",\n \"text\": \"The element that previously had focus before the toast appeared\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"dismissMode\",\n \"methodName\": \"dismissModeChangeHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"icDismiss\",\n \"method\": \"handleDismiss\",\n \"target\": undefined,\n \"capture\": true,\n \"passive\": false\n }, {\n \"name\": \"keydown\",\n \"method\": \"handleKeyboard\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"mouseenter\",\n \"method\": \"handleTimer\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": true\n }, {\n \"name\": \"mouseleave\",\n \"method\": \"handleTimer\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": true\n }];\n }\n}\n//# sourceMappingURL=ic-toast.js.map\n"],"mappings":"wMAAA,MAAMA,EAAa,0tJCKnB,MAAMC,EAAqC,IAC3C,MAAMC,EAA2B,GACjC,MAAMC,EAA2B,I,MAKpBC,EAAK,MACd,WAAAC,CAAAC,G,+CACIC,KAAKC,oBAAsB,GAC3BD,KAAKE,cAAgB,KACjBF,KAAKG,UAAUC,MAAM,EAEzBJ,KAAKK,qBAAuB,KACxBL,KAAKM,eACAZ,EAAqCM,KAAKO,mBAAsB,GAAG,EAE5EP,KAAKM,cAAgB,IACrBN,KAAKQ,QAAU,MACfR,KAAKO,mBAAqB,IAC1BP,KAAKS,uBAAyB,UAC9BT,KAAKU,YAAc,SACnBV,KAAKW,QAAUC,UACfZ,KAAKa,QAAUD,UACfZ,KAAKc,qBAAuBF,UAC5BZ,KAAKe,QAAUH,S,CAEnB,wBAAAI,CAAyBC,GACrBjB,KAAKkB,SAAWD,IAAa,Q,CAEjC,oBAAAE,GACIC,OAAOC,aAAarB,KAAKsB,gBACzBF,OAAOG,cAAcvB,KAAKwB,qB,CAE9B,iBAAAC,GACI,IAAIC,EAAIC,EACR3B,KAAK4B,eAAe5B,KAAKW,QAAQkB,OAASlC,IAA4B+B,EAAK1B,KAAKa,WAAa,MAAQa,SAAY,OAAS,EAAIA,EAAGG,QAAUjC,GAC3I,GAAII,KAAKO,mBAAqB,IAC1BP,KAAKO,mBAAqB,IAC9B,GAAIuB,EAAW9B,KAAK+B,GAAI,UACpB/B,KAAKU,YAAc,SACvBV,KAAKkB,SAAWlB,KAAKU,cAAgB,SACrC,GAAIoB,EAAW9B,KAAK+B,GAAI,gBACpB/B,KAAKe,QAAU,UACnB,GAAIf,KAAKe,UAAY,UAAW,CAC5Bf,KAAKgC,qBACAL,EAAK3B,KAAKc,wBAA0B,MAAQa,SAAY,EAAIA,EAAKM,EAAcjC,KAAKe,SAASmB,S,CAEtG,GAAIlC,KAAKkB,SAAU,CACf,MAAMiB,EAAeC,EAAcpC,KAAKa,SAClC,KAAKb,KAAKa,UACV,GACNb,KAAK+B,GAAGM,aAAa,aAAcrC,KAAKe,QAClCf,KAAKgC,qBAAuBC,EAAcjC,KAAKe,SAASmB,UACxDlC,KAAKW,UACVX,KAAKe,SAAWf,KAAKa,UAClBb,KAAK+B,GAAGM,aAAa,mBAAoBrC,KAAKe,QAAU,GAAGf,KAAKW,UAAUwB,IAAiBnC,KAAKa,Q,EAG5G,gBAAAyB,GACIC,EAAiC,CAAC,CAAEC,KAAMxC,KAAKW,QAAS8B,SAAU,YAAc,SAChF,MAAMC,EAAgBC,EAAQ3C,KAAK+B,GAAI,UACvC,MAAMa,EAAgB5C,KAAK+B,GAAGc,WAAWC,cAAc,aACvD,GAAIJ,EACA1C,KAAKC,oBAAoB8C,KAAKL,GAClC,GAAIE,EACA5C,KAAKC,oBAAoB8C,KAAKH,E,CAEtC,aAAAI,GACIhD,KAAKQ,QAAU,MACfe,cAAcvB,KAAKwB,sBACnBxB,KAAKM,cAAgB,G,CAEzB,cAAA2C,CAAeC,GACX,GAAIlD,KAAKkB,UAAYlB,KAAKQ,QAAS,CAC/B,OAAQ0C,EAAGC,KACP,IAAK,MACDD,EAAGE,iBACHpD,KAAKqD,2BAA2BH,EAAGI,UAAUC,WAC7C,MACJ,IAAK,UACAL,EAAGM,QAAUxD,KAAKE,gBACnBgD,EAAGO,2BACH,M,EAIhB,WAAAC,CAAYR,GACR,IAAKlD,KAAKkB,SAAU,CAChB,OAAQgC,EAAGS,MACP,IAAK,aACDvC,OAAOC,aAAarB,KAAKsB,gBACzBF,OAAOG,cAAcvB,KAAKwB,sBAC1BxB,KAAKM,cAAgB,IACrB,MACJ,IAAK,aACDN,KAAKsB,eAAiBF,OAAOwC,WAAW5D,KAAKE,cAAeF,KAAKO,oBACjEP,KAAKwB,qBAAuBJ,OAAOyC,YAAY7D,KAAKK,qBAAsBX,GAC1E,M,EAQhB,gBAAMoE,GACF,IAAK9D,KAAKQ,QACNR,KAAKQ,QAAU,KACnB,IAAKR,KAAKkB,SAAU,CAChBlB,KAAKsB,eAAiBF,OAAOwC,WAAW5D,KAAKE,cAAeF,KAAKO,oBACjEP,KAAKwB,qBAAuBJ,OAAOyC,YAAY7D,KAAKK,qBAAsBX,GAC1E,OAAO,I,KAEN,CACD0B,OAAOwC,YAAW,IAAM5D,KAAKC,oBAAoB,GAAGsD,YAAY,KAChE,OAAOQ,SAASC,a,EAGxB,cAAApC,CAAeqC,EAAgBC,GAC3B,GAAIA,GAAkBD,EAAgB,CAClCE,QAAQC,MAAM,gCAAgCH,EAAiB,UAAY,KAAKA,GAAkBC,EAAiB,QAAU,KAAKA,EAAiB,UAAY,kE,EAGvK,0BAAAb,CAA2BgB,GACvB,MAAMC,EAAUtE,KAAKC,oBAAoB,GACzC,MAAMsE,EAASvE,KAAKC,oBAAoBD,KAAKC,oBAAoB4B,OAAS,GAC1E,GAAI7B,KAAKwE,SAASH,EAAcC,EAAUC,GACtC,OAAOF,EAAcE,EAASD,EAClC,IAAIG,EACJ,OAAOzE,KAAKC,oBAAoByE,MAAK,CAAC3C,EAAI4C,KACtC,IAAK3E,KAAKwE,SAASzC,GACf,OAAO,MACX0C,EAAeE,EACf,OAAO,IAAI,IAET3E,KAAKC,oBAAoBwE,GAAgBJ,GAAe,EAAI,IAC5DC,C,CAEV,QAAAE,CAASI,GACL,OAAOA,IAAa5E,KAAK+B,KACjB/B,KAAK+B,GAAGc,WAAWmB,cACrBD,SAASC,gBAAkBY,C,CAErC,MAAAC,GACI,MAAM9D,QAAEA,EAAOJ,QAAEA,EAAOE,QAAEA,EAAOL,QAAEA,EAAOU,SAAEA,EAAQT,uBAAEA,GAA4BT,KAClF,OAAQ8E,EAAEC,EAAM,CAAEC,MAAO,CAAE,CAAC,WAAYxE,GAAWyE,KAAM/D,EAAW,SAAW,QAAS,YAAaA,EAAW,KAAO,UAAY4D,EAAE,MAAO,CAAEE,MAAO,aAAejE,GAAWP,GAAYsE,EAAE,MAAO,CAAEE,MAAO,wBAA0BF,EAAE,MAAO,CAAEE,MAAO,CACjP,CAAC,WAAY,KACb,CAAC,WAAWjE,KAAY,QACtBA,IAAY,UAAa+D,EAAE,OAAQ,CAAEI,KAAM,iBAAsBJ,EAAE,OAAQ,CAAEE,MAAO,aAAcG,UAAWlD,EAAclB,GAASqE,QAAYN,EAAE,MAAO,CAAEE,MAAO,CACpK,CAAC,iBAAkB,KACnB,CAAC,WAAYjE,IAAY,YAAce,EAAW9B,KAAK+B,GAAI,kBAC1D+C,EAAE,MAAO,CAAEE,MAAO,iBAAmBF,EAAE,gBAAiB,CAAE/D,QAAS,kBAAoBP,IAAYU,EAAW4D,EAAE,KAAM,KAAMnE,GAAWmE,EAAE,IAAK,KAAMnE,KAAYE,GAAYiE,EAAE,gBAAiB,CAAE/D,QAAS,QAAUP,GAAWsE,EAAE,IAAK,KAAMjE,KAAaiB,EAAW9B,KAAK+B,GAAI,WAAc+C,EAAE,MAAO,CAAEE,MAAO,0BAA4BF,EAAE,OAAQ,CAAEI,KAAM,cAAiBhE,EAAY4D,EAAE,uBAAwB,CAAEE,MAAO,sBAAuBK,WAAY,QAASC,KAAM,OAAQC,SAAUvF,KAAKM,gBAAqBwE,EAAE,YAAa,CAAEU,GAAI,iBAAkBL,UAAWM,EAAWC,QAAS1F,KAAKE,cAAea,QAAS,OAAQsE,WAAYM,EAAsBC,MAAO,aAAcnF,K"}