@siemens/ix 0.0.0-pr-2155-20250924070505 → 0.0.0-pr-2155-20250924075220

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.
@@ -33,20 +33,24 @@
33
33
  :host(.floating-pane) {
34
34
  --ix-pane--background: var(--theme-pane-floating--background);
35
35
  --ix-pane--border-color: var(--theme-pane-floating--border-color);
36
+ --ix-pane--color: var(--theme-pane-floating--color);
37
+ --ix-pane--box-shadow: var(--theme-pane-floating--box-shadow);
36
38
  }
37
39
 
38
40
  :host(.inline-pane) {
39
41
  --ix-pane--background: var(--theme-pane-inline--background);
40
42
  --ix-pane--border-color: var(--theme-pane-inline--border-color);
41
43
  --ix-pane--color: var(--theme-pane-inline--color);
44
+ --ix-pane--box-shadow: var(--theme-pane-inline--box-shadow);
42
45
  }
43
46
 
44
47
  :host {
45
- background-color: var(--ix-pane--background);
46
48
  display: flex;
47
49
  position: relative;
48
50
  overflow: hidden;
49
51
  box-sizing: border-box;
52
+ box-shadow: var(--ix-pane--box-shadow);
53
+ background-color: var(--ix-pane--background);
50
54
  }
51
55
  :host *,
52
56
  :host *::after,
@@ -206,7 +210,7 @@
206
210
  margin: var(--theme-space-1) var(--theme-space-2);
207
211
  }
208
212
  :host .side-pane-content {
209
- padding: var(--theme-space-1) var(--theme-space-2);
213
+ padding: var(--theme-space-1) var(--theme-space-2) var(--theme-space-3) var(--theme-space-2);
210
214
  overflow: auto;
211
215
  height: 100%;
212
216
  width: 100%;
@@ -224,14 +228,6 @@
224
228
  display: none;
225
229
  }
226
230
 
227
- :host(.inline-pane) {
228
- background-color: var(--ix-pane--background);
229
- }
230
-
231
- :host(.box-shadow) {
232
- box-shadow: 0 0 1rem black;
233
- }
234
-
235
231
  :host(.nav-left-border) {
236
232
  border-left: var(--theme-app-header--border-width) solid var(--ix-pane--border-color);
237
233
  }
@@ -13,6 +13,7 @@ import Animation from "../utils/animation";
13
13
  import { applicationLayoutService } from "../utils/application-layout";
14
14
  import { matchBreakpoint } from "../utils/breakpoints";
15
15
  import { addDisposableEventListener, } from "../utils/disposable-event-listener";
16
+ import { a11yBoolean } from "../utils/a11y";
16
17
  /**
17
18
  * @slot header - Additional slot for the header content
18
19
  */
@@ -454,7 +455,7 @@ export class Pane {
454
455
  }
