@fundamental-ngx/core 0.53.2-rc.0 → 0.53.2-rc.10
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/esm2022/checkbox/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +2 -2
- package/esm2022/multi-input/multi-input.component.mjs +2 -4
- package/esm2022/wizard/wizard-content/wizard-content.component.mjs +3 -3
- package/fesm2022/fundamental-ngx-core-action-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-checkbox.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-checkbox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-content-density.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-datetime.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-facets.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-file-uploader.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-formatted-text.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-generic-tag.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-infinite-scroll.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-info-label.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-inline-help.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-layout-grid.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-link.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-toast.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-mobile-mode.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs +1 -3
- package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-attribute.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-identifier.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-marker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-number.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-quick-view.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-scroll-spy.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-scrollbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shared.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-side-navigation.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-skeleton.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-split-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-step-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tests.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-text.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-theming.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tile.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-timeline.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-title.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-wizard.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core.mjs.map +1 -1
- package/package.json +4 -4
|
@@ -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 standalone: true,\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 withing the defined height and width .\n */\n @Input()\n viewBox: string;\n\n /**\n * boolean value to be marked as a 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@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 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 standalone: true,\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 withing the defined height and width .\n */\n @Input()\n viewBox: string;\n\n /**\n * boolean value to be marked as a 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@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-step-input.mjs","sources":["../../../../libs/core/step-input/step-input.component.ts","../../../../libs/core/step-input/step-input.component.html","../../../../libs/core/step-input/step-input.module.ts","../../../../libs/core/step-input/fundamental-ngx-core-step-input.ts"],"sourcesContent":["import { LiveAnnouncer } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, ENTER, SPACE, UP_ARROW } from '@angular/cdk/keycodes';\n\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n LOCALE_ID,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n isDevMode\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SafeHtml } from '@angular/platform-browser';\nimport { FormStates } from '@fundamental-ngx/cdk/forms';\nimport { KeyUtil, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport {\n FormInputMessageGroupComponent,\n FormItemControl,\n FormMessageComponent,\n registerFormItemControl\n} from '@fundamental-ngx/core/form';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { Observable, Subscription, defer, fromEvent, interval, merge, timer } from 'rxjs';\nimport { filter, switchMap, takeUntil } from 'rxjs/operators';\nimport NumberFormat = Intl.NumberFormat;\n\nlet stepInputUniqueId = 0;\n\n@Component({\n selector: 'fd-step-input',\n templateUrl: './step-input.component.html',\n styleUrl: './step-input.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => StepInputComponent),\n multi: true\n },\n contentDensityObserverProviders(),\n registerFormItemControl(StepInputComponent)\n ],\n host: {\n class: 'fd-step-input__container',\n '(focusout)': 'handleFocusOut($event)'\n },\n standalone: true,\n imports: [FormInputMessageGroupComponent, ButtonComponent, FormMessageComponent, FdTranslatePipe]\n})\nexport class StepInputComponent implements OnInit, AfterViewInit, OnDestroy, ControlValueAccessor, FormItemControl {\n /** Sets compact mode */\n @Input()\n compact?: boolean;\n\n /** Sets control in readonly mode */\n @Input()\n readonly: boolean;\n\n /** Sets control in disabled mode */\n @Input()\n disabled: boolean;\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** Sets locale used to format numeric value */\n @Input()\n locale: string;\n\n /** Sets the Step Input to take the full width of the container element */\n @Input()\n isFullWidth = false;\n\n /** Specifies algorithm used to match locale. Check Intl.NumberFormat documentation for more information */\n @Input()\n localeMatcher: Nullable<string>;\n\n /** Sets icon displayed in Increment Button */\n @Input()\n incrementButtonIcon = 'add';\n\n /** Sets icon displayed in Decrement Button */\n @Input()\n decrementButtonIcon = 'less';\n\n /** Sets input aria-label attribute */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Sets input aria-labelledby attribute */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Aria defines role description for the Step Input. */\n @Input()\n ariaRoleDescription: string;\n\n /** Sets input id */\n @Input()\n inputId = `fd-step-input-${stepInputUniqueId++}`;\n\n /** Set control value */\n @Input()\n set value(value: Nullable<number>) {\n if (value == null) {\n // cast null or undefined to \"null\"\n this._value = null;\n } else if (!isNaN(value)) {\n value = Number(value);\n this._value = this._checkValueLimits(value);\n }\n this.lastEmittedValue = this._value;\n if (!this._firstEmittedValue && this._value) {\n this._firstEmittedValue = this._value;\n }\n if (this._numberFormat) {\n this._updateViewValue();\n }\n }\n\n /** Control value */\n get value(): number | null {\n return this._value;\n }\n\n /** Sets minimum value boundary */\n @Input()\n min: number;\n\n /** Sets maximum value boundary */\n @Input()\n max: number;\n\n /** Sets input step value */\n @Input()\n step = 1;\n\n /** Sets input name attribute */\n @Input()\n name: Nullable<string>;\n\n /** Sets input title attribute */\n @Input()\n inputTitle = '';\n\n /** Sets formatting mode */\n @Input()\n mode: 'decimal' | 'currency' = 'decimal';\n\n /** Sets state of the control. Can be `success`, `error`, `warning`, `information` or blank for default. */\n @Input()\n state: FormStates = 'default';\n\n /** Holds the message with respect to state */\n @Input()\n stateMessage: string | SafeHtml;\n\n /** Custom unit displayed as a label next to the input */\n @Input()\n unit: string;\n\n /** Whether to use grouping when formatting value */\n @Input()\n useGrouping = true;\n\n /** Defines minimal number of fractional digits for control value */\n @Input()\n minFractionDigits: number;\n\n /** Defines maximal number of fractional digits for control value */\n @Input()\n maxFractionDigits: number;\n\n /** Currency used to format value. Check Intl.NumberFormat documentation for more information*/\n @Input()\n currency: string;\n\n /** Currency used to format value. Check Intl.NumberFormat documentation for more information */\n @Input()\n currencyDisplay: string;\n\n /** Whether StepInput should display Increase/Decrease buttons */\n @Input()\n hasStepButtons = true;\n\n /** Horizontally aligns value inside input */\n @Input()\n textAlign: 'left' | 'center' | 'right';\n\n /** Hint displayed inside input before user writes value */\n @Input()\n placeholder = '';\n\n /** Emits event when input gets focused */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n onFocusIn = new EventEmitter<void>();\n\n /** Emits event when input loses focus */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n onFocusOut = new EventEmitter<void>();\n\n /** Emits new value when control value has changed */\n @Output()\n valueChange = new EventEmitter<number | null>();\n\n /** @hidden */\n @ViewChild('incrementBtn', { read: ElementRef })\n incrementButton: ElementRef<HTMLButtonElement>;\n\n /** @hidden */\n @ViewChild('decrementBtn', { read: ElementRef })\n decrementButton: ElementRef<HTMLButtonElement>;\n\n /** @hidden */\n @ViewChild('inputElement', { read: ElementRef, static: true })\n inputElement: ElementRef;\n\n /** @hidden */\n lastEmittedValue: Nullable<number>;\n\n /** @hidden */\n currencySign: string;\n\n /** @hidden */\n focused: boolean;\n\n /** @hidden */\n private _value: number | null = null;\n\n /** @hidden */\n private _numerals: RegExp;\n\n /** @hidden */\n private _decimalSeparator: RegExp;\n\n /** @hidden */\n private _currency: RegExp;\n\n /** @hidden */\n private _minusSign: RegExp;\n\n /** @hidden */\n private _groupSeparator: RegExp;\n\n /** @hidden */\n private _numberFormat: NumberFormat;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n private _index: any;\n\n /** @hidden */\n private _firstEmittedValue: number;\n\n /** @hidden */\n constructor(\n @Inject(LOCALE_ID) locale,\n private _changeDetectorRef: ChangeDetectorRef,\n private readonly _liveAnnouncer: LiveAnnouncer,\n readonly _contentDensityObserver: ContentDensityObserver,\n private readonly _elementRef: ElementRef\n ) {\n this.locale = locale;\n }\n\n /** @hidden */\n onChange: (value: Nullable<number>) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n ngOnInit(): void {\n this._numberFormat = this._getNumberFormat();\n this._buildRegExps();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._updateViewValue();\n this._listenOnButtonsClick();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n registerOnChange(fn: (value: Nullable<number>) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n writeValue(value: number | null): void {\n this.value = value;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n get canIncrement(): boolean {\n return this.value == null || this.value + this.step <= this._max;\n }\n\n /** @hidden */\n get canDecrement(): boolean {\n return this.value == null || this.value - this.step >= this._min;\n }\n\n /** @hidden */\n get canDisplayLabel(): boolean {\n return !!this.unit || !!this.currencySign;\n }\n\n /** Increment input value by step value */\n increment(): void {\n this._incrementOrDecrement('increment');\n }\n\n /** Decrement input value by step value */\n decrement(): void {\n this._incrementOrDecrement('decrement');\n }\n\n /** @hidden */\n handleKeyDown(event: KeyboardEvent): void {\n const muteEvent = (evnt: Event): void => {\n evnt.stopPropagation();\n evnt.preventDefault();\n };\n\n if (!this._canChangeValue) {\n return;\n }\n\n if (KeyUtil.isKeyCode(event, UP_ARROW)) {\n this.increment();\n muteEvent(event);\n } else if (KeyUtil.isKeyCode(event, DOWN_ARROW)) {\n this.decrement();\n muteEvent(event);\n }\n }\n\n /** @hidden */\n handleFocusIn(): void {\n this.focused = true;\n this.onFocusIn.emit();\n }\n\n /** @hidden */\n handleFocusOut(event: FocusEvent): void {\n this.focused = false;\n this.onFocusOut.emit();\n if (!this._elementRef.nativeElement.contains(event.relatedTarget)) {\n this.onTouched();\n }\n }\n\n /** @hidden */\n handleScroll(event: WheelEvent): void {\n if (this._canChangeValue && this.focused) {\n if (event.deltaY > 0) {\n this.decrement();\n } else {\n this.increment();\n }\n event.preventDefault();\n }\n }\n\n /** @hidden Updates viewValue and conditionally emits new value.\n * This method is called on (change) event, when user leaves input control. */\n updateOnInputChanged(): void {\n if (this.value !== this.lastEmittedValue) {\n this._emitChangedValue();\n }\n this._updateViewValue();\n }\n\n /** @hidden Track parsed value when user changes value of the input control. */\n trackInputValue(event: any): void {\n const parsedValue = this._parseValue(event.target.value);\n this._value = parsedValue != null ? this._checkValueLimits(parsedValue) : null;\n }\n\n /** @hidden */\n private _incrementOrDecrement(direction: 'increment' | 'decrement'): void {\n if ((direction === 'increment' && this.canIncrement) || (direction === 'decrement' && this.canDecrement)) {\n let _shouldChange = true;\n if (this.value == null && this._firstEmittedValue) {\n this._value = this._firstEmittedValue;\n let _limit: number;\n direction === 'increment' ? (_limit = this.max) : (_limit = this.min);\n if (this._firstEmittedValue === _limit) {\n this._value = _limit;\n _shouldChange = false;\n }\n }\n if (_shouldChange) {\n this._value =\n direction === 'increment'\n ? this._cutFloatingNumberDistortion(this.value!, this.step)\n : this._cutFloatingNumberDistortion(this.value!, -this.step);\n }\n this._emitChangedValue();\n this._updateViewValue();\n }\n }\n\n /** @hidden */\n private get _canChangeValue(): boolean {\n return !(this.disabled || this.readonly);\n }\n\n /** @hidden */\n private _cutFloatingNumberDistortion(value: number, step: number): number {\n const stepDecimals = `${step}`.split('.')[1];\n const valueDecimals = `${value}`.split('.')[1];\n const stepDecimalsLength = stepDecimals ? stepDecimals.length : 0;\n const valueDecimalsLength = valueDecimals ? valueDecimals.length : 0;\n const longestDecimal = valueDecimalsLength > stepDecimalsLength ? valueDecimalsLength : stepDecimalsLength;\n\n return Number((value + step).toFixed(longestDecimal));\n }\n\n /** @hidden */\n private _checkValueLimits(value: number): number {\n if (value > this._max) {\n return this._max;\n }\n if (value < this._min) {\n return this._min;\n }\n if (!isNaN(this.maxFractionDigits)) {\n value = Number(value.toFixed(this.maxFractionDigits));\n }\n if (!isNaN(this.minFractionDigits)) {\n value = Number(value.toFixed(this.minFractionDigits));\n }\n return value;\n }\n\n /** @hidden */\n private _emitChangedValue(): void {\n this.lastEmittedValue = this.value;\n this.valueChange.emit(this.value);\n this.onChange(this.value);\n }\n\n /** @hidden */\n private get _max(): number {\n return !isNaN(this.max) ? this.max : Number.MAX_VALUE;\n }\n\n /** @hidden */\n private get _min(): number {\n return !isNaN(this.min) ? this.min : -Number.MAX_VALUE;\n }\n\n /** @hidden */\n private _updateViewValue(): void {\n const value = this._formatToViewValue(this.value);\n this.inputElement.nativeElement.value = value;\n this._liveAnnouncer.announce(value);\n }\n\n /** @hidden */\n private _listenOnButtonsClick(): void {\n if (this.hasStepButtons) {\n this._subscriptions.add(\n this._setupButtonListener(this.incrementButton).subscribe(() => {\n this.increment();\n this._changeDetectorRef.detectChanges();\n })\n );\n\n this._subscriptions.add(\n this._setupButtonListener(this.decrementButton).subscribe(() => {\n this.decrement();\n this._changeDetectorRef.detectChanges();\n })\n );\n }\n }\n\n /**\n * @hidden\n * Listens for click or space/enter keydown events.\n *\n * For long clicks will continuously emit event until \"mouseup\" event is detected\n */\n private _setupButtonListener(elementRef: ElementRef): Observable<any> {\n const onMouseDown$ = fromEvent(elementRef.nativeElement, 'mousedown');\n const onMouseUp$ = fromEvent(window, 'mouseup');\n const onKeyDown$ = fromEvent<KeyboardEvent>(elementRef.nativeElement, 'keydown').pipe(\n filter((event) => KeyUtil.isKeyCode(event, [SPACE, ENTER]))\n );\n\n const timerFactory$ = defer(() =>\n timer(500).pipe(\n switchMap(() => interval(40)),\n takeUntil(onMouseUp$)\n )\n );\n\n return merge(\n onMouseDown$,\n onMouseDown$.pipe(switchMap(() => timerFactory$)),\n // while key is pressed, event will be emitted continuously, so there's no need for timerFactory$\n onKeyDown$\n );\n }\n\n /** @hidden */\n private _parseValue(text: string): Nullable<number> {\n const trimmedText = text.trim();\n\n if (trimmedText === '') {\n return null;\n }\n\n const filteredText = trimmedText\n .replace(/\\s/g, '')\n .replace(this._currency, '')\n .replace(this._groupSeparator, '')\n .replace(this._minusSign, '-')\n .replace(this._decimalSeparator, '.')\n .replace(this._numerals, this._index);\n\n if (filteredText) {\n const parsedValue = Number(filteredText);\n return isNaN(parsedValue) ? this.lastEmittedValue : parsedValue;\n }\n\n return null;\n }\n\n /** @hidden */\n private _getNumberFormat(): NumberFormat {\n if (isDevMode() && this.minFractionDigits > this.maxFractionDigits) {\n throw new Error(\"Range error - minFractionDigits can't be bigger than maxFractionDigits\");\n }\n\n return new NumberFormat(this.locale, {\n localeMatcher: this.localeMatcher ?? undefined,\n style: this.mode,\n currency: this.currency,\n // only available in ES2020 and later\n ['currencyDisplay' as any]: this.currencyDisplay,\n useGrouping: this.useGrouping,\n minimumFractionDigits: this.minFractionDigits,\n maximumFractionDigits: this.maxFractionDigits\n });\n }\n\n /** @hidden */\n private _getNumeralsExpressions(): RegExp {\n const numerals = [\n ...new NumberFormat(this.locale, { useGrouping: false }).format(9876543210).split('')\n ].reverse();\n const index = new Map(numerals.map((d, i) => [d, i]));\n this._index = (d) => index.get(d);\n\n return new RegExp(`[${numerals.join('')}]`, 'g');\n }\n\n /** @hidden */\n private _getDecimalSeparator(): RegExp {\n const formatter = new NumberFormat(this.locale, { useGrouping: false });\n return new RegExp(`[${formatter.format(1.1).trim().replace(this._numerals, '')}]`, 'g');\n }\n\n /** @hidden */\n private _getGroupingSeparator(): RegExp {\n const formatter = new NumberFormat(this.locale, { useGrouping: true });\n return new RegExp(`[${formatter.format(1000).trim().replace(this._numerals, '')}]`, 'g');\n }\n\n /** @hidden */\n private _getMinusSignExpression(): RegExp {\n const formatter = new NumberFormat(this.locale, { useGrouping: false });\n return new RegExp(`[${formatter.format(-1).trim().replace(this._numerals, '')}]`, 'g');\n }\n\n /** @hidden */\n private _getCurrencyExpression(): RegExp {\n if (this.currency) {\n const formatter = new NumberFormat(this.locale, {\n style: 'currency',\n currency: this.currency,\n // only available in ES2020 and later\n ['currencyDisplay' as any]: this.currencyDisplay\n });\n this.currencySign = `${formatter\n .format(1)\n .replace(/\\s/g, '')\n .replace(this._numerals, '')\n .replace(this._decimalSeparator, '')\n .replace(this._groupSeparator, '')}`;\n\n return new RegExp(`[${this.currencySign}]`, 'g');\n }\n\n return new RegExp(`[]`, 'g');\n }\n\n /** @hidden */\n private _buildRegExps(): void {\n this._numerals = this._getNumeralsExpressions();\n this._decimalSeparator = this._getDecimalSeparator();\n this._minusSign = this._getMinusSignExpression();\n this._groupSeparator = this._getGroupingSeparator();\n this._currency = this._getCurrencyExpression();\n }\n\n /** @hidden */\n private _formatToViewValue(number: Nullable<number>): string {\n if (number == null) {\n return '';\n } else {\n return this.currency\n ? this._numberFormat.format(number).replace(this._currency, '')\n : this._numberFormat.format(number);\n }\n }\n}\n","<fd-form-input-message-group>\n <div\n class=\"fd-step-input\"\n [class]=\"state ? 'is-' + state : ''\"\n [class.is-focus]=\"focused\"\n [class.is-readonly]=\"readonly\"\n [class.is-disabled]=\"disabled\"\n [class.fd-step-input--without-buttons]=\"!hasStepButtons\"\n [class.fd-step-input--full-width]=\"isFullWidth\"\n >\n @if (hasStepButtons) {\n <button\n fd-button\n #decrementBtn\n fdType=\"transparent\"\n class=\"fd-step-input__button\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"!canDecrement\"\n [title]=\"'coreStepInput.decrementButtonTitle' | fdTranslate\"\n [glyph]=\"decrementButtonIcon\"\n (blur)=\"onTouched()\"\n [attr.aria-label]=\"'coreStepInput.decrementButtonTitle' | fdTranslate\"\n [attr.aria-controls]=\"inputId\"\n ></button>\n }\n <input\n #inputElement\n [name]=\"name\"\n [id]=\"inputId\"\n [title]=\"inputTitle\"\n [disabled]=\"disabled\"\n [readOnly]=\"readonly\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-valuenow]=\"value\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-describedby]=\"canDisplayLabel ? inputId + '__description' : ''\"\n [attr.aria-required]=\"required\"\n [attr.aria-roledescription]=\"ariaRoleDescription || ('coreStepInput.ariaRoleDescription' | fdTranslate)\"\n (focusin)=\"handleFocusIn()\"\n (wheel)=\"handleScroll($event)\"\n (keydown)=\"handleKeyDown($event)\"\n (input)=\"trackInputValue($event)\"\n (change)=\"updateOnInputChanged()\"\n [style.textAlign]=\"textAlign\"\n class=\"fd-input fd-input--no-number-spinner fd-step-input__input\"\n type=\"text\"\n inputmode=\"numeric\"\n />\n @if (hasStepButtons) {\n <button\n fd-button\n #incrementBtn\n fdType=\"transparent\"\n class=\"fd-step-input__button\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"!canIncrement\"\n [title]=\"'coreStepInput.incrementButtonTitle' | fdTranslate\"\n [glyph]=\"incrementButtonIcon\"\n (blur)=\"onTouched()\"\n [attr.aria-label]=\"'coreStepInput.incrementButtonTitle' | fdTranslate\"\n [attr.aria-controls]=\"inputId\"\n ></button>\n }\n </div>\n @if (!!stateMessage) {\n <fd-form-message [type]=\"state\" [innerHTML]=\"stateMessage\"></fd-form-message>\n }\n</fd-form-input-message-group>\n@if (canDisplayLabel) {\n <span [id]=\"inputId + '__description'\" class=\"fd-form-label fd-form-label--unit-description\">\n {{ unit || currencySign }}\n </span>\n}\n","import { NgModule } from '@angular/core';\n\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { StepInputComponent } from './step-input.component';\n\n@NgModule({\n imports: [StepInputComponent, ContentDensityModule],\n exports: [StepInputComponent, ContentDensityModule]\n})\nexport class StepInputModule {}\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-step-input.mjs","sources":["../../../../libs/core/step-input/step-input.component.ts","../../../../libs/core/step-input/step-input.component.html","../../../../libs/core/step-input/step-input.module.ts","../../../../libs/core/step-input/fundamental-ngx-core-step-input.ts"],"sourcesContent":["import { LiveAnnouncer } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, ENTER, SPACE, UP_ARROW } from '@angular/cdk/keycodes';\n\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n LOCALE_ID,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n isDevMode\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SafeHtml } from '@angular/platform-browser';\nimport { FormStates } from '@fundamental-ngx/cdk/forms';\nimport { KeyUtil, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport {\n FormInputMessageGroupComponent,\n FormItemControl,\n FormMessageComponent,\n registerFormItemControl\n} from '@fundamental-ngx/core/form';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { Observable, Subscription, defer, fromEvent, interval, merge, timer } from 'rxjs';\nimport { filter, switchMap, takeUntil } from 'rxjs/operators';\nimport NumberFormat = Intl.NumberFormat;\n\nlet stepInputUniqueId = 0;\n\n@Component({\n selector: 'fd-step-input',\n templateUrl: './step-input.component.html',\n styleUrl: './step-input.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => StepInputComponent),\n multi: true\n },\n contentDensityObserverProviders(),\n registerFormItemControl(StepInputComponent)\n ],\n host: {\n class: 'fd-step-input__container',\n '(focusout)': 'handleFocusOut($event)'\n },\n standalone: true,\n imports: [FormInputMessageGroupComponent, ButtonComponent, FormMessageComponent, FdTranslatePipe]\n})\nexport class StepInputComponent implements OnInit, AfterViewInit, OnDestroy, ControlValueAccessor, FormItemControl {\n /** Sets compact mode */\n @Input()\n compact?: boolean;\n\n /** Sets control in readonly mode */\n @Input()\n readonly: boolean;\n\n /** Sets control in disabled mode */\n @Input()\n disabled: boolean;\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** Sets locale used to format numeric value */\n @Input()\n locale: string;\n\n /** Sets the Step Input to take the full width of the container element */\n @Input()\n isFullWidth = false;\n\n /** Specifies algorithm used to match locale. Check Intl.NumberFormat documentation for more information */\n @Input()\n localeMatcher: Nullable<string>;\n\n /** Sets icon displayed in Increment Button */\n @Input()\n incrementButtonIcon = 'add';\n\n /** Sets icon displayed in Decrement Button */\n @Input()\n decrementButtonIcon = 'less';\n\n /** Sets input aria-label attribute */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Sets input aria-labelledby attribute */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Aria defines role description for the Step Input. */\n @Input()\n ariaRoleDescription: string;\n\n /** Sets input id */\n @Input()\n inputId = `fd-step-input-${stepInputUniqueId++}`;\n\n /** Set control value */\n @Input()\n set value(value: Nullable<number>) {\n if (value == null) {\n // cast null or undefined to \"null\"\n this._value = null;\n } else if (!isNaN(value)) {\n value = Number(value);\n this._value = this._checkValueLimits(value);\n }\n this.lastEmittedValue = this._value;\n if (!this._firstEmittedValue && this._value) {\n this._firstEmittedValue = this._value;\n }\n if (this._numberFormat) {\n this._updateViewValue();\n }\n }\n\n /** Control value */\n get value(): number | null {\n return this._value;\n }\n\n /** Sets minimum value boundary */\n @Input()\n min: number;\n\n /** Sets maximum value boundary */\n @Input()\n max: number;\n\n /** Sets input step value */\n @Input()\n step = 1;\n\n /** Sets input name attribute */\n @Input()\n name: Nullable<string>;\n\n /** Sets input title attribute */\n @Input()\n inputTitle = '';\n\n /** Sets formatting mode */\n @Input()\n mode: 'decimal' | 'currency' = 'decimal';\n\n /** Sets state of the control. Can be `success`, `error`, `warning`, `information` or blank for default. */\n @Input()\n state: FormStates = 'default';\n\n /** Holds the message with respect to state */\n @Input()\n stateMessage: string | SafeHtml;\n\n /** Custom unit displayed as a label next to the input */\n @Input()\n unit: string;\n\n /** Whether to use grouping when formatting value */\n @Input()\n useGrouping = true;\n\n /** Defines minimal number of fractional digits for control value */\n @Input()\n minFractionDigits: number;\n\n /** Defines maximal number of fractional digits for control value */\n @Input()\n maxFractionDigits: number;\n\n /** Currency used to format value. Check Intl.NumberFormat documentation for more information*/\n @Input()\n currency: string;\n\n /** Currency used to format value. Check Intl.NumberFormat documentation for more information */\n @Input()\n currencyDisplay: string;\n\n /** Whether StepInput should display Increase/Decrease buttons */\n @Input()\n hasStepButtons = true;\n\n /** Horizontally aligns value inside input */\n @Input()\n textAlign: 'left' | 'center' | 'right';\n\n /** Hint displayed inside input before user writes value */\n @Input()\n placeholder = '';\n\n /** Emits event when input gets focused */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n onFocusIn = new EventEmitter<void>();\n\n /** Emits event when input loses focus */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n onFocusOut = new EventEmitter<void>();\n\n /** Emits new value when control value has changed */\n @Output()\n valueChange = new EventEmitter<number | null>();\n\n /** @hidden */\n @ViewChild('incrementBtn', { read: ElementRef })\n incrementButton: ElementRef<HTMLButtonElement>;\n\n /** @hidden */\n @ViewChild('decrementBtn', { read: ElementRef })\n decrementButton: ElementRef<HTMLButtonElement>;\n\n /** @hidden */\n @ViewChild('inputElement', { read: ElementRef, static: true })\n inputElement: ElementRef;\n\n /** @hidden */\n lastEmittedValue: Nullable<number>;\n\n /** @hidden */\n currencySign: string;\n\n /** @hidden */\n focused: boolean;\n\n /** @hidden */\n private _value: number | null = null;\n\n /** @hidden */\n private _numerals: RegExp;\n\n /** @hidden */\n private _decimalSeparator: RegExp;\n\n /** @hidden */\n private _currency: RegExp;\n\n /** @hidden */\n private _minusSign: RegExp;\n\n /** @hidden */\n private _groupSeparator: RegExp;\n\n /** @hidden */\n private _numberFormat: NumberFormat;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n private _index: any;\n\n /** @hidden */\n private _firstEmittedValue: number;\n\n /** @hidden */\n constructor(\n @Inject(LOCALE_ID) locale,\n private _changeDetectorRef: ChangeDetectorRef,\n private readonly _liveAnnouncer: LiveAnnouncer,\n readonly _contentDensityObserver: ContentDensityObserver,\n private readonly _elementRef: ElementRef\n ) {\n this.locale = locale;\n }\n\n /** @hidden */\n onChange: (value: Nullable<number>) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n ngOnInit(): void {\n this._numberFormat = this._getNumberFormat();\n this._buildRegExps();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._updateViewValue();\n this._listenOnButtonsClick();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n registerOnChange(fn: (value: Nullable<number>) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n writeValue(value: number | null): void {\n this.value = value;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n get canIncrement(): boolean {\n return this.value == null || this.value + this.step <= this._max;\n }\n\n /** @hidden */\n get canDecrement(): boolean {\n return this.value == null || this.value - this.step >= this._min;\n }\n\n /** @hidden */\n get canDisplayLabel(): boolean {\n return !!this.unit || !!this.currencySign;\n }\n\n /** Increment input value by step value */\n increment(): void {\n this._incrementOrDecrement('increment');\n }\n\n /** Decrement input value by step value */\n decrement(): void {\n this._incrementOrDecrement('decrement');\n }\n\n /** @hidden */\n handleKeyDown(event: KeyboardEvent): void {\n const muteEvent = (evnt: Event): void => {\n evnt.stopPropagation();\n evnt.preventDefault();\n };\n\n if (!this._canChangeValue) {\n return;\n }\n\n if (KeyUtil.isKeyCode(event, UP_ARROW)) {\n this.increment();\n muteEvent(event);\n } else if (KeyUtil.isKeyCode(event, DOWN_ARROW)) {\n this.decrement();\n muteEvent(event);\n }\n }\n\n /** @hidden */\n handleFocusIn(): void {\n this.focused = true;\n this.onFocusIn.emit();\n }\n\n /** @hidden */\n handleFocusOut(event: FocusEvent): void {\n this.focused = false;\n this.onFocusOut.emit();\n if (!this._elementRef.nativeElement.contains(event.relatedTarget)) {\n this.onTouched();\n }\n }\n\n /** @hidden */\n handleScroll(event: WheelEvent): void {\n if (this._canChangeValue && this.focused) {\n if (event.deltaY > 0) {\n this.decrement();\n } else {\n this.increment();\n }\n event.preventDefault();\n }\n }\n\n /** @hidden Updates viewValue and conditionally emits new value.\n * This method is called on (change) event, when user leaves input control. */\n updateOnInputChanged(): void {\n if (this.value !== this.lastEmittedValue) {\n this._emitChangedValue();\n }\n this._updateViewValue();\n }\n\n /** @hidden Track parsed value when user changes value of the input control. */\n trackInputValue(event: any): void {\n const parsedValue = this._parseValue(event.target.value);\n this._value = parsedValue != null ? this._checkValueLimits(parsedValue) : null;\n }\n\n /** @hidden */\n private _incrementOrDecrement(direction: 'increment' | 'decrement'): void {\n if ((direction === 'increment' && this.canIncrement) || (direction === 'decrement' && this.canDecrement)) {\n let _shouldChange = true;\n if (this.value == null && this._firstEmittedValue) {\n this._value = this._firstEmittedValue;\n let _limit: number;\n direction === 'increment' ? (_limit = this.max) : (_limit = this.min);\n if (this._firstEmittedValue === _limit) {\n this._value = _limit;\n _shouldChange = false;\n }\n }\n if (_shouldChange) {\n this._value =\n direction === 'increment'\n ? this._cutFloatingNumberDistortion(this.value!, this.step)\n : this._cutFloatingNumberDistortion(this.value!, -this.step);\n }\n this._emitChangedValue();\n this._updateViewValue();\n }\n }\n\n /** @hidden */\n private get _canChangeValue(): boolean {\n return !(this.disabled || this.readonly);\n }\n\n /** @hidden */\n private _cutFloatingNumberDistortion(value: number, step: number): number {\n const stepDecimals = `${step}`.split('.')[1];\n const valueDecimals = `${value}`.split('.')[1];\n const stepDecimalsLength = stepDecimals ? stepDecimals.length : 0;\n const valueDecimalsLength = valueDecimals ? valueDecimals.length : 0;\n const longestDecimal = valueDecimalsLength > stepDecimalsLength ? valueDecimalsLength : stepDecimalsLength;\n\n return Number((value + step).toFixed(longestDecimal));\n }\n\n /** @hidden */\n private _checkValueLimits(value: number): number {\n if (value > this._max) {\n return this._max;\n }\n if (value < this._min) {\n return this._min;\n }\n if (!isNaN(this.maxFractionDigits)) {\n value = Number(value.toFixed(this.maxFractionDigits));\n }\n if (!isNaN(this.minFractionDigits)) {\n value = Number(value.toFixed(this.minFractionDigits));\n }\n return value;\n }\n\n /** @hidden */\n private _emitChangedValue(): void {\n this.lastEmittedValue = this.value;\n this.valueChange.emit(this.value);\n this.onChange(this.value);\n }\n\n /** @hidden */\n private get _max(): number {\n return !isNaN(this.max) ? this.max : Number.MAX_VALUE;\n }\n\n /** @hidden */\n private get _min(): number {\n return !isNaN(this.min) ? this.min : -Number.MAX_VALUE;\n }\n\n /** @hidden */\n private _updateViewValue(): void {\n const value = this._formatToViewValue(this.value);\n this.inputElement.nativeElement.value = value;\n this._liveAnnouncer.announce(value);\n }\n\n /** @hidden */\n private _listenOnButtonsClick(): void {\n if (this.hasStepButtons) {\n this._subscriptions.add(\n this._setupButtonListener(this.incrementButton).subscribe(() => {\n this.increment();\n this._changeDetectorRef.detectChanges();\n })\n );\n\n this._subscriptions.add(\n this._setupButtonListener(this.decrementButton).subscribe(() => {\n this.decrement();\n this._changeDetectorRef.detectChanges();\n })\n );\n }\n }\n\n /**\n * @hidden\n * Listens for click or space/enter keydown events.\n *\n * For long clicks will continuously emit event until \"mouseup\" event is detected\n */\n private _setupButtonListener(elementRef: ElementRef): Observable<any> {\n const onMouseDown$ = fromEvent(elementRef.nativeElement, 'mousedown');\n const onMouseUp$ = fromEvent(window, 'mouseup');\n const onKeyDown$ = fromEvent<KeyboardEvent>(elementRef.nativeElement, 'keydown').pipe(\n filter((event) => KeyUtil.isKeyCode(event, [SPACE, ENTER]))\n );\n\n const timerFactory$ = defer(() =>\n timer(500).pipe(\n switchMap(() => interval(40)),\n takeUntil(onMouseUp$)\n )\n );\n\n return merge(\n onMouseDown$,\n onMouseDown$.pipe(switchMap(() => timerFactory$)),\n // while key is pressed, event will be emitted continuously, so there's no need for timerFactory$\n onKeyDown$\n );\n }\n\n /** @hidden */\n private _parseValue(text: string): Nullable<number> {\n const trimmedText = text.trim();\n\n if (trimmedText === '') {\n return null;\n }\n\n const filteredText = trimmedText\n .replace(/\\s/g, '')\n .replace(this._currency, '')\n .replace(this._groupSeparator, '')\n .replace(this._minusSign, '-')\n .replace(this._decimalSeparator, '.')\n .replace(this._numerals, this._index);\n\n if (filteredText) {\n const parsedValue = Number(filteredText);\n return isNaN(parsedValue) ? this.lastEmittedValue : parsedValue;\n }\n\n return null;\n }\n\n /** @hidden */\n private _getNumberFormat(): NumberFormat {\n if (isDevMode() && this.minFractionDigits > this.maxFractionDigits) {\n throw new Error(\"Range error - minFractionDigits can't be bigger than maxFractionDigits\");\n }\n\n return new NumberFormat(this.locale, {\n localeMatcher: this.localeMatcher ?? undefined,\n style: this.mode,\n currency: this.currency,\n // only available in ES2020 and later\n ['currencyDisplay' as any]: this.currencyDisplay,\n useGrouping: this.useGrouping,\n minimumFractionDigits: this.minFractionDigits,\n maximumFractionDigits: this.maxFractionDigits\n });\n }\n\n /** @hidden */\n private _getNumeralsExpressions(): RegExp {\n const numerals = [\n ...new NumberFormat(this.locale, { useGrouping: false }).format(9876543210).split('')\n ].reverse();\n const index = new Map(numerals.map((d, i) => [d, i]));\n this._index = (d) => index.get(d);\n\n return new RegExp(`[${numerals.join('')}]`, 'g');\n }\n\n /** @hidden */\n private _getDecimalSeparator(): RegExp {\n const formatter = new NumberFormat(this.locale, { useGrouping: false });\n return new RegExp(`[${formatter.format(1.1).trim().replace(this._numerals, '')}]`, 'g');\n }\n\n /** @hidden */\n private _getGroupingSeparator(): RegExp {\n const formatter = new NumberFormat(this.locale, { useGrouping: true });\n return new RegExp(`[${formatter.format(1000).trim().replace(this._numerals, '')}]`, 'g');\n }\n\n /** @hidden */\n private _getMinusSignExpression(): RegExp {\n const formatter = new NumberFormat(this.locale, { useGrouping: false });\n return new RegExp(`[${formatter.format(-1).trim().replace(this._numerals, '')}]`, 'g');\n }\n\n /** @hidden */\n private _getCurrencyExpression(): RegExp {\n if (this.currency) {\n const formatter = new NumberFormat(this.locale, {\n style: 'currency',\n currency: this.currency,\n // only available in ES2020 and later\n ['currencyDisplay' as any]: this.currencyDisplay\n });\n this.currencySign = `${formatter\n .format(1)\n .replace(/\\s/g, '')\n .replace(this._numerals, '')\n .replace(this._decimalSeparator, '')\n .replace(this._groupSeparator, '')}`;\n\n return new RegExp(`[${this.currencySign}]`, 'g');\n }\n\n return new RegExp(`[]`, 'g');\n }\n\n /** @hidden */\n private _buildRegExps(): void {\n this._numerals = this._getNumeralsExpressions();\n this._decimalSeparator = this._getDecimalSeparator();\n this._minusSign = this._getMinusSignExpression();\n this._groupSeparator = this._getGroupingSeparator();\n this._currency = this._getCurrencyExpression();\n }\n\n /** @hidden */\n private _formatToViewValue(number: Nullable<number>): string {\n if (number == null) {\n return '';\n } else {\n return this.currency\n ? this._numberFormat.format(number).replace(this._currency, '')\n : this._numberFormat.format(number);\n }\n }\n}\n","<fd-form-input-message-group>\n <div\n class=\"fd-step-input\"\n [class]=\"state ? 'is-' + state : ''\"\n [class.is-focus]=\"focused\"\n [class.is-readonly]=\"readonly\"\n [class.is-disabled]=\"disabled\"\n [class.fd-step-input--without-buttons]=\"!hasStepButtons\"\n [class.fd-step-input--full-width]=\"isFullWidth\"\n >\n @if (hasStepButtons) {\n <button\n fd-button\n #decrementBtn\n fdType=\"transparent\"\n class=\"fd-step-input__button\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"!canDecrement\"\n [title]=\"'coreStepInput.decrementButtonTitle' | fdTranslate\"\n [glyph]=\"decrementButtonIcon\"\n (blur)=\"onTouched()\"\n [attr.aria-label]=\"'coreStepInput.decrementButtonTitle' | fdTranslate\"\n [attr.aria-controls]=\"inputId\"\n ></button>\n }\n <input\n #inputElement\n [name]=\"name\"\n [id]=\"inputId\"\n [title]=\"inputTitle\"\n [disabled]=\"disabled\"\n [readOnly]=\"readonly\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-valuenow]=\"value\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-describedby]=\"canDisplayLabel ? inputId + '__description' : ''\"\n [attr.aria-required]=\"required\"\n [attr.aria-roledescription]=\"ariaRoleDescription || ('coreStepInput.ariaRoleDescription' | fdTranslate)\"\n (focusin)=\"handleFocusIn()\"\n (wheel)=\"handleScroll($event)\"\n (keydown)=\"handleKeyDown($event)\"\n (input)=\"trackInputValue($event)\"\n (change)=\"updateOnInputChanged()\"\n [style.textAlign]=\"textAlign\"\n class=\"fd-input fd-input--no-number-spinner fd-step-input__input\"\n type=\"text\"\n inputmode=\"numeric\"\n />\n @if (hasStepButtons) {\n <button\n fd-button\n #incrementBtn\n fdType=\"transparent\"\n class=\"fd-step-input__button\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"!canIncrement\"\n [title]=\"'coreStepInput.incrementButtonTitle' | fdTranslate\"\n [glyph]=\"incrementButtonIcon\"\n (blur)=\"onTouched()\"\n [attr.aria-label]=\"'coreStepInput.incrementButtonTitle' | fdTranslate\"\n [attr.aria-controls]=\"inputId\"\n ></button>\n }\n </div>\n @if (!!stateMessage) {\n <fd-form-message [type]=\"state\" [innerHTML]=\"stateMessage\"></fd-form-message>\n }\n</fd-form-input-message-group>\n@if (canDisplayLabel) {\n <span [id]=\"inputId + '__description'\" class=\"fd-form-label fd-form-label--unit-description\">\n {{ unit || currencySign }}\n </span>\n}\n","import { NgModule } from '@angular/core';\n\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { StepInputComponent } from './step-input.component';\n\n@NgModule({\n imports: [StepInputComponent, ContentDensityModule],\n exports: [StepInputComponent, ContentDensityModule]\n})\nexport class StepInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-switch.mjs","sources":["../../../../libs/core/switch/switch.component.ts","../../../../libs/core/switch/switch.component.html","../../../../libs/core/switch/switch.module.ts","../../../../libs/core/switch/fundamental-ngx-core-switch.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CvaControl, CvaDirective, FD_FORM_FIELD_CONTROL } from '@fundamental-ngx/cdk/forms';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { FormItemControl, registerFormItemControl } from '@fundamental-ngx/core/form';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { Subscription } from 'rxjs';\n\nlet switchUniqueId = 0;\n\n/**\n * The Switch component is used to activate or deactivate an element.\n * It uses a visual metaphor to inform the user of the state of the switch.\n */\n@Component({\n selector: 'fd-switch',\n templateUrl: './switch.component.html',\n styleUrl: './switch.component.scss',\n providers: [\n CvaControl,\n { provide: FD_FORM_FIELD_CONTROL, useExisting: SwitchComponent, multi: true },\n registerFormItemControl(SwitchComponent),\n contentDensityObserverProviders()\n ],\n host: {\n class: 'fd-form__item fd-form__item--check fd-switch-custom',\n '[attr.id]': 'id',\n '(focusout)': '_cva.onTouched()'\n },\n hostDirectives: [\n {\n directive: CvaDirective,\n inputs: ['state', 'stateMessage', 'disabled', 'name', 'readonly', 'ariaLabelledBy', 'ariaLabel']\n }\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [FormsModule, FdTranslatePipe, IconComponent]\n})\nexport class SwitchComponent implements OnInit, OnDestroy, FormItemControl {\n /** @hidden */\n @ViewChild('switchInput')\n inputElement: ElementRef<HTMLInputElement>;\n\n /** Optional text for the active state of the switch. */\n @Input()\n activeText = '';\n\n /** Optional text for the inactive state of the switch. */\n @Input()\n inactiveText = '';\n\n /** Id for the switch component. If omitted, a unique one is generated. */\n @Input()\n id = `fd-switch-${switchUniqueId++}`;\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** Whether the switch is checked. */\n @Input()\n set checked(value: boolean) {\n this._cva.value = value;\n }\n get checked(): boolean {\n return this._cva.value;\n }\n\n /** Whether the switch is semantic */\n @Input()\n semantic = false;\n\n /** aria-label attribute of the inner input element. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** aria-labelledby attribute of the inner input element. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /**\n * Event fired when the state of the switch changes.\n * *$event* can be used to retrieve the new state of the switch.\n */\n @Output()\n readonly checkedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden */\n @ViewChild('switchEl', { read: ElementRef })\n _switchLabelWrapperEl: ElementRef;\n\n /** @hidden */\n readonly _cva = inject<CvaDirective<boolean>>(CvaDirective);\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n private readonly _cvaControl = inject(CvaControl);\n\n /** @hidden */\n constructor(readonly _contentDensityObserver: ContentDensityObserver) {\n // Set initial value.\n this._cva.value = false;\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._cvaControl.listenToChanges();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** Set focus on the input element. */\n focus(): void {\n this.inputElement.nativeElement.focus();\n }\n\n /** Get the id of the inner input element of the switch. */\n get innerInputId(): string {\n return `${this.id}-input`;\n }\n\n /** Get the id of the semantic label element of the switch. */\n get _semanticLabelId(): string {\n return `${this.id}-semantic-label`;\n }\n\n /** Checked property of the switch. */\n set isChecked(value) {\n this._switchLabelWrapperEl.nativeElement.classList.remove('fd-switch-no-animate');\n this._cva.setValue(value);\n this.checkedChange.emit(value);\n setTimeout(() => {\n // add the no-animate class after the transition duration, 100ms\n this._switchLabelWrapperEl.nativeElement.classList.add('fd-switch-no-animate');\n }, 100);\n }\n get isChecked(): boolean {\n return this._cva.value;\n }\n}\n","<label\n class=\"fd-switch fd-switch-no-animate\"\n (click)=\"focus()\"\n [style.cursor]=\"_cva.disabled ? 'auto' : 'pointer'\"\n [class.is-compact]=\"_contentDensityObserver.isCompactSignal()\"\n [class.fd-switch--semantic]=\"semantic\"\n [class.fd-switch--text]=\"activeText || inactiveText\"\n [class.is-disabled]=\"_cva.disabled\"\n [attr.aria-label]=\"_cva.ariaLabel\"\n #switchEl\n>\n <span class=\"fd-switch__control\">\n <input\n #switchInput\n class=\"fd-switch__input\"\n type=\"checkbox\"\n role=\"switch\"\n [id]=\"innerInputId\"\n [name]=\"_cva.name\"\n [disabled]=\"_cva.disabled\"\n [attr.aria-required]=\"_cva.required\"\n [attr.aria-checked]=\"_cva.value\"\n [attr.aria-labelledby]=\"_cva.ariaLabelledBy + ' ' + (semantic ? _semanticLabelId : '')\"\n [(ngModel)]=\"isChecked\"\n />\n <div class=\"fd-switch__slider\">\n <div class=\"fd-switch__track\" aria-hidden=\"true\">\n @if (activeText) {\n <span class=\"fd-switch__text fd-switch__text--on\">\n {{ activeText }}\n </span>\n } @else {\n <fd-icon role=\"presentation\" class=\"fd-switch__icon fd-switch__icon--on\" glyph=\"accept\"></fd-icon>\n }\n <span class=\"fd-switch__handle\" role=\"presentation\"></span>\n @if (inactiveText) {\n <span class=\"fd-switch__text fd-switch__text--off\">\n {{ inactiveText }}\n </span>\n } @else {\n <fd-icon\n role=\"presentation\"\n class=\"fd-switch__icon--off fd-switch__icon\"\n [glyph]=\"semantic ? 'decline' : 'less'\"\n ></fd-icon>\n }\n </div>\n @if (semantic) {\n <span [id]=\"_semanticLabelId\" aria-hidden=\"true\" class=\"fd-switch__invisible-text\">\n {{\n _cva.value\n ? ('coreSwitch.semanticAcceptLabel' | fdTranslate)\n : ('coreSwitch.semanticDeclineLabel' | fdTranslate)\n }}\n </span>\n }\n </div>\n </span>\n</label>\n","import { NgModule } from '@angular/core';\nimport { SwitchComponent } from './switch.component';\n\n@NgModule({\n imports: [SwitchComponent],\n exports: [SwitchComponent]\n})\nexport class SwitchModule {}\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-switch.mjs","sources":["../../../../libs/core/switch/switch.component.ts","../../../../libs/core/switch/switch.component.html","../../../../libs/core/switch/switch.module.ts","../../../../libs/core/switch/fundamental-ngx-core-switch.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CvaControl, CvaDirective, FD_FORM_FIELD_CONTROL } from '@fundamental-ngx/cdk/forms';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { FormItemControl, registerFormItemControl } from '@fundamental-ngx/core/form';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { Subscription } from 'rxjs';\n\nlet switchUniqueId = 0;\n\n/**\n * The Switch component is used to activate or deactivate an element.\n * It uses a visual metaphor to inform the user of the state of the switch.\n */\n@Component({\n selector: 'fd-switch',\n templateUrl: './switch.component.html',\n styleUrl: './switch.component.scss',\n providers: [\n CvaControl,\n { provide: FD_FORM_FIELD_CONTROL, useExisting: SwitchComponent, multi: true },\n registerFormItemControl(SwitchComponent),\n contentDensityObserverProviders()\n ],\n host: {\n class: 'fd-form__item fd-form__item--check fd-switch-custom',\n '[attr.id]': 'id',\n '(focusout)': '_cva.onTouched()'\n },\n hostDirectives: [\n {\n directive: CvaDirective,\n inputs: ['state', 'stateMessage', 'disabled', 'name', 'readonly', 'ariaLabelledBy', 'ariaLabel']\n }\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [FormsModule, FdTranslatePipe, IconComponent]\n})\nexport class SwitchComponent implements OnInit, OnDestroy, FormItemControl {\n /** @hidden */\n @ViewChild('switchInput')\n inputElement: ElementRef<HTMLInputElement>;\n\n /** Optional text for the active state of the switch. */\n @Input()\n activeText = '';\n\n /** Optional text for the inactive state of the switch. */\n @Input()\n inactiveText = '';\n\n /** Id for the switch component. If omitted, a unique one is generated. */\n @Input()\n id = `fd-switch-${switchUniqueId++}`;\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** Whether the switch is checked. */\n @Input()\n set checked(value: boolean) {\n this._cva.value = value;\n }\n get checked(): boolean {\n return this._cva.value;\n }\n\n /** Whether the switch is semantic */\n @Input()\n semantic = false;\n\n /** aria-label attribute of the inner input element. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** aria-labelledby attribute of the inner input element. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /**\n * Event fired when the state of the switch changes.\n * *$event* can be used to retrieve the new state of the switch.\n */\n @Output()\n readonly checkedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden */\n @ViewChild('switchEl', { read: ElementRef })\n _switchLabelWrapperEl: ElementRef;\n\n /** @hidden */\n readonly _cva = inject<CvaDirective<boolean>>(CvaDirective);\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n private readonly _cvaControl = inject(CvaControl);\n\n /** @hidden */\n constructor(readonly _contentDensityObserver: ContentDensityObserver) {\n // Set initial value.\n this._cva.value = false;\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._cvaControl.listenToChanges();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** Set focus on the input element. */\n focus(): void {\n this.inputElement.nativeElement.focus();\n }\n\n /** Get the id of the inner input element of the switch. */\n get innerInputId(): string {\n return `${this.id}-input`;\n }\n\n /** Get the id of the semantic label element of the switch. */\n get _semanticLabelId(): string {\n return `${this.id}-semantic-label`;\n }\n\n /** Checked property of the switch. */\n set isChecked(value) {\n this._switchLabelWrapperEl.nativeElement.classList.remove('fd-switch-no-animate');\n this._cva.setValue(value);\n this.checkedChange.emit(value);\n setTimeout(() => {\n // add the no-animate class after the transition duration, 100ms\n this._switchLabelWrapperEl.nativeElement.classList.add('fd-switch-no-animate');\n }, 100);\n }\n get isChecked(): boolean {\n return this._cva.value;\n }\n}\n","<label\n class=\"fd-switch fd-switch-no-animate\"\n (click)=\"focus()\"\n [style.cursor]=\"_cva.disabled ? 'auto' : 'pointer'\"\n [class.is-compact]=\"_contentDensityObserver.isCompactSignal()\"\n [class.fd-switch--semantic]=\"semantic\"\n [class.fd-switch--text]=\"activeText || inactiveText\"\n [class.is-disabled]=\"_cva.disabled\"\n [attr.aria-label]=\"_cva.ariaLabel\"\n #switchEl\n>\n <span class=\"fd-switch__control\">\n <input\n #switchInput\n class=\"fd-switch__input\"\n type=\"checkbox\"\n role=\"switch\"\n [id]=\"innerInputId\"\n [name]=\"_cva.name\"\n [disabled]=\"_cva.disabled\"\n [attr.aria-required]=\"_cva.required\"\n [attr.aria-checked]=\"_cva.value\"\n [attr.aria-labelledby]=\"_cva.ariaLabelledBy + ' ' + (semantic ? _semanticLabelId : '')\"\n [(ngModel)]=\"isChecked\"\n />\n <div class=\"fd-switch__slider\">\n <div class=\"fd-switch__track\" aria-hidden=\"true\">\n @if (activeText) {\n <span class=\"fd-switch__text fd-switch__text--on\">\n {{ activeText }}\n </span>\n } @else {\n <fd-icon role=\"presentation\" class=\"fd-switch__icon fd-switch__icon--on\" glyph=\"accept\"></fd-icon>\n }\n <span class=\"fd-switch__handle\" role=\"presentation\"></span>\n @if (inactiveText) {\n <span class=\"fd-switch__text fd-switch__text--off\">\n {{ inactiveText }}\n </span>\n } @else {\n <fd-icon\n role=\"presentation\"\n class=\"fd-switch__icon--off fd-switch__icon\"\n [glyph]=\"semantic ? 'decline' : 'less'\"\n ></fd-icon>\n }\n </div>\n @if (semantic) {\n <span [id]=\"_semanticLabelId\" aria-hidden=\"true\" class=\"fd-switch__invisible-text\">\n {{\n _cva.value\n ? ('coreSwitch.semanticAcceptLabel' | fdTranslate)\n : ('coreSwitch.semanticDeclineLabel' | fdTranslate)\n }}\n </span>\n }\n </div>\n </span>\n</label>\n","import { NgModule } from '@angular/core';\nimport { SwitchComponent } from './switch.component';\n\n@NgModule({\n imports: [SwitchComponent],\n exports: [SwitchComponent]\n})\nexport class SwitchModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAsBA,IAAI,cAAc,GAAG,CAAC;AAEtB;;;AAGG;MA2BU,eAAe,CAAA;;IAsBxB,IACI,OAAO,CAAC,KAAc,EAAA;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK;;AAE3B,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK;;;AAoC1B,IAAA,WAAA,CAAqB,uBAA+C,EAAA;QAA/C,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB;;QAxD5C,IAAU,CAAA,UAAA,GAAG,EAAE;;QAIf,IAAY,CAAA,YAAA,GAAG,EAAE;;AAIjB,QAAA,IAAA,CAAA,EAAE,GAAG,CAAA,UAAA,EAAa,cAAc,EAAE,EAAE;;QAIpC,IAAQ,CAAA,QAAA,GAAG,KAAK;;QAahB,IAAQ,CAAA,QAAA,GAAG,KAAK;AAUhB;;;AAGG;AAEM,QAAA,IAAA,CAAA,aAAa,GAA0B,IAAI,YAAY,EAAW;;AAOlE,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAwB,YAAY,CAAC;;AAGnD,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAE;;AAG1B,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;;AAK7C,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK;;;IAI3B,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE;;;IAItC,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;;;IAIrC,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,EAAE;;;AAI3C,IAAA,IAAI,YAAY,GAAA;AACZ,QAAA,OAAO,CAAG,EAAA,IAAI,CAAC,EAAE,QAAQ;;;AAI7B,IAAA,IAAI,gBAAgB,GAAA;AAChB,QAAA,OAAO,CAAG,EAAA,IAAI,CAAC,EAAE,iBAAiB;;;IAItC,IAAI,SAAS,CAAC,KAAK,EAAA;QACf,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,sBAAsB,CAAC;AACjF,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9B,UAAU,CAAC,MAAK;;YAEZ,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC;SACjF,EAAE,GAAG,CAAC;;AAEX,IAAA,IAAI,SAAS,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK;;8GAxGjB,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAtBb,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,qDAAA,EAAA,EAAA,SAAA,EAAA;YACP,UAAU;YACV,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE;YAC7E,uBAAuB,CAAC,eAAe,CAAC;AACxC,YAAA,+BAA+B;SAClC,EAmE8B,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAU,yQCxG7C,y6EA2DA,EAAA,MAAA,EAAA,CAAA,o/mBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDPc,WAAW,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,uGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,eAAe,oDAAE,aAAa,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,OAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAE5C,eAAe,EAAA,UAAA,EAAA,CAAA;kBA1B3B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAGV,SAAA,EAAA;wBACP,UAAU;wBACV,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE;AAC7E,wBAAA,uBAAuB,CAAiB,eAAA,CAAA;AACxC,wBAAA,+BAA+B;qBAClC,EACK,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,qDAAqD;AAC5D,wBAAA,WAAW,EAAE,IAAI;AACjB,wBAAA,YAAY,EAAE;qBACjB,EACe,cAAA,EAAA;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,YAAY;AACvB,4BAAA,MAAM,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW;AAClG;AACJ,qBAAA,EAAA,aAAA,EACc,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,OAAA,EACP,CAAC,WAAW,EAAE,eAAe,EAAE,aAAa,CAAC,EAAA,QAAA,EAAA,y6EAAA,EAAA,MAAA,EAAA,CAAA,o/mBAAA,CAAA,EAAA;2FAKtD,YAAY,EAAA,CAAA;sBADX,SAAS;uBAAC,aAAa;gBAKxB,UAAU,EAAA,CAAA;sBADT;gBAKD,YAAY,EAAA,CAAA;sBADX;gBAKD,EAAE,EAAA,CAAA;sBADD;gBAKD,QAAQ,EAAA,CAAA;sBADP;gBAKG,OAAO,EAAA,CAAA;sBADV;gBAUD,QAAQ,EAAA,CAAA;sBADP;gBAKD,SAAS,EAAA,CAAA;sBADR;gBAKD,cAAc,EAAA,CAAA;sBADb;gBAQQ,aAAa,EAAA,CAAA;sBADrB;gBAKD,qBAAqB,EAAA,CAAA;sBADpB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;;;MEjGlC,YAAY,CAAA;8GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAZ,YAAY,EAAA,OAAA,EAAA,CAHX,eAAe,CAAA,EAAA,OAAA,EAAA,CACf,eAAe,CAAA,EAAA,CAAA,CAAA;AAEhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAHX,eAAe,CAAA,EAAA,CAAA,CAAA;;2FAGhB,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,eAAe,CAAC;oBAC1B,OAAO,EAAE,CAAC,eAAe;AAC5B,iBAAA;;;ACND;;AAEG;;;;"}
|