{"version":3,"file":"eui-components-eui-timepicker.mjs","sources":["../../eui-timepicker/eui-timepicker.component.ts","../../eui-timepicker/eui-timepicker.component.html","../../eui-timepicker/index.ts","../../eui-timepicker/eui-components-eui-timepicker.ts"],"sourcesContent":["import {\n    Component,\n    Input,\n    OnInit,\n    ViewEncapsulation,\n    DoCheck,\n    OnDestroy,\n    SimpleChanges,\n    OnChanges,\n    booleanAttribute,\n    inject,\n} from '@angular/core';\nimport {\n    ControlValueAccessor,\n    NgControl,\n    FormControl,\n    Validators,\n    FormsModule,\n    ReactiveFormsModule,\n} from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DYNAMIC_COMPONENT_CONFIG, uniqueId } from '@eui/core';\nimport { EuiDateTimePickerConfig } from './models/eui-date-time-picker.config.model';\nimport { EuiTimePicker } from './models/eui-timepicker.model';\nimport { NgxMaskDirective, provideNgxMask } from 'ngx-mask';\nimport { EUI_INPUT_NUMBER } from '@eui/components/eui-input-number';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\n/**\n * @description\n * A timepicker component that allows the user to select a time. The component\n * can be used in two modes: one input field or three separate input fields\n * for hours, minutes, and seconds. The component also supports incremental and\n * decremental buttons for each input field.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <!-- Single input field mode -->\n * <eui-timepicker\n *   [isOneInputField]=\"true\"\n *   [(ngModel)]=\"selectedTime\" />\n *\n * <!-- Separate fields mode -->\n * <eui-timepicker\n *   [showSeconds]=\"true\"\n *   [(ngModel)]=\"selectedTime\" />\n *\n * <!-- With reactive forms -->\n * <form [formGroup]=\"form\">\n *   <eui-timepicker formControlName=\"appointmentTime\" />\n * </form>\n * ```\n *\n * ```typescript\n * selectedTime: EuiTimePicker = { hours: 14, minutes: 30, seconds: 0 };\n * form = new FormGroup({\n *   appointmentTime: new FormControl(null)\n * });\n * ```\n *\n * ### Accessibility\n * - Provide clear labels for time input purpose\n * - Use aria-label on increment/decrement buttons\n * - Ensure keyboard navigation works (Tab, Arrow keys)\n * - Announce time changes to screen readers\n *\n * ### Notes\n * - Time format: { hours: number, minutes: number, seconds?: number }\n * - Single input mode uses mask for formatted input (HH:MM or HH:MM:SS)\n * - Separate fields mode provides individual controls with +/- buttons\n * - Step values control increment/decrement amounts\n */\n@Component({\n    selector: 'eui-timepicker',\n    templateUrl: './eui-timepicker.component.html',\n    styleUrls: ['./eui-timepicker.scss'],\n    encapsulation: ViewEncapsulation.None,\n    imports: [\n        FormsModule,\n        ReactiveFormsModule,\n        NgxMaskDirective,\n        ...EUI_INPUT_NUMBER,\n        ...EUI_INPUT_TEXT,\n        ...EUI_ICON,\n    ],\n    providers: [provideNgxMask()],\n})\nexport class EuiTimepickerComponent implements ControlValueAccessor, OnInit, OnChanges, DoCheck, OnDestroy {\n    hours: number;\n    mins: number;\n    secs: number;\n    isDatetimepicker: boolean;\n    oneInputFormControl = new FormControl();\n    oneInputHours: string;\n    oneInputMins: string;\n    oneInputSecs: string;\n\n    public hoursUpDisabled = false;\n    public hoursDownDisabled = false;\n    public minutesUpDisabled = false;\n    public minutesDownDisabled = false;\n    public secondsUpDisabled = false;\n    public secondsDownDisabled = false;\n\n    @Input() e2eAttr = 'eui-timepicker';\n    /**\n     * The id of the input element when isOneInputField attribute is used. If not provided, a unique id will be generated.\n     * @default 'eui-timepicker-<unique-id>'\n     */\n    @Input() inputId = `eui-timepicker-${uniqueId()}`;\n    /**\n     * The mask for the input field when isOneInputField attribute is used.\n     * @default 'Hh:m0'\n     */\n    @Input() timeMask = 'Hh:m0'\n    /**\n     * The placeholder of the input field when isOneInputField attribute is used.\n     * @default 'Hh:m0'\n     */\n    @Input() placeholder = this.timeMask;\n    /**\n     * The step used for changing hours.\n     * @default 1\n     */\n    @Input() stepHours = 1;\n    /**\n     * The step used for changing minutes.\n     * @default 1\n     */\n    @Input() stepMinutes = 1;\n    /**\n     * The step used for changing seconds.\n     * @default 1\n     */\n    @Input() stepSeconds = 1;\n    /**\n     * The size of the icon used for changing hours, minutes and seconds.\n     * @default 'l'\n     */\n    @Input() iconSize = 'l';\n    /**\n     * Sets the readonly attribute of the input field.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isreadOnly = false;\n    /**\n     * Sets the disabled state.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isDisabled = false;\n    /**\n     * Attribute that transforms the 3 separate inputs into one input field.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isOneInputField = false;\n    /**\n     * Option for enabling seconds.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) hasSeconds = false;\n\n    protected hasAriaRequiredAttribute: boolean;\n    private propagatedValues: EuiTimePicker = {\n        hours: null,\n        mins: null,\n        secs: this.hasSeconds ? null : undefined,\n    };\n    private destroy$: Subject<boolean> = new Subject<boolean>();\n    private control = inject(NgControl, { self: true, optional: true })!;\n\n    constructor() {\n        const config = inject<EuiDateTimePickerConfig>(DYNAMIC_COMPONENT_CONFIG, { optional: true })!;\n\n        this.hours = config?.hours || 0;\n        this.mins = config?.mins || 0;\n        this.secs = config?.secs || 0;\n        this.isDatetimepicker = config?.isDatetimepicker;\n        this.hasSeconds = config?.hasSeconds;\n        this.isOneInputField = config?.isOneInputField;\n        this.isDisabled = config?.isDisabled || false;\n        this.stepHours = config? config.stepHours: this.stepHours;\n        this.stepMinutes = config? config.stepMinutes: this.stepMinutes;\n        this.stepSeconds = config? config.stepSeconds: this.stepSeconds;\n        const hours = this.hours === 0 || null ? '00' : this.hours;\n        const mins = this.mins === 0 || null ? '00' : this.mins;\n        const secs = this.secs === 0 || null ? '00' : this.secs;\n        this.oneInputFormControl.setValue('' + hours + ':' + mins + ':' + secs);\n        this.callbackFn = config?.callbackFn || this.callbackFn;\n\n        if (this.control) {\n            this.control.valueAccessor = this;\n        }\n    }\n\n    ngOnInit(): void {\n        this.oneInputFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n            // splits the entered time into 3 parts based on the : and propagates back the corresponding parts\n            if(value === null) {\n                this.propagatedValues = {\n                    hours: null,\n                    mins: null,\n                    secs: null,\n                };\n                this.propagateChange(null);\n                return;\n            }\n            [this.oneInputHours, this.oneInputMins, this.oneInputSecs] = value.split(':');\n            const splittedhours = this.oneInputHours ? Number(this.oneInputHours) : null;\n            const splittedmins = this.oneInputMins ? Number(this.oneInputMins) : null;\n            const splittedsecs = this.oneInputSecs ? Number(this.oneInputSecs) : null;\n            if (this.hasSeconds) {\n                this.propagatedValues = {\n                    ...this.propagatedValues,\n                    hours: splittedhours,\n                    mins: splittedmins,\n                    secs: splittedsecs,\n                };\n                this.callbackFn(splittedhours, splittedmins, splittedsecs);\n            } else {\n                this.propagatedValues = {\n                    ...this.propagatedValues,\n                    hours: splittedhours,\n                    mins: splittedmins,\n                };\n                this.callbackFn(splittedhours, splittedmins);\n            }\n            if (splittedhours === null && splittedmins === null && splittedsecs === null) {\n                this.propagateChange(null);\n            } else {\n                this.propagateChange(this.propagatedValues);\n            }\n        });\n\n        this.updateInputAriaRequiredAttribute(this.control);\n        this.control?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n            this.updateInputAriaRequiredAttribute(this.control);\n        });\n    }\n\n    ngOnChanges(changes: SimpleChanges):void {\n        if(this.isOneInputField) {\n            if (this.hasSeconds && changes.hasSeconds) {\n                this.timeMask = 'Hh:m0:s0';\n                this.placeholder = 'Hh:m0:s0';\n            }\n            if (changes.timeMask) {\n                this.timeMask = changes.timeMask.currentValue;\n                this.placeholder = changes.timeMask.currentValue;\n            }\n            if(changes.placeholder) {\n                this.placeholder = changes.placeholder.currentValue;\n            }\n        }\n    }\n\n    ngDoCheck(): void {\n        if (this.control) {\n            // marks the input control as touched/invalid if the form control is touched/invalid\n            // eslint-disable-next-line\n            this.control?.touched ? this.oneInputFormControl.markAsTouched() : this.oneInputFormControl.markAsUntouched();\n            // eslint-disable-next-line\n            this.control?.invalid ? this.oneInputFormControl.setErrors(this.control.errors) : this.oneInputFormControl.setErrors(null);\n        }\n    }\n\n    ngOnDestroy(): void {\n        this.destroy$.next(true);\n        this.destroy$.unsubscribe();\n    }\n    /**\n     * Increments or decrements hours according to the step param being passed\n     *\n     * @param step The step number that hours will increase or decrease\n     */\n    changeHours(step: number): void {\n        if (this.isDisabled) return;\n        if ((!this.hoursUpDisabled && step >0) || (!this.hoursDownDisabled && step <0)) {\n            const val = (isNaN(this.hours) ? 0 : this.hours) + step;\n            this.updateHours(val.toString());\n        }\n    }\n    /**\n     * Increments or decrements minutes according to the step param being passed\n     *\n     * @param step The step number that minutes will increase or decrease\n     */\n    changeMinutes(step: number): void {\n        if (this.isDisabled) return;\n        if ((!this.minutesUpDisabled && step >0) || (!this.minutesDownDisabled && step <0)) {\n            const val = (isNaN(this.mins) ? 0 : this.mins) + step;\n            this.updateMinutes(val.toString());\n        }\n    }\n    /**\n     * Increments or decrements seconds according to the step param being passed\n     *\n     * @param step The step number that seconds will increase or decrease\n     */\n    changeSeconds(step: number): void {\n        if (this.isDisabled) return;\n        if ((!this.secondsUpDisabled && step >0) || (!this.secondsDownDisabled && step <0)) {\n            const val = (isNaN(this.secs) ? 0 : this.secs) + step;\n            this.updateSeconds(val.toString());\n        }\n    }\n    /**\n     * Updates the input field when hours change and adds 24hour validation + propagates the value back to the form\n     *\n     * @param newVal The new value that hours will have\n     */\n    updateHours(newVal: string): void {\n        const enteredHour = this.toInteger(newVal);\n\n        if (!isNaN(enteredHour)) {\n            this.hours = (enteredHour < 0 ? 24 + enteredHour : enteredHour) % 24;\n        } else {\n            this.hours = NaN;\n        }\n\n        this.callbackFn(this.hours, this.mins, this.secs);\n\n        this.propagatedValues = {\n            ...this.propagatedValues,\n            hours: this.hours,\n        };\n        this.propagateChange(this.propagatedValues);\n    }\n    /**\n     * Updates the input field when minutes change and adds 60mins validation + propagates the value back to the form\n     *\n     * @param newVal The new value that minutes will have\n     */\n    updateMinutes(newVal: string): void {\n        const enteredMin = this.toInteger(newVal);\n\n        if (!isNaN(enteredMin)) {\n            this.mins = enteredMin % 60 < 0 ? 60 + (enteredMin % 60) : enteredMin % 60;\n            this.changeHours(Math.floor(enteredMin / 60));\n        } else {\n            this.mins = NaN;\n        }\n\n        this.callbackFn(this.hours, this.mins, this.secs);\n\n        this.propagatedValues = {\n            ...this.propagatedValues,\n            mins: this.mins,\n        };\n        this.propagateChange(this.propagatedValues);\n    }\n    /**\n     * Updates the input field when seconds change and adds 60secs validation + propagates the value back to the form\n     *\n     * @param newVal The new value that seconds will have\n     */\n    updateSeconds(newVal: string): void {\n        const enteredSec = this.toInteger(newVal);\n\n        if (!isNaN(enteredSec)) {\n            this.secs = enteredSec % 60 < 0 ? 60 + (enteredSec % 60) : enteredSec % 60;\n            this.changeMinutes(Math.floor(enteredSec / 60));\n        } else {\n            this.secs = NaN;\n        }\n\n        this.callbackFn(this.hours, this.mins, this.secs);\n\n        this.propagatedValues = {\n            ...this.propagatedValues,\n            secs: this.secs,\n        };\n\n        this.propagateChange(this.propagatedValues);\n    }\n    /**\n     * Autofills mins and secs with 00s if the user tabs after entering hours and marks the input as touched\n     */\n    onFocusOut(): void {\n        if (this.oneInputHours && !this.oneInputMins && !this.oneInputSecs) {\n            switch (this.oneInputHours) {\n                case '0':\n                    this.oneInputHours = '00';\n                    break;\n                case '1':\n                    this.oneInputHours = '01';\n                    break;\n                case '2':\n                    this.oneInputHours = '02';\n                    break;\n            }\n            this.oneInputFormControl.patchValue(`${this.oneInputHours} : 00 : 00`);\n        }\n\n        this.propagateTouched();\n    }\n\n    writeValue(values: EuiTimePicker): void {\n        if (!values) {\n           this.hours = null;\n           this.mins = null;\n           this.secs = null;\n           if(this.isOneInputField) {\n            this.oneInputFormControl.setValue(null)\n           }\n           return;\n        }\n\n        if (values.hours < 0 || values.hours > 23 || typeof values.hours !== 'number') {\n            throw new Error('hours must be defined and be a number with range 0-23');\n        }\n        if (values.mins < 0 || values.mins > 59 || typeof values.mins !== 'number') {\n            throw new Error('mins must be defined and be a number with range 0-59');\n        }\n        if (this.hasSeconds && (values.secs < 0 || values.secs > 59 || typeof values.secs !== 'number')) {\n            throw new Error('secs must be defined and be a number with range 0-59');\n        }\n\n        this.updateHours(values.hours.toString());\n        this.updateMinutes(values.mins.toString());\n        if (values.secs) {\n            this.updateSeconds(values.secs.toString());\n        }\n        if (this.isOneInputField) {\n            const hours = this.padNumber(values.hours);\n            const mins = this.padNumber(values.mins);\n            const secs = this.padNumber(values.secs);\n\n            this.oneInputFormControl.patchValue('' + hours + ':' + mins + ':' + secs);\n        }\n    }\n    /**\n     * Disables the hour up incremental when max time range is reached\n     *\n     * @param state The boolean value that enables the feature\n     */\n    public hoursUpDisable(state: boolean): void {\n        this.hoursUpDisabled = state;\n    }\n    /**\n     * Disables the hour down decremental when min time range is reached\n     *\n     * @param state The boolean value that enables the feature\n     */\n    public hoursDownDisable(state: boolean): void {\n        this.hoursDownDisabled = state;\n    }\n    /**\n     * Disables the minutes up incremental when max time range is reached\n     *\n     * @param state The boolean value that enables the feature\n     */\n    public minutesUpDisable(state: boolean): void {\n        this.minutesUpDisabled = state;\n    }\n    /**\n     * Disables the minutes down decremental when min time range is reached\n     *\n     * @param state The boolean value that enables the feature\n     */\n    public minutesDownDisable(state: boolean): void {\n        this.minutesDownDisabled = state;\n    }\n    /**\n     * Disables the seconds up incremental when max time range is reached\n     *\n     * @param state The boolean value that enables the feature\n     */\n    public secondsUpDisable(state: boolean): void {\n        this.secondsUpDisabled = state;\n    }\n    /**\n     * Disables the seconds down decremental when min time range is reached\n     *\n     * @param state The boolean value that enables the feature\n     */\n    public secondsDownDisable(state: boolean): void {\n        this.secondsDownDisabled = state;\n    }\n\n    registerOnChange(fn: () => void): void {\n        this.propagateChange = fn;\n    }\n\n    registerOnTouched(fn: () => void): void {\n        this.propagateTouched = fn;\n    }\n\n    setDisabledState(isDisabled: boolean): void {\n        this.isDisabled = isDisabled;\n        if (this.isOneInputField) {\n            if (isDisabled) {\n                this.oneInputFormControl.disable();\n            } else {\n                this.oneInputFormControl.enable();\n            }\n        }\n    }\n    /**\n     * A callback function that is called when the time is changed. It is used to propagate the value back to the form.\n     * @param hours The hours value\n     * @param mins The minutes value\n     * @param secs The seconds value\n     */\n    private callbackFn: (hours: number, mins: number, secs?: number) => void = () => {/* empty */};\n\n    /**\n     * Converts the provided value to an integer.\n     *\n     * @param value The value to convert\n     * @private\n     */\n    private toInteger(value: string | number | null | undefined): number {\n        return parseInt(`${value}`, 10);\n    }\n\n    /**\n     * Pads leading zero to the provided number when isOneInputField\n     *\n     * @param value The value to add leading zero to\n     * @private\n     */\n    private padNumber(value: number): string {\n        if (!isNaN(this.toInteger(value))) {\n            return `0${value}`.slice(-2);\n        } else {\n            return '';\n        }\n    }\n\n    private propagateChange = (value: EuiTimePicker | null): void => {/* empty */};\n\n    private propagateTouched = (): void => {/* empty */};\n\n    /**\n     * Updates the `aria-required` attribute on the input element.\n     * @param control The NgControl instance to check for required validator\n     * @private\n     */\n    private updateInputAriaRequiredAttribute(control: NgControl): void {\n        this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n    }\n}\n","<div class=\"eui-timepicker\" [class.eui-timepicker--centered]=\"isDatetimepicker\" attr.data-e2e=\"{{ e2eAttr }}\">\n    @if (isOneInputField) {\n        <input\n            [class.eui-timepicker__input--one-field]=\"isDatetimepicker\"\n            euiInputText\n            [id]=\"inputId\"\n            mask=\"{{ timeMask }}\"\n            [leadZeroDateTime]=\"true\"\n            [placeholder]=\"placeholder\"\n            [attr.aria-label]=\"oneInputFormControl.value?oneInputFormControl.value:'No time value'\"\n            [formControl]=\"oneInputFormControl\"\n            (focusout)=\"onFocusOut()\"\n            [dropSpecialCharacters]=\"false\"\n            [readonly]=\"isreadOnly\" />\n    } @else {\n        <div class=\"eui-timepicker__input-container\">\n            @if (!isreadOnly) {\n                <div class=\"eui-timepicker__chevron eui-timepicker__hours-up\">\n                    <eui-icon-svg\n                        (click)=\"changeHours(stepHours)\"\n                        [class.time-control--disabled]=\"hoursUpDisabled || isDisabled\"\n                        icon=\"eui-chevron-up\"\n                        fillColor=\"secondary\"\n                        [size]=\"iconSize\"\n                        role=\"button\"\n                        aria-label=\"Increase Hours\">\n                    </eui-icon-svg>\n                </div>\n            }\n            <input\n                #inputrefhours\n                euiInputNumber\n                [leadingZero]=\"2\"\n                [digits]=\"2\"\n                [fractionDigits]=\"0\"\n                class=\"eui-timepicker__input\"\n                placeholder=\"HH\"\n                [ngModel]=\"hours\"\n                (ngModelChange)=\"updateHours($event)\"\n                [readonly]=\"isreadOnly\"\n                [disabled]=\"isDisabled\"\n                aria-label=\"Hours\"\n                [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n                (keydown.ArrowUp)=\"changeHours(stepHours); $event.preventDefault()\"\n                (keydown.ArrowDown)=\"changeHours(-stepHours); $event.preventDefault()\" />\n            @if (!isreadOnly) {\n                <div class=\"eui-timepicker__chevron eui-timepicker__hours-down\">\n                    <eui-icon-svg\n                        (click)=\"changeHours(-stepHours)\"\n                        [class.time-control--disabled]=\"hoursDownDisabled || isDisabled\"\n                        icon=\"eui-chevron-down\"\n                        fillColor=\"secondary\"\n                        [size]=\"iconSize\"\n                        role=\"button\"\n                        aria-label=\"Decrease Hours\">\n                    </eui-icon-svg>\n                </div>\n            }\n        </div>\n        <div class=\"eui-timepicker__spacer\">:</div>\n        <div class=\"eui-timepicker__input-container\">\n            @if (!isreadOnly) {\n                <div class=\"eui-timepicker__chevron eui-timepicker__minutes-up\">\n                    <eui-icon-svg\n                        (click)=\"changeMinutes(stepMinutes)\"\n                        [class.time-control--disabled]=\"minutesUpDisabled || isDisabled\"\n                        icon=\"eui-chevron-up\"\n                        fillColor=\"secondary\"\n                        [size]=\"iconSize\"\n                        role=\"button\"\n                        aria-label=\"Increase Minutes\">\n                    </eui-icon-svg>\n                </div>\n            }\n            <input\n                #inputrefmins\n                euiInputNumber\n                [leadingZero]=\"2\"\n                [digits]=\"2\"\n                [fractionDigits]=\"0\"\n                class=\"eui-timepicker__input\"\n                placeholder=\"MM\"\n                [ngModel]=\"mins\"\n                (ngModelChange)=\"updateMinutes($event)\"\n                [readonly]=\"isreadOnly\"\n                [disabled]=\"isDisabled\"\n                aria-label=\"Minutes\"\n                [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n                (keydown.ArrowUp)=\"changeMinutes(stepMinutes); $event.preventDefault()\"\n                (keydown.ArrowDown)=\"changeMinutes(-stepMinutes); $event.preventDefault()\" />\n            @if (!isreadOnly) {\n                <div class=\"eui-timepicker__chevron eui-timepicker__minutes-down\">\n                    <eui-icon-svg\n                        (click)=\"changeMinutes(-stepMinutes)\"\n                        [class.time-control--disabled]=\"minutesDownDisabled || isDisabled\"\n                        icon=\"eui-chevron-down\"\n                        fillColor=\"secondary\"\n                        [size]=\"iconSize\"\n                        role=\"button\"\n                        aria-label=\"Decrease Minutes\">\n                    </eui-icon-svg>\n                </div>\n            }\n        </div>\n        @if (hasSeconds) {\n            <div class=\"eui-timepicker__spacer\">:</div>\n            <div class=\"eui-timepicker__input-container\">\n                @if (!isreadOnly) {\n                    <div class=\"eui-timepicker__chevron eui-timepicker__seconds-up\">\n                        <eui-icon-svg\n                            (click)=\"changeSeconds(stepSeconds)\"\n                            [class.time-control--disabled]=\"secondsUpDisabled || isDisabled\"\n                            icon=\"eui-chevron-up\"\n                            fillColor=\"secondary\"\n                            [size]=\"iconSize\"\n                            role=\"button\"\n                            aria-label=\"Increase seconds\">\n                        </eui-icon-svg>\n                    </div>\n                }\n                <input\n                    #inputrefsecs\n                    euiInputNumber\n                    [leadingZero]=\"2\"\n                    [digits]=\"2\"\n                    [fractionDigits]=\"0\"\n                    class=\"eui-timepicker__input\"\n                    placeholder=\"SS\"\n                    [ngModel]=\"secs\"\n                    (ngModelChange)=\"updateSeconds($event)\"\n                    [readonly]=\"isreadOnly\"\n                    [disabled]=\"isDisabled\"\n                    aria-label=\"Seconds\"\n                    [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n                    (keydown.ArrowUp)=\"changeSeconds(stepSeconds); $event.preventDefault()\"\n                    (keydown.ArrowDown)=\"changeSeconds(-stepSeconds); $event.preventDefault()\" />\n                @if (!isreadOnly) {\n                    <div class=\"eui-timepicker__chevron eui-timepicker__seconds-down\">\n                        <eui-icon-svg\n                            (click)=\"changeSeconds(-stepSeconds)\"\n                            [class.time-control--disabled]=\"secondsDownDisabled || isDisabled\"\n                            icon=\"eui-chevron-down\"\n                            fillColor=\"secondary\"\n                            [size]=\"iconSize\"\n                            role=\"button\"\n                            aria-label=\"Decrease seconds\">\n                        </eui-icon-svg>\n                    </div>\n                }\n            </div>\n        }\n    }\n</div>\n","import { EuiTimepickerComponent } from './eui-timepicker.component';\n\nexport * from './eui-timepicker.component';\nexport * from './models/eui-timepicker.model';\nexport * from './models/eui-date-time-picker.config.model';\n\nexport const EUI_TIMEPICKER = [\n    EuiTimepickerComponent,\n] as const;\n\n// export { EuiTimepickerComponent as EuiTimepicker } from './eui-timepicker.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}