elements-kit 0.8.1 → 0.10.0

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.
Files changed (57) hide show
  1. package/dist/{element-obPs4k23.mjs → element-Y3uP_2p9.mjs} +1 -1
  2. package/dist/for.mjs +2 -2
  3. package/dist/integrations/react.mjs +2 -2
  4. package/dist/jsx-runtime/index.mjs +1 -1
  5. package/dist/{lib-CVfOddra.mjs → lib-Cg8fI7K5.mjs} +117 -58
  6. package/dist/render.mjs +1 -1
  7. package/dist/{scope-CwVlgN8b.mjs → scope-De6rSJvq.mjs} +1 -1
  8. package/dist/signals/index.mjs +1 -1
  9. package/dist/ui/segmented-control/segmented-control.css +259 -0
  10. package/dist/utilities/_observe.mjs +1 -1
  11. package/dist/utilities/active-element.mjs +1 -1
  12. package/dist/utilities/async.mjs +1 -1
  13. package/dist/utilities/async.test.mjs +1 -1
  14. package/dist/utilities/context.mjs +1 -1
  15. package/dist/utilities/context.test.mjs +1 -1
  16. package/dist/utilities/debounced.mjs +1 -1
  17. package/dist/utilities/debounced.test.mjs +1 -1
  18. package/dist/utilities/dom-lifecycle.mjs +1 -1
  19. package/dist/utilities/element-rect.mjs +1 -1
  20. package/dist/utilities/element-rect.test.mjs +1 -1
  21. package/dist/utilities/element-scroll.test.mjs +1 -1
  22. package/dist/utilities/event-driven.mjs +1 -1
  23. package/dist/utilities/event-listener.mjs +1 -1
  24. package/dist/utilities/event-listener.test.mjs +1 -1
  25. package/dist/utilities/focus-within.mjs +1 -1
  26. package/dist/utilities/focus-within.test.mjs +1 -1
  27. package/dist/utilities/hover.mjs +1 -1
  28. package/dist/utilities/hover.test.mjs +1 -1
  29. package/dist/utilities/intersection-observer.test.mjs +1 -1
  30. package/dist/utilities/interval.mjs +1 -1
  31. package/dist/utilities/interval.test.mjs +1 -1
  32. package/dist/utilities/location.mjs +1 -1
  33. package/dist/utilities/long-press.test.mjs +1 -1
  34. package/dist/utilities/media-devices.mjs +1 -1
  35. package/dist/utilities/media-devices.test.mjs +1 -1
  36. package/dist/utilities/media-player.test.mjs +1 -1
  37. package/dist/utilities/media-query.mjs +1 -1
  38. package/dist/utilities/mutation-observer.test.mjs +1 -1
  39. package/dist/utilities/network.mjs +1 -1
  40. package/dist/utilities/on-click-outside.test.mjs +1 -1
  41. package/dist/utilities/orientation.mjs +1 -1
  42. package/dist/utilities/previous.mjs +1 -1
  43. package/dist/utilities/previous.test.mjs +1 -1
  44. package/dist/utilities/promise.mjs +1 -1
  45. package/dist/utilities/promise.test.mjs +1 -1
  46. package/dist/utilities/retry.mjs +1 -1
  47. package/dist/utilities/retry.test.mjs +1 -1
  48. package/dist/utilities/routing.mjs +1 -1
  49. package/dist/utilities/search-params.test.mjs +1 -1
  50. package/dist/utilities/storage.test.mjs +1 -1
  51. package/dist/utilities/throttled.mjs +1 -1
  52. package/dist/utilities/throttled.test.mjs +1 -1
  53. package/dist/utilities/timeout.mjs +1 -1
  54. package/dist/utilities/timeout.test.mjs +1 -1
  55. package/dist/utilities/window-focus.mjs +1 -1
  56. package/dist/utilities/window-size.mjs +1 -1
  57. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { c as effectScope, g as untracked, p as onCleanup, s as effect } from "./lib-CVfOddra.mjs";
1
+ import { c as effectScope, g as untracked, p as onCleanup, s as effect } from "./lib-Cg8fI7K5.mjs";
2
2
  import "./polyfill-CdZVCxdo.mjs";
3
3
  import { isReactive, resolveProps } from "./signals/index.mjs";
4
4
  import { on } from "./utilities/event-listener.mjs";
package/dist/for.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import { c as effectScope, g as untracked, h as trigger, m as signal, p as onCleanup, s as effect } from "./lib-CVfOddra.mjs";
1
+ import { c as effectScope, g as untracked, h as trigger, m as signal, p as onCleanup, s as effect } from "./lib-Cg8fI7K5.mjs";
2
2
  import "./signals/index.mjs";
3
- import { n as disposeElement } from "./element-obPs4k23.mjs";
3
+ import { n as disposeElement } from "./element-Y3uP_2p9.mjs";
4
4
  //#region src/for.ts
