@ptolemy2002/react-proxy-context 1.2.1 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js DELETED
@@ -1,872 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __commonJS = (cb, mod) => function __require() {
8
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
9
- };
10
- var __export = (target, all) => {
11
- for (var name in all)
12
- __defProp(target, name, { get: all[name], enumerable: true });
13
- };
14
- var __copyProps = (to, from, except, desc) => {
15
- if (from && typeof from === "object" || typeof from === "function") {
16
- for (let key of __getOwnPropNames(from))
17
- if (!__hasOwnProp.call(to, key) && key !== except)
18
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
- }
20
- return to;
21
- };
22
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
- // If the importer is in node compatibility mode or this is not an ESM
24
- // file that has been converted to a CommonJS file using a Babel-
25
- // compatible transform (i.e. "__esModule" has not been set), then set
26
- // "default" to the CommonJS "module.exports" for node compatibility.
27
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
28
- mod
29
- ));
30
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
31
-
32
- // node_modules/is-callable/index.js
33
- var require_is_callable = __commonJS({
34
- "node_modules/is-callable/index.js"(exports, module2) {
35
- "use strict";
36
- var fnToStr = Function.prototype.toString;
37
- var reflectApply = typeof Reflect === "object" && Reflect !== null && Reflect.apply;
38
- var badArrayLike;
39
- var isCallableMarker;
40
- if (typeof reflectApply === "function" && typeof Object.defineProperty === "function") {
41
- try {
42
- badArrayLike = Object.defineProperty({}, "length", {
43
- get: function() {
44
- throw isCallableMarker;
45
- }
46
- });
47
- isCallableMarker = {};
48
- reflectApply(function() {
49
- throw 42;
50
- }, null, badArrayLike);
51
- } catch (_) {
52
- if (_ !== isCallableMarker) {
53
- reflectApply = null;
54
- }
55
- }
56
- } else {
57
- reflectApply = null;
58
- }
59
- var constructorRegex = /^\s*class\b/;
60
- var isES6ClassFn = function isES6ClassFunction(value) {
61
- try {
62
- var fnStr = fnToStr.call(value);
63
- return constructorRegex.test(fnStr);
64
- } catch (e) {
65
- return false;
66
- }
67
- };
68
- var tryFunctionObject = function tryFunctionToStr(value) {
69
- try {
70
- if (isES6ClassFn(value)) {
71
- return false;
72
- }
73
- fnToStr.call(value);
74
- return true;
75
- } catch (e) {
76
- return false;
77
- }
78
- };
79
- var toStr = Object.prototype.toString;
80
- var objectClass = "[object Object]";
81
- var fnClass = "[object Function]";
82
- var genClass = "[object GeneratorFunction]";
83
- var ddaClass = "[object HTMLAllCollection]";
84
- var ddaClass2 = "[object HTML document.all class]";
85
- var ddaClass3 = "[object HTMLCollection]";
86
- var hasToStringTag = typeof Symbol === "function" && !!Symbol.toStringTag;
87
- var isIE68 = !(0 in [,]);
88
- var isDDA = function isDocumentDotAll() {
89
- return false;
90
- };
91
- if (typeof document === "object") {
92
- all = document.all;
93
- if (toStr.call(all) === toStr.call(document.all)) {
94
- isDDA = function isDocumentDotAll(value) {
95
- if ((isIE68 || !value) && (typeof value === "undefined" || typeof value === "object")) {
96
- try {
97
- var str = toStr.call(value);
98
- return (str === ddaClass || str === ddaClass2 || str === ddaClass3 || str === objectClass) && value("") == null;
99
- } catch (e) {
100
- }
101
- }
102
- return false;
103
- };
104
- }
105
- }
106
- var all;
107
- module2.exports = reflectApply ? function isCallable2(value) {
108
- if (isDDA(value)) {
109
- return true;
110
- }
111
- if (!value) {
112
- return false;
113
- }
114
- if (typeof value !== "function" && typeof value !== "object") {
115
- return false;
116
- }
117
- try {
118
- reflectApply(value, null, badArrayLike);
119
- } catch (e) {
120
- if (e !== isCallableMarker) {
121
- return false;
122
- }
123
- }
124
- return !isES6ClassFn(value) && tryFunctionObject(value);
125
- } : function isCallable2(value) {
126
- if (isDDA(value)) {
127
- return true;
128
- }
129
- if (!value) {
130
- return false;
131
- }
132
- if (typeof value !== "function" && typeof value !== "object") {
133
- return false;
134
- }
135
- if (hasToStringTag) {
136
- return tryFunctionObject(value);
137
- }
138
- if (isES6ClassFn(value)) {
139
- return false;
140
- }
141
- var strClass = toStr.call(value);
142
- if (strClass !== fnClass && strClass !== genClass && !/^\[object HTML/.test(strClass)) {
143
- return false;
144
- }
145
- return tryFunctionObject(value);
146
- };
147
- }
148
- });
149
-
150
- // node_modules/@ptolemy2002/react-force-rerender/index.js
151
- var require_react_force_rerender = __commonJS({
152
- "node_modules/@ptolemy2002/react-force-rerender/index.js"(exports, module2) {
153
- var __defProp2 = Object.defineProperty;
154
- var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
155
- var __getOwnPropNames2 = Object.getOwnPropertyNames;
156
- var __hasOwnProp2 = Object.prototype.hasOwnProperty;
157
- var __export2 = (target, all) => {
158
- for (var name in all)
159
- __defProp2(target, name, { get: all[name], enumerable: true });
160
- };
161
- var __copyProps2 = (to, from, except, desc) => {
162
- if (from && typeof from === "object" || typeof from === "function") {
163
- for (let key of __getOwnPropNames2(from))
164
- if (!__hasOwnProp2.call(to, key) && key !== except)
165
- __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
166
- }
167
- return to;
168
- };
169
- var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
170
- var src_exports2 = {};
171
- __export2(src_exports2, {
172
- default: () => useForceRerender2
173
- });
174
- module2.exports = __toCommonJS2(src_exports2);
175
- var import_react2 = require("react");
176
- function useForceRerender2() {
177
- const [, setTick] = (0, import_react2.useState)(0);
178
- const update = (0, import_react2.useCallback)(() => {
179
- setTimeout(() => {
180
- setTick((tick) => tick + 1);
181
- }, 0);
182
- }, []);
183
- return update;
184
- }
185
- }
186
- });
187
-
188
- // node_modules/@ptolemy2002/react-mount-effects/index.js
189
- var require_react_mount_effects = __commonJS({
190
- "node_modules/@ptolemy2002/react-mount-effects/index.js"(exports, module2) {
191
- var __defProp2 = Object.defineProperty;
192
- var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
193
- var __getOwnPropNames2 = Object.getOwnPropertyNames;
194
- var __hasOwnProp2 = Object.prototype.hasOwnProperty;
195
- var __export2 = (target, all) => {
196
- for (var name in all)
197
- __defProp2(target, name, { get: all[name], enumerable: true });
198
- };
199
- var __copyProps2 = (to, from, except, desc) => {
200
- if (from && typeof from === "object" || typeof from === "function") {
201
- for (let key of __getOwnPropNames2(from))
202
- if (!__hasOwnProp2.call(to, key) && key !== except)
203
- __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
204
- }
205
- return to;
206
- };
207
- var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
208
- var src_exports2 = {};
209
- __export2(src_exports2, {
210
- useDelayedEffect: () => useDelayedEffect,
211
- useMountEffect: () => useMountEffect2,
212
- useUnmountEffect: () => useUnmountEffect2
213
- });
214
- module2.exports = __toCommonJS2(src_exports2);
215
- var import_react2 = require("react");
216
- function useMountEffect2(callback) {
217
- (0, import_react2.useEffect)(() => {
218
- callback();
219
- }, []);
220
- }
221
- function useUnmountEffect2(callback) {
222
- (0, import_react2.useEffect)(() => callback, []);
223
- }
224
- function useDelayedEffect(callback, deps = [], delay = 0) {
225
- const changeCount = (0, import_react2.useRef)(0);
226
- (0, import_react2.useEffect)(() => {
227
- changeCount.current++;
228
- if (changeCount.current > delay + 1) callback(changeCount, () => changeCount.current = 0);
229
- }, deps);
230
- }
231
- }
232
- });
233
-
234
- // node_modules/@ptolemy2002/js-utils/index.js
235
- var require_js_utils = __commonJS({
236
- "node_modules/@ptolemy2002/js-utils/index.js"(exports, module2) {
237
- var __defProp2 = Object.defineProperty;
238
- var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
239
- var __getOwnPropNames2 = Object.getOwnPropertyNames;
240
- var __hasOwnProp2 = Object.prototype.hasOwnProperty;
241
- var __export2 = (target, all) => {
242
- for (var name in all)
243
- __defProp2(target, name, { get: all[name], enumerable: true });
244
- };
245
- var __copyProps2 = (to, from, except, desc) => {
246
- if (from && typeof from === "object" || typeof from === "function") {
247
- for (let key of __getOwnPropNames2(from))
248
- if (!__hasOwnProp2.call(to, key) && key !== except)
249
- __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
250
- }
251
- return to;
252
- };
253
- var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
254
- var src_exports2 = {};
255
- __export2(src_exports2, {
256
- Callable: () => Callable,
257
- ext_hasNestedProperty: () => ext_hasNestedProperty,
258
- isNullOrUndefined: () => isNullOrUndefined2,
259
- listInPlainEnglish: () => listInPlainEnglish,
260
- loadExtension: () => loadExtension,
261
- unloadExtension: () => unloadExtension
262
- });
263
- module2.exports = __toCommonJS2(src_exports2);
264
- function ext_hasNestedProperty(prop = "") {
265
- if (typeof prop === "string") prop = prop.split(".");
266
- if (!Array.isArray(prop)) return this.hasOwnProperty(prop);
267
- let obj = this;
268
- for (let i = 0; i < prop.length; i++) {
269
- const p = prop[i];
270
- if (!obj?.hasOwnProperty(p)) return false;
271
- obj = obj[p];
272
- }
273
- return true;
274
- }
275
- function loadExtension(name, func, base = Object) {
276
- if (base.prototype.hasOwnProperty(name)) return;
277
- Object.defineProperty(base.prototype, name, {
278
- value: func,
279
- enumerable: false,
280
- writable: true,
281
- configurable: true
282
- });
283
- }
284
- function unloadExtension(name, base = Object) {
285
- delete base.prototype[name];
286
- }
287
- function listInPlainEnglish(list, { max = void 0, conjunction = "and" } = {}) {
288
- if (max === void 0) max = list.length;
289
- if (list.length === 0) {
290
- return "";
291
- }
292
- if (list.length === 1) {
293
- return list[0];
294
- }
295
- if (list.length === 2) {
296
- return `${list[0]} ${conjunction} ${list[1]}`;
297
- }
298
- list = list.map((v, i) => {
299
- if (i === list.length - 1) return v;
300
- if (v.endsWith(`"`)) {
301
- return v.slice(0, -1) + `," `;
302
- } else if (v.endsWith(`'`)) {
303
- return v.slice(0, -1) + `,' `;
304
- } else {
305
- return v + ", ";
306
- }
307
- });
308
- if (list.length > max) {
309
- return `${list.slice(0, max).join("")}${conjunction} ${list.length - max} more`;
310
- } else {
311
- return `${list.slice(0, -1).join("")}${conjunction} ${list[list.length - 1]}`;
312
- }
313
- }
314
- function isNullOrUndefined2(v) {
315
- return v === null || v === void 0;
316
- }
317
- var Callable = class extends Function {
318
- constructor() {
319
- super("...args", "return this.__self__.__call__(...args)");
320
- let self = this.bind(this);
321
- this.__self__ = self;
322
- return self;
323
- }
324
- // This should be overridden by the subclass
325
- __call__() {
326
- }
327
- };
328
- }
329
- });
330
-
331
- // node_modules/@ptolemy2002/react-hook-result/index.js
332
- var require_react_hook_result = __commonJS({
333
- "node_modules/@ptolemy2002/react-hook-result/index.js"(exports, module2) {
334
- var __create2 = Object.create;
335
- var __defProp2 = Object.defineProperty;
336
- var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
337
- var __getOwnPropNames2 = Object.getOwnPropertyNames;
338
- var __getProtoOf2 = Object.getPrototypeOf;
339
- var __hasOwnProp2 = Object.prototype.hasOwnProperty;
340
- var __commonJS2 = (cb, mod) => function __require() {
341
- return mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
342
- };
343
- var __export2 = (target, all) => {
344
- for (var name in all)
345
- __defProp2(target, name, { get: all[name], enumerable: true });
346
- };
347
- var __copyProps2 = (to, from, except, desc) => {
348
- if (from && typeof from === "object" || typeof from === "function") {
349
- for (let key of __getOwnPropNames2(from))
350
- if (!__hasOwnProp2.call(to, key) && key !== except)
351
- __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
352
- }
353
- return to;
354
- };
355
- var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2(
356
- // If the importer is in node compatibility mode or this is not an ESM
357
- // file that has been converted to a CommonJS file using a Babel-
358
- // compatible transform (i.e. "__esModule" has not been set), then set
359
- // "default" to the CommonJS "module.exports" for node compatibility.
360
- isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target,
361
- mod
362
- ));
363
- var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
364
- var require_js_utils2 = __commonJS2({
365
- "node_modules/@ptolemy2002/js-utils/index.js"(exports2, module22) {
366
- var __defProp22 = Object.defineProperty;
367
- var __getOwnPropDesc22 = Object.getOwnPropertyDescriptor;
368
- var __getOwnPropNames22 = Object.getOwnPropertyNames;
369
- var __hasOwnProp22 = Object.prototype.hasOwnProperty;
370
- var __export22 = (target, all) => {
371
- for (var name in all)
372
- __defProp22(target, name, { get: all[name], enumerable: true });
373
- };
374
- var __copyProps22 = (to, from, except, desc) => {
375
- if (from && typeof from === "object" || typeof from === "function") {
376
- for (let key of __getOwnPropNames22(from))
377
- if (!__hasOwnProp22.call(to, key) && key !== except)
378
- __defProp22(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc22(from, key)) || desc.enumerable });
379
- }
380
- return to;
381
- };
382
- var __toCommonJS22 = (mod) => __copyProps22(__defProp22({}, "__esModule", { value: true }), mod);
383
- var src_exports22 = {};
384
- __export22(src_exports22, {
385
- Callable: () => Callable,
386
- ext_getAllProperties: () => ext_getAllProperties,
387
- ext_hasNestedProperty: () => ext_hasNestedProperty,
388
- ext_hasOwnNestedProperty: () => ext_hasOwnNestedProperty,
389
- ext_hasProperty: () => ext_hasProperty2,
390
- getAllProperties: () => getAllProperties,
391
- hasNestedProperty: () => hasNestedProperty,
392
- hasProperty: () => hasProperty,
393
- isNullOrUndefined: () => isNullOrUndefined2,
394
- listInPlainEnglish: () => listInPlainEnglish,
395
- loadExtension: () => loadExtension2,
396
- unloadExtension: () => unloadExtension
397
- });
398
- module22.exports = __toCommonJS22(src_exports22);
399
- function hasNestedProperty(self, prop = "", hasPropCallback = (o, p) => o.hasOwnProperty(p)) {
400
- if (typeof prop === "string") prop = prop.split(".");
401
- if (!Array.isArray(prop)) return hasPropCallback(self, prop);
402
- let obj = self;
403
- for (let i = 0; i < prop.length; i++) {
404
- const p = prop[i];
405
- if (!obj) return false;
406
- if (!hasPropCallback(obj, p)) return false;
407
- obj = obj[p];
408
- }
409
- return true;
410
- }
411
- function ext_hasOwnNestedProperty(prop = "") {
412
- return hasNestedProperty(this, prop);
413
- }
414
- function getAllProperties(self) {
415
- let allProps = [], curr = self;
416
- do {
417
- let props = Object.getOwnPropertyNames(curr);
418
- props.forEach(function(prop) {
419
- if (allProps.indexOf(prop) === -1) {
420
- allProps.push(prop);
421
- }
422
- });
423
- } while (curr = Object.getPrototypeOf(curr));
424
- return allProps;
425
- }
426
- function ext_getAllProperties() {
427
- return getAllProperties(this);
428
- }
429
- function hasProperty(self, prop) {
430
- let curr = self;
431
- do {
432
- if (curr.hasOwnProperty(prop)) return true;
433
- } while (curr = Object.getPrototypeOf(curr));
434
- return false;
435
- }
436
- function ext_hasProperty2(prop) {
437
- return hasProperty(this, prop);
438
- }
439
- function ext_hasNestedProperty(prop) {
440
- return hasNestedProperty(this, prop, (o, p) => hasProperty(o, p));
441
- }
442
- function loadExtension2(name, func, base = Object) {
443
- if (hasProperty(base.prototype, name)) return;
444
- Object.defineProperty(base.prototype, name, {
445
- value: func,
446
- enumerable: false,
447
- writable: true,
448
- configurable: true
449
- });
450
- }
451
- function unloadExtension(name, base = Object) {
452
- delete base.prototype[name];
453
- }
454
- function listInPlainEnglish(list, { max = void 0, conjunction = "and" } = {}) {
455
- if (max === void 0) max = list.length;
456
- if (list.length === 0) {
457
- return "";
458
- }
459
- if (list.length === 1) {
460
- return list[0];
461
- }
462
- if (list.length === 2) {
463
- return `${list[0]} ${conjunction} ${list[1]}`;
464
- }
465
- list = list.map((v, i) => {
466
- if (i === list.length - 1) return v;
467
- if (v.endsWith(`"`)) {
468
- return v.slice(0, -1) + `," `;
469
- } else if (v.endsWith(`'`)) {
470
- return v.slice(0, -1) + `,' `;
471
- } else {
472
- return v + ", ";
473
- }
474
- });
475
- if (list.length > max) {
476
- return `${list.slice(0, max).join("")}${conjunction} ${list.length - max} more`;
477
- } else {
478
- return `${list.slice(0, -1).join("")}${conjunction} ${list[list.length - 1]}`;
479
- }
480
- }
481
- function isNullOrUndefined2(v) {
482
- return v === null || v === void 0;
483
- }
484
- var Callable = class extends Function {
485
- constructor() {
486
- super("...args", "return this.__self__.__call__(...args)");
487
- let self = this.bind(this);
488
- this.__self__ = self;
489
- return self;
490
- }
491
- // This should be overridden by the subclass
492
- __call__() {
493
- }
494
- };
495
- }
496
- });
497
- var src_exports2 = {};
498
- __export2(src_exports2, {
499
- default: () => HookResult2
500
- });
501
- module2.exports = __toCommonJS2(src_exports2);
502
- var import_js_utils2 = __toESM2(require_js_utils2());
503
- (0, import_js_utils2.loadExtension)("hasProperty", import_js_utils2.ext_hasProperty, Object);
504
- var HookResult2 = class {
505
- _data = /* @__PURE__ */ new Map();
506
- constructor(data = {}, order = []) {
507
- if (typeof Proxy == "undefined") throw new Error("Proxy is not supported in this environment.");
508
- order.forEach((key) => {
509
- this._data.set(key, data[key]);
510
- });
511
- Object.keys(data).forEach((key) => {
512
- if (!order.includes(key)) {
513
- this._data.set(key, data[key]);
514
- }
515
- });
516
- return new Proxy(this, {
517
- // If the property is not found on the object, get it from the data map
518
- get: function(target, prop) {
519
- if (target.hasProperty(prop)) {
520
- return target[prop];
521
- } else {
522
- return target._data.get(prop);
523
- }
524
- },
525
- // If the property is not found on the object, set it in the data map
526
- set: function(target, prop, value) {
527
- if (target.hasProperty(prop)) {
528
- target[prop] = value;
529
- } else {
530
- target._data.set(prop, value);
531
- }
532
- }
533
- });
534
- }
535
- // This is a generator function: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*
536
- *[Symbol.iterator]() {
537
- yield* this._data.values();
538
- }
539
- };
540
- }
541
- });
542
-
543
- // node_modules/@ptolemy2002/react-utils/index.js
544
- var require_react_utils = __commonJS({
545
- "node_modules/@ptolemy2002/react-utils/index.js"(exports, module2) {
546
- var __create2 = Object.create;
547
- var __defProp2 = Object.defineProperty;
548
- var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
549
- var __getOwnPropNames2 = Object.getOwnPropertyNames;
550
- var __getProtoOf2 = Object.getPrototypeOf;
551
- var __hasOwnProp2 = Object.prototype.hasOwnProperty;
552
- var __commonJS2 = (cb, mod) => function __require() {
553
- return mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
554
- };
555
- var __export2 = (target, all) => {
556
- for (var name in all)
557
- __defProp2(target, name, { get: all[name], enumerable: true });
558
- };
559
- var __copyProps2 = (to, from, except, desc) => {
560
- if (from && typeof from === "object" || typeof from === "function") {
561
- for (let key of __getOwnPropNames2(from))
562
- if (!__hasOwnProp2.call(to, key) && key !== except)
563
- __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
564
- }
565
- return to;
566
- };
567
- var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2(
568
- // If the importer is in node compatibility mode or this is not an ESM
569
- // file that has been converted to a CommonJS file using a Babel-
570
- // compatible transform (i.e. "__esModule" has not been set), then set
571
- // "default" to the CommonJS "module.exports" for node compatibility.
572
- isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target,
573
- mod
574
- ));
575
- var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
576
- var require_is_callable2 = __commonJS2({
577
- "node_modules/is-callable/index.js"(exports2, module22) {
578
- "use strict";
579
- var fnToStr = Function.prototype.toString;
580
- var reflectApply = typeof Reflect === "object" && Reflect !== null && Reflect.apply;
581
- var badArrayLike;
582
- var isCallableMarker;
583
- if (typeof reflectApply === "function" && typeof Object.defineProperty === "function") {
584
- try {
585
- badArrayLike = Object.defineProperty({}, "length", {
586
- get: function() {
587
- throw isCallableMarker;
588
- }
589
- });
590
- isCallableMarker = {};
591
- reflectApply(function() {
592
- throw 42;
593
- }, null, badArrayLike);
594
- } catch (_) {
595
- if (_ !== isCallableMarker) {
596
- reflectApply = null;
597
- }
598
- }
599
- } else {
600
- reflectApply = null;
601
- }
602
- var constructorRegex = /^\s*class\b/;
603
- var isES6ClassFn = function isES6ClassFunction(value) {
604
- try {
605
- var fnStr = fnToStr.call(value);
606
- return constructorRegex.test(fnStr);
607
- } catch (e) {
608
- return false;
609
- }
610
- };
611
- var tryFunctionObject = function tryFunctionToStr(value) {
612
- try {
613
- if (isES6ClassFn(value)) {
614
- return false;
615
- }
616
- fnToStr.call(value);
617
- return true;
618
- } catch (e) {
619
- return false;
620
- }
621
- };
622
- var toStr = Object.prototype.toString;
623
- var objectClass = "[object Object]";
624
- var fnClass = "[object Function]";
625
- var genClass = "[object GeneratorFunction]";
626
- var ddaClass = "[object HTMLAllCollection]";
627
- var ddaClass2 = "[object HTML document.all class]";
628
- var ddaClass3 = "[object HTMLCollection]";
629
- var hasToStringTag = typeof Symbol === "function" && !!Symbol.toStringTag;
630
- var isIE68 = !(0 in [,]);
631
- var isDDA = function isDocumentDotAll() {
632
- return false;
633
- };
634
- if (typeof document === "object") {
635
- all = document.all;
636
- if (toStr.call(all) === toStr.call(document.all)) {
637
- isDDA = function isDocumentDotAll(value) {
638
- if ((isIE68 || !value) && (typeof value === "undefined" || typeof value === "object")) {
639
- try {
640
- var str = toStr.call(value);
641
- return (str === ddaClass || str === ddaClass2 || str === ddaClass3 || str === objectClass) && value("") == null;
642
- } catch (e) {
643
- }
644
- }
645
- return false;
646
- };
647
- }
648
- }
649
- var all;
650
- module22.exports = reflectApply ? function isCallable2(value) {
651
- if (isDDA(value)) {
652
- return true;
653
- }
654
- if (!value) {
655
- return false;
656
- }
657
- if (typeof value !== "function" && typeof value !== "object") {
658
- return false;
659
- }
660
- try {
661
- reflectApply(value, null, badArrayLike);
662
- } catch (e) {
663
- if (e !== isCallableMarker) {
664
- return false;
665
- }
666
- }
667
- return !isES6ClassFn(value) && tryFunctionObject(value);
668
- } : function isCallable2(value) {
669
- if (isDDA(value)) {
670
- return true;
671
- }
672
- if (!value) {
673
- return false;
674
- }
675
- if (typeof value !== "function" && typeof value !== "object") {
676
- return false;
677
- }
678
- if (hasToStringTag) {
679
- return tryFunctionObject(value);
680
- }
681
- if (isES6ClassFn(value)) {
682
- return false;
683
- }
684
- var strClass = toStr.call(value);
685
- if (strClass !== fnClass && strClass !== genClass && !/^\[object HTML/.test(strClass)) {
686
- return false;
687
- }
688
- return tryFunctionObject(value);
689
- };
690
- }
691
- });
692
- var src_exports2 = {};
693
- __export2(src_exports2, {
694
- Spacer: () => Spacer,
695
- partialMemo: () => partialMemo2
696
- });
697
- module2.exports = __toCommonJS2(src_exports2);
698
- var import_react2 = __toESM2(require("react"));
699
- function r(e) {
700
- var t, f, n = "";
701
- if ("string" == typeof e || "number" == typeof e) n += e;
702
- else if ("object" == typeof e) if (Array.isArray(e)) {
703
- var o = e.length;
704
- for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
705
- } else for (f in e) e[f] && (n && (n += " "), n += f);
706
- return n;
707
- }
708
- function clsx() {
709
- for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
710
- return n;
711
- }
712
- var clsx_default = clsx;
713
- var import_is_callable2 = __toESM2(require_is_callable2());
714
- var partialMemo2 = (E, deps = [], displayName) => {
715
- const MemoWrapper = ({ ...props }) => {
716
- delete props.renderDeps;
717
- return /* @__PURE__ */ import_react2.default.createElement(E, { ...props });
718
- };
719
- MemoWrapper.displayName = "MemoWrapper";
720
- const result = (0, import_react2.memo)(
721
- MemoWrapper,
722
- ({ renderDeps: prevRenderDeps = [], ...prevProps }, { renderDeps: nextRenderDeps = [], ...nextProps }) => {
723
- if (!nextRenderDeps) return false;
724
- if (prevRenderDeps.length !== nextRenderDeps.length) console.warn("Render deps length changed. This should not happen.");
725
- if (prevRenderDeps === nextRenderDeps) console.warn("Render deps are the same object across parent renders. This should not happen.");
726
- if (!nextRenderDeps.every((dep, i) => dep === prevRenderDeps[i])) return false;
727
- if (deps.length === 0) return true;
728
- const defaultBehavior = (prop) => {
729
- if (prop === "children") return true;
730
- return prevProps[prop] === nextProps[prop];
731
- };
732
- return deps.every((dep) => {
733
- if ((0, import_is_callable2.default)(dep)) return dep(prevProps, nextProps, defaultBehavior);
734
- return defaultBehavior(dep);
735
- });
736
- }
737
- );
738
- if (!displayName) {
739
- result.displayName = (E.displayName ?? E.name) + " (Memo)";
740
- } else {
741
- result.displayName = displayName;
742
- }
743
- return result;
744
- };
745
- var Spacer = (0, import_react2.memo)(function({ size = "1rem", horizontal = false, style = {}, className = null, ...props } = {}) {
746
- const keyName = horizontal ? "width" : "height";
747
- return /* @__PURE__ */ import_react2.default.createElement("div", { className: clsx_default("spacer", className), style: { ...style, [keyName]: size }, ...props });
748
- });
749
- Spacer.displayName = "Spacer";
750
- }
751
- });
752
-
753
- // src/index.js
754
- var src_exports = {};
755
- __export(src_exports, {
756
- ProxyContextProvider: () => ProxyContextProvider,
757
- createProxyContext: () => createProxyContext,
758
- useProxyContext: () => useProxyContext
759
- });
760
- module.exports = __toCommonJS(src_exports);
761
- var import_react = __toESM(require("react"));
762
-
763
- // node_modules/nanoid/url-alphabet/index.js
764
- var urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
765
-
766
- // node_modules/nanoid/index.browser.js
767
- var nanoid = (size = 21) => {
768
- let id = "";
769
- let bytes = crypto.getRandomValues(new Uint8Array(size));
770
- while (size--) {
771
- id += urlAlphabet[bytes[size] & 63];
772
- }
773
- return id;
774
- };
775
-
776
- // src/index.js
777
- var import_is_callable = __toESM(require_is_callable());
778
- var import_react_force_rerender = __toESM(require_react_force_rerender());
779
- var import_react_mount_effects = __toESM(require_react_mount_effects());
780
- var import_js_utils = __toESM(require_js_utils());
781
- var import_react_hook_result = __toESM(require_react_hook_result());
782
- var import_react_utils = __toESM(require_react_utils());
783
- function createProxyContext(defaultValue, name) {
784
- if (typeof Proxy == "undefined") throw new Error("Proxy is not supported in this environment.");
785
- const context = (0, import_react.createContext)(defaultValue);
786
- context.name = name;
787
- return context;
788
- }
789
- var ProxyContextProvider = (0, import_react_utils.partialMemo)(function ProxyContextProvider2({ contextClass, children, value, onChange, proxyRef }) {
790
- const changeSubscribers = (0, import_react.useRef)({});
791
- const objRef = (0, import_react.useRef)();
792
- const contextRef = (0, import_react.useRef)({});
793
- const forceRerender = (0, import_react_force_rerender.default)();
794
- (0, import_react.useImperativeHandle)(proxyRef, () => objRef.current, [objRef.current]);
795
- const subscribe = (0, import_react.useCallback)((callback, deps, listenReinit = true) => {
796
- const id = nanoid();
797
- changeSubscribers.current[id] = {
798
- id,
799
- deps,
800
- callback,
801
- listenReinit
802
- };
803
- return id;
804
- }, []);
805
- const unsubscribe = (0, import_react.useCallback)((id) => {
806
- delete changeSubscribers.current[id];
807
- }, []);
808
- const set = (0, import_react.useCallback)((newObj) => {
809
- if (newObj !== objRef.current) {
810
- const prevObj = objRef.current;
811
- if (!(0, import_js_utils.isNullOrUndefined)(newObj)) {
812
- objRef.current = new Proxy(newObj, {
813
- get: function(target, prop) {
814
- const result = Reflect.get(target, prop, newObj);
815
- if ((0, import_is_callable.default)(result)) {
816
- return result.bind(objRef.current);
817
- } else {
818
- return result;
819
- }
820
- },
821
- set: function(target, prop, value2) {
822
- const prevValue = target[prop];
823
- Reflect.set(target, prop, value2, newObj);
824
- value2 = target[prop];
825
- Object.values(changeSubscribers.current).forEach((subscriber) => {
826
- if (!subscriber.deps || subscriber.deps.includes(prop) && prevValue !== value2 || subscriber.deps.some((subProp) => (0, import_is_callable.default)(subProp) && subProp(prop, value2, prevValue, newObj))) {
827
- subscriber.callback(prop, value2, prevValue);
828
- }
829
- });
830
- if ((0, import_is_callable.default)(onChange)) onChange(prop, value2, prevValue);
831
- return true;
832
- }
833
- });
834
- } else {
835
- objRef.current = newObj;
836
- }
837
- Object.values(changeSubscribers.current).forEach((subscriber) => {
838
- if (subscriber.listenReinit) {
839
- subscriber.callback(null, objRef.current, prevObj);
840
- }
841
- });
842
- if ((0, import_is_callable.default)(onChange)) onChange(null, objRef.current, prevObj);
843
- forceRerender();
844
- }
845
- contextRef.current.obj = objRef.current;
846
- return objRef.current;
847
- }, [onChange]);
848
- if (objRef.current === void 0) objRef.current = set(value);
849
- contextRef.current.obj = objRef.current;
850
- contextRef.current.set = set;
851
- contextRef.current.subscribe = subscribe;
852
- contextRef.current.unsubscribe = unsubscribe;
853
- return /* @__PURE__ */ import_react.default.createElement(contextClass.Provider, { value: contextRef.current }, children);
854
- }, ["children", "onChange", "proxyRef"]);
855
- function useProxyContext(contextClass, deps, onChange, listenReinit = true) {
856
- const context = (0, import_react.useContext)(contextClass);
857
- const forceRerender = (0, import_react_force_rerender.default)();
858
- const id = (0, import_react.useRef)(null);
859
- if (context === void 0) {
860
- throw new Error(`No ${contextClass.name} provider found.`);
861
- }
862
- (0, import_react_mount_effects.useMountEffect)(() => {
863
- id.current = context?.subscribe((prop, current, prev) => {
864
- forceRerender();
865
- if ((0, import_is_callable.default)(onChange)) onChange(prop, current, prev);
866
- }, deps, listenReinit);
867
- });
868
- (0, import_react_mount_effects.useUnmountEffect)(() => {
869
- context?.unsubscribe(id.current);
870
- });
871
- return new import_react_hook_result.default({ value: context?.obj, set: context?.set }, ["value", "set"]);
872
- }