import * as i0 from '@angular/core';
import { inject, viewChild, output, input, model, signal, computed, forwardRef, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
import { ZIconComponent } from '@shival99/z-ui/components/z-icon';
import { ZTranslateService } from '@shival99/z-ui/services';
import { zTransform, zMergeClasses, zCreateEvent } from '@shival99/z-ui/utils';
import { cva } from 'class-variance-authority';

const zCheckboxVariants = cva([
    'relative inline-flex items-center justify-center shrink-0 cursor-pointer overflow-hidden align-middle leading-none',
    'rounded-sm border border-input bg-background dark:border-border dark:bg-input/25',
    'transition-colors duration-150',
    'hover:border-primary/70 hover:bg-primary/5 dark:hover:bg-primary/15',
    'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background',
    'disabled:cursor-not-allowed disabled:opacity-50',
    'data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-white data-[state=checked]:hover:bg-primary/90',
    'data-[state=indeterminate]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-white data-[state=indeterminate]:hover:bg-primary/90',
], {
    variants: {
        zSize: {
            sm: 'size-4',
            default: 'size-5',
            lg: 'size-6',
        },
    },
    defaultVariants: {
        zSize: 'default',
    },
});
const zCheckboxLabelVariants = cva('select-none cursor-pointer leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70', {
    variants: {
        zSize: {
            sm: 'text-xs',
            default: 'text-sm',
            lg: 'text-base',
        },
    },
    defaultVariants: {
        zSize: 'default',
    },
});

class ZCheckboxComponent {
    _zTranslate = inject(ZTranslateService);
    _checkboxRef = viewChild('checkboxBtn', ...(ngDevMode ? [{ debugName: "_checkboxRef" }] : []));
    zChange = output();
    zGroupChange = output();
    zOnBlur = output();
    zOnFocus = output();
    zControl = output();
    zEvent = output();
    class = input('', ...(ngDevMode ? [{ debugName: "class" }] : []));
    zType = input('default', ...(ngDevMode ? [{ debugName: "zType" }] : []));
    zSize = input('default', ...(ngDevMode ? [{ debugName: "zSize" }] : []));
    zLabel = input('', ...(ngDevMode ? [{ debugName: "zLabel" }] : []));
    zText = input('', ...(ngDevMode ? [{ debugName: "zText" }] : []));
    zDisabled = input(false, { ...(ngDevMode ? { debugName: "zDisabled" } : {}), transform: zTransform });
    zIndeterminate = input(false, { ...(ngDevMode ? { debugName: "zIndeterminate" } : {}), transform: zTransform });
    zValue = input('', ...(ngDevMode ? [{ debugName: "zValue" }] : []));
    zOptions = input([], ...(ngDevMode ? [{ debugName: "zOptions" }] : []));
    zOrientation = input('vertical', ...(ngDevMode ? [{ debugName: "zOrientation" }] : []));
    zCheckAll = input(false, { ...(ngDevMode ? { debugName: "zCheckAll" } : {}), transform: zTransform });
    zCheckAllText = input('', ...(ngDevMode ? [{ debugName: "zCheckAllText" }] : []));
    zChecked = model(false, ...(ngDevMode ? [{ debugName: "zChecked" }] : []));
    zGroupValue = model([], ...(ngDevMode ? [{ debugName: "zGroupValue" }] : []));
    _disabled = signal(false, ...(ngDevMode ? [{ debugName: "_disabled" }] : []));
    isDisabled = computed(() => this.zDisabled() || this._disabled(), ...(ngDevMode ? [{ debugName: "isDisabled" }] : []));
    effectiveCheckAllText = computed(() => {
        this._zTranslate.currentLang();
        return this.zCheckAllText() || this._zTranslate.instant('i18n_z_ui_checkbox_check_all');
    }, ...(ngDevMode ? [{ debugName: "effectiveCheckAllText" }] : []));
    enabledOptions = computed(() => this.zOptions().filter(opt => !opt.disabled), ...(ngDevMode ? [{ debugName: "enabledOptions" }] : []));
    isAllChecked = computed(() => {
        const enabledOpts = this.enabledOptions();
        if (enabledOpts.length === 0) {
            return false;
        }
        return enabledOpts.every(opt => this.zGroupValue().includes(opt.value));
    }, ...(ngDevMode ? [{ debugName: "isAllChecked" }] : []));
    isNoneChecked = computed(() => {
        const enabledOpts = this.enabledOptions();
        return enabledOpts.every(opt => !this.zGroupValue().includes(opt.value));
    }, ...(ngDevMode ? [{ debugName: "isNoneChecked" }] : []));
    isIndeterminateState = computed(() => !this.isAllChecked() && !this.isNoneChecked(), ...(ngDevMode ? [{ debugName: "isIndeterminateState" }] : []));
    hostClasses = computed(() => {
        const hasLabel = !!this.zLabel();
        if (this.zType() === 'group') {
            return zMergeClasses('flex flex-col gap-2', this.class());
        }
        if (hasLabel) {
            return zMergeClasses('flex flex-col gap-2', this.class());
        }
        return zMergeClasses('inline-flex items-center gap-2', this.class());
    }, ...(ngDevMode ? [{ debugName: "hostClasses" }] : []));
    groupClasses = computed(() => {
        const orientation = this.zOrientation() === 'horizontal' ? 'flex-row flex-wrap' : 'flex-col';
        return `flex ${orientation} gap-2`;
    }, ...(ngDevMode ? [{ debugName: "groupClasses" }] : []));
    checkboxClasses = computed(() => zCheckboxVariants({ zSize: this.zSize() }), ...(ngDevMode ? [{ debugName: "checkboxClasses" }] : []));
    labelClasses = computed(() => zCheckboxLabelVariants({ zSize: this.zSize() }), ...(ngDevMode ? [{ debugName: "labelClasses" }] : []));
    checkboxState = computed(() => {
        if (this.zIndeterminate()) {
            return 'indeterminate';
        }
        if (this.zChecked()) {
            return 'checked';
        }
        return 'unchecked';
    }, ...(ngDevMode ? [{ debugName: "checkboxState" }] : []));
    iconSize = computed(() => {
        const sizeMap = {
            sm: '12',
            default: '14',
            lg: '16',
        };
        return sizeMap[this.zSize()];
    }, ...(ngDevMode ? [{ debugName: "iconSize" }] : []));
    _onChange = () => { };
    _onTouched = () => { };
    ngAfterViewInit() {
        if (this.zType() === 'group' && this.zCheckAll()) {
            this.zControl.emit({
                checkAll: () => this._checkAllOptions(),
                uncheckAll: () => this._uncheckAllOptions(),
                toggleAll: () => this._toggleAllOptions(),
                isAllChecked: this.isAllChecked,
                isIndeterminate: this.isIndeterminateState,
            });
        }
    }
    writeValue(value) {
        if (this.zType() === 'group') {
            this.zGroupValue.set(Array.isArray(value) ? value : []);
            return;
        }
        this.zChecked.set(!!value);
    }
    registerOnChange(fn) {
        this._onChange = fn;
    }
    registerOnTouched(fn) {
        this._onTouched = fn;
    }
    setDisabledState(isDisabled) {
        this._disabled.set(isDisabled);
    }
    focus() {
        this._checkboxRef()?.nativeElement.focus();
    }
    blur() {
        this._checkboxRef()?.nativeElement.blur();
    }
    onFocus(event) {
        this.zOnFocus.emit(event);
        this.zEvent.emit(zCreateEvent('focus', event));
    }
    onBlur(event) {
        this.zOnBlur.emit(event);
        this.zEvent.emit(zCreateEvent('blur', event));
        this._onTouched();
    }
    onCheckboxClick() {
        if (this.isDisabled()) {
            return;
        }
        const newValue = !this.zChecked();
        this.zChecked.set(newValue);
        this.zChange.emit(newValue);
        this._onChange(newValue);
        this._onTouched();
    }
    onOptionClick(option) {
        if (this.isDisabled() || option.disabled) {
            return;
        }
        const currentValues = [...this.zGroupValue()];
        const index = currentValues.indexOf(option.value);
        if (index === -1) {
            currentValues.push(option.value);
        }
        if (index !== -1) {
            currentValues.splice(index, 1);
        }
        this.zGroupValue.set(currentValues);
        this.zGroupChange.emit(currentValues);
        this._onChange(currentValues);
        this._onTouched();
    }
    onCheckAllClick() {
        if (this.isDisabled()) {
            return;
        }
        if (this.isAllChecked()) {
            this._uncheckAllOptions();
            return;
        }
        this._checkAllOptions();
    }
    isOptionChecked(option) {
        return this.zGroupValue().includes(option.value);
    }
    getOptionState(option) {
        return this.isOptionChecked(option) ? 'checked' : 'unchecked';
    }
    getCheckAllState() {
        if (this.isAllChecked()) {
            return 'checked';
        }
        if (this.isIndeterminateState()) {
            return 'indeterminate';
        }
        return 'unchecked';
    }
    _checkAllOptions() {
        const enabledValues = this.enabledOptions().map(opt => opt.value);
        const currentValues = [...this.zGroupValue()];
        const newValues = [...new Set([...currentValues, ...enabledValues])];
        this.zGroupValue.set(newValues);
        this.zGroupChange.emit(newValues);
        this._onChange(newValues);
        this._onTouched();
    }
    _uncheckAllOptions() {
        const enabledValues = this.enabledOptions().map(opt => opt.value);
        const currentValues = this.zGroupValue().filter(v => !enabledValues.includes(v));
        this.zGroupValue.set(currentValues);
        this.zGroupChange.emit(currentValues);
        this._onChange(currentValues);
        this._onTouched();
    }
    _toggleAllOptions() {
        if (this.isAllChecked()) {
            this._uncheckAllOptions();
            return;
        }
        this._checkAllOptions();
    }
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ZCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: ZCheckboxComponent, isStandalone: true, selector: "z-checkbox", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, zType: { classPropertyName: "zType", publicName: "zType", isSignal: true, isRequired: false, transformFunction: null }, zSize: { classPropertyName: "zSize", publicName: "zSize", isSignal: true, isRequired: false, transformFunction: null }, zLabel: { classPropertyName: "zLabel", publicName: "zLabel", isSignal: true, isRequired: false, transformFunction: null }, zText: { classPropertyName: "zText", publicName: "zText", isSignal: true, isRequired: false, transformFunction: null }, zDisabled: { classPropertyName: "zDisabled", publicName: "zDisabled", isSignal: true, isRequired: false, transformFunction: null }, zIndeterminate: { classPropertyName: "zIndeterminate", publicName: "zIndeterminate", isSignal: true, isRequired: false, transformFunction: null }, zValue: { classPropertyName: "zValue", publicName: "zValue", isSignal: true, isRequired: false, transformFunction: null }, zOptions: { classPropertyName: "zOptions", publicName: "zOptions", isSignal: true, isRequired: false, transformFunction: null }, zOrientation: { classPropertyName: "zOrientation", publicName: "zOrientation", isSignal: true, isRequired: false, transformFunction: null }, zCheckAll: { classPropertyName: "zCheckAll", publicName: "zCheckAll", isSignal: true, isRequired: false, transformFunction: null }, zCheckAllText: { classPropertyName: "zCheckAllText", publicName: "zCheckAllText", isSignal: true, isRequired: false, transformFunction: null }, zChecked: { classPropertyName: "zChecked", publicName: "zChecked", isSignal: true, isRequired: false, transformFunction: null }, zGroupValue: { classPropertyName: "zGroupValue", publicName: "zGroupValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { zChange: "zChange", zGroupChange: "zGroupChange", zOnBlur: "zOnBlur", zOnFocus: "zOnFocus", zControl: "zControl", zEvent: "zEvent", zChecked: "zCheckedChange", zGroupValue: "zGroupValueChange" }, host: { properties: { "class": "hostClasses()" } }, providers: [
            {
                provide: NG_VALUE_ACCESSOR,
                useExisting: forwardRef(() => ZCheckboxComponent),
                multi: true,
            },
        ], viewQueries: [{ propertyName: "_checkboxRef", first: true, predicate: ["checkboxBtn"], descendants: true, isSignal: true }], ngImport: i0, template: "<!-- Group Mode -->\n@if (zType() === 'group') {\n  <!-- Label above group -->\n  @if (zLabel()) {\n    <label class=\"text-xs leading-none font-medium\">{{ zLabel() }}</label>\n  }\n\n  <div [class]=\"groupClasses()\">\n    <!-- Check All option -->\n    @if (zCheckAll()) {\n      <label\n        class=\"inline-flex cursor-pointer items-center gap-2 align-middle\"\n        [class.opacity-50]=\"isDisabled()\"\n        [class.cursor-not-allowed]=\"isDisabled()\">\n        <button\n          type=\"button\"\n          role=\"checkbox\"\n          [class]=\"checkboxClasses()\"\n          [attr.aria-checked]=\"isAllChecked()\"\n          [attr.data-state]=\"getCheckAllState()\"\n          [disabled]=\"isDisabled()\"\n          (click)=\"onCheckAllClick()\">\n          <span class=\"pointer-events-none absolute inset-0 inline-flex items-center justify-center\">\n            <i\n              z-icon\n              zType=\"lucideMinus\"\n              [zSize]=\"iconSize()\"\n              [zStrokeWidth]=\"3\"\n              class=\"text-current transition-opacity duration-150\"\n              [class.opacity-0]=\"!isIndeterminateState()\"></i>\n            <i\n              z-icon\n              zType=\"lucideCheck\"\n              [zSize]=\"iconSize()\"\n              [zStrokeWidth]=\"3\"\n              class=\"absolute text-current transition-opacity duration-150\"\n              [class.opacity-0]=\"isIndeterminateState() || !isAllChecked()\"></i>\n          </span>\n        </button>\n        <span [class]=\"labelClasses()\">{{ effectiveCheckAllText() }}</span>\n      </label>\n    }\n\n    <!-- Options -->\n    @for (option of zOptions(); track option.value) {\n      <label\n        class=\"inline-flex cursor-pointer items-center gap-2 align-middle\"\n        [class.opacity-40]=\"option.disabled || isDisabled()\"\n        [class.dark:opacity-50]=\"option.disabled || isDisabled()\"\n        [class.cursor-not-allowed]=\"option.disabled || isDisabled()\">\n        <button\n          type=\"button\"\n          role=\"checkbox\"\n          [class]=\"checkboxClasses()\"\n          [attr.aria-checked]=\"isOptionChecked(option)\"\n          [attr.data-state]=\"getOptionState(option)\"\n          [disabled]=\"isDisabled() || option.disabled\"\n          (click)=\"onOptionClick(option)\">\n          <span class=\"pointer-events-none absolute inset-0 inline-flex items-center justify-center\">\n            <i\n              z-icon\n              zType=\"lucideCheck\"\n              [zSize]=\"iconSize()\"\n              [zStrokeWidth]=\"3\"\n              class=\"text-current transition-opacity duration-150\"\n              [class.opacity-0]=\"!isOptionChecked(option)\"></i>\n          </span>\n        </button>\n        <span [class]=\"labelClasses()\" [class.text-muted-foreground]=\"option.disabled\">{{ option.label }}</span>\n      </label>\n    }\n  </div>\n}\n\n<!-- Default Mode (single checkbox) -->\n@if (zType() === 'default') {\n  <!-- Label above -->\n  @if (zLabel()) {\n    <label class=\"text-xs leading-none font-medium\">{{ zLabel() }}</label>\n  }\n\n  <div class=\"inline-flex items-center gap-2 align-middle\">\n    <button\n      #checkboxBtn\n      type=\"button\"\n      role=\"checkbox\"\n      [class]=\"checkboxClasses()\"\n      [attr.aria-checked]=\"zChecked()\"\n      [attr.data-state]=\"checkboxState()\"\n      [disabled]=\"isDisabled()\"\n      (click)=\"onCheckboxClick()\"\n      (focus)=\"onFocus($event)\"\n      (blur)=\"onBlur($event)\">\n      <span class=\"pointer-events-none absolute inset-0 inline-flex items-center justify-center\">\n        <i\n          z-icon\n          zType=\"lucideMinus\"\n          [zSize]=\"iconSize()\"\n          [zStrokeWidth]=\"3\"\n          class=\"text-current transition-opacity duration-150\"\n          [class.opacity-0]=\"!zIndeterminate()\"></i>\n        <i\n          z-icon\n          zType=\"lucideCheck\"\n          [zSize]=\"iconSize()\"\n          [zStrokeWidth]=\"3\"\n          class=\"absolute text-current transition-opacity duration-150\"\n          [class.opacity-0]=\"zIndeterminate() || !zChecked()\"></i>\n      </span>\n    </button>\n    @if (zText()) {\n      <label [class]=\"labelClasses()\" (click)=\"onCheckboxClick()\">{{ zText() }}</label>\n    }\n  </div>\n}\n", dependencies: [{ kind: "component", type: ZIconComponent, selector: "z-icon, [z-icon]", inputs: ["class", "zType", "zAnimatedType", "zAnimate", "zAnimationTrigger", "zSize", "zStrokeWidth", "zSvg"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ZCheckboxComponent, decorators: [{
            type: Component,
            args: [{ selector: 'z-checkbox', imports: [ZIconComponent], standalone: true, providers: [
                        {
                            provide: NG_VALUE_ACCESSOR,
                            useExisting: forwardRef(() => ZCheckboxComponent),
                            multi: true,
                        },
                    ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
                        '[class]': 'hostClasses()',
                    }, template: "<!-- Group Mode -->\n@if (zType() === 'group') {\n  <!-- Label above group -->\n  @if (zLabel()) {\n    <label class=\"text-xs leading-none font-medium\">{{ zLabel() }}</label>\n  }\n\n  <div [class]=\"groupClasses()\">\n    <!-- Check All option -->\n    @if (zCheckAll()) {\n      <label\n        class=\"inline-flex cursor-pointer items-center gap-2 align-middle\"\n        [class.opacity-50]=\"isDisabled()\"\n        [class.cursor-not-allowed]=\"isDisabled()\">\n        <button\n          type=\"button\"\n          role=\"checkbox\"\n          [class]=\"checkboxClasses()\"\n          [attr.aria-checked]=\"isAllChecked()\"\n          [attr.data-state]=\"getCheckAllState()\"\n          [disabled]=\"isDisabled()\"\n          (click)=\"onCheckAllClick()\">\n          <span class=\"pointer-events-none absolute inset-0 inline-flex items-center justify-center\">\n            <i\n              z-icon\n              zType=\"lucideMinus\"\n              [zSize]=\"iconSize()\"\n              [zStrokeWidth]=\"3\"\n              class=\"text-current transition-opacity duration-150\"\n              [class.opacity-0]=\"!isIndeterminateState()\"></i>\n            <i\n              z-icon\n              zType=\"lucideCheck\"\n              [zSize]=\"iconSize()\"\n              [zStrokeWidth]=\"3\"\n              class=\"absolute text-current transition-opacity duration-150\"\n              [class.opacity-0]=\"isIndeterminateState() || !isAllChecked()\"></i>\n          </span>\n        </button>\n        <span [class]=\"labelClasses()\">{{ effectiveCheckAllText() }}</span>\n      </label>\n    }\n\n    <!-- Options -->\n    @for (option of zOptions(); track option.value) {\n      <label\n        class=\"inline-flex cursor-pointer items-center gap-2 align-middle\"\n        [class.opacity-40]=\"option.disabled || isDisabled()\"\n        [class.dark:opacity-50]=\"option.disabled || isDisabled()\"\n        [class.cursor-not-allowed]=\"option.disabled || isDisabled()\">\n        <button\n          type=\"button\"\n          role=\"checkbox\"\n          [class]=\"checkboxClasses()\"\n          [attr.aria-checked]=\"isOptionChecked(option)\"\n          [attr.data-state]=\"getOptionState(option)\"\n          [disabled]=\"isDisabled() || option.disabled\"\n          (click)=\"onOptionClick(option)\">\n          <span class=\"pointer-events-none absolute inset-0 inline-flex items-center justify-center\">\n            <i\n              z-icon\n              zType=\"lucideCheck\"\n              [zSize]=\"iconSize()\"\n              [zStrokeWidth]=\"3\"\n              class=\"text-current transition-opacity duration-150\"\n              [class.opacity-0]=\"!isOptionChecked(option)\"></i>\n          </span>\n        </button>\n        <span [class]=\"labelClasses()\" [class.text-muted-foreground]=\"option.disabled\">{{ option.label }}</span>\n      </label>\n    }\n  </div>\n}\n\n<!-- Default Mode (single checkbox) -->\n@if (zType() === 'default') {\n  <!-- Label above -->\n  @if (zLabel()) {\n    <label class=\"text-xs leading-none font-medium\">{{ zLabel() }}</label>\n  }\n\n  <div class=\"inline-flex items-center gap-2 align-middle\">\n    <button\n      #checkboxBtn\n      type=\"button\"\n      role=\"checkbox\"\n      [class]=\"checkboxClasses()\"\n      [attr.aria-checked]=\"zChecked()\"\n      [attr.data-state]=\"checkboxState()\"\n      [disabled]=\"isDisabled()\"\n      (click)=\"onCheckboxClick()\"\n      (focus)=\"onFocus($event)\"\n      (blur)=\"onBlur($event)\">\n      <span class=\"pointer-events-none absolute inset-0 inline-flex items-center justify-center\">\n        <i\n          z-icon\n          zType=\"lucideMinus\"\n          [zSize]=\"iconSize()\"\n          [zStrokeWidth]=\"3\"\n          class=\"text-current transition-opacity duration-150\"\n          [class.opacity-0]=\"!zIndeterminate()\"></i>\n        <i\n          z-icon\n          zType=\"lucideCheck\"\n          [zSize]=\"iconSize()\"\n          [zStrokeWidth]=\"3\"\n          class=\"absolute text-current transition-opacity duration-150\"\n          [class.opacity-0]=\"zIndeterminate() || !zChecked()\"></i>\n      </span>\n    </button>\n    @if (zText()) {\n      <label [class]=\"labelClasses()\" (click)=\"onCheckboxClick()\">{{ zText() }}</label>\n    }\n  </div>\n}\n" }]
        }], propDecorators: { _checkboxRef: [{ type: i0.ViewChild, args: ['checkboxBtn', { isSignal: true }] }], zChange: [{ type: i0.Output, args: ["zChange"] }], zGroupChange: [{ type: i0.Output, args: ["zGroupChange"] }], zOnBlur: [{ type: i0.Output, args: ["zOnBlur"] }], zOnFocus: [{ type: i0.Output, args: ["zOnFocus"] }], zControl: [{ type: i0.Output, args: ["zControl"] }], zEvent: [{ type: i0.Output, args: ["zEvent"] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], zType: [{ type: i0.Input, args: [{ isSignal: true, alias: "zType", required: false }] }], zSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "zSize", required: false }] }], zLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "zLabel", required: false }] }], zText: [{ type: i0.Input, args: [{ isSignal: true, alias: "zText", required: false }] }], zDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "zDisabled", required: false }] }], zIndeterminate: [{ type: i0.Input, args: [{ isSignal: true, alias: "zIndeterminate", required: false }] }], zValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "zValue", required: false }] }], zOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "zOptions", required: false }] }], zOrientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "zOrientation", required: false }] }], zCheckAll: [{ type: i0.Input, args: [{ isSignal: true, alias: "zCheckAll", required: false }] }], zCheckAllText: [{ type: i0.Input, args: [{ isSignal: true, alias: "zCheckAllText", required: false }] }], zChecked: [{ type: i0.Input, args: [{ isSignal: true, alias: "zChecked", required: false }] }, { type: i0.Output, args: ["zCheckedChange"] }], zGroupValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "zGroupValue", required: false }] }, { type: i0.Output, args: ["zGroupValueChange"] }] } });

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

export { ZCheckboxComponent, zCheckboxLabelVariants, zCheckboxVariants };
//# sourceMappingURL=shival99-z-ui-components-z-checkbox.mjs.map