455
456
  render() {
456
457
  const rotate = !this.expanded && !this.isMobile && this.isLeftRightPane;
457
- return (h(Host, { key: '6c4b264d023847bb11a4211097fabcc775a3afbd', class: {
458
+ return (h(Host, { key: 'd7b6bf1f122d955a9b87dc96f0d0b8b1ba2e7609', class: {
458
459
  'floating-pane': this.floating,
459
460
  'inline-pane': !this.floating,
460
461
  'mobile-overlay': this.expanded && this.isMobile,
@@ -477,31 +478,29 @@ export class Pane {
477
478
  this.isMobile &&
478
479
  !this.expanded &&
479
480
  !this.floating,
480
- 'box-shadow': this.floating,
481
- 'aria-expanded': this.expanded,
482
481
  'not-visible': this.hideOnCollapse && !this.expanded,
483
- } }, h("aside", { key: '54613b33ff0d79924ea2d36048702709d82ac59e', id: `pane-${this.composition}`, class: {
482
+ } }, h("aside", { key: '55e4abcdfac19e4f62d681dbfcd628b5559866b2', id: `pane-${this.composition}`, class: {
484
483
  'top-bottom-pane': this.isBottomTopPane && !this.isMobile,
485
484
  'left-right-pane': this.isLeftRightPane && !this.isMobile,
486
485
  'mobile-pane': this.isMobile,
487
486
  expanded: this.expanded,
488
- } }, h("div", { key: 'bccb592b8adacafc0cfe02f0a7daea4d747ad8ad', id: "title-div", class: {
487
+ }, "aria-expanded": a11yBoolean(this.expanded) }, h("div", { key: '104ecf1b0b6d2e1bb2c11cf40639ac4cb30291fb', id: "title-div", class: {
489
488
  title: !this.isMobile && !this.hideOnCollapse && !this.showContent,
490
489
  'title-finished': !this.isMobile && !this.hideOnCollapse && this.showContent,
491
490
  'title-expanded': !this.isMobile && !this.hideOnCollapse && this.expanded,
492
491
  'title-hide-on-collapse': !this.isMobile && this.hideOnCollapse,
493
492
  'title-mobile': this.isMobile,
494
493
  'header-gap': !this.isMobile && !this.hideOnCollapse,
495
- } }, h("ix-icon-button", { key: '22309f7ea098170f871e7fab85b2496472ba14aa', class: "title-icon", size: "24", icon: this.expanded
494
+ } }, h("ix-icon-button", { key: '6335f03d92bc032dc51f0a3721151b538c91364e', class: "title-icon", size: "24", icon: this.expanded
496
495
  ? this.isMobile || this.hideOnCollapse
497
496
  ? iconClose
498
497
  : this.expandIcon
499
498
  : this.minimizeIcon, iconColor: this.expanded && (this.isMobile || this.hideOnCollapse)
500
499
  ? 'color-soft-text'
501
- : undefined, variant: "subtle-tertiary", onClick: () => this.dispatchExpandedChangedEvent(), "aria-controls": `pane-${this.composition}`, "aria-label": this.ariaLabelCollapseCloseButton }), h("div", { key: '814bcfd5a85dabf2dad20280294a3c1bd61b4edd', class: {
500
+ : undefined, variant: "subtle-tertiary", onClick: () => this.dispatchExpandedChangedEvent(), "aria-controls": `pane-${this.composition}`, "aria-label": this.ariaLabelCollapseCloseButton }), h("div", { key: '4a0fb9f5c893ee0640ac4164951482b7841295ce', class: {
502
501
  'title-text': true,
503
502
  rotate: rotate,
504
- } }, this.icon && (h("ix-icon", { key: '08410bf2de008293920445598503649bfbcfab2d', class: "pane-icon", size: "24", name: this.icon, "aria-label": this.ariaLabelIcon })), h("div", { key: '1b2fc960312bcfe29fbfc7398bc3ed658600421c', class: "title-text-overflow" }, h("ix-typography", { key: '09badc26b0a58ab5ba3bae6252d63a5700d770f6', format: "h4" }, this.heading)), this.expanded && (h("div", { key: '3a97704cab6d9885967aa1ef5e8fd97dbac4b20c', class: "slot-header" }, h("slot", { key: 'a94c79479cb03af4ed42e66e10261c1e8cc5058e', name: "header" }))))), h("div", { key: '120762770bbd958d8158f8ff4cb11b11207a98b2', class: "side-pane-content", hidden: !this.showContent }, h("slot", { key: '23ac28220b6f050ee96d1f7047af1b21f9761ca8' })))));
503
+ } }, this.icon && (h("ix-icon", { key: 'ff108611dd6975a82906f6d1502b4c8dbf95b6ad', class: "pane-icon", size: "24", name: this.icon, "aria-label": this.ariaLabelIcon })), h("div", { key: 'b849799eaf0bb146350c10c4a778b8a5312215be', class: "title-text-overflow" }, h("ix-typography", { key: '55473d50acbcf1c3bde664d85a525d7c43d7c8a5', format: "h4" }, this.heading)), this.expanded && (h("div", { key: 'f364df8d91b9e2b0e8ece41c1fe28ae8fb0df43a', class: "slot-header" }, h("slot", { key: 'fe08255c0cc3ad69e79b0deedfc0a51885a8857e', name: "header" }))))), h("div", { key: '979b59b8c7805246f25e1f72615f76c1294a0df8', class: "side-pane-content", hidden: !this.showContent }, h("slot", { key: '452d2d2067f83ee6bc9ce7d56b4533999dc7c33e' })))));
505
504
  }
506
505
  static get is() { return "ix-pane"; }
507
506
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"pane.js","sourceRoot":"","sources":["../../../src/components/pane/pane.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 iconClose,\n iconDoubleChevronDown,\n iconDoubleChevronLeft,\n iconDoubleChevronRight,\n iconDoubleChevronUp,\n} from '@siemens/ix-icons/icons';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport type { JSAnimation } from 'animejs';\nimport { animate } from 'animejs';\nimport Animation from '../utils/animation';\nimport { applicationLayoutService } from '../utils/application-layout';\nimport { matchBreakpoint } from '../utils/breakpoints';\nimport {\n addDisposableEventListener,\n DisposableEventListener,\n} from '../utils/disposable-event-listener';\nimport type {\n BorderlessChangedEvent,\n Composition,\n ExpandedChangedEvent,\n HideOnCollapseChangedEvent,\n SlotChangedEvent,\n VariantChangedEvent,\n} from './pane.types';\n\n/**\n * @slot header - Additional slot for the header content\n */\n@Component({\n tag: 'ix-pane',\n styleUrl: 'pane.scss',\n shadow: true,\n})\nexport class Pane {\n @Element() hostElement!: HTMLIxPaneElement;\n\n /**\n * Title of the side panel\n */\n @Prop() heading?: string;\n\n /**\n * Variant of the side pane.\n * Defaults to the variant attribute of the pane layout. If used standalone it defaults to inline.\n */\n @Prop() variant: 'floating' | 'inline' = 'inline';\n\n /**\n * Define if the pane should have a collapsed state\n */\n @Prop() hideOnCollapse: boolean = false;\n\n /**\n * The maximum size of the sidebar, when it is expanded\n */\n @Prop() size:\n | '240px'\n | '320px'\n | '360px'\n | '480px'\n | '600px'\n | '33%'\n | '50%' = '240px';\n\n /**\n * Toggle the border of the pane.\n * Defaults to the borderless attribute of the pane layout. If used standalone it defaults to false.\n */\n @Prop() borderless: boolean = false;\n\n /**\n * State of the pane\n */\n @Prop({ mutable: true }) expanded: boolean = false;\n\n /**\n * Defines the position of the pane inside it's container.\n * Inside a pane layout this property will automatically be set to the name of slot the pane is assigned to.\n */\n @Prop({ mutable: true }) composition: Composition = 'top';\n\n /**\n * Name of the icon\n */\n @Prop() icon?: string;\n\n /**\n * If true, the pane will close when clicking outside of it\n */\n @Prop() closeOnClickOutside = false;\n\n /**\n * ARIA label for the icon\n */\n @Prop() ariaLabelIcon?: string;\n\n /**\n * ARIA label close or collapse button\n */\n @Prop() ariaLabelCollapseCloseButton?: string;\n\n /**\n * @internal\n * Prevents overwriting of the variant and borderless property when used inside layout\n */\n @Prop() ignoreLayoutSettings: boolean = false;\n\n /**\n * @internal\n */\n @Prop({ mutable: true }) isMobile: boolean = false;\n\n /**\n * This event is triggered when the pane either expands or contracts\n */\n @Event() expandedChanged!: EventEmitter<ExpandedChangedEvent>;\n\n /**\n * This event is triggered when the variant of the pane is changed\n */\n @Event() variantChanged!: EventEmitter<VariantChangedEvent>;\n\n /**\n * This event is triggered when the variant of the pane is changed\n */\n @Event() borderlessChanged!: EventEmitter<BorderlessChangedEvent>;\n\n /**\n * @internal\n */\n @Event() hideOnCollapseChanged!: EventEmitter<HideOnCollapseChangedEvent>;\n\n /**\n * @internal\n */\n @Event() slotChanged!: EventEmitter<SlotChangedEvent>;\n\n @State() private expandIcon = '';\n @State() private showContent = false;\n @State() private minimizeIcon = '';\n @State() private floating = false;\n @State() private parentWidthPx = 0;\n @State() private parentHeightPx = 0;\n\n private static readonly validPositions = ['top', 'left', 'bottom', 'right'];\n private static readonly collapsedPane = '40px';\n private static readonly collapsedPaneMobile = '48px';\n private readonly animations: Map<string, JSAnimation> = new Map();\n private animationCounter = 0;\n\n private mutationObserver?: MutationObserver;\n private resizeObserver?: ResizeObserver;\n private disposableWindowClick?: DisposableEventListener;\n\n get currentSlot() {\n return this.hostElement.getAttribute('slot');\n }\n\n get isBottomTopPane() {\n return this.composition === 'bottom' || this.composition === 'top';\n }\n\n get isLeftRightPane() {\n return this.composition === 'left' || this.composition === 'right';\n }\n\n get isMobileTop() {\n return this.composition === 'top' || this.composition === 'left';\n }\n\n disconnectedCallback() {\n this.mutationObserver?.disconnect();\n this.resizeObserver?.disconnect();\n this.disposableWindowClick?.();\n }\n\n @Watch('expanded')\n onExpandedChange() {\n if (!this.closeOnClickOutside || !this.expanded) {\n this.disposableWindowClick?.();\n return;\n }\n\n this.disposableWindowClick = addDisposableEventListener(\n window,\n 'click',\n (event) => {\n const path = event.composedPath?.() || [];\n if (!path.includes(this.hostElement)) {\n this.dispatchExpandedChangedEvent();\n }\n }\n );\n }\n\n componentWillLoad() {\n this.onExpandedChange();\n this.setIcons();\n\n this.floating = this.variant === 'floating';\n\n if (this.expanded) {\n this.onParentSizeChange();\n }\n\n this.isMobile = matchBreakpoint('sm');\n applicationLayoutService.onChange.on(() => {\n this.isMobile = matchBreakpoint('sm');\n });\n\n if (this.currentSlot) {\n this.setPosition(this.currentSlot);\n }\n\n this.mutationObserver = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (\n mutation.type === 'attributes' &&\n mutation.attributeName === 'slot'\n ) {\n const newSlot = this.currentSlot;\n const oldSlot = mutation.oldValue;\n\n if (newSlot !== oldSlot) {\n this.slotChanged.emit({\n slot: oldSlot ?? '',\n newSlot: newSlot ?? '',\n });\n\n if (newSlot) {\n this.setPosition(newSlot);\n }\n }\n }\n });\n });\n this.mutationObserver.observe(this.hostElement, {\n attributes: true,\n attributeOldValue: true,\n });\n\n const parentElement = this.hostElement.parentElement;\n this.resizeObserver = new ResizeObserver((entries) => {\n this.parentWidthPx = entries[0].borderBoxSize[0].inlineSize;\n this.parentHeightPx = entries[0].borderBoxSize[0].blockSize;\n });\n if (parentElement) this.resizeObserver.observe(parentElement);\n }\n\n private setPosition(value: string) {\n if (Pane.validPositions.includes(value)) {\n this.composition = value as Composition;\n }\n }\n\n private getExpandPaneSize() {\n let expandPaneSize: string;\n\n if (this.isBottomTopPane) {\n if (this.size.includes('px')) {\n const referenceValue = Math.round(this.parentHeightPx / 2);\n const currentValue = Number(this.size.replace('px', ''));\n\n if (referenceValue && referenceValue < currentValue) {\n expandPaneSize = `${referenceValue}px`;\n } else {\n expandPaneSize = `${currentValue}px`;\n }\n } else {\n if (this.size === '50%') {\n expandPaneSize = `${Math.round(this.parentHeightPx / 2)}px`;\n } else {\n expandPaneSize = `${Math.round(this.parentHeightPx / 3)}px`;\n }\n }\n } else {\n if (this.size.includes('px')) {\n const referenceValue = Math.round(this.parentWidthPx / 2);\n const currentValue = Number(this.size.replace('px', ''));\n\n if (referenceValue && referenceValue < currentValue) {\n expandPaneSize = `${referenceValue}px`;\n } else {\n expandPaneSize = `${currentValue}px`;\n }\n } else {\n if (this.size === '50%') {\n expandPaneSize = `${Math.round(this.parentWidthPx / 2)}px`;\n } else {\n expandPaneSize = `${Math.round(this.parentWidthPx / 3)}px`;\n }\n }\n }\n\n return expandPaneSize;\n }\n\n private setIcons() {\n const { expandIcon, minimizeIcon } = this.getIconNames();\n this.expandIcon = expandIcon;\n this.minimizeIcon = minimizeIcon;\n }\n\n private getIconNames(): { expandIcon: string; minimizeIcon: string } {\n let expandIcon = '';\n let minimizeIcon = '';\n\n switch (this.composition) {\n case 'left':\n expandIcon = this.isMobile\n ? iconDoubleChevronUp\n : iconDoubleChevronLeft;\n minimizeIcon = this.isMobile\n ? iconDoubleChevronDown\n : iconDoubleChevronRight;\n break;\n case 'right':\n expandIcon = this.isMobile\n ? iconDoubleChevronDown\n : iconDoubleChevronRight;\n minimizeIcon = this.isMobile\n ? iconDoubleChevronUp\n : iconDoubleChevronLeft;\n break;\n case 'bottom':\n expandIcon = iconDoubleChevronDown;\n minimizeIcon = iconDoubleChevronUp;\n break;\n case 'top':\n expandIcon = iconDoubleChevronUp;\n minimizeIcon = iconDoubleChevronDown;\n break;\n }\n\n return { expandIcon, minimizeIcon };\n }\n\n private getKey() {\n return (this.animationCounter++).toString();\n }\n\n private animateVerticalFadeIn(size: string) {\n let key = this.getKey();\n let animation = animate(this.hostElement, {\n duration: Animation.mediumTime,\n width: size,\n easing: 'easeInOutSine',\n delay: 0,\n begin: () => {\n if (!this.expanded) {\n this.showContent = false;\n this.animateVerticalPadding('0px');\n } else {\n this.animateVerticalPadding('8px');\n }\n },\n complete: () => {\n if (this.expanded) {\n this.showContent = true;\n }\n\n this.animations.delete(key);\n },\n });\n\n this.animations.set(key, animation);\n }\n\n private animateHorizontalFadeIn(size: string) {\n let key = this.getKey();\n let animation = animate(this.hostElement, {\n duration: Animation.mediumTime,\n height: size,\n easing: 'easeInOutSine',\n delay: 0,\n onBegin: () => {\n if (!this.expanded) {\n this.showContent = false;\n if (!this.isMobile) this.animateHorizontalPadding('0px');\n } else {\n if (!this.isMobile) this.animateHorizontalPadding('8px');\n }\n },\n onComplete: () => {\n if (this.expanded) {\n this.showContent = true;\n }\n\n this.animations.delete(key);\n },\n });\n\n this.animations.set(key, animation);\n }\n\n private removePadding() {\n animate(this.hostElement.shadowRoot!.querySelector('#title-div')!, {\n duration: 0,\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n delay: 0,\n });\n }\n\n private animateHorizontalPadding(\n size: string,\n duration = Animation.mediumTime\n ) {\n let key = this.getKey();\n let animation = animate(\n this.hostElement.shadowRoot!.querySelector('#title-div')!,\n {\n duration: duration,\n paddingTop: size,\n paddingBottom: size,\n easing: 'easeInOutSine',\n delay: 0,\n onComplete: () => {\n this.animations.delete(key);\n },\n }\n );\n\n this.animations.set(key, animation);\n }\n\n private animateVerticalPadding(\n size: string,\n duration = Animation.mediumTime\n ) {\n let key = this.getKey();\n let animation = animate(\n this.hostElement.shadowRoot!.querySelector('#title-div')!,\n {\n duration: duration,\n paddingLeft: size,\n paddingRight: size,\n easing: 'easeInOutSine',\n delay: 0,\n onComplete: () => {\n this.animations.delete(key);\n },\n }\n );\n\n this.animations.set(key, animation);\n }\n\n private clearAnimations() {\n this.animations.forEach((animation) => animation.pause());\n this.animations.clear();\n this.animationCounter = 0;\n }\n\n @Watch('isMobile')\n onMobileChange() {\n this.setIcons();\n this.hostElement.style.removeProperty('width');\n this.hostElement.style.removeProperty('height');\n this.hostElement.style.removeProperty('min-height');\n this.onParentSizeChange();\n }\n\n @Watch('composition')\n onPositionChange() {\n this.setIcons();\n this.hostElement.style.removeProperty('width');\n this.hostElement.style.removeProperty('height');\n this.onParentSizeChange();\n }\n\n @Watch('hideOnCollapse')\n onHideOnCollapseChange(value: boolean) {\n this.onParentSizeChange();\n\n this.hideOnCollapseChanged.emit({\n slot: this.currentSlot ?? '',\n hideOnCollapse: value,\n });\n }\n\n @Watch('variant')\n onVariantChange(value: 'inline' | 'floating') {\n this.floating = value === 'floating';\n\n this.variantChanged.emit({\n slot: this.currentSlot ?? '',\n variant: value,\n });\n }\n\n @Watch('borderless')\n onBorderlessChange(value: boolean) {\n this.borderlessChanged.emit({\n slot: this.currentSlot ?? '',\n borderless: value,\n });\n }\n\n private dispatchExpandedChangedEvent() {\n const event = this.expandedChanged.emit({\n slot: this.currentSlot ?? '',\n expanded: !this.expanded,\n });\n\n if (!event.defaultPrevented) {\n this.expanded = !this.expanded;\n }\n }\n\n @Watch('parentHeightPx')\n @Watch('parentWidthPx')\n onParentSizeChange() {\n this.clearAnimations();\n this.removePadding();\n\n if (this.expanded) {\n if (this.isMobile) {\n this.hostElement.style.height = '100%';\n } else {\n const expandPaneSize = this.getExpandPaneSize();\n\n if (this.isBottomTopPane) {\n this.hostElement.style.height = expandPaneSize;\n this.animateHorizontalPadding('8px', 0);\n } else {\n this.hostElement.style.width = expandPaneSize;\n this.animateVerticalPadding('8px', 0);\n }\n }\n\n this.showContent = true;\n } else {\n this.showContent = false;\n\n if (this.isMobile) {\n this.hostElement.style.height = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPaneMobile;\n } else {\n if (this.isBottomTopPane) {\n this.hostElement.style.height = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPane;\n } else {\n this.hostElement.style.width = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPane;\n }\n }\n }\n }\n\n @Watch('expanded')\n @Watch('size')\n onSizeChange() {\n if (this.expanded) {\n if (this.isMobile) {\n this.hostElement.style.minHeight = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPaneMobile;\n this.animateHorizontalFadeIn('100%');\n } else {\n const expandPaneSize = this.getExpandPaneSize();\n\n if (this.isBottomTopPane) {\n this.hostElement.style.height = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPane;\n this.animateHorizontalFadeIn(expandPaneSize);\n } else {\n this.hostElement.style.width = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPane;\n this.animateVerticalFadeIn(expandPaneSize);\n }\n }\n } else {\n this.showContent = false;\n\n if (this.isMobile) {\n this.hostElement.style.height = Pane.collapsedPaneMobile;\n } else {\n if (this.isBottomTopPane) {\n this.animateHorizontalFadeIn(Pane.collapsedPane);\n } else {\n this.animateVerticalFadeIn(Pane.collapsedPane);\n }\n }\n }\n }\n\n render() {\n const rotate = !this.expanded && !this.isMobile && this.isLeftRightPane;\n return (\n <Host\n class={{\n 'floating-pane': this.floating,\n 'inline-pane': !this.floating,\n 'mobile-overlay': this.expanded && this.isMobile,\n 'top-expanded': this.expanded && this.isMobileTop && this.isMobile,\n 'bottom-expanded':\n this.expanded && !this.isMobileTop && this.isMobile,\n 'top-bottom-pane': this.isBottomTopPane && !this.isMobile,\n 'left-right-pane': this.isLeftRightPane && !this.isMobile,\n [`${this.composition}-pane-border`]:\n !this.borderless && !this.isMobile && !this.floating,\n 'nav-left-border':\n !this.borderless &&\n !this.isMobile &&\n this.composition !== 'right' &&\n this.floating,\n 'mobile-border-top':\n !this.borderless &&\n this.isMobileTop &&\n this.isMobile &&\n !this.expanded &&\n !this.floating,\n 'mobile-border-bottom':\n !this.borderless &&\n !this.isMobileTop &&\n this.isMobile &&\n !this.expanded &&\n !this.floating,\n 'box-shadow': this.floating,\n 'aria-expanded': this.expanded,\n 'not-visible': this.hideOnCollapse && !this.expanded,\n }}\n >\n <aside\n id={`pane-${this.composition}`}\n class={{\n 'top-bottom-pane': this.isBottomTopPane && !this.isMobile,\n 'left-right-pane': this.isLeftRightPane && !this.isMobile,\n 'mobile-pane': this.isMobile,\n expanded: this.expanded,\n }}\n >\n <div\n id=\"title-div\"\n class={{\n title:\n !this.isMobile && !this.hideOnCollapse && !this.showContent,\n 'title-finished':\n !this.isMobile && !this.hideOnCollapse && this.showContent,\n 'title-expanded':\n !this.isMobile && !this.hideOnCollapse && this.expanded,\n 'title-hide-on-collapse': !this.isMobile && this.hideOnCollapse,\n 'title-mobile': this.isMobile,\n 'header-gap': !this.isMobile && !this.hideOnCollapse,\n }}\n >\n <ix-icon-button\n class=\"title-icon\"\n size=\"24\"\n icon={\n this.expanded\n ? this.isMobile || this.hideOnCollapse\n ? iconClose\n : this.expandIcon\n : this.minimizeIcon\n }\n iconColor={\n this.expanded && (this.isMobile || this.hideOnCollapse)\n ? 'color-soft-text'\n : undefined\n }\n variant=\"subtle-tertiary\"\n onClick={() => this.dispatchExpandedChangedEvent()}\n aria-controls={`pane-${this.composition}`}\n aria-label={this.ariaLabelCollapseCloseButton}\n />\n <div\n class={{\n 'title-text': true,\n rotate: rotate,\n }}\n >\n {this.icon && (\n <ix-icon\n class=\"pane-icon\"\n size=\"24\"\n name={this.icon}\n aria-label={this.ariaLabelIcon}\n ></ix-icon>\n )}\n <div class=\"title-text-overflow\">\n <ix-typography format=\"h4\">{this.heading}</ix-typography>\n </div>\n {this.expanded && (\n <div class=\"slot-header\">\n <slot name=\"header\"></slot>\n </div>\n )}\n </div>\n </div>\n <div class=\"side-pane-content\" hidden={!this.showContent}>\n <slot></slot>\n </div>\n </aside>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"pane.js","sourceRoot":"","sources":["../../../src/components/pane/pane.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 iconClose,\n iconDoubleChevronDown,\n iconDoubleChevronLeft,\n iconDoubleChevronRight,\n iconDoubleChevronUp,\n} from '@siemens/ix-icons/icons';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport type { JSAnimation } from 'animejs';\nimport { animate } from 'animejs';\nimport Animation from '../utils/animation';\nimport { applicationLayoutService } from '../utils/application-layout';\nimport { matchBreakpoint } from '../utils/breakpoints';\nimport {\n addDisposableEventListener,\n DisposableEventListener,\n} from '../utils/disposable-event-listener';\nimport type {\n BorderlessChangedEvent,\n Composition,\n ExpandedChangedEvent,\n HideOnCollapseChangedEvent,\n SlotChangedEvent,\n VariantChangedEvent,\n} from './pane.types';\nimport { a11yBoolean } from '../utils/a11y';\n\n/**\n * @slot header - Additional slot for the header content\n */\n@Component({\n tag: 'ix-pane',\n styleUrl: 'pane.scss',\n shadow: true,\n})\nexport class Pane {\n @Element() hostElement!: HTMLIxPaneElement;\n\n /**\n * Title of the side panel\n */\n @Prop() heading?: string;\n\n /**\n * Variant of the side pane.\n * Defaults to the variant attribute of the pane layout. If used standalone it defaults to inline.\n */\n @Prop() variant: 'floating' | 'inline' = 'inline';\n\n /**\n * Define if the pane should have a collapsed state\n */\n @Prop() hideOnCollapse: boolean = false;\n\n /**\n * The maximum size of the sidebar, when it is expanded\n */\n @Prop() size:\n | '240px'\n | '320px'\n | '360px'\n | '480px'\n | '600px'\n | '33%'\n | '50%' = '240px';\n\n /**\n * Toggle the border of the pane.\n * Defaults to the borderless attribute of the pane layout. If used standalone it defaults to false.\n */\n @Prop() borderless: boolean = false;\n\n /**\n * State of the pane\n */\n @Prop({ mutable: true }) expanded: boolean = false;\n\n /**\n * Defines the position of the pane inside it's container.\n * Inside a pane layout this property will automatically be set to the name of slot the pane is assigned to.\n */\n @Prop({ mutable: true }) composition: Composition = 'top';\n\n /**\n * Name of the icon\n */\n @Prop() icon?: string;\n\n /**\n * If true, the pane will close when clicking outside of it\n */\n @Prop() closeOnClickOutside = false;\n\n /**\n * ARIA label for the icon\n */\n @Prop() ariaLabelIcon?: string;\n\n /**\n * ARIA label close or collapse button\n */\n @Prop() ariaLabelCollapseCloseButton?: string;\n\n /**\n * @internal\n * Prevents overwriting of the variant and borderless property when used inside layout\n */\n @Prop() ignoreLayoutSettings: boolean = false;\n\n /**\n * @internal\n */\n @Prop({ mutable: true }) isMobile: boolean = false;\n\n /**\n * This event is triggered when the pane either expands or contracts\n */\n @Event() expandedChanged!: EventEmitter<ExpandedChangedEvent>;\n\n /**\n * This event is triggered when the variant of the pane is changed\n */\n @Event() variantChanged!: EventEmitter<VariantChangedEvent>;\n\n /**\n * This event is triggered when the variant of the pane is changed\n */\n @Event() borderlessChanged!: EventEmitter<BorderlessChangedEvent>;\n\n /**\n * @internal\n */\n @Event() hideOnCollapseChanged!: EventEmitter<HideOnCollapseChangedEvent>;\n\n /**\n * @internal\n */\n @Event() slotChanged!: EventEmitter<SlotChangedEvent>;\n\n @State() private expandIcon = '';\n @State() private showContent = false;\n @State() private minimizeIcon = '';\n @State() private floating = false;\n @State() private parentWidthPx = 0;\n @State() private parentHeightPx = 0;\n\n private static readonly validPositions = ['top', 'left', 'bottom', 'right'];\n private static readonly collapsedPane = '40px';\n private static readonly collapsedPaneMobile = '48px';\n private readonly animations: Map<string, JSAnimation> = new Map();\n private animationCounter = 0;\n\n private mutationObserver?: MutationObserver;\n private resizeObserver?: ResizeObserver;\n private disposableWindowClick?: DisposableEventListener;\n\n get currentSlot() {\n return this.hostElement.getAttribute('slot');\n }\n\n get isBottomTopPane() {\n return this.composition === 'bottom' || this.composition === 'top';\n }\n\n get isLeftRightPane() {\n return this.composition === 'left' || this.composition === 'right';\n }\n\n get isMobileTop() {\n return this.composition === 'top' || this.composition === 'left';\n }\n\n disconnectedCallback() {\n this.mutationObserver?.disconnect();\n this.resizeObserver?.disconnect();\n this.disposableWindowClick?.();\n }\n\n @Watch('expanded')\n onExpandedChange() {\n if (!this.closeOnClickOutside || !this.expanded) {\n this.disposableWindowClick?.();\n return;\n }\n\n this.disposableWindowClick = addDisposableEventListener(\n window,\n 'click',\n (event) => {\n const path = event.composedPath?.() || [];\n if (!path.includes(this.hostElement)) {\n this.dispatchExpandedChangedEvent();\n }\n }\n );\n }\n\n componentWillLoad() {\n this.onExpandedChange();\n this.setIcons();\n\n this.floating = this.variant === 'floating';\n\n if (this.expanded) {\n this.onParentSizeChange();\n }\n\n this.isMobile = matchBreakpoint('sm');\n applicationLayoutService.onChange.on(() => {\n this.isMobile = matchBreakpoint('sm');\n });\n\n if (this.currentSlot) {\n this.setPosition(this.currentSlot);\n }\n\n this.mutationObserver = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (\n mutation.type === 'attributes' &&\n mutation.attributeName === 'slot'\n ) {\n const newSlot = this.currentSlot;\n const oldSlot = mutation.oldValue;\n\n if (newSlot !== oldSlot) {\n this.slotChanged.emit({\n slot: oldSlot ?? '',\n newSlot: newSlot ?? '',\n });\n\n if (newSlot) {\n this.setPosition(newSlot);\n }\n }\n }\n });\n });\n this.mutationObserver.observe(this.hostElement, {\n attributes: true,\n attributeOldValue: true,\n });\n\n const parentElement = this.hostElement.parentElement;\n this.resizeObserver = new ResizeObserver((entries) => {\n this.parentWidthPx = entries[0].borderBoxSize[0].inlineSize;\n this.parentHeightPx = entries[0].borderBoxSize[0].blockSize;\n });\n if (parentElement) this.resizeObserver.observe(parentElement);\n }\n\n private setPosition(value: string) {\n if (Pane.validPositions.includes(value)) {\n this.composition = value as Composition;\n }\n }\n\n private getExpandPaneSize() {\n let expandPaneSize: string;\n\n if (this.isBottomTopPane) {\n if (this.size.includes('px')) {\n const referenceValue = Math.round(this.parentHeightPx / 2);\n const currentValue = Number(this.size.replace('px', ''));\n\n if (referenceValue && referenceValue < currentValue) {\n expandPaneSize = `${referenceValue}px`;\n } else {\n expandPaneSize = `${currentValue}px`;\n }\n } else {\n if (this.size === '50%') {\n expandPaneSize = `${Math.round(this.parentHeightPx / 2)}px`;\n } else {\n expandPaneSize = `${Math.round(this.parentHeightPx / 3)}px`;\n }\n }\n } else {\n if (this.size.includes('px')) {\n const referenceValue = Math.round(this.parentWidthPx / 2);\n const currentValue = Number(this.size.replace('px', ''));\n\n if (referenceValue && referenceValue < currentValue) {\n expandPaneSize = `${referenceValue}px`;\n } else {\n expandPaneSize = `${currentValue}px`;\n }\n } else {\n if (this.size === '50%') {\n expandPaneSize = `${Math.round(this.parentWidthPx / 2)}px`;\n } else {\n expandPaneSize = `${Math.round(this.parentWidthPx / 3)}px`;\n }\n }\n }\n\n return expandPaneSize;\n }\n\n private setIcons() {\n const { expandIcon, minimizeIcon } = this.getIconNames();\n this.expandIcon = expandIcon;\n this.minimizeIcon = minimizeIcon;\n }\n\n private getIconNames(): { expandIcon: string; minimizeIcon: string } {\n let expandIcon = '';\n let minimizeIcon = '';\n\n switch (this.composition) {\n case 'left':\n expandIcon = this.isMobile\n ? iconDoubleChevronUp\n : iconDoubleChevronLeft;\n minimizeIcon = this.isMobile\n ? iconDoubleChevronDown\n : iconDoubleChevronRight;\n break;\n case 'right':\n expandIcon = this.isMobile\n ? iconDoubleChevronDown\n : iconDoubleChevronRight;\n minimizeIcon = this.isMobile\n ? iconDoubleChevronUp\n : iconDoubleChevronLeft;\n break;\n case 'bottom':\n expandIcon = iconDoubleChevronDown;\n minimizeIcon = iconDoubleChevronUp;\n break;\n case 'top':\n expandIcon = iconDoubleChevronUp;\n minimizeIcon = iconDoubleChevronDown;\n break;\n }\n\n return { expandIcon, minimizeIcon };\n }\n\n private getKey() {\n return (this.animationCounter++).toString();\n }\n\n private animateVerticalFadeIn(size: string) {\n let key = this.getKey();\n let animation = animate(this.hostElement, {\n duration: Animation.mediumTime,\n width: size,\n easing: 'easeInOutSine',\n delay: 0,\n begin: () => {\n if (!this.expanded) {\n this.showContent = false;\n this.animateVerticalPadding('0px');\n } else {\n this.animateVerticalPadding('8px');\n }\n },\n complete: () => {\n if (this.expanded) {\n this.showContent = true;\n }\n\n this.animations.delete(key);\n },\n });\n\n this.animations.set(key, animation);\n }\n\n private animateHorizontalFadeIn(size: string) {\n let key = this.getKey();\n let animation = animate(this.hostElement, {\n duration: Animation.mediumTime,\n height: size,\n easing: 'easeInOutSine',\n delay: 0,\n onBegin: () => {\n if (!this.expanded) {\n this.showContent = false;\n if (!this.isMobile) this.animateHorizontalPadding('0px');\n } else {\n if (!this.isMobile) this.animateHorizontalPadding('8px');\n }\n },\n onComplete: () => {\n if (this.expanded) {\n this.showContent = true;\n }\n\n this.animations.delete(key);\n },\n });\n\n this.animations.set(key, animation);\n }\n\n private removePadding() {\n animate(this.hostElement.shadowRoot!.querySelector('#title-div')!, {\n duration: 0,\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n delay: 0,\n });\n }\n\n private animateHorizontalPadding(\n size: string,\n duration = Animation.mediumTime\n ) {\n let key = this.getKey();\n let animation = animate(\n this.hostElement.shadowRoot!.querySelector('#title-div')!,\n {\n duration: duration,\n paddingTop: size,\n paddingBottom: size,\n easing: 'easeInOutSine',\n delay: 0,\n onComplete: () => {\n this.animations.delete(key);\n },\n }\n );\n\n this.animations.set(key, animation);\n }\n\n private animateVerticalPadding(\n size: string,\n duration = Animation.mediumTime\n ) {\n let key = this.getKey();\n let animation = animate(\n this.hostElement.shadowRoot!.querySelector('#title-div')!,\n {\n duration: duration,\n paddingLeft: size,\n paddingRight: size,\n easing: 'easeInOutSine',\n delay: 0,\n onComplete: () => {\n this.animations.delete(key);\n },\n }\n );\n\n this.animations.set(key, animation);\n }\n\n private clearAnimations() {\n this.animations.forEach((animation) => animation.pause());\n this.animations.clear();\n this.animationCounter = 0;\n }\n\n @Watch('isMobile')\n onMobileChange() {\n this.setIcons();\n this.hostElement.style.removeProperty('width');\n this.hostElement.style.removeProperty('height');\n this.hostElement.style.removeProperty('min-height');\n this.onParentSizeChange();\n }\n\n @Watch('composition')\n onPositionChange() {\n this.setIcons();\n this.hostElement.style.removeProperty('width');\n this.hostElement.style.removeProperty('height');\n this.onParentSizeChange();\n }\n\n @Watch('hideOnCollapse')\n onHideOnCollapseChange(value: boolean) {\n this.onParentSizeChange();\n\n this.hideOnCollapseChanged.emit({\n slot: this.currentSlot ?? '',\n hideOnCollapse: value,\n });\n }\n\n @Watch('variant')\n onVariantChange(value: 'inline' | 'floating') {\n this.floating = value === 'floating';\n\n this.variantChanged.emit({\n slot: this.currentSlot ?? '',\n variant: value,\n });\n }\n\n @Watch('borderless')\n onBorderlessChange(value: boolean) {\n this.borderlessChanged.emit({\n slot: this.currentSlot ?? '',\n borderless: value,\n });\n }\n\n private dispatchExpandedChangedEvent() {\n const event = this.expandedChanged.emit({\n slot: this.currentSlot ?? '',\n expanded: !this.expanded,\n });\n\n if (!event.defaultPrevented) {\n this.expanded = !this.expanded;\n }\n }\n\n @Watch('parentHeightPx')\n @Watch('parentWidthPx')\n onParentSizeChange() {\n this.clearAnimations();\n this.removePadding();\n\n if (this.expanded) {\n if (this.isMobile) {\n this.hostElement.style.height = '100%';\n } else {\n const expandPaneSize = this.getExpandPaneSize();\n\n if (this.isBottomTopPane) {\n this.hostElement.style.height = expandPaneSize;\n this.animateHorizontalPadding('8px', 0);\n } else {\n this.hostElement.style.width = expandPaneSize;\n this.animateVerticalPadding('8px', 0);\n }\n }\n\n this.showContent = true;\n } else {\n this.showContent = false;\n\n if (this.isMobile) {\n this.hostElement.style.height = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPaneMobile;\n } else {\n if (this.isBottomTopPane) {\n this.hostElement.style.height = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPane;\n } else {\n this.hostElement.style.width = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPane;\n }\n }\n }\n }\n\n @Watch('expanded')\n @Watch('size')\n onSizeChange() {\n if (this.expanded) {\n if (this.isMobile) {\n this.hostElement.style.minHeight = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPaneMobile;\n this.animateHorizontalFadeIn('100%');\n } else {\n const expandPaneSize = this.getExpandPaneSize();\n\n if (this.isBottomTopPane) {\n this.hostElement.style.height = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPane;\n this.animateHorizontalFadeIn(expandPaneSize);\n } else {\n this.hostElement.style.width = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPane;\n this.animateVerticalFadeIn(expandPaneSize);\n }\n }\n } else {\n this.showContent = false;\n\n if (this.isMobile) {\n this.hostElement.style.height = Pane.collapsedPaneMobile;\n } else {\n if (this.isBottomTopPane) {\n this.animateHorizontalFadeIn(Pane.collapsedPane);\n } else {\n this.animateVerticalFadeIn(Pane.collapsedPane);\n }\n }\n }\n }\n\n render() {\n const rotate = !this.expanded && !this.isMobile && this.isLeftRightPane;\n return (\n <Host\n class={{\n 'floating-pane': this.floating,\n 'inline-pane': !this.floating,\n 'mobile-overlay': this.expanded && this.isMobile,\n 'top-expanded': this.expanded && this.isMobileTop && this.isMobile,\n 'bottom-expanded':\n this.expanded && !this.isMobileTop && this.isMobile,\n 'top-bottom-pane': this.isBottomTopPane && !this.isMobile,\n 'left-right-pane': this.isLeftRightPane && !this.isMobile,\n [`${this.composition}-pane-border`]:\n !this.borderless && !this.isMobile && !this.floating,\n 'nav-left-border':\n !this.borderless &&\n !this.isMobile &&\n this.composition !== 'right' &&\n this.floating,\n 'mobile-border-top':\n !this.borderless &&\n this.isMobileTop &&\n this.isMobile &&\n !this.expanded &&\n !this.floating,\n 'mobile-border-bottom':\n !this.borderless &&\n !this.isMobileTop &&\n this.isMobile &&\n !this.expanded &&\n !this.floating,\n 'not-visible': this.hideOnCollapse && !this.expanded,\n }}\n >\n <aside\n id={`pane-${this.composition}`}\n class={{\n 'top-bottom-pane': this.isBottomTopPane && !this.isMobile,\n 'left-right-pane': this.isLeftRightPane && !this.isMobile,\n 'mobile-pane': this.isMobile,\n expanded: this.expanded,\n }}\n aria-expanded={a11yBoolean(this.expanded)}\n >\n <div\n id=\"title-div\"\n class={{\n title:\n !this.isMobile && !this.hideOnCollapse && !this.showContent,\n 'title-finished':\n !this.isMobile && !this.hideOnCollapse && this.showContent,\n 'title-expanded':\n !this.isMobile && !this.hideOnCollapse && this.expanded,\n 'title-hide-on-collapse': !this.isMobile && this.hideOnCollapse,\n 'title-mobile': this.isMobile,\n 'header-gap': !this.isMobile && !this.hideOnCollapse,\n }}\n >\n <ix-icon-button\n class=\"title-icon\"\n size=\"24\"\n icon={\n this.expanded\n ? this.isMobile || this.hideOnCollapse\n ? iconClose\n : this.expandIcon\n : this.minimizeIcon\n }\n iconColor={\n this.expanded && (this.isMobile || this.hideOnCollapse)\n ? 'color-soft-text'\n : undefined\n }\n variant=\"subtle-tertiary\"\n onClick={() => this.dispatchExpandedChangedEvent()}\n aria-controls={`pane-${this.composition}`}\n aria-label={this.ariaLabelCollapseCloseButton}\n />\n <div\n class={{\n 'title-text': true,\n rotate: rotate,\n }}\n >\n {this.icon && (\n <ix-icon\n class=\"pane-icon\"\n size=\"24\"\n name={this.icon}\n aria-label={this.ariaLabelIcon}\n ></ix-icon>\n )}\n <div class=\"title-text-overflow\">\n <ix-typography format=\"h4\">{this.heading}</ix-typography>\n </div>\n {this.expanded && (\n <div class=\"slot-header\">\n <slot name=\"header\"></slot>\n </div>\n )}\n </div>\n </div>\n <div class=\"side-pane-content\" hidden={!this.showContent}>\n <slot></slot>\n </div>\n </aside>\n </Host>\n );\n }\n}\n"]}
@@ -5,9 +5,10 @@ import { A as Animation } from './animation-C5MWUgDN.js';
5
5
  import { a as applicationLayoutService } from './service-ktcE7NzB.js';
