{"version":3,"file":"origin-ui-components-toggle.mjs","sources":["../../../../packages/components/toggle/src/toggle.ts","../../../../packages/components/toggle/origin-ui-components-toggle.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, input, output } from '@angular/core';\n\nimport { cn } from '@origin-ui/components/utils';\nimport { RdxToggleDirective } from '@radix-ng/primitives/toggle';\nimport { cva, VariantProps } from 'class-variance-authority';\n\nexport const toggleVariants = cva(\n    \"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-[color,box-shadow] hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n    {\n        variants: {\n            variant: {\n                default: 'bg-transparent',\n                outline: 'border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground'\n            },\n            size: {\n                default: 'h-9 px-3',\n                sm: 'h-8 px-2',\n                lg: 'h-10 px-3'\n            }\n        },\n        defaultVariants: {\n            variant: 'default',\n            size: 'default'\n        }\n    }\n);\n\ntype ToggleProps = VariantProps<typeof toggleVariants>;\n\nexport type OriToggleSize = NonNullable<ToggleProps['size']>;\nexport type OriToggleVariant = NonNullable<ToggleProps['variant']>;\n\n@Component({\n    selector: 'ori-toggle',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [RdxToggleDirective],\n    template: `\n        <button\n            [class]=\"computedClass()\"\n            [pressed]=\"pressed()\"\n            (onPressedChange)=\"handlePressedChange($event)\"\n            rdxToggle\n            type=\"button\"\n        >\n            <ng-content></ng-content>\n        </button>\n    `\n})\nexport class OriToggleComponent {\n    readonly className = input<string>();\n\n    readonly variant = input<OriToggleVariant>('default');\n\n    readonly pressed = input<boolean>(false);\n\n    readonly size = input<OriToggleSize>('default');\n\n    readonly onPressedChange = output<boolean>();\n\n    protected computedClass = computed(() =>\n        cn(toggleVariants({ variant: this.variant(), size: this.size(), class: this.className() }))\n    );\n\n    handlePressedChange(isPressed: boolean): void {\n        this.onPressedChange.emit(isPressed);\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAMa,MAAA,cAAc,GAAG,GAAG,CAC7B,6hBAA6hB,EAC7hB;AACI,IAAA,QAAQ,EAAE;AACN,QAAA,OAAO,EAAE;AACL,YAAA,OAAO,EAAE,gBAAgB;AACzB,YAAA,OAAO,EAAE;AACZ,SAAA;AACD,QAAA,IAAI,EAAE;AACF,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,EAAE,EAAE,UAAU;AACd,YAAA,EAAE,EAAE;AACP;AACJ,KAAA;AACD,IAAA,eAAe,EAAE;AACb,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,IAAI,EAAE;AACT;AACJ,CAAA;MAwBQ,kBAAkB,CAAA;IAClB,SAAS,GAAG,KAAK,EAAU;AAE3B,IAAA,OAAO,GAAG,KAAK,CAAmB,SAAS,CAAC;AAE5C,IAAA,OAAO,GAAG,KAAK,CAAU,KAAK,CAAC;AAE/B,IAAA,IAAI,GAAG,KAAK,CAAgB,SAAS,CAAC;IAEtC,eAAe,GAAG,MAAM,EAAW;AAElC,IAAA,aAAa,GAAG,QAAQ,CAAC,MAC/B,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAC9F;AAED,IAAA,mBAAmB,CAAC,SAAkB,EAAA;AAClC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;;uGAhB/B,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAZjB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;AAUT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAXS,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,qBAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAanB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAhB9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;oBACtB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAC7B,oBAAA,QAAQ,EAAE;;;;;;;;;;AAUT,IAAA;AACJ,iBAAA;;;AC/CD;;AAEG;;;;"}