import * as i0 from '@angular/core';
import { input, booleanAttribute, inject, ChangeDetectorRef, ViewChild, Input, HostBinding, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
import * as i1 from '@eui/components/shared';
import { BaseStatesDirective } from '@eui/components/shared';
import * as i2 from '@eui/components/eui-icon';
import { EUI_ICON } from '@eui/components/eui-icon';

/**
 * @description
 * Utility function to transform a value into a number in the range of 0-100.
 * @param value
 */
const transformNumberInRange = (value) => {
    const num = Number(value);
    return isNaN(num) ? 0 : Math.max(0, Math.min(num, 100));
};
/**
 * @description
 * Utility function to transform a value into a color type 'info', 'success', 'warning', 'danger'
 * @param value
 */
const colorTypeTransform = (value) => {
    const types = ['info', 'success', 'warning', 'danger'];
    return types.includes(value) ? value : 'info';
};
/**
 * @description
 * Circular progress indicator component that displays progress as a ring with customizable colors and labels.
 * Supports automatic color transitions based on value thresholds and custom label positioning.
 * Provides icon display option for visual enhancement and flexible sizing variants.
 *
 * @usageNotes
 * ### Basic usage
 * ```html
 * <eui-progress-circle [value]="65"></eui-progress-circle>
 * ```
 *
 * ### With custom label
 * ```html
 * <eui-progress-circle [value]="80" valueLabel="4 of 5 tasks"></eui-progress-circle>
 * ```
 *
 * ### With icon
 * ```html
 * <eui-progress-circle [value]="100" icon="check" fillColor="success"></eui-progress-circle>
 * ```
 *
 * ### Custom color thresholds
 * ```html
 * <eui-progress-circle [value]="45" colorSteps="25 75"></eui-progress-circle>
 * ```
 *
 * ### Accessibility
 * - Provide meaningful aria-label to describe the progress context
 * - Color states should not be the only indicator of status
 * - Ensure sufficient contrast between progress ring and background
 *
 * ### Notes
 * - Default color steps: 0-33% success, 34-66% warning, 67-100% danger
 * - Use `isDefaultColorSteps="false"` to disable automatic color transitions
 * - Bottom label positioning available via `hasBottomLabel` for longer text
 */
class EuiProgressCircleComponent {
    constructor() {
        /**
         * Accessibility label for the progress circle
         * @default 'progress circle'
         */
        this.ariaLabel = 'progress circle';
        /**
         * Whether to use default color steps based on value thresholds
         * @default true
         */
        this.isDefaultColorSteps = input(true, { ...(ngDevMode ? { debugName: "isDefaultColorSteps" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
        /**
         * Whether to display the label at the bottom of the circle
         * @default false
         */
        this.hasBottomLabel = input(false, { ...(ngDevMode ? { debugName: "hasBottomLabel" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
        /**
         * Current progress value (0-100)
         * @default 0
         */
        this.value = input(0, { ...(ngDevMode ? { debugName: "value" } : /* istanbul ignore next */ {}), transform: transformNumberInRange });
        /**
         * Label to display when value is 0
         * @default 'N/A'
         */
        this.emptyLabel = input('N/A', ...(ngDevMode ? [{ debugName: "emptyLabel" }] : /* istanbul ignore next */ []));
        /**
         * Custom label to display instead of percentage
         */
        this.valueLabel = input(...(ngDevMode ? [undefined, { debugName: "valueLabel" }] : /* istanbul ignore next */ []));
        /**
         * Custom color step thresholds (space or comma separated values)
         * @example '33 66' or '33,66'
         */
        this.colorSteps = input(...(ngDevMode ? [undefined, { debugName: "colorSteps" }] : /* istanbul ignore next */ []));
        /**
         * Override color type ('info', 'success', 'warning', 'danger')
         */
        this.colorType = input(null, { ...(ngDevMode ? { debugName: "colorType" } : /* istanbul ignore next */ {}), transform: colorTypeTransform });
        /**
         * Tab index for accessibility
         * @default '0'
         */
        this.tabindex = '0';
        /**
         * Svg icon option
         */
        this.icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
        /**
         * Svg icon fill color option
         * @default 'neutral' (black)
         */
        this.fillColor = input(...(ngDevMode ? [undefined, { debugName: "fillColor" }] : /* istanbul ignore next */ []));
        /**
         * Svg icon size option
         * @default 'm'
         */
        this.size = input('m', ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
        /**
         * CSS class for the current color state
         *
         * @default ''
         */
        this.stateColorNumberClass = '';
        /**
         * Currently displayed label value
         *
         * @default ''
         */
        this.labelValue = '';
        /**
         * Percentage value as string
         * @deprecated This will be removed in next version of eui as it's unused
         *
         * @default ''
         */
        this.percentValue = '';
        /**
         * Whether the label exceeds a width threshold
         *
         * @default false
         */
        this.isLongLabel = false;
        /**
         * Current width of the label element
         *
         * @default 0
         */
        this.offsetWidth = 0;
        this.baseStatesDirective = inject(BaseStatesDirective);
        this.cd = inject(ChangeDetectorRef);
    }
    /** CSS classes applied to the host element */
    get cssClasses() {
        return [
            this.baseStatesDirective.getCssClasses('eui-progress-circle'),
            this.isLongLabel || this.hasBottomLabel() ? 'eui-progress-circle-content--with-bottom-label' : '',
        ]
            .join(' ')
            .trim();
    }
    /**
     * Initializes color steps and labels after content is initialized
     */
    ngAfterContentInit() {
        this.setColorSteps();
        this.setLabels();
    }
    /**
     * Checks and updates label width after content changes
     */
    ngAfterContentChecked() {
        if (this.labelValueEl) {
            this.offsetWidth = this.labelValueEl.nativeElement.offsetWidth;
            if (this.offsetWidth > 65) {
                this.isLongLabel = true;
            }
        }
    }
    /**
     * Handles changes to input properties
     * @param c - SimpleChanges object containing changed properties
     */
    ngOnChanges(c) {
        if (c.value) {
            this.setColorSteps();
            this.setLabels();
        }
        this.cd.detectChanges();
    }
    /**
     * Sets the color state based on value and thresholds
     * @deprecated avoid using this method. It will become private in the future.
     */
    setColorSteps() {
        const prefix = 'eui-progress-circle-content--';
        this.roundedValue = Math.round(this.value());
        const steps = this.colorSteps()
            ? this.colorSteps().split(/[ ,]+/g).map(s => Number.parseInt(s, 10))
            : [33, 66];
        if (this.colorType()) {
            this.stateColorNumberClass = prefix + this.colorType();
        }
        else if (this.isDefaultColorSteps()) {
            const val = this.value();
            if (val <= steps[0]) {
                this.stateColorNumberClass = prefix + 'success';
            }
            else if (val <= steps[1]) {
                this.stateColorNumberClass = prefix + 'warning';
            }
            else {
                this.stateColorNumberClass = prefix + 'danger';
            }
        }
    }
    /**
     * Sets the display label based on current value and configuration
     * @deprecated avoid using this method. It will become private in the future.
     */
    setLabels() {
        if (this.value() === 0) {
            this.labelValue = this.hasBottomLabel() ? this.valueLabel() : this.emptyLabel();
        }
        else {
            this.labelValue = this.valueLabel() || this.value() + '%';
        }
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: EuiProgressCircleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: EuiProgressCircleComponent, isStandalone: true, selector: "eui-progress-circle", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, isDefaultColorSteps: { classPropertyName: "isDefaultColorSteps", publicName: "isDefaultColorSteps", isSignal: true, isRequired: false, transformFunction: null }, hasBottomLabel: { classPropertyName: "hasBottomLabel", publicName: "hasBottomLabel", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, emptyLabel: { classPropertyName: "emptyLabel", publicName: "emptyLabel", isSignal: true, isRequired: false, transformFunction: null }, valueLabel: { classPropertyName: "valueLabel", publicName: "valueLabel", isSignal: true, isRequired: false, transformFunction: null }, colorSteps: { classPropertyName: "colorSteps", publicName: "colorSteps", isSignal: true, isRequired: false, transformFunction: null }, colorType: { classPropertyName: "colorType", publicName: "colorType", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, fillColor: { classPropertyName: "fillColor", publicName: "fillColor", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.cssClasses", "attr.aria-label": "this.ariaLabel" } }, viewQueries: [{ propertyName: "labelValueEl", first: true, predicate: ["labelValueEl"], descendants: true }], usesOnChanges: true, hostDirectives: [{ directive: i1.BaseStatesDirective, inputs: ["euiSizeS", "euiSizeS", "euiSizeM", "euiSizeM", "euiSizeL", "euiSizeL", "euiSizeVariant", "euiSizeVariant"] }], ngImport: i0, template: "<div\n    class=\"eui-progress-circle-content p{{ roundedValue }} {{ stateColorNumberClass }}\"\n    [class.eui-progress-circle-content--over50]=\"roundedValue > 50\">\n    @if ( !isLongLabel && !hasBottomLabel() ) {\n        <span class=\"eui-progress-circle-content__label\">\n            <span #labelValueEl>{{ labelValue }}</span>\n        </span>\n    }\n    <div class=\"eui-progress-circle-content__left-half-clipper\">\n        <div class=\"eui-progress-circle-content__first50-bar\"></div>\n        <div class=\"eui-progress-circle-content__value-bar\"></div>\n    </div>\n</div>\n@if ( isLongLabel || hasBottomLabel() ) {\n    <div class=\"eui-progress-circle-content__bottom-label\">\n        <span class=\"label\">{{ labelValue }}</span>\n    </div>\n}\n@if ( icon() ) {\n    <eui-icon-svg [icon]=\"icon()\" [fillColor]=\"fillColor()\" [size]=\"size()\" class=\"eui-progress-circle-content__icon-label\" />\n}\n", styles: [".eui-21 .eui-progress-circle{position:relative}.eui-21 .eui-progress-circle-content{background-color:#f2e9e1;border-radius:var(--eui-br-max);box-shadow:var(--eui-sh-1);height:6rem;line-height:6rem;margin:var(--eui-s-s);padding:0;position:relative;width:6rem}.eui-21 .eui-progress-circle-content:after{background-color:var(--eui-c-surface-container);border:var(--eui-bw-none);border-radius:var(--eui-br-max);content:\" \";display:block;height:4.5rem;left:.75rem;position:absolute;text-align:center;top:.75rem;width:4.5rem}.eui-21 .eui-progress-circle-content__label{display:block;line-height:6rem;position:absolute;text-align:center;white-space:nowrap;width:6rem;z-index:2}.eui-21 .eui-progress-circle-content__label-block{text-align:center}.eui-21 .eui-progress-circle-content__label-block--large{padding-top:var(--eui-s-m)}.eui-21 .eui-progress-circle-content__left-half-clipper{border-radius:var(--eui-br-max);clip:rect(0,6rem,6rem,3rem);height:6rem;position:absolute;width:6rem}.eui-21 .eui-progress-circle-content__value-bar{border:.7894736842rem solid var(--eui-c-primary);border-radius:var(--eui-br-max);box-sizing:border-box;clip:rect(0,3rem,6rem,0);height:6rem;position:absolute;width:6rem}.eui-21 .eui-progress-circle-content.eui-progress-circle-content--over50 .eui-progress-circle-content__left-half-clipper{clip:rect(auto,auto,auto,auto)}.eui-21 .eui-progress-circle-content.eui-progress-circle-content--over50 .eui-progress-circle-content__left-half-clipper .eui-progress-circle-content__first50-bar{background-color:var(--eui-c-primary-surface);border-radius:var(--eui-br-max);clip:rect(0,6rem,6rem,3rem);height:6rem;position:absolute;width:6rem}.eui-21 .eui-progress-circle-content.eui-progress-circle-content--over50.eui-progress-circle-content--info .eui-progress-circle-content__first50-bar{background-color:var(--eui-c-primary-surface)}.eui-21 .eui-progress-circle-content.eui-progress-circle-content--over50.eui-progress-circle-content--success .eui-progress-circle-content__first50-bar{background-color:var(--eui-c-success-surface)}.eui-21 .eui-progress-circle-content.eui-progress-circle-content--over50.eui-progress-circle-content--warning .eui-progress-circle-content__first50-bar{background-color:var(--eui-c-warning-surface)}.eui-21 .eui-progress-circle-content.eui-progress-circle-content--over50.eui-progress-circle-content--danger .eui-progress-circle-content__first50-bar{background-color:var(--eui-c-danger-surface)}.eui-21 .eui-progress-circle-content:not(.eui-progress-circle-content--over50) .eui-progress-circle-content__first50-bar{display:none}.eui-21 .eui-progress-circle-content--info .eui-progress-circle-content__value-bar{border-color:var(--eui-c-primary-surface)}.eui-21 .eui-progress-circle-content--success .eui-progress-circle-content__value-bar{border-color:var(--eui-c-success-surface)}.eui-21 .eui-progress-circle-content--warning .eui-progress-circle-content__value-bar{border-color:var(--eui-c-warning-surface)}.eui-21 .eui-progress-circle-content--danger .eui-progress-circle-content__value-bar{border-color:var(--eui-c-danger-surface)}.eui-21 .eui-progress-circle-content.p0 .eui-progress-circle-content__value-bar{display:none}.eui-21 .eui-progress-circle-content.p1 .eui-progress-circle-content__value-bar{transform:rotate(3.6deg)}.eui-21 .eui-progress-circle-content.p2 .eui-progress-circle-content__value-bar{transform:rotate(7.2deg)}.eui-21 .eui-progress-circle-content.p3 .eui-progress-circle-content__value-bar{transform:rotate(10.8deg)}.eui-21 .eui-progress-circle-content.p4 .eui-progress-circle-content__value-bar{transform:rotate(14.4deg)}.eui-21 .eui-progress-circle-content.p5 .eui-progress-circle-content__value-bar{transform:rotate(18deg)}.eui-21 .eui-progress-circle-content.p6 .eui-progress-circle-content__value-bar{transform:rotate(21.6deg)}.eui-21 .eui-progress-circle-content.p7 .eui-progress-circle-content__value-bar{transform:rotate(25.2deg)}.eui-21 .eui-progress-circle-content.p8 .eui-progress-circle-content__value-bar{transform:rotate(28.8deg)}.eui-21 .eui-progress-circle-content.p9 .eui-progress-circle-content__value-bar{transform:rotate(32.4deg)}.eui-21 .eui-progress-circle-content.p10 .eui-progress-circle-content__value-bar{transform:rotate(36deg)}.eui-21 .eui-progress-circle-content.p11 .eui-progress-circle-content__value-bar{transform:rotate(39.6deg)}.eui-21 .eui-progress-circle-content.p12 .eui-progress-circle-content__value-bar{transform:rotate(43.2deg)}.eui-21 .eui-progress-circle-content.p13 .eui-progress-circle-content__value-bar{transform:rotate(46.8deg)}.eui-21 .eui-progress-circle-content.p14 .eui-progress-circle-content__value-bar{transform:rotate(50.4deg)}.eui-21 .eui-progress-circle-content.p15 .eui-progress-circle-content__value-bar{transform:rotate(54deg)}.eui-21 .eui-progress-circle-content.p16 .eui-progress-circle-content__value-bar{transform:rotate(57.6deg)}.eui-21 .eui-progress-circle-content.p17 .eui-progress-circle-content__value-bar{transform:rotate(61.2deg)}.eui-21 .eui-progress-circle-content.p18 .eui-progress-circle-content__value-bar{transform:rotate(64.8deg)}.eui-21 .eui-progress-circle-content.p19 .eui-progress-circle-content__value-bar{transform:rotate(68.4deg)}.eui-21 .eui-progress-circle-content.p20 .eui-progress-circle-content__value-bar{transform:rotate(72deg)}.eui-21 .eui-progress-circle-content.p21 .eui-progress-circle-content__value-bar{transform:rotate(75.6deg)}.eui-21 .eui-progress-circle-content.p22 .eui-progress-circle-content__value-bar{transform:rotate(79.2deg)}.eui-21 .eui-progress-circle-content.p23 .eui-progress-circle-content__value-bar{transform:rotate(82.8deg)}.eui-21 .eui-progress-circle-content.p24 .eui-progress-circle-content__value-bar{transform:rotate(86.4deg)}.eui-21 .eui-progress-circle-content.p25 .eui-progress-circle-content__value-bar{transform:rotate(90deg)}.eui-21 .eui-progress-circle-content.p26 .eui-progress-circle-content__value-bar{transform:rotate(93.6deg)}.eui-21 .eui-progress-circle-content.p27 .eui-progress-circle-content__value-bar{transform:rotate(97.2deg)}.eui-21 .eui-progress-circle-content.p28 .eui-progress-circle-content__value-bar{transform:rotate(100.8deg)}.eui-21 .eui-progress-circle-content.p29 .eui-progress-circle-content__value-bar{transform:rotate(104.4deg)}.eui-21 .eui-progress-circle-content.p30 .eui-progress-circle-content__value-bar{transform:rotate(108deg)}.eui-21 .eui-progress-circle-content.p31 .eui-progress-circle-content__value-bar{transform:rotate(111.6deg)}.eui-21 .eui-progress-circle-content.p32 .eui-progress-circle-content__value-bar{transform:rotate(115.2deg)}.eui-21 .eui-progress-circle-content.p33 .eui-progress-circle-content__value-bar{transform:rotate(118.8deg)}.eui-21 .eui-progress-circle-content.p34 .eui-progress-circle-content__value-bar{transform:rotate(122.4deg)}.eui-21 .eui-progress-circle-content.p35 .eui-progress-circle-content__value-bar{transform:rotate(126deg)}.eui-21 .eui-progress-circle-content.p36 .eui-progress-circle-content__value-bar{transform:rotate(129.6deg)}.eui-21 .eui-progress-circle-content.p37 .eui-progress-circle-content__value-bar{transform:rotate(133.2deg)}.eui-21 .eui-progress-circle-content.p38 .eui-progress-circle-content__value-bar{transform:rotate(136.8deg)}.eui-21 .eui-progress-circle-content.p39 .eui-progress-circle-content__value-bar{transform:rotate(140.4deg)}.eui-21 .eui-progress-circle-content.p40 .eui-progress-circle-content__value-bar{transform:rotate(144deg)}.eui-21 .eui-progress-circle-content.p41 .eui-progress-circle-content__value-bar{transform:rotate(147.6deg)}.eui-21 .eui-progress-circle-content.p42 .eui-progress-circle-content__value-bar{transform:rotate(151.2deg)}.eui-21 .eui-progress-circle-content.p43 .eui-progress-circle-content__value-bar{transform:rotate(154.8deg)}.eui-21 .eui-progress-circle-content.p44 .eui-progress-circle-content__value-bar{transform:rotate(158.4deg)}.eui-21 .eui-progress-circle-content.p45 .eui-progress-circle-content__value-bar{transform:rotate(162deg)}.eui-21 .eui-progress-circle-content.p46 .eui-progress-circle-content__value-bar{transform:rotate(165.6deg)}.eui-21 .eui-progress-circle-content.p47 .eui-progress-circle-content__value-bar{transform:rotate(169.2deg)}.eui-21 .eui-progress-circle-content.p48 .eui-progress-circle-content__value-bar{transform:rotate(172.8deg)}.eui-21 .eui-progress-circle-content.p49 .eui-progress-circle-content__value-bar{transform:rotate(176.4deg)}.eui-21 .eui-progress-circle-content.p50 .eui-progress-circle-content__value-bar{transform:rotate(180deg)}.eui-21 .eui-progress-circle-content.p51 .eui-progress-circle-content__value-bar{transform:rotate(183.6deg)}.eui-21 .eui-progress-circle-content.p52 .eui-progress-circle-content__value-bar{transform:rotate(187.2deg)}.eui-21 .eui-progress-circle-content.p53 .eui-progress-circle-content__value-bar{transform:rotate(190.8deg)}.eui-21 .eui-progress-circle-content.p54 .eui-progress-circle-content__value-bar{transform:rotate(194.4deg)}.eui-21 .eui-progress-circle-content.p55 .eui-progress-circle-content__value-bar{transform:rotate(198deg)}.eui-21 .eui-progress-circle-content.p56 .eui-progress-circle-content__value-bar{transform:rotate(201.6deg)}.eui-21 .eui-progress-circle-content.p57 .eui-progress-circle-content__value-bar{transform:rotate(205.2deg)}.eui-21 .eui-progress-circle-content.p58 .eui-progress-circle-content__value-bar{transform:rotate(208.8deg)}.eui-21 .eui-progress-circle-content.p59 .eui-progress-circle-content__value-bar{transform:rotate(212.4deg)}.eui-21 .eui-progress-circle-content.p60 .eui-progress-circle-content__value-bar{transform:rotate(216deg)}.eui-21 .eui-progress-circle-content.p61 .eui-progress-circle-content__value-bar{transform:rotate(219.6deg)}.eui-21 .eui-progress-circle-content.p62 .eui-progress-circle-content__value-bar{transform:rotate(223.2deg)}.eui-21 .eui-progress-circle-content.p63 .eui-progress-circle-content__value-bar{transform:rotate(226.8deg)}.eui-21 .eui-progress-circle-content.p64 .eui-progress-circle-content__value-bar{transform:rotate(230.4deg)}.eui-21 .eui-progress-circle-content.p65 .eui-progress-circle-content__value-bar{transform:rotate(234deg)}.eui-21 .eui-progress-circle-content.p66 .eui-progress-circle-content__value-bar{transform:rotate(237.6deg)}.eui-21 .eui-progress-circle-content.p67 .eui-progress-circle-content__value-bar{transform:rotate(241.2deg)}.eui-21 .eui-progress-circle-content.p68 .eui-progress-circle-content__value-bar{transform:rotate(244.8deg)}.eui-21 .eui-progress-circle-content.p69 .eui-progress-circle-content__value-bar{transform:rotate(248.4deg)}.eui-21 .eui-progress-circle-content.p70 .eui-progress-circle-content__value-bar{transform:rotate(252deg)}.eui-21 .eui-progress-circle-content.p71 .eui-progress-circle-content__value-bar{transform:rotate(255.6deg)}.eui-21 .eui-progress-circle-content.p72 .eui-progress-circle-content__value-bar{transform:rotate(259.2deg)}.eui-21 .eui-progress-circle-content.p73 .eui-progress-circle-content__value-bar{transform:rotate(262.8deg)}.eui-21 .eui-progress-circle-content.p74 .eui-progress-circle-content__value-bar{transform:rotate(266.4deg)}.eui-21 .eui-progress-circle-content.p75 .eui-progress-circle-content__value-bar{transform:rotate(270deg)}.eui-21 .eui-progress-circle-content.p76 .eui-progress-circle-content__value-bar{transform:rotate(273.6deg)}.eui-21 .eui-progress-circle-content.p77 .eui-progress-circle-content__value-bar{transform:rotate(277.2deg)}.eui-21 .eui-progress-circle-content.p78 .eui-progress-circle-content__value-bar{transform:rotate(280.8deg)}.eui-21 .eui-progress-circle-content.p79 .eui-progress-circle-content__value-bar{transform:rotate(284.4deg)}.eui-21 .eui-progress-circle-content.p80 .eui-progress-circle-content__value-bar{transform:rotate(288deg)}.eui-21 .eui-progress-circle-content.p81 .eui-progress-circle-content__value-bar{transform:rotate(291.6deg)}.eui-21 .eui-progress-circle-content.p82 .eui-progress-circle-content__value-bar{transform:rotate(295.2deg)}.eui-21 .eui-progress-circle-content.p83 .eui-progress-circle-content__value-bar{transform:rotate(298.8deg)}.eui-21 .eui-progress-circle-content.p84 .eui-progress-circle-content__value-bar{transform:rotate(302.4deg)}.eui-21 .eui-progress-circle-content.p85 .eui-progress-circle-content__value-bar{transform:rotate(306deg)}.eui-21 .eui-progress-circle-content.p86 .eui-progress-circle-content__value-bar{transform:rotate(309.6deg)}.eui-21 .eui-progress-circle-content.p87 .eui-progress-circle-content__value-bar{transform:rotate(313.2deg)}.eui-21 .eui-progress-circle-content.p88 .eui-progress-circle-content__value-bar{transform:rotate(316.8deg)}.eui-21 .eui-progress-circle-content.p89 .eui-progress-circle-content__value-bar{transform:rotate(320.4deg)}.eui-21 .eui-progress-circle-content.p90 .eui-progress-circle-content__value-bar{transform:rotate(324deg)}.eui-21 .eui-progress-circle-content.p91 .eui-progress-circle-content__value-bar{transform:rotate(327.6deg)}.eui-21 .eui-progress-circle-content.p92 .eui-progress-circle-content__value-bar{transform:rotate(331.2deg)}.eui-21 .eui-progress-circle-content.p93 .eui-progress-circle-content__value-bar{transform:rotate(334.8deg)}.eui-21 .eui-progress-circle-content.p94 .eui-progress-circle-content__value-bar{transform:rotate(338.4deg)}.eui-21 .eui-progress-circle-content.p95 .eui-progress-circle-content__value-bar{transform:rotate(342deg)}.eui-21 .eui-progress-circle-content.p96 .eui-progress-circle-content__value-bar{transform:rotate(345.6deg)}.eui-21 .eui-progress-circle-content.p97 .eui-progress-circle-content__value-bar{transform:rotate(349.2deg)}.eui-21 .eui-progress-circle-content.p98 .eui-progress-circle-content__value-bar{transform:rotate(352.8deg)}.eui-21 .eui-progress-circle-content.p99 .eui-progress-circle-content__value-bar{transform:rotate(356.4deg)}.eui-21 .eui-progress-circle-content.p100 .eui-progress-circle-content__value-bar{transform:rotate(360deg)}.eui-21 .eui-progress-circle-content__icon-label{font-size:26px;position:absolute;right:-10px;top:-7px}.eui-21 .eui-progress-circle-content__bottom-label{margin:-6px auto 0;text-align:center;width:9em;word-wrap:break-word}.eui-21 .eui-progress-circle--size-s .eui-progress-circle-content{margin:var(--eui-s-s);transform:scale(.75)}.eui-21 .eui-progress-circle--size-s .eui-progress-circle-content__icon-label{font-size:20px;position:absolute;right:5px;top:-5px}.eui-21 .eui-progress-circle--size-s .eui-progress-circle-content__bottom-label{margin-top:-10px;width:7em}.eui-21 .eui-progress-circle--size-l .eui-progress-circle-content{margin:var(--eui-s-m) 3rem;transform:scale(1.5)}.eui-21 .eui-progress-circle--size-l .eui-progress-circle-content__icon-label{font-size:32px;position:absolute;right:-15px;top:-10px}.eui-21 .eui-progress-circle--size-l .eui-progress-circle-content__bottom-label{margin-left:25px;margin-right:25px;margin-top:45px}\n"], dependencies: [{ kind: "component", type: i2.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "ariaLabel", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: EuiProgressCircleComponent, decorators: [{
            type: Component,
            args: [{ selector: 'eui-progress-circle', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
                        ...EUI_ICON,
                    ], hostDirectives: [
                        {
                            directive: BaseStatesDirective,
                            inputs: [
                                'euiSizeS',
                                'euiSizeM',
                                'euiSizeL',
                                'euiSizeVariant',
                            ],
                        },
                    ], template: "<div\n    class=\"eui-progress-circle-content p{{ roundedValue }} {{ stateColorNumberClass }}\"\n    [class.eui-progress-circle-content--over50]=\"roundedValue > 50\">\n    @if ( !isLongLabel && !hasBottomLabel() ) {\n        <span class=\"eui-progress-circle-content__label\">\n            <span #labelValueEl>{{ labelValue }}</span>\n        </span>\n    }\n    <div class=\"eui-progress-circle-content__left-half-clipper\">\n        <div class=\"eui-progress-circle-content__first50-bar\"></div>\n        <div class=\"eui-progress-circle-content__value-bar\"></div>\n    </div>\n</div>\n@if ( isLongLabel || hasBottomLabel() ) {\n    <div class=\"eui-progress-circle-content__bottom-label\">\n        <span class=\"label\">{{ labelValue }}</span>\n    </div>\n}\n@if ( icon() ) {\n    <eui-icon-svg [icon]=\"icon()\" [fillColor]=\"fillColor()\" [size]=\"size()\" class=\"eui-progress-circle-content__icon-label\" />\n}\n", styles: [".eui-21 .eui-progress-circle{position:relative}.eui-21 .eui-progress-circle-content{background-color:#f2e9e1;border-radius:var(--eui-br-max);box-shadow:var(--eui-sh-1);height:6rem;line-height:6rem;margin:var(--eui-s-s);padding:0;position:relative;width:6rem}.eui-21 .eui-progress-circle-content:after{background-color:var(--eui-c-surface-container);border:var(--eui-bw-none);border-radius:var(--eui-br-max);content:\" \";display:block;height:4.5rem;left:.75rem;position:absolute;text-align:center;top:.75rem;width:4.5rem}.eui-21 .eui-progress-circle-content__label{display:block;line-height:6rem;position:absolute;text-align:center;white-space:nowrap;width:6rem;z-index:2}.eui-21 .eui-progress-circle-content__label-block{text-align:center}.eui-21 .eui-progress-circle-content__label-block--large{padding-top:var(--eui-s-m)}.eui-21 .eui-progress-circle-content__left-half-clipper{border-radius:var(--eui-br-max);clip:rect(0,6rem,6rem,3rem);height:6rem;position:absolute;width:6rem}.eui-21 .eui-progress-circle-content__value-bar{border:.7894736842rem solid var(--eui-c-primary);border-radius:var(--eui-br-max);box-sizing:border-box;clip:rect(0,3rem,6rem,0);height:6rem;position:absolute;width:6rem}.eui-21 .eui-progress-circle-content.eui-progress-circle-content--over50 .eui-progress-circle-content__left-half-clipper{clip:rect(auto,auto,auto,auto)}.eui-21 .eui-progress-circle-content.eui-progress-circle-content--over50 .eui-progress-circle-content__left-half-clipper .eui-progress-circle-content__first50-bar{background-color:var(--eui-c-primary-surface);border-radius:var(--eui-br-max);clip:rect(0,6rem,6rem,3rem);height:6rem;position:absolute;width:6rem}.eui-21 .eui-progress-circle-content.eui-progress-circle-content--over50.eui-progress-circle-content--info .eui-progress-circle-content__first50-bar{background-color:var(--eui-c-primary-surface)}.eui-21 .eui-progress-circle-content.eui-progress-circle-content--over50.eui-progress-circle-content--success .eui-progress-circle-content__first50-bar{background-color:var(--eui-c-success-surface)}.eui-21 .eui-progress-circle-content.eui-progress-circle-content--over50.eui-progress-circle-content--warning .eui-progress-circle-content__first50-bar{background-color:var(--eui-c-warning-surface)}.eui-21 .eui-progress-circle-content.eui-progress-circle-content--over50.eui-progress-circle-content--danger .eui-progress-circle-content__first50-bar{background-color:var(--eui-c-danger-surface)}.eui-21 .eui-progress-circle-content:not(.eui-progress-circle-content--over50) .eui-progress-circle-content__first50-bar{display:none}.eui-21 .eui-progress-circle-content--info .eui-progress-circle-content__value-bar{border-color:var(--eui-c-primary-surface)}.eui-21 .eui-progress-circle-content--success .eui-progress-circle-content__value-bar{border-color:var(--eui-c-success-surface)}.eui-21 .eui-progress-circle-content--warning .eui-progress-circle-content__value-bar{border-color:var(--eui-c-warning-surface)}.eui-21 .eui-progress-circle-content--danger .eui-progress-circle-content__value-bar{border-color:var(--eui-c-danger-surface)}.eui-21 .eui-progress-circle-content.p0 .eui-progress-circle-content__value-bar{display:none}.eui-21 .eui-progress-circle-content.p1 .eui-progress-circle-content__value-bar{transform:rotate(3.6deg)}.eui-21 .eui-progress-circle-content.p2 .eui-progress-circle-content__value-bar{transform:rotate(7.2deg)}.eui-21 .eui-progress-circle-content.p3 .eui-progress-circle-content__value-bar{transform:rotate(10.8deg)}.eui-21 .eui-progress-circle-content.p4 .eui-progress-circle-content__value-bar{transform:rotate(14.4deg)}.eui-21 .eui-progress-circle-content.p5 .eui-progress-circle-content__value-bar{transform:rotate(18deg)}.eui-21 .eui-progress-circle-content.p6 .eui-progress-circle-content__value-bar{transform:rotate(21.6deg)}.eui-21 .eui-progress-circle-content.p7 .eui-progress-circle-content__value-bar{transform:rotate(25.2deg)}.eui-21 .eui-progress-circle-content.p8 .eui-progress-circle-content__value-bar{transform:rotate(28.8deg)}.eui-21 .eui-progress-circle-content.p9 .eui-progress-circle-content__value-bar{transform:rotate(32.4deg)}.eui-21 .eui-progress-circle-content.p10 .eui-progress-circle-content__value-bar{transform:rotate(36deg)}.eui-21 .eui-progress-circle-content.p11 .eui-progress-circle-content__value-bar{transform:rotate(39.6deg)}.eui-21 .eui-progress-circle-content.p12 .eui-progress-circle-content__value-bar{transform:rotate(43.2deg)}.eui-21 .eui-progress-circle-content.p13 .eui-progress-circle-content__value-bar{transform:rotate(46.8deg)}.eui-21 .eui-progress-circle-content.p14 .eui-progress-circle-content__value-bar{transform:rotate(50.4deg)}.eui-21 .eui-progress-circle-content.p15 .eui-progress-circle-content__value-bar{transform:rotate(54deg)}.eui-21 .eui-progress-circle-content.p16 .eui-progress-circle-content__value-bar{transform:rotate(57.6deg)}.eui-21 .eui-progress-circle-content.p17 .eui-progress-circle-content__value-bar{transform:rotate(61.2deg)}.eui-21 .eui-progress-circle-content.p18 .eui-progress-circle-content__value-bar{transform:rotate(64.8deg)}.eui-21 .eui-progress-circle-content.p19 .eui-progress-circle-content__value-bar{transform:rotate(68.4deg)}.eui-21 .eui-progress-circle-content.p20 .eui-progress-circle-content__value-bar{transform:rotate(72deg)}.eui-21 .eui-progress-circle-content.p21 .eui-progress-circle-content__value-bar{transform:rotate(75.6deg)}.eui-21 .eui-progress-circle-content.p22 .eui-progress-circle-content__value-bar{transform:rotate(79.2deg)}.eui-21 .eui-progress-circle-content.p23 .eui-progress-circle-content__value-bar{transform:rotate(82.8deg)}.eui-21 .eui-progress-circle-content.p24 .eui-progress-circle-content__value-bar{transform:rotate(86.4deg)}.eui-21 .eui-progress-circle-content.p25 .eui-progress-circle-content__value-bar{transform:rotate(90deg)}.eui-21 .eui-progress-circle-content.p26 .eui-progress-circle-content__value-bar{transform:rotate(93.6deg)}.eui-21 .eui-progress-circle-content.p27 .eui-progress-circle-content__value-bar{transform:rotate(97.2deg)}.eui-21 .eui-progress-circle-content.p28 .eui-progress-circle-content__value-bar{transform:rotate(100.8deg)}.eui-21 .eui-progress-circle-content.p29 .eui-progress-circle-content__value-bar{transform:rotate(104.4deg)}.eui-21 .eui-progress-circle-content.p30 .eui-progress-circle-content__value-bar{transform:rotate(108deg)}.eui-21 .eui-progress-circle-content.p31 .eui-progress-circle-content__value-bar{transform:rotate(111.6deg)}.eui-21 .eui-progress-circle-content.p32 .eui-progress-circle-content__value-bar{transform:rotate(115.2deg)}.eui-21 .eui-progress-circle-content.p33 .eui-progress-circle-content__value-bar{transform:rotate(118.8deg)}.eui-21 .eui-progress-circle-content.p34 .eui-progress-circle-content__value-bar{transform:rotate(122.4deg)}.eui-21 .eui-progress-circle-content.p35 .eui-progress-circle-content__value-bar{transform:rotate(126deg)}.eui-21 .eui-progress-circle-content.p36 .eui-progress-circle-content__value-bar{transform:rotate(129.6deg)}.eui-21 .eui-progress-circle-content.p37 .eui-progress-circle-content__value-bar{transform:rotate(133.2deg)}.eui-21 .eui-progress-circle-content.p38 .eui-progress-circle-content__value-bar{transform:rotate(136.8deg)}.eui-21 .eui-progress-circle-content.p39 .eui-progress-circle-content__value-bar{transform:rotate(140.4deg)}.eui-21 .eui-progress-circle-content.p40 .eui-progress-circle-content__value-bar{transform:rotate(144deg)}.eui-21 .eui-progress-circle-content.p41 .eui-progress-circle-content__value-bar{transform:rotate(147.6deg)}.eui-21 .eui-progress-circle-content.p42 .eui-progress-circle-content__value-bar{transform:rotate(151.2deg)}.eui-21 .eui-progress-circle-content.p43 .eui-progress-circle-content__value-bar{transform:rotate(154.8deg)}.eui-21 .eui-progress-circle-content.p44 .eui-progress-circle-content__value-bar{transform:rotate(158.4deg)}.eui-21 .eui-progress-circle-content.p45 .eui-progress-circle-content__value-bar{transform:rotate(162deg)}.eui-21 .eui-progress-circle-content.p46 .eui-progress-circle-content__value-bar{transform:rotate(165.6deg)}.eui-21 .eui-progress-circle-content.p47 .eui-progress-circle-content__value-bar{transform:rotate(169.2deg)}.eui-21 .eui-progress-circle-content.p48 .eui-progress-circle-content__value-bar{transform:rotate(172.8deg)}.eui-21 .eui-progress-circle-content.p49 .eui-progress-circle-content__value-bar{transform:rotate(176.4deg)}.eui-21 .eui-progress-circle-content.p50 .eui-progress-circle-content__value-bar{transform:rotate(180deg)}.eui-21 .eui-progress-circle-content.p51 .eui-progress-circle-content__value-bar{transform:rotate(183.6deg)}.eui-21 .eui-progress-circle-content.p52 .eui-progress-circle-content__value-bar{transform:rotate(187.2deg)}.eui-21 .eui-progress-circle-content.p53 .eui-progress-circle-content__value-bar{transform:rotate(190.8deg)}.eui-21 .eui-progress-circle-content.p54 .eui-progress-circle-content__value-bar{transform:rotate(194.4deg)}.eui-21 .eui-progress-circle-content.p55 .eui-progress-circle-content__value-bar{transform:rotate(198deg)}.eui-21 .eui-progress-circle-content.p56 .eui-progress-circle-content__value-bar{transform:rotate(201.6deg)}.eui-21 .eui-progress-circle-content.p57 .eui-progress-circle-content__value-bar{transform:rotate(205.2deg)}.eui-21 .eui-progress-circle-content.p58 .eui-progress-circle-content__value-bar{transform:rotate(208.8deg)}.eui-21 .eui-progress-circle-content.p59 .eui-progress-circle-content__value-bar{transform:rotate(212.4deg)}.eui-21 .eui-progress-circle-content.p60 .eui-progress-circle-content__value-bar{transform:rotate(216deg)}.eui-21 .eui-progress-circle-content.p61 .eui-progress-circle-content__value-bar{transform:rotate(219.6deg)}.eui-21 .eui-progress-circle-content.p62 .eui-progress-circle-content__value-bar{transform:rotate(223.2deg)}.eui-21 .eui-progress-circle-content.p63 .eui-progress-circle-content__value-bar{transform:rotate(226.8deg)}.eui-21 .eui-progress-circle-content.p64 .eui-progress-circle-content__value-bar{transform:rotate(230.4deg)}.eui-21 .eui-progress-circle-content.p65 .eui-progress-circle-content__value-bar{transform:rotate(234deg)}.eui-21 .eui-progress-circle-content.p66 .eui-progress-circle-content__value-bar{transform:rotate(237.6deg)}.eui-21 .eui-progress-circle-content.p67 .eui-progress-circle-content__value-bar{transform:rotate(241.2deg)}.eui-21 .eui-progress-circle-content.p68 .eui-progress-circle-content__value-bar{transform:rotate(244.8deg)}.eui-21 .eui-progress-circle-content.p69 .eui-progress-circle-content__value-bar{transform:rotate(248.4deg)}.eui-21 .eui-progress-circle-content.p70 .eui-progress-circle-content__value-bar{transform:rotate(252deg)}.eui-21 .eui-progress-circle-content.p71 .eui-progress-circle-content__value-bar{transform:rotate(255.6deg)}.eui-21 .eui-progress-circle-content.p72 .eui-progress-circle-content__value-bar{transform:rotate(259.2deg)}.eui-21 .eui-progress-circle-content.p73 .eui-progress-circle-content__value-bar{transform:rotate(262.8deg)}.eui-21 .eui-progress-circle-content.p74 .eui-progress-circle-content__value-bar{transform:rotate(266.4deg)}.eui-21 .eui-progress-circle-content.p75 .eui-progress-circle-content__value-bar{transform:rotate(270deg)}.eui-21 .eui-progress-circle-content.p76 .eui-progress-circle-content__value-bar{transform:rotate(273.6deg)}.eui-21 .eui-progress-circle-content.p77 .eui-progress-circle-content__value-bar{transform:rotate(277.2deg)}.eui-21 .eui-progress-circle-content.p78 .eui-progress-circle-content__value-bar{transform:rotate(280.8deg)}.eui-21 .eui-progress-circle-content.p79 .eui-progress-circle-content__value-bar{transform:rotate(284.4deg)}.eui-21 .eui-progress-circle-content.p80 .eui-progress-circle-content__value-bar{transform:rotate(288deg)}.eui-21 .eui-progress-circle-content.p81 .eui-progress-circle-content__value-bar{transform:rotate(291.6deg)}.eui-21 .eui-progress-circle-content.p82 .eui-progress-circle-content__value-bar{transform:rotate(295.2deg)}.eui-21 .eui-progress-circle-content.p83 .eui-progress-circle-content__value-bar{transform:rotate(298.8deg)}.eui-21 .eui-progress-circle-content.p84 .eui-progress-circle-content__value-bar{transform:rotate(302.4deg)}.eui-21 .eui-progress-circle-content.p85 .eui-progress-circle-content__value-bar{transform:rotate(306deg)}.eui-21 .eui-progress-circle-content.p86 .eui-progress-circle-content__value-bar{transform:rotate(309.6deg)}.eui-21 .eui-progress-circle-content.p87 .eui-progress-circle-content__value-bar{transform:rotate(313.2deg)}.eui-21 .eui-progress-circle-content.p88 .eui-progress-circle-content__value-bar{transform:rotate(316.8deg)}.eui-21 .eui-progress-circle-content.p89 .eui-progress-circle-content__value-bar{transform:rotate(320.4deg)}.eui-21 .eui-progress-circle-content.p90 .eui-progress-circle-content__value-bar{transform:rotate(324deg)}.eui-21 .eui-progress-circle-content.p91 .eui-progress-circle-content__value-bar{transform:rotate(327.6deg)}.eui-21 .eui-progress-circle-content.p92 .eui-progress-circle-content__value-bar{transform:rotate(331.2deg)}.eui-21 .eui-progress-circle-content.p93 .eui-progress-circle-content__value-bar{transform:rotate(334.8deg)}.eui-21 .eui-progress-circle-content.p94 .eui-progress-circle-content__value-bar{transform:rotate(338.4deg)}.eui-21 .eui-progress-circle-content.p95 .eui-progress-circle-content__value-bar{transform:rotate(342deg)}.eui-21 .eui-progress-circle-content.p96 .eui-progress-circle-content__value-bar{transform:rotate(345.6deg)}.eui-21 .eui-progress-circle-content.p97 .eui-progress-circle-content__value-bar{transform:rotate(349.2deg)}.eui-21 .eui-progress-circle-content.p98 .eui-progress-circle-content__value-bar{transform:rotate(352.8deg)}.eui-21 .eui-progress-circle-content.p99 .eui-progress-circle-content__value-bar{transform:rotate(356.4deg)}.eui-21 .eui-progress-circle-content.p100 .eui-progress-circle-content__value-bar{transform:rotate(360deg)}.eui-21 .eui-progress-circle-content__icon-label{font-size:26px;position:absolute;right:-10px;top:-7px}.eui-21 .eui-progress-circle-content__bottom-label{margin:-6px auto 0;text-align:center;width:9em;word-wrap:break-word}.eui-21 .eui-progress-circle--size-s .eui-progress-circle-content{margin:var(--eui-s-s);transform:scale(.75)}.eui-21 .eui-progress-circle--size-s .eui-progress-circle-content__icon-label{font-size:20px;position:absolute;right:5px;top:-5px}.eui-21 .eui-progress-circle--size-s .eui-progress-circle-content__bottom-label{margin-top:-10px;width:7em}.eui-21 .eui-progress-circle--size-l .eui-progress-circle-content{margin:var(--eui-s-m) 3rem;transform:scale(1.5)}.eui-21 .eui-progress-circle--size-l .eui-progress-circle-content__icon-label{font-size:32px;position:absolute;right:-15px;top:-10px}.eui-21 .eui-progress-circle--size-l .eui-progress-circle-content__bottom-label{margin-left:25px;margin-right:25px;margin-top:45px}\n"] }]
        }], propDecorators: { cssClasses: [{
                type: HostBinding,
                args: ['class']
            }], ariaLabel: [{
                type: HostBinding,
                args: ['attr.aria-label']
            }, {
                type: Input
            }], isDefaultColorSteps: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDefaultColorSteps", required: false }] }], hasBottomLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasBottomLabel", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], emptyLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyLabel", required: false }] }], valueLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueLabel", required: false }] }], colorSteps: [{ type: i0.Input, args: [{ isSignal: true, alias: "colorSteps", required: false }] }], colorType: [{ type: i0.Input, args: [{ isSignal: true, alias: "colorType", required: false }] }], tabindex: [{
                type: Input
            }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], fillColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "fillColor", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], labelValueEl: [{
                type: ViewChild,
                args: ['labelValueEl']
            }] } });

const EUI_PROGRESS_CIRCLE = [
    EuiProgressCircleComponent,
];
// export { EuiProgressCircleComponent as EuiProgressCircle } from './eui-progress-circle.component';

/**
 * Generated bundle index. Do not edit.
 */

export { EUI_PROGRESS_CIRCLE, EuiProgressCircleComponent };
//# sourceMappingURL=eui-components-eui-progress-circle.mjs.map
