1 line
15 KiB
JSON
1 line
15 KiB
JSON
{"ast":null,"code":"\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport raf from \"rc-util/es/raf\";\nimport { render, unmount } from \"rc-util/es/React/render\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport { TARGET_CLS } from './interface';\nimport { getTargetWaveColor } from './util';\nfunction validateNum(value) {\n return Number.isNaN(value) ? 0 : value;\n}\nconst WaveEffect = props => {\n const {\n className,\n target,\n component\n } = props;\n const divRef = React.useRef(null);\n const [color, setWaveColor] = React.useState(null);\n const [borderRadius, setBorderRadius] = React.useState([]);\n const [left, setLeft] = React.useState(0);\n const [top, setTop] = React.useState(0);\n const [width, setWidth] = React.useState(0);\n const [height, setHeight] = React.useState(0);\n const [enabled, setEnabled] = React.useState(false);\n const waveStyle = {\n left,\n top,\n width,\n height,\n borderRadius: borderRadius.map(radius => `${radius}px`).join(' ')\n };\n if (color) {\n waveStyle['--wave-color'] = color;\n }\n function syncPos() {\n const nodeStyle = getComputedStyle(target);\n // Get wave color from target\n setWaveColor(getTargetWaveColor(target));\n const isStatic = nodeStyle.position === 'static';\n // Rect\n const {\n borderLeftWidth,\n borderTopWidth\n } = nodeStyle;\n setLeft(isStatic ? target.offsetLeft : validateNum(-parseFloat(borderLeftWidth)));\n setTop(isStatic ? target.offsetTop : validateNum(-parseFloat(borderTopWidth)));\n setWidth(target.offsetWidth);\n setHeight(target.offsetHeight);\n // Get border radius\n const {\n borderTopLeftRadius,\n borderTopRightRadius,\n borderBottomLeftRadius,\n borderBottomRightRadius\n } = nodeStyle;\n setBorderRadius([borderTopLeftRadius, borderTopRightRadius, borderBottomRightRadius, borderBottomLeftRadius].map(radius => validateNum(parseFloat(radius))));\n }\n React.useEffect(() => {\n if (target) {\n // We need delay to check position here\n // since UI may change after click\n const id = raf(() => {\n syncPos();\n setEnabled(true);\n });\n // Add resize observer to follow size\n let resizeObserver;\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(syncPos);\n resizeObserver.observe(target);\n }\n return () => {\n raf.cancel(id);\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();\n };\n }\n }, []);\n if (!enabled) {\n return null;\n }\n const isSmallComponent = (component === 'Checkbox' || component === 'Radio') && (target === null || target === void 0 ? void 0 : target.classList.contains(TARGET_CLS));\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: true,\n motionAppear: true,\n motionName: \"wave-motion\",\n motionDeadline: 5000,\n onAppearEnd: (_, event) => {\n var _a;\n if (event.deadline || event.propertyName === 'opacity') {\n const holder = (_a = divRef.current) === null || _a === void 0 ? void 0 : _a.parentElement;\n unmount(holder).then(() => {\n holder === null || holder === void 0 ? void 0 : holder.remove();\n });\n }\n return false;\n }\n }, (_ref, ref) => {\n let {\n className: motionClassName\n } = _ref;\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: composeRef(divRef, ref),\n className: classNames(className, motionClassName, {\n 'wave-quick': isSmallComponent\n }),\n style: waveStyle\n });\n });\n};\nconst showWaveEffect = (target, info) => {\n var _a;\n const {\n component\n } = info;\n // Skip for unchecked checkbox\n if (component === 'Checkbox' && !((_a = target.querySelector('input')) === null || _a === void 0 ? void 0 : _a.checked)) {\n return;\n }\n // Create holder\n const holder = document.createElement('div');\n holder.style.position = 'absolute';\n holder.style.left = '0px';\n holder.style.top = '0px';\n target === null || target === void 0 ? void 0 : target.insertBefore(holder, target === null || target === void 0 ? void 0 : target.firstChild);\n render( /*#__PURE__*/React.createElement(WaveEffect, Object.assign({}, info, {\n target: target\n })), holder);\n};\nexport default showWaveEffect;","map":{"version":3,"names":["React","classNames","CSSMotion","raf","render","unmount","composeRef","TARGET_CLS","getTargetWaveColor","validateNum","value","Number","isNaN","WaveEffect","props","className","target","component","divRef","useRef","color","setWaveColor","useState","borderRadius","setBorderRadius","left","setLeft","top","setTop","width","setWidth","height","setHeight","enabled","setEnabled","waveStyle","map","radius","join","syncPos","nodeStyle","getComputedStyle","isStatic","position","borderLeftWidth","borderTopWidth","offsetLeft","parseFloat","offsetTop","offsetWidth","offsetHeight","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","useEffect","id","resizeObserver","ResizeObserver","observe","cancel","disconnect","isSmallComponent","classList","contains","createElement","visible","motionAppear","motionName","motionDeadline","onAppearEnd","_","event","_a","deadline","propertyName","holder","current","parentElement","then","remove","_ref","ref","motionClassName","style","showWaveEffect","info","querySelector","checked","document","insertBefore","firstChild","Object","assign"],"sources":["C:/Users/Аришина)/source/repos/PromoCursed/node_modules/antd/es/_util/wave/WaveEffect.js"],"sourcesContent":["\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport raf from \"rc-util/es/raf\";\nimport { render, unmount } from \"rc-util/es/React/render\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport { TARGET_CLS } from './interface';\nimport { getTargetWaveColor } from './util';\nfunction validateNum(value) {\n return Number.isNaN(value) ? 0 : value;\n}\nconst WaveEffect = props => {\n const {\n className,\n target,\n component\n } = props;\n const divRef = React.useRef(null);\n const [color, setWaveColor] = React.useState(null);\n const [borderRadius, setBorderRadius] = React.useState([]);\n const [left, setLeft] = React.useState(0);\n const [top, setTop] = React.useState(0);\n const [width, setWidth] = React.useState(0);\n const [height, setHeight] = React.useState(0);\n const [enabled, setEnabled] = React.useState(false);\n const waveStyle = {\n left,\n top,\n width,\n height,\n borderRadius: borderRadius.map(radius => `${radius}px`).join(' ')\n };\n if (color) {\n waveStyle['--wave-color'] = color;\n }\n function syncPos() {\n const nodeStyle = getComputedStyle(target);\n // Get wave color from target\n setWaveColor(getTargetWaveColor(target));\n const isStatic = nodeStyle.position === 'static';\n // Rect\n const {\n borderLeftWidth,\n borderTopWidth\n } = nodeStyle;\n setLeft(isStatic ? target.offsetLeft : validateNum(-parseFloat(borderLeftWidth)));\n setTop(isStatic ? target.offsetTop : validateNum(-parseFloat(borderTopWidth)));\n setWidth(target.offsetWidth);\n setHeight(target.offsetHeight);\n // Get border radius\n const {\n borderTopLeftRadius,\n borderTopRightRadius,\n borderBottomLeftRadius,\n borderBottomRightRadius\n } = nodeStyle;\n setBorderRadius([borderTopLeftRadius, borderTopRightRadius, borderBottomRightRadius, borderBottomLeftRadius].map(radius => validateNum(parseFloat(radius))));\n }\n React.useEffect(() => {\n if (target) {\n // We need delay to check position here\n // since UI may change after click\n const id = raf(() => {\n syncPos();\n setEnabled(true);\n });\n // Add resize observer to follow size\n let resizeObserver;\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(syncPos);\n resizeObserver.observe(target);\n }\n return () => {\n raf.cancel(id);\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();\n };\n }\n }, []);\n if (!enabled) {\n return null;\n }\n const isSmallComponent = (component === 'Checkbox' || component === 'Radio') && (target === null || target === void 0 ? void 0 : target.classList.contains(TARGET_CLS));\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: true,\n motionAppear: true,\n motionName: \"wave-motion\",\n motionDeadline: 5000,\n onAppearEnd: (_, event) => {\n var _a;\n if (event.deadline || event.propertyName === 'opacity') {\n const holder = (_a = divRef.current) === null || _a === void 0 ? void 0 : _a.parentElement;\n unmount(holder).then(() => {\n holder === null || holder === void 0 ? void 0 : holder.remove();\n });\n }\n return false;\n }\n }, (_ref, ref) => {\n let {\n className: motionClassName\n } = _ref;\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: composeRef(divRef, ref),\n className: classNames(className, motionClassName, {\n 'wave-quick': isSmallComponent\n }),\n style: waveStyle\n });\n });\n};\nconst showWaveEffect = (target, info) => {\n var _a;\n const {\n component\n } = info;\n // Skip for unchecked checkbox\n if (component === 'Checkbox' && !((_a = target.querySelector('input')) === null || _a === void 0 ? void 0 : _a.checked)) {\n return;\n }\n // Create holder\n const holder = document.createElement('div');\n holder.style.position = 'absolute';\n holder.style.left = '0px';\n holder.style.top = '0px';\n target === null || target === void 0 ? void 0 : target.insertBefore(holder, target === null || target === void 0 ? void 0 : target.firstChild);\n render( /*#__PURE__*/React.createElement(WaveEffect, Object.assign({}, info, {\n target: target\n })), holder);\n};\nexport default showWaveEffect;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |