{"version":3,"file":"checkbox2.mjs","sources":["../../../../../../packages/components/checkbox/src/checkbox.vue"],"sourcesContent":["<template>\n  <div :class=\"checkboxKls\" :style=\"checkboxStyles\">\n    <div :class=\"ns.e('input')\">\n      <input\n        v-bind=\"$attrs\"\n        :id=\"checkboxId\"\n        v-model=\"model\"\n        :value=\"value\"\n        :name=\"name\"\n        :disabled=\"isDisabled\"\n        :class=\"ns.e('original')\"\n        type=\"checkbox\"\n        @change=\"handleChange\"\n      />\n      <div :class=\"ns.em('input', 'mask')\">\n        <icon-check\n          v-if=\"!$slots.icon\"\n          :active=\"isChecked\"\n          :indeterminate=\"indeterminate\"\n        />\n        <slot v-else name=\"icon\" />\n      </div>\n\n      <icon-loading v-if=\"loading\" />\n    </div>\n    <label\n      v-if=\"hasOwnLabel\"\n      :for=\"checkboxId\"\n      :class=\"[ns.e('label'), ns.is('line-through', lineThrough)]\"\n    >\n      <slot />\n      <template v-if=\"!$slots.default\">{{ label }}</template>\n    </label>\n  </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, useSlots } from 'vue'\nimport {\n  useColor,\n  useId,\n  useNamespace,\n  useVuesaxBaseComponent,\n} from '@vuesax-alpha/hooks'\nimport { getVsColor } from '@vuesax-alpha/utils'\nimport { IconCheck, IconLoading } from '@vuesax-alpha/components/icon'\nimport { checkboxEmits, checkboxProps } from './checkbox'\nimport { useCheckbox } from './composables'\n\ndefineOptions({\n  inheritAttrs: false,\n  name: 'VsCheckbox',\n})\n\nconst props = defineProps(checkboxProps)\nconst slots = useSlots()\nconst emit = defineEmits(checkboxEmits)\nconst ns = useNamespace('checkbox')\n\nconst checkboxId = props.id ?? useId()\n\nconst { isChecked, isDisabled, model, hasOwnLabel, handleChange } = useCheckbox(\n  props,\n  emit,\n  slots\n)\nconst vsBaseClasses = useVuesaxBaseComponent(useColor())\nconst checkboxKls = computed(() => [\n  ns.b(),\n  vsBaseClasses,\n  ns.is('disabled', isDisabled.value),\n  ns.is('checked', isChecked.value),\n  ns.is('label-before', props.labelBefore),\n  ns.is('loading', props.loading),\n])\n\nconst checkboxStyles = computed(() => [\n  ns.cssVar({\n    color: getVsColor(props.color),\n  }),\n])\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;mCAiDc,CAAA;AAAA,EACZ,YAAc,EAAA,KAAA;AAAA,EACd,IAAM,EAAA,YAAA;AACR,CAAA,CAAA,CAAA;;;;;;;;AAGA,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEjB,IAAA,MAAA,EAAA,GAAK,aAAa,UAAU,CAAA,CAAA;AAE5B,IAAA,MAAA,UAAa,GAAA,CAAA,EAAA,GAAA,KAAA,CAAM,EAAN,KAAA,IAAA,GAAA,EAAA,GAAY,KAAM,EAAA,CAAA;AAErC,IAAA,MAAM,EAAE,SAAW,EAAA,UAAA,EAAY,KAAO,EAAA,WAAA,EAAa,cAAiB,GAAA,WAAA;AAAA,MAClE,KAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAA;AAAA,KACF,CAAA;AACM,IAAA,MAAA,aAAA,GAAgB,sBAAuB,CAAA,QAAA,EAAU,CAAA,CAAA;AACjD,IAAA,MAAA,WAAA,GAAc,SAAS,MAAM;AAAA,MACjC,GAAG,CAAE,EAAA;AAAA,MACL,aAAA;AAAA,MACA,EAAG,CAAA,EAAA,CAAG,UAAY,EAAA,UAAA,CAAW,KAAK,CAAA;AAAA,MAClC,EAAG,CAAA,EAAA,CAAG,SAAW,EAAA,SAAA,CAAU,KAAK,CAAA;AAAA,MAChC,EAAG,CAAA,EAAA,CAAG,cAAgB,EAAA,KAAA,CAAM,WAAW,CAAA;AAAA,MACvC,EAAG,CAAA,EAAA,CAAG,SAAW,EAAA,KAAA,CAAM,OAAO,CAAA;AAAA,KAC/B,CAAA,CAAA;AAEK,IAAA,MAAA,cAAA,GAAiB,SAAS,MAAM;AAAA,MACpC,GAAG,MAAO,CAAA;AAAA,QACR,KAAA,EAAO,UAAW,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,OAC9B,CAAA;AAAA,KACF,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}