UNPKG

tdesign-vue-next

Version:
1 lines 6.4 kB
{"version":3,"file":"timeline.mjs","sources":["../../../components/timeline/timeline.tsx"],"sourcesContent":["import { defineComponent, provide, computed } from 'vue';\nimport TimeLineProps from './props';\nimport { TimelineInjectKey, DefaultAlign } from './hooks';\nimport { usePrefixClass, useChildComponentSlots } from '@tdesign/shared-hooks';\n\nimport TimelineItem from './timeline-item';\nimport log from '@tdesign/common-js/log/index';\n\nexport default defineComponent({\n name: 'TTimeline',\n props: TimeLineProps,\n setup(props) {\n const COMPONENT_NAME = usePrefixClass('timeline');\n const renderAlign = computed(() => {\n const { labelAlign, layout } = props;\n let res = layout === 'vertical' ? 'left' : 'top';\n if (layout === 'vertical' && labelAlign) {\n const index = DefaultAlign.horizontal.indexOf(labelAlign);\n const isError = index !== -1;\n isError && log.warn('Timeline', 'If layout is vertical, align should be \"left\",\"alternate\" or \"right\" ');\n res = isError ? DefaultAlign.vertical[index] : labelAlign;\n }\n if (layout === 'horizontal' && labelAlign) {\n const index = DefaultAlign.vertical.indexOf(labelAlign);\n const isError = index !== -1;\n isError && log.warn('Timeline', 'If layout is horizontal, align should be \"top\",\"alternate\" or \"bottom\" ');\n res = isError ? DefaultAlign.horizontal[index] : labelAlign;\n }\n return res;\n });\n\n const TimeLineProvide = computed(() => {\n const { theme, reverse, layout, labelAlign, mode } = props;\n return {\n theme,\n reverse,\n itemsStatus: [''],\n layout,\n globalAlign: labelAlign,\n mode,\n renderAlign: renderAlign.value,\n };\n });\n\n const hasLabelItem = 1;\n provide(TimelineInjectKey, TimeLineProvide);\n\n return () => {\n const getChildComponentSlots = useChildComponentSlots();\n let timelineItems = getChildComponentSlots('TTimelineItem');\n if (props.reverse) timelineItems = timelineItems.reverse();\n return (\n <ul\n class={[\n `${COMPONENT_NAME.value}`,\n {\n [`${COMPONENT_NAME.value}-${renderAlign.value}`]: true,\n [`${COMPONENT_NAME.value}-reverse`]: props.reverse,\n [`${COMPONENT_NAME.value}-${props.layout}`]: true,\n [`${COMPONENT_NAME.value}-label`]: hasLabelItem,\n [`${COMPONENT_NAME.value}-label--${props.mode}`]: true,\n },\n ]}\n >\n {timelineItems.map((item, index) => (\n <TimelineItem\n {...item.props}\n index={index}\n class={{ [`${COMPONENT_NAME.value}-item--last`]: index === timelineItems.length - 1 }}\n v-slots={item.children}\n ></TimelineItem>\n ))}\n </ul>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","TimeLineProps","setup","COMPONENT_NAME","usePrefixClass","renderAlign","computed","labelAlign","layout","res","index","DefaultAlign","horizontal","indexOf","isError","log","warn","vertical","TimeLineProvide","theme","reverse","mode","itemsStatus","globalAlign","value","hasLabelItem","provide","TimelineInjectKey","getChildComponentSlots","useChildComponentSlots","timelineItems","_createVNode","concat","_defineProperty","map","item","TimelineItem","_mergeProps","length","children"],"mappings":"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"}