UNPKG

tdesign-vue-next

Version:
1 lines 7.05 kB
{"version":3,"file":"check-tag.mjs","sources":["../../../components/tag/check-tag.tsx"],"sourcesContent":["import { defineComponent, computed, toRefs } from 'vue';\nimport props from './check-tag-props';\nimport { useVModel, useContent, usePrefixClass, useCommonClassName } from '@tdesign/shared-hooks';\n\nimport Tag from './tag';\nimport { TdCheckTagProps, TdTagProps } from './type';\nimport { ENTER_REG, SPACE_REG } from '@tdesign/common-js/common';\n\nexport default defineComponent({\n name: 'TCheckTag',\n props,\n setup(props: TdCheckTagProps) {\n const componentName = usePrefixClass('tag');\n const { SIZE } = useCommonClassName();\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 tagClass = computed(() => {\n return [\n `${componentName.value}`,\n `${componentName.value}--check`,\n SIZE.value[props.size],\n {\n [`${componentName.value}--checked`]: innerChecked.value,\n [`${componentName.value}--disabled`]: props.disabled,\n },\n ];\n });\n\n const checkTagProps = computed(() => {\n const checkedProps: TdTagProps = { theme: 'primary', ...props.checkedProps };\n const uncheckedProps: TdTagProps = { ...props.uncheckedProps };\n return innerChecked.value ? checkedProps : uncheckedProps;\n });\n\n const handleClick = ({ e }: { e: MouseEvent }) => {\n if (!props.disabled) {\n props.onClick?.({ e });\n setInnerChecked(!innerChecked.value, { e, value: props.value });\n }\n };\n\n const keyboardEventListener = (e: KeyboardEvent) => {\n const code = e.code || e.key?.trim();\n const isCheckedCode = SPACE_REG.test(code) || ENTER_REG.test(code);\n if (isCheckedCode) {\n e.preventDefault();\n setInnerChecked(!innerChecked.value, { e, value: props.value });\n }\n };\n\n const onCheckboxFocus = (e: FocusEvent) => {\n e.currentTarget.addEventListener('keydown', keyboardEventListener);\n };\n\n const onCheckboxBlur = (e: FocusEvent) => {\n e.currentTarget.removeEventListener('keydown', keyboardEventListener);\n };\n\n return () => {\n const tagContent = renderContent('default', 'content');\n return (\n <Tag\n class={tagClass.value}\n disabled={props.disabled}\n tabindex={props.disabled ? undefined : '0'}\n onFocus={onCheckboxFocus}\n onBlur={onCheckboxBlur}\n {...checkTagProps.value}\n onClick={handleClick}\n >\n {tagContent}\n </Tag>\n );\n };\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","props","setup","componentName","usePrefixClass","_useCommonClassName","useCommonClassName","SIZE","renderContent","useContent","_toRefs","toRefs","checked","modelValue","_useVModel","useVModel","defaultChecked","onChange","_useVModel2","_slicedToArray","innerChecked","setInnerChecked","tagClass","computed","concat","value","size","_defineProperty","disabled","checkTagProps","checkedProps","theme","uncheckedProps","_objectSpread","handleClick","_ref2","e","_props2$onClick","onClick","keyboardEventListener","_e$key","code","key","trim","isCheckedCode","SPACE_REG","test","ENTER_REG","preventDefault","onCheckboxFocus","currentTarget","addEventListener","onCheckboxBlur","removeEventListener","tagContent","_createVNode","Tag","_mergeProps","_default"],"mappings":"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"}