{"version":3,"file":"checkbox2.mjs","sources":["../../../../../../packages/components/checkbox/src/checkbox.vue"],"sourcesContent":["<template>\n  <component\n    :is=\"!hasOwnLabel && isLabeledByFormItem ? 'span' : 'label'\"\n    :class=\"[\n      ns.b(),\n      ns.m(checkboxSize),\n      ns.is('disabled', isDisabled),\n      ns.is('icon', Boolean(icon || $slots.icon)),\n      ns.is('checked', isChecked),\n      ns.is('indeterminate', indeterminate),\n      ns.is('plain', plain),\n    ]\"\n    :aria-controls=\"indeterminate ? controls : null\"\n    data-test-name=\"checkbox\"\n    data-test-variant=\"\"\n    data-test-state=\"\"\n    @click=\"onClickRoot\"\n  >\n    <span\n      :class=\"[\n        ns.e('input'),\n        ns.is('disabled', isDisabled),\n        ns.is('checked', isChecked),\n        ns.is('indeterminate', indeterminate),\n        ns.is('focus', isFocused),\n      ]\"\n      :tabindex=\"indeterminate ? 0 : undefined\"\n      :role=\"indeterminate ? 'checkbox' : undefined\"\n      :aria-checked=\"indeterminate ? 'mixed' : undefined\"\n    >\n      <input\n        v-if=\"trueValue || falseValue\"\n        :id=\"inputId\"\n        v-model=\"model\"\n        :class=\"ns.e('original')\"\n        type=\"checkbox\"\n        :aria-hidden=\"indeterminate ? 'true' : 'false'\"\n        :name=\"name\"\n        :tabindex=\"tabindex\"\n        :disabled=\"isDisabled\"\n        :true-value=\"trueValue\"\n        :false-value=\"falseValue\"\n        @change=\"handleChange\"\n        @focus=\"isFocused = true\"\n        @blur=\"isFocused = false\"\n      />\n      <input\n        v-else\n        :id=\"inputId\"\n        v-model=\"model\"\n        :class=\"ns.e('original')\"\n        type=\"checkbox\"\n        :aria-hidden=\"indeterminate ? 'true' : 'false'\"\n        :disabled=\"isDisabled\"\n        :value=\"value\"\n        :name=\"name\"\n        :tabindex=\"tabindex\"\n        @change=\"handleChange\"\n        @focus=\"isFocused = true\"\n        @blur=\"isFocused = false\"\n      />\n      <span :class=\"ns.e('inner')\" />\n    </span>\n    <span\n      v-if=\"hasOwnLabel\"\n      :class=\"[\n        ns.e('label'),\n        ns.is('has-sub', Boolean($slots.sub || sub)),\n        ns.is('has-icon', Boolean($slots.icon || icon)),\n      ]\"\n    >\n      <b-icon v-if=\"$slots.icon || icon\" :size=\"40\" :class=\"ns.e('icon')\">\n        <slot name=\"icon\">\n          <component :is=\"icon\" />\n        </slot>\n      </b-icon>\n      <slot />\n      <template v-if=\"!$slots.default\">{{ label }}</template>\n      <span v-if=\"$slots.sub || sub\" :class=\"ns.e('sub')\">\n        <slot name=\"sub\">\n          {{ sub }}\n        </slot>\n      </span>\n    </span>\n  </component>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useSlots } from 'vue'\nimport { useNamespace } from '@bigin/hooks'\nimport BIcon from '@bigin/components/icon'\nimport { checkboxEmits, checkboxProps } from './checkbox'\nimport { useCheckbox } from './composables'\n\ndefineOptions({\n  name: 'BCheckbox',\n})\n\nconst props = defineProps(checkboxProps)\ndefineEmits(checkboxEmits)\nconst slots = useSlots()\n\nconst {\n  inputId,\n  isLabeledByFormItem,\n  isChecked,\n  isDisabled,\n  isFocused,\n  checkboxSize,\n  hasOwnLabel,\n  model,\n  handleChange,\n  onClickRoot,\n} = useCheckbox(props, slots)\n\nconst ns = useNamespace('checkbox')\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;mCA8Fc,CAAA;AAAA,EACZ,IAAM,EAAA,WAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAIA,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEjB,IAAA,MAAA;AAAA,MACJ,OAAA;AAAA,MACA,mBAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA,YAAA;AAAA,MACA,WAAA;AAAA,MACA,KAAA;AAAA,MACA,YAAA;AAAA,MACA,WAAA;AAAA,KACF,GAAI,WAAY,CAAA,KAAA,EAAO,KAAK,CAAA,CAAA;AAEtB,IAAA,MAAA,EAAA,GAAK,aAAa,UAAU,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}