6
6
  import { m as matchBreakpoint } from './breakpoints-D_Hmobxf.js';
7
7
  import { a as addDisposableEventListener } from './disposable-event-listener-CKoABG1h.js';
8
+ import { a as a11yBoolean } from './a11y-Bb7pDeaQ.js';
8
9
  import './typed-event-BdCnOrqW.js';
9
10
 
10
- const paneCss = ":host(.floating-pane){--ix-pane--background:var(--theme-pane-floating--background);--ix-pane--border-color:var(--theme-pane-floating--border-color)}:host(.inline-pane){--ix-pane--background:var(--theme-pane-inline--background);--ix-pane--border-color:var(--theme-pane-inline--border-color);--ix-pane--color:var(--theme-pane-inline--color)}:host{background-color:var(--ix-pane--background);display:flex;position:relative;overflow:hidden;box-sizing:border-box}: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 aside{width:100%;height:100%}:host .pane-icon{color:var(--ix-pane--color)}:host .slot-header-content{display:inline-block;position:relative;max-height:2rem}:host .title-text{display:flex;align-items:center;gap:var(--theme-space-1);overflow:hidden}:host .title-text .title-text-overflow{width:100%;height:100%;display:contents}:host .title-text .title-text-overflow *{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .header-gap{gap:var(--theme-space-1)}:host .top-bottom-pane{display:flex;flex-direction:column;flex-grow:1}:host .top-bottom-pane .title{display:flex;flex-direction:row;align-items:center;margin:var(--theme-space--1) var(--theme-space-2) var(--theme-space--1) var(--theme-space-2)}:host .top-bottom-pane .title-finished{padding:0 !important;margin:var(--theme-space-2) var(--theme-space-2) var(--theme-space-2) var(--theme-space-2)}:host .top-bottom-pane .title-expanded{display:flex;flex-direction:row}:host .top-bottom-pane .title-hide-on-collapse{display:flex;flex-direction:row-reverse;justify-content:space-between;padding:0 !important;margin:var(--theme-space-2) var(--theme-space-2) var(--theme-space-2) var(--theme-space-2)}:host .left-right-pane{display:flex;flex-grow:1}:host .left-right-pane .title{display:flex;flex-direction:column;align-items:center;margin:var(--theme-space-2) var(--theme-space--1) var(--theme-space-2) var(--theme-space--1)}:host .left-right-pane .title .title-text{flex-direction:row-reverse;justify-content:start;flex-direction:row}:host .left-right-pane .title .rotate{writing-mode:vertical-lr;text-orientation:mixed;transform:rotate(180deg);flex-direction:row-reverse}:host .left-right-pane .title .rotate ix-icon{transform:rotate(90deg)}:host .left-right-pane .title-finished{padding:0 !important;margin:var(--theme-space-2) var(--theme-space-2) var(--theme-space-2) var(--theme-space-2)}:host .left-right-pane .title-expanded{display:flex;flex-direction:row}:host .left-right-pane .title-hide-on-collapse{display:flex;flex-direction:row-reverse;justify-content:space-between;padding:0 !important;margin:var(--theme-space-2) var(--theme-space-2) var(--theme-space-2) var(--theme-space-2)}:host .left-right-pane.expanded{flex-direction:column}:host .mobile-pane{display:flex;flex-direction:column;flex-grow:1}:host .mobile-pane .title-mobile{display:flex;flex-direction:row-reverse;justify-content:space-between;margin:var(--theme-space-1) var(--theme-space-2)}:host .side-pane-content{padding:var(--theme-space-1) var(--theme-space-2);overflow:auto;height:100%;width:100%}:host .slot-header{max-height:2rem;max-width:unset}:host .slot-header.rotate{max-height:unset;max-width:2rem}:host(.not-visible){display:none}:host(.inline-pane){background-color:var(--ix-pane--background)}:host(.box-shadow){box-shadow:0 0 1rem black}:host(.nav-left-border){border-left:var(--theme-app-header--border-width) solid var(--ix-pane--border-color)}:host(.left-pane-border){border-right:var(--theme-app-header--border-width) solid var(--ix-pane--border-color)}:host(.right-pane-border){border-left:var(--theme-app-header--border-width) solid var(--ix-pane--border-color)}:host(.top-pane-border){border-bottom:var(--theme-app-header--border-width) solid var(--ix-pane--border-color)}:host(.bottom-pane-border){border-top:var(--theme-app-header--border-width) solid var(--ix-pane--border-color)}:host(.mobile-overlay){width:100%;position:absolute;z-index:100 !important}:host(.mobile-overlay) .side-pane-content{height:calc(100% - 2.5rem)}:host(.mobile-border-top){border-bottom:var(--theme-app-header--border-width) solid var(--ix-pane--border-color)}:host(.mobile-border-bottom){border-top:var(--theme-app-header--border-width) solid var(--ix-pane--border-color)}:host(.top-expanded){top:0}:host(.bottom-expanded){bottom:0}:host(.left-right-pane){height:100%}:host(.top-bottom-pane){width:100%}";
11
+ const paneCss = ":host(.floating-pane){--ix-pane--background:var(--theme-pane-floating--background);--ix-pane--border-color:var(--theme-pane-floating--border-color);--ix-pane--color:var(--theme-pane-floating--color);--ix-pane--box-shadow:var(--theme-pane-floating--box-shadow)}:host(.inline-pane){--ix-pane--background:var(--theme-pane-inline--background);--ix-pane--border-color:var(--theme-pane-inline--border-color);--ix-pane--color:var(--theme-pane-inline--color);--ix-pane--box-shadow:var(--theme-pane-inline--box-shadow)}:host{display:flex;position:relative;overflow:hidden;box-sizing:border-box;box-shadow:var(--ix-pane--box-shadow);background-color:var(--ix-pane--background)}: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 aside{width:100%;height:100%}:host .pane-icon{color:var(--ix-pane--color)}:host .slot-header-content{display:inline-block;position:relative;max-height:2rem}:host .title-text{display:flex;align-items:center;gap:var(--theme-space-1);overflow:hidden}:host .title-text .title-text-overflow{width:100%;height:100%;display:contents}:host .title-text .title-text-overflow *{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .header-gap{gap:var(--theme-space-1)}:host .top-bottom-pane{display:flex;flex-direction:column;flex-grow:1}:host .top-bottom-pane .title{display:flex;flex-direction:row;align-items:center;margin:var(--theme-space--1) var(--theme-space-2) var(--theme-space--1) var(--theme-space-2)}:host .top-bottom-pane .title-finished{padding:0 !important;margin:var(--theme-space-2) var(--theme-space-2) var(--theme-space-2) var(--theme-space-2)}:host .top-bottom-pane .title-expanded{display:flex;flex-direction:row}:host .top-bottom-pane .title-hide-on-collapse{display:flex;flex-direction:row-reverse;justify-content:space-between;padding:0 !important;margin:var(--theme-space-2) var(--theme-space-2) var(--theme-space-2) var(--theme-space-2)}:host .left-right-pane{display:flex;flex-grow:1}:host .left-right-pane .title{display:flex;flex-direction:column;align-items:center;margin:var(--theme-space-2) var(--theme-space--1) var(--theme-space-2) var(--theme-space--1)}:host .left-right-pane .title .title-text{flex-direction:row-reverse;justify-content:start;flex-direction:row}:host .left-right-pane .title .rotate{writing-mode:vertical-lr;text-orientation:mixed;transform:rotate(180deg);flex-direction:row-reverse}:host .left-right-pane .title .rotate ix-icon{transform:rotate(90deg)}:host .left-right-pane .title-finished{padding:0 !important;margin:var(--theme-space-2) var(--theme-space-2) var(--theme-space-2) var(--theme-space-2)}:host .left-right-pane .title-expanded{display:flex;flex-direction:row}:host .left-right-pane .title-hide-on-collapse{display:flex;flex-direction:row-reverse;justify-content:space-between;padding:0 !important;margin:var(--theme-space-2) var(--theme-space-2) var(--theme-space-2) var(--theme-space-2)}:host .left-right-pane.expanded{flex-direction:column}:host .mobile-pane{display:flex;flex-direction:column;flex-grow:1}:host .mobile-pane .title-mobile{display:flex;flex-direction:row-reverse;justify-content:space-between;margin:var(--theme-space-1) var(--theme-space-2)}:host .side-pane-content{padding:var(--theme-space-1) var(--theme-space-2) var(--theme-space-3) var(--theme-space-2);overflow:auto;height:100%;width:100%}:host .slot-header{max-height:2rem;max-width:unset}:host .slot-header.rotate{max-height:unset;max-width:2rem}:host(.not-visible){display:none}:host(.nav-left-border){border-left:var(--theme-app-header--border-width) solid var(--ix-pane--border-color)}:host(.left-pane-border){border-right:var(--theme-app-header--border-width) solid var(--ix-pane--border-color)}:host(.right-pane-border){border-left:var(--theme-app-header--border-width) solid var(--ix-pane--border-color)}:host(.top-pane-border){border-bottom:var(--theme-app-header--border-width) solid var(--ix-pane--border-color)}:host(.bottom-pane-border){border-top:var(--theme-app-header--border-width) solid var(--ix-pane--border-color)}:host(.mobile-overlay){width:100%;position:absolute;z-index:100 !important}:host(.mobile-overlay) .side-pane-content{height:calc(100% - 2.5rem)}:host(.mobile-border-top){border-bottom:var(--theme-app-header--border-width) solid var(--ix-pane--border-color)}:host(.mobile-border-bottom){border-top:var(--theme-app-header--border-width) solid var(--ix-pane--border-color)}:host(.top-expanded){top:0}:host(.bottom-expanded){bottom:0}:host(.left-right-pane){height:100%}:host(.top-bottom-pane){width:100%}";
11
12
 
