@siemens/ix 0.0.0-pr-2297-20251211061723 → 0.0.0-pr-2300-20260107140403

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 (139) hide show
  1. package/components/index.js +1 -1
  2. package/components/index.js.map +1 -1
  3. package/components/ix-action-card.js +8 -3
  4. package/components/ix-action-card.js.map +1 -1
  5. package/components/ix-application.js +1 -1
  6. package/components/ix-card-list.js +1 -1
  7. package/components/ix-card.js +1 -1
  8. package/components/ix-menu.js +1 -1
  9. package/components/ix-message-bar.js +1 -1
  10. package/components/ix-message-bar.js.map +1 -1
  11. package/components/ix-pane-layout.js +2 -1
  12. package/components/ix-pane-layout.js.map +1 -1
  13. package/components/ix-push-card.js +8 -3
  14. package/components/ix-push-card.js.map +1 -1
  15. package/components/ix-toast-container.js +5 -4
  16. package/components/ix-toast-container.js.map +1 -1
  17. package/components/ix-toast.js +1 -1
  18. package/components/{p-CsHYWHE6.js → p-G5i1Siog.js} +15 -5
  19. package/components/p-G5i1Siog.js.map +1 -0
  20. package/components/{p-hwPzPVf8.js → p-rFxiFp44.js} +12 -6
  21. package/components/p-rFxiFp44.js.map +1 -0
  22. package/components/{p-DlVaL0Yi.js → p-tpxSImkl.js} +9 -4
  23. package/components/p-tpxSImkl.js.map +1 -0
  24. package/dist/cjs/index.cjs.js +1 -1
  25. package/dist/cjs/index.cjs.js.map +1 -1
  26. package/dist/cjs/ix-action-card.cjs.entry.js +5 -1
  27. package/dist/cjs/ix-action-card.entry.cjs.js.map +1 -1
  28. package/dist/cjs/ix-application.cjs.entry.js +1 -1
  29. package/dist/cjs/ix-card.ix-card-content.entry.cjs.js.map +1 -1
  30. package/dist/cjs/ix-card_2.cjs.entry.js +8 -3
  31. package/dist/cjs/ix-menu.cjs.entry.js +1 -1
  32. package/dist/cjs/ix-message-bar.cjs.entry.js +1 -1
  33. package/dist/cjs/ix-message-bar.entry.cjs.js.map +1 -1
  34. package/dist/cjs/ix-pane-layout.cjs.entry.js +2 -1
  35. package/dist/cjs/ix-pane-layout.entry.cjs.js.map +1 -1
  36. package/dist/cjs/ix-push-card.cjs.entry.js +5 -1
  37. package/dist/cjs/ix-push-card.entry.cjs.js.map +1 -1
  38. package/dist/cjs/ix-toast-container.cjs.entry.js +4 -3
  39. package/dist/cjs/ix-toast-container.entry.cjs.js.map +1 -1
  40. package/dist/cjs/ix-toast.cjs.entry.js +6 -2
  41. package/dist/cjs/ix-toast.entry.cjs.js.map +1 -1
  42. package/dist/cjs/loader.cjs.js +1 -1
  43. package/dist/cjs/siemens-ix.cjs.js +1 -1
  44. package/dist/cjs/{theme-switcher-76Td30il.js → theme-switcher-BCyZa6wG.js} +15 -5
  45. package/dist/cjs/theme-switcher-BCyZa6wG.js.map +1 -0
  46. package/dist/collection/components/action-card/action-card.js +25 -1
  47. package/dist/collection/components/action-card/action-card.js.map +1 -1
  48. package/dist/collection/components/card/card.css +49 -0
  49. package/dist/collection/components/card/card.js +27 -2
  50. package/dist/collection/components/card/card.js.map +1 -1
  51. package/dist/collection/components/message-bar/message-bar.css +0 -11
  52. package/dist/collection/components/pane-layout/pane-layout.js +2 -1
  53. package/dist/collection/components/pane-layout/pane-layout.js.map +1 -1
  54. package/dist/collection/components/push-card/push-card.js +25 -1
  55. package/dist/collection/components/push-card/push-card.js.map +1 -1
  56. package/dist/collection/components/toast/toast-container.js +4 -3
  57. package/dist/collection/components/toast/toast-container.js.map +1 -1
  58. package/dist/collection/components/toast/toast-utils.js.map +1 -1
  59. package/dist/collection/components/toast/toast.js +26 -2
  60. package/dist/collection/components/toast/toast.js.map +1 -1
  61. package/dist/collection/components/utils/theme-switcher.js +13 -3
  62. package/dist/collection/components/utils/theme-switcher.js.map +1 -1
  63. package/dist/esm/index.js +1 -1
  64. package/dist/esm/index.js.map +1 -1
  65. package/dist/esm/ix-action-card.entry.js +5 -1
  66. package/dist/esm/ix-action-card.entry.js.map +1 -1
  67. package/dist/esm/ix-application.entry.js +1 -1
  68. package/dist/esm/ix-card.ix-card-content.entry.js.map +1 -1
  69. package/dist/esm/ix-card_2.entry.js +8 -3
  70. package/dist/esm/ix-menu.entry.js +1 -1
  71. package/dist/esm/ix-message-bar.entry.js +1 -1
  72. package/dist/esm/ix-message-bar.entry.js.map +1 -1
  73. package/dist/esm/ix-pane-layout.entry.js +2 -1
  74. package/dist/esm/ix-pane-layout.entry.js.map +1 -1
  75. package/dist/esm/ix-push-card.entry.js +5 -1
  76. package/dist/esm/ix-push-card.entry.js.map +1 -1
  77. package/dist/esm/ix-toast-container.entry.js +4 -3
  78. package/dist/esm/ix-toast-container.entry.js.map +1 -1
  79. package/dist/esm/ix-toast.entry.js +6 -2
  80. package/dist/esm/ix-toast.entry.js.map +1 -1
  81. package/dist/esm/loader.js +1 -1
  82. package/dist/esm/siemens-ix.js +1 -1
  83. package/dist/esm/{theme-switcher-DRqJGlG2.js → theme-switcher-EbjilqRl.js} +15 -5
  84. package/dist/esm/theme-switcher-EbjilqRl.js.map +1 -0
  85. package/dist/siemens-ix/index.esm.js +1 -1
  86. package/dist/siemens-ix/index.esm.js.map +1 -1
  87. package/dist/siemens-ix/ix-action-card.entry.esm.js.map +1 -1
  88. package/dist/siemens-ix/ix-card.ix-card-content.entry.esm.js.map +1 -1
  89. package/dist/siemens-ix/ix-message-bar.entry.esm.js.map +1 -1
  90. package/dist/siemens-ix/ix-pane-layout.entry.esm.js.map +1 -1
  91. package/dist/siemens-ix/ix-push-card.entry.esm.js.map +1 -1
  92. package/dist/siemens-ix/ix-toast-container.entry.esm.js.map +1 -1
  93. package/dist/siemens-ix/ix-toast.entry.esm.js.map +1 -1
  94. package/dist/siemens-ix/{p-6dc6eb63.entry.js → p-01e16377.entry.js} +2 -2
  95. package/dist/siemens-ix/{p-6dc6eb63.entry.js.map → p-01e16377.entry.js.map} +1 -1
  96. package/dist/siemens-ix/p-2e1bb4bf.entry.js +2 -0
  97. package/dist/siemens-ix/p-2e1bb4bf.entry.js.map +1 -0
  98. package/dist/siemens-ix/p-3c297dc0.entry.js +2 -0
  99. package/dist/siemens-ix/p-3c297dc0.entry.js.map +1 -0
  100. package/dist/siemens-ix/{p-367df024.entry.js → p-84178b22.entry.js} +2 -2
  101. package/dist/siemens-ix/p-84178b22.entry.js.map +1 -0
  102. package/dist/siemens-ix/p-944a39a6.entry.js +2 -0
  103. package/dist/siemens-ix/p-944a39a6.entry.js.map +1 -0
  104. package/dist/siemens-ix/{p-b76df1c7.entry.js → p-9f7d9525.entry.js} +2 -2
  105. package/dist/siemens-ix/p-9f7d9525.entry.js.map +1 -0
  106. package/dist/siemens-ix/p-G5i1Siog.js +2 -0
  107. package/dist/siemens-ix/p-G5i1Siog.js.map +1 -0
  108. package/dist/siemens-ix/{p-8f17f6ec.entry.js → p-ec9dc8d8.entry.js} +2 -2
  109. package/dist/siemens-ix/p-ec9dc8d8.entry.js.map +1 -0
  110. package/dist/siemens-ix/{p-35d6b656.entry.js → p-f5dd421a.entry.js} +2 -2
  111. package/dist/siemens-ix/{p-f27c0a6c.entry.js → p-f5f9940c.entry.js} +2 -2
  112. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  113. package/dist/types/components/action-card/action-card.d.ts +4 -0
  114. package/dist/types/components/card/card.d.ts +4 -0
  115. package/dist/types/components/push-card/push-card.d.ts +4 -0
  116. package/dist/types/components/toast/toast-utils.d.ts +4 -0
  117. package/dist/types/components/toast/toast.d.ts +4 -0
  118. package/dist/types/components.d.ts +40 -0
  119. package/hydrate/index.js +51 -18
  120. package/hydrate/index.mjs +51 -18
  121. package/package.json +1 -1
  122. package/components/p-CsHYWHE6.js.map +0 -1
  123. package/components/p-DlVaL0Yi.js.map +0 -1
  124. package/components/p-hwPzPVf8.js.map +0 -1
  125. package/dist/cjs/theme-switcher-76Td30il.js.map +0 -1
  126. package/dist/esm/theme-switcher-DRqJGlG2.js.map +0 -1
  127. package/dist/siemens-ix/p-2597a988.entry.js +0 -2
  128. package/dist/siemens-ix/p-2597a988.entry.js.map +0 -1
  129. package/dist/siemens-ix/p-33fcea65.entry.js +0 -2
  130. package/dist/siemens-ix/p-33fcea65.entry.js.map +0 -1
  131. package/dist/siemens-ix/p-367df024.entry.js.map +0 -1
  132. package/dist/siemens-ix/p-8f17f6ec.entry.js.map +0 -1
  133. package/dist/siemens-ix/p-CsHYWHE6.js +0 -2
  134. package/dist/siemens-ix/p-CsHYWHE6.js.map +0 -1
  135. package/dist/siemens-ix/p-b76df1c7.entry.js.map +0 -1
  136. package/dist/siemens-ix/p-c1160cf8.entry.js +0 -2
  137. package/dist/siemens-ix/p-c1160cf8.entry.js.map +0 -1
  138. /package/dist/siemens-ix/{p-35d6b656.entry.js.map → p-f5dd421a.entry.js.map} +0 -0
  139. /package/dist/siemens-ix/{p-f27c0a6c.entry.js.map → p-f5f9940c.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ix-pane-layout.entry.cjs.js","sources":["src/components/pane-layout/pane-layout.scss?tag=ix-pane-layout&encapsulation=shadow","src/components/pane-layout/pane-layout.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@use 'mixins/hover';\n@use 'mixins/shadow-dom/component';\n\n@mixin set-padding($composition) {\n @if $composition {\n padding-#{$composition}: 2.5rem;\n }\n}\n\n@mixin set-absolute($composition) {\n @if $composition {\n position: absolute;\n #{$composition}: 0;\n }\n}\n\n:host {\n display: flex;\n position: relative;\n width: 100%;\n height: 100%;\n\n @include component.ix-component;\n\n .side-panes-wrapper {\n height: 100%;\n width: 100%;\n }\n\n .row {\n height: 100%;\n width: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n position: relative;\n }\n\n .col {\n height: 100%;\n width: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n position: relative;\n }\n\n .content {\n width: 100%;\n height: 100%;\n overflow: auto;\n }\n\n .absolute-top {\n width: 100%;\n @include set-absolute(top);\n }\n\n .absolute-bottom {\n width: 100%;\n @include set-absolute(bottom);\n }\n\n .absolute-left {\n height: 100%;\n @include set-absolute(left);\n }\n\n .absolute-right {\n height: 100%;\n @include set-absolute(right);\n }\n\n .padding-top {\n @include set-padding(top);\n }\n\n .padding-bottom {\n @include set-padding(bottom);\n }\n\n .padding-left {\n @include set-padding(left);\n }\n\n .padding-right {\n @include set-padding(right);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n forceUpdate,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport type { Composition } from '../pane/pane.types';\nimport { applicationLayoutService } from '../utils/application-layout';\nimport { matchBreakpoint } from '../utils/breakpoints';\n\n@Component({\n tag: 'ix-pane-layout',\n styleUrl: 'pane-layout.scss',\n shadow: true,\n})\nexport class Panes {\n @Element() hostElement!: HTMLIxPaneLayoutElement;\n\n /**\n * Choose the layout of the panes.\n * When set to 'full-vertical' the vertical panes (left, right) will get the full height.\n * When set to 'full-horizontal' the horizontal panes (top, bottom) will get the full width.\n */\n @Prop() layout: 'full-vertical' | 'full-horizontal' = 'full-vertical';\n\n /**\n * Set the default variant for all panes in the layout\n */\n @Prop() variant: 'floating' | 'inline' = 'inline';\n\n /**\n * Set the default border state for all panes in the layout\n */\n @Prop() borderless: boolean = false;\n\n @State() private isMobile = false;\n @State() private paneElements = 0;\n\n private panes: Array<{\n slot: string;\n hideOnCollapse: boolean;\n floating: boolean;\n }> = [];\n\n private observer?: MutationObserver;\n\n get currentPanes() {\n return this.hostElement.querySelectorAll('ix-pane');\n }\n\n componentWillLoad() {\n this.paneElements = this.currentPanes.length;\n\n this.observer = new MutationObserver((mutations) => {\n if (mutations[0].addedNodes.item(0)?.nodeName === 'IX-PANE') {\n this.paneElements += 1;\n } else if (mutations[0].removedNodes.item(0)?.nodeName === 'IX-PANE') {\n this.paneElements -= 1;\n }\n });\n this.observer.observe(this.hostElement, {\n childList: true,\n });\n\n this.isMobile = matchBreakpoint('sm');\n applicationLayoutService.onChange.on(() => {\n this.isMobile = matchBreakpoint('sm');\n });\n }\n\n componentDidLoad() {\n this.setPanes(this.currentPanes);\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n }\n\n private setPaneVariant(pane: HTMLIxPaneElement) {\n if (!pane.ignoreLayoutSettings) {\n pane.variant = this.variant;\n }\n }\n\n private setPaneBorder(pane: HTMLIxPaneElement) {\n if (!pane.ignoreLayoutSettings) {\n if (this.borderless) {\n pane.borderless = true;\n } else {\n const hasVisibleLeftPane = !!this.panes.find(\n (pane) => pane.slot === 'left' && !pane.hideOnCollapse\n );\n if (\n pane.variant === 'floating' &&\n this.layout === 'full-vertical' &&\n hasVisibleLeftPane &&\n (pane.composition === 'top' || pane.composition === 'bottom')\n ) {\n pane.borderless = true;\n } else {\n pane.borderless = false;\n }\n }\n }\n }\n\n private setPaneZIndex(pane: HTMLIxPaneElement) {\n const isTop = pane.slot === 'top';\n const isBottom = pane.slot === 'bottom';\n const isLeft = pane.slot === 'left';\n const isRight = pane.slot === 'right';\n\n let zIndex = 1;\n if (this.isMobile) {\n if (isBottom || isTop) {\n zIndex = 3;\n }\n } else {\n if (this.layout === 'full-vertical') {\n if (isLeft || isRight) {\n zIndex = 3;\n }\n } else {\n if (isBottom || isTop) {\n zIndex = 3;\n }\n }\n }\n pane.style.zIndex = zIndex.toString();\n }\n\n private setPanes(panes: NodeListOf<HTMLIxPaneElement>) {\n this.panes = [];\n panes.forEach((pane) => {\n this.panes.push({\n slot: pane.slot,\n hideOnCollapse: pane.hideOnCollapse,\n floating: pane.variant === 'floating',\n });\n });\n }\n\n private closeFloatingPanes() {\n this.currentPanes.forEach((pane) => {\n if (pane.expanded && pane.variant === 'floating') {\n pane.expanded = false;\n }\n });\n }\n\n private configurePanes() {\n let topCount = 0;\n let bottomCount = 0;\n let leftCount = 0;\n let rightCount = 0;\n\n this.currentPanes.forEach((pane) => {\n const isTop = pane.slot === 'top';\n const isBottom = pane.slot === 'bottom';\n const isLeft = pane.slot === 'left';\n const isRight = pane.slot === 'right';\n\n if (isLeft) {\n if (leftCount) {\n pane.slot = '';\n return;\n }\n leftCount++;\n } else if (isRight) {\n if (rightCount) {\n pane.slot = '';\n return;\n }\n rightCount++;\n } else if (isTop) {\n if (topCount) {\n pane.slot = '';\n return;\n }\n topCount++;\n } else if (isBottom) {\n if (bottomCount) {\n pane.slot = '';\n return;\n }\n bottomCount++;\n } else {\n pane.slot = '';\n return;\n }\n\n this.setPaneVariant(pane);\n this.setPaneBorder(pane);\n this.setPaneZIndex(pane);\n });\n\n this.setPanes(this.currentPanes);\n forceUpdate(this.hostElement);\n }\n\n @Listen('slotChanged')\n onSlotChanged() {\n this.configurePanes();\n }\n\n @Listen('hideOnCollapseChanged')\n onCollapsibleChanged(event: CustomEvent) {\n const { slot, hideOnCollapse } = event.detail;\n\n this.panes.forEach((currentSlot) => {\n if (currentSlot.slot === slot) {\n currentSlot.hideOnCollapse = hideOnCollapse;\n }\n });\n\n forceUpdate(this.hostElement);\n }\n\n @Listen('variantChanged')\n onVariantChanged(event: CustomEvent) {\n const { slot, variant } = event.detail;\n\n this.panes.forEach((currentSlot) => {\n if (currentSlot.slot === slot) {\n currentSlot.floating = variant === 'floating';\n }\n });\n\n forceUpdate(this.hostElement);\n }\n\n @Watch('paneElements')\n onPaneElementsChange() {\n this.configurePanes();\n }\n\n @Watch('variant')\n onVariableChange() {\n this.currentPanes.forEach((pane) => {\n this.setPaneVariant(pane);\n this.setPaneBorder(pane);\n });\n\n this.setPanes(this.currentPanes);\n forceUpdate(this.hostElement);\n }\n\n @Watch('borderless')\n onBorderChange() {\n this.currentPanes.forEach((pane) => {\n this.setPaneBorder(pane);\n });\n }\n\n @Watch('layout')\n onLayoutChange() {\n this.currentPanes.forEach((pane) => {\n this.setPaneBorder(pane);\n this.setPaneZIndex(pane);\n });\n }\n\n @Watch('isMobile')\n onMobileChange() {\n this.currentPanes.forEach((pane) => {\n this.setPaneZIndex(pane);\n });\n }\n\n private hasPadding(composition: Composition) {\n const pane = this.panes.find((pane) => pane.slot === composition);\n return pane ? !pane.hideOnCollapse && pane.floating : false;\n }\n\n private hasPaddingMobile(composition: Composition) {\n const pane = this.panes.find((pane) => pane.slot === composition);\n return pane && !pane.hideOnCollapse;\n }\n\n private slotExists(composition: Composition) {\n const pane = this.panes.find((pane) => pane.slot === composition);\n return !!pane;\n }\n\n private isFloating(composition: Composition) {\n const pane = this.panes.find((pane) => pane.slot === composition);\n return pane ? pane.floating : false;\n }\n\n render() {\n return (\n <Host>\n {!this.isMobile ? (\n this.layout == 'full-vertical' ? (\n <div class=\"side-panes-wrapper\">\n <div\n class={{\n row: true,\n 'padding-left': this.hasPadding('left'),\n 'padding-right': this.hasPadding('right'),\n }}\n >\n <div\n key=\"left\"\n class={{ 'absolute-left': this.isFloating('left') }}\n >\n <slot name=\"left\"></slot>\n </div>\n <div\n class={{\n col: true,\n 'padding-top': this.hasPadding('top'),\n 'padding-bottom': this.hasPadding('bottom'),\n }}\n >\n <div\n key=\"top\"\n class={{ 'absolute-top': this.isFloating('top') }}\n >\n <slot name=\"top\"></slot>\n </div>\n <div\n key=\"content\"\n class=\"content\"\n onClick={() => this.closeFloatingPanes()}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n </div>\n <div\n key=\"bottom\"\n class={{ 'absolute-bottom': this.isFloating('bottom') }}\n >\n <slot name=\"bottom\"></slot>\n </div>\n </div>\n <div\n key=\"right\"\n class={{ 'absolute-right': this.isFloating('right') }}\n >\n <slot name=\"right\"></slot>\n </div>\n </div>\n </div>\n ) : (\n <div class=\"side-panes-wrapper\">\n <div\n class={{\n col: true,\n 'padding-top': this.hasPadding('top'),\n 'padding-bottom': this.hasPadding('bottom'),\n }}\n >\n <div\n key=\"top\"\n class={{ 'absolute-top': this.isFloating('top') }}\n >\n <slot name=\"top\"></slot>\n </div>\n <div\n class={{\n row: true,\n 'padding-left': this.hasPadding('left'),\n 'padding-right': this.hasPadding('right'),\n }}\n >\n <div\n key=\"left\"\n class={{ 'absolute-left': this.isFloating('left') }}\n >\n <slot name=\"left\"></slot>\n </div>\n <div\n key=\"content\"\n class=\"content\"\n onClick={() => this.closeFloatingPanes()}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n </div>\n <div\n key=\"right\"\n class={{ 'absolute-right': this.isFloating('right') }}\n >\n <slot name=\"right\"></slot>\n </div>\n </div>\n <div\n key=\"bottom\"\n class={{ 'absolute-bottom': this.isFloating('bottom') }}\n >\n <slot name=\"bottom\"></slot>\n </div>\n </div>\n </div>\n )\n ) : (\n <div class=\"col\">\n <div\n key=\"top\"\n style={{\n minHeight: this.hasPaddingMobile('top') ? '48px' : '0',\n display: this.slotExists('top') ? 'block' : 'none',\n }}\n >\n <slot name=\"top\"></slot>\n </div>\n <div\n key=\"left\"\n style={{\n minHeight: this.hasPaddingMobile('left') ? '48px' : '0',\n display: this.slotExists('left') ? 'block' : 'none',\n }}\n >\n <slot name=\"left\"></slot>\n </div>\n <div\n key=\"content\"\n class=\"content\"\n onClick={() => this.closeFloatingPanes()}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n </div>\n <div\n key=\"right\"\n style={{\n minHeight: this.hasPaddingMobile('right') ? '48px' : '0',\n display: this.slotExists('right') ? 'block' : 'none',\n }}\n >\n <slot name=\"right\"></slot>\n </div>\n <div\n key=\"bottom\"\n style={{\n minHeight: this.hasPaddingMobile('bottom') ? '48px' : '0',\n display: this.slotExists('bottom') ? 'block' : 'none',\n }}\n >\n <slot name=\"bottom\"></slot>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"names":["matchBreakpoint","applicationLayoutService","forceUpdate","h","Host"],"mappings":"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"}
1
+ {"version":3,"file":"ix-pane-layout.entry.cjs.js","sources":["src/components/pane-layout/pane-layout.scss?tag=ix-pane-layout&encapsulation=shadow","src/components/pane-layout/pane-layout.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@use 'mixins/hover';\n@use 'mixins/shadow-dom/component';\n\n@mixin set-padding($composition) {\n @if $composition {\n padding-#{$composition}: 2.5rem;\n }\n}\n\n@mixin set-absolute($composition) {\n @if $composition {\n position: absolute;\n #{$composition}: 0;\n }\n}\n\n:host {\n display: flex;\n position: relative;\n width: 100%;\n height: 100%;\n\n @include component.ix-component;\n\n .side-panes-wrapper {\n height: 100%;\n width: 100%;\n }\n\n .row {\n height: 100%;\n width: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n position: relative;\n }\n\n .col {\n height: 100%;\n width: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n position: relative;\n }\n\n .content {\n width: 100%;\n height: 100%;\n overflow: auto;\n }\n\n .absolute-top {\n width: 100%;\n @include set-absolute(top);\n }\n\n .absolute-bottom {\n width: 100%;\n @include set-absolute(bottom);\n }\n\n .absolute-left {\n height: 100%;\n @include set-absolute(left);\n }\n\n .absolute-right {\n height: 100%;\n @include set-absolute(right);\n }\n\n .padding-top {\n @include set-padding(top);\n }\n\n .padding-bottom {\n @include set-padding(bottom);\n }\n\n .padding-left {\n @include set-padding(left);\n }\n\n .padding-right {\n @include set-padding(right);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n forceUpdate,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport type { Composition } from '../pane/pane.types';\nimport { applicationLayoutService } from '../utils/application-layout';\nimport { matchBreakpoint } from '../utils/breakpoints';\n\n@Component({\n tag: 'ix-pane-layout',\n styleUrl: 'pane-layout.scss',\n shadow: true,\n})\nexport class Panes {\n @Element() hostElement!: HTMLIxPaneLayoutElement;\n\n /**\n * Choose the layout of the panes.\n * When set to 'full-vertical' the vertical panes (left, right) will get the full height.\n * When set to 'full-horizontal' the horizontal panes (top, bottom) will get the full width.\n */\n @Prop() layout: 'full-vertical' | 'full-horizontal' = 'full-vertical';\n\n /**\n * Set the default variant for all panes in the layout\n */\n @Prop() variant: 'floating' | 'inline' = 'inline';\n\n /**\n * Set the default border state for all panes in the layout\n */\n @Prop() borderless: boolean = false;\n\n @State() private isMobile = false;\n @State() private paneElements = 0;\n\n private panes: Array<{\n slot: string;\n hideOnCollapse: boolean;\n floating: boolean;\n }> = [];\n\n private observer?: MutationObserver;\n\n get currentPanes() {\n return this.hostElement.querySelectorAll('ix-pane');\n }\n\n componentWillLoad() {\n this.paneElements = this.currentPanes.length;\n\n this.observer = new MutationObserver((mutations) => {\n if (mutations[0].addedNodes.item(0)?.nodeName === 'IX-PANE') {\n this.paneElements += 1;\n } else if (mutations[0].removedNodes.item(0)?.nodeName === 'IX-PANE') {\n this.paneElements -= 1;\n }\n });\n this.observer.observe(this.hostElement, {\n childList: true,\n });\n\n this.isMobile = matchBreakpoint('sm');\n applicationLayoutService.onChange.on(() => {\n this.isMobile = matchBreakpoint('sm');\n this.configurePanes();\n });\n }\n\n componentDidLoad() {\n this.setPanes(this.currentPanes);\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n }\n\n private setPaneVariant(pane: HTMLIxPaneElement) {\n if (!pane.ignoreLayoutSettings) {\n pane.variant = this.variant;\n }\n }\n\n private setPaneBorder(pane: HTMLIxPaneElement) {\n if (!pane.ignoreLayoutSettings) {\n if (this.borderless) {\n pane.borderless = true;\n } else {\n const hasVisibleLeftPane = !!this.panes.find(\n (pane) => pane.slot === 'left' && !pane.hideOnCollapse\n );\n if (\n pane.variant === 'floating' &&\n this.layout === 'full-vertical' &&\n hasVisibleLeftPane &&\n (pane.composition === 'top' || pane.composition === 'bottom')\n ) {\n pane.borderless = true;\n } else {\n pane.borderless = false;\n }\n }\n }\n }\n\n private setPaneZIndex(pane: HTMLIxPaneElement) {\n const isTop = pane.slot === 'top';\n const isBottom = pane.slot === 'bottom';\n const isLeft = pane.slot === 'left';\n const isRight = pane.slot === 'right';\n\n let zIndex = 1;\n if (this.isMobile) {\n if (isBottom || isTop) {\n zIndex = 3;\n }\n } else {\n if (this.layout === 'full-vertical') {\n if (isLeft || isRight) {\n zIndex = 3;\n }\n } else {\n if (isBottom || isTop) {\n zIndex = 3;\n }\n }\n }\n pane.style.zIndex = zIndex.toString();\n }\n\n private setPanes(panes: NodeListOf<HTMLIxPaneElement>) {\n this.panes = [];\n panes.forEach((pane) => {\n this.panes.push({\n slot: pane.slot,\n hideOnCollapse: pane.hideOnCollapse,\n floating: pane.variant === 'floating',\n });\n });\n }\n\n private closeFloatingPanes() {\n this.currentPanes.forEach((pane) => {\n if (pane.expanded && pane.variant === 'floating') {\n pane.expanded = false;\n }\n });\n }\n\n private configurePanes() {\n let topCount = 0;\n let bottomCount = 0;\n let leftCount = 0;\n let rightCount = 0;\n\n this.currentPanes.forEach((pane) => {\n const isTop = pane.slot === 'top';\n const isBottom = pane.slot === 'bottom';\n const isLeft = pane.slot === 'left';\n const isRight = pane.slot === 'right';\n\n if (isLeft) {\n if (leftCount) {\n pane.slot = '';\n return;\n }\n leftCount++;\n } else if (isRight) {\n if (rightCount) {\n pane.slot = '';\n return;\n }\n rightCount++;\n } else if (isTop) {\n if (topCount) {\n pane.slot = '';\n return;\n }\n topCount++;\n } else if (isBottom) {\n if (bottomCount) {\n pane.slot = '';\n return;\n }\n bottomCount++;\n } else {\n pane.slot = '';\n return;\n }\n\n this.setPaneVariant(pane);\n this.setPaneBorder(pane);\n this.setPaneZIndex(pane);\n });\n\n this.setPanes(this.currentPanes);\n forceUpdate(this.hostElement);\n }\n\n @Listen('slotChanged')\n onSlotChanged() {\n this.configurePanes();\n }\n\n @Listen('hideOnCollapseChanged')\n onCollapsibleChanged(event: CustomEvent) {\n const { slot, hideOnCollapse } = event.detail;\n\n this.panes.forEach((currentSlot) => {\n if (currentSlot.slot === slot) {\n currentSlot.hideOnCollapse = hideOnCollapse;\n }\n });\n\n forceUpdate(this.hostElement);\n }\n\n @Listen('variantChanged')\n onVariantChanged(event: CustomEvent) {\n const { slot, variant } = event.detail;\n\n this.panes.forEach((currentSlot) => {\n if (currentSlot.slot === slot) {\n currentSlot.floating = variant === 'floating';\n }\n });\n\n forceUpdate(this.hostElement);\n }\n\n @Watch('paneElements')\n onPaneElementsChange() {\n this.configurePanes();\n }\n\n @Watch('variant')\n onVariableChange() {\n this.currentPanes.forEach((pane) => {\n this.setPaneVariant(pane);\n this.setPaneBorder(pane);\n });\n\n this.setPanes(this.currentPanes);\n forceUpdate(this.hostElement);\n }\n\n @Watch('borderless')\n onBorderChange() {\n this.currentPanes.forEach((pane) => {\n this.setPaneBorder(pane);\n });\n }\n\n @Watch('layout')\n onLayoutChange() {\n this.currentPanes.forEach((pane) => {\n this.setPaneBorder(pane);\n this.setPaneZIndex(pane);\n });\n }\n\n @Watch('isMobile')\n onMobileChange() {\n this.currentPanes.forEach((pane) => {\n this.setPaneZIndex(pane);\n });\n }\n\n private hasPadding(composition: Composition) {\n const pane = this.panes.find((pane) => pane.slot === composition);\n return pane ? !pane.hideOnCollapse && pane.floating : false;\n }\n\n private hasPaddingMobile(composition: Composition) {\n const pane = this.panes.find((pane) => pane.slot === composition);\n return pane && !pane.hideOnCollapse;\n }\n\n private slotExists(composition: Composition) {\n const pane = this.panes.find((pane) => pane.slot === composition);\n return !!pane;\n }\n\n private isFloating(composition: Composition) {\n const pane = this.panes.find((pane) => pane.slot === composition);\n return pane ? pane.floating : false;\n }\n\n render() {\n return (\n <Host>\n {!this.isMobile ? (\n this.layout == 'full-vertical' ? (\n <div class=\"side-panes-wrapper\">\n <div\n class={{\n row: true,\n 'padding-left': this.hasPadding('left'),\n 'padding-right': this.hasPadding('right'),\n }}\n >\n <div\n key=\"left\"\n class={{ 'absolute-left': this.isFloating('left') }}\n >\n <slot name=\"left\"></slot>\n </div>\n <div\n class={{\n col: true,\n 'padding-top': this.hasPadding('top'),\n 'padding-bottom': this.hasPadding('bottom'),\n }}\n >\n <div\n key=\"top\"\n class={{ 'absolute-top': this.isFloating('top') }}\n >\n <slot name=\"top\"></slot>\n </div>\n <div\n key=\"content\"\n class=\"content\"\n onClick={() => this.closeFloatingPanes()}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n </div>\n <div\n key=\"bottom\"\n class={{ 'absolute-bottom': this.isFloating('bottom') }}\n >\n <slot name=\"bottom\"></slot>\n </div>\n </div>\n <div\n key=\"right\"\n class={{ 'absolute-right': this.isFloating('right') }}\n >\n <slot name=\"right\"></slot>\n </div>\n </div>\n </div>\n ) : (\n <div class=\"side-panes-wrapper\">\n <div\n class={{\n col: true,\n 'padding-top': this.hasPadding('top'),\n 'padding-bottom': this.hasPadding('bottom'),\n }}\n >\n <div\n key=\"top\"\n class={{ 'absolute-top': this.isFloating('top') }}\n >\n <slot name=\"top\"></slot>\n </div>\n <div\n class={{\n row: true,\n 'padding-left': this.hasPadding('left'),\n 'padding-right': this.hasPadding('right'),\n }}\n >\n <div\n key=\"left\"\n class={{ 'absolute-left': this.isFloating('left') }}\n >\n <slot name=\"left\"></slot>\n </div>\n <div\n key=\"content\"\n class=\"content\"\n onClick={() => this.closeFloatingPanes()}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n </div>\n <div\n key=\"right\"\n class={{ 'absolute-right': this.isFloating('right') }}\n >\n <slot name=\"right\"></slot>\n </div>\n </div>\n <div\n key=\"bottom\"\n class={{ 'absolute-bottom': this.isFloating('bottom') }}\n >\n <slot name=\"bottom\"></slot>\n </div>\n </div>\n </div>\n )\n ) : (\n <div class=\"col\">\n <div\n key=\"top\"\n style={{\n minHeight: this.hasPaddingMobile('top') ? '48px' : '0',\n display: this.slotExists('top') ? 'block' : 'none',\n }}\n >\n <slot name=\"top\"></slot>\n </div>\n <div\n key=\"left\"\n style={{\n minHeight: this.hasPaddingMobile('left') ? '48px' : '0',\n display: this.slotExists('left') ? 'block' : 'none',\n }}\n >\n <slot name=\"left\"></slot>\n </div>\n <div\n key=\"content\"\n class=\"content\"\n onClick={() => this.closeFloatingPanes()}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n </div>\n <div\n key=\"right\"\n style={{\n minHeight: this.hasPaddingMobile('right') ? '48px' : '0',\n display: this.slotExists('right') ? 'block' : 'none',\n }}\n >\n <slot name=\"right\"></slot>\n </div>\n <div\n key=\"bottom\"\n style={{\n minHeight: this.hasPaddingMobile('bottom') ? '48px' : '0',\n display: this.slotExists('bottom') ? 'block' : 'none',\n }}\n >\n <slot name=\"bottom\"></slot>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"names":["matchBreakpoint","applicationLayoutService","forceUpdate","h","Host"],"mappings":"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"}
@@ -15,10 +15,14 @@ const PushCard = class {
15
15
  * Expand the card
16
16
  */
17
17
  this.expanded = false;
18
+ /**
19
+ * If true, disables hover and active styles and changes cursor to default
20
+ */
21
+ this.passive = false;
18
22
  }
19
23
  render() {
20
24
  var _a;
21
- return (index.h(index.Host, { key: 'ce5e4eb49ffe548ae912dfb9df2ff02e570aef15', class: `card-${this.variant}` }, index.h("ix-card", { key: '09ee07b5244171d3cd2a2eaf99180a71364326e6', variant: this.variant }, index.h("ix-card-content", { key: '4ca37f7946dfaf600c21fa516a6a79c95c3369f3' }, index.h("ix-card-title", { key: '14508386f9ad32b641b7404b8d1845f8f215a12f' }, this.icon ? (index.h("ix-icon", { class: 'icon', name: this.icon, size: "32", "aria-label": this.ariaLabelIcon })) : null, index.h("ix-typography", { key: '004e0f78e304e16b085cba401d4fe6067c579819', format: "display-xxl" }, (_a = this.notification) !== null && _a !== void 0 ? _a : 0), index.h("slot", { key: 'b5207aabd014e0e180eb1248795bccc23c09b850', name: "title-action" })), index.h("ix-typography", { key: 'e39c0d3762869afd918cf9f8bb75bcbad35798d2', format: "h4" }, this.heading), index.h("ix-typography", { key: '52c82e776f50a1e848cb163cf974402fc58a5011' }, this.subheading)), index.h("ix-card-accordion", { key: '28ba4043b6494617eb0a4ea03eca56c198e10766', collapse: !this.expanded, variant: this.variant }, index.h("slot", { key: 'f2be8b7cd43af05c3af1be4a5642871e3413d6f8' })))));
25
+ return (index.h(index.Host, { key: 'f91d2bc149d2358afb29d82de24a0fd4d36ff8da', class: `card-${this.variant}` }, index.h("ix-card", { key: '22520048301a654e61139c8d6bd50788328861d9', variant: this.variant, passive: this.passive }, index.h("ix-card-content", { key: 'ff4cdaa22e092861c98cf9af6554626c5d8b067f' }, index.h("ix-card-title", { key: '63deacdf7535977fd8c7a4f42e45127231ee6475' }, this.icon ? (index.h("ix-icon", { class: 'icon', name: this.icon, size: "32", "aria-label": this.ariaLabelIcon })) : null, index.h("ix-typography", { key: '3a86dc49d3cf32c426c231865b1a2336ccad48bf', format: "display-xxl" }, (_a = this.notification) !== null && _a !== void 0 ? _a : 0), index.h("slot", { key: '19fa42ddfbb9e1dce31842f5eab9ca9652b86701', name: "title-action" })), index.h("ix-typography", { key: '28a8dd2f112f679f5352fd17bccb0e9996208d80', format: "h4" }, this.heading), index.h("ix-typography", { key: '6b46c08124d639b71d8c11b8b3fb07c91950b5ed' }, this.subheading)), index.h("ix-card-accordion", { key: '0812bbb4d460cd89d095aa1eff55e5c37ef52e36', collapse: !this.expanded, variant: this.variant }, index.h("slot", { key: '2ac082345c8179a97520407d6bc91aac7a3b0a9b' })))));
22
26
  }
23
27
  };
24
28
  PushCard.style = pushCardCss;
@@ -1 +1 @@
1
- {"version":3,"file":"ix-push-card.entry.cjs.js","sources":["src/components/push-card/push-card.scss?tag=ix-push-card&encapsulation=shadow","src/components/push-card/push-card.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@use './../card/card-vars' as card-vars;\n\n:host {\n display: block;\n position: relative;\n\n ix-card {\n cursor: default;\n }\n\n ix-card-accordion {\n cursor: pointer;\n }\n\n .icon {\n height: 2.5rem;\n width: 2.5rem;\n }\n\n ix-card-title {\n height: 2.5rem;\n }\n\n ix-card-content {\n height: 11rem;\n }\n}\n\n@each $variant in card-vars.$ix-card-variants {\n :host(.card-#{$variant}) {\n ix-card-content {\n border-bottom: var(--theme-push-card--border-width)\n solid\n var(--theme-push-card-#{$variant}-accordion--border-color);\n }\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, h, Host, Prop } from '@stencil/core';\nimport type { PushCardVariant } from './push-card.types';\n\n@Component({\n tag: 'ix-push-card',\n styleUrl: 'push-card.scss',\n shadow: true,\n})\nexport class PushCard {\n /**\n * Card icon\n */\n @Prop() icon?: string;\n\n /**\n * ARIA label for the icon\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelIcon?: string;\n\n /**\n * Card KPI value\n */\n @Prop() notification?: string;\n\n /**\n * Card heading\n */\n @Prop() heading?: string;\n\n /**\n * Card subheading\n */\n @Prop() subheading?: string;\n\n /**\n * Card variant\n */\n @Prop() variant: PushCardVariant = 'outline';\n\n /**\n * Expand the card\n */\n @Prop() expanded: boolean = false;\n\n render() {\n return (\n <Host class={`card-${this.variant}`}>\n <ix-card variant={this.variant}>\n <ix-card-content>\n <ix-card-title>\n {this.icon ? (\n <ix-icon\n class={'icon'}\n name={this.icon}\n size=\"32\"\n aria-label={this.ariaLabelIcon}\n ></ix-icon>\n ) : null}\n <ix-typography format=\"display-xxl\">\n {this.notification ?? 0}\n </ix-typography>\n <slot name=\"title-action\"></slot>\n </ix-card-title>\n <ix-typography format=\"h4\">{this.heading}</ix-typography>\n <ix-typography>{this.subheading}</ix-typography>\n </ix-card-content>\n <ix-card-accordion collapse={!this.expanded} variant={this.variant}>\n <slot></slot>\n </ix-card-accordion>\n </ix-card>\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,WAAW,GAAG,2gDAA2gD;;MCiBlhD,QAAQ,GAAA,MAAA;AALrB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAiCE;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAoB,SAAS;AAE5C;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AA+BlC;IA7BC,MAAM,GAAA;;QACJ,QACEA,OAAC,CAAAC,UAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,QAAQ,IAAI,CAAC,OAAO,CAAA,CAAE,EAAA,EACjCD,OAAA,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAS,OAAO,EAAE,IAAI,CAAC,OAAO,EAAA,EAC5BA,OAAA,CAAA,iBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACEA,OAAA,CAAA,eAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACG,IAAI,CAAC,IAAI,IACRA,OACE,CAAA,SAAA,EAAA,EAAA,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAC,IAAI,EACG,YAAA,EAAA,IAAI,CAAC,aAAa,EACrB,CAAA,IACT,IAAI,EACRA,OAAe,CAAA,eAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,MAAM,EAAC,aAAa,EAChC,EAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAI,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAA,CAAC,CACT,EAChBA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,cAAc,EAAA,CAAQ,CACnB,EAChBA,OAAA,CAAA,eAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAe,MAAM,EAAC,IAAI,IAAE,IAAI,CAAC,OAAO,CAAiB,EACzDA,OAAA,CAAA,eAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAgB,IAAI,CAAC,UAAU,CAAiB,CAChC,EAClBA,OAAmB,CAAA,mBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAA,EAChEA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACK,CACZ,CACL;;;;;;;"}
1
+ {"version":3,"file":"ix-push-card.entry.cjs.js","sources":["src/components/push-card/push-card.scss?tag=ix-push-card&encapsulation=shadow","src/components/push-card/push-card.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@use './../card/card-vars' as card-vars;\n\n:host {\n display: block;\n position: relative;\n\n ix-card {\n cursor: default;\n }\n\n ix-card-accordion {\n cursor: pointer;\n }\n\n .icon {\n height: 2.5rem;\n width: 2.5rem;\n }\n\n ix-card-title {\n height: 2.5rem;\n }\n\n ix-card-content {\n height: 11rem;\n }\n}\n\n@each $variant in card-vars.$ix-card-variants {\n :host(.card-#{$variant}) {\n ix-card-content {\n border-bottom: var(--theme-push-card--border-width)\n solid\n var(--theme-push-card-#{$variant}-accordion--border-color);\n }\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, h, Host, Prop } from '@stencil/core';\nimport type { PushCardVariant } from './push-card.types';\n\n@Component({\n tag: 'ix-push-card',\n styleUrl: 'push-card.scss',\n shadow: true,\n})\nexport class PushCard {\n /**\n * Card icon\n */\n @Prop() icon?: string;\n\n /**\n * ARIA label for the icon\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelIcon?: string;\n\n /**\n * Card KPI value\n */\n @Prop() notification?: string;\n\n /**\n * Card heading\n */\n @Prop() heading?: string;\n\n /**\n * Card subheading\n */\n @Prop() subheading?: string;\n\n /**\n * Card variant\n */\n @Prop() variant: PushCardVariant = 'outline';\n\n /**\n * Expand the card\n */\n @Prop() expanded: boolean = false;\n\n /**\n * If true, disables hover and active styles and changes cursor to default\n */\n @Prop() passive: boolean = false;\n\n render() {\n return (\n <Host class={`card-${this.variant}`}>\n <ix-card variant={this.variant} passive={this.passive}>\n <ix-card-content>\n <ix-card-title>\n {this.icon ? (\n <ix-icon\n class={'icon'}\n name={this.icon}\n size=\"32\"\n aria-label={this.ariaLabelIcon}\n ></ix-icon>\n ) : null}\n <ix-typography format=\"display-xxl\">\n {this.notification ?? 0}\n </ix-typography>\n <slot name=\"title-action\"></slot>\n </ix-card-title>\n <ix-typography format=\"h4\">{this.heading}</ix-typography>\n <ix-typography>{this.subheading}</ix-typography>\n </ix-card-content>\n <ix-card-accordion collapse={!this.expanded} variant={this.variant}>\n <slot></slot>\n </ix-card-accordion>\n </ix-card>\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,WAAW,GAAG,2gDAA2gD;;MCiBlhD,QAAQ,GAAA,MAAA;AALrB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAiCE;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAoB,SAAS;AAE5C;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAEjC;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK;AA+BjC;IA7BC,MAAM,GAAA;;QACJ,QACEA,OAAC,CAAAC,UAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,QAAQ,IAAI,CAAC,OAAO,CAAA,CAAE,EAAA,EACjCD,OAAS,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAA,EACnDA,OAAA,CAAA,iBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACEA,OAAA,CAAA,eAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACG,IAAI,CAAC,IAAI,IACRA,OACE,CAAA,SAAA,EAAA,EAAA,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAC,IAAI,EACG,YAAA,EAAA,IAAI,CAAC,aAAa,EACrB,CAAA,IACT,IAAI,EACRA,OAAe,CAAA,eAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,MAAM,EAAC,aAAa,EAChC,EAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAI,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAA,CAAC,CACT,EAChBA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,cAAc,EAAA,CAAQ,CACnB,EAChBA,OAAA,CAAA,eAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAe,MAAM,EAAC,IAAI,IAAE,IAAI,CAAC,OAAO,CAAiB,EACzDA,OAAA,CAAA,eAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAgB,IAAI,CAAC,UAAU,CAAiB,CAChC,EAClBA,OAAmB,CAAA,mBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAA,EAChEA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACK,CACZ,CACL;;;;;;;"}
@@ -53,7 +53,7 @@ const ToastContainer = class {
53
53
  * @param config
54
54
  */
55
55
  async showToast(config) {
56
- var _a, _b;
56
+ var _a, _b, _c;
57
57
  const toast = document.createElement('ix-toast');
58
58
  const onClose = new typedEvent.TypedEvent();
59
59
  function removeToast(result) {
@@ -66,6 +66,7 @@ const ToastContainer = class {
66
66
  toast.autoCloseDelay = (_b = config.autoCloseDelay) !== null && _b !== void 0 ? _b : 5000;
67
67
  toast.icon = config.icon;
68
68
  toast.iconColor = config.iconColor;
69
+ toast.hideIcon = (_c = config.hideIcon) !== null && _c !== void 0 ? _c : false;
69
70
  toast.addEventListener('closeToast', (event) => {
70
71
  const { detail } = event;
71
72
  removeToast(detail);
@@ -100,10 +101,10 @@ const ToastContainer = class {
100
101
  };
101
102
  }
102
103
  render() {
103
- return (index.h(index.Host, { key: 'ff09f24de84ceb7710a228f28dd82f1ca17ce83a', class: {
104
+ return (index.h(index.Host, { key: '11d339600495a1d923de9ee92abdb2b6248ed8b5', class: {
104
105
  'toast-container--bottom-right': this.position === 'bottom-right',
105
106
  'toast-container--top-right': this.position === 'top-right',
106
- } }, index.h("slot", { key: 'bfe056dedfac7cdc249034e746fc4f63caded036' })));
107
+ } }, index.h("slot", { key: 'b942eb55489de1a132d4b7c481fa9b91ddb9657d' })));
107
108
  }
108
109
  static get watchers() { return {
109
110
  "position": ["onPositionChange"]
@@ -1 +1 @@
1
- {"version":3,"file":"ix-toast-container.entry.cjs.js","sources":["src/components/toast/styles/toast-container.scss?tag=ix-toast-container&encapsulation=shadow","src/components/toast/toast-container.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@use './common-variables' as vars;\n@use 'mixins/shadow-dom/component';\n\n:host {\n @include component.ix-component;\n}\n\n#toast-container {\n > :not(:last-child) {\n margin-block-end: vars.$default-space;\n }\n}\n\n.toast-container {\n display: block;\n position: fixed;\n z-index: var(--theme-z-index-toast);\n}\n\n.toast-container--top-right {\n right: 1rem;\n top: 2rem;\n}\n\n.toast-container--bottom-right {\n right: 1rem;\n bottom: 2rem;\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, h, Host, Method, Prop, Watch } from '@stencil/core';\nimport { TypedEvent } from '../utils/typed-event';\nimport { ToastConfig } from './toast-utils';\nimport type { ShowToastResult } from './toast-container.types';\n\n@Component({\n tag: 'ix-toast-container',\n styleUrl: './styles/toast-container.scss',\n shadow: true,\n})\nexport class ToastContainer {\n /**\n */\n @Prop() containerId = 'toast-container';\n\n /**\n */\n @Prop() containerClass = 'toast-container';\n\n /**\n */\n @Prop() position: 'bottom-right' | 'top-right' = 'bottom-right';\n\n private readonly PREFIX_POSITION_CLASS = 'toast-container--';\n\n get hostContainer() {\n return new Promise<HTMLElement>((resolve) => {\n const interval = setInterval(() => {\n const containerElement = document.getElementById(this.containerId);\n if (containerElement) {\n clearInterval(interval);\n resolve(containerElement);\n }\n });\n });\n }\n\n componentDidLoad() {\n if (!document.getElementById(this.containerId)) {\n const toastContainer = document.createElement('div');\n toastContainer.id = this.containerId;\n toastContainer.classList.add(this.containerClass);\n toastContainer.classList.add(\n `${this.PREFIX_POSITION_CLASS}${this.position}`\n );\n document.body.appendChild(toastContainer);\n }\n }\n\n @Watch('position')\n onPositionChange(newPosition: string, oldPosition: string) {\n const toastContainer = document.getElementById(this.containerId);\n if (!toastContainer) {\n console.warn('No toast container found, cannot configure toast position');\n return;\n }\n toastContainer.classList.remove(\n `${this.PREFIX_POSITION_CLASS}${oldPosition}`\n );\n toastContainer.classList.add(`${this.PREFIX_POSITION_CLASS}${newPosition}`);\n }\n\n /**\n * Display a toast message\n * @param config\n */\n @Method()\n async showToast(config: ToastConfig): Promise<ShowToastResult> {\n const toast = document.createElement('ix-toast');\n const onClose = new TypedEvent<any | undefined>();\n\n function removeToast(result?: any) {\n toast.remove();\n onClose.emit(result);\n }\n\n toast.toastTitle = config.title;\n toast.type = config.type ?? 'info';\n toast.preventAutoClose = config.autoClose === false;\n toast.autoCloseDelay = config.autoCloseDelay ?? 5000;\n toast.icon = config.icon;\n toast.iconColor = config.iconColor;\n toast.addEventListener(\n 'closeToast',\n (event: CustomEvent<any | undefined>) => {\n const { detail } = event;\n removeToast(detail);\n }\n );\n\n if (config.message) {\n if (typeof config.message === 'string') {\n toast.innerText = config.message;\n } else {\n toast.appendChild(config.message);\n }\n }\n\n if (config.action && config.action instanceof HTMLElement) {\n config.action.slot = 'action';\n toast.appendChild(config.action);\n }\n\n (await this.hostContainer).appendChild(toast);\n\n return {\n onClose,\n close: (result?: any) => {\n removeToast(result);\n },\n pause: () => {\n toast.pause();\n },\n resume: () => {\n toast.resume();\n },\n isPaused: () => {\n return toast.isPaused();\n },\n };\n }\n\n render() {\n return (\n <Host\n class={{\n 'toast-container--bottom-right': this.position === 'bottom-right',\n 'toast-container--top-right': this.position === 'top-right',\n }}\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"],"names":["TypedEvent","h","Host"],"mappings":"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"}
1
+ {"version":3,"file":"ix-toast-container.entry.cjs.js","sources":["src/components/toast/styles/toast-container.scss?tag=ix-toast-container&encapsulation=shadow","src/components/toast/toast-container.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@use './common-variables' as vars;\n@use 'mixins/shadow-dom/component';\n\n:host {\n @include component.ix-component;\n}\n\n#toast-container {\n > :not(:last-child) {\n margin-block-end: vars.$default-space;\n }\n}\n\n.toast-container {\n display: block;\n position: fixed;\n z-index: var(--theme-z-index-toast);\n}\n\n.toast-container--top-right {\n right: 1rem;\n top: 2rem;\n}\n\n.toast-container--bottom-right {\n right: 1rem;\n bottom: 2rem;\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, h, Host, Method, Prop, Watch } from '@stencil/core';\nimport { TypedEvent } from '../utils/typed-event';\nimport { ToastConfig } from './toast-utils';\nimport type { ShowToastResult } from './toast-container.types';\n\n@Component({\n tag: 'ix-toast-container',\n styleUrl: './styles/toast-container.scss',\n shadow: true,\n})\nexport class ToastContainer {\n /**\n */\n @Prop() containerId = 'toast-container';\n\n /**\n */\n @Prop() containerClass = 'toast-container';\n\n /**\n */\n @Prop() position: 'bottom-right' | 'top-right' = 'bottom-right';\n\n private readonly PREFIX_POSITION_CLASS = 'toast-container--';\n\n get hostContainer() {\n return new Promise<HTMLElement>((resolve) => {\n const interval = setInterval(() => {\n const containerElement = document.getElementById(this.containerId);\n if (containerElement) {\n clearInterval(interval);\n resolve(containerElement);\n }\n });\n });\n }\n\n componentDidLoad() {\n if (!document.getElementById(this.containerId)) {\n const toastContainer = document.createElement('div');\n toastContainer.id = this.containerId;\n toastContainer.classList.add(this.containerClass);\n toastContainer.classList.add(\n `${this.PREFIX_POSITION_CLASS}${this.position}`\n );\n document.body.appendChild(toastContainer);\n }\n }\n\n @Watch('position')\n onPositionChange(newPosition: string, oldPosition: string) {\n const toastContainer = document.getElementById(this.containerId);\n if (!toastContainer) {\n console.warn('No toast container found, cannot configure toast position');\n return;\n }\n toastContainer.classList.remove(\n `${this.PREFIX_POSITION_CLASS}${oldPosition}`\n );\n toastContainer.classList.add(`${this.PREFIX_POSITION_CLASS}${newPosition}`);\n }\n\n /**\n * Display a toast message\n * @param config\n */\n @Method()\n async showToast(config: ToastConfig): Promise<ShowToastResult> {\n const toast = document.createElement('ix-toast');\n const onClose = new TypedEvent<any | undefined>();\n\n function removeToast(result?: any) {\n toast.remove();\n onClose.emit(result);\n }\n\n toast.toastTitle = config.title;\n toast.type = config.type ?? 'info';\n toast.preventAutoClose = config.autoClose === false;\n toast.autoCloseDelay = config.autoCloseDelay ?? 5000;\n toast.icon = config.icon;\n toast.iconColor = config.iconColor;\n toast.hideIcon = config.hideIcon ?? false;\n toast.addEventListener(\n 'closeToast',\n (event: CustomEvent<any | undefined>) => {\n const { detail } = event;\n removeToast(detail);\n }\n );\n\n if (config.message) {\n if (typeof config.message === 'string') {\n toast.innerText = config.message;\n } else {\n toast.appendChild(config.message);\n }\n }\n\n if (config.action && config.action instanceof HTMLElement) {\n config.action.slot = 'action';\n toast.appendChild(config.action);\n }\n\n (await this.hostContainer).appendChild(toast);\n\n return {\n onClose,\n close: (result?: any) => {\n removeToast(result);\n },\n pause: () => {\n toast.pause();\n },\n resume: () => {\n toast.resume();\n },\n isPaused: () => {\n return toast.isPaused();\n },\n };\n }\n\n render() {\n return (\n <Host\n class={{\n 'toast-container--bottom-right': this.position === 'bottom-right',\n 'toast-container--top-right': this.position === 'top-right',\n }}\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"],"names":["TypedEvent","h","Host"],"mappings":"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"}
@@ -21,6 +21,10 @@ const Toast = class {
21
21
  * Autoclose behavior
22
22
  */
23
23
  this.preventAutoClose = false;
24
+ /**
25
+ * Allows to hide the icon in the toast.
26
+ */
27
+ this.hideIcon = false;
24
28
  this.progress = 0;
25
29
  this.touched = false;
26
30
  this.paused = false;
@@ -77,11 +81,11 @@ const Toast = class {
77
81
  animationPlayState: this.touched || this.paused ? 'paused' : 'running',
78
82
  };
79
83
  progressBarClass.push('toast-progress-bar--animated');
80
- return (index.h(index.Host, { key: 'b006843e5552e82ed437b10ab31c5cdff7ec90a6', class: "animate__animated animate__fadeIn" }, index.h("div", { key: '8d4c07604138e38235b3a2f042ce8550966df392', class: "toast-body", onPointerLeave: () => {
84
+ return (index.h(index.Host, { key: 'f2f95d77b28639b78e3fb0f82f471d8fba9b3a3d', class: "animate__animated animate__fadeIn" }, index.h("div", { key: 'c32a7a677f5d7ca00c209355e5af9679ad28fc28', class: "toast-body", onPointerLeave: () => {
81
85
  this.touched = false;
82
86
  }, onPointerEnter: () => {
83
87
  this.touched = true;
84
- } }, this.type || this.icon ? (index.h("div", { class: "toast-icon" }, this.getIcon())) : null, index.h("div", { key: 'b5235db039ca12fa5a3823861f41e86fbf312661', class: "toast-content" }, this.toastTitle ? (index.h("ix-typography", { class: "toast-title", format: "h5" }, this.toastTitle)) : null, index.h("div", { key: '6577c06f5530655aafc974684aedbac7d48da649', class: "toast-message" }, index.h("slot", { key: '16675e05c803fe4ef8e246463f30c194e76a8428' })), index.h("div", { key: '84eeb321fc81b49d14468e7d517dd8cfc8769c8d', class: "toast-action" }, index.h("slot", { key: 'f55d9f57a23bf58006e1f3bc1d3e7fab85440dab', name: "action" }))), index.h("div", { key: 'd409d2622bce56496f6081cf55ab9ad1137dc222', class: "toast-close" }, index.h("ix-icon-button", { key: '873c0a73f6c5a9ae47cd39d63ff9c68dde219cbd', icon: index$1.iconClose, iconColor: "color-soft-text", size: "24", variant: "tertiary", onClick: () => this.closeToast.emit(), "aria-label": this.ariaLabelCloseIconButton }))), !this.preventAutoClose && (index.h("div", { key: '15a6b8556e7d22e9c9061a27e31b3138cb86380b', class: progressBarClass.join(' '), style: progressBarStyle, onAnimationEnd: () => {
88
+ } }, (this.type || this.icon) && !this.hideIcon ? (index.h("div", { class: "toast-icon" }, this.getIcon())) : null, index.h("div", { key: '853a02c2cedea5b66aabc754699e6aeab69dbb9a', class: "toast-content" }, this.toastTitle ? (index.h("ix-typography", { class: "toast-title", format: "h5" }, this.toastTitle)) : null, index.h("div", { key: '35d881b3af41b2400a873ea2e45a0634eb81831f', class: "toast-message" }, index.h("slot", { key: '9030ed64837f7ee0b4ffc8b9aa36d8553e3a97ae' })), index.h("div", { key: 'fee8e7ca8620d01f8de665ad80293f44b71879ca', class: "toast-action" }, index.h("slot", { key: '0b81d513c974da48e77cebc35806ab19f7bc9e6f', name: "action" }))), index.h("div", { key: '59f3cf1722fc9203cb9602387115019258014c55', class: "toast-close" }, index.h("ix-icon-button", { key: 'd6dceea9274e9266f9ac36c51546635e954ef963', icon: index$1.iconClose, iconColor: "color-soft-text", size: "24", variant: "tertiary", onClick: () => this.closeToast.emit(), "aria-label": this.ariaLabelCloseIconButton }))), !this.preventAutoClose && (index.h("div", { key: '3530a6781c5f32d787ef1a1b38eb39f98ca26062', class: progressBarClass.join(' '), style: progressBarStyle, onAnimationEnd: () => {
85
89
  this.close();
86
90
  }, onTransitionEnd: () => {
87
91
  if (this.progress === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"ix-toast.entry.cjs.js","sources":["src/components/toast/toast.scss?tag=ix-toast&encapsulation=shadow","src/components/toast/toast.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@use './common-variables' as vars;\n@use 'mixins/hover';\n@use 'mixins/text-truncation';\n@use 'mixins/shadow-dom/component';\n@use 'legacy/mixins/fonts';\n\n:host {\n display: flex;\n flex-direction: column;\n position: relative;\n min-width: 17.5rem;\n max-width: 17.5rem;\n min-height: 3.5rem;\n\n pointer-events: all;\n\n background-color: var(--theme-toast--background);\n border: var(--theme-toast--border-thickness) solid\n var(--theme-toast--border-color);\n border-radius: var(\n --theme-toast--border-radius,\n var(--theme-toast--border-radus)\n );\n box-shadow: var(--theme-toast--box-shadow);\n\n --animate-duration: var(--theme-medium-time);\n\n @include component.ix-component;\n\n .toast-body {\n display: flex;\n position: relative;\n min-height: 3.5rem;\n width: 100%;\n flex-grow: 1;\n padding: 0.75rem;\n\n .toast-icon {\n display: flex;\n align-items: flex-start;\n margin-right: 0.5rem;\n }\n\n .toast-content {\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n width: 100%;\n\n .toast-title {\n margin: 0.25rem 0px;\n }\n\n .toast-message {\n min-width: 0;\n\n @include fonts.text-default;\n }\n\n .toast-action {\n margin-top: 0.5rem;\n }\n }\n\n .toast-icon + .toast-content {\n max-width: 10.25rem;\n }\n }\n\n .toast-close {\n display: flex;\n position: relative;\n pointer-events: all;\n margin-left: auto;\n margin-right: 0px;\n opacity: 0.6;\n &:hover {\n opacity: 1;\n }\n }\n\n .toast-progress-bar {\n position: absolute;\n bottom: 0;\n height: 0.125rem;\n width: 100%;\n background-color: var(--theme-toast-timer-value--background);\n transform-origin: left;\n\n &--animated {\n animation: trackProgress linear 1 forwards;\n }\n }\n\n @keyframes trackProgress {\n 0% {\n transform: scaleX(1);\n }\n 100% {\n transform: scaleX(0);\n }\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n} from '@stencil/core';\nimport { ToastType } from './toast-utils';\nimport {\n iconClose,\n iconError,\n iconInfo,\n iconSuccess,\n iconWarning,\n} from '@siemens/ix-icons/icons';\n\n@Component({\n tag: 'ix-toast',\n styleUrl: 'toast.scss',\n shadow: true,\n})\nexport class Toast {\n /**\n * Toast type\n */\n @Prop() type: ToastType = 'info';\n\n /**\n * Toast title\n */\n @Prop() toastTitle?: string;\n\n /**\n * Autoclose title after delay\n */\n @Prop() autoCloseDelay = 5000;\n\n /**\n * Autoclose behavior\n */\n @Prop() preventAutoClose = false;\n\n /**\n * Icon of toast\n */\n @Prop() icon?: string;\n\n /**\n * Icon color of toast\n */\n @Prop() iconColor?: string;\n\n /**\n * ARIA label for the close icon button\n * Will be set as aria-label on the nested HTML button element\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelCloseIconButton?: string;\n\n /**\n * Toast closed\n */\n @Event() closeToast!: EventEmitter;\n\n @State() progress = 0;\n @State() touched = false;\n @State() paused = false;\n\n @Element() hostElement!: HTMLIxToastElement;\n\n private getIcon() {\n if (this.icon) {\n return (\n <ix-icon\n data-testid=\"toast-icon\"\n name={this.icon}\n color={this.iconColor}\n size=\"24\"\n />\n );\n }\n\n switch (this.type) {\n case 'info':\n return (\n <ix-icon\n data-testid=\"toast-icon\"\n name={iconInfo}\n size=\"24\"\n color=\"color-std-text\"\n />\n );\n\n case 'error':\n return (\n <ix-icon\n data-testid=\"toast-icon\"\n name={iconError}\n size=\"24\"\n color=\"color-alarm\"\n />\n );\n\n case 'success':\n return (\n <ix-icon\n data-testid=\"toast-icon\"\n name={iconSuccess}\n size=\"24\"\n color=\"color-success\"\n />\n );\n\n case 'warning':\n //TODO(IX-3400): Replace icon colors with proper CSS variables when available\n return (\n <ix-icon\n data-testid=\"toast-icon\"\n name={iconWarning}\n size=\"24\"\n color=\"color-warning-text\"\n />\n );\n\n default:\n return '';\n }\n }\n\n private close() {\n if (this.hostElement) {\n this.hostElement.classList.add('animate__fadeOut');\n }\n setTimeout(() => {\n this.closeToast.emit();\n }, 250);\n }\n\n /**\n * Pause the toast's auto-close progress bar and timer.\n */\n @Method()\n async pause() {\n this.paused = true;\n }\n\n /**\n * Resume the toast's auto-close progress bar and timer if previously paused.\n */\n @Method()\n async resume() {\n this.paused = false;\n }\n\n /**\n * Returns whether the toast is currently paused (auto-close is paused).\n */\n @Method()\n async isPaused(): Promise<boolean> {\n return this.paused || this.touched;\n }\n\n render() {\n let progressBarStyle: Record<string, string> = {};\n\n const progressBarClass = ['toast-progress-bar'];\n\n progressBarStyle = {\n animationDuration: `${this.autoCloseDelay}ms`,\n animationPlayState: this.touched || this.paused ? 'paused' : 'running',\n };\n\n progressBarClass.push('toast-progress-bar--animated');\n\n return (\n <Host class=\"animate__animated animate__fadeIn\">\n <div\n class=\"toast-body\"\n onPointerLeave={() => {\n this.touched = false;\n }}\n onPointerEnter={() => {\n this.touched = true;\n }}\n >\n {this.type || this.icon ? (\n <div class=\"toast-icon\">{this.getIcon()}</div>\n ) : null}\n <div class=\"toast-content\">\n {this.toastTitle ? (\n <ix-typography class=\"toast-title\" format=\"h5\">\n {this.toastTitle}\n </ix-typography>\n ) : null}\n <div class=\"toast-message\">\n <slot></slot>\n </div>\n <div class=\"toast-action\">\n <slot name=\"action\"></slot>\n </div>\n </div>\n <div class=\"toast-close\">\n <ix-icon-button\n icon={iconClose}\n iconColor=\"color-soft-text\"\n size=\"24\"\n variant=\"tertiary\"\n onClick={() => this.closeToast.emit()}\n aria-label={this.ariaLabelCloseIconButton}\n />\n </div>\n </div>\n {!this.preventAutoClose && (\n <div\n class={progressBarClass.join(' ')}\n style={progressBarStyle}\n onAnimationEnd={() => {\n this.close();\n }}\n onTransitionEnd={() => {\n if (this.progress === 0) {\n this.close();\n }\n }}\n ></div>\n )}\n </Host>\n );\n }\n}\n"],"names":["h","iconInfo","iconError","iconSuccess","iconWarning","Host","iconClose"],"mappings":";;;;;AAAA,MAAM,QAAQ,GAAG,o3EAAo3E;;MCkCx3E,KAAK,GAAA,MAAA;AALlB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAME;;AAEG;AACK,QAAA,IAAI,CAAA,IAAA,GAAc,MAAM;AAOhC;;AAEG;AACK,QAAA,IAAc,CAAA,cAAA,GAAG,IAAI;AAE7B;;AAEG;AACK,QAAA,IAAgB,CAAA,gBAAA,GAAG,KAAK;AAyBvB,QAAA,IAAQ,CAAA,QAAA,GAAG,CAAC;AACZ,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;AACf,QAAA,IAAM,CAAA,MAAA,GAAG,KAAK;AAmKxB;IA/JS,OAAO,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,QACEA,oCACc,YAAY,EACxB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,IAAI,EAAC,IAAI,EACT,CAAA;;AAIN,QAAA,QAAQ,IAAI,CAAC,IAAI;AACf,YAAA,KAAK,MAAM;gBACT,QACEA,OACc,CAAA,SAAA,EAAA,EAAA,aAAA,EAAA,YAAY,EACxB,IAAI,EAAEC,gBAAQ,EACd,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,gBAAgB,EAAA,CACtB;AAGN,YAAA,KAAK,OAAO;gBACV,QACED,OACc,CAAA,SAAA,EAAA,EAAA,aAAA,EAAA,YAAY,EACxB,IAAI,EAAEE,iBAAS,EACf,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,aAAa,EAAA,CACnB;AAGN,YAAA,KAAK,SAAS;gBACZ,QACEF,OACc,CAAA,SAAA,EAAA,EAAA,aAAA,EAAA,YAAY,EACxB,IAAI,EAAEG,mBAAW,EACjB,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,eAAe,EAAA,CACrB;AAGN,YAAA,KAAK,SAAS;;gBAEZ,QACEH,OACc,CAAA,SAAA,EAAA,EAAA,aAAA,EAAA,YAAY,EACxB,IAAI,EAAEI,mBAAW,EACjB,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,oBAAoB,EAAA,CAC1B;AAGN,YAAA;AACE,gBAAA,OAAO,EAAE;;;IAIP,KAAK,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC;;QAEpD,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;SACvB,EAAE,GAAG,CAAC;;AAGT;;AAEG;AAEH,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;;AAGpB;;AAEG;AAEH,IAAA,MAAM,MAAM,GAAA;AACV,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;;AAGrB;;AAEG;AAEH,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO;;IAGpC,MAAM,GAAA;QACJ,IAAI,gBAAgB,GAA2B,EAAE;AAEjD,QAAA,MAAM,gBAAgB,GAAG,CAAC,oBAAoB,CAAC;AAE/C,QAAA,gBAAgB,GAAG;AACjB,YAAA,iBAAiB,EAAE,CAAA,EAAG,IAAI,CAAC,cAAc,CAAI,EAAA,CAAA;AAC7C,YAAA,kBAAkB,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,GAAG,SAAS;SACvE;AAED,QAAA,gBAAgB,CAAC,IAAI,CAAC,8BAA8B,CAAC;AAErD,QAAA,QACEJ,OAAC,CAAAK,UAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,mCAAmC,EAAA,EAC7CL,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,YAAY,EAClB,cAAc,EAAE,MAAK;AACnB,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACtB,aAAC,EACD,cAAc,EAAE,MAAK;AACnB,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI;aACpB,EAAA,EAEA,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IACrBA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,YAAY,EAAA,EAAE,IAAI,CAAC,OAAO,EAAE,CAAO,IAC5C,IAAI,EACRA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,eAAe,EAAA,EACvB,IAAI,CAAC,UAAU,IACdA,OAAA,CAAA,eAAA,EAAA,EAAe,KAAK,EAAC,aAAa,EAAC,MAAM,EAAC,IAAI,EAC3C,EAAA,IAAI,CAAC,UAAU,CACF,IACd,IAAI,EACRA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,eAAe,EAAA,EACxBA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,EACNA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EACvBA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,QAAQ,EAAA,CAAQ,CACvB,CACF,EACNA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACtBA,OAAA,CAAA,gBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAEM,iBAAS,EACf,SAAS,EAAC,iBAAiB,EAC3B,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,UAAU,EAClB,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,gBACzB,IAAI,CAAC,wBAAwB,EAAA,CACzC,CACE,CACF,EACL,CAAC,IAAI,CAAC,gBAAgB,KACrBN,OACE,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EACjC,KAAK,EAAE,gBAAgB,EACvB,cAAc,EAAE,MAAK;gBACnB,IAAI,CAAC,KAAK,EAAE;AACd,aAAC,EACD,eAAe,EAAE,MAAK;AACpB,gBAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE;oBACvB,IAAI,CAAC,KAAK,EAAE;;AAEhB,aAAC,EACI,CAAA,CACR,CACI;;;;;;;;"}
1
+ {"version":3,"file":"ix-toast.entry.cjs.js","sources":["src/components/toast/toast.scss?tag=ix-toast&encapsulation=shadow","src/components/toast/toast.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@use './common-variables' as vars;\n@use 'mixins/hover';\n@use 'mixins/text-truncation';\n@use 'mixins/shadow-dom/component';\n@use 'legacy/mixins/fonts';\n\n:host {\n display: flex;\n flex-direction: column;\n position: relative;\n min-width: 17.5rem;\n max-width: 17.5rem;\n min-height: 3.5rem;\n\n pointer-events: all;\n\n background-color: var(--theme-toast--background);\n border: var(--theme-toast--border-thickness) solid\n var(--theme-toast--border-color);\n border-radius: var(\n --theme-toast--border-radius,\n var(--theme-toast--border-radus)\n );\n box-shadow: var(--theme-toast--box-shadow);\n\n --animate-duration: var(--theme-medium-time);\n\n @include component.ix-component;\n\n .toast-body {\n display: flex;\n position: relative;\n min-height: 3.5rem;\n width: 100%;\n flex-grow: 1;\n padding: 0.75rem;\n\n .toast-icon {\n display: flex;\n align-items: flex-start;\n margin-right: 0.5rem;\n }\n\n .toast-content {\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n width: 100%;\n\n .toast-title {\n margin: 0.25rem 0px;\n }\n\n .toast-message {\n min-width: 0;\n\n @include fonts.text-default;\n }\n\n .toast-action {\n margin-top: 0.5rem;\n }\n }\n\n .toast-icon + .toast-content {\n max-width: 10.25rem;\n }\n }\n\n .toast-close {\n display: flex;\n position: relative;\n pointer-events: all;\n margin-left: auto;\n margin-right: 0px;\n opacity: 0.6;\n &:hover {\n opacity: 1;\n }\n }\n\n .toast-progress-bar {\n position: absolute;\n bottom: 0;\n height: 0.125rem;\n width: 100%;\n background-color: var(--theme-toast-timer-value--background);\n transform-origin: left;\n\n &--animated {\n animation: trackProgress linear 1 forwards;\n }\n }\n\n @keyframes trackProgress {\n 0% {\n transform: scaleX(1);\n }\n 100% {\n transform: scaleX(0);\n }\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n} from '@stencil/core';\nimport { ToastType } from './toast-utils';\nimport {\n iconClose,\n iconError,\n iconInfo,\n iconSuccess,\n iconWarning,\n} from '@siemens/ix-icons/icons';\n\n@Component({\n tag: 'ix-toast',\n styleUrl: 'toast.scss',\n shadow: true,\n})\nexport class Toast {\n /**\n * Toast type\n */\n @Prop() type: ToastType = 'info';\n\n /**\n * Toast title\n */\n @Prop() toastTitle?: string;\n\n /**\n * Autoclose title after delay\n */\n @Prop() autoCloseDelay = 5000;\n\n /**\n * Autoclose behavior\n */\n @Prop() preventAutoClose = false;\n\n /**\n * Icon of toast\n */\n @Prop() icon?: string;\n\n /**\n * Icon color of toast\n */\n @Prop() iconColor?: string;\n\n /**\n * Allows to hide the icon in the toast.\n */\n @Prop() hideIcon: boolean = false;\n\n /**\n * ARIA label for the close icon button\n * Will be set as aria-label on the nested HTML button element\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelCloseIconButton?: string;\n\n /**\n * Toast closed\n */\n @Event() closeToast!: EventEmitter;\n\n @State() progress = 0;\n @State() touched = false;\n @State() paused = false;\n\n @Element() hostElement!: HTMLIxToastElement;\n\n private getIcon() {\n if (this.icon) {\n return (\n <ix-icon\n data-testid=\"toast-icon\"\n name={this.icon}\n color={this.iconColor}\n size=\"24\"\n />\n );\n }\n\n switch (this.type) {\n case 'info':\n return (\n <ix-icon\n data-testid=\"toast-icon\"\n name={iconInfo}\n size=\"24\"\n color=\"color-std-text\"\n />\n );\n\n case 'error':\n return (\n <ix-icon\n data-testid=\"toast-icon\"\n name={iconError}\n size=\"24\"\n color=\"color-alarm\"\n />\n );\n\n case 'success':\n return (\n <ix-icon\n data-testid=\"toast-icon\"\n name={iconSuccess}\n size=\"24\"\n color=\"color-success\"\n />\n );\n\n case 'warning':\n //TODO(IX-3400): Replace icon colors with proper CSS variables when available\n return (\n <ix-icon\n data-testid=\"toast-icon\"\n name={iconWarning}\n size=\"24\"\n color=\"color-warning-text\"\n />\n );\n\n default:\n return '';\n }\n }\n\n private close() {\n if (this.hostElement) {\n this.hostElement.classList.add('animate__fadeOut');\n }\n setTimeout(() => {\n this.closeToast.emit();\n }, 250);\n }\n\n /**\n * Pause the toast's auto-close progress bar and timer.\n */\n @Method()\n async pause() {\n this.paused = true;\n }\n\n /**\n * Resume the toast's auto-close progress bar and timer if previously paused.\n */\n @Method()\n async resume() {\n this.paused = false;\n }\n\n /**\n * Returns whether the toast is currently paused (auto-close is paused).\n */\n @Method()\n async isPaused(): Promise<boolean> {\n return this.paused || this.touched;\n }\n\n render() {\n let progressBarStyle: Record<string, string> = {};\n\n const progressBarClass = ['toast-progress-bar'];\n\n progressBarStyle = {\n animationDuration: `${this.autoCloseDelay}ms`,\n animationPlayState: this.touched || this.paused ? 'paused' : 'running',\n };\n\n progressBarClass.push('toast-progress-bar--animated');\n\n return (\n <Host class=\"animate__animated animate__fadeIn\">\n <div\n class=\"toast-body\"\n onPointerLeave={() => {\n this.touched = false;\n }}\n onPointerEnter={() => {\n this.touched = true;\n }}\n >\n {(this.type || this.icon) && !this.hideIcon ? (\n <div class=\"toast-icon\">{this.getIcon()}</div>\n ) : null}\n <div class=\"toast-content\">\n {this.toastTitle ? (\n <ix-typography class=\"toast-title\" format=\"h5\">\n {this.toastTitle}\n </ix-typography>\n ) : null}\n <div class=\"toast-message\">\n <slot></slot>\n </div>\n <div class=\"toast-action\">\n <slot name=\"action\"></slot>\n </div>\n </div>\n <div class=\"toast-close\">\n <ix-icon-button\n icon={iconClose}\n iconColor=\"color-soft-text\"\n size=\"24\"\n variant=\"tertiary\"\n onClick={() => this.closeToast.emit()}\n aria-label={this.ariaLabelCloseIconButton}\n />\n </div>\n </div>\n {!this.preventAutoClose && (\n <div\n class={progressBarClass.join(' ')}\n style={progressBarStyle}\n onAnimationEnd={() => {\n this.close();\n }}\n onTransitionEnd={() => {\n if (this.progress === 0) {\n this.close();\n }\n }}\n ></div>\n )}\n </Host>\n );\n }\n}\n"],"names":["h","iconInfo","iconError","iconSuccess","iconWarning","Host","iconClose"],"mappings":"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"}