tdesign-mobile-vue
Version:
tdesign-mobile-vue
1 lines • 9.46 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}`,\n `${actionSheetClass.value}--${props.theme}`,\n `${actionSheetClass.value}--${props.align}`,\n {\n [`${actionSheetClass.value}--no-description`]: !props.description,\n },\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={`${actionSheetClass.value}__description`}>{props.description}</p>;\n }\n return null;\n };\n const list = () => {\n if (props.theme === 'list') {\n return <TActionSheetList 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={`${actionSheetClass.value}__content`}>\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={rootClasses.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","concat","value","theme","align","_defineProperty","description","hide","trigger","_props2$onClose","emit","onClose","handleCancel","_props2$onCancel","onCancel","handleSelected","index","_props2$onSelected","onSelected","handleClose","_slot","root","_createVNode","list","TActionSheetList","grid","TActionSheetGrid","count","cancel","showCancel","TButton","cancelText","TPopup","_mergeProps","popupProps","showOverlay","default","_default"],"mappings":"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"}