tdesign-mobile-vue
Version:
tdesign-mobile-vue
1 lines • 9.92 kB
Source Map (JSON)
{"version":3,"file":"action-sheet.mjs","sources":["../../src/action-sheet/action-sheet.tsx"],"sourcesContent":["import { watch, defineComponent, computed } from 'vue';\nimport { useDefault } from '../shared';\nimport ActionSheetList from './action-sheet-list';\nimport ActionSheetGrid from './action-sheet-grid';\nimport TPopup from '../popup';\nimport TButton from '../button';\nimport config from '../config';\nimport { TdActionSheetProps, ActionSheetItem } from './type';\nimport props from './props';\nimport { usePrefixClass, useConfig } from '../hooks/useClass';\n\nconst { prefix } = config;\n\nexport default defineComponent({\n name: `${prefix}-action-sheet`,\n components: {\n TPopup,\n TButton,\n ActionSheetList,\n ActionSheetGrid,\n },\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 [currentVisible] = useDefault<TdActionSheetProps['visible'], TdActionSheetProps>(\n props,\n context.emit,\n 'visible',\n 'visible-change',\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 watch(\n () => currentVisible.value,\n (val) => {\n currentVisible.value = val;\n },\n {\n immediate: true,\n deep: true,\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={descriptionClasses.value}>{props.description}</p>;\n }\n return null;\n };\n const list = () => {\n if (props.theme === 'list') {\n return <action-sheet-list align={props.align} items={actionItems.value} onSelected={handleSelected} />;\n }\n };\n const grid = () => {\n if (props.theme === 'grid') {\n return <action-sheet-grid 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 <t-button class={`${actionSheetClass.value}__cancel`} variant=\"text\" block onClick={handleCancel}>\n {props.cancelText || globalConfig.value.cancel}\n </t-button>\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 <t-popup\n visible={currentVisible.value}\n placement=\"bottom\"\n destroy-on-close={true}\n class={actionSheetClass.value}\n onClose={handleClose}\n >\n {root()}\n </t-popup>\n );\n };\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","prefix","config","defineComponent","name","components","TPopup","TButton","ActionSheetList","ActionSheetGrid","props","emits","setup","context","actionSheetClass","usePrefixClass","_useConfig","useConfig","globalConfig","actionItems","computed","items","map","item","label","_useDefault","useDefault","emit","_useDefault2","_slicedToArray","currentVisible","rootClasses","_defineProperty","concat","value","descriptionClasses","align","theme","watch","val","immediate","deep","hide","trigger","_props2$onClose","onClose","handleCancel","_props2$onCancel","onCancel","handleSelected","index","_props2$onSelected","onSelected","handleClose","_slot","root","description","_createVNode","list","_resolveComponent","grid","count","cancel","showCancel","cancelText"],"mappings":"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"}