import { NgTemplateOutlet } from '@angular/common';
import * as i0 from '@angular/core';
import { output, input, computed, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
import { ZIconComponent } from '@shival99/z-ui/components/z-icon';
import { zTransform, zMergeClasses } from '@shival99/z-ui/utils';
import { cva } from 'class-variance-authority';

const zMetricCardVariants = cva('relative overflow-hidden rounded-lg transition-colors', {
    variants: {
        zSize: {
            sm: 'p-4',
            default: 'p-5',
            lg: 'p-6',
        },
        zVariant: {
            default: 'bg-card text-card-foreground border border-border shadow-sm',
            bordered: 'bg-background text-foreground border border-border',
            soft: 'bg-muted/45 text-foreground border border-transparent',
        },
    },
    defaultVariants: {
        zSize: 'default',
        zVariant: 'default',
    },
});
const zMetricCardIconVariants = cva('inline-flex shrink-0 items-center justify-center rounded-md', {
    variants: {
        zSize: {
            sm: 'size-8',
            default: 'size-9',
            lg: 'size-10',
        },
        zVariant: {
            default: 'bg-primary/10 text-primary',
            bordered: 'bg-muted text-muted-foreground',
            soft: 'bg-background text-primary shadow-xs',
        },
    },
    defaultVariants: {
        zSize: 'default',
        zVariant: 'default',
    },
});
const zMetricCardValueVariants = cva('font-bold tracking-normal text-foreground', {
    variants: {
        zSize: {
            sm: 'text-xl',
            default: 'text-2xl',
            lg: 'text-3xl',
        },
    },
    defaultVariants: {
        zSize: 'default',
    },
});
const zMetricCardTrendVariants = cva('inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-xs font-medium', {
    variants: {
        zTrendDirection: {
            up: 'bg-emerald-500/10 text-emerald-600 dark:text-emerald-400',
            down: 'bg-destructive/10 text-destructive',
            neutral: 'bg-muted text-muted-foreground',
        },
    },
    defaultVariants: {
        zTrendDirection: 'neutral',
    },
});

class ZMetricCardComponent {
    zActionClick = output();
    class = input('', ...(ngDevMode ? [{ debugName: "class" }] : []));
    zTitle = input('', ...(ngDevMode ? [{ debugName: "zTitle" }] : []));
    zValue = input('', ...(ngDevMode ? [{ debugName: "zValue" }] : []));
    zDescription = input('', ...(ngDevMode ? [{ debugName: "zDescription" }] : []));
    zIcon = input(...(ngDevMode ? [undefined, { debugName: "zIcon" }] : []));
    zTrend = input(...(ngDevMode ? [undefined, { debugName: "zTrend" }] : []));
    zProgress = input(...(ngDevMode ? [undefined, { debugName: "zProgress" }] : []));
    zAction = input(...(ngDevMode ? [undefined, { debugName: "zAction" }] : []));
    zSize = input('default', ...(ngDevMode ? [{ debugName: "zSize" }] : []));
    zVariant = input('default', ...(ngDevMode ? [{ debugName: "zVariant" }] : []));
    zDecor = input('wave', ...(ngDevMode ? [{ debugName: "zDecor" }] : []));
    zLoading = input(false, { ...(ngDevMode ? { debugName: "zLoading" } : {}), transform: zTransform });
    hostClasses = computed(() => zMergeClasses(zMetricCardVariants({ zSize: this.zSize(), zVariant: this.zVariant() }), this.class()), ...(ngDevMode ? [{ debugName: "hostClasses" }] : []));
    iconClasses = computed(() => zMetricCardIconVariants({ zSize: this.zSize(), zVariant: this.zVariant() }), ...(ngDevMode ? [{ debugName: "iconClasses" }] : []));
    valueClasses = computed(() => zMetricCardValueVariants({ zSize: this.zSize() }), ...(ngDevMode ? [{ debugName: "valueClasses" }] : []));
    decorClasses = computed(() => zMergeClasses('pointer-events-none absolute right-0 top-0 text-primary/10 transition-opacity duration-200', this.zVariant() === 'bordered' ? 'text-muted-foreground/10' : '', this.zVariant() === 'soft' ? 'text-primary/15' : ''), ...(ngDevMode ? [{ debugName: "decorClasses" }] : []));
    trendDirection = computed(() => this.zTrend()?.direction ?? 'neutral', ...(ngDevMode ? [{ debugName: "trendDirection" }] : []));
    trendClasses = computed(() => zMetricCardTrendVariants({ zTrendDirection: this.trendDirection() }), ...(ngDevMode ? [{ debugName: "trendClasses" }] : []));
    trendIcon = computed(() => {
        const direction = this.trendDirection();
        if (direction === 'up') {
            return 'lucideTrendingUp';
        }
        if (direction === 'down') {
            return 'lucideTrendingDown';
        }
        return 'lucideMinus';
    }, ...(ngDevMode ? [{ debugName: "trendIcon" }] : []));
    normalizedProgress = computed(() => {
        const progress = this.zProgress();
        if (progress === null || progress === undefined || Number.isNaN(progress)) {
            return null;
        }
        return Math.min(100, Math.max(0, progress));
    }, ...(ngDevMode ? [{ debugName: "normalizedProgress" }] : []));
    onActionClick() {
        const action = this.zAction();
        if (!action) {
            return;
        }
        this.zActionClick.emit(action);
    }
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: ZMetricCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: ZMetricCardComponent, isStandalone: true, selector: "z-metric-card", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, zTitle: { classPropertyName: "zTitle", publicName: "zTitle", isSignal: true, isRequired: false, transformFunction: null }, zValue: { classPropertyName: "zValue", publicName: "zValue", isSignal: true, isRequired: false, transformFunction: null }, zDescription: { classPropertyName: "zDescription", publicName: "zDescription", isSignal: true, isRequired: false, transformFunction: null }, zIcon: { classPropertyName: "zIcon", publicName: "zIcon", isSignal: true, isRequired: false, transformFunction: null }, zTrend: { classPropertyName: "zTrend", publicName: "zTrend", isSignal: true, isRequired: false, transformFunction: null }, zProgress: { classPropertyName: "zProgress", publicName: "zProgress", isSignal: true, isRequired: false, transformFunction: null }, zAction: { classPropertyName: "zAction", publicName: "zAction", isSignal: true, isRequired: false, transformFunction: null }, zSize: { classPropertyName: "zSize", publicName: "zSize", isSignal: true, isRequired: false, transformFunction: null }, zVariant: { classPropertyName: "zVariant", publicName: "zVariant", isSignal: true, isRequired: false, transformFunction: null }, zDecor: { classPropertyName: "zDecor", publicName: "zDecor", isSignal: true, isRequired: false, transformFunction: null }, zLoading: { classPropertyName: "zLoading", publicName: "zLoading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { zActionClick: "zActionClick" }, host: { properties: { "class": "hostClasses()" } }, ngImport: i0, template: "@if (zLoading()) {\n  @if (zDecor() !== 'none') {\n    <ng-container [ngTemplateOutlet]=\"metricDecor\" />\n  }\n  <div class=\"space-y-4\">\n    <div class=\"flex items-center justify-between\">\n      <div class=\"bg-muted h-9 w-9 animate-pulse rounded-md\"></div>\n      <div class=\"bg-muted h-5 w-16 animate-pulse rounded-full\"></div>\n    </div>\n    <div class=\"space-y-2\">\n      <div class=\"bg-muted h-4 w-24 animate-pulse rounded\"></div>\n      <div class=\"bg-muted h-8 w-32 animate-pulse rounded\"></div>\n      <div class=\"bg-muted h-3 w-40 animate-pulse rounded\"></div>\n    </div>\n  </div>\n} @else {\n  @if (zDecor() !== 'none') {\n    <ng-container [ngTemplateOutlet]=\"metricDecor\" />\n  }\n\n  <div class=\"relative z-10 flex items-start justify-between gap-4\">\n    <div class=\"min-w-0 space-y-3\">\n      @if (zIcon()) {\n        <span [class]=\"iconClasses()\">\n          <z-icon [zType]=\"zIcon()\" zSize=\"18\" />\n        </span>\n      }\n\n      <div class=\"min-w-0\">\n        @if (zTitle()) {\n          <p class=\"text-muted-foreground overflow-hidden text-sm font-medium text-ellipsis whitespace-nowrap\">\n            {{ zTitle() }}\n          </p>\n        }\n        <p [class]=\"valueClasses()\">{{ zValue() }}</p>\n        @if (zDescription()) {\n          <p class=\"text-muted-foreground mt-1 overflow-hidden text-sm text-ellipsis whitespace-nowrap\">\n            {{ zDescription() }}\n          </p>\n        }\n      </div>\n    </div>\n\n    <div class=\"flex shrink-0 flex-col items-end gap-2\">\n      @if (zTrend(); as trend) {\n        <span [class]=\"trendClasses()\">\n          <z-icon [zType]=\"trendIcon()\" zSize=\"12\" />\n          <span>{{ trend.value }}</span>\n          @if (trend.label) {\n            <span>{{ trend.label }}</span>\n          }\n        </span>\n      }\n\n      @if (zAction(); as action) {\n        <button\n          type=\"button\"\n          class=\"text-muted-foreground hover:bg-muted hover:text-foreground inline-flex size-8 items-center justify-center rounded-md transition-colors\"\n          [attr.aria-label]=\"action.label\"\n          (click)=\"onActionClick()\">\n          <z-icon [zType]=\"action.icon ?? 'lucideMoreHorizontal'\" zSize=\"16\" />\n        </button>\n      }\n    </div>\n  </div>\n\n  @if (normalizedProgress() !== null) {\n    <div class=\"bg-muted mt-4 h-1.5 overflow-hidden rounded-full\">\n      <div\n        class=\"bg-primary h-full rounded-full transition-[width] duration-300\"\n        [style.width.%]=\"normalizedProgress()\"></div>\n    </div>\n  }\n\n  <ng-content />\n}\n\n<ng-template #metricDecor>\n  @switch (zDecor()) {\n    @case ('bars') {\n      <svg [class]=\"decorClasses()\" width=\"122\" height=\"98\" viewBox=\"0 0 122 98\" fill=\"none\" aria-hidden=\"true\">\n        <rect x=\"54\" y=\"50\" width=\"10\" height=\"34\" rx=\"5\" fill=\"currentColor\" />\n        <rect x=\"72\" y=\"30\" width=\"10\" height=\"54\" rx=\"5\" fill=\"currentColor\" />\n        <rect x=\"90\" y=\"14\" width=\"10\" height=\"70\" rx=\"5\" fill=\"currentColor\" />\n        <path d=\"M43 84H112\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\n      </svg>\n    }\n    @case ('dots') {\n      <svg [class]=\"decorClasses()\" width=\"124\" height=\"96\" viewBox=\"0 0 124 96\" fill=\"none\" aria-hidden=\"true\">\n        <circle cx=\"66\" cy=\"22\" r=\"4\" fill=\"currentColor\" />\n        <circle cx=\"88\" cy=\"22\" r=\"4\" fill=\"currentColor\" />\n        <circle cx=\"110\" cy=\"22\" r=\"4\" fill=\"currentColor\" />\n        <circle cx=\"55\" cy=\"44\" r=\"4\" fill=\"currentColor\" />\n        <circle cx=\"77\" cy=\"44\" r=\"4\" fill=\"currentColor\" />\n        <circle cx=\"99\" cy=\"44\" r=\"4\" fill=\"currentColor\" />\n        <circle cx=\"66\" cy=\"66\" r=\"4\" fill=\"currentColor\" />\n        <circle cx=\"88\" cy=\"66\" r=\"4\" fill=\"currentColor\" />\n        <circle cx=\"110\" cy=\"66\" r=\"4\" fill=\"currentColor\" />\n      </svg>\n    }\n    @case ('grid') {\n      <svg [class]=\"decorClasses()\" width=\"116\" height=\"94\" viewBox=\"0 0 116 94\" fill=\"none\" aria-hidden=\"true\">\n        <path d=\"M18 10H106V74H18V10Z\" stroke=\"currentColor\" stroke-width=\"1\" />\n        <path d=\"M18 26H106M18 42H106M18 58H106M34 10V74M50 10V74M66 10V74M82 10V74M98 10V74\" stroke=\"currentColor\" />\n        <circle cx=\"34\" cy=\"58\" r=\"3\" fill=\"currentColor\" />\n        <circle cx=\"58\" cy=\"34\" r=\"3\" fill=\"currentColor\" />\n        <circle cx=\"82\" cy=\"46\" r=\"3\" fill=\"currentColor\" />\n      </svg>\n    }\n    @case ('rings') {\n      <svg [class]=\"decorClasses()\" width=\"126\" height=\"96\" viewBox=\"0 0 126 96\" fill=\"none\" aria-hidden=\"true\">\n        <circle cx=\"96\" cy=\"28\" r=\"26\" stroke=\"currentColor\" stroke-width=\"8\" />\n        <circle cx=\"96\" cy=\"28\" r=\"12\" stroke=\"currentColor\" stroke-width=\"4\" />\n        <circle cx=\"64\" cy=\"58\" r=\"20\" stroke=\"currentColor\" stroke-width=\"6\" />\n        <path d=\"M42 78C56 64 72 51 91 35\" stroke=\"currentColor\" stroke-width=\"4\" stroke-linecap=\"round\" />\n      </svg>\n    }\n    @case ('spark') {\n      <svg [class]=\"decorClasses()\" width=\"126\" height=\"96\" viewBox=\"0 0 126 96\" fill=\"none\" aria-hidden=\"true\">\n        <path\n          d=\"M35 70L50 53L63 61L77 34L90 42L108 18\"\n          stroke=\"currentColor\"\n          stroke-width=\"7\"\n          stroke-linecap=\"round\"\n          stroke-linejoin=\"round\" />\n        <path d=\"M36 82H112\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\n        <circle cx=\"108\" cy=\"18\" r=\"6\" fill=\"currentColor\" />\n      </svg>\n    }\n    @default {\n      <svg [class]=\"decorClasses()\" width=\"128\" height=\"96\" viewBox=\"0 0 128 96\" fill=\"none\" aria-hidden=\"true\">\n        <path\n          d=\"M21 70C34 49 47 39 62 42C82 46 85 20 107 18\"\n          stroke=\"currentColor\"\n          stroke-width=\"10\"\n          stroke-linecap=\"round\" />\n        <path\n          d=\"M30 82C45 64 58 56 72 58C91 61 96 41 112 38\"\n          stroke=\"currentColor\"\n          stroke-width=\"5\"\n          stroke-linecap=\"round\" />\n        <circle cx=\"108\" cy=\"18\" r=\"7\" fill=\"currentColor\" />\n        <circle cx=\"112\" cy=\"38\" r=\"4\" fill=\"currentColor\" />\n      </svg>\n    }\n  }\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: ZMetricCardComponent, decorators: [{
            type: Component,
            args: [{ selector: 'z-metric-card', imports: [NgTemplateOutlet, ZIconComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
                        '[class]': 'hostClasses()',
                    }, template: "@if (zLoading()) {\n  @if (zDecor() !== 'none') {\n    <ng-container [ngTemplateOutlet]=\"metricDecor\" />\n  }\n  <div class=\"space-y-4\">\n    <div class=\"flex items-center justify-between\">\n      <div class=\"bg-muted h-9 w-9 animate-pulse rounded-md\"></div>\n      <div class=\"bg-muted h-5 w-16 animate-pulse rounded-full\"></div>\n    </div>\n    <div class=\"space-y-2\">\n      <div class=\"bg-muted h-4 w-24 animate-pulse rounded\"></div>\n      <div class=\"bg-muted h-8 w-32 animate-pulse rounded\"></div>\n      <div class=\"bg-muted h-3 w-40 animate-pulse rounded\"></div>\n    </div>\n  </div>\n} @else {\n  @if (zDecor() !== 'none') {\n    <ng-container [ngTemplateOutlet]=\"metricDecor\" />\n  }\n\n  <div class=\"relative z-10 flex items-start justify-between gap-4\">\n    <div class=\"min-w-0 space-y-3\">\n      @if (zIcon()) {\n        <span [class]=\"iconClasses()\">\n          <z-icon [zType]=\"zIcon()\" zSize=\"18\" />\n        </span>\n      }\n\n      <div class=\"min-w-0\">\n        @if (zTitle()) {\n          <p class=\"text-muted-foreground overflow-hidden text-sm font-medium text-ellipsis whitespace-nowrap\">\n            {{ zTitle() }}\n          </p>\n        }\n        <p [class]=\"valueClasses()\">{{ zValue() }}</p>\n        @if (zDescription()) {\n          <p class=\"text-muted-foreground mt-1 overflow-hidden text-sm text-ellipsis whitespace-nowrap\">\n            {{ zDescription() }}\n          </p>\n        }\n      </div>\n    </div>\n\n    <div class=\"flex shrink-0 flex-col items-end gap-2\">\n      @if (zTrend(); as trend) {\n        <span [class]=\"trendClasses()\">\n          <z-icon [zType]=\"trendIcon()\" zSize=\"12\" />\n          <span>{{ trend.value }}</span>\n          @if (trend.label) {\n            <span>{{ trend.label }}</span>\n          }\n        </span>\n      }\n\n      @if (zAction(); as action) {\n        <button\n          type=\"button\"\n          class=\"text-muted-foreground hover:bg-muted hover:text-foreground inline-flex size-8 items-center justify-center rounded-md transition-colors\"\n          [attr.aria-label]=\"action.label\"\n          (click)=\"onActionClick()\">\n          <z-icon [zType]=\"action.icon ?? 'lucideMoreHorizontal'\" zSize=\"16\" />\n        </button>\n      }\n    </div>\n  </div>\n\n  @if (normalizedProgress() !== null) {\n    <div class=\"bg-muted mt-4 h-1.5 overflow-hidden rounded-full\">\n      <div\n        class=\"bg-primary h-full rounded-full transition-[width] duration-300\"\n        [style.width.%]=\"normalizedProgress()\"></div>\n    </div>\n  }\n\n  <ng-content />\n}\n\n<ng-template #metricDecor>\n  @switch (zDecor()) {\n    @case ('bars') {\n      <svg [class]=\"decorClasses()\" width=\"122\" height=\"98\" viewBox=\"0 0 122 98\" fill=\"none\" aria-hidden=\"true\">\n        <rect x=\"54\" y=\"50\" width=\"10\" height=\"34\" rx=\"5\" fill=\"currentColor\" />\n        <rect x=\"72\" y=\"30\" width=\"10\" height=\"54\" rx=\"5\" fill=\"currentColor\" />\n        <rect x=\"90\" y=\"14\" width=\"10\" height=\"70\" rx=\"5\" fill=\"currentColor\" />\n        <path d=\"M43 84H112\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\n      </svg>\n    }\n    @case ('dots') {\n      <svg [class]=\"decorClasses()\" width=\"124\" height=\"96\" viewBox=\"0 0 124 96\" fill=\"none\" aria-hidden=\"true\">\n        <circle cx=\"66\" cy=\"22\" r=\"4\" fill=\"currentColor\" />\n        <circle cx=\"88\" cy=\"22\" r=\"4\" fill=\"currentColor\" />\n        <circle cx=\"110\" cy=\"22\" r=\"4\" fill=\"currentColor\" />\n        <circle cx=\"55\" cy=\"44\" r=\"4\" fill=\"currentColor\" />\n        <circle cx=\"77\" cy=\"44\" r=\"4\" fill=\"currentColor\" />\n        <circle cx=\"99\" cy=\"44\" r=\"4\" fill=\"currentColor\" />\n        <circle cx=\"66\" cy=\"66\" r=\"4\" fill=\"currentColor\" />\n        <circle cx=\"88\" cy=\"66\" r=\"4\" fill=\"currentColor\" />\n        <circle cx=\"110\" cy=\"66\" r=\"4\" fill=\"currentColor\" />\n      </svg>\n    }\n    @case ('grid') {\n      <svg [class]=\"decorClasses()\" width=\"116\" height=\"94\" viewBox=\"0 0 116 94\" fill=\"none\" aria-hidden=\"true\">\n        <path d=\"M18 10H106V74H18V10Z\" stroke=\"currentColor\" stroke-width=\"1\" />\n        <path d=\"M18 26H106M18 42H106M18 58H106M34 10V74M50 10V74M66 10V74M82 10V74M98 10V74\" stroke=\"currentColor\" />\n        <circle cx=\"34\" cy=\"58\" r=\"3\" fill=\"currentColor\" />\n        <circle cx=\"58\" cy=\"34\" r=\"3\" fill=\"currentColor\" />\n        <circle cx=\"82\" cy=\"46\" r=\"3\" fill=\"currentColor\" />\n      </svg>\n    }\n    @case ('rings') {\n      <svg [class]=\"decorClasses()\" width=\"126\" height=\"96\" viewBox=\"0 0 126 96\" fill=\"none\" aria-hidden=\"true\">\n        <circle cx=\"96\" cy=\"28\" r=\"26\" stroke=\"currentColor\" stroke-width=\"8\" />\n        <circle cx=\"96\" cy=\"28\" r=\"12\" stroke=\"currentColor\" stroke-width=\"4\" />\n        <circle cx=\"64\" cy=\"58\" r=\"20\" stroke=\"currentColor\" stroke-width=\"6\" />\n        <path d=\"M42 78C56 64 72 51 91 35\" stroke=\"currentColor\" stroke-width=\"4\" stroke-linecap=\"round\" />\n      </svg>\n    }\n    @case ('spark') {\n      <svg [class]=\"decorClasses()\" width=\"126\" height=\"96\" viewBox=\"0 0 126 96\" fill=\"none\" aria-hidden=\"true\">\n        <path\n          d=\"M35 70L50 53L63 61L77 34L90 42L108 18\"\n          stroke=\"currentColor\"\n          stroke-width=\"7\"\n          stroke-linecap=\"round\"\n          stroke-linejoin=\"round\" />\n        <path d=\"M36 82H112\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\n        <circle cx=\"108\" cy=\"18\" r=\"6\" fill=\"currentColor\" />\n      </svg>\n    }\n    @default {\n      <svg [class]=\"decorClasses()\" width=\"128\" height=\"96\" viewBox=\"0 0 128 96\" fill=\"none\" aria-hidden=\"true\">\n        <path\n          d=\"M21 70C34 49 47 39 62 42C82 46 85 20 107 18\"\n          stroke=\"currentColor\"\n          stroke-width=\"10\"\n          stroke-linecap=\"round\" />\n        <path\n          d=\"M30 82C45 64 58 56 72 58C91 61 96 41 112 38\"\n          stroke=\"currentColor\"\n          stroke-width=\"5\"\n          stroke-linecap=\"round\" />\n        <circle cx=\"108\" cy=\"18\" r=\"7\" fill=\"currentColor\" />\n        <circle cx=\"112\" cy=\"38\" r=\"4\" fill=\"currentColor\" />\n      </svg>\n    }\n  }\n</ng-template>\n" }]
        }], propDecorators: { zActionClick: [{ type: i0.Output, args: ["zActionClick"] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], zTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "zTitle", required: false }] }], zValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "zValue", required: false }] }], zDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "zDescription", required: false }] }], zIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "zIcon", required: false }] }], zTrend: [{ type: i0.Input, args: [{ isSignal: true, alias: "zTrend", required: false }] }], zProgress: [{ type: i0.Input, args: [{ isSignal: true, alias: "zProgress", required: false }] }], zAction: [{ type: i0.Input, args: [{ isSignal: true, alias: "zAction", required: false }] }], zSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "zSize", required: false }] }], zVariant: [{ type: i0.Input, args: [{ isSignal: true, alias: "zVariant", required: false }] }], zDecor: [{ type: i0.Input, args: [{ isSignal: true, alias: "zDecor", required: false }] }], zLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "zLoading", required: false }] }] } });

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

export { ZMetricCardComponent, zMetricCardIconVariants, zMetricCardTrendVariants, zMetricCardValueVariants, zMetricCardVariants };
//# sourceMappingURL=shival99-z-ui-components-z-metric-card.mjs.map
