@sps-woodland/modal 8.22.0 → 8.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +55 -53
- package/lib/index.umd.cjs +1 -1
- package/lib/style.css +1 -1
- package/package.json +7 -7
package/lib/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Metadata as
|
|
2
|
-
import { Button as
|
|
1
|
+
import { Metadata as De, cl as ue, combineEventHandlers as Me, I18nContext as mt, useChildTestIdAttrBuilder as pt, selectChildren as ft, modChildren as gt, Icon as bt, contentOf as le } from "@sps-woodland/core";
|
|
2
|
+
import { Button as We } from "@sps-woodland/buttons";
|
|
3
3
|
import * as u from "react";
|
|
4
4
|
import $, { useRef as M, useCallback as x, useState as K, useContext as A, useEffect as L, useMemo as q, createContext as vt } from "react";
|
|
5
5
|
import ht from "react-dom";
|
|
@@ -187,7 +187,7 @@ function At(e, t = {}) {
|
|
|
187
187
|
for (const a in e) Object.prototype.hasOwnProperty.call(e, a) && (Nt.has(a) || o && Ot.has(a) || n && Dt.has(a) || r != null && r.has(a) || Wt.test(a)) && (l[a] = e[a]);
|
|
188
188
|
return l;
|
|
189
189
|
}
|
|
190
|
-
function
|
|
190
|
+
function ye(e) {
|
|
191
191
|
if (It()) e.focus({
|
|
192
192
|
preventScroll: !0
|
|
193
193
|
});
|
|
@@ -254,7 +254,7 @@ const qe = j(function() {
|
|
|
254
254
|
return qt(/Android/i);
|
|
255
255
|
});
|
|
256
256
|
let D = /* @__PURE__ */ new Map(), ce = /* @__PURE__ */ new Set();
|
|
257
|
-
function
|
|
257
|
+
function Pe() {
|
|
258
258
|
if (typeof window > "u") return;
|
|
259
259
|
function e(n) {
|
|
260
260
|
return "propertyName" in n;
|
|
@@ -275,19 +275,19 @@ function xe() {
|
|
|
275
275
|
};
|
|
276
276
|
document.body.addEventListener("transitionrun", t), document.body.addEventListener("transitionend", o);
|
|
277
277
|
}
|
|
278
|
-
typeof document < "u" && (document.readyState !== "loading" ?
|
|
278
|
+
typeof document < "u" && (document.readyState !== "loading" ? Pe() : document.addEventListener("DOMContentLoaded", Pe));
|
|
279
279
|
function Ut(e) {
|
|
280
280
|
requestAnimationFrame(() => {
|
|
281
281
|
D.size === 0 ? e() : ce.add(e);
|
|
282
282
|
});
|
|
283
283
|
}
|
|
284
|
-
function
|
|
284
|
+
function ke(e, t) {
|
|
285
285
|
let o = window.getComputedStyle(e), n = /(auto|scroll)/.test(o.overflow + o.overflowX + o.overflowY);
|
|
286
286
|
return n && t && (n = e.scrollHeight !== e.clientHeight || e.scrollWidth !== e.clientWidth), n;
|
|
287
287
|
}
|
|
288
288
|
function Ve(e, t) {
|
|
289
289
|
let o = e;
|
|
290
|
-
for (
|
|
290
|
+
for (ke(o, t) && (o = o.parentElement); o && !ke(o, t); ) o = o.parentElement;
|
|
291
291
|
return o || document.scrollingElement || document.documentElement;
|
|
292
292
|
}
|
|
293
293
|
function Gt(e) {
|
|
@@ -419,7 +419,7 @@ function je(e) {
|
|
|
419
419
|
function Ue() {
|
|
420
420
|
O = !1, me = !0;
|
|
421
421
|
}
|
|
422
|
-
function
|
|
422
|
+
function xe(e) {
|
|
423
423
|
if (typeof window > "u" || V.get(Z(e))) return;
|
|
424
424
|
const t = Z(e), o = E(e);
|
|
425
425
|
let n = t.HTMLElement.prototype.focus;
|
|
@@ -440,8 +440,8 @@ const Ge = (e, t) => {
|
|
|
440
440
|
function to(e) {
|
|
441
441
|
const t = E(e);
|
|
442
442
|
let o;
|
|
443
|
-
return t.readyState !== "loading" ?
|
|
444
|
-
|
|
443
|
+
return t.readyState !== "loading" ? xe(e) : (o = () => {
|
|
444
|
+
xe(e);
|
|
445
445
|
}, t.addEventListener("DOMContentLoaded", o)), () => Ge(e, o);
|
|
446
446
|
}
|
|
447
447
|
typeof document < "u" && to();
|
|
@@ -527,9 +527,9 @@ function pe(e) {
|
|
|
527
527
|
if (oo() === "virtual") {
|
|
528
528
|
let o = t.activeElement;
|
|
529
529
|
Ut(() => {
|
|
530
|
-
t.activeElement === o && e.isConnected &&
|
|
530
|
+
t.activeElement === o && e.isConnected && ye(e);
|
|
531
531
|
});
|
|
532
|
-
} else
|
|
532
|
+
} else ye(e);
|
|
533
533
|
}
|
|
534
534
|
function ao(e) {
|
|
535
535
|
const t = Z(e);
|
|
@@ -549,10 +549,10 @@ function lo(e, t) {
|
|
|
549
549
|
function Xe(e, t) {
|
|
550
550
|
return e.nodeName !== "#comment" && ao(e) && lo(e, t) && (!e.parentElement || Xe(e.parentElement, e));
|
|
551
551
|
}
|
|
552
|
-
const
|
|
552
|
+
const Te = /* @__PURE__ */ $.createContext(null), fe = "react-aria-focus-scope-restore";
|
|
553
553
|
let v = null;
|
|
554
554
|
function io(e) {
|
|
555
|
-
let { children: t, contain: o, restoreFocus: n, autoFocus: r } = e, l = M(null), a = M(null), d = M([]), { parentNode: c } = A(
|
|
555
|
+
let { children: t, contain: o, restoreFocus: n, autoFocus: r } = e, l = M(null), a = M(null), d = M([]), { parentNode: c } = A(Te) || {}, i = q(() => new be({
|
|
556
556
|
scopeRef: d
|
|
557
557
|
}), [
|
|
558
558
|
d
|
|
@@ -605,7 +605,7 @@ function io(e) {
|
|
|
605
605
|
i,
|
|
606
606
|
s
|
|
607
607
|
]);
|
|
608
|
-
return /* @__PURE__ */ $.createElement(
|
|
608
|
+
return /* @__PURE__ */ $.createElement(Te.Provider, {
|
|
609
609
|
value: m
|
|
610
610
|
}, /* @__PURE__ */ $.createElement("span", {
|
|
611
611
|
"data-focus-scope-start": !0,
|
|
@@ -876,7 +876,7 @@ function vo(e, t, o) {
|
|
|
876
876
|
let s = i.getTreeNode(e);
|
|
877
877
|
for (; s; ) {
|
|
878
878
|
if (s.nodeToRestore && s.nodeToRestore.isConnected) {
|
|
879
|
-
|
|
879
|
+
Se(s.nodeToRestore);
|
|
880
880
|
return;
|
|
881
881
|
}
|
|
882
882
|
s = s.parent;
|
|
@@ -884,7 +884,7 @@ function vo(e, t, o) {
|
|
|
884
884
|
for (s = i.getTreeNode(e); s; ) {
|
|
885
885
|
if (s.scopeRef && s.scopeRef.current && h.getTreeNode(s.scopeRef)) {
|
|
886
886
|
let m = Ye(s.scopeRef.current, !0);
|
|
887
|
-
|
|
887
|
+
Se(m);
|
|
888
888
|
return;
|
|
889
889
|
}
|
|
890
890
|
s = s.parent;
|
|
@@ -899,7 +899,7 @@ function vo(e, t, o) {
|
|
|
899
899
|
t
|
|
900
900
|
]);
|
|
901
901
|
}
|
|
902
|
-
function
|
|
902
|
+
function Se(e) {
|
|
903
903
|
e.dispatchEvent(new CustomEvent(fe, {
|
|
904
904
|
bubbles: !0,
|
|
905
905
|
cancelable: !0
|
|
@@ -1069,15 +1069,15 @@ function yo() {
|
|
|
1069
1069
|
e.scrollHeight === e.clientHeight && e.scrollWidth === e.clientWidth && i.preventDefault();
|
|
1070
1070
|
}, r = (i) => {
|
|
1071
1071
|
let s = i.target;
|
|
1072
|
-
|
|
1072
|
+
Fe(s) && s !== document.activeElement && (i.preventDefault(), d(), s.style.transform = "translateY(-2000px)", s.focus(), requestAnimationFrame(() => {
|
|
1073
1073
|
s.style.transform = "";
|
|
1074
1074
|
})), t && t();
|
|
1075
1075
|
}, l = (i) => {
|
|
1076
1076
|
let s = i.target;
|
|
1077
|
-
|
|
1077
|
+
Fe(s) && (d(), s.style.transform = "translateY(-2000px)", requestAnimationFrame(() => {
|
|
1078
1078
|
s.style.transform = "", se && (se.height < window.innerHeight ? requestAnimationFrame(() => {
|
|
1079
|
-
|
|
1080
|
-
}) : se.addEventListener("resize", () =>
|
|
1079
|
+
Le(s);
|
|
1080
|
+
}) : se.addEventListener("resize", () => Le(s), {
|
|
1081
1081
|
once: !0
|
|
1082
1082
|
}));
|
|
1083
1083
|
}));
|
|
@@ -1114,7 +1114,7 @@ function I(e, t, o, n) {
|
|
|
1114
1114
|
e.removeEventListener(t, o, n);
|
|
1115
1115
|
};
|
|
1116
1116
|
}
|
|
1117
|
-
function
|
|
1117
|
+
function Le(e) {
|
|
1118
1118
|
let t = document.scrollingElement || document.documentElement;
|
|
1119
1119
|
for (; e && e !== t; ) {
|
|
1120
1120
|
let o = Ve(e);
|
|
@@ -1125,7 +1125,7 @@ function Ce(e) {
|
|
|
1125
1125
|
e = o.parentElement;
|
|
1126
1126
|
}
|
|
1127
1127
|
}
|
|
1128
|
-
function
|
|
1128
|
+
function Fe(e) {
|
|
1129
1129
|
return e instanceof HTMLInputElement && !Eo.has(e.type) || e instanceof HTMLTextAreaElement || e instanceof HTMLElement && e.isContentEditable;
|
|
1130
1130
|
}
|
|
1131
1131
|
let z = /* @__PURE__ */ new WeakMap(), P = [];
|
|
@@ -1281,7 +1281,7 @@ function Fo(e, t, o) {
|
|
|
1281
1281
|
writable: !0
|
|
1282
1282
|
}) : e[t] = o, e;
|
|
1283
1283
|
}
|
|
1284
|
-
function
|
|
1284
|
+
function Ce(e, t) {
|
|
1285
1285
|
var o = Object.keys(e);
|
|
1286
1286
|
if (Object.getOwnPropertySymbols) {
|
|
1287
1287
|
var n = Object.getOwnPropertySymbols(e);
|
|
@@ -1291,12 +1291,12 @@ function Ne(e, t) {
|
|
|
1291
1291
|
}
|
|
1292
1292
|
return o;
|
|
1293
1293
|
}
|
|
1294
|
-
function
|
|
1294
|
+
function Be(e) {
|
|
1295
1295
|
for (var t = 1; t < arguments.length; t++) {
|
|
1296
1296
|
var o = arguments[t] != null ? arguments[t] : {};
|
|
1297
|
-
t % 2 ?
|
|
1297
|
+
t % 2 ? Ce(Object(o), !0).forEach(function(n) {
|
|
1298
1298
|
Fo(e, n, o[n]);
|
|
1299
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(o)) :
|
|
1299
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(o)) : Ce(Object(o)).forEach(function(n) {
|
|
1300
1300
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(o, n));
|
|
1301
1301
|
});
|
|
1302
1302
|
}
|
|
@@ -1310,7 +1310,7 @@ var Co = (e, t, o) => {
|
|
|
1310
1310
|
}
|
|
1311
1311
|
return !0;
|
|
1312
1312
|
}, et = (e) => (t) => {
|
|
1313
|
-
var o = e.defaultClassName, n =
|
|
1313
|
+
var o = e.defaultClassName, n = Be(Be({}, e.defaultVariants), t);
|
|
1314
1314
|
for (var r in n) {
|
|
1315
1315
|
var l, a = (l = n[r]) !== null && l !== void 0 ? l : e.defaultVariants[r];
|
|
1316
1316
|
if (a != null) {
|
|
@@ -1326,7 +1326,7 @@ var Co = (e, t, o) => {
|
|
|
1326
1326
|
for (var [i, s] of e.compoundVariants)
|
|
1327
1327
|
Co(i, n, e.defaultVariants) && (o += " " + s);
|
|
1328
1328
|
return o;
|
|
1329
|
-
}, Bo = "pkg_sps-
|
|
1329
|
+
}, Bo = "pkg_sps-woodland_modal__version_8_22_1__hash_3moto2o", No = "pkg_sps-woodland_modal__version_8_22_1__hash_3moto2q", Oo = "pkg_sps-woodland_modal__version_8_22_1__hash_3moto2r", tt = "pkg_sps-woodland_modal__version_8_22_1__hash_3moto2p", Do = et({ defaultClassName: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto20", variantClassNames: { kind: { informational: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto21", delete: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto22", failure: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto23", success: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto24", warning: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto25", successWithFailures: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto26", form: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto27" }, size: { sm: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto28", md: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto29", lg: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto2a", xl: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto2b" }, fullHeight: { true: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto2c", false: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto2d" } }, defaultVariants: {}, compoundVariants: [] }), Wo = "pkg_sps-woodland_modal__version_8_22_1__hash_3moto2n", Ao = et({ defaultClassName: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto2e", variantClassNames: { kind: { form: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto2f", delete: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto2g", failure: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto2h", informational: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto2i", success: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto2j", warning: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto2k", successWithFailures: "pkg_sps-woodland_modal__version_8_22_1__hash_3moto2l" } }, defaultVariants: {}, compoundVariants: [] }), Io = "pkg_sps-woodland_modal__version_8_22_1__hash_3moto2m", zo = "pkg_sps-woodland_modal__version_8_22_1__hash_3moto2s";
|
|
1330
1330
|
function ot({
|
|
1331
1331
|
children: e,
|
|
1332
1332
|
className: t = "",
|
|
@@ -1334,8 +1334,23 @@ function ot({
|
|
|
1334
1334
|
}) {
|
|
1335
1335
|
return /* @__PURE__ */ u.createElement("div", { className: ue(tt, t), ...o }, e);
|
|
1336
1336
|
}
|
|
1337
|
-
|
|
1338
|
-
|
|
1337
|
+
De.set(ot, { name: "ModalFooter" });
|
|
1338
|
+
function Ne({
|
|
1339
|
+
dismissableValue: e,
|
|
1340
|
+
handleClose: t
|
|
1341
|
+
}) {
|
|
1342
|
+
return e ? /* @__PURE__ */ u.createElement(
|
|
1343
|
+
We,
|
|
1344
|
+
{
|
|
1345
|
+
"aria-label": "Close",
|
|
1346
|
+
onClick: t,
|
|
1347
|
+
kind: "icon",
|
|
1348
|
+
icon: "x",
|
|
1349
|
+
className: No
|
|
1350
|
+
}
|
|
1351
|
+
) : null;
|
|
1352
|
+
}
|
|
1353
|
+
const Oe = Object.freeze({
|
|
1339
1354
|
form: "pencil",
|
|
1340
1355
|
delete: "trash",
|
|
1341
1356
|
failure: "status-error",
|
|
@@ -1368,25 +1383,12 @@ function Ro({
|
|
|
1368
1383
|
},
|
|
1369
1384
|
c,
|
|
1370
1385
|
B
|
|
1371
|
-
), { dialogProps: re, titleProps: at } = Lo(f, B), lt =
|
|
1386
|
+
), { dialogProps: re, titleProps: at } = Lo(f, B), lt = Me(ne.onFocus, re.onFocus, l), it = Me(ne.onBlur, re.onBlur, r), { t: st } = u.useContext(mt), dt = pt({ "data-testid": o }), [ae, ut] = ft(
|
|
1372
1387
|
e,
|
|
1373
1388
|
[{ type: ot }]
|
|
1374
|
-
)
|
|
1375
|
-
function Ee() {
|
|
1389
|
+
), Ee = u.useCallback(() => {
|
|
1376
1390
|
p && typeof p == "function" && p(), c.close();
|
|
1377
|
-
}
|
|
1378
|
-
const _e = function() {
|
|
1379
|
-
return y ? /* @__PURE__ */ u.createElement(
|
|
1380
|
-
Pe,
|
|
1381
|
-
{
|
|
1382
|
-
"aria-label": "Close",
|
|
1383
|
-
onClick: Ee,
|
|
1384
|
-
kind: "icon",
|
|
1385
|
-
icon: "x",
|
|
1386
|
-
className: No
|
|
1387
|
-
}
|
|
1388
|
-
) : null;
|
|
1389
|
-
}, ct = gt(ut, (Me) => Me.type === _e ? [{ className: ue(Me.props.classname, Oo) }] : []);
|
|
1391
|
+
}, [p, c.close]), ct = gt(ut, (_e) => _e.type === Ne ? [{ className: ue(_e.props.classname, Oo) }] : []);
|
|
1390
1392
|
return /* @__PURE__ */ u.createElement(To, null, /* @__PURE__ */ u.createElement("div", { className: zo, ...rt, ...f }, /* @__PURE__ */ u.createElement(
|
|
1391
1393
|
"div",
|
|
1392
1394
|
{
|
|
@@ -1402,18 +1404,18 @@ function Ro({
|
|
|
1402
1404
|
/* @__PURE__ */ u.createElement("div", { ...at, className: Ao({ kind: n }) }, n && /* @__PURE__ */ u.createElement(
|
|
1403
1405
|
bt,
|
|
1404
1406
|
{
|
|
1405
|
-
icon:
|
|
1407
|
+
icon: Oe[n] || Oe.informational,
|
|
1406
1408
|
className: Wo
|
|
1407
1409
|
}
|
|
1408
|
-
), /* @__PURE__ */ u.createElement("div", { className: Io }, le(i, c.close)), /* @__PURE__ */ u.createElement(
|
|
1410
|
+
), /* @__PURE__ */ u.createElement("div", { className: Io }, le(i, c.close)), /* @__PURE__ */ u.createElement(Ne, { dismissableValue: y, handleClose: Ee })),
|
|
1409
1411
|
/* @__PURE__ */ u.createElement("div", { className: Bo }, le(ct, c.close)),
|
|
1410
|
-
ae && ae.length > 0 ? /* @__PURE__ */ u.createElement(u.Fragment, null, le(ae, c.close)) : /* @__PURE__ */ u.createElement("div", { className: tt }, /* @__PURE__ */ u.createElement(
|
|
1412
|
+
ae && ae.length > 0 ? /* @__PURE__ */ u.createElement(u.Fragment, null, le(ae, c.close)) : /* @__PURE__ */ u.createElement("div", { className: tt }, /* @__PURE__ */ u.createElement(We, { kind: "key", onClick: Ee }, st("design-system:modal.defaultButtonLabel")))
|
|
1411
1413
|
)));
|
|
1412
1414
|
}
|
|
1413
1415
|
function nt(e) {
|
|
1414
1416
|
return e.state.isOpen ? /* @__PURE__ */ u.createElement(Ro, { ...e }, e.children) : /* @__PURE__ */ u.createElement(u.Fragment, null);
|
|
1415
1417
|
}
|
|
1416
|
-
|
|
1418
|
+
De.set(nt, {
|
|
1417
1419
|
name: "Modal",
|
|
1418
1420
|
props: {
|
|
1419
1421
|
dismissable: { type: "boolean", default: "true" },
|
|
@@ -2217,6 +2219,6 @@ export {
|
|
|
2217
2219
|
Jo as MANIFEST,
|
|
2218
2220
|
nt as Modal,
|
|
2219
2221
|
ot as ModalFooter,
|
|
2220
|
-
|
|
2222
|
+
Oe as ModalIcons,
|
|
2221
2223
|
Xo as useModal
|
|
2222
2224
|
};
|
package/lib/index.umd.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(y,w){typeof exports=="object"&&typeof module<"u"?w(exports,require("@sps-woodland/core"),require("@sps-woodland/buttons"),require("react"),require("react-dom"),require("@spscommerce/utils")):typeof define=="function"&&define.amd?define(["exports","@sps-woodland/core","@sps-woodland/buttons","react","react-dom","@spscommerce/utils"],w):(y=typeof globalThis<"u"?globalThis:y||self,w(y.Modal={},y.core,y.buttons,y.React,y.$4AOtR$reactdom,y.utils))})(this,function(y,w,he,m,Ye,v){"use strict";function Qe(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const u=Qe(m),E=typeof document<"u"?m.useLayoutEffect:()=>{};function W(e){const t=m.useRef(null);return E(()=>{t.current=e},[e]),m.useCallback((...o)=>{const n=t.current;return n==null?void 0:n(...o)},[])}function Ze(e){let[t,o]=m.useState(e),n=m.useRef(null),r=W(()=>{if(!n.current)return;let a=n.current.next();if(a.done){n.current=null;return}t===a.value?r():o(a.value)});E(()=>{n.current&&r()});let l=W(a=>{n.current=a(t),r()});return[t,l]}const j={prefix:String(Math.round(Math.random()*1e10)),current:0},$e=m.createContext(j),Re=m.createContext(!1);let et=!!(typeof window<"u"&&window.document&&window.document.createElement),R=new WeakMap;function tt(e=!1){let t=m.useContext($e),o=m.useRef(null);if(o.current===null&&!e){var n,r;let l=(r=m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)===null||r===void 0||(n=r.ReactCurrentOwner)===null||n===void 0?void 0:n.current;if(l){let a=R.get(l);a==null?R.set(l,{id:t.current,state:l.memoizedState}):l.memoizedState!==a.state&&(t.current=a.id,R.delete(l))}o.current=++t.current}return o.current}function ot(e){let t=m.useContext($e);t===j&&!et&&console.warn("When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.");let o=tt(!!e),n=t===j&&process.env.NODE_ENV==="test"?"react-aria":`react-aria${t.prefix}`;return e||`${n}-${o}`}function nt(e){let t=m.useId(),[o]=m.useState(we()),n=o||process.env.NODE_ENV==="test"?"react-aria":`react-aria${j.prefix}`;return e||`${n}-${t}`}const rt=typeof m.useId=="function"?nt:ot;function at(){return!1}function lt(){return!0}function it(e){return()=>{}}function we(){return typeof m.useSyncExternalStore=="function"?m.useSyncExternalStore(it,at,lt):m.useContext(Re)}let st=!!(typeof window<"u"&&window.document&&window.document.createElement),F=new Map;function Ee(e){let[t,o]=m.useState(e),n=m.useRef(null),r=rt(t),l=m.useCallback(a=>{n.current=a},[]);return st&&(F.has(r)&&!F.get(r).includes(l)?F.set(r,[...F.get(r),l]):F.set(r,[l])),E(()=>{let a=r;return()=>{F.delete(a)}},[r]),m.useEffect(()=>{let a=n.current;a&&(n.current=null,o(a))}),r}function dt(e,t){if(e===t)return e;let o=F.get(e);if(o)return o.forEach(r=>r(t)),t;let n=F.get(t);return n?(n.forEach(r=>r(e)),e):t}function ut(e=[]){let t=Ee(),[o,n]=Ze(t),r=m.useCallback(()=>{n(function*(){yield t,yield document.getElementById(t)?t:void 0})},[t,n]);return E(r,[t,r,...e]),o}function K(...e){return(...t)=>{for(let o of e)typeof o=="function"&&o(...t)}}const M=e=>{var t;return(t=e==null?void 0:e.ownerDocument)!==null&&t!==void 0?t:document},U=e=>e&&"window"in e&&e.window===e?e:M(e).defaultView||window;function Me(e){var t,o,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t<r;t++)e[t]&&(o=Me(e[t]))&&(n&&(n+=" "),n+=o)}else for(o in e)e[o]&&(n&&(n+=" "),n+=o);return n}function ct(){for(var e,t,o=0,n="",r=arguments.length;o<r;o++)(e=arguments[o])&&(t=Me(e))&&(n&&(n+=" "),n+=t);return n}function mt(...e){let t={...e[0]};for(let o=1;o<e.length;o++){let n=e[o];for(let r in n){let l=t[r],a=n[r];typeof l=="function"&&typeof a=="function"&&r[0]==="o"&&r[1]==="n"&&r.charCodeAt(2)>=65&&r.charCodeAt(2)<=90?t[r]=K(l,a):(r==="className"||r==="UNSAFE_className")&&typeof l=="string"&&typeof a=="string"?t[r]=ct(l,a):r==="id"&&l&&a?t.id=dt(l,a):t[r]=a!==void 0?a:l}}return t}const ft=new Set(["id"]),pt=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),gt=new Set(["href","hrefLang","target","rel","download","ping","referrerPolicy"]),bt=/^(data-.*)$/;function vt(e,t={}){let{labelable:o,isLink:n,propNames:r}=t,l={};for(const a in e)Object.prototype.hasOwnProperty.call(e,a)&&(ft.has(a)||o&&pt.has(a)||n&>.has(a)||r!=null&&r.has(a)||bt.test(a))&&(l[a]=e[a]);return l}function _e(e){if(ht())e.focus({preventScroll:!0});else{let t=$t(e);e.focus(),wt(t)}}let G=null;function ht(){if(G==null){G=!1;try{document.createElement("div").focus({get preventScroll(){return G=!0,!0}})}catch{}}return G}function $t(e){let t=e.parentNode,o=[],n=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==n;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&o.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return n instanceof HTMLElement&&o.push({element:n,scrollTop:n.scrollTop,scrollLeft:n.scrollLeft}),o}function wt(e){for(let{element:t,scrollTop:o,scrollLeft:n}of e)t.scrollTop=o,t.scrollLeft=n}function Et(e){var t;return typeof window>"u"||window.navigator==null?!1:((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.brands.some(o=>e.test(o.brand)))||e.test(window.navigator.userAgent)}function ee(e){var t;return typeof window<"u"&&window.navigator!=null?e.test(((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.platform)||window.navigator.platform):!1}function A(e){let t=null;return()=>(t==null&&(t=e()),t)}const ye=A(function(){return ee(/^Mac/i)}),Mt=A(function(){return ee(/^iPhone/i)}),_t=A(function(){return ee(/^iPad/i)||ye()&&navigator.maxTouchPoints>1}),yt=A(function(){return Mt()||_t()}),Pt=A(function(){return Et(/Android/i)});let O=new Map,te=new Set;function Pe(){if(typeof window>"u")return;function e(n){return"propertyName"in n}let t=n=>{if(!e(n)||!n.target)return;let r=O.get(n.target);r||(r=new Set,O.set(n.target,r),n.target.addEventListener("transitioncancel",o,{once:!0})),r.add(n.propertyName)},o=n=>{if(!e(n)||!n.target)return;let r=O.get(n.target);if(r&&(r.delete(n.propertyName),r.size===0&&(n.target.removeEventListener("transitioncancel",o),O.delete(n.target)),O.size===0)){for(let l of te)l();te.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",o)}typeof document<"u"&&(document.readyState!=="loading"?Pe():document.addEventListener("DOMContentLoaded",Pe));function kt(e){requestAnimationFrame(()=>{O.size===0?e():te.add(e)})}function ke(e,t){let o=window.getComputedStyle(e),n=/(auto|scroll)/.test(o.overflow+o.overflowX+o.overflowY);return n&&t&&(n=e.scrollHeight!==e.clientHeight||e.scrollWidth!==e.clientWidth),n}function Te(e,t){let o=e;for(ke(o,t)&&(o=o.parentElement);o&&!ke(o,t);)o=o.parentElement;return o||document.scrollingElement||document.documentElement}function Tt(e){return e.mozInputSource===0&&e.isTrusted?!0:Pt()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function xt(e,t,o){let[n,r]=m.useState(e||t),l=m.useRef(e!==void 0),a=e!==void 0;m.useEffect(()=>{let i=l.current;i!==a&&console.warn(`WARN: A component changed from ${i?"controlled":"uncontrolled"} to ${a?"controlled":"uncontrolled"}.`),l.current=a},[a]);let d=a?e:n,c=m.useCallback((i,...s)=>{let f=(p,...b)=>{o&&(Object.is(d,p)||o(p,...b)),a||(d=p)};typeof i=="function"?(console.warn("We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320"),r((b,...g)=>{let T=i(a?d:b,...g);return f(T,...s),a?b:T})):(a||r(i),f(i,...s))},[a,d,o]);return[d,c]}const xe=m.createContext({register:()=>{}});xe.displayName="PressResponderContext";function St({children:e}){let t=m.useMemo(()=>({register:()=>{}}),[]);return m.createElement(xe.Provider,{value:t},e)}class Ft{isDefaultPrevented(){return this.nativeEvent.defaultPrevented}preventDefault(){this.defaultPrevented=!0,this.nativeEvent.preventDefault()}stopPropagation(){this.nativeEvent.stopPropagation(),this.isPropagationStopped=()=>!0}isPropagationStopped(){return!1}persist(){}constructor(t,o){this.nativeEvent=o,this.target=o.target,this.currentTarget=o.currentTarget,this.relatedTarget=o.relatedTarget,this.bubbles=o.bubbles,this.cancelable=o.cancelable,this.defaultPrevented=o.defaultPrevented,this.eventPhase=o.eventPhase,this.isTrusted=o.isTrusted,this.timeStamp=o.timeStamp,this.type=t}}function Lt(e){let t=m.useRef({isFocused:!1,observer:null});E(()=>{const n=t.current;return()=>{n.observer&&(n.observer.disconnect(),n.observer=null)}},[]);let o=W(n=>{e==null||e(n)});return m.useCallback(n=>{if(n.target instanceof HTMLButtonElement||n.target instanceof HTMLInputElement||n.target instanceof HTMLTextAreaElement||n.target instanceof HTMLSelectElement){t.current.isFocused=!0;let r=n.target,l=a=>{t.current.isFocused=!1,r.disabled&&o(new Ft("blur",a)),t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)};r.addEventListener("focusout",l,{once:!0}),t.current.observer=new MutationObserver(()=>{if(t.current.isFocused&&r.disabled){var a;(a=t.current.observer)===null||a===void 0||a.disconnect();let d=r===document.activeElement?null:document.activeElement;r.dispatchEvent(new FocusEvent("blur",{relatedTarget:d})),r.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:d}))}}),t.current.observer.observe(r,{attributes:!0,attributeFilter:["disabled"]})}},[o])}let I=null,Ct=new Set,z=new Map,C=!1,oe=!1;function ne(e,t){for(let o of Ct)o(e,t)}function Bt(e){return!(e.metaKey||!ye()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function X(e){C=!0,Bt(e)&&(I="keyboard",ne("keyboard",e))}function P(e){I="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(C=!0,ne("pointer",e))}function Se(e){Tt(e)&&(C=!0,I="virtual")}function Fe(e){e.target===window||e.target===document||(!C&&!oe&&(I="virtual",ne("virtual",e)),C=!1,oe=!1)}function Le(){C=!1,oe=!0}function Ce(e){if(typeof window>"u"||z.get(U(e)))return;const t=U(e),o=M(e);let n=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(){C=!0,n.apply(this,arguments)},o.addEventListener("keydown",X,!0),o.addEventListener("keyup",X,!0),o.addEventListener("click",Se,!0),t.addEventListener("focus",Fe,!0),t.addEventListener("blur",Le,!1),typeof PointerEvent<"u"?(o.addEventListener("pointerdown",P,!0),o.addEventListener("pointermove",P,!0),o.addEventListener("pointerup",P,!0)):(o.addEventListener("mousedown",P,!0),o.addEventListener("mousemove",P,!0),o.addEventListener("mouseup",P,!0)),t.addEventListener("beforeunload",()=>{Be(e)},{once:!0}),z.set(t,{focus:n})}const Be=(e,t)=>{const o=U(e),n=M(e);t&&n.removeEventListener("DOMContentLoaded",t),z.has(o)&&(o.HTMLElement.prototype.focus=z.get(o).focus,n.removeEventListener("keydown",X,!0),n.removeEventListener("keyup",X,!0),n.removeEventListener("click",Se,!0),o.removeEventListener("focus",Fe,!0),o.removeEventListener("blur",Le,!1),typeof PointerEvent<"u"?(n.removeEventListener("pointerdown",P,!0),n.removeEventListener("pointermove",P,!0),n.removeEventListener("pointerup",P,!0)):(n.removeEventListener("mousedown",P,!0),n.removeEventListener("mousemove",P,!0),n.removeEventListener("mouseup",P,!0)),z.delete(o))};function Nt(e){const t=M(e);let o;return t.readyState!=="loading"?Ce(e):(o=()=>{Ce(e)},t.addEventListener("DOMContentLoaded",o)),()=>Be(e,o)}typeof document<"u"&&Nt();function Ot(){return I}function Dt(e){let{isDisabled:t,onBlurWithin:o,onFocusWithin:n,onFocusWithinChange:r}=e,l=m.useRef({isFocusWithin:!1}),a=m.useCallback(i=>{l.current.isFocusWithin&&!i.currentTarget.contains(i.relatedTarget)&&(l.current.isFocusWithin=!1,o&&o(i),r&&r(!1))},[o,r,l]),d=Lt(a),c=m.useCallback(i=>{!l.current.isFocusWithin&&document.activeElement===i.target&&(n&&n(i),r&&r(!0),l.current.isFocusWithin=!0,d(i))},[n,r,d]);return t?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:c,onBlur:a}}}function Wt(e){let{ref:t,onInteractOutside:o,isDisabled:n,onInteractOutsideStart:r}=e,l=m.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}),a=W(c=>{o&&J(c,t)&&(r&&r(c),l.current.isPointerDown=!0)}),d=W(c=>{o&&o(c)});m.useEffect(()=>{let c=l.current;if(n)return;const i=t.current,s=M(i);if(typeof PointerEvent<"u"){let f=p=>{c.isPointerDown&&J(p,t)&&d(p),c.isPointerDown=!1};return s.addEventListener("pointerdown",a,!0),s.addEventListener("pointerup",f,!0),()=>{s.removeEventListener("pointerdown",a,!0),s.removeEventListener("pointerup",f,!0)}}else{let f=b=>{c.ignoreEmulatedMouseEvents?c.ignoreEmulatedMouseEvents=!1:c.isPointerDown&&J(b,t)&&d(b),c.isPointerDown=!1},p=b=>{c.ignoreEmulatedMouseEvents=!0,c.isPointerDown&&J(b,t)&&d(b),c.isPointerDown=!1};return s.addEventListener("mousedown",a,!0),s.addEventListener("mouseup",f,!0),s.addEventListener("touchstart",a,!0),s.addEventListener("touchend",p,!0),()=>{s.removeEventListener("mousedown",a,!0),s.removeEventListener("mouseup",f,!0),s.removeEventListener("touchstart",a,!0),s.removeEventListener("touchend",p,!0)}}},[t,n,a,d])}function J(e,t){if(e.button>0)return!1;if(e.target){const o=e.target.ownerDocument;if(!o||!o.documentElement.contains(e.target)||e.target.closest("[data-react-aria-top-layer]"))return!1}return t.current&&!t.current.contains(e.target)}function re(e){const t=M(e);if(Ot()==="virtual"){let o=t.activeElement;kt(()=>{t.activeElement===o&&e.isConnected&&_e(e)})}else _e(e)}function At(e){const t=U(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:o,visibility:n}=e.style,r=o!=="none"&&n!=="hidden"&&n!=="collapse";if(r){const{getComputedStyle:l}=e.ownerDocument.defaultView;let{display:a,visibility:d}=l(e);r=a!=="none"&&d!=="hidden"&&d!=="collapse"}return r}function It(e,t){return!e.hasAttribute("hidden")&&!e.hasAttribute("data-react-aria-prevent-focus")&&(e.nodeName==="DETAILS"&&t&&t.nodeName!=="SUMMARY"?e.hasAttribute("open"):!0)}function Ne(e,t){return e.nodeName!=="#comment"&&At(e)&&It(e,t)&&(!e.parentElement||Ne(e.parentElement,e))}const Oe=m.createContext(null),ae="react-aria-focus-scope-restore";let h=null;function zt(e){let{children:t,contain:o,restoreFocus:n,autoFocus:r}=e,l=m.useRef(null),a=m.useRef(null),d=m.useRef([]),{parentNode:c}=m.useContext(Oe)||{},i=m.useMemo(()=>new de({scopeRef:d}),[d]);E(()=>{let p=c||$.root;if($.getTreeNode(p.scopeRef)&&h&&!Q(h,p.scopeRef)){let b=$.getTreeNode(h);b&&(p=b)}p.addChild(i),$.addNode(i)},[i,c]),E(()=>{let p=$.getTreeNode(d);p&&(p.contain=!!o)},[o]),E(()=>{var p;let b=(p=l.current)===null||p===void 0?void 0:p.nextSibling,g=[],T=N=>N.stopPropagation();for(;b&&b!==a.current;)g.push(b),b.addEventListener(ae,T),b=b.nextSibling;return d.current=g,()=>{for(let N of g)N.removeEventListener(ae,T)}},[t]),Gt(d,n,o),jt(d,o),Jt(d,n,o),Ut(d,r),m.useEffect(()=>{const p=M(d.current?d.current[0]:void 0).activeElement;let b=null;if(_(p,d.current)){for(let g of $.traverse())g.scopeRef&&_(p,g.scopeRef.current)&&(b=g);b===$.getTreeNode(d)&&(h=b.scopeRef)}},[d]),E(()=>()=>{var p,b,g;let T=(g=(b=$.getTreeNode(d))===null||b===void 0||(p=b.parent)===null||p===void 0?void 0:p.scopeRef)!==null&&g!==void 0?g:null;(d===h||Q(d,h))&&(!T||$.getTreeNode(T))&&(h=T),$.removeTreeNode(d)},[d]);let s=m.useMemo(()=>qt(d),[]),f=m.useMemo(()=>({focusManager:s,parentNode:i}),[i,s]);return m.createElement(Oe.Provider,{value:f},m.createElement("span",{"data-focus-scope-start":!0,hidden:!0,ref:l}),t,m.createElement("span",{"data-focus-scope-end":!0,hidden:!0,ref:a}))}function qt(e){return{focusNext(t={}){let o=e.current,{from:n,tabbable:r,wrap:l,accept:a}=t,d=n||M(o[0]).activeElement,c=o[0].previousElementSibling,i=B(o),s=L(i,{tabbable:r,accept:a},o);s.currentNode=_(d,o)?d:c;let f=s.nextNode();return!f&&l&&(s.currentNode=c,f=s.nextNode()),f&&x(f,!0),f},focusPrevious(t={}){let o=e.current,{from:n,tabbable:r,wrap:l,accept:a}=t,d=n||M(o[0]).activeElement,c=o[o.length-1].nextElementSibling,i=B(o),s=L(i,{tabbable:r,accept:a},o);s.currentNode=_(d,o)?d:c;let f=s.previousNode();return!f&&l&&(s.currentNode=c,f=s.previousNode()),f&&x(f,!0),f},focusFirst(t={}){let o=e.current,{tabbable:n,accept:r}=t,l=B(o),a=L(l,{tabbable:n,accept:r},o);a.currentNode=o[0].previousElementSibling;let d=a.nextNode();return d&&x(d,!0),d},focusLast(t={}){let o=e.current,{tabbable:n,accept:r}=t,l=B(o),a=L(l,{tabbable:n,accept:r},o);a.currentNode=o[o.length-1].nextElementSibling;let d=a.previousNode();return d&&x(d,!0),d}}}const le=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[contenteditable]"],Ht=le.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";le.push('[tabindex]:not([tabindex="-1"]):not([disabled])');const Vt=le.join(':not([hidden]):not([tabindex="-1"]),');function B(e){return e[0].parentElement}function q(e){let t=$.getTreeNode(h);for(;t&&t.scopeRef!==e;){if(t.contain)return!1;t=t.parent}return!0}function jt(e,t){let o=m.useRef(void 0),n=m.useRef(void 0);E(()=>{let r=e.current;if(!t){n.current&&(cancelAnimationFrame(n.current),n.current=void 0);return}const l=M(r?r[0]:void 0);let a=i=>{if(i.key!=="Tab"||i.altKey||i.ctrlKey||i.metaKey||!q(e)||i.isComposing)return;let s=l.activeElement,f=e.current;if(!f||!_(s,f))return;let p=B(f),b=L(p,{tabbable:!0},f);if(!s)return;b.currentNode=s;let g=i.shiftKey?b.previousNode():b.nextNode();g||(b.currentNode=i.shiftKey?f[f.length-1].nextElementSibling:f[0].previousElementSibling,g=i.shiftKey?b.previousNode():b.nextNode()),i.preventDefault(),g&&x(g,!0)},d=i=>{(!h||Q(h,e))&&_(i.target,e.current)?(h=e,o.current=i.target):q(e)&&!Y(i.target,e)?o.current?o.current.focus():h&&h.current&&ie(h.current):q(e)&&(o.current=i.target)},c=i=>{n.current&&cancelAnimationFrame(n.current),n.current=requestAnimationFrame(()=>{if(l.activeElement&&q(e)&&!Y(l.activeElement,e))if(h=e,l.body.contains(i.target)){var s;o.current=i.target,(s=o.current)===null||s===void 0||s.focus()}else h.current&&ie(h.current)})};return l.addEventListener("keydown",a,!1),l.addEventListener("focusin",d,!1),r==null||r.forEach(i=>i.addEventListener("focusin",d,!1)),r==null||r.forEach(i=>i.addEventListener("focusout",c,!1)),()=>{l.removeEventListener("keydown",a,!1),l.removeEventListener("focusin",d,!1),r==null||r.forEach(i=>i.removeEventListener("focusin",d,!1)),r==null||r.forEach(i=>i.removeEventListener("focusout",c,!1))}},[e,t]),E(()=>()=>{n.current&&cancelAnimationFrame(n.current)},[n])}function De(e){return Y(e)}function _(e,t){return!e||!t?!1:t.some(o=>o.contains(e))}function Y(e,t=null){if(e instanceof Element&&e.closest("[data-react-aria-top-layer]"))return!0;for(let{scopeRef:o}of $.traverse($.getTreeNode(t)))if(o&&_(e,o.current))return!0;return!1}function Kt(e){return Y(e,h)}function Q(e,t){var o;let n=(o=$.getTreeNode(t))===null||o===void 0?void 0:o.parent;for(;n;){if(n.scopeRef===e)return!0;n=n.parent}return!1}function x(e,t=!1){if(e!=null&&!t)try{re(e)}catch{}else if(e!=null)try{e.focus()}catch{}}function We(e,t=!0){let o=e[0].previousElementSibling,n=B(e),r=L(n,{tabbable:t},e);r.currentNode=o;let l=r.nextNode();return t&&!l&&(n=B(e),r=L(n,{tabbable:!1},e),r.currentNode=o,l=r.nextNode()),l}function ie(e,t=!0){x(We(e,t))}function Ut(e,t){const o=m.useRef(t);m.useEffect(()=>{if(o.current){h=e;const n=M(e.current?e.current[0]:void 0);!_(n.activeElement,h.current)&&e.current&&ie(e.current)}o.current=!1},[e])}function Gt(e,t,o){E(()=>{if(t||o)return;let n=e.current;const r=M(n?n[0]:void 0);let l=a=>{let d=a.target;_(d,e.current)?h=e:De(d)||(h=null)};return r.addEventListener("focusin",l,!1),n==null||n.forEach(a=>a.addEventListener("focusin",l,!1)),()=>{r.removeEventListener("focusin",l,!1),n==null||n.forEach(a=>a.removeEventListener("focusin",l,!1))}},[e,t,o])}function Xt(e){let t=$.getTreeNode(h);for(;t&&t.scopeRef!==e;){if(t.nodeToRestore)return!1;t=t.parent}return(t==null?void 0:t.scopeRef)===e}function Jt(e,t,o){const n=m.useRef(typeof document<"u"?M(e.current?e.current[0]:void 0).activeElement:null);E(()=>{let r=e.current;const l=M(r?r[0]:void 0);if(!t||o)return;let a=()=>{(!h||Q(h,e))&&_(l.activeElement,e.current)&&(h=e)};return l.addEventListener("focusin",a,!1),r==null||r.forEach(d=>d.addEventListener("focusin",a,!1)),()=>{l.removeEventListener("focusin",a,!1),r==null||r.forEach(d=>d.removeEventListener("focusin",a,!1))}},[e,o]),E(()=>{const r=M(e.current?e.current[0]:void 0);if(!t)return;let l=a=>{if(a.key!=="Tab"||a.altKey||a.ctrlKey||a.metaKey||!q(e)||a.isComposing)return;let d=r.activeElement;if(!_(d,e.current))return;let c=$.getTreeNode(e);if(!c)return;let i=c.nodeToRestore,s=L(r.body,{tabbable:!0});s.currentNode=d;let f=a.shiftKey?s.previousNode():s.nextNode();if((!i||!r.body.contains(i)||i===r.body)&&(i=void 0,c.nodeToRestore=void 0),(!f||!_(f,e.current))&&i){s.currentNode=i;do f=a.shiftKey?s.previousNode():s.nextNode();while(_(f,e.current));a.preventDefault(),a.stopPropagation(),f?x(f,!0):De(i)?x(i,!0):d.blur()}};return o||r.addEventListener("keydown",l,!0),()=>{o||r.removeEventListener("keydown",l,!0)}},[e,t,o]),E(()=>{const r=M(e.current?e.current[0]:void 0);if(!t)return;let l=$.getTreeNode(e);if(l){var a;return l.nodeToRestore=(a=n.current)!==null&&a!==void 0?a:void 0,()=>{let d=$.getTreeNode(e);if(!d)return;let c=d.nodeToRestore;if(t&&c&&(_(r.activeElement,e.current)||r.activeElement===r.body&&Xt(e))){let i=$.clone();requestAnimationFrame(()=>{if(r.activeElement===r.body){let s=i.getTreeNode(e);for(;s;){if(s.nodeToRestore&&s.nodeToRestore.isConnected){Ae(s.nodeToRestore);return}s=s.parent}for(s=i.getTreeNode(e);s;){if(s.scopeRef&&s.scopeRef.current&&$.getTreeNode(s.scopeRef)){let f=We(s.scopeRef.current,!0);Ae(f);return}s=s.parent}}})}}}},[e,t])}function Ae(e){e.dispatchEvent(new CustomEvent(ae,{bubbles:!0,cancelable:!0}))&&x(e)}function L(e,t,o){let n=t!=null&&t.tabbable?Vt:Ht,r=M(e).createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode(l){var a;return!(t==null||(a=t.from)===null||a===void 0)&&a.contains(l)?NodeFilter.FILTER_REJECT:l.matches(n)&&Ne(l)&&(!o||_(l,o))&&(!(t!=null&&t.accept)||t.accept(l))?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});return t!=null&&t.from&&(r.currentNode=t.from),r}class se{get size(){return this.fastMap.size}getTreeNode(t){return this.fastMap.get(t)}addTreeNode(t,o,n){let r=this.fastMap.get(o??null);if(!r)return;let l=new de({scopeRef:t});r.addChild(l),l.parent=r,this.fastMap.set(t,l),n&&(l.nodeToRestore=n)}addNode(t){this.fastMap.set(t.scopeRef,t)}removeTreeNode(t){if(t===null)return;let o=this.fastMap.get(t);if(!o)return;let n=o.parent;for(let l of this.traverse())l!==o&&o.nodeToRestore&&l.nodeToRestore&&o.scopeRef&&o.scopeRef.current&&_(l.nodeToRestore,o.scopeRef.current)&&(l.nodeToRestore=o.nodeToRestore);let r=o.children;n&&(n.removeChild(o),r.size>0&&r.forEach(l=>n&&n.addChild(l))),this.fastMap.delete(o.scopeRef)}*traverse(t=this.root){if(t.scopeRef!=null&&(yield t),t.children.size>0)for(let o of t.children)yield*this.traverse(o)}clone(){var t;let o=new se;var n;for(let r of this.traverse())o.addTreeNode(r.scopeRef,(n=(t=r.parent)===null||t===void 0?void 0:t.scopeRef)!==null&&n!==void 0?n:null,r.nodeToRestore);return o}constructor(){this.fastMap=new Map,this.root=new de({scopeRef:null}),this.fastMap.set(null,this.root)}}class de{addChild(t){this.children.add(t),t.parent=this}removeChild(t){this.children.delete(t),t.parent=void 0}constructor(t){this.children=new Set,this.contain=!1,this.scopeRef=t.scopeRef}}let $=new se;const Yt=new WeakMap,S=[];function Qt(e,t){let{onClose:o,shouldCloseOnBlur:n,isOpen:r,isDismissable:l=!1,isKeyboardDismissDisabled:a=!1,shouldCloseOnInteractOutside:d}=e;m.useEffect(()=>(r&&S.push(t),()=>{let g=S.indexOf(t);g>=0&&S.splice(g,1)}),[r,t]);let c=()=>{S[S.length-1]===t&&o&&o()},i=g=>{(!d||d(g.target))&&S[S.length-1]===t&&(g.stopPropagation(),g.preventDefault())},s=g=>{(!d||d(g.target))&&(S[S.length-1]===t&&(g.stopPropagation(),g.preventDefault()),c())},f=g=>{g.key==="Escape"&&!a&&!g.nativeEvent.isComposing&&(g.stopPropagation(),g.preventDefault(),c())};Wt({ref:t,onInteractOutside:l&&r?s:null,onInteractOutsideStart:i});let{focusWithinProps:p}=Dt({isDisabled:!n,onBlurWithin:g=>{!g.relatedTarget||Kt(g.relatedTarget)||(!d||d(g.relatedTarget))&&o()}}),b=g=>{g.target===g.currentTarget&&g.preventDefault()};return{overlayProps:{onKeyDown:f,...p},underlayProps:{onPointerDown:b}}}function Zt(e,t,o){let{type:n}=e,{isOpen:r}=t;m.useEffect(()=>{o&&o.current&&Yt.set(o.current,t.close)});let l;n==="menu"?l=!0:n==="listbox"&&(l="listbox");let a=Ee();return{triggerProps:{"aria-haspopup":l,"aria-expanded":r,"aria-controls":r?a:null,onPress:t.toggle},overlayProps:{id:a}}}const ue=typeof document<"u"&&window.visualViewport,Rt=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let Z=0,ce;function eo(e={}){let{isDisabled:t}=e;E(()=>{if(!t)return Z++,Z===1&&(yt()?ce=oo():ce=to()),()=>{Z--,Z===0&&ce()}},[t])}function to(){return K(D(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),D(document.documentElement,"overflow","hidden"))}function oo(){let e,t,o=i=>{e=Te(i.target,!0),!(e===document.documentElement&&e===document.body)&&e instanceof HTMLElement&&window.getComputedStyle(e).overscrollBehavior==="auto"&&(t=D(e,"overscrollBehavior","contain"))},n=i=>{if(!e||e===document.documentElement||e===document.body){i.preventDefault();return}e.scrollHeight===e.clientHeight&&e.scrollWidth===e.clientWidth&&i.preventDefault()},r=i=>{let s=i.target;ze(s)&&s!==document.activeElement&&(i.preventDefault(),d(),s.style.transform="translateY(-2000px)",s.focus(),requestAnimationFrame(()=>{s.style.transform=""})),t&&t()},l=i=>{let s=i.target;ze(s)&&(d(),s.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{s.style.transform="",ue&&(ue.height<window.innerHeight?requestAnimationFrame(()=>{Ie(s)}):ue.addEventListener("resize",()=>Ie(s),{once:!0}))}))},a=null,d=()=>{if(a)return;let i=()=>{window.scrollTo(0,0)},s=window.pageXOffset,f=window.pageYOffset;a=K(H(window,"scroll",i),D(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),D(document.documentElement,"overflow","hidden"),D(document.body,"marginTop",`-${f}px`),()=>{window.scrollTo(s,f)}),window.scrollTo(0,0)},c=K(H(document,"touchstart",o,{passive:!1,capture:!0}),H(document,"touchmove",n,{passive:!1,capture:!0}),H(document,"touchend",r,{passive:!1,capture:!0}),H(document,"focus",l,!0));return()=>{t==null||t(),a==null||a(),c()}}function D(e,t,o){let n=e.style[t];return e.style[t]=o,()=>{e.style[t]=n}}function H(e,t,o,n){return e.addEventListener(t,o,n),()=>{e.removeEventListener(t,o,n)}}function Ie(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let o=Te(e);if(o!==document.documentElement&&o!==document.body&&o!==e){let n=o.getBoundingClientRect().top,r=e.getBoundingClientRect().top;r>n+e.clientHeight&&(o.scrollTop+=r-n)}e=o.parentElement}}function ze(e){return e instanceof HTMLInputElement&&!Rt.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}let V=new WeakMap,k=[];function no(e,t=document.body){let o=new Set(e),n=new Set,r=c=>{for(let p of c.querySelectorAll("[data-live-announcer], [data-react-aria-top-layer]"))o.add(p);let i=p=>{if(o.has(p)||n.has(p.parentElement)&&p.parentElement.getAttribute("role")!=="row")return NodeFilter.FILTER_REJECT;for(let b of o)if(p.contains(b))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},s=document.createTreeWalker(c,NodeFilter.SHOW_ELEMENT,{acceptNode:i}),f=i(c);if(f===NodeFilter.FILTER_ACCEPT&&l(c),f!==NodeFilter.FILTER_REJECT){let p=s.nextNode();for(;p!=null;)l(p),p=s.nextNode()}},l=c=>{var i;let s=(i=V.get(c))!==null&&i!==void 0?i:0;c.getAttribute("aria-hidden")==="true"&&s===0||(s===0&&c.setAttribute("aria-hidden","true"),n.add(c),V.set(c,s+1))};k.length&&k[k.length-1].disconnect(),r(t);let a=new MutationObserver(c=>{for(let i of c)if(!(i.type!=="childList"||i.addedNodes.length===0)&&![...o,...n].some(s=>s.contains(i.target))){for(let s of i.removedNodes)s instanceof Element&&(o.delete(s),n.delete(s));for(let s of i.addedNodes)(s instanceof HTMLElement||s instanceof SVGElement)&&(s.dataset.liveAnnouncer==="true"||s.dataset.reactAriaTopLayer==="true")?o.add(s):s instanceof Element&&r(s)}});a.observe(t,{childList:!0,subtree:!0});let d={observe(){a.observe(t,{childList:!0,subtree:!0})},disconnect(){a.disconnect()}};return k.push(d),()=>{a.disconnect();for(let c of n){let i=V.get(c);i===1?(c.removeAttribute("aria-hidden"),V.delete(c)):V.set(c,i-1)}d===k[k.length-1]?(k.pop(),k.length&&k[k.length-1].observe()):k.splice(k.indexOf(d),1)}}const ro=m.createContext({});function ao(){var e;return(e=m.useContext(ro))!==null&&e!==void 0?e:{}}const qe=m.createContext(null);function lo(e){let t=we(),{portalContainer:o=t?null:document.body,isExiting:n}=e,[r,l]=m.useState(!1),a=m.useMemo(()=>({contain:r,setContain:l}),[r,l]),{getContainer:d}=ao();if(!e.portalContainer&&d&&(o=d()),!o)return null;let c=e.children;return e.disableFocusManagement||(c=m.createElement(zt,{restoreFocus:!0,contain:r&&!n},c)),c=m.createElement(qe.Provider,{value:a},m.createElement(St,null,c)),Ye.createPortal(c,o)}function He(){let e=m.useContext(qe),t=e==null?void 0:e.setContain;E(()=>{t==null||t(!0)},[t])}function io(e,t,o){let{overlayProps:n,underlayProps:r}=Qt({...e,isOpen:t.isOpen,onClose:t.close},o);return eo({isDisabled:!t.isOpen}),He(),m.useEffect(()=>{if(t.isOpen)return no([o.current])},[t.isOpen,o]),{modalProps:mt(n),underlayProps:r}}function so(e,t){let{role:o="dialog"}=e,n=ut();n=e["aria-label"]?void 0:n;let r=m.useRef(!1);return m.useEffect(()=>{if(t.current&&!t.current.contains(document.activeElement)){re(t.current);let l=setTimeout(()=>{document.activeElement===t.current&&(r.current=!0,t.current&&(t.current.blur(),re(t.current)),r.current=!1)},500);return()=>{clearTimeout(l)}}},[t]),He(),{dialogProps:{...vt(e,{labelable:!0}),role:o,tabIndex:-1,"aria-labelledby":e["aria-labelledby"]||n,onBlur:l=>{r.current&&l.stopPropagation()}},titleProps:{id:n}}}function uo(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function Ve(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),o.push.apply(o,n)}return o}function je(e){for(var t=1;t<arguments.length;t++){var o=arguments[t]!=null?arguments[t]:{};t%2?Ve(Object(o),!0).forEach(function(n){uo(e,n,o[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):Ve(Object(o)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(o,n))})}return e}var co=(e,t,o)=>{for(var n of Object.keys(e)){var r;if(e[n]!==((r=t[n])!==null&&r!==void 0?r:o[n]))return!1}return!0},Ke=e=>t=>{var o=e.defaultClassName,n=je(je({},e.defaultVariants),t);for(var r in n){var l,a=(l=n[r])!==null&&l!==void 0?l:e.defaultVariants[r];if(a!=null){var d=a;typeof d=="boolean"&&(d=d===!0?"true":"false");var c=e.variantClassNames[r][d];c&&(o+=" "+c)}}for(var[i,s]of e.compoundVariants)co(i,n,e.defaultVariants)&&(o+=" "+s);return o},mo="pkg_sps-woodland_modal__version_8_22_0__hash_3moto2o",fo="pkg_sps-woodland_modal__version_8_22_0__hash_3moto2q",po="pkg_sps-woodland_modal__version_8_22_0__hash_3moto2r",Ue="pkg_sps-woodland_modal__version_8_22_0__hash_3moto2p",go=Ke({defaultClassName:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto20",variantClassNames:{kind:{informational:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto21",delete:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto22",failure:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto23",success:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto24",warning:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto25",successWithFailures:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto26",form:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto27"},size:{sm:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto28",md:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto29",lg:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto2a",xl:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto2b"},fullHeight:{true:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto2c",false:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto2d"}},defaultVariants:{},compoundVariants:[]}),bo="pkg_sps-woodland_modal__version_8_22_0__hash_3moto2n",vo=Ke({defaultClassName:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto2e",variantClassNames:{kind:{form:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto2f",delete:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto2g",failure:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto2h",informational:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto2i",success:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto2j",warning:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto2k",successWithFailures:"pkg_sps-woodland_modal__version_8_22_0__hash_3moto2l"}},defaultVariants:{},compoundVariants:[]}),ho="pkg_sps-woodland_modal__version_8_22_0__hash_3moto2m",$o="pkg_sps-woodland_modal__version_8_22_0__hash_3moto2s";function me({children:e,className:t="",...o}){return u.createElement("div",{className:w.cl(Ue,t),...o},e)}w.Metadata.set(me,{name:"ModalFooter"});const fe=Object.freeze({form:"pencil",delete:"trash",failure:"status-error",informational:"info-circle",success:"status-ok",successWithFailures:"status-warning",warning:"status-warning"});function wo({children:e,className:t,"data-testid":o,kind:n="informational",onBlur:r,onFocus:l,overlayProps:a,size:d="sm",state:c,title:i,dismissible:s,dismissable:f=!0,onClose:p,fullHeight:b=!1,...g}){const T=s??f,N=u.useRef(null),{modalProps:ge,underlayProps:yo}=io({isKeyboardDismissDisabled:!T,...g},c,N),{dialogProps:be,titleProps:Po}=so(g,N),ko=w.combineEventHandlers(ge.onFocus,be.onFocus,l),To=w.combineEventHandlers(ge.onBlur,be.onBlur,r),{t:xo}=u.useContext(w.I18nContext),So=w.useChildTestIdAttrBuilder({"data-testid":o}),[ve,Fo]=w.selectChildren(e,[{type:me}]);function Ge(){p&&typeof p=="function"&&p(),c.close()}const Xe=function(){return T?u.createElement(he.Button,{"aria-label":"Close",onClick:Ge,kind:"icon",icon:"x",className:fo}):null},Lo=w.modChildren(Fo,Je=>Je.type===Xe?[{className:w.cl(Je.props.classname,po)}]:[]);return u.createElement(lo,null,u.createElement("div",{className:$o,...yo,...g},u.createElement("div",{...ge,...be,...a,onFocus:ko,onBlur:To,...So("dialog"),ref:N,className:w.cl(go({kind:n,size:d,fullHeight:b}),t)},u.createElement("div",{...Po,className:vo({kind:n})},n&&u.createElement(w.Icon,{icon:fe[n]||fe.informational,className:bo}),u.createElement("div",{className:ho},w.contentOf(i,c.close)),u.createElement(Xe,null)),u.createElement("div",{className:mo},w.contentOf(Lo,c.close)),ve&&ve.length>0?u.createElement(u.Fragment,null,w.contentOf(ve,c.close)):u.createElement("div",{className:Ue},u.createElement(he.Button,{kind:"key",onClick:Ge},xo("design-system:modal.defaultButtonLabel"))))))}function pe(e){return e.state.isOpen?u.createElement(wo,{...e},e.children):u.createElement(u.Fragment,null)}w.Metadata.set(pe,{name:"Modal",props:{dismissable:{type:"boolean",default:"true"},fullHeight:{type:"boolean",default:"false"},kind:{type:"ModalKind",default:"informational"},onBlur:{type:"() => void"},onClose:{type:"() => void"},onFocus:{type:"() => void"},size:{type:"ModalSize",default:"sm"},title:{type:"string"}}});function Eo(e){let[t,o]=xt(e.isOpen,e.defaultOpen||!1,e.onOpenChange);const n=m.useCallback(()=>{o(!0)},[o]),r=m.useCallback(()=>{o(!1)},[o]),l=m.useCallback(()=>{o(!t)},[o,t]);return{isOpen:t,setOpen:o,open:n,close:r,toggle:l}}function Mo(e={}){const t=Eo(e),o=m.useRef(null),{triggerProps:n,overlayProps:r}=Zt({type:"dialog"},t,o),{onPress:l,...a}=n;return{triggerProps:{...a,onClick:l,ref:o},modalState:t,modalProps:{overlayProps:r,state:t}}}const _o={Modals:{description:()=>u.createElement("p",null,"Modals are overlays on a page that focus a user’s attention on an important message or a simple action. Examples of a Modal include confirming the deletion of a record, or making a single selection."),components:[pe],examples:{general:{label:"Usage",description:({NavigateTo:e})=>u.createElement(u.Fragment,null,u.createElement("h5",null,"Use a Modal:"),u.createElement("ul",null,u.createElement("li",null,"When the user needs to confirm a basic decision, such as deleting a record."),u.createElement("li",null,"When important information needs to be displayed to the user before continuing."),u.createElement("li",null,"When a simple selection, such as a single form input, is required before proceeding.")),u.createElement("h5",null,"Avoid a Modal:"),u.createElement("ul",null,u.createElement("li",null,"When a complex form is required. Use a ",u.createElement(e,{to:"focused-task"},"Focused Task View")," instead."),u.createElement("li",null,"When sharing non-critical or tertiary information. Use a ",u.createElement(e,{to:"growlers"},"Growler")," instead.")))},implementation:{label:"Close Button",description:()=>u.createElement(u.Fragment,null,u.createElement("h5",null,"Close Button and Modal dismissiability"),u.createElement("p",null,"Remove the Close Button in the upper right of the Modal if the user must choose the course of action before proceeding."),u.createElement("p",null,"The close button is included by default and omitted when the prop ",u.createElement("code",null,"dismissable")," is set to ",u.createElement("strong",null,"false"),"."),u.createElement("p",null,"Setting the ",u.createElement("code",null,"dismissable")," prop to false also prevents dismissing the modal by clicking outside of the modal or by using the"," ",u.createElement("strong",null,"escape")," key.")),examples:{basic:{react:v.code`
|
|
1
|
+
(function(y,w){typeof exports=="object"&&typeof module<"u"?w(exports,require("@sps-woodland/core"),require("@sps-woodland/buttons"),require("react"),require("react-dom"),require("@spscommerce/utils")):typeof define=="function"&&define.amd?define(["exports","@sps-woodland/core","@sps-woodland/buttons","react","react-dom","@spscommerce/utils"],w):(y=typeof globalThis<"u"?globalThis:y||self,w(y.Modal={},y.core,y.buttons,y.React,y.$4AOtR$reactdom,y.utils))})(this,function(y,w,he,m,Ye,v){"use strict";function Qe(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const u=Qe(m),E=typeof document<"u"?m.useLayoutEffect:()=>{};function W(e){const t=m.useRef(null);return E(()=>{t.current=e},[e]),m.useCallback((...o)=>{const n=t.current;return n==null?void 0:n(...o)},[])}function Ze(e){let[t,o]=m.useState(e),n=m.useRef(null),r=W(()=>{if(!n.current)return;let a=n.current.next();if(a.done){n.current=null;return}t===a.value?r():o(a.value)});E(()=>{n.current&&r()});let l=W(a=>{n.current=a(t),r()});return[t,l]}const j={prefix:String(Math.round(Math.random()*1e10)),current:0},$e=m.createContext(j),Re=m.createContext(!1);let et=!!(typeof window<"u"&&window.document&&window.document.createElement),R=new WeakMap;function tt(e=!1){let t=m.useContext($e),o=m.useRef(null);if(o.current===null&&!e){var n,r;let l=(r=m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)===null||r===void 0||(n=r.ReactCurrentOwner)===null||n===void 0?void 0:n.current;if(l){let a=R.get(l);a==null?R.set(l,{id:t.current,state:l.memoizedState}):l.memoizedState!==a.state&&(t.current=a.id,R.delete(l))}o.current=++t.current}return o.current}function ot(e){let t=m.useContext($e);t===j&&!et&&console.warn("When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.");let o=tt(!!e),n=t===j&&process.env.NODE_ENV==="test"?"react-aria":`react-aria${t.prefix}`;return e||`${n}-${o}`}function nt(e){let t=m.useId(),[o]=m.useState(we()),n=o||process.env.NODE_ENV==="test"?"react-aria":`react-aria${j.prefix}`;return e||`${n}-${t}`}const rt=typeof m.useId=="function"?nt:ot;function at(){return!1}function lt(){return!0}function it(e){return()=>{}}function we(){return typeof m.useSyncExternalStore=="function"?m.useSyncExternalStore(it,at,lt):m.useContext(Re)}let st=!!(typeof window<"u"&&window.document&&window.document.createElement),F=new Map;function Ee(e){let[t,o]=m.useState(e),n=m.useRef(null),r=rt(t),l=m.useCallback(a=>{n.current=a},[]);return st&&(F.has(r)&&!F.get(r).includes(l)?F.set(r,[...F.get(r),l]):F.set(r,[l])),E(()=>{let a=r;return()=>{F.delete(a)}},[r]),m.useEffect(()=>{let a=n.current;a&&(n.current=null,o(a))}),r}function dt(e,t){if(e===t)return e;let o=F.get(e);if(o)return o.forEach(r=>r(t)),t;let n=F.get(t);return n?(n.forEach(r=>r(e)),e):t}function ut(e=[]){let t=Ee(),[o,n]=Ze(t),r=m.useCallback(()=>{n(function*(){yield t,yield document.getElementById(t)?t:void 0})},[t,n]);return E(r,[t,r,...e]),o}function K(...e){return(...t)=>{for(let o of e)typeof o=="function"&&o(...t)}}const M=e=>{var t;return(t=e==null?void 0:e.ownerDocument)!==null&&t!==void 0?t:document},U=e=>e&&"window"in e&&e.window===e?e:M(e).defaultView||window;function Me(e){var t,o,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t<r;t++)e[t]&&(o=Me(e[t]))&&(n&&(n+=" "),n+=o)}else for(o in e)e[o]&&(n&&(n+=" "),n+=o);return n}function ct(){for(var e,t,o=0,n="",r=arguments.length;o<r;o++)(e=arguments[o])&&(t=Me(e))&&(n&&(n+=" "),n+=t);return n}function mt(...e){let t={...e[0]};for(let o=1;o<e.length;o++){let n=e[o];for(let r in n){let l=t[r],a=n[r];typeof l=="function"&&typeof a=="function"&&r[0]==="o"&&r[1]==="n"&&r.charCodeAt(2)>=65&&r.charCodeAt(2)<=90?t[r]=K(l,a):(r==="className"||r==="UNSAFE_className")&&typeof l=="string"&&typeof a=="string"?t[r]=ct(l,a):r==="id"&&l&&a?t.id=dt(l,a):t[r]=a!==void 0?a:l}}return t}const ft=new Set(["id"]),pt=new Set(["aria-label","aria-labelledby","aria-describedby","aria-details"]),gt=new Set(["href","hrefLang","target","rel","download","ping","referrerPolicy"]),bt=/^(data-.*)$/;function vt(e,t={}){let{labelable:o,isLink:n,propNames:r}=t,l={};for(const a in e)Object.prototype.hasOwnProperty.call(e,a)&&(ft.has(a)||o&&pt.has(a)||n&>.has(a)||r!=null&&r.has(a)||bt.test(a))&&(l[a]=e[a]);return l}function _e(e){if(ht())e.focus({preventScroll:!0});else{let t=$t(e);e.focus(),wt(t)}}let G=null;function ht(){if(G==null){G=!1;try{document.createElement("div").focus({get preventScroll(){return G=!0,!0}})}catch{}}return G}function $t(e){let t=e.parentNode,o=[],n=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==n;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&o.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return n instanceof HTMLElement&&o.push({element:n,scrollTop:n.scrollTop,scrollLeft:n.scrollLeft}),o}function wt(e){for(let{element:t,scrollTop:o,scrollLeft:n}of e)t.scrollTop=o,t.scrollLeft=n}function Et(e){var t;return typeof window>"u"||window.navigator==null?!1:((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.brands.some(o=>e.test(o.brand)))||e.test(window.navigator.userAgent)}function ee(e){var t;return typeof window<"u"&&window.navigator!=null?e.test(((t=window.navigator.userAgentData)===null||t===void 0?void 0:t.platform)||window.navigator.platform):!1}function A(e){let t=null;return()=>(t==null&&(t=e()),t)}const ye=A(function(){return ee(/^Mac/i)}),Mt=A(function(){return ee(/^iPhone/i)}),_t=A(function(){return ee(/^iPad/i)||ye()&&navigator.maxTouchPoints>1}),yt=A(function(){return Mt()||_t()}),Pt=A(function(){return Et(/Android/i)});let O=new Map,te=new Set;function Pe(){if(typeof window>"u")return;function e(n){return"propertyName"in n}let t=n=>{if(!e(n)||!n.target)return;let r=O.get(n.target);r||(r=new Set,O.set(n.target,r),n.target.addEventListener("transitioncancel",o,{once:!0})),r.add(n.propertyName)},o=n=>{if(!e(n)||!n.target)return;let r=O.get(n.target);if(r&&(r.delete(n.propertyName),r.size===0&&(n.target.removeEventListener("transitioncancel",o),O.delete(n.target)),O.size===0)){for(let l of te)l();te.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",o)}typeof document<"u"&&(document.readyState!=="loading"?Pe():document.addEventListener("DOMContentLoaded",Pe));function kt(e){requestAnimationFrame(()=>{O.size===0?e():te.add(e)})}function ke(e,t){let o=window.getComputedStyle(e),n=/(auto|scroll)/.test(o.overflow+o.overflowX+o.overflowY);return n&&t&&(n=e.scrollHeight!==e.clientHeight||e.scrollWidth!==e.clientWidth),n}function Te(e,t){let o=e;for(ke(o,t)&&(o=o.parentElement);o&&!ke(o,t);)o=o.parentElement;return o||document.scrollingElement||document.documentElement}function Tt(e){return e.mozInputSource===0&&e.isTrusted?!0:Pt()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function xt(e,t,o){let[n,r]=m.useState(e||t),l=m.useRef(e!==void 0),a=e!==void 0;m.useEffect(()=>{let i=l.current;i!==a&&console.warn(`WARN: A component changed from ${i?"controlled":"uncontrolled"} to ${a?"controlled":"uncontrolled"}.`),l.current=a},[a]);let d=a?e:n,c=m.useCallback((i,...s)=>{let f=(p,...b)=>{o&&(Object.is(d,p)||o(p,...b)),a||(d=p)};typeof i=="function"?(console.warn("We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320"),r((b,...g)=>{let T=i(a?d:b,...g);return f(T,...s),a?b:T})):(a||r(i),f(i,...s))},[a,d,o]);return[d,c]}const xe=m.createContext({register:()=>{}});xe.displayName="PressResponderContext";function St({children:e}){let t=m.useMemo(()=>({register:()=>{}}),[]);return m.createElement(xe.Provider,{value:t},e)}class Ft{isDefaultPrevented(){return this.nativeEvent.defaultPrevented}preventDefault(){this.defaultPrevented=!0,this.nativeEvent.preventDefault()}stopPropagation(){this.nativeEvent.stopPropagation(),this.isPropagationStopped=()=>!0}isPropagationStopped(){return!1}persist(){}constructor(t,o){this.nativeEvent=o,this.target=o.target,this.currentTarget=o.currentTarget,this.relatedTarget=o.relatedTarget,this.bubbles=o.bubbles,this.cancelable=o.cancelable,this.defaultPrevented=o.defaultPrevented,this.eventPhase=o.eventPhase,this.isTrusted=o.isTrusted,this.timeStamp=o.timeStamp,this.type=t}}function Lt(e){let t=m.useRef({isFocused:!1,observer:null});E(()=>{const n=t.current;return()=>{n.observer&&(n.observer.disconnect(),n.observer=null)}},[]);let o=W(n=>{e==null||e(n)});return m.useCallback(n=>{if(n.target instanceof HTMLButtonElement||n.target instanceof HTMLInputElement||n.target instanceof HTMLTextAreaElement||n.target instanceof HTMLSelectElement){t.current.isFocused=!0;let r=n.target,l=a=>{t.current.isFocused=!1,r.disabled&&o(new Ft("blur",a)),t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)};r.addEventListener("focusout",l,{once:!0}),t.current.observer=new MutationObserver(()=>{if(t.current.isFocused&&r.disabled){var a;(a=t.current.observer)===null||a===void 0||a.disconnect();let d=r===document.activeElement?null:document.activeElement;r.dispatchEvent(new FocusEvent("blur",{relatedTarget:d})),r.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:d}))}}),t.current.observer.observe(r,{attributes:!0,attributeFilter:["disabled"]})}},[o])}let I=null,Ct=new Set,z=new Map,C=!1,oe=!1;function ne(e,t){for(let o of Ct)o(e,t)}function Bt(e){return!(e.metaKey||!ye()&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function X(e){C=!0,Bt(e)&&(I="keyboard",ne("keyboard",e))}function P(e){I="pointer",(e.type==="mousedown"||e.type==="pointerdown")&&(C=!0,ne("pointer",e))}function Se(e){Tt(e)&&(C=!0,I="virtual")}function Fe(e){e.target===window||e.target===document||(!C&&!oe&&(I="virtual",ne("virtual",e)),C=!1,oe=!1)}function Le(){C=!1,oe=!0}function Ce(e){if(typeof window>"u"||z.get(U(e)))return;const t=U(e),o=M(e);let n=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(){C=!0,n.apply(this,arguments)},o.addEventListener("keydown",X,!0),o.addEventListener("keyup",X,!0),o.addEventListener("click",Se,!0),t.addEventListener("focus",Fe,!0),t.addEventListener("blur",Le,!1),typeof PointerEvent<"u"?(o.addEventListener("pointerdown",P,!0),o.addEventListener("pointermove",P,!0),o.addEventListener("pointerup",P,!0)):(o.addEventListener("mousedown",P,!0),o.addEventListener("mousemove",P,!0),o.addEventListener("mouseup",P,!0)),t.addEventListener("beforeunload",()=>{Be(e)},{once:!0}),z.set(t,{focus:n})}const Be=(e,t)=>{const o=U(e),n=M(e);t&&n.removeEventListener("DOMContentLoaded",t),z.has(o)&&(o.HTMLElement.prototype.focus=z.get(o).focus,n.removeEventListener("keydown",X,!0),n.removeEventListener("keyup",X,!0),n.removeEventListener("click",Se,!0),o.removeEventListener("focus",Fe,!0),o.removeEventListener("blur",Le,!1),typeof PointerEvent<"u"?(n.removeEventListener("pointerdown",P,!0),n.removeEventListener("pointermove",P,!0),n.removeEventListener("pointerup",P,!0)):(n.removeEventListener("mousedown",P,!0),n.removeEventListener("mousemove",P,!0),n.removeEventListener("mouseup",P,!0)),z.delete(o))};function Nt(e){const t=M(e);let o;return t.readyState!=="loading"?Ce(e):(o=()=>{Ce(e)},t.addEventListener("DOMContentLoaded",o)),()=>Be(e,o)}typeof document<"u"&&Nt();function Ot(){return I}function Dt(e){let{isDisabled:t,onBlurWithin:o,onFocusWithin:n,onFocusWithinChange:r}=e,l=m.useRef({isFocusWithin:!1}),a=m.useCallback(i=>{l.current.isFocusWithin&&!i.currentTarget.contains(i.relatedTarget)&&(l.current.isFocusWithin=!1,o&&o(i),r&&r(!1))},[o,r,l]),d=Lt(a),c=m.useCallback(i=>{!l.current.isFocusWithin&&document.activeElement===i.target&&(n&&n(i),r&&r(!0),l.current.isFocusWithin=!0,d(i))},[n,r,d]);return t?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:c,onBlur:a}}}function Wt(e){let{ref:t,onInteractOutside:o,isDisabled:n,onInteractOutsideStart:r}=e,l=m.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}),a=W(c=>{o&&J(c,t)&&(r&&r(c),l.current.isPointerDown=!0)}),d=W(c=>{o&&o(c)});m.useEffect(()=>{let c=l.current;if(n)return;const i=t.current,s=M(i);if(typeof PointerEvent<"u"){let f=p=>{c.isPointerDown&&J(p,t)&&d(p),c.isPointerDown=!1};return s.addEventListener("pointerdown",a,!0),s.addEventListener("pointerup",f,!0),()=>{s.removeEventListener("pointerdown",a,!0),s.removeEventListener("pointerup",f,!0)}}else{let f=b=>{c.ignoreEmulatedMouseEvents?c.ignoreEmulatedMouseEvents=!1:c.isPointerDown&&J(b,t)&&d(b),c.isPointerDown=!1},p=b=>{c.ignoreEmulatedMouseEvents=!0,c.isPointerDown&&J(b,t)&&d(b),c.isPointerDown=!1};return s.addEventListener("mousedown",a,!0),s.addEventListener("mouseup",f,!0),s.addEventListener("touchstart",a,!0),s.addEventListener("touchend",p,!0),()=>{s.removeEventListener("mousedown",a,!0),s.removeEventListener("mouseup",f,!0),s.removeEventListener("touchstart",a,!0),s.removeEventListener("touchend",p,!0)}}},[t,n,a,d])}function J(e,t){if(e.button>0)return!1;if(e.target){const o=e.target.ownerDocument;if(!o||!o.documentElement.contains(e.target)||e.target.closest("[data-react-aria-top-layer]"))return!1}return t.current&&!t.current.contains(e.target)}function re(e){const t=M(e);if(Ot()==="virtual"){let o=t.activeElement;kt(()=>{t.activeElement===o&&e.isConnected&&_e(e)})}else _e(e)}function At(e){const t=U(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:o,visibility:n}=e.style,r=o!=="none"&&n!=="hidden"&&n!=="collapse";if(r){const{getComputedStyle:l}=e.ownerDocument.defaultView;let{display:a,visibility:d}=l(e);r=a!=="none"&&d!=="hidden"&&d!=="collapse"}return r}function It(e,t){return!e.hasAttribute("hidden")&&!e.hasAttribute("data-react-aria-prevent-focus")&&(e.nodeName==="DETAILS"&&t&&t.nodeName!=="SUMMARY"?e.hasAttribute("open"):!0)}function Ne(e,t){return e.nodeName!=="#comment"&&At(e)&&It(e,t)&&(!e.parentElement||Ne(e.parentElement,e))}const Oe=m.createContext(null),ae="react-aria-focus-scope-restore";let h=null;function zt(e){let{children:t,contain:o,restoreFocus:n,autoFocus:r}=e,l=m.useRef(null),a=m.useRef(null),d=m.useRef([]),{parentNode:c}=m.useContext(Oe)||{},i=m.useMemo(()=>new de({scopeRef:d}),[d]);E(()=>{let p=c||$.root;if($.getTreeNode(p.scopeRef)&&h&&!Q(h,p.scopeRef)){let b=$.getTreeNode(h);b&&(p=b)}p.addChild(i),$.addNode(i)},[i,c]),E(()=>{let p=$.getTreeNode(d);p&&(p.contain=!!o)},[o]),E(()=>{var p;let b=(p=l.current)===null||p===void 0?void 0:p.nextSibling,g=[],T=N=>N.stopPropagation();for(;b&&b!==a.current;)g.push(b),b.addEventListener(ae,T),b=b.nextSibling;return d.current=g,()=>{for(let N of g)N.removeEventListener(ae,T)}},[t]),Gt(d,n,o),jt(d,o),Jt(d,n,o),Ut(d,r),m.useEffect(()=>{const p=M(d.current?d.current[0]:void 0).activeElement;let b=null;if(_(p,d.current)){for(let g of $.traverse())g.scopeRef&&_(p,g.scopeRef.current)&&(b=g);b===$.getTreeNode(d)&&(h=b.scopeRef)}},[d]),E(()=>()=>{var p,b,g;let T=(g=(b=$.getTreeNode(d))===null||b===void 0||(p=b.parent)===null||p===void 0?void 0:p.scopeRef)!==null&&g!==void 0?g:null;(d===h||Q(d,h))&&(!T||$.getTreeNode(T))&&(h=T),$.removeTreeNode(d)},[d]);let s=m.useMemo(()=>qt(d),[]),f=m.useMemo(()=>({focusManager:s,parentNode:i}),[i,s]);return m.createElement(Oe.Provider,{value:f},m.createElement("span",{"data-focus-scope-start":!0,hidden:!0,ref:l}),t,m.createElement("span",{"data-focus-scope-end":!0,hidden:!0,ref:a}))}function qt(e){return{focusNext(t={}){let o=e.current,{from:n,tabbable:r,wrap:l,accept:a}=t,d=n||M(o[0]).activeElement,c=o[0].previousElementSibling,i=B(o),s=L(i,{tabbable:r,accept:a},o);s.currentNode=_(d,o)?d:c;let f=s.nextNode();return!f&&l&&(s.currentNode=c,f=s.nextNode()),f&&x(f,!0),f},focusPrevious(t={}){let o=e.current,{from:n,tabbable:r,wrap:l,accept:a}=t,d=n||M(o[0]).activeElement,c=o[o.length-1].nextElementSibling,i=B(o),s=L(i,{tabbable:r,accept:a},o);s.currentNode=_(d,o)?d:c;let f=s.previousNode();return!f&&l&&(s.currentNode=c,f=s.previousNode()),f&&x(f,!0),f},focusFirst(t={}){let o=e.current,{tabbable:n,accept:r}=t,l=B(o),a=L(l,{tabbable:n,accept:r},o);a.currentNode=o[0].previousElementSibling;let d=a.nextNode();return d&&x(d,!0),d},focusLast(t={}){let o=e.current,{tabbable:n,accept:r}=t,l=B(o),a=L(l,{tabbable:n,accept:r},o);a.currentNode=o[o.length-1].nextElementSibling;let d=a.previousNode();return d&&x(d,!0),d}}}const le=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[contenteditable]"],Ht=le.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";le.push('[tabindex]:not([tabindex="-1"]):not([disabled])');const Vt=le.join(':not([hidden]):not([tabindex="-1"]),');function B(e){return e[0].parentElement}function q(e){let t=$.getTreeNode(h);for(;t&&t.scopeRef!==e;){if(t.contain)return!1;t=t.parent}return!0}function jt(e,t){let o=m.useRef(void 0),n=m.useRef(void 0);E(()=>{let r=e.current;if(!t){n.current&&(cancelAnimationFrame(n.current),n.current=void 0);return}const l=M(r?r[0]:void 0);let a=i=>{if(i.key!=="Tab"||i.altKey||i.ctrlKey||i.metaKey||!q(e)||i.isComposing)return;let s=l.activeElement,f=e.current;if(!f||!_(s,f))return;let p=B(f),b=L(p,{tabbable:!0},f);if(!s)return;b.currentNode=s;let g=i.shiftKey?b.previousNode():b.nextNode();g||(b.currentNode=i.shiftKey?f[f.length-1].nextElementSibling:f[0].previousElementSibling,g=i.shiftKey?b.previousNode():b.nextNode()),i.preventDefault(),g&&x(g,!0)},d=i=>{(!h||Q(h,e))&&_(i.target,e.current)?(h=e,o.current=i.target):q(e)&&!Y(i.target,e)?o.current?o.current.focus():h&&h.current&&ie(h.current):q(e)&&(o.current=i.target)},c=i=>{n.current&&cancelAnimationFrame(n.current),n.current=requestAnimationFrame(()=>{if(l.activeElement&&q(e)&&!Y(l.activeElement,e))if(h=e,l.body.contains(i.target)){var s;o.current=i.target,(s=o.current)===null||s===void 0||s.focus()}else h.current&&ie(h.current)})};return l.addEventListener("keydown",a,!1),l.addEventListener("focusin",d,!1),r==null||r.forEach(i=>i.addEventListener("focusin",d,!1)),r==null||r.forEach(i=>i.addEventListener("focusout",c,!1)),()=>{l.removeEventListener("keydown",a,!1),l.removeEventListener("focusin",d,!1),r==null||r.forEach(i=>i.removeEventListener("focusin",d,!1)),r==null||r.forEach(i=>i.removeEventListener("focusout",c,!1))}},[e,t]),E(()=>()=>{n.current&&cancelAnimationFrame(n.current)},[n])}function De(e){return Y(e)}function _(e,t){return!e||!t?!1:t.some(o=>o.contains(e))}function Y(e,t=null){if(e instanceof Element&&e.closest("[data-react-aria-top-layer]"))return!0;for(let{scopeRef:o}of $.traverse($.getTreeNode(t)))if(o&&_(e,o.current))return!0;return!1}function Kt(e){return Y(e,h)}function Q(e,t){var o;let n=(o=$.getTreeNode(t))===null||o===void 0?void 0:o.parent;for(;n;){if(n.scopeRef===e)return!0;n=n.parent}return!1}function x(e,t=!1){if(e!=null&&!t)try{re(e)}catch{}else if(e!=null)try{e.focus()}catch{}}function We(e,t=!0){let o=e[0].previousElementSibling,n=B(e),r=L(n,{tabbable:t},e);r.currentNode=o;let l=r.nextNode();return t&&!l&&(n=B(e),r=L(n,{tabbable:!1},e),r.currentNode=o,l=r.nextNode()),l}function ie(e,t=!0){x(We(e,t))}function Ut(e,t){const o=m.useRef(t);m.useEffect(()=>{if(o.current){h=e;const n=M(e.current?e.current[0]:void 0);!_(n.activeElement,h.current)&&e.current&&ie(e.current)}o.current=!1},[e])}function Gt(e,t,o){E(()=>{if(t||o)return;let n=e.current;const r=M(n?n[0]:void 0);let l=a=>{let d=a.target;_(d,e.current)?h=e:De(d)||(h=null)};return r.addEventListener("focusin",l,!1),n==null||n.forEach(a=>a.addEventListener("focusin",l,!1)),()=>{r.removeEventListener("focusin",l,!1),n==null||n.forEach(a=>a.removeEventListener("focusin",l,!1))}},[e,t,o])}function Xt(e){let t=$.getTreeNode(h);for(;t&&t.scopeRef!==e;){if(t.nodeToRestore)return!1;t=t.parent}return(t==null?void 0:t.scopeRef)===e}function Jt(e,t,o){const n=m.useRef(typeof document<"u"?M(e.current?e.current[0]:void 0).activeElement:null);E(()=>{let r=e.current;const l=M(r?r[0]:void 0);if(!t||o)return;let a=()=>{(!h||Q(h,e))&&_(l.activeElement,e.current)&&(h=e)};return l.addEventListener("focusin",a,!1),r==null||r.forEach(d=>d.addEventListener("focusin",a,!1)),()=>{l.removeEventListener("focusin",a,!1),r==null||r.forEach(d=>d.removeEventListener("focusin",a,!1))}},[e,o]),E(()=>{const r=M(e.current?e.current[0]:void 0);if(!t)return;let l=a=>{if(a.key!=="Tab"||a.altKey||a.ctrlKey||a.metaKey||!q(e)||a.isComposing)return;let d=r.activeElement;if(!_(d,e.current))return;let c=$.getTreeNode(e);if(!c)return;let i=c.nodeToRestore,s=L(r.body,{tabbable:!0});s.currentNode=d;let f=a.shiftKey?s.previousNode():s.nextNode();if((!i||!r.body.contains(i)||i===r.body)&&(i=void 0,c.nodeToRestore=void 0),(!f||!_(f,e.current))&&i){s.currentNode=i;do f=a.shiftKey?s.previousNode():s.nextNode();while(_(f,e.current));a.preventDefault(),a.stopPropagation(),f?x(f,!0):De(i)?x(i,!0):d.blur()}};return o||r.addEventListener("keydown",l,!0),()=>{o||r.removeEventListener("keydown",l,!0)}},[e,t,o]),E(()=>{const r=M(e.current?e.current[0]:void 0);if(!t)return;let l=$.getTreeNode(e);if(l){var a;return l.nodeToRestore=(a=n.current)!==null&&a!==void 0?a:void 0,()=>{let d=$.getTreeNode(e);if(!d)return;let c=d.nodeToRestore;if(t&&c&&(_(r.activeElement,e.current)||r.activeElement===r.body&&Xt(e))){let i=$.clone();requestAnimationFrame(()=>{if(r.activeElement===r.body){let s=i.getTreeNode(e);for(;s;){if(s.nodeToRestore&&s.nodeToRestore.isConnected){Ae(s.nodeToRestore);return}s=s.parent}for(s=i.getTreeNode(e);s;){if(s.scopeRef&&s.scopeRef.current&&$.getTreeNode(s.scopeRef)){let f=We(s.scopeRef.current,!0);Ae(f);return}s=s.parent}}})}}}},[e,t])}function Ae(e){e.dispatchEvent(new CustomEvent(ae,{bubbles:!0,cancelable:!0}))&&x(e)}function L(e,t,o){let n=t!=null&&t.tabbable?Vt:Ht,r=M(e).createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode(l){var a;return!(t==null||(a=t.from)===null||a===void 0)&&a.contains(l)?NodeFilter.FILTER_REJECT:l.matches(n)&&Ne(l)&&(!o||_(l,o))&&(!(t!=null&&t.accept)||t.accept(l))?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});return t!=null&&t.from&&(r.currentNode=t.from),r}class se{get size(){return this.fastMap.size}getTreeNode(t){return this.fastMap.get(t)}addTreeNode(t,o,n){let r=this.fastMap.get(o??null);if(!r)return;let l=new de({scopeRef:t});r.addChild(l),l.parent=r,this.fastMap.set(t,l),n&&(l.nodeToRestore=n)}addNode(t){this.fastMap.set(t.scopeRef,t)}removeTreeNode(t){if(t===null)return;let o=this.fastMap.get(t);if(!o)return;let n=o.parent;for(let l of this.traverse())l!==o&&o.nodeToRestore&&l.nodeToRestore&&o.scopeRef&&o.scopeRef.current&&_(l.nodeToRestore,o.scopeRef.current)&&(l.nodeToRestore=o.nodeToRestore);let r=o.children;n&&(n.removeChild(o),r.size>0&&r.forEach(l=>n&&n.addChild(l))),this.fastMap.delete(o.scopeRef)}*traverse(t=this.root){if(t.scopeRef!=null&&(yield t),t.children.size>0)for(let o of t.children)yield*this.traverse(o)}clone(){var t;let o=new se;var n;for(let r of this.traverse())o.addTreeNode(r.scopeRef,(n=(t=r.parent)===null||t===void 0?void 0:t.scopeRef)!==null&&n!==void 0?n:null,r.nodeToRestore);return o}constructor(){this.fastMap=new Map,this.root=new de({scopeRef:null}),this.fastMap.set(null,this.root)}}class de{addChild(t){this.children.add(t),t.parent=this}removeChild(t){this.children.delete(t),t.parent=void 0}constructor(t){this.children=new Set,this.contain=!1,this.scopeRef=t.scopeRef}}let $=new se;const Yt=new WeakMap,S=[];function Qt(e,t){let{onClose:o,shouldCloseOnBlur:n,isOpen:r,isDismissable:l=!1,isKeyboardDismissDisabled:a=!1,shouldCloseOnInteractOutside:d}=e;m.useEffect(()=>(r&&S.push(t),()=>{let g=S.indexOf(t);g>=0&&S.splice(g,1)}),[r,t]);let c=()=>{S[S.length-1]===t&&o&&o()},i=g=>{(!d||d(g.target))&&S[S.length-1]===t&&(g.stopPropagation(),g.preventDefault())},s=g=>{(!d||d(g.target))&&(S[S.length-1]===t&&(g.stopPropagation(),g.preventDefault()),c())},f=g=>{g.key==="Escape"&&!a&&!g.nativeEvent.isComposing&&(g.stopPropagation(),g.preventDefault(),c())};Wt({ref:t,onInteractOutside:l&&r?s:null,onInteractOutsideStart:i});let{focusWithinProps:p}=Dt({isDisabled:!n,onBlurWithin:g=>{!g.relatedTarget||Kt(g.relatedTarget)||(!d||d(g.relatedTarget))&&o()}}),b=g=>{g.target===g.currentTarget&&g.preventDefault()};return{overlayProps:{onKeyDown:f,...p},underlayProps:{onPointerDown:b}}}function Zt(e,t,o){let{type:n}=e,{isOpen:r}=t;m.useEffect(()=>{o&&o.current&&Yt.set(o.current,t.close)});let l;n==="menu"?l=!0:n==="listbox"&&(l="listbox");let a=Ee();return{triggerProps:{"aria-haspopup":l,"aria-expanded":r,"aria-controls":r?a:null,onPress:t.toggle},overlayProps:{id:a}}}const ue=typeof document<"u"&&window.visualViewport,Rt=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let Z=0,ce;function eo(e={}){let{isDisabled:t}=e;E(()=>{if(!t)return Z++,Z===1&&(yt()?ce=oo():ce=to()),()=>{Z--,Z===0&&ce()}},[t])}function to(){return K(D(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),D(document.documentElement,"overflow","hidden"))}function oo(){let e,t,o=i=>{e=Te(i.target,!0),!(e===document.documentElement&&e===document.body)&&e instanceof HTMLElement&&window.getComputedStyle(e).overscrollBehavior==="auto"&&(t=D(e,"overscrollBehavior","contain"))},n=i=>{if(!e||e===document.documentElement||e===document.body){i.preventDefault();return}e.scrollHeight===e.clientHeight&&e.scrollWidth===e.clientWidth&&i.preventDefault()},r=i=>{let s=i.target;ze(s)&&s!==document.activeElement&&(i.preventDefault(),d(),s.style.transform="translateY(-2000px)",s.focus(),requestAnimationFrame(()=>{s.style.transform=""})),t&&t()},l=i=>{let s=i.target;ze(s)&&(d(),s.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{s.style.transform="",ue&&(ue.height<window.innerHeight?requestAnimationFrame(()=>{Ie(s)}):ue.addEventListener("resize",()=>Ie(s),{once:!0}))}))},a=null,d=()=>{if(a)return;let i=()=>{window.scrollTo(0,0)},s=window.pageXOffset,f=window.pageYOffset;a=K(H(window,"scroll",i),D(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),D(document.documentElement,"overflow","hidden"),D(document.body,"marginTop",`-${f}px`),()=>{window.scrollTo(s,f)}),window.scrollTo(0,0)},c=K(H(document,"touchstart",o,{passive:!1,capture:!0}),H(document,"touchmove",n,{passive:!1,capture:!0}),H(document,"touchend",r,{passive:!1,capture:!0}),H(document,"focus",l,!0));return()=>{t==null||t(),a==null||a(),c()}}function D(e,t,o){let n=e.style[t];return e.style[t]=o,()=>{e.style[t]=n}}function H(e,t,o,n){return e.addEventListener(t,o,n),()=>{e.removeEventListener(t,o,n)}}function Ie(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let o=Te(e);if(o!==document.documentElement&&o!==document.body&&o!==e){let n=o.getBoundingClientRect().top,r=e.getBoundingClientRect().top;r>n+e.clientHeight&&(o.scrollTop+=r-n)}e=o.parentElement}}function ze(e){return e instanceof HTMLInputElement&&!Rt.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}let V=new WeakMap,k=[];function no(e,t=document.body){let o=new Set(e),n=new Set,r=c=>{for(let p of c.querySelectorAll("[data-live-announcer], [data-react-aria-top-layer]"))o.add(p);let i=p=>{if(o.has(p)||n.has(p.parentElement)&&p.parentElement.getAttribute("role")!=="row")return NodeFilter.FILTER_REJECT;for(let b of o)if(p.contains(b))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},s=document.createTreeWalker(c,NodeFilter.SHOW_ELEMENT,{acceptNode:i}),f=i(c);if(f===NodeFilter.FILTER_ACCEPT&&l(c),f!==NodeFilter.FILTER_REJECT){let p=s.nextNode();for(;p!=null;)l(p),p=s.nextNode()}},l=c=>{var i;let s=(i=V.get(c))!==null&&i!==void 0?i:0;c.getAttribute("aria-hidden")==="true"&&s===0||(s===0&&c.setAttribute("aria-hidden","true"),n.add(c),V.set(c,s+1))};k.length&&k[k.length-1].disconnect(),r(t);let a=new MutationObserver(c=>{for(let i of c)if(!(i.type!=="childList"||i.addedNodes.length===0)&&![...o,...n].some(s=>s.contains(i.target))){for(let s of i.removedNodes)s instanceof Element&&(o.delete(s),n.delete(s));for(let s of i.addedNodes)(s instanceof HTMLElement||s instanceof SVGElement)&&(s.dataset.liveAnnouncer==="true"||s.dataset.reactAriaTopLayer==="true")?o.add(s):s instanceof Element&&r(s)}});a.observe(t,{childList:!0,subtree:!0});let d={observe(){a.observe(t,{childList:!0,subtree:!0})},disconnect(){a.disconnect()}};return k.push(d),()=>{a.disconnect();for(let c of n){let i=V.get(c);i===1?(c.removeAttribute("aria-hidden"),V.delete(c)):V.set(c,i-1)}d===k[k.length-1]?(k.pop(),k.length&&k[k.length-1].observe()):k.splice(k.indexOf(d),1)}}const ro=m.createContext({});function ao(){var e;return(e=m.useContext(ro))!==null&&e!==void 0?e:{}}const qe=m.createContext(null);function lo(e){let t=we(),{portalContainer:o=t?null:document.body,isExiting:n}=e,[r,l]=m.useState(!1),a=m.useMemo(()=>({contain:r,setContain:l}),[r,l]),{getContainer:d}=ao();if(!e.portalContainer&&d&&(o=d()),!o)return null;let c=e.children;return e.disableFocusManagement||(c=m.createElement(zt,{restoreFocus:!0,contain:r&&!n},c)),c=m.createElement(qe.Provider,{value:a},m.createElement(St,null,c)),Ye.createPortal(c,o)}function He(){let e=m.useContext(qe),t=e==null?void 0:e.setContain;E(()=>{t==null||t(!0)},[t])}function io(e,t,o){let{overlayProps:n,underlayProps:r}=Qt({...e,isOpen:t.isOpen,onClose:t.close},o);return eo({isDisabled:!t.isOpen}),He(),m.useEffect(()=>{if(t.isOpen)return no([o.current])},[t.isOpen,o]),{modalProps:mt(n),underlayProps:r}}function so(e,t){let{role:o="dialog"}=e,n=ut();n=e["aria-label"]?void 0:n;let r=m.useRef(!1);return m.useEffect(()=>{if(t.current&&!t.current.contains(document.activeElement)){re(t.current);let l=setTimeout(()=>{document.activeElement===t.current&&(r.current=!0,t.current&&(t.current.blur(),re(t.current)),r.current=!1)},500);return()=>{clearTimeout(l)}}},[t]),He(),{dialogProps:{...vt(e,{labelable:!0}),role:o,tabIndex:-1,"aria-labelledby":e["aria-labelledby"]||n,onBlur:l=>{r.current&&l.stopPropagation()}},titleProps:{id:n}}}function uo(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function Ve(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),o.push.apply(o,n)}return o}function je(e){for(var t=1;t<arguments.length;t++){var o=arguments[t]!=null?arguments[t]:{};t%2?Ve(Object(o),!0).forEach(function(n){uo(e,n,o[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):Ve(Object(o)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(o,n))})}return e}var co=(e,t,o)=>{for(var n of Object.keys(e)){var r;if(e[n]!==((r=t[n])!==null&&r!==void 0?r:o[n]))return!1}return!0},Ke=e=>t=>{var o=e.defaultClassName,n=je(je({},e.defaultVariants),t);for(var r in n){var l,a=(l=n[r])!==null&&l!==void 0?l:e.defaultVariants[r];if(a!=null){var d=a;typeof d=="boolean"&&(d=d===!0?"true":"false");var c=e.variantClassNames[r][d];c&&(o+=" "+c)}}for(var[i,s]of e.compoundVariants)co(i,n,e.defaultVariants)&&(o+=" "+s);return o},mo="pkg_sps-woodland_modal__version_8_22_1__hash_3moto2o",fo="pkg_sps-woodland_modal__version_8_22_1__hash_3moto2q",po="pkg_sps-woodland_modal__version_8_22_1__hash_3moto2r",Ue="pkg_sps-woodland_modal__version_8_22_1__hash_3moto2p",go=Ke({defaultClassName:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto20",variantClassNames:{kind:{informational:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto21",delete:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto22",failure:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto23",success:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto24",warning:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto25",successWithFailures:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto26",form:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto27"},size:{sm:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto28",md:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto29",lg:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto2a",xl:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto2b"},fullHeight:{true:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto2c",false:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto2d"}},defaultVariants:{},compoundVariants:[]}),bo="pkg_sps-woodland_modal__version_8_22_1__hash_3moto2n",vo=Ke({defaultClassName:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto2e",variantClassNames:{kind:{form:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto2f",delete:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto2g",failure:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto2h",informational:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto2i",success:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto2j",warning:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto2k",successWithFailures:"pkg_sps-woodland_modal__version_8_22_1__hash_3moto2l"}},defaultVariants:{},compoundVariants:[]}),ho="pkg_sps-woodland_modal__version_8_22_1__hash_3moto2m",$o="pkg_sps-woodland_modal__version_8_22_1__hash_3moto2s";function me({children:e,className:t="",...o}){return u.createElement("div",{className:w.cl(Ue,t),...o},e)}w.Metadata.set(me,{name:"ModalFooter"});function Ge({dismissableValue:e,handleClose:t}){return e?u.createElement(he.Button,{"aria-label":"Close",onClick:t,kind:"icon",icon:"x",className:fo}):null}const fe=Object.freeze({form:"pencil",delete:"trash",failure:"status-error",informational:"info-circle",success:"status-ok",successWithFailures:"status-warning",warning:"status-warning"});function wo({children:e,className:t,"data-testid":o,kind:n="informational",onBlur:r,onFocus:l,overlayProps:a,size:d="sm",state:c,title:i,dismissible:s,dismissable:f=!0,onClose:p,fullHeight:b=!1,...g}){const T=s??f,N=u.useRef(null),{modalProps:ge,underlayProps:yo}=io({isKeyboardDismissDisabled:!T,...g},c,N),{dialogProps:be,titleProps:Po}=so(g,N),ko=w.combineEventHandlers(ge.onFocus,be.onFocus,l),To=w.combineEventHandlers(ge.onBlur,be.onBlur,r),{t:xo}=u.useContext(w.I18nContext),So=w.useChildTestIdAttrBuilder({"data-testid":o}),[ve,Fo]=w.selectChildren(e,[{type:me}]),Xe=u.useCallback(()=>{p&&typeof p=="function"&&p(),c.close()},[p,c.close]),Lo=w.modChildren(Fo,Je=>Je.type===Ge?[{className:w.cl(Je.props.classname,po)}]:[]);return u.createElement(lo,null,u.createElement("div",{className:$o,...yo,...g},u.createElement("div",{...ge,...be,...a,onFocus:ko,onBlur:To,...So("dialog"),ref:N,className:w.cl(go({kind:n,size:d,fullHeight:b}),t)},u.createElement("div",{...Po,className:vo({kind:n})},n&&u.createElement(w.Icon,{icon:fe[n]||fe.informational,className:bo}),u.createElement("div",{className:ho},w.contentOf(i,c.close)),u.createElement(Ge,{dismissableValue:T,handleClose:Xe})),u.createElement("div",{className:mo},w.contentOf(Lo,c.close)),ve&&ve.length>0?u.createElement(u.Fragment,null,w.contentOf(ve,c.close)):u.createElement("div",{className:Ue},u.createElement(he.Button,{kind:"key",onClick:Xe},xo("design-system:modal.defaultButtonLabel"))))))}function pe(e){return e.state.isOpen?u.createElement(wo,{...e},e.children):u.createElement(u.Fragment,null)}w.Metadata.set(pe,{name:"Modal",props:{dismissable:{type:"boolean",default:"true"},fullHeight:{type:"boolean",default:"false"},kind:{type:"ModalKind",default:"informational"},onBlur:{type:"() => void"},onClose:{type:"() => void"},onFocus:{type:"() => void"},size:{type:"ModalSize",default:"sm"},title:{type:"string"}}});function Eo(e){let[t,o]=xt(e.isOpen,e.defaultOpen||!1,e.onOpenChange);const n=m.useCallback(()=>{o(!0)},[o]),r=m.useCallback(()=>{o(!1)},[o]),l=m.useCallback(()=>{o(!t)},[o,t]);return{isOpen:t,setOpen:o,open:n,close:r,toggle:l}}function Mo(e={}){const t=Eo(e),o=m.useRef(null),{triggerProps:n,overlayProps:r}=Zt({type:"dialog"},t,o),{onPress:l,...a}=n;return{triggerProps:{...a,onClick:l,ref:o},modalState:t,modalProps:{overlayProps:r,state:t}}}const _o={Modals:{description:()=>u.createElement("p",null,"Modals are overlays on a page that focus a user’s attention on an important message or a simple action. Examples of a Modal include confirming the deletion of a record, or making a single selection."),components:[pe],examples:{general:{label:"Usage",description:({NavigateTo:e})=>u.createElement(u.Fragment,null,u.createElement("h5",null,"Use a Modal:"),u.createElement("ul",null,u.createElement("li",null,"When the user needs to confirm a basic decision, such as deleting a record."),u.createElement("li",null,"When important information needs to be displayed to the user before continuing."),u.createElement("li",null,"When a simple selection, such as a single form input, is required before proceeding.")),u.createElement("h5",null,"Avoid a Modal:"),u.createElement("ul",null,u.createElement("li",null,"When a complex form is required. Use a ",u.createElement(e,{to:"focused-task"},"Focused Task View")," instead."),u.createElement("li",null,"When sharing non-critical or tertiary information. Use a ",u.createElement(e,{to:"growlers"},"Growler")," instead.")))},implementation:{label:"Close Button",description:()=>u.createElement(u.Fragment,null,u.createElement("h5",null,"Close Button and Modal dismissiability"),u.createElement("p",null,"Remove the Close Button in the upper right of the Modal if the user must choose the course of action before proceeding."),u.createElement("p",null,"The close button is included by default and omitted when the prop ",u.createElement("code",null,"dismissable")," is set to ",u.createElement("strong",null,"false"),"."),u.createElement("p",null,"Setting the ",u.createElement("code",null,"dismissable")," prop to false also prevents dismissing the modal by clicking outside of the modal or by using the"," ",u.createElement("strong",null,"escape")," key.")),examples:{basic:{react:v.code`
|
|
2
2
|
import { Modal, ModalFooter, useModal } from "@sps-woodland/modal";
|
|
3
3
|
import { sprinkles } from "@sps-woodland/tokens";
|
|
4
4
|
import { Button } from "@sps-woodland/buttons";
|
package/lib/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.pkg_sps-
|
|
1
|
+
.pkg_sps-woodland_modal__version_8_22_1__hash_3moto20{background-color:#fff;border-style:solid;border-width:.0625rem;border-radius:.25rem;display:flex;flex-direction:column;overflow:hidden;max-height:100%}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto21{border-color:#027db8}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto22,.pkg_sps-woodland_modal__version_8_22_1__hash_3moto23{border-color:#de012e}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto24{border-color:#0b8940}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto25,.pkg_sps-woodland_modal__version_8_22_1__hash_3moto26{border-color:#e77609}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto27{border-color:#4b5356}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto28{width:23.75rem}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto29{width:36.25rem}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto2a{width:48.75rem}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto2b{width:73.75rem}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto2c{height:100%}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto2e{align-items:center;color:#fff;display:flex;padding:1rem}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto2f{background-color:#4b5356}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto2g,.pkg_sps-woodland_modal__version_8_22_1__hash_3moto2h{background-color:#de012e}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto2i{background-color:#027db8}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto2j{background-color:#0b8940}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto2k,.pkg_sps-woodland_modal__version_8_22_1__hash_3moto2l{background-color:#e77609}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto2m{flex-grow:1;font-size:.875rem;font-weight:600;line-height:1.25rem}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto2n{font-weight:600;line-height:.875rem;font-size:.875rem;padding-right:.5rem}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto2o{overflow-y:auto;padding:1rem;flex:1}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto2p{align-items:center;background-color:#f3f4f4;display:flex;justify-content:flex-end;padding:.5rem}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto2q{color:#fff;border-width:0}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto2r{padding:0 .25rem}.pkg_sps-woodland_modal__version_8_22_1__hash_3moto2s{position:fixed;z-index:1000;top:0;left:0;bottom:0;right:0;background:#f3f4f4cc;display:flex;align-items:start;justify-content:center;padding:4rem 1rem 1rem}.z-stratum-dropdown{z-index:1100}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sps-woodland/modal",
|
|
3
3
|
"description": "SPS Woodland Design System modal component",
|
|
4
|
-
"version": "8.22.
|
|
4
|
+
"version": "8.22.1",
|
|
5
5
|
"author": "SPS Commerce",
|
|
6
6
|
"license": "UNLICENSED",
|
|
7
7
|
"repository": "https://github.com/SPSCommerce/woodland/tree/main/packages/@sps-woodland/modal",
|
|
@@ -29,9 +29,9 @@
|
|
|
29
29
|
"@spscommerce/utils": "^7.0.0",
|
|
30
30
|
"react": "^16.9.0",
|
|
31
31
|
"react-dom": "^16.9.0",
|
|
32
|
-
"@sps-woodland/buttons": "8.22.
|
|
33
|
-
"@sps-woodland/core": "8.22.
|
|
34
|
-
"@sps-woodland/tokens": "8.22.
|
|
32
|
+
"@sps-woodland/buttons": "8.22.1",
|
|
33
|
+
"@sps-woodland/core": "8.22.1",
|
|
34
|
+
"@sps-woodland/tokens": "8.22.1"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@spscommerce/utils": "^7.0.0",
|
|
@@ -42,9 +42,9 @@
|
|
|
42
42
|
"@vanilla-extract/vite-plugin": "^3.6.0",
|
|
43
43
|
"react": "^16.9.0",
|
|
44
44
|
"react-dom": "^16.9.0",
|
|
45
|
-
"@sps-woodland/buttons": "8.22.
|
|
46
|
-
"@sps-woodland/core": "8.22.
|
|
47
|
-
"@sps-woodland/tokens": "8.22.
|
|
45
|
+
"@sps-woodland/buttons": "8.22.1",
|
|
46
|
+
"@sps-woodland/core": "8.22.1",
|
|
47
|
+
"@sps-woodland/tokens": "8.22.1"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"react-aria": "^3.21.0",
|