Socket
Socket
Sign inDemoInstall

@remirror/extension-epic-mode

Package Overview
Dependencies
221
Maintainers
2
Versions
317
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.0.0-beta.2 to 3.0.0-beta.3

289

dist/remirror-extension-epic-mode.js

@@ -1,5 +0,16 @@

var _initClass, _EpicModeExtension, _dec, _class;
var _initClass, _EpicModeExtension, _dec, _class, _applyDecs$c, _extension, _shakeTime, _shakeTimeMax, _lastTime, _particles;
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
function createAddInitializerMethod(e, t) { return function (r) { assertNotFinished(t, "addInitializer"), assertCallable(r, "An initializer"), e.push(r); }; }
function assertInstanceIfPrivate(e, t) { if (!e(t)) throw new TypeError("Attempted to access private element on non-instance"); }
function memberDec(e, t, r, a, n, i, s, o, c, l, u) { var f; switch (i) { case 1: f = "accessor"; break; case 2: f = "method"; break; case 3: f = "getter"; break; case 4: f = "setter"; break; default: f = "field"; } var d, p, h = { kind: f, name: o ? "#" + r : r, static: s, private: o, metadata: u }, v = { v: !1 }; if (0 !== i && (h.addInitializer = createAddInitializerMethod(n, v)), o || 0 !== i && 2 !== i) { if (2 === i) d = function (e) { return assertInstanceIfPrivate(l, e), a.value; };else { var y = 0 === i || 1 === i; (y || 3 === i) && (d = o ? function (e) { return assertInstanceIfPrivate(l, e), a.get.call(e); } : function (e) { return a.get.call(e); }), (y || 4 === i) && (p = o ? function (e, t) { assertInstanceIfPrivate(l, e), a.set.call(e, t); } : function (e, t) { a.set.call(e, t); }); } } else d = function (e) { return e[r]; }, 0 === i && (p = function (e, t) { e[r] = t; }); var m = o ? l.bind() : function (e) { return r in e; }; h.access = d && p ? { get: d, set: p, has: m } : d ? { get: d, has: m } : { set: p, has: m }; try { return e.call(t, c, h); } finally { v.v = !0; } }
function memberDec(e, t, r, a, n, i, s, o, c, l, u) { var f; switch (i) { case 1: f = "accessor"; break; case 2: f = "method"; break; case 3: f = "getter"; break; case 4: f = "setter"; break; default: f = "field"; } var d, p, h = { kind: f, name: o ? "#" + r : r, static: s, private: o, metadata: u }, v = { v: !1 }; if (0 !== i && (h.addInitializer = createAddInitializerMethod(n, v)), o || 0 !== i && 2 !== i) { if (2 === i) d = function d(e) { return assertInstanceIfPrivate(l, e), a.value; };else { var y = 0 === i || 1 === i; (y || 3 === i) && (d = o ? function (e) { return assertInstanceIfPrivate(l, e), a.get.call(e); } : function (e) { return a.get.call(e); }), (y || 4 === i) && (p = o ? function (e, t) { assertInstanceIfPrivate(l, e), a.set.call(e, t); } : function (e, t) { a.set.call(e, t); }); } } else d = function d(e) { return e[r]; }, 0 === i && (p = function p(e, t) { e[r] = t; }); var m = o ? l.bind() : function (e) { return r in e; }; h.access = d && p ? { get: d, set: p, has: m } : d ? { get: d, has: m } : { set: p, has: m }; try { return e.call(t, c, h); } finally { v.v = !0; } }
function assertNotFinished(e, t) { if (e.v) throw new Error("attempted to call " + t + " after decoration was finished"); }

@@ -10,4 +21,4 @@ function assertCallable(e, t) { if ("function" != typeof e) throw new TypeError(t + " must be a function"); }

