tdesign-mobile-vue
Version:
tdesign-mobile-vue
1 lines • 9.63 kB
Source Map (JSON)
{"version":3,"file":"action-sheet.mjs","sources":["../../src/action-sheet/action-sheet.tsx"],"sourcesContent":["import { computed, defineComponent, toRefs } from 'vue';\nimport TActionSheetGrid from './action-sheet-grid';\nimport TActionSheetList from './action-sheet-list';\nimport TButton from '../button';\nimport TPopup from '../popup';\nimport config from '../config';\nimport { useConfig, usePrefixClass } from '../hooks/useClass';\nimport useVModel from '../hooks/useVModel';\nimport props from './props';\nimport { ActionSheetItem, TdActionSheetProps } from './type';\n\nconst { prefix } = config;\n\nexport default defineComponent({\n name: `${prefix}-action-sheet`,\n props,\n emits: ['selected', 'update:modelValue', 'cancel', 'close', 'update:visible'],\n setup(props, context) {\n const actionSheetClass = usePrefixClass('action-sheet');\n const { globalConfig } = useConfig('actionSheet');\n\n const actionItems = computed(() => {\n return props.items.map((item: string | ActionSheetItem) => {\n if (typeof item === 'string') {\n return {\n label: item,\n };\n }\n return item;\n });\n });\n const { visible, modelValue } = toRefs(props);\n const [currentVisible] = useVModel(visible, modelValue, props.defaultVisible, () => {}, 'visible');\n\n const rootClasses = computed(() => ({\n [`${actionSheetClass.value}__content`]: true,\n }));\n const descriptionClasses = computed(() => ({\n [`${actionSheetClass.value}__description`]: true,\n [`${actionSheetClass.value}__description--left`]: props.align === 'left',\n [`${actionSheetClass.value}__description--grid`]: props.theme === 'grid',\n }));\n\n const hide = (trigger: string) => {\n context.emit('update:modelValue', false);\n props.onClose?.({ trigger });\n };\n\n const handleCancel = () => {\n props.onCancel?.();\n context.emit('update:modelValue', false);\n };\n\n const handleSelected = (index: number) => {\n props.onSelected?.(props?.items[index], index);\n hide('selected');\n };\n\n const handleClose = () => {\n hide('overlay');\n };\n\n return () => {\n const root = () => {\n const description = () => {\n if (props.description) {\n return <p class={descriptionClasses.value}>{props.description}</p>;\n }\n return null;\n };\n const list = () => {\n if (props.theme === 'list') {\n return <TActionSheetList align={props.align} items={actionItems.value} onSelected={handleSelected} />;\n }\n };\n const grid = () => {\n if (props.theme === 'grid') {\n return <TActionSheetGrid items={actionItems.value} count={props.count} onSelected={handleSelected} />;\n }\n };\n const cancel = () => {\n if (props.showCancel) {\n return (\n <div class={`${actionSheetClass.value}__footer`}>\n <div class={`${actionSheetClass.value}__gap-${props.theme}`}></div>\n <TButton class={`${actionSheetClass.value}__cancel`} variant=\"text\" block onClick={handleCancel}>\n {props.cancelText || globalConfig.value.cancel}\n </TButton>\n </div>\n );\n }\n };\n return (\n <div class={rootClasses.value}>\n {description()}\n {list()}\n {grid()}\n {cancel()}\n </div>\n );\n };\n return (\n <TPopup\n {...(props.popupProps as TdActionSheetProps['popupProps'])}\n visible={currentVisible.value}\n placement=\"bottom\"\n destroy-on-close={true}\n class={actionSheetClass.value}\n onClose={handleClose}\n showOverlay={props.showOverlay}\n >\n {root()}\n </TPopup>\n );\n };\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","prefix","config","defineComponent","name","props","emits","setup","context","actionSheetClass","usePrefixClass","_useConfig","useConfig","globalConfig","actionItems","computed","items","map","item","label","_toRefs","toRefs","visible","modelValue","_useVModel","useVModel","defaultVisible","_useVModel2","_slicedToArray","currentVisible","rootClasses","_defineProperty","concat","value","descriptionClasses","align","theme","hide","trigger","_props2$onClose","emit","onClose","handleCancel","_props2$onCancel","onCancel","handleSelected","index","_props2$onSelected","onSelected","handleClose","_slot","root","description","_createVNode","list","TActionSheetList","grid","TActionSheetGrid","count","cancel","showCancel","TButton","cancelText","TPopup","_mergeProps","popupProps","showOverlay","default","_default"],"mappings":"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"}