12
13
  const Pane = class {
13
14
  constructor(hostRef) {
@@ -453,7 +454,7 @@ const Pane = class {
453
454
  }
454
455
  render() {
455
456
  const rotate = !this.expanded && !this.isMobile && this.isLeftRightPane;
456
- return (h(Host, { key: '6c4b264d023847bb11a4211097fabcc775a3afbd', class: {
457
+ return (h(Host, { key: 'd7b6bf1f122d955a9b87dc96f0d0b8b1ba2e7609', class: {
457
458
  'floating-pane': this.floating,
458
459
  'inline-pane': !this.floating,
459
460
  'mobile-overlay': this.expanded && this.isMobile,
@@ -476,31 +477,29 @@ const Pane = class {
476
477
  this.isMobile &&
477
478
  !this.expanded &&
478
479
  !this.floating,
479
- 'box-shadow': this.floating,
480
- 'aria-expanded': this.expanded,
481
480
  'not-visible': this.hideOnCollapse && !this.expanded,
482
- } }, h("aside", { key: '54613b33ff0d79924ea2d36048702709d82ac59e', id: `pane-${this.composition}`, class: {
481
+ } }, h("aside", { key: '55e4abcdfac19e4f62d681dbfcd628b5559866b2', id: `pane-${this.composition}`, class: {
483
482
  'top-bottom-pane': this.isBottomTopPane && !this.isMobile,
484
483
  'left-right-pane': this.isLeftRightPane && !this.isMobile,
485
484
  'mobile-pane': this.isMobile,
486
485
  expanded: this.expanded,
487
- } }, h("div", { key: 'bccb592b8adacafc0cfe02f0a7daea4d747ad8ad', id: "title-div", class: {
486
+ }, "aria-expanded": a11yBoolean(this.expanded) }, h("div", { key: '104ecf1b0b6d2e1bb2c11cf40639ac4cb30291fb', id: "title-div", class: {
488
487
  title: !this.isMobile && !this.hideOnCollapse && !this.showContent,
489
488
  'title-finished': !this.isMobile && !this.hideOnCollapse && this.showContent,
490
489
  'title-expanded': !this.isMobile && !this.hideOnCollapse && this.expanded,
491
490
  'title-hide-on-collapse': !this.isMobile && this.hideOnCollapse,
492
491
  'title-mobile': this.isMobile,
493
492
  'header-gap': !this.isMobile && !this.hideOnCollapse,
494
- } }, h("ix-icon-button", { key: '22309f7ea098170f871e7fab85b2496472ba14aa', class: "title-icon", size: "24", icon: this.expanded
493
+ } }, h("ix-icon-button", { key: '6335f03d92bc032dc51f0a3721151b538c91364e', class: "title-icon", size: "24", icon: this.expanded
495
494
  ? this.isMobile || this.hideOnCollapse
496
495
  ? iconClose
497
496
  : this.expandIcon
498
497
  : this.minimizeIcon, iconColor: this.expanded && (this.isMobile || this.hideOnCollapse)
499
498
  ? 'color-soft-text'
500
- : undefined, variant: "subtle-tertiary", onClick: () => this.dispatchExpandedChangedEvent(), "aria-controls": `pane-${this.composition}`, "aria-label": this.ariaLabelCollapseCloseButton }), h("div", { key: '814bcfd5a85dabf2dad20280294a3c1bd61b4edd', class: {
499
+ : undefined, variant: "subtle-tertiary", onClick: () => this.dispatchExpandedChangedEvent(), "aria-controls": `pane-${this.composition}`, "aria-label": this.ariaLabelCollapseCloseButton }), h("div", { key: '4a0fb9f5c893ee0640ac4164951482b7841295ce', class: {
501
500
  'title-text': true,
502
501
  rotate: rotate,
503
- } }, this.icon && (h("ix-icon", { key: '08410bf2de008293920445598503649bfbcfab2d', class: "pane-icon", size: "24", name: this.icon, "aria-label": this.ariaLabelIcon })), h("div", { key: '1b2fc960312bcfe29fbfc7398bc3ed658600421c', class: "title-text-overflow" }, h("ix-typography", { key: '09badc26b0a58ab5ba3bae6252d63a5700d770f6', format: "h4" }, this.heading)), this.expanded && (h("div", { key: '3a97704cab6d9885967aa1ef5e8fd97dbac4b20c', class: "slot-header" }, h("slot", { key: 'a94c79479cb03af4ed42e66e10261c1e8cc5058e', name: "header" }))))), h("div", { key: '120762770bbd958d8158f8ff4cb11b11207a98b2', class: "side-pane-content", hidden: !this.showContent }, h("slot", { key: '23ac28220b6f050ee96d1f7047af1b21f9761ca8' })))));
502
+ } }, this.icon && (h("ix-icon", { key: 'ff108611dd6975a82906f6d1502b4c8dbf95b6ad', class: "pane-icon", size: "24", name: this.icon, "aria-label": this.ariaLabelIcon })), h("div", { key: 'b849799eaf0bb146350c10c4a778b8a5312215be', class: "title-text-overflow" }, h("ix-typography", { key: '55473d50acbcf1c3bde664d85a525d7c43d7c8a5', format: "h4" }, this.heading)), this.expanded && (h("div", { key: 'f364df8d91b9e2b0e8ece41c1fe28ae8fb0df43a', class: "slot-header" }, h("slot", { key: 'fe08255c0cc3ad69e79b0deedfc0a51885a8857e', name: "header" }))))), h("div", { key: '979b59b8c7805246f25e1f72615f76c1294a0df8', class: "side-pane-content", hidden: !this.showContent }, h("slot", { key: '452d2d2067f83ee6bc9ce7d56b4533999dc7c33e' })))));
504
503
  }
505
504
  get hostElement() { return getElement(this); }
506
505
  static get watchers() { return {
@@ -1 +1 @@
1
- {"version":3,"file":"ix-pane.entry.js","sources":["src/components/pane/pane.scss?tag=ix-pane&encapsulation=shadow","src/components/pane/pane.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@use 'mixins/hover';\n@use 'mixins/shadow-dom/component';\n\n@mixin set-border($composition) {\n @if $composition {\n border-#{$composition}: var(--theme-app-header--border-width)\n solid\n var(--ix-pane--border-color);\n }\n}\n\n:host(.floating-pane) {\n --ix-pane--background: var(--theme-pane-floating--background);\n --ix-pane--border-color: var(--theme-pane-floating--border-color);\n}\n\n:host(.inline-pane) {\n --ix-pane--background: var(--theme-pane-inline--background);\n --ix-pane--border-color: var(--theme-pane-inline--border-color);\n --ix-pane--color: var(--theme-pane-inline--color);\n}\n\n:host {\n background-color: var(--ix-pane--background);\n display: flex;\n position: relative;\n overflow: hidden;\n box-sizing: border-box;\n\n @include component.ix-component;\n\n aside {\n width: 100%;\n height: 100%;\n }\n\n .pane-icon {\n color: var(--ix-pane--color);\n }\n\n .slot-header-content {\n display: inline-block;\n position: relative;\n max-height: 2rem;\n }\n\n .title-text {\n display: flex;\n align-items: center;\n gap: var(--theme-space-1);\n overflow: hidden;\n\n .title-text-overflow {\n width: 100%;\n height: 100%;\n display: contents;\n\n * {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n }\n }\n\n .header-gap {\n gap: var(--theme-space-1);\n }\n\n .top-bottom-pane {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n\n .title {\n display: flex;\n flex-direction: row;\n align-items: center;\n margin: var(--theme-space--1) var(--theme-space-2) var(--theme-space--1)\n var(--theme-space-2);\n }\n\n .title-finished {\n padding: 0 !important;\n margin: var(--theme-space-2) var(--theme-space-2) var(--theme-space-2)\n var(--theme-space-2);\n }\n\n .title-expanded {\n display: flex;\n flex-direction: row;\n }\n\n .title-hide-on-collapse {\n display: flex;\n flex-direction: row-reverse;\n justify-content: space-between;\n padding: 0 !important;\n margin: var(--theme-space-2) var(--theme-space-2) var(--theme-space-2)\n var(--theme-space-2);\n }\n }\n\n .left-right-pane {\n display: flex;\n flex-grow: 1;\n\n .title {\n display: flex;\n flex-direction: column;\n align-items: center;\n margin: var(--theme-space-2) var(--theme-space--1) var(--theme-space-2)\n var(--theme-space--1);\n\n .title-text {\n flex-direction: row-reverse;\n justify-content: start;\n flex-direction: row;\n }\n\n .rotate {\n writing-mode: vertical-lr;\n text-orientation: mixed;\n transform: rotate(180deg);\n flex-direction: row-reverse;\n\n ix-icon {\n transform: rotate(90deg);\n }\n }\n }\n\n .title-finished {\n padding: 0 !important;\n margin: var(--theme-space-2) var(--theme-space-2) var(--theme-space-2)\n var(--theme-space-2);\n }\n\n .title-expanded {\n display: flex;\n flex-direction: row;\n }\n\n .title-hide-on-collapse {\n display: flex;\n flex-direction: row-reverse;\n justify-content: space-between;\n padding: 0 !important;\n margin: var(--theme-space-2) var(--theme-space-2) var(--theme-space-2)\n var(--theme-space-2);\n }\n }\n\n .left-right-pane.expanded {\n flex-direction: column;\n }\n\n .mobile-pane {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n\n .title-mobile {\n display: flex;\n flex-direction: row-reverse;\n justify-content: space-between;\n margin: var(--theme-space-1) var(--theme-space-2);\n }\n }\n\n .side-pane-content {\n padding: var(--theme-space-1) var(--theme-space-2);\n overflow: auto;\n height: 100%;\n width: 100%;\n }\n\n .slot-header {\n max-height: 2rem;\n max-width: unset;\n }\n\n .slot-header.rotate {\n max-height: unset;\n max-width: 2rem;\n }\n}\n\n:host(.not-visible) {\n display: none;\n}\n\n:host(.inline-pane) {\n background-color: var(--ix-pane--background);\n}\n\n:host(.box-shadow) {\n box-shadow: 0 0 1rem black;\n}\n\n:host(.nav-left-border) {\n border-left: var(--theme-app-header--border-width) solid\n var(--ix-pane--border-color);\n}\n\n:host(.left-pane-border) {\n @include set-border(right);\n}\n\n:host(.right-pane-border) {\n @include set-border(left);\n}\n\n:host(.top-pane-border) {\n @include set-border(bottom);\n}\n\n:host(.bottom-pane-border) {\n @include set-border(top);\n}\n\n:host(.mobile-overlay) {\n width: 100%;\n position: absolute;\n z-index: 100 !important;\n\n .side-pane-content {\n height: calc(100% - 2.5rem);\n }\n}\n\n:host(.mobile-border-top) {\n @include set-border(bottom);\n}\n\n:host(.mobile-border-bottom) {\n @include set-border(top);\n}\n\n:host(.top-expanded) {\n top: 0;\n}\n\n:host(.bottom-expanded) {\n bottom: 0;\n}\n\n:host(.left-right-pane) {\n height: 100%;\n}\n\n:host(.top-bottom-pane) {\n width: 100%;\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n iconClose,\n iconDoubleChevronDown,\n iconDoubleChevronLeft,\n iconDoubleChevronRight,\n iconDoubleChevronUp,\n} from '@siemens/ix-icons/icons';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport type { JSAnimation } from 'animejs';\nimport { animate } from 'animejs';\nimport Animation from '../utils/animation';\nimport { applicationLayoutService } from '../utils/application-layout';\nimport { matchBreakpoint } from '../utils/breakpoints';\nimport {\n addDisposableEventListener,\n DisposableEventListener,\n} from '../utils/disposable-event-listener';\nimport type {\n BorderlessChangedEvent,\n Composition,\n ExpandedChangedEvent,\n HideOnCollapseChangedEvent,\n SlotChangedEvent,\n VariantChangedEvent,\n} from './pane.types';\n\n/**\n * @slot header - Additional slot for the header content\n */\n@Component({\n tag: 'ix-pane',\n styleUrl: 'pane.scss',\n shadow: true,\n})\nexport class Pane {\n @Element() hostElement!: HTMLIxPaneElement;\n\n /**\n * Title of the side panel\n */\n @Prop() heading?: string;\n\n /**\n * Variant of the side pane.\n * Defaults to the variant attribute of the pane layout. If used standalone it defaults to inline.\n */\n @Prop() variant: 'floating' | 'inline' = 'inline';\n\n /**\n * Define if the pane should have a collapsed state\n */\n @Prop() hideOnCollapse: boolean = false;\n\n /**\n * The maximum size of the sidebar, when it is expanded\n */\n @Prop() size:\n | '240px'\n | '320px'\n | '360px'\n | '480px'\n | '600px'\n | '33%'\n | '50%' = '240px';\n\n /**\n * Toggle the border of the pane.\n * Defaults to the borderless attribute of the pane layout. If used standalone it defaults to false.\n */\n @Prop() borderless: boolean = false;\n\n /**\n * State of the pane\n */\n @Prop({ mutable: true }) expanded: boolean = false;\n\n /**\n * Defines the position of the pane inside it's container.\n * Inside a pane layout this property will automatically be set to the name of slot the pane is assigned to.\n */\n @Prop({ mutable: true }) composition: Composition = 'top';\n\n /**\n * Name of the icon\n */\n @Prop() icon?: string;\n\n /**\n * If true, the pane will close when clicking outside of it\n */\n @Prop() closeOnClickOutside = false;\n\n /**\n * ARIA label for the icon\n */\n @Prop() ariaLabelIcon?: string;\n\n /**\n * ARIA label close or collapse button\n */\n @Prop() ariaLabelCollapseCloseButton?: string;\n\n /**\n * @internal\n * Prevents overwriting of the variant and borderless property when used inside layout\n */\n @Prop() ignoreLayoutSettings: boolean = false;\n\n /**\n * @internal\n */\n @Prop({ mutable: true }) isMobile: boolean = false;\n\n /**\n * This event is triggered when the pane either expands or contracts\n */\n @Event() expandedChanged!: EventEmitter<ExpandedChangedEvent>;\n\n /**\n * This event is triggered when the variant of the pane is changed\n */\n @Event() variantChanged!: EventEmitter<VariantChangedEvent>;\n\n /**\n * This event is triggered when the variant of the pane is changed\n */\n @Event() borderlessChanged!: EventEmitter<BorderlessChangedEvent>;\n\n /**\n * @internal\n */\n @Event() hideOnCollapseChanged!: EventEmitter<HideOnCollapseChangedEvent>;\n\n /**\n * @internal\n */\n @Event() slotChanged!: EventEmitter<SlotChangedEvent>;\n\n @State() private expandIcon = '';\n @State() private showContent = false;\n @State() private minimizeIcon = '';\n @State() private floating = false;\n @State() private parentWidthPx = 0;\n @State() private parentHeightPx = 0;\n\n private static readonly validPositions = ['top', 'left', 'bottom', 'right'];\n private static readonly collapsedPane = '40px';\n private static readonly collapsedPaneMobile = '48px';\n private readonly animations: Map<string, JSAnimation> = new Map();\n private animationCounter = 0;\n\n private mutationObserver?: MutationObserver;\n private resizeObserver?: ResizeObserver;\n private disposableWindowClick?: DisposableEventListener;\n\n get currentSlot() {\n return this.hostElement.getAttribute('slot');\n }\n\n get isBottomTopPane() {\n return this.composition === 'bottom' || this.composition === 'top';\n }\n\n get isLeftRightPane() {\n return this.composition === 'left' || this.composition === 'right';\n }\n\n get isMobileTop() {\n return this.composition === 'top' || this.composition === 'left';\n }\n\n disconnectedCallback() {\n this.mutationObserver?.disconnect();\n this.resizeObserver?.disconnect();\n this.disposableWindowClick?.();\n }\n\n @Watch('expanded')\n onExpandedChange() {\n if (!this.closeOnClickOutside || !this.expanded) {\n this.disposableWindowClick?.();\n return;\n }\n\n this.disposableWindowClick = addDisposableEventListener(\n window,\n 'click',\n (event) => {\n const path = event.composedPath?.() || [];\n if (!path.includes(this.hostElement)) {\n this.dispatchExpandedChangedEvent();\n }\n }\n );\n }\n\n componentWillLoad() {\n this.onExpandedChange();\n this.setIcons();\n\n this.floating = this.variant === 'floating';\n\n if (this.expanded) {\n this.onParentSizeChange();\n }\n\n this.isMobile = matchBreakpoint('sm');\n applicationLayoutService.onChange.on(() => {\n this.isMobile = matchBreakpoint('sm');\n });\n\n if (this.currentSlot) {\n this.setPosition(this.currentSlot);\n }\n\n this.mutationObserver = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (\n mutation.type === 'attributes' &&\n mutation.attributeName === 'slot'\n ) {\n const newSlot = this.currentSlot;\n const oldSlot = mutation.oldValue;\n\n if (newSlot !== oldSlot) {\n this.slotChanged.emit({\n slot: oldSlot ?? '',\n newSlot: newSlot ?? '',\n });\n\n if (newSlot) {\n this.setPosition(newSlot);\n }\n }\n }\n });\n });\n this.mutationObserver.observe(this.hostElement, {\n attributes: true,\n attributeOldValue: true,\n });\n\n const parentElement = this.hostElement.parentElement;\n this.resizeObserver = new ResizeObserver((entries) => {\n this.parentWidthPx = entries[0].borderBoxSize[0].inlineSize;\n this.parentHeightPx = entries[0].borderBoxSize[0].blockSize;\n });\n if (parentElement) this.resizeObserver.observe(parentElement);\n }\n\n private setPosition(value: string) {\n if (Pane.validPositions.includes(value)) {\n this.composition = value as Composition;\n }\n }\n\n private getExpandPaneSize() {\n let expandPaneSize: string;\n\n if (this.isBottomTopPane) {\n if (this.size.includes('px')) {\n const referenceValue = Math.round(this.parentHeightPx / 2);\n const currentValue = Number(this.size.replace('px', ''));\n\n if (referenceValue && referenceValue < currentValue) {\n expandPaneSize = `${referenceValue}px`;\n } else {\n expandPaneSize = `${currentValue}px`;\n }\n } else {\n if (this.size === '50%') {\n expandPaneSize = `${Math.round(this.parentHeightPx / 2)}px`;\n } else {\n expandPaneSize = `${Math.round(this.parentHeightPx / 3)}px`;\n }\n }\n } else {\n if (this.size.includes('px')) {\n const referenceValue = Math.round(this.parentWidthPx / 2);\n const currentValue = Number(this.size.replace('px', ''));\n\n if (referenceValue && referenceValue < currentValue) {\n expandPaneSize = `${referenceValue}px`;\n } else {\n expandPaneSize = `${currentValue}px`;\n }\n } else {\n if (this.size === '50%') {\n expandPaneSize = `${Math.round(this.parentWidthPx / 2)}px`;\n } else {\n expandPaneSize = `${Math.round(this.parentWidthPx / 3)}px`;\n }\n }\n }\n\n return expandPaneSize;\n }\n\n private setIcons() {\n const { expandIcon, minimizeIcon } = this.getIconNames();\n this.expandIcon = expandIcon;\n this.minimizeIcon = minimizeIcon;\n }\n\n private getIconNames(): { expandIcon: string; minimizeIcon: string } {\n let expandIcon = '';\n let minimizeIcon = '';\n\n switch (this.composition) {\n case 'left':\n expandIcon = this.isMobile\n ? iconDoubleChevronUp\n : iconDoubleChevronLeft;\n minimizeIcon = this.isMobile\n ? iconDoubleChevronDown\n : iconDoubleChevronRight;\n break;\n case 'right':\n expandIcon = this.isMobile\n ? iconDoubleChevronDown\n : iconDoubleChevronRight;\n minimizeIcon = this.isMobile\n ? iconDoubleChevronUp\n : iconDoubleChevronLeft;\n break;\n case 'bottom':\n expandIcon = iconDoubleChevronDown;\n minimizeIcon = iconDoubleChevronUp;\n break;\n case 'top':\n expandIcon = iconDoubleChevronUp;\n minimizeIcon = iconDoubleChevronDown;\n break;\n }\n\n return { expandIcon, minimizeIcon };\n }\n\n private getKey() {\n return (this.animationCounter++).toString();\n }\n\n private animateVerticalFadeIn(size: string) {\n let key = this.getKey();\n let animation = animate(this.hostElement, {\n duration: Animation.mediumTime,\n width: size,\n easing: 'easeInOutSine',\n delay: 0,\n begin: () => {\n if (!this.expanded) {\n this.showContent = false;\n this.animateVerticalPadding('0px');\n } else {\n this.animateVerticalPadding('8px');\n }\n },\n complete: () => {\n if (this.expanded) {\n this.showContent = true;\n }\n\n this.animations.delete(key);\n },\n });\n\n this.animations.set(key, animation);\n }\n\n private animateHorizontalFadeIn(size: string) {\n let key = this.getKey();\n let animation = animate(this.hostElement, {\n duration: Animation.mediumTime,\n height: size,\n easing: 'easeInOutSine',\n delay: 0,\n onBegin: () => {\n if (!this.expanded) {\n this.showContent = false;\n if (!this.isMobile) this.animateHorizontalPadding('0px');\n } else {\n if (!this.isMobile) this.animateHorizontalPadding('8px');\n }\n },\n onComplete: () => {\n if (this.expanded) {\n this.showContent = true;\n }\n\n this.animations.delete(key);\n },\n });\n\n this.animations.set(key, animation);\n }\n\n private removePadding() {\n animate(this.hostElement.shadowRoot!.querySelector('#title-div')!, {\n duration: 0,\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n delay: 0,\n });\n }\n\n private animateHorizontalPadding(\n size: string,\n duration = Animation.mediumTime\n ) {\n let key = this.getKey();\n let animation = animate(\n this.hostElement.shadowRoot!.querySelector('#title-div')!,\n {\n duration: duration,\n paddingTop: size,\n paddingBottom: size,\n easing: 'easeInOutSine',\n delay: 0,\n onComplete: () => {\n this.animations.delete(key);\n },\n }\n );\n\n this.animations.set(key, animation);\n }\n\n private animateVerticalPadding(\n size: string,\n duration = Animation.mediumTime\n ) {\n let key = this.getKey();\n let animation = animate(\n this.hostElement.shadowRoot!.querySelector('#title-div')!,\n {\n duration: duration,\n paddingLeft: size,\n paddingRight: size,\n easing: 'easeInOutSine',\n delay: 0,\n onComplete: () => {\n this.animations.delete(key);\n },\n }\n );\n\n this.animations.set(key, animation);\n }\n\n private clearAnimations() {\n this.animations.forEach((animation) => animation.pause());\n this.animations.clear();\n this.animationCounter = 0;\n }\n\n @Watch('isMobile')\n onMobileChange() {\n this.setIcons();\n this.hostElement.style.removeProperty('width');\n this.hostElement.style.removeProperty('height');\n this.hostElement.style.removeProperty('min-height');\n this.onParentSizeChange();\n }\n\n @Watch('composition')\n onPositionChange() {\n this.setIcons();\n this.hostElement.style.removeProperty('width');\n this.hostElement.style.removeProperty('height');\n this.onParentSizeChange();\n }\n\n @Watch('hideOnCollapse')\n onHideOnCollapseChange(value: boolean) {\n this.onParentSizeChange();\n\n this.hideOnCollapseChanged.emit({\n slot: this.currentSlot ?? '',\n hideOnCollapse: value,\n });\n }\n\n @Watch('variant')\n onVariantChange(value: 'inline' | 'floating') {\n this.floating = value === 'floating';\n\n this.variantChanged.emit({\n slot: this.currentSlot ?? '',\n variant: value,\n });\n }\n\n @Watch('borderless')\n onBorderlessChange(value: boolean) {\n this.borderlessChanged.emit({\n slot: this.currentSlot ?? '',\n borderless: value,\n });\n }\n\n private dispatchExpandedChangedEvent() {\n const event = this.expandedChanged.emit({\n slot: this.currentSlot ?? '',\n expanded: !this.expanded,\n });\n\n if (!event.defaultPrevented) {\n this.expanded = !this.expanded;\n }\n }\n\n @Watch('parentHeightPx')\n @Watch('parentWidthPx')\n onParentSizeChange() {\n this.clearAnimations();\n this.removePadding();\n\n if (this.expanded) {\n if (this.isMobile) {\n this.hostElement.style.height = '100%';\n } else {\n const expandPaneSize = this.getExpandPaneSize();\n\n if (this.isBottomTopPane) {\n this.hostElement.style.height = expandPaneSize;\n this.animateHorizontalPadding('8px', 0);\n } else {\n this.hostElement.style.width = expandPaneSize;\n this.animateVerticalPadding('8px', 0);\n }\n }\n\n this.showContent = true;\n } else {\n this.showContent = false;\n\n if (this.isMobile) {\n this.hostElement.style.height = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPaneMobile;\n } else {\n if (this.isBottomTopPane) {\n this.hostElement.style.height = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPane;\n } else {\n this.hostElement.style.width = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPane;\n }\n }\n }\n }\n\n @Watch('expanded')\n @Watch('size')\n onSizeChange() {\n if (this.expanded) {\n if (this.isMobile) {\n this.hostElement.style.minHeight = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPaneMobile;\n this.animateHorizontalFadeIn('100%');\n } else {\n const expandPaneSize = this.getExpandPaneSize();\n\n if (this.isBottomTopPane) {\n this.hostElement.style.height = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPane;\n this.animateHorizontalFadeIn(expandPaneSize);\n } else {\n this.hostElement.style.width = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPane;\n this.animateVerticalFadeIn(expandPaneSize);\n }\n }\n } else {\n this.showContent = false;\n\n if (this.isMobile) {\n this.hostElement.style.height = Pane.collapsedPaneMobile;\n } else {\n if (this.isBottomTopPane) {\n this.animateHorizontalFadeIn(Pane.collapsedPane);\n } else {\n this.animateVerticalFadeIn(Pane.collapsedPane);\n }\n }\n }\n }\n\n render() {\n const rotate = !this.expanded && !this.isMobile && this.isLeftRightPane;\n return (\n <Host\n class={{\n 'floating-pane': this.floating,\n 'inline-pane': !this.floating,\n 'mobile-overlay': this.expanded && this.isMobile,\n 'top-expanded': this.expanded && this.isMobileTop && this.isMobile,\n 'bottom-expanded':\n this.expanded && !this.isMobileTop && this.isMobile,\n 'top-bottom-pane': this.isBottomTopPane && !this.isMobile,\n 'left-right-pane': this.isLeftRightPane && !this.isMobile,\n [`${this.composition}-pane-border`]:\n !this.borderless && !this.isMobile && !this.floating,\n 'nav-left-border':\n !this.borderless &&\n !this.isMobile &&\n this.composition !== 'right' &&\n this.floating,\n 'mobile-border-top':\n !this.borderless &&\n this.isMobileTop &&\n this.isMobile &&\n !this.expanded &&\n !this.floating,\n 'mobile-border-bottom':\n !this.borderless &&\n !this.isMobileTop &&\n this.isMobile &&\n !this.expanded &&\n !this.floating,\n 'box-shadow': this.floating,\n 'aria-expanded': this.expanded,\n 'not-visible': this.hideOnCollapse && !this.expanded,\n }}\n >\n <aside\n id={`pane-${this.composition}`}\n class={{\n 'top-bottom-pane': this.isBottomTopPane && !this.isMobile,\n 'left-right-pane': this.isLeftRightPane && !this.isMobile,\n 'mobile-pane': this.isMobile,\n expanded: this.expanded,\n }}\n >\n <div\n id=\"title-div\"\n class={{\n title:\n !this.isMobile && !this.hideOnCollapse && !this.showContent,\n 'title-finished':\n !this.isMobile && !this.hideOnCollapse && this.showContent,\n 'title-expanded':\n !this.isMobile && !this.hideOnCollapse && this.expanded,\n 'title-hide-on-collapse': !this.isMobile && this.hideOnCollapse,\n 'title-mobile': this.isMobile,\n 'header-gap': !this.isMobile && !this.hideOnCollapse,\n }}\n >\n <ix-icon-button\n class=\"title-icon\"\n size=\"24\"\n icon={\n this.expanded\n ? this.isMobile || this.hideOnCollapse\n ? iconClose\n : this.expandIcon\n : this.minimizeIcon\n }\n iconColor={\n this.expanded && (this.isMobile || this.hideOnCollapse)\n ? 'color-soft-text'\n : undefined\n }\n variant=\"subtle-tertiary\"\n onClick={() => this.dispatchExpandedChangedEvent()}\n aria-controls={`pane-${this.composition}`}\n aria-label={this.ariaLabelCollapseCloseButton}\n />\n <div\n class={{\n 'title-text': true,\n rotate: rotate,\n }}\n >\n {this.icon && (\n <ix-icon\n class=\"pane-icon\"\n size=\"24\"\n name={this.icon}\n aria-label={this.ariaLabelIcon}\n ></ix-icon>\n )}\n <div class=\"title-text-overflow\">\n <ix-typography format=\"h4\">{this.heading}</ix-typography>\n </div>\n {this.expanded && (\n <div class=\"slot-header\">\n <slot name=\"header\"></slot>\n </div>\n )}\n </div>\n </div>\n <div class=\"side-pane-content\" hidden={!this.showContent}>\n <slot></slot>\n </div>\n </aside>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ix-pane.entry.js","sources":["src/components/pane/pane.scss?tag=ix-pane&encapsulation=shadow","src/components/pane/pane.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@use 'mixins/hover';\n@use 'mixins/shadow-dom/component';\n\n@mixin set-border($composition) {\n @if $composition {\n border-#{$composition}: var(--theme-app-header--border-width)\n solid\n var(--ix-pane--border-color);\n }\n}\n\n:host(.floating-pane) {\n --ix-pane--background: var(--theme-pane-floating--background);\n --ix-pane--border-color: var(--theme-pane-floating--border-color);\n --ix-pane--color: var(--theme-pane-floating--color);\n --ix-pane--box-shadow: var(--theme-pane-floating--box-shadow);\n}\n\n:host(.inline-pane) {\n --ix-pane--background: var(--theme-pane-inline--background);\n --ix-pane--border-color: var(--theme-pane-inline--border-color);\n --ix-pane--color: var(--theme-pane-inline--color);\n --ix-pane--box-shadow: var(--theme-pane-inline--box-shadow);\n}\n\n:host {\n display: flex;\n position: relative;\n overflow: hidden;\n box-sizing: border-box;\n box-shadow: var(--ix-pane--box-shadow);\n background-color: var(--ix-pane--background);\n\n @include component.ix-component;\n\n aside {\n width: 100%;\n height: 100%;\n }\n\n .pane-icon {\n color: var(--ix-pane--color);\n }\n\n .slot-header-content {\n display: inline-block;\n position: relative;\n max-height: 2rem;\n }\n\n .title-text {\n display: flex;\n align-items: center;\n gap: var(--theme-space-1);\n overflow: hidden;\n\n .title-text-overflow {\n width: 100%;\n height: 100%;\n display: contents;\n\n * {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n }\n }\n\n .header-gap {\n gap: var(--theme-space-1);\n }\n\n .top-bottom-pane {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n\n .title {\n display: flex;\n flex-direction: row;\n align-items: center;\n margin: var(--theme-space--1) var(--theme-space-2) var(--theme-space--1)\n var(--theme-space-2);\n }\n\n .title-finished {\n padding: 0 !important;\n margin: var(--theme-space-2) var(--theme-space-2) var(--theme-space-2)\n var(--theme-space-2);\n }\n\n .title-expanded {\n display: flex;\n flex-direction: row;\n }\n\n .title-hide-on-collapse {\n display: flex;\n flex-direction: row-reverse;\n justify-content: space-between;\n padding: 0 !important;\n margin: var(--theme-space-2) var(--theme-space-2) var(--theme-space-2)\n var(--theme-space-2);\n }\n }\n\n .left-right-pane {\n display: flex;\n flex-grow: 1;\n\n .title {\n display: flex;\n flex-direction: column;\n align-items: center;\n margin: var(--theme-space-2) var(--theme-space--1) var(--theme-space-2)\n var(--theme-space--1);\n\n .title-text {\n flex-direction: row-reverse;\n justify-content: start;\n flex-direction: row;\n }\n\n .rotate {\n writing-mode: vertical-lr;\n text-orientation: mixed;\n transform: rotate(180deg);\n flex-direction: row-reverse;\n\n ix-icon {\n transform: rotate(90deg);\n }\n }\n }\n\n .title-finished {\n padding: 0 !important;\n margin: var(--theme-space-2) var(--theme-space-2) var(--theme-space-2)\n var(--theme-space-2);\n }\n\n .title-expanded {\n display: flex;\n flex-direction: row;\n }\n\n .title-hide-on-collapse {\n display: flex;\n flex-direction: row-reverse;\n justify-content: space-between;\n padding: 0 !important;\n margin: var(--theme-space-2) var(--theme-space-2) var(--theme-space-2)\n var(--theme-space-2);\n }\n }\n\n .left-right-pane.expanded {\n flex-direction: column;\n }\n\n .mobile-pane {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n\n .title-mobile {\n display: flex;\n flex-direction: row-reverse;\n justify-content: space-between;\n margin: var(--theme-space-1) var(--theme-space-2);\n }\n }\n\n .side-pane-content {\n padding: var(--theme-space-1) var(--theme-space-2) var(--theme-space-3)\n var(--theme-space-2);\n overflow: auto;\n height: 100%;\n width: 100%;\n }\n\n .slot-header {\n max-height: 2rem;\n max-width: unset;\n }\n\n .slot-header.rotate {\n max-height: unset;\n max-width: 2rem;\n }\n}\n\n:host(.not-visible) {\n display: none;\n}\n\n:host(.nav-left-border) {\n border-left: var(--theme-app-header--border-width) solid\n var(--ix-pane--border-color);\n}\n\n:host(.left-pane-border) {\n @include set-border(right);\n}\n\n:host(.right-pane-border) {\n @include set-border(left);\n}\n\n:host(.top-pane-border) {\n @include set-border(bottom);\n}\n\n:host(.bottom-pane-border) {\n @include set-border(top);\n}\n\n:host(.mobile-overlay) {\n width: 100%;\n position: absolute;\n z-index: 100 !important;\n\n .side-pane-content {\n height: calc(100% - 2.5rem);\n }\n}\n\n:host(.mobile-border-top) {\n @include set-border(bottom);\n}\n\n:host(.mobile-border-bottom) {\n @include set-border(top);\n}\n\n:host(.top-expanded) {\n top: 0;\n}\n\n:host(.bottom-expanded) {\n bottom: 0;\n}\n\n:host(.left-right-pane) {\n height: 100%;\n}\n\n:host(.top-bottom-pane) {\n width: 100%;\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n iconClose,\n iconDoubleChevronDown,\n iconDoubleChevronLeft,\n iconDoubleChevronRight,\n iconDoubleChevronUp,\n} from '@siemens/ix-icons/icons';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport type { JSAnimation } from 'animejs';\nimport { animate } from 'animejs';\nimport Animation from '../utils/animation';\nimport { applicationLayoutService } from '../utils/application-layout';\nimport { matchBreakpoint } from '../utils/breakpoints';\nimport {\n addDisposableEventListener,\n DisposableEventListener,\n} from '../utils/disposable-event-listener';\nimport type {\n BorderlessChangedEvent,\n Composition,\n ExpandedChangedEvent,\n HideOnCollapseChangedEvent,\n SlotChangedEvent,\n VariantChangedEvent,\n} from './pane.types';\nimport { a11yBoolean } from '../utils/a11y';\n\n/**\n * @slot header - Additional slot for the header content\n */\n@Component({\n tag: 'ix-pane',\n styleUrl: 'pane.scss',\n shadow: true,\n})\nexport class Pane {\n @Element() hostElement!: HTMLIxPaneElement;\n\n /**\n * Title of the side panel\n */\n @Prop() heading?: string;\n\n /**\n * Variant of the side pane.\n * Defaults to the variant attribute of the pane layout. If used standalone it defaults to inline.\n */\n @Prop() variant: 'floating' | 'inline' = 'inline';\n\n /**\n * Define if the pane should have a collapsed state\n */\n @Prop() hideOnCollapse: boolean = false;\n\n /**\n * The maximum size of the sidebar, when it is expanded\n */\n @Prop() size:\n | '240px'\n | '320px'\n | '360px'\n | '480px'\n | '600px'\n | '33%'\n | '50%' = '240px';\n\n /**\n * Toggle the border of the pane.\n * Defaults to the borderless attribute of the pane layout. If used standalone it defaults to false.\n */\n @Prop() borderless: boolean = false;\n\n /**\n * State of the pane\n */\n @Prop({ mutable: true }) expanded: boolean = false;\n\n /**\n * Defines the position of the pane inside it's container.\n * Inside a pane layout this property will automatically be set to the name of slot the pane is assigned to.\n */\n @Prop({ mutable: true }) composition: Composition = 'top';\n\n /**\n * Name of the icon\n */\n @Prop() icon?: string;\n\n /**\n * If true, the pane will close when clicking outside of it\n */\n @Prop() closeOnClickOutside = false;\n\n /**\n * ARIA label for the icon\n */\n @Prop() ariaLabelIcon?: string;\n\n /**\n * ARIA label close or collapse button\n */\n @Prop() ariaLabelCollapseCloseButton?: string;\n\n /**\n * @internal\n * Prevents overwriting of the variant and borderless property when used inside layout\n */\n @Prop() ignoreLayoutSettings: boolean = false;\n\n /**\n * @internal\n */\n @Prop({ mutable: true }) isMobile: boolean = false;\n\n /**\n * This event is triggered when the pane either expands or contracts\n */\n @Event() expandedChanged!: EventEmitter<ExpandedChangedEvent>;\n\n /**\n * This event is triggered when the variant of the pane is changed\n */\n @Event() variantChanged!: EventEmitter<VariantChangedEvent>;\n\n /**\n * This event is triggered when the variant of the pane is changed\n */\n @Event() borderlessChanged!: EventEmitter<BorderlessChangedEvent>;\n\n /**\n * @internal\n */\n @Event() hideOnCollapseChanged!: EventEmitter<HideOnCollapseChangedEvent>;\n\n /**\n * @internal\n */\n @Event() slotChanged!: EventEmitter<SlotChangedEvent>;\n\n @State() private expandIcon = '';\n @State() private showContent = false;\n @State() private minimizeIcon = '';\n @State() private floating = false;\n @State() private parentWidthPx = 0;\n @State() private parentHeightPx = 0;\n\n private static readonly validPositions = ['top', 'left', 'bottom', 'right'];\n private static readonly collapsedPane = '40px';\n private static readonly collapsedPaneMobile = '48px';\n private readonly animations: Map<string, JSAnimation> = new Map();\n private animationCounter = 0;\n\n private mutationObserver?: MutationObserver;\n private resizeObserver?: ResizeObserver;\n private disposableWindowClick?: DisposableEventListener;\n\n get currentSlot() {\n return this.hostElement.getAttribute('slot');\n }\n\n get isBottomTopPane() {\n return this.composition === 'bottom' || this.composition === 'top';\n }\n\n get isLeftRightPane() {\n return this.composition === 'left' || this.composition === 'right';\n }\n\n get isMobileTop() {\n return this.composition === 'top' || this.composition === 'left';\n }\n\n disconnectedCallback() {\n this.mutationObserver?.disconnect();\n this.resizeObserver?.disconnect();\n this.disposableWindowClick?.();\n }\n\n @Watch('expanded')\n onExpandedChange() {\n if (!this.closeOnClickOutside || !this.expanded) {\n this.disposableWindowClick?.();\n return;\n }\n\n this.disposableWindowClick = addDisposableEventListener(\n window,\n 'click',\n (event) => {\n const path = event.composedPath?.() || [];\n if (!path.includes(this.hostElement)) {\n this.dispatchExpandedChangedEvent();\n }\n }\n );\n }\n\n componentWillLoad() {\n this.onExpandedChange();\n this.setIcons();\n\n this.floating = this.variant === 'floating';\n\n if (this.expanded) {\n this.onParentSizeChange();\n }\n\n this.isMobile = matchBreakpoint('sm');\n applicationLayoutService.onChange.on(() => {\n this.isMobile = matchBreakpoint('sm');\n });\n\n if (this.currentSlot) {\n this.setPosition(this.currentSlot);\n }\n\n this.mutationObserver = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (\n mutation.type === 'attributes' &&\n mutation.attributeName === 'slot'\n ) {\n const newSlot = this.currentSlot;\n const oldSlot = mutation.oldValue;\n\n if (newSlot !== oldSlot) {\n this.slotChanged.emit({\n slot: oldSlot ?? '',\n newSlot: newSlot ?? '',\n });\n\n if (newSlot) {\n this.setPosition(newSlot);\n }\n }\n }\n });\n });\n this.mutationObserver.observe(this.hostElement, {\n attributes: true,\n attributeOldValue: true,\n });\n\n const parentElement = this.hostElement.parentElement;\n this.resizeObserver = new ResizeObserver((entries) => {\n this.parentWidthPx = entries[0].borderBoxSize[0].inlineSize;\n this.parentHeightPx = entries[0].borderBoxSize[0].blockSize;\n });\n if (parentElement) this.resizeObserver.observe(parentElement);\n }\n\n private setPosition(value: string) {\n if (Pane.validPositions.includes(value)) {\n this.composition = value as Composition;\n }\n }\n\n private getExpandPaneSize() {\n let expandPaneSize: string;\n\n if (this.isBottomTopPane) {\n if (this.size.includes('px')) {\n const referenceValue = Math.round(this.parentHeightPx / 2);\n const currentValue = Number(this.size.replace('px', ''));\n\n if (referenceValue && referenceValue < currentValue) {\n expandPaneSize = `${referenceValue}px`;\n } else {\n expandPaneSize = `${currentValue}px`;\n }\n } else {\n if (this.size === '50%') {\n expandPaneSize = `${Math.round(this.parentHeightPx / 2)}px`;\n } else {\n expandPaneSize = `${Math.round(this.parentHeightPx / 3)}px`;\n }\n }\n } else {\n if (this.size.includes('px')) {\n const referenceValue = Math.round(this.parentWidthPx / 2);\n const currentValue = Number(this.size.replace('px', ''));\n\n if (referenceValue && referenceValue < currentValue) {\n expandPaneSize = `${referenceValue}px`;\n } else {\n expandPaneSize = `${currentValue}px`;\n }\n } else {\n if (this.size === '50%') {\n expandPaneSize = `${Math.round(this.parentWidthPx / 2)}px`;\n } else {\n expandPaneSize = `${Math.round(this.parentWidthPx / 3)}px`;\n }\n }\n }\n\n return expandPaneSize;\n }\n\n private setIcons() {\n const { expandIcon, minimizeIcon } = this.getIconNames();\n this.expandIcon = expandIcon;\n this.minimizeIcon = minimizeIcon;\n }\n\n private getIconNames(): { expandIcon: string; minimizeIcon: string } {\n let expandIcon = '';\n let minimizeIcon = '';\n\n switch (this.composition) {\n case 'left':\n expandIcon = this.isMobile\n ? iconDoubleChevronUp\n : iconDoubleChevronLeft;\n minimizeIcon = this.isMobile\n ? iconDoubleChevronDown\n : iconDoubleChevronRight;\n break;\n case 'right':\n expandIcon = this.isMobile\n ? iconDoubleChevronDown\n : iconDoubleChevronRight;\n minimizeIcon = this.isMobile\n ? iconDoubleChevronUp\n : iconDoubleChevronLeft;\n break;\n case 'bottom':\n expandIcon = iconDoubleChevronDown;\n minimizeIcon = iconDoubleChevronUp;\n break;\n case 'top':\n expandIcon = iconDoubleChevronUp;\n minimizeIcon = iconDoubleChevronDown;\n break;\n }\n\n return { expandIcon, minimizeIcon };\n }\n\n private getKey() {\n return (this.animationCounter++).toString();\n }\n\n private animateVerticalFadeIn(size: string) {\n let key = this.getKey();\n let animation = animate(this.hostElement, {\n duration: Animation.mediumTime,\n width: size,\n easing: 'easeInOutSine',\n delay: 0,\n begin: () => {\n if (!this.expanded) {\n this.showContent = false;\n this.animateVerticalPadding('0px');\n } else {\n this.animateVerticalPadding('8px');\n }\n },\n complete: () => {\n if (this.expanded) {\n this.showContent = true;\n }\n\n this.animations.delete(key);\n },\n });\n\n this.animations.set(key, animation);\n }\n\n private animateHorizontalFadeIn(size: string) {\n let key = this.getKey();\n let animation = animate(this.hostElement, {\n duration: Animation.mediumTime,\n height: size,\n easing: 'easeInOutSine',\n delay: 0,\n onBegin: () => {\n if (!this.expanded) {\n this.showContent = false;\n if (!this.isMobile) this.animateHorizontalPadding('0px');\n } else {\n if (!this.isMobile) this.animateHorizontalPadding('8px');\n }\n },\n onComplete: () => {\n if (this.expanded) {\n this.showContent = true;\n }\n\n this.animations.delete(key);\n },\n });\n\n this.animations.set(key, animation);\n }\n\n private removePadding() {\n animate(this.hostElement.shadowRoot!.querySelector('#title-div')!, {\n duration: 0,\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n delay: 0,\n });\n }\n\n private animateHorizontalPadding(\n size: string,\n duration = Animation.mediumTime\n ) {\n let key = this.getKey();\n let animation = animate(\n this.hostElement.shadowRoot!.querySelector('#title-div')!,\n {\n duration: duration,\n paddingTop: size,\n paddingBottom: size,\n easing: 'easeInOutSine',\n delay: 0,\n onComplete: () => {\n this.animations.delete(key);\n },\n }\n );\n\n this.animations.set(key, animation);\n }\n\n private animateVerticalPadding(\n size: string,\n duration = Animation.mediumTime\n ) {\n let key = this.getKey();\n let animation = animate(\n this.hostElement.shadowRoot!.querySelector('#title-div')!,\n {\n duration: duration,\n paddingLeft: size,\n paddingRight: size,\n easing: 'easeInOutSine',\n delay: 0,\n onComplete: () => {\n this.animations.delete(key);\n },\n }\n );\n\n this.animations.set(key, animation);\n }\n\n private clearAnimations() {\n this.animations.forEach((animation) => animation.pause());\n this.animations.clear();\n this.animationCounter = 0;\n }\n\n @Watch('isMobile')\n onMobileChange() {\n this.setIcons();\n this.hostElement.style.removeProperty('width');\n this.hostElement.style.removeProperty('height');\n this.hostElement.style.removeProperty('min-height');\n this.onParentSizeChange();\n }\n\n @Watch('composition')\n onPositionChange() {\n this.setIcons();\n this.hostElement.style.removeProperty('width');\n this.hostElement.style.removeProperty('height');\n this.onParentSizeChange();\n }\n\n @Watch('hideOnCollapse')\n onHideOnCollapseChange(value: boolean) {\n this.onParentSizeChange();\n\n this.hideOnCollapseChanged.emit({\n slot: this.currentSlot ?? '',\n hideOnCollapse: value,\n });\n }\n\n @Watch('variant')\n onVariantChange(value: 'inline' | 'floating') {\n this.floating = value === 'floating';\n\n this.variantChanged.emit({\n slot: this.currentSlot ?? '',\n variant: value,\n });\n }\n\n @Watch('borderless')\n onBorderlessChange(value: boolean) {\n this.borderlessChanged.emit({\n slot: this.currentSlot ?? '',\n borderless: value,\n });\n }\n\n private dispatchExpandedChangedEvent() {\n const event = this.expandedChanged.emit({\n slot: this.currentSlot ?? '',\n expanded: !this.expanded,\n });\n\n if (!event.defaultPrevented) {\n this.expanded = !this.expanded;\n }\n }\n\n @Watch('parentHeightPx')\n @Watch('parentWidthPx')\n onParentSizeChange() {\n this.clearAnimations();\n this.removePadding();\n\n if (this.expanded) {\n if (this.isMobile) {\n this.hostElement.style.height = '100%';\n } else {\n const expandPaneSize = this.getExpandPaneSize();\n\n if (this.isBottomTopPane) {\n this.hostElement.style.height = expandPaneSize;\n this.animateHorizontalPadding('8px', 0);\n } else {\n this.hostElement.style.width = expandPaneSize;\n this.animateVerticalPadding('8px', 0);\n }\n }\n\n this.showContent = true;\n } else {\n this.showContent = false;\n\n if (this.isMobile) {\n this.hostElement.style.height = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPaneMobile;\n } else {\n if (this.isBottomTopPane) {\n this.hostElement.style.height = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPane;\n } else {\n this.hostElement.style.width = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPane;\n }\n }\n }\n }\n\n @Watch('expanded')\n @Watch('size')\n onSizeChange() {\n if (this.expanded) {\n if (this.isMobile) {\n this.hostElement.style.minHeight = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPaneMobile;\n this.animateHorizontalFadeIn('100%');\n } else {\n const expandPaneSize = this.getExpandPaneSize();\n\n if (this.isBottomTopPane) {\n this.hostElement.style.height = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPane;\n this.animateHorizontalFadeIn(expandPaneSize);\n } else {\n this.hostElement.style.width = this.hideOnCollapse\n ? '0'\n : Pane.collapsedPane;\n this.animateVerticalFadeIn(expandPaneSize);\n }\n }\n } else {\n this.showContent = false;\n\n if (this.isMobile) {\n this.hostElement.style.height = Pane.collapsedPaneMobile;\n } else {\n if (this.isBottomTopPane) {\n this.animateHorizontalFadeIn(Pane.collapsedPane);\n } else {\n this.animateVerticalFadeIn(Pane.collapsedPane);\n }\n }\n }\n }\n\n render() {\n const rotate = !this.expanded && !this.isMobile && this.isLeftRightPane;\n return (\n <Host\n class={{\n 'floating-pane': this.floating,\n 'inline-pane': !this.floating,\n 'mobile-overlay': this.expanded && this.isMobile,\n 'top-expanded': this.expanded && this.isMobileTop && this.isMobile,\n 'bottom-expanded':\n this.expanded && !this.isMobileTop && this.isMobile,\n 'top-bottom-pane': this.isBottomTopPane && !this.isMobile,\n 'left-right-pane': this.isLeftRightPane && !this.isMobile,\n [`${this.composition}-pane-border`]:\n !this.borderless && !this.isMobile && !this.floating,\n 'nav-left-border':\n !this.borderless &&\n !this.isMobile &&\n this.composition !== 'right' &&\n this.floating,\n 'mobile-border-top':\n !this.borderless &&\n this.isMobileTop &&\n this.isMobile &&\n !this.expanded &&\n !this.floating,\n 'mobile-border-bottom':\n !this.borderless &&\n !this.isMobileTop &&\n this.isMobile &&\n !this.expanded &&\n !this.floating,\n 'not-visible': this.hideOnCollapse && !this.expanded,\n }}\n >\n <aside\n id={`pane-${this.composition}`}\n class={{\n 'top-bottom-pane': this.isBottomTopPane && !this.isMobile,\n 'left-right-pane': this.isLeftRightPane && !this.isMobile,\n 'mobile-pane': this.isMobile,\n expanded: this.expanded,\n }}\n aria-expanded={a11yBoolean(this.expanded)}\n >\n <div\n id=\"title-div\"\n class={{\n title:\n !this.isMobile && !this.hideOnCollapse && !this.showContent,\n 'title-finished':\n !this.isMobile && !this.hideOnCollapse && this.showContent,\n 'title-expanded':\n !this.isMobile && !this.hideOnCollapse && this.expanded,\n 'title-hide-on-collapse': !this.isMobile && this.hideOnCollapse,\n 'title-mobile': this.isMobile,\n 'header-gap': !this.isMobile && !this.hideOnCollapse,\n }}\n >\n <ix-icon-button\n class=\"title-icon\"\n size=\"24\"\n icon={\n this.expanded\n ? this.isMobile || this.hideOnCollapse\n ? iconClose\n : this.expandIcon\n : this.minimizeIcon\n }\n iconColor={\n this.expanded && (this.isMobile || this.hideOnCollapse)\n ? 'color-soft-text'\n : undefined\n }\n variant=\"subtle-tertiary\"\n onClick={() => this.dispatchExpandedChangedEvent()}\n aria-controls={`pane-${this.composition}`}\n aria-label={this.ariaLabelCollapseCloseButton}\n />\n <div\n class={{\n 'title-text': true,\n rotate: rotate,\n }}\n >\n {this.icon && (\n <ix-icon\n class=\"pane-icon\"\n size=\"24\"\n name={this.icon}\n aria-label={this.ariaLabelIcon}\n ></ix-icon>\n )}\n <div class=\"title-text-overflow\">\n <ix-typography format=\"h4\">{this.heading}</ix-typography>\n </div>\n {this.expanded && (\n <div class=\"slot-header\">\n <slot name=\"header\"></slot>\n </div>\n )}\n </div>\n </div>\n <div class=\"side-pane-content\" hidden={!this.showContent}>\n <slot></slot>\n </div>\n </aside>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}