@uniformdev/canvas-next-rsc-client 19.135.1-alpha.10 → 19.135.1-alpha.11

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/dist/index.js CHANGED
@@ -31,9 +31,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
31
31
  ));
32
32
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
33
33
 
34
- // ../../node_modules/.pnpm/rfdc@1.3.1/node_modules/rfdc/index.js
34
+ // ../../node_modules/.pnpm/rfdc@1.4.1/node_modules/rfdc/index.js
35
35
  var require_rfdc = __commonJS({
36
- "../../node_modules/.pnpm/rfdc@1.3.1/node_modules/rfdc/index.js"(exports2, module2) {
36
+ "../../node_modules/.pnpm/rfdc@1.4.1/node_modules/rfdc/index.js"(exports2, module2) {
37
37
  "use strict";
38
38
  module2.exports = rfdc4;
39
39
  function copyBuffer(cur) {
@@ -44,19 +44,28 @@ var require_rfdc = __commonJS({
44
44
  }
45
45
  function rfdc4(opts) {
46
46
  opts = opts || {};
47
- if (opts.circles)
48
- return rfdcCircles(opts);
47
+ if (opts.circles) return rfdcCircles(opts);
48
+ const constructorHandlers = /* @__PURE__ */ new Map();
49
+ constructorHandlers.set(Date, (o) => new Date(o));
50
+ constructorHandlers.set(Map, (o, fn) => new Map(cloneArray(Array.from(o), fn)));
51
+ constructorHandlers.set(Set, (o, fn) => new Set(cloneArray(Array.from(o), fn)));
52
+ if (opts.constructorHandlers) {
53
+ for (const handler2 of opts.constructorHandlers) {
54
+ constructorHandlers.set(handler2[0], handler2[1]);
55
+ }
56
+ }
57
+ let handler = null;
49
58
  return opts.proto ? cloneProto : clone2;
50
59
  function cloneArray(a, fn) {
51
- var keys = Object.keys(a);
52
- var a2 = new Array(keys.length);
53
- for (var i = 0; i < keys.length; i++) {
54
- var k = keys[i];
55
- var cur = a[k];
60
+ const keys = Object.keys(a);
61
+ const a2 = new Array(keys.length);
62
+ for (let i = 0; i < keys.length; i++) {
63
+ const k = keys[i];
64
+ const cur = a[k];
56
65
  if (typeof cur !== "object" || cur === null) {
57
66
  a2[k] = cur;
58
- } else if (cur instanceof Date) {
59
- a2[k] = new Date(cur);
67
+ } else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) {
68
+ a2[k] = handler(cur, fn);
60
69
  } else if (ArrayBuffer.isView(cur)) {
61
70
  a2[k] = copyBuffer(cur);
62
71
  } else {
@@ -66,29 +75,19 @@ var require_rfdc = __commonJS({
66
75
  return a2;
67
76
  }
68
77
  function clone2(o) {
69
- if (typeof o !== "object" || o === null)
70
- return o;
71
- if (o instanceof Date)
72
- return new Date(o);
73
- if (Array.isArray(o))
74
- return cloneArray(o, clone2);
75
- if (o instanceof Map)
76
- return new Map(cloneArray(Array.from(o), clone2));
77
- if (o instanceof Set)
78
- return new Set(cloneArray(Array.from(o), clone2));
79
- var o2 = {};
80
- for (var k in o) {
81
- if (Object.hasOwnProperty.call(o, k) === false)
82
- continue;
83
- var cur = o[k];
78
+ if (typeof o !== "object" || o === null) return o;
79
+ if (Array.isArray(o)) return cloneArray(o, clone2);
80
+ if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) {
81
+ return handler(o, clone2);
82
+ }
83
+ const o2 = {};
84
+ for (const k in o) {
85
+ if (Object.hasOwnProperty.call(o, k) === false) continue;
86
+ const cur = o[k];
84
87
  if (typeof cur !== "object" || cur === null) {
85
88
  o2[k] = cur;
86
- } else if (cur instanceof Date) {
87
- o2[k] = new Date(cur);
88
- } else if (cur instanceof Map) {
89
- o2[k] = new Map(cloneArray(Array.from(cur), clone2));
90
- } else if (cur instanceof Set) {
91
- o2[k] = new Set(cloneArray(Array.from(cur), clone2));
89
+ } else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) {
90
+ o2[k] = handler(cur, clone2);
92
91
  } else if (ArrayBuffer.isView(cur)) {
93
92
  o2[k] = copyBuffer(cur);
94
93
  } else {
@@ -98,27 +97,18 @@ var require_rfdc = __commonJS({
98
97
  return o2;
99
98
  }
100
99
  function cloneProto(o) {
101
- if (typeof o !== "object" || o === null)
102
- return o;
103
- if (o instanceof Date)
104
- return new Date(o);
105
- if (Array.isArray(o))
106
- return cloneArray(o, cloneProto);
107
- if (o instanceof Map)
108
- return new Map(cloneArray(Array.from(o), cloneProto));
109
- if (o instanceof Set)
110
- return new Set(cloneArray(Array.from(o), cloneProto));
111
- var o2 = {};
112
- for (var k in o) {
113
- var cur = o[k];
100
+ if (typeof o !== "object" || o === null) return o;
101
+ if (Array.isArray(o)) return cloneArray(o, cloneProto);
102
+ if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) {
103
+ return handler(o, cloneProto);
104
+ }
105
+ const o2 = {};
106
+ for (const k in o) {
107
+ const cur = o[k];
114
108
  if (typeof cur !== "object" || cur === null) {
115
109
  o2[k] = cur;
116
- } else if (cur instanceof Date) {
117
- o2[k] = new Date(cur);
118
- } else if (cur instanceof Map) {
119
- o2[k] = new Map(cloneArray(Array.from(cur), cloneProto));
120
- } else if (cur instanceof Set) {
121
- o2[k] = new Set(cloneArray(Array.from(cur), cloneProto));
110
+ } else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) {
111
+ o2[k] = handler(cur, cloneProto);
122
112
  } else if (ArrayBuffer.isView(cur)) {
123
113
  o2[k] = copyBuffer(cur);
124
114
  } else {
@@ -129,23 +119,33 @@ var require_rfdc = __commonJS({
129
119
  }
130
120
  }
131
121
  function rfdcCircles(opts) {
132
- var refs = [];
133
- var refsNew = [];
122
+ const refs = [];
123
+ const refsNew = [];
124
+ const constructorHandlers = /* @__PURE__ */ new Map();
125
+ constructorHandlers.set(Date, (o) => new Date(o));
126
+ constructorHandlers.set(Map, (o, fn) => new Map(cloneArray(Array.from(o), fn)));
127
+ constructorHandlers.set(Set, (o, fn) => new Set(cloneArray(Array.from(o), fn)));
128
+ if (opts.constructorHandlers) {
129
+ for (const handler2 of opts.constructorHandlers) {
130
+ constructorHandlers.set(handler2[0], handler2[1]);
131
+ }
132
+ }
133
+ let handler = null;
134
134
  return opts.proto ? cloneProto : clone2;
135
135
  function cloneArray(a, fn) {
136
- var keys = Object.keys(a);
137
- var a2 = new Array(keys.length);
138
- for (var i = 0; i < keys.length; i++) {
139
- var k = keys[i];
140
- var cur = a[k];
136
+ const keys = Object.keys(a);
137
+ const a2 = new Array(keys.length);
138
+ for (let i = 0; i < keys.length; i++) {
139
+ const k = keys[i];
140
+ const cur = a[k];
141
141
  if (typeof cur !== "object" || cur === null) {
142
142
  a2[k] = cur;
143
- } else if (cur instanceof Date) {
144
- a2[k] = new Date(cur);
143
+ } else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) {
144
+ a2[k] = handler(cur, fn);
145
145
  } else if (ArrayBuffer.isView(cur)) {
146
146
  a2[k] = copyBuffer(cur);
147
147
  } else {
148
- var index = refs.indexOf(cur);
148
+ const index = refs.indexOf(cur);
149
149
  if (index !== -1) {
150
150
  a2[k] = refsNew[index];
151
151
  } else {
@@ -156,35 +156,25 @@ var require_rfdc = __commonJS({
156
156
  return a2;
157
157
  }
158
158
  function clone2(o) {
159
- if (typeof o !== "object" || o === null)
160
- return o;
161
- if (o instanceof Date)
162
- return new Date(o);
163
- if (Array.isArray(o))
164
- return cloneArray(o, clone2);
165
- if (o instanceof Map)
166
- return new Map(cloneArray(Array.from(o), clone2));
167
- if (o instanceof Set)
168
- return new Set(cloneArray(Array.from(o), clone2));
169
- var o2 = {};
159
+ if (typeof o !== "object" || o === null) return o;
160
+ if (Array.isArray(o)) return cloneArray(o, clone2);
161
+ if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) {
162
+ return handler(o, clone2);
163
+ }
164
+ const o2 = {};
170
165
  refs.push(o);
171
166
  refsNew.push(o2);
172
- for (var k in o) {
173
- if (Object.hasOwnProperty.call(o, k) === false)
174
- continue;
175
- var cur = o[k];
167
+ for (const k in o) {
168
+ if (Object.hasOwnProperty.call(o, k) === false) continue;
169
+ const cur = o[k];
176
170
  if (typeof cur !== "object" || cur === null) {
177
171
  o2[k] = cur;
178
- } else if (cur instanceof Date) {
179
- o2[k] = new Date(cur);
180
- } else if (cur instanceof Map) {
181
- o2[k] = new Map(cloneArray(Array.from(cur), clone2));
182
- } else if (cur instanceof Set) {
183
- o2[k] = new Set(cloneArray(Array.from(cur), clone2));
172
+ } else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) {
173
+ o2[k] = handler(cur, clone2);
184
174
  } else if (ArrayBuffer.isView(cur)) {
185
175
  o2[k] = copyBuffer(cur);
186
176
  } else {
187
- var i = refs.indexOf(cur);
177
+ const i = refs.indexOf(cur);
188
178
  if (i !== -1) {
189
179
  o2[k] = refsNew[i];
190
180
  } else {
@@ -197,33 +187,24 @@ var require_rfdc = __commonJS({
197
187
  return o2;
198
188
  }
199
189
  function cloneProto(o) {
200
- if (typeof o !== "object" || o === null)
201
- return o;
202
- if (o instanceof Date)
203
- return new Date(o);
204
- if (Array.isArray(o))
205
- return cloneArray(o, cloneProto);
206
- if (o instanceof Map)
207
- return new Map(cloneArray(Array.from(o), cloneProto));
208
- if (o instanceof Set)
209
- return new Set(cloneArray(Array.from(o), cloneProto));
210
- var o2 = {};
190
+ if (typeof o !== "object" || o === null) return o;
191
+ if (Array.isArray(o)) return cloneArray(o, cloneProto);
192
+ if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) {
193
+ return handler(o, cloneProto);
194
+ }
195
+ const o2 = {};
211
196
  refs.push(o);
212
197
  refsNew.push(o2);
213
- for (var k in o) {
214
- var cur = o[k];
198
+ for (const k in o) {
199
+ const cur = o[k];
215
200
  if (typeof cur !== "object" || cur === null) {
216
201
  o2[k] = cur;
217
- } else if (cur instanceof Date) {
218
- o2[k] = new Date(cur);
219
- } else if (cur instanceof Map) {
220
- o2[k] = new Map(cloneArray(Array.from(cur), cloneProto));
221
- } else if (cur instanceof Set) {
222
- o2[k] = new Set(cloneArray(Array.from(cur), cloneProto));
202
+ } else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) {
203
+ o2[k] = handler(cur, cloneProto);
223
204
  } else if (ArrayBuffer.isView(cur)) {
224
205
  o2[k] = copyBuffer(cur);
225
206
  } else {
226
- var i = refs.indexOf(cur);
207
+ const i = refs.indexOf(cur);
227
208
  if (i !== -1) {
228
209
  o2[k] = refsNew[i];
229
210
  } else {
@@ -251,8 +232,11 @@ __export(src_exports, {
251
232
  PersonalizeClient: () => PersonalizeClient,
252
233
  TestClient: () => TestClient,
253
234
  UniformScript: () => UniformScript,
235
+ VisibilityRulesWrapperClient: () => VisibilityRulesWrapperClient,
254
236
  createClientUniformContext: () => createClientUniformContext,
255
237
  useInitUniformContext: () => useInitUniformContext,
238
+ useQuirks: () => useQuirks,
239
+ useScores: () => useScores,
256
240
  useUniformContext: () => useUniformContext
257
241
  });
258
242
  module.exports = __toCommonJS(src_exports);
@@ -383,27 +367,21 @@ var ContextUpdateTransferClient = ({
383
367
  var has = Object.prototype.hasOwnProperty;
384
368
  function dequal(foo, bar) {
385
369
  var ctor, len;
386
- if (foo === bar)
387
- return true;
370
+ if (foo === bar) return true;
388
371
  if (foo && bar && (ctor = foo.constructor) === bar.constructor) {
389
- if (ctor === Date)
390
- return foo.getTime() === bar.getTime();
391
- if (ctor === RegExp)
392
- return foo.toString() === bar.toString();
372
+ if (ctor === Date) return foo.getTime() === bar.getTime();
373
+ if (ctor === RegExp) return foo.toString() === bar.toString();
393
374
  if (ctor === Array) {
394
375
  if ((len = foo.length) === bar.length) {
395
- while (len-- && dequal(foo[len], bar[len]))
396
- ;
376
+ while (len-- && dequal(foo[len], bar[len])) ;
397
377
  }
398
378
  return len === -1;
399
379
  }
400
380
  if (!ctor || typeof foo === "object") {
401
381
  len = 0;
402
382
  for (ctor in foo) {
403
- if (has.call(foo, ctor) && ++len && !has.call(bar, ctor))
404
- return false;
405
- if (!(ctor in bar) || !dequal(foo[ctor], bar[ctor]))
406
- return false;
383
+ if (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;
384
+ if (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;
407
385
  }
408
386
  return Object.keys(bar).length === len;
409
387
  }
@@ -513,27 +491,15 @@ var api = init(defaultConverter, { path: "/" });
513
491
  var import_rfdc = __toESM(require_rfdc(), 1);
514
492
  var import_rfdc2 = __toESM(require_rfdc(), 1);
515
493
  var import_rfdc3 = __toESM(require_rfdc(), 1);
516
- var __accessCheck = (obj, member, msg) => {
517
- if (!member.has(obj))
518
- throw TypeError("Cannot " + msg);
519
- };
520
- var __privateGet = (obj, member, getter) => {
521
- __accessCheck(obj, member, "read from private field");
522
- return getter ? getter.call(obj) : member.get(obj);
523
- };
524
- var __privateSet = (obj, member, value, setter) => {
525
- __accessCheck(obj, member, "write to private field");
526
- setter ? setter.call(obj, value) : member.set(obj, value);
527
- return value;
528
- };
529
- var __privateMethod = (obj, member, method) => {
530
- __accessCheck(obj, member, "access private method");
531
- return method;
494
+ var __typeError = (msg) => {
495
+ throw TypeError(msg);
532
496
  };
497
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
498
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
499
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
500
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
533
501
  var ENR_SEPARATOR = "_";
534
- var _signal;
535
502
  var _id;
536
- _signal = /* @__PURE__ */ new WeakMap();
537
503
  _id = /* @__PURE__ */ new WeakMap();
538
504
  var _evaluator;
539
505
  var _onLogMessage;
@@ -632,9 +598,9 @@ var _cookieName;
632
598
  var _cookieAttributes;
633
599
  _cookieName = /* @__PURE__ */ new WeakMap();
634
600
  _cookieAttributes = /* @__PURE__ */ new WeakMap();
635
- var _fetchData;
601
+ var _EdgeTransitionDataStore_instances;
636
602
  var fetchData_fn;
637
- _fetchData = /* @__PURE__ */ new WeakSet();
603
+ _EdgeTransitionDataStore_instances = /* @__PURE__ */ new WeakSet();
638
604
  fetchData_fn = async function() {
639
605
  const serviceData = await new Promise((resolve) => {
640
606
  setTimeout(() => {
@@ -656,50 +622,45 @@ var emptyVisitorData = () => ({
656
622
  personalizeVariants: {}
657
623
  });
658
624
  var clone = (0, import_rfdc.default)();
625
+ var _LocalStorage_instances;
626
+ var key_fn;
627
+ _LocalStorage_instances = /* @__PURE__ */ new WeakSet();
628
+ key_fn = function(key) {
629
+ return this.partitionKey ? `${this.partitionKey}.${key}` : key;
630
+ };
659
631
  var STORAGE_KEY = "ufvisitor";
660
632
  var _mitt2;
661
633
  var _persist;
662
634
  var _visitTimeout;
663
635
  var _options;
664
- var _currentData;
636
+ var _VisitorDataStore_instances;
665
637
  var currentData_get;
666
- var _replaceData;
667
638
  var replaceData_fn;
668
- var _setVisitTimeout;
669
639
  var setVisitTimeout_fn;
670
- var _isExpired;
671
640
  var isExpired_fn;
672
- var _handleCaps;
673
641
  var handleCaps_fn;
674
- var _defaultData;
675
642
  var defaultData_fn;
676
643
  _mitt2 = /* @__PURE__ */ new WeakMap();
677
644
  _persist = /* @__PURE__ */ new WeakMap();
678
645
  _visitTimeout = /* @__PURE__ */ new WeakMap();
679
646
  _options = /* @__PURE__ */ new WeakMap();
680
- _currentData = /* @__PURE__ */ new WeakSet();
647
+ _VisitorDataStore_instances = /* @__PURE__ */ new WeakSet();
681
648
  currentData_get = function() {
682
649
  return __privateGet(this, _persist).get(STORAGE_KEY);
683
650
  };
684
- _replaceData = /* @__PURE__ */ new WeakSet();
685
651
  replaceData_fn = function(data, quiet = false) {
686
652
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
687
- const oldData = __privateGet(this, _currentData, currentData_get);
653
+ const oldData = __privateGet(this, _VisitorDataStore_instances, currentData_get);
688
654
  const now = Date.now();
689
- if (data.controlGroup) {
690
- data.scores = {};
691
- data.sessionScores = {};
692
- } else {
693
- __privateMethod(this, _handleCaps, handleCaps_fn).call(this, data.scores);
694
- __privateMethod(this, _handleCaps, handleCaps_fn).call(this, data.sessionScores);
695
- (_b = (_a = __privateGet(this, _options)).decay) == null ? void 0 : _b.call(_a, {
696
- now,
697
- lastUpd: oldData == null ? void 0 : oldData.updated,
698
- scores: data.scores,
699
- sessionScores: data.sessionScores,
700
- onLogMessage: __privateGet(this, _options).onLogMessage
701
- });
702
- }
655
+ __privateMethod(this, _VisitorDataStore_instances, handleCaps_fn).call(this, data.scores);
656
+ __privateMethod(this, _VisitorDataStore_instances, handleCaps_fn).call(this, data.sessionScores);
657
+ (_b = (_a = __privateGet(this, _options)).decay) == null ? void 0 : _b.call(_a, {
658
+ now,
659
+ lastUpd: oldData == null ? void 0 : oldData.updated,
660
+ scores: data.scores,
661
+ sessionScores: data.sessionScores,
662
+ onLogMessage: __privateGet(this, _options).onLogMessage
663
+ });
703
664
  const haveScoresChanged = !dequal(oldData == null ? void 0 : oldData.visitorData.scores, data.scores);
704
665
  const haveSessionScoresChanged = !dequal(oldData == null ? void 0 : oldData.visitorData.sessionScores, data.sessionScores);
705
666
  const haveQuirksChanged = !dequal(oldData == null ? void 0 : oldData.visitorData.quirks, data.quirks);
@@ -709,7 +670,7 @@ replaceData_fn = function(data, quiet = false) {
709
670
  updated: now,
710
671
  visitorData: data
711
672
  };
712
- __privateMethod(this, _setVisitTimeout, setVisitTimeout_fn).call(this);
673
+ __privateMethod(this, _VisitorDataStore_instances, setVisitTimeout_fn).call(this);
713
674
  __privateGet(this, _persist).set(STORAGE_KEY, updatedData, !!data.consent);
714
675
  (_d = (_c = __privateGet(this, _options)).onLogMessage) == null ? void 0 : _d.call(_c, ["debug", 102, data]);
715
676
  if (!quiet) {
@@ -740,7 +701,6 @@ replaceData_fn = function(data, quiet = false) {
740
701
  }
741
702
  }
742
703
  };
743
- _setVisitTimeout = /* @__PURE__ */ new WeakSet();
744
704
  setVisitTimeout_fn = function() {
745
705
  if (typeof document === "undefined" || !__privateGet(this, _options).visitLifespan) {
746
706
  return;
@@ -752,12 +712,10 @@ setVisitTimeout_fn = function() {
752
712
  this.data;
753
713
  }, __privateGet(this, _options).visitLifespan + 50));
754
714
  };
755
- _isExpired = /* @__PURE__ */ new WeakSet();
756
715
  isExpired_fn = function(data) {
757
716
  const expires = __privateGet(this, _options).visitLifespan;
758
717
  return expires ? data.updated + expires < Date.now() : false;
759
718
  };
760
- _handleCaps = /* @__PURE__ */ new WeakSet();
761
719
  handleCaps_fn = function(scores) {
762
720
  var _a, _b;
763
721
  if (!__privateGet(this, _options).manifest) {
@@ -775,7 +733,6 @@ handleCaps_fn = function(scores) {
775
733
  }
776
734
  }
777
735
  };
778
- _defaultData = /* @__PURE__ */ new WeakSet();
779
736
  defaultData_fn = function() {
780
737
  var _a, _b, _c;
781
738
  return {
@@ -789,39 +746,36 @@ var _scores;
789
746
  var _state;
790
747
  var _pzCache;
791
748
  var _plugins;
749
+ var _commands;
792
750
  var _mitt3;
793
- var _emitTest;
751
+ var _Context_instances;
794
752
  var emitTest_fn;
795
- var _updateGoals;
796
753
  var updateGoals_fn;
797
- var _updateComputedScores;
798
754
  var updateComputedScores_fn;
799
- var _calculateScores;
800
755
  var calculateScores_fn;
801
756
  _serverTransitionState = /* @__PURE__ */ new WeakMap();
802
757
  _scores = /* @__PURE__ */ new WeakMap();
803
758
  _state = /* @__PURE__ */ new WeakMap();
804
759
  _pzCache = /* @__PURE__ */ new WeakMap();
805
760
  _plugins = /* @__PURE__ */ new WeakMap();
761
+ _commands = /* @__PURE__ */ new WeakMap();
806
762
  _mitt3 = /* @__PURE__ */ new WeakMap();
807
- _emitTest = /* @__PURE__ */ new WeakSet();
763
+ _Context_instances = /* @__PURE__ */ new WeakSet();
808
764
  emitTest_fn = function(event) {
809
765
  __privateGet(this, _mitt3).emit("testResult", event);
810
766
  };
811
- _updateGoals = /* @__PURE__ */ new WeakSet();
812
767
  updateGoals_fn = async function(data) {
813
768
  const goalCommands = this.manifest.computeGoals(data);
814
769
  if (goalCommands.length !== 0) {
815
770
  await this.storage.updateData(goalCommands);
816
771
  }
817
772
  };
818
- _updateComputedScores = /* @__PURE__ */ new WeakSet();
819
773
  updateComputedScores_fn = function(newData) {
820
- const newScores = __privateMethod(this, _calculateScores, calculateScores_fn).call(this, newData);
774
+ const newScores = __privateMethod(this, _Context_instances, calculateScores_fn).call(this, newData);
821
775
  const newScoresHaveChanged = !dequal(newScores, __privateGet(this, _scores));
822
776
  if (newScoresHaveChanged) {
823
777
  __privateSet(this, _scores, newScores);
824
- __privateMethod(this, _updateGoals, updateGoals_fn).call(this, {
778
+ __privateMethod(this, _Context_instances, updateGoals_fn).call(this, {
825
779
  scores: __privateGet(this, _scores),
826
780
  quirks: void 0
827
781
  });
@@ -829,7 +783,6 @@ updateComputedScores_fn = function(newData) {
829
783
  __privateGet(this, _mitt3).emit("log", ["info", 3, newScores]);
830
784
  }
831
785
  };
832
- _calculateScores = /* @__PURE__ */ new WeakSet();
833
786
  calculateScores_fn = function(newData) {
834
787
  var _a;
835
788
  let newScores = { ...newData.scores };
@@ -876,13 +829,11 @@ function enableContextDevTools(options) {
876
829
  );
877
830
  };
878
831
  const onPersonalizationResult = (e) => {
879
- if (!e.changed)
880
- return;
832
+ if (!e.changed) return;
881
833
  personalizations.push(e);
882
834
  };
883
835
  const onTestResult = (e) => {
884
- if (!e.variantAssigned)
885
- return;
836
+ if (!e.variantAssigned) return;
886
837
  tests.push(e);
887
838
  };
888
839
  if (isBrowser) {
@@ -1034,13 +985,12 @@ var TestClient = (props) => {
1034
985
  var _a;
1035
986
  const { slots } = props;
1036
987
  const { context } = useUniformContext();
1037
- const [index, setIndex] = (0, import_react9.useState)(0);
1038
- (0, import_react9.useEffect)(() => {
988
+ const index = (0, import_react9.useMemo)(() => {
1039
989
  const result = (0, import_canvas_next_rsc_shared3.runTest)({
1040
990
  ...props,
1041
991
  contextInstance: context
1042
992
  });
1043
- setIndex(result.index);
993
+ return result.index;
1044
994
  }, [props, context]);
1045
995
  if (typeof index !== "number") {
1046
996
  return null;
@@ -1094,6 +1044,10 @@ var UniformScript = () => {
1094
1044
  if (enabled) {
1095
1045
  if (!existing) {
1096
1046
  const textHost = (0, import_canvas4.isAllowedReferrer)(window.document.referrer) ? window.document.referrer : "https://uniform.app/";
1047
+ window.__UNIFORM_CONTEXTUAL_EDITING__ = {
1048
+ framework: "React",
1049
+ version: 2
1050
+ };
1097
1051
  const bundleHost = new URL(textHost);
1098
1052
  bundleHost.pathname = "/files/canvas-in-context-embed/index.js";
1099
1053
  const script = document.createElement("script");
@@ -1121,6 +1075,84 @@ var UniformScript = () => {
1121
1075
  }, [router]);
1122
1076
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {});
1123
1077
  };
1078
+
1079
+ // src/components/VisibilityRulesWrapperClient.tsx
1080
+ var import_canvas5 = require("@uniformdev/canvas");
1081
+ var import_react12 = require("react");
1082
+
1083
+ // src/hooks/useQuirks.ts
1084
+ var import_react11 = require("react");
1085
+ function useQuirks() {
1086
+ var _a;
1087
+ const { context } = useUniformContext();
1088
+ const [quirks, setQuirks] = (0, import_react11.useState)((_a = context == null ? void 0 : context.quirks) != null ? _a : {});
1089
+ (0, import_react11.useEffect)(() => {
1090
+ if (!context) {
1091
+ return;
1092
+ }
1093
+ const quirkChangeListener = (updatedQuirks) => {
1094
+ setQuirks(updatedQuirks);
1095
+ };
1096
+ setQuirks(context.quirks);
1097
+ context == null ? void 0 : context.events.on("quirksUpdated", quirkChangeListener);
1098
+ return () => {
1099
+ context == null ? void 0 : context.events.off("quirksUpdated", quirkChangeListener);
1100
+ };
1101
+ }, [context]);
1102
+ return quirks;
1103
+ }
1104
+
1105
+ // src/components/VisibilityRulesWrapperClient.tsx
1106
+ var import_jsx_runtime4 = require("react/jsx-runtime");
1107
+ var VisibilityRulesWrapperClient = ({
1108
+ parameter,
1109
+ initialIsVisible,
1110
+ children
1111
+ }) => {
1112
+ const [isVisible, setIsVisible] = (0, import_react12.useState)(initialIsVisible);
1113
+ const [visibleSource, setVisibleSource] = (0, import_react12.useState)(
1114
+ initialIsVisible === null ? "unknown" : "server"
1115
+ );
1116
+ const quirks = useQuirks();
1117
+ const rules = (0, import_react12.useMemo)(() => {
1118
+ return {
1119
+ ...(0, import_canvas5.createQuirksVisibilityRule)(quirks)
1120
+ };
1121
+ }, [quirks]);
1122
+ (0, import_react12.useEffect)(() => {
1123
+ const result = (0, import_canvas5.evaluateNodeVisibilityParameter)({
1124
+ rules,
1125
+ parameter
1126
+ });
1127
+ if (visibleSource === "server" && initialIsVisible && !result) {
1128
+ return;
1129
+ }
1130
+ setIsVisible(result);
1131
+ setVisibleSource("client");
1132
+ }, [initialIsVisible, visibleSource, parameter, rules]);
1133
+ return isVisible ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children }) : null;
1134
+ };
1135
+
1136
+ // src/hooks/useScores.ts
1137
+ var import_react13 = require("react");
1138
+ function useScores() {
1139
+ const { context } = useUniformContext();
1140
+ const [scores, setScores] = (0, import_react13.useState)(context == null ? void 0 : context.scores);
1141
+ (0, import_react13.useEffect)(() => {
1142
+ if (!context) {
1143
+ return;
1144
+ }
1145
+ const scoringChangeListener = (updatedScores) => {
1146
+ setScores(updatedScores);
1147
+ };
1148
+ setScores(context.scores);
1149
+ context.events.on("scoresUpdated", scoringChangeListener);
1150
+ return () => {
1151
+ context.events.off("scoresUpdated", scoringChangeListener);
1152
+ };
1153
+ }, [context]);
1154
+ return scores;
1155
+ }
1124
1156
  // Annotate the CommonJS export names for ESM import in node:
1125
1157
  0 && (module.exports = {
1126
1158
  ClientContextPersonalizationTransfer,
@@ -1132,8 +1164,11 @@ var UniformScript = () => {
1132
1164
  PersonalizeClient,
1133
1165
  TestClient,
1134
1166
  UniformScript,
1167
+ VisibilityRulesWrapperClient,
1135
1168
  createClientUniformContext,
1136
1169
  useInitUniformContext,
1170
+ useQuirks,
1171
+ useScores,
1137
1172
  useUniformContext
1138
1173
  });
1139
1174
  /*! Bundled license information: