@fundamental-ngx/core 0.59.1-rc.21 → 0.59.1-rc.23
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-layout-panel.mjs +72 -231
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs +137 -131
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs.map +1 -1
- package/package.json +3 -3
- package/types/fundamental-ngx-core-layout-panel.d.ts +19 -131
- package/types/fundamental-ngx-core-status-indicator.d.ts +40 -56
|
@@ -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 ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\nimport { CssClassBuilder, Nullable, applyCssClass } 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\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 '[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 ? 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 OnChanges, AfterViewInit, CssClassBuilder, OnInit {\n /**\n * value id defines the id of the object.\n */\n @Input()\n id: string;\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 @Input()\n size: 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 @Input()\n status: StatusIndicatorColor;\n\n /** Define the text content of the Status indicator*/\n @Input()\n statusLabel: string;\n\n /**\n * positioning of the status indicator image within the defined height and width .\n */\n @Input()\n viewBox: string;\n\n /**\n * boolean value to be marked as clickable\n */\n @Input()\n clickable: boolean;\n\n /**\n * defines the size of the status indicator.\n * Can be one of the following: 'sm' | 'md' | 'lg' | 'xl'\n */\n @Input()\n labelSize: StatusIndicatorSize = 'sm';\n\n /** Aria label for the Status Indicator. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Aria defines role description for the Status Indicator. */\n @Input()\n ariaRoleDescription: Nullable<string>;\n\n /** Aria Focusable for the Status Indicator. */\n @Input()\n focusable: boolean;\n\n /** Aria Role for the Status Indicator. */\n @Input()\n role: Nullable<string>;\n\n /** Aria Value Text for the Status Indicator. */\n @Input()\n ariaValueText: Nullable<string>;\n\n /** Aria title for the status indicator. */\n @Input()\n title: Nullable<string>;\n\n /** defines the label position the value can be 'left' | 'right' | 'top' | 'bottom' */\n @Input()\n labelPosition: LablePosition;\n\n /** Path for the status indicator */\n @Input()\n path: string[];\n\n /**\n * Offset value to be filled under the give percentatge value.\n */\n @Input()\n fillPercentage: number;\n\n /**\n * value to define fill direction\n */\n @Input()\n fillDirection: FillingDirection = 'clockwise';\n\n /** @hidden */\n set _fillDirection(direction: FillingDirection) {\n this.fillDirection = direction;\n }\n get _fillDirection(): FillingDirection {\n return this.fillDirection;\n }\n\n /**\n * FillingType to represent the fill pattern of the component\n */\n @Input()\n fillingType: FillingType = 'lineardown';\n\n /** represent the degree of angle to project the filling of the component */\n @Input()\n angle: number;\n\n /** @hidden */\n fillCalculator: number;\n /** @hidden */\n binaryString: string;\n /** @hidden */\n x1: string;\n /** @hidden */\n y1: string;\n /** @hidden */\n x2: string;\n /** @hidden */\n y2: string;\n /** @hidden */\n pointsArray: string[] = [];\n\n /** @hidden */\n class: string;\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef<HTMLElement>,\n private _cd: ChangeDetectorRef\n ) {}\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\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 this.class\n ];\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._angleCalculation();\n this._cd.detectChanges();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this._calculateFilling();\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n public ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n private _calculateFilling(): void {\n if (this.fillPercentage < 0 || this.fillPercentage === undefined) {\n this.fillCalculator = 0;\n } else {\n this.fillCalculator = (this.fillPercentage * this.path.length) / 100;\n }\n }\n\n /** @hidden */\n private _angleCalculation(): void {\n let sPointsAttributeValue: Array<Point>;\n let polygonPoints: string;\n switch (this.fillingType) {\n case 'angled':\n this.binaryString = this._convertAngleToBinary(this.angle);\n this._assignBinaryValue(this.binaryString);\n break;\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\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 this.pointsArray.push(polygonPoints);\n }\n break;\n }\n case 'linearup':\n this.binaryString = this._convertAngleToBinary(90);\n this._assignBinaryValue(this.binaryString);\n break;\n case 'lineardown':\n this.binaryString = this._convertAngleToBinary(270);\n this._assignBinaryValue(this.binaryString);\n break;\n case 'linearleft':\n this.binaryString = this._convertAngleToBinary(180);\n this._assignBinaryValue(this.binaryString);\n break;\n default:\n throw new Error(`fdStatusIndicator: No fillType found for ${this.fillingType}.`);\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 = binaryValue[0];\n this.y1 = binaryValue[1];\n this.x2 = binaryValue[2];\n this.y2 = 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\n [class.fd-status-indicator__label--sm]=\"labelSize === 'sm'\"\n [class.fd-status-indicator__label--md]=\"labelSize === 'md'\"\n [class.fd-status-indicator__label--lg]=\"labelSize === 'lg'\"\n [class.fd-status-indicator__label--xl]=\"labelSize === 'xl'\"\n [class.fd-status-indicator__label--top]=\"labelPosition === 'top'\"\n [class.fd-status-indicator__label--left]=\"labelPosition === 'left'\"\n class=\"fd-status-indicator__label\"\n >{{ statusLabel }}\n </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\n [class.fd-status-indicator__label--sm]=\"labelSize === 'sm'\"\n [class.fd-status-indicator__label--md]=\"labelSize === 'md'\"\n [class.fd-status-indicator__label--lg]=\"labelSize === 'lg'\"\n [class.fd-status-indicator__label--xl]=\"labelSize === 'xl'\"\n [class.fd-status-indicator__label--right]=\"labelPosition === 'right'\"\n [class.fd-status-indicator__label--bottom]=\"labelPosition === 'bottom'\"\n class=\"fd-status-indicator__label\"\n >{{ statusLabel }}\n </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 /** @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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-ngx/core",
|
|
3
|
-
"version": "0.59.1-rc.
|
|
3
|
+
"version": "0.59.1-rc.23",
|
|
4
4
|
"schematics": "./schematics/collection.json",
|
|
5
5
|
"ng-update": {
|
|
6
6
|
"migrations": "./schematics/migrations.json"
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"@angular/forms": "^21.0.0",
|
|
24
24
|
"@angular/platform-browser": "^21.0.0",
|
|
25
25
|
"@angular/router": "^21.0.0",
|
|
26
|
-
"@fundamental-ngx/cdk": "0.59.1-rc.
|
|
27
|
-
"@fundamental-ngx/i18n": "0.59.1-rc.
|
|
26
|
+
"@fundamental-ngx/cdk": "0.59.1-rc.23",
|
|
27
|
+
"@fundamental-ngx/i18n": "0.59.1-rc.23",
|
|
28
28
|
"@sap-theming/theming-base-content": "^11.32.0",
|
|
29
29
|
"fundamental-styles": "0.40.1",
|
|
30
30
|
"rxjs": "^7.8.0"
|
|
@@ -1,183 +1,71 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { ElementRef } from '@angular/core';
|
|
3
|
+
import { HasElementRef } from '@fundamental-ngx/cdk/utils';
|
|
4
4
|
|
|
5
|
-
/**
|
|
6
|
-
* Layout Panel level actions such as add, remove, delete, sort, etc.
|
|
7
|
-
*
|
|
8
|
-
* ```html
|
|
9
|
-
* <fd-layout-panel>
|
|
10
|
-
* <fd-layout-panel-header>
|
|
11
|
-
* <fd-layout-panel-actions>
|
|
12
|
-
* <button fd-button (click)="action()">Action</button>
|
|
13
|
-
* </fd-layout-panel-actions>
|
|
14
|
-
* </fd-layout-panel-header>
|
|
15
|
-
* </fd-layout-panel>
|
|
16
|
-
* ```
|
|
17
|
-
*/
|
|
18
5
|
declare class LayoutPanelActionsComponent {
|
|
19
|
-
/** @hidden */
|
|
20
|
-
fdLayoutPanelActionsClass: boolean;
|
|
21
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelActionsComponent, never>;
|
|
22
7
|
static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelActionsComponent, "fd-layout-panel-actions", never, {}, {}, never, ["*"], true, never>;
|
|
23
8
|
}
|
|
24
9
|
|
|
25
|
-
/**
|
|
26
|
-
* Main content of the panel can that hold lists, table, tree, text, form or any other information.
|
|
27
|
-
*
|
|
28
|
-
* ```html
|
|
29
|
-
* <fd-layout-panel>
|
|
30
|
-
* <fd-layout-panel-body>
|
|
31
|
-
* Some text can go here!
|
|
32
|
-
* </fd-layout-panel-body>
|
|
33
|
-
* </fd-layout-panel>
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
10
|
declare class LayoutPanelBodyComponent {
|
|
37
|
-
/**
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Whether the edges of the panel should have bleeding padding.
|
|
13
|
+
* @default false
|
|
14
|
+
*/
|
|
15
|
+
readonly bleed: i0.InputSignalWithTransform<boolean, unknown>;
|
|
41
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelBodyComponent, never>;
|
|
42
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelBodyComponent, "fd-layout-panel-body", never, { "bleed": { "alias": "bleed"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelBodyComponent, "fd-layout-panel-body", never, { "bleed": { "alias": "bleed"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
43
18
|
}
|
|
44
19
|
|
|
45
|
-
/**
|
|
46
|
-
* Description of the panel title.
|
|
47
|
-
*
|
|
48
|
-
* ```html
|
|
49
|
-
* <fd-layout-panel>
|
|
50
|
-
* <fd-layout-panel-header>
|
|
51
|
-
* <fd-layout-panel-head>
|
|
52
|
-
* <fd-layout-panel-description>This is a description for a panel title!</fd-layout-panel-description>
|
|
53
|
-
* </fd-layout-panel-head>
|
|
54
|
-
* </fd-layout-panel-header>
|
|
55
|
-
* </fd-layout-panel>
|
|
56
|
-
* ```
|
|
57
|
-
*/
|
|
58
20
|
declare class LayoutPanelDescriptionComponent {
|
|
59
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelDescriptionComponent, never>;
|
|
60
22
|
static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelDescriptionComponent, "fd-layout-panel-description", never, {}, {}, never, ["*"], true, never>;
|
|
61
23
|
}
|
|
62
24
|
|
|
63
|
-
/**
|
|
64
|
-
* Layout Panel level filters that is specific to the data being displayed within the panel.
|
|
65
|
-
*
|
|
66
|
-
* ```html
|
|
67
|
-
* <fd-layout-panel>
|
|
68
|
-
* <fd-layout-panel-filters>
|
|
69
|
-
* Some text can go here!
|
|
70
|
-
* </fd-layout-panel-filters>
|
|
71
|
-
* </fd-layout-panel>
|
|
72
|
-
* ```
|
|
73
|
-
*/
|
|
74
25
|
declare class LayoutPanelFiltersComponent {
|
|
75
|
-
/** @hidden */
|
|
76
|
-
fdLayoutPanelFiltersClass: boolean;
|
|
77
26
|
static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelFiltersComponent, never>;
|
|
78
27
|
static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelFiltersComponent, "fd-layout-panel-filters", never, {}, {}, never, ["*"], true, never>;
|
|
79
28
|
}
|
|
80
29
|
|
|
81
30
|
type FooterPosition = 'start' | 'end';
|
|
82
|
-
declare class LayoutPanelFooterComponent implements
|
|
83
|
-
readonly elementRef: ElementRef<HTMLElement>;
|
|
84
|
-
/** Apply user custom styles */
|
|
85
|
-
class: string;
|
|
31
|
+
declare class LayoutPanelFooterComponent implements HasElementRef {
|
|
86
32
|
/**
|
|
87
33
|
* Footer variations, can be start (left aligned), end (right aligned) or null for default.
|
|
88
34
|
* The default value will render the content of the footer in the middle.
|
|
89
35
|
*/
|
|
90
|
-
position:
|
|
91
|
-
/** @hidden */
|
|
92
|
-
constructor(elementRef: ElementRef<HTMLElement>);
|
|
93
|
-
/** @hidden */
|
|
94
|
-
buildComponentCssClass(): string[];
|
|
95
|
-
/** @hidden */
|
|
96
|
-
ngOnInit(): void;
|
|
36
|
+
position: i0.InputSignal<FooterPosition | null>;
|
|
97
37
|
/** @hidden */
|
|
98
|
-
|
|
38
|
+
readonly elementRef: ElementRef<any>;
|
|
99
39
|
static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelFooterComponent, never>;
|
|
100
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelFooterComponent, "fd-layout-panel-footer", never, { "
|
|
40
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelFooterComponent, "fd-layout-panel-footer", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
101
41
|
}
|
|
102
42
|
|
|
103
|
-
/**
|
|
104
|
-
* Container for title and description.
|
|
105
|
-
*
|
|
106
|
-
* ```html
|
|
107
|
-
* <fd-layout-panel>
|
|
108
|
-
* <fd-layout-panel-header>
|
|
109
|
-
* <fd-layout-panel-head>
|
|
110
|
-
* <fd-layout-panel-title>Title!</fd-layout-panel-title>
|
|
111
|
-
* </fd-layout-panel-head>
|
|
112
|
-
* </fd-layout-panel-header>
|
|
113
|
-
* </fd-layout-panel>
|
|
114
|
-
* ```
|
|
115
|
-
*/
|
|
116
43
|
declare class LayoutPanelHeadComponent {
|
|
117
|
-
/** @hidden */
|
|
118
|
-
fdLayoutPanelHeadClass: boolean;
|
|
119
44
|
static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelHeadComponent, never>;
|
|
120
45
|
static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelHeadComponent, "fd-layout-panel-head", never, {}, {}, never, ["*"], true, never>;
|
|
121
46
|
}
|
|
122
47
|
|
|
123
|
-
/**
|
|
124
|
-
* Header of the panel. Contains a head and actions.
|
|
125
|
-
*
|
|
126
|
-
* ```html
|
|
127
|
-
* <fd-layout-panel>
|
|
128
|
-
* <fd-layout-panel-header>
|
|
129
|
-
* <fd-layout-panel-head>
|
|
130
|
-
* <fd-layout-panel-title>Title!</fd-layout-panel-title>
|
|
131
|
-
* </fd-layout-panel-head>
|
|
132
|
-
* </fd-layout-panel-header>
|
|
133
|
-
* </fd-layout-panel>
|
|
134
|
-
* ```
|
|
135
|
-
*/
|
|
136
48
|
declare class LayoutPanelHeaderComponent {
|
|
137
|
-
/** @hidden */
|
|
138
|
-
fdLayoutPanelHeaderClass: boolean;
|
|
139
49
|
static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelHeaderComponent, never>;
|
|
140
50
|
static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelHeaderComponent, "fd-layout-panel-header", never, {}, {}, never, ["fd-layout-panel-head", "fd-layout-panel-actions"], true, never>;
|
|
141
51
|
}
|
|
142
52
|
|
|
143
|
-
/**
|
|
144
|
-
* Applies the panel title style to a header element. It can be used with any header level.
|
|
145
|
-
*
|
|
146
|
-
* ```html
|
|
147
|
-
* <h1 fd-layout-panel-title>Layout Panel Title</h1>
|
|
148
|
-
* <h3 fd-layout-panel-title>Layout Panel Title</h3>
|
|
149
|
-
* ```
|
|
150
|
-
*/
|
|
151
53
|
declare class LayoutPanelTitleDirective {
|
|
152
|
-
/** @hidden */
|
|
153
|
-
fdLayoutPanelTitleClass: string;
|
|
154
54
|
static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelTitleDirective, never>;
|
|
155
55
|
static ɵdir: i0.ɵɵDirectiveDeclaration<LayoutPanelTitleDirective, "[fd-layout-panel-title]", never, {}, {}, never, never, true, never>;
|
|
156
56
|
}
|
|
157
57
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
declare class LayoutPanelComponent implements OnChanges, OnInit {
|
|
162
|
-
private elRef;
|
|
163
|
-
/** @Input Background image of the panel. */
|
|
164
|
-
backgroundImage: string;
|
|
58
|
+
declare class LayoutPanelComponent {
|
|
59
|
+
/** Background image of the panel. */
|
|
60
|
+
readonly backgroundImage: i0.InputSignal<string | null | undefined>;
|
|
165
61
|
/** Id for the layout panel element. */
|
|
166
|
-
id: string
|
|
167
|
-
/** @hidden */
|
|
168
|
-
fdLayoutPanelClass: boolean;
|
|
62
|
+
readonly id: i0.InputSignal<string>;
|
|
169
63
|
/** Whether the background of the panel should be transparent. */
|
|
170
|
-
transparent: boolean
|
|
171
|
-
/** @hidden */
|
|
172
|
-
constructor(elRef: ElementRef);
|
|
173
|
-
/** @hidden */
|
|
174
|
-
ngOnChanges(): void;
|
|
175
|
-
/** @hidden */
|
|
176
|
-
ngOnInit(): void;
|
|
64
|
+
readonly transparent: i0.InputSignalWithTransform<boolean, unknown>;
|
|
177
65
|
/** @hidden */
|
|
178
|
-
|
|
66
|
+
protected readonly backgroundImageUrl: i0.Signal<string | null>;
|
|
179
67
|
static ɵfac: i0.ɵɵFactoryDeclaration<LayoutPanelComponent, never>;
|
|
180
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelComponent, "fd-layout-panel", never, { "backgroundImage": { "alias": "backgroundImage"; "required": false; }; "id": { "alias": "id"; "required": false; }; "transparent": { "alias": "transparent"; "required": false; }; }, {}, never, ["fd-layout-panel-header", "fd-layout-panel-filters", "fd-layout-panel-body", "fd-layout-panel-footer", "*"], true, never>;
|
|
68
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LayoutPanelComponent, "fd-layout-panel", never, { "backgroundImage": { "alias": "backgroundImage"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "transparent": { "alias": "transparent"; "required": false; "isSignal": true; }; }, {}, never, ["fd-layout-panel-header", "fd-layout-panel-filters", "fd-layout-panel-body", "fd-layout-panel-footer", "*"], true, never>;
|
|
181
69
|
}
|
|
182
70
|
|
|
183
71
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { AfterViewInit, ElementRef } from '@angular/core';
|
|
3
|
+
import { HasElementRef } from '@fundamental-ngx/cdk/utils';
|
|
4
4
|
|
|
5
5
|
type StatusIndicatorSize = 'sm' | 'md' | 'lg' | 'xl';
|
|
6
6
|
type StatusIndicatorColor = 'negative' | 'critical' | 'positive';
|
|
@@ -13,106 +13,90 @@ declare class Point {
|
|
|
13
13
|
/** @hidden */
|
|
14
14
|
constructor(x: number, y: number);
|
|
15
15
|
}
|
|
16
|
-
declare class StatusIndicatorComponent implements
|
|
17
|
-
readonly elementRef: ElementRef<HTMLElement>;
|
|
18
|
-
private _cd;
|
|
16
|
+
declare class StatusIndicatorComponent implements AfterViewInit, HasElementRef {
|
|
19
17
|
/**
|
|
20
18
|
* value id defines the id of the object.
|
|
21
19
|
*/
|
|
22
|
-
id: string
|
|
20
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
23
21
|
/**
|
|
24
22
|
* defines the size of the status indicator.
|
|
25
23
|
* Can be one of the following: 'sm' | 'md' | 'lg' | 'xl'
|
|
26
24
|
* Default size is Medium(md).
|
|
27
25
|
*/
|
|
28
|
-
size: StatusIndicatorSize
|
|
26
|
+
readonly size: _angular_core.InputSignal<StatusIndicatorSize>;
|
|
29
27
|
/**
|
|
30
28
|
* The status represented by the Status Indicator.
|
|
31
29
|
* Can be one of the following: 'negative' | 'critical' | 'informative'
|
|
32
30
|
* For default Object Status omit this property
|
|
33
31
|
*/
|
|
34
|
-
status: StatusIndicatorColor
|
|
32
|
+
readonly status: _angular_core.InputSignal<StatusIndicatorColor | undefined>;
|
|
35
33
|
/** Define the text content of the Status indicator*/
|
|
36
|
-
statusLabel: string
|
|
34
|
+
readonly statusLabel: _angular_core.InputSignal<string | undefined>;
|
|
37
35
|
/**
|
|
38
36
|
* positioning of the status indicator image within the defined height and width .
|
|
39
37
|
*/
|
|
40
|
-
viewBox: string
|
|
38
|
+
readonly viewBox: _angular_core.InputSignal<string | undefined>;
|
|
41
39
|
/**
|
|
42
40
|
* boolean value to be marked as clickable
|
|
43
41
|
*/
|
|
44
|
-
clickable: boolean
|
|
42
|
+
readonly clickable: _angular_core.InputSignal<boolean>;
|
|
45
43
|
/**
|
|
46
44
|
* defines the size of the status indicator.
|
|
47
45
|
* Can be one of the following: 'sm' | 'md' | 'lg' | 'xl'
|
|
48
46
|
*/
|
|
49
|
-
labelSize: StatusIndicatorSize
|
|
47
|
+
readonly labelSize: _angular_core.InputSignal<StatusIndicatorSize>;
|
|
50
48
|
/** Aria label for the Status Indicator. */
|
|
51
|
-
ariaLabel:
|
|
49
|
+
readonly ariaLabel: _angular_core.InputSignal<string | null | undefined>;
|
|
52
50
|
/** Aria defines role description for the Status Indicator. */
|
|
53
|
-
ariaRoleDescription:
|
|
51
|
+
readonly ariaRoleDescription: _angular_core.InputSignal<string | null | undefined>;
|
|
54
52
|
/** Aria Focusable for the Status Indicator. */
|
|
55
|
-
focusable: boolean
|
|
53
|
+
readonly focusable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
56
54
|
/** Aria Role for the Status Indicator. */
|
|
57
|
-
role:
|
|
55
|
+
readonly role: _angular_core.InputSignal<string | null | undefined>;
|
|
58
56
|
/** Aria Value Text for the Status Indicator. */
|
|
59
|
-
ariaValueText:
|
|
57
|
+
readonly ariaValueText: _angular_core.InputSignal<string | null | undefined>;
|
|
60
58
|
/** Aria title for the status indicator. */
|
|
61
|
-
title:
|
|
59
|
+
readonly title: _angular_core.InputSignal<string | null | undefined>;
|
|
62
60
|
/** defines the label position the value can be 'left' | 'right' | 'top' | 'bottom' */
|
|
63
|
-
labelPosition: LablePosition
|
|
61
|
+
readonly labelPosition: _angular_core.InputSignal<LablePosition | undefined>;
|
|
64
62
|
/** Path for the status indicator */
|
|
65
|
-
path: string[]
|
|
63
|
+
readonly path: _angular_core.InputSignal<string[] | undefined>;
|
|
66
64
|
/**
|
|
67
65
|
* Offset value to be filled under the give percentatge value.
|
|
68
66
|
*/
|
|
69
|
-
fillPercentage: number
|
|
67
|
+
readonly fillPercentage: _angular_core.InputSignal<number | undefined>;
|
|
70
68
|
/**
|
|
71
69
|
* value to define fill direction
|
|
72
70
|
*/
|
|
73
|
-
fillDirection: FillingDirection
|
|
74
|
-
/** @hidden */
|
|
75
|
-
set _fillDirection(direction: FillingDirection);
|
|
76
|
-
get _fillDirection(): FillingDirection;
|
|
71
|
+
readonly fillDirection: _angular_core.InputSignal<FillingDirection>;
|
|
77
72
|
/**
|
|
78
73
|
* FillingType to represent the fill pattern of the component
|
|
79
74
|
*/
|
|
80
|
-
fillingType: FillingType
|
|
75
|
+
readonly fillingType: _angular_core.InputSignal<FillingType>;
|
|
81
76
|
/** represent the degree of angle to project the filling of the component */
|
|
82
|
-
angle: number
|
|
83
|
-
/** @hidden */
|
|
84
|
-
fillCalculator: number;
|
|
77
|
+
readonly angle: _angular_core.InputSignal<number | undefined>;
|
|
85
78
|
/** @hidden */
|
|
86
|
-
|
|
79
|
+
readonly elementRef: ElementRef<any>;
|
|
87
80
|
/** @hidden */
|
|
88
|
-
|
|
81
|
+
protected readonly binaryString: _angular_core.WritableSignal<string>;
|
|
89
82
|
/** @hidden */
|
|
90
|
-
|
|
83
|
+
protected readonly x1: _angular_core.WritableSignal<string>;
|
|
91
84
|
/** @hidden */
|
|
92
|
-
|
|
85
|
+
protected readonly y1: _angular_core.WritableSignal<string>;
|
|
93
86
|
/** @hidden */
|
|
94
|
-
|
|
87
|
+
protected readonly x2: _angular_core.WritableSignal<string>;
|
|
95
88
|
/** @hidden */
|
|
96
|
-
|
|
89
|
+
protected readonly y2: _angular_core.WritableSignal<string>;
|
|
97
90
|
/** @hidden */
|
|
98
|
-
|
|
99
|
-
/** @hidden */
|
|
100
|
-
|
|
101
|
-
/** @hidden
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
* function is responsible for order which css classes are applied
|
|
105
|
-
*/
|
|
106
|
-
buildComponentCssClass(): string[];
|
|
91
|
+
protected readonly pointsArray: _angular_core.WritableSignal<string[]>;
|
|
92
|
+
/** @hidden Computed fill calculator based on percentage and path length */
|
|
93
|
+
protected readonly fillCalculator: _angular_core.Signal<number>;
|
|
94
|
+
/** @hidden Computed CSS class */
|
|
95
|
+
protected readonly _cssClass: _angular_core.Signal<string>;
|
|
96
|
+
protected readonly labelCssClass: _angular_core.Signal<string>;
|
|
107
97
|
/** @hidden */
|
|
108
98
|
ngAfterViewInit(): void;
|
|
109
99
|
/** @hidden */
|
|
110
|
-
ngOnChanges(): void;
|
|
111
|
-
/** @hidden */
|
|
112
|
-
ngOnInit(): void;
|
|
113
|
-
/** @hidden */
|
|
114
|
-
private _calculateFilling;
|
|
115
|
-
/** @hidden */
|
|
116
100
|
private _angleCalculation;
|
|
117
101
|
/** @hidden */
|
|
118
102
|
private _convertAngleToBinary;
|
|
@@ -120,8 +104,8 @@ declare class StatusIndicatorComponent implements OnChanges, AfterViewInit, CssC
|
|
|
120
104
|
private _assignBinaryValue;
|
|
121
105
|
/** @hidden */
|
|
122
106
|
private _getPolygonPointsForCircularFilling;
|
|
123
|
-
static ɵfac:
|
|
124
|
-
static ɵcmp:
|
|
107
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StatusIndicatorComponent, never>;
|
|
108
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StatusIndicatorComponent, "fd-status-indicator", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "statusLabel": { "alias": "statusLabel"; "required": false; "isSignal": true; }; "viewBox": { "alias": "viewBox"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; "labelSize": { "alias": "labelSize"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaRoleDescription": { "alias": "ariaRoleDescription"; "required": false; "isSignal": true; }; "focusable": { "alias": "focusable"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "ariaValueText": { "alias": "ariaValueText"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; "path": { "alias": "path"; "required": false; "isSignal": true; }; "fillPercentage": { "alias": "fillPercentage"; "required": false; "isSignal": true; }; "fillDirection": { "alias": "fillDirection"; "required": false; "isSignal": true; }; "fillingType": { "alias": "fillingType"; "required": false; "isSignal": true; }; "angle": { "alias": "angle"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
125
109
|
}
|
|
126
110
|
|
|
127
111
|
/**
|
|
@@ -129,9 +113,9 @@ declare class StatusIndicatorComponent implements OnChanges, AfterViewInit, CssC
|
|
|
129
113
|
* Use direct imports of components and directives.
|
|
130
114
|
*/
|
|
131
115
|
declare class StatusIndicatorModule {
|
|
132
|
-
static ɵfac:
|
|
133
|
-
static ɵmod:
|
|
134
|
-
static ɵinj:
|
|
116
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StatusIndicatorModule, never>;
|
|
117
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<StatusIndicatorModule, never, [typeof StatusIndicatorComponent], [typeof StatusIndicatorComponent]>;
|
|
118
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<StatusIndicatorModule>;
|
|
135
119
|
}
|
|
136
120
|
|
|
137
121
|
export { Point, StatusIndicatorComponent, StatusIndicatorModule };
|