{"version":3,"file":"index.vue.mjs","sources":["../../../../../../components/checkbox/src/index.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, useAttrs } from 'vue'\nimport { UPDATE_MODEL_EVENT, iconSize } from '@fusion-ui-vue/constants'\nimport { useCheckbox } from '@fusion-ui-vue/hooks'\nimport { useNamespace } from '@fusion-ui-vue/utils'\nimport type { CheckboxStatus } from '../src/checkbox'\nimport { checkboxProps, iconType } from '../src/checkbox'\nimport FnRipple from '../../ripple'\nimport FnIcon from '../../icon'\n\nconst props = defineProps(checkboxProps)\nconst emits = defineEmits<{ (e: 'update:modelValue', v: boolean): void }>()\nconst ns = useNamespace('checkbox')\nconst cssClass = useCheckbox(props, ns)\nconst attrs = useAttrs()\n\nconst checked = computed<boolean>({\n  get() {\n    return props.modelValue as any\n  },\n  set(newVal) {\n    emits(UPDATE_MODEL_EVENT, newVal)\n  },\n})\n\nconst status = computed<CheckboxStatus>(() => {\n  if (typeof checked.value === 'boolean') {\n    return checked.value ? 'checked' : 'blank'\n  } else {\n    return (checked.value as any[]).includes(attrs.value) ? 'checked' : 'blank'\n  }\n})\n</script>\n\n<template>\n  <span :class=\"[ns.b(), ns.m(props.size), cssClass]\">\n    <slot\n      v-bind=\"{\n        checked,\n        size: iconSize[props.size],\n        color: props.color,\n        class: [ns.e('icon')],\n      }\"\n    >\n      <fn-icon\n        :class=\"[ns.e('icon')]\"\n        :icon=\"iconType[status]\"\n        :size=\"iconSize[props.size]\"\n      />\n    </slot>\n    <!-- eslint-disable vue/html-self-closing -->\n    <input\n      v-bind=\"$attrs\"\n      v-model=\"checked\"\n      :class=\"[ns.e('input')]\"\n      type=\"checkbox\"\n    />\n    <fn-ripple :color=\"props.color\" center />\n  </span>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAYM,IAAA,MAAA,EAAA,GAAK,aAAa,UAAU,CAAA,CAAA;AAC5B,IAAA,MAAA,QAAA,GAAW,WAAY,CAAA,KAAA,EAAO,EAAE,CAAA,CAAA;AACtC,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IAAA,MAAM,UAAU,QAAkB,CAAA;AAAA,MAChC,GAAM,GAAA;AACJ,QAAA,OAAO,KAAM,CAAA,UAAA,CAAA;AAAA,OACf;AAAA,MACA,IAAI,MAAQ,EAAA;AACV,QAAA,KAAA,CAAM,oBAAoB,MAAM,CAAA,CAAA;AAAA,OAClC;AAAA,KACD,CAAA,CAAA;AAEK,IAAA,MAAA,MAAA,GAAS,SAAyB,MAAM;AACxC,MAAA,IAAA,OAAO,OAAQ,CAAA,KAAA,KAAU,SAAW,EAAA;AAC/B,QAAA,OAAA,OAAA,CAAQ,QAAQ,SAAY,GAAA,OAAA,CAAA;AAAA,OAC9B,MAAA;AACL,QAAA,OAAQ,QAAQ,KAAgB,CAAA,QAAA,CAAS,KAAM,CAAA,KAAK,IAAI,SAAY,GAAA,OAAA,CAAA;AAAA,OACtE;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}