5
5
  /**
6
6
  * Keyed list renderer. See {@link ForProps} for prop details.
@@ -1,6 +1,6 @@
1
- import { m as signal, s as effect } from "../lib-CVfOddra.mjs";
1
+ import { m as signal, s as effect } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
- import { t as scope } from "../scope-CwVlgN8b.mjs";
3
+ import { t as scope } from "../scope-De6rSJvq.mjs";
4
4
  import { useEffect, useMemo, useRef, useSyncExternalStore } from "react";
5
5
  //#region src/integrations/react.ts
6
6
  /**
@@ -1,4 +1,4 @@
1
- import { r as mountChild, t as createElement } from "../element-obPs4k23.mjs";
1
+ import { r as mountChild, t as createElement } from "../element-Y3uP_2p9.mjs";
2
2
  //#region src/jsx-runtime/fragment.ts
3
3
  /**
4
4
  * Used by the JSX transform for `<>...</>` fragments.
@@ -102,14 +102,16 @@ function createReactiveSystem({ update, notify, unwatched }) {
102
102
  *
103
103
  * @param link - The first subscriber link from which propagation begins.
104
104
  */
105
- function propagate(link) {
105
+ function propagate(link, innerWrite) {
106
106
  let next = link.nextSub;
107
107
  let stack;
108
108
  top: do {
109
109
  const sub = link.sub;
110
110
  let flags = sub.flags;
111
- if (!(flags & 60)) sub.flags = flags | 32;
112
- else if (!(flags & 12)) flags = 0;
111
+ if (!(flags & 60)) {
112
+ sub.flags = flags | 32;
113
+ if (innerWrite) sub.flags |= 8;
114
+ } else if (!(flags & 12)) flags = 0;
113
115
  else if (!(flags & 4)) sub.flags = flags & -9 | 32;
114
116
  else if (!(flags & 48) && isValidLink(link, sub)) {
115
117
  sub.flags = flags | 40;
@@ -167,13 +169,13 @@ function createReactiveSystem({ update, notify, unwatched }) {
167
169
  const flags = dep.flags;
168
170
  if (sub.flags & 16) dirty = true;
169
171
  else if ((flags & 17) === 17) {
172
+ const subs = dep.subs;
170
173
  if (update(dep)) {
171
- const subs = dep.subs;
172
174
  if (subs.nextSub !== void 0) shallowPropagate(subs);
173
175
  dirty = true;
174
176
  }
175
177
  } else if ((flags & 33) === 33) {
176
- if (link.nextSub !== void 0 || link.prevSub !== void 0) stack = {
178
+ stack = {
177
179
  value: link,
178
180
  prev: stack
179
181
  };
@@ -190,15 +192,12 @@ function createReactiveSystem({ update, notify, unwatched }) {
190
192
  }
191
193
  }
192
194
  while (checkDepth--) {
193
- const firstSub = sub.subs;
194
- const hasMultipleSubs = firstSub.nextSub !== void 0;
195
- if (hasMultipleSubs) {
196
- link = stack.value;
197
- stack = stack.prev;
198
- } else link = firstSub;
195
+ link = stack.value;
196
+ stack = stack.prev;
199
197
  if (dirty) {
198
+ const subs = sub.subs;
200
199
  if (update(sub)) {
201
- if (hasMultipleSubs) shallowPropagate(firstSub);
200
+ if (subs.nextSub !== void 0) shallowPropagate(subs);
202
201
  sub = link.sub;
203
202
  continue;
204
203
  }
@@ -211,7 +210,7 @@ function createReactiveSystem({ update, notify, unwatched }) {
211
210
  continue top;
212
211
  }
213
212
  }
214
- return dirty;
213
+ return dirty && !!sub.flags;
215
214
  } while (true);
216
215
  }
217
216
  /**
@@ -252,8 +251,25 @@ function createReactiveSystem({ update, notify, unwatched }) {
252
251
  }
253
252
  //#endregion
254
253
  //#region src/signals/lib.ts
254
+ /**
255
+ * Marks a parent (effect or scope) whose deps include at least one child
256
+ * effect or child scope. Gates the dispose-children-first slow path in
257
+ * `run` / `updateComputed` so leaf effects pay no extra cost.
258
+ *
259
+ * The bit lives outside the {@link ReactiveFlags} range and is never read by
260
+ * `system.ts`.
261
+ * @internal
262
+ */
263
+ const HasChildEffect = 64;
255
264
  /** Monotonically increasing counter; incremented on each tracking run to stamp links. */
256
265
  let cycle = 0;
266
+ /**
267
+ * Depth counter for nested effect / re-run frames. Used to gate
268
+ * `innerWrite` propagation so that a write occurring inside an effect's
269
+ * own run marks downstream subscribers `Recursed | Pending` instead of
270
+ * just `Pending`.
271
+ */
272
+ let runDepth = 0;
257
273
  /** Depth counter for nested `batch` calls; flush is deferred while > 0. */
258
274
  let batchDepth = 0;
259
275
  /** Read cursor into the `queued` array during flush. */
@@ -280,8 +296,10 @@ const EFFECT = Symbol("effect");
280
296
  const EFFECT_SCOPE = Symbol("effectScope");
281
297
  const { link, unlink, propagate, checkDirty, shallowPropagate } = createReactiveSystem({
282
298
  update(node) {
283
- if (node.depsTail !== void 0) return updateComputed(node);
284
- else return updateSignal(node);
299
+ if ("getter" in node) return updateComputed(node);
300
+ if ("currentValue" in node) return updateSignal(node);
301
+ node.flags = 1;
302
+ return true;
285
303
  },
286
304
  notify(effect) {
287
305
  let insertIndex = queuedLength;
@@ -300,20 +318,21 @@ const { link, unlink, propagate, checkDirty, shallowPropagate } = createReactive
300
318
  }
301
319
  },
302
320
  unwatched(node) {
303
- if (!(node.flags & 1)) effectScopeOper.call(node);
304
- else if (node.depsTail !== void 0) {
321
+ if ("getter" in node) {
305
322
  const c = node;
306
- if (c.onCleanup !== void 0) {
307
- const fns = c.onCleanup;
308
- c.onCleanup = void 0;
309
- untracked(() => {
310
- for (const fn of fns) fn();
311
- });
323
+ if (c.depsTail !== void 0) {
324
+ if (c.onCleanup !== void 0) {
325
+ const fns = c.onCleanup;
326
+ c.onCleanup = void 0;
327
+ untracked(() => {
328
+ for (const fn of fns) fn();
329
+ });
330
+ }
331
+ c.flags = 17;
332
+ disposeAllDepsInReverse(c);
312
333
  }
313
- node.depsTail = void 0;
314
- node.flags = 17;
315
- purgeDeps(node);
316
- }
334
+ } else if ("currentValue" in node) {} else if ("fn" in node) effectOper.call(node);
335
+ else effectScopeOper.call(node);
317
336
  }
318
337
  });
319
338
  /**
@@ -471,10 +490,15 @@ function effect(fn) {
471
490
  const prevSub = setActiveSub(e);
472
491
  const prevOwner = activeOwner;
473
492
  activeOwner = e;
474
- if (prevSub !== void 0) link(e, prevSub, 0);
493
+ if (prevSub !== void 0) {
494
+ link(e, prevSub, 0);
495
+ prevSub.flags |= HasChildEffect;
496
+ }
475
497
  try {
498
+ ++runDepth;
476
499
  e.fn();
477
500
  } finally {
501
+ --runDepth;
478
502
  activeSub = prevSub;
479
503
  activeOwner = prevOwner;
480
504
  e.flags &= -5;
@@ -513,12 +537,15 @@ function effectScope(fn) {
513
537
  depsTail: void 0,
514
538
  subs: void 0,
515
539
  subsTail: void 0,
516
- flags: 0
540
+ flags: 1
517
541
  };
518
542
  const prevSub = setActiveSub(e);
519
543
  const prevOwner = activeOwner;
520
544
  activeOwner = e;
521
- if (prevSub !== void 0) link(e, prevSub, 0);
545
+ if (prevSub !== void 0) {
546
+ link(e, prevSub, 0);
547
+ prevSub.flags |= HasChildEffect;
548
+ }
522
549
  try {
523
550
  fn();
524
551
  } finally {
@@ -654,14 +681,14 @@ function trigger(fn) {
654
681
  fn();
655
682
  } finally {
656
683
  activeSub = prevSub;
684
+ sub.flags = 0;
657
685
  let link = sub.deps;
658
686
  while (link !== void 0) {
659
687
  const dep = link.dep;
660
688
  link = unlink(link, sub);
661
689
  const subs = dep.subs;
662
690
  if (subs !== void 0) {
663
- sub.flags = 0;
664
- propagate(subs);
691
+ propagate(subs, !!runDepth);
665
692
  shallowPropagate(subs);
666
693
  }
667
694
  }
@@ -676,6 +703,15 @@ function trigger(fn) {
676
703
  */
677
704
  function updateComputed(c) {
678
705
  ++cycle;
706
+ if (c.flags & HasChildEffect) {
707
+ let l = c.depsTail;
708
+ while (l !== void 0) {
709
+ const prev = l.prevDep;
710
+ const dep = l.dep;
711
+ if (!("getter" in dep) && !("currentValue" in dep)) unlink(l, c);
712
+ l = prev;
713
+ }
714
+ }
679
715
  if (c.onCleanup !== void 0) {
680
716
  const cleanups = c.onCleanup;
681
717
  c.onCleanup = void 0;
@@ -719,6 +755,15 @@ function run(e) {
719
755
  const flags = e.flags;
720
756
  if (flags & 16 || flags & 32 && checkDirty(e.deps, e)) {
721
757
  ++cycle;
758
+ if (flags & HasChildEffect) {
759
+ let l = e.depsTail;
760
+ while (l !== void 0) {
761
+ const prev = l.prevDep;
762
+ const dep = l.dep;
763
+ if (!("getter" in dep) && !("currentValue" in dep)) unlink(l, e);
764
+ l = prev;
765
+ }
766
+ }
722
767
  if (e.onCleanup !== void 0) {
723
768
  const cleanups = e.onCleanup;
724
769
  e.onCleanup = void 0;
@@ -732,14 +777,16 @@ function run(e) {
732
777
  const prevOwner = activeOwner;
733
778
  activeOwner = e;
734
779
  try {
780
+ ++runDepth;
735
781
  e.fn();
736
782
  } finally {
783
+ --runDepth;
737
784
  activeSub = prevSub;
738
785
  activeOwner = prevOwner;
739
786
  e.flags &= -5;
740
787
  purgeDeps(e);
741
788
  }
742
- } else e.flags = 2;
789
+ } else if (e.deps !== void 0) e.flags = 2 | flags & HasChildEffect;
743
790
  }
744
791
  /**
745
792
  * Drains the queued-effects array, running each effect in order.
@@ -819,7 +866,7 @@ function signalOper(...value) {
819
866
  this.flags = 17;
820
867
  const subs = this.subs;
821
868
  if (subs !== void 0) {
822
- propagate(subs);
869
+ propagate(subs, !!runDepth);
823
870
  if (!batchDepth) flush();
824
871
  }
825
872
  }
@@ -830,14 +877,8 @@ function signalOper(...value) {
830
877
  if (subs !== void 0) shallowPropagate(subs);
831
878
  }
832
879
  }
833
- let sub = activeSub;
834
- while (sub !== void 0) {
835
- if (sub.flags & 3) {
836
- link(this, sub, cycle);
837
- break;
838
- }
839
- sub = sub.subs?.sub;
840
- }
880
+ const sub = activeSub;
881
+ if (sub !== void 0) link(this, sub, cycle);
841
882
  return this.currentValue;
842
883
  }
843
884
  }
@@ -851,6 +892,7 @@ function signalOper(...value) {
851
892
  * @internal
852
893
  */
853
894
  function effectOper() {
895
+ effectScopeOper.call(this);
854
896
  if (this.onCleanup !== void 0) {
855
897
  const cleanups = this.onCleanup;
856
898
  this.onCleanup = void 0;
@@ -858,27 +900,30 @@ function effectOper() {
858
900
  for (const fn of cleanups) fn();
859
901
  });
860
902
  }
861
- effectScopeOper.call(this);
862
903
  }
863
904
  /**
864
905
  * The shared disposal implementation for both effect nodes and effectScope
865
906
  * nodes.
866
907
  *
867
- * For effect nodes this is also called indirectly via the `unwatched` callback
868
- * when the owning scope is disposed, triggering cleanup cascades through the
869
- * entire ownership tree.
908
+ * Called directly to dispose an `effectScope` handle, and indirectly via
909
+ * `effectOper` (effect disposal) and the `unwatched` callback (cascade
910
+ * disposal when a parent scope is torn down).
870
911
  *
871
912
  * Steps:
872
- * 1. Call and clear any registered `onCleanup` (handles cascade disposal where
873
- * `effectOper` is not called directly).
874
- * 2. Reset `depsTail` and `flags` so the node is inert.
875
- * 3. Purge all dep links (which may recursively trigger `unwatched` on
876
- * nested effects).
913
+ * 1. Reset `flags` so the node is inert.
914
+ * 2. Dispose every dep link in **reverse creation order** — child effects /
915
+ * scopes get their `unwatched` callback fired in LIFO order, which
916
+ * cascades cleanup through the entire ownership tree.
917
+ * 3. Run and clear any `onCleanup` registered on this node itself (covers
918
+ * `effectScope(() => { onCleanup(...) })`). For effects this is a no-op:
919
+ * `effectOper` already drained `onCleanup` after calling us.
877
920
  * 4. Unlink from any parent scope's sub-chain.
878
921
  *
879
922
  * @internal
880
923
  */
881
924
  function effectScopeOper() {
925
+ this.flags = 0;
926
+ disposeAllDepsInReverse(this);
882
927
  const cleanups = this.onCleanup;
883
928
  if (cleanups !== void 0) {
884
929
  this.onCleanup = void 0;
@@ -886,18 +931,32 @@ function effectScopeOper() {
886
931
  for (const fn of cleanups) fn();
887
932
  });
888
933
  }
889
- this.depsTail = void 0;
890
- this.flags = 0;
891
- purgeDeps(this);
892
934
  const sub = this.subs;
893
935
  if (sub !== void 0) unlink(sub);
894
936
  }
895
937
  /**
896
- * Removes all dep links from `sub` that were not refreshed during the most
897
- * recent tracking run (i.e. stale links appended after `depsTail`).
938
+ * Disposes every dep link of `sub` in **reverse creation order**.
939
+ *
940
+ * Used for teardown: child effects and scopes are linked in the order they
941
+ * were created, so walking from `depsTail` back to `deps` releases them
942
+ * LIFO — descendants tear down before their parents.
943
+ *
944
+ * @internal
945
+ */
946
+ function disposeAllDepsInReverse(sub) {
947
+ let l = sub.depsTail;
948
+ while (l !== void 0) {
949
+ const prev = l.prevDep;
950
+ unlink(l, sub);
951
+ l = prev;
952
+ }
953
+ }
954
+ /**
955
+ * Removes stale dep links from `sub` after a tracking run — anything that
956
+ * was present before but not re-linked this run (lives past `depsTail`).
898
957
  *
899
- * Called at the end of each tracking run (`updateComputed`, `run`) to prune
900
- * dependencies that the node no longer reads.
958
+ * Forward walk; used by `updateComputed` / `run` at the end of evaluation.
959
+ * For full teardown, use {@link disposeAllDepsInReverse} instead.
901
960
  *
902
961
  * @internal
903
962
  */
package/dist/render.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { t as scope } from "./scope-CwVlgN8b.mjs";
1
+ import { t as scope } from "./scope-De6rSJvq.mjs";
2
2
  //#region src/render.ts
3
3
  /**
4
4
  * Mount a node into `target` with a scoped lifetime.
@@ -1,4 +1,4 @@
1
- import { c as effectScope, g as untracked } from "./lib-CVfOddra.mjs";
1
+ import { c as effectScope, g as untracked } from "./lib-Cg8fI7K5.mjs";
2
2
  //#region src/signals/scope.ts
3
3
  /**
4
4
  * Run `setup` inside a fresh `effectScope`. Returns `[result, stop]`.
@@ -1,4 +1,4 @@
1
- import { a as batch, c as effectScope, d as isEffectScope, f as isSignal, g as untracked, h as trigger, i as SIGNAL, l as isComputed, m as signal, n as EFFECT, o as computed, p as onCleanup, r as EFFECT_SCOPE, s as effect, t as COMPUTED, u as isEffect } from "../lib-CVfOddra.mjs";
1
+ import { a as batch, c as effectScope, d as isEffectScope, f as isSignal, g as untracked, h as trigger, i as SIGNAL, l as isComputed, m as signal, n as EFFECT, o as computed, p as onCleanup, r as EFFECT_SCOPE, s as effect, t as COMPUTED, u as isEffect } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../polyfill-CdZVCxdo.mjs";
3
3
  //#region src/signals/index.ts
4
4
  /**
@@ -0,0 +1,259 @@
1
+ .x-segmented-control {
2
+ vertical-align: top;
3
+ isolation: isolate;
4
+ min-width: max-content;
5
+ color: var(--base-color-12);
6
+ background-color: var(--color-surface);
7
+ background-image: linear-gradient(var(--base-color-a3),
8
+ var(--base-color-a3));
9
+ font-family: var(--default-font-family);
10
+ text-align: center;
11
+ --seg-inset: 1px;
12
+ --seg-transition-duration: .1s;
13
+ --seg-track-radius: max(var(--radius-2), var(--radius-pill));
14
+ --seg-indicator-radius: max(.5px,
15
+ calc(var(--seg-track-radius) - var(--seg-inset)));
16
+ border-radius: var(--seg-track-radius);
17
+ border: 0;
18
+ grid-auto-columns: minmax(0, 1fr);
19
+ grid-auto-flow: column;
20
+ align-items: stretch;
21
+ margin: 0;
22
+ padding: 0;
23
+ font-style: normal;
24
+ display: inline-grid;
25
+ position: relative;
26
+ }
27
+
28
+ .x-segmented-control > label {
29
+ justify-content: center;
30
+ align-items: center;
31
+ gap: var(--space-1);
32
+ -webkit-user-select: none;
33
+ user-select: none;
34
+ cursor: var(--cursor-button);
35
+ color: var(--base-color-a11);
36
+ font-weight: var(--font-weight-regular);
37
+ letter-spacing: var(--tab-inactive-letter-spacing);
38
+ transition: color var(--seg-transition-duration);
39
+ display: flex;
40
+ position: relative;
41
+ }
42
+
43
+ .x-segmented-control > label:where(:first-child) {
44
+ border-top-left-radius: inherit;
45
+ border-bottom-left-radius: inherit;
46
+ }
47
+
48
+ .x-segmented-control > label:where(:last-child) {
49
+ border-top-right-radius: inherit;
50
+ border-bottom-right-radius: inherit;
51
+ }
52
+
53
+ .x-segmented-control :where(input[type="radio"]) {
54
+ white-space: nowrap;
55
+ clip-path: inset(50%);
56
+ pointer-events: none;
57
+ appearance: none;
58
+ border: 0;
59
+ width: 1px;
60
+ height: 1px;
61
+ margin: -1px;
62
+ padding: 0;
63
+ position: absolute;
64
+ overflow: hidden;
65
+ }
66
+
67
+ .x-segmented-control > label:where(:has(:checked)) {
68
+ color: var(--base-color-12);
69
+ }
70
+
71
+ .x-segmented-control > label:where(:has(:focus-visible)) {
72
+ outline: 2px solid var(--focus-8);
73
+ outline-offset: -1px;
74
+ border-radius: inherit;
75
+ }
76
+
77
+ @media (hover: hover) {
78
+ .x-segmented-control > label:where(:not(:has(:checked, :disabled)):hover) {
79
+ background-color: var(--base-color-a2);
80
+ }
81
+ }
82
+
83
+ .x-segmented-control > label + label:after {
84
+ content: "";
85
+ inset-inline-start: 0;
86
+ top: var(--seg-inset);
87
+ bottom: var(--seg-inset);
88
+ background-color: var(--base-color-a4);
89
+ z-index: -1;
90
+ width: 1px;
91
+ transition: opacity var(--seg-transition-duration) ease-out;
92
+ margin-inline-start: -.5px;
93
+ position: absolute;
94
+ }
95
+
96
+ .x-segmented-control > label:where(:has(:checked, :focus-visible)):after, .x-segmented-control > label:where(:has(:checked, :focus-visible)) + label:after {
97
+ opacity: 0;
98
+ }
99
+
100
+ .x-segmented-control > label:before {
101
+ content: "";
102
+ inset: var(--seg-inset);
103
+ z-index: -1;
104
+ background-color: var(--color-background);
105
+ border-radius: var(--seg-indicator-radius);
106
+ box-shadow: 0 0 0 .5px var(--base-color-a3),
107
+ 0 1px 2px var(--base-color-a4);
108
+ opacity: 0;
109
+ transition: opacity var(--seg-transition-duration) ease-out;
110
+ position: absolute;
111
+ }
112
+
113
+ .x-segmented-control > label:where(:has(:checked)):before {
114
+ opacity: 1;
115
+ }
116
+
117
+ @supports (anchor-name: --x) {
118
+ .x-segmented-control > label:before {
119
+ display: none;
120
+ }
121
+
122
+ .x-segmented-control > label:where(:has(:checked)) {
123
+ anchor-name: --x-seg-active;
124
+ }
125
+
126
+ .x-segmented-control:after {
127
+ content: "";
128
+ z-index: -1;
129
+ top: var(--seg-inset);
130
+ bottom: var(--seg-inset);
131
+ left: anchor(--x-seg-active left);
132
+ right: anchor(--x-seg-active right);
133
+ background-color: var(--color-background);
134
+ border-radius: var(--seg-indicator-radius);
135
+ width: auto;
136
+ box-shadow: 0 0 0 .5px var(--base-color-a3),
137
+ 0 1px 2px var(--base-color-a4);
138
+ transition: left var(--seg-transition-duration) cubic-bezier(.45, .05, .55, .95),
139
+ right var(--seg-transition-duration) cubic-bezier(.45, .05, .55, .95);
140
+ position: absolute;
141
+ }
142
+
143
+ .x-segmented-control:not(:has(:checked)):after {
144
+ display: none;
145
+ }
146
+ }
147
+
148
+ .x-segmented-control:where(:disabled, [data-disabled]) {
149
+ color: var(--base-color-a8);
150
+ background-image: linear-gradient(var(--base-color-a2),
151
+ var(--base-color-a2));
152
+ }
153
+
154
+ .x-segmented-control:where(:disabled, [data-disabled]) > label, .x-segmented-control > label:where(:has(:disabled)) {
155
+ cursor: var(--cursor-disabled);
156
+ color: var(--base-color-a8);
157
+ }
158
+
159
+ .x-segmented-control:where(:disabled, [data-disabled]) > label:before, .x-segmented-control > label:where(:has(:disabled)):before {
160
+ background-color: var(--base-color-a3);
161
+ box-shadow: none;
162
+ }
163
+
164
+ @supports (anchor-name: --x) {
165
+ .x-segmented-control:where(:disabled, [data-disabled]):after, .x-segmented-control:where(:has( > label:where(:has(:disabled)):has(:checked))):after {
166
+ background-color: var(--base-color-a3);
167
+ box-shadow: none;
168
+ }
169
+ }
170
+
171
+ @media (prefers-reduced-motion: reduce) {
172
+ .x-segmented-control, .x-segmented-control > label, .x-segmented-control > label:before, .x-segmented-control > label + label:after, .x-segmented-control:after {
173
+ transition: none;
174
+ }
175
+ }
176
+
177
+ @media (forced-colors: active) {
178
+ .x-segmented-control {
179
+ background-image: none;
180
+ border: 1px solid buttontext;
181
+ }
182
+
183
+ .x-segmented-control > label {
184
+ color: buttontext;
185
+ }
186
+
187
+ .x-segmented-control > label:where(:has(:checked)) {
188
+ color: highlighttext;
189
+ }
190
+
191
+ .x-segmented-control > label:before, .x-segmented-control:after {
192
+ box-shadow: none;
193
+ background-color: highlight;
194
+ border: 1px solid highlighttext;
195
+ }
196
+
197
+ .x-segmented-control > label:where(:has(:focus-visible)) {
198
+ outline-color: highlight;
199
+ }
200
+ }
201
+
202
+ .x-segmented-control:where(:not([data-size])), .x-segmented-control:where([data-size="2"]) {
203
+ height: var(--space-6);
204
+ --seg-track-radius: max(var(--radius-2), var(--radius-pill));
205
+ font-size: var(--font-size-2);
206
+ line-height: var(--line-height-2);
207
+ }
208
+
209
+ :is(.x-segmented-control:where(:not([data-size])), .x-segmented-control:where([data-size="2"])) > label {
210
+ padding-inline: var(--space-3);
211
+ }
212
+
213
+ .x-segmented-control:where([data-size="1"]) {
214
+ height: var(--space-5);
215
+ --seg-track-radius: max(var(--radius-1), var(--radius-pill));
216
+ font-size: var(--font-size-1);
217
+ line-height: var(--line-height-1);
218
+ }
219
+
220
+ .x-segmented-control:where([data-size="1"]) > label {
221
+ padding-inline: var(--space-2);
222
+ gap: var(--space-1);
223
+ }
224
+
225
+ .x-segmented-control:where([data-size="3"]) {
226
+ height: var(--space-7);
227
+ --seg-track-radius: max(var(--radius-3), var(--radius-pill));
228
+ font-size: var(--font-size-3);
229
+ line-height: var(--line-height-3);
230
+ }
231
+
232
+ .x-segmented-control:where([data-size="3"]) > label {
233
+ padding-inline: var(--space-4);
234
+ gap: var(--space-2);
235
+ }
236
+
237
+ .x-segmented-control:where([data-variant="soft"]) {
238
+ background-image: linear-gradient(var(--color-a3), var(--color-a3));
239
+ }
240
+
241
+ .x-segmented-control:where([data-variant="soft"]) > label {
242
+ color: var(--color-a11);
243
+ }
244
+
245
+ .x-segmented-control:where([data-variant="soft"]) > label:where(:has(:checked)) {
246
+ color: var(--color-a12, var(--color-12));
247
+ }
248
+
249
+ .x-segmented-control:where([data-variant="soft"]) > label + label:after {
250
+ background-color: var(--color-a4);
251
+ }
252
+
253
+ .x-segmented-control:where([data-high-contrast]) > label:where(:has(:checked)) {
254
+ color: var(--base-color-12);
255
+ }
256
+
257
+ .x-segmented-control:where([data-high-contrast][data-variant="soft"]) > label:where(:has(:checked)) {
258
+ color: var(--color-12);
259
+ }
@@ -1,4 +1,4 @@
1
- import { p as onCleanup } from "../lib-CVfOddra.mjs";
1
+ import { p as onCleanup } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  //#region src/utilities/_observe.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { o as computed } from "../lib-CVfOddra.mjs";
1
+ import { o as computed } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { fromEvent, sync } from "./event-driven.mjs";
4
4
  import { isBrowser } from "./environment.mjs";
@@ -1,4 +1,4 @@
1
- import { g as untracked, m as signal, s as effect } from "../lib-CVfOddra.mjs";
1
+ import { g as untracked, m as signal, s as effect } from "../lib-Cg8fI7K5.mjs";
2
2
  import { resolve } from "../signals/index.mjs";
3
3
  import { promise } from "./promise.mjs";
4
4
  //#region src/utilities/async.ts
@@ -1,4 +1,4 @@
1
- import { m as signal, p as onCleanup, s as effect } from "../lib-CVfOddra.mjs";
1
+ import { m as signal, p as onCleanup, s as effect } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { f as it, l as describe } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { n as vi, t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { m as signal, p as onCleanup } from "../lib-CVfOddra.mjs";
1
+ import { m as signal, p as onCleanup } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  //#region src/utilities/context.ts
4
4
  const registry = /* @__PURE__ */ new WeakMap();
@@ -1,4 +1,4 @@
1
- import { c as effectScope, m as signal, s as effect } from "../lib-CVfOddra.mjs";
1
+ import { c as effectScope, m as signal, s as effect } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { f as it, l as describe, o as afterEach } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { n as vi, t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { m as signal, s as effect } from "../lib-CVfOddra.mjs";
1
+ import { m as signal, s as effect } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { createTimeout } from "./timeout.mjs";
4
4
  //#region src/utilities/debounced.ts
@@ -1,4 +1,4 @@
1
- import { c as effectScope, m as signal } from "../lib-CVfOddra.mjs";
1
+ import { c as effectScope, m as signal } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { c as beforeEach, f as it, l as describe, o as afterEach } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { n as vi, t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { c as effectScope } from "../lib-CVfOddra.mjs";
1
+ import { c as effectScope } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { isBrowser } from "./environment.mjs";
4
4
  //#region src/utilities/dom-lifecycle.ts
@@ -1,4 +1,4 @@
1
- import { m as signal } from "../lib-CVfOddra.mjs";
1
+ import { m as signal } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { createResizeObserver } from "./resize-observer.mjs";
4
4
  //#region src/utilities/element-rect.ts
@@ -1,4 +1,4 @@
1
- import { c as effectScope } from "../lib-CVfOddra.mjs";
1
+ import { c as effectScope } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { f as it, l as describe, o as afterEach } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { n as vi, t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { c as effectScope } from "../lib-CVfOddra.mjs";
1
+ import { c as effectScope } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { f as it, l as describe } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { h as trigger, i as SIGNAL, m as signal, o as computed, p as onCleanup } from "../lib-CVfOddra.mjs";
1
+ import { h as trigger, i as SIGNAL, m as signal, o as computed, p as onCleanup } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  //#region src/utilities/event-driven.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { p as onCleanup, s as effect } from "../lib-CVfOddra.mjs";
1
+ import { p as onCleanup, s as effect } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  //#region src/utilities/event-listener.ts
4
4
  function on(target, type, handler, options) {
@@ -1,4 +1,4 @@
1
- import { c as effectScope, m as signal, s as effect } from "../lib-CVfOddra.mjs";
1
+ import { c as effectScope, m as signal, s as effect } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { on } from "./event-listener.mjs";
4
4
  import { f as it, l as describe, o as afterEach } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
@@ -1,4 +1,4 @@
1
- import { m as signal } from "../lib-CVfOddra.mjs";
1
+ import { m as signal } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { on } from "./event-listener.mjs";
4
4
  //#region src/utilities/focus-within.ts
@@ -1,4 +1,4 @@
1
- import { c as effectScope } from "../lib-CVfOddra.mjs";
1
+ import { c as effectScope } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { f as it, l as describe, o as afterEach } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { m as signal } from "../lib-CVfOddra.mjs";
1
+ import { m as signal } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { on } from "./event-listener.mjs";
4
4
  //#region src/utilities/hover.ts
@@ -1,4 +1,4 @@
1
- import { c as effectScope } from "../lib-CVfOddra.mjs";
1
+ import { c as effectScope } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { f as it, l as describe, o as afterEach } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { n as vi, t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { c as effectScope } from "../lib-CVfOddra.mjs";
1
+ import { c as effectScope } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { f as it, l as describe, o as afterEach } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { n as vi, t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { m as signal, p as onCleanup } from "../lib-CVfOddra.mjs";
1
+ import { m as signal, p as onCleanup } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  //#region src/utilities/interval.ts
4
4
  function createInterval(arg1, arg2) {
@@ -1,4 +1,4 @@
1
- import { c as effectScope } from "../lib-CVfOddra.mjs";
1
+ import { c as effectScope } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { f as it, l as describe, o as afterEach } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { n as vi, t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { h as trigger, m as signal, o as computed, p as onCleanup } from "../lib-CVfOddra.mjs";
1
+ import { h as trigger, m as signal, o as computed, p as onCleanup } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { fromEvent } from "./event-driven.mjs";
4
4
  import { isBrowser } from "./environment.mjs";
@@ -1,4 +1,4 @@
1
- import { c as effectScope } from "../lib-CVfOddra.mjs";
1
+ import { c as effectScope } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { f as it, l as describe, o as afterEach } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { n as vi, t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { m as signal } from "../lib-CVfOddra.mjs";
1
+ import { m as signal } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { on } from "./event-listener.mjs";
4
4
  //#region src/utilities/media-devices.ts
@@ -1,4 +1,4 @@
1
- import { c as effectScope } from "../lib-CVfOddra.mjs";
1
+ import { c as effectScope } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { f as it, l as describe, o as afterEach } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { n as vi, t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { c as effectScope } from "../lib-CVfOddra.mjs";
1
+ import { c as effectScope } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { f as it, l as describe, o as afterEach } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { n as vi, t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { m as signal } from "../lib-CVfOddra.mjs";
1
+ import { m as signal } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { fromEvent, sync } from "./event-driven.mjs";
4
4
  import { isBrowser } from "./environment.mjs";
@@ -1,4 +1,4 @@
1
- import { c as effectScope } from "../lib-CVfOddra.mjs";
1
+ import { c as effectScope } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { f as it, l as describe, o as afterEach } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { n as vi, t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { m as signal } from "../lib-CVfOddra.mjs";
1
+ import { m as signal } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { on } from "./event-listener.mjs";
4
4
  import { isBrowser } from "./environment.mjs";
@@ -1,4 +1,4 @@
1
- import { c as effectScope } from "../lib-CVfOddra.mjs";
1
+ import { c as effectScope } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { f as it, l as describe, o as afterEach } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { n as vi, t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { o as computed } from "../lib-CVfOddra.mjs";
1
+ import { o as computed } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { fromEvent, sync } from "./event-driven.mjs";
4
4
  import { isBrowser } from "./environment.mjs";
@@ -1,4 +1,4 @@
1
- import { m as signal, s as effect } from "../lib-CVfOddra.mjs";
1
+ import { m as signal, s as effect } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  //#region src/utilities/previous.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { c as effectScope, m as signal } from "../lib-CVfOddra.mjs";
1
+ import { c as effectScope, m as signal } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { f as it, l as describe } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { a as batch, m as signal, o as computed } from "../lib-CVfOddra.mjs";
1
+ import { a as batch, m as signal, o as computed } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  //#region src/utilities/promise.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { s as effect } from "../lib-CVfOddra.mjs";
1
+ import { s as effect } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { f as it, l as describe } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { g as untracked, s as effect } from "../lib-CVfOddra.mjs";
1
+ import { g as untracked, s as effect } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  //#region src/utilities/retry.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { p as onCleanup } from "../lib-CVfOddra.mjs";
1
+ import { p as onCleanup } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { f as it, l as describe } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { n as vi, t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { o as computed } from "../lib-CVfOddra.mjs";
1
+ import { o as computed } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { currentLocation } from "./location.mjs";
4
4
  //#region src/utilities/routing.ts
@@ -1,4 +1,4 @@
1
- import { c as effectScope } from "../lib-CVfOddra.mjs";
1
+ import { c as effectScope } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { f as it, l as describe, o as afterEach } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { c as effectScope } from "../lib-CVfOddra.mjs";
1
+ import { c as effectScope } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { f as it, l as describe, o as afterEach } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { m as signal, s as effect } from "../lib-CVfOddra.mjs";
1
+ import { m as signal, s as effect } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { createTimeout } from "./timeout.mjs";
4
4
  //#region src/utilities/throttled.ts
@@ -1,4 +1,4 @@
1
- import { c as effectScope, m as signal } from "../lib-CVfOddra.mjs";
1
+ import { c as effectScope, m as signal } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { c as beforeEach, f as it, l as describe, o as afterEach } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { n as vi, t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { m as signal, p as onCleanup } from "../lib-CVfOddra.mjs";
1
+ import { m as signal, p as onCleanup } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  //#region src/utilities/timeout.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { c as effectScope } from "../lib-CVfOddra.mjs";
1
+ import { c as effectScope } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { f as it, l as describe, o as afterEach } from "../benchmark.CX_oY03V-CsUg-gW0.mjs";
4
4
  import { n as vi, t as globalExpect } from "../test.BmQO5GaM-ZC2MPXQb.mjs";
@@ -1,4 +1,4 @@
1
- import { m as signal } from "../lib-CVfOddra.mjs";
1
+ import { m as signal } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { on } from "./event-listener.mjs";
4
4
  import { isBrowser } from "./environment.mjs";
@@ -1,4 +1,4 @@
1
- import { o as computed } from "../lib-CVfOddra.mjs";
1
+ import { o as computed } from "../lib-Cg8fI7K5.mjs";
2
2
  import "../signals/index.mjs";
3
3
  import { fromEvent, sync } from "./event-driven.mjs";
4
4
  import { isBrowser } from "./environment.mjs";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "elements-kit",
3
3
  "type": "module",
4
- "version": "0.8.1",
4
+ "version": "0.10.0",
5
5
  "description": "A lightweight reactive UI library that transforms native HTMLElements into reactive components with signals. Ideal for framework-agnostic applications and web components.",
6
6
  "keywords": [
7
7
  "webcomponents",