{"version":3,"file":"checkbox-button2.mjs","sources":["../../../../../../packages/components/checkbox/src/checkbox-button.vue"],"sourcesContent":["<template>\n  <label\n    :class=\"[\n      ns.b('button'),\n      ns.bm('button', size),\n      ns.is('disabled', isDisabled),\n      ns.is('checked', isChecked),\n      ns.is('focus', focus),\n    ]\"\n  >\n    <input\n      v-if=\"trueLabel || falseLabel\"\n      v-model=\"model\"\n      :class=\"ns.be('button', 'original')\"\n      type=\"checkbox\"\n      :name=\"name\"\n      :tabindex=\"tabindex\"\n      :disabled=\"isDisabled\"\n      :true-value=\"trueLabel\"\n      :false-value=\"falseLabel\"\n      @change=\"handleChange\"\n      @focus=\"focus = true\"\n      @blur=\"focus = false\"\n    />\n    <input\n      v-else\n      v-model=\"model\"\n      :class=\"ns.be('button', 'original')\"\n      type=\"checkbox\"\n      :name=\"name\"\n      :tabindex=\"tabindex\"\n      :disabled=\"isDisabled\"\n      :value=\"label\"\n      @change=\"handleChange\"\n      @focus=\"focus = true\"\n      @blur=\"focus = false\"\n    />\n\n    <span\n      v-if=\"$slots.default || label\"\n      :class=\"ns.be('button', 'inner')\"\n      :style=\"isChecked ? activeStyle : undefined\"\n    >\n      <slot>{{ label }}</slot>\n    </span>\n  </label>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, useSlots } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport {\n  checkboxEmits,\n  checkboxProps,\n  useCheckbox,\n  useCheckboxGroup,\n} from './checkbox'\nimport type { CSSProperties } from 'vue'\n\ndefineOptions({\n  name: 'ElCheckboxButton',\n})\n\nconst props = defineProps(checkboxProps)\ndefineEmits(checkboxEmits)\nconst slots = useSlots()\n\nconst { focus, isChecked, isDisabled, size, model, handleChange } = useCheckbox(\n  props,\n  slots\n)\nconst { checkboxGroup } = useCheckboxGroup()\nconst ns = useNamespace('checkbox')\n\nconst activeStyle = computed<CSSProperties>(() => {\n  const fillValue = checkboxGroup?.fill?.value ?? ''\n  return {\n    backgroundColor: fillValue,\n    borderColor: fillValue,\n    color: checkboxGroup?.textColor?.value ?? '',\n    boxShadow: fillValue ? `-1px 0 0 0 ${fillValue}` : undefined,\n  }\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAiEA,IAAA,MAAA,QAAA,QAAA,EAAA,CAAA;AAEA,IAAA,MAAA,EAAA,OAAA,SAAA,EAAA,UAAA,EAAA,MAAA,KAAA,EAAA,YAAA,EAAA,GAAA,WACA,CAAA,KAAA,EACA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,EAAA,kBAAA,gBAAA,EAAA,CAAA;AACA,IAAA,MAAA,EAAA,GAAA,aAAA,UAAA,CAAA,CAAA;AAEA,IAAA,MAAA,WAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AACA,MAAA,MAAA,SAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,IAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,KAAA,IAAA,GAAA,EAAA,GAAA,EAAA,CAAA;AAAA,MAAA,OACA;AAAA,QACA,eAAA,EAAA,SAAA;AAAA,QACA,WAAA,EAAA,SAAA;AAAA,QACA,KAAA,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,SAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,KAAA,IAAA,GAAA,EAAA,GAAA,EAAA;AAAA,QACA,SAAA,EAAA,SAAA,GAAA,CAAA,WAAA,EAAA,SAAA,CAAA,CAAA,GAAA,KAAA,CAAA;AAAA,OACA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}