// Generated by scripts/function-sources.js from reveal-on-screen.ts. Do not edit: // `node scripts/function-sources.js` rewrites it, and its drift test fails until it is current. /* tslint:disable */ /* eslint-disable */ export const REVEAL_ON_SCREEN_SOURCES = { revealOnScreen: "function revealOnScreen(variants, screen) {\n if (!variants || !variants.animate.clipPath) {\n return variants;\n }\n var onScreen = function (clip) {\n if (!screen || typeof clip !== 'string') {\n return clip;\n }\n var circle = /^circle\\(([\\d.]+)% at ([\\d.]+)px ([\\d.]+)px\\)$/.exec(clip);\n if (circle) {\n var measure = Math.sqrt((screen.width * screen.width + screen.height * screen.height) / 2);\n var radius = (parseFloat(circle[1]) / 100) * measure;\n return 'circle(' + radius + 'px at ' + circle[2] + 'px ' + circle[3] + 'px)';\n }\n var inset = /^inset\\((\\S+) (\\S+) (\\S+) (\\S+)\\)$/.exec(clip);\n if (inset) {\n var share = function (value) { return (parseFloat(value) || 0) / 100; };\n var upper = share(inset[1]) * screen.height;\n var lower = screen.height - share(inset[3]) * screen.height;\n return ('inset(' +\n upper +\n 'px ' +\n share(inset[2]) * 100 +\n '% calc(100% - ' +\n lower +\n 'px) ' +\n share(inset[4]) * 100 +\n '%)');\n }\n return clip;\n };\n var arriving = function (state) {\n return state.clipPath === undefined\n ? state\n : Object.assign({}, state, { clipPath: onScreen(state.clipPath) });\n };\n return {\n initial: arriving(variants.initial),\n animate: Object.assign({}, arriving(variants.animate), {\n transitionEnd: { clipPath: 'none' },\n }),\n exit: {},\n };\n}", }