@fundamental-ngx/core 0.64.0-rc.4 → 0.64.0-rc.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs.map +1 -1
- package/package.json +3 -3
- package/schematics/package.json +1 -1
|
@@ -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: "
|
|
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
|
|
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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"}
|
|
@@ -97,16 +97,16 @@ class StatusIndicatorComponent {
|
|
|
97
97
|
this.binaryString = signal('', /* @ts-ignore */
|
|
98
98
|
...(ngDevMode ? [{ debugName: "binaryString" }] : /* istanbul ignore next */ []));
|
|
99
99
|
/** @hidden */
|
|
100
|
-
this.x1 = signal('', /* @ts-ignore */
|
|
100
|
+
this.x1 = signal('0', /* @ts-ignore */
|
|
101
101
|
...(ngDevMode ? [{ debugName: "x1" }] : /* istanbul ignore next */ []));
|
|
102
102
|
/** @hidden */
|
|
103
|
-
this.y1 = signal('', /* @ts-ignore */
|
|
103
|
+
this.y1 = signal('0', /* @ts-ignore */
|
|
104
104
|
...(ngDevMode ? [{ debugName: "y1" }] : /* istanbul ignore next */ []));
|
|
105
105
|
/** @hidden */
|
|
106
|
-
this.x2 = signal('', /* @ts-ignore */
|
|
106
|
+
this.x2 = signal('0', /* @ts-ignore */
|
|
107
107
|
...(ngDevMode ? [{ debugName: "x2" }] : /* istanbul ignore next */ []));
|
|
108
108
|
/** @hidden */
|
|
109
|
-
this.y2 = signal('', /* @ts-ignore */
|
|
109
|
+
this.y2 = signal('0', /* @ts-ignore */
|
|
110
110
|
...(ngDevMode ? [{ debugName: "y2" }] : /* istanbul ignore next */ []));
|
|
111
111
|
/** @hidden */
|
|
112
112
|
this.pointsArray = signal([], /* @ts-ignore */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-status-indicator.mjs","sources":["../../../../libs/core/status-indicator/status-indicator.component.ts","../../../../libs/core/status-indicator/status-indicator.component.html","../../../../libs/core/status-indicator/status-indicator.module.ts","../../../../libs/core/status-indicator/fundamental-ngx-core-status-indicator.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n signal,\n ViewEncapsulation\n} from '@angular/core';\nimport { HasElementRef } from '@fundamental-ngx/cdk/utils';\n\nexport type StatusIndicatorSize = 'sm' | 'md' | 'lg' | 'xl';\nexport type StatusIndicatorColor = 'negative' | 'critical' | 'positive';\nexport type LablePosition = 'left' | 'right' | 'top' | 'bottom';\nexport type FillingType = 'radial' | 'angled' | 'linearup' | 'lineardown' | 'linearleft';\nexport type FillingDirection = 'clockwise' | 'counterclockwise';\n\nlet statusIndicatorId = 0;\n\nexport class Point {\n /** @hidden */\n constructor(\n public x: number,\n public y: number\n ) {}\n}\n\n@Component({\n selector: 'fd-status-indicator',\n templateUrl: './status-indicator.component.html',\n styleUrl: './status-indicator.component.scss',\n host: {\n '[class]': '_cssClass()',\n '[attr.aria-label]': 'ariaLabel()',\n '[attr.aria-roledescription]': 'ariaRoleDescription()',\n '[attr.focusable]': 'focusable()',\n '[attr.title]': 'title()',\n '[attr.role]': 'role()',\n '[attr.aria-valuetext]': 'ariaValueText()',\n '[attr.aria-valuenow]': 'fillPercentage() || 0',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': '100',\n '[attr.tabindex]': 'focusable() ? 0 : -1'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgTemplateOutlet]\n})\nexport class StatusIndicatorComponent implements AfterViewInit, HasElementRef {\n /**\n * value id defines the id of the object.\n */\n readonly id = input('fd-status-indicator-' + ++statusIndicatorId);\n\n /**\n * defines the size of the status indicator.\n * Can be one of the following: 'sm' | 'md' | 'lg' | 'xl'\n * Default size is Medium(md).\n */\n readonly size = input<StatusIndicatorSize>('md');\n\n /**\n * The status represented by the Status Indicator.\n * Can be one of the following: 'negative' | 'critical' | 'informative'\n * For default Object Status omit this property\n */\n readonly status = input<StatusIndicatorColor>();\n\n /** Define the text content of the Status indicator*/\n readonly statusLabel = input<string>();\n\n /**\n * positioning of the status indicator image within the defined height and width .\n */\n readonly viewBox = input<string>();\n\n /**\n * boolean value to be marked as clickable\n */\n readonly clickable = input(false);\n\n /**\n * defines the size of the status indicator.\n * Can be one of the following: 'sm' | 'md' | 'lg' | 'xl'\n */\n readonly labelSize = input<StatusIndicatorSize>('sm');\n\n /** Aria label for the Status Indicator. */\n readonly ariaLabel = input<string | null | undefined>();\n\n /** Aria defines role description for the Status Indicator. */\n readonly ariaRoleDescription = input<string | null | undefined>();\n\n /** Aria Focusable for the Status Indicator. */\n readonly focusable = input(false, { transform: booleanAttribute });\n\n /** Aria Role for the Status Indicator. */\n readonly role = input<string | null | undefined>();\n\n /** Aria Value Text for the Status Indicator. */\n readonly ariaValueText = input<string | null | undefined>();\n\n /** Aria title for the status indicator. */\n readonly title = input<string | null | undefined>();\n\n /** defines the label position the value can be 'left' | 'right' | 'top' | 'bottom' */\n readonly labelPosition = input<LablePosition>();\n\n /** Path for the status indicator */\n readonly path = input<string[]>();\n\n /**\n * Offset value to be filled under the give percentatge value.\n */\n readonly fillPercentage = input<number>();\n\n /**\n * value to define fill direction\n */\n readonly fillDirection = input<FillingDirection>('clockwise');\n\n /**\n * FillingType to represent the fill pattern of the component\n */\n readonly fillingType = input<FillingType>('lineardown');\n\n /** represent the degree of angle to project the filling of the component */\n readonly angle = input<number>();\n\n /** @hidden */\n readonly elementRef = inject(ElementRef<HTMLElement>);\n\n /** @hidden */\n protected readonly binaryString = signal<string>('');\n /** @hidden */\n protected readonly x1 = signal<string>('');\n /** @hidden */\n protected readonly y1 = signal<string>('');\n /** @hidden */\n protected readonly x2 = signal<string>('');\n /** @hidden */\n protected readonly y2 = signal<string>('');\n /** @hidden */\n protected readonly pointsArray = signal<string[]>([]);\n\n /** @hidden Computed fill calculator based on percentage and path length */\n protected readonly fillCalculator = computed(() => {\n const percentage = this.fillPercentage();\n const pathLength = this.path()?.length || 0;\n\n if (percentage === undefined || percentage < 0) {\n return 0;\n }\n return (percentage * pathLength) / 100;\n });\n\n /** @hidden Computed CSS class */\n protected readonly _cssClass = computed(() =>\n [\n 'fd-status-indicator',\n this.size() ? `fd-status-indicator--${this.size()}` : '',\n this.status() ? `fd-status-indicator--${this.status()}` : '',\n this.clickable() ? 'fd-status-indicator--link' : '',\n this.labelPosition() === 'right' || this.labelPosition() === 'left'\n ? 'fd-status-indicator--horizontal-label'\n : ''\n ]\n .filter(Boolean)\n .join(' ')\n );\n\n protected readonly labelCssClass = computed(() =>\n [\n 'fd-status-indicator__label',\n this.labelSize() ? `fd-status-indicator__label--${this.labelSize()}` : '',\n this.labelPosition() ? `fd-status-indicator__label--${this.labelPosition()}` : ''\n ]\n .filter(Boolean)\n .join(' ')\n );\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._angleCalculation();\n }\n\n /** @hidden */\n private _angleCalculation(): void {\n let sPointsAttributeValue: Array<Point>;\n let polygonPoints: string;\n const fillType = this.fillingType();\n\n switch (fillType) {\n case 'angled': {\n const angleValue = this.angle();\n if (angleValue !== undefined) {\n const binaryStr = this._convertAngleToBinary(angleValue);\n this.binaryString.set(binaryStr);\n this._assignBinaryValue(binaryStr);\n }\n break;\n }\n case 'radial': {\n const tempPercent = this.fillCalculator() % 1;\n const fillNumber = Number(tempPercent.toFixed(2));\n const element = this.elementRef.nativeElement.querySelectorAll('svg');\n const points: string[] = [];\n\n for (let i = 1; i < element.length; i++) {\n sPointsAttributeValue = this._getPolygonPointsForCircularFilling(\n fillNumber * 100,\n element[i].getBBox()\n );\n polygonPoints = sPointsAttributeValue.reduce((acc, item) => acc + item.x + ',' + item.y + ' ', '');\n points.push(polygonPoints);\n }\n this.pointsArray.set(points);\n break;\n }\n case 'linearup': {\n const binaryStr = this._convertAngleToBinary(90);\n this.binaryString.set(binaryStr);\n this._assignBinaryValue(binaryStr);\n break;\n }\n case 'lineardown': {\n const binaryStr = this._convertAngleToBinary(270);\n this.binaryString.set(binaryStr);\n this._assignBinaryValue(binaryStr);\n break;\n }\n case 'linearleft': {\n const binaryStr = this._convertAngleToBinary(180);\n this.binaryString.set(binaryStr);\n this._assignBinaryValue(binaryStr);\n break;\n }\n default:\n throw new Error(`fdStatusIndicator: No fillType found for ${fillType}.`);\n }\n }\n\n /** @hidden */\n private _convertAngleToBinary(angle: number): string {\n if (angle > 0 && angle <= 45) {\n return '1,0,0,1';\n } else if (angle >= 45 && angle < 90) {\n return '0,0,0,1';\n } else if (angle >= 90 && angle < 135) {\n return '0,0,0,1';\n } else if (angle >= 135 && angle < 180) {\n return '0,0,1,1';\n } else if (angle >= 180 && angle < 225) {\n return '0,0,1,0';\n } else if (angle >= 225 && angle < 270) {\n return '0,1,1,0';\n } else if (angle >= 270 && angle < 315) {\n return '0,1,0,0';\n } else if (angle >= 315 && angle < 360) {\n return '1,1,0,0';\n } else if (angle === 0 || angle === 360) {\n return '1,0,0,0';\n } else {\n return 'invalid';\n }\n }\n\n /** @hidden */\n private _assignBinaryValue(binaryString: string): void {\n const binaryValue = binaryString.split(',');\n this.x1.set(binaryValue[0]);\n this.y1.set(binaryValue[1]);\n this.x2.set(binaryValue[2]);\n this.y2.set(binaryValue[3]);\n }\n\n /** @hidden */\n private _getPolygonPointsForCircularFilling(value: number, boundingBoxSvg: DOMRect): Array<Point> {\n const angle = 3.6 * value;\n const points: Point[] = [];\n let xDifferenceFromBoundaryCentre: number;\n let yDifferenceFromBoundaryCentre: number;\n let polygonPoint: Point;\n\n // starts at 12, the algorithm computes the coordination for clockwise direction only\n // counter clockwise direction is managed by symmetry\n const oStartPoint = new Point(boundingBoxSvg.x + boundingBoxSvg.width / 2, boundingBoxSvg.y);\n const oCentrePoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width / 2,\n boundingBoxSvg.y + boundingBoxSvg.height / 2\n );\n\n // Reflects x coordinate by centre point for Counter Clockwise type\n const _adjustIfCounterClockwise = (oPoint: Point): Point => {\n const res = Object.assign({}, oPoint);\n\n if (this.fillDirection() === 'counterclockwise') {\n const iXDistanceFromCentre = oPoint.x - oCentrePoint.x;\n res.x = oCentrePoint.x - iXDistanceFromCentre;\n }\n\n return res;\n };\n\n // Boundary centre is given by angle distance from the beginning (0°). The returned difference is related\n // to x or y coordinate depending on boundary centre angle (e.g. 0° -> x, 90° -> y, 180° -> x 270° -> y).\n // Boundary length is length of the corresponding side of bounding box (width for x, height for y).\n const computeDifferenceFromBoundaryCentre = (\n inAngle: number,\n iBoundaryCentreAngle: number,\n iBoundaryLength: number\n ): number => {\n const tan = Math.tan(((iBoundaryCentreAngle - inAngle) * Math.PI) / 180);\n\n return (tan * iBoundaryLength) / 2;\n };\n\n points.push(oStartPoint);\n\n if (0 < angle && angle < 45) {\n xDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 0, boundingBoxSvg.height);\n polygonPoint = new Point(oStartPoint.x - xDifferenceFromBoundaryCentre, oStartPoint.y);\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (45 <= angle) {\n points.push(\n _adjustIfCounterClockwise(new Point(boundingBoxSvg.x + boundingBoxSvg.width, boundingBoxSvg.y))\n );\n }\n\n if (45 < angle && angle < 135) {\n yDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 90, boundingBoxSvg.width);\n polygonPoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width,\n boundingBoxSvg.y + boundingBoxSvg.height / 2 - yDifferenceFromBoundaryCentre\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (135 <= angle) {\n points.push(\n _adjustIfCounterClockwise(\n new Point(boundingBoxSvg.x + boundingBoxSvg.width, boundingBoxSvg.y + boundingBoxSvg.height)\n )\n );\n }\n\n if (135 < angle && angle < 225) {\n xDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 180, boundingBoxSvg.height);\n polygonPoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width / 2 + xDifferenceFromBoundaryCentre,\n boundingBoxSvg.y + boundingBoxSvg.height\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (225 <= angle) {\n points.push(\n _adjustIfCounterClockwise(new Point(boundingBoxSvg.x, boundingBoxSvg.y + boundingBoxSvg.height))\n );\n }\n\n if (225 < angle && angle < 315) {\n yDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 270, boundingBoxSvg.width);\n polygonPoint = new Point(\n boundingBoxSvg.x,\n boundingBoxSvg.y + boundingBoxSvg.height / 2 + yDifferenceFromBoundaryCentre\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (315 <= angle) {\n points.push(_adjustIfCounterClockwise(new Point(boundingBoxSvg.x, boundingBoxSvg.y)));\n }\n\n if (315 < angle && angle <= 360) {\n xDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 360, boundingBoxSvg.height);\n polygonPoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width / 2 - xDifferenceFromBoundaryCentre,\n boundingBoxSvg.y\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n points.push(oCentrePoint);\n\n return points;\n }\n}\n","@if (labelPosition() === 'left' || labelPosition() === 'top') {\n <span [class]=\"labelCssClass()\">{{ statusLabel() }} </span>\n}\n<svg\n [attr.id]=\"id()\"\n data-sap-ui=\"__shape0-__box21-24\"\n version=\"1.1\"\n [attr.viewBox]=\"viewBox()\"\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n class=\"fd-status-indicator__svg\"\n>\n <ng-container [ngTemplateOutlet]=\"svgTemplate\"></ng-container>\n</svg>\n@if (labelPosition() === 'right' || labelPosition() === 'bottom') {\n <span [class]=\"labelCssClass()\">{{ statusLabel() }} </span>\n}\n<ng-template #svgTemplate>\n @for (path of path(); track path; let i = $index) {\n <svg\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n overflow=\"visible\"\n [attr.id]=\"id() + i\"\n data-sap-ui=\"id\"\n >\n <defs>\n @if (!(fillCalculator() - i > 0 && fillCalculator() - i < 1) || fillingType() !== 'radial') {\n <linearGradient\n id=\"{{ id() + i }}-gradient\"\n [attr.x1]=\"x1()\"\n [attr.y1]=\"y1()\"\n [attr.x2]=\"x2()\"\n [attr.y2]=\"y2()\"\n >\n <stop [attr.offset]=\"fillCalculator() - i\" stop-color=\"white\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator() - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n <stop [attr.offset]=\"fillCalculator() - i\" stop-color=\"transparent\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator() - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n </linearGradient>\n }\n <mask #maskTemplate id=\"{{ id() + i }}-mask\">\n @if (!(fillCalculator() - i > 0 && fillCalculator() - i < 1) || fillingType() !== 'radial') {\n <path\n id=\"{{ id() + i }}-mask-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"white\"\n attr.fill=\"url(#{{ id() + i }}-gradient)\"\n ></path>\n }\n @if (fillingType() === 'radial' && fillCalculator() - i > 0 && fillCalculator() - i < 1) {\n <polygon id=\"{{ id() + i }}-mask-shape\" fill=\"white\" [attr.points]=\"pointsArray()[i]\"></polygon>\n }\n </mask>\n </defs>\n <path\n id=\"{{ id() + i }}-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"#89919A\"\n attr.mask=\"url(#{{ id() + i }}-mask)\"\n ></path>\n <path\n id=\"{{ id() + i }}-shape-border\"\n [attr.d]=\"path\"\n stroke-width=\"0.25\"\n stroke=\"#89919A\"\n fill=\"transparent\"\n ></path>\n </svg>\n }\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { StatusIndicatorComponent } from './status-indicator.component';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [StatusIndicatorComponent],\n exports: [StatusIndicatorComponent]\n})\nexport class StatusIndicatorModule {}\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-status-indicator.mjs","sources":["../../../../libs/core/status-indicator/status-indicator.component.ts","../../../../libs/core/status-indicator/status-indicator.component.html","../../../../libs/core/status-indicator/status-indicator.module.ts","../../../../libs/core/status-indicator/fundamental-ngx-core-status-indicator.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n signal,\n ViewEncapsulation\n} from '@angular/core';\nimport { HasElementRef } from '@fundamental-ngx/cdk/utils';\n\nexport type StatusIndicatorSize = 'sm' | 'md' | 'lg' | 'xl';\nexport type StatusIndicatorColor = 'negative' | 'critical' | 'positive';\nexport type LablePosition = 'left' | 'right' | 'top' | 'bottom';\nexport type FillingType = 'radial' | 'angled' | 'linearup' | 'lineardown' | 'linearleft';\nexport type FillingDirection = 'clockwise' | 'counterclockwise';\n\nlet statusIndicatorId = 0;\n\nexport class Point {\n /** @hidden */\n constructor(\n public x: number,\n public y: number\n ) {}\n}\n\n@Component({\n selector: 'fd-status-indicator',\n templateUrl: './status-indicator.component.html',\n styleUrl: './status-indicator.component.scss',\n host: {\n '[class]': '_cssClass()',\n '[attr.aria-label]': 'ariaLabel()',\n '[attr.aria-roledescription]': 'ariaRoleDescription()',\n '[attr.focusable]': 'focusable()',\n '[attr.title]': 'title()',\n '[attr.role]': 'role()',\n '[attr.aria-valuetext]': 'ariaValueText()',\n '[attr.aria-valuenow]': 'fillPercentage() || 0',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': '100',\n '[attr.tabindex]': 'focusable() ? 0 : -1'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgTemplateOutlet]\n})\nexport class StatusIndicatorComponent implements AfterViewInit, HasElementRef {\n /**\n * value id defines the id of the object.\n */\n readonly id = input('fd-status-indicator-' + ++statusIndicatorId);\n\n /**\n * defines the size of the status indicator.\n * Can be one of the following: 'sm' | 'md' | 'lg' | 'xl'\n * Default size is Medium(md).\n */\n readonly size = input<StatusIndicatorSize>('md');\n\n /**\n * The status represented by the Status Indicator.\n * Can be one of the following: 'negative' | 'critical' | 'informative'\n * For default Object Status omit this property\n */\n readonly status = input<StatusIndicatorColor>();\n\n /** Define the text content of the Status indicator*/\n readonly statusLabel = input<string>();\n\n /**\n * positioning of the status indicator image within the defined height and width .\n */\n readonly viewBox = input<string>();\n\n /**\n * boolean value to be marked as clickable\n */\n readonly clickable = input(false);\n\n /**\n * defines the size of the status indicator.\n * Can be one of the following: 'sm' | 'md' | 'lg' | 'xl'\n */\n readonly labelSize = input<StatusIndicatorSize>('sm');\n\n /** Aria label for the Status Indicator. */\n readonly ariaLabel = input<string | null | undefined>();\n\n /** Aria defines role description for the Status Indicator. */\n readonly ariaRoleDescription = input<string | null | undefined>();\n\n /** Aria Focusable for the Status Indicator. */\n readonly focusable = input(false, { transform: booleanAttribute });\n\n /** Aria Role for the Status Indicator. */\n readonly role = input<string | null | undefined>();\n\n /** Aria Value Text for the Status Indicator. */\n readonly ariaValueText = input<string | null | undefined>();\n\n /** Aria title for the status indicator. */\n readonly title = input<string | null | undefined>();\n\n /** defines the label position the value can be 'left' | 'right' | 'top' | 'bottom' */\n readonly labelPosition = input<LablePosition>();\n\n /** Path for the status indicator */\n readonly path = input<string[]>();\n\n /**\n * Offset value to be filled under the give percentatge value.\n */\n readonly fillPercentage = input<number>();\n\n /**\n * value to define fill direction\n */\n readonly fillDirection = input<FillingDirection>('clockwise');\n\n /**\n * FillingType to represent the fill pattern of the component\n */\n readonly fillingType = input<FillingType>('lineardown');\n\n /** represent the degree of angle to project the filling of the component */\n readonly angle = input<number>();\n\n /** @hidden */\n readonly elementRef = inject(ElementRef<HTMLElement>);\n\n /** @hidden */\n protected readonly binaryString = signal<string>('');\n\n /** @hidden */\n protected readonly x1 = signal<string>('0');\n\n /** @hidden */\n protected readonly y1 = signal<string>('0');\n\n /** @hidden */\n protected readonly x2 = signal<string>('0');\n\n /** @hidden */\n protected readonly y2 = signal<string>('0');\n\n /** @hidden */\n protected readonly pointsArray = signal<string[]>([]);\n\n /** @hidden Computed fill calculator based on percentage and path length */\n protected readonly fillCalculator = computed(() => {\n const percentage = this.fillPercentage();\n const pathLength = this.path()?.length || 0;\n\n if (percentage === undefined || percentage < 0) {\n return 0;\n }\n return (percentage * pathLength) / 100;\n });\n\n /** @hidden Computed CSS class */\n protected readonly _cssClass = computed(() =>\n [\n 'fd-status-indicator',\n this.size() ? `fd-status-indicator--${this.size()}` : '',\n this.status() ? `fd-status-indicator--${this.status()}` : '',\n this.clickable() ? 'fd-status-indicator--link' : '',\n this.labelPosition() === 'right' || this.labelPosition() === 'left'\n ? 'fd-status-indicator--horizontal-label'\n : ''\n ]\n .filter(Boolean)\n .join(' ')\n );\n\n protected readonly labelCssClass = computed(() =>\n [\n 'fd-status-indicator__label',\n this.labelSize() ? `fd-status-indicator__label--${this.labelSize()}` : '',\n this.labelPosition() ? `fd-status-indicator__label--${this.labelPosition()}` : ''\n ]\n .filter(Boolean)\n .join(' ')\n );\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._angleCalculation();\n }\n\n /** @hidden */\n private _angleCalculation(): void {\n let sPointsAttributeValue: Array<Point>;\n let polygonPoints: string;\n const fillType = this.fillingType();\n\n switch (fillType) {\n case 'angled': {\n const angleValue = this.angle();\n if (angleValue !== undefined) {\n const binaryStr = this._convertAngleToBinary(angleValue);\n this.binaryString.set(binaryStr);\n this._assignBinaryValue(binaryStr);\n }\n break;\n }\n case 'radial': {\n const tempPercent = this.fillCalculator() % 1;\n const fillNumber = Number(tempPercent.toFixed(2));\n const element = this.elementRef.nativeElement.querySelectorAll('svg');\n const points: string[] = [];\n\n for (let i = 1; i < element.length; i++) {\n sPointsAttributeValue = this._getPolygonPointsForCircularFilling(\n fillNumber * 100,\n element[i].getBBox()\n );\n polygonPoints = sPointsAttributeValue.reduce((acc, item) => acc + item.x + ',' + item.y + ' ', '');\n points.push(polygonPoints);\n }\n this.pointsArray.set(points);\n break;\n }\n case 'linearup': {\n const binaryStr = this._convertAngleToBinary(90);\n this.binaryString.set(binaryStr);\n this._assignBinaryValue(binaryStr);\n break;\n }\n case 'lineardown': {\n const binaryStr = this._convertAngleToBinary(270);\n this.binaryString.set(binaryStr);\n this._assignBinaryValue(binaryStr);\n break;\n }\n case 'linearleft': {\n const binaryStr = this._convertAngleToBinary(180);\n this.binaryString.set(binaryStr);\n this._assignBinaryValue(binaryStr);\n break;\n }\n default:\n throw new Error(`fdStatusIndicator: No fillType found for ${fillType}.`);\n }\n }\n\n /** @hidden */\n private _convertAngleToBinary(angle: number): string {\n if (angle > 0 && angle <= 45) {\n return '1,0,0,1';\n } else if (angle >= 45 && angle < 90) {\n return '0,0,0,1';\n } else if (angle >= 90 && angle < 135) {\n return '0,0,0,1';\n } else if (angle >= 135 && angle < 180) {\n return '0,0,1,1';\n } else if (angle >= 180 && angle < 225) {\n return '0,0,1,0';\n } else if (angle >= 225 && angle < 270) {\n return '0,1,1,0';\n } else if (angle >= 270 && angle < 315) {\n return '0,1,0,0';\n } else if (angle >= 315 && angle < 360) {\n return '1,1,0,0';\n } else if (angle === 0 || angle === 360) {\n return '1,0,0,0';\n } else {\n return 'invalid';\n }\n }\n\n /** @hidden */\n private _assignBinaryValue(binaryString: string): void {\n const binaryValue = binaryString.split(',');\n this.x1.set(binaryValue[0]);\n this.y1.set(binaryValue[1]);\n this.x2.set(binaryValue[2]);\n this.y2.set(binaryValue[3]);\n }\n\n /** @hidden */\n private _getPolygonPointsForCircularFilling(value: number, boundingBoxSvg: DOMRect): Array<Point> {\n const angle = 3.6 * value;\n const points: Point[] = [];\n let xDifferenceFromBoundaryCentre: number;\n let yDifferenceFromBoundaryCentre: number;\n let polygonPoint: Point;\n\n // starts at 12, the algorithm computes the coordination for clockwise direction only\n // counter clockwise direction is managed by symmetry\n const oStartPoint = new Point(boundingBoxSvg.x + boundingBoxSvg.width / 2, boundingBoxSvg.y);\n const oCentrePoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width / 2,\n boundingBoxSvg.y + boundingBoxSvg.height / 2\n );\n\n // Reflects x coordinate by centre point for Counter Clockwise type\n const _adjustIfCounterClockwise = (oPoint: Point): Point => {\n const res = Object.assign({}, oPoint);\n\n if (this.fillDirection() === 'counterclockwise') {\n const iXDistanceFromCentre = oPoint.x - oCentrePoint.x;\n res.x = oCentrePoint.x - iXDistanceFromCentre;\n }\n\n return res;\n };\n\n // Boundary centre is given by angle distance from the beginning (0°). The returned difference is related\n // to x or y coordinate depending on boundary centre angle (e.g. 0° -> x, 90° -> y, 180° -> x 270° -> y).\n // Boundary length is length of the corresponding side of bounding box (width for x, height for y).\n const computeDifferenceFromBoundaryCentre = (\n inAngle: number,\n iBoundaryCentreAngle: number,\n iBoundaryLength: number\n ): number => {\n const tan = Math.tan(((iBoundaryCentreAngle - inAngle) * Math.PI) / 180);\n\n return (tan * iBoundaryLength) / 2;\n };\n\n points.push(oStartPoint);\n\n if (0 < angle && angle < 45) {\n xDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 0, boundingBoxSvg.height);\n polygonPoint = new Point(oStartPoint.x - xDifferenceFromBoundaryCentre, oStartPoint.y);\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (45 <= angle) {\n points.push(\n _adjustIfCounterClockwise(new Point(boundingBoxSvg.x + boundingBoxSvg.width, boundingBoxSvg.y))\n );\n }\n\n if (45 < angle && angle < 135) {\n yDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 90, boundingBoxSvg.width);\n polygonPoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width,\n boundingBoxSvg.y + boundingBoxSvg.height / 2 - yDifferenceFromBoundaryCentre\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (135 <= angle) {\n points.push(\n _adjustIfCounterClockwise(\n new Point(boundingBoxSvg.x + boundingBoxSvg.width, boundingBoxSvg.y + boundingBoxSvg.height)\n )\n );\n }\n\n if (135 < angle && angle < 225) {\n xDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 180, boundingBoxSvg.height);\n polygonPoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width / 2 + xDifferenceFromBoundaryCentre,\n boundingBoxSvg.y + boundingBoxSvg.height\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (225 <= angle) {\n points.push(\n _adjustIfCounterClockwise(new Point(boundingBoxSvg.x, boundingBoxSvg.y + boundingBoxSvg.height))\n );\n }\n\n if (225 < angle && angle < 315) {\n yDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 270, boundingBoxSvg.width);\n polygonPoint = new Point(\n boundingBoxSvg.x,\n boundingBoxSvg.y + boundingBoxSvg.height / 2 + yDifferenceFromBoundaryCentre\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n if (315 <= angle) {\n points.push(_adjustIfCounterClockwise(new Point(boundingBoxSvg.x, boundingBoxSvg.y)));\n }\n\n if (315 < angle && angle <= 360) {\n xDifferenceFromBoundaryCentre = computeDifferenceFromBoundaryCentre(angle, 360, boundingBoxSvg.height);\n polygonPoint = new Point(\n boundingBoxSvg.x + boundingBoxSvg.width / 2 - xDifferenceFromBoundaryCentre,\n boundingBoxSvg.y\n );\n points.push(_adjustIfCounterClockwise(polygonPoint));\n }\n\n points.push(oCentrePoint);\n\n return points;\n }\n}\n","@if (labelPosition() === 'left' || labelPosition() === 'top') {\n <span [class]=\"labelCssClass()\">{{ statusLabel() }} </span>\n}\n<svg\n [attr.id]=\"id()\"\n data-sap-ui=\"__shape0-__box21-24\"\n version=\"1.1\"\n [attr.viewBox]=\"viewBox()\"\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n class=\"fd-status-indicator__svg\"\n>\n <ng-container [ngTemplateOutlet]=\"svgTemplate\"></ng-container>\n</svg>\n@if (labelPosition() === 'right' || labelPosition() === 'bottom') {\n <span [class]=\"labelCssClass()\">{{ statusLabel() }} </span>\n}\n<ng-template #svgTemplate>\n @for (path of path(); track path; let i = $index) {\n <svg\n xlmns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n overflow=\"visible\"\n [attr.id]=\"id() + i\"\n data-sap-ui=\"id\"\n >\n <defs>\n @if (!(fillCalculator() - i > 0 && fillCalculator() - i < 1) || fillingType() !== 'radial') {\n <linearGradient\n id=\"{{ id() + i }}-gradient\"\n [attr.x1]=\"x1()\"\n [attr.y1]=\"y1()\"\n [attr.x2]=\"x2()\"\n [attr.y2]=\"y2()\"\n >\n <stop [attr.offset]=\"fillCalculator() - i\" stop-color=\"white\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator() - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n <stop [attr.offset]=\"fillCalculator() - i\" stop-color=\"transparent\">\n <animate\n attributeName=\"offset\"\n attr.values=\"0, {{ fillCalculator() - i }}\"\n repeatCount=\"1\"\n dur=\"1s\"\n begin=\"0s\"\n />\n </stop>\n </linearGradient>\n }\n <mask #maskTemplate id=\"{{ id() + i }}-mask\">\n @if (!(fillCalculator() - i > 0 && fillCalculator() - i < 1) || fillingType() !== 'radial') {\n <path\n id=\"{{ id() + i }}-mask-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"white\"\n attr.fill=\"url(#{{ id() + i }}-gradient)\"\n ></path>\n }\n @if (fillingType() === 'radial' && fillCalculator() - i > 0 && fillCalculator() - i < 1) {\n <polygon id=\"{{ id() + i }}-mask-shape\" fill=\"white\" [attr.points]=\"pointsArray()[i]\"></polygon>\n }\n </mask>\n </defs>\n <path\n id=\"{{ id() + i }}-shape\"\n [attr.d]=\"path\"\n stroke-width=\"0\"\n stroke=\"#89919A\"\n attr.mask=\"url(#{{ id() + i }}-mask)\"\n ></path>\n <path\n id=\"{{ id() + i }}-shape-border\"\n [attr.d]=\"path\"\n stroke-width=\"0.25\"\n stroke=\"#89919A\"\n fill=\"transparent\"\n ></path>\n </svg>\n }\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { StatusIndicatorComponent } from './status-indicator.component';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [StatusIndicatorComponent],\n exports: [StatusIndicatorComponent]\n})\nexport class StatusIndicatorModule {}\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.
|
|
3
|
+
"version": "0.64.0-rc.6",
|
|
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.
|
|
26
|
-
"@fundamental-ngx/i18n": "0.64.0-rc.
|
|
25
|
+
"@fundamental-ngx/cdk": "0.64.0-rc.6",
|
|
26
|
+
"@fundamental-ngx/i18n": "0.64.0-rc.6",
|
|
27
27
|
"@sap-theming/theming-base-content": "^11.36.0",
|
|
28
28
|
"fundamental-styles": "0.41.8",
|
|
29
29
|
"rxjs": "^7.8.0"
|