{"version":3,"file":"index.mjs","sources":["../../src/checkbox/BaseCheckbox.vue","../../src/checkbox/Checkbox.vue","../../src/checkbox/Checkbox.vue?vue&type=template&id=22bb1686&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport CheckboxStyle from 'primevue/checkbox/style';\n\nexport default {\n    name: 'BaseCheckbox',\n    extends: BaseComponent,\n    props: {\n        value: null,\n        modelValue: null,\n        binary: Boolean,\n        name: {\n            type: String,\n            default: null\n        },\n        indeterminate: {\n            type: Boolean,\n            default: false\n        },\n        trueValue: {\n            type: null,\n            default: true\n        },\n        falseValue: {\n            type: null,\n            default: false\n        },\n        variant: {\n            type: String,\n            default: null\n        },\n        invalid: {\n            type: Boolean,\n            default: false\n        },\n        disabled: {\n            type: Boolean,\n            default: false\n        },\n        readonly: {\n            type: Boolean,\n            default: false\n        },\n        required: {\n            type: Boolean,\n            default: false\n        },\n        tabindex: {\n            type: Number,\n            default: null\n        },\n        inputId: {\n            type: String,\n            default: null\n        },\n        inputClass: {\n            type: [String, Object],\n            default: null\n        },\n        inputStyle: {\n            type: Object,\n            default: null\n        },\n        ariaLabelledby: {\n            type: String,\n            default: null\n        },\n        ariaLabel: {\n            type: String,\n            default: null\n        }\n    },\n    style: CheckboxStyle,\n    provide() {\n        return {\n            $pcCheckbox: this,\n            $parentInstance: this\n        };\n    }\n};\n</script>\n","<template>\n    <div :class=\"cx('root')\" v-bind=\"getPTOptions('root')\" :data-p-checked=\"checked\" :data-p-indeterminate=\"d_indeterminate || undefined\" :data-p-disabled=\"disabled\">\n        <input\n            :id=\"inputId\"\n            type=\"checkbox\"\n            :class=\"[cx('input'), inputClass]\"\n            :style=\"inputStyle\"\n            :value=\"value\"\n            :name=\"name\"\n            :checked=\"checked\"\n            :tabindex=\"tabindex\"\n            :disabled=\"disabled\"\n            :readonly=\"readonly\"\n            :required=\"required\"\n            :aria-labelledby=\"ariaLabelledby\"\n            :aria-label=\"ariaLabel\"\n            :aria-invalid=\"invalid || undefined\"\n            :aria-checked=\"d_indeterminate ? 'mixed' : undefined\"\n            @focus=\"onFocus\"\n            @blur=\"onBlur\"\n            @change=\"onChange\"\n            v-bind=\"getPTOptions('input')\"\n        />\n        <div :class=\"cx('box')\" v-bind=\"getPTOptions('box')\">\n            <slot name=\"icon\" :checked=\"checked\" :indeterminate=\"d_indeterminate\" :class=\"cx('icon')\">\n                <CheckIcon v-if=\"checked\" :class=\"cx('icon')\" v-bind=\"getPTOptions('icon')\" />\n                <MinusIcon v-else-if=\"d_indeterminate\" :class=\"cx('icon')\" v-bind=\"getPTOptions('icon')\" />\n            </slot>\n        </div>\n    </div>\n</template>\n\n<script>\nimport { contains, equals } from '@primeuix/utils/object';\nimport CheckIcon from '@primevue/icons/check';\nimport MinusIcon from '@primevue/icons/minus';\nimport BaseCheckbox from './BaseCheckbox.vue';\n\nexport default {\n    name: 'Checkbox',\n    extends: BaseCheckbox,\n    inheritAttrs: false,\n    emits: ['update:modelValue', 'change', 'focus', 'blur', 'update:indeterminate'],\n    data() {\n        return {\n            d_indeterminate: this.indeterminate\n        };\n    },\n    watch: {\n        indeterminate(newValue) {\n            this.d_indeterminate = newValue;\n        }\n    },\n    methods: {\n        getPTOptions(key) {\n            const _ptm = key === 'root' ? this.ptmi : this.ptm;\n\n            return _ptm(key, {\n                context: {\n                    checked: this.checked,\n                    indeterminate: this.d_indeterminate,\n                    disabled: this.disabled\n                }\n            });\n        },\n        onChange(event) {\n            if (!this.disabled && !this.readonly) {\n                let newModelValue;\n\n                if (this.binary) {\n                    newModelValue = this.d_indeterminate ? this.trueValue : this.checked ? this.falseValue : this.trueValue;\n                } else {\n                    if (this.checked || this.d_indeterminate) newModelValue = this.modelValue.filter((val) => !equals(val, this.value));\n                    else newModelValue = this.modelValue ? [...this.modelValue, this.value] : [this.value];\n                }\n\n                if (this.d_indeterminate) {\n                    this.d_indeterminate = false;\n                    this.$emit('update:indeterminate', this.d_indeterminate);\n                }\n\n                this.$emit('update:modelValue', newModelValue);\n                this.$emit('change', event);\n            }\n        },\n        onFocus(event) {\n            this.$emit('focus', event);\n        },\n        onBlur(event) {\n            this.$emit('blur', event);\n        }\n    },\n    computed: {\n        checked() {\n            return this.d_indeterminate ? false : this.binary ? this.modelValue === this.trueValue : contains(this.value, this.modelValue);\n        }\n    },\n    components: {\n        CheckIcon,\n        MinusIcon\n    }\n};\n</script>\n","<template>\n    <div :class=\"cx('root')\" v-bind=\"getPTOptions('root')\" :data-p-checked=\"checked\" :data-p-indeterminate=\"d_indeterminate || undefined\" :data-p-disabled=\"disabled\">\n        <input\n            :id=\"inputId\"\n            type=\"checkbox\"\n            :class=\"[cx('input'), inputClass]\"\n            :style=\"inputStyle\"\n            :value=\"value\"\n            :name=\"name\"\n            :checked=\"checked\"\n            :tabindex=\"tabindex\"\n            :disabled=\"disabled\"\n            :readonly=\"readonly\"\n            :required=\"required\"\n            :aria-labelledby=\"ariaLabelledby\"\n            :aria-label=\"ariaLabel\"\n            :aria-invalid=\"invalid || undefined\"\n            :aria-checked=\"d_indeterminate ? 'mixed' : undefined\"\n            @focus=\"onFocus\"\n            @blur=\"onBlur\"\n            @change=\"onChange\"\n            v-bind=\"getPTOptions('input')\"\n        />\n        <div :class=\"cx('box')\" v-bind=\"getPTOptions('box')\">\n            <slot name=\"icon\" :checked=\"checked\" :indeterminate=\"d_indeterminate\" :class=\"cx('icon')\">\n                <CheckIcon v-if=\"checked\" :class=\"cx('icon')\" v-bind=\"getPTOptions('icon')\" />\n                <MinusIcon v-else-if=\"d_indeterminate\" :class=\"cx('icon')\" v-bind=\"getPTOptions('icon')\" />\n            </slot>\n        </div>\n    </div>\n</template>\n\n<script>\nimport { contains, equals } from '@primeuix/utils/object';\nimport CheckIcon from '@primevue/icons/check';\nimport MinusIcon from '@primevue/icons/minus';\nimport BaseCheckbox from './BaseCheckbox.vue';\n\nexport default {\n    name: 'Checkbox',\n    extends: BaseCheckbox,\n    inheritAttrs: false,\n    emits: ['update:modelValue', 'change', 'focus', 'blur', 'update:indeterminate'],\n    data() {\n        return {\n            d_indeterminate: this.indeterminate\n        };\n    },\n    watch: {\n        indeterminate(newValue) {\n            this.d_indeterminate = newValue;\n        }\n    },\n    methods: {\n        getPTOptions(key) {\n            const _ptm = key === 'root' ? this.ptmi : this.ptm;\n\n            return _ptm(key, {\n                context: {\n                    checked: this.checked,\n                    indeterminate: this.d_indeterminate,\n                    disabled: this.disabled\n                }\n            });\n        },\n        onChange(event) {\n            if (!this.disabled && !this.readonly) {\n                let newModelValue;\n\n                if (this.binary) {\n                    newModelValue = this.d_indeterminate ? this.trueValue : this.checked ? this.falseValue : this.trueValue;\n                } else {\n                    if (this.checked || this.d_indeterminate) newModelValue = this.modelValue.filter((val) => !equals(val, this.value));\n                    else newModelValue = this.modelValue ? [...this.modelValue, this.value] : [this.value];\n                }\n\n                if (this.d_indeterminate) {\n                    this.d_indeterminate = false;\n                    this.$emit('update:indeterminate', this.d_indeterminate);\n                }\n\n                this.$emit('update:modelValue', newModelValue);\n                this.$emit('change', event);\n            }\n        },\n        onFocus(event) {\n            this.$emit('focus', event);\n        },\n        onBlur(event) {\n            this.$emit('blur', event);\n        }\n    },\n    computed: {\n        checked() {\n            return this.d_indeterminate ? false : this.binary ? this.modelValue === this.trueValue : contains(this.value, this.modelValue);\n        }\n    },\n    components: {\n        CheckIcon,\n        MinusIcon\n    }\n};\n</script>\n"],"names":["name","BaseComponent","props","value","modelValue","binary","Boolean","type","String","indeterminate","trueValue","falseValue","variant","invalid","disabled","readonly","required","tabindex","Number","inputId","inputClass","Object","inputStyle","ariaLabelledby","ariaLabel","style","CheckboxStyle","provide","$pcCheckbox","$parentInstance","BaseCheckbox","inheritAttrs","emits","data","d_indeterminate","watch","newValue","methods","getPTOptions","key","_ptm","ptmi","ptm","context","checked","onChange","event","_this","newModelValue","filter","val","equals","concat","_toConsumableArray","$emit","onFocus","onBlur","computed","contains","components","CheckIcon","MinusIcon","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","$options","$data","undefined","_createElementVNode","id","apply","arguments","_hoisted_2","_renderSlot","$slots","_createBlock","_component_CheckIcon","_component_MinusIcon"],"mappings":";;;;;;;AAIA,eAAe;AACXA,EAAAA,IAAI,EAAE,cAAc;AACpB,EAAA,SAAA,EAASC,aAAa;AACtBC,EAAAA,KAAK,EAAE;AACHC,IAAAA,KAAK,EAAE,IAAI;AACXC,IAAAA,UAAU,EAAE,IAAI;AAChBC,IAAAA,MAAM,EAAEC,OAAO;AACfN,IAAAA,IAAI,EAAE;AACFO,MAAAA,IAAI,EAAEC,MAAM;MACZ,SAAS,EAAA,IAAA;KACZ;AACDC,IAAAA,aAAa,EAAE;AACXF,MAAAA,IAAI,EAAED,OAAO;MACb,SAAS,EAAA,KAAA;KACZ;AACDI,IAAAA,SAAS,EAAE;AACPH,MAAAA,IAAI,EAAE,IAAI;MACV,SAAS,EAAA,IAAA;KACZ;AACDI,IAAAA,UAAU,EAAE;AACRJ,MAAAA,IAAI,EAAE,IAAI;MACV,SAAS,EAAA,KAAA;KACZ;AACDK,IAAAA,OAAO,EAAE;AACLL,MAAAA,IAAI,EAAEC,MAAM;MACZ,SAAS,EAAA,IAAA;KACZ;AACDK,IAAAA,OAAO,EAAE;AACLN,MAAAA,IAAI,EAAED,OAAO;MACb,SAAS,EAAA,KAAA;KACZ;AACDQ,IAAAA,QAAQ,EAAE;AACNP,MAAAA,IAAI,EAAED,OAAO;MACb,SAAS,EAAA,KAAA;KACZ;AACDS,IAAAA,QAAQ,EAAE;AACNR,MAAAA,IAAI,EAAED,OAAO;MACb,SAAS,EAAA,KAAA;KACZ;AACDU,IAAAA,QAAQ,EAAE;AACNT,MAAAA,IAAI,EAAED,OAAO;MACb,SAAS,EAAA,KAAA;KACZ;AACDW,IAAAA,QAAQ,EAAE;AACNV,MAAAA,IAAI,EAAEW,MAAM;MACZ,SAAS,EAAA,IAAA;KACZ;AACDC,IAAAA,OAAO,EAAE;AACLZ,MAAAA,IAAI,EAAEC,MAAM;MACZ,SAAS,EAAA,IAAA;KACZ;AACDY,IAAAA,UAAU,EAAE;AACRb,MAAAA,IAAI,EAAE,CAACC,MAAM,EAAEa,MAAM,CAAC;MACtB,SAAS,EAAA,IAAA;KACZ;AACDC,IAAAA,UAAU,EAAE;AACRf,MAAAA,IAAI,EAAEc,MAAM;MACZ,SAAS,EAAA,IAAA;KACZ;AACDE,IAAAA,cAAc,EAAE;AACZhB,MAAAA,IAAI,EAAEC,MAAM;MACZ,SAAS,EAAA,IAAA;KACZ;AACDgB,IAAAA,SAAS,EAAE;AACPjB,MAAAA,IAAI,EAAEC,MAAM;MACZ,SAAS,EAAA,IAAA;AACb,KAAA;GACH;AACDiB,EAAAA,KAAK,EAAEC,aAAa;EACpBC,OAAO,EAAA,SAAPA,OAAOA,GAAG;IACN,OAAO;AACHC,MAAAA,WAAW,EAAE,IAAI;AACjBC,MAAAA,eAAe,EAAE,IAAA;KACpB,CAAA;AACL,GAAA;AACJ,CAAC;;;;;;;;ACzCD,aAAe;AACX7B,EAAAA,IAAI,EAAE,UAAU;AAChB,EAAA,SAAA,EAAS8B,QAAY;AACrBC,EAAAA,YAAY,EAAE,KAAK;EACnBC,KAAK,EAAE,CAAC,mBAAmB,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,sBAAsB,CAAC;EAC/EC,IAAI,EAAA,SAAJA,IAAIA,GAAG;IACH,OAAO;MACHC,eAAe,EAAE,IAAI,CAACzB,aAAAA;KACzB,CAAA;GACJ;AACD0B,EAAAA,KAAK,EAAE;AACH1B,IAAAA,aAAa,EAAbA,SAAAA,aAAaA,CAAC2B,QAAQ,EAAE;MACpB,IAAI,CAACF,eAAc,GAAIE,QAAQ,CAAA;AACnC,KAAA;GACH;AACDC,EAAAA,OAAO,EAAE;AACLC,IAAAA,YAAY,EAAZA,SAAAA,YAAYA,CAACC,GAAG,EAAE;AACd,MAAA,IAAMC,IAAG,GAAID,GAAI,KAAI,MAAK,GAAI,IAAI,CAACE,IAAK,GAAE,IAAI,CAACC,GAAG,CAAA;MAElD,OAAOF,IAAI,CAACD,GAAG,EAAE;AACbI,QAAAA,OAAO,EAAE;UACLC,OAAO,EAAE,IAAI,CAACA,OAAO;UACrBnC,aAAa,EAAE,IAAI,CAACyB,eAAe;UACnCpB,QAAQ,EAAE,IAAI,CAACA,QAAAA;AACnB,SAAA;AACJ,OAAC,CAAC,CAAA;KACL;AACD+B,IAAAA,QAAQ,EAARA,SAAAA,QAAQA,CAACC,KAAK,EAAE;AAAA,MAAA,IAAAC,KAAA,GAAA,IAAA,CAAA;MACZ,IAAI,CAAC,IAAI,CAACjC,QAAO,IAAK,CAAC,IAAI,CAACC,QAAQ,EAAE;AAClC,QAAA,IAAIiC,aAAa,CAAA;QAEjB,IAAI,IAAI,CAAC3C,MAAM,EAAE;AACb2C,UAAAA,aAAY,GAAI,IAAI,CAACd,eAAc,GAAI,IAAI,CAACxB,SAAQ,GAAI,IAAI,CAACkC,UAAU,IAAI,CAACjC,UAAW,GAAE,IAAI,CAACD,SAAS,CAAA;AAC3G,SAAE,MAAK;AACH,UAAA,IAAI,IAAI,CAACkC,OAAM,IAAK,IAAI,CAACV,eAAe,EAAEc,aAAY,GAAI,IAAI,CAAC5C,UAAU,CAAC6C,MAAM,CAAC,UAACC,GAAG,EAAA;YAAA,OAAK,CAACC,MAAM,CAACD,GAAG,EAAEH,KAAI,CAAC5C,KAAK,CAAC,CAAA;WAAC,CAAA,CAAA,KAC9G6C,gBAAgB,IAAI,CAAC5C,UAAW,GAAA,EAAA,CAAAgD,MAAA,CAAAC,kBAAA,CAAM,IAAI,CAACjD,UAAU,CAAE,EAAA,CAAA,IAAI,CAACD,KAAK,KAAI,CAAC,IAAI,CAACA,KAAK,CAAC,CAAA;AAC1F,SAAA;QAEA,IAAI,IAAI,CAAC+B,eAAe,EAAE;UACtB,IAAI,CAACA,eAAc,GAAI,KAAK,CAAA;UAC5B,IAAI,CAACoB,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAACpB,eAAe,CAAC,CAAA;AAC5D,SAAA;AAEA,QAAA,IAAI,CAACoB,KAAK,CAAC,mBAAmB,EAAEN,aAAa,CAAC,CAAA;AAC9C,QAAA,IAAI,CAACM,KAAK,CAAC,QAAQ,EAAER,KAAK,CAAC,CAAA;AAC/B,OAAA;KACH;AACDS,IAAAA,OAAO,EAAPA,SAAAA,OAAOA,CAACT,KAAK,EAAE;AACX,MAAA,IAAI,CAACQ,KAAK,CAAC,OAAO,EAAER,KAAK,CAAC,CAAA;KAC7B;AACDU,IAAAA,MAAM,EAANA,SAAAA,MAAMA,CAACV,KAAK,EAAE;AACV,MAAA,IAAI,CAACQ,KAAK,CAAC,MAAM,EAAER,KAAK,CAAC,CAAA;AAC7B,KAAA;GACH;AACDW,EAAAA,QAAQ,EAAE;IACNb,OAAO,EAAA,SAAPA,OAAOA,GAAG;MACN,OAAO,IAAI,CAACV,eAAc,GAAI,KAAM,GAAE,IAAI,CAAC7B,MAAO,GAAE,IAAI,CAACD,UAAS,KAAM,IAAI,CAACM,SAAU,GAAEgD,QAAQ,CAAC,IAAI,CAACvD,KAAK,EAAE,IAAI,CAACC,UAAU,CAAC,CAAA;AAClI,KAAA;GACH;AACDuD,EAAAA,UAAU,EAAE;AACRC,IAAAA,SAAS,EAATA,SAAS;AACTC,IAAAA,SAAQ,EAARA,SAAAA;AACJ,GAAA;AACJ,CAAC;;;;;;;ECpGG,OAAAC,SAAA,EAAA,EAAAC,kBAAA,CA4BK,OA5BLC,UA4BK,CAAA;AA5BC,IAAA,OAAA,EAAOC,IAAE,CAAAC,EAAA,CAAA,MAAA,CAAA;KAAkBC,QAAY,CAAA7B,YAAA,CAAA,MAAA,CAAA,EAAA;IAAW,gBAAc,EAAE6B,QAAO,CAAAvB,OAAA;AAAG,IAAA,sBAAoB,EAAEwB,KAAgB,CAAAlC,eAAA,IAAGmC,SAAS;IAAG,iBAAe,EAAEJ,IAAQ,CAAAnD,QAAAA;OAC5JwD,kBAAA,CAoBC,SApBDN,UAoBC,CAAA;IAnBIO,EAAE,EAAEN,IAAO,CAAA9C,OAAA;AACZZ,IAAAA,IAAI,EAAC,UAAS;IACb,OAAK,EAAA,CAAG0D,IAAE,CAAAC,EAAA,CAAA,OAAA,CAAA,EAAWD,IAAU,CAAA7C,UAAA,CAAA;IAC/BK,KAAK,EAAEwC,IAAU,CAAA3C,UAAA;IACjBnB,KAAK,EAAE8D,IAAK,CAAA9D,KAAA;IACZH,IAAI,EAAEiE,IAAI,CAAAjE,IAAA;IACV4C,OAAO,EAAEuB,QAAO,CAAAvB,OAAA;IAChB3B,QAAQ,EAAEgD,IAAQ,CAAAhD,QAAA;IAClBH,QAAQ,EAAEmD,IAAQ,CAAAnD,QAAA;IAClBC,QAAQ,EAAEkD,IAAQ,CAAAlD,QAAA;IAClBC,QAAQ,EAAEiD,IAAQ,CAAAjD,QAAA;IAClB,iBAAe,EAAEiD,IAAc,CAAA1C,cAAA;IAC/B,YAAU,EAAE0C,IAAS,CAAAzC,SAAA;AACrB,IAAA,cAAY,EAAEyC,IAAM,CAAApD,OAAA,IAAKwD,SAAS;AAClC,IAAA,cAAY,EAAED,KAAc,CAAAlC,eAAA,GAAA,OAAA,GAAcmC,SAAS;IACnDd,OAAK;aAAEY,QAAO,CAAAZ,OAAA,IAAAY,QAAA,CAAAZ,OAAA,CAAAiB,KAAA,CAAAL,QAAA,EAAAM,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA;IACdjB,MAAI;aAAEW,QAAM,CAAAX,MAAA,IAAAW,QAAA,CAAAX,MAAA,CAAAgB,KAAA,CAAAL,QAAA,EAAAM,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA;IACZ5B,QAAM;aAAEsB,QAAQ,CAAAtB,QAAA,IAAAsB,QAAA,CAAAtB,QAAA,CAAA2B,KAAA,CAAAL,QAAA,EAAAM,SAAA,CAAA,CAAA;KAAA,CAAA;KACTN,QAAY,CAAA7B,YAAA,CAAA,OAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAAoC,UAAA,CAAA,EAExBJ,kBAAA,CAKK,OALLN,UAKK,CAAA;AALC,IAAA,OAAA,EAAOC,IAAE,CAAAC,EAAA,CAAA,KAAA,CAAA;KAAiBC,QAAY,CAAA7B,YAAA,CAAA,KAAA,CAAA,CAAA,EAAA,CACxCqC,UAGM,CAAAV,IAAA,CAAAW,MAAA,EAAA,MAAA,EAAA;IAHahC,OAAO,EAAEuB,QAAO,CAAAvB,OAAA;IAAGnC,aAAa,EAAE2D,KAAe,CAAAlC,eAAA;AAAG,IAAA,OAAA,iBAAO+B,IAAE,CAAAC,EAAA,CAAA,MAAA,CAAA,CAAA;KAAhF,YAAA;AAAA,IAAA,OAGM,CAFeC,QAAO,CAAAvB,OAAA,IAAxBkB,SAAA,EAAA,EAAAe,WAAA,CAA6EC,sBAA7Ed,UAA6E,CAAA;;AAAlD,MAAA,OAAA,EAAOC,IAAE,CAAAC,EAAA,CAAA,MAAA,CAAA;OAAkBC,QAAY,CAAA7B,YAAA,CAAA,MAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,OAAA,CAAA,CAAA,IAC5C8B,KAAe,CAAAlC,eAAA,IAArC4B,SAAA,EAAA,EAAAe,WAAA,CAA0FE,sBAA1Ff,UAA0F,CAAA;;AAAlD,MAAA,OAAA,EAAOC,IAAE,CAAAC,EAAA,CAAA,MAAA,CAAA;OAAkBC,QAAY,CAAA7B,YAAA,CAAA,MAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,OAAA,CAAA,CAAA;;;;;;;;"}