tdesign-mobile-vue
Version:
tdesign-mobile-vue
1 lines • 14.6 kB
Source Map (JSON)
{"version":3,"file":"fab.mjs","sources":["../../src/fab/fab.tsx"],"sourcesContent":["import { defineComponent, ref, computed, onMounted, watch } from 'vue';\nimport config from '../config';\nimport FabProps from './props';\nimport { useTNodeJSX } from '../hooks/tnode';\nimport { usePrefixClass } from '../hooks/useClass';\nimport TButton from '../button';\nimport { TdFabProps } from './type';\nimport { reconvertUnit } from '../shared';\n\nconst { prefix } = config;\n\nconst getNumber = (num: string) => num.replace(/[^\\d]/g, '');\n\nexport default defineComponent({\n name: `${prefix}-fab`,\n props: FabProps,\n setup(props) {\n const renderTNodeJSX = useTNodeJSX();\n\n const fabClass = usePrefixClass('fab');\n const fabRef = ref();\n const fabButtonRef = ref();\n\n const handleClick = (e: MouseEvent) => {\n props.onClick?.({ e });\n };\n\n const mounted = ref(false);\n const fabButtonSize = ref({\n width: 48,\n height: 48,\n });\n const btnSwitchPos = ref({\n x: 16,\n y: 32,\n });\n const switchPos = ref({\n hasMoved: false, // exclude click event\n x: btnSwitchPos.value.x, // right\n y: btnSwitchPos.value.y, // bottom\n startX: 0,\n startY: 0,\n endX: 0,\n endY: 0,\n });\n\n const onTouchStart = (e: TouchEvent) => {\n props.onDragStart?.({ e });\n\n switchPos.value.startX = e.touches[0].pageX;\n switchPos.value.startY = e.touches[0].pageY;\n };\n\n const onTouchMove = (e: TouchEvent) => {\n e.stopPropagation();\n e.preventDefault();\n\n if (!props.draggable) {\n return;\n }\n\n if (e.touches.length <= 0) {\n return;\n }\n const offsetX = e.touches[0].pageX - switchPos.value.startX;\n const offsetY = e.touches[0].pageY - switchPos.value.startY;\n let x = Math.floor(switchPos.value.x - offsetX);\n let y = Math.floor(switchPos.value.y - offsetY);\n\n [x, y] = getSwitchButtonSafeAreaXY(x, y);\n\n if (props.draggable !== 'vertical') {\n btnSwitchPos.value.x = x;\n switchPos.value.endX = x;\n }\n if (props.draggable !== 'horizontal') {\n btnSwitchPos.value.y = y;\n switchPos.value.endY = y;\n }\n switchPos.value.hasMoved = true;\n };\n\n const getSwitchButtonSafeAreaXY = (x: number, y: number) => {\n const bottomThreshold = reconvertUnit(props.yBounds?.[1] ?? 0);\n const topThreshold = reconvertUnit(props.yBounds?.[0] ?? 0);\n\n const docWidth = Math.min(window.innerWidth, document.documentElement.clientWidth, screen.width);\n const docHeight = Math.min(window.innerHeight, document.documentElement.clientHeight, screen.height);\n\n const maxY = docHeight - fabButtonSize.value.height - topThreshold;\n const maxX = docWidth - fabButtonSize.value.width;\n\n x = Math.max(0, Math.min(maxX, x));\n y = Math.max(bottomThreshold, Math.min(maxY, y));\n\n return [x, y];\n };\n\n const onTouchEnd = (e: TouchEvent) => {\n if (!switchPos.value.hasMoved) {\n return;\n }\n props.onDragEnd?.({ e });\n switchPos.value.startX = 0;\n switchPos.value.startY = 0;\n switchPos.value.hasMoved = false;\n setSwitchPosition(switchPos.value.endX, switchPos.value.endY);\n };\n\n const setSwitchPosition = (switchX: number, switchY: number) => {\n [switchX, switchY] = getSwitchButtonSafeAreaXY(switchX, switchY);\n switchPos.value.x = switchX;\n switchPos.value.y = switchY;\n\n if (props.draggable !== 'vertical') {\n btnSwitchPos.value.x = switchX;\n }\n if (props.draggable !== 'horizontal') {\n btnSwitchPos.value.y = switchY;\n }\n };\n\n const fabStyle = computed(() => ({\n right: `${btnSwitchPos.value.x}px`,\n bottom: `${btnSwitchPos.value.y}px`,\n }));\n\n onMounted(() => {\n mounted.value = true;\n resetDraggableParams();\n\n const info = window.getComputedStyle(fabButtonRef.value.$el);\n fabButtonSize.value.height = +getNumber(info.height);\n fabButtonSize.value.width = +getNumber(info.width);\n });\n\n const getFabOriginStyle = () => {\n const info = window.getComputedStyle(fabRef.value);\n const { right, bottom } = info || {};\n\n return {\n right: +(getNumber(right) || 0),\n bottom: +(getNumber(bottom) || 0),\n };\n };\n\n const resetDraggableParams = () => {\n const { right, bottom } = getFabOriginStyle();\n\n btnSwitchPos.value.x = right;\n btnSwitchPos.value.y = bottom;\n\n switchPos.value.x = right;\n switchPos.value.y = bottom;\n };\n\n watch(\n () => props.style,\n () => {\n resetDraggableParams();\n },\n );\n\n return () => {\n const icon = () => renderTNodeJSX('icon');\n return (\n <div\n class={fabClass.value}\n style={mounted.value && props.draggable ? { ...fabStyle.value } : props.style}\n onClick={handleClick}\n onTouchstart={onTouchStart}\n onTouchmove={onTouchMove}\n onTouchend={onTouchEnd}\n ref={fabRef}\n >\n <TButton\n size=\"large\"\n theme=\"primary\"\n shape={props.text ? 'round' : 'circle'}\n class={`${fabClass.value}__button`}\n {...(props.buttonProps as TdFabProps['buttonProps'])}\n icon={icon}\n ref={fabButtonRef}\n >\n {props.text}\n </TButton>\n </div>\n );\n };\n },\n});\n"],"names":["prefix","config","getNumber","num","replace","defineComponent","name","props","FabProps","setup","renderTNodeJSX","useTNodeJSX","fabClass","usePrefixClass","fabRef","ref","fabButtonRef","handleClick","e","_props$onClick","onClick","call","mounted","fabButtonSize","width","height","btnSwitchPos","x","y","switchPos","hasMoved","value","startX","startY","endX","endY","onTouchStart","_props$onDragStart","onDragStart","touches","pageX","pageY","onTouchMove","stopPropagation","preventDefault","draggable","length","offsetX","offsetY","Math","floor","_getSwitchButtonSafeA","getSwitchButtonSafeAreaXY","_getSwitchButtonSafeA2","_slicedToArray","_props$yBounds$","_props$yBounds","_props$yBounds$2","_props$yBounds2","bottomThreshold","reconvertUnit","yBounds","topThreshold","docWidth","min","window","innerWidth","document","documentElement","clientWidth","screen","docHeight","innerHeight","clientHeight","maxY","maxX","max","onTouchEnd","_props$onDragEnd","onDragEnd","setSwitchPosition","switchX","switchY","_getSwitchButtonSafeA3","_getSwitchButtonSafeA4","fabStyle","computed","right","concat","bottom","onMounted","resetDraggableParams","info","getComputedStyle","$el","getFabOriginStyle","_ref","_getFabOriginStyle","watch","style","icon","_createVNode","_objectSpread","text","buttonProps"],"mappings":"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"}