{"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      namespace,\n      checkboxType || '',\n      checkboxSize || '',\n      { 'round': isRound },\n      { 'fill': isFill },\n      { 'is-disabled': isDisabled },\n      { 'is-checked': isChecked },\n      { 'is-indeterminate': indeterminate },\n      { 'is-focus': isFocused },\n      { 'custom': isCustom },\n      { 'show-label': showLabel },\n    ]\"\n    :aria-controls=\"indeterminate ? controls || ariaControls : null\"\n    :tabindex=\"indeterminate ? 0 : undefined\"\n    :role=\"indeterminate ? 'checkbox' : undefined\"\n    :aria-checked=\"indeterminate ? 'mixed' : undefined\"\n    @click=\"onClickRoot\"\n  >\n    <input\n      v-if=\"trueValue || falseValue || trueLabel || falseLabel\"\n      :id=\"inputId\"\n      v-model=\"model\"\n      class=\"checkbox-input\"\n      type=\"checkbox\"\n      :indeterminate=\"indeterminate\"\n      :name=\"name\"\n      :tabindex=\"tabindex\"\n      :disabled=\"isDisabled\"\n      :true-value=\"trueValue ?? trueLabel\"\n      :false-value=\"falseValue ?? falseLabel\"\n      @change=\"handleChange\"\n      @focus=\"isFocused = true\"\n      @blur=\"isFocused = false\"\n      @click.stop\n    >\n    <input\n      v-else\n      :id=\"inputId\"\n      v-model=\"model\"\n      class=\"checkbox-input\"\n      type=\"checkbox\"\n      :indeterminate=\"indeterminate\"\n      :disabled=\"isDisabled\"\n      :value=\"actualValue\"\n      :name=\"name\"\n      :tabindex=\"tabindex\"\n      @change=\"handleChange\"\n      @focus=\"isFocused = true\"\n      @blur=\"isFocused = false\"\n      @click.stop\n    >\n    <em v-if=\"!isCustom\" class=\"checkbox-inner\">\n      <hl-icon v-if=\"indeterminate\" class=\"icon-indeterminate\">\n        <system-indeterminate v-if=\"indeterminate\" />\n      </hl-icon>\n      <hl-icon v-else class=\"icon-checked\">\n        <system-checked />\n      </hl-icon>\n    </em>\n    <slot v-if=\"isCustom\"></slot>\n    <span v-else-if=\"hasOwnLabel && showLabel\" class=\"checkbox-label\">\n      <slot></slot>\n      <template v-if=\"!$slots.default\">{{ label }}</template>\n    </span>\n  </component>\n</template>\n\n<script lang='ts' setup>\nimport { useSlots } from 'vue'\nimport { useNamespace } from '@hongluan-ui/hooks'\nimport HlIcon from '@hongluan-ui/components/icon'\nimport { SystemChecked, SystemIndeterminate } from '@hongluan-ui/components/system-icon'\nimport { checkboxEmits, checkboxProps } from './checkbox'\nimport { useCheckbox } from './composables'\n\ndefineOptions({\n  name: 'Checkbox',\n})\n\nconst props = defineProps(checkboxProps)\ndefineEmits(checkboxEmits)\n\nconst slots = useSlots()\nconst { namespace } = useNamespace('checkbox')\nconst {\n  inputId,\n  isLabeledByFormItem,\n  isChecked,\n  isDisabled,\n  isFocused,\n  isCustom,\n  isRound,\n  isFill,\n  checkboxType,\n  checkboxSize,\n  hasOwnLabel,\n  model,\n  actualValue,\n  handleChange,\n  onClickRoot,\n} = useCheckbox(props, slots)\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;oCA+Ec;AAAA,EACZ,MAAM;AACR;;;;;;;AAKA,UAAM,QAAQ;AACd,UAAM,EAAE,cAAc,aAAa,UAAU;AAC7C,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,YAAY,OAAO,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}