udp-stencil-component-library 25.18.2-beta.2 → 25.18.2-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/cjs/ag-grid-base.ghost-render.grid-header.hint-panel.udp-dialog.udp-list-item.entry.cjs.js.map +1 -1
  2. package/dist/cjs/ag-grid-base_6.cjs.entry.js +1 -1
  3. package/dist/cjs/primary-action-header.udp-side-sheet.udp-tabs.entry.cjs.js.map +1 -1
  4. package/dist/cjs/primary-action-header_3.cjs.entry.js +1 -1
  5. package/dist/cjs/udp-forms-list.cjs.entry.js +3 -3
  6. package/dist/cjs/udp-forms-list.entry.cjs.js.map +1 -1
  7. package/dist/collection/components/dialogs/udp-dialog.css +11 -3
  8. package/dist/collection/components/drawers/udp-side-sheet/udp-side-sheet.css +34 -14
  9. package/dist/collection/components/forms/udp-forms/udp-forms-list/udp-forms-list.js +3 -3
  10. package/dist/collection/components/forms/udp-forms/udp-forms-list/udp-forms-list.js.map +1 -1
  11. package/dist/components/udp-dialog2.js +1 -1
  12. package/dist/components/udp-dialog2.js.map +1 -1
  13. package/dist/components/udp-forms-list.js +3 -3
  14. package/dist/components/udp-forms-list.js.map +1 -1
  15. package/dist/components/udp-side-sheet2.js +1 -1
  16. package/dist/components/udp-side-sheet2.js.map +1 -1
  17. package/dist/docs.json +2 -1
  18. package/dist/esm/ag-grid-base.ghost-render.grid-header.hint-panel.udp-dialog.udp-list-item.entry.js.map +1 -1
  19. package/dist/esm/ag-grid-base_6.entry.js +1 -1
  20. package/dist/esm/primary-action-header.udp-side-sheet.udp-tabs.entry.js.map +1 -1
  21. package/dist/esm/primary-action-header_3.entry.js +1 -1
  22. package/dist/esm/udp-forms-list.entry.js +3 -3
  23. package/dist/esm/udp-forms-list.entry.js.map +1 -1
  24. package/dist/stencil-library/ag-grid-base.ghost-render.grid-header.hint-panel.udp-dialog.udp-list-item.entry.esm.js.map +1 -1
  25. package/dist/stencil-library/ag-grid-base_6.entry.js +1 -1
  26. package/dist/stencil-library/ag-grid-base_6.entry.js.map +1 -1
  27. package/dist/stencil-library/primary-action-header.udp-side-sheet.udp-tabs.entry.esm.js.map +1 -1
  28. package/dist/stencil-library/primary-action-header_3.entry.js +1 -1
  29. package/dist/stencil-library/primary-action-header_3.entry.js.map +1 -1
  30. package/dist/stencil-library/udp-forms-list.entry.esm.js.map +1 -1
  31. package/dist/stencil-library/udp-forms-list.entry.js +1 -1
  32. package/dist/stencil-library/udp-forms-list.entry.js.map +1 -1
  33. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"primary-action-header.udp-side-sheet.udp-tabs.entry.esm.js","sources":["src/components/data-display/primary-action-header/primary-action-header.css?tag=primary-action-header&encapsulation=shadow","src/components/data-display/primary-action-header/primary-action-header.tsx","src/components/drawers/udp-side-sheet/udp-side-sheet.css?tag=udp-side-sheet&encapsulation=shadow","src/components/drawers/udp-side-sheet/udp-side-sheet.tsx","src/components/tabs/tab/tabs/udp-tabs.css?tag=udp-tabs&encapsulation=shadow","src/components/tabs/tab/tabs/udp-tabs.tsx"],"sourcesContent":["/* grid-primary-bar.css */\n:host {\n display: block;\n font-family: var(--font-family-base, sans-serif); \n background-color: var(--primary-action-header-background, #ffffff);\n color: var(--primary-action-header-text-color, rgba(0, 0, 0, 0.87));\n box-shadow: var(--primary-action-header-shadow, 0px 2px 4px -1px rgba(0,0,0,0.2));\n height: var(--primary-action-header-height, 48px);\n padding: var(--primary-action-header-padding, 0 var(--spacing-04));\n box-sizing: border-box;\n}\n\n.header-bar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n height: 100%;\n}\n\n.title-section {\n flex-shrink: 0;\n margin-right: var(--spacing-md, 16px);\n}\n\n/* Tabs are not fully supported yet - this is leftover from work Greg did with Mindscope */\n.tabs {\n flex-grow: 1;\n display: flex;\n justify-content: center;\n align-items: stretch;\n min-width: 0;\n}\n\n.tabs udp-tabs {\n width: 100%;\n display: flex;\n justify-content: center;\n}\n\n.tabs udp-tabs::part(tab-list) {\n /* This rule targets the 'tab-list' part within the udp-tabs component's shadow DOM. */\n /* It's a placeholder for any specific styling needed for the tab list container itself. */\n /* For example: display: flex; align-items: stretch; height: 100%; */\n}\n\n.tabs udp-tabs button {\n padding: 0 16px;\n margin: 0 var(--spacing-xxs, 4px);\n height: 100%;\n border: none;\n background-color: transparent;\n cursor: pointer;\n font-size: var(--font-size-sm, 0.875rem);\n color: var(--text-color-secondary, rgba(0, 0, 0, 0.6));\n text-transform: uppercase;\n font-weight: var(--font-weight-medium, 500);\n border-bottom: 2px solid transparent;\n transition: color 0.3s ease, border-bottom-color 0.3s ease;\n}\n\n.tabs udp-tabs button:hover {\n color: var(--primary-color-hover, var(--primary-color, #1976d2));\n}\n\n.tabs udp-tabs button.active {\n color: var(--primary-color, #1976d2);\n border-bottom: 2px solid var(--primary-color, #1976d2);\n}\n\n.button-section {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n gap: var(--spacing-sm, 8px);\n}\n\n.button-section stencil-icon-button {\n color: var(--primary-action-header-icon-color, var(--text-color-primary, rgba(0, 0, 0, 0.54)));\n}\n\n.button-section stencil-icon-button:hover {\n background-color: rgba(0,0,0,0.04);\n}\n\n\n.button-section custom-button {\n /* Styles for the primary action button */\n /* You might want to use your design system's button styles here */\n /* Example: margin-left: var(--spacing-sm, 8px); */\n}\n","import { Component, Prop, h } from '@stencil/core';\nimport iconMapping from '../icons/iconMapping';\n\n@Component({\n tag: 'primary-action-header',\n styleUrl: 'primary-action-header.css',\n shadow: true,\n})\nexport class PrimaryActionHeader {\n @Prop() title: string;\n @Prop() hiddenActionButtons: string[] = [];\n @Prop() hiddenLabels: string[] = [];\n @Prop() actionButtons: any[] = [];\n @Prop() defaultActionButtons: any[] = [];\n @Prop() customSaveViewClick?: (event?: MouseEvent) => void;\n @Prop() customSizeToFitClick?: (event?: MouseEvent) => void;\n @Prop() customExportClick?: (event?: MouseEvent) => void;\n @Prop() primaryActionClick?: (event?: MouseEvent) => void;\n @Prop() customColumnViewClick?: (event?: MouseEvent) => void;\n @Prop() customFitColumnClick?: (event?: MouseEvent) => void;\n @Prop() customFilterViewClick?: (event?: MouseEvent) => void;\n @Prop() customClearClick?: (event?: MouseEvent) => void;\n @Prop() customExpandClick?: (event?: MouseEvent) => void;\n @Prop() customShowViewClick?: (event?: MouseEvent) => void;\n @Prop() activeTabIndex: number;\n @Prop() selectTab: (index: number) => void;\n @Prop() tabs: boolean = true;\n @Prop() actionButtonLabel: string = '';\n // @State() activeTabIndex: number = 0;\n\n getIconComponent(icon: string | Function, customIcon: Function) {\n if (customIcon) {\n return customIcon;\n }\n\n if (typeof icon === 'string') {\n return iconMapping[icon];\n }\n\n return icon;\n }\n\n renderIcon(ActualIcon: any) {\n if (ActualIcon && ActualIcon.elem === 'svg') {\n return (\n <svg {...ActualIcon.attrs}>\n {ActualIcon.content.map((content: any, index: number) => {\n return <path key={index} {...content.attrs} />;\n })}\n </svg>\n );\n }\n return null;\n }\n\n // selectTab(index: number) {\n // this.activeTabIndex = index;\n // }\n\n render() {\n console.log('active tab', this.activeTabIndex);\n\n return (\n <div class=\"header-bar\">\n <div class=\"title-section\">\n <unity-typography variant=\"h4\">{this.title}</unity-typography>\n </div>\n\n {/* IMPORTANT: NEED TO ADD A TABS COMPONENT SUPPORT - This is from work Greg did for mindscope demo */}\n {this.tabs && (\n <div class=\"tabs\">\n <udp-tabs>\n <button class={this.activeTabIndex === 0 ? 'active' : ''} slot=\"tab-title\" onClick={() => this.selectTab(0)}>\n Demo Grid\n </button>\n <button class={this.activeTabIndex === 1 ? 'active' : ''} slot=\"tab-title\" onClick={() => this.selectTab(1)}>\n Other Content\n </button>\n </udp-tabs>\n </div>\n )}\n\n <div class=\"button-section\">\n {this.defaultActionButtons.map(btn => {\n // Determine the actual icon to use\n const ActualIcon = this.getIconComponent(btn.icon, btn.customIcon);\n\n const clickHandler = (event?: MouseEvent) => {\n if (btn.clickHandler) {\n btn.clickHandler(event);\n } else {\n console.log(`${btn.label} Clicked but no custom handler defined`);\n }\n };\n\n if (!this.hiddenActionButtons.includes(btn.label) && btn.visible) {\n return (\n <stencil-icon-button secondary={btn.secondary} onClick={clickHandler} tooltip={btn.tooltip}>\n {/* Render icon directly */}\n {this.renderIcon(ActualIcon)}\n\n {/* Show label if it's not hidden and should be shown */}\n {!this.hiddenLabels.includes(btn.label) && btn.showLabel && <span>{btn.label}</span>}\n </stencil-icon-button>\n );\n }\n return null;\n })}\n {!this.actionButtonLabel && <div class=\"right-margin\" />}\n\n {this.actionButtonLabel && (\n <udp-button variant=\"contained\" color=\"secondary\" onClick={event => this.primaryActionClick(event)}>\n {this.actionButtonLabel}\n </udp-button>\n )}\n </div>\n </div>\n );\n }\n}\n",":host {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100vw;\r\n height: 100vh;\r\n z-index: 9999;\r\n visibility: hidden;\r\n transition: visibility 0s 0.2s;\r\n}\r\n\r\n:host(.is-visible) {\r\n visibility: visible;\r\n transition-delay: 0s;\r\n}\r\n\r\n.backdrop {\r\n background: rgba(0, 0, 0, 0.5);\r\n width: 100%;\r\n height: 100%;\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n opacity: 0;\r\n transition: opacity 0.2s ease-in-out;\r\n}\r\n\r\n:host(.is-visible) .backdrop {\r\n opacity: 1;\r\n}\r\n\r\n.sheet {\r\n background: white;\r\n height: 100vh;\r\n position: fixed;\r\n top: 0;\r\n display: flex;\r\n flex-direction: column;\r\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);\r\n transition: transform 0.2s ease-in-out;\r\n width: 100%;\r\n}\r\n\r\n.sheet.right {\r\n right: 0;\r\n transform: translateX(100%);\r\n}\r\n\r\n.sheet.left {\r\n left: 0;\r\n transform: translateX(-100%);\r\n}\r\n\r\n:host(.is-visible) .sheet {\r\n transform: translateX(0);\r\n}\r\n\r\n.sheet.sm { max-width: 360px; }\r\n.sheet.md { max-width: 600px; }\r\n.sheet.lg { max-width: 960px; }\r\n.sheet.full { max-width: 100%; }\r\n.sheet.custom-width { /* max-width is set via inline style */ }\r\n\r\n/* Updated title container for new layout */\r\n.title-container {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n flex-shrink: 0;\r\n box-shadow: var(--elevation-01, 0 4px 8px rgba(0, 0, 0, 0.1));\r\n gap: var(--spacing-02)\r\n}\r\n\r\n.title-text {\r\n flex-grow: 1;\r\n text-align: left; /* Ensure title stays left-aligned */\r\n}\r\n\r\n.close-button {\r\n flex-shrink: 0;\r\n}\r\n\r\n/* Added styles for the new button's container */\r\n.header-action-button {\r\n flex-shrink: 0;\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-02, 4px);\r\n padding: var(--spacing-03, 8px) var(--spacing-03, 8px) var(--spacing-03, 8px) 0;\r\n}\r\n\r\n.content {\r\n overflow-y: auto;\r\n flex-grow: 1;\r\n background-color: var(--gray-01);\r\n}\r\n\r\n.content.padding {\r\n padding: var(--spacing-05, 24px);\r\n}\r\n\r\n.footer {\r\n padding: var(--spacing-03, 8px);\r\n box-shadow: var(--elevation-01, 0 4px 8px rgba(0, 0, 0, 0.1));\r\n display: flex;\r\n justify-content: flex-end;\r\n flex-shrink: 0;\r\n width: 100%;\r\n gap: var(--spacing-02, 4px);\r\n align-items: center;\r\n}\r\n\r\n.footer.secondary-button-overflow{\r\n flex-direction: row-reverse;\r\n}\r\n\r\n.footer-secondary-buttons-container{\r\n flex-grow: 2;\r\n width: 100%;\r\n}\r\n\r\n.footer-secondary-buttons{\r\n display: flex;\r\n justify-content: flex-end;\r\n gap: var(--spacing-02, 4px);\r\n align-items: center;\r\n}\r\n\r\n.footer-secondary-buttons.secondary-button-overflow{\r\n flex-grow: 1;\r\n}\r\n\r\n/* This container reserves the space for the loader (4px height).\r\n This prevents the content below it from shifting up and down\r\n when the loader appears or disappears.\r\n*/\r\n.loader-container {\r\n height: 4px;\r\n width: 100%;\r\n background-color: var(--gray-01);\r\n}\r\n\r\n/*\r\n By default, the loader is instantly hidden.\r\n There is no transition applied in its hidden state.\r\n*/\r\n.loader-container udp-linear-loader {\r\n visibility: hidden;\r\n opacity: 0;\r\n transition: none;\r\n}\r\n\r\n/*\r\n When the .is-loading class is applied, we make the loader visible\r\n AND apply a transition so it fades in smoothly. When the class is removed,\r\n it reverts to the rule above and disappears instantly.\r\n*/\r\n.loader-container udp-linear-loader.is-loading {\r\n visibility: visible;\r\n opacity: 1;\r\n /* transition: opacity 0.3s ease-in-out; */\r\n}\r\n\r\n","/* eslint-disable stencil/strict-boolean-conditions */\r\nimport {\r\n Component,\r\n h,\r\n Prop,\r\n Element,\r\n Watch,\r\n Event,\r\n EventEmitter,\r\n State,\r\n Build,\r\n} from '@stencil/core';\r\nimport Close24 from '@carbon/icons/es/close/24';\r\nimport { SecondaryButton } from './types';\r\n\r\n/**\r\n * Side sheet component used for contextual drawers.\r\n */\r\n@Component({\r\n tag: 'udp-side-sheet',\r\n styleUrl: 'udp-side-sheet.css',\r\n shadow: true,\r\n})\r\nexport class UdpSideSheet {\r\n /** Host element reference for portal behavior */\r\n @Element() hostEl!: HTMLElement;\r\n\r\n /** When true, the side sheet is open and visible */\r\n @Prop({ reflect: true, mutable: true }) open = false;\r\n\r\n /** Title text displayed in the header */\r\n @Prop() title: string;\r\n\r\n /** Position of the sheet on the screen */\r\n @Prop() position: 'left' | 'right' = 'right';\r\n\r\n /** Width preset or a numeric pixel width */\r\n @Prop() width: 'sm' | 'md' | 'lg' | 'full' | number = 'md';\r\n\r\n /** Controls whether default inner padding is applied */\r\n @Prop() padding = true;\r\n\r\n /** When true, shows a top loader */\r\n @Prop() loading: boolean = false;\r\n\r\n // Header action button props\r\n\r\n /** Label for the header primary action button */\r\n @Prop() headerActionButtonLabel: string;\r\n\r\n /** Whether the header action button is disabled */\r\n @Prop() headerActionButtonDisabled = false;\r\n\r\n /** Icon name for the header action button */\r\n @Prop() headerActionButtonIcon: string;\r\n\r\n /** Additional secondary buttons to render in the header */\r\n @Prop() headerSecondaryButtons: SecondaryButton[];\r\n\r\n // Footer / primary button props\r\n\r\n /** Label for the primary footer action button */\r\n @Prop() primaryButtonLabel: string;\r\n\r\n /** Whether the primary footer button is disabled */\r\n @Prop() primaryButtonDisabled = false;\r\n\r\n /** Icon name for the primary footer button */\r\n @Prop() primaryButtonIcon: string;\r\n\r\n /** Secondary buttons to render in the footer */\r\n @Prop() footerSecondaryButtons?: SecondaryButton[];\r\n\r\n /** Emitted when the sheet is closed */\r\n @Event() udpSideSheetClose: EventEmitter<void>;\r\n\r\n /** Emitted when the primary footer button is clicked */\r\n @Event() udpPrimaryButtonClick: EventEmitter<void>;\r\n\r\n /** Emitted when the header action button is clicked */\r\n @Event() udpHeaderActionButtonClick: EventEmitter<void>;\r\n\r\n /** Whether the footer should show the overflow \"More\" button */\r\n @State() showOverflowButton: boolean = false;\r\n\r\n /** Whether the overflow popover is open */\r\n @State() openOverflowMenu: boolean = false;\r\n\r\n /** Anchor element for the overflow popover */\r\n @State() overflowMenuAnchor: HTMLElement;\r\n\r\n @State() visibleSecondaryButtons: SecondaryButton[] = [];\r\n @State() overflowSecondaryButtons: SecondaryButton[] = [];\r\n\r\n /** Saved original document.body.overflow value to restore on close */\r\n private originalBodyOverflow: string = '';\r\n\r\n /** ResizeObserver instance watching footer size changes */\r\n private resizeObserver: ResizeObserver;\r\n\r\n /** Reference to the footer element */\r\n private footerRef: HTMLElement;\r\n\r\n /** Offscreen measurement container for buttons */\r\n private measurementContainerRef: HTMLElement;\r\n\r\n /** Saved original document.body.paddingRight value to restore on close */\r\n private originalBodyPaddingRight: string = '';\r\n\r\n /**\r\n * Watcher for `open` prop. Handles portal append/removal and body scroll lock.\r\n *\r\n * @param newValue - new value of the `open` prop\r\n * @param oldValue - previous value of the `open` prop\r\n */\r\n @Watch('open')\r\n handleOpenChange(newValue: boolean, oldValue: boolean) {\r\n if (newValue === oldValue) {\r\n return;\r\n }\r\n\r\n if (newValue) {\r\n // Calculate scrollbar width before hiding it\r\n const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\r\n\r\n // Save original values\r\n this.originalBodyOverflow = document.body.style.overflow;\r\n this.originalBodyPaddingRight = document.body.style.paddingRight;\r\n\r\n document.body.appendChild(this.hostEl);\r\n\r\n // Add padding to compensate for scrollbar\r\n if (scrollbarWidth > 0) {\r\n const currentPadding = parseInt(window.getComputedStyle(document.body).paddingRight) || 0;\r\n document.body.style.paddingRight = `${currentPadding + scrollbarWidth}px`;\r\n }\r\n\r\n document.body.style.overflow = 'hidden';\r\n\r\n requestAnimationFrame(() => {\r\n this.hostEl.classList.add('is-visible');\r\n // Check overflow after the side sheet is visible\r\n setTimeout(() => this.checkOverflow(), 50);\r\n });\r\n } else {\r\n this.hostEl.classList.remove('is-visible');\r\n document.body.style.overflow = this.originalBodyOverflow;\r\n document.body.style.paddingRight = this.originalBodyPaddingRight;\r\n this.hostEl.addEventListener('transitionend', this.handleTransitionEnd, { once: true });\r\n }\r\n }\r\n\r\n /**\r\n * Watcher for footer secondary buttons changes. Triggers overflow recalculation.\r\n */\r\n @Watch('footerSecondaryButtons')\r\n handleSecondaryButtonsChange() {\r\n // Recheck overflow when buttons change\r\n setTimeout(() => this.checkOverflow(), 50);\r\n }\r\n\r\n /**\r\n * Measures footer buttons in an offscreen container and sets `showOverflowButton`.\r\n * Safely returns early if required refs are unavailable.\r\n */\r\n private checkOverflow() {\r\n if (!this.footerRef || !this.measurementContainerRef) {\r\n return;\r\n }\r\n\r\n if (!this.footerSecondaryButtons || this.footerSecondaryButtons.length === 0) {\r\n this.showOverflowButton = false;\r\n return;\r\n }\r\n\r\n // Get the footer container width (minus padding)\r\n const footerWidth = this.footerRef.offsetWidth;\r\n const footerStyle = window.getComputedStyle(this.footerRef);\r\n const footerPaddingLeft = parseFloat(footerStyle.paddingLeft);\r\n const footerPaddingRight = parseFloat(footerStyle.paddingRight);\r\n const availableWidth = footerWidth - footerPaddingLeft - footerPaddingRight;\r\n\r\n // Measure all buttons in the hidden measurement container\r\n const measurementButtons = this.measurementContainerRef.querySelectorAll('udp-button');\r\n let totalWidth = 0;\r\n\r\n measurementButtons.forEach((button, index) => {\r\n const buttonWidth = button && button instanceof HTMLElement ? button.offsetWidth : 0;\r\n totalWidth += buttonWidth;\r\n\r\n // Add gap spacing between buttons (except for the last one)\r\n if (index < measurementButtons.length - 1) {\r\n const containerStyle = window.getComputedStyle(this.measurementContainerRef);\r\n const gap = parseFloat(containerStyle.gap) || 4; // Default gap from CSS\r\n totalWidth += gap;\r\n }\r\n });\r\n\r\n // Add a small buffer to prevent edge cases\r\n const buffer = 10;\r\n const isOverflowing = totalWidth + buffer > availableWidth;\r\n\r\n this.showOverflowButton = isOverflowing;\r\n }\r\n\r\n /**\r\n * Transition end handler used to remove the host element from body after close.\r\n *\r\n * @private\r\n */\r\n private handleTransitionEnd = () => {\r\n if (!this.open && this.hostEl.parentElement === document.body) {\r\n document.body.removeChild(this.hostEl);\r\n }\r\n };\r\n\r\n /**\r\n * Lifecycle: componentDidLoad. Sets up ResizeObserver and initial overflow check.\r\n *\r\n * @private\r\n */\r\n componentDidLoad() {\r\n if (Build.isBrowser) {\r\n // Set up ResizeObserver to watch for footer size changes\r\n this.resizeObserver = new ResizeObserver(() => {\r\n this.checkOverflow();\r\n });\r\n\r\n // Initial check after a small delay to ensure DOM is ready\r\n requestAnimationFrame(() => {\r\n setTimeout(() => {\r\n if (this.footerRef) {\r\n this.resizeObserver.observe(this.footerRef);\r\n }\r\n this.checkOverflow();\r\n }, 100);\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Lifecycle: disconnectedCallback. Restores body styles and disconnects observers.\r\n *\r\n * @private\r\n */\r\n disconnectedCallback() {\r\n if (document.body.style.overflow === 'hidden') {\r\n document.body.style.overflow = this.originalBodyOverflow;\r\n document.body.style.paddingRight = this.originalBodyPaddingRight;\r\n }\r\n\r\n // Clean up ResizeObserver\r\n if (this.resizeObserver) {\r\n this.resizeObserver.disconnect();\r\n }\r\n }\r\n\r\n /**\r\n * Close the side sheet and emit close event.\r\n *\r\n * @private\r\n */\r\n private onClose = () => {\r\n this.open = false;\r\n this.udpSideSheetClose.emit();\r\n };\r\n\r\n /**\r\n * Backdrop click handler. Only closes when clicking the backdrop itself.\r\n *\r\n * @param e - MouseEvent from the backdrop click\r\n * @private\r\n */\r\n private onCloseBackdrop = (e: MouseEvent) => {\r\n if (e.target === e.currentTarget) {\r\n this.onClose();\r\n }\r\n };\r\n\r\n /**\r\n * Emit primary footer button click event.\r\n *\r\n * @private\r\n */\r\n private onPrimaryButtonClick = () => {\r\n this.udpPrimaryButtonClick.emit();\r\n };\r\n\r\n /**\r\n * Emit header action button click event.\r\n *\r\n * @private\r\n */\r\n private onHeaderActionButtonClick = () => {\r\n this.udpHeaderActionButtonClick.emit();\r\n };\r\n\r\n /**\r\n * Open overflow menu anchored to the clicked element.\r\n *\r\n * @param event - MouseEvent from the \"More\" button click\r\n * @private\r\n */\r\n private onMoreActionButtonClick = (event: MouseEvent) => {\r\n this.overflowMenuAnchor = event.currentTarget as HTMLElement;\r\n this.openOverflowMenu = true;\r\n };\r\n\r\n /**\r\n * Close the overflow popover.\r\n *\r\n * @param e - optional KeyboardEvent or MouseEvent (unused)\r\n * @private\r\n */\r\n private handleCloseOverflowMenu = () => {\r\n this.openOverflowMenu = false;\r\n };\r\n\r\n /**\r\n * Render the component UI.\r\n *\r\n * @returns JSX element tree\r\n * @private\r\n */\r\n render() {\r\n const widthClass = typeof this.width === 'number' ? 'custom-width' : this.width;\r\n const sideSheetStyle = typeof this.width === 'number' ? { maxWidth: `${this.width}px` } : {};\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n const headerStartIcon = Boolean(this.headerActionButtonIcon) ? (\r\n <udp-icon iconName={this.headerActionButtonIcon} color=\"inherit\" />\r\n ) : undefined;\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n const overflowIcon = <udp-icon iconName=\"overflowMenuVertical\" color=\"inherit\" />;\r\n\r\n return (\r\n <div class=\"backdrop\" onClick={this.onCloseBackdrop}>\r\n <div\r\n class={{ sheet: true, [this.position]: true, [widthClass]: true }}\r\n style={sideSheetStyle}\r\n >\r\n {/* Header layout has been changed here */}\r\n <div class=\"title-container\">\r\n <div class=\"close-button\">\r\n <stencil-icon-button\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n icon={Close24}\r\n onClick={this.onClose}\r\n secondary\r\n ></stencil-icon-button>\r\n </div>\r\n <div class=\"title-text\">\r\n <unity-typography variant=\"h6\">{this.title}</unity-typography>\r\n </div>\r\n {/* Conditionally render the new header action button */}\r\n {(this.headerActionButtonLabel || this.headerSecondaryButtons?.length > 0) && (\r\n <div class=\"header-action-button\">\r\n {this.headerSecondaryButtons?.map((item: SecondaryButton) => (\r\n <udp-button\r\n variant=\"outlined\"\r\n disabled={item.disabled}\r\n onClick={item.onClick}\r\n endIcon={item.icon}\r\n >\r\n {item.label}\r\n </udp-button>\r\n ))}\r\n {this.headerActionButtonLabel && (\r\n <udp-button\r\n disabled={this.headerActionButtonDisabled}\r\n onClick={this.onHeaderActionButtonClick}\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n startIcon={headerStartIcon}\r\n variant=\"contained\"\r\n >\r\n {this.headerActionButtonLabel}\r\n </udp-button>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n <div class=\"loader-container\">\r\n <udp-linear-loader class={{ 'is-loading': this.loading }} color=\"primary\" />\r\n </div>\r\n\r\n <div class={{ content: true, padding: this.padding }}>\r\n <slot />\r\n </div>\r\n {(this.primaryButtonLabel || this.footerSecondaryButtons?.length > 0) && (\r\n <div>\r\n <div class=\"loader-container\"></div>\r\n <div\r\n class={{\r\n footer: true,\r\n }}\r\n ref={el => (this.footerRef = el)}\r\n >\r\n {/* Visible buttons container */}\r\n {!this.showOverflowButton && this.footerSecondaryButtons?.length > 0 && (\r\n <div class=\"footer-secondary-buttons-container\">\r\n <div class=\"footer-secondary-buttons\">\r\n {this.footerSecondaryButtons?.map((item: SecondaryButton) => (\r\n <udp-button\r\n variant=\"outlined\"\r\n disabled={item.disabled}\r\n onClick={item.onClick}\r\n endIcon={item.icon}\r\n >\r\n {item.label}\r\n </udp-button>\r\n ))}\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* More button when overflowing */}\r\n {this.showOverflowButton && (\r\n <udp-button\r\n variant=\"outlined\"\r\n onClick={this.onMoreActionButtonClick}\r\n color=\"secondary\"\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n endIcon={overflowIcon}\r\n >\r\n More\r\n </udp-button>\r\n )}\r\n\r\n {/* Primary button */}\r\n {this.primaryButtonLabel && (\r\n <udp-button\r\n variant=\"contained\"\r\n disabled={this.primaryButtonDisabled}\r\n onClick={this.onPrimaryButtonClick}\r\n endIcon={this.primaryButtonIcon}\r\n >\r\n {this.primaryButtonLabel}\r\n </udp-button>\r\n )}\r\n\r\n {/* Overflow menu */}\r\n {this.showOverflowButton && (\r\n <udp-pop-over\r\n anchorElement={this.overflowMenuAnchor}\r\n isOpen={this.openOverflowMenu}\r\n popoverWidth={'200px'}\r\n popoverMaxHeight={'300px'}\r\n handleOnClose={this.handleCloseOverflowMenu}\r\n >\r\n <div class=\"menu\">\r\n {this.footerSecondaryButtons?.map(item => (\r\n <udp-menu-item\r\n label={item?.label}\r\n iconName={item?.icon}\r\n onItemClick={() => {\r\n item?.onClick();\r\n this.handleCloseOverflowMenu();\r\n }}\r\n disabled={item?.disabled}\r\n />\r\n ))}\r\n </div>\r\n </udp-pop-over>\r\n )}\r\n\r\n {/* Hidden measurement container - renders all buttons for measurement */}\r\n <div\r\n ref={el => (this.measurementContainerRef = el)}\r\n style={{\r\n position: 'absolute',\r\n visibility: 'hidden',\r\n pointerEvents: 'none',\r\n display: 'flex',\r\n gap: 'var(--spacing-02, 4px)',\r\n }}\r\n aria-hidden=\"true\"\r\n >\r\n {this.footerSecondaryButtons?.map((item: SecondaryButton) => (\r\n <udp-button\r\n variant=\"text\"\r\n size=\"medium\"\r\n disabled={item.disabled}\r\n endIcon={item.icon}\r\n >\r\n {item.label}\r\n </udp-button>\r\n ))}\r\n {this.primaryButtonLabel && (\r\n <udp-button\r\n variant=\"contained\"\r\n size=\"medium\"\r\n disabled={this.primaryButtonDisabled}\r\n endIcon={this.primaryButtonIcon}\r\n >\r\n {this.primaryButtonLabel}\r\n </udp-button>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n",".tab-container {\n display: flex;\n flex-direction: column;\n}\n\n.tab-header {\n background-color: #ffffff;\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.tab-scroll-container {\n display: flex;\n position: relative;\n overflow-x: auto;\n overflow-y: hidden;\n flex: 1;\n min-width: 0;\n}\n\n.tab-scroll-container::-webkit-scrollbar {\n height: 4px;\n}\n.tab-scroll-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tab-scroll-container::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.2);\n border-radius: 4px;\n}\n.tab-scroll-container::-webkit-scrollbar-thumb:hover {\n background-color: rgba(0, 0, 0, 0.3);\n}\n\n.tab-header::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 1px;\n background-color: var(--divider-color, #e0e0e0);\n}\n\n/* This is the base style for tab buttons */\n.tab-header button {\n padding: 16px;\n font-size: 14px;\n text-align: center;\n border: none;\n background: none;\n cursor: pointer;\n outline: none;\n transition: all 0.22s ease;\n color: #555555;;\n font-weight: 600;\n opacity: 0.9;\n white-space: nowrap;\n\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n}\n\n.tab-header.fill .tab-scroll-container {\n width: 100%;\n}\n.tab-header.fill .tab-scroll-container button {\n flex-grow: 1;\n}\n\n.tab-header button.active {\n color: var(--secondary-color, #344861);\n opacity: 1.0;\n}\n\n.tab-header button.scroll-arrow {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n\n width: 40px;\n padding: 0;\n\n background: #ffffff;\n cursor: pointer;\n font-size: 16px;\n font-weight: bold;\n color: #757575;\n z-index: 2;\n transition: color 0.2s ease;\n\n flex-shrink: 0;\n opacity: 1;\n gap: 0;\n}\n\n.tab-header button.scroll-arrow:hover {\n color: #000;\n}\n\n.tab-header button.scroll-arrow.left {\n left: 0;\n}\n\n.tab-header button.scroll-arrow.right {\n right: 0;\n\n}\n\n.scroll-fade {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 30px;\n z-index: 1;\n pointer-events: none;\n}\n\n.scroll-fade.left {\n left: 40px;\n background: linear-gradient(\n to right,\n #ffffff,\n rgba(255, 255, 255, 0)\n );\n}\n\n.scroll-fade.right {\n right: 40px;\n background: linear-gradient(\n to left,\n #ffffff,\n rgba(255, 255, 255, 0)\n );\n}\n\n.tab-header button udp-icon {\n font-size: 1.2em;\n line-height: 1;\n}\n\n.tab-header button.icon-start {\n flex-direction: row;\n}\n.tab-header button.icon-end {\n flex-direction: row-reverse;\n}\n.tab-header button.icon-top {\n flex-direction: column;\n gap: 4px;\n}\n.tab-header button.icon-bottom {\n flex-direction: column-reverse;\n gap: 4px;\n}\n\n.slider {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 2px;\n background-color: var(--secondary-color, #344861);\n\n transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1),\n width 0.22s cubic-bezier(0.4, 0, 0.2, 1);\n z-index: 1;\n}\n\n.tab-header button.disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n.tab-header button.disabled.active {\n color: #757575;\n opacity: 0.5;\n}\n","import { Component, h, State, Element, Watch, Listen, Prop, Event, EventEmitter } from '@stencil/core';\n\ninterface TabDetail {\n label: string;\n icon?: string;\n iconPlacement?: 'start' | 'end' | 'top' | 'bottom';\n hidden?: boolean;\n disabled?: boolean;\n}\n\n@Component({\n tag: 'udp-tabs',\n styleUrl: 'udp-tabs.css',\n shadow: true,\n})\nexport class UdpTabs {\n @Element() el: HTMLElement;\n\n /**\n * Specifies the layout variant of the tab header.\n *\n * - `'standard'`: Tabs will be sized based on their content.\n * - `'fill'`: Tabs will stretch to fill the available horizontal space.\n */\n @Prop() variant: 'fill' | 'standard' = 'fill';\n\n /**\n * (Controlled) The index of the currently active tab.\n * If this prop is provided, the component will be in \"controlled\" mode.\n * The parent must listen for `udpTabChange` to update this value.\n */\n @Prop() value?: number;\n\n /**\n * (Optional) An array of tab configuration objects.\n * If provided, this will be used to render tabs instead of slotted `<udp-tab>` components.\n * This mode is typically used with controlled tabs.\n */\n @Prop() tabs: TabDetail[] = [];\n\n /**\n * (Controlled) Emits the index of the tab that was clicked.\n * This is only emitted in \"controlled\" mode (when `value` is provided).\n */\n @Event() udpTabChange: EventEmitter<number>;\n\n @State() internalActiveTab: number = 0; // For uncontrolled mode\n @State() tabDetails: TabDetail[] = []; // Unified details from prop or slot\n @State() sliderStyle: { width: string; transform: string } = {\n width: '0',\n transform: 'translateX(0)',\n };\n @State() showScrollLeft: boolean = false;\n @State() showScrollRight: boolean = false;\n\n private slottedTabs: HTMLUdpTabElement[] = []; // Renamed from `tabs`\n private buttonRefs: HTMLButtonElement[] = [];\n private scrollContainerRef?: HTMLDivElement;\n\n /**\n * Returns true if the component is in controlled mode.\n */\n private get isControlled(): boolean {\n return this.value != null;\n }\n\n /**\n * Returns true if tabs are being provided by the `tabs` prop.\n */\n private get useTabsProp(): boolean {\n return this.tabs && this.tabs.length > 0;\n }\n\n /**\n * Returns the currently active tab index,\n * respecting controlled or uncontrolled mode.\n */\n private get activeTab(): number {\n return this.isControlled ? this.value : this.internalActiveTab;\n }\n\n @Listen('slotchange')\n handleSlotChange() {\n // If we're using the tabs prop, slot changes are irrelevant\n if (this.useTabsProp) return;\n this.initializeTabs();\n }\n\n @Listen('resize', { target: 'window' })\n handleResize() {\n requestAnimationFrame(() => {\n this.updateSliderPosition();\n this.checkScroll();\n });\n }\n\n componentDidLoad() {\n this.initializeTabs();\n }\n\n /**\n * Watcher for uncontrolled state changes.\n */\n @Watch('internalActiveTab')\n onActiveTabChange(newValue: number) {\n this.updateActiveTabs();\n this.updateSliderPosition();\n this.scrollTabIntoView(newValue);\n }\n\n /**\n * Watcher for controlled state changes.\n */\n @Watch('value')\n onValueChange(newValue: number) {\n this.updateActiveTabs();\n this.updateSliderPosition();\n this.scrollTabIntoView(newValue);\n }\n\n /**\n * Watcher for tabs prop changes.\n */\n @Watch('tabs')\n onTabsPropChange() {\n this.initializeTabs();\n }\n\n @Watch('variant')\n onVariantChange() {\n requestAnimationFrame(() => {\n this.updateSliderPosition();\n this.checkScroll();\n });\n }\n\n private initializeTabs() {\n this.buttonRefs = [];\n\n if (this.useTabsProp) {\n // --- Prop-based ---\n this.tabDetails = this.tabs.map(t => ({ ...t })); // Use data from prop\n this.slottedTabs = []; // Ensure we're not tracking slotted tabs\n } else {\n // --- Slot-based ---\n this.slottedTabs = Array.from(this.el.children).filter(\n (child): child is HTMLUdpTabElement => child.tagName.toLowerCase() === 'udp-tab',\n );\n\n this.tabDetails = this.slottedTabs.map(tab => ({\n label: tab.label,\n icon: tab.icon,\n iconPlacement: tab.iconPlacement,\n hidden: tab.hidden,\n disabled: tab.disabled,\n }));\n }\n\n // --- Common Logic ---\n // In uncontrolled mode, check if the default active tab is invalid.\n if (!this.isControlled) {\n if (this.tabDetails[this.internalActiveTab]?.hidden || this.tabDetails[this.internalActiveTab]?.disabled) {\n const firstValidIndex = this.tabDetails.findIndex(tab => !tab.hidden && !tab.disabled);\n this.internalActiveTab = firstValidIndex > -1 ? firstValidIndex : 0;\n }\n }\n\n this.updateActiveTabs();\n\n requestAnimationFrame(() => {\n this.updateSliderPosition();\n this.checkScroll();\n });\n }\n\n private updateActiveTabs() {\n // Only update slotted tabs if we're in slot mode\n if (!this.useTabsProp) {\n const currentActiveTab = this.activeTab;\n this.slottedTabs.forEach((tab, index) => {\n tab.active = index === currentActiveTab;\n });\n }\n // If in prop mode, the <button> 'active' class is handled by render()\n }\n\n private updateSliderPosition() {\n const activeButton = this.buttonRefs[this.activeTab]; // Use getter\n if (!activeButton) {\n this.sliderStyle = { width: '0px', transform: 'translateX(0px)' };\n return;\n }\n\n this.sliderStyle = {\n width: `${activeButton.offsetWidth}px`,\n transform: `translateX(${activeButton.offsetLeft}px)`,\n };\n }\n\n private checkScroll() {\n if (!this.scrollContainerRef) return;\n const { scrollLeft, scrollWidth, clientWidth } = this.scrollContainerRef;\n const isOverflowing = scrollWidth > clientWidth;\n this.showScrollLeft = isOverflowing && scrollLeft > 1;\n this.showScrollRight = isOverflowing && scrollLeft < scrollWidth - clientWidth - 1;\n }\n\n private tabClicked(tabIndex: number) {\n if (this.tabDetails[tabIndex]?.disabled) {\n return;\n }\n\n if (this.isControlled) {\n // In controlled mode, emit the event for the parent to handle.\n // The `onValueChange` watcher will handle UI updates when the prop changes.\n this.udpTabChange.emit(tabIndex);\n } else {\n // In uncontrolled mode, update state directly.\n // The `onActiveTabChange` watcher will handle UI updates.\n this.internalActiveTab = tabIndex;\n }\n }\n\n private scrollTabIntoView(tabIndex: number) {\n const tabButton = this.buttonRefs[tabIndex];\n const container = this.scrollContainerRef;\n\n if (!tabButton || !container) return;\n\n const { scrollLeft, clientWidth } = container;\n const tabLeft = tabButton.offsetLeft;\n const tabRight = tabLeft + tabButton.offsetWidth;\n\n const safeZonePadding = 70;\n const safeZoneLeft = scrollLeft + safeZonePadding;\n const safeZoneRight = scrollLeft + clientWidth - safeZonePadding;\n\n if (tabLeft < safeZoneLeft) {\n container.scrollTo({\n left: tabLeft - safeZonePadding,\n behavior: 'smooth',\n });\n } else if (tabRight > safeZoneRight) {\n container.scrollTo({\n left: tabRight - clientWidth + safeZonePadding,\n behavior: 'smooth',\n });\n }\n }\n\n private scrollToStart() {\n if (!this.scrollContainerRef) return;\n this.scrollContainerRef.scrollTo({ left: 0, behavior: 'smooth' });\n }\n\n private scrollToEnd() {\n if (!this.scrollContainerRef) return;\n const container = this.scrollContainerRef;\n const { scrollWidth, clientWidth } = container;\n const maxScrollLeft = scrollWidth - clientWidth;\n container.scrollTo({ left: maxScrollLeft, behavior: 'smooth' });\n }\n\n render() {\n const currentActiveTab = this.activeTab; // Use getter\n\n return (\n <div class=\"tab-container\">\n <div class={`tab-header ${this.variant}`}>\n {this.showScrollLeft && (\n <button\n class=\"scroll-arrow left\"\n onClick={() => this.scrollToStart()}\n aria-label=\"Scroll to first tab\"\n >\n <udp-icon iconName=\"chevronLeft16\" color=\"inherit\" />\n </button>\n )}\n\n {this.showScrollLeft && <div class=\"scroll-fade left\"></div>}\n\n <div\n class=\"tab-scroll-container\"\n ref={el => (this.scrollContainerRef = el)}\n onScroll={() => this.checkScroll()}\n >\n {this.tabDetails.map((tab, index) => {\n if (tab.hidden) {\n return null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const iconEl = tab.icon ? <udp-icon iconName={tab.icon} color={'inherit'} /> : null;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const labelEl = <span>{tab.label}</span>;\n\n return (\n <button\n class={{\n 'active': index === currentActiveTab,\n 'has-icon': !!tab.icon,\n [`icon-${tab.iconPlacement}`]: !!tab.icon,\n 'disabled': tab.disabled,\n }}\n disabled={tab.disabled}\n onClick={() => this.tabClicked(index)}\n role=\"tab\"\n aria-selected={index === currentActiveTab ? 'true' : 'false'}\n aria-disabled={tab.disabled ? 'true' : 'false'}\n ref={el => (this.buttonRefs[index] = el)}\n >\n {iconEl}\n {labelEl}\n </button>\n );\n })}\n\n <div class=\"slider\" style={this.sliderStyle}></div>\n </div>\n\n {this.showScrollRight && <div class=\"scroll-fade right\"></div>}\n\n {this.showScrollRight && (\n <button\n class=\"scroll-arrow right\"\n onClick={() => this.scrollToEnd()}\n aria-label=\"Scroll to last tab\"\n >\n <udp-icon iconName=\"chevronRight16\" color=\"inherit\" />\n </button>\n )}\n </div>\n\n {!this.isControlled && !this.useTabsProp && (\n <div>\n <slot></slot>\n </div>\n )}\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primary-action-header.udp-side-sheet.udp-tabs.entry.esm.js","sources":["src/components/data-display/primary-action-header/primary-action-header.css?tag=primary-action-header&encapsulation=shadow","src/components/data-display/primary-action-header/primary-action-header.tsx","src/components/drawers/udp-side-sheet/udp-side-sheet.css?tag=udp-side-sheet&encapsulation=shadow","src/components/drawers/udp-side-sheet/udp-side-sheet.tsx","src/components/tabs/tab/tabs/udp-tabs.css?tag=udp-tabs&encapsulation=shadow","src/components/tabs/tab/tabs/udp-tabs.tsx"],"sourcesContent":["/* grid-primary-bar.css */\n:host {\n display: block;\n font-family: var(--font-family-base, sans-serif); \n background-color: var(--primary-action-header-background, #ffffff);\n color: var(--primary-action-header-text-color, rgba(0, 0, 0, 0.87));\n box-shadow: var(--primary-action-header-shadow, 0px 2px 4px -1px rgba(0,0,0,0.2));\n height: var(--primary-action-header-height, 48px);\n padding: var(--primary-action-header-padding, 0 var(--spacing-04));\n box-sizing: border-box;\n}\n\n.header-bar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n height: 100%;\n}\n\n.title-section {\n flex-shrink: 0;\n margin-right: var(--spacing-md, 16px);\n}\n\n/* Tabs are not fully supported yet - this is leftover from work Greg did with Mindscope */\n.tabs {\n flex-grow: 1;\n display: flex;\n justify-content: center;\n align-items: stretch;\n min-width: 0;\n}\n\n.tabs udp-tabs {\n width: 100%;\n display: flex;\n justify-content: center;\n}\n\n.tabs udp-tabs::part(tab-list) {\n /* This rule targets the 'tab-list' part within the udp-tabs component's shadow DOM. */\n /* It's a placeholder for any specific styling needed for the tab list container itself. */\n /* For example: display: flex; align-items: stretch; height: 100%; */\n}\n\n.tabs udp-tabs button {\n padding: 0 16px;\n margin: 0 var(--spacing-xxs, 4px);\n height: 100%;\n border: none;\n background-color: transparent;\n cursor: pointer;\n font-size: var(--font-size-sm, 0.875rem);\n color: var(--text-color-secondary, rgba(0, 0, 0, 0.6));\n text-transform: uppercase;\n font-weight: var(--font-weight-medium, 500);\n border-bottom: 2px solid transparent;\n transition: color 0.3s ease, border-bottom-color 0.3s ease;\n}\n\n.tabs udp-tabs button:hover {\n color: var(--primary-color-hover, var(--primary-color, #1976d2));\n}\n\n.tabs udp-tabs button.active {\n color: var(--primary-color, #1976d2);\n border-bottom: 2px solid var(--primary-color, #1976d2);\n}\n\n.button-section {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n gap: var(--spacing-sm, 8px);\n}\n\n.button-section stencil-icon-button {\n color: var(--primary-action-header-icon-color, var(--text-color-primary, rgba(0, 0, 0, 0.54)));\n}\n\n.button-section stencil-icon-button:hover {\n background-color: rgba(0,0,0,0.04);\n}\n\n\n.button-section custom-button {\n /* Styles for the primary action button */\n /* You might want to use your design system's button styles here */\n /* Example: margin-left: var(--spacing-sm, 8px); */\n}\n","import { Component, Prop, h } from '@stencil/core';\nimport iconMapping from '../icons/iconMapping';\n\n@Component({\n tag: 'primary-action-header',\n styleUrl: 'primary-action-header.css',\n shadow: true,\n})\nexport class PrimaryActionHeader {\n @Prop() title: string;\n @Prop() hiddenActionButtons: string[] = [];\n @Prop() hiddenLabels: string[] = [];\n @Prop() actionButtons: any[] = [];\n @Prop() defaultActionButtons: any[] = [];\n @Prop() customSaveViewClick?: (event?: MouseEvent) => void;\n @Prop() customSizeToFitClick?: (event?: MouseEvent) => void;\n @Prop() customExportClick?: (event?: MouseEvent) => void;\n @Prop() primaryActionClick?: (event?: MouseEvent) => void;\n @Prop() customColumnViewClick?: (event?: MouseEvent) => void;\n @Prop() customFitColumnClick?: (event?: MouseEvent) => void;\n @Prop() customFilterViewClick?: (event?: MouseEvent) => void;\n @Prop() customClearClick?: (event?: MouseEvent) => void;\n @Prop() customExpandClick?: (event?: MouseEvent) => void;\n @Prop() customShowViewClick?: (event?: MouseEvent) => void;\n @Prop() activeTabIndex: number;\n @Prop() selectTab: (index: number) => void;\n @Prop() tabs: boolean = true;\n @Prop() actionButtonLabel: string = '';\n // @State() activeTabIndex: number = 0;\n\n getIconComponent(icon: string | Function, customIcon: Function) {\n if (customIcon) {\n return customIcon;\n }\n\n if (typeof icon === 'string') {\n return iconMapping[icon];\n }\n\n return icon;\n }\n\n renderIcon(ActualIcon: any) {\n if (ActualIcon && ActualIcon.elem === 'svg') {\n return (\n <svg {...ActualIcon.attrs}>\n {ActualIcon.content.map((content: any, index: number) => {\n return <path key={index} {...content.attrs} />;\n })}\n </svg>\n );\n }\n return null;\n }\n\n // selectTab(index: number) {\n // this.activeTabIndex = index;\n // }\n\n render() {\n console.log('active tab', this.activeTabIndex);\n\n return (\n <div class=\"header-bar\">\n <div class=\"title-section\">\n <unity-typography variant=\"h4\">{this.title}</unity-typography>\n </div>\n\n {/* IMPORTANT: NEED TO ADD A TABS COMPONENT SUPPORT - This is from work Greg did for mindscope demo */}\n {this.tabs && (\n <div class=\"tabs\">\n <udp-tabs>\n <button class={this.activeTabIndex === 0 ? 'active' : ''} slot=\"tab-title\" onClick={() => this.selectTab(0)}>\n Demo Grid\n </button>\n <button class={this.activeTabIndex === 1 ? 'active' : ''} slot=\"tab-title\" onClick={() => this.selectTab(1)}>\n Other Content\n </button>\n </udp-tabs>\n </div>\n )}\n\n <div class=\"button-section\">\n {this.defaultActionButtons.map(btn => {\n // Determine the actual icon to use\n const ActualIcon = this.getIconComponent(btn.icon, btn.customIcon);\n\n const clickHandler = (event?: MouseEvent) => {\n if (btn.clickHandler) {\n btn.clickHandler(event);\n } else {\n console.log(`${btn.label} Clicked but no custom handler defined`);\n }\n };\n\n if (!this.hiddenActionButtons.includes(btn.label) && btn.visible) {\n return (\n <stencil-icon-button secondary={btn.secondary} onClick={clickHandler} tooltip={btn.tooltip}>\n {/* Render icon directly */}\n {this.renderIcon(ActualIcon)}\n\n {/* Show label if it's not hidden and should be shown */}\n {!this.hiddenLabels.includes(btn.label) && btn.showLabel && <span>{btn.label}</span>}\n </stencil-icon-button>\n );\n }\n return null;\n })}\n {!this.actionButtonLabel && <div class=\"right-margin\" />}\n\n {this.actionButtonLabel && (\n <udp-button variant=\"contained\" color=\"secondary\" onClick={event => this.primaryActionClick(event)}>\n {this.actionButtonLabel}\n </udp-button>\n )}\n </div>\n </div>\n );\n }\n}\n",":host {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 0;\r\n height: 0;\r\n overflow: hidden;\r\n /* CRITICAL: transform creates a containing block, forcing fixed children to respect overflow: hidden */\r\n transform: translate(0);\r\n z-index: 9999;\r\n visibility: hidden;\r\n transition: visibility 0s 0.2s, width 0s 0.2s, height 0s 0.2s;\r\n}\r\n\r\n:host(.is-visible) {\r\n width: 100vw;\r\n height: 100vh;\r\n overflow: visible;\r\n visibility: visible;\r\n transition-delay: 0s;\r\n}\r\n\r\n.backdrop {\r\n background: rgba(0, 0, 0, 0.5);\r\n width: 100%;\r\n height: 100%;\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n opacity: 0;\r\n transition: opacity 0.2s ease-in-out;\r\n}\r\n\r\n:host(.is-visible) .backdrop {\r\n opacity: 1;\r\n}\r\n\r\n.sheet {\r\n background: white;\r\n height: 100vh;\r\n position: fixed;\r\n top: 0;\r\n display: flex;\r\n flex-direction: column;\r\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);\r\n transition: transform 0.2s ease-in-out;\r\n width: 100%;\r\n}\r\n\r\n.sheet.right {\r\n right: 0;\r\n transform: translateX(100%);\r\n}\r\n\r\n.sheet.left {\r\n left: 0;\r\n transform: translateX(-100%);\r\n}\r\n\r\n:host(.is-visible) .sheet {\r\n transform: translateX(0);\r\n}\r\n\r\n.sheet.sm {\r\n max-width: 360px;\r\n}\r\n\r\n.sheet.md {\r\n max-width: 600px;\r\n}\r\n\r\n.sheet.lg {\r\n max-width: 960px;\r\n}\r\n\r\n.sheet.full {\r\n max-width: 100%;\r\n}\r\n\r\n.sheet.custom-width {\r\n /* max-width is set via inline style */\r\n}\r\n\r\n/* Updated title container for new layout */\r\n.title-container {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n flex-shrink: 0;\r\n box-shadow: var(--elevation-01, 0 4px 8px rgba(0, 0, 0, 0.1));\r\n gap: var(--spacing-02)\r\n}\r\n\r\n.title-text {\r\n flex-grow: 1;\r\n text-align: left;\r\n /* Ensure title stays left-aligned */\r\n}\r\n\r\n.close-button {\r\n flex-shrink: 0;\r\n}\r\n\r\n/* Added styles for the new button's container */\r\n.header-action-button {\r\n flex-shrink: 0;\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-02, 4px);\r\n padding: var(--spacing-03, 8px) var(--spacing-03, 8px) var(--spacing-03, 8px) 0;\r\n}\r\n\r\n.content {\r\n overflow-y: auto;\r\n flex-grow: 1;\r\n background-color: var(--gray-01);\r\n}\r\n\r\n.content.padding {\r\n padding: var(--spacing-05, 24px);\r\n}\r\n\r\n.footer {\r\n padding: var(--spacing-03, 8px);\r\n box-shadow: var(--elevation-01, 0 4px 8px rgba(0, 0, 0, 0.1));\r\n display: flex;\r\n justify-content: flex-end;\r\n flex-shrink: 0;\r\n width: 100%;\r\n gap: var(--spacing-02, 4px);\r\n align-items: center;\r\n}\r\n\r\n.footer.secondary-button-overflow {\r\n flex-direction: row-reverse;\r\n}\r\n\r\n.footer-secondary-buttons-container {\r\n flex-grow: 2;\r\n width: 100%;\r\n}\r\n\r\n.footer-secondary-buttons {\r\n display: flex;\r\n justify-content: flex-end;\r\n gap: var(--spacing-02, 4px);\r\n align-items: center;\r\n}\r\n\r\n.footer-secondary-buttons.secondary-button-overflow {\r\n flex-grow: 1;\r\n}\r\n\r\n/* This container reserves the space for the loader (4px height).\r\n This prevents the content below it from shifting up and down\r\n when the loader appears or disappears.\r\n*/\r\n.loader-container {\r\n height: 4px;\r\n width: 100%;\r\n background-color: var(--gray-01);\r\n}\r\n\r\n/*\r\n By default, the loader is instantly hidden.\r\n There is no transition applied in its hidden state.\r\n*/\r\n.loader-container udp-linear-loader {\r\n visibility: hidden;\r\n opacity: 0;\r\n transition: none;\r\n}\r\n\r\n/*\r\n When the .is-loading class is applied, we make the loader visible\r\n AND apply a transition so it fades in smoothly. When the class is removed,\r\n it reverts to the rule above and disappears instantly.\r\n*/\r\n.loader-container udp-linear-loader.is-loading {\r\n visibility: visible;\r\n opacity: 1;\r\n /* transition: opacity 0.3s ease-in-out; */\r\n}\r\n","/* eslint-disable stencil/strict-boolean-conditions */\r\nimport {\r\n Component,\r\n h,\r\n Prop,\r\n Element,\r\n Watch,\r\n Event,\r\n EventEmitter,\r\n State,\r\n Build,\r\n} from '@stencil/core';\r\nimport Close24 from '@carbon/icons/es/close/24';\r\nimport { SecondaryButton } from './types';\r\n\r\n/**\r\n * Side sheet component used for contextual drawers.\r\n */\r\n@Component({\r\n tag: 'udp-side-sheet',\r\n styleUrl: 'udp-side-sheet.css',\r\n shadow: true,\r\n})\r\nexport class UdpSideSheet {\r\n /** Host element reference for portal behavior */\r\n @Element() hostEl!: HTMLElement;\r\n\r\n /** When true, the side sheet is open and visible */\r\n @Prop({ reflect: true, mutable: true }) open = false;\r\n\r\n /** Title text displayed in the header */\r\n @Prop() title: string;\r\n\r\n /** Position of the sheet on the screen */\r\n @Prop() position: 'left' | 'right' = 'right';\r\n\r\n /** Width preset or a numeric pixel width */\r\n @Prop() width: 'sm' | 'md' | 'lg' | 'full' | number = 'md';\r\n\r\n /** Controls whether default inner padding is applied */\r\n @Prop() padding = true;\r\n\r\n /** When true, shows a top loader */\r\n @Prop() loading: boolean = false;\r\n\r\n // Header action button props\r\n\r\n /** Label for the header primary action button */\r\n @Prop() headerActionButtonLabel: string;\r\n\r\n /** Whether the header action button is disabled */\r\n @Prop() headerActionButtonDisabled = false;\r\n\r\n /** Icon name for the header action button */\r\n @Prop() headerActionButtonIcon: string;\r\n\r\n /** Additional secondary buttons to render in the header */\r\n @Prop() headerSecondaryButtons: SecondaryButton[];\r\n\r\n // Footer / primary button props\r\n\r\n /** Label for the primary footer action button */\r\n @Prop() primaryButtonLabel: string;\r\n\r\n /** Whether the primary footer button is disabled */\r\n @Prop() primaryButtonDisabled = false;\r\n\r\n /** Icon name for the primary footer button */\r\n @Prop() primaryButtonIcon: string;\r\n\r\n /** Secondary buttons to render in the footer */\r\n @Prop() footerSecondaryButtons?: SecondaryButton[];\r\n\r\n /** Emitted when the sheet is closed */\r\n @Event() udpSideSheetClose: EventEmitter<void>;\r\n\r\n /** Emitted when the primary footer button is clicked */\r\n @Event() udpPrimaryButtonClick: EventEmitter<void>;\r\n\r\n /** Emitted when the header action button is clicked */\r\n @Event() udpHeaderActionButtonClick: EventEmitter<void>;\r\n\r\n /** Whether the footer should show the overflow \"More\" button */\r\n @State() showOverflowButton: boolean = false;\r\n\r\n /** Whether the overflow popover is open */\r\n @State() openOverflowMenu: boolean = false;\r\n\r\n /** Anchor element for the overflow popover */\r\n @State() overflowMenuAnchor: HTMLElement;\r\n\r\n @State() visibleSecondaryButtons: SecondaryButton[] = [];\r\n @State() overflowSecondaryButtons: SecondaryButton[] = [];\r\n\r\n /** Saved original document.body.overflow value to restore on close */\r\n private originalBodyOverflow: string = '';\r\n\r\n /** ResizeObserver instance watching footer size changes */\r\n private resizeObserver: ResizeObserver;\r\n\r\n /** Reference to the footer element */\r\n private footerRef: HTMLElement;\r\n\r\n /** Offscreen measurement container for buttons */\r\n private measurementContainerRef: HTMLElement;\r\n\r\n /** Saved original document.body.paddingRight value to restore on close */\r\n private originalBodyPaddingRight: string = '';\r\n\r\n /**\r\n * Watcher for `open` prop. Handles portal append/removal and body scroll lock.\r\n *\r\n * @param newValue - new value of the `open` prop\r\n * @param oldValue - previous value of the `open` prop\r\n */\r\n @Watch('open')\r\n handleOpenChange(newValue: boolean, oldValue: boolean) {\r\n if (newValue === oldValue) {\r\n return;\r\n }\r\n\r\n if (newValue) {\r\n // Calculate scrollbar width before hiding it\r\n const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\r\n\r\n // Save original values\r\n this.originalBodyOverflow = document.body.style.overflow;\r\n this.originalBodyPaddingRight = document.body.style.paddingRight;\r\n\r\n document.body.appendChild(this.hostEl);\r\n\r\n // Add padding to compensate for scrollbar\r\n if (scrollbarWidth > 0) {\r\n const currentPadding = parseInt(window.getComputedStyle(document.body).paddingRight) || 0;\r\n document.body.style.paddingRight = `${currentPadding + scrollbarWidth}px`;\r\n }\r\n\r\n document.body.style.overflow = 'hidden';\r\n\r\n requestAnimationFrame(() => {\r\n this.hostEl.classList.add('is-visible');\r\n // Check overflow after the side sheet is visible\r\n setTimeout(() => this.checkOverflow(), 50);\r\n });\r\n } else {\r\n this.hostEl.classList.remove('is-visible');\r\n document.body.style.overflow = this.originalBodyOverflow;\r\n document.body.style.paddingRight = this.originalBodyPaddingRight;\r\n this.hostEl.addEventListener('transitionend', this.handleTransitionEnd, { once: true });\r\n }\r\n }\r\n\r\n /**\r\n * Watcher for footer secondary buttons changes. Triggers overflow recalculation.\r\n */\r\n @Watch('footerSecondaryButtons')\r\n handleSecondaryButtonsChange() {\r\n // Recheck overflow when buttons change\r\n setTimeout(() => this.checkOverflow(), 50);\r\n }\r\n\r\n /**\r\n * Measures footer buttons in an offscreen container and sets `showOverflowButton`.\r\n * Safely returns early if required refs are unavailable.\r\n */\r\n private checkOverflow() {\r\n if (!this.footerRef || !this.measurementContainerRef) {\r\n return;\r\n }\r\n\r\n if (!this.footerSecondaryButtons || this.footerSecondaryButtons.length === 0) {\r\n this.showOverflowButton = false;\r\n return;\r\n }\r\n\r\n // Get the footer container width (minus padding)\r\n const footerWidth = this.footerRef.offsetWidth;\r\n const footerStyle = window.getComputedStyle(this.footerRef);\r\n const footerPaddingLeft = parseFloat(footerStyle.paddingLeft);\r\n const footerPaddingRight = parseFloat(footerStyle.paddingRight);\r\n const availableWidth = footerWidth - footerPaddingLeft - footerPaddingRight;\r\n\r\n // Measure all buttons in the hidden measurement container\r\n const measurementButtons = this.measurementContainerRef.querySelectorAll('udp-button');\r\n let totalWidth = 0;\r\n\r\n measurementButtons.forEach((button, index) => {\r\n const buttonWidth = button && button instanceof HTMLElement ? button.offsetWidth : 0;\r\n totalWidth += buttonWidth;\r\n\r\n // Add gap spacing between buttons (except for the last one)\r\n if (index < measurementButtons.length - 1) {\r\n const containerStyle = window.getComputedStyle(this.measurementContainerRef);\r\n const gap = parseFloat(containerStyle.gap) || 4; // Default gap from CSS\r\n totalWidth += gap;\r\n }\r\n });\r\n\r\n // Add a small buffer to prevent edge cases\r\n const buffer = 10;\r\n const isOverflowing = totalWidth + buffer > availableWidth;\r\n\r\n this.showOverflowButton = isOverflowing;\r\n }\r\n\r\n /**\r\n * Transition end handler used to remove the host element from body after close.\r\n *\r\n * @private\r\n */\r\n private handleTransitionEnd = () => {\r\n if (!this.open && this.hostEl.parentElement === document.body) {\r\n document.body.removeChild(this.hostEl);\r\n }\r\n };\r\n\r\n /**\r\n * Lifecycle: componentDidLoad. Sets up ResizeObserver and initial overflow check.\r\n *\r\n * @private\r\n */\r\n componentDidLoad() {\r\n if (Build.isBrowser) {\r\n // Set up ResizeObserver to watch for footer size changes\r\n this.resizeObserver = new ResizeObserver(() => {\r\n this.checkOverflow();\r\n });\r\n\r\n // Initial check after a small delay to ensure DOM is ready\r\n requestAnimationFrame(() => {\r\n setTimeout(() => {\r\n if (this.footerRef) {\r\n this.resizeObserver.observe(this.footerRef);\r\n }\r\n this.checkOverflow();\r\n }, 100);\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Lifecycle: disconnectedCallback. Restores body styles and disconnects observers.\r\n *\r\n * @private\r\n */\r\n disconnectedCallback() {\r\n if (document.body.style.overflow === 'hidden') {\r\n document.body.style.overflow = this.originalBodyOverflow;\r\n document.body.style.paddingRight = this.originalBodyPaddingRight;\r\n }\r\n\r\n // Clean up ResizeObserver\r\n if (this.resizeObserver) {\r\n this.resizeObserver.disconnect();\r\n }\r\n }\r\n\r\n /**\r\n * Close the side sheet and emit close event.\r\n *\r\n * @private\r\n */\r\n private onClose = () => {\r\n this.open = false;\r\n this.udpSideSheetClose.emit();\r\n };\r\n\r\n /**\r\n * Backdrop click handler. Only closes when clicking the backdrop itself.\r\n *\r\n * @param e - MouseEvent from the backdrop click\r\n * @private\r\n */\r\n private onCloseBackdrop = (e: MouseEvent) => {\r\n if (e.target === e.currentTarget) {\r\n this.onClose();\r\n }\r\n };\r\n\r\n /**\r\n * Emit primary footer button click event.\r\n *\r\n * @private\r\n */\r\n private onPrimaryButtonClick = () => {\r\n this.udpPrimaryButtonClick.emit();\r\n };\r\n\r\n /**\r\n * Emit header action button click event.\r\n *\r\n * @private\r\n */\r\n private onHeaderActionButtonClick = () => {\r\n this.udpHeaderActionButtonClick.emit();\r\n };\r\n\r\n /**\r\n * Open overflow menu anchored to the clicked element.\r\n *\r\n * @param event - MouseEvent from the \"More\" button click\r\n * @private\r\n */\r\n private onMoreActionButtonClick = (event: MouseEvent) => {\r\n this.overflowMenuAnchor = event.currentTarget as HTMLElement;\r\n this.openOverflowMenu = true;\r\n };\r\n\r\n /**\r\n * Close the overflow popover.\r\n *\r\n * @param e - optional KeyboardEvent or MouseEvent (unused)\r\n * @private\r\n */\r\n private handleCloseOverflowMenu = () => {\r\n this.openOverflowMenu = false;\r\n };\r\n\r\n /**\r\n * Render the component UI.\r\n *\r\n * @returns JSX element tree\r\n * @private\r\n */\r\n render() {\r\n const widthClass = typeof this.width === 'number' ? 'custom-width' : this.width;\r\n const sideSheetStyle = typeof this.width === 'number' ? { maxWidth: `${this.width}px` } : {};\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n const headerStartIcon = Boolean(this.headerActionButtonIcon) ? (\r\n <udp-icon iconName={this.headerActionButtonIcon} color=\"inherit\" />\r\n ) : undefined;\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n const overflowIcon = <udp-icon iconName=\"overflowMenuVertical\" color=\"inherit\" />;\r\n\r\n return (\r\n <div class=\"backdrop\" onClick={this.onCloseBackdrop}>\r\n <div\r\n class={{ sheet: true, [this.position]: true, [widthClass]: true }}\r\n style={sideSheetStyle}\r\n >\r\n {/* Header layout has been changed here */}\r\n <div class=\"title-container\">\r\n <div class=\"close-button\">\r\n <stencil-icon-button\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n icon={Close24}\r\n onClick={this.onClose}\r\n secondary\r\n ></stencil-icon-button>\r\n </div>\r\n <div class=\"title-text\">\r\n <unity-typography variant=\"h6\">{this.title}</unity-typography>\r\n </div>\r\n {/* Conditionally render the new header action button */}\r\n {(this.headerActionButtonLabel || this.headerSecondaryButtons?.length > 0) && (\r\n <div class=\"header-action-button\">\r\n {this.headerSecondaryButtons?.map((item: SecondaryButton) => (\r\n <udp-button\r\n variant=\"outlined\"\r\n disabled={item.disabled}\r\n onClick={item.onClick}\r\n endIcon={item.icon}\r\n >\r\n {item.label}\r\n </udp-button>\r\n ))}\r\n {this.headerActionButtonLabel && (\r\n <udp-button\r\n disabled={this.headerActionButtonDisabled}\r\n onClick={this.onHeaderActionButtonClick}\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n startIcon={headerStartIcon}\r\n variant=\"contained\"\r\n >\r\n {this.headerActionButtonLabel}\r\n </udp-button>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n <div class=\"loader-container\">\r\n <udp-linear-loader class={{ 'is-loading': this.loading }} color=\"primary\" />\r\n </div>\r\n\r\n <div class={{ content: true, padding: this.padding }}>\r\n <slot />\r\n </div>\r\n {(this.primaryButtonLabel || this.footerSecondaryButtons?.length > 0) && (\r\n <div>\r\n <div class=\"loader-container\"></div>\r\n <div\r\n class={{\r\n footer: true,\r\n }}\r\n ref={el => (this.footerRef = el)}\r\n >\r\n {/* Visible buttons container */}\r\n {!this.showOverflowButton && this.footerSecondaryButtons?.length > 0 && (\r\n <div class=\"footer-secondary-buttons-container\">\r\n <div class=\"footer-secondary-buttons\">\r\n {this.footerSecondaryButtons?.map((item: SecondaryButton) => (\r\n <udp-button\r\n variant=\"outlined\"\r\n disabled={item.disabled}\r\n onClick={item.onClick}\r\n endIcon={item.icon}\r\n >\r\n {item.label}\r\n </udp-button>\r\n ))}\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* More button when overflowing */}\r\n {this.showOverflowButton && (\r\n <udp-button\r\n variant=\"outlined\"\r\n onClick={this.onMoreActionButtonClick}\r\n color=\"secondary\"\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n endIcon={overflowIcon}\r\n >\r\n More\r\n </udp-button>\r\n )}\r\n\r\n {/* Primary button */}\r\n {this.primaryButtonLabel && (\r\n <udp-button\r\n variant=\"contained\"\r\n disabled={this.primaryButtonDisabled}\r\n onClick={this.onPrimaryButtonClick}\r\n endIcon={this.primaryButtonIcon}\r\n >\r\n {this.primaryButtonLabel}\r\n </udp-button>\r\n )}\r\n\r\n {/* Overflow menu */}\r\n {this.showOverflowButton && (\r\n <udp-pop-over\r\n anchorElement={this.overflowMenuAnchor}\r\n isOpen={this.openOverflowMenu}\r\n popoverWidth={'200px'}\r\n popoverMaxHeight={'300px'}\r\n handleOnClose={this.handleCloseOverflowMenu}\r\n >\r\n <div class=\"menu\">\r\n {this.footerSecondaryButtons?.map(item => (\r\n <udp-menu-item\r\n label={item?.label}\r\n iconName={item?.icon}\r\n onItemClick={() => {\r\n item?.onClick();\r\n this.handleCloseOverflowMenu();\r\n }}\r\n disabled={item?.disabled}\r\n />\r\n ))}\r\n </div>\r\n </udp-pop-over>\r\n )}\r\n\r\n {/* Hidden measurement container - renders all buttons for measurement */}\r\n <div\r\n ref={el => (this.measurementContainerRef = el)}\r\n style={{\r\n position: 'absolute',\r\n visibility: 'hidden',\r\n pointerEvents: 'none',\r\n display: 'flex',\r\n gap: 'var(--spacing-02, 4px)',\r\n }}\r\n aria-hidden=\"true\"\r\n >\r\n {this.footerSecondaryButtons?.map((item: SecondaryButton) => (\r\n <udp-button\r\n variant=\"text\"\r\n size=\"medium\"\r\n disabled={item.disabled}\r\n endIcon={item.icon}\r\n >\r\n {item.label}\r\n </udp-button>\r\n ))}\r\n {this.primaryButtonLabel && (\r\n <udp-button\r\n variant=\"contained\"\r\n size=\"medium\"\r\n disabled={this.primaryButtonDisabled}\r\n endIcon={this.primaryButtonIcon}\r\n >\r\n {this.primaryButtonLabel}\r\n </udp-button>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n",".tab-container {\n display: flex;\n flex-direction: column;\n}\n\n.tab-header {\n background-color: #ffffff;\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.tab-scroll-container {\n display: flex;\n position: relative;\n overflow-x: auto;\n overflow-y: hidden;\n flex: 1;\n min-width: 0;\n}\n\n.tab-scroll-container::-webkit-scrollbar {\n height: 4px;\n}\n.tab-scroll-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tab-scroll-container::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, 0.2);\n border-radius: 4px;\n}\n.tab-scroll-container::-webkit-scrollbar-thumb:hover {\n background-color: rgba(0, 0, 0, 0.3);\n}\n\n.tab-header::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 1px;\n background-color: var(--divider-color, #e0e0e0);\n}\n\n/* This is the base style for tab buttons */\n.tab-header button {\n padding: 16px;\n font-size: 14px;\n text-align: center;\n border: none;\n background: none;\n cursor: pointer;\n outline: none;\n transition: all 0.22s ease;\n color: #555555;;\n font-weight: 600;\n opacity: 0.9;\n white-space: nowrap;\n\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n}\n\n.tab-header.fill .tab-scroll-container {\n width: 100%;\n}\n.tab-header.fill .tab-scroll-container button {\n flex-grow: 1;\n}\n\n.tab-header button.active {\n color: var(--secondary-color, #344861);\n opacity: 1.0;\n}\n\n.tab-header button.scroll-arrow {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n\n width: 40px;\n padding: 0;\n\n background: #ffffff;\n cursor: pointer;\n font-size: 16px;\n font-weight: bold;\n color: #757575;\n z-index: 2;\n transition: color 0.2s ease;\n\n flex-shrink: 0;\n opacity: 1;\n gap: 0;\n}\n\n.tab-header button.scroll-arrow:hover {\n color: #000;\n}\n\n.tab-header button.scroll-arrow.left {\n left: 0;\n}\n\n.tab-header button.scroll-arrow.right {\n right: 0;\n\n}\n\n.scroll-fade {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 30px;\n z-index: 1;\n pointer-events: none;\n}\n\n.scroll-fade.left {\n left: 40px;\n background: linear-gradient(\n to right,\n #ffffff,\n rgba(255, 255, 255, 0)\n );\n}\n\n.scroll-fade.right {\n right: 40px;\n background: linear-gradient(\n to left,\n #ffffff,\n rgba(255, 255, 255, 0)\n );\n}\n\n.tab-header button udp-icon {\n font-size: 1.2em;\n line-height: 1;\n}\n\n.tab-header button.icon-start {\n flex-direction: row;\n}\n.tab-header button.icon-end {\n flex-direction: row-reverse;\n}\n.tab-header button.icon-top {\n flex-direction: column;\n gap: 4px;\n}\n.tab-header button.icon-bottom {\n flex-direction: column-reverse;\n gap: 4px;\n}\n\n.slider {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 2px;\n background-color: var(--secondary-color, #344861);\n\n transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1),\n width 0.22s cubic-bezier(0.4, 0, 0.2, 1);\n z-index: 1;\n}\n\n.tab-header button.disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n.tab-header button.disabled.active {\n color: #757575;\n opacity: 0.5;\n}\n","import { Component, h, State, Element, Watch, Listen, Prop, Event, EventEmitter } from '@stencil/core';\n\ninterface TabDetail {\n label: string;\n icon?: string;\n iconPlacement?: 'start' | 'end' | 'top' | 'bottom';\n hidden?: boolean;\n disabled?: boolean;\n}\n\n@Component({\n tag: 'udp-tabs',\n styleUrl: 'udp-tabs.css',\n shadow: true,\n})\nexport class UdpTabs {\n @Element() el: HTMLElement;\n\n /**\n * Specifies the layout variant of the tab header.\n *\n * - `'standard'`: Tabs will be sized based on their content.\n * - `'fill'`: Tabs will stretch to fill the available horizontal space.\n */\n @Prop() variant: 'fill' | 'standard' = 'fill';\n\n /**\n * (Controlled) The index of the currently active tab.\n * If this prop is provided, the component will be in \"controlled\" mode.\n * The parent must listen for `udpTabChange` to update this value.\n */\n @Prop() value?: number;\n\n /**\n * (Optional) An array of tab configuration objects.\n * If provided, this will be used to render tabs instead of slotted `<udp-tab>` components.\n * This mode is typically used with controlled tabs.\n */\n @Prop() tabs: TabDetail[] = [];\n\n /**\n * (Controlled) Emits the index of the tab that was clicked.\n * This is only emitted in \"controlled\" mode (when `value` is provided).\n */\n @Event() udpTabChange: EventEmitter<number>;\n\n @State() internalActiveTab: number = 0; // For uncontrolled mode\n @State() tabDetails: TabDetail[] = []; // Unified details from prop or slot\n @State() sliderStyle: { width: string; transform: string } = {\n width: '0',\n transform: 'translateX(0)',\n };\n @State() showScrollLeft: boolean = false;\n @State() showScrollRight: boolean = false;\n\n private slottedTabs: HTMLUdpTabElement[] = []; // Renamed from `tabs`\n private buttonRefs: HTMLButtonElement[] = [];\n private scrollContainerRef?: HTMLDivElement;\n\n /**\n * Returns true if the component is in controlled mode.\n */\n private get isControlled(): boolean {\n return this.value != null;\n }\n\n /**\n * Returns true if tabs are being provided by the `tabs` prop.\n */\n private get useTabsProp(): boolean {\n return this.tabs && this.tabs.length > 0;\n }\n\n /**\n * Returns the currently active tab index,\n * respecting controlled or uncontrolled mode.\n */\n private get activeTab(): number {\n return this.isControlled ? this.value : this.internalActiveTab;\n }\n\n @Listen('slotchange')\n handleSlotChange() {\n // If we're using the tabs prop, slot changes are irrelevant\n if (this.useTabsProp) return;\n this.initializeTabs();\n }\n\n @Listen('resize', { target: 'window' })\n handleResize() {\n requestAnimationFrame(() => {\n this.updateSliderPosition();\n this.checkScroll();\n });\n }\n\n componentDidLoad() {\n this.initializeTabs();\n }\n\n /**\n * Watcher for uncontrolled state changes.\n */\n @Watch('internalActiveTab')\n onActiveTabChange(newValue: number) {\n this.updateActiveTabs();\n this.updateSliderPosition();\n this.scrollTabIntoView(newValue);\n }\n\n /**\n * Watcher for controlled state changes.\n */\n @Watch('value')\n onValueChange(newValue: number) {\n this.updateActiveTabs();\n this.updateSliderPosition();\n this.scrollTabIntoView(newValue);\n }\n\n /**\n * Watcher for tabs prop changes.\n */\n @Watch('tabs')\n onTabsPropChange() {\n this.initializeTabs();\n }\n\n @Watch('variant')\n onVariantChange() {\n requestAnimationFrame(() => {\n this.updateSliderPosition();\n this.checkScroll();\n });\n }\n\n private initializeTabs() {\n this.buttonRefs = [];\n\n if (this.useTabsProp) {\n // --- Prop-based ---\n this.tabDetails = this.tabs.map(t => ({ ...t })); // Use data from prop\n this.slottedTabs = []; // Ensure we're not tracking slotted tabs\n } else {\n // --- Slot-based ---\n this.slottedTabs = Array.from(this.el.children).filter(\n (child): child is HTMLUdpTabElement => child.tagName.toLowerCase() === 'udp-tab',\n );\n\n this.tabDetails = this.slottedTabs.map(tab => ({\n label: tab.label,\n icon: tab.icon,\n iconPlacement: tab.iconPlacement,\n hidden: tab.hidden,\n disabled: tab.disabled,\n }));\n }\n\n // --- Common Logic ---\n // In uncontrolled mode, check if the default active tab is invalid.\n if (!this.isControlled) {\n if (this.tabDetails[this.internalActiveTab]?.hidden || this.tabDetails[this.internalActiveTab]?.disabled) {\n const firstValidIndex = this.tabDetails.findIndex(tab => !tab.hidden && !tab.disabled);\n this.internalActiveTab = firstValidIndex > -1 ? firstValidIndex : 0;\n }\n }\n\n this.updateActiveTabs();\n\n requestAnimationFrame(() => {\n this.updateSliderPosition();\n this.checkScroll();\n });\n }\n\n private updateActiveTabs() {\n // Only update slotted tabs if we're in slot mode\n if (!this.useTabsProp) {\n const currentActiveTab = this.activeTab;\n this.slottedTabs.forEach((tab, index) => {\n tab.active = index === currentActiveTab;\n });\n }\n // If in prop mode, the <button> 'active' class is handled by render()\n }\n\n private updateSliderPosition() {\n const activeButton = this.buttonRefs[this.activeTab]; // Use getter\n if (!activeButton) {\n this.sliderStyle = { width: '0px', transform: 'translateX(0px)' };\n return;\n }\n\n this.sliderStyle = {\n width: `${activeButton.offsetWidth}px`,\n transform: `translateX(${activeButton.offsetLeft}px)`,\n };\n }\n\n private checkScroll() {\n if (!this.scrollContainerRef) return;\n const { scrollLeft, scrollWidth, clientWidth } = this.scrollContainerRef;\n const isOverflowing = scrollWidth > clientWidth;\n this.showScrollLeft = isOverflowing && scrollLeft > 1;\n this.showScrollRight = isOverflowing && scrollLeft < scrollWidth - clientWidth - 1;\n }\n\n private tabClicked(tabIndex: number) {\n if (this.tabDetails[tabIndex]?.disabled) {\n return;\n }\n\n if (this.isControlled) {\n // In controlled mode, emit the event for the parent to handle.\n // The `onValueChange` watcher will handle UI updates when the prop changes.\n this.udpTabChange.emit(tabIndex);\n } else {\n // In uncontrolled mode, update state directly.\n // The `onActiveTabChange` watcher will handle UI updates.\n this.internalActiveTab = tabIndex;\n }\n }\n\n private scrollTabIntoView(tabIndex: number) {\n const tabButton = this.buttonRefs[tabIndex];\n const container = this.scrollContainerRef;\n\n if (!tabButton || !container) return;\n\n const { scrollLeft, clientWidth } = container;\n const tabLeft = tabButton.offsetLeft;\n const tabRight = tabLeft + tabButton.offsetWidth;\n\n const safeZonePadding = 70;\n const safeZoneLeft = scrollLeft + safeZonePadding;\n const safeZoneRight = scrollLeft + clientWidth - safeZonePadding;\n\n if (tabLeft < safeZoneLeft) {\n container.scrollTo({\n left: tabLeft - safeZonePadding,\n behavior: 'smooth',\n });\n } else if (tabRight > safeZoneRight) {\n container.scrollTo({\n left: tabRight - clientWidth + safeZonePadding,\n behavior: 'smooth',\n });\n }\n }\n\n private scrollToStart() {\n if (!this.scrollContainerRef) return;\n this.scrollContainerRef.scrollTo({ left: 0, behavior: 'smooth' });\n }\n\n private scrollToEnd() {\n if (!this.scrollContainerRef) return;\n const container = this.scrollContainerRef;\n const { scrollWidth, clientWidth } = container;\n const maxScrollLeft = scrollWidth - clientWidth;\n container.scrollTo({ left: maxScrollLeft, behavior: 'smooth' });\n }\n\n render() {\n const currentActiveTab = this.activeTab; // Use getter\n\n return (\n <div class=\"tab-container\">\n <div class={`tab-header ${this.variant}`}>\n {this.showScrollLeft && (\n <button\n class=\"scroll-arrow left\"\n onClick={() => this.scrollToStart()}\n aria-label=\"Scroll to first tab\"\n >\n <udp-icon iconName=\"chevronLeft16\" color=\"inherit\" />\n </button>\n )}\n\n {this.showScrollLeft && <div class=\"scroll-fade left\"></div>}\n\n <div\n class=\"tab-scroll-container\"\n ref={el => (this.scrollContainerRef = el)}\n onScroll={() => this.checkScroll()}\n >\n {this.tabDetails.map((tab, index) => {\n if (tab.hidden) {\n return null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const iconEl = tab.icon ? <udp-icon iconName={tab.icon} color={'inherit'} /> : null;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const labelEl = <span>{tab.label}</span>;\n\n return (\n <button\n class={{\n 'active': index === currentActiveTab,\n 'has-icon': !!tab.icon,\n [`icon-${tab.iconPlacement}`]: !!tab.icon,\n 'disabled': tab.disabled,\n }}\n disabled={tab.disabled}\n onClick={() => this.tabClicked(index)}\n role=\"tab\"\n aria-selected={index === currentActiveTab ? 'true' : 'false'}\n aria-disabled={tab.disabled ? 'true' : 'false'}\n ref={el => (this.buttonRefs[index] = el)}\n >\n {iconEl}\n {labelEl}\n </button>\n );\n })}\n\n <div class=\"slider\" style={this.sliderStyle}></div>\n </div>\n\n {this.showScrollRight && <div class=\"scroll-fade right\"></div>}\n\n {this.showScrollRight && (\n <button\n class=\"scroll-arrow right\"\n onClick={() => this.scrollToEnd()}\n aria-label=\"Scroll to last tab\"\n >\n <udp-icon iconName=\"chevronRight16\" color=\"inherit\" />\n </button>\n )}\n </div>\n\n {!this.isControlled && !this.useTabsProp && (\n <div>\n <slot></slot>\n </div>\n )}\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as t,h as e,c as i,a as o}from"./index-CaZq3YdB.js";import{i as s}from"./iconMapping-CPerGeNF.js";import n from"@carbon/icons/es/close/24";import"@carbon/icons/es/add/16";import"@carbon/icons/es/add/32";import"@carbon/icons/es/add--alt/16";import"@carbon/icons/es/add--filled/16";import"@carbon/icons/es/arrows--horizontal/16";import"@carbon/icons/es/attachment/16";import"@carbon/icons/es/batch-job/16";import"@carbon/icons/es/box/16";import"@carbon/icons/es/close/16";import"@carbon/icons/es/close/32";import"@carbon/icons/es/close--filled/16";import"@carbon/icons/es/close--outline/16";import"@carbon/icons/es/checkmark/16";import"@carbon/icons/es/checkmark/24";import"@carbon/icons/es/checkmark/32";import"@carbon/icons/es/chevron--left/16";import"@carbon/icons/es/chevron--right/16";import"@carbon/icons/es/chevron--down/16";import"@carbon/icons/es/data-enrichment/16";import"@carbon/icons/es/document/16";import"@carbon/icons/es/document--add/16";import"@carbon/icons/es/document--attachment/16";import"@carbon/icons/es/document--pdf/16";import"@carbon/icons/es/document--video/16";import"@carbon/icons/es/document--audio/16";import"@carbon/icons/es/draggable/16";import"@carbon/icons/es/edit/16";import"@carbon/icons/es/export/16";import"@carbon/icons/es/flag/16";import"@carbon/icons/es/information/16";import"@carbon/icons/es/information/32";import"@carbon/icons/es/link/16";import"@carbon/icons/es/overflow-menu--vertical/16";import"@carbon/icons/es/overflow-menu--vertical/32";import"@carbon/icons/es/return/16";import"@carbon/icons/es/save/16";import"@carbon/icons/es/settings/16";import"@carbon/icons/es/subtract/16";import"@carbon/icons/es/subtract--alt/16";import"@carbon/icons/es/subtract--filled/16";import"@carbon/icons/es/trash-can/16";import"@carbon/icons/es/user/16";import"@carbon/icons/es/view/16";import"@carbon/icons/es/warning/16";import"@carbon/icons/es/warning/32";import"@carbon/icons/es/warning--alt/16";import"@carbon/icons/es/warning--alt/32";import"@carbon/icons/es/product/16";import"@carbon/icons/es/workspace/16";import"@carbon/icons/es/arrow--up/16";import"@carbon/icons/es/arrow--down/16";import"@carbon/icons/es/arrow--right/16";import"@carbon/icons/es/arrow--left/16";import"@carbon/icons/es/copy/16";import"@carbon/icons/es/star/16";import"@carbon/icons/es/data-table/16";import"@carbon/icons/es/fit-to-width/16";import"@carbon/icons/es/search--advanced/16";import"@carbon/icons/es/reset/16";import"@carbon/icons/es/column/16";import"@carbon/icons/es/column--delete/16";import"@carbon/icons/es/watson-health/rotate--360/16";import"@carbon/icons/es/filter/16";import"@carbon/icons/es/app-connectivity/16";import"@carbon/icons/es/text--font/16";import"@carbon/icons/es/text--long-paragraph/16";import"@carbon/icons/es/character--whole-number/16";import"@carbon/icons/es/checkbox--checked/16";import"@carbon/icons/es/radio-button--checked/16";import"@carbon/icons/es/event--schedule/16";import"@carbon/icons/es/view--off/16";import"@carbon/icons/es/time/16";import"@carbon/icons/es/calendar/16";import"@carbon/icons/es/list--checked/16";import"@carbon/icons/es/list--bulleted/16";import"@carbon/icons/es/cloud--upload/16";import"@carbon/icons/es/locked/16";import"@carbon/icons/es/pause/16";import"@carbon/icons/es/unlocked/16";import"@carbon/icons/es/send/16";import"@carbon/icons/es/email/16";import"@carbon/icons/es/checkmark--outline/16";import"@carbon/icons/es/migrate--alt/16";import"@carbon/icons/es/checkbox--checked--filled/16";import"@carbon/icons/es/checkbox/16";import"@carbon/icons/es/ZIP/16";import"@carbon/icons/es/image/16";import"@carbon/icons/es/PPT/16";import"@carbon/icons/es/XLS/16";const a=":host{display:block;font-family:var(--font-family-base, sans-serif);background-color:var(--primary-action-header-background, #ffffff);color:var(--primary-action-header-text-color, rgba(0, 0, 0, 0.87));box-shadow:var(--primary-action-header-shadow, 0px 2px 4px -1px rgba(0,0,0,0.2));height:var(--primary-action-header-height, 48px);padding:var(--primary-action-header-padding, 0 var(--spacing-04));box-sizing:border-box}.header-bar{display:flex;justify-content:space-between;align-items:center;width:100%;height:100%}.title-section{flex-shrink:0;margin-right:var(--spacing-md, 16px)}.tabs{flex-grow:1;display:flex;justify-content:center;align-items:stretch;min-width:0}.tabs udp-tabs{width:100%;display:flex;justify-content:center}.tabs udp-tabs::part(tab-list){}.tabs udp-tabs button{padding:0 16px;margin:0 var(--spacing-xxs, 4px);height:100%;border:none;background-color:transparent;cursor:pointer;font-size:var(--font-size-sm, 0.875rem);color:var(--text-color-secondary, rgba(0, 0, 0, 0.6));text-transform:uppercase;font-weight:var(--font-weight-medium, 500);border-bottom:2px solid transparent;transition:color 0.3s ease, border-bottom-color 0.3s ease}.tabs udp-tabs button:hover{color:var(--primary-color-hover, var(--primary-color, #1976d2))}.tabs udp-tabs button.active{color:var(--primary-color, #1976d2);border-bottom:2px solid var(--primary-color, #1976d2)}.button-section{display:flex;align-items:center;flex-shrink:0;gap:var(--spacing-sm, 8px)}.button-section stencil-icon-button{color:var(--primary-action-header-icon-color, var(--text-color-primary, rgba(0, 0, 0, 0.54)))}.button-section stencil-icon-button:hover{background-color:rgba(0,0,0,0.04)}.button-section custom-button{}";const r=class{constructor(e){t(this,e);this.hiddenActionButtons=[];this.hiddenLabels=[];this.actionButtons=[];this.defaultActionButtons=[];this.tabs=true;this.actionButtonLabel=""}getIconComponent(t,e){if(e){return e}if(typeof t==="string"){return s[t]}return t}renderIcon(t){if(t&&t.elem==="svg"){return e("svg",Object.assign({},t.attrs),t.content.map(((t,i)=>e("path",Object.assign({key:i},t.attrs)))))}return null}render(){console.log("active tab",this.activeTabIndex);return e("div",{key:"6619a0d1886bed91baf548f6577ffd29a6583e10",class:"header-bar"},e("div",{key:"42005c79b8749912231c96e12bdeb03ae5d0e3c5",class:"title-section"},e("unity-typography",{key:"2c9910a18282fb24d024428ac4f100fe4a884a0f",variant:"h4"},this.title)),this.tabs&&e("div",{key:"1557c08c085bfc8784322861d56bb6b3d0649ab6",class:"tabs"},e("udp-tabs",{key:"d0825c8efaed182864999508c19550e979ee5982"},e("button",{key:"a7f4a1ddcde103c52a316ea1460828b39503398f",class:this.activeTabIndex===0?"active":"",slot:"tab-title",onClick:()=>this.selectTab(0)},"Demo Grid"),e("button",{key:"f39ba5df6b9acc160f3951fd3f1a2407e413331b",class:this.activeTabIndex===1?"active":"",slot:"tab-title",onClick:()=>this.selectTab(1)},"Other Content"))),e("div",{key:"7a2fd6fd7dc477c7b6bce09394f6ea5763cd22e0",class:"button-section"},this.defaultActionButtons.map((t=>{const i=this.getIconComponent(t.icon,t.customIcon);const o=e=>{if(t.clickHandler){t.clickHandler(e)}else{console.log(`${t.label} Clicked but no custom handler defined`)}};if(!this.hiddenActionButtons.includes(t.label)&&t.visible){return e("stencil-icon-button",{secondary:t.secondary,onClick:o,tooltip:t.tooltip},this.renderIcon(i),!this.hiddenLabels.includes(t.label)&&t.showLabel&&e("span",null,t.label))}return null})),!this.actionButtonLabel&&e("div",{key:"1794f324f22d659d1e072e1a5f35e05ea81b9388",class:"right-margin"}),this.actionButtonLabel&&e("udp-button",{key:"8f2fe83b58c869cdfac6db0d48a7d03aaead6ec1",variant:"contained",color:"secondary",onClick:t=>this.primaryActionClick(t)},this.actionButtonLabel)))}};r.style=a;const c=":host{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;visibility:hidden;transition:visibility 0s 0.2s}:host(.is-visible){visibility:visible;transition-delay:0s}.backdrop{background:rgba(0, 0, 0, 0.5);width:100%;height:100%;position:fixed;top:0;left:0;opacity:0;transition:opacity 0.2s ease-in-out}:host(.is-visible) .backdrop{opacity:1}.sheet{background:white;height:100vh;position:fixed;top:0;display:flex;flex-direction:column;box-shadow:0 0 4px rgba(0, 0, 0, 0.3);transition:transform 0.2s ease-in-out;width:100%}.sheet.right{right:0;transform:translateX(100%)}.sheet.left{left:0;transform:translateX(-100%)}:host(.is-visible) .sheet{transform:translateX(0)}.sheet.sm{max-width:360px}.sheet.md{max-width:600px}.sheet.lg{max-width:960px}.sheet.full{max-width:100%}.sheet.custom-width{}.title-container{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;box-shadow:var(--elevation-01, 0 4px 8px rgba(0, 0, 0, 0.1));gap:var(--spacing-02)}.title-text{flex-grow:1;text-align:left;}.close-button{flex-shrink:0}.header-action-button{flex-shrink:0;display:flex;align-items:center;gap:var(--spacing-02, 4px);padding:var(--spacing-03, 8px) var(--spacing-03, 8px) var(--spacing-03, 8px) 0}.content{overflow-y:auto;flex-grow:1;background-color:var(--gray-01)}.content.padding{padding:var(--spacing-05, 24px)}.footer{padding:var(--spacing-03, 8px);box-shadow:var(--elevation-01, 0 4px 8px rgba(0, 0, 0, 0.1));display:flex;justify-content:flex-end;flex-shrink:0;width:100%;gap:var(--spacing-02, 4px);align-items:center}.footer.secondary-button-overflow{flex-direction:row-reverse}.footer-secondary-buttons-container{flex-grow:2;width:100%}.footer-secondary-buttons{display:flex;justify-content:flex-end;gap:var(--spacing-02, 4px);align-items:center}.footer-secondary-buttons.secondary-button-overflow{flex-grow:1}.loader-container{height:4px;width:100%;background-color:var(--gray-01)}.loader-container udp-linear-loader{visibility:hidden;opacity:0;transition:none}.loader-container udp-linear-loader.is-loading{visibility:visible;opacity:1;}";const d=class{constructor(e){t(this,e);this.udpSideSheetClose=i(this,"udpSideSheetClose");this.udpPrimaryButtonClick=i(this,"udpPrimaryButtonClick");this.udpHeaderActionButtonClick=i(this,"udpHeaderActionButtonClick");this.open=false;this.position="right";this.width="md";this.padding=true;this.loading=false;this.headerActionButtonDisabled=false;this.primaryButtonDisabled=false;this.showOverflowButton=false;this.openOverflowMenu=false;this.visibleSecondaryButtons=[];this.overflowSecondaryButtons=[];this.originalBodyOverflow="";this.originalBodyPaddingRight="";this.handleTransitionEnd=()=>{if(!this.open&&this.hostEl.parentElement===document.body){document.body.removeChild(this.hostEl)}};this.onClose=()=>{this.open=false;this.udpSideSheetClose.emit()};this.onCloseBackdrop=t=>{if(t.target===t.currentTarget){this.onClose()}};this.onPrimaryButtonClick=()=>{this.udpPrimaryButtonClick.emit()};this.onHeaderActionButtonClick=()=>{this.udpHeaderActionButtonClick.emit()};this.onMoreActionButtonClick=t=>{this.overflowMenuAnchor=t.currentTarget;this.openOverflowMenu=true};this.handleCloseOverflowMenu=()=>{this.openOverflowMenu=false}}handleOpenChange(t,e){if(t===e){return}if(t){const t=window.innerWidth-document.documentElement.clientWidth;this.originalBodyOverflow=document.body.style.overflow;this.originalBodyPaddingRight=document.body.style.paddingRight;document.body.appendChild(this.hostEl);if(t>0){const e=parseInt(window.getComputedStyle(document.body).paddingRight)||0;document.body.style.paddingRight=`${e+t}px`}document.body.style.overflow="hidden";requestAnimationFrame((()=>{this.hostEl.classList.add("is-visible");setTimeout((()=>this.checkOverflow()),50)}))}else{this.hostEl.classList.remove("is-visible");document.body.style.overflow=this.originalBodyOverflow;document.body.style.paddingRight=this.originalBodyPaddingRight;this.hostEl.addEventListener("transitionend",this.handleTransitionEnd,{once:true})}}handleSecondaryButtonsChange(){setTimeout((()=>this.checkOverflow()),50)}checkOverflow(){if(!this.footerRef||!this.measurementContainerRef){return}if(!this.footerSecondaryButtons||this.footerSecondaryButtons.length===0){this.showOverflowButton=false;return}const t=this.footerRef.offsetWidth;const e=window.getComputedStyle(this.footerRef);const i=parseFloat(e.paddingLeft);const o=parseFloat(e.paddingRight);const s=t-i-o;const n=this.measurementContainerRef.querySelectorAll("udp-button");let a=0;n.forEach(((t,e)=>{const i=t&&t instanceof HTMLElement?t.offsetWidth:0;a+=i;if(e<n.length-1){const t=window.getComputedStyle(this.measurementContainerRef);const e=parseFloat(t.gap)||4;a+=e}}));const r=10;const c=a+r>s;this.showOverflowButton=c}componentDidLoad(){{this.resizeObserver=new ResizeObserver((()=>{this.checkOverflow()}));requestAnimationFrame((()=>{setTimeout((()=>{if(this.footerRef){this.resizeObserver.observe(this.footerRef)}this.checkOverflow()}),100)}))}}disconnectedCallback(){if(document.body.style.overflow==="hidden"){document.body.style.overflow=this.originalBodyOverflow;document.body.style.paddingRight=this.originalBodyPaddingRight}if(this.resizeObserver){this.resizeObserver.disconnect()}}render(){var t,i,o,s,a,r,c;const d=typeof this.width==="number"?"custom-width":this.width;const l=typeof this.width==="number"?{maxWidth:`${this.width}px`}:{};const h=Boolean(this.headerActionButtonIcon)?e("udp-icon",{iconName:this.headerActionButtonIcon,color:"inherit"}):undefined;const b=e("udp-icon",{key:"6da1f10cce0b9e2b2f597df9249ef45128445801",iconName:"overflowMenuVertical",color:"inherit"});return e("div",{key:"20237474eebbd73253c97b28229607d10ac91e2f",class:"backdrop",onClick:this.onCloseBackdrop},e("div",{key:"5b09a3b7e0905a7eef6875499eb863daedcb8969",class:{sheet:true,[this.position]:true,[d]:true},style:l},e("div",{key:"99c0fa14ced2b4397b066f9348984cf85c5e6325",class:"title-container"},e("div",{key:"a47a3669b74bfc3e7235ab4487fcae6b24675b26",class:"close-button"},e("stencil-icon-button",{key:"46a52c8e2f4ac95b4ef668e05905fdde9f8d0ee4",icon:n,onClick:this.onClose,secondary:true})),e("div",{key:"267ede825a8d9fab576c7bb0eeac782b8195372c",class:"title-text"},e("unity-typography",{key:"b3001278f39e3311e2b736dd47d91ecb04601981",variant:"h6"},this.title)),(this.headerActionButtonLabel||((t=this.headerSecondaryButtons)===null||t===void 0?void 0:t.length)>0)&&e("div",{key:"5751cfe92eb7b01c836085d50429f19234844b31",class:"header-action-button"},(i=this.headerSecondaryButtons)===null||i===void 0?void 0:i.map((t=>e("udp-button",{variant:"outlined",disabled:t.disabled,onClick:t.onClick,endIcon:t.icon},t.label))),this.headerActionButtonLabel&&e("udp-button",{key:"a8f34ed12616418ee42cb5eec10e92add96598a6",disabled:this.headerActionButtonDisabled,onClick:this.onHeaderActionButtonClick,startIcon:h,variant:"contained"},this.headerActionButtonLabel))),e("div",{key:"94364ba51f35c7a46fddb17792c7905dfd6ebc45",class:"loader-container"},e("udp-linear-loader",{key:"e12b1130a11b4a9de87aa8da219f538354508e9f",class:{"is-loading":this.loading},color:"primary"})),e("div",{key:"eb842f58defdcd74ef6a28815f11f21c68c8c2ee",class:{content:true,padding:this.padding}},e("slot",{key:"d7731b049a94fb19d38c045ea76c2bf78062ec1b"})),(this.primaryButtonLabel||((o=this.footerSecondaryButtons)===null||o===void 0?void 0:o.length)>0)&&e("div",{key:"0991510d62b3fefd3027f15b96e46d44a8ac66e1"},e("div",{key:"148a2ebb2385c9e04c5957fff1d9be90a57d441c",class:"loader-container"}),e("div",{key:"ffe55575f51be1c9136cc1bdf8eb3a43e14b01da",class:{footer:true},ref:t=>this.footerRef=t},!this.showOverflowButton&&((s=this.footerSecondaryButtons)===null||s===void 0?void 0:s.length)>0&&e("div",{key:"47b70ed64e9246d63819afcdb93d40eb6559a9a8",class:"footer-secondary-buttons-container"},e("div",{key:"ef8f34e7c4c01c4a9f689a1cffe648837663a46c",class:"footer-secondary-buttons"},(a=this.footerSecondaryButtons)===null||a===void 0?void 0:a.map((t=>e("udp-button",{variant:"outlined",disabled:t.disabled,onClick:t.onClick,endIcon:t.icon},t.label))))),this.showOverflowButton&&e("udp-button",{key:"aa388701ba4d91be157b3ee4ad434d50b8d03efe",variant:"outlined",onClick:this.onMoreActionButtonClick,color:"secondary",endIcon:b},"More"),this.primaryButtonLabel&&e("udp-button",{key:"cb644736d0d39dcd89cd2fe2d721810781a581d2",variant:"contained",disabled:this.primaryButtonDisabled,onClick:this.onPrimaryButtonClick,endIcon:this.primaryButtonIcon},this.primaryButtonLabel),this.showOverflowButton&&e("udp-pop-over",{key:"7de1a458880803c3a3b912aaa567c9df82748531",anchorElement:this.overflowMenuAnchor,isOpen:this.openOverflowMenu,popoverWidth:"200px",popoverMaxHeight:"300px",handleOnClose:this.handleCloseOverflowMenu},e("div",{key:"dc0dc7b56615ede816650bf970e6059b8ea30c2d",class:"menu"},(r=this.footerSecondaryButtons)===null||r===void 0?void 0:r.map((t=>e("udp-menu-item",{label:t===null||t===void 0?void 0:t.label,iconName:t===null||t===void 0?void 0:t.icon,onItemClick:()=>{t===null||t===void 0?void 0:t.onClick();this.handleCloseOverflowMenu()},disabled:t===null||t===void 0?void 0:t.disabled}))))),e("div",{key:"a7aecadc65eb2fb3a106c19f6101e4c6c158c960",ref:t=>this.measurementContainerRef=t,style:{position:"absolute",visibility:"hidden",pointerEvents:"none",display:"flex",gap:"var(--spacing-02, 4px)"},"aria-hidden":"true"},(c=this.footerSecondaryButtons)===null||c===void 0?void 0:c.map((t=>e("udp-button",{variant:"text",size:"medium",disabled:t.disabled,endIcon:t.icon},t.label))),this.primaryButtonLabel&&e("udp-button",{key:"64be9bf39748c7c301d4f4d264fae98ed0e40302",variant:"contained",size:"medium",disabled:this.primaryButtonDisabled,endIcon:this.primaryButtonIcon},this.primaryButtonLabel))))))}get hostEl(){return o(this)}static get watchers(){return{open:["handleOpenChange"],footerSecondaryButtons:["handleSecondaryButtonsChange"]}}};d.style=c;const l=".tab-container{display:flex;flex-direction:column}.tab-header{background-color:#ffffff;position:relative;display:flex;align-items:center}.tab-scroll-container{display:flex;position:relative;overflow-x:auto;overflow-y:hidden;flex:1;min-width:0}.tab-scroll-container::-webkit-scrollbar{height:4px}.tab-scroll-container::-webkit-scrollbar-track{background:transparent}.tab-scroll-container::-webkit-scrollbar-thumb{background-color:rgba(0, 0, 0, 0.2);border-radius:4px}.tab-scroll-container::-webkit-scrollbar-thumb:hover{background-color:rgba(0, 0, 0, 0.3)}.tab-header::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:var(--divider-color, #e0e0e0)}.tab-header button{padding:16px;font-size:14px;text-align:center;border:none;background:none;cursor:pointer;outline:none;transition:all 0.22s ease;color:#555555;font-weight:600;opacity:0.9;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:8px}.tab-header.fill .tab-scroll-container{width:100%}.tab-header.fill .tab-scroll-container button{flex-grow:1}.tab-header button.active{color:var(--secondary-color, #344861);opacity:1.0}.tab-header button.scroll-arrow{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;width:40px;padding:0;background:#ffffff;cursor:pointer;font-size:16px;font-weight:bold;color:#757575;z-index:2;transition:color 0.2s ease;flex-shrink:0;opacity:1;gap:0}.tab-header button.scroll-arrow:hover{color:#000}.tab-header button.scroll-arrow.left{left:0}.tab-header button.scroll-arrow.right{right:0}.scroll-fade{position:absolute;top:0;bottom:0;width:30px;z-index:1;pointer-events:none}.scroll-fade.left{left:40px;background:linear-gradient(\n to right,\n #ffffff,\n rgba(255, 255, 255, 0)\n )}.scroll-fade.right{right:40px;background:linear-gradient(\n to left,\n #ffffff,\n rgba(255, 255, 255, 0)\n )}.tab-header button udp-icon{font-size:1.2em;line-height:1}.tab-header button.icon-start{flex-direction:row}.tab-header button.icon-end{flex-direction:row-reverse}.tab-header button.icon-top{flex-direction:column;gap:4px}.tab-header button.icon-bottom{flex-direction:column-reverse;gap:4px}.slider{position:absolute;bottom:0;left:0;height:2px;background-color:var(--secondary-color, #344861);transition:transform 0.22s cubic-bezier(0.4, 0, 0.2, 1),\n width 0.22s cubic-bezier(0.4, 0, 0.2, 1);z-index:1}.tab-header button.disabled{opacity:0.5;cursor:not-allowed}.tab-header button.disabled.active{color:#757575;opacity:0.5}";const h=class{constructor(e){t(this,e);this.udpTabChange=i(this,"udpTabChange");this.variant="fill";this.tabs=[];this.internalActiveTab=0;this.tabDetails=[];this.sliderStyle={width:"0",transform:"translateX(0)"};this.showScrollLeft=false;this.showScrollRight=false;this.slottedTabs=[];this.buttonRefs=[]}get isControlled(){return this.value!=null}get useTabsProp(){return this.tabs&&this.tabs.length>0}get activeTab(){return this.isControlled?this.value:this.internalActiveTab}handleSlotChange(){if(this.useTabsProp)return;this.initializeTabs()}handleResize(){requestAnimationFrame((()=>{this.updateSliderPosition();this.checkScroll()}))}componentDidLoad(){this.initializeTabs()}onActiveTabChange(t){this.updateActiveTabs();this.updateSliderPosition();this.scrollTabIntoView(t)}onValueChange(t){this.updateActiveTabs();this.updateSliderPosition();this.scrollTabIntoView(t)}onTabsPropChange(){this.initializeTabs()}onVariantChange(){requestAnimationFrame((()=>{this.updateSliderPosition();this.checkScroll()}))}initializeTabs(){var t,e;this.buttonRefs=[];if(this.useTabsProp){this.tabDetails=this.tabs.map((t=>Object.assign({},t)));this.slottedTabs=[]}else{this.slottedTabs=Array.from(this.el.children).filter((t=>t.tagName.toLowerCase()==="udp-tab"));this.tabDetails=this.slottedTabs.map((t=>({label:t.label,icon:t.icon,iconPlacement:t.iconPlacement,hidden:t.hidden,disabled:t.disabled})))}if(!this.isControlled){if(((t=this.tabDetails[this.internalActiveTab])===null||t===void 0?void 0:t.hidden)||((e=this.tabDetails[this.internalActiveTab])===null||e===void 0?void 0:e.disabled)){const t=this.tabDetails.findIndex((t=>!t.hidden&&!t.disabled));this.internalActiveTab=t>-1?t:0}}this.updateActiveTabs();requestAnimationFrame((()=>{this.updateSliderPosition();this.checkScroll()}))}updateActiveTabs(){if(!this.useTabsProp){const t=this.activeTab;this.slottedTabs.forEach(((e,i)=>{e.active=i===t}))}}updateSliderPosition(){const t=this.buttonRefs[this.activeTab];if(!t){this.sliderStyle={width:"0px",transform:"translateX(0px)"};return}this.sliderStyle={width:`${t.offsetWidth}px`,transform:`translateX(${t.offsetLeft}px)`}}checkScroll(){if(!this.scrollContainerRef)return;const{scrollLeft:t,scrollWidth:e,clientWidth:i}=this.scrollContainerRef;const o=e>i;this.showScrollLeft=o&&t>1;this.showScrollRight=o&&t<e-i-1}tabClicked(t){var e;if((e=this.tabDetails[t])===null||e===void 0?void 0:e.disabled){return}if(this.isControlled){this.udpTabChange.emit(t)}else{this.internalActiveTab=t}}scrollTabIntoView(t){const e=this.buttonRefs[t];const i=this.scrollContainerRef;if(!e||!i)return;const{scrollLeft:o,clientWidth:s}=i;const n=e.offsetLeft;const a=n+e.offsetWidth;const r=70;const c=o+r;const d=o+s-r;if(n<c){i.scrollTo({left:n-r,behavior:"smooth"})}else if(a>d){i.scrollTo({left:a-s+r,behavior:"smooth"})}}scrollToStart(){if(!this.scrollContainerRef)return;this.scrollContainerRef.scrollTo({left:0,behavior:"smooth"})}scrollToEnd(){if(!this.scrollContainerRef)return;const t=this.scrollContainerRef;const{scrollWidth:e,clientWidth:i}=t;const o=e-i;t.scrollTo({left:o,behavior:"smooth"})}render(){const t=this.activeTab;return e("div",{key:"5300dbcdc9fff54d87fe64e3bbcc3b6a1f04c331",class:"tab-container"},e("div",{key:"83041e378183364889aa8d14114c9315ead1028c",class:`tab-header ${this.variant}`},this.showScrollLeft&&e("button",{key:"87d95478e27c13440e15e3d6b8cf4047d3e97e53",class:"scroll-arrow left",onClick:()=>this.scrollToStart(),"aria-label":"Scroll to first tab"},e("udp-icon",{key:"a81987c97a0459533f17b68103788af401f06378",iconName:"chevronLeft16",color:"inherit"})),this.showScrollLeft&&e("div",{key:"a52b3b7fba6022c4864f0cb89d24e34ade18a969",class:"scroll-fade left"}),e("div",{key:"0dc7ce8d4269539cfcd011736df876e6a64feebe",class:"tab-scroll-container",ref:t=>this.scrollContainerRef=t,onScroll:()=>this.checkScroll()},this.tabDetails.map(((i,o)=>{if(i.hidden){return null}const s=i.icon?e("udp-icon",{iconName:i.icon,color:"inherit"}):null;const n=e("span",null,i.label);return e("button",{class:{active:o===t,"has-icon":!!i.icon,[`icon-${i.iconPlacement}`]:!!i.icon,disabled:i.disabled},disabled:i.disabled,onClick:()=>this.tabClicked(o),role:"tab","aria-selected":o===t?"true":"false","aria-disabled":i.disabled?"true":"false",ref:t=>this.buttonRefs[o]=t},s,n)})),e("div",{key:"0892dff1735729462a927e9f7d0127b402a43918",class:"slider",style:this.sliderStyle})),this.showScrollRight&&e("div",{key:"edf6fc21360de9fd919e4d71aefec6e3c7ed9fdd",class:"scroll-fade right"}),this.showScrollRight&&e("button",{key:"88adff5cab4b8baff5a1e4c6ed5f2fe44064f05e",class:"scroll-arrow right",onClick:()=>this.scrollToEnd(),"aria-label":"Scroll to last tab"},e("udp-icon",{key:"7704e98608f492cb4f599b706b302e003d84bb46",iconName:"chevronRight16",color:"inherit"}))),!this.isControlled&&!this.useTabsProp&&e("div",{key:"fd61baeb3e79a387c1367813fbaa99f496ae4d62"},e("slot",{key:"872c0a2ead48abea1c946b7389c307a53d560705"})))}get el(){return o(this)}static get watchers(){return{internalActiveTab:["onActiveTabChange"],value:["onValueChange"],tabs:["onTabsPropChange"],variant:["onVariantChange"]}}};h.style=l;export{r as primary_action_header,d as udp_side_sheet,h as udp_tabs};
1
+ import{r as t,h as e,c as i,a as o}from"./index-CaZq3YdB.js";import{i as s}from"./iconMapping-CPerGeNF.js";import n from"@carbon/icons/es/close/24";import"@carbon/icons/es/add/16";import"@carbon/icons/es/add/32";import"@carbon/icons/es/add--alt/16";import"@carbon/icons/es/add--filled/16";import"@carbon/icons/es/arrows--horizontal/16";import"@carbon/icons/es/attachment/16";import"@carbon/icons/es/batch-job/16";import"@carbon/icons/es/box/16";import"@carbon/icons/es/close/16";import"@carbon/icons/es/close/32";import"@carbon/icons/es/close--filled/16";import"@carbon/icons/es/close--outline/16";import"@carbon/icons/es/checkmark/16";import"@carbon/icons/es/checkmark/24";import"@carbon/icons/es/checkmark/32";import"@carbon/icons/es/chevron--left/16";import"@carbon/icons/es/chevron--right/16";import"@carbon/icons/es/chevron--down/16";import"@carbon/icons/es/data-enrichment/16";import"@carbon/icons/es/document/16";import"@carbon/icons/es/document--add/16";import"@carbon/icons/es/document--attachment/16";import"@carbon/icons/es/document--pdf/16";import"@carbon/icons/es/document--video/16";import"@carbon/icons/es/document--audio/16";import"@carbon/icons/es/draggable/16";import"@carbon/icons/es/edit/16";import"@carbon/icons/es/export/16";import"@carbon/icons/es/flag/16";import"@carbon/icons/es/information/16";import"@carbon/icons/es/information/32";import"@carbon/icons/es/link/16";import"@carbon/icons/es/overflow-menu--vertical/16";import"@carbon/icons/es/overflow-menu--vertical/32";import"@carbon/icons/es/return/16";import"@carbon/icons/es/save/16";import"@carbon/icons/es/settings/16";import"@carbon/icons/es/subtract/16";import"@carbon/icons/es/subtract--alt/16";import"@carbon/icons/es/subtract--filled/16";import"@carbon/icons/es/trash-can/16";import"@carbon/icons/es/user/16";import"@carbon/icons/es/view/16";import"@carbon/icons/es/warning/16";import"@carbon/icons/es/warning/32";import"@carbon/icons/es/warning--alt/16";import"@carbon/icons/es/warning--alt/32";import"@carbon/icons/es/product/16";import"@carbon/icons/es/workspace/16";import"@carbon/icons/es/arrow--up/16";import"@carbon/icons/es/arrow--down/16";import"@carbon/icons/es/arrow--right/16";import"@carbon/icons/es/arrow--left/16";import"@carbon/icons/es/copy/16";import"@carbon/icons/es/star/16";import"@carbon/icons/es/data-table/16";import"@carbon/icons/es/fit-to-width/16";import"@carbon/icons/es/search--advanced/16";import"@carbon/icons/es/reset/16";import"@carbon/icons/es/column/16";import"@carbon/icons/es/column--delete/16";import"@carbon/icons/es/watson-health/rotate--360/16";import"@carbon/icons/es/filter/16";import"@carbon/icons/es/app-connectivity/16";import"@carbon/icons/es/text--font/16";import"@carbon/icons/es/text--long-paragraph/16";import"@carbon/icons/es/character--whole-number/16";import"@carbon/icons/es/checkbox--checked/16";import"@carbon/icons/es/radio-button--checked/16";import"@carbon/icons/es/event--schedule/16";import"@carbon/icons/es/view--off/16";import"@carbon/icons/es/time/16";import"@carbon/icons/es/calendar/16";import"@carbon/icons/es/list--checked/16";import"@carbon/icons/es/list--bulleted/16";import"@carbon/icons/es/cloud--upload/16";import"@carbon/icons/es/locked/16";import"@carbon/icons/es/pause/16";import"@carbon/icons/es/unlocked/16";import"@carbon/icons/es/send/16";import"@carbon/icons/es/email/16";import"@carbon/icons/es/checkmark--outline/16";import"@carbon/icons/es/migrate--alt/16";import"@carbon/icons/es/checkbox--checked--filled/16";import"@carbon/icons/es/checkbox/16";import"@carbon/icons/es/ZIP/16";import"@carbon/icons/es/image/16";import"@carbon/icons/es/PPT/16";import"@carbon/icons/es/XLS/16";const a=":host{display:block;font-family:var(--font-family-base, sans-serif);background-color:var(--primary-action-header-background, #ffffff);color:var(--primary-action-header-text-color, rgba(0, 0, 0, 0.87));box-shadow:var(--primary-action-header-shadow, 0px 2px 4px -1px rgba(0,0,0,0.2));height:var(--primary-action-header-height, 48px);padding:var(--primary-action-header-padding, 0 var(--spacing-04));box-sizing:border-box}.header-bar{display:flex;justify-content:space-between;align-items:center;width:100%;height:100%}.title-section{flex-shrink:0;margin-right:var(--spacing-md, 16px)}.tabs{flex-grow:1;display:flex;justify-content:center;align-items:stretch;min-width:0}.tabs udp-tabs{width:100%;display:flex;justify-content:center}.tabs udp-tabs::part(tab-list){}.tabs udp-tabs button{padding:0 16px;margin:0 var(--spacing-xxs, 4px);height:100%;border:none;background-color:transparent;cursor:pointer;font-size:var(--font-size-sm, 0.875rem);color:var(--text-color-secondary, rgba(0, 0, 0, 0.6));text-transform:uppercase;font-weight:var(--font-weight-medium, 500);border-bottom:2px solid transparent;transition:color 0.3s ease, border-bottom-color 0.3s ease}.tabs udp-tabs button:hover{color:var(--primary-color-hover, var(--primary-color, #1976d2))}.tabs udp-tabs button.active{color:var(--primary-color, #1976d2);border-bottom:2px solid var(--primary-color, #1976d2)}.button-section{display:flex;align-items:center;flex-shrink:0;gap:var(--spacing-sm, 8px)}.button-section stencil-icon-button{color:var(--primary-action-header-icon-color, var(--text-color-primary, rgba(0, 0, 0, 0.54)))}.button-section stencil-icon-button:hover{background-color:rgba(0,0,0,0.04)}.button-section custom-button{}";const r=class{constructor(e){t(this,e);this.hiddenActionButtons=[];this.hiddenLabels=[];this.actionButtons=[];this.defaultActionButtons=[];this.tabs=true;this.actionButtonLabel=""}getIconComponent(t,e){if(e){return e}if(typeof t==="string"){return s[t]}return t}renderIcon(t){if(t&&t.elem==="svg"){return e("svg",Object.assign({},t.attrs),t.content.map(((t,i)=>e("path",Object.assign({key:i},t.attrs)))))}return null}render(){console.log("active tab",this.activeTabIndex);return e("div",{key:"6619a0d1886bed91baf548f6577ffd29a6583e10",class:"header-bar"},e("div",{key:"42005c79b8749912231c96e12bdeb03ae5d0e3c5",class:"title-section"},e("unity-typography",{key:"2c9910a18282fb24d024428ac4f100fe4a884a0f",variant:"h4"},this.title)),this.tabs&&e("div",{key:"1557c08c085bfc8784322861d56bb6b3d0649ab6",class:"tabs"},e("udp-tabs",{key:"d0825c8efaed182864999508c19550e979ee5982"},e("button",{key:"a7f4a1ddcde103c52a316ea1460828b39503398f",class:this.activeTabIndex===0?"active":"",slot:"tab-title",onClick:()=>this.selectTab(0)},"Demo Grid"),e("button",{key:"f39ba5df6b9acc160f3951fd3f1a2407e413331b",class:this.activeTabIndex===1?"active":"",slot:"tab-title",onClick:()=>this.selectTab(1)},"Other Content"))),e("div",{key:"7a2fd6fd7dc477c7b6bce09394f6ea5763cd22e0",class:"button-section"},this.defaultActionButtons.map((t=>{const i=this.getIconComponent(t.icon,t.customIcon);const o=e=>{if(t.clickHandler){t.clickHandler(e)}else{console.log(`${t.label} Clicked but no custom handler defined`)}};if(!this.hiddenActionButtons.includes(t.label)&&t.visible){return e("stencil-icon-button",{secondary:t.secondary,onClick:o,tooltip:t.tooltip},this.renderIcon(i),!this.hiddenLabels.includes(t.label)&&t.showLabel&&e("span",null,t.label))}return null})),!this.actionButtonLabel&&e("div",{key:"1794f324f22d659d1e072e1a5f35e05ea81b9388",class:"right-margin"}),this.actionButtonLabel&&e("udp-button",{key:"8f2fe83b58c869cdfac6db0d48a7d03aaead6ec1",variant:"contained",color:"secondary",onClick:t=>this.primaryActionClick(t)},this.actionButtonLabel)))}};r.style=a;const c=":host{position:fixed;top:0;left:0;width:0;height:0;overflow:hidden;transform:translate(0);z-index:9999;visibility:hidden;transition:visibility 0s 0.2s, width 0s 0.2s, height 0s 0.2s}:host(.is-visible){width:100vw;height:100vh;overflow:visible;visibility:visible;transition-delay:0s}.backdrop{background:rgba(0, 0, 0, 0.5);width:100%;height:100%;position:fixed;top:0;left:0;opacity:0;transition:opacity 0.2s ease-in-out}:host(.is-visible) .backdrop{opacity:1}.sheet{background:white;height:100vh;position:fixed;top:0;display:flex;flex-direction:column;box-shadow:0 0 4px rgba(0, 0, 0, 0.3);transition:transform 0.2s ease-in-out;width:100%}.sheet.right{right:0;transform:translateX(100%)}.sheet.left{left:0;transform:translateX(-100%)}:host(.is-visible) .sheet{transform:translateX(0)}.sheet.sm{max-width:360px}.sheet.md{max-width:600px}.sheet.lg{max-width:960px}.sheet.full{max-width:100%}.sheet.custom-width{}.title-container{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;box-shadow:var(--elevation-01, 0 4px 8px rgba(0, 0, 0, 0.1));gap:var(--spacing-02)}.title-text{flex-grow:1;text-align:left;}.close-button{flex-shrink:0}.header-action-button{flex-shrink:0;display:flex;align-items:center;gap:var(--spacing-02, 4px);padding:var(--spacing-03, 8px) var(--spacing-03, 8px) var(--spacing-03, 8px) 0}.content{overflow-y:auto;flex-grow:1;background-color:var(--gray-01)}.content.padding{padding:var(--spacing-05, 24px)}.footer{padding:var(--spacing-03, 8px);box-shadow:var(--elevation-01, 0 4px 8px rgba(0, 0, 0, 0.1));display:flex;justify-content:flex-end;flex-shrink:0;width:100%;gap:var(--spacing-02, 4px);align-items:center}.footer.secondary-button-overflow{flex-direction:row-reverse}.footer-secondary-buttons-container{flex-grow:2;width:100%}.footer-secondary-buttons{display:flex;justify-content:flex-end;gap:var(--spacing-02, 4px);align-items:center}.footer-secondary-buttons.secondary-button-overflow{flex-grow:1}.loader-container{height:4px;width:100%;background-color:var(--gray-01)}.loader-container udp-linear-loader{visibility:hidden;opacity:0;transition:none}.loader-container udp-linear-loader.is-loading{visibility:visible;opacity:1;}";const d=class{constructor(e){t(this,e);this.udpSideSheetClose=i(this,"udpSideSheetClose");this.udpPrimaryButtonClick=i(this,"udpPrimaryButtonClick");this.udpHeaderActionButtonClick=i(this,"udpHeaderActionButtonClick");this.open=false;this.position="right";this.width="md";this.padding=true;this.loading=false;this.headerActionButtonDisabled=false;this.primaryButtonDisabled=false;this.showOverflowButton=false;this.openOverflowMenu=false;this.visibleSecondaryButtons=[];this.overflowSecondaryButtons=[];this.originalBodyOverflow="";this.originalBodyPaddingRight="";this.handleTransitionEnd=()=>{if(!this.open&&this.hostEl.parentElement===document.body){document.body.removeChild(this.hostEl)}};this.onClose=()=>{this.open=false;this.udpSideSheetClose.emit()};this.onCloseBackdrop=t=>{if(t.target===t.currentTarget){this.onClose()}};this.onPrimaryButtonClick=()=>{this.udpPrimaryButtonClick.emit()};this.onHeaderActionButtonClick=()=>{this.udpHeaderActionButtonClick.emit()};this.onMoreActionButtonClick=t=>{this.overflowMenuAnchor=t.currentTarget;this.openOverflowMenu=true};this.handleCloseOverflowMenu=()=>{this.openOverflowMenu=false}}handleOpenChange(t,e){if(t===e){return}if(t){const t=window.innerWidth-document.documentElement.clientWidth;this.originalBodyOverflow=document.body.style.overflow;this.originalBodyPaddingRight=document.body.style.paddingRight;document.body.appendChild(this.hostEl);if(t>0){const e=parseInt(window.getComputedStyle(document.body).paddingRight)||0;document.body.style.paddingRight=`${e+t}px`}document.body.style.overflow="hidden";requestAnimationFrame((()=>{this.hostEl.classList.add("is-visible");setTimeout((()=>this.checkOverflow()),50)}))}else{this.hostEl.classList.remove("is-visible");document.body.style.overflow=this.originalBodyOverflow;document.body.style.paddingRight=this.originalBodyPaddingRight;this.hostEl.addEventListener("transitionend",this.handleTransitionEnd,{once:true})}}handleSecondaryButtonsChange(){setTimeout((()=>this.checkOverflow()),50)}checkOverflow(){if(!this.footerRef||!this.measurementContainerRef){return}if(!this.footerSecondaryButtons||this.footerSecondaryButtons.length===0){this.showOverflowButton=false;return}const t=this.footerRef.offsetWidth;const e=window.getComputedStyle(this.footerRef);const i=parseFloat(e.paddingLeft);const o=parseFloat(e.paddingRight);const s=t-i-o;const n=this.measurementContainerRef.querySelectorAll("udp-button");let a=0;n.forEach(((t,e)=>{const i=t&&t instanceof HTMLElement?t.offsetWidth:0;a+=i;if(e<n.length-1){const t=window.getComputedStyle(this.measurementContainerRef);const e=parseFloat(t.gap)||4;a+=e}}));const r=10;const c=a+r>s;this.showOverflowButton=c}componentDidLoad(){{this.resizeObserver=new ResizeObserver((()=>{this.checkOverflow()}));requestAnimationFrame((()=>{setTimeout((()=>{if(this.footerRef){this.resizeObserver.observe(this.footerRef)}this.checkOverflow()}),100)}))}}disconnectedCallback(){if(document.body.style.overflow==="hidden"){document.body.style.overflow=this.originalBodyOverflow;document.body.style.paddingRight=this.originalBodyPaddingRight}if(this.resizeObserver){this.resizeObserver.disconnect()}}render(){var t,i,o,s,a,r,c;const d=typeof this.width==="number"?"custom-width":this.width;const l=typeof this.width==="number"?{maxWidth:`${this.width}px`}:{};const h=Boolean(this.headerActionButtonIcon)?e("udp-icon",{iconName:this.headerActionButtonIcon,color:"inherit"}):undefined;const b=e("udp-icon",{key:"6da1f10cce0b9e2b2f597df9249ef45128445801",iconName:"overflowMenuVertical",color:"inherit"});return e("div",{key:"20237474eebbd73253c97b28229607d10ac91e2f",class:"backdrop",onClick:this.onCloseBackdrop},e("div",{key:"5b09a3b7e0905a7eef6875499eb863daedcb8969",class:{sheet:true,[this.position]:true,[d]:true},style:l},e("div",{key:"99c0fa14ced2b4397b066f9348984cf85c5e6325",class:"title-container"},e("div",{key:"a47a3669b74bfc3e7235ab4487fcae6b24675b26",class:"close-button"},e("stencil-icon-button",{key:"46a52c8e2f4ac95b4ef668e05905fdde9f8d0ee4",icon:n,onClick:this.onClose,secondary:true})),e("div",{key:"267ede825a8d9fab576c7bb0eeac782b8195372c",class:"title-text"},e("unity-typography",{key:"b3001278f39e3311e2b736dd47d91ecb04601981",variant:"h6"},this.title)),(this.headerActionButtonLabel||((t=this.headerSecondaryButtons)===null||t===void 0?void 0:t.length)>0)&&e("div",{key:"5751cfe92eb7b01c836085d50429f19234844b31",class:"header-action-button"},(i=this.headerSecondaryButtons)===null||i===void 0?void 0:i.map((t=>e("udp-button",{variant:"outlined",disabled:t.disabled,onClick:t.onClick,endIcon:t.icon},t.label))),this.headerActionButtonLabel&&e("udp-button",{key:"a8f34ed12616418ee42cb5eec10e92add96598a6",disabled:this.headerActionButtonDisabled,onClick:this.onHeaderActionButtonClick,startIcon:h,variant:"contained"},this.headerActionButtonLabel))),e("div",{key:"94364ba51f35c7a46fddb17792c7905dfd6ebc45",class:"loader-container"},e("udp-linear-loader",{key:"e12b1130a11b4a9de87aa8da219f538354508e9f",class:{"is-loading":this.loading},color:"primary"})),e("div",{key:"eb842f58defdcd74ef6a28815f11f21c68c8c2ee",class:{content:true,padding:this.padding}},e("slot",{key:"d7731b049a94fb19d38c045ea76c2bf78062ec1b"})),(this.primaryButtonLabel||((o=this.footerSecondaryButtons)===null||o===void 0?void 0:o.length)>0)&&e("div",{key:"0991510d62b3fefd3027f15b96e46d44a8ac66e1"},e("div",{key:"148a2ebb2385c9e04c5957fff1d9be90a57d441c",class:"loader-container"}),e("div",{key:"ffe55575f51be1c9136cc1bdf8eb3a43e14b01da",class:{footer:true},ref:t=>this.footerRef=t},!this.showOverflowButton&&((s=this.footerSecondaryButtons)===null||s===void 0?void 0:s.length)>0&&e("div",{key:"47b70ed64e9246d63819afcdb93d40eb6559a9a8",class:"footer-secondary-buttons-container"},e("div",{key:"ef8f34e7c4c01c4a9f689a1cffe648837663a46c",class:"footer-secondary-buttons"},(a=this.footerSecondaryButtons)===null||a===void 0?void 0:a.map((t=>e("udp-button",{variant:"outlined",disabled:t.disabled,onClick:t.onClick,endIcon:t.icon},t.label))))),this.showOverflowButton&&e("udp-button",{key:"aa388701ba4d91be157b3ee4ad434d50b8d03efe",variant:"outlined",onClick:this.onMoreActionButtonClick,color:"secondary",endIcon:b},"More"),this.primaryButtonLabel&&e("udp-button",{key:"cb644736d0d39dcd89cd2fe2d721810781a581d2",variant:"contained",disabled:this.primaryButtonDisabled,onClick:this.onPrimaryButtonClick,endIcon:this.primaryButtonIcon},this.primaryButtonLabel),this.showOverflowButton&&e("udp-pop-over",{key:"7de1a458880803c3a3b912aaa567c9df82748531",anchorElement:this.overflowMenuAnchor,isOpen:this.openOverflowMenu,popoverWidth:"200px",popoverMaxHeight:"300px",handleOnClose:this.handleCloseOverflowMenu},e("div",{key:"dc0dc7b56615ede816650bf970e6059b8ea30c2d",class:"menu"},(r=this.footerSecondaryButtons)===null||r===void 0?void 0:r.map((t=>e("udp-menu-item",{label:t===null||t===void 0?void 0:t.label,iconName:t===null||t===void 0?void 0:t.icon,onItemClick:()=>{t===null||t===void 0?void 0:t.onClick();this.handleCloseOverflowMenu()},disabled:t===null||t===void 0?void 0:t.disabled}))))),e("div",{key:"a7aecadc65eb2fb3a106c19f6101e4c6c158c960",ref:t=>this.measurementContainerRef=t,style:{position:"absolute",visibility:"hidden",pointerEvents:"none",display:"flex",gap:"var(--spacing-02, 4px)"},"aria-hidden":"true"},(c=this.footerSecondaryButtons)===null||c===void 0?void 0:c.map((t=>e("udp-button",{variant:"text",size:"medium",disabled:t.disabled,endIcon:t.icon},t.label))),this.primaryButtonLabel&&e("udp-button",{key:"64be9bf39748c7c301d4f4d264fae98ed0e40302",variant:"contained",size:"medium",disabled:this.primaryButtonDisabled,endIcon:this.primaryButtonIcon},this.primaryButtonLabel))))))}get hostEl(){return o(this)}static get watchers(){return{open:["handleOpenChange"],footerSecondaryButtons:["handleSecondaryButtonsChange"]}}};d.style=c;const l=".tab-container{display:flex;flex-direction:column}.tab-header{background-color:#ffffff;position:relative;display:flex;align-items:center}.tab-scroll-container{display:flex;position:relative;overflow-x:auto;overflow-y:hidden;flex:1;min-width:0}.tab-scroll-container::-webkit-scrollbar{height:4px}.tab-scroll-container::-webkit-scrollbar-track{background:transparent}.tab-scroll-container::-webkit-scrollbar-thumb{background-color:rgba(0, 0, 0, 0.2);border-radius:4px}.tab-scroll-container::-webkit-scrollbar-thumb:hover{background-color:rgba(0, 0, 0, 0.3)}.tab-header::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:var(--divider-color, #e0e0e0)}.tab-header button{padding:16px;font-size:14px;text-align:center;border:none;background:none;cursor:pointer;outline:none;transition:all 0.22s ease;color:#555555;font-weight:600;opacity:0.9;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:8px}.tab-header.fill .tab-scroll-container{width:100%}.tab-header.fill .tab-scroll-container button{flex-grow:1}.tab-header button.active{color:var(--secondary-color, #344861);opacity:1.0}.tab-header button.scroll-arrow{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;width:40px;padding:0;background:#ffffff;cursor:pointer;font-size:16px;font-weight:bold;color:#757575;z-index:2;transition:color 0.2s ease;flex-shrink:0;opacity:1;gap:0}.tab-header button.scroll-arrow:hover{color:#000}.tab-header button.scroll-arrow.left{left:0}.tab-header button.scroll-arrow.right{right:0}.scroll-fade{position:absolute;top:0;bottom:0;width:30px;z-index:1;pointer-events:none}.scroll-fade.left{left:40px;background:linear-gradient(\n to right,\n #ffffff,\n rgba(255, 255, 255, 0)\n )}.scroll-fade.right{right:40px;background:linear-gradient(\n to left,\n #ffffff,\n rgba(255, 255, 255, 0)\n )}.tab-header button udp-icon{font-size:1.2em;line-height:1}.tab-header button.icon-start{flex-direction:row}.tab-header button.icon-end{flex-direction:row-reverse}.tab-header button.icon-top{flex-direction:column;gap:4px}.tab-header button.icon-bottom{flex-direction:column-reverse;gap:4px}.slider{position:absolute;bottom:0;left:0;height:2px;background-color:var(--secondary-color, #344861);transition:transform 0.22s cubic-bezier(0.4, 0, 0.2, 1),\n width 0.22s cubic-bezier(0.4, 0, 0.2, 1);z-index:1}.tab-header button.disabled{opacity:0.5;cursor:not-allowed}.tab-header button.disabled.active{color:#757575;opacity:0.5}";const h=class{constructor(e){t(this,e);this.udpTabChange=i(this,"udpTabChange");this.variant="fill";this.tabs=[];this.internalActiveTab=0;this.tabDetails=[];this.sliderStyle={width:"0",transform:"translateX(0)"};this.showScrollLeft=false;this.showScrollRight=false;this.slottedTabs=[];this.buttonRefs=[]}get isControlled(){return this.value!=null}get useTabsProp(){return this.tabs&&this.tabs.length>0}get activeTab(){return this.isControlled?this.value:this.internalActiveTab}handleSlotChange(){if(this.useTabsProp)return;this.initializeTabs()}handleResize(){requestAnimationFrame((()=>{this.updateSliderPosition();this.checkScroll()}))}componentDidLoad(){this.initializeTabs()}onActiveTabChange(t){this.updateActiveTabs();this.updateSliderPosition();this.scrollTabIntoView(t)}onValueChange(t){this.updateActiveTabs();this.updateSliderPosition();this.scrollTabIntoView(t)}onTabsPropChange(){this.initializeTabs()}onVariantChange(){requestAnimationFrame((()=>{this.updateSliderPosition();this.checkScroll()}))}initializeTabs(){var t,e;this.buttonRefs=[];if(this.useTabsProp){this.tabDetails=this.tabs.map((t=>Object.assign({},t)));this.slottedTabs=[]}else{this.slottedTabs=Array.from(this.el.children).filter((t=>t.tagName.toLowerCase()==="udp-tab"));this.tabDetails=this.slottedTabs.map((t=>({label:t.label,icon:t.icon,iconPlacement:t.iconPlacement,hidden:t.hidden,disabled:t.disabled})))}if(!this.isControlled){if(((t=this.tabDetails[this.internalActiveTab])===null||t===void 0?void 0:t.hidden)||((e=this.tabDetails[this.internalActiveTab])===null||e===void 0?void 0:e.disabled)){const t=this.tabDetails.findIndex((t=>!t.hidden&&!t.disabled));this.internalActiveTab=t>-1?t:0}}this.updateActiveTabs();requestAnimationFrame((()=>{this.updateSliderPosition();this.checkScroll()}))}updateActiveTabs(){if(!this.useTabsProp){const t=this.activeTab;this.slottedTabs.forEach(((e,i)=>{e.active=i===t}))}}updateSliderPosition(){const t=this.buttonRefs[this.activeTab];if(!t){this.sliderStyle={width:"0px",transform:"translateX(0px)"};return}this.sliderStyle={width:`${t.offsetWidth}px`,transform:`translateX(${t.offsetLeft}px)`}}checkScroll(){if(!this.scrollContainerRef)return;const{scrollLeft:t,scrollWidth:e,clientWidth:i}=this.scrollContainerRef;const o=e>i;this.showScrollLeft=o&&t>1;this.showScrollRight=o&&t<e-i-1}tabClicked(t){var e;if((e=this.tabDetails[t])===null||e===void 0?void 0:e.disabled){return}if(this.isControlled){this.udpTabChange.emit(t)}else{this.internalActiveTab=t}}scrollTabIntoView(t){const e=this.buttonRefs[t];const i=this.scrollContainerRef;if(!e||!i)return;const{scrollLeft:o,clientWidth:s}=i;const n=e.offsetLeft;const a=n+e.offsetWidth;const r=70;const c=o+r;const d=o+s-r;if(n<c){i.scrollTo({left:n-r,behavior:"smooth"})}else if(a>d){i.scrollTo({left:a-s+r,behavior:"smooth"})}}scrollToStart(){if(!this.scrollContainerRef)return;this.scrollContainerRef.scrollTo({left:0,behavior:"smooth"})}scrollToEnd(){if(!this.scrollContainerRef)return;const t=this.scrollContainerRef;const{scrollWidth:e,clientWidth:i}=t;const o=e-i;t.scrollTo({left:o,behavior:"smooth"})}render(){const t=this.activeTab;return e("div",{key:"5300dbcdc9fff54d87fe64e3bbcc3b6a1f04c331",class:"tab-container"},e("div",{key:"83041e378183364889aa8d14114c9315ead1028c",class:`tab-header ${this.variant}`},this.showScrollLeft&&e("button",{key:"87d95478e27c13440e15e3d6b8cf4047d3e97e53",class:"scroll-arrow left",onClick:()=>this.scrollToStart(),"aria-label":"Scroll to first tab"},e("udp-icon",{key:"a81987c97a0459533f17b68103788af401f06378",iconName:"chevronLeft16",color:"inherit"})),this.showScrollLeft&&e("div",{key:"a52b3b7fba6022c4864f0cb89d24e34ade18a969",class:"scroll-fade left"}),e("div",{key:"0dc7ce8d4269539cfcd011736df876e6a64feebe",class:"tab-scroll-container",ref:t=>this.scrollContainerRef=t,onScroll:()=>this.checkScroll()},this.tabDetails.map(((i,o)=>{if(i.hidden){return null}const s=i.icon?e("udp-icon",{iconName:i.icon,color:"inherit"}):null;const n=e("span",null,i.label);return e("button",{class:{active:o===t,"has-icon":!!i.icon,[`icon-${i.iconPlacement}`]:!!i.icon,disabled:i.disabled},disabled:i.disabled,onClick:()=>this.tabClicked(o),role:"tab","aria-selected":o===t?"true":"false","aria-disabled":i.disabled?"true":"false",ref:t=>this.buttonRefs[o]=t},s,n)})),e("div",{key:"0892dff1735729462a927e9f7d0127b402a43918",class:"slider",style:this.sliderStyle})),this.showScrollRight&&e("div",{key:"edf6fc21360de9fd919e4d71aefec6e3c7ed9fdd",class:"scroll-fade right"}),this.showScrollRight&&e("button",{key:"88adff5cab4b8baff5a1e4c6ed5f2fe44064f05e",class:"scroll-arrow right",onClick:()=>this.scrollToEnd(),"aria-label":"Scroll to last tab"},e("udp-icon",{key:"7704e98608f492cb4f599b706b302e003d84bb46",iconName:"chevronRight16",color:"inherit"}))),!this.isControlled&&!this.useTabsProp&&e("div",{key:"fd61baeb3e79a387c1367813fbaa99f496ae4d62"},e("slot",{key:"872c0a2ead48abea1c946b7389c307a53d560705"})))}get el(){return o(this)}static get watchers(){return{internalActiveTab:["onActiveTabChange"],value:["onValueChange"],tabs:["onTabsPropChange"],variant:["onVariantChange"]}}};h.style=l;export{r as primary_action_header,d as udp_side_sheet,h as udp_tabs};
2
2
  //# sourceMappingURL=primary-action-header_3.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["registerInstance","h","createEvent","getElement","iconMapping","Close24","primaryActionHeaderCss","PrimaryActionHeader","constructor","hostRef","this","hiddenActionButtons","hiddenLabels","actionButtons","defaultActionButtons","tabs","actionButtonLabel","getIconComponent","icon","customIcon","renderIcon","ActualIcon","elem","Object","assign","attrs","content","map","index","key","render","console","log","activeTabIndex","class","variant","title","slot","onClick","selectTab","btn","clickHandler","event","label","includes","visible","secondary","tooltip","showLabel","color","primaryActionClick","style","udpSideSheetCss","UdpSideSheet","udpSideSheetClose","udpPrimaryButtonClick","udpHeaderActionButtonClick","open","position","width","padding","loading","headerActionButtonDisabled","primaryButtonDisabled","showOverflowButton","openOverflowMenu","visibleSecondaryButtons","overflowSecondaryButtons","originalBodyOverflow","originalBodyPaddingRight","handleTransitionEnd","hostEl","parentElement","document","body","removeChild","onClose","emit","onCloseBackdrop","e","target","currentTarget","onPrimaryButtonClick","onHeaderActionButtonClick","onMoreActionButtonClick","overflowMenuAnchor","handleCloseOverflowMenu","handleOpenChange","newValue","oldValue","scrollbarWidth","window","innerWidth","documentElement","clientWidth","overflow","paddingRight","appendChild","currentPadding","parseInt","getComputedStyle","requestAnimationFrame","classList","add","setTimeout","checkOverflow","remove","addEventListener","once","handleSecondaryButtonsChange","footerRef","measurementContainerRef","footerSecondaryButtons","length","footerWidth","offsetWidth","footerStyle","footerPaddingLeft","parseFloat","paddingLeft","footerPaddingRight","availableWidth","measurementButtons","querySelectorAll","totalWidth","forEach","button","buttonWidth","HTMLElement","containerStyle","gap","buffer","isOverflowing","componentDidLoad","resizeObserver","ResizeObserver","observe","disconnectedCallback","disconnect","_a","_b","_c","_d","_e","_f","_g","widthClass","sideSheetStyle","maxWidth","headerStartIcon","Boolean","headerActionButtonIcon","iconName","undefined","overflowIcon","sheet","headerActionButtonLabel","headerSecondaryButtons","item","disabled","endIcon","startIcon","primaryButtonLabel","footer","ref","el","primaryButtonIcon","anchorElement","isOpen","popoverWidth","popoverMaxHeight","handleOnClose","onItemClick","visibility","pointerEvents","display","size","watchers","udpTabsCss","UdpTabs","udpTabChange","internalActiveTab","tabDetails","sliderStyle","transform","showScrollLeft","showScrollRight","slottedTabs","buttonRefs","isControlled","value","useTabsProp","activeTab","handleSlotChange","initializeTabs","handleResize","updateSliderPosition","checkScroll","onActiveTabChange","updateActiveTabs","scrollTabIntoView","onValueChange","onTabsPropChange","onVariantChange","t","Array","from","children","filter","child","tagName","toLowerCase","tab","iconPlacement","hidden","firstValidIndex","findIndex","currentActiveTab","active","activeButton","offsetLeft","scrollContainerRef","scrollLeft","scrollWidth","tabClicked","tabIndex","tabButton","container","tabLeft","tabRight","safeZonePadding","safeZoneLeft","safeZoneRight","scrollTo","left","behavior","scrollToStart","scrollToEnd","maxScrollLeft","onScroll","iconEl","labelEl","role"],"sources":["0"],"mappings":"YAAcA,OAAkBC,OAAQC,OAAkBC,MAAkB,kCAC9DC,MAAmB,mCAC1BC,MAAa,kCACb,gCACA,gCACA,qCACA,wCACA,+CACA,uCACA,sCACA,gCACA,kCACA,kCACA,0CACA,2CACA,sCACA,sCACA,sCACA,0CACA,2CACA,0CACA,4CACA,qCACA,0CACA,iDACA,0CACA,4CACA,4CACA,sCACA,iCACA,mCACA,iCACA,wCACA,wCACA,iCACA,oDACA,oDACA,mCACA,iCACA,qCACA,qCACA,0CACA,6CACA,sCACA,iCACA,iCACA,oCACA,oCACA,yCACA,yCACA,oCACA,sCACA,sCACA,wCACA,yCACA,wCACA,iCACA,iCACA,uCACA,yCACA,6CACA,kCACA,mCACA,2CACA,sDACA,mCACA,6CACA,uCACA,iDACA,oDACA,8CACA,kDACA,4CACA,sCACA,iCACA,qCACA,0CACA,2CACA,0CACA,mCACA,kCACA,qCACA,iCACA,kCACA,+CACA,yCACA,sDACA,qCACA,gCACA,kCACA,gCACA,0BAEP,MAAMC,EAAyB,gqDAE/B,MAAMC,EAAsB,MACxB,WAAAC,CAAYC,GACRT,EAAiBU,KAAMD,GACvBC,KAAKC,oBAAsB,GAC3BD,KAAKE,aAAe,GACpBF,KAAKG,cAAgB,GACrBH,KAAKI,qBAAuB,GAC5BJ,KAAKK,KAAO,KACZL,KAAKM,kBAAoB,EAC7B,CAEA,gBAAAC,CAAiBC,EAAMC,GACnB,GAAIA,EAAY,CACZ,OAAOA,CACX,CACA,UAAWD,IAAS,SAAU,CAC1B,OAAOd,EAAYc,EACvB,CACA,OAAOA,CACX,CACA,UAAAE,CAAWC,GACP,GAAIA,GAAcA,EAAWC,OAAS,MAAO,CACzC,OAAQrB,EAAE,MAAOsB,OAAOC,OAAO,CAAC,EAAGH,EAAWI,OAAQJ,EAAWK,QAAQC,KAAI,CAACD,EAASE,IAC5E3B,EAAE,OAAQsB,OAAOC,OAAO,CAAEK,IAAKD,GAASF,EAAQD,UAE/D,CACA,OAAO,IACX,CAIA,MAAAK,GACIC,QAAQC,IAAI,aAActB,KAAKuB,gBAC/B,OAAQhC,EAAE,MAAO,CAAE4B,IAAK,2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","ignoreList":[]}
1
+ {"version":3,"names":["registerInstance","h","createEvent","getElement","iconMapping","Close24","primaryActionHeaderCss","PrimaryActionHeader","constructor","hostRef","this","hiddenActionButtons","hiddenLabels","actionButtons","defaultActionButtons","tabs","actionButtonLabel","getIconComponent","icon","customIcon","renderIcon","ActualIcon","elem","Object","assign","attrs","content","map","index","key","render","console","log","activeTabIndex","class","variant","title","slot","onClick","selectTab","btn","clickHandler","event","label","includes","visible","secondary","tooltip","showLabel","color","primaryActionClick","style","udpSideSheetCss","UdpSideSheet","udpSideSheetClose","udpPrimaryButtonClick","udpHeaderActionButtonClick","open","position","width","padding","loading","headerActionButtonDisabled","primaryButtonDisabled","showOverflowButton","openOverflowMenu","visibleSecondaryButtons","overflowSecondaryButtons","originalBodyOverflow","originalBodyPaddingRight","handleTransitionEnd","hostEl","parentElement","document","body","removeChild","onClose","emit","onCloseBackdrop","e","target","currentTarget","onPrimaryButtonClick","onHeaderActionButtonClick","onMoreActionButtonClick","overflowMenuAnchor","handleCloseOverflowMenu","handleOpenChange","newValue","oldValue","scrollbarWidth","window","innerWidth","documentElement","clientWidth","overflow","paddingRight","appendChild","currentPadding","parseInt","getComputedStyle","requestAnimationFrame","classList","add","setTimeout","checkOverflow","remove","addEventListener","once","handleSecondaryButtonsChange","footerRef","measurementContainerRef","footerSecondaryButtons","length","footerWidth","offsetWidth","footerStyle","footerPaddingLeft","parseFloat","paddingLeft","footerPaddingRight","availableWidth","measurementButtons","querySelectorAll","totalWidth","forEach","button","buttonWidth","HTMLElement","containerStyle","gap","buffer","isOverflowing","componentDidLoad","resizeObserver","ResizeObserver","observe","disconnectedCallback","disconnect","_a","_b","_c","_d","_e","_f","_g","widthClass","sideSheetStyle","maxWidth","headerStartIcon","Boolean","headerActionButtonIcon","iconName","undefined","overflowIcon","sheet","headerActionButtonLabel","headerSecondaryButtons","item","disabled","endIcon","startIcon","primaryButtonLabel","footer","ref","el","primaryButtonIcon","anchorElement","isOpen","popoverWidth","popoverMaxHeight","handleOnClose","onItemClick","visibility","pointerEvents","display","size","watchers","udpTabsCss","UdpTabs","udpTabChange","internalActiveTab","tabDetails","sliderStyle","transform","showScrollLeft","showScrollRight","slottedTabs","buttonRefs","isControlled","value","useTabsProp","activeTab","handleSlotChange","initializeTabs","handleResize","updateSliderPosition","checkScroll","onActiveTabChange","updateActiveTabs","scrollTabIntoView","onValueChange","onTabsPropChange","onVariantChange","t","Array","from","children","filter","child","tagName","toLowerCase","tab","iconPlacement","hidden","firstValidIndex","findIndex","currentActiveTab","active","activeButton","offsetLeft","scrollContainerRef","scrollLeft","scrollWidth","tabClicked","tabIndex","tabButton","container","tabLeft","tabRight","safeZonePadding","safeZoneLeft","safeZoneRight","scrollTo","left","behavior","scrollToStart","scrollToEnd","maxScrollLeft","onScroll","iconEl","labelEl","role"],"sources":["0"],"mappings":"YAAcA,OAAkBC,OAAQC,OAAkBC,MAAkB,kCAC9DC,MAAmB,mCAC1BC,MAAa,kCACb,gCACA,gCACA,qCACA,wCACA,+CACA,uCACA,sCACA,gCACA,kCACA,kCACA,0CACA,2CACA,sCACA,sCACA,sCACA,0CACA,2CACA,0CACA,4CACA,qCACA,0CACA,iDACA,0CACA,4CACA,4CACA,sCACA,iCACA,mCACA,iCACA,wCACA,wCACA,iCACA,oDACA,oDACA,mCACA,iCACA,qCACA,qCACA,0CACA,6CACA,sCACA,iCACA,iCACA,oCACA,oCACA,yCACA,yCACA,oCACA,sCACA,sCACA,wCACA,yCACA,wCACA,iCACA,iCACA,uCACA,yCACA,6CACA,kCACA,mCACA,2CACA,sDACA,mCACA,6CACA,uCACA,iDACA,oDACA,8CACA,kDACA,4CACA,sCACA,iCACA,qCACA,0CACA,2CACA,0CACA,mCACA,kCACA,qCACA,iCACA,kCACA,+CACA,yCACA,sDACA,qCACA,gCACA,kCACA,gCACA,0BAEP,MAAMC,EAAyB,gqDAE/B,MAAMC,EAAsB,MACxB,WAAAC,CAAYC,GACRT,EAAiBU,KAAMD,GACvBC,KAAKC,oBAAsB,GAC3BD,KAAKE,aAAe,GACpBF,KAAKG,cAAgB,GACrBH,KAAKI,qBAAuB,GAC5BJ,KAAKK,KAAO,KACZL,KAAKM,kBAAoB,EAC7B,CAEA,gBAAAC,CAAiBC,EAAMC,GACnB,GAAIA,EAAY,CACZ,OAAOA,CACX,CACA,UAAWD,IAAS,SAAU,CAC1B,OAAOd,EAAYc,EACvB,CACA,OAAOA,CACX,CACA,UAAAE,CAAWC,GACP,GAAIA,GAAcA,EAAWC,OAAS,MAAO,CACzC,OAAQrB,EAAE,MAAOsB,OAAOC,OAAO,CAAC,EAAGH,EAAWI,OAAQJ,EAAWK,QAAQC,KAAI,CAACD,EAASE,IAC5E3B,EAAE,OAAQsB,OAAOC,OAAO,CAAEK,IAAKD,GAASF,EAAQD,UAE/D,CACA,OAAO,IACX,CAIA,MAAAK,GACIC,QAAQC,IAAI,aAActB,KAAKuB,gBAC/B,OAAQhC,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,cAAgBjC,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,iBAAmBjC,EAAE,mBAAoB,CAAE4B,IAAK,2CAA4CM,QAAS,MAAQzB,KAAK0B,QAAS1B,KAAKK,MAASd,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,QAAUjC,EAAE,WAAY,CAAE4B,IAAK,4CAA8C5B,EAAE,SAAU,CAAE4B,IAAK,2CAA4CK,MAAOxB,KAAKuB,iBAAmB,EAAI,SAAW,GAAII,KAAM,YAAaC,QAAS,IAAM5B,KAAK6B,UAAU,IAAM,aAActC,EAAE,SAAU,CAAE4B,IAAK,2CAA4CK,MAAOxB,KAAKuB,iBAAmB,EAAI,SAAW,GAAII,KAAM,YAAaC,QAAS,IAAM5B,KAAK6B,UAAU,IAAM,mBAAqBtC,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,kBAAoBxB,KAAKI,qBAAqBa,KAAIa,IAE35B,MAAMnB,EAAaX,KAAKO,iBAAiBuB,EAAItB,KAAMsB,EAAIrB,YACvD,MAAMsB,EAAgBC,IAClB,GAAIF,EAAIC,aAAc,CAClBD,EAAIC,aAAaC,EACrB,KACK,CACDX,QAAQC,IAAI,GAAGQ,EAAIG,8CACvB,GAEJ,IAAKjC,KAAKC,oBAAoBiC,SAASJ,EAAIG,QAAUH,EAAIK,QAAS,CAC9D,OAAQ5C,EAAE,sBAAuB,CAAE6C,UAAWN,EAAIM,UAAWR,QAASG,EAAcM,QAASP,EAAIO,SAAWrC,KAAKU,WAAWC,IAAcX,KAAKE,aAAagC,SAASJ,EAAIG,QAAUH,EAAIQ,WAAa/C,EAAE,OAAQ,KAAMuC,EAAIG,OAC5N,CACA,OAAO,IAAI,KACVjC,KAAKM,mBAAqBf,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,iBAAmBxB,KAAKM,mBAAsBf,EAAE,aAAc,CAAE4B,IAAK,2CAA4CM,QAAS,YAAac,MAAO,YAAaX,QAASI,GAAShC,KAAKwC,mBAAmBR,IAAUhC,KAAKM,oBAC1T,GAEJT,EAAoB4C,MAAQ7C,EAE5B,MAAM8C,EAAkB,qoEAExB,MAAMC,EAAe,MACjB,WAAA7C,CAAYC,GACRT,EAAiBU,KAAMD,GACvBC,KAAK4C,kBAAoBpD,EAAYQ,KAAM,qBAC3CA,KAAK6C,sBAAwBrD,EAAYQ,KAAM,yBAC/CA,KAAK8C,2BAA6BtD,EAAYQ,KAAM,8BAEpDA,KAAK+C,KAAO,MAEZ/C,KAAKgD,SAAW,QAEhBhD,KAAKiD,MAAQ,KAEbjD,KAAKkD,QAAU,KAEflD,KAAKmD,QAAU,MAEfnD,KAAKoD,2BAA6B,MAElCpD,KAAKqD,sBAAwB,MAE7BrD,KAAKsD,mBAAqB,MAE1BtD,KAAKuD,iBAAmB,MACxBvD,KAAKwD,wBAA0B,GAC/BxD,KAAKyD,yBAA2B,GAEhCzD,KAAK0D,qBAAuB,GAE5B1D,KAAK2D,yBAA2B,GAMhC3D,KAAK4D,oBAAsB,KACvB,IAAK5D,KAAK+C,MAAQ/C,KAAK6D,OAAOC,gBAAkBC,SAASC,KAAM,CAC3DD,SAASC,KAAKC,YAAYjE,KAAK6D,OACnC,GAOJ7D,KAAKkE,QAAU,KACXlE,KAAK+C,KAAO,MACZ/C,KAAK4C,kBAAkBuB,MAAM,EAQjCnE,KAAKoE,gBAAmBC,IACpB,GAAIA,EAAEC,SAAWD,EAAEE,cAAe,CAC9BvE,KAAKkE,SACT,GAOJlE,KAAKwE,qBAAuB,KACxBxE,KAAK6C,sBAAsBsB,MAAM,EAOrCnE,KAAKyE,0BAA4B,KAC7BzE,KAAK8C,2BAA2BqB,MAAM,EAQ1CnE,KAAK0E,wBAA2B1C,IAC5BhC,KAAK2E,mBAAqB3C,EAAMuC,cAChCvE,KAAKuD,iBAAmB,IAAI,EAQhCvD,KAAK4E,wBAA0B,KAC3B5E,KAAKuD,iBAAmB,KAAK,CAErC,CAOA,gBAAAsB,CAAiBC,EAAUC,GACvB,GAAID,IAAaC,EAAU,CACvB,MACJ,CACA,GAAID,EAAU,CAEV,MAAME,EAAiBC,OAAOC,WAAanB,SAASoB,gBAAgBC,YAEpEpF,KAAK0D,qBAAuBK,SAASC,KAAKvB,MAAM4C,SAChDrF,KAAK2D,yBAA2BI,SAASC,KAAKvB,MAAM6C,aACpDvB,SAASC,KAAKuB,YAAYvF,KAAK6D,QAE/B,GAAImB,EAAiB,EAAG,CACpB,MAAMQ,EAAiBC,SAASR,OAAOS,iBAAiB3B,SAASC,MAAMsB,eAAiB,EACxFvB,SAASC,KAAKvB,MAAM6C,aAAe,GAAGE,EAAiBR,KAC3D,CACAjB,SAASC,KAAKvB,MAAM4C,SAAW,SAC/BM,uBAAsB,KAClB3F,KAAK6D,OAAO+B,UAAUC,IAAI,cAE1BC,YAAW,IAAM9F,KAAK+F,iBAAiB,GAAG,GAElD,KACK,CACD/F,KAAK6D,OAAO+B,UAAUI,OAAO,cAC7BjC,SAASC,KAAKvB,MAAM4C,SAAWrF,KAAK0D,qBACpCK,SAASC,KAAKvB,MAAM6C,aAAetF,KAAK2D,yBACxC3D,KAAK6D,OAAOoC,iBAAiB,gBAAiBjG,KAAK4D,oBAAqB,CAAEsC,KAAM,MACpF,CACJ,CAIA,4BAAAC,GAEIL,YAAW,IAAM9F,KAAK+F,iBAAiB,GAC3C,CAKA,aAAAA,GACI,IAAK/F,KAAKoG,YAAcpG,KAAKqG,wBAAyB,CAClD,MACJ,CACA,IAAKrG,KAAKsG,wBAA0BtG,KAAKsG,uBAAuBC,SAAW,EAAG,CAC1EvG,KAAKsD,mBAAqB,MAC1B,MACJ,CAEA,MAAMkD,EAAcxG,KAAKoG,UAAUK,YACnC,MAAMC,EAAczB,OAAOS,iBAAiB1F,KAAKoG,WACjD,MAAMO,EAAoBC,WAAWF,EAAYG,aACjD,MAAMC,EAAqBF,WAAWF,EAAYpB,cAClD,MAAMyB,EAAiBP,EAAcG,EAAoBG,EAEzD,MAAME,EAAqBhH,KAAKqG,wBAAwBY,iBAAiB,cACzE,IAAIC,EAAa,EACjBF,EAAmBG,SAAQ,CAACC,EAAQlG,KAChC,MAAMmG,EAAcD,GAAUA,aAAkBE,YAAcF,EAAOX,YAAc,EACnFS,GAAcG,EAEd,GAAInG,EAAQ8F,EAAmBT,OAAS,EAAG,CACvC,MAAMgB,EAAiBtC,OAAOS,iBAAiB1F,KAAKqG,yBACpD,MAAMmB,EAAMZ,WAAWW,EAAeC,MAAQ,EAC9CN,GAAcM,CAClB,KAGJ,MAAMC,EAAS,GACf,MAAMC,EAAgBR,EAAaO,EAASV,EAC5C/G,KAAKsD,mBAAqBoE,CAC9B,CAMA,gBAAAC,GACI,CAEI3H,KAAK4H,eAAiB,IAAIC,gBAAe,KACrC7H,KAAK+F,eAAe,IAGxBJ,uBAAsB,KAClBG,YAAW,KACP,GAAI9F,KAAKoG,UAAW,CAChBpG,KAAK4H,eAAeE,QAAQ9H,KAAKoG,UACrC,CACApG,KAAK+F,eAAe,GACrB,IAAI,GAEf,CACJ,CAMA,oBAAAgC,GACI,GAAIhE,SAASC,KAAKvB,MAAM4C,WAAa,SAAU,CAC3CtB,SAASC,KAAKvB,MAAM4C,SAAWrF,KAAK0D,qBACpCK,SAASC,KAAKvB,MAAM6C,aAAetF,KAAK2D,wBAC5C,CAEA,GAAI3D,KAAK4H,eAAgB,CACrB5H,KAAK4H,eAAeI,YACxB,CACJ,CAOA,MAAA5G,GACI,IAAI6G,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAC5B,MAAMC,SAAoBxI,KAAKiD,QAAU,SAAW,eAAiBjD,KAAKiD,MAC1E,MAAMwF,SAAwBzI,KAAKiD,QAAU,SAAW,CAAEyF,SAAU,GAAG1I,KAAKiD,WAAc,CAAC,EAE3F,MAAM0F,EAAkBC,QAAQ5I,KAAK6I,wBAA2BtJ,EAAE,WAAY,CAAEuJ,SAAU9I,KAAK6I,uBAAwBtG,MAAO,YAAgBwG,UAE9I,MAAMC,EAAezJ,EAAE,WAAY,CAAE4B,IAAK,2CAA4C2H,SAAU,uBAAwBvG,MAAO,YAC/H,OAAQhD,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,WAAYI,QAAS5B,KAAKoE,iBAAmB7E,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,CAAEyH,MAAO,KAAM,CAACjJ,KAAKgD,UAAW,KAAMwF,CAACA,GAAa,MAAQ/F,MAAOgG,GAAkBlJ,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,mBAAqBjC,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,gBAAkBjC,EAAE,sBAAuB,CAAE4B,IAAK,2CAEzdX,KAAMb,EAASiC,QAAS5B,KAAKkE,QAAS9B,UAAW,QAAU7C,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,cAAgBjC,EAAE,mBAAoB,CAAE4B,IAAK,2CAA4CM,QAAS,MAAQzB,KAAK0B,SAAU1B,KAAKkJ,2BAA6BjB,EAAKjI,KAAKmJ,0BAA4B,MAAQlB,SAAY,OAAS,EAAIA,EAAG1B,QAAU,IAAOhH,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,yBAA2B0G,EAAKlI,KAAKmJ,0BAA4B,MAAQjB,SAAY,OAAS,EACrhBA,EAAGjH,KAAKmI,GAAU7J,EAAE,aAAc,CAAEkC,QAAS,WAAY4H,SAAUD,EAAKC,SAAUzH,QAASwH,EAAKxH,QAAS0H,QAASF,EAAK5I,MAAQ4I,EAAKnH,SAAUjC,KAAKkJ,yBAA4B3J,EAAE,aAAc,CAAE4B,IAAK,2CAA4CkI,SAAUrJ,KAAKoD,2BAA4BxB,QAAS5B,KAAKyE,0BAE3S8E,UAAWZ,EAAiBlH,QAAS,aAAezB,KAAKkJ,2BAA8B3J,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,oBAAsBjC,EAAE,oBAAqB,CAAE4B,IAAK,2CAA4CK,MAAO,CAAE,aAAcxB,KAAKmD,SAAWZ,MAAO,aAAehD,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,CAAER,QAAS,KAAMkC,QAASlD,KAAKkD,UAAa3D,EAAE,OAAQ,CAAE4B,IAAK,+CAAiDnB,KAAKwJ,sBAAwBrB,EAAKnI,KAAKsG,0BAA4B,MAAQ6B,SAAY,OAAS,EAAIA,EAAG5B,QAAU,IAAOhH,EAAE,MAAO,CAAE4B,IAAK,4CAA8C5B,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,qBAAuBjC,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,CACvzBiI,OAAQ,MACTC,IAAKC,GAAO3J,KAAKoG,UAAYuD,IAAQ3J,KAAKsD,sBAAwB8E,EAAKpI,KAAKsG,0BAA4B,MAAQ8B,SAAY,OAAS,EAAIA,EAAG7B,QAAU,GAAMhH,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,sCAAwCjC,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,6BAA+B6G,EAAKrI,KAAKsG,0BAA4B,MAAQ+B,SAAY,OAAS,EAAIA,EAAGpH,KAAKmI,GAAU7J,EAAE,aAAc,CAAEkC,QAAS,WAAY4H,SAAUD,EAAKC,SAAUzH,QAASwH,EAAKxH,QAAS0H,QAASF,EAAK5I,MAAQ4I,EAAKnH,WAAajC,KAAKsD,oBAAuB/D,EAAE,aAAc,CAAE4B,IAAK,2CAA4CM,QAAS,WAAYG,QAAS5B,KAAK0E,wBAAyBnC,MAAO,YAEtuB+G,QAASN,GAAgB,QAAUhJ,KAAKwJ,oBAAuBjK,EAAE,aAAc,CAAE4B,IAAK,2CAA4CM,QAAS,YAAa4H,SAAUrJ,KAAKqD,sBAAuBzB,QAAS5B,KAAKwE,qBAAsB8E,QAAStJ,KAAK4J,mBAAqB5J,KAAKwJ,oBAAsBxJ,KAAKsD,oBAAuB/D,EAAE,eAAgB,CAAE4B,IAAK,2CAA4C0I,cAAe7J,KAAK2E,mBAAoBmF,OAAQ9J,KAAKuD,iBAAkBwG,aAAc,QAASC,iBAAkB,QAASC,cAAejK,KAAK4E,yBAA2BrF,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,SAAW8G,EAAKtI,KAAKsG,0BAA4B,MAAQgC,SAAY,OAAS,EAAIA,EAAGrH,KAAImI,GAAS7J,EAAE,gBAAiB,CAAE0C,MAAOmH,IAAS,MAAQA,SAAc,OAAS,EAAIA,EAAKnH,MAAO6G,SAAUM,IAAS,MAAQA,SAAc,OAAS,EAAIA,EAAK5I,KAAM0J,YAAa,KAC52Bd,IAAS,MAAQA,SAAc,OAAS,EAAIA,EAAKxH,UACjD5B,KAAK4E,yBAAyB,EAC/ByE,SAAUD,IAAS,MAAQA,SAAc,OAAS,EAAIA,EAAKC,eAAkB9J,EAAE,MAAO,CAAE4B,IAAK,2CAA4CuI,IAAKC,GAAO3J,KAAKqG,wBAA0BsD,EAAKlH,MAAO,CAC/LO,SAAU,WACVmH,WAAY,SACZC,cAAe,OACfC,QAAS,OACT7C,IAAK,0BACN,cAAe,SAAWe,EAAKvI,KAAKsG,0BAA4B,MAAQiC,SAAY,OAAS,EAChGA,EAAGtH,KAAKmI,GAAU7J,EAAE,aAAc,CAAEkC,QAAS,OAAQ6I,KAAM,SAAUjB,SAAUD,EAAKC,SAAUC,QAASF,EAAK5I,MAAQ4I,EAAKnH,SAAUjC,KAAKwJ,oBAAuBjK,EAAE,aAAc,CAAE4B,IAAK,2CAA4CM,QAAS,YAAa6I,KAAM,SAAUjB,SAAUrJ,KAAKqD,sBAAuBiG,QAAStJ,KAAK4J,mBAAqB5J,KAAKwJ,wBAC9V,CACA,UAAI3F,GAAW,OAAOpE,EAAWO,KAAO,CACxC,mBAAWuK,GAAa,MAAO,CAC3BxH,KAAQ,CAAC,oBACTuD,uBAA0B,CAAC,gCAC5B,GAEP3D,EAAaF,MAAQC,EAErB,MAAM8H,EAAa,y9EAEnB,MAAMC,EAAU,MACZ,WAAA3K,CAAYC,GACRT,EAAiBU,KAAMD,GACvBC,KAAK0K,aAAelL,EAAYQ,KAAM,gBAOtCA,KAAKyB,QAAU,OAMfzB,KAAKK,KAAO,GACZL,KAAK2K,kBAAoB,EACzB3K,KAAK4K,WAAa,GAClB5K,KAAK6K,YAAc,CACf5H,MAAO,IACP6H,UAAW,iBAEf9K,KAAK+K,eAAiB,MACtB/K,KAAKgL,gBAAkB,MACvBhL,KAAKiL,YAAc,GACnBjL,KAAKkL,WAAa,EACtB,CAIA,gBAAIC,GACA,OAAOnL,KAAKoL,OAAS,IACzB,CAIA,eAAIC,GACA,OAAOrL,KAAKK,MAAQL,KAAKK,KAAKkG,OAAS,CAC3C,CAKA,aAAI+E,GACA,OAAOtL,KAAKmL,aAAenL,KAAKoL,MAAQpL,KAAK2K,iBACjD,CACA,gBAAAY,GAEI,GAAIvL,KAAKqL,YACL,OACJrL,KAAKwL,gBACT,CACA,YAAAC,GACI9F,uBAAsB,KAClB3F,KAAK0L,uBACL1L,KAAK2L,aAAa,GAE1B,CACA,gBAAAhE,GACI3H,KAAKwL,gBACT,CAIA,iBAAAI,CAAkB9G,GACd9E,KAAK6L,mBACL7L,KAAK0L,uBACL1L,KAAK8L,kBAAkBhH,EAC3B,CAIA,aAAAiH,CAAcjH,GACV9E,KAAK6L,mBACL7L,KAAK0L,uBACL1L,KAAK8L,kBAAkBhH,EAC3B,CAIA,gBAAAkH,GACIhM,KAAKwL,gBACT,CACA,eAAAS,GACItG,uBAAsB,KAClB3F,KAAK0L,uBACL1L,KAAK2L,aAAa,GAE1B,CACA,cAAAH,GACI,IAAIvD,EAAIC,EACRlI,KAAKkL,WAAa,GAClB,GAAIlL,KAAKqL,YAAa,CAElBrL,KAAK4K,WAAa5K,KAAKK,KAAKY,KAAIiL,GAAMrL,OAAOC,OAAO,CAAC,EAAGoL,KACxDlM,KAAKiL,YAAc,EACvB,KACK,CAEDjL,KAAKiL,YAAckB,MAAMC,KAAKpM,KAAK2J,GAAG0C,UAAUC,QAAQC,GAAUA,EAAMC,QAAQC,gBAAkB,YAClGzM,KAAK4K,WAAa5K,KAAKiL,YAAYhK,KAAIyL,IAAO,CAC1CzK,MAAOyK,EAAIzK,MACXzB,KAAMkM,EAAIlM,KACVmM,cAAeD,EAAIC,cACnBC,OAAQF,EAAIE,OACZvD,SAAUqD,EAAIrD,YAEtB,CAGA,IAAKrJ,KAAKmL,aAAc,CACpB,KAAMlD,EAAKjI,KAAK4K,WAAW5K,KAAK2K,sBAAwB,MAAQ1C,SAAY,OAAS,EAAIA,EAAG2E,WAAa1E,EAAKlI,KAAK4K,WAAW5K,KAAK2K,sBAAwB,MAAQzC,SAAY,OAAS,EAAIA,EAAGmB,UAAW,CACtM,MAAMwD,EAAkB7M,KAAK4K,WAAWkC,WAAUJ,IAAQA,EAAIE,SAAWF,EAAIrD,WAC7ErJ,KAAK2K,kBAAoBkC,GAAmB,EAAIA,EAAkB,CACtE,CACJ,CACA7M,KAAK6L,mBACLlG,uBAAsB,KAClB3F,KAAK0L,uBACL1L,KAAK2L,aAAa,GAE1B,CACA,gBAAAE,GAEI,IAAK7L,KAAKqL,YAAa,CACnB,MAAM0B,EAAmB/M,KAAKsL,UAC9BtL,KAAKiL,YAAY9D,SAAQ,CAACuF,EAAKxL,KAC3BwL,EAAIM,OAAS9L,IAAU6L,CAAgB,GAE/C,CAEJ,CACA,oBAAArB,GACI,MAAMuB,EAAejN,KAAKkL,WAAWlL,KAAKsL,WAC1C,IAAK2B,EAAc,CACfjN,KAAK6K,YAAc,CAAE5H,MAAO,MAAO6H,UAAW,mBAC9C,MACJ,CACA9K,KAAK6K,YAAc,CACf5H,MAAO,GAAGgK,EAAaxG,gBACvBqE,UAAW,cAAcmC,EAAaC,gBAE9C,CACA,WAAAvB,GACI,IAAK3L,KAAKmN,mBACN,OACJ,MAAMC,WAAEA,EAAUC,YAAEA,EAAWjI,YAAEA,GAAgBpF,KAAKmN,mBACtD,MAAMzF,EAAgB2F,EAAcjI,EACpCpF,KAAK+K,eAAiBrD,GAAiB0F,EAAa,EACpDpN,KAAKgL,gBAAkBtD,GAAiB0F,EAAaC,EAAcjI,EAAc,CACrF,CACA,UAAAkI,CAAWC,GACP,IAAItF,EACJ,IAAKA,EAAKjI,KAAK4K,WAAW2C,MAAe,MAAQtF,SAAY,OAAS,EAAIA,EAAGoB,SAAU,CACnF,MACJ,CACA,GAAIrJ,KAAKmL,aAAc,CAGnBnL,KAAK0K,aAAavG,KAAKoJ,EAC3B,KACK,CAGDvN,KAAK2K,kBAAoB4C,CAC7B,CACJ,CACA,iBAAAzB,CAAkByB,GACd,MAAMC,EAAYxN,KAAKkL,WAAWqC,GAClC,MAAME,EAAYzN,KAAKmN,mBACvB,IAAKK,IAAcC,EACf,OACJ,MAAML,WAAEA,EAAUhI,YAAEA,GAAgBqI,EACpC,MAAMC,EAAUF,EAAUN,WAC1B,MAAMS,EAAWD,EAAUF,EAAU/G,YACrC,MAAMmH,EAAkB,GACxB,MAAMC,EAAeT,EAAaQ,EAClC,MAAME,EAAgBV,EAAahI,EAAcwI,EACjD,GAAIF,EAAUG,EAAc,CACxBJ,EAAUM,SAAS,CACfC,KAAMN,EAAUE,EAChBK,SAAU,UAElB,MACK,GAAIN,EAAWG,EAAe,CAC/BL,EAAUM,SAAS,CACfC,KAAML,EAAWvI,EAAcwI,EAC/BK,SAAU,UAElB,CACJ,CACA,aAAAC,GACI,IAAKlO,KAAKmN,mBACN,OACJnN,KAAKmN,mBAAmBY,SAAS,CAAEC,KAAM,EAAGC,SAAU,UAC1D,CACA,WAAAE,GACI,IAAKnO,KAAKmN,mBACN,OACJ,MAAMM,EAAYzN,KAAKmN,mBACvB,MAAME,YAAEA,EAAWjI,YAAEA,GAAgBqI,EACrC,MAAMW,EAAgBf,EAAcjI,EACpCqI,EAAUM,SAAS,CAAEC,KAAMI,EAAeH,SAAU,UACxD,CACA,MAAA7M,GACI,MAAM2L,EAAmB/M,KAAKsL,UAC9B,OAAQ/L,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,iBAAmBjC,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,cAAcxB,KAAKyB,WAAazB,KAAK+K,gBAAmBxL,EAAE,SAAU,CAAE4B,IAAK,2CAA4CK,MAAO,oBAAqBI,QAAS,IAAM5B,KAAKkO,gBAAiB,aAAc,uBAAyB3O,EAAE,WAAY,CAAE4B,IAAK,2CAA4C2H,SAAU,gBAAiBvG,MAAO,aAAgBvC,KAAK+K,gBAAkBxL,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,qBAAuBjC,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,uBAAwBkI,IAAKC,GAAO3J,KAAKmN,mBAAqBxD,EAAK0E,SAAU,IAAMrO,KAAK2L,eAAiB3L,KAAK4K,WAAW3J,KAAI,CAACyL,EAAKxL,KACtyB,GAAIwL,EAAIE,OAAQ,CACZ,OAAO,IACX,CAEA,MAAM0B,EAAS5B,EAAIlM,KAAOjB,EAAE,WAAY,CAAEuJ,SAAU4D,EAAIlM,KAAM+B,MAAO,YAAe,KAEpF,MAAMgM,EAAUhP,EAAE,OAAQ,KAAMmN,EAAIzK,OACpC,OAAQ1C,EAAE,SAAU,CAAEiC,MAAO,CACrBwL,OAAU9L,IAAU6L,EACpB,aAAcL,EAAIlM,KAClB,CAAC,QAAQkM,EAAIC,mBAAoBD,EAAIlM,KACrC6I,SAAYqD,EAAIrD,UACjBA,SAAUqD,EAAIrD,SAAUzH,QAAS,IAAM5B,KAAKsN,WAAWpM,GAAQsN,KAAM,MAAO,gBAAiBtN,IAAU6L,EAAmB,OAAS,QAAS,gBAAiBL,EAAIrD,SAAW,OAAS,QAASK,IAAKC,GAAO3J,KAAKkL,WAAWhK,GAASyI,GAAO2E,EAAQC,EAAS,IAClQhP,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,SAAUiB,MAAOzC,KAAK6K,eAAiB7K,KAAKgL,iBAAmBzL,EAAE,MAAO,CAAE4B,IAAK,2CAA4CK,MAAO,sBAAwBxB,KAAKgL,iBAAoBzL,EAAE,SAAU,CAAE4B,IAAK,2CAA4CK,MAAO,qBAAsBI,QAAS,IAAM5B,KAAKmO,cAAe,aAAc,sBAAwB5O,EAAE,WAAY,CAAE4B,IAAK,2CAA4C2H,SAAU,iBAAkBvG,MAAO,eAAkBvC,KAAKmL,eAAiBnL,KAAKqL,aAAgB9L,EAAE,MAAO,CAAE4B,IAAK,4CAA8C5B,EAAE,OAAQ,CAAE4B,IAAK,8CACnpB,CACA,MAAIwI,GAAO,OAAOlK,EAAWO,KAAO,CACpC,mBAAWuK,GAAa,MAAO,CAC3BI,kBAAqB,CAAC,qBACtBS,MAAS,CAAC,iBACV/K,KAAQ,CAAC,oBACToB,QAAW,CAAC,mBACb,GAEPgJ,EAAQhI,MAAQ+H,SAEP3K,2BAA8C8C,oBAAgC8H","ignoreList":[]}