2a36a89e736e481ac7536bb63e911b1dd04414e36c84cadf2d23872b6e8c60ec86e88b43988a4f30cbd9eafd932ccb891513dfbd2eefeb2c1acc65c399122a 4.4 KB

1
  1. {"version":3,"file":"checkbox-button.js","sources":["../../../../../../packages/components/checkbox/src/checkbox-button.vue"],"sourcesContent":["<template>\n <label :class=\"labelKls\">\n <input\n v-model=\"model\"\n :class=\"ns.be('button', 'original')\"\n type=\"checkbox\"\n :name=\"name\"\n :tabindex=\"tabindex\"\n :disabled=\"isDisabled\"\n v-bind=\"inputBindings\"\n @change=\"handleChange\"\n @focus=\"isFocused = true\"\n @blur=\"isFocused = false\"\n @click.stop\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, inject, useSlots } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { checkboxGroupContextKey } from './constants'\nimport { useCheckbox } from './composables'\nimport { checkboxEmits, checkboxProps } from './checkbox'\n\nimport type { CSSProperties } from 'vue'\n\ndefineOptions({\n name: 'ElCheckboxButton',\n})\n\nconst props = defineProps(checkboxProps)\ndefineEmits(checkboxEmits)\nconst slots = useSlots()\n\nconst {\n isFocused,\n isChecked,\n isDisabled,\n checkboxButtonSize,\n model,\n actualValue,\n handleChange,\n} = useCheckbox(props, slots)\n\nconst inputBindings = computed(() => {\n if (\n props.trueValue ||\n props.falseValue ||\n props.trueLabel ||\n props.falseLabel\n ) {\n return {\n 'true-value': props.trueValue ?? props.trueLabel ?? true,\n 'false-value': props.falseValue ?? props.falseLabel ?? false,\n }\n }\n return {\n value: actualValue.value,\n }\n})\n\nconst checkboxGroup = inject(checkboxGroupContextKey, undefined)\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\nconst labelKls = computed(() => {\n return [\n ns.b('button'),\n ns.bm('button', checkboxButtonSize.value),\n ns.is('disabled', isDisabled.value),\n ns.is('checked', isChecked.value),\n ns.is('focus', isFocused.value),\n ]\n})\n</script>\n"],"names":["useSlots","useCheckbox","computed","checkboxGroupContextKey","useNamespace"],"mappings":";;;;;;;;;;;uCAmCc,CAAA;AAAA,EACZ,IAAM,EAAA,kBAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAIA,IAAA,MAAM,QAAQA,YAAS,EAAA,CAAA;AAEvB,IAAM,MAAA;AAAA,MACJ,SAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,kBAAA;AAAA,MACA,KAAA;AAAA,MACA,WAAA;AAAA,MACA,YAAA;AAAA,KACF,GAAIC,uBAAY,CAAA,KAAA,EAAO,KAAK,CAAA,CAAA;AAE5B,IAAM,MAAA,aAAA,GAAgBC,aAAS,MAAM;AACnC,MAAA,IACE,MAAM,EACN,EAAA,EAAA,EAAA,CAAA;AAIA,MAAO,IAAA,KAAA,CAAA,SAAA,IAAA,KAAA,CAAA,UAAA,IAAA,KAAA,CAAA,SAAA,IAAA,KAAA,CAAA,UAAA,EAAA;AAAA,QAAA,OACS;AAAsC,UACpD,YAAe,EAAA,CAAA,EAAA,GAAA,CAAM,EAAc,GAAA,KAAA,CAAA,SAAM,KAAc,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA,SAAA,KAAA,IAAA,GAAA,EAAA,GAAA,IAAA;AAAA,UACzD,aAAA,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAA,UAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA,UAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA;AAAA,SACF,CAAA;AACA,OAAO;AAAA,MAAA;AACc,QACrB,KAAA,EAAA,WAAA,CAAA,KAAA;AAAA,OACD,CAAA;AAED,KAAM,CAAA,CAAA;AACN,IAAM,MAAA,0BAA4B,CAAAC,iCAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAElC,IAAM,MAAA,EAAA,GAAAC,6BAA4C,CAAA,CAAA;AAChD,IAAM,MAAA,WAAA,GAAYF,YAAe,CAAA,MAAA;AACjC,MAAO,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAAA,MAAA,MACY,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,OACJ;AAAA,QACb,eAAsB,EAAA,SAAA;AAAoB,QAC1C,WAAW,EAAA,SAAA;AAAwC,QACrD,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,QACD,SAAA,EAAA,SAAA,GAAA,CAAA,WAAA,EAAA,SAAA,CAAA,CAAA,GAAA,KAAA,CAAA;AAED,OAAM,CAAA;AACJ,KAAO,CAAA,CAAA;AAAA,IACL,MAAA,QAAa,GAAAA,YAAA,CAAA,MAAA;AAAA,MAAA,OACV;AAAqC,QACxC,EAAG,CAAA,CAAA,CAAA,QAAe,CAAA;AAAgB,QAClC,EAAG,CAAA,EAAA,CAAG,QAAW,EAAA,kBAAe,CAAA,KAAA,CAAA;AAAA,QAChC,EAAG,CAAA,EAAA,CAAG,UAAS,EAAA,UAAe,CAAA,KAAA,CAAA;AAAA,QAChC,EAAA,CAAA,EAAA,CAAA,SAAA,EAAA,SAAA,CAAA,KAAA,CAAA;AAAA,QACD,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,KAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}