tdesign-mobile-vue
Version:
tdesign-mobile-vue
1 lines • 7.1 kB
Source Map (JSON)
{"version":3,"file":"check-tag.mjs","sources":["../../src/tag/check-tag.tsx"],"sourcesContent":["import { defineComponent, computed, toRefs } from 'vue';\nimport { CloseIcon } from 'tdesign-icons-vue-next';\nimport config from '../config';\nimport CheckTagProps from './check-tag-props';\nimport { usePrefixClass } from '../hooks/useClass';\nimport { useContent, useTNodeJSX } from '../hooks/tnode';\nimport { useVModel } from '../shared';\n\nconst { prefix } = config;\n\nexport default defineComponent({\n name: `${prefix}-check-tag`,\n props: CheckTagProps,\n setup(props) {\n const tagClass = usePrefixClass('tag');\n const renderTNodeJSX = useTNodeJSX();\n const renderContent = useContent();\n\n const { checked, modelValue } = toRefs(props);\n const [innerChecked, setInnerChecked] = useVModel(\n checked,\n modelValue,\n props.defaultChecked,\n props.onChange,\n 'checked',\n );\n\n const contentIsArray = computed(() => {\n if (Array.isArray(props.content) && props.content.length === 2) {\n return true;\n }\n return false;\n });\n\n const tagClasses = computed(() => [\n `${tagClass.value}`,\n `${tagClass.value}--checkable`,\n `${tagClass.value}--${props.shape}`,\n `${tagClass.value}--${innerChecked.value ? 'primary' : 'default'}`,\n `${tagClass.value}--${props.size}`,\n `${tagClass.value}--${props.variant}`,\n {\n [`${tagClass.value}--closable`]: props.closable,\n [`${tagClass.value}--disabled`]: props.disabled,\n [`${tagClass.value}--checked`]: !props.disabled && innerChecked.value,\n },\n ]);\n\n const handleClick = (e: MouseEvent) => {\n if (!props.disabled) {\n props.onClick?.({ e });\n setInnerChecked(!innerChecked.value);\n }\n };\n\n const handleClose = (e: MouseEvent): void => {\n e.stopPropagation();\n if (!props.disabled) {\n props.onClose?.({ e });\n }\n };\n\n return () => {\n const icon = renderTNodeJSX('icon');\n\n const readerText = () => {\n if (contentIsArray.value) {\n return innerChecked.value ? props.content[0] : props.content[1];\n }\n\n const content = renderContent('default', 'content');\n\n return content;\n };\n\n return (\n <span class={tagClasses.value} aria-disabled={props.disabled} role=\"button\" onClick={handleClick}>\n {icon && <span class={`${tagClass.value}__icon`}>{icon}</span>}\n <span class={`${tagClass.value}__text`}>{readerText()}</span>\n {props.closable && (\n <span class={`${tagClass.value}__icon-close`} onClick={handleClose}>\n <CloseIcon />\n </span>\n )}\n </span>\n );\n };\n },\n});\n"],"names":["prefix","config","defineComponent","name","props","CheckTagProps","setup","tagClass","usePrefixClass","renderTNodeJSX","useTNodeJSX","renderContent","useContent","_toRefs","toRefs","checked","modelValue","_useVModel","useVModel","defaultChecked","onChange","_useVModel2","_slicedToArray","innerChecked","setInnerChecked","contentIsArray","computed","Array","isArray","content","length","tagClasses","concat","value","shape","size","variant","_defineProperty","closable","disabled","handleClick","e","_props$onClick","onClick","call","handleClose","stopPropagation","_props$onClose","onClose","icon","readerText","_createVNode","CloseIcon"],"mappings":"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"}