Current Path : /var/www/www-root/data/www/www.monolith-realty.ru/bitrix/js/ui/confetti/dist/ |
Current File : /var/www/www-root/data/www/www.monolith-realty.ru/bitrix/js/ui/confetti/dist/confetti.bundle.js.map |
{"version":3,"file":"confetti.bundle.js","sources":["../src/confetti.module.mjs","../src/index.js"],"sourcesContent":["// canvas-confetti v1.2.0 built on 2020-09-03T11:51:26.027Z\nvar module = {};\n\n// source content\n(function main(global, module, isWorker, workerSize) {\n var canUseWorker = !!(\n global.Worker &&\n global.Blob &&\n global.Promise &&\n global.OffscreenCanvas &&\n global.HTMLCanvasElement &&\n global.HTMLCanvasElement.prototype.transferControlToOffscreen &&\n global.URL &&\n global.URL.createObjectURL);\n\n function noop() {}\n\n // create a promise if it exists, otherwise, just\n // call the function directly\n function promise(func) {\n var ModulePromise = module.exports.Promise;\n var Prom = ModulePromise !== void 0 ? ModulePromise : global.Promise;\n\n if (typeof Prom === 'function') {\n return new Prom(func);\n }\n\n func(noop, noop);\n\n return null;\n }\n\n var raf = (function () {\n var TIME = Math.floor(1000 / 60);\n var frame, cancel;\n var frames = {};\n var lastFrameTime = 0;\n\n if (typeof requestAnimationFrame === 'function' && typeof cancelAnimationFrame === 'function') {\n frame = function (cb) {\n var id = Math.random();\n\n frames[id] = requestAnimationFrame(function onFrame(time) {\n if (lastFrameTime === time || lastFrameTime + TIME - 1 < time) {\n lastFrameTime = time;\n delete frames[id];\n\n cb();\n } else {\n frames[id] = requestAnimationFrame(onFrame);\n }\n });\n\n return id;\n };\n cancel = function (id) {\n if (frames[id]) {\n cancelAnimationFrame(frames[id]);\n }\n };\n } else {\n frame = function (cb) {\n return setTimeout(cb, TIME);\n };\n cancel = function (timer) {\n return clearTimeout(timer);\n };\n }\n\n return { frame: frame, cancel: cancel };\n }());\n\n var getWorker = (function () {\n var worker;\n var prom;\n var resolves = {};\n\n function decorate(worker) {\n function execute(options, callback) {\n worker.postMessage({ options: options || {}, callback: callback });\n }\n worker.init = function initWorker(canvas) {\n var offscreen = canvas.transferControlToOffscreen();\n worker.postMessage({ canvas: offscreen }, [offscreen]);\n };\n\n worker.fire = function fireWorker(options, size, done) {\n if (prom) {\n execute(options, null);\n return prom;\n }\n\n var id = Math.random().toString(36).slice(2);\n\n prom = promise(function (resolve) {\n function workerDone(msg) {\n if (msg.data.callback !== id) {\n return;\n }\n\n delete resolves[id];\n worker.removeEventListener('message', workerDone);\n\n prom = null;\n done();\n resolve();\n }\n\n worker.addEventListener('message', workerDone);\n execute(options, id);\n\n resolves[id] = workerDone.bind(null, { data: { callback: id }});\n });\n\n return prom;\n };\n\n worker.reset = function resetWorker() {\n worker.postMessage({ reset: true });\n\n for (var id in resolves) {\n resolves[id]();\n delete resolves[id];\n }\n };\n }\n\n return function () {\n if (worker) {\n return worker;\n }\n\n if (!isWorker && canUseWorker) {\n var code = [\n 'var CONFETTI, SIZE = {}, module = {};',\n '(' + main.toString() + ')(this, module, true, SIZE);',\n 'onmessage = function(msg) {',\n ' if (msg.data.options) {',\n ' CONFETTI(msg.data.options).then(function () {',\n ' if (msg.data.callback) {',\n ' postMessage({ callback: msg.data.callback });',\n ' }',\n ' });',\n ' } else if (msg.data.reset) {',\n ' CONFETTI.reset();',\n ' } else if (msg.data.resize) {',\n ' SIZE.width = msg.data.resize.width;',\n ' SIZE.height = msg.data.resize.height;',\n ' } else if (msg.data.canvas) {',\n ' SIZE.width = msg.data.canvas.width;',\n ' SIZE.height = msg.data.canvas.height;',\n ' CONFETTI = module.exports.create(msg.data.canvas);',\n ' }',\n '}',\n ].join('\\n');\n try {\n worker = new Worker(URL.createObjectURL(new Blob([code])));\n } catch (e) {\n // eslint-disable-next-line no-console\n typeof console !== undefined && typeof console.warn === 'function' ? console.warn('рџЋЉ Count not load worker', e) : null;\n\n return null;\n }\n\n decorate(worker);\n }\n\n return worker;\n };\n })();\n\n var defaults = {\n particleCount: 50,\n angle: 90,\n spread: 45,\n startVelocity: 45,\n decay: 0.9,\n gravity: 1,\n ticks: 200,\n x: 0.5,\n y: 0.5,\n shapes: ['square', 'circle'],\n zIndex: 100,\n colors: [\n '#26ccff',\n '#a25afd',\n '#ff5e7e',\n '#88ff5a',\n '#fcff42',\n '#ffa62d',\n '#ff36ff'\n ],\n // probably should be true, but back-compat\n disableForReducedMotion: false\n };\n\n function convert(val, transform) {\n return transform ? transform(val) : val;\n }\n\n function isOk(val) {\n return !(val === null || val === undefined);\n }\n\n function prop(options, name, transform) {\n return convert(\n options && isOk(options[name]) ? options[name] : defaults[name],\n transform\n );\n }\n\n function randomInt(min, max) {\n // [min, max)\n return Math.floor(Math.random() * (max - min)) + min;\n }\n\n function toDecimal(str) {\n return parseInt(str, 16);\n }\n\n function hexToRgb(str) {\n var val = String(str).replace(/[^0-9a-f]/gi, '');\n\n if (val.length < 6) {\n val = val[0]+val[0]+val[1]+val[1]+val[2]+val[2];\n }\n\n return {\n r: toDecimal(val.substring(0,2)),\n g: toDecimal(val.substring(2,4)),\n b: toDecimal(val.substring(4,6))\n };\n }\n\n function getOrigin(options) {\n var origin = prop(options, 'origin', Object);\n origin.x = prop(origin, 'x', Number);\n origin.y = prop(origin, 'y', Number);\n\n return origin;\n }\n\n function setCanvasWindowSize(canvas) {\n canvas.width = document.documentElement.clientWidth;\n canvas.height = document.documentElement.clientHeight;\n }\n\n function setCanvasRectSize(canvas) {\n var rect = canvas.getBoundingClientRect();\n canvas.width = rect.width;\n canvas.height = rect.height;\n }\n\n function getCanvas(zIndex) {\n var canvas = document.createElement('canvas');\n\n canvas.style.position = 'fixed';\n canvas.style.top = '0px';\n canvas.style.left = '0px';\n canvas.style.pointerEvents = 'none';\n canvas.style.zIndex = zIndex;\n\n return canvas;\n }\n\n function ellipse(context, x, y, radiusX, radiusY, rotation, startAngle, endAngle, antiClockwise) {\n context.save();\n context.translate(x, y);\n context.rotate(rotation);\n context.scale(radiusX, radiusY);\n context.arc(0, 0, 1, startAngle, endAngle, antiClockwise);\n context.restore();\n }\n\n function randomPhysics(opts) {\n var radAngle = opts.angle * (Math.PI / 180);\n var radSpread = opts.spread * (Math.PI / 180);\n\n return {\n x: opts.x,\n y: opts.y,\n wobble: Math.random() * 10,\n velocity: (opts.startVelocity * 0.5) + (Math.random() * opts.startVelocity),\n angle2D: -radAngle + ((0.5 * radSpread) - (Math.random() * radSpread)),\n tiltAngle: Math.random() * Math.PI,\n color: hexToRgb(opts.color),\n shape: opts.shape,\n tick: 0,\n totalTicks: opts.ticks,\n decay: opts.decay,\n random: Math.random() + 5,\n tiltSin: 0,\n tiltCos: 0,\n wobbleX: 0,\n wobbleY: 0,\n gravity: opts.gravity * 3,\n ovalScalar: 0.6\n };\n }\n\n function updateFetti(context, fetti) {\n fetti.x += Math.cos(fetti.angle2D) * fetti.velocity;\n fetti.y += Math.sin(fetti.angle2D) * fetti.velocity + fetti.gravity;\n fetti.wobble += 0.1;\n fetti.velocity *= fetti.decay;\n fetti.tiltAngle += 0.1;\n fetti.tiltSin = Math.sin(fetti.tiltAngle);\n fetti.tiltCos = Math.cos(fetti.tiltAngle);\n fetti.random = Math.random() + 5;\n fetti.wobbleX = fetti.x + (10 * Math.cos(fetti.wobble));\n fetti.wobbleY = fetti.y + (10 * Math.sin(fetti.wobble));\n\n var progress = (fetti.tick++) / fetti.totalTicks;\n\n var x1 = fetti.x + (fetti.random * fetti.tiltCos);\n var y1 = fetti.y + (fetti.random * fetti.tiltSin);\n var x2 = fetti.wobbleX + (fetti.random * fetti.tiltCos);\n var y2 = fetti.wobbleY + (fetti.random * fetti.tiltSin);\n\n context.fillStyle = 'rgba(' + fetti.color.r + ', ' + fetti.color.g + ', ' + fetti.color.b + ', ' + (1 - progress) + ')';\n context.beginPath();\n\n if (fetti.shape === 'circle') {\n context.ellipse ?\n context.ellipse(fetti.x, fetti.y, Math.abs(x2 - x1) * fetti.ovalScalar, Math.abs(y2 - y1) * fetti.ovalScalar, Math.PI / 10 * fetti.wobble, 0, 2 * Math.PI) :\n ellipse(context, fetti.x, fetti.y, Math.abs(x2 - x1) * fetti.ovalScalar, Math.abs(y2 - y1) * fetti.ovalScalar, Math.PI / 10 * fetti.wobble, 0, 2 * Math.PI);\n } else {\n context.moveTo(Math.floor(fetti.x), Math.floor(fetti.y));\n context.lineTo(Math.floor(fetti.wobbleX), Math.floor(y1));\n context.lineTo(Math.floor(x2), Math.floor(y2));\n context.lineTo(Math.floor(x1), Math.floor(fetti.wobbleY));\n }\n\n context.closePath();\n context.fill();\n\n return fetti.tick < fetti.totalTicks;\n }\n\n function animate(canvas, fettis, resizer, size, done) {\n var animatingFettis = fettis.slice();\n var context = canvas.getContext('2d');\n var animationFrame;\n var destroy;\n\n var prom = promise(function (resolve) {\n function onDone() {\n animationFrame = destroy = null;\n\n context.clearRect(0, 0, size.width, size.height);\n\n done();\n resolve();\n }\n\n function update() {\n if (isWorker && !(size.width === workerSize.width && size.height === workerSize.height)) {\n size.width = canvas.width = workerSize.width;\n size.height = canvas.height = workerSize.height;\n }\n\n if (!size.width && !size.height) {\n resizer(canvas);\n size.width = canvas.width;\n size.height = canvas.height;\n }\n\n context.clearRect(0, 0, size.width, size.height);\n\n animatingFettis = animatingFettis.filter(function (fetti) {\n return updateFetti(context, fetti);\n });\n\n if (animatingFettis.length) {\n animationFrame = raf.frame(update);\n } else {\n onDone();\n }\n }\n\n animationFrame = raf.frame(update);\n destroy = onDone;\n });\n\n return {\n addFettis: function (fettis) {\n animatingFettis = animatingFettis.concat(fettis);\n\n return prom;\n },\n canvas: canvas,\n promise: prom,\n reset: function () {\n if (animationFrame) {\n raf.cancel(animationFrame);\n }\n\n if (destroy) {\n destroy();\n }\n }\n };\n }\n\n function confettiCannon(canvas, globalOpts) {\n var isLibCanvas = !canvas;\n var allowResize = !!prop(globalOpts || {}, 'resize');\n var globalDisableForReducedMotion = prop(globalOpts, 'disableForReducedMotion', Boolean);\n var shouldUseWorker = canUseWorker && !!prop(globalOpts || {}, 'useWorker');\n var worker = shouldUseWorker ? getWorker() : null;\n var resizer = isLibCanvas ? setCanvasWindowSize : setCanvasRectSize;\n var initialized = (canvas && worker) ? !!canvas.__confetti_initialized : false;\n var preferLessMotion = typeof matchMedia === 'function' && matchMedia('(prefers-reduced-motion)').matches;\n var animationObj;\n\n function fireLocal(options, size, done) {\n var particleCount = prop(options, 'particleCount', Math.floor);\n var angle = prop(options, 'angle', Number);\n var spread = prop(options, 'spread', Number);\n var startVelocity = prop(options, 'startVelocity', Number);\n var decay = prop(options, 'decay', Number);\n var gravity = prop(options, 'gravity', Number);\n var colors = prop(options, 'colors');\n var ticks = prop(options, 'ticks', Number);\n var shapes = prop(options, 'shapes');\n var origin = getOrigin(options);\n\n var temp = particleCount;\n var fettis = [];\n\n var startX = canvas.width * origin.x;\n var startY = canvas.height * origin.y;\n\n while (temp--) {\n fettis.push(\n randomPhysics({\n x: startX,\n y: startY,\n angle: angle,\n spread: spread,\n startVelocity: startVelocity,\n color: colors[temp % colors.length],\n shape: shapes[randomInt(0, shapes.length)],\n ticks: ticks,\n decay: decay,\n gravity: gravity\n })\n );\n }\n\n // if we have a previous canvas already animating,\n // add to it\n if (animationObj) {\n return animationObj.addFettis(fettis);\n }\n\n animationObj = animate(canvas, fettis, resizer, size , done);\n\n return animationObj.promise;\n }\n\n function fire(options) {\n var disableForReducedMotion = globalDisableForReducedMotion || prop(options, 'disableForReducedMotion', Boolean);\n var zIndex = prop(options, 'zIndex', Number);\n\n if (disableForReducedMotion && preferLessMotion) {\n return promise(function (resolve) {\n resolve();\n });\n }\n\n if (isLibCanvas && animationObj) {\n // use existing canvas from in-progress animation\n canvas = animationObj.canvas;\n } else if (isLibCanvas && !canvas) {\n // create and initialize a new canvas\n canvas = getCanvas(zIndex);\n document.body.appendChild(canvas);\n }\n\n if (allowResize && !initialized) {\n // initialize the size of a user-supplied canvas\n resizer(canvas);\n }\n\n var size = {\n width: canvas.width,\n height: canvas.height\n };\n\n if (worker && !initialized) {\n worker.init(canvas);\n }\n\n initialized = true;\n\n if (worker) {\n canvas.__confetti_initialized = true;\n }\n\n function onResize() {\n if (worker) {\n // TODO this really shouldn't be immediate, because it is expensive\n var obj = {\n getBoundingClientRect: function () {\n if (!isLibCanvas) {\n return canvas.getBoundingClientRect();\n }\n }\n };\n\n resizer(obj);\n\n worker.postMessage({\n resize: {\n width: obj.width,\n height: obj.height\n }\n });\n return;\n }\n\n // don't actually query the size here, since this\n // can execute frequently and rapidly\n size.width = size.height = null;\n }\n\n function done() {\n animationObj = null;\n\n if (allowResize) {\n global.removeEventListener('resize', onResize);\n }\n\n if (isLibCanvas && canvas) {\n document.body.removeChild(canvas);\n canvas = null;\n initialized = false;\n }\n }\n\n if (allowResize) {\n global.addEventListener('resize', onResize, false);\n }\n\n if (worker) {\n return worker.fire(options, size, done);\n }\n\n return fireLocal(options, size, done);\n }\n\n fire.reset = function () {\n if (worker) {\n worker.reset();\n }\n\n if (animationObj) {\n animationObj.reset();\n }\n };\n\n return fire;\n }\n\n module.exports = confettiCannon(null, { useWorker: true, resize: true });\n module.exports.create = confettiCannon;\n}((function () {\n if (typeof window !== 'undefined') {\n return window;\n }\n\n if (typeof self !== 'undefined') {\n return self;\n }\n\n return this;\n})(), module, false));\n\n// end source content\n\nexport default module.exports;\nexport var create = module.exports.create;\n","import confetti from './confetti.module';\n\nexport class Confetti\n{\n\tstatic fire = confetti;\n\tstatic create = confetti.create;\n}"],"names":["module","main","global","isWorker","workerSize","canUseWorker","Worker","Blob","Promise","OffscreenCanvas","HTMLCanvasElement","prototype","transferControlToOffscreen","URL","createObjectURL","noop","promise","func","ModulePromise","exports","Prom","raf","TIME","Math","floor","frame","cancel","frames","lastFrameTime","requestAnimationFrame","cancelAnimationFrame","cb","id","random","onFrame","time","setTimeout","timer","clearTimeout","getWorker","worker","prom","resolves","decorate","execute","options","callback","postMessage","init","initWorker","canvas","offscreen","fire","fireWorker","size","done","toString","slice","resolve","workerDone","msg","data","removeEventListener","addEventListener","bind","reset","resetWorker","code","join","e","console","undefined","warn","defaults","particleCount","angle","spread","startVelocity","decay","gravity","ticks","x","y","shapes","zIndex","colors","disableForReducedMotion","convert","val","transform","isOk","prop","name","randomInt","min","max","toDecimal","str","parseInt","hexToRgb","String","replace","length","r","substring","g","b","getOrigin","origin","Object","Number","setCanvasWindowSize","width","document","documentElement","clientWidth","height","clientHeight","setCanvasRectSize","rect","getBoundingClientRect","getCanvas","createElement","style","position","top","left","pointerEvents","ellipse","context","radiusX","radiusY","rotation","startAngle","endAngle","antiClockwise","save","translate","rotate","scale","arc","restore","randomPhysics","opts","radAngle","PI","radSpread","wobble","velocity","angle2D","tiltAngle","color","shape","tick","totalTicks","tiltSin","tiltCos","wobbleX","wobbleY","ovalScalar","updateFetti","fetti","cos","sin","progress","x1","y1","x2","y2","fillStyle","beginPath","abs","moveTo","lineTo","closePath","fill","animate","fettis","resizer","animatingFettis","getContext","animationFrame","destroy","onDone","clearRect","update","filter","addFettis","concat","confettiCannon","globalOpts","isLibCanvas","allowResize","globalDisableForReducedMotion","Boolean","shouldUseWorker","initialized","__confetti_initialized","preferLessMotion","matchMedia","matches","animationObj","fireLocal","temp","startX","startY","push","body","appendChild","onResize","obj","resize","removeChild","useWorker","create","window","self","Confetti","confetti"],"mappings":"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"}