{"version":3,"file":"primeng-progressspinner.mjs","sources":["../../src/progressspinner/style/progressspinnerstyle.ts","../../src/progressspinner/progressspinner.ts","../../src/progressspinner/primeng-progressspinner.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst style = `\n.p-progressspinner {\n    position: relative;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: 100px;\n    height: 100px;\n}\n\n.p-progressspinner-circle {\n    width: 100%;\n    height: 100%;\n}\n\n.p-progressspinner-circle-track {\n    stroke: dt('content.border.color');\n}\n\n.p-progressspinner-circle-range {\n    stroke: dt('progressspinner.color.one');\n    stroke-linecap: round;\n    transition: stroke-dashoffset 0.3s;\n}\n\n[data-state=\"determinate\"] .p-progressspinner-circle-range {\n    transform: rotate(-90deg);\n    transform-origin: center;\n}\n\n[data-state=\"indeterminate\"] .p-progressspinner-circle {\n    animation: p-progressspinner-rotate 2s linear infinite;\n    transform-origin: center;\n}\n\n[data-state=\"indeterminate\"] .p-progressspinner-circle-range {\n    stroke-dasharray: 1, 302;\n    stroke-dashoffset: 0;\n    animation:\n        p-progressspinner-dash 1.5s ease-in-out infinite,\n        p-progressspinner-color 6s ease-in-out infinite;\n}\n\n.p-progressspinner-value {\n    fill: dt('text.muted.color');\n}\n\n@keyframes p-progressspinner-rotate {\n    100% {\n        transform: rotate(360deg);\n    }\n}\n\n@keyframes p-progressspinner-dash {\n    0% {\n        stroke-dasharray: 1, 302;\n        stroke-dashoffset: 0;\n    }\n    50% {\n        stroke-dasharray: 136, 302;\n        stroke-dashoffset: -54px;\n    }\n    100% {\n        stroke-dasharray: 1, 302;\n        stroke-dashoffset: -302px;\n    }\n}\n\n@keyframes p-progressspinner-color {\n    100%,\n    0% {\n        stroke: dt('progressspinner.color.one');\n    }\n    40% {\n        stroke: dt('progressspinner.color.two');\n    }\n    66% {\n        stroke: dt('progressspinner.color.three');\n    }\n    80%,\n    90% {\n        stroke: dt('progressspinner.color.four');\n    }\n}\n`;\n\nconst classes = {\n    root: 'p-progressspinner',\n    circle: 'p-progressspinner-circle',\n    circleTrack: 'p-progressspinner-circle-track',\n    circleRange: 'p-progressspinner-circle-range',\n    value: 'p-progressspinner-value'\n};\n\n@Injectable()\nexport class ProgressSpinnerStyle extends BaseStyle {\n    name = 'progressspinner';\n\n    style = style;\n\n    classes = classes;\n}\n\n/**\n *\n * ProgressSpinner is a process status indicator.\n *\n * [Live Demo](https://www.primeng.org/progressspinner)\n *\n * @module progressspinnerstyle\n *\n */\nexport enum ProgressSpinnerClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-progressspinner',\n    /**\n     * Class name of the circle element\n     */\n    circle = 'p-progressspinner-circle',\n    /**\n     * Class name of the circle track element\n     */\n    circleTrack = 'p-progressspinner-circle-track',\n    /**\n     * Class name of the circle range element\n     */\n    circleRange = 'p-progressspinner-circle-range',\n    /**\n     * Class name of the value element\n     */\n    value = 'p-progressspinner-value'\n}\n\nexport interface ProgressSpinnerStyle extends BaseStyle {}\n","import { ChangeDetectionStrategy, Component, computed, inject, InjectionToken, input, NgModule, numberAttribute, ViewEncapsulation } from '@angular/core';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport type { ProgressSpinnerPassThrough } from 'primeng/types/progressspinner';\nimport { ProgressSpinnerStyle } from './style/progressspinnerstyle';\n\nconst PROGRESSSPINNER_INSTANCE = new InjectionToken<ProgressSpinner>('PROGRESSSPINNER_INSTANCE');\n\n/**\n * ProgressSpinner is a process status indicator.\n * @group Components\n */\n@Component({\n    selector: 'p-progress-spinner, p-progressspinner',\n    standalone: true,\n    imports: [SharedModule, Bind],\n    template: `\n        <svg [class]=\"cx('circle')\" [pBind]=\"ptm('circle')\" viewBox=\"0 0 100 100\" [style.animation-duration]=\"animationDuration()\">\n            <circle [class]=\"cx('circleTrack')\" [pBind]=\"ptm('circleTrack')\" cx=\"50\" cy=\"50\" [attr.r]=\"_radius()\" [attr.fill]=\"fill()\" [attr.stroke-width]=\"strokeWidth()\" />\n            <circle\n                [class]=\"cx('circleRange')\"\n                [pBind]=\"ptm('circleRange')\"\n                cx=\"50\"\n                cy=\"50\"\n                [attr.r]=\"_radius()\"\n                [attr.fill]=\"fill()\"\n                [attr.stroke-width]=\"strokeWidth()\"\n                [attr.stroke-dasharray]=\"indeterminate() ? null : _circumference()\"\n                [attr.stroke-dashoffset]=\"indeterminate() ? null : _dashOffset()\"\n            />\n            @if (!indeterminate()) {\n                <text [class]=\"cx('value')\" [pBind]=\"ptm('value')\" x=\"50\" y=\"50\" text-anchor=\"middle\" dominant-baseline=\"central\">{{ _displayPercent() }}%</text>\n            }\n        </svg>\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [ProgressSpinnerStyle, { provide: PROGRESSSPINNER_INSTANCE, useExisting: ProgressSpinner }, { provide: PARENT_INSTANCE, useExisting: ProgressSpinner }],\n    host: {\n        '[attr.aria-label]': 'ariaLabel()',\n        '[attr.role]': \"'progressbar'\",\n        '[attr.aria-busy]': 'true',\n        '[attr.data-state]': '_dataState()',\n        '[attr.aria-valuemin]': '_ariaValueMin()',\n        '[attr.aria-valuemax]': '_ariaValueMax()',\n        '[attr.aria-valuenow]': '_ariaValueNow()',\n        '[attr.data-value]': '_dataValue()',\n        '[class]': \"cx('root')\"\n    },\n    hostDirectives: [Bind]\n})\nexport class ProgressSpinner extends BaseComponent<ProgressSpinnerPassThrough> {\n    componentName = 'ProgressSpinner';\n\n    $pcProgressSpinner: ProgressSpinner | undefined = inject(PROGRESSSPINNER_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n    bindDirectiveInstance = inject(Bind, { self: true });\n\n    /**\n     * Current value of the progress. When null or undefined, the spinner is in indeterminate mode.\n     * @defaultValue null\n     * @group Props\n     */\n    value = input<number | null | undefined>(null);\n\n    /**\n     * Width of the circle stroke.\n     * @defaultValue 4\n     * @group Props\n     */\n    strokeWidth = input(4, { transform: numberAttribute });\n\n    /**\n     * Duration of the rotate animation.\n     * @group Props\n     */\n    animationDuration = input('2s');\n\n    /**\n     * Minimum value.\n     * @defaultValue 0\n     * @group Props\n     */\n    min = input(0, { transform: numberAttribute });\n\n    /**\n     * Maximum value.\n     * @defaultValue 100\n     * @group Props\n     */\n    max = input(100, { transform: numberAttribute });\n\n    /**\n     * Used to define a aria label attribute the current element.\n     * @group Props\n     */\n    ariaLabel = input<string>();\n\n    /**\n     * Color for the background of the circle.\n     * @group Props\n     */\n    fill = input('none');\n\n    _componentStyle = inject(ProgressSpinnerStyle);\n\n    indeterminate = computed(() => this.value() == null);\n\n    _radius = computed(() => (100 - this.strokeWidth()) / 2);\n\n    _circumference = computed(() => 2 * Math.PI * this._radius());\n\n    _clampedValue = computed(() => {\n        if (this.indeterminate()) return 0;\n        return Math.min(Math.max(this.value()!, this.min()), this.max());\n    });\n\n    _percent = computed(() => {\n        if (this.indeterminate()) return 0;\n        return ((this._clampedValue() - this.min()) / (this.max() - this.min())) * 100;\n    });\n\n    _dashOffset = computed(() => this._circumference() - (this._percent() / 100) * this._circumference());\n\n    _displayPercent = computed(() => Math.round(this._percent()));\n\n    _dataState = computed(() => (this.indeterminate() ? 'indeterminate' : 'determinate'));\n\n    _dataValue = computed(() => (this.indeterminate() ? undefined : this._clampedValue()));\n\n    _ariaValueMin = computed(() => (this.indeterminate() ? undefined : this.min()));\n\n    _ariaValueMax = computed(() => (this.indeterminate() ? undefined : this.max()));\n\n    _ariaValueNow = computed(() => (this.indeterminate() ? undefined : this._clampedValue()));\n\n    onAfterViewChecked() {\n        this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n    }\n}\n\n@NgModule({\n    imports: [ProgressSpinner, SharedModule],\n    exports: [ProgressSpinner, SharedModule]\n})\nexport class ProgressSpinnerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}