@vellira-ui/core 2.179.0 → 2.180.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.
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/behavior/overlay/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EAEzB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,wBAAwB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IACjE,iBAAiB,GAAG;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEJ,MAAM,MAAM,+BAA+B,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IAC5E,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,2BAA2B,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACxE,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,KAAK,EAAE,SAAS,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;IACnD,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IAChE,QAAQ,EAAE,CACR,YAAY,EAAE,+BAA+B,CAAC,MAAM,CAAC,KAClD,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACtC,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,MAAM,EAAE,CACN,YAAY,EAAE,+BAA+B,CAAC,MAAM,CAAC,KAClD,wBAAwB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC7C,WAAW,EAAE,MAAM,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACvD,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,wBAAwB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAClE,QAAQ,EAAE,MAAM,SAAS,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5D,UAAU,EAAE,MAAM,wBAAwB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC1D,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC9C,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAChD,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gCAAgC,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IAC7E,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC,CAAC;AAsBF,wBAAgB,yBAAyB,CAAC,MAAM,SAAS,MAAM,EAAE,EAC/D,WAAW,EACX,MAAM,GACP,EAAE,gCAAgC,CAAC,MAAM,CAAC,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAgHxE"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/behavior/overlay/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EAEzB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,wBAAwB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IACjE,iBAAiB,GAAG;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEJ,MAAM,MAAM,+BAA+B,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IAC5E,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,2BAA2B,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACxE,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,KAAK,EAAE,SAAS,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;IACnD,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IAChE,QAAQ,EAAE,CACR,YAAY,EAAE,+BAA+B,CAAC,MAAM,CAAC,KAClD,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACtC,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,MAAM,EAAE,CACN,YAAY,EAAE,+BAA+B,CAAC,MAAM,CAAC,KAClD,wBAAwB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC7C,WAAW,EAAE,MAAM,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACvD,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,wBAAwB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAClE,QAAQ,EAAE,MAAM,SAAS,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5D,UAAU,EAAE,MAAM,wBAAwB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC1D,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC9C,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAChD,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gCAAgC,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IAC7E,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC,CAAC;AAsBF,wBAAgB,yBAAyB,CAAC,MAAM,SAAS,MAAM,EAAE,EAC/D,WAAW,EACX,MAAM,GACP,EAAE,gCAAgC,CAAC,MAAM,CAAC,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAiIxE"}
@@ -19,12 +19,27 @@ export function createOverlayManagerStore({ diagnostics, policy, }) {
19
19
  snapshot = createSnapshot(registry);
20
20
  listeners.forEach((listener) => listener());
21
21
  };
22
- const resolveZIndex = (entry) => resolveOverlayZIndex({
23
- explicitZIndex: entry.zIndex,
24
- level: entry.zIndexLevel,
25
- order: entry.order,
26
- policy,
27
- });
22
+ const resolveZIndex = (id) => {
23
+ let highest = Number.NEGATIVE_INFINITY;
24
+ for (const entry of snapshot.stack) {
25
+ const preferred = resolveOverlayZIndex({
26
+ explicitZIndex: entry.zIndex,
27
+ level: entry.zIndexLevel,
28
+ order: entry.order,
29
+ policy,
30
+ });
31
+ // A newer, non-explicit overlay must paint above earlier overlays even
32
+ // when its token level (e.g. dropdown) is lower than the parent's modal.
33
+ // Explicit z-index overrides remain authoritative.
34
+ const resolved = entry.zIndex === undefined
35
+ ? Math.max(preferred, highest + policy.orderStep)
36
+ : preferred;
37
+ if (entry.id === id)
38
+ return resolved;
39
+ highest = Math.max(highest, resolved);
40
+ }
41
+ return undefined;
42
+ };
28
43
  return {
29
44
  register(registration) {
30
45
  if (registry.has(registration.id)) {
@@ -80,8 +95,7 @@ export function createOverlayManagerStore({ diagnostics, policy, }) {
80
95
  return snapshot.topmost?.id === id;
81
96
  },
82
97
  getZIndex(id) {
83
- const entry = registry.get(id);
84
- return entry ? resolveZIndex(entry) : undefined;
98
+ return resolveZIndex(id);
85
99
  },
86
100
  subscribe(listener) {
87
101
  listeners.add(listener);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vellira-ui/core",
3
- "version": "2.179.0",
3
+ "version": "2.180.0",
4
4
  "description": "Shared logic and hooks for Vellira Design System",
5
5
  "keywords": [
6
6
  "vellira",