UNPKG

tdesign-mobile-vue

Version:
1 lines 6.9 kB
{"version":3,"file":"action-sheet-list.mjs","sources":["../../src/action-sheet/action-sheet-list.tsx"],"sourcesContent":["import { computed, defineComponent, PropType, toRefs } from 'vue';\nimport TButton from '../button';\nimport TBadge from '../badge';\nimport { ActionSheetItem } from './type';\nimport { useTNodeDefault } from '../hooks/tnode';\nimport { usePrefixClass } from '../hooks/useClass';\n\nexport default defineComponent({\n props: {\n items: {\n type: Array as PropType<ActionSheetItem[]>,\n required: true,\n },\n align: {\n type: String as PropType<'left' | 'center'>,\n default: 'center',\n },\n },\n emits: ['selected'],\n setup(props, { emit }) {\n const actionSheetClass = usePrefixClass('action-sheet');\n\n const renderTNodeJSX = useTNodeDefault();\n\n const { align, items } = toRefs(props);\n const handleSelected = (index: number) => {\n emit('selected', index);\n };\n const itemClasses = computed(() => ({\n [`${actionSheetClass.value}__list-item`]: true,\n [`${actionSheetClass.value}__list-item--left`]: align.value === 'left',\n }));\n\n return () => {\n const renderButtonNode = () => {\n const renderBadgeNode = (item: ActionSheetItem) => {\n if (item.badge) {\n const content = () => {\n if (item.badge.dot || item.badge.count) {\n return (\n <TBadge\n count={item.badge.count}\n max-count={item.badge.maxCount || 99}\n dot={item.badge.dot}\n content={item.badge.content}\n size={item.badge.size}\n offset={item.badge.offset || [-16, 20]}\n >\n <span class={`${actionSheetClass.value}__list-item-text`}> {item.label}</span>\n </TBadge>\n );\n }\n return renderTNodeJSX('badge', {\n defaultNode: <span class={`${actionSheetClass.value}__list-item-text`}>{item.label}</span>,\n });\n };\n return content();\n }\n return <span class={`${actionSheetClass.value}__list-item-text`}>{item.label}</span>;\n };\n const buttonList = items.value.map((item, index) => (\n <TButton\n key={index}\n variant={'text'}\n block\n class={[itemClasses.value, { [`${actionSheetClass.value}__list-item--disabled`]: item.disabled }]}\n disabled={item.disabled}\n icon={item.icon}\n style={{ color: item.color }}\n onClick={() => handleSelected(index)}\n >\n {renderBadgeNode(item)}\n </TButton>\n ));\n return buttonList;\n };\n\n return <div class={`${actionSheetClass.value}__list`}>{renderButtonNode()}</div>;\n };\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","props","items","type","Array","required","align","String","default","emits","setup","_ref","emit","actionSheetClass","usePrefixClass","renderTNodeJSX","useTNodeDefault","_toRefs","toRefs","handleSelected","index","itemClasses","computed","_defineProperty","concat","value","renderButtonNode","renderBadgeNode","item","badge","content","dot","count","_createVNode","TBadge","maxCount","size","offset","_default","label","defaultNode","buttonList","map","_slot","TButton","disabled","icon","color","onClick"],"mappings":"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"}