UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 5.49 kB
{"version":3,"file":"checkbox-button.vue2.mjs","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, checkboxPropsDefaults } from './checkbox'\n\nimport type { CSSProperties } from 'vue'\nimport type { CheckboxProps } from './checkbox'\n\ndefineOptions({\n name: 'ElCheckboxButton',\n})\n\nconst props = withDefaults(defineProps<CheckboxProps>(), checkboxPropsDefaults)\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":["_createElementBlock","_withDirectives","_createElementVNode","_mergeProps","_unref","$slots","_normalizeClass","_normalizeStyle","_renderSlot"],"mappings":"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"}