@siemens/element-ng 48.9.0 → 48.10.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"siemens-element-ng-ag-grid.mjs","sources":["../../../../projects/element-ng/ag-grid/components/ag-date-input.component.ts","../../../../projects/element-ng/ag-grid/components/ag-no-rows-overlay.component.ts","../../../../projects/element-ng/ag-grid/components/index.ts","../../../../projects/element-ng/ag-grid/parts/checkbox-style.part.ts","../../../../projects/element-ng/ag-grid/parts/color-scheme.part.ts","../../../../projects/element-ng/ag-grid/parts/icon-overrides.part.ts","../../../../projects/element-ng/ag-grid/parts/pagination-style.part.ts","../../../../projects/element-ng/ag-grid/parts/pinning-style.part.ts","../../../../projects/element-ng/ag-grid/parts/radio-style.part.ts","../../../../projects/element-ng/ag-grid/parts/skeleton-style.part.ts","../../../../projects/element-ng/ag-grid/parts/text-filter-style.part.ts","../../../../projects/element-ng/ag-grid/parts/toggle-style.part.ts","../../../../projects/element-ng/ag-grid/parts/index.ts","../../../../projects/element-ng/ag-grid/themes.ts","../../../../projects/element-ng/ag-grid/provider.ts","../../../../projects/element-ng/ag-grid/index.ts","../../../../projects/element-ng/ag-grid/siemens-element-ng-ag-grid.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n\nimport { Component, ElementRef, OnDestroy, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SiCalendarButtonComponent, SiDatepickerDirective } from '@siemens/element-ng/datepicker';\nimport { SiFormItemComponent } from '@siemens/element-ng/form';\nimport { IDateComp, IDateParams } from 'ag-grid-community';\n\n/**\n * Custom AG Grid date component using Element datepicker.\n * This component replaces the native HTML date input with the Element design system datepicker.\n */\n@Component({\n selector: 'si-ag-date-input',\n imports: [FormsModule, SiDatepickerDirective, SiCalendarButtonComponent, SiFormItemComponent],\n template: `\n <si-form-item>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n siDatepicker\n [autoClose]=\"true\"\n [(ngModel)]=\"date\"\n (ngModelChange)=\"onDateChange()\"\n />\n </si-calendar-button>\n </si-form-item>\n `\n})\nexport class AgDateInputComponent implements IDateComp, OnDestroy {\n private elementRef = inject(ElementRef);\n\n /**\n * The selected date value.\n */\n public date: Date | undefined = undefined;\n\n /**\n * AG Grid date filter parameters.\n * @internal\n */\n private params!: IDateParams;\n\n /**\n * Document click event listener for calendar overlay.\n * @internal\n */\n private documentClickListener?: (event: MouseEvent) => void;\n\n /**\n * Notifies AG Grid when the date value changes.\n * @internal\n */\n onDateChange(): void {\n if (this.params) {\n this.params.onDateChanged();\n }\n }\n\n /**\n * Lifecycle hook called after the component GUI is attached.\n * Sets up event listeners to prevent filter popup from closing when interacting with calendar.\n */\n afterGuiAttached(): void {\n // Remove any existing listener to prevent duplicates\n if (this.documentClickListener) {\n document.removeEventListener('mousedown', this.documentClickListener, true);\n }\n\n // Intercept document click events to keep the filter open when clicking the calendar\n this.documentClickListener = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const calendarOverlay = target.closest('si-datepicker, .cdk-overlay-pane');\n\n if (calendarOverlay) {\n event.stopPropagation();\n }\n };\n document.addEventListener('mousedown', this.documentClickListener, true);\n }\n\n ngOnDestroy(): void {\n if (this.documentClickListener) {\n document.removeEventListener('mousedown', this.documentClickListener, true);\n }\n }\n\n agInit(params: IDateParams): void {\n this.params = params;\n }\n\n getDate(): Date | null {\n return this.date ?? null;\n }\n\n getGui(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n setDate(date: Date | null): void {\n this.date = date ?? undefined;\n if (this.params) {\n this.params.onDateChanged();\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n\nimport { Component, signal } from '@angular/core';\nimport { SiEmptyStateComponent } from '@siemens/element-ng/empty-state';\nimport { INoRowsOverlayParams } from 'ag-grid-community';\n\n/**\n * Custom AG Grid no rows overlay component using Element Empty State.\n * This component is displayed when the grid has no data to show.\n *\n * @example\n * Using with custom parameters\n * ```typescript\n * <ag-grid-angular\n * [noRowsOverlayComponent]=\"AgNoRowsOverlayComponent\"\n * [noRowsOverlayComponentParams]=\"{\n * icon: 'element-technical-search',\n * heading: 'No results found',\n * content: 'Try adjusting your filters.'\n * }\"\n * />\n * ```\n */\n@Component({\n selector: 'si-ag-no-rows-overlay',\n imports: [SiEmptyStateComponent],\n template: ` <si-empty-state [icon]=\"icon()\" [heading]=\"heading()\" [content]=\"content()\" /> `,\n styles: `\n :host {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 100%;\n }\n `\n})\nexport class AgNoRowsOverlayComponent {\n /**\n * Icon to display in the empty state.\n *\n */\n protected readonly icon = signal<string>('');\n\n /**\n * Heading text for the empty state.\n *\n */\n protected readonly heading = signal<string>('');\n\n /**\n * Description text for the empty state.\n *\n */\n protected readonly content = signal<string | undefined>(undefined);\n\n agInit(params: INoRowsOverlayParams & { icon: string; heading: string; content?: string }): void {\n this.icon.set(params.icon);\n this.heading.set(params.heading);\n this.content.set(params.content);\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './ag-date-input.component';\nexport * from './ag-no-rows-overlay.component';\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a checkbox style part for the Element AG Grid theme.\n * This part overrides the unchecked checkbox hover state to match Element design system.\n *\n * @returns A part that defines checkbox styling for the Element AG Grid theme.\n */\nexport const elementCheckboxStyle: Part = createPart({\n css: `\n.ag-checkbox-input-wrapper:not(.ag-checked):not(.ag-indeterminate):hover {\n border-color: var(--element-action-secondary-border-hover);\n background: var(--element-action-secondary-hover);\n}\n`\n});\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { elementCheckedImageShape } from '@siemens/element-ng/icon';\nimport { Part, ThemeDefaultParams, createPart } from 'ag-grid-community';\n\n/**\n * Creates a comprehensive color scheme part for the Element AG Grid theme.\n *\n * This part applies Element design system colors and styling to all AG Grid components,\n * including:\n * - Typography (fonts, weights, sizes)\n * - Base colors (backgrounds, borders, foreground)\n * - Interactive elements (buttons, inputs, icons)\n * - Cell and row styling (hover, selection, borders)\n * - Header components\n * - Checkboxes and form controls\n * - Menus, dialogs, and overlays\n * - Tooltips and tabs\n * - Charts and visualizations\n *\n * All colors are mapped to CSS custom properties from the Element design system,\n * ensuring consistency with other Element components and automatic theme support.\n *\n * @returns A part that defines the complete color scheme for the Element AG Grid theme.\n */\nexport const elementColorScheme: Part = createPart({\n feature: 'colorScheme',\n params: {\n // Typography\n buttonFontWeight: '600',\n cellFontFamily: 'var(--element-body-font-family)',\n fontFamily: 'var(--element-body-font-family)',\n fontSize: '14px',\n headerFontWeight: '600',\n\n // Base colors:\n accentColor: 'var(--element-focus-default)',\n backgroundColor: 'var(--element-base-1)',\n borderColor: 'var(--element-ui-4)',\n foregroundColor: 'var(--element-text-primary)',\n invalidColor: 'var(--element-status-danger)',\n subtleTextColor: 'var(--element-text-secondary)',\n\n // Button styles\n buttonActiveBackgroundColor: 'var(--element-action-secondary-hover)',\n buttonActiveBorder: {\n color: 'var(--element-action-secondary-hover)'\n },\n buttonActiveTextColor: 'var(--element-action-secondary-text-hover)',\n buttonBackgroundColor: 'var(--element-action-secondary)',\n buttonBorder: {\n color: 'var(--element-action-secondary-border)'\n },\n buttonTextColor: 'var(--element-action-secondary-text)',\n\n buttonHoverBackgroundColor: 'var(--element-action-secondary-hover)',\n buttonHoverBorder: {\n color: 'var(--element-action-secondary-border-hover)'\n },\n buttonHoverTextColor: 'var(--element-action-secondary-text-hover)',\n\n buttonDisabledBackgroundColor: 'var(--element-action-secondary)',\n buttonDisabledTextColor: 'var(--element-text-disabled)',\n buttonDisabledBorder: {\n color: 'var(--element-ui-4)'\n },\n\n // Advanced filter builder styles\n advancedFilterBuilderButtonBarBorder: {\n color: 'var(--element-ui-4)'\n },\n advancedFilterBuilderJoinPillColor: 'var(--element-base-danger)',\n advancedFilterBuilderColumnPillColor: 'var(--element-base-success)',\n advancedFilterBuilderOptionPillColor: 'var(--element-base-warning)',\n advancedFilterBuilderValuePillColor: 'var(--element-base-information)',\n\n // Cell styles\n cellEditingBorder: {\n color: 'var(--element-action-primary)'\n },\n cellTextColor: 'var(--element-text-primary)',\n\n // Column styles\n columnBorder: {\n color: 'var(--element-action-secondary)'\n },\n columnDropCellBackgroundColor: 'var(--element-base-1)',\n columnDropCellBorder: {\n color: 'var(--element-action-secondary)'\n },\n columnDropCellDragHandleColor: 'var(--element-text-primary)',\n columnDropCellTextColor: 'var(--element-text-primary)',\n columnHoverColor: 'var(--element-base-1-hover)',\n\n // Row styles\n oddRowBackgroundColor: 'var(--element-base-1)',\n rowBorder: {\n color: 'var(--element-ui-4)'\n },\n rowHoverColor: 'var(--element-base-1-hover)',\n rowLoadingSkeletonEffectColor: 'var(--element-base-1)',\n selectedRowBackgroundColor: 'var(--element-base-1-selected)',\n\n // Dialog and footer styles\n footerRowBorder: {\n color: 'var(--element-ui-4)'\n },\n dialogBorder: {\n color: 'var(--element-ui-4)'\n },\n\n // Checkbox styles\n checkboxBorderRadius: '2px',\n checkboxBorderWidth: '1px',\n checkboxCheckedBackgroundColor: 'var(--element-action-primary)',\n checkboxCheckedBorderColor: 'var(--element-action-primary)',\n checkboxCheckedShapeColor: 'var(--element-action-primary-text)',\n checkboxCheckedShapeImage: {\n url: elementCheckedImageShape\n },\n checkboxIndeterminateBackgroundColor: 'var(--element-action-primary)',\n checkboxIndeterminateBorderColor: 'var(--element-action-primary)',\n checkboxIndeterminateShapeColor: 'var(--element-base-1)',\n checkboxUncheckedBackgroundColor: 'var(--element-base-1)',\n checkboxUncheckedBorderColor: 'var(--element-ui-1)',\n\n // Header styles\n headerBackgroundColor: 'var(--element-base-1)',\n headerCellHoverBackgroundColor: 'var(--element-base-1-hover)',\n headerColumnBorder: {\n color: 'var(--element-action-secondary)'\n },\n headerColumnResizeHandleColor: 'var(--element-ui-4)',\n headerRowBorder: {\n color: 'var(--element-ui-4)'\n },\n\n // Input styles\n inputBackgroundColor: 'var(--element-base-1)',\n inputBorder: {\n color: 'var(--element-ui-2)'\n },\n inputBorderRadius: '2px',\n inputDisabledBackgroundColor: 'var(--element-base-1)',\n inputDisabledBorder: {\n color: 'var(--element-ui-3)'\n },\n inputDisabledTextColor: 'var(--element-text-disabled)',\n inputFocusBorder: {\n color: 'var(--element-focus-default)'\n },\n inputFocusShadow: false,\n inputIconColor: 'var(--element-ui-1)',\n inputInvalidBorder: {\n color: 'var(--element-status-danger)'\n },\n inputTextColor: 'var(--element-text-primary)',\n\n // Icon styles\n iconButtonActiveBackgroundColor: 'var(--element-base-1-selected)',\n iconButtonActiveColor: 'var(--element-action-primary-hover)',\n iconButtonActiveIndicatorColor: 'var(--element-action-primary-hover)',\n iconButtonBackgroundColor: 'var(--element-action-secondary)',\n iconButtonColor: 'var(--element-text-primary)',\n iconButtonHoverBackgroundColor: 'var(--element-base-1-hover)',\n iconButtonHoverColor: 'var(--element-text-primary)',\n iconColor: 'var(--element-text-primary)',\n iconSize: '18px',\n\n // Menu styles\n menuBackgroundColor: 'var(--element-base-1)',\n menuBorder: false,\n menuShadow:\n '0 0 8px var(--element-box-shadow-color-1), 0 8px 8px var(--element-box-shadow-color-2)',\n\n // Pinning styles\n pinnedColumnBorder: {\n color: 'var(--element-base-1-selected)'\n },\n pinnedRowBorder: {\n color: 'var(--element-base-1-selected)'\n },\n\n // Drag and drop styles\n dragAndDropImageBackgroundColor: 'var(--element-base-3)',\n dragAndDropImageBorder: false,\n dragAndDropImageShadow:\n '0 0 8px var(--element-box-shadow-color-1), 0 8px 8px var(--element-box-shadow-color-2)',\n dragHandleColor: 'var(--element-text-primary)',\n\n // Range selection styles\n rangeHeaderHighlightColor: 'var(--element-base-1)',\n rangeSelectionBackgroundColor: 'var(--element-base-1-selected)',\n rangeSelectionBorderColor: 'var(--element-action-primary-hover)',\n rangeSelectionHighlightColor: 'var(--element-base-1-selected)',\n\n // Sidebar styles\n sideBarBackgroundColor: 'var(--element-base-1)',\n sidePanelBorder: {\n color: 'var(--element-ui-4)'\n },\n\n // Side button styles\n sideButtonBackgroundColor: 'var(--element-action-secondary)',\n sideButtonBarBackgroundColor: 'var(--element-base-1)',\n sideButtonHoverBackgroundColor: 'var(--element-base-1-hover)',\n sideButtonSelectedBackgroundColor: 'var(--element-base-1-selected)',\n sideButtonSelectedBorder: 'var(--element-action-secondary-border)',\n sideButtonSelectedUnderlineColor: 'var(--element-base-1-selected)',\n\n // Status bar styles\n statusBarLabelColor: 'var(--element-text-primary)',\n statusBarValueColor: 'var(--element-text-primary)',\n\n // Select cell styles\n selectCellBorder: {\n color: 'var(--element-ui-4)'\n },\n\n // Toggle button styles - matching Element switch design\n toggleButtonHeight: '20px',\n toggleButtonOffBackgroundColor: 'var(--element-ui-4)',\n toggleButtonOnBackgroundColor: 'var(--element-ui-0)',\n toggleButtonSwitchBackgroundColor: 'var(--element-ui-2)',\n toggleButtonSwitchInset: '4px',\n toggleButtonWidth: '40px',\n\n // Value change styles\n valueChangeDeltaDownColor: 'var(--element-status-danger)',\n valueChangeDeltaUpColor: 'var(--element-status-success)',\n valueChangeValueHighlightBackgroundColor: 'var(--element-base-1-selected)',\n\n // Tooltip styles\n tooltipBackgroundColor: 'var(--element-base-translucent-2)',\n tooltipBorder: false,\n tooltipTextColor: 'var(--element-text-inverse)',\n\n // Tab styles\n tabBackgroundColor: 'var(--element-action-secondary)',\n tabBarBackgroundColor: 'var(--element-base-1)',\n tabBarBorder: {\n color: 'var(--element-ui-4)'\n },\n tabHoverBackgroundColor: 'var(--element-action-secondary)',\n tabSelectedTextColor: 'var(--element-action-primary)',\n tabSelectedUnderlineColor: 'var(--element-action-secondary)',\n\n // Chart styles\n chartMenuLabelColor: 'var(--element-text-primary)',\n\n // Misc styles\n focusShadow: false,\n wrapperBorder: false\n } satisfies Partial<ThemeDefaultParams>\n});\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n elementBusy,\n elementCancel,\n elementCopy,\n elementCut,\n elementDown2,\n elementDown4,\n elementDownload,\n elementEdit,\n elementFilter,\n elementHide,\n elementJumpToListItem,\n elementLayoutPane3Alt,\n elementLeft2,\n elementLeft4,\n elementLink,\n elementLinkBroken,\n elementMenu,\n elementMinus,\n elementMove,\n elementOk,\n elementOptionsVertical,\n elementOutOfService,\n elementPalette,\n elementPaste,\n elementPin,\n elementPinch,\n elementPlus,\n elementReport,\n elementRight2,\n elementRight4,\n elementShow,\n elementSortUp,\n elementSum,\n elementUp2,\n elementUp4,\n elementZoom\n} from '@siemens/element-ng/icon';\nimport { iconOverrides } from 'ag-grid-community';\n\n/**\n * Utility function to convert data URI icon map to AG Grid icon format.\n * Extracts base64 SVG data from data URIs.\n *\n * @param icons - Record of icon names to data URI strings\n * @returns Record of icon names to AG Grid icon objects with SVG data\n */\nconst createIconMap = (icons: Record<string, string>): Record<string, { svg: string }> =>\n Object.fromEntries(\n Object.entries(icons).map(([key, dataUri]) => [key, { svg: dataUri.split(',')[1] }])\n );\n\n/**\n * Creates an icon overrides part for the Element AG Grid theme.\n * This part allows customization of AG Grid icons with Element design system icons.\n * Icons can be added to the icons map as needed.\n *\n * @returns A part that defines icon overrides for the Element AG Grid theme.\n */\nexport const elementIconOverrides = iconOverrides({\n type: 'image',\n mask: true,\n icons: createIconMap({\n aggregation: elementSum,\n arrows: elementMove,\n asc: elementUp4,\n cancel: elementCancel,\n chart: elementReport,\n 'chevron-down': elementDown2,\n 'chevron-left': elementLeft2,\n 'chevron-right': elementRight2,\n 'chevron-up': elementUp2,\n 'color-picker': elementPalette,\n columns: elementLayoutPane3Alt,\n contracted: elementRight2,\n copy: elementCopy,\n cross: elementCancel,\n cut: elementCut,\n desc: elementDown4,\n edit: elementEdit,\n expanded: elementLeft2,\n 'eye-slash': elementHide,\n eye: elementShow,\n filter: elementFilter,\n group: elementJumpToListItem,\n left: elementLeft4,\n linked: elementLink,\n loading: elementBusy,\n maximize: elementZoom,\n menu: elementOptionsVertical,\n 'menu-alt': elementOptionsVertical,\n minimize: elementPinch,\n minus: elementMinus,\n next: elementRight2,\n 'not-allowed': elementOutOfService,\n paste: elementPaste,\n pin: elementPin,\n plus: elementPlus,\n previous: elementLeft2,\n right: elementRight4,\n save: elementDownload,\n 'small-down': elementDown2,\n 'small-left': elementLeft2,\n 'small-right': elementRight2,\n 'small-up': elementUp2,\n tick: elementOk,\n 'tree-closed': elementRight2,\n 'tree-indeterminate': elementMinus,\n 'tree-open': elementDown2,\n unlinked: elementLinkBroken,\n up: elementSortUp,\n grip: elementMenu\n })\n});\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a pagination style part for the Element AG Grid theme.\n * This part applies font weight styling to pagination summary numbers.\n *\n * @returns A part that defines pagination styling for the Element AG Grid theme.\n */\nexport const elementPaginationStyle: Part = createPart({\n css: `\n .ag-paging-row-summary-panel-number {\n font-weight: 600;\n }\n `\n});\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a pinning style part for the Element AG Grid theme.\n * This part applies box shadow styling to floating top and bottom rows.\n *\n * @returns A part that defines pinning styles for the Element AG Grid theme.\n */\nexport const elementPinningStyle: Part = createPart({\n css: `\n .ag-floating-top {\n box-shadow:\n 0 0 8px var(--element-box-shadow-color-1),\n 0 8px 8px var(--element-box-shadow-color-2);\n z-index: 1;\n position: relative;\n }\n\n .ag-floating-bottom {\n box-shadow:\n 0 0 8px var(--element-box-shadow-color-1),\n 0 -8px 8px var(--element-box-shadow-color-2);\n z-index: 1;\n position: relative;\n }\n`\n});\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a radio button style part for the Element AG Grid theme.\n * This part applies Element design system styling to radio buttons including colors,\n * hover states, checked states, and disabled states.\n *\n * @returns A part that defines radio button styling for the Element AG Grid theme.\n */\nexport const elementRadioStyle: Part = createPart({\n css: `\n .ag-radio-button-input-wrapper {\n background-color: var(--element-ui-5);\n border: 1px solid var(--element-ui-1);\n}\n\n.ag-radio-button-input-wrapper:hover {\n border-color: var(--element-action-secondary-border-hover);\n background: var(--element-action-secondary-hover);\n}\n\n.ag-radio-button-input-wrapper.ag-checked {\n border-color: var(--element-ui-0);\n background-color: var(--element-ui-5);\n}\n\n.ag-radio-button-input-wrapper.ag-checked::after {\n background-color: var(--element-ui-0);\n mask-image: none;\n inset: 4px;\n border-radius: 50%;\n}\n\n.ag-radio-button-input-wrapper.ag-checked:hover {\n border-color: var(--element-ui-0-hover);\n}\n\n.ag-radio-button-input-wrapper.ag-checked:hover::after {\n background-color: var(--element-ui-0-hover);\n}\n\n.ag-radio-button-input-wrapper.ag-disabled {\n border-color: var(--element-ui-3);\n background-color: var(--element-ui-5);\n opacity: 1;\n}\n\n.ag-radio-button-input-wrapper.ag-checked.ag-disabled {\n border-color: var(--element-ui-3);\n}\n\n.ag-radio-button-input-wrapper.ag-checked.ag-disabled::after {\n background-color: var(--element-ui-3);\n}\n`\n});\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a skeleton style part for the Element AG Grid theme.\n * This part applies Element design system shimmer animation to skeleton loading effects\n * to match the Element skeleton component design.\n *\n * @returns A part that defines skeleton loading styles for the Element AG Grid theme.\n */\nexport const elementSkeletonStyle: Part = createPart({\n css: `\n @keyframes shimmer {\n to {\n background-position-x: -100%;\n }\n }\n\n .ag-skeleton-effect {\n background: linear-gradient(\n 90deg,\n var(--element-base-1-hover) 0%,\n var(--element-base-1-selected) 25%,\n var(--element-base-1-hover) 50%\n );\n background-size: 200% 100%;\n background-position-x: 100%;\n animation: shimmer calc(1.6s * var(--element-animations-enabled, 1)) ease-in-out infinite;\n }\n `\n});\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a text filter style part for the Element AG Grid theme.\n * This part applies Element design system styling to text filter search inputs,\n * including border width and background color customization.\n *\n * @returns A part that defines text filter search input styling for the Element AG Grid theme.\n */\nexport const elementTextFilterStyle: Part = createPart({\n css: `\n .ag-column-select-header-filter-wrapper,\n.ag-filter-toolpanel-search,\n.ag-mini-filter,\n.ag-filter-filter,\n.ag-filter-add-select {\n .ag-text-field-input[type='text'] {\n border-width: 0;\n background-color: var(--element-base-4);\n }\n}\n`\n});\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n\nimport { createPart, type Part } from 'ag-grid-community';\n\n/**\n * Creates a toggle button style part for the Element AG Grid theme.\n * This part applies Element design system switch styling including hover states,\n * transitions, and proper knob positioning to match the Element switch component.\n *\n * @returns A part that defines toggle button styling for the Element AG Grid theme.\n */\nexport const elementToggleStyle: Part = createPart({\n css: `\n .ag-toggle-button-input-wrapper {\n transition: background-color 0.4s;\n }\n\n .ag-toggle-button-input-wrapper::before {\n transition: left 0.4s;\n }\n\n .ag-toggle-button-input-wrapper:not(.ag-checked):hover {\n background-color: var(--element-ui-4);\n }\n\n .ag-toggle-button-input-wrapper.ag-checked:hover {\n background-color: var(--element-ui-0-hover);\n }\n\n .ag-toggle-button-input-wrapper.ag-checked::before {\n background-color: var(--element-ui-5);\n }\n `\n});\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './checkbox-style.part';\nexport * from './color-scheme.part';\nexport * from './icon-overrides.part';\nexport * from './pagination-style.part';\nexport * from './pinning-style.part';\nexport * from './radio-style.part';\nexport * from './skeleton-style.part';\nexport * from './text-filter-style.part';\nexport * from './toggle-style.part';\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n\nimport { iconSetAlpine, Theme, themeAlpine } from 'ag-grid-community';\n\nimport {\n elementCheckboxStyle,\n elementColorScheme,\n elementIconOverrides,\n elementPaginationStyle,\n elementPinningStyle,\n elementRadioStyle,\n elementSkeletonStyle,\n elementTextFilterStyle,\n elementToggleStyle\n} from './parts';\n\n/**\n * Base theme combining all Element design system parts with AG Grid Alpine theme.\n * This theme includes custom styling for checkboxes, radios, toggles, pagination,\n * pinning, skeleton loaders, text filters, icons, and color scheme.\n * @internal\n */\nconst elementBaseTheme: Theme = themeAlpine\n .withPart(iconSetAlpine)\n .withPart(elementCheckboxStyle)\n .withPart(elementRadioStyle)\n .withPart(elementToggleStyle)\n .withPart(elementPaginationStyle)\n .withPart(elementPinningStyle)\n .withPart(elementSkeletonStyle)\n .withPart(elementTextFilterStyle)\n .withPart(elementIconOverrides)\n .withPart(elementColorScheme);\n\n/**\n * Standard density Element AG Grid theme.\n * Provides balanced spacing suitable for most use cases.\n * - Row height: 42px\n * - Header height: 48px\n * - Spacing: 8px\n */\nexport const elementTheme: Theme = elementBaseTheme.withParams({\n rowHeight: '42px',\n headerHeight: '48px',\n spacing: '8px'\n});\n\n/**\n * Compact density Element AG Grid theme.\n * Optimized for displaying more data in limited space.\n * - Row height: 28px\n * - Header height: 32px\n * - Spacing: 4px\n */\nexport const elementThemeCompact: Theme = elementBaseTheme.withParams({\n rowHeight: '28px',\n headerHeight: '32px',\n spacing: '4px'\n});\n\n/**\n * Comfort density Element AG Grid theme.\n * Provides generous spacing for enhanced readability and touch interactions.\n * - Row height: 84px\n * - Header height: 96px\n * - Spacing: 12px\n */\nexport const elementThemeComfort: Theme = elementBaseTheme.withParams({\n rowHeight: '84px',\n headerHeight: '96px',\n spacing: '12px'\n});\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n\nimport { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { GridOptions, provideGlobalGridOptions, Theme } from 'ag-grid-community';\n\nimport { AgDateInputComponent, AgNoRowsOverlayComponent } from './components';\nimport { elementTheme, elementThemeCompact, elementThemeComfort } from './themes';\n\n/**\n * Default AG Grid options for Element theme.\n * Includes custom components for date input and empty state overlay.\n * @internal\n */\nconst ELEMENT_AG_GRID_OPTIONS: GridOptions = {\n tooltipShowDelay: 200,\n components: {\n agDateInput: AgDateInputComponent,\n agNoRowsOverlay: AgNoRowsOverlayComponent\n }\n};\n\n/**\n * Theme mapping by density variant.\n * @internal\n */\nconst THEME_BY_DENSITY = new Map<string, Theme>([\n ['compact', elementThemeCompact],\n ['comfort', elementThemeComfort],\n ['standard', elementTheme]\n]);\n\n/**\n * Provides AG Grid global configuration with Element design system theme.\n *\n * This provider configures AG Grid with the Element theme, custom components,\n * and density-specific styling. Use it in your application providers.\n *\n * @param density - The density variant to use. Options:\n * - 'compact': Minimal spacing (28px row height, 32px header height, 4px spacing)\n * - 'standard': Default spacing (42px row height, 48px header height, 8px spacing)\n * - 'comfort': Generous spacing (84px row height, 96px header height, 12px spacing)\n * @param gridOptions - Optional AG Grid options to merge with Element defaults.\n * These options will override Element defaults if specified.\n * @returns Environment providers for dependency injection\n *\n * @example\n * ```typescript\n * // In app.config.ts\n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provideSiAgGridConfig()\n * ]\n * };\n *\n * // With custom options\n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provideSiAgGridConfig('compact', {\n * rowHeight: 30,\n * suppressMenuHide: true\n * })\n * ]\n * };\n * ```\n */\nexport const provideSiAgGridConfig = (\n density: 'compact' | 'comfort' | 'standard' = 'standard',\n gridOptions?: GridOptions\n): EnvironmentProviders => {\n return makeEnvironmentProviders([\n {\n provide: 'ag-grid-options',\n useValue: provideGlobalGridOptions({\n ...ELEMENT_AG_GRID_OPTIONS,\n ...gridOptions,\n theme: THEME_BY_DENSITY.get(density)\n })\n }\n ]);\n};\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\n\nexport * from './components';\nexport * from './provider';\nexport * from './themes';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2201,11 +2201,10 @@ class SiTimepickerComponent {
2201
2201
  });
2202
2202
  }
2203
2203
  writeValue(obj) {
2204
- if (this.isValidDate(obj)) {
2205
- this.setTime(this.parseTime(obj));
2206
- }
2207
- else if (obj == null) {
2208
- this.setTime();
2204
+ const time = this.parseTime(obj);
2205
+ if (!time || this.isValidDate(time)) {
2206
+ this.time = time;
2207
+ this.updateUI(this.time);
2209
2208
  }
2210
2209
  }
2211
2210
  /** @internal */
@@ -2290,7 +2289,7 @@ class SiTimepickerComponent {
2290
2289
  * @param time - The new time to be set.
2291
2290
  */
2292
2291
  setTime(time) {
2293
- if (this.time !== time) {
2292
+ if (this.time?.getTime() !== time?.getTime()) {
2294
2293
  this.time = time;
2295
2294
  this.updateUI(this.time);
2296
2295
  this.onChange(this.time);
@@ -2943,7 +2942,7 @@ class SiDatepickerComponent {
2943
2942
  return true;
2944
2943
  }
2945
2944
  timeSelected(newTime) {
2946
- if (newTime == null || newTime === this.time.value) {
2945
+ if (newTime == null) {
2947
2946
  return;
2948
2947
  }
2949
2948
  this.previousTime = this.time.value;