tdesign-mobile-vue
Version:
tdesign-mobile-vue
1 lines • 7.5 kB
Source Map (JSON)
{"version":3,"file":"cell.mjs","sources":["../../src/cell/cell.tsx"],"sourcesContent":["import { computed, defineComponent } from 'vue';\nimport { ChevronRightIcon } from 'tdesign-icons-vue-next';\nimport { Hover } from '../shared';\nimport config from '../config';\nimport props from './props';\nimport { useFormDisabled } from '../form/hooks';\nimport { usePrefixClass } from '../hooks/useClass';\nimport { useContent, useTNodeJSX } from '../hooks/tnode';\n\nconst { prefix } = config;\n\nexport default defineComponent({\n name: `${prefix}-cell`,\n directives: { Hover },\n props,\n setup(props) {\n const readerTNodeJSX = useTNodeJSX();\n const readerTNodeContent = useContent();\n const disabled = useFormDisabled();\n const cellClass = usePrefixClass('cell');\n\n const cellClasses = computed(() => [\n `${cellClass.value}`,\n `${cellClass.value}--${props.align}`,\n {\n [`${cellClass.value}--borderless`]: !props.bordered,\n },\n ]);\n\n const hoverDisabled = computed(() => !props.hover || disabled.value);\n\n const handleClick = (e: MouseEvent) => {\n if (!disabled.value) {\n props.onClick?.({ e });\n }\n };\n\n const readerImage = () => {\n if (typeof props.image === 'string') {\n return <img src={props.image} class={`${cellClass.value}__left-image`} />;\n }\n const image = readerTNodeJSX('image');\n\n return image;\n };\n\n const readerLeft = () => {\n const leftIcon = readerTNodeJSX('leftIcon');\n return (\n <div class={`${cellClass.value}__left`}>\n {leftIcon && <div class={`${cellClass.value}__left-icon`}>{leftIcon}</div>}\n {readerImage()}\n </div>\n );\n };\n const readerTitle = () => {\n const title = readerTNodeJSX('title');\n if (!title) {\n return null;\n }\n const description = readerTNodeJSX('description');\n return (\n <div class={`${cellClass.value}__title`}>\n <div class={`${cellClass.value}__title-text`}>\n {title}\n {props.required && <span class={`${cellClass.value}--required`}> *</span>}\n </div>\n {description && <div class={`${cellClass.value}__description`}>{description}</div>}\n </div>\n );\n };\n const readerRight = () => {\n const rightIcon = props.arrow ? <ChevronRightIcon /> : readerTNodeJSX('rightIcon');\n if (!rightIcon) {\n return null;\n }\n return (\n <div class={`${cellClass.value}__right`}>\n <div class={`${cellClass.value}__right-icon`}>{rightIcon}</div>\n </div>\n );\n };\n\n return () => {\n const note = readerTNodeContent('default', 'note');\n return (\n <div\n v-hover={{ className: `${cellClass.value}--hover`, disabledHover: hoverDisabled.value }}\n class={cellClasses.value}\n onClick={handleClick}\n >\n {readerLeft()}\n {readerTitle()}\n {note && <div class={`${cellClass.value}__note`}>{note}</div>}\n {readerRight()}\n </div>\n );\n };\n },\n});\n"],"names":["prefix","config","defineComponent","name","directives","Hover","props","setup","readerTNodeJSX","useTNodeJSX","readerTNodeContent","useContent","disabled","useFormDisabled","cellClass","usePrefixClass","cellClasses","computed","concat","value","align","_defineProperty","bordered","hoverDisabled","hover","handleClick","e","_props2$onClick","onClick","readerImage","image","_createVNode","readerLeft","leftIcon","readerTitle","title","description","required","readerRight","rightIcon","arrow","ChevronRightIcon","note","_withDirectives","_resolveDirective","className","disabledHover"],"mappings":"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"}