function curryThis2(e) { return function (t) { e(this, t); }; }
function applyMemberDec(e, t, r, a, n, i, s, o, c, l, u) { var f, d, p, h, v, y, m = r[0]; a || Array.isArray(m) || (m = [m]), o ? f = 0 === i || 1 === i ? { get: curryThis1(r[3]), set: curryThis2(r[4]) } : 3 === i ? { get: r[3] } : 4 === i ? { set: r[3] } : { value: r[3] } : 0 !== i && (f = Object.getOwnPropertyDescriptor(t, n)), 1 === i ? p = { get: f.get, set: f.set } : 2 === i ? p = f.value : 3 === i ? p = f.get : 4 === i && (p = f.set); for (var g = a ? 2 : 1, b = m.length - 1; b >= 0; b -= g) { var I; if (void 0 !== (h = memberDec(m[b], a ? m[b - 1] : void 0, n, f, c, i, s, o, p, l, u))) assertValidReturnValue(i, h), 0 === i ? I = h : 1 === i ? (I = h.init, v = h.get || p.get, y = h.set || p.set, p = { get: v, set: y }) : p = h, void 0 !== I && (void 0 === d ? d = I : "function" == typeof d ? d = [d, I] : d.push(I)); } if (0 === i || 1 === i) { if (void 0 === d) d = function (e, t) { return t; };else if ("function" != typeof d) { var w = d; d = function (e, t) { for (var r = t, a = w.length - 1; a >= 0; a--) r = w[a].call(e, r); return r; }; } else { var M = d; d = function (e, t) { return M.call(e, t); }; } e.push(d); } 0 !== i && (1 === i ? (f.get = p.get, f.set = p.set) : 2 === i ? f.value = p : 3 === i ? f.get = p : 4 === i && (f.set = p), o ? 1 === i ? (e.push(function (e, t) { return p.get.call(e, t); }), e.push(function (e, t) { return p.set.call(e, t); })) : 2 === i ? e.push(p) : e.push(function (e, t) { return p.call(e, t); }) : Object.defineProperty(t, n, f)); }
function applyMemberDecs(e, t, r, a) { for (var n, i, s, o = [], c = new Map(), l = new Map(), u = 0; u < t.length; u++) { var f = t[u]; if (Array.isArray(f)) { var d, p, h = f[1], v = f[2], y = f.length > 3, m = 16 & h, g = !!(8 & h), b = r; if (h &= 7, g ? (d = e, 0 !== h && (p = i = i || []), y && !s && (s = function (t) { return _checkInRHS(t) === e; }), b = s) : (d = e.prototype, 0 !== h && (p = n = n || [])), 0 !== h && !y) { var I = g ? l : c, w = I.get(v) || 0; if (!0 === w || 3 === w && 4 !== h || 4 === w && 3 !== h) throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + v); I.set(v, !(!w && h > 2) || h); } applyMemberDec(o, d, f, m, v, h, g, y, p, b, a); } } return pushInitializers(o, n), pushInitializers(o, i), o; }
function applyMemberDec(e, t, r, a, n, i, s, o, c, l, u) { var f, d, p, h, v, y, m = r[0]; a || Array.isArray(m) || (m = [m]), o ? f = 0 === i || 1 === i ? { get: curryThis1(r[3]), set: curryThis2(r[4]) } : 3 === i ? { get: r[3] } : 4 === i ? { set: r[3] } : { value: r[3] } : 0 !== i && (f = Object.getOwnPropertyDescriptor(t, n)), 1 === i ? p = { get: f.get, set: f.set } : 2 === i ? p = f.value : 3 === i ? p = f.get : 4 === i && (p = f.set); for (var g = a ? 2 : 1, b = m.length - 1; b >= 0; b -= g) { var I; if (void 0 !== (h = memberDec(m[b], a ? m[b - 1] : void 0, n, f, c, i, s, o, p, l, u))) assertValidReturnValue(i, h), 0 === i ? I = h : 1 === i ? (I = h.init, v = h.get || p.get, y = h.set || p.set, p = { get: v, set: y }) : p = h, void 0 !== I && (void 0 === d ? d = I : "function" == typeof d ? d = [d, I] : d.push(I)); } if (0 === i || 1 === i) { if (void 0 === d) d = function d(e, t) { return t; };else if ("function" != typeof d) { var w = d; d = function d(e, t) { for (var r = t, a = w.length - 1; a >= 0; a--) r = w[a].call(e, r); return r; }; } else { var M = d; d = function d(e, t) { return M.call(e, t); }; } e.push(d); } 0 !== i && (1 === i ? (f.get = p.get, f.set = p.set) : 2 === i ? f.value = p : 3 === i ? f.get = p : 4 === i && (f.set = p), o ? 1 === i ? (e.push(function (e, t) { return p.get.call(e, t); }), e.push(function (e, t) { return p.set.call(e, t); })) : 2 === i ? e.push(p) : e.push(function (e, t) { return p.call(e, t); }) : Object.defineProperty(t, n, f)); }
function applyMemberDecs(e, t, r, a) { for (var n, i, s, o = [], c = new Map(), l = new Map(), u = 0; u < t.length; u++) { var f = t[u]; if (Array.isArray(f)) { var d, p, h = f[1], v = f[2], y = f.length > 3, m = 16 & h, g = !!(8 & h), b = r; if (h &= 7, g ? (d = e, 0 !== h && (p = i = i || []), y && !s && (s = function s(t) { return _checkInRHS(t) === e; }), b = s) : (d = e.prototype, 0 !== h && (p = n = n || [])), 0 !== h && !y) { var I = g ? l : c, w = I.get(v) || 0; if (!0 === w || 3 === w && 4 !== h || 4 === w && 3 !== h) throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + v); I.set(v, !(!w && h > 2) || h); } applyMemberDec(o, d, f, m, v, h, g, y, p, b, a); } } return pushInitializers(o, n), pushInitializers(o, i), o; }
function pushInitializers(e, t) { t && e.push(function (e) { for (var r = 0; r < t.length; r++) t[r].call(e); return e; }); }

@@ -18,2 +29,8 @@ function applyClassDecs(e, t, r, a) { if (t.length) { for (var n = [], i = e, s = e.name, o = r ? 2 : 1, c = t.length - 1; c >= 0; c -= o) { var l = { v: !1 }; try { var u = t[c].call(r ? t[c - 1] : void 0, i, { kind: "class", name: s, addInitializer: createAddInitializerMethod(n, l), metadata: a }); } finally { l.v = !0; } void 0 !== u && (assertValidReturnValue(5, u), i = u); } return [defineMetadata(i, a), function () { for (var e = 0; e < n.length; e++) n[e].call(i); }]; } }

function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? typeof e : "null")); return e; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
// src/epic-mode-effects.ts

@@ -34,7 +51,6 @@ import { randomInt } from "@remirror/core";

var defaultEffect = {
createParticle({
x,
y,
color
}) {
createParticle(_ref) {
var x = _ref.x,
y = _ref.y,
color = _ref.color;
return {

@@ -50,6 +66,5 @@ x,

},
updateParticle({
particle,
ctx
}) {
updateParticle(_ref2) {
var particle = _ref2.particle,
ctx = _ref2.ctx;
particle.vy += PARTICLE_GRAVITY;

@@ -59,3 +74,3 @@ particle.x += particle.vx;

particle.alpha *= PARTICLE_ALPHA_FADEOUT;
ctx.fillStyle = `rgba(${particle.color[0]},${particle.color[1]},${particle.color[2]},${particle.alpha})`;
ctx.fillStyle = "rgba(".concat(particle.color[0], ",").concat(particle.color[1], ",").concat(particle.color[2], ",").concat(particle.alpha, ")");
ctx.fillRect(Math.round(particle.x - 1), Math.round(particle.y - 1), particle.size, particle.size);

@@ -67,7 +82,6 @@ }

var spawningEffect = {
createParticle({
x,
y,
color
}) {
createParticle(_ref3) {
var x = _ref3.x,
y = _ref3.y,
color = _ref3.color;
return {

@@ -86,15 +100,15 @@ x,

},
updateParticle({
particle,
ctx
}) {
updateParticle(_ref4) {
var _particle$drag, _particle$drag2, _particle$theta;
var particle = _ref4.particle,
ctx = _ref4.ctx;
particle.x += particle.vx;
particle.y += particle.vy;
particle.vx *= particle.drag ?? DEFAULT_SPAWNING_DRAG;
particle.vy *= particle.drag ?? DEFAULT_SPAWNING_DRAG;
particle.theta = (particle.theta ?? createSpawningTheta()) + randomInt(-0.5, 0.5);
particle.vx *= (_particle$drag = particle.drag) !== null && _particle$drag !== void 0 ? _particle$drag : DEFAULT_SPAWNING_DRAG;
particle.vy *= (_particle$drag2 = particle.drag) !== null && _particle$drag2 !== void 0 ? _particle$drag2 : DEFAULT_SPAWNING_DRAG;
particle.theta = ((_particle$theta = particle.theta) !== null && _particle$theta !== void 0 ? _particle$theta : createSpawningTheta()) + randomInt(-0.5, 0.5);
particle.vx += Math.sin(particle.theta) * 0.1;
particle.vy += Math.cos(particle.theta) * 0.1;
particle.size *= 0.96;
ctx.fillStyle = `rgba(${particle.color[0]},${particle.color[1]},${particle.color[2]},${particle.alpha})`;
ctx.fillStyle = "rgba(".concat(particle.color[0], ",").concat(particle.color[1], ",").concat(particle.color[2], ",").concat(particle.alpha, ")");
ctx.beginPath();

@@ -106,7 +120,6 @@ ctx.arc(Math.round(particle.x - 1), Math.round(particle.y - 1), particle.size, 0, 2 * Math.PI);

var heartEffect = {
createParticle({
x,
y,
color
}) {
createParticle(_ref5) {
var x = _ref5.x,
y = _ref5.y,
color = _ref5.color;
return {

@@ -125,10 +138,9 @@ x: x + 20,

},
updateParticle({
particle,
ctx
}) {
updateParticle(_ref6) {
var particle = _ref6.particle,
ctx = _ref6.ctx;
particle.x += particle.vx / 2;
particle.y += particle.vy / 2;
particle.alpha *= 0.985;
const baseLen = particle.size;
var baseLen = particle.size;
ctx.save();

@@ -145,4 +157,7 @@ ctx.translate(particle.x, particle.y);

ctx.lineTo(-baseLen, 0);
const [r, g, b] = particle.color;
ctx.fillStyle = `rgba(${r},${g},${b},${particle.alpha})`;
var _particle$color = _slicedToArray(particle.color, 3),
r = _particle$color[0],
g = _particle$color[1],
b = _particle$color[2];
ctx.fillStyle = "rgba(".concat(r, ",").concat(g, ",").concat(b, ",").concat(particle.alpha, ")");
ctx.fill();

@@ -171,3 +186,3 @@ ctx.closePath();

createPlugin() {
const pluginState = new EpicModePluginState(this);
var pluginState = new EpicModePluginState(this);
return {

@@ -199,10 +214,10 @@ state: {

}
}, [_EpicModeExtension, _initClass] = _applyDecs(_class, [], [_dec]).c, _initClass())), _EpicModeExtension);
}, (_applyDecs$c = _slicedToArray(_applyDecs(_class, [], [_dec]).c, 2), _EpicModeExtension = _applyDecs$c[0], _initClass = _applyDecs$c[1]), _initClass())), _EpicModeExtension);
function getRGBComponents(node) {
const color = getComputedStyle(node).color;
let match;
var color = getComputedStyle(node).color;
var match;
if (color && (match = color.match(/(\d+), (\d+), (\d+)/))) {
try {
return match.slice(1);
} catch {
} catch (_unused) {
return [255, 255, 255];

@@ -214,17 +229,88 @@ }

}
var EpicModePluginState = class {
canvas;
ctx;
var EpicModePluginState = (_extension = /*#__PURE__*/new WeakMap(), _shakeTime = /*#__PURE__*/new WeakMap(), _shakeTimeMax = /*#__PURE__*/new WeakMap(), _lastTime = /*#__PURE__*/new WeakMap(), _particles = /*#__PURE__*/new WeakMap(), class EpicModePluginState {
get options() {
return this.#extension.options;
return _classPrivateFieldGet(this, _extension).options;
}
container;
#extension;
#shakeTime = 0;
#shakeTimeMax = 0;
#lastTime = 0;
#particles = [];
view;
constructor(extension2) {
this.#extension = extension2;
_defineProperty(this, "canvas", void 0);
_defineProperty(this, "ctx", void 0);
_defineProperty(this, "container", void 0);
_classPrivateFieldInitSpec(this, _extension, {
writable: true,
value: void 0
});
_classPrivateFieldInitSpec(this, _shakeTime, {
writable: true,
value: 0
});
_classPrivateFieldInitSpec(this, _shakeTimeMax, {
writable: true,
value: 0
});
_classPrivateFieldInitSpec(this, _lastTime, {
writable: true,
value: 0
});
_classPrivateFieldInitSpec(this, _particles, {
writable: true,
value: []
});
_defineProperty(this, "view", void 0);
_defineProperty(this, "shake", () => {
if (this.options.active) {
_classPrivateFieldSet(this, _shakeTime, _classPrivateFieldSet(this, _shakeTimeMax, this.options.shakeTime));
}
});
_defineProperty(this, "spawnParticles", () => {
var selection = this.view.state.selection;
var coords = this.view.coordsAtPos(selection.$anchor.pos);
this.canvas.style.top = "".concat(window.scrollY, "px");
this.canvas.style.left = "".concat(window.scrollX, "px");
var node = document.elementFromPoint(coords.left - 5, coords.top + 5);
if (!node) {
return;
}
var numParticles = randomInt2(this.options.particleRange.min, this.options.particleRange.max);
var textColor = getRGBComponents(node);
for (var ii = 0; ii < numParticles; ii++) {
var colorCode = assertGet(this.options.colors, ii % this.options.colors.length);
var r = Number.parseInt(colorCode.slice(1, 3), 16);
var g = Number.parseInt(colorCode.slice(3, 5), 16);
var b = Number.parseInt(colorCode.slice(5, 7), 16);
var color = [r, g, b];
_classPrivateFieldGet(this, _particles)[ii] = this.options.particleEffect.createParticle({
x: coords.left + 10,
y: coords.top - 10,
color,
textColor,
ctx: this.ctx,
canvas: this.canvas
});
}
});
/**
* Runs through the animation loop
*/
_defineProperty(this, "loop", () => {
if (!this.options.active) {
return;
}
this.ctx.clearRect(0, 0, window.innerWidth, window.innerHeight);
var currentTime = Date.now();
if (!_classPrivateFieldGet(this, _lastTime)) {
_classPrivateFieldSet(this, _lastTime, currentTime);
}
var dt = (currentTime - _classPrivateFieldGet(this, _lastTime)) / 1e3;
_classPrivateFieldSet(this, _lastTime, currentTime);
if (_classPrivateFieldGet(this, _shakeTime) > 0) {
_classPrivateFieldSet(this, _shakeTime, _classPrivateFieldGet(this, _shakeTime) - dt);
var magnitude = _classPrivateFieldGet(this, _shakeTime) / _classPrivateFieldGet(this, _shakeTimeMax) * this.options.shakeIntensity;
var shakeX = randomInt2(-magnitude, magnitude);
var shakeY = randomInt2(-magnitude, magnitude);
this.view.dom.style.transform = "translate(".concat(shakeX, "px,").concat(shakeY, "px)");
}
this.drawParticles();
requestAnimationFrame(this.loop);
});
_classPrivateFieldSet(this, _extension, extension2);
this.shake = throttle(100, this.shake);

@@ -241,3 +327,3 @@ this.spawnParticles = throttle(100, this.spawnParticles);

this.container = this.options.getCanvasContainer();
const canvas = document.createElement("canvas");
var canvas = document.createElement("canvas");
this.canvas = canvas;

@@ -252,3 +338,3 @@ canvas.id = "epic-mode-canvas";

canvas.height = window.innerHeight;
const ctx = canvas.getContext("2d");
var ctx = canvas.getContext("2d");
if (!ctx) {

@@ -268,75 +354,26 @@ throw new Error("An error occurred while creating the canvas context");

}
} catch {}
} catch (_unused2) {}
}
shake = () => {
if (this.options.active) {
this.#shakeTime = this.#shakeTimeMax = this.options.shakeTime;
}
};
spawnParticles = () => {
const {
selection
} = this.view.state;
const coords = this.view.coordsAtPos(selection.$anchor.pos);
this.canvas.style.top = `${window.scrollY}px`;
this.canvas.style.left = `${window.scrollX}px`;
const node = document.elementFromPoint(coords.left - 5, coords.top + 5);
if (!node) {
return;
}
const numParticles = randomInt2(this.options.particleRange.min, this.options.particleRange.max);
const textColor = getRGBComponents(node);
for (let ii = 0; ii < numParticles; ii++) {
const colorCode = assertGet(this.options.colors, ii % this.options.colors.length);
const r = Number.parseInt(colorCode.slice(1, 3), 16);
const g = Number.parseInt(colorCode.slice(3, 5), 16);
const b = Number.parseInt(colorCode.slice(5, 7), 16);
const color = [r, g, b];
this.#particles[ii] = this.options.particleEffect.createParticle({
x: coords.left + 10,
y: coords.top - 10,
color,
textColor,
ctx: this.ctx,
canvas: this.canvas
});
}
};
/**
* Runs through the animation loop
*/
loop = () => {
if (!this.options.active) {
return;
}
this.ctx.clearRect(0, 0, window.innerWidth, window.innerHeight);
const currentTime = Date.now();
if (!this.#lastTime) {
this.#lastTime = currentTime;
}
const dt = (currentTime - this.#lastTime) / 1e3;
this.#lastTime = currentTime;
if (this.#shakeTime > 0) {
this.#shakeTime -= dt;
const magnitude = this.#shakeTime / this.#shakeTimeMax * this.options.shakeIntensity;
const shakeX = randomInt2(-magnitude, magnitude);
const shakeY = randomInt2(-magnitude, magnitude);
this.view.dom.style.transform = `translate(${shakeX}px,${shakeY}px)`;
}
this.drawParticles();
requestAnimationFrame(this.loop);
};
drawParticles() {
for (const particle of this.#particles) {
if (particle.alpha < 0.01 || particle.size <= 0.5) {
continue;
var _iterator = _createForOfIteratorHelper(_classPrivateFieldGet(this, _particles)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var particle = _step.value;
if (particle.alpha < 0.01 || particle.size <= 0.5) {
continue;
}
this.options.particleEffect.updateParticle({
particle,
ctx: this.ctx,
canvas: this.canvas
});
}
this.options.particleEffect.updateParticle({
particle,
ctx: this.ctx,
canvas: this.canvas
});
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
};
});
export { COLORS, EpicModeExtension, defaultEffect, heartEffect, spawningEffect };
{
"name": "@remirror/extension-epic-mode",
"version": "3.0.0-beta.2",
"version": "3.0.0-beta.3",
"description": "Epic (power) mode extension for the remirror wysiwyg editor.",

@@ -43,3 +43,3 @@ "keywords": [

"@babel/runtime": "^7.22.3",
"@remirror/core": "3.0.0-beta.2",
"@remirror/core": "3.0.0-beta.3",
"@remirror/messages": "3.0.0-beta.1"

@@ -46,0 +46,0 @@ },

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc