UNPKG

casc-cesium

Version:

Vue 3.x components for CesiumJS.

1 lines 9.27 kB
{"version":3,"file":"index.mjs","sources":["../../../../../packages/directives/ripple/index.ts"],"sourcesContent":["import { createDirective } from 'casc-cesium-utils/private/create'\nimport { css } from 'casc-cesium-utils/private/dom'\nimport { position, stop, addEvt, cleanEvt } from 'casc-cesium-utils/private/event'\nimport { isKeyCode } from 'casc-cesium-utils/private/key-composition'\nimport throttle from 'casc-cesium-utils/private/throttle'\n\nfunction showRipple(evt, el, ctx, forceCenter) {\n ctx.modifiers.stop === true && stop(evt)\n\n const color = ctx.modifiers.color\n let center = ctx.modifiers.center\n center = center === true || forceCenter === true\n\n const node = document.createElement('span'),\n innerNode = document.createElement('span'),\n pos = position(evt),\n { left, top, width, height } = el.getBoundingClientRect(),\n diameter = Math.sqrt(width * width + height * height),\n radius = diameter / 2,\n centerX = `${(width - diameter) / 2}px`,\n x = center ? centerX : `${pos.left - left - radius}px`,\n centerY = `${(height - diameter) / 2}px`,\n y = center ? centerY : `${pos.top - top - radius}px`\n\n innerNode.className = 'vc-ripple__inner'\n css(innerNode, {\n height: `${diameter}px`,\n width: `${diameter}px`,\n transform: `translate3d(${x},${y},0) scale3d(.2,.2,1)`,\n opacity: 0\n })\n\n node.className = `vc-ripple${color ? ' text-' + color : ''}`\n node.setAttribute('dir', 'ltr')\n node.appendChild(innerNode)\n el.appendChild(node)\n\n const abort = () => {\n node.remove()\n clearTimeout(timer)\n }\n ctx.abort.push(abort)\n\n let timer = setTimeout(() => {\n innerNode.classList.add('vc-ripple__inner--enter')\n innerNode.style.transform = `translate3d(${centerX},${centerY},0) scale3d(1,1,1)`\n innerNode.style.opacity = '0.2'\n\n timer = setTimeout(() => {\n innerNode.classList.remove('vc-ripple__inner--enter')\n innerNode.classList.add('vc-ripple__inner--leave')\n innerNode.style.opacity = '0'\n\n timer = setTimeout(() => {\n node.remove()\n ctx.abort.splice(ctx.abort.indexOf(abort), 1)\n }, 275)\n }, 250)\n }, 50)\n}\n\nfunction updateModifiers(ctx, { modifiers, value, arg, instance }) {\n // const cfg = Object.assign({}, instance.$q.config.ripple, modifiers, value)\n const cfg = Object.assign({}, modifiers, value)\n ctx.modifiers = {\n early: cfg.early === true,\n stop: cfg.stop === true,\n center: cfg.center === true,\n color: cfg.color || arg,\n keyCodes: [].concat(cfg.keyCodes || 13)\n }\n}\n\nexport default createDirective({\n name: 'ripple',\n\n beforeMount(el, binding) {\n const ctx = {\n enabled: binding.value !== false,\n modifiers: {} as any,\n abort: [],\n\n start(evt) {\n if (\n ctx.enabled === true &&\n evt.qSkipRipple !== true &&\n (ctx.modifiers.early === true ? ['mousedown', 'touchstart'].includes(evt.type) === true : evt.type === 'click')\n ) {\n showRipple(evt, el, ctx, evt.qKeyEvent === true)\n }\n },\n\n keystart: throttle(evt => {\n if (\n ctx.enabled === true &&\n evt.qSkipRipple !== true &&\n isKeyCode(evt, ctx.modifiers.keyCodes) === true &&\n evt.type === `key${ctx.modifiers.early === true ? 'down' : 'up'}`\n ) {\n showRipple(evt, el, ctx, true)\n }\n }, 300)\n }\n\n updateModifiers(ctx, binding)\n\n el.__vcripple = ctx\n\n addEvt(ctx, 'main', [\n [el, 'mousedown', 'start', 'passive'],\n [el, 'touchstart', 'start', 'passive'],\n [el, 'click', 'start', 'passive'],\n [el, 'keydown', 'keystart', 'passive'],\n [el, 'keyup', 'keystart', 'passive']\n ])\n },\n\n updated(el, binding) {\n if (binding.oldValue !== binding.value) {\n const ctx = el.__vcripple\n ctx.enabled = binding.value !== false\n\n if (ctx.enabled === true && Object(binding.value) === binding.value) {\n updateModifiers(ctx, binding)\n }\n }\n },\n\n beforeUnmount(el) {\n const ctx = el.__vcripple\n ctx.abort.forEach(fn => {\n fn()\n })\n cleanEvt(ctx, 'main')\n delete el._vcripple\n }\n})\n"],"names":[],"mappings":"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"}