🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

react-kapsule

Package Overview
Dependencies
Maintainers
1
Versions
49
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-kapsule - npm Package Compare versions

Comparing version
2.5.7
to
2.6.0
+31
-118
dist/react-kapsule.js

@@ -1,2 +0,2 @@

// Version 2.5.7 react-kapsule - https://github.com/vasturiano/react-kapsule
// Version 2.6.0 react-kapsule - https://github.com/vasturiano/react-kapsule
(function (global, factory) {

@@ -8,60 +8,2 @@ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react')) :

function _arrayLikeToArray$1(r, a) {
(null == a || a > r.length) && (a = r.length);
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
return n;
}
function _arrayWithHoles$1(r) {
if (Array.isArray(r)) return r;
}
function _arrayWithoutHoles$1(r) {
if (Array.isArray(r)) return _arrayLikeToArray$1(r);
}
function _iterableToArray$1(r) {
if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
}
function _iterableToArrayLimit$1(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 = true,
o = false;
try {
if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
} catch (r) {
o = true, n = r;
} finally {
try {
if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
} finally {
if (o) throw n;
}
}
return a;
}
}
function _nonIterableRest$1() {
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 _nonIterableSpread$1() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _slicedToArray$1(r, e) {
return _arrayWithHoles$1(r) || _iterableToArrayLimit$1(r, e) || _unsupportedIterableToArray$1(r, e) || _nonIterableRest$1();
}
function _toConsumableArray$1(r) {
return _arrayWithoutHoles$1(r) || _iterableToArray$1(r) || _unsupportedIterableToArray$1(r) || _nonIterableSpread$1();
}
function _unsupportedIterableToArray$1(r, a) {
if (r) {
if ("string" == typeof r) return _arrayLikeToArray$1(r, a);
var t = {}.toString.call(r).slice(8, -1);
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$1(r, a) : void 0;
}
}
function _iterableToArrayLimit(arr, i) {

@@ -170,30 +112,20 @@ var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];

function index (kapsuleComponent) {
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
_ref$wrapperElementTy = _ref.wrapperElementType,
wrapperElementType = _ref$wrapperElementTy === void 0 ? 'div' : _ref$wrapperElementTy,
_ref$nodeMapper = _ref.nodeMapper,
nodeMapper = _ref$nodeMapper === void 0 ? function (node) {
return node;
} : _ref$nodeMapper,
_ref$methodNames = _ref.methodNames,
methodNames = _ref$methodNames === void 0 ? [] : _ref$methodNames,
_ref$initPropNames = _ref.initPropNames,
initPropNames = _ref$initPropNames === void 0 ? [] : _ref$initPropNames;
return /*#__PURE__*/React.forwardRef(function (props, ref) {
var domEl = React.useRef();
function index (kapsuleComponent, {
wrapperElementType = 'div',
nodeMapper = node => node,
methodNames = [],
initPropNames = []
} = {}) {
return /*#__PURE__*/React.forwardRef((props, ref) => {
const domEl = React.useRef();
// instantiate the inner kapsule component with the defined initPropNames
var comp = React.useMemo(function () {
var configOptions = Object.fromEntries(initPropNames.filter(function (p) {
return props.hasOwnProperty(p);
}).map(function (prop) {
return [prop, props[prop]];
}));
const comp = React.useMemo(() => {
const configOptions = Object.fromEntries(initPropNames.filter(p => props.hasOwnProperty(p)).map(prop => [prop, props[prop]]));
return kapsuleComponent(configOptions);
}, []);
useEffectOnce(function () {
useEffectOnce(() => {
comp(nodeMapper(domEl.current)); // mount kapsule synchronously on this element ref, optionally mapped into an object that the kapsule understands
}, React.useLayoutEffect);
useEffectOnce(function () {
useEffectOnce(() => {
// invoke destructor on unmount, if it exists

@@ -204,31 +136,13 @@ return comp._destructor instanceof Function ? comp._destructor : undefined;

// Call a component method
var _call = React.useCallback(function (method) {
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
return comp[method] instanceof Function ? comp[method].apply(comp, args) : undefined;
} // method not found
const _call = React.useCallback((method, ...args) => comp[method] instanceof Function ? comp[method](...args) : undefined // method not found
, [comp]);
// propagate component props that have changed
var prevPropsRef = React.useRef({});
Object.keys(omit(props, [].concat(_toConsumableArray$1(methodNames), _toConsumableArray$1(initPropNames)))) // initPropNames or methodNames should not be called
.filter(function (p) {
return prevPropsRef.current[p] !== props[p];
}).forEach(function (p) {
return _call(p, props[p]);
});
const prevPropsRef = React.useRef({});
Object.keys(omit(props, [...methodNames, ...initPropNames])) // initPropNames or methodNames should not be called
.filter(p => prevPropsRef.current[p] !== props[p]).forEach(p => _call(p, props[p]));
prevPropsRef.current = props;
// bind external methods to parent ref
React.useImperativeHandle(ref, function () {
return Object.fromEntries(methodNames.map(function (method) {
return [method, function () {
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
return _call.apply(void 0, [method].concat(args));
}];
}));
}, [_call]);
React.useImperativeHandle(ref, () => Object.fromEntries(methodNames.map(method => [method, (...args) => _call(method, ...args)])), [_call]);
return /*#__PURE__*/React.createElement(wrapperElementType, {

@@ -243,15 +157,11 @@ ref: domEl

// Handle R18 strict mode double mount at init
function useEffectOnce(effect) {
var useEffectFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : React.useEffect;
var destroyFunc = React.useRef();
var effectCalled = React.useRef(false);
var renderAfterCalled = React.useRef(false);
var _useState = React.useState(0),
_useState2 = _slicedToArray$1(_useState, 2);
_useState2[0];
var setVal = _useState2[1];
function useEffectOnce(effect, useEffectFn = React.useEffect) {
const destroyFunc = React.useRef();
const effectCalled = React.useRef(false);
const renderAfterCalled = React.useRef(false);
const [val, setVal] = React.useState(0);
if (effectCalled.current) {
renderAfterCalled.current = true;
}
useEffectFn(function () {
useEffectFn(() => {
// only execute the effect first time around

@@ -264,6 +174,4 @@ if (!effectCalled.current) {

// this forces one render after the effect is run
setVal(function (val) {
return val + 1;
});
return function () {
setVal(val => val + 1);
return () => {
// if the comp didn't render since the useEffect was called,

@@ -273,2 +181,7 @@ // we know it's the dummy React cycle

if (destroyFunc.current) destroyFunc.current();
// reset refs after teardown so a reused fiber re-initializes on remount
destroyFunc.current = undefined;
effectCalled.current = false;
renderAfterCalled.current = false;
};

@@ -275,0 +188,0 @@ }, []);

@@ -1,1 +0,1 @@

{"version":3,"file":"react-kapsule.js","sources":["../node_modules/jerrypick/dist/jerrypick.mjs","../src/index.js"],"sourcesContent":["function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\n\nvar pluck = function pluck(obj, keys) {\n return Object.assign.apply(Object, [{}].concat(_toConsumableArray(keys.map(function (key) {\n return _defineProperty({}, key, obj[key]);\n }))));\n};\nvar omit = function omit(obj, keys) {\n var keySet = new Set(keys);\n return Object.assign.apply(Object, [{}].concat(_toConsumableArray(Object.entries(obj).filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 1),\n key = _ref3[0];\n return !keySet.has(key);\n }).map(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n key = _ref5[0],\n val = _ref5[1];\n return _defineProperty({}, key, val);\n }))));\n};\n\nexport { omit, pluck };\n","import React, {\n useState,\n useEffect,\n useLayoutEffect,\n useRef,\n useMemo,\n useCallback,\n forwardRef,\n useImperativeHandle\n} from 'react';\n\nimport { omit } from 'jerrypick';\n\nexport default function(kapsuleComponent, {\n wrapperElementType = 'div',\n nodeMapper = node => node,\n methodNames = [],\n initPropNames = []\n} = {}) {\n\n return forwardRef((props, ref) => {\n const domEl = useRef();\n\n // instantiate the inner kapsule component with the defined initPropNames\n const comp = useMemo(() => {\n const configOptions = Object.fromEntries(\n initPropNames\n .filter(p => props.hasOwnProperty(p))\n .map(prop => [prop, props[prop]])\n );\n\n return kapsuleComponent(configOptions);\n }, []);\n\n useEffectOnce(() => {\n comp(nodeMapper(domEl.current)); // mount kapsule synchronously on this element ref, optionally mapped into an object that the kapsule understands\n }, useLayoutEffect);\n\n useEffectOnce(() => {\n // invoke destructor on unmount, if it exists\n return comp._destructor instanceof Function ? comp._destructor : undefined;\n });\n\n // Call a component method\n const _call = useCallback((method, ...args) =>\n comp[method] instanceof Function\n ? comp[method](...args)\n : undefined // method not found\n , [comp]);\n\n // propagate component props that have changed\n const prevPropsRef = useRef({});\n Object.keys(omit(props, [...methodNames, ...initPropNames])) // initPropNames or methodNames should not be called\n .filter(p => prevPropsRef.current[p] !== props[p])\n .forEach(p => _call(p, props[p]));\n prevPropsRef.current = props;\n\n // bind external methods to parent ref\n useImperativeHandle(ref, () => Object.fromEntries(\n methodNames.map(method =>\n [\n method,\n (...args) => _call(method, ...args)\n ]\n )\n ), [_call]);\n\n return React.createElement(wrapperElementType, { ref: domEl });\n });\n}\n\n//\n\n// Handle R18 strict mode double mount at init\nfunction useEffectOnce(effect, useEffectFn = useEffect) {\n const destroyFunc = useRef();\n const effectCalled = useRef(false);\n const renderAfterCalled = useRef(false);\n const [val, setVal] = useState(0);\n\n if (effectCalled.current) {\n renderAfterCalled.current = true;\n }\n\n useEffectFn(() => {\n // only execute the effect first time around\n if (!effectCalled.current) {\n destroyFunc.current = effect();\n effectCalled.current = true;\n }\n\n // this forces one render after the effect is run\n setVal((val) => val + 1);\n\n return () => {\n // if the comp didn't render since the useEffect was called,\n // we know it's the dummy React cycle\n if (!renderAfterCalled.current) return;\n if (destroyFunc.current) destroyFunc.current();\n };\n }, []);\n}\n"],"names":["kapsuleComponent","_ref","arguments","length","undefined","_ref$wrapperElementTy","wrapperElementType","_ref$nodeMapper","nodeMapper","node","_ref$methodNames","methodNames","_ref$initPropNames","initPropNames","forwardRef","props","ref","domEl","useRef","comp","useMemo","configOptions","Object","fromEntries","filter","p","hasOwnProperty","map","prop","useEffectOnce","current","useLayoutEffect","_destructor","Function","_call","useCallback","method","_len","args","Array","_key","apply","prevPropsRef","keys","omit","concat","_toConsumableArray","forEach","useImperativeHandle","_len2","_key2","React","createElement","effect","useEffectFn","useEffect","destroyFunc","effectCalled","renderAfterCalled","_useState","useState","_useState2","_slicedToArray","val","setVal"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA,SAAS,qBAAqB,CAAC,GAAG,EAAE,CAAC,EAAE;EACvC,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,WAAW,IAAI,OAAO,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC;EACzG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE;EAClB,IAAI,IAAI,EAAE;EACV,MAAM,EAAE;EACR,MAAM,EAAE;EACR,MAAM,EAAE;EACR,MAAM,IAAI,GAAG,EAAE;EACf,MAAM,EAAE,GAAG,IAAE;EACb,MAAM,EAAE,GAAG,KAAE;EACb,IAAI,IAAI;EACR,MAAM,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE;EAClD,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;EAC/B,QAAQ,EAAE,GAAG,CAAC,CAAC;EACf,OAAO,MAAM,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;EACzG,KAAK,CAAC,OAAO,GAAG,EAAE;EAClB,MAAM,EAAE,GAAG,IAAE,EAAE,EAAE,GAAG,GAAG;EACvB,KAAK,SAAS;EACd,MAAM,IAAI;EACV,QAAQ,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE;EAC/E,OAAO,SAAS;EAChB,QAAQ,IAAI,EAAE,EAAE,MAAM,EAAE;EACxB;EACA;EACA,IAAI,OAAO,IAAI;EACf;EACA;EACA,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE;EAC1C,EAAE,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC;EAC3B,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE;EAClB,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE;EACpC,MAAM,KAAK,EAAE,KAAK;EAClB,MAAM,UAAU,EAAE,IAAI;EACtB,MAAM,YAAY,EAAE,IAAI;EACxB,MAAM,QAAQ,EAAE;EAChB,KAAK,CAAC;EACN,GAAG,MAAM;EACT,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK;EACpB;EACA,EAAE,OAAO,GAAG;EACZ;EACA,SAAS,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE;EAChC,EAAE,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,qBAAqB,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,2BAA2B,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,gBAAgB,EAAE;EAC3H;EACA,SAAS,kBAAkB,CAAC,GAAG,EAAE;EACjC,EAAE,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,2BAA2B,CAAC,GAAG,CAAC,IAAI,kBAAkB,EAAE;EACrH;EACA,SAAS,kBAAkB,CAAC,GAAG,EAAE;EACjC,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,iBAAiB,CAAC,GAAG,CAAC;EACvD;EACA,SAAS,eAAe,CAAC,GAAG,EAAE;EAC9B,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG;EACpC;EACA,SAAS,gBAAgB,CAAC,IAAI,EAAE;EAChC,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;EAC3H;EACA,SAAS,2BAA2B,CAAC,CAAC,EAAE,MAAM,EAAE;EAChD,EAAE,IAAI,CAAC,CAAC,EAAE;EACV,EAAE,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,OAAO,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC;EAChE,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;EACxD,EAAE,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI;EAC7D,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;EACtD,EAAE,IAAI,CAAC,KAAK,WAAW,IAAI,0CAA0C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC;EAClH;EACA,SAAS,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE;EACrC,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM;EACvD,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;EACvE,EAAE,OAAO,IAAI;EACb;EACA,SAAS,kBAAkB,GAAG;EAC9B,EAAE,MAAM,IAAI,SAAS,CAAC,sIAAsI,CAAC;EAC7J;EACA,SAAS,gBAAgB,GAAG;EAC5B,EAAE,MAAM,IAAI,SAAS,CAAC,2IAA2I,CAAC;EAClK;EACA,SAAS,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE;EACnC,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,OAAO,KAAK;EAC/D,EAAE,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;EACtC,EAAE,IAAI,IAAI,KAAK,SAAS,EAAE;EAC1B,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAiB,CAAC;EACjD,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,OAAO,GAAG;EAC3C,IAAI,MAAM,IAAI,SAAS,CAAC,8CAA8C,CAAC;EACvE;EACA,EAAE,OAAO,CAAC,IAAI,KAAK,QAAQ,GAAG,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC;EACrD;EACA,SAAS,cAAc,CAAC,GAAG,EAAE;EAC7B,EAAE,IAAI,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC;EACvC,EAAE,OAAO,OAAO,GAAG,KAAK,QAAQ,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;EACpD;EAOA,IAAI,IAAI,GAAG,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE;EACpC,EAAE,IAAI,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC;EAC5B,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,KAAK,EAAE;EAChH,IAAI,IAAI,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;EACxC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;EACpB,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;EAC3B,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE;EAC1B,IAAI,IAAI,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;EACxC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;EACpB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;EACpB,IAAI,OAAO,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;EACxC,GAAG,CAAC,CAAC,CAAC,CAAC;EACP,CAAC;;EC9Fc,cAAA,EAASA,gBAAgB,EAKhC;EAAA,EAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAJ,EAAE;MAAAG,qBAAA,GAAAJ,IAAA,CAJJK,kBAAkB;EAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAG,MAAA,GAAA,KAAK,GAAAA,qBAAA;MAAAE,eAAA,GAAAN,IAAA,CAC1BO,UAAU;EAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,MAAA,GAAA,UAAAE,IAAI,EAAA;EAAA,MAAA,OAAIA,IAAI;EAAA,KAAA,GAAAF,eAAA;MAAAG,gBAAA,GAAAT,IAAA,CACzBU,WAAW;EAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,MAAA,GAAA,EAAE,GAAAA,gBAAA;MAAAE,kBAAA,GAAAX,IAAA,CAChBY,aAAa;EAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,MAAA,GAAA,EAAE,GAAAA,kBAAA;EAGlB,EAAA,oBAAOE,gBAAU,CAAC,UAACC,KAAK,EAAEC,GAAG,EAAK;EAChC,IAAA,IAAMC,KAAK,GAAGC,YAAM,EAAE;;EAEtB;EACA,IAAA,IAAMC,IAAI,GAAGC,aAAO,CAAC,YAAM;QACzB,IAAMC,aAAa,GAAGC,MAAM,CAACC,WAAW,CACtCV,aAAa,CACVW,MAAM,CAAC,UAAAC,CAAC,EAAA;EAAA,QAAA,OAAIV,KAAK,CAACW,cAAc,CAACD,CAAC,CAAC;EAAA,OAAA,CAAC,CACpCE,GAAG,CAAC,UAAAC,IAAI,EAAA;EAAA,QAAA,OAAI,CAACA,IAAI,EAAEb,KAAK,CAACa,IAAI,CAAC,CAAC;EAAA,OAAA,CACpC,CAAC;QAED,OAAO5B,gBAAgB,CAACqB,aAAa,CAAC;OACvC,EAAE,EAAE,CAAC;EAENQ,IAAAA,aAAa,CAAC,YAAM;QAClBV,IAAI,CAACX,UAAU,CAACS,KAAK,CAACa,OAAO,CAAC,CAAC,CAAC;OACjC,EAAEC,qBAAe,CAAC;EAEnBF,IAAAA,aAAa,CAAC,YAAM;EAClB;QACA,OAAOV,IAAI,CAACa,WAAW,YAAYC,QAAQ,GAAGd,IAAI,CAACa,WAAW,GAAG5B,SAAS;EAC5E,KAAC,CAAC;;EAEF;EACA,IAAA,IAAM8B,KAAK,GAAGC,iBAAW,CAAC,UAACC,MAAM,EAAA;QAAA,KAAAC,IAAAA,IAAA,GAAAnC,SAAA,CAAAC,MAAA,EAAKmC,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAA,CAAAA,GAAAA,IAAA,WAAAG,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA,EAAA,EAAA;EAAJF,QAAAA,IAAI,CAAAE,IAAA,GAAAtC,CAAAA,CAAAA,GAAAA,SAAA,CAAAsC,IAAA,CAAA;EAAA;EAAA,MAAA,OACxCrB,IAAI,CAACiB,MAAM,CAAC,YAAYH,QAAQ,GAC5Bd,IAAI,CAACiB,MAAM,CAAC,CAAAK,KAAA,CAAZtB,IAAI,EAAYmB,IAAI,CAAC,GACrBlC,SAAS;OAAC;QACd,CAACe,IAAI,CAAC,CAAC;;EAET;EACA,IAAA,IAAMuB,YAAY,GAAGxB,YAAM,CAAC,EAAE,CAAC;EAC/BI,IAAAA,MAAM,CAACqB,IAAI,CAACC,IAAI,CAAC7B,KAAK,KAAA8B,MAAA,CAAAC,oBAAA,CAAMnC,WAAW,GAAAmC,oBAAA,CAAKjC,aAAa,CAAC,CAAA,CAAC,CAAC;OACzDW,MAAM,CAAC,UAAAC,CAAC,EAAA;QAAA,OAAIiB,YAAY,CAACZ,OAAO,CAACL,CAAC,CAAC,KAAKV,KAAK,CAACU,CAAC,CAAC;EAAA,KAAA,CAAC,CACjDsB,OAAO,CAAC,UAAAtB,CAAC,EAAA;QAAA,OAAIS,KAAK,CAACT,CAAC,EAAEV,KAAK,CAACU,CAAC,CAAC,CAAC;OAAC,CAAA;MACnCiB,YAAY,CAACZ,OAAO,GAAGf,KAAK;;EAE5B;MACAiC,yBAAmB,CAAChC,GAAG,EAAE,YAAA;QAAA,OAAMM,MAAM,CAACC,WAAW,CAC/CZ,WAAW,CAACgB,GAAG,CAAC,UAAAS,MAAM,EAAA;UAAA,OACpB,CACEA,MAAM,EACN,YAAA;EAAA,UAAA,KAAA,IAAAa,KAAA,GAAA/C,SAAA,CAAAC,MAAA,EAAImC,IAAI,GAAAC,IAAAA,KAAA,CAAAU,KAAA,GAAAC,KAAA,GAAA,CAAA,EAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA,EAAA,EAAA;EAAJZ,YAAAA,IAAI,CAAAY,KAAA,CAAAhD,GAAAA,SAAA,CAAAgD,KAAA,CAAA;EAAA;YAAA,OAAKhB,KAAK,CAAAO,KAAA,CAAA,MAAA,EAAA,CAACL,MAAM,CAAAS,CAAAA,MAAA,CAAKP,IAAI,CAAC,CAAA;WACpC,CAAA;EAAA,OACH,CACF,CAAC;OAAE,EAAA,CAACJ,KAAK,CAAC,CAAC;EAEX,IAAA,oBAAOiB,KAAK,CAACC,aAAa,CAAC9C,kBAAkB,EAAE;EAAEU,MAAAA,GAAG,EAAEC;EAAM,KAAC,CAAC;EAChE,GAAC,CAAC;EACJ;;EAEA;;EAEA;EACA,SAASY,aAAaA,CAACwB,MAAM,EAA2B;EAAA,EAAA,IAAzBC,WAAW,GAAApD,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAGqD,eAAS;EACpD,EAAA,IAAMC,WAAW,GAAGtC,YAAM,EAAE;EAC5B,EAAA,IAAMuC,YAAY,GAAGvC,YAAM,CAAC,KAAK,CAAC;EAClC,EAAA,IAAMwC,iBAAiB,GAAGxC,YAAM,CAAC,KAAK,CAAC;EACvC,EAAA,IAAAyC,SAAA,GAAsBC,cAAQ,CAAC,CAAC,CAAC;MAAAC,UAAA,GAAAC,gBAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;EAA1BI,IAAGF,UAAA,CAAA,CAAA,CAAA;EAAEG,QAAAA,MAAM,GAAAH,UAAA,CAAA,CAAA;IAElB,IAAIJ,YAAY,CAAC3B,OAAO,EAAE;MACxB4B,iBAAiB,CAAC5B,OAAO,GAAG,IAAI;EAClC;EAEAwB,EAAAA,WAAW,CAAC,YAAM;EAChB;EACA,IAAA,IAAI,CAACG,YAAY,CAAC3B,OAAO,EAAE;EACzB0B,MAAAA,WAAW,CAAC1B,OAAO,GAAGuB,MAAM,EAAE;QAC9BI,YAAY,CAAC3B,OAAO,GAAG,IAAI;EAC7B;;EAEA;MACAkC,MAAM,CAAC,UAACD,GAAG,EAAA;QAAA,OAAKA,GAAG,GAAG,CAAC;OAAC,CAAA;EAExB,IAAA,OAAO,YAAM;EACX;EACA;EACA,MAAA,IAAI,CAACL,iBAAiB,CAAC5B,OAAO,EAAE;QAChC,IAAI0B,WAAW,CAAC1B,OAAO,EAAE0B,WAAW,CAAC1B,OAAO,EAAE;OAC/C;KACF,EAAE,EAAE,CAAC;EACR;;;;;;;;","x_google_ignoreList":[0]}
{"version":3,"file":"react-kapsule.js","sources":["../node_modules/jerrypick/dist/jerrypick.mjs","../src/index.js"],"sourcesContent":["function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\n\nvar pluck = function pluck(obj, keys) {\n return Object.assign.apply(Object, [{}].concat(_toConsumableArray(keys.map(function (key) {\n return _defineProperty({}, key, obj[key]);\n }))));\n};\nvar omit = function omit(obj, keys) {\n var keySet = new Set(keys);\n return Object.assign.apply(Object, [{}].concat(_toConsumableArray(Object.entries(obj).filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 1),\n key = _ref3[0];\n return !keySet.has(key);\n }).map(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n key = _ref5[0],\n val = _ref5[1];\n return _defineProperty({}, key, val);\n }))));\n};\n\nexport { omit, pluck };\n","import React, {\n useState,\n useEffect,\n useLayoutEffect,\n useRef,\n useMemo,\n useCallback,\n forwardRef,\n useImperativeHandle\n} from 'react';\n\nimport { omit } from 'jerrypick';\n\nexport default function(kapsuleComponent, {\n wrapperElementType = 'div',\n nodeMapper = node => node,\n methodNames = [],\n initPropNames = []\n} = {}) {\n\n return forwardRef((props, ref) => {\n const domEl = useRef();\n\n // instantiate the inner kapsule component with the defined initPropNames\n const comp = useMemo(() => {\n const configOptions = Object.fromEntries(\n initPropNames\n .filter(p => props.hasOwnProperty(p))\n .map(prop => [prop, props[prop]])\n );\n\n return kapsuleComponent(configOptions);\n }, []);\n\n useEffectOnce(() => {\n comp(nodeMapper(domEl.current)); // mount kapsule synchronously on this element ref, optionally mapped into an object that the kapsule understands\n }, useLayoutEffect);\n\n useEffectOnce(() => {\n // invoke destructor on unmount, if it exists\n return comp._destructor instanceof Function ? comp._destructor : undefined;\n });\n\n // Call a component method\n const _call = useCallback((method, ...args) =>\n comp[method] instanceof Function\n ? comp[method](...args)\n : undefined // method not found\n , [comp]);\n\n // propagate component props that have changed\n const prevPropsRef = useRef({});\n Object.keys(omit(props, [...methodNames, ...initPropNames])) // initPropNames or methodNames should not be called\n .filter(p => prevPropsRef.current[p] !== props[p])\n .forEach(p => _call(p, props[p]));\n prevPropsRef.current = props;\n\n // bind external methods to parent ref\n useImperativeHandle(ref, () => Object.fromEntries(\n methodNames.map(method =>\n [\n method,\n (...args) => _call(method, ...args)\n ]\n )\n ), [_call]);\n\n return React.createElement(wrapperElementType, { ref: domEl });\n });\n}\n\n//\n\n// Handle R18 strict mode double mount at init\nfunction useEffectOnce(effect, useEffectFn = useEffect) {\n const destroyFunc = useRef();\n const effectCalled = useRef(false);\n const renderAfterCalled = useRef(false);\n const [val, setVal] = useState(0);\n\n if (effectCalled.current) {\n renderAfterCalled.current = true;\n }\n\n useEffectFn(() => {\n // only execute the effect first time around\n if (!effectCalled.current) {\n destroyFunc.current = effect();\n effectCalled.current = true;\n }\n\n // this forces one render after the effect is run\n setVal((val) => val + 1);\n\n return () => {\n // if the comp didn't render since the useEffect was called,\n // we know it's the dummy React cycle\n if (!renderAfterCalled.current) return;\n\n if (destroyFunc.current) destroyFunc.current();\n\n // reset refs after teardown so a reused fiber re-initializes on remount\n destroyFunc.current = undefined;\n effectCalled.current = false;\n renderAfterCalled.current = false;\n };\n }, []);\n}\n"],"names":["forwardRef","useRef","useMemo","useLayoutEffect","useCallback","useImperativeHandle","useEffect","useState"],"mappings":"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","x_google_ignoreList":[0]}

@@ -1,2 +0,2 @@

// Version 2.5.7 react-kapsule - https://github.com/vasturiano/react-kapsule
!function(r,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):(r="undefined"!=typeof globalThis?globalThis:r||self).fromKapsule=t(r.React)}(this,(function(r){"use strict";function t(r,t){(null==t||t>r.length)&&(t=r.length);for(var e=0,n=Array(t);e<t;e++)n[e]=r[e];return n}function e(r,t){return function(r){if(Array.isArray(r))return r}(r)||function(r,t){var e=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=e){var n,o,u,i,a=[],f=!0,c=!1;try{if(u=(e=e.call(r)).next,0===t);else for(;!(f=(n=u.call(e)).done)&&(a.push(n.value),a.length!==t);f=!0);}catch(r){c=!0,o=r}finally{try{if(!f&&null!=e.return&&(i=e.return(),Object(i)!==i))return}finally{if(c)throw o}}return a}}(r,t)||o(r,t)||function(){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 n(r){return function(r){if(Array.isArray(r))return t(r)}(r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||o(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(r,e){if(r){if("string"==typeof r)return t(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(r,e):void 0}}function u(r,t,e){return(t=function(r){var t=function(r,t){if("object"!=typeof r||null===r)return r;var e=r[Symbol.toPrimitive];if(void 0!==e){var n=e.call(r,t);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(r)}(r,"string");return"symbol"==typeof t?t:String(t)}(t))in r?Object.defineProperty(r,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):r[t]=e,r}function i(r,t){return function(r){if(Array.isArray(r))return r}(r)||function(r,t){var e=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=e){var n,o,u,i,a=[],f=!0,c=!1;try{if(u=(e=e.call(r)).next,0===t){if(Object(e)!==e)return;f=!1}else for(;!(f=(n=u.call(e)).done)&&(a.push(n.value),a.length!==t);f=!0);}catch(r){c=!0,o=r}finally{try{if(!f&&null!=e.return&&(i=e.return(),Object(i)!==i))return}finally{if(c)throw o}}return a}}(r,t)||f(r,t)||function(){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 a(r){return function(r){if(Array.isArray(r))return c(r)}(r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||f(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(r,t){if(r){if("string"==typeof r)return c(r,t);var e=Object.prototype.toString.call(r).slice(8,-1);return"Object"===e&&r.constructor&&(e=r.constructor.name),"Map"===e||"Set"===e?Array.from(r):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?c(r,t):void 0}}function c(r,t){(null==t||t>r.length)&&(t=r.length);for(var e=0,n=new Array(t);e<t;e++)n[e]=r[e];return n}function l(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r.useEffect,o=r.useRef(),u=r.useRef(!1),i=r.useRef(!1),a=e(r.useState(0),2);a[0];var f=a[1];u.current&&(i.current=!0),n((function(){return u.current||(o.current=t(),u.current=!0),f((function(r){return r+1})),function(){i.current&&o.current&&o.current()}}),[])}return function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=e.wrapperElementType,f=void 0===o?"div":o,c=e.nodeMapper,s=void 0===c?function(r){return r}:c,y=e.methodNames,d=void 0===y?[]:y,m=e.initPropNames,p=void 0===m?[]:m;return r.forwardRef((function(e,o){var c=r.useRef(),y=r.useMemo((function(){var r=Object.fromEntries(p.filter((function(r){return e.hasOwnProperty(r)})).map((function(r){return[r,e[r]]})));return t(r)}),[]);l((function(){y(s(c.current))}),r.useLayoutEffect),l((function(){return y._destructor instanceof Function?y._destructor:void 0}));var m,b,v,h=r.useCallback((function(r){for(var t=arguments.length,e=new Array(t>1?t-1:0),n=1;n<t;n++)e[n-1]=arguments[n];return y[r]instanceof Function?y[r].apply(y,e):void 0}),[y]),g=r.useRef({});return Object.keys((m=e,b=[].concat(n(d),n(p)),v=new Set(b),Object.assign.apply(Object,[{}].concat(a(Object.entries(m).filter((function(r){var t=i(r,1)[0];return!v.has(t)})).map((function(r){var t=i(r,2);return u({},t[0],t[1])}))))))).filter((function(r){return g.current[r]!==e[r]})).forEach((function(r){return h(r,e[r])})),g.current=e,r.useImperativeHandle(o,(function(){return Object.fromEntries(d.map((function(r){return[r,function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return h.apply(void 0,[r].concat(e))}]})))}),[h]),r.createElement(f,{ref:c})}))}}));
// Version 2.6.0 react-kapsule - https://github.com/vasturiano/react-kapsule
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r(require("react")):"function"==typeof define&&define.amd?define(["react"],r):(e="undefined"!=typeof globalThis?globalThis:e||self).fromKapsule=r(e.React)}(this,function(e){"use strict";function r(e,r,t){return(r=function(e){var r=function(e,r){if("object"!=typeof e||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,r);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"==typeof r?r:String(r)}(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function t(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,o,u,i,a=[],c=!0,f=!1;try{if(u=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;c=!1}else for(;!(c=(n=u.call(t)).done)&&(a.push(n.value),a.length!==r);c=!0);}catch(e){f=!0,o=e}finally{try{if(!c&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(f)throw o}}return a}}(e,r)||o(e,r)||function(){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 n(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,r){if(e){if("string"==typeof e)return u(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?u(e,r):void 0}}function u(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function i(r,t=e.useEffect){const n=e.useRef(),o=e.useRef(!1),u=e.useRef(!1),[i,a]=e.useState(0);o.current&&(u.current=!0),t(()=>(o.current||(n.current=r(),o.current=!0),a(e=>e+1),()=>{u.current&&(n.current&&n.current(),n.current=void 0,o.current=!1,u.current=!1)}),[])}return function(o,{wrapperElementType:u="div",nodeMapper:a=e=>e,methodNames:c=[],initPropNames:f=[]}={}){return e.forwardRef((l,s)=>{const y=e.useRef(),m=e.useMemo(()=>{const e=Object.fromEntries(f.filter(e=>l.hasOwnProperty(e)).map(e=>[e,l[e]]));return o(e)},[]);i(()=>{m(a(y.current))},e.useLayoutEffect),i(()=>m._destructor instanceof Function?m._destructor:void 0);const p=e.useCallback((e,...r)=>m[e]instanceof Function?m[e](...r):void 0,[m]),b=e.useRef({});var d,v,h;return Object.keys((d=l,v=[...c,...f],h=new Set(v),Object.assign.apply(Object,[{}].concat(n(Object.entries(d).filter(function(e){var r=t(e,1)[0];return!h.has(r)}).map(function(e){var n=t(e,2);return r({},n[0],n[1])})))))).filter(e=>b.current[e]!==l[e]).forEach(e=>p(e,l[e])),b.current=l,e.useImperativeHandle(s,()=>Object.fromEntries(c.map(e=>[e,(...r)=>p(e,...r)])),[p]),e.createElement(u,{ref:y})})}});

@@ -1,90 +0,22 @@

import React, { forwardRef, useRef, useMemo, useCallback, useImperativeHandle, useState, useEffect, useLayoutEffect } from 'react';
import React, { forwardRef, useRef, useMemo, useEffect, useCallback, useImperativeHandle, useState, useLayoutEffect } from 'react';
import { omit } from 'jerrypick';
function _arrayLikeToArray(r, a) {
(null == a || a > r.length) && (a = r.length);
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
return n;
}
function _arrayWithHoles(r) {
if (Array.isArray(r)) return r;
}
function _arrayWithoutHoles(r) {
if (Array.isArray(r)) return _arrayLikeToArray(r);
}
function _iterableToArray(r) {
if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
}
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 = true,
o = false;
try {
if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
} catch (r) {
o = true, n = r;
} finally {
try {
if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
} finally {
if (o) throw n;
}
}
return a;
}
}
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 _nonIterableSpread() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _slicedToArray(r, e) {
return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
}
function _toConsumableArray(r) {
return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
}
function _unsupportedIterableToArray(r, a) {
if (r) {
if ("string" == typeof r) return _arrayLikeToArray(r, a);
var t = {}.toString.call(r).slice(8, -1);
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
}
}
function index (kapsuleComponent, {
wrapperElementType = 'div',
nodeMapper = node => node,
methodNames = [],
initPropNames = []
} = {}) {
return /*#__PURE__*/forwardRef((props, ref) => {
const domEl = useRef();
function index (kapsuleComponent) {
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
_ref$wrapperElementTy = _ref.wrapperElementType,
wrapperElementType = _ref$wrapperElementTy === void 0 ? 'div' : _ref$wrapperElementTy,
_ref$nodeMapper = _ref.nodeMapper,
nodeMapper = _ref$nodeMapper === void 0 ? function (node) {
return node;
} : _ref$nodeMapper,
_ref$methodNames = _ref.methodNames,
methodNames = _ref$methodNames === void 0 ? [] : _ref$methodNames,
_ref$initPropNames = _ref.initPropNames,
initPropNames = _ref$initPropNames === void 0 ? [] : _ref$initPropNames;
return /*#__PURE__*/forwardRef(function (props, ref) {
var domEl = useRef();
// instantiate the inner kapsule component with the defined initPropNames
var comp = useMemo(function () {
var configOptions = Object.fromEntries(initPropNames.filter(function (p) {
return props.hasOwnProperty(p);
}).map(function (prop) {
return [prop, props[prop]];
}));
const comp = useMemo(() => {
const configOptions = Object.fromEntries(initPropNames.filter(p => props.hasOwnProperty(p)).map(prop => [prop, props[prop]]));
return kapsuleComponent(configOptions);
}, []);
useEffectOnce(function () {
useEffectOnce(() => {
comp(nodeMapper(domEl.current)); // mount kapsule synchronously on this element ref, optionally mapped into an object that the kapsule understands
}, useLayoutEffect);
useEffectOnce(function () {
useEffectOnce(() => {
// invoke destructor on unmount, if it exists

@@ -95,31 +27,13 @@ return comp._destructor instanceof Function ? comp._destructor : undefined;

// Call a component method
var _call = useCallback(function (method) {
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
return comp[method] instanceof Function ? comp[method].apply(comp, args) : undefined;
} // method not found
const _call = useCallback((method, ...args) => comp[method] instanceof Function ? comp[method](...args) : undefined // method not found
, [comp]);
// propagate component props that have changed
var prevPropsRef = useRef({});
Object.keys(omit(props, [].concat(_toConsumableArray(methodNames), _toConsumableArray(initPropNames)))) // initPropNames or methodNames should not be called
.filter(function (p) {
return prevPropsRef.current[p] !== props[p];
}).forEach(function (p) {
return _call(p, props[p]);
});
const prevPropsRef = useRef({});
Object.keys(omit(props, [...methodNames, ...initPropNames])) // initPropNames or methodNames should not be called
.filter(p => prevPropsRef.current[p] !== props[p]).forEach(p => _call(p, props[p]));
prevPropsRef.current = props;
// bind external methods to parent ref
useImperativeHandle(ref, function () {
return Object.fromEntries(methodNames.map(function (method) {
return [method, function () {
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
return _call.apply(void 0, [method].concat(args));
}];
}));
}, [_call]);
useImperativeHandle(ref, () => Object.fromEntries(methodNames.map(method => [method, (...args) => _call(method, ...args)])), [_call]);
return /*#__PURE__*/React.createElement(wrapperElementType, {

@@ -134,15 +48,11 @@ ref: domEl

// Handle R18 strict mode double mount at init
function useEffectOnce(effect) {
var useEffectFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : useEffect;
var destroyFunc = useRef();
var effectCalled = useRef(false);
var renderAfterCalled = useRef(false);
var _useState = useState(0),
_useState2 = _slicedToArray(_useState, 2);
_useState2[0];
var setVal = _useState2[1];
function useEffectOnce(effect, useEffectFn = useEffect) {
const destroyFunc = useRef();
const effectCalled = useRef(false);
const renderAfterCalled = useRef(false);
const [val, setVal] = useState(0);
if (effectCalled.current) {
renderAfterCalled.current = true;
}
useEffectFn(function () {
useEffectFn(() => {
// only execute the effect first time around

@@ -155,6 +65,4 @@ if (!effectCalled.current) {

// this forces one render after the effect is run
setVal(function (val) {
return val + 1;
});
return function () {
setVal(val => val + 1);
return () => {
// if the comp didn't render since the useEffect was called,

@@ -164,2 +72,7 @@ // we know it's the dummy React cycle

if (destroyFunc.current) destroyFunc.current();
// reset refs after teardown so a reused fiber re-initializes on remount
destroyFunc.current = undefined;
effectCalled.current = false;
renderAfterCalled.current = false;
};

@@ -166,0 +79,0 @@ }, []);

{
"name": "react-kapsule",
"version": "2.5.7",
"version": "2.6.0",
"description": "A React wrapper for Kapsule-style web components",

@@ -46,3 +46,3 @@ "type": "module",

"dependencies": {
"jerrypick": "^1.1.1"
"jerrypick": "^1.1.2"
},

@@ -53,14 +53,14 @@ "peerDependencies": {

"devDependencies": {
"@babel/core": "^7.26.10",
"@babel/preset-env": "^7.26.9",
"@babel/preset-react": "^7.26.3",
"@rollup/plugin-babel": "^6.0.4",
"@rollup/plugin-commonjs": "^28.0.3",
"@rollup/plugin-node-resolve": "^16.0.1",
"@rollup/plugin-terser": "^0.4.4",
"@types/react": "^19.0.12",
"rimraf": "^6.0.1",
"rollup": "^4.36.0",
"rollup-plugin-dts": "^6.2.1",
"typescript": "^5.8.2"
"@babel/core": "^8.0.1",
"@babel/preset-env": "^8.0.1",
"@babel/preset-react": "^8.0.1",
"@rollup/plugin-babel": "^7.1.0",
"@rollup/plugin-commonjs": "^29.0.3",
"@rollup/plugin-node-resolve": "^16.0.3",
"@rollup/plugin-terser": "^1.0.0",
"@types/react": "^19.2.17",
"rimraf": "^6.1.3",
"rollup": "^4.62.0",
"rollup-plugin-dts": "^6.4.1",
"typescript": "^6.0.3"
},

@@ -67,0 +67,0 @@ "engines": {