funnel-gfx-wc 0.1.68 → 0.1.70

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.
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ const globalScripts = () => {};
4
+
5
+ exports.globalScripts = globalScripts;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-CIpk2h9T.js');
3
+ var index = require('./index-BsVwdf0x.js');
4
4
 
5
5
  const Radio = props => {
6
6
  const hex = props.hex || 'currentColor';
@@ -150,6 +150,8 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
150
150
  set: [],
151
151
  reset: [],
152
152
  };
153
+ // Track onChange listeners to enable removeListener functionality
154
+ const changeListeners = new Map();
153
155
  const reset = () => {
154
156
  // When resetting the state, the default state may be a function - unwrap it to invoke it.
155
157
  // otherwise, the state won't be properly reset
@@ -203,17 +205,21 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
203
205
  };
204
206
  };
205
207
  const onChange = (propName, cb) => {
206
- const unSet = on('set', (key, newValue) => {
208
+ const setHandler = (key, newValue) => {
207
209
  if (key === propName) {
208
210
  cb(newValue);
209
211
  }
210
- });
211
- // We need to unwrap the defaultState because it might be a function.
212
- // Otherwise we might not be sending the right reset value.
213
- const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));
212
+ };
213
+ const resetHandler = () => cb(unwrap(defaultState)[propName]);
214
+ // Register the handlers
215
+ const unSet = on('set', setHandler);
216
+ const unReset = on('reset', resetHandler);
217
+ // Track the relationship between the user callback and internal handlers
218
+ changeListeners.set(cb, { setHandler, resetHandler, propName });
214
219
  return () => {
215
220
  unSet();
216
221
  unReset();
222
+ changeListeners.delete(cb);
217
223
  };
218
224
  };
219
225
  const use = (...subscriptions) => {
@@ -238,6 +244,15 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
238
244
  const oldValue = states.get(key);
239
245
  handlers.set.forEach((cb) => cb(key, oldValue, oldValue));
240
246
  };
247
+ const removeListener = (propName, listener) => {
248
+ const listenerInfo = changeListeners.get(listener);
249
+ if (listenerInfo && listenerInfo.propName === propName) {
250
+ // Remove the specific handlers that were created for this listener
251
+ removeFromArray(handlers.set, listenerInfo.setHandler);
252
+ removeFromArray(handlers.reset, listenerInfo.resetHandler);
253
+ changeListeners.delete(listener);
254
+ }
255
+ };
241
256
  return {
242
257
  state,
243
258
  get,
@@ -248,6 +263,7 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
248
263
  dispose,
249
264
  reset,
250
265
  forceUpdate,
266
+ removeListener,
251
267
  };
252
268
  };
253
269
  const removeFromArray = (array, item) => {
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-CIpk2h9T.js');
3
+ var index = require('./index-BsVwdf0x.js');
4
+ var appGlobals = require('./app-globals-V2Kpy_OQ.js');
4
5
 
5
6
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
6
7
  /*
7
- Stencil Client Patch Browser v4.35.1 | MIT Licensed | https://stenciljs.com
8
+ Stencil Client Patch Browser v4.36.0 | MIT Licensed | https://stenciljs.com
8
9
  */
9
10
 
10
11
  var patchBrowser = () => {
@@ -17,7 +18,7 @@ var patchBrowser = () => {
17
18
  };
18
19
 
19
20
  patchBrowser().then(async (options) => {
20
- await index.globalScripts();
21
+ await appGlobals.globalScripts();
21
22
  return index.bootstrapLazy([["funnel-app.cjs",[[1,"funnel-app",{"tag":[1]}]]]], options);
22
23
  });
23
24
 
@@ -3,11 +3,8 @@
3
3
  const NAMESPACE = 'funnel-gfx-wc';
4
4
  const BUILD = /* funnel-gfx-wc */ { hydratedSelectorName: "hydrated", lazyLoad: true, updatable: true, watchCallback: false };
5
5
 
6
- const globalScripts = () => {};
7
- const globalStyles = "";
8
-
9
6
  /*
10
- Stencil Client Platform v4.35.1 | MIT Licensed | https://stenciljs.com
7
+ Stencil Client Platform v4.36.0 | MIT Licensed | https://stenciljs.com
11
8
  */
12
9
  var __defProp = Object.defineProperty;
13
10
  var __export = (target, all) => {
@@ -104,6 +101,7 @@ var supportsConstructableStylesheets = /* @__PURE__ */ (() => {
104
101
  }
105
102
  return false;
106
103
  })() ;
104
+ var supportsMutableAdoptedStyleSheets = supportsConstructableStylesheets ? /* @__PURE__ */ (() => !!win.document && Object.getOwnPropertyDescriptor(win.document.adoptedStyleSheets, "length").writable)() : false;
107
105
  var queuePending = false;
108
106
  var queueDomReads = [];
109
107
  var queueDomWrites = [];
@@ -203,12 +201,24 @@ var unwrapErr = (result) => {
203
201
  throw result.value;
204
202
  }
205
203
  };
204
+
205
+ // src/utils/style.ts
206
+ function createStyleSheetIfNeededAndSupported(styles2) {
207
+ return void 0;
208
+ }
209
+
210
+ // src/utils/shadow-root.ts
211
+ var globalStyleSheet;
206
212
  function createShadowRoot(cmpMeta) {
213
+ var _a;
207
214
  const shadowRoot = this.attachShadow({ mode: "open" });
208
- if (supportsConstructableStylesheets) {
209
- const sheet = new CSSStyleSheet();
210
- sheet.replaceSync(globalStyles);
211
- shadowRoot.adoptedStyleSheets.push(sheet);
215
+ if (globalStyleSheet === void 0) globalStyleSheet = (_a = createStyleSheetIfNeededAndSupported()) != null ? _a : null;
216
+ if (globalStyleSheet) {
217
+ if (supportsMutableAdoptedStyleSheets) {
218
+ shadowRoot.adoptedStyleSheets.push(globalStyleSheet);
219
+ } else {
220
+ shadowRoot.adoptedStyleSheets = [...shadowRoot.adoptedStyleSheets, globalStyleSheet];
221
+ }
212
222
  }
213
223
  }
214
224
  var createTime = (fnName, tagName = "") => {
@@ -225,6 +235,110 @@ var uniqueTime = (key, measureText) => {
225
235
  };
226
236
  }
227
237
  };
238
+ var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
239
+ var registerStyle = (scopeId2, cssText, allowCS) => {
240
+ let style = styles.get(scopeId2);
241
+ if (supportsConstructableStylesheets && allowCS) {
242
+ style = style || new CSSStyleSheet();
243
+ if (typeof style === "string") {
244
+ style = cssText;
245
+ } else {
246
+ style.replaceSync(cssText);
247
+ }
248
+ } else {
249
+ style = cssText;
250
+ }
251
+ styles.set(scopeId2, style);
252
+ };
253
+ var addStyle = (styleContainerNode, cmpMeta, mode) => {
254
+ var _a;
255
+ const scopeId2 = getScopeId(cmpMeta);
256
+ const style = styles.get(scopeId2);
257
+ if (!win.document) {
258
+ return scopeId2;
259
+ }
260
+ styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document;
261
+ if (style) {
262
+ if (typeof style === "string") {
263
+ styleContainerNode = styleContainerNode.head || styleContainerNode;
264
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
265
+ let styleElm;
266
+ if (!appliedStyles) {
267
+ rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
268
+ }
269
+ if (!appliedStyles.has(scopeId2)) {
270
+ {
271
+ styleElm = win.document.createElement("style");
272
+ styleElm.innerHTML = style;
273
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
274
+ if (nonce != null) {
275
+ styleElm.setAttribute("nonce", nonce);
276
+ }
277
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
278
+ if (styleContainerNode.nodeName === "HEAD") {
279
+ const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
280
+ const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
281
+ styleContainerNode.insertBefore(
282
+ styleElm,
283
+ (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
284
+ );
285
+ } else if ("host" in styleContainerNode) {
286
+ if (supportsConstructableStylesheets) {
287
+ const stylesheet = new CSSStyleSheet();
288
+ stylesheet.replaceSync(style);
289
+ if (supportsMutableAdoptedStyleSheets) {
290
+ styleContainerNode.adoptedStyleSheets.unshift(stylesheet);
291
+ } else {
292
+ styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
293
+ }
294
+ } else {
295
+ const existingStyleContainer = styleContainerNode.querySelector("style");
296
+ if (existingStyleContainer) {
297
+ existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
298
+ } else {
299
+ styleContainerNode.prepend(styleElm);
300
+ }
301
+ }
302
+ } else {
303
+ styleContainerNode.append(styleElm);
304
+ }
305
+ }
306
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
307
+ styleContainerNode.insertBefore(styleElm, null);
308
+ }
309
+ }
310
+ if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
311
+ styleElm.innerHTML += SLOT_FB_CSS;
312
+ }
313
+ if (appliedStyles) {
314
+ appliedStyles.add(scopeId2);
315
+ }
316
+ }
317
+ } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
318
+ if (supportsMutableAdoptedStyleSheets) {
319
+ styleContainerNode.adoptedStyleSheets.push(style);
320
+ } else {
321
+ styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
322
+ }
323
+ }
324
+ }
325
+ return scopeId2;
326
+ };
327
+ var attachStyles = (hostRef) => {
328
+ const cmpMeta = hostRef.$cmpMeta$;
329
+ const elm = hostRef.$hostElement$;
330
+ const flags = cmpMeta.$flags$;
331
+ const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
332
+ const scopeId2 = addStyle(
333
+ elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
334
+ cmpMeta);
335
+ if (flags & 10 /* needsScopedEncapsulation */) {
336
+ elm["s-sc"] = scopeId2;
337
+ elm.classList.add(scopeId2 + "-h");
338
+ }
339
+ endAttachStyles();
340
+ };
341
+ var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
228
342
  var h = (nodeName, vnodeData, ...children) => {
229
343
  let child = null;
230
344
  let key = null;
@@ -352,102 +466,6 @@ var emitEvent = (elm, name, opts) => {
352
466
  elm.dispatchEvent(ev);
353
467
  return ev;
354
468
  };
355
- var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
356
- var registerStyle = (scopeId2, cssText, allowCS) => {
357
- let style = styles.get(scopeId2);
358
- if (supportsConstructableStylesheets && allowCS) {
359
- style = style || new CSSStyleSheet();
360
- if (typeof style === "string") {
361
- style = cssText;
362
- } else {
363
- style.replaceSync(cssText);
364
- }
365
- } else {
366
- style = cssText;
367
- }
368
- styles.set(scopeId2, style);
369
- };
370
- var addStyle = (styleContainerNode, cmpMeta, mode) => {
371
- var _a;
372
- const scopeId2 = getScopeId(cmpMeta);
373
- const style = styles.get(scopeId2);
374
- if (!win.document) {
375
- return scopeId2;
376
- }
377
- styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document;
378
- if (style) {
379
- if (typeof style === "string") {
380
- styleContainerNode = styleContainerNode.head || styleContainerNode;
381
- let appliedStyles = rootAppliedStyles.get(styleContainerNode);
382
- let styleElm;
383
- if (!appliedStyles) {
384
- rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
385
- }
386
- if (!appliedStyles.has(scopeId2)) {
387
- {
388
- styleElm = win.document.createElement("style");
389
- styleElm.innerHTML = style;
390
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
391
- if (nonce != null) {
392
- styleElm.setAttribute("nonce", nonce);
393
- }
394
- if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
395
- if (styleContainerNode.nodeName === "HEAD") {
396
- const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
397
- const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
398
- styleContainerNode.insertBefore(
399
- styleElm,
400
- (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
401
- );
402
- } else if ("host" in styleContainerNode) {
403
- if (supportsConstructableStylesheets) {
404
- const stylesheet = new CSSStyleSheet();
405
- stylesheet.replaceSync(style);
406
- styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
407
- } else {
408
- const existingStyleContainer = styleContainerNode.querySelector("style");
409
- if (existingStyleContainer) {
410
- existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
411
- } else {
412
- styleContainerNode.prepend(styleElm);
413
- }
414
- }
415
- } else {
416
- styleContainerNode.append(styleElm);
417
- }
418
- }
419
- if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
420
- styleContainerNode.insertBefore(styleElm, null);
421
- }
422
- }
423
- if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
424
- styleElm.innerHTML += SLOT_FB_CSS;
425
- }
426
- if (appliedStyles) {
427
- appliedStyles.add(scopeId2);
428
- }
429
- }
430
- } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
431
- styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
432
- }
433
- }
434
- return scopeId2;
435
- };
436
- var attachStyles = (hostRef) => {
437
- const cmpMeta = hostRef.$cmpMeta$;
438
- const elm = hostRef.$hostElement$;
439
- const flags = cmpMeta.$flags$;
440
- const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
441
- const scopeId2 = addStyle(
442
- elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
443
- cmpMeta);
444
- if (flags & 10 /* needsScopedEncapsulation */) {
445
- elm["s-sc"] = scopeId2;
446
- elm.classList.add(scopeId2 + "-h");
447
- }
448
- endAttachStyles();
449
- };
450
- var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
451
469
  var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRender) => {
452
470
  if (oldValue === newValue) {
453
471
  return;
@@ -765,7 +783,7 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
765
783
  !isInitialRender && BUILD.updatable && oldChildren !== null
766
784
  ) {
767
785
  removeVnodes(oldChildren, 0, oldChildren.length - 1);
768
- }
786
+ } else ;
769
787
  if (isSvgMode && tag === "svg") {
770
788
  isSvgMode = false;
771
789
  }
@@ -827,6 +845,12 @@ var scheduleUpdate = (hostRef, isInitialLoad) => {
827
845
  }
828
846
  attachToAncestor(hostRef, hostRef.$ancestorComponent$);
829
847
  const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
848
+ if (isInitialLoad) {
849
+ queueMicrotask(() => {
850
+ dispatch();
851
+ });
852
+ return;
853
+ }
830
854
  return writeTask(dispatch) ;
831
855
  };
832
856
  var dispatchHooks = (hostRef, isInitialLoad) => {
@@ -944,9 +968,10 @@ var postUpdateComponent = (hostRef) => {
944
968
  }
945
969
  };
946
970
  var forceUpdate = (ref) => {
971
+ var _a;
947
972
  {
948
973
  const hostRef = getHostRef(ref);
949
- const isConnected = hostRef.$hostElement$.isConnected;
974
+ const isConnected = (_a = hostRef == null ? void 0 : hostRef.$hostElement$) == null ? void 0 : _a.isConnected;
950
975
  if (isConnected && (hostRef.$flags$ & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
951
976
  scheduleUpdate(hostRef, false);
952
977
  }
@@ -975,6 +1000,9 @@ var addHydratedFlag = (elm) => {
975
1000
  var getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
976
1001
  var setValue = (ref, propName, newVal, cmpMeta) => {
977
1002
  const hostRef = getHostRef(ref);
1003
+ if (!hostRef) {
1004
+ return;
1005
+ }
978
1006
  if (!hostRef) {
979
1007
  throw new Error(
980
1008
  `Couldn't find host element for "${cmpMeta.$tagName$}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/stenciljs/core/issues/5457).`
@@ -1034,6 +1062,9 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1034
1062
  Object.defineProperty(prototype, memberName, {
1035
1063
  set(newValue) {
1036
1064
  const ref = getHostRef(this);
1065
+ if (!ref) {
1066
+ return;
1067
+ }
1037
1068
  if (origSetter) {
1038
1069
  const currentValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
1039
1070
  if (typeof currentValue === "undefined" && ref.$instanceValues$.get(memberName)) {
@@ -1097,7 +1128,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1097
1128
  } else if (propName == null) {
1098
1129
  const hostRef = getHostRef(this);
1099
1130
  const flags2 = hostRef == null ? void 0 : hostRef.$flags$;
1100
- if (flags2 && !(flags2 & 8 /* isConstructingInstance */) && flags2 & 128 /* isWatchReady */ && newValue !== oldValue) {
1131
+ if (hostRef && flags2 && !(flags2 & 8 /* isConstructingInstance */) && flags2 & 128 /* isWatchReady */ && newValue !== oldValue) {
1101
1132
  const instance = hostRef.$lazyInstance$ ;
1102
1133
  const entry = (_a2 = cmpMeta.$watchers$) == null ? void 0 : _a2[attrName];
1103
1134
  entry == null ? void 0 : entry.forEach((callbackName) => {
@@ -1202,6 +1233,9 @@ var fireConnectedCallback = (instance, elm) => {
1202
1233
  var connectedCallback = (elm) => {
1203
1234
  if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
1204
1235
  const hostRef = getHostRef(elm);
1236
+ if (!hostRef) {
1237
+ return;
1238
+ }
1205
1239
  const cmpMeta = hostRef.$cmpMeta$;
1206
1240
  const endConnected = createTime("connectedCallback", cmpMeta.$tagName$);
1207
1241
  if (!(hostRef.$flags$ & 1 /* hasConnected */)) {
@@ -1316,7 +1350,10 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1316
1350
  }
1317
1351
  }
1318
1352
  connectedCallback() {
1319
- getHostRef(this);
1353
+ const hostRef = getHostRef(this);
1354
+ if (!hostRef) {
1355
+ return;
1356
+ }
1320
1357
  if (!this.hasRegisteredEventListeners) {
1321
1358
  this.hasRegisteredEventListeners = true;
1322
1359
  }
@@ -1335,6 +1372,9 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1335
1372
  plt.raf(() => {
1336
1373
  var _a3;
1337
1374
  const hostRef = getHostRef(this);
1375
+ if (!hostRef) {
1376
+ return;
1377
+ }
1338
1378
  const i2 = deferredConnectedCallbacks.findIndex((host) => host === this);
1339
1379
  if (i2 > -1) {
1340
1380
  deferredConnectedCallbacks.splice(i2, 1);
@@ -1345,7 +1385,8 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1345
1385
  });
1346
1386
  }
1347
1387
  componentOnReady() {
1348
- return getHostRef(this).$onReadyPromise$;
1388
+ var _a3;
1389
+ return (_a3 = getHostRef(this)) == null ? void 0 : _a3.$onReadyPromise$;
1349
1390
  }
1350
1391
  };
1351
1392
  cmpMeta.$lazyBundleId$ = lazyBundle[0];
@@ -1391,7 +1432,6 @@ var setNonce = (nonce) => plt.$nonce$ = nonce;
1391
1432
  exports.bootstrapLazy = bootstrapLazy;
1392
1433
  exports.forceUpdate = forceUpdate;
1393
1434
  exports.getRenderingRef = getRenderingRef;
1394
- exports.globalScripts = globalScripts;
1395
1435
  exports.h = h;
1396
1436
  exports.promiseResolve = promiseResolve;
1397
1437
  exports.registerInstance = registerInstance;
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-CIpk2h9T.js');
3
+ var index = require('./index-BsVwdf0x.js');
4
+ var appGlobals = require('./app-globals-V2Kpy_OQ.js');
4
5
 
5
6
  const defineCustomElements = async (win, options) => {
6
7
  if (typeof window === 'undefined') return undefined;
7
- await index.globalScripts();
8
+ await appGlobals.globalScripts();
8
9
  return index.bootstrapLazy([["funnel-app.cjs",[[1,"funnel-app",{"tag":[1]}]]]], options);
9
10
  };
10
11
 
@@ -4,7 +4,7 @@
4
4
  ],
5
5
  "compiler": {
6
6
  "name": "@stencil/core",
7
- "version": "4.35.1",
7
+ "version": "4.36.0",
8
8
  "typescriptVersion": "5.5.4"
9
9
  },
10
10
  "collections": [],
@@ -0,0 +1,3 @@
1
+ const globalScripts = () => {};
2
+
3
+ export { globalScripts as g };
@@ -1,4 +1,4 @@
1
- import { h, a as getRenderingRef, f as forceUpdate, r as registerInstance } from './index-djplODvh.js';
1
+ import { h, g as getRenderingRef, f as forceUpdate, r as registerInstance } from './index-DDmU0cBi.js';
2
2
 
3
3
  const Radio = props => {
4
4
  const hex = props.hex || 'currentColor';
@@ -148,6 +148,8 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
148
148
  set: [],
149
149
  reset: [],
150
150
  };
151
+ // Track onChange listeners to enable removeListener functionality
152
+ const changeListeners = new Map();
151
153
  const reset = () => {
152
154
  // When resetting the state, the default state may be a function - unwrap it to invoke it.
153
155
  // otherwise, the state won't be properly reset
@@ -201,17 +203,21 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
201
203
  };
202
204
  };
203
205
  const onChange = (propName, cb) => {
204
- const unSet = on('set', (key, newValue) => {
206
+ const setHandler = (key, newValue) => {
205
207
  if (key === propName) {
206
208
  cb(newValue);
207
209
  }
208
- });
209
- // We need to unwrap the defaultState because it might be a function.
210
- // Otherwise we might not be sending the right reset value.
211
- const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));
210
+ };
211
+ const resetHandler = () => cb(unwrap(defaultState)[propName]);
212
+ // Register the handlers
213
+ const unSet = on('set', setHandler);
214
+ const unReset = on('reset', resetHandler);
215
+ // Track the relationship between the user callback and internal handlers
216
+ changeListeners.set(cb, { setHandler, resetHandler, propName });
212
217
  return () => {
213
218
  unSet();
214
219
  unReset();
220
+ changeListeners.delete(cb);
215
221
  };
216
222
  };
217
223
  const use = (...subscriptions) => {
@@ -236,6 +242,15 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
236
242
  const oldValue = states.get(key);
237
243
  handlers.set.forEach((cb) => cb(key, oldValue, oldValue));
238
244
  };
245
+ const removeListener = (propName, listener) => {
246
+ const listenerInfo = changeListeners.get(listener);
247
+ if (listenerInfo && listenerInfo.propName === propName) {
248
+ // Remove the specific handlers that were created for this listener
249
+ removeFromArray(handlers.set, listenerInfo.setHandler);
250
+ removeFromArray(handlers.reset, listenerInfo.resetHandler);
251
+ changeListeners.delete(listener);
252
+ }
253
+ };
239
254
  return {
240
255
  state,
241
256
  get,
@@ -246,6 +261,7 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
246
261
  dispose,
247
262
  reset,
248
263
  forceUpdate,
264
+ removeListener,
249
265
  };
250
266
  };
251
267
  const removeFromArray = (array, item) => {
@@ -1,8 +1,9 @@
1
- import { p as promiseResolve, g as globalScripts, b as bootstrapLazy } from './index-djplODvh.js';
2
- export { s as setNonce } from './index-djplODvh.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-DDmU0cBi.js';
2
+ export { s as setNonce } from './index-DDmU0cBi.js';
3
+ import { g as globalScripts } from './app-globals-DQuL1Twl.js';
3
4
 
4
5
  /*
5
- Stencil Client Patch Browser v4.35.1 | MIT Licensed | https://stenciljs.com
6
+ Stencil Client Patch Browser v4.36.0 | MIT Licensed | https://stenciljs.com
6
7
  */
7
8
 
8
9
  var patchBrowser = () => {