@fundamental-ngx/core 0.64.0-rc.5 → 0.64.0-rc.7

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.
@@ -16,13 +16,13 @@ class MicroProcessFlowIconComponent {
16
16
  this.font = 'SAP-icons';
17
17
  }
18
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: MicroProcessFlowIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: MicroProcessFlowIconComponent, isStandalone: true, selector: "fd-micro-process-flow-icon", inputs: { glyph: "glyph", font: "font", class: "class", ariaLabel: "ariaLabel" }, host: { classAttribute: "fd-micro-process-flow__icon-container" }, ngImport: i0, template: "<fd-icon\n class=\"fd-micro-process-flow__icon\"\n [ariaLabel]=\"ariaLabel\"\n [glyph]=\"glyph\"\n [class]=\"class\"\n [font]=\"font\"\n></fd-icon>\n", dependencies: [{ kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "size", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: MicroProcessFlowIconComponent, isStandalone: true, selector: "fd-micro-process-flow-icon", inputs: { glyph: "glyph", font: "font", class: "class", ariaLabel: "ariaLabel" }, host: { classAttribute: "fd-micro-process-flow__icon-container" }, ngImport: i0, template: "@if (glyph) {\n <fd-icon\n class=\"fd-micro-process-flow__icon\"\n [ariaLabel]=\"ariaLabel\"\n [glyph]=\"glyph\"\n [class]=\"class\"\n [font]=\"font\"\n ></fd-icon>\n}\n", dependencies: [{ kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "size", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
20
20
  }
21
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: MicroProcessFlowIconComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{ selector: 'fd-micro-process-flow-icon', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
24
24
  class: 'fd-micro-process-flow__icon-container'
25
- }, imports: [IconComponent], template: "<fd-icon\n class=\"fd-micro-process-flow__icon\"\n [ariaLabel]=\"ariaLabel\"\n [glyph]=\"glyph\"\n [class]=\"class\"\n [font]=\"font\"\n></fd-icon>\n" }]
25
+ }, imports: [IconComponent], template: "@if (glyph) {\n <fd-icon\n class=\"fd-micro-process-flow__icon\"\n [ariaLabel]=\"ariaLabel\"\n [glyph]=\"glyph\"\n [class]=\"class\"\n [font]=\"font\"\n ></fd-icon>\n}\n" }]
26
26
  }], propDecorators: { glyph: [{
27
27
  type: Input
28
28
  }], font: [{
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-micro-process-flow.mjs","sources":["../../../../libs/core/micro-process-flow/components/micro-process-flow-icon/micro-process-flow-icon.component.ts","../../../../libs/core/micro-process-flow/components/micro-process-flow-icon/micro-process-flow-icon.component.html","../../../../libs/core/micro-process-flow/injection-tokens.ts","../../../../libs/core/micro-process-flow/micro-process-flow-focusable-item.directive.ts","../../../../libs/core/micro-process-flow/components/micro-process-flow-item/micro-process-flow-item.component.ts","../../../../libs/core/micro-process-flow/components/micro-process-flow-item/micro-process-flow-item.component.html","../../../../libs/core/micro-process-flow/components/micro-process-flow/micro-process-flow.component.ts","../../../../libs/core/micro-process-flow/components/micro-process-flow/micro-process-flow.component.html","../../../../libs/core/micro-process-flow/micro-process-flow-intermediary-item.directive.ts","../../../../libs/core/micro-process-flow/micro-process-flow.module.ts","../../../../libs/core/micro-process-flow/fundamental-ngx-core-micro-process-flow.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { IconComponent, IconFont } from '@fundamental-ngx/core/icon';\n\n@Component({\n selector: 'fd-micro-process-flow-icon',\n templateUrl: './micro-process-flow-icon.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-micro-process-flow__icon-container'\n },\n imports: [IconComponent]\n})\nexport class MicroProcessFlowIconComponent {\n /** The icon name to display. See the icon page for the list of icons\n * here: https://sap.github.io/fundamental-ngx/icon\n */\n @Input() glyph: string;\n\n /**\n * The icon font\n * Options include: 'SAP-icons', 'BusinessSuiteInAppSymbols' and 'SAP-icons-TNT'\n */\n @Input() font: IconFont = 'SAP-icons';\n\n /** user's custom classes */\n @Input()\n class: string;\n\n /** Aria-label for Icon. */\n @Input()\n ariaLabel: Nullable<string>;\n}\n","<fd-icon\n class=\"fd-micro-process-flow__icon\"\n [ariaLabel]=\"ariaLabel\"\n [glyph]=\"glyph\"\n [class]=\"class\"\n [font]=\"font\"\n></fd-icon>\n","import { InjectionToken } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nexport interface MicroProcessFlowComponentInterface {\n canItemsReceiveFocus: Subject<boolean>;\n setFocusedElementIndex(elm: HTMLElement): void;\n}\n\nexport const MICRO_PROCESS_FLOW = new InjectionToken<MicroProcessFlowComponentInterface>(\n 'Micro process flow component dependency'\n);\n","import { Directive, ElementRef, HostListener, Inject, OnInit, Optional } from '@angular/core';\nimport { MICRO_PROCESS_FLOW, MicroProcessFlowComponentInterface } from './injection-tokens';\n\n@Directive({\n selector: '[fdMicroProcessFlowFocusableItem], [fd-micro-process-flow-focusable-item]',\n host: {\n class: 'fd-micro-process-flow__focusable-item'\n },\n standalone: true\n})\nexport class MicroProcessFlowFocusableItemDirective implements OnInit {\n /** @hidden */\n constructor(\n public elRef: ElementRef<HTMLElement>,\n @Optional() @Inject(MICRO_PROCESS_FLOW) private _microProcessFlow: MicroProcessFlowComponentInterface\n ) {}\n\n /**\n * @hidden\n * Handler for focus events\n */\n @HostListener('focus')\n onFocus(): void {\n this._microProcessFlow?.setFocusedElementIndex(this.elRef.nativeElement);\n this._microProcessFlow?.canItemsReceiveFocus.next(false);\n }\n\n /** @hidden */\n @HostListener('blur')\n onBlur(): void {\n this._microProcessFlow?.canItemsReceiveFocus.next(true);\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.setFocusable();\n }\n\n /** Sets ability to focus on the element or not. */\n setFocusable(focusable = false): void {\n this.elRef.nativeElement.setAttribute('tabindex', focusable ? '0' : '-1');\n }\n\n /** Focuses on the element without scrolling it to the viewport */\n focus(options: FocusOptions): void {\n this.elRef.nativeElement.focus(options);\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Input,\n ViewEncapsulation\n} from '@angular/core';\nimport { MicroProcessFlowFocusableItemDirective } from '../../micro-process-flow-focusable-item.directive';\nimport { MicroProcessFlowItemType } from '../../types';\n\n@Component({\n selector: 'fd-micro-process-flow-item',\n templateUrl: './micro-process-flow-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-micro-process-flow__item',\n '[class.fd-micro-process-flow__item--positive]': 'state === \"positive\"',\n '[class.fd-micro-process-flow__item--critical]': 'state === \"critical\"',\n '[class.fd-micro-process-flow__item--negative]': 'state === \"negative\"',\n '[class.fd-micro-process-flow__item--information]': 'state === \"information\"'\n },\n styles: [\n `\n fd-micro-process-flow-item .fd-info-label__text {\n white-space: nowrap;\n }\n `\n ],\n imports: []\n})\nexport class MicroProcessFlowItemComponent {\n /** Item state */\n @Input()\n state: MicroProcessFlowItemType = 'none';\n\n /** Whether or not display connector line */\n @Input()\n intermediate = false;\n\n /** Element that can receive focus. */\n @ContentChild(MicroProcessFlowFocusableItemDirective)\n focusableElement: MicroProcessFlowFocusableItemDirective;\n\n /** @hidden */\n _lastItem = false;\n\n /** @hidden */\n constructor(\n private _cd: ChangeDetectorRef,\n public elRef: ElementRef\n ) {}\n\n /**\n * @param value Is current item the last one\n */\n setLastItem(value: boolean): void {\n if (value !== this._lastItem) {\n this._lastItem = value;\n this._cd.detectChanges();\n }\n }\n}\n","<div class=\"fd-micro-process-flow__content\">\n <div class=\"fd-micro-process-flow__content-wrapper\">\n <ng-content></ng-content>\n </div>\n @if (!_lastItem) {\n <div\n class=\"fd-micro-process-flow__connector\"\n [class.fd-micro-process-flow__connector--intermediate]=\"intermediate\"\n >\n <ng-content select=\"[fd-micro-process-flow-intermediary-item]\"></ng-content>\n </div>\n }\n</div>\n","import { ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE } from '@angular/cdk/keycodes';\n\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n ContentChildren,\n effect,\n ElementRef,\n inject,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { Subject, Subscription } from 'rxjs';\nimport { debounceTime, startWith } from 'rxjs/operators';\nimport { MICRO_PROCESS_FLOW } from '../../injection-tokens';\nimport { MicroProcessFlowFocusableItemDirective } from '../../micro-process-flow-focusable-item.directive';\nimport { MicroProcessFlowItemComponent } from '../micro-process-flow-item/micro-process-flow-item.component';\n\n@Component({\n selector: 'fd-micro-process-flow',\n templateUrl: './micro-process-flow.component.html',\n styleUrl: './micro-process-flow.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-micro-process-flow',\n '[class.fd-micro-process-flow--independent-steps]': 'independentSteps',\n '(keydown)': 'handleKeyboardEvent($event)'\n },\n providers: [\n {\n provide: MICRO_PROCESS_FLOW,\n useExisting: MicroProcessFlowComponent\n },\n contentDensityObserverProviders()\n ],\n imports: []\n})\nexport class MicroProcessFlowComponent implements OnInit, OnDestroy, AfterViewInit {\n /** Should connector between items be hidden. */\n @Input()\n independentSteps = false;\n\n /** Pagination transition speed in milliseconds */\n @Input()\n transitionSpeed = 300;\n\n /** Pagination transition effect */\n @Input()\n transitionTimingFunction = 'ease';\n\n /** Micro process flow items. */\n @ContentChildren(MicroProcessFlowItemComponent)\n items: QueryList<MicroProcessFlowItemComponent>;\n\n /** Micro process flow items. */\n @ContentChildren(MicroProcessFlowFocusableItemDirective, { descendants: true })\n focusableItems: QueryList<MicroProcessFlowFocusableItemDirective>;\n\n /** @hidden */\n @ViewChild('wrapperContainer')\n private _wrapperContainer: ElementRef<HTMLElement>;\n\n /** @hidden */\n @ViewChild('container')\n private _container: ElementRef<HTMLElement>;\n\n /** @hidden */\n @ViewChild('goNextButton')\n private _goNextButton: ElementRef<HTMLElement>;\n\n /**\n * Previous items outside the viewport.\n */\n previousItemsCount = 0;\n\n /**\n * Next items outside the viewport.\n */\n nextItemsCount = 0;\n\n /** Indicating whether or not any element is focused */\n canItemsReceiveFocus = new Subject<boolean>();\n\n /** Should show next button. */\n get showNextButton(): boolean {\n return this.nextItemsCount > 0;\n }\n\n /** Should show previous button. */\n get showPreviousButton(): boolean {\n return this.previousItemsCount > 0;\n }\n\n /** @hidden */\n private readonly _isRtl = computed(() => this._rtlService?.rtl() ?? false);\n\n /** @hidden */\n private get _paginationDirection(): number {\n return this._isRtl() ? 1 : -1;\n }\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n private _navigationKeys = [LEFT_ARROW, RIGHT_ARROW];\n\n /** @hidden */\n private _actionKeys = [SPACE, ENTER];\n\n /** @hidden */\n private _focusedElementIndex = -1;\n\n /** @hidden */\n private readonly _cd = inject(ChangeDetectorRef);\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, { optional: true });\n\n /** @hidden */\n constructor() {\n inject(ContentDensityObserver).subscribe();\n\n // React to RTL changes - re-paginate to adjust scroll direction\n effect(() => {\n const rtl = this._rtlService?.rtl();\n\n // Only re-paginate when RTL service exists and content is scrolled\n if (rtl !== undefined && this.showPreviousButton) {\n this._paginate(0);\n }\n });\n }\n\n /** @hidden */\n handleKeyboardEvent(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, this._navigationKeys)) {\n const isRightKey = KeyUtil.isKeyCode(event, RIGHT_ARROW);\n const direction = isRightKey ? 1 : -1;\n event.stopImmediatePropagation();\n\n const elementIndexToScroll = this._getPreviousItemsCount() + direction;\n const elementExists = this.items.get(elementIndexToScroll);\n\n if (!elementExists) {\n return;\n }\n\n this.previousItemsCount = 0;\n\n this._paginate(elementIndexToScroll);\n\n // Force browset not to scroll to the element since it's done with pagination function.\n this.items.get(this._getPreviousItemsCount())?.focusableElement?.focus({\n preventScroll: true\n });\n }\n }\n\n /** @hidden */\n ngOnInit(): void {\n // If any element is currently focused, disable ability to navigate bentween items with tab.\n this._subscriptions.add(\n this.canItemsReceiveFocus.pipe(debounceTime(10)).subscribe((value) => {\n if (value) {\n this._setFocusableVisibleItems();\n } else {\n this._disableFocusableItems();\n }\n })\n );\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this.listenOnItemsChange();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** Listens on items change and checks if navigation buttons should be visible. */\n listenOnItemsChange(): void {\n this._subscriptions.add(\n this.items.changes.pipe(startWith(0)).subscribe(() => {\n this.items.forEach((item) => {\n item.setLastItem(false);\n });\n\n this.items.last?.setLastItem(true);\n this._setNavigationButtons();\n this._paginate(0);\n })\n );\n }\n\n /** Scrolls to the next item. */\n goNext(): void {\n this._paginate();\n }\n\n /** Scrolls to the previous item. */\n goBack(): void {\n this._paginate(-1);\n }\n\n /**\n * Sets last focused element index.\n * @param elm Focused HTML element.\n */\n setFocusedElementIndex(elm: HTMLElement): void {\n this._focusedElementIndex = this.focusableItems.toArray().findIndex((item) => item.elRef.nativeElement === elm);\n }\n\n /**\n * Navigates to a specific page when the user presses 'Space' or 'Enter' key.\n * @param offset How much items needs to be scrolled relatively to the hidden previous items.\n * @param event The keyboard event.\n */\n onKeypressHandler(offset: number, event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, this._actionKeys)) {\n event.preventDefault();\n this._paginate(offset);\n }\n }\n\n /**\n * Checks if navigation buttons should be visible depending on the amount of items\n * and current pagination offset.\n */\n private _setNavigationButtons(): void {\n if (this._container === undefined) {\n return;\n }\n\n const containerWidth = this._container.nativeElement.offsetWidth;\n const itemsWidth = this._wrapperContainer.nativeElement.offsetWidth;\n const nextButtonWidth = this._goNextButton?.nativeElement.offsetWidth || 0;\n\n if (itemsWidth < containerWidth) {\n return;\n }\n\n // Skip previously shown items out of the calculation.\n const itemsToDisplay = this.items\n .toArray()\n .slice(this.previousItemsCount)\n .map((i) => i.elRef);\n\n // Check if all items can be fitted inside the container if we remove 'next' button.\n if (this.previousItemsCount > 0) {\n const remainingWidth = itemsToDisplay.reduce((width, elm) => elm.nativeElement.offsetWidth + width, 0);\n\n if (remainingWidth <= nextButtonWidth + containerWidth) {\n this.nextItemsCount = 0;\n this._cd.detectChanges();\n return;\n }\n }\n\n this._setNextItemsCount(itemsToDisplay, containerWidth);\n this._cd.detectChanges();\n }\n\n /**\n * Calculate how many items are out of the viewport.\n * @param itemsToDisplay Array of html elements that needs to be shown.\n * @param containerWidth Width of the parent container to calculate amount of items possible to fit.\n */\n private _setNextItemsCount(itemsToDisplay: ElementRef<HTMLElement>[], containerWidth: number): void {\n let visibleItemsWidth = 0;\n let newVisibleItemsWidth = 0;\n\n for (const [index, item] of itemsToDisplay.entries()) {\n newVisibleItemsWidth = visibleItemsWidth + item.nativeElement.offsetWidth;\n\n if (newVisibleItemsWidth <= containerWidth) {\n visibleItemsWidth = newVisibleItemsWidth;\n } else {\n this.nextItemsCount = itemsToDisplay.length - index;\n break;\n }\n }\n }\n\n /**\n * @hidden\n * Performs scrolling to the defined element based on the offset argument.\n * @param offset How much items needs to be scrolled relatively to the hidden previous items.\n */\n private _paginate(offset: number = 1): void {\n if (this.items === undefined || this.items.length === 0) {\n return;\n }\n\n this.previousItemsCount = this._focusedElementIndex = this.previousItemsCount + offset;\n\n // We need to set prev button first.\n this._setNavigationButtons();\n this._setFocusableVisibleItems();\n\n const currentItem = this.items.get(this.previousItemsCount);\n const containerWidth = this._container.nativeElement.offsetWidth;\n const wrapperContainerWidth = this._wrapperContainer.nativeElement.offsetWidth;\n\n if (!currentItem || containerWidth >= wrapperContainerWidth) {\n // Cancel pagination and revert previous items count back.\n this.previousItemsCount = this.previousItemsCount - offset;\n }\n\n const elmOffset = this._getPreviousItemsWidth();\n\n this._wrapperContainer.nativeElement.style.transform = `translateX(${elmOffset * this._paginationDirection}px)`;\n\n this._setNavigationButtons();\n this._setFocusableVisibleItems();\n }\n\n /**\n * @hidden\n * Calculates total width of previously shown items.\n * @returns {Number} total width of previously shown items.\n */\n private _getPreviousItemsWidth(): number {\n return this.items\n .toArray()\n .slice(0, this.previousItemsCount)\n .reduce((width, item) => item.elRef.nativeElement.offsetWidth + width, 0);\n }\n\n /** @hidden */\n private _disableFocusableItems(): void {\n this.items.forEach((item) => item.focusableElement?.setFocusable(false));\n }\n\n /** @hidden */\n private _setFocusableVisibleItems(): void {\n this._disableFocusableItems();\n\n const containerWidth = this._container.nativeElement.offsetWidth;\n\n const itemsToDisplay = this.items.toArray().slice(this.previousItemsCount);\n\n let visibleItemsWidth = 0;\n let newVisibleItemsWidth = 0;\n\n for (const item of itemsToDisplay) {\n newVisibleItemsWidth = visibleItemsWidth + item.elRef.nativeElement.offsetWidth;\n\n if (newVisibleItemsWidth <= containerWidth) {\n visibleItemsWidth = newVisibleItemsWidth;\n item.focusableElement?.setFocusable(true);\n } else {\n break;\n }\n }\n }\n\n /** @hidden */\n private _getPreviousItemsCount(): number {\n return this._focusedElementIndex === -1 ? this.previousItemsCount : this._focusedElementIndex;\n }\n}\n","@if (showPreviousButton) {\n <a\n tabindex=\"0\"\n class=\"fd-micro-process-flow__link-previous\"\n role=\"button\"\n type=\"button\"\n (click)=\"goBack()\"\n (keypress)=\"onKeypressHandler(-1, $event)\"\n >\n {{ previousItemsCount }}\n </a>\n}\n<div class=\"fd-micro-process-flow__overflow-container\" #container>\n <div\n class=\"fd-micro-process-flow__wrapper\"\n #wrapperContainer\n [style.transition-duration]=\"transitionSpeed + 'ms'\"\n [style.transition-timing-function]=\"transitionTimingFunction\"\n >\n <ng-content select=\"fd-micro-process-flow-item\"></ng-content>\n </div>\n</div>\n@if (showNextButton) {\n <a\n tabindex=\"0\"\n class=\"fd-micro-process-flow__link-next\"\n role=\"button\"\n type=\"button\"\n (click)=\"goNext()\"\n (keypress)=\"onKeypressHandler(1, $event)\"\n #goNextButton\n >\n {{ nextItemsCount }}\n </a>\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdMicroProcessFlowIntermediaryItem], [fd-micro-process-flow-intermediary-item]',\n host: {\n class: 'fd-micro-process-flow__intermediary-item'\n },\n standalone: true\n})\nexport class MicroProcessFlowIntermediaryItemDirective {}\n","import { NgModule } from '@angular/core';\nimport { MicroProcessFlowIconComponent } from './components/micro-process-flow-icon/micro-process-flow-icon.component';\nimport { MicroProcessFlowItemComponent } from './components/micro-process-flow-item/micro-process-flow-item.component';\nimport { MicroProcessFlowComponent } from './components/micro-process-flow/micro-process-flow.component';\nimport { MicroProcessFlowFocusableItemDirective } from './micro-process-flow-focusable-item.directive';\nimport { MicroProcessFlowIntermediaryItemDirective } from './micro-process-flow-intermediary-item.directive';\n\nconst components = [\n MicroProcessFlowComponent,\n MicroProcessFlowItemComponent,\n MicroProcessFlowIconComponent,\n MicroProcessFlowIntermediaryItemDirective,\n MicroProcessFlowFocusableItemDirective\n];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class MicroProcessFlowModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-micro-process-flow.mjs","sources":["../../../../libs/core/micro-process-flow/components/micro-process-flow-icon/micro-process-flow-icon.component.ts","../../../../libs/core/micro-process-flow/components/micro-process-flow-icon/micro-process-flow-icon.component.html","../../../../libs/core/micro-process-flow/injection-tokens.ts","../../../../libs/core/micro-process-flow/micro-process-flow-focusable-item.directive.ts","../../../../libs/core/micro-process-flow/components/micro-process-flow-item/micro-process-flow-item.component.ts","../../../../libs/core/micro-process-flow/components/micro-process-flow-item/micro-process-flow-item.component.html","../../../../libs/core/micro-process-flow/components/micro-process-flow/micro-process-flow.component.ts","../../../../libs/core/micro-process-flow/components/micro-process-flow/micro-process-flow.component.html","../../../../libs/core/micro-process-flow/micro-process-flow-intermediary-item.directive.ts","../../../../libs/core/micro-process-flow/micro-process-flow.module.ts","../../../../libs/core/micro-process-flow/fundamental-ngx-core-micro-process-flow.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { IconComponent, IconFont } from '@fundamental-ngx/core/icon';\n\n@Component({\n selector: 'fd-micro-process-flow-icon',\n templateUrl: './micro-process-flow-icon.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-micro-process-flow__icon-container'\n },\n imports: [IconComponent]\n})\nexport class MicroProcessFlowIconComponent {\n /** The icon name to display. See the icon page for the list of icons\n * here: https://sap.github.io/fundamental-ngx/icon\n */\n @Input() glyph: string;\n\n /**\n * The icon font\n * Options include: 'SAP-icons', 'BusinessSuiteInAppSymbols' and 'SAP-icons-TNT'\n */\n @Input() font: IconFont = 'SAP-icons';\n\n /** user's custom classes */\n @Input()\n class: string;\n\n /** Aria-label for Icon. */\n @Input()\n ariaLabel: Nullable<string>;\n}\n","@if (glyph) {\n <fd-icon\n class=\"fd-micro-process-flow__icon\"\n [ariaLabel]=\"ariaLabel\"\n [glyph]=\"glyph\"\n [class]=\"class\"\n [font]=\"font\"\n ></fd-icon>\n}\n","import { InjectionToken } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nexport interface MicroProcessFlowComponentInterface {\n canItemsReceiveFocus: Subject<boolean>;\n setFocusedElementIndex(elm: HTMLElement): void;\n}\n\nexport const MICRO_PROCESS_FLOW = new InjectionToken<MicroProcessFlowComponentInterface>(\n 'Micro process flow component dependency'\n);\n","import { Directive, ElementRef, HostListener, Inject, OnInit, Optional } from '@angular/core';\nimport { MICRO_PROCESS_FLOW, MicroProcessFlowComponentInterface } from './injection-tokens';\n\n@Directive({\n selector: '[fdMicroProcessFlowFocusableItem], [fd-micro-process-flow-focusable-item]',\n host: {\n class: 'fd-micro-process-flow__focusable-item'\n },\n standalone: true\n})\nexport class MicroProcessFlowFocusableItemDirective implements OnInit {\n /** @hidden */\n constructor(\n public elRef: ElementRef<HTMLElement>,\n @Optional() @Inject(MICRO_PROCESS_FLOW) private _microProcessFlow: MicroProcessFlowComponentInterface\n ) {}\n\n /**\n * @hidden\n * Handler for focus events\n */\n @HostListener('focus')\n onFocus(): void {\n this._microProcessFlow?.setFocusedElementIndex(this.elRef.nativeElement);\n this._microProcessFlow?.canItemsReceiveFocus.next(false);\n }\n\n /** @hidden */\n @HostListener('blur')\n onBlur(): void {\n this._microProcessFlow?.canItemsReceiveFocus.next(true);\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.setFocusable();\n }\n\n /** Sets ability to focus on the element or not. */\n setFocusable(focusable = false): void {\n this.elRef.nativeElement.setAttribute('tabindex', focusable ? '0' : '-1');\n }\n\n /** Focuses on the element without scrolling it to the viewport */\n focus(options: FocusOptions): void {\n this.elRef.nativeElement.focus(options);\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Input,\n ViewEncapsulation\n} from '@angular/core';\nimport { MicroProcessFlowFocusableItemDirective } from '../../micro-process-flow-focusable-item.directive';\nimport { MicroProcessFlowItemType } from '../../types';\n\n@Component({\n selector: 'fd-micro-process-flow-item',\n templateUrl: './micro-process-flow-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-micro-process-flow__item',\n '[class.fd-micro-process-flow__item--positive]': 'state === \"positive\"',\n '[class.fd-micro-process-flow__item--critical]': 'state === \"critical\"',\n '[class.fd-micro-process-flow__item--negative]': 'state === \"negative\"',\n '[class.fd-micro-process-flow__item--information]': 'state === \"information\"'\n },\n styles: [\n `\n fd-micro-process-flow-item .fd-info-label__text {\n white-space: nowrap;\n }\n `\n ],\n imports: []\n})\nexport class MicroProcessFlowItemComponent {\n /** Item state */\n @Input()\n state: MicroProcessFlowItemType = 'none';\n\n /** Whether or not display connector line */\n @Input()\n intermediate = false;\n\n /** Element that can receive focus. */\n @ContentChild(MicroProcessFlowFocusableItemDirective)\n focusableElement: MicroProcessFlowFocusableItemDirective;\n\n /** @hidden */\n _lastItem = false;\n\n /** @hidden */\n constructor(\n private _cd: ChangeDetectorRef,\n public elRef: ElementRef\n ) {}\n\n /**\n * @param value Is current item the last one\n */\n setLastItem(value: boolean): void {\n if (value !== this._lastItem) {\n this._lastItem = value;\n this._cd.detectChanges();\n }\n }\n}\n","<div class=\"fd-micro-process-flow__content\">\n <div class=\"fd-micro-process-flow__content-wrapper\">\n <ng-content></ng-content>\n </div>\n @if (!_lastItem) {\n <div\n class=\"fd-micro-process-flow__connector\"\n [class.fd-micro-process-flow__connector--intermediate]=\"intermediate\"\n >\n <ng-content select=\"[fd-micro-process-flow-intermediary-item]\"></ng-content>\n </div>\n }\n</div>\n","import { ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE } from '@angular/cdk/keycodes';\n\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n ContentChildren,\n effect,\n ElementRef,\n inject,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { Subject, Subscription } from 'rxjs';\nimport { debounceTime, startWith } from 'rxjs/operators';\nimport { MICRO_PROCESS_FLOW } from '../../injection-tokens';\nimport { MicroProcessFlowFocusableItemDirective } from '../../micro-process-flow-focusable-item.directive';\nimport { MicroProcessFlowItemComponent } from '../micro-process-flow-item/micro-process-flow-item.component';\n\n@Component({\n selector: 'fd-micro-process-flow',\n templateUrl: './micro-process-flow.component.html',\n styleUrl: './micro-process-flow.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-micro-process-flow',\n '[class.fd-micro-process-flow--independent-steps]': 'independentSteps',\n '(keydown)': 'handleKeyboardEvent($event)'\n },\n providers: [\n {\n provide: MICRO_PROCESS_FLOW,\n useExisting: MicroProcessFlowComponent\n },\n contentDensityObserverProviders()\n ],\n imports: []\n})\nexport class MicroProcessFlowComponent implements OnInit, OnDestroy, AfterViewInit {\n /** Should connector between items be hidden. */\n @Input()\n independentSteps = false;\n\n /** Pagination transition speed in milliseconds */\n @Input()\n transitionSpeed = 300;\n\n /** Pagination transition effect */\n @Input()\n transitionTimingFunction = 'ease';\n\n /** Micro process flow items. */\n @ContentChildren(MicroProcessFlowItemComponent)\n items: QueryList<MicroProcessFlowItemComponent>;\n\n /** Micro process flow items. */\n @ContentChildren(MicroProcessFlowFocusableItemDirective, { descendants: true })\n focusableItems: QueryList<MicroProcessFlowFocusableItemDirective>;\n\n /** @hidden */\n @ViewChild('wrapperContainer')\n private _wrapperContainer: ElementRef<HTMLElement>;\n\n /** @hidden */\n @ViewChild('container')\n private _container: ElementRef<HTMLElement>;\n\n /** @hidden */\n @ViewChild('goNextButton')\n private _goNextButton: ElementRef<HTMLElement>;\n\n /**\n * Previous items outside the viewport.\n */\n previousItemsCount = 0;\n\n /**\n * Next items outside the viewport.\n */\n nextItemsCount = 0;\n\n /** Indicating whether or not any element is focused */\n canItemsReceiveFocus = new Subject<boolean>();\n\n /** Should show next button. */\n get showNextButton(): boolean {\n return this.nextItemsCount > 0;\n }\n\n /** Should show previous button. */\n get showPreviousButton(): boolean {\n return this.previousItemsCount > 0;\n }\n\n /** @hidden */\n private readonly _isRtl = computed(() => this._rtlService?.rtl() ?? false);\n\n /** @hidden */\n private get _paginationDirection(): number {\n return this._isRtl() ? 1 : -1;\n }\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n private _navigationKeys = [LEFT_ARROW, RIGHT_ARROW];\n\n /** @hidden */\n private _actionKeys = [SPACE, ENTER];\n\n /** @hidden */\n private _focusedElementIndex = -1;\n\n /** @hidden */\n private readonly _cd = inject(ChangeDetectorRef);\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, { optional: true });\n\n /** @hidden */\n constructor() {\n inject(ContentDensityObserver).subscribe();\n\n // React to RTL changes - re-paginate to adjust scroll direction\n effect(() => {\n const rtl = this._rtlService?.rtl();\n\n // Only re-paginate when RTL service exists and content is scrolled\n if (rtl !== undefined && this.showPreviousButton) {\n this._paginate(0);\n }\n });\n }\n\n /** @hidden */\n handleKeyboardEvent(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, this._navigationKeys)) {\n const isRightKey = KeyUtil.isKeyCode(event, RIGHT_ARROW);\n const direction = isRightKey ? 1 : -1;\n event.stopImmediatePropagation();\n\n const elementIndexToScroll = this._getPreviousItemsCount() + direction;\n const elementExists = this.items.get(elementIndexToScroll);\n\n if (!elementExists) {\n return;\n }\n\n this.previousItemsCount = 0;\n\n this._paginate(elementIndexToScroll);\n\n // Force browset not to scroll to the element since it's done with pagination function.\n this.items.get(this._getPreviousItemsCount())?.focusableElement?.focus({\n preventScroll: true\n });\n }\n }\n\n /** @hidden */\n ngOnInit(): void {\n // If any element is currently focused, disable ability to navigate bentween items with tab.\n this._subscriptions.add(\n this.canItemsReceiveFocus.pipe(debounceTime(10)).subscribe((value) => {\n if (value) {\n this._setFocusableVisibleItems();\n } else {\n this._disableFocusableItems();\n }\n })\n );\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this.listenOnItemsChange();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** Listens on items change and checks if navigation buttons should be visible. */\n listenOnItemsChange(): void {\n this._subscriptions.add(\n this.items.changes.pipe(startWith(0)).subscribe(() => {\n this.items.forEach((item) => {\n item.setLastItem(false);\n });\n\n this.items.last?.setLastItem(true);\n this._setNavigationButtons();\n this._paginate(0);\n })\n );\n }\n\n /** Scrolls to the next item. */\n goNext(): void {\n this._paginate();\n }\n\n /** Scrolls to the previous item. */\n goBack(): void {\n this._paginate(-1);\n }\n\n /**\n * Sets last focused element index.\n * @param elm Focused HTML element.\n */\n setFocusedElementIndex(elm: HTMLElement): void {\n this._focusedElementIndex = this.focusableItems.toArray().findIndex((item) => item.elRef.nativeElement === elm);\n }\n\n /**\n * Navigates to a specific page when the user presses 'Space' or 'Enter' key.\n * @param offset How much items needs to be scrolled relatively to the hidden previous items.\n * @param event The keyboard event.\n */\n onKeypressHandler(offset: number, event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, this._actionKeys)) {\n event.preventDefault();\n this._paginate(offset);\n }\n }\n\n /**\n * Checks if navigation buttons should be visible depending on the amount of items\n * and current pagination offset.\n */\n private _setNavigationButtons(): void {\n if (this._container === undefined) {\n return;\n }\n\n const containerWidth = this._container.nativeElement.offsetWidth;\n const itemsWidth = this._wrapperContainer.nativeElement.offsetWidth;\n const nextButtonWidth = this._goNextButton?.nativeElement.offsetWidth || 0;\n\n if (itemsWidth < containerWidth) {\n return;\n }\n\n // Skip previously shown items out of the calculation.\n const itemsToDisplay = this.items\n .toArray()\n .slice(this.previousItemsCount)\n .map((i) => i.elRef);\n\n // Check if all items can be fitted inside the container if we remove 'next' button.\n if (this.previousItemsCount > 0) {\n const remainingWidth = itemsToDisplay.reduce((width, elm) => elm.nativeElement.offsetWidth + width, 0);\n\n if (remainingWidth <= nextButtonWidth + containerWidth) {\n this.nextItemsCount = 0;\n this._cd.detectChanges();\n return;\n }\n }\n\n this._setNextItemsCount(itemsToDisplay, containerWidth);\n this._cd.detectChanges();\n }\n\n /**\n * Calculate how many items are out of the viewport.\n * @param itemsToDisplay Array of html elements that needs to be shown.\n * @param containerWidth Width of the parent container to calculate amount of items possible to fit.\n */\n private _setNextItemsCount(itemsToDisplay: ElementRef<HTMLElement>[], containerWidth: number): void {\n let visibleItemsWidth = 0;\n let newVisibleItemsWidth = 0;\n\n for (const [index, item] of itemsToDisplay.entries()) {\n newVisibleItemsWidth = visibleItemsWidth + item.nativeElement.offsetWidth;\n\n if (newVisibleItemsWidth <= containerWidth) {\n visibleItemsWidth = newVisibleItemsWidth;\n } else {\n this.nextItemsCount = itemsToDisplay.length - index;\n break;\n }\n }\n }\n\n /**\n * @hidden\n * Performs scrolling to the defined element based on the offset argument.\n * @param offset How much items needs to be scrolled relatively to the hidden previous items.\n */\n private _paginate(offset: number = 1): void {\n if (this.items === undefined || this.items.length === 0) {\n return;\n }\n\n this.previousItemsCount = this._focusedElementIndex = this.previousItemsCount + offset;\n\n // We need to set prev button first.\n this._setNavigationButtons();\n this._setFocusableVisibleItems();\n\n const currentItem = this.items.get(this.previousItemsCount);\n const containerWidth = this._container.nativeElement.offsetWidth;\n const wrapperContainerWidth = this._wrapperContainer.nativeElement.offsetWidth;\n\n if (!currentItem || containerWidth >= wrapperContainerWidth) {\n // Cancel pagination and revert previous items count back.\n this.previousItemsCount = this.previousItemsCount - offset;\n }\n\n const elmOffset = this._getPreviousItemsWidth();\n\n this._wrapperContainer.nativeElement.style.transform = `translateX(${elmOffset * this._paginationDirection}px)`;\n\n this._setNavigationButtons();\n this._setFocusableVisibleItems();\n }\n\n /**\n * @hidden\n * Calculates total width of previously shown items.\n * @returns {Number} total width of previously shown items.\n */\n private _getPreviousItemsWidth(): number {\n return this.items\n .toArray()\n .slice(0, this.previousItemsCount)\n .reduce((width, item) => item.elRef.nativeElement.offsetWidth + width, 0);\n }\n\n /** @hidden */\n private _disableFocusableItems(): void {\n this.items.forEach((item) => item.focusableElement?.setFocusable(false));\n }\n\n /** @hidden */\n private _setFocusableVisibleItems(): void {\n this._disableFocusableItems();\n\n const containerWidth = this._container.nativeElement.offsetWidth;\n\n const itemsToDisplay = this.items.toArray().slice(this.previousItemsCount);\n\n let visibleItemsWidth = 0;\n let newVisibleItemsWidth = 0;\n\n for (const item of itemsToDisplay) {\n newVisibleItemsWidth = visibleItemsWidth + item.elRef.nativeElement.offsetWidth;\n\n if (newVisibleItemsWidth <= containerWidth) {\n visibleItemsWidth = newVisibleItemsWidth;\n item.focusableElement?.setFocusable(true);\n } else {\n break;\n }\n }\n }\n\n /** @hidden */\n private _getPreviousItemsCount(): number {\n return this._focusedElementIndex === -1 ? this.previousItemsCount : this._focusedElementIndex;\n }\n}\n","@if (showPreviousButton) {\n <a\n tabindex=\"0\"\n class=\"fd-micro-process-flow__link-previous\"\n role=\"button\"\n type=\"button\"\n (click)=\"goBack()\"\n (keypress)=\"onKeypressHandler(-1, $event)\"\n >\n {{ previousItemsCount }}\n </a>\n}\n<div class=\"fd-micro-process-flow__overflow-container\" #container>\n <div\n class=\"fd-micro-process-flow__wrapper\"\n #wrapperContainer\n [style.transition-duration]=\"transitionSpeed + 'ms'\"\n [style.transition-timing-function]=\"transitionTimingFunction\"\n >\n <ng-content select=\"fd-micro-process-flow-item\"></ng-content>\n </div>\n</div>\n@if (showNextButton) {\n <a\n tabindex=\"0\"\n class=\"fd-micro-process-flow__link-next\"\n role=\"button\"\n type=\"button\"\n (click)=\"goNext()\"\n (keypress)=\"onKeypressHandler(1, $event)\"\n #goNextButton\n >\n {{ nextItemsCount }}\n </a>\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdMicroProcessFlowIntermediaryItem], [fd-micro-process-flow-intermediary-item]',\n host: {\n class: 'fd-micro-process-flow__intermediary-item'\n },\n standalone: true\n})\nexport class MicroProcessFlowIntermediaryItemDirective {}\n","import { NgModule } from '@angular/core';\nimport { MicroProcessFlowIconComponent } from './components/micro-process-flow-icon/micro-process-flow-icon.component';\nimport { MicroProcessFlowItemComponent } from './components/micro-process-flow-item/micro-process-flow-item.component';\nimport { MicroProcessFlowComponent } from './components/micro-process-flow/micro-process-flow.component';\nimport { MicroProcessFlowFocusableItemDirective } from './micro-process-flow-focusable-item.directive';\nimport { MicroProcessFlowIntermediaryItemDirective } from './micro-process-flow-intermediary-item.directive';\n\nconst components = [\n MicroProcessFlowComponent,\n MicroProcessFlowItemComponent,\n MicroProcessFlowIconComponent,\n MicroProcessFlowIntermediaryItemDirective,\n MicroProcessFlowFocusableItemDirective\n];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class MicroProcessFlowModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -86,9 +86,11 @@ class PanelTitleDirective {
86
86
  /** Id of the host element. */
87
87
  this.id = input('fd-panel-title-' + panelTitleUniqueId++, /* @ts-ignore */
88
88
  ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
89
+ /** Whether the title text wraps instead of truncating with ellipsis. Enabled by default to satisfy WCAG 1.4.10 Reflow. */
90
+ this.wrap = input(true, { ...(ngDevMode ? { debugName: "wrap" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
89
91
  }
90
92
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PanelTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
91
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: PanelTitleDirective, isStandalone: true, selector: "[fd-panel-title]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "id()" }, classAttribute: "fd-panel__title" }, ngImport: i0 }); }
93
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: PanelTitleDirective, isStandalone: true, selector: "[fd-panel-title]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, wrap: { classPropertyName: "wrap", publicName: "wrap", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.fd-panel__title--wrap": "wrap()", "attr.id": "id()" }, classAttribute: "fd-panel__title" }, ngImport: i0 }); }
92
94
  }
93
95
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PanelTitleDirective, decorators: [{
94
96
  type: Directive,
@@ -97,10 +99,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
97
99
  selector: '[fd-panel-title]',
98
100
  host: {
99
101
  class: 'fd-panel__title',
102
+ '[class.fd-panel__title--wrap]': 'wrap()',
100
103
  '[attr.id]': 'id()'
101
104
  }
102
105
  }]
103
- }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
106
+ }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], wrap: [{ type: i0.Input, args: [{ isSignal: true, alias: "wrap", required: false }] }] } });
104
107
 
105
108
  let panelUniqueId = 0;
106
109
  let panelExpandUniqueId = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-panel.mjs","sources":["../../../../libs/core/panel/panel-content/panel-content.directive.ts","../../../../libs/core/panel/panel-title/panel-title.directive.ts","../../../../libs/core/panel/panel.component.ts","../../../../libs/core/panel/panel.component.html","../../../../libs/core/panel/panel.module.ts","../../../../libs/core/panel/fundamental-ngx-core-panel.ts"],"sourcesContent":["import { Directive, booleanAttribute, computed, input } from '@angular/core';\n\nlet panelContentUniqueId = 0;\n\n/**\n * Applies the panel content style to a div element.\n *\n * ```html\n * <div fd-panel-content>Panel Content</div>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-panel-content]',\n host: {\n class: 'fd-panel__content',\n '[class.fd-panel__content--no-padding]': 'noPadding()',\n '[class.fd-panel__content--transparent]': 'transparent()',\n '[style.height]': 'height()',\n '[style.min-height]': 'minHeight()',\n '[style.max-height]': 'maxHeight()',\n '[attr.aria-label]': 'ariaLabel()',\n '[attr.aria-labelledby]': 'ariaLabelledBy()',\n '[attr.role]': 'role()',\n '[attr.id]': '_resolvedId()'\n }\n})\nexport class PanelContentDirective {\n /** Custom height of the content container. */\n readonly height = input<string | null>(null);\n\n /** Custom min-height of the content container. */\n readonly minHeight = input<string | null>(null);\n\n /** Custom max-height of the content container. */\n readonly maxHeight = input<string | null>(null);\n\n /** aria-label attribute of the host element element. */\n readonly ariaLabel = input<string | null>(null);\n\n /** aria-labelledby attribute of the host element element. */\n readonly ariaLabelledBy = input<string | null>(null);\n\n /** role attribute of the host element. */\n readonly role = input('region');\n\n /** Whether the content should have no padding. */\n readonly noPadding = input(false, { transform: booleanAttribute });\n\n /** Whether the content has transparent background. */\n readonly transparent = input(false, { transform: booleanAttribute });\n\n /** @hidden Signal input backing the id; template uses [id]=\"...\" via alias. */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n readonly _idInput = input<string | undefined>(undefined, { alias: 'id' });\n\n /** Id of the host element. */\n get id(): string {\n return this._resolvedId();\n }\n\n /** @hidden */\n readonly _resolvedId = computed(() => this._idInput() ?? this._defaultId);\n\n /** @hidden */\n private readonly _defaultId = 'fd-panel-content-' + panelContentUniqueId++;\n}\n","import { Directive, input } from '@angular/core';\n\nlet panelTitleUniqueId = 0;\n\n/**\n * Applies the panel title style to a header element. It can be used with any header level.\n *\n * ```html\n * <h5 fd-panel-title>Panel Title</h5>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-panel-title]',\n host: {\n class: 'fd-panel__title',\n '[attr.id]': 'id()'\n }\n})\nexport class PanelTitleDirective {\n /** Id of the host element. */\n readonly id = input('fd-panel-title-' + panelTitleUniqueId++);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n contentChild,\n inject,\n input,\n model\n} from '@angular/core';\n\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { PanelContentDirective } from './panel-content/panel-content.directive';\n\nlet panelUniqueId = 0;\nlet panelExpandUniqueId = 0;\n\n/**\n * The panel is a container for grouping and displaying information\n * Types: Expandable (default) and Fixed\n * Modes: Tablet/Mobile (default) and Desktop (compact)\n */\n@Component({\n selector: 'fd-panel',\n templateUrl: './panel.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrl: './panel.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [contentDensityObserverProviders()],\n imports: [ButtonComponent],\n host: {\n '[attr.id]': 'id()'\n }\n})\nexport class PanelComponent {\n /** User's custom classes */\n readonly class = input<string>('');\n\n /** Whether the Panel is fixed */\n readonly fixed = input(false, { transform: booleanAttribute });\n\n /** Id of the panel element. */\n readonly id = input('fd-panel-' + panelUniqueId++);\n\n /** Id of the expand button */\n readonly expandId = input('fd-panel-expand-' + panelExpandUniqueId++);\n\n /** aria-label of the expand button */\n readonly expandAriaLabel = input<string | null>(null);\n\n /** aria-labelledby of the expand button */\n readonly expandAriaLabelledBy = input<string | null>(null);\n\n /** Whether the Panel Content is expanded */\n readonly expanded = model(false);\n\n /** Whether the panel (header and content) is transparent */\n readonly transparent = input(false, { transform: booleanAttribute });\n\n /** Whether the panel has no border radius */\n readonly noRadius = input(false, { transform: booleanAttribute });\n\n /** Reference to panel content */\n readonly panelContent = contentChild(PanelContentDirective);\n\n /** @hidden */\n protected readonly buttonIcon = computed(() =>\n this.expanded() ? 'slim-arrow-down' : this._rtlService?.rtl() ? 'slim-arrow-left' : 'slim-arrow-right'\n );\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, {\n optional: true\n });\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {}\n\n /** Methods that toggles the Panel Content */\n toggleExpand(): void {\n this.expanded.update((expanded) => !expanded);\n }\n}\n","<div\n class=\"fd-panel\"\n [class.fd-panel--fixed]=\"fixed()\"\n [class.fd-panel--transparent]=\"transparent()\"\n [class.fd-panel--no-radius]=\"noRadius()\"\n [class]=\"class()\"\n>\n <div class=\"fd-panel__header\">\n @if (!fixed()) {\n <div class=\"fd-panel__expand\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-panel__button\"\n [glyph]=\"buttonIcon()\"\n [id]=\"expandId()\"\n [class.is-expanded]=\"expanded()\"\n [attr.aria-expanded]=\"expanded()\"\n [attr.aria-controls]=\"panelContent()?.id\"\n [ariaLabel]=\"expandAriaLabel()\"\n [attr.aria-labelledby]=\"expandAriaLabelledBy() + ' ' + expandId()\"\n [title]=\"expandAriaLabel()\"\n (click)=\"toggleExpand()\"\n ></button>\n </div>\n }\n <ng-content select=\"[fd-panel-title]\"></ng-content>\n <ng-content></ng-content>\n </div>\n @if (expanded() || fixed()) {\n <ng-content select=\"[fd-panel-content]\"></ng-content>\n }\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { PanelContentDirective } from './panel-content/panel-content.directive';\nimport { PanelTitleDirective } from './panel-title/panel-title.directive';\nimport { PanelComponent } from './panel.component';\n\n/**\n * @deprecated\n * Use direct imports of PanelComponent, PanelContentDirective, PanelTitleDirective\n */\n@NgModule({\n imports: [PanelComponent, PanelContentDirective, PanelTitleDirective, ContentDensityModule],\n exports: [PanelComponent, PanelContentDirective, PanelTitleDirective, ContentDensityModule]\n})\nexport class PanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-panel.mjs","sources":["../../../../libs/core/panel/panel-content/panel-content.directive.ts","../../../../libs/core/panel/panel-title/panel-title.directive.ts","../../../../libs/core/panel/panel.component.ts","../../../../libs/core/panel/panel.component.html","../../../../libs/core/panel/panel.module.ts","../../../../libs/core/panel/fundamental-ngx-core-panel.ts"],"sourcesContent":["import { Directive, booleanAttribute, computed, input } from '@angular/core';\n\nlet panelContentUniqueId = 0;\n\n/**\n * Applies the panel content style to a div element.\n *\n * ```html\n * <div fd-panel-content>Panel Content</div>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-panel-content]',\n host: {\n class: 'fd-panel__content',\n '[class.fd-panel__content--no-padding]': 'noPadding()',\n '[class.fd-panel__content--transparent]': 'transparent()',\n '[style.height]': 'height()',\n '[style.min-height]': 'minHeight()',\n '[style.max-height]': 'maxHeight()',\n '[attr.aria-label]': 'ariaLabel()',\n '[attr.aria-labelledby]': 'ariaLabelledBy()',\n '[attr.role]': 'role()',\n '[attr.id]': '_resolvedId()'\n }\n})\nexport class PanelContentDirective {\n /** Custom height of the content container. */\n readonly height = input<string | null>(null);\n\n /** Custom min-height of the content container. */\n readonly minHeight = input<string | null>(null);\n\n /** Custom max-height of the content container. */\n readonly maxHeight = input<string | null>(null);\n\n /** aria-label attribute of the host element element. */\n readonly ariaLabel = input<string | null>(null);\n\n /** aria-labelledby attribute of the host element element. */\n readonly ariaLabelledBy = input<string | null>(null);\n\n /** role attribute of the host element. */\n readonly role = input('region');\n\n /** Whether the content should have no padding. */\n readonly noPadding = input(false, { transform: booleanAttribute });\n\n /** Whether the content has transparent background. */\n readonly transparent = input(false, { transform: booleanAttribute });\n\n /** @hidden Signal input backing the id; template uses [id]=\"...\" via alias. */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n readonly _idInput = input<string | undefined>(undefined, { alias: 'id' });\n\n /** Id of the host element. */\n get id(): string {\n return this._resolvedId();\n }\n\n /** @hidden */\n readonly _resolvedId = computed(() => this._idInput() ?? this._defaultId);\n\n /** @hidden */\n private readonly _defaultId = 'fd-panel-content-' + panelContentUniqueId++;\n}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\nlet panelTitleUniqueId = 0;\n\n/**\n * Applies the panel title style to a header element. It can be used with any header level.\n *\n * ```html\n * <h5 fd-panel-title>Panel Title</h5>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-panel-title]',\n host: {\n class: 'fd-panel__title',\n '[class.fd-panel__title--wrap]': 'wrap()',\n '[attr.id]': 'id()'\n }\n})\nexport class PanelTitleDirective {\n /** Id of the host element. */\n readonly id = input('fd-panel-title-' + panelTitleUniqueId++);\n\n /** Whether the title text wraps instead of truncating with ellipsis. Enabled by default to satisfy WCAG 1.4.10 Reflow. */\n readonly wrap = input(true, { transform: booleanAttribute });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n contentChild,\n inject,\n input,\n model\n} from '@angular/core';\n\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { PanelContentDirective } from './panel-content/panel-content.directive';\n\nlet panelUniqueId = 0;\nlet panelExpandUniqueId = 0;\n\n/**\n * The panel is a container for grouping and displaying information\n * Types: Expandable (default) and Fixed\n * Modes: Tablet/Mobile (default) and Desktop (compact)\n */\n@Component({\n selector: 'fd-panel',\n templateUrl: './panel.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrl: './panel.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [contentDensityObserverProviders()],\n imports: [ButtonComponent],\n host: {\n '[attr.id]': 'id()'\n }\n})\nexport class PanelComponent {\n /** User's custom classes */\n readonly class = input<string>('');\n\n /** Whether the Panel is fixed */\n readonly fixed = input(false, { transform: booleanAttribute });\n\n /** Id of the panel element. */\n readonly id = input('fd-panel-' + panelUniqueId++);\n\n /** Id of the expand button */\n readonly expandId = input('fd-panel-expand-' + panelExpandUniqueId++);\n\n /** aria-label of the expand button */\n readonly expandAriaLabel = input<string | null>(null);\n\n /** aria-labelledby of the expand button */\n readonly expandAriaLabelledBy = input<string | null>(null);\n\n /** Whether the Panel Content is expanded */\n readonly expanded = model(false);\n\n /** Whether the panel (header and content) is transparent */\n readonly transparent = input(false, { transform: booleanAttribute });\n\n /** Whether the panel has no border radius */\n readonly noRadius = input(false, { transform: booleanAttribute });\n\n /** Reference to panel content */\n readonly panelContent = contentChild(PanelContentDirective);\n\n /** @hidden */\n protected readonly buttonIcon = computed(() =>\n this.expanded() ? 'slim-arrow-down' : this._rtlService?.rtl() ? 'slim-arrow-left' : 'slim-arrow-right'\n );\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, {\n optional: true\n });\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {}\n\n /** Methods that toggles the Panel Content */\n toggleExpand(): void {\n this.expanded.update((expanded) => !expanded);\n }\n}\n","<div\n class=\"fd-panel\"\n [class.fd-panel--fixed]=\"fixed()\"\n [class.fd-panel--transparent]=\"transparent()\"\n [class.fd-panel--no-radius]=\"noRadius()\"\n [class]=\"class()\"\n>\n <div class=\"fd-panel__header\">\n @if (!fixed()) {\n <div class=\"fd-panel__expand\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-panel__button\"\n [glyph]=\"buttonIcon()\"\n [id]=\"expandId()\"\n [class.is-expanded]=\"expanded()\"\n [attr.aria-expanded]=\"expanded()\"\n [attr.aria-controls]=\"panelContent()?.id\"\n [ariaLabel]=\"expandAriaLabel()\"\n [attr.aria-labelledby]=\"expandAriaLabelledBy() + ' ' + expandId()\"\n [title]=\"expandAriaLabel()\"\n (click)=\"toggleExpand()\"\n ></button>\n </div>\n }\n <ng-content select=\"[fd-panel-title]\"></ng-content>\n <ng-content></ng-content>\n </div>\n @if (expanded() || fixed()) {\n <ng-content select=\"[fd-panel-content]\"></ng-content>\n }\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { PanelContentDirective } from './panel-content/panel-content.directive';\nimport { PanelTitleDirective } from './panel-title/panel-title.directive';\nimport { PanelComponent } from './panel.component';\n\n/**\n * @deprecated\n * Use direct imports of PanelComponent, PanelContentDirective, PanelTitleDirective\n */\n@NgModule({\n imports: [PanelComponent, PanelContentDirective, PanelTitleDirective, ContentDensityModule],\n exports: [PanelComponent, PanelContentDirective, PanelTitleDirective, ContentDensityModule]\n})\nexport class PanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core",
3
- "version": "0.64.0-rc.5",
3
+ "version": "0.64.0-rc.7",
4
4
  "schematics": "./schematics/collection.json",
5
5
  "ng-update": {
6
6
  "migrations": "./schematics/migrations.json"
@@ -22,8 +22,8 @@
22
22
  "@angular/forms": "^22.0.0",
23
23
  "@angular/platform-browser": "^22.0.0",
24
24
  "@angular/router": "^22.0.0",
25
- "@fundamental-ngx/cdk": "0.64.0-rc.5",
26
- "@fundamental-ngx/i18n": "0.64.0-rc.5",
25
+ "@fundamental-ngx/cdk": "0.64.0-rc.7",
26
+ "@fundamental-ngx/i18n": "0.64.0-rc.7",
27
27
  "@sap-theming/theming-base-content": "^11.36.0",
28
28
  "fundamental-styles": "0.41.8",
29
29
  "rxjs": "^7.8.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "core-schematics",
3
- "version": "0.64.0-rc.5",
3
+ "version": "0.64.0-rc.7",
4
4
  "types": "./ng-add/index.d.ts",
5
5
  "main": "./ng-add/index.js",
6
6
  "type": "commonjs"
@@ -49,8 +49,10 @@ declare class PanelContentDirective {
49
49
  declare class PanelTitleDirective {
50
50
  /** Id of the host element. */
51
51
  readonly id: _angular_core.InputSignal<string>;
52
+ /** Whether the title text wraps instead of truncating with ellipsis. Enabled by default to satisfy WCAG 1.4.10 Reflow. */
53
+ readonly wrap: _angular_core.InputSignalWithTransform<boolean, unknown>;
52
54
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PanelTitleDirective, never>;
53
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PanelTitleDirective, "[fd-panel-title]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
55
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PanelTitleDirective, "[fd-panel-title]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
54
56
  }
55
57
 
56
58
  /**