UNPKG

hongluan-ui

Version:
1 lines 3.58 kB
{"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}