@siemens/ix 0.0.0-pr-2297-20251211061723 → 0.0.0-pr-2300-20260109081436
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/index.js +1 -1
- package/components/index.js.map +1 -1
- package/components/ix-action-card.js +8 -3
- package/components/ix-action-card.js.map +1 -1
- package/components/ix-application.js +1 -1
- package/components/ix-card-list.js +1 -1
- package/components/ix-card.js +1 -1
- package/components/ix-menu.js +1 -1
- package/components/ix-message-bar.js +1 -1
- package/components/ix-message-bar.js.map +1 -1
- package/components/ix-pane-layout.js +2 -1
- package/components/ix-pane-layout.js.map +1 -1
- package/components/ix-push-card.js +8 -3
- package/components/ix-push-card.js.map +1 -1
- package/components/ix-toast-container.js +5 -4
- package/components/ix-toast-container.js.map +1 -1
- package/components/ix-toast.js +1 -1
- package/components/{p-CsHYWHE6.js → p-G5i1Siog.js} +15 -5
- package/components/p-G5i1Siog.js.map +1 -0
- package/components/{p-hwPzPVf8.js → p-rFxiFp44.js} +12 -6
- package/components/p-rFxiFp44.js.map +1 -0
- package/components/{p-DlVaL0Yi.js → p-tpxSImkl.js} +9 -4
- package/components/p-tpxSImkl.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/ix-action-card.cjs.entry.js +5 -1
- package/dist/cjs/ix-action-card.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-application.cjs.entry.js +1 -1
- package/dist/cjs/ix-card.ix-card-content.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-card_2.cjs.entry.js +8 -3
- package/dist/cjs/ix-menu.cjs.entry.js +1 -1
- package/dist/cjs/ix-message-bar.cjs.entry.js +1 -1
- package/dist/cjs/ix-message-bar.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-pane-layout.cjs.entry.js +2 -1
- package/dist/cjs/ix-pane-layout.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-push-card.cjs.entry.js +5 -1
- package/dist/cjs/ix-push-card.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-toast-container.cjs.entry.js +4 -3
- package/dist/cjs/ix-toast-container.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-toast.cjs.entry.js +6 -2
- package/dist/cjs/ix-toast.entry.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/siemens-ix.cjs.js +1 -1
- package/dist/cjs/{theme-switcher-76Td30il.js → theme-switcher-BCyZa6wG.js} +15 -5
- package/dist/cjs/theme-switcher-BCyZa6wG.js.map +1 -0
- package/dist/collection/components/action-card/action-card.js +25 -1
- package/dist/collection/components/action-card/action-card.js.map +1 -1
- package/dist/collection/components/card/card.css +49 -0
- package/dist/collection/components/card/card.js +27 -2
- package/dist/collection/components/card/card.js.map +1 -1
- package/dist/collection/components/message-bar/message-bar.css +0 -11
- package/dist/collection/components/pane-layout/pane-layout.js +2 -1
- package/dist/collection/components/pane-layout/pane-layout.js.map +1 -1
- package/dist/collection/components/push-card/push-card.js +25 -1
- package/dist/collection/components/push-card/push-card.js.map +1 -1
- package/dist/collection/components/toast/toast-container.js +4 -3
- package/dist/collection/components/toast/toast-container.js.map +1 -1
- package/dist/collection/components/toast/toast-utils.js.map +1 -1
- package/dist/collection/components/toast/toast.js +26 -2
- package/dist/collection/components/toast/toast.js.map +1 -1
- package/dist/collection/components/utils/theme-switcher.js +13 -3
- package/dist/collection/components/utils/theme-switcher.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/ix-action-card.entry.js +5 -1
- package/dist/esm/ix-action-card.entry.js.map +1 -1
- package/dist/esm/ix-application.entry.js +1 -1
- package/dist/esm/ix-card.ix-card-content.entry.js.map +1 -1
- package/dist/esm/ix-card_2.entry.js +8 -3
- package/dist/esm/ix-menu.entry.js +1 -1
- package/dist/esm/ix-message-bar.entry.js +1 -1
- package/dist/esm/ix-message-bar.entry.js.map +1 -1
- package/dist/esm/ix-pane-layout.entry.js +2 -1
- package/dist/esm/ix-pane-layout.entry.js.map +1 -1
- package/dist/esm/ix-push-card.entry.js +5 -1
- package/dist/esm/ix-push-card.entry.js.map +1 -1
- package/dist/esm/ix-toast-container.entry.js +4 -3
- package/dist/esm/ix-toast-container.entry.js.map +1 -1
- package/dist/esm/ix-toast.entry.js +6 -2
- package/dist/esm/ix-toast.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/siemens-ix.js +1 -1
- package/dist/esm/{theme-switcher-DRqJGlG2.js → theme-switcher-EbjilqRl.js} +15 -5
- package/dist/esm/theme-switcher-EbjilqRl.js.map +1 -0
- package/dist/siemens-ix/index.esm.js +1 -1
- package/dist/siemens-ix/index.esm.js.map +1 -1
- package/dist/siemens-ix/ix-action-card.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-card.ix-card-content.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-message-bar.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-pane-layout.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-push-card.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-toast-container.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-toast.entry.esm.js.map +1 -1
- package/dist/siemens-ix/{p-6dc6eb63.entry.js → p-01e16377.entry.js} +2 -2
- package/dist/siemens-ix/{p-6dc6eb63.entry.js.map → p-01e16377.entry.js.map} +1 -1
- package/dist/siemens-ix/p-2e1bb4bf.entry.js +2 -0
- package/dist/siemens-ix/p-2e1bb4bf.entry.js.map +1 -0
- package/dist/siemens-ix/p-3c297dc0.entry.js +2 -0
- package/dist/siemens-ix/p-3c297dc0.entry.js.map +1 -0
- package/dist/siemens-ix/{p-367df024.entry.js → p-84178b22.entry.js} +2 -2
- package/dist/siemens-ix/p-84178b22.entry.js.map +1 -0
- package/dist/siemens-ix/p-944a39a6.entry.js +2 -0
- package/dist/siemens-ix/p-944a39a6.entry.js.map +1 -0
- package/dist/siemens-ix/{p-b76df1c7.entry.js → p-9f7d9525.entry.js} +2 -2
- package/dist/siemens-ix/p-9f7d9525.entry.js.map +1 -0
- package/dist/siemens-ix/p-G5i1Siog.js +2 -0
- package/dist/siemens-ix/p-G5i1Siog.js.map +1 -0
- package/dist/siemens-ix/{p-8f17f6ec.entry.js → p-ec9dc8d8.entry.js} +2 -2
- package/dist/siemens-ix/p-ec9dc8d8.entry.js.map +1 -0
- package/dist/siemens-ix/{p-35d6b656.entry.js → p-f5dd421a.entry.js} +2 -2
- package/dist/siemens-ix/{p-f27c0a6c.entry.js → p-f5f9940c.entry.js} +2 -2
- package/dist/siemens-ix/siemens-ix.esm.js +1 -1
- package/dist/types/components/action-card/action-card.d.ts +4 -0
- package/dist/types/components/card/card.d.ts +4 -0
- package/dist/types/components/push-card/push-card.d.ts +4 -0
- package/dist/types/components/toast/toast-utils.d.ts +4 -0
- package/dist/types/components/toast/toast.d.ts +4 -0
- package/dist/types/components.d.ts +40 -0
- package/hydrate/index.js +51 -18
- package/hydrate/index.mjs +51 -18
- package/package.json +1 -1
- package/components/p-CsHYWHE6.js.map +0 -1
- package/components/p-DlVaL0Yi.js.map +0 -1
- package/components/p-hwPzPVf8.js.map +0 -1
- package/dist/cjs/theme-switcher-76Td30il.js.map +0 -1
- package/dist/esm/theme-switcher-DRqJGlG2.js.map +0 -1
- package/dist/siemens-ix/p-2597a988.entry.js +0 -2
- package/dist/siemens-ix/p-2597a988.entry.js.map +0 -1
- package/dist/siemens-ix/p-33fcea65.entry.js +0 -2
- package/dist/siemens-ix/p-33fcea65.entry.js.map +0 -1
- package/dist/siemens-ix/p-367df024.entry.js.map +0 -1
- package/dist/siemens-ix/p-8f17f6ec.entry.js.map +0 -1
- package/dist/siemens-ix/p-CsHYWHE6.js +0 -2
- package/dist/siemens-ix/p-CsHYWHE6.js.map +0 -1
- package/dist/siemens-ix/p-b76df1c7.entry.js.map +0 -1
- package/dist/siemens-ix/p-c1160cf8.entry.js +0 -2
- package/dist/siemens-ix/p-c1160cf8.entry.js.map +0 -1
- /package/dist/siemens-ix/{p-35d6b656.entry.js.map → p-f5dd421a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-f27c0a6c.entry.js.map → p-f5f9940c.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast.js","sourceRoot":"","sources":["../../../src/components/toast/toast.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,GACN,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAOjC,MAAM,OAAO,KAAK;IALlB;QAME;;WAEG;QACK,SAAI,GAAc,MAAM,CAAC;QAOjC;;WAEG;QACK,mBAAc,GAAG,IAAI,CAAC;QAE9B;;WAEG;QACK,qBAAgB,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"toast.js","sourceRoot":"","sources":["../../../src/components/toast/toast.tsx"],"names":[],"mappings":"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","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\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"]}
|
|
@@ -69,9 +69,15 @@ class ThemeSwitcher {
|
|
|
69
69
|
return target.getAttribute(dataIxColorSchema);
|
|
70
70
|
}
|
|
71
71
|
getCurrentTheme() {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
const themeClass = Array.from(document.documentElement.classList).find((className) => this.isThemeClass(className));
|
|
73
|
+
if (themeClass) {
|
|
74
|
+
return themeClass;
|
|
75
|
+
}
|
|
76
|
+
const dataTheme = document.documentElement.getAttribute(dataIxTheme);
|
|
77
|
+
const dataColorSchema = document.documentElement.getAttribute(dataIxColorSchema);
|
|
78
|
+
const theme = dataTheme || 'classic';
|
|
79
|
+
const variant = dataColorSchema || getCurrentSystemAppearance();
|
|
80
|
+
return `theme-${theme}-${variant}`;
|
|
75
81
|
}
|
|
76
82
|
setVariant(variant = getCurrentSystemAppearance()) {
|
|
77
83
|
if (this.getDataColorSchema(document.documentElement)) {
|
|
@@ -79,6 +85,10 @@ class ThemeSwitcher {
|
|
|
79
85
|
return;
|
|
80
86
|
}
|
|
81
87
|
const currentTheme = this.getCurrentTheme();
|
|
88
|
+
if (!currentTheme) {
|
|
89
|
+
document.documentElement.setAttribute(dataIxColorSchema, variant);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
82
92
|
document.documentElement.classList.remove(currentTheme);
|
|
83
93
|
if (currentTheme.endsWith(this.suffixDark)) {
|
|
84
94
|
document.documentElement.classList.add(currentTheme.replace(/-dark$/g, `-${variant}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-switcher.js","sourceRoot":"","sources":["../../../src/components/utils/theme-switcher.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2025 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 { type LiteralStringUnion } from './type-helper';\nimport { TypedEvent } from './typed-event';\n\nexport type ThemeVariant = 'light' | 'dark';\n\nconst dataIxTheme = 'data-ix-theme';\nconst dataIxColorSchema = 'data-ix-color-schema';\n\nclass ThemeSwitcher {\n readonly prefixTheme = 'theme-';\n readonly suffixLight = '-light';\n readonly suffixDark = '-dark';\n readonly defaultTheme = 'theme-classic-dark';\n\n mutationObserver?: MutationObserver;\n _themeChanged = new TypedEvent<string>();\n _schemaChanged = new TypedEvent<string>();\n\n public get themeChanged() {\n return this._themeChanged;\n }\n\n public get schemaChanged() {\n return this._schemaChanged;\n }\n\n public hasVariantSuffix(className: string) {\n return (\n className.endsWith(this.suffixDark) ||\n className.endsWith(this.suffixLight)\n );\n }\n\n private isThemeClass(className: string) {\n return (\n className.startsWith(this.prefixTheme) && this.hasVariantSuffix(className)\n );\n }\n\n public setTheme(themeName: string, systemAppearance = false) {\n if (this.isThemeClass(themeName)) {\n this.replaceThemeClass(themeName);\n } else {\n document.documentElement.setAttribute(dataIxTheme, themeName);\n }\n\n if (systemAppearance) {\n const currentSystemAppearance = getCurrentSystemAppearance();\n this.setVariant(currentSystemAppearance);\n }\n }\n\n private replaceThemeClass(themeName: string) {\n const oldThemes: string[] = [];\n Array.from(document.documentElement.classList)\n .filter((className) => className && this.isThemeClass(className))\n .forEach((className) => {\n oldThemes.push(className);\n });\n\n document.documentElement.classList.remove(...oldThemes);\n document.documentElement.classList.add(themeName);\n }\n\n public toggleMode() {\n if (document.documentElement.hasAttribute(dataIxColorSchema)) {\n const currentSchema = this.getDataColorSchema(document.documentElement)!;\n document.documentElement.setAttribute(\n dataIxColorSchema,\n currentSchema === 'dark' ? 'light' : 'dark'\n );\n return;\n }\n\n const oldThemes: string[] = [];\n Array.from(document.documentElement.classList)\n .filter((className) => className && this.isThemeClass(className))\n .forEach((className) => {\n oldThemes.push(className);\n });\n\n if (oldThemes.length === 0) {\n document.documentElement.classList.add(\n this.getOppositeMode(this.defaultTheme)\n );\n return;\n }\n\n oldThemes.forEach((themeName) => {\n document.documentElement.classList.replace(\n themeName,\n this.getOppositeMode(themeName)\n );\n });\n }\n\n private getDataColorSchema(target: HTMLElement) {\n return target.getAttribute(dataIxColorSchema);\n }\n\n public getCurrentTheme() {\n return (\n Array.from(document.documentElement.classList).find((className) =>\n this.isThemeClass(className)\n ) ??\n `theme-${\n document.documentElement.getAttribute(dataIxTheme) || 'classic'\n }-${\n document.documentElement.getAttribute(dataIxColorSchema) ||\n getCurrentSystemAppearance()\n }`\n );\n }\n\n public setVariant(variant: ThemeVariant = getCurrentSystemAppearance()) {\n if (this.getDataColorSchema(document.documentElement)) {\n document.documentElement.setAttribute(dataIxColorSchema, variant);\n return;\n }\n\n const currentTheme = this.getCurrentTheme();\n document.documentElement.classList.remove(currentTheme);\n\n if (currentTheme.endsWith(this.suffixDark)) {\n document.documentElement.classList.add(\n currentTheme.replace(/-dark$/g, `-${variant}`)\n );\n }\n\n if (currentTheme.endsWith(this.suffixLight)) {\n document.documentElement.classList.add(\n currentTheme.replace(/-light$/g, `-${variant}`)\n );\n }\n\n document.documentElement.setAttribute(dataIxColorSchema, variant);\n }\n\n private getOppositeMode(themeName: string) {\n if (themeName.endsWith(this.suffixDark)) {\n return themeName.replace(/-dark$/g, this.suffixLight);\n }\n\n if (themeName.endsWith(this.suffixLight)) {\n return themeName.replace(/-light$/g, this.suffixDark);\n }\n\n return '';\n }\n\n private splitMutations(mutations: MutationRecord[]) {\n const classMutations = mutations.filter(\n (mutation) => mutation.attributeName === 'class'\n );\n\n const dataMutations = mutations.filter(\n (mutation) =>\n mutation.attributeName === dataIxTheme ||\n mutation.attributeName === dataIxColorSchema\n );\n\n return { classMutations, dataMutations };\n }\n\n private handleClassMutations(mutations: MutationRecord[]) {\n return mutations.forEach((mutation) => {\n const { target } = mutation;\n (target as HTMLElement).classList.forEach((className) => {\n if (\n this.isThemeClass(className) &&\n !mutation.oldValue?.includes(className)\n ) {\n this._themeChanged.emit(className);\n }\n });\n });\n }\n\n private handleDataMutations(mutations: MutationRecord[]) {\n return mutations.forEach((mutation) => {\n const { target } = mutation;\n const theme = (target as Element).attributes.getNamedItem(dataIxTheme);\n if (theme?.value && mutation.oldValue !== theme.value) {\n this._themeChanged.emit(theme.value);\n }\n\n const colorSchema = (target as Element).attributes.getNamedItem(\n dataIxColorSchema\n );\n if (colorSchema?.value && mutation.oldValue !== colorSchema.value) {\n this._schemaChanged.emit(colorSchema.value);\n }\n });\n }\n\n private registerMutationObservers() {\n if (typeof (window as any) === 'undefined') {\n return;\n }\n\n if (!('MutationObserver' in window)) {\n console.warn(\n 'ThemeSwitcher not supported by your browser. Missing MutationObserver API'\n );\n return;\n }\n\n const mutationObserverConfig = {\n attributeFilter: ['class', dataIxTheme, dataIxColorSchema],\n attributeOldValue: true,\n };\n\n const handleMutations = (mutations: MutationRecord[]) => {\n const { classMutations, dataMutations } = this.splitMutations(mutations);\n\n this.handleClassMutations(classMutations);\n this.handleDataMutations(dataMutations);\n };\n\n this.mutationObserver = new MutationObserver(handleMutations);\n this.mutationObserver.observe(\n document.documentElement,\n mutationObserverConfig\n );\n }\n\n public constructor() {\n this.registerMutationObservers();\n }\n}\n\nexport type IxTheme = LiteralStringUnion<\n 'classic' | 'classic-dark' | 'classic-light'\n>;\n\nexport const getCurrentSystemAppearance = (): ThemeVariant => {\n const matchMedia = window.matchMedia('(prefers-color-scheme: dark)');\n\n if (matchMedia.matches) {\n return 'dark';\n }\n\n return 'light';\n};\n\nexport const themeSwitcher = new ThemeSwitcher();\n"]}
|
|
1
|
+
{"version":3,"file":"theme-switcher.js","sourceRoot":"","sources":["../../../src/components/utils/theme-switcher.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2025 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 { type LiteralStringUnion } from './type-helper';\nimport { TypedEvent } from './typed-event';\n\nexport type ThemeVariant = 'light' | 'dark';\n\nconst dataIxTheme = 'data-ix-theme';\nconst dataIxColorSchema = 'data-ix-color-schema';\n\nclass ThemeSwitcher {\n readonly prefixTheme = 'theme-';\n readonly suffixLight = '-light';\n readonly suffixDark = '-dark';\n readonly defaultTheme = 'theme-classic-dark';\n\n mutationObserver?: MutationObserver;\n _themeChanged = new TypedEvent<string>();\n _schemaChanged = new TypedEvent<string>();\n\n public get themeChanged() {\n return this._themeChanged;\n }\n\n public get schemaChanged() {\n return this._schemaChanged;\n }\n\n public hasVariantSuffix(className: string) {\n return (\n className.endsWith(this.suffixDark) ||\n className.endsWith(this.suffixLight)\n );\n }\n\n private isThemeClass(className: string) {\n return (\n className.startsWith(this.prefixTheme) && this.hasVariantSuffix(className)\n );\n }\n\n public setTheme(themeName: string, systemAppearance = false) {\n if (this.isThemeClass(themeName)) {\n this.replaceThemeClass(themeName);\n } else {\n document.documentElement.setAttribute(dataIxTheme, themeName);\n }\n\n if (systemAppearance) {\n const currentSystemAppearance = getCurrentSystemAppearance();\n this.setVariant(currentSystemAppearance);\n }\n }\n\n private replaceThemeClass(themeName: string) {\n const oldThemes: string[] = [];\n Array.from(document.documentElement.classList)\n .filter((className) => className && this.isThemeClass(className))\n .forEach((className) => {\n oldThemes.push(className);\n });\n\n document.documentElement.classList.remove(...oldThemes);\n document.documentElement.classList.add(themeName);\n }\n\n public toggleMode() {\n if (document.documentElement.hasAttribute(dataIxColorSchema)) {\n const currentSchema = this.getDataColorSchema(document.documentElement)!;\n document.documentElement.setAttribute(\n dataIxColorSchema,\n currentSchema === 'dark' ? 'light' : 'dark'\n );\n return;\n }\n\n const oldThemes: string[] = [];\n Array.from(document.documentElement.classList)\n .filter((className) => className && this.isThemeClass(className))\n .forEach((className) => {\n oldThemes.push(className);\n });\n\n if (oldThemes.length === 0) {\n document.documentElement.classList.add(\n this.getOppositeMode(this.defaultTheme)\n );\n return;\n }\n\n oldThemes.forEach((themeName) => {\n document.documentElement.classList.replace(\n themeName,\n this.getOppositeMode(themeName)\n );\n });\n }\n\n private getDataColorSchema(target: HTMLElement) {\n return target.getAttribute(dataIxColorSchema);\n }\n\n public getCurrentTheme() {\n const themeClass = Array.from(document.documentElement.classList).find(\n (className) => this.isThemeClass(className)\n );\n\n if (themeClass) {\n return themeClass;\n }\n\n const dataTheme = document.documentElement.getAttribute(dataIxTheme);\n const dataColorSchema =\n document.documentElement.getAttribute(dataIxColorSchema);\n\n const theme = dataTheme || 'classic';\n const variant = dataColorSchema || getCurrentSystemAppearance();\n\n return `theme-${theme}-${variant}`;\n }\n\n public setVariant(variant: ThemeVariant = getCurrentSystemAppearance()) {\n if (this.getDataColorSchema(document.documentElement)) {\n document.documentElement.setAttribute(dataIxColorSchema, variant);\n return;\n }\n\n const currentTheme = this.getCurrentTheme();\n if (!currentTheme) {\n document.documentElement.setAttribute(dataIxColorSchema, variant);\n return;\n }\n\n document.documentElement.classList.remove(currentTheme);\n\n if (currentTheme.endsWith(this.suffixDark)) {\n document.documentElement.classList.add(\n currentTheme.replace(/-dark$/g, `-${variant}`)\n );\n }\n\n if (currentTheme.endsWith(this.suffixLight)) {\n document.documentElement.classList.add(\n currentTheme.replace(/-light$/g, `-${variant}`)\n );\n }\n\n document.documentElement.setAttribute(dataIxColorSchema, variant);\n }\n\n private getOppositeMode(themeName: string) {\n if (themeName.endsWith(this.suffixDark)) {\n return themeName.replace(/-dark$/g, this.suffixLight);\n }\n\n if (themeName.endsWith(this.suffixLight)) {\n return themeName.replace(/-light$/g, this.suffixDark);\n }\n\n return '';\n }\n\n private splitMutations(mutations: MutationRecord[]) {\n const classMutations = mutations.filter(\n (mutation) => mutation.attributeName === 'class'\n );\n\n const dataMutations = mutations.filter(\n (mutation) =>\n mutation.attributeName === dataIxTheme ||\n mutation.attributeName === dataIxColorSchema\n );\n\n return { classMutations, dataMutations };\n }\n\n private handleClassMutations(mutations: MutationRecord[]) {\n return mutations.forEach((mutation) => {\n const { target } = mutation;\n (target as HTMLElement).classList.forEach((className) => {\n if (\n this.isThemeClass(className) &&\n !mutation.oldValue?.includes(className)\n ) {\n this._themeChanged.emit(className);\n }\n });\n });\n }\n\n private handleDataMutations(mutations: MutationRecord[]) {\n return mutations.forEach((mutation) => {\n const { target } = mutation;\n const theme = (target as Element).attributes.getNamedItem(dataIxTheme);\n if (theme?.value && mutation.oldValue !== theme.value) {\n this._themeChanged.emit(theme.value);\n }\n\n const colorSchema = (target as Element).attributes.getNamedItem(\n dataIxColorSchema\n );\n if (colorSchema?.value && mutation.oldValue !== colorSchema.value) {\n this._schemaChanged.emit(colorSchema.value);\n }\n });\n }\n\n private registerMutationObservers() {\n if (typeof (window as any) === 'undefined') {\n return;\n }\n\n if (!('MutationObserver' in window)) {\n console.warn(\n 'ThemeSwitcher not supported by your browser. Missing MutationObserver API'\n );\n return;\n }\n\n const mutationObserverConfig = {\n attributeFilter: ['class', dataIxTheme, dataIxColorSchema],\n attributeOldValue: true,\n };\n\n const handleMutations = (mutations: MutationRecord[]) => {\n const { classMutations, dataMutations } = this.splitMutations(mutations);\n\n this.handleClassMutations(classMutations);\n this.handleDataMutations(dataMutations);\n };\n\n this.mutationObserver = new MutationObserver(handleMutations);\n this.mutationObserver.observe(\n document.documentElement,\n mutationObserverConfig\n );\n }\n\n public constructor() {\n this.registerMutationObservers();\n }\n}\n\nexport type IxTheme = LiteralStringUnion<\n 'classic' | 'classic-dark' | 'classic-light'\n>;\n\nexport const getCurrentSystemAppearance = (): ThemeVariant => {\n const matchMedia = window.matchMedia('(prefers-color-scheme: dark)');\n\n if (matchMedia.matches) {\n return 'dark';\n }\n\n return 'light';\n};\n\nexport const themeSwitcher = new ThemeSwitcher();\n"]}
|
package/dist/esm/index.js
CHANGED
|
@@ -6,7 +6,7 @@ export { c as closeModal, d as dismissModal, r as registerFrameworkDelegate, a a
|
|
|
6
6
|
import { A as Animation } from './animation-C5MWUgDN.js';
|
|
7
7
|
export { T as TypedEvent } from './typed-event-BdCnOrqW.js';
|
|
8
8
|
export { a as convertToAbbreviationString, c as convertToRemString } from './rwd.util-pXYAoEyc.js';
|
|
9
|
-
export { g as getCurrentSystemAppearance, t as themeSwitcher } from './theme-switcher-
|
|
9
|
+
export { g as getCurrentSystemAppearance, t as themeSwitcher } from './theme-switcher-EbjilqRl.js';
|
|
10
10
|
export { h as handlePlatformHelpers } from './setup-BHVEOpQp.js';
|
|
11
11
|
import './index-8HpPmDK_.js';
|
|
12
12
|
import './index-CtoreFVF.js';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["src/components/category-filter/filter-state.ts","src/components/toast/toast-utils.ts","src/components/utils/modal/loading.ts"],"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\nimport { LogicalFilterOperator } from './logical-filter-operator';\nexport class FilterState {\n public tokens: string[] = [];\n public categories: {\n id: string;\n value: string;\n operator: LogicalFilterOperator;\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 */\nimport type { ShowToastResult } from './toast-container.types';\nexport type ToastType = 'info' | 'success' | 'error' | 'warning';\nexport type ToastPosition = 'bottom-right' | 'top-right';\n\nexport interface ToastConfig {\n /**\n * Title of the toast\n */\n title?: string;\n /**\n * Message of the toast\n */\n message?: string | HTMLElement;\n /**\n * Action element that is displayed below the toast message/title\n */\n action?: HTMLElement;\n /**\n * Type of the toast\n */\n type?: ToastType;\n /**\n * Controls whether the toast closes automatically after a delay\n */\n autoClose?: boolean;\n /**\n * Sets the delay for autoClose in milliseconds\n */\n autoCloseDelay?: number;\n /**\n * Icon that is displayed with the toast\n */\n icon?: string;\n /**\n * Color of the icon\n */\n iconColor?: string;\n}\n\nexport function getToastContainer() {\n const containerList = Array.from(\n document.querySelectorAll('ix-toast-container')\n );\n const [container] = containerList;\n if (containerList.length > 1) {\n console.warn(\n 'Multiple toast containers were found. Only the first one will be used.'\n );\n return container;\n }\n if (!container) {\n const toastContainer = document.createElement('ix-toast-container');\n document.body.appendChild(toastContainer);\n\n return toastContainer;\n }\n return container;\n}\n\nexport function setToastPosition(position: ToastPosition) {\n const container = getToastContainer();\n container.setAttribute('position', position);\n}\n\nfunction toast(config: ToastConfig): Promise<ShowToastResult> {\n const container = getToastContainer();\n return container.showToast(config);\n}\n\ntoast.info = (config: ToastConfig) => {\n return toast({\n ...config,\n type: 'info',\n });\n};\n\ntoast.error = (config: ToastConfig) => {\n return toast({\n ...config,\n type: 'error',\n });\n};\n\ntoast.success = (config: ToastConfig) => {\n return toast({\n ...config,\n type: 'success',\n });\n};\n\ntoast.warning = (config: ToastConfig) => {\n return toast({\n ...config,\n type: 'warning',\n });\n};\n\nexport { toast };\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 Animation from '../animation';\nimport { getCoreDelegate } from '../delegate';\n\nexport type ModalLoadingContext = {\n update: (text: string) => string;\n finish: (text?: string, timeout?: number) => void;\n};\n\nexport function showModalLoading(message: string) {\n const modal = document.createElement('ix-modal');\n modal.disableEscapeClose = true;\n\n const loading = document.createElement('ix-modal-loading');\n loading.innerText = message;\n modal.appendChild(loading);\n\n getCoreDelegate().attachView(modal);\n modal.showModal();\n\n return {\n update: (text: string) => (loading.innerHTML = text),\n finish: (text?: string, timeout: number = 250) => {\n if (text !== undefined) {\n loading.innerText = text;\n } else {\n timeout = 0;\n }\n setTimeout(() => {\n modal.closeModal(null);\n setTimeout(\n async () => await getCoreDelegate().removeView(modal),\n Animation.mediumTime\n );\n }, timeout);\n },\n };\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;AAOG;MAGU,WAAW,CAAA;AAAxB,IAAA,WAAA,GAAA;AACS,QAAA,IAAM,CAAA,MAAA,GAAa,EAAE;AACrB,QAAA,IAAU,CAAA,UAAA,GAIX,EAAE;;AACT;;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["src/components/category-filter/filter-state.ts","src/components/toast/toast-utils.ts","src/components/utils/modal/loading.ts"],"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\nimport { LogicalFilterOperator } from './logical-filter-operator';\nexport class FilterState {\n public tokens: string[] = [];\n public categories: {\n id: string;\n value: string;\n operator: LogicalFilterOperator;\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 */\nimport type { ShowToastResult } from './toast-container.types';\nexport type ToastType = 'info' | 'success' | 'error' | 'warning';\nexport type ToastPosition = 'bottom-right' | 'top-right';\n\nexport interface ToastConfig {\n /**\n * Title of the toast\n */\n title?: string;\n /**\n * Message of the toast\n */\n message?: string | HTMLElement;\n /**\n * Action element that is displayed below the toast message/title\n */\n action?: HTMLElement;\n /**\n * Type of the toast\n */\n type?: ToastType;\n /**\n * Controls whether the toast closes automatically after a delay\n */\n autoClose?: boolean;\n /**\n * Sets the delay for autoClose in milliseconds\n */\n autoCloseDelay?: number;\n /**\n * Icon that is displayed with the toast\n */\n icon?: string;\n /**\n * Color of the icon\n */\n iconColor?: string;\n /**\n * Allows to hide the icon in the toast\n */\n hideIcon?: boolean;\n}\n\nexport function getToastContainer() {\n const containerList = Array.from(\n document.querySelectorAll('ix-toast-container')\n );\n const [container] = containerList;\n if (containerList.length > 1) {\n console.warn(\n 'Multiple toast containers were found. Only the first one will be used.'\n );\n return container;\n }\n if (!container) {\n const toastContainer = document.createElement('ix-toast-container');\n document.body.appendChild(toastContainer);\n\n return toastContainer;\n }\n return container;\n}\n\nexport function setToastPosition(position: ToastPosition) {\n const container = getToastContainer();\n container.setAttribute('position', position);\n}\n\nfunction toast(config: ToastConfig): Promise<ShowToastResult> {\n const container = getToastContainer();\n return container.showToast(config);\n}\n\ntoast.info = (config: ToastConfig) => {\n return toast({\n ...config,\n type: 'info',\n });\n};\n\ntoast.error = (config: ToastConfig) => {\n return toast({\n ...config,\n type: 'error',\n });\n};\n\ntoast.success = (config: ToastConfig) => {\n return toast({\n ...config,\n type: 'success',\n });\n};\n\ntoast.warning = (config: ToastConfig) => {\n return toast({\n ...config,\n type: 'warning',\n });\n};\n\nexport { toast };\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 Animation from '../animation';\nimport { getCoreDelegate } from '../delegate';\n\nexport type ModalLoadingContext = {\n update: (text: string) => string;\n finish: (text?: string, timeout?: number) => void;\n};\n\nexport function showModalLoading(message: string) {\n const modal = document.createElement('ix-modal');\n modal.disableEscapeClose = true;\n\n const loading = document.createElement('ix-modal-loading');\n loading.innerText = message;\n modal.appendChild(loading);\n\n getCoreDelegate().attachView(modal);\n modal.showModal();\n\n return {\n update: (text: string) => (loading.innerHTML = text),\n finish: (text?: string, timeout: number = 250) => {\n if (text !== undefined) {\n loading.innerText = text;\n } else {\n timeout = 0;\n }\n setTimeout(() => {\n modal.closeModal(null);\n setTimeout(\n async () => await getCoreDelegate().removeView(modal),\n Animation.mediumTime\n );\n }, timeout);\n },\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,10 @@ const IxActionCard = class {
|
|
|
18
18
|
* Card selection
|
|
19
19
|
*/
|
|
20
20
|
this.selected = false;
|
|
21
|
+
/**
|
|
22
|
+
* If true, disables hover and active styles and changes cursor to default
|
|
23
|
+
*/
|
|
24
|
+
this.passive = false;
|
|
21
25
|
}
|
|
22
26
|
getSubheadingTextColor() {
|
|
23
27
|
return this.variant === 'outline' || this.variant === 'filled'
|
|
@@ -28,7 +32,7 @@ const IxActionCard = class {
|
|
|
28
32
|
const ariaLabelledBy = !this.ariaLabelCard && this.heading
|
|
29
33
|
? 'ix-action-card-heading'
|
|
30
34
|
: undefined;
|
|
31
|
-
return (h(Host, { key: '
|
|
35
|
+
return (h(Host, { key: '600ad1913e671fb47ec9da8f66e984bbde498fae' }, h("ix-card", { key: '1a8168a17a643908126f841e9cdd6d0055a62399', selected: this.selected, variant: this.variant, passive: this.passive, class: 'pointer', "aria-label": this.ariaLabelCard, "aria-labelledby": ariaLabelledBy, role: ariaLabelledBy ? 'group' : undefined }, h("ix-card-content", { key: 'c138b94b131af478fee65244f32b91cdf78b31df' }, this.icon ? (h("ix-icon", { class: 'icon', name: this.icon, size: "32", "aria-label": this.ariaLabelIcon || getFallbackLabelFromIconName(this.icon) })) : null, h("div", { key: 'eb0252c628c75709fddae387a3b4a7abbf7c3df0' }, this.heading ? (h("ix-typography", { id: "ix-action-card-heading", "aria-hidden": a11yBoolean(!ariaLabelledBy), format: "h4" }, this.heading)) : null, this.subheading ? (h("ix-typography", { format: "h5", "text-color": this.getSubheadingTextColor() }, this.subheading)) : null, h("slot", { key: 'f47fd515fc5b8f22344dc83b808e527116238618' }))))));
|
|
32
36
|
}
|
|
33
37
|
};
|
|
34
38
|
IxActionCard.style = actionCardCss;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ix-action-card.entry.js","sources":["src/components/action-card/action-card.scss?tag=ix-action-card&encapsulation=shadow","src/components/action-card/action-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 'mixins/shadow-dom/component';\n\n:host {\n display: block;\n position: relative;\n min-width: 13.375rem;\n width: 13.375rem;\n height: 7.5rem;\n min-height: 7.5rem;\n cursor: pointer;\n\n margin: 0.25rem 0;\n\n @include component.ix-component;\n\n ix-card {\n width: 100%;\n height: 100%;\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 { ActionCardVariant } from './action-card.types';\nimport { a11yBoolean, getFallbackLabelFromIconName } from '../utils/a11y';\n\n@Component({\n tag: 'ix-action-card',\n styleUrl: 'action-card.scss',\n shadow: true,\n})\nexport class IxActionCard {\n /**\n * Card variant\n */\n @Prop() variant: ActionCardVariant = 'outline';\n\n /**\n * Card icon\n */\n @Prop() icon: string | undefined = undefined;\n\n /**\n * ARIA label for the icon\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelIcon?: 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 selection\n */\n @Prop() selected = false;\n\n /**\n * ARIA label for the card\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelCard?: string;\n\n private getSubheadingTextColor() {\n return this.variant === 'outline' || this.variant === 'filled'\n ? 'soft'\n : undefined;\n }\n\n render() {\n const ariaLabelledBy =\n !this.ariaLabelCard && this.heading\n ? 'ix-action-card-heading'\n : undefined;\n\n return (\n <Host>\n <ix-card\n selected={this.selected}\n variant={this.variant}\n class={'pointer'}\n aria-label={this.ariaLabelCard}\n aria-labelledby={ariaLabelledBy}\n role={ariaLabelledBy ? 'group' : undefined}\n >\n <ix-card-content>\n {this.icon ? (\n <ix-icon\n class={'icon'}\n name={this.icon}\n size=\"32\"\n aria-label={\n this.ariaLabelIcon || getFallbackLabelFromIconName(this.icon)\n }\n ></ix-icon>\n ) : null}\n <div>\n {this.heading ? (\n <ix-typography\n id=\"ix-action-card-heading\"\n aria-hidden={a11yBoolean(!ariaLabelledBy)}\n format=\"h4\"\n >\n {this.heading}\n </ix-typography>\n ) : null}\n {this.subheading ? (\n <ix-typography\n format=\"h5\"\n text-color={this.getSubheadingTextColor()}\n >\n {this.subheading}\n </ix-typography>\n ) : null}\n <slot></slot>\n </div>\n </ix-card-content>\n </ix-card>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;AAAA,MAAM,aAAa,GAAG,q8BAAq8B;;MCkB98B,YAAY,GAAA,MAAA;AALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAME;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAsB,SAAS;AAE9C;;AAEG;AACK,QAAA,IAAI,CAAA,IAAA,GAAuB,SAAS;AAmB5C;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;
|
|
1
|
+
{"version":3,"file":"ix-action-card.entry.js","sources":["src/components/action-card/action-card.scss?tag=ix-action-card&encapsulation=shadow","src/components/action-card/action-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 'mixins/shadow-dom/component';\n\n:host {\n display: block;\n position: relative;\n min-width: 13.375rem;\n width: 13.375rem;\n height: 7.5rem;\n min-height: 7.5rem;\n cursor: pointer;\n\n margin: 0.25rem 0;\n\n @include component.ix-component;\n\n ix-card {\n width: 100%;\n height: 100%;\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 { ActionCardVariant } from './action-card.types';\nimport { a11yBoolean, getFallbackLabelFromIconName } from '../utils/a11y';\n\n@Component({\n tag: 'ix-action-card',\n styleUrl: 'action-card.scss',\n shadow: true,\n})\nexport class IxActionCard {\n /**\n * Card variant\n */\n @Prop() variant: ActionCardVariant = 'outline';\n\n /**\n * Card icon\n */\n @Prop() icon: string | undefined = undefined;\n\n /**\n * ARIA label for the icon\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelIcon?: 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 selection\n */\n @Prop() selected = false;\n\n /**\n * ARIA label for the card\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelCard?: string;\n\n /**\n * If true, disables hover and active styles and changes cursor to default\n */\n @Prop() passive: boolean = false;\n\n private getSubheadingTextColor() {\n return this.variant === 'outline' || this.variant === 'filled'\n ? 'soft'\n : undefined;\n }\n\n render() {\n const ariaLabelledBy =\n !this.ariaLabelCard && this.heading\n ? 'ix-action-card-heading'\n : undefined;\n\n return (\n <Host>\n <ix-card\n selected={this.selected}\n variant={this.variant}\n passive={this.passive}\n class={'pointer'}\n aria-label={this.ariaLabelCard}\n aria-labelledby={ariaLabelledBy}\n role={ariaLabelledBy ? 'group' : undefined}\n >\n <ix-card-content>\n {this.icon ? (\n <ix-icon\n class={'icon'}\n name={this.icon}\n size=\"32\"\n aria-label={\n this.ariaLabelIcon || getFallbackLabelFromIconName(this.icon)\n }\n ></ix-icon>\n ) : null}\n <div>\n {this.heading ? (\n <ix-typography\n id=\"ix-action-card-heading\"\n aria-hidden={a11yBoolean(!ariaLabelledBy)}\n format=\"h4\"\n >\n {this.heading}\n </ix-typography>\n ) : null}\n {this.subheading ? (\n <ix-typography\n format=\"h5\"\n text-color={this.getSubheadingTextColor()}\n >\n {this.subheading}\n </ix-typography>\n ) : null}\n <slot></slot>\n </div>\n </ix-card-content>\n </ix-card>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;AAAA,MAAM,aAAa,GAAG,q8BAAq8B;;MCkB98B,YAAY,GAAA,MAAA;AALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAME;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAsB,SAAS;AAE9C;;AAEG;AACK,QAAA,IAAI,CAAA,IAAA,GAAuB,SAAS;AAmB5C;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;AASxB;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK;AA6DjC;IA3DS,sBAAsB,GAAA;QAC5B,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK;AACpD,cAAE;cACA,SAAS;;IAGf,MAAM,GAAA;QACJ,MAAM,cAAc,GAClB,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;AAC1B,cAAE;cACA,SAAS;QAEf,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAE,SAAS,gBACJ,IAAI,CAAC,aAAa,EAAA,iBAAA,EACb,cAAc,EAC/B,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,SAAS,EAAA,EAE1C,CAAA,CAAA,iBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACG,IAAI,CAAC,IAAI,IACR,CACE,CAAA,SAAA,EAAA,EAAA,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAC,IAAI,gBAEP,IAAI,CAAC,aAAa,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAEtD,CAAA,IACT,IAAI,EACR,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACG,IAAI,CAAC,OAAO,IACX,CACE,CAAA,eAAA,EAAA,EAAA,EAAE,EAAC,wBAAwB,EACd,aAAA,EAAA,WAAW,CAAC,CAAC,cAAc,CAAC,EACzC,MAAM,EAAC,IAAI,EAEV,EAAA,IAAI,CAAC,OAAO,CACC,IACd,IAAI,EACP,IAAI,CAAC,UAAU,IACd,CACE,CAAA,eAAA,EAAA,EAAA,MAAM,EAAC,IAAI,EACC,YAAA,EAAA,IAAI,CAAC,sBAAsB,EAAE,EAExC,EAAA,IAAI,CAAC,UAAU,CACF,IACd,IAAI,EACR,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,CACU,CACV,CACL;;;;;;;"}
|
|
@@ -3,7 +3,7 @@ import { u as useContextProvider, A as ApplicationLayoutContext } from './contex
|
|
|
3
3
|
import { a as applicationLayoutService } from './service-Da0kv8hS.js';
|
|
4
4
|
import { m as menuController } from './menu-service-BMvtckRa.js';
|
|
5
5
|
import { h as hasSlottedElements } from './shadow-dom-i60z1FJC.js';
|
|
6
|
-
import { t as themeSwitcher } from './theme-switcher-
|
|
6
|
+
import { t as themeSwitcher } from './theme-switcher-EbjilqRl.js';
|
|
7
7
|
import './typed-event-BdCnOrqW.js';
|
|
8
8
|
import './breakpoints-D_Hmobxf.js';
|
|
9
9
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ix-card.ix-card-content.entry.js","sources":["src/components/card/card.scss?tag=ix-card&encapsulation=shadow","src/components/card/card.tsx","src/components/card-content/card-content.scss?tag=ix-card-content&encapsulation=shadow","src/components/card-content/card-content.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@use 'mixins/shadow-dom/component';\n@use './card-vars' as card-vars;\n\n:host {\n display: flex;\n position: relative;\n flex-direction: column;\n align-items: flex-start;\n align-self: flex-start;\n overflow: hidden;\n cursor: pointer;\n\n width: 20rem;\n\n border: var(--theme-card--border-width) solid\n var(--ix-card-border-color, var(--theme-color-soft-bdr));\n border-radius: var(--theme-card--border-radius);\n\n @include component.ix-component;\n\n .card-content {\n display: block;\n position: relative;\n flex-shrink: 0;\n flex-grow: 1;\n width: 100%;\n height: calc(100% - 2rem);\n background-color: var(--ix-card-background, transparent);\n border-top-left-radius: var(--theme-card--border-radius);\n border-top-right-radius: var(--theme-card--border-radius);\n overflow: hidden;\n }\n\n .card-content-wrapper {\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n }\n\n .card-footer {\n display: flex;\n position: relative;\n width: 100%;\n }\n}\n\n@mixin accordionChevronColorPrimary {\n ::slotted(ix-card-accordion) {\n color: var(--theme-color-std-text);\n }\n}\n\n@mixin card-variants($variant) {\n :host(.card-#{$variant}) {\n --ix-card-background: var(--theme-card-#{$variant}--background);\n --ix-card-border-color: var(--theme-card-#{$variant}--border-color);\n\n color: var(--theme-card-#{$variant}--color);\n\n @if $variant == outline {\n @include accordionChevronColorPrimary;\n }\n\n @if $variant == filled {\n @include accordionChevronColorPrimary;\n }\n }\n}\n\n@each $variant in card-vars.$ix-card-variants {\n @include card-variants($variant);\n}\n\n:host(:not(.card-insight, .card-outline)) {\n --ix-card-border-color: transparent;\n}\n\n@mixin card-variants-active($variant) {\n :host(.card-#{$variant}:active) {\n --ix-card-border-color: var(--theme-card-#{$variant}--border-color--active);\n --ix-card-background: var(--theme-card-#{$variant}--background--active);\n }\n}\n\n@mixin card-variants-hover($variant) {\n :host(.card-#{$variant}:hover) {\n --ix-card-border-color: var(--theme-card-#{$variant}--border-color--hover);\n --ix-card-background: var(--theme-card-#{$variant}--background--hover);\n }\n}\n\n@mixin card-variants-selected($variant) {\n :host(.selected.card-#{$variant}) {\n --ix-card-border-color: var(\n --theme-card-#{$variant}--border-color--selected\n );\n --ix-card-background: var(--theme-card-#{$variant}--background--selected);\n }\n}\n\n@each $variant in card-vars.$ix-card-variants {\n @include card-variants-hover($variant);\n @include card-variants-active($variant);\n @include card-variants-selected($variant);\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core';\nimport type { CardVariant } from './card.types';\n\n@Component({\n tag: 'ix-card',\n styleUrl: 'card.scss',\n shadow: true,\n})\nexport class Card {\n @Element() hostElement!: HTMLIxCardElement;\n\n /**\n * Card variant\n */\n @Prop() variant: CardVariant = 'outline';\n\n /**\n * Show card in selected state\n */\n @Prop() selected: boolean = false;\n\n render() {\n return (\n <Host\n class={{\n selected: this.selected,\n [`card-${this.variant}`]: true,\n }}\n >\n <div class=\"card-content\">\n <slot></slot>\n </div>\n <div class=\"card-footer\">\n <slot name=\"card-accordion\"></slot>\n </div>\n </Host>\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@use 'mixins/shadow-dom/component';\n\n:host {\n display: flex;\n padding: 1rem;\n height: 100%;\n overflow: hidden;\n\n @include component.ix-component;\n\n .content-wrapper {\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n overflow: hidden;\n gap: 0.5rem;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n}\n","import { Component, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'ix-card-content',\n styleUrl: 'card-content.scss',\n shadow: true,\n})\nexport class CardContent {\n render() {\n return (\n <Host>\n <div class=\"content-wrapper\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"ix-card.ix-card-content.entry.js","sources":["src/components/card/card.scss?tag=ix-card&encapsulation=shadow","src/components/card/card.tsx","src/components/card-content/card-content.scss?tag=ix-card-content&encapsulation=shadow","src/components/card-content/card-content.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@use 'mixins/shadow-dom/component';\n@use './card-vars' as card-vars;\n\n:host {\n display: flex;\n position: relative;\n flex-direction: column;\n align-items: flex-start;\n align-self: flex-start;\n overflow: hidden;\n cursor: pointer;\n\n width: 20rem;\n\n border: var(--theme-card--border-width) solid\n var(--ix-card-border-color, var(--theme-color-soft-bdr));\n border-radius: var(--theme-card--border-radius);\n\n @include component.ix-component;\n\n .card-content {\n display: block;\n position: relative;\n flex-shrink: 0;\n flex-grow: 1;\n width: 100%;\n height: calc(100% - 2rem);\n background-color: var(--ix-card-background, transparent);\n border-top-left-radius: var(--theme-card--border-radius);\n border-top-right-radius: var(--theme-card--border-radius);\n overflow: hidden;\n }\n\n .card-content-wrapper {\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n }\n\n .card-footer {\n display: flex;\n position: relative;\n width: 100%;\n }\n}\n\n@mixin accordionChevronColorPrimary {\n ::slotted(ix-card-accordion) {\n color: var(--theme-color-std-text);\n }\n}\n\n@mixin card-variants($variant) {\n :host(.card-#{$variant}) {\n --ix-card-background: var(--theme-card-#{$variant}--background);\n --ix-card-border-color: var(--theme-card-#{$variant}--border-color);\n\n color: var(--theme-card-#{$variant}--color);\n\n @if $variant == outline {\n @include accordionChevronColorPrimary;\n }\n\n @if $variant == filled {\n @include accordionChevronColorPrimary;\n }\n }\n}\n\n@each $variant in card-vars.$ix-card-variants {\n @include card-variants($variant);\n}\n\n:host(:not(.card-insight, .card-outline)) {\n --ix-card-border-color: transparent;\n}\n\n@mixin card-variants-active($variant) {\n :host(.card-#{$variant}:active) {\n --ix-card-border-color: var(--theme-card-#{$variant}--border-color--active);\n --ix-card-background: var(--theme-card-#{$variant}--background--active);\n }\n}\n\n@mixin card-variants-hover($variant) {\n :host(.card-#{$variant}:hover) {\n --ix-card-border-color: var(--theme-card-#{$variant}--border-color--hover);\n --ix-card-background: var(--theme-card-#{$variant}--background--hover);\n }\n}\n\n@mixin card-variants-selected($variant) {\n :host(.selected.card-#{$variant}) {\n --ix-card-border-color: var(\n --theme-card-#{$variant}--border-color--selected\n );\n --ix-card-background: var(--theme-card-#{$variant}--background--selected);\n }\n}\n\n@each $variant in card-vars.$ix-card-variants {\n @include card-variants-hover($variant);\n @include card-variants-active($variant);\n @include card-variants-selected($variant);\n}\n\n:host(.passive) {\n cursor: default;\n}\n\n@each $variant in card-vars.$ix-card-variants {\n :host(.passive.card-#{$variant}) {\n --ix-card-background: var(--theme-card-#{$variant}--background);\n --ix-card-border-color: var(--theme-card-#{$variant}--border-color);\n }\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core';\nimport type { CardVariant } from './card.types';\n\n@Component({\n tag: 'ix-card',\n styleUrl: 'card.scss',\n shadow: true,\n})\nexport class Card {\n @Element() hostElement!: HTMLIxCardElement;\n\n /**\n * Card variant\n */\n @Prop() variant: CardVariant = 'outline';\n\n /**\n * Show card in selected state\n */\n @Prop() selected: 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\n class={{\n selected: this.selected,\n [`card-${this.variant}`]: true,\n passive: this.passive,\n }}\n >\n <div class=\"card-content\">\n <slot></slot>\n </div>\n <div class=\"card-footer\">\n <slot name=\"card-accordion\"></slot>\n </div>\n </Host>\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@use 'mixins/shadow-dom/component';\n\n:host {\n display: flex;\n padding: 1rem;\n height: 100%;\n overflow: hidden;\n\n @include component.ix-component;\n\n .content-wrapper {\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n overflow: hidden;\n gap: 0.5rem;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n}\n","import { Component, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'ix-card-content',\n styleUrl: 'card-content.scss',\n shadow: true,\n})\nexport class CardContent {\n render() {\n return (\n <Host>\n <div class=\"content-wrapper\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,OAAO,GAAG,6lSAA6lS;;MCQhmS,IAAI,GAAA,MAAA;AALjB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAQE;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAgB,SAAS;AAExC;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAEjC;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK;AAoBjC;IAlBC,MAAM,GAAA;QACJ,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EACH,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,gBAAA,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;gBAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,EAAA,EAED,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EACvB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACtB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,gBAAgB,GAAQ,CAC/B,CACD;;;;;;ACzCb,MAAM,cAAc,GAAG,2+BAA2+B;;MCOr/B,WAAW,GAAA,MAAA;;;;IACtB,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,iBAAiB,EAAA,EAC1B,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT,CACD;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as registerInstance, h, H as Host, g as getElement } from './index-CtoreFVF.js';
|
|
2
2
|
|
|
3
|
-
const cardCss = ":host{display:flex;position:relative;flex-direction:column;align-items:flex-start;align-self:flex-start;overflow:hidden;cursor:pointer;width:20rem;border:var(--theme-card--border-width) solid var(--ix-card-border-color, var(--theme-color-soft-bdr));border-radius:var(--theme-card--border-radius)}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host{}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host{}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host{}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host{}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .card-content{display:block;position:relative;flex-shrink:0;flex-grow:1;width:100%;height:calc(100% - 2rem);background-color:var(--ix-card-background, transparent);border-top-left-radius:var(--theme-card--border-radius);border-top-right-radius:var(--theme-card--border-radius);overflow:hidden}:host .card-content-wrapper{height:100%;width:100%;box-sizing:border-box}:host .card-footer{display:flex;position:relative;width:100%}:host(.card-outline){--ix-card-background:var(--theme-card-outline--background);--ix-card-border-color:var(--theme-card-outline--border-color);color:var(--theme-card-outline--color)}:host(.card-outline) ::slotted(ix-card-accordion){color:var(--theme-color-std-text)}:host(.card-filled){--ix-card-background:var(--theme-card-filled--background);--ix-card-border-color:var(--theme-card-filled--border-color);color:var(--theme-card-filled--color)}:host(.card-filled) ::slotted(ix-card-accordion){color:var(--theme-color-std-text)}:host(.card-alarm){--ix-card-background:var(--theme-card-alarm--background);--ix-card-border-color:var(--theme-card-alarm--border-color);color:var(--theme-card-alarm--color)}:host(.card-critical){--ix-card-background:var(--theme-card-critical--background);--ix-card-border-color:var(--theme-card-critical--border-color);color:var(--theme-card-critical--color)}:host(.card-warning){--ix-card-background:var(--theme-card-warning--background);--ix-card-border-color:var(--theme-card-warning--border-color);color:var(--theme-card-warning--color)}:host(.card-success){--ix-card-background:var(--theme-card-success--background);--ix-card-border-color:var(--theme-card-success--border-color);color:var(--theme-card-success--color)}:host(.card-info){--ix-card-background:var(--theme-card-info--background);--ix-card-border-color:var(--theme-card-info--border-color);color:var(--theme-card-info--color)}:host(.card-neutral){--ix-card-background:var(--theme-card-neutral--background);--ix-card-border-color:var(--theme-card-neutral--border-color);color:var(--theme-card-neutral--color)}:host(.card-primary){--ix-card-background:var(--theme-card-primary--background);--ix-card-border-color:var(--theme-card-primary--border-color);color:var(--theme-card-primary--color)}:host(:not(.card-insight,.card-outline)){--ix-card-border-color:transparent}:host(.card-outline:hover){--ix-card-border-color:var(--theme-card-outline--border-color--hover);--ix-card-background:var(--theme-card-outline--background--hover)}:host(.card-outline:active){--ix-card-border-color:var(--theme-card-outline--border-color--active);--ix-card-background:var(--theme-card-outline--background--active)}:host(.selected.card-outline){--ix-card-border-color:var(\n --theme-card-outline--border-color--selected\n );--ix-card-background:var(--theme-card-outline--background--selected)}:host(.card-filled:hover){--ix-card-border-color:var(--theme-card-filled--border-color--hover);--ix-card-background:var(--theme-card-filled--background--hover)}:host(.card-filled:active){--ix-card-border-color:var(--theme-card-filled--border-color--active);--ix-card-background:var(--theme-card-filled--background--active)}:host(.selected.card-filled){--ix-card-border-color:var(\n --theme-card-filled--border-color--selected\n );--ix-card-background:var(--theme-card-filled--background--selected)}:host(.card-alarm:hover){--ix-card-border-color:var(--theme-card-alarm--border-color--hover);--ix-card-background:var(--theme-card-alarm--background--hover)}:host(.card-alarm:active){--ix-card-border-color:var(--theme-card-alarm--border-color--active);--ix-card-background:var(--theme-card-alarm--background--active)}:host(.selected.card-alarm){--ix-card-border-color:var(\n --theme-card-alarm--border-color--selected\n );--ix-card-background:var(--theme-card-alarm--background--selected)}:host(.card-critical:hover){--ix-card-border-color:var(--theme-card-critical--border-color--hover);--ix-card-background:var(--theme-card-critical--background--hover)}:host(.card-critical:active){--ix-card-border-color:var(--theme-card-critical--border-color--active);--ix-card-background:var(--theme-card-critical--background--active)}:host(.selected.card-critical){--ix-card-border-color:var(\n --theme-card-critical--border-color--selected\n );--ix-card-background:var(--theme-card-critical--background--selected)}:host(.card-warning:hover){--ix-card-border-color:var(--theme-card-warning--border-color--hover);--ix-card-background:var(--theme-card-warning--background--hover)}:host(.card-warning:active){--ix-card-border-color:var(--theme-card-warning--border-color--active);--ix-card-background:var(--theme-card-warning--background--active)}:host(.selected.card-warning){--ix-card-border-color:var(\n --theme-card-warning--border-color--selected\n );--ix-card-background:var(--theme-card-warning--background--selected)}:host(.card-success:hover){--ix-card-border-color:var(--theme-card-success--border-color--hover);--ix-card-background:var(--theme-card-success--background--hover)}:host(.card-success:active){--ix-card-border-color:var(--theme-card-success--border-color--active);--ix-card-background:var(--theme-card-success--background--active)}:host(.selected.card-success){--ix-card-border-color:var(\n --theme-card-success--border-color--selected\n );--ix-card-background:var(--theme-card-success--background--selected)}:host(.card-info:hover){--ix-card-border-color:var(--theme-card-info--border-color--hover);--ix-card-background:var(--theme-card-info--background--hover)}:host(.card-info:active){--ix-card-border-color:var(--theme-card-info--border-color--active);--ix-card-background:var(--theme-card-info--background--active)}:host(.selected.card-info){--ix-card-border-color:var(\n --theme-card-info--border-color--selected\n );--ix-card-background:var(--theme-card-info--background--selected)}:host(.card-neutral:hover){--ix-card-border-color:var(--theme-card-neutral--border-color--hover);--ix-card-background:var(--theme-card-neutral--background--hover)}:host(.card-neutral:active){--ix-card-border-color:var(--theme-card-neutral--border-color--active);--ix-card-background:var(--theme-card-neutral--background--active)}:host(.selected.card-neutral){--ix-card-border-color:var(\n --theme-card-neutral--border-color--selected\n );--ix-card-background:var(--theme-card-neutral--background--selected)}:host(.card-primary:hover){--ix-card-border-color:var(--theme-card-primary--border-color--hover);--ix-card-background:var(--theme-card-primary--background--hover)}:host(.card-primary:active){--ix-card-border-color:var(--theme-card-primary--border-color--active);--ix-card-background:var(--theme-card-primary--background--active)}:host(.selected.card-primary){--ix-card-border-color:var(\n --theme-card-primary--border-color--selected\n );--ix-card-background:var(--theme-card-primary--background--selected)}";
|
|
3
|
+
const cardCss = ":host{display:flex;position:relative;flex-direction:column;align-items:flex-start;align-self:flex-start;overflow:hidden;cursor:pointer;width:20rem;border:var(--theme-card--border-width) solid var(--ix-card-border-color, var(--theme-color-soft-bdr));border-radius:var(--theme-card--border-radius)}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host{}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host{}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host{}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host{}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .card-content{display:block;position:relative;flex-shrink:0;flex-grow:1;width:100%;height:calc(100% - 2rem);background-color:var(--ix-card-background, transparent);border-top-left-radius:var(--theme-card--border-radius);border-top-right-radius:var(--theme-card--border-radius);overflow:hidden}:host .card-content-wrapper{height:100%;width:100%;box-sizing:border-box}:host .card-footer{display:flex;position:relative;width:100%}:host(.card-outline){--ix-card-background:var(--theme-card-outline--background);--ix-card-border-color:var(--theme-card-outline--border-color);color:var(--theme-card-outline--color)}:host(.card-outline) ::slotted(ix-card-accordion){color:var(--theme-color-std-text)}:host(.card-filled){--ix-card-background:var(--theme-card-filled--background);--ix-card-border-color:var(--theme-card-filled--border-color);color:var(--theme-card-filled--color)}:host(.card-filled) ::slotted(ix-card-accordion){color:var(--theme-color-std-text)}:host(.card-alarm){--ix-card-background:var(--theme-card-alarm--background);--ix-card-border-color:var(--theme-card-alarm--border-color);color:var(--theme-card-alarm--color)}:host(.card-critical){--ix-card-background:var(--theme-card-critical--background);--ix-card-border-color:var(--theme-card-critical--border-color);color:var(--theme-card-critical--color)}:host(.card-warning){--ix-card-background:var(--theme-card-warning--background);--ix-card-border-color:var(--theme-card-warning--border-color);color:var(--theme-card-warning--color)}:host(.card-success){--ix-card-background:var(--theme-card-success--background);--ix-card-border-color:var(--theme-card-success--border-color);color:var(--theme-card-success--color)}:host(.card-info){--ix-card-background:var(--theme-card-info--background);--ix-card-border-color:var(--theme-card-info--border-color);color:var(--theme-card-info--color)}:host(.card-neutral){--ix-card-background:var(--theme-card-neutral--background);--ix-card-border-color:var(--theme-card-neutral--border-color);color:var(--theme-card-neutral--color)}:host(.card-primary){--ix-card-background:var(--theme-card-primary--background);--ix-card-border-color:var(--theme-card-primary--border-color);color:var(--theme-card-primary--color)}:host(:not(.card-insight,.card-outline)){--ix-card-border-color:transparent}:host(.card-outline:hover){--ix-card-border-color:var(--theme-card-outline--border-color--hover);--ix-card-background:var(--theme-card-outline--background--hover)}:host(.card-outline:active){--ix-card-border-color:var(--theme-card-outline--border-color--active);--ix-card-background:var(--theme-card-outline--background--active)}:host(.selected.card-outline){--ix-card-border-color:var(\n --theme-card-outline--border-color--selected\n );--ix-card-background:var(--theme-card-outline--background--selected)}:host(.card-filled:hover){--ix-card-border-color:var(--theme-card-filled--border-color--hover);--ix-card-background:var(--theme-card-filled--background--hover)}:host(.card-filled:active){--ix-card-border-color:var(--theme-card-filled--border-color--active);--ix-card-background:var(--theme-card-filled--background--active)}:host(.selected.card-filled){--ix-card-border-color:var(\n --theme-card-filled--border-color--selected\n );--ix-card-background:var(--theme-card-filled--background--selected)}:host(.card-alarm:hover){--ix-card-border-color:var(--theme-card-alarm--border-color--hover);--ix-card-background:var(--theme-card-alarm--background--hover)}:host(.card-alarm:active){--ix-card-border-color:var(--theme-card-alarm--border-color--active);--ix-card-background:var(--theme-card-alarm--background--active)}:host(.selected.card-alarm){--ix-card-border-color:var(\n --theme-card-alarm--border-color--selected\n );--ix-card-background:var(--theme-card-alarm--background--selected)}:host(.card-critical:hover){--ix-card-border-color:var(--theme-card-critical--border-color--hover);--ix-card-background:var(--theme-card-critical--background--hover)}:host(.card-critical:active){--ix-card-border-color:var(--theme-card-critical--border-color--active);--ix-card-background:var(--theme-card-critical--background--active)}:host(.selected.card-critical){--ix-card-border-color:var(\n --theme-card-critical--border-color--selected\n );--ix-card-background:var(--theme-card-critical--background--selected)}:host(.card-warning:hover){--ix-card-border-color:var(--theme-card-warning--border-color--hover);--ix-card-background:var(--theme-card-warning--background--hover)}:host(.card-warning:active){--ix-card-border-color:var(--theme-card-warning--border-color--active);--ix-card-background:var(--theme-card-warning--background--active)}:host(.selected.card-warning){--ix-card-border-color:var(\n --theme-card-warning--border-color--selected\n );--ix-card-background:var(--theme-card-warning--background--selected)}:host(.card-success:hover){--ix-card-border-color:var(--theme-card-success--border-color--hover);--ix-card-background:var(--theme-card-success--background--hover)}:host(.card-success:active){--ix-card-border-color:var(--theme-card-success--border-color--active);--ix-card-background:var(--theme-card-success--background--active)}:host(.selected.card-success){--ix-card-border-color:var(\n --theme-card-success--border-color--selected\n );--ix-card-background:var(--theme-card-success--background--selected)}:host(.card-info:hover){--ix-card-border-color:var(--theme-card-info--border-color--hover);--ix-card-background:var(--theme-card-info--background--hover)}:host(.card-info:active){--ix-card-border-color:var(--theme-card-info--border-color--active);--ix-card-background:var(--theme-card-info--background--active)}:host(.selected.card-info){--ix-card-border-color:var(\n --theme-card-info--border-color--selected\n );--ix-card-background:var(--theme-card-info--background--selected)}:host(.card-neutral:hover){--ix-card-border-color:var(--theme-card-neutral--border-color--hover);--ix-card-background:var(--theme-card-neutral--background--hover)}:host(.card-neutral:active){--ix-card-border-color:var(--theme-card-neutral--border-color--active);--ix-card-background:var(--theme-card-neutral--background--active)}:host(.selected.card-neutral){--ix-card-border-color:var(\n --theme-card-neutral--border-color--selected\n );--ix-card-background:var(--theme-card-neutral--background--selected)}:host(.card-primary:hover){--ix-card-border-color:var(--theme-card-primary--border-color--hover);--ix-card-background:var(--theme-card-primary--background--hover)}:host(.card-primary:active){--ix-card-border-color:var(--theme-card-primary--border-color--active);--ix-card-background:var(--theme-card-primary--background--active)}:host(.selected.card-primary){--ix-card-border-color:var(\n --theme-card-primary--border-color--selected\n );--ix-card-background:var(--theme-card-primary--background--selected)}:host(.passive){cursor:default}:host(.passive.card-outline){--ix-card-background:var(--theme-card-outline--background);--ix-card-border-color:var(--theme-card-outline--border-color)}:host(.passive.card-filled){--ix-card-background:var(--theme-card-filled--background);--ix-card-border-color:var(--theme-card-filled--border-color)}:host(.passive.card-alarm){--ix-card-background:var(--theme-card-alarm--background);--ix-card-border-color:var(--theme-card-alarm--border-color)}:host(.passive.card-critical){--ix-card-background:var(--theme-card-critical--background);--ix-card-border-color:var(--theme-card-critical--border-color)}:host(.passive.card-warning){--ix-card-background:var(--theme-card-warning--background);--ix-card-border-color:var(--theme-card-warning--border-color)}:host(.passive.card-success){--ix-card-background:var(--theme-card-success--background);--ix-card-border-color:var(--theme-card-success--border-color)}:host(.passive.card-info){--ix-card-background:var(--theme-card-info--background);--ix-card-border-color:var(--theme-card-info--border-color)}:host(.passive.card-neutral){--ix-card-background:var(--theme-card-neutral--background);--ix-card-border-color:var(--theme-card-neutral--border-color)}:host(.passive.card-primary){--ix-card-background:var(--theme-card-primary--background);--ix-card-border-color:var(--theme-card-primary--border-color)}";
|
|
4
4
|
|
|
5
5
|
const Card = class {
|
|
6
6
|
constructor(hostRef) {
|
|
@@ -13,12 +13,17 @@ const Card = class {
|
|
|
13
13
|
* Show card in selected state
|
|
14
14
|
*/
|
|
15
15
|
this.selected = false;
|
|
16
|
+
/**
|
|
17
|
+
* If true, disables hover and active styles and changes cursor to default
|
|
18
|
+
*/
|
|
19
|
+
this.passive = false;
|
|
16
20
|
}
|
|
17
21
|
render() {
|
|
18
|
-
return (h(Host, { key: '
|
|
22
|
+
return (h(Host, { key: '3eed87586aed1916f7c1e3c2323a46c794d046d9', class: {
|
|
19
23
|
selected: this.selected,
|
|
20
24
|
[`card-${this.variant}`]: true,
|
|
21
|
-
|
|
25
|
+
passive: this.passive,
|
|
26
|
+
} }, h("div", { key: '7ae77cffe48272d0acc8cbd0dc7286d0fc835d8d', class: "card-content" }, h("slot", { key: 'ba07f9804dd1af6256ceb0cc972b2cc03a18f558' })), h("div", { key: '72bc9064c1d09188d60e1b9516811a91435f53b4', class: "card-footer" }, h("slot", { key: '7fbacfea4d8308e88b4db025567654a0a4ef0d96', name: "card-accordion" }))));
|
|
22
27
|
}
|
|
23
28
|
get hostElement() { return getElement(this); }
|
|
24
29
|
};
|
|
@@ -5,7 +5,7 @@ import { a as useContextConsumer, A as ApplicationLayoutContext } from './contex
|
|
|
5
5
|
import { a as applicationLayoutService } from './service-Da0kv8hS.js';
|
|
6
6
|
import { m as menuController } from './menu-service-BMvtckRa.js';
|
|
7
7
|
import { c as convertToRemString } from './rwd.util-pXYAoEyc.js';
|
|
8
|
-
import { t as themeSwitcher } from './theme-switcher-
|
|
8
|
+
import { t as themeSwitcher } from './theme-switcher-EbjilqRl.js';
|
|
9
9
|
import { P as iconNavigationLeft, Q as iconNavigationRight, e as iconApps, R as iconCogwheel, S as iconLightDark, b as iconInfo } from './index-8HpPmDK_.js';
|
|
10
10
|
import { A as Animation } from './animation-C5MWUgDN.js';
|
|
11
11
|
import './modal-BTxff2hq.js';
|
|
@@ -2,7 +2,7 @@ import { r as registerInstance, c as createEvent, h, H as Host } from './index-C
|
|
|
2
2
|
import { a as animate } from './anime.esm-DhE1t8Qh.js';
|
|
3
3
|
import { p as iconClose, y as iconNotification, b as iconInfo, c as iconSuccess, a as iconWarning, z as iconWarningRhomb, i as iconError } from './index-8HpPmDK_.js';
|
|
4
4
|
|
|
5
|
-
const messageBarCss = ":host{margin:0.5rem 0.5rem 0rem 0.5rem}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host{}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host{}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host{}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host{}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .message-container{display:flex;flex-direction:row;align-items:flex-start;flex-wrap:nowrap;justify-content:space-between;min-height:3.375rem;padding:calc(0.75rem - var(--theme-message-bar--border-thickness)) 0.75rem calc(0.75rem - var(--theme-message-bar--border-thickness)) 1rem;border-radius:var(--theme-message-bar--border-radius);background-color:var(--theme-messagebar--background)}:host .alarm{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-alarm)}:host .danger{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-alarm)}:host .critical{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-critical)}:host .warning{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-warning)}:host .success{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-success)}:host .info{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-info)}:host .neutral{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-neutral)}:host .primary{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-primary)}:host .message-content{flex-grow:1;align-self:center;min-height:1.25rem;padding:0 1rem;font-weight:normal;white-space:normal
|
|
5
|
+
const messageBarCss = ":host{margin:0.5rem 0.5rem 0rem 0.5rem}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host{}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host{}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host{}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host{}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .message-container{display:flex;flex-direction:row;align-items:flex-start;flex-wrap:nowrap;justify-content:space-between;min-height:3.375rem;padding:calc(0.75rem - var(--theme-message-bar--border-thickness)) 0.75rem calc(0.75rem - var(--theme-message-bar--border-thickness)) 1rem;border-radius:var(--theme-message-bar--border-radius);background-color:var(--theme-messagebar--background)}:host .alarm{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-alarm)}:host .danger{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-alarm)}:host .critical{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-critical)}:host .warning{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-warning)}:host .success{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-success)}:host .info{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-info)}:host .neutral{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-neutral)}:host .primary{border:solid var(--theme-message-bar--border-thickness) var(--theme-color-primary)}:host .message-content{flex-grow:1;align-self:center;min-height:1.25rem;padding:0 1rem;font-weight:normal;white-space:normal}:host ix-icon{margin-top:0.25rem}:host .message-bar-hidden{display:none}";
|
|
6
6
|
|
|
7
7
|
const MessageBar = class {
|
|
8
8
|
constructor(hostRef) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ix-message-bar.entry.js","sources":["src/components/message-bar/message-bar.scss?tag=ix-message-bar&encapsulation=shadow","src/components/message-bar/message-bar.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 './common-variables' as vars;\n@use 'mixins/
|
|
1
|
+
{"version":3,"file":"ix-message-bar.entry.js","sources":["src/components/message-bar/message-bar.scss?tag=ix-message-bar&encapsulation=shadow","src/components/message-bar/message-bar.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 './common-variables' as vars;\n@use 'mixins/shadow-dom/component';\n\n:host {\n margin: vars.$small-space vars.$small-space 0rem vars.$small-space;\n\n @include component.ix-component;\n\n .message-container {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n flex-wrap: nowrap;\n justify-content: space-between;\n min-height: 3.375rem;\n padding: calc(\n #{vars.$medium-space} - var(--theme-message-bar--border-thickness)\n )\n vars.$medium-space\n calc(#{vars.$medium-space} - var(--theme-message-bar--border-thickness))\n vars.$default-space;\n border-radius: var(--theme-message-bar--border-radius);\n background-color: var(--theme-messagebar--background);\n }\n\n $message-types: (\n 'alarm': var(--theme-color-alarm),\n 'danger': var(--theme-color-alarm),\n 'critical': var(--theme-color-critical),\n 'warning': var(--theme-color-warning),\n 'success': var(--theme-color-success),\n 'info': var(--theme-color-info),\n 'neutral': var(--theme-color-neutral),\n 'primary': var(--theme-color-primary),\n );\n\n @each $type, $color in $message-types {\n .#{$type} {\n border: solid var(--theme-message-bar--border-thickness) $color;\n }\n }\n\n .message-content {\n flex-grow: 1;\n align-self: center;\n min-height: 1.25rem;\n padding: 0 vars.$default-space;\n font-weight: normal;\n white-space: normal;\n }\n\n ix-icon {\n margin-top: vars.$tiny-space;\n }\n\n .message-bar-hidden {\n display: none;\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 Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\nimport { animate } from 'animejs';\nimport { NotificationColor } from '../utils/notification-color';\nimport {\n iconClose,\n iconError,\n iconInfo,\n iconNotification,\n iconSuccess,\n iconWarning,\n iconWarningRhomb,\n} from '@siemens/ix-icons/icons';\n\ninterface MessageTypeConfig {\n icon?: string;\n color: NotificationColor;\n}\n\n@Component({\n tag: 'ix-message-bar',\n styleUrl: 'message-bar.scss',\n shadow: true,\n})\nexport class MessageBar {\n /**\n * Specifies the type of the alert.\n */\n @Prop() type:\n | 'alarm'\n | 'critical'\n | 'warning'\n | 'success'\n | 'info'\n | 'neutral'\n | 'primary' = 'info';\n\n /**\n * If true, close button is disabled and alert cannot be dismissed by the user\n */\n @Prop() persistent = false;\n\n /**\n * An event emitted when the close button is clicked\n */\n @Event() closedChange!: EventEmitter;\n\n /**\n * An event emitted when the close animation is completed\n */\n @Event() closeAnimationCompleted!: EventEmitter;\n\n @State() icon?: string;\n @State() color?: NotificationColor;\n\n private static readonly duration = 300;\n private static readonly messageTypeConfigs: Record<\n string,\n MessageTypeConfig\n > = {\n //TODO(IX-3400): Replace icon colors with proper CSS variables when available\n alarm: { icon: iconError, color: 'color-alarm' },\n critical: { icon: iconWarningRhomb, color: 'color-critical' },\n warning: { icon: iconWarning, color: 'color-warning-text' },\n success: { icon: iconSuccess, color: 'color-success' },\n info: { icon: iconInfo, color: 'color-info' },\n neutral: { icon: iconNotification, color: 'color-neutral' },\n primary: { icon: iconNotification, color: 'color-primary' },\n };\n\n private divElement?: HTMLElement;\n\n componentWillRender() {\n const config = MessageBar.messageTypeConfigs[this.type];\n if (config) {\n this.icon = config.icon;\n this.color = config.color;\n }\n }\n\n private closeAlert(el: HTMLElement) {\n const { defaultPrevented } = this.closedChange.emit();\n\n if (!defaultPrevented) {\n animate(el, {\n duration: MessageBar.duration,\n opacity: [1, 0],\n easing: 'easeOutSine',\n onComplete: () => {\n el.classList.add('message-bar-hidden');\n this.closeAnimationCompleted.emit();\n },\n });\n }\n }\n\n render() {\n return (\n <Host>\n <div\n class={{ 'message-container': true, [this.type]: true }}\n role=\"alert\"\n ref={(el) => (this.divElement = el as HTMLElement)}\n >\n <ix-icon color={this.color} name={this.icon}></ix-icon>\n <div class=\"message-content\">\n <slot></slot>\n </div>\n {!this.persistent && (\n <ix-icon-button\n icon={iconClose}\n iconColor=\"color-soft-text\"\n size=\"24\"\n variant=\"tertiary\"\n onClick={() => {\n if (this.divElement) {\n this.closeAlert(this.divElement);\n }\n }}\n data-testid=\"close-btn\"\n ></ix-icon-button>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,7 @@ const Panes = class {
|
|
|
46
46
|
this.isMobile = matchBreakpoint('sm');
|
|
47
47
|
applicationLayoutService.onChange.on(() => {
|
|
48
48
|
this.isMobile = matchBreakpoint('sm');
|
|
49
|
+
this.configurePanes();
|
|
49
50
|
});
|
|
50
51
|
}
|
|
51
52
|
componentDidLoad() {
|
|
@@ -235,7 +236,7 @@ const Panes = class {
|
|
|
235
236
|
return pane ? pane.floating : false;
|
|
236
237
|
}
|
|
237
238
|
render() {
|
|
238
|
-
return (h(Host, { key: '
|
|
239
|
+
return (h(Host, { key: 'e325d469cf08970e85af16e34df3e25ea6fadacc' }, !this.isMobile ? (this.layout == 'full-vertical' ? (h("div", { class: "side-panes-wrapper" }, h("div", { class: {
|
|
239
240
|
row: true,
|
|
240
241
|
'padding-left': this.hasPadding('left'),
|
|
241
242
|
'padding-right': this.hasPadding('right'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ix-pane-layout.entry.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":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ix-pane-layout.entry.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":[],"mappings":"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"}
|