@overmap-ai/blocks 0.0.1-alpha.29 → 0.0.1-alpha.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Theme/DefaultTheme.d.ts +4 -0
- package/dist/blocks.js +49 -49
- package/dist/blocks.js.map +1 -1
- package/dist/blocks.umd.cjs +2 -2
- package/dist/blocks.umd.cjs.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Theme } from "@radix-ui/themes";
|
|
2
|
+
import { ComponentProps } from "react";
|
|
3
|
+
export type ThemeProps = ComponentProps<typeof Theme>;
|
|
4
|
+
export declare const DefaultTheme: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("react").RefAttributes<HTMLDivElement>>>;
|
package/dist/blocks.js
CHANGED
|
@@ -13,8 +13,8 @@ const se = "_fluid_r73gr_1", ce = "_hoverSpin90Clockwise_r73gr_15", le = "_hover
|
|
|
13
13
|
hoverSpin180Clockwise: le,
|
|
14
14
|
hoverSpin360Clockwise: ae
|
|
15
15
|
};
|
|
16
|
-
function ue(
|
|
17
|
-
return
|
|
16
|
+
function ue(i) {
|
|
17
|
+
return i && i.__esModule && Object.prototype.hasOwnProperty.call(i, "default") ? i.default : i;
|
|
18
18
|
}
|
|
19
19
|
var q = { exports: {} };
|
|
20
20
|
/*!
|
|
@@ -22,12 +22,12 @@ var q = { exports: {} };
|
|
|
22
22
|
Licensed under the MIT License (MIT), see
|
|
23
23
|
http://jedwatson.github.io/classnames
|
|
24
24
|
*/
|
|
25
|
-
(function(
|
|
25
|
+
(function(i) {
|
|
26
26
|
(function() {
|
|
27
27
|
var r = {}.hasOwnProperty;
|
|
28
28
|
function t() {
|
|
29
|
-
for (var n = [],
|
|
30
|
-
var e = arguments[
|
|
29
|
+
for (var n = [], s = 0; s < arguments.length; s++) {
|
|
30
|
+
var e = arguments[s];
|
|
31
31
|
if (e) {
|
|
32
32
|
var c = typeof e;
|
|
33
33
|
if (c === "string" || c === "number")
|
|
@@ -49,7 +49,7 @@ var q = { exports: {} };
|
|
|
49
49
|
}
|
|
50
50
|
return n.join(" ");
|
|
51
51
|
}
|
|
52
|
-
|
|
52
|
+
i.exports ? (t.default = t, i.exports = t) : window.classNames = t;
|
|
53
53
|
})();
|
|
54
54
|
})(q);
|
|
55
55
|
var pe = q.exports;
|
|
@@ -58,27 +58,27 @@ const y = /* @__PURE__ */ ue(pe), K = {
|
|
|
58
58
|
spin180Clockwise: I.hoverSpin180Clockwise,
|
|
59
59
|
spin360Clockwise: I.hoverSpin360Clockwise
|
|
60
60
|
};
|
|
61
|
-
function P(
|
|
62
|
-
if (typeof
|
|
63
|
-
if (!("initial" in
|
|
61
|
+
function P(i, r) {
|
|
62
|
+
if (typeof i == "object") {
|
|
63
|
+
if (!("initial" in i))
|
|
64
64
|
throw new Error("Expected initial property to be set in Responsive object");
|
|
65
|
-
return Object.fromEntries(Object.entries(
|
|
65
|
+
return Object.fromEntries(Object.entries(i).map(([t, n]) => [t, r[n]]));
|
|
66
66
|
} else
|
|
67
|
-
return r[
|
|
67
|
+
return r[i];
|
|
68
68
|
}
|
|
69
69
|
const de = {
|
|
70
70
|
success: "green",
|
|
71
71
|
danger: "red",
|
|
72
72
|
info: "gray"
|
|
73
|
-
}, A = (
|
|
73
|
+
}, A = (i) => {
|
|
74
74
|
const r = Y();
|
|
75
|
-
return
|
|
75
|
+
return i === "primary" ? r.accentColor : de[i];
|
|
76
76
|
}, z = {
|
|
77
77
|
small: "1",
|
|
78
78
|
medium: "2",
|
|
79
79
|
large: "3"
|
|
80
|
-
}, me = S(function({ className: r, fluid: t, size: n = "medium", severity:
|
|
81
|
-
const p = A(
|
|
80
|
+
}, me = S(function({ className: r, fluid: t, size: n = "medium", severity: s = "primary", hoverEffects: e, type: c = "button", ...a }, l) {
|
|
81
|
+
const p = A(s), d = (e == null ? void 0 : e.map((u) => K[u])) || [];
|
|
82
82
|
return /* @__PURE__ */ o(
|
|
83
83
|
Z,
|
|
84
84
|
{
|
|
@@ -96,12 +96,12 @@ const de = {
|
|
|
96
96
|
className: r,
|
|
97
97
|
children: t,
|
|
98
98
|
size: n = "medium",
|
|
99
|
-
severity:
|
|
99
|
+
severity: s = "primary",
|
|
100
100
|
hoverEffects: e,
|
|
101
101
|
type: c = "button",
|
|
102
102
|
...a
|
|
103
103
|
}, l) {
|
|
104
|
-
const p = A(
|
|
104
|
+
const p = A(s), d = (e == null ? void 0 : e.map((u) => K[u])) || [];
|
|
105
105
|
return /* @__PURE__ */ o(
|
|
106
106
|
F,
|
|
107
107
|
{
|
|
@@ -123,7 +123,7 @@ const de = {
|
|
|
123
123
|
className: r,
|
|
124
124
|
merged: t = !1,
|
|
125
125
|
children: n,
|
|
126
|
-
gap:
|
|
126
|
+
gap: s = "2",
|
|
127
127
|
direction: e = "row",
|
|
128
128
|
severity: c = "primary",
|
|
129
129
|
size: a = "medium",
|
|
@@ -138,7 +138,7 @@ const de = {
|
|
|
138
138
|
[ge.merged]: t
|
|
139
139
|
}),
|
|
140
140
|
ref: u,
|
|
141
|
-
gap: t ? l === "ghost" ? P(a, Ce[e]) : "0" :
|
|
141
|
+
gap: t ? l === "ghost" ? P(a, Ce[e]) : "0" : s,
|
|
142
142
|
direction: e,
|
|
143
143
|
"data-direction": e,
|
|
144
144
|
...d,
|
|
@@ -146,7 +146,7 @@ const de = {
|
|
|
146
146
|
}
|
|
147
147
|
);
|
|
148
148
|
}), we = w(ve), _e = w(function(r) {
|
|
149
|
-
const { title: t, description: n, content:
|
|
149
|
+
const { title: t, description: n, content: s, closeDialog: e } = r;
|
|
150
150
|
return /* @__PURE__ */ f(v, { direction: "column", gap: "2", children: [
|
|
151
151
|
/* @__PURE__ */ f(v, { direction: "column", gap: "1", children: [
|
|
152
152
|
/* @__PURE__ */ f(v, { justify: "between", children: [
|
|
@@ -155,18 +155,18 @@ const de = {
|
|
|
155
155
|
] }),
|
|
156
156
|
/* @__PURE__ */ o(b.Description, { children: n })
|
|
157
157
|
] }),
|
|
158
|
-
|
|
158
|
+
s(e)
|
|
159
159
|
] });
|
|
160
160
|
}), Ke = w(function(r) {
|
|
161
|
-
const { children: t, size: n, onOpen:
|
|
161
|
+
const { children: t, size: n, onOpen: s, onCloseInterrupt: e, ...c } = r, [a, l] = j(!1), p = C(
|
|
162
162
|
(u) => {
|
|
163
|
-
if (u &&
|
|
164
|
-
|
|
163
|
+
if (u && s)
|
|
164
|
+
s();
|
|
165
165
|
else if (!u && e)
|
|
166
166
|
return e(() => l(!1));
|
|
167
167
|
l(u);
|
|
168
168
|
},
|
|
169
|
-
[
|
|
169
|
+
[s, e]
|
|
170
170
|
), d = C(
|
|
171
171
|
(u) => {
|
|
172
172
|
if (u != null && u.force)
|
|
@@ -179,34 +179,34 @@ const de = {
|
|
|
179
179
|
/* @__PURE__ */ o(b.Content, { size: n, children: /* @__PURE__ */ o(_e, { closeDialog: d, ...c }) }),
|
|
180
180
|
t(b.Trigger)
|
|
181
181
|
] });
|
|
182
|
-
}), Q = (
|
|
183
|
-
const { title: r, description: t, actionText: n = "Confirm", cancelText:
|
|
182
|
+
}), Q = (i) => /* @__PURE__ */ o(x.Title, { mb: "0", ...i }), Te = (i) => {
|
|
183
|
+
const { title: r, description: t, actionText: n = "Confirm", cancelText: s = "Cancel", onAction: e, onCancel: c, severity: a } = i;
|
|
184
184
|
return /* @__PURE__ */ f(v, { direction: "column", gap: "2", children: [
|
|
185
185
|
/* @__PURE__ */ f(v, { direction: "column", gap: "1", children: [
|
|
186
186
|
/* @__PURE__ */ o(Q, { children: r }),
|
|
187
187
|
/* @__PURE__ */ o(x.Description, { children: t })
|
|
188
188
|
] }),
|
|
189
189
|
/* @__PURE__ */ f(v, { gap: "3", mt: "4", justify: "end", children: [
|
|
190
|
-
/* @__PURE__ */ o(x.Cancel, { children: /* @__PURE__ */ o(G, { variant: "soft", severity: "info", onClick: c, children:
|
|
190
|
+
/* @__PURE__ */ o(x.Cancel, { children: /* @__PURE__ */ o(G, { variant: "soft", severity: "info", onClick: c, children: s }) }),
|
|
191
191
|
/* @__PURE__ */ o(x.Action, { children: /* @__PURE__ */ o(G, { variant: "solid", severity: a, onClick: e, children: n }) })
|
|
192
192
|
] })
|
|
193
193
|
] });
|
|
194
194
|
}, ye = w(function(r) {
|
|
195
|
-
const { open: t, setOpen: n, children:
|
|
195
|
+
const { open: t, setOpen: n, children: s, ...e } = r, c = M(() => ({
|
|
196
196
|
close: () => n(!1),
|
|
197
197
|
Title: Q,
|
|
198
198
|
Description: x.Description
|
|
199
199
|
}), [n]);
|
|
200
200
|
return /* @__PURE__ */ f(x.Root, { open: t, onOpenChange: n, children: [
|
|
201
201
|
/* @__PURE__ */ o(x.Content, { children: "content" in e ? e.content(c) : /* @__PURE__ */ o(Te, { ...e }) }),
|
|
202
|
-
|
|
202
|
+
s
|
|
203
203
|
] });
|
|
204
204
|
}), J = V(() => {
|
|
205
205
|
throw new Error("No AlertDialogProvider found");
|
|
206
206
|
}), Se = {
|
|
207
207
|
content: () => null
|
|
208
208
|
}, Qe = w(function({ children: r }) {
|
|
209
|
-
const [t, n] = j(!1), [
|
|
209
|
+
const [t, n] = j(!1), [s, e] = j(Se), c = C(
|
|
210
210
|
(a) => {
|
|
211
211
|
if (t)
|
|
212
212
|
throw new Error("AlertDialog is already open");
|
|
@@ -214,14 +214,14 @@ const de = {
|
|
|
214
214
|
},
|
|
215
215
|
[t]
|
|
216
216
|
);
|
|
217
|
-
return /* @__PURE__ */ o(ye, { open: t, setOpen: n, ...
|
|
217
|
+
return /* @__PURE__ */ o(ye, { open: t, setOpen: n, ...s, children: /* @__PURE__ */ o(J.Provider, { value: c, children: r }) });
|
|
218
218
|
}), Je = () => ne(J), xe = "_fluid_7n1wr_1", De = {
|
|
219
219
|
fluid: xe
|
|
220
220
|
}, be = S(function({
|
|
221
221
|
className: r,
|
|
222
222
|
fluid: t,
|
|
223
223
|
size: n = "medium",
|
|
224
|
-
variant:
|
|
224
|
+
variant: s = "surface",
|
|
225
225
|
severity: e = "primary",
|
|
226
226
|
placeholder: c = "Select",
|
|
227
227
|
side: a,
|
|
@@ -237,7 +237,7 @@ const de = {
|
|
|
237
237
|
[De.fluid]: t
|
|
238
238
|
}),
|
|
239
239
|
ref: u,
|
|
240
|
-
variant:
|
|
240
|
+
variant: s,
|
|
241
241
|
placeholder: c,
|
|
242
242
|
color: _
|
|
243
243
|
}
|
|
@@ -246,7 +246,7 @@ const de = {
|
|
|
246
246
|
{
|
|
247
247
|
side: a,
|
|
248
248
|
position: "popper",
|
|
249
|
-
variant:
|
|
249
|
+
variant: s !== "surface" ? "soft" : "solid",
|
|
250
250
|
color: _,
|
|
251
251
|
children: l.map(({ label: g, value: h, ...T }) => /* @__PURE__ */ o(B.Item, { value: h, ...T, children: g }, h))
|
|
252
252
|
}
|
|
@@ -261,14 +261,14 @@ const de = {
|
|
|
261
261
|
className: r,
|
|
262
262
|
leftIcon: t,
|
|
263
263
|
rightIcon: n,
|
|
264
|
-
size:
|
|
264
|
+
size: s = "medium",
|
|
265
265
|
showInputLength: e,
|
|
266
266
|
value: c,
|
|
267
267
|
variant: a,
|
|
268
268
|
severity: l = "primary",
|
|
269
269
|
...p
|
|
270
270
|
}, d) {
|
|
271
|
-
const u = M(() => P(
|
|
271
|
+
const u = M(() => P(s, z), [s]), m = A(l), _ = e || e === void 0 && p.maxLength !== void 0, g = c !== void 0 ? c.toString() : void 0;
|
|
272
272
|
return /* @__PURE__ */ f(
|
|
273
273
|
N.Root,
|
|
274
274
|
{
|
|
@@ -299,16 +299,16 @@ const de = {
|
|
|
299
299
|
]
|
|
300
300
|
}
|
|
301
301
|
);
|
|
302
|
-
}), We = R.memo(Ae), Be = S(function({ defaultOpen: r = !1, modal: t = !1, content: n, children:
|
|
302
|
+
}), We = R.memo(Ae), Be = S(function({ defaultOpen: r = !1, modal: t = !1, content: n, children: s, ...e }, c) {
|
|
303
303
|
return /* @__PURE__ */ f($.Root, { defaultOpen: r, modal: t, children: [
|
|
304
|
-
/* @__PURE__ */ o($.Trigger, { children:
|
|
304
|
+
/* @__PURE__ */ o($.Trigger, { children: s }),
|
|
305
305
|
/* @__PURE__ */ o($.Content, { ref: c, ...e, children: n($.Close) })
|
|
306
306
|
] });
|
|
307
307
|
}), Xe = R.memo(Be), Ne = S(function({
|
|
308
308
|
className: r,
|
|
309
309
|
items: t,
|
|
310
310
|
orientation: n = "horizontal",
|
|
311
|
-
merged:
|
|
311
|
+
merged: s = !0,
|
|
312
312
|
value: e,
|
|
313
313
|
severity: c,
|
|
314
314
|
gap: a,
|
|
@@ -328,7 +328,7 @@ const de = {
|
|
|
328
328
|
{
|
|
329
329
|
width: "min-content",
|
|
330
330
|
height: "min-content",
|
|
331
|
-
merged:
|
|
331
|
+
merged: s,
|
|
332
332
|
direction: n === "vertical" ? "column" : "row",
|
|
333
333
|
gap: a,
|
|
334
334
|
children: t.map(({ children: u, ...m }) => /* @__PURE__ */ H(ie, { asChild: !0, ...m, key: m.value }, /* @__PURE__ */ o(
|
|
@@ -349,8 +349,8 @@ const de = {
|
|
|
349
349
|
}), Ye = w(Ne), $e = "_wrapper_o13vb_1", Oe = "_slideRight_o13vb_1", E = {
|
|
350
350
|
wrapper: $e,
|
|
351
351
|
slideRight: Oe
|
|
352
|
-
}, je = S(function({ title: r, description: t, icon: n, severity:
|
|
353
|
-
const p = A(
|
|
352
|
+
}, je = S(function({ title: r, description: t, icon: n, severity: s = "primary", size: e, onClose: c, ...a }, l) {
|
|
353
|
+
const p = A(s), d = C(
|
|
354
354
|
(u) => {
|
|
355
355
|
!u && c && c();
|
|
356
356
|
},
|
|
@@ -378,7 +378,7 @@ const de = {
|
|
|
378
378
|
"aria-label": "Close",
|
|
379
379
|
variant: "ghost",
|
|
380
380
|
size: "small",
|
|
381
|
-
severity:
|
|
381
|
+
severity: s,
|
|
382
382
|
children: /* @__PURE__ */ o(X, {})
|
|
383
383
|
}
|
|
384
384
|
) })
|
|
@@ -396,7 +396,7 @@ const de = {
|
|
|
396
396
|
viewportClass: t,
|
|
397
397
|
hotkey: n,
|
|
398
398
|
// Default duration value for all Toasts
|
|
399
|
-
duration:
|
|
399
|
+
duration: s = 1e4,
|
|
400
400
|
...e
|
|
401
401
|
}) {
|
|
402
402
|
const [c, a] = j([]), l = C((h) => {
|
|
@@ -434,15 +434,15 @@ const de = {
|
|
|
434
434
|
showError: u,
|
|
435
435
|
showInfo: m
|
|
436
436
|
};
|
|
437
|
-
return /* @__PURE__ */ o(Le.Provider, { value: g, children: /* @__PURE__ */ f(ze, { duration:
|
|
437
|
+
return /* @__PURE__ */ o(Le.Provider, { value: g, children: /* @__PURE__ */ f(ze, { duration: s, ...e, children: [
|
|
438
438
|
/* @__PURE__ */ o(Me, { className: t, hotkey: n }),
|
|
439
439
|
c.map((h, T) => /* @__PURE__ */ o(Ge, { ...h, onClose: () => _(T) }, T)),
|
|
440
440
|
r
|
|
441
441
|
] }) });
|
|
442
442
|
});
|
|
443
|
-
const eo = w(
|
|
444
|
-
|
|
445
|
-
|
|
443
|
+
const eo = w(
|
|
444
|
+
S((i, r) => /* @__PURE__ */ o(oe, { panelBackground: "solid", ref: r, ...i }))
|
|
445
|
+
);
|
|
446
446
|
export {
|
|
447
447
|
io as AccessibleIcon,
|
|
448
448
|
ye as AlertDialog,
|
package/dist/blocks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks.js","sources":["../node_modules/classnames/index.js","../src/Buttons/constants.ts","../src/utils.ts","../src/constants.ts","../src/Buttons/Button.tsx","../src/Buttons/IconButton.tsx","../src/ButtonGroup/ButtonGroup.tsx","../src/Dialogs/Dialog/DialogContent.tsx","../src/Dialogs/Dialog/Dialog.tsx","../src/Dialogs/AlertDialog/AlertDialogContent.tsx","../src/Dialogs/AlertDialog/AlertDialog.tsx","../src/Dialogs/AlertDialog/context.tsx","../src/Dialogs/AlertDialog/hooks.ts","../src/Select/Select.tsx","../src/Input/Input.tsx","../src/Popover/Popover.tsx","../src/ToggleGroup/ToggleGroup.tsx","../src/Toast/Toast.tsx","../src/Toast/ToastContext.tsx","../src/Theme/DefaultTheme.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { ButtonHoverEffect } from \"./typings.ts\"\nimport styles from \"./Button.module.sass\"\n\nexport const hoverEffectClassNameMapping: Record<ButtonHoverEffect, string | undefined> = {\n\tspin90Clockwise: styles.hoverSpin90Clockwise,\n\tspin180Clockwise: styles.hoverSpin180Clockwise,\n\tspin360Clockwise: styles.hoverSpin360Clockwise,\n}\n","import { Responsive, useThemeContext } from \"@radix-ui/themes\"\nimport { ThemeProps } from \"Theme\"\nimport { Severity } from \"typings\"\n\n// applyResponsiveMapping is a helper function used to map the keys of a Radix Responsive type that can be understood\n// by a Radix component or primitive. The point of this is to leverage our own custom prop names and values while still\n// using Radix's built in Responsiveness functionality.\n/**\n * Returns an object with mapped key values or a single mapped value\n * @param value an object or string\n * @param mapping a Record mapping the object values of param value\n */\nexport function applyResponsiveMapping<T extends string, K>(value: Responsive<T>, mapping: Record<T, K>) {\n\tif (typeof value === \"object\") {\n\t\tif (!(\"initial\" in value)) {\n\t\t\t// Responsive objects require an 'initial' property to be set that acts as a default\n\t\t\tthrow new Error(\"Expected initial property to be set in Responsive object\")\n\t\t}\n\t\treturn Object.fromEntries(Object.entries(value).map(([key, _value]) => [key, mapping[_value]]))\n\t} else {\n\t\treturn mapping[value]\n\t}\n}\n\nconst nonThemeSeverityMapping = {\n\tsuccess: \"green\",\n\tdanger: \"red\",\n\tinfo: \"gray\",\n} as const\n\nexport type AccentColor = NonNullable<ThemeProps[\"accentColor\"]>\n\n/** Performs theme-sensitive mapping of a severity to radix color */\nexport const useSeverityColor = (severity: Severity): AccentColor => {\n\tconst theme = useThemeContext()\n\tif (severity === \"primary\") return theme.accentColor\n\n\treturn nonThemeSeverityMapping[severity]\n}\n","import { Size } from \"./typings.ts\"\n\n// Mappings\nexport const SizeMapping: Record<Size, \"1\" | \"2\" | \"3\"> = {\n\tsmall: \"1\",\n\tmedium: \"2\",\n\tlarge: \"3\",\n}\n","import React, { FC, forwardRef } from \"react\"\nimport { ButtonProps } from \"./typings.ts\"\nimport styles from \"./Button.module.sass\"\nimport classNames from \"classnames\"\nimport { Button as RadixButton } from \"@radix-ui/themes\"\nimport { hoverEffectClassNameMapping } from \"./constants.ts\"\nimport { applyResponsiveMapping, useSeverityColor } from \"../utils.ts\"\nimport { SizeMapping } from \"../constants.ts\"\n\nconst _Button = forwardRef(function Button(\n\t{ className, fluid, size = \"medium\", severity = \"primary\", hoverEffects, type = \"button\", ...rest }: ButtonProps,\n\tref: React.Ref<HTMLButtonElement>,\n) {\n\tconst color = useSeverityColor(severity)\n\tconst hoverEffectClasses =\n\t\thoverEffects?.map((hoverEffect) => {\n\t\t\treturn hoverEffectClassNameMapping[hoverEffect]\n\t\t}) || []\n\n\treturn (\n\t\t<RadixButton\n\t\t\tref={ref}\n\t\t\tclassName={classNames(className, hoverEffectClasses, {\n\t\t\t\t[styles.fluid!]: fluid,\n\t\t\t})}\n\t\t\tcolor={color}\n\t\t\tsize={applyResponsiveMapping(size, SizeMapping)}\n\t\t\ttype={type}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\n\n// using FC so storybook correctly displays the component props\nconst Button: FC<ButtonProps> = React.memo(_Button)\n\nexport default Button\n","import React, { FC, forwardRef } from \"react\"\nimport { ButtonProps } from \"./typings.ts\"\nimport classNames from \"classnames\"\nimport { IconButton as RadixIconButton } from \"@radix-ui/themes\"\nimport { hoverEffectClassNameMapping } from \"./constants.ts\"\nimport { applyResponsiveMapping, useSeverityColor } from \"../utils.ts\"\nimport { SizeMapping } from \"../constants.ts\"\n\nimport styles from \"./Button.module.sass\"\n\ninterface IconButtonProps extends Omit<ButtonProps, \"fluid\"> {\n\t\"aria-label\": string\n}\n\nconst _Button = forwardRef(function Button(\n\t{\n\t\tclassName,\n\t\tchildren,\n\t\tsize = \"medium\",\n\t\tseverity = \"primary\",\n\t\thoverEffects,\n\t\ttype = \"button\",\n\t\t...rest\n\t}: IconButtonProps,\n\tref: React.Ref<HTMLButtonElement>,\n) {\n\tconst color = useSeverityColor(severity)\n\tconst hoverEffectClasses =\n\t\thoverEffects?.map((hoverEffect) => {\n\t\t\treturn hoverEffectClassNameMapping[hoverEffect]\n\t\t}) || []\n\n\treturn (\n\t\t<RadixIconButton\n\t\t\tclassName={classNames(className, hoverEffectClasses, styles.default)}\n\t\t\tref={ref}\n\t\t\tcolor={color}\n\t\t\tsize={applyResponsiveMapping(size, SizeMapping)}\n\t\t\ttype={type}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</RadixIconButton>\n\t)\n})\n\n// using FC so storybook correctly displays the component props\n/** The `IconButton` is a `Button` variant specifically designed for single icons. */\nconst IconButton: FC<IconButtonProps> = React.memo(_Button)\n\nexport default IconButton\n","import { FC, forwardRef, memo, Ref, cloneElement } from \"react\"\nimport { Flex } from \"@radix-ui/themes\"\nimport classNames from \"classnames\"\nimport { ButtonGroupProps } from \"./typings.ts\"\n\nimport styles from \"./ButtonGroup.module.sass\"\nimport { Size } from \"../typings.ts\"\nimport { applyResponsiveMapping } from \"../utils.ts\"\nimport { Button, IconButton } from \"../Buttons\"\n\nconst GhostVariantSizeToGapMapping: Record<\"row\" | \"column\", Record<Size, ButtonGroupProps[\"gap\"]>> = {\n\trow: { small: \"4\", medium: \"4\", large: \"5\" },\n\tcolumn: { small: \"2\", medium: \"3\", large: \"4\" },\n}\n\nconst _ButtonGroup = forwardRef(function ButtonGroup(\n\t{\n\t\tclassName,\n\t\tmerged = false,\n\t\tchildren,\n\t\tgap = \"2\",\n\t\tdirection = \"row\",\n\t\tseverity = \"primary\",\n\t\tsize = \"medium\",\n\t\tvariant = \"solid\",\n\t\thoverEffects,\n\t\t...rest\n\t}: ButtonGroupProps,\n\tref: Ref<HTMLDivElement>,\n) {\n\treturn (\n\t\t<Flex\n\t\t\tclassName={classNames(\"overmap-button-group\", className, {\n\t\t\t\t[styles.merged!]: merged,\n\t\t\t})}\n\t\t\tref={ref}\n\t\t\tgap={\n\t\t\t\tmerged\n\t\t\t\t\t? variant === \"ghost\"\n\t\t\t\t\t\t? applyResponsiveMapping(size, GhostVariantSizeToGapMapping[direction])\n\t\t\t\t\t\t: \"0\"\n\t\t\t\t\t: gap\n\t\t\t}\n\t\t\tdirection={direction}\n\t\t\tdata-direction={direction}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children.map((child, index) => {\n\t\t\t\tif (child.type === Button || child.type === IconButton) {\n\t\t\t\t\treturn cloneElement(child, { key: index, size, severity, variant, hoverEffects })\n\t\t\t\t} else {\n\t\t\t\t\treturn child\n\t\t\t\t}\n\t\t\t})}\n\t\t</Flex>\n\t)\n})\n\n/** The ButtonGroup Component is a user interface element that groups multiple buttons together for improved user\n * interaction and visual clarity. It is commonly used to present related actions or options in a compact and organized\n * manner. The ButtonGroup supports all props of the RadixUI Flex layout component besides MarginProps,\n * further documentation for the Flex layout component can be found here https://www.radix-ui.com/themes/docs/components/flex */\nexport const ButtonGroup: FC<ButtonGroupProps> = memo(_ButtonGroup)\n","import { memo } from \"react\"\nimport { Dialog, Flex, IconButton } from \"@radix-ui/themes\"\nimport { Cross1Icon } from \"@radix-ui/react-icons\"\nimport { DialogContentProps } from \"./typings\"\n\nexport const DialogContent = memo(function DialogContent(props: DialogContentProps) {\n\tconst { title, description, content, closeDialog } = props\n\treturn (\n\t\t<Flex direction=\"column\" gap=\"2\">\n\t\t\t<Flex direction=\"column\" gap=\"1\">\n\t\t\t\t<Flex justify=\"between\">\n\t\t\t\t\t<Dialog.Title mb=\"0\">{title}</Dialog.Title>\n\t\t\t\t\t<Dialog.Close>\n\t\t\t\t\t\t<IconButton color=\"gray\" variant=\"ghost\" aria-label=\"Close\">\n\t\t\t\t\t\t\t<Cross1Icon />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t</Dialog.Close>\n\t\t\t\t</Flex>\n\t\t\t\t<Dialog.Description>{description}</Dialog.Description>\n\t\t\t</Flex>\n\t\t\t{content(closeDialog)}\n\t\t</Flex>\n\t)\n})\n","import { memo, useState, useCallback } from \"react\"\nimport { Dialog as RadixDialog } from \"@radix-ui/themes\"\nimport { DialogContent } from \"./DialogContent\"\nimport { CloseDialogWithOptions, DialogProps } from \"./typings\"\n\n/**\n * Display or collect information in a modal. Unlike the `AlertDialog`, the `Dialog`'s can be nested\n * and close when clicking outside of the dialog content.\n */\nexport const Dialog = memo(function Dialog(props: DialogProps) {\n\tconst { children, size, onOpen, onCloseInterrupt, ...contentProps } = props\n\tconst [open, setOpen] = useState(false)\n\n\tconst handleOpenChange = useCallback(\n\t\t(next: boolean) => {\n\t\t\tif (next && onOpen) {\n\t\t\t\tonOpen()\n\t\t\t} else if (!next && onCloseInterrupt) {\n\t\t\t\t// closes the dialog, bypassing the checks in `handleOpenChange`\n\t\t\t\tconst confirmClose = () => setOpen(false)\n\n\t\t\t\t// if onCloseInterrupt is passed, bypass the standard close behavior and require\n\t\t\t\t// the passed `confirmClose` to close the dialog\n\t\t\t\treturn onCloseInterrupt(confirmClose)\n\t\t\t}\n\n\t\t\tsetOpen(next)\n\t\t},\n\t\t[onOpen, onCloseInterrupt],\n\t)\n\n\tconst closeDialog = useCallback<CloseDialogWithOptions>(\n\t\t(options) => {\n\t\t\tif (options?.force) {\n\t\t\t\t// bypass the checks in the `handleOpenChange` function\n\t\t\t\treturn setOpen(false)\n\t\t\t}\n\n\t\t\thandleOpenChange(false)\n\t\t},\n\t\t[handleOpenChange],\n\t)\n\n\treturn (\n\t\t<RadixDialog.Root open={open} onOpenChange={handleOpenChange}>\n\t\t\t<RadixDialog.Content size={size}>\n\t\t\t\t<DialogContent closeDialog={closeDialog} {...contentProps} />\n\t\t\t</RadixDialog.Content>\n\n\t\t\t{children(RadixDialog.Trigger)}\n\t\t</RadixDialog.Root>\n\t)\n})\n","import { AlertDialog, Flex } from \"@radix-ui/themes\"\nimport { AlertDialogStandardContent } from \"./typings\"\nimport { Button } from \"../../Buttons\"\n\n// remove the margin-bottom from the title so that Flex works as expected\nexport const Title: typeof AlertDialog.Title = ((props) => (\n\t<AlertDialog.Title mb=\"0\" {...props} />\n)) as typeof AlertDialog.Title\n\nexport const AlertDialogContent = (props: AlertDialogStandardContent) => {\n\tconst { title, description, actionText = \"Confirm\", cancelText = \"Cancel\", onAction, onCancel, severity } = props\n\treturn (\n\t\t<Flex direction=\"column\" gap=\"2\">\n\t\t\t<Flex direction=\"column\" gap=\"1\">\n\t\t\t\t<Title>{title}</Title>\n\t\t\t\t<AlertDialog.Description>{description}</AlertDialog.Description>\n\t\t\t</Flex>\n\n\t\t\t<Flex gap=\"3\" mt=\"4\" justify=\"end\">\n\t\t\t\t<AlertDialog.Cancel>\n\t\t\t\t\t<Button variant=\"soft\" severity=\"info\" onClick={onCancel}>\n\t\t\t\t\t\t{cancelText}\n\t\t\t\t\t</Button>\n\t\t\t\t</AlertDialog.Cancel>\n\t\t\t\t<AlertDialog.Action>\n\t\t\t\t\t<Button variant=\"solid\" severity={severity} onClick={onAction}>\n\t\t\t\t\t\t{actionText}\n\t\t\t\t\t</Button>\n\t\t\t\t</AlertDialog.Action>\n\t\t\t</Flex>\n\t\t</Flex>\n\t)\n}\n","import { memo, useMemo } from \"react\"\nimport { AlertDialog as RadixAlertDialog } from \"@radix-ui/themes\"\nimport { AlertDialogContentHelpers, AlertDialogProps } from \"./typings\"\nimport { AlertDialogContent, Title } from \"./AlertDialogContent\"\n\n/**\n * The AlertDialog is used to confirm an action or prompt the user for a decision.\n * Unlike the Dialog, the AlertDialog is not dismissible by clicking outside of the dialog, nor can it be nested.\n *\n * To use, place the `AlertDialogProvider` at the root of your app and use the `useAlertDialog` hook to open the dialog.\n *\n * To set the content of the dialog, use the `content` prop or pass values for the `title`, `description`, and `onAction` props.\n */\nexport const AlertDialog = memo(function AlertDialog(props: AlertDialogProps) {\n\tconst { open, setOpen, children, ...contentProps } = props\n\n\tconst helpers: AlertDialogContentHelpers = useMemo(() => {\n\t\treturn {\n\t\t\tclose: () => setOpen(false),\n\t\t\tTitle,\n\t\t\tDescription: RadixAlertDialog.Description,\n\t\t}\n\t}, [setOpen])\n\n\treturn (\n\t\t<RadixAlertDialog.Root open={open} onOpenChange={setOpen}>\n\t\t\t<RadixAlertDialog.Content>\n\t\t\t\t{\"content\" in contentProps ? contentProps.content(helpers) : <AlertDialogContent {...contentProps} />}\n\t\t\t</RadixAlertDialog.Content>\n\t\t\t{children}\n\t\t</RadixAlertDialog.Root>\n\t)\n})\n","import { createContext, memo, useState, useCallback } from \"react\"\nimport { AlertDialogContextType, AlertDialogOptions } from \"./typings\"\nimport { AlertDialog } from \"./AlertDialog\"\n\ninterface AlertDialogProviderProps {\n\tchildren: React.ReactNode\n}\n\nexport const AlertDialogContent = createContext<AlertDialogContextType>(() => {\n\tthrow new Error(\"No AlertDialogProvider found\")\n})\n\nconst initialState: AlertDialogOptions = {\n\tcontent: () => null,\n}\n\nexport const AlertDialogProvider = memo(function AlertDialogProvider({ children }: AlertDialogProviderProps) {\n\tconst [open, setOpen] = useState(false)\n\tconst [state, setState] = useState<AlertDialogOptions>(initialState)\n\n\tconst openDialog = useCallback<AlertDialogContextType>(\n\t\t(options) => {\n\t\t\tif (open) throw new Error(\"AlertDialog is already open\")\n\n\t\t\tsetState(options)\n\t\t\tsetOpen(true)\n\t\t},\n\t\t[open],\n\t)\n\n\treturn (\n\t\t<AlertDialog open={open} setOpen={setOpen} {...state}>\n\t\t\t<AlertDialogContent.Provider value={openDialog}>{children}</AlertDialogContent.Provider>\n\t\t</AlertDialog>\n\t)\n})\n","import { useContext } from \"react\"\nimport { AlertDialogContent } from \"./context\"\n\nexport const useAlertDialog = () => {\n\treturn useContext(AlertDialogContent)\n}\n","import React, { FC, forwardRef, useMemo } from \"react\"\nimport { Select as RadixSelect } from \"@radix-ui/themes\"\nimport classNames from \"classnames\"\nimport { applyResponsiveMapping, useSeverityColor } from \"../utils.ts\"\nimport { SizeMapping } from \"../constants.ts\"\nimport { SelectItemProps, SelectProps } from \"./typings.ts\"\n\nimport styles from \"./Select.module.sass\"\n\nconst _Select = forwardRef(function Select(\n\t{\n\t\tclassName,\n\t\tfluid,\n\t\tsize = \"medium\",\n\t\tvariant = \"surface\",\n\t\tseverity = \"primary\",\n\t\tplaceholder = \"Select\",\n\t\tside,\n\t\titems = [],\n\t\tvalue,\n\t\t...rest\n\t}: SelectProps,\n\tref: React.Ref<HTMLButtonElement>,\n) {\n\tconst mappedSize = useMemo(() => {\n\t\treturn applyResponsiveMapping(size, SizeMapping)\n\t}, [size])\n\tconst color = useSeverityColor(severity)\n\n\t// TODO: extend functionality to support grouping of items\n\t// TODO: remove key change based on value once placeholder issue it fixed in radix-ui/themes\n\treturn (\n\t\t<RadixSelect.Root size={mappedSize} {...rest} key={value === undefined ? 1 : 0} value={value}>\n\t\t\t<RadixSelect.Trigger\n\t\t\t\tclassName={classNames(className, {\n\t\t\t\t\t[styles.fluid!]: fluid,\n\t\t\t\t})}\n\t\t\t\tref={ref}\n\t\t\t\tvariant={variant}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tcolor={color}\n\t\t\t/>\n\t\t\t<RadixSelect.Content\n\t\t\t\tside={side}\n\t\t\t\tposition=\"popper\"\n\t\t\t\tvariant={variant !== \"surface\" ? \"soft\" : \"solid\"}\n\t\t\t\tcolor={color}\n\t\t\t>\n\t\t\t\t{items.map(({ label, value, ...rest }: SelectItemProps) => (\n\t\t\t\t\t<RadixSelect.Item key={value} value={value} {...rest}>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</RadixSelect.Item>\n\t\t\t\t))}\n\t\t\t</RadixSelect.Content>\n\t\t</RadixSelect.Root>\n\t)\n})\nexport const Select: FC<SelectProps> = React.memo(_Select)\n","import React, { FC, forwardRef, useMemo } from \"react\"\nimport { Text, TextField as RadixTextField } from \"@radix-ui/themes\"\nimport classNames from \"classnames\"\nimport { applyResponsiveMapping, useSeverityColor } from \"../utils.ts\"\nimport { SizeMapping } from \"../constants.ts\"\nimport { InputProps } from \"./typings.ts\"\n\nimport styles from \"./Input.module.sass\"\n\nconst _Input = forwardRef(function Input(\n\t{\n\t\tclassName,\n\t\tleftIcon,\n\t\trightIcon,\n\t\tsize = \"medium\",\n\t\tshowInputLength,\n\t\tvalue,\n\t\tvariant,\n\t\tseverity = \"primary\",\n\t\t...rest\n\t}: InputProps,\n\tref: React.Ref<HTMLInputElement>,\n) {\n\tconst computedSize = useMemo(() => {\n\t\treturn applyResponsiveMapping(size, SizeMapping)\n\t}, [size])\n\n\tconst color = useSeverityColor(severity)\n\n\tconst displayInputLength = showInputLength || (showInputLength === undefined && rest.maxLength !== undefined)\n\tconst valueAsString = value !== undefined ? value.toString() : undefined\n\n\treturn (\n\t\t<RadixTextField.Root\n\t\t\tclassName={classNames({\n\t\t\t\t[styles.accommodateCharCount!]: displayInputLength,\n\t\t\t})}\n\t\t\tsize={computedSize}\n\t\t\tvariant={variant}\n\t\t\tcolor={color}\n\t\t>\n\t\t\t<RadixTextField.Slot>{leftIcon}</RadixTextField.Slot>\n\t\t\t<RadixTextField.Input\n\t\t\t\tclassName={classNames(styles.default, className, {\n\t\t\t\t\t[styles.noLeftIcon!]: !leftIcon,\n\t\t\t\t\t[styles.noRightIcon!]: !rightIcon,\n\t\t\t\t})}\n\t\t\t\tref={ref}\n\t\t\t\tsize={computedSize}\n\t\t\t\tvariant={variant}\n\t\t\t\tcolor={color}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t\t<RadixTextField.Slot>{rightIcon}</RadixTextField.Slot>\n\t\t\t{displayInputLength && (\n\t\t\t\t<Text as=\"p\" className={styles.charCount} size=\"1\" color=\"gray\">\n\t\t\t\t\t{rest.maxLength !== undefined\n\t\t\t\t\t\t? `${valueAsString?.length}/${rest.maxLength}`\n\t\t\t\t\t\t: `${valueAsString?.length}`}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</RadixTextField.Root>\n\t)\n})\nexport const Input: FC<InputProps> = React.memo(_Input)\n","import React, { forwardRef, FC } from \"react\"\nimport { Popover as RadixPopover } from \"@radix-ui/themes\"\nimport { PopoverProps } from \"./typings.ts\"\n\nconst _Popover = forwardRef(function Popover(\n\t{ defaultOpen = false, modal = false, content, children, ...rest }: PopoverProps,\n\tref: React.Ref<HTMLDivElement>,\n) {\n\treturn (\n\t\t<RadixPopover.Root defaultOpen={defaultOpen} modal={modal}>\n\t\t\t<RadixPopover.Trigger>{children}</RadixPopover.Trigger>\n\t\t\t<RadixPopover.Content ref={ref} {...rest}>\n\t\t\t\t{content(RadixPopover.Close)}\n\t\t\t</RadixPopover.Content>\n\t\t</RadixPopover.Root>\n\t)\n})\nexport const Popover: FC<PopoverProps> = React.memo(_Popover)\n","import { FC, forwardRef, memo, Ref } from \"react\"\nimport { Item, Root } from \"@radix-ui/react-toggle-group\"\nimport { ToggleGroupItemProps, ToggleGroupSingleProps } from \"./typings.ts\"\nimport { IconButton } from \"../Buttons\"\nimport classNames from \"classnames\"\nimport { ButtonGroup } from \"../ButtonGroup\"\n\nconst _ToggleGroup = forwardRef(function ToggleGroup(\n\t{\n\t\tclassName,\n\t\titems,\n\t\torientation = \"horizontal\",\n\t\tmerged = true,\n\t\tvalue,\n\t\tseverity,\n\t\tgap,\n\t\tsize,\n\t\t...rest\n\t}: ToggleGroupSingleProps,\n\tref: Ref<HTMLDivElement>,\n) {\n\treturn (\n\t\t<Root\n\t\t\tclassName={classNames(\"overmap-toggle-group\", className)}\n\t\t\tref={ref}\n\t\t\tvalue={value}\n\t\t\torientation={orientation}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<ButtonGroup\n\t\t\t\twidth=\"min-content\"\n\t\t\t\theight=\"min-content\"\n\t\t\t\tmerged={merged}\n\t\t\t\tdirection={orientation === \"vertical\" ? \"column\" : \"row\"}\n\t\t\t\tgap={gap}\n\t\t\t>\n\t\t\t\t{items.map(({ children, ...rest }: ToggleGroupItemProps) => (\n\t\t\t\t\t<Item asChild {...rest} key={rest.value}>\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tclassName={classNames(\"overmap-toggle-group-button\")}\n\t\t\t\t\t\t\taria-label={rest.value}\n\t\t\t\t\t\t\tseverity={severity}\n\t\t\t\t\t\t\tvariant={rest.value === value ? \"solid\" : \"soft\"}\n\t\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t</Item>\n\t\t\t\t))}\n\t\t\t</ButtonGroup>\n\t\t</Root>\n\t)\n})\n\n/** The Toggle Group Component is a user interface element that allows users to select a single option from a set of\n * mutually exclusive choices. It is commonly used in situations where users need to make a single selection from a\n * predefined list of options. This component is built using the ButtonGroup and IconButton components in combination\n * with the Radix Toggle Group primitive found here https://www.radix-ui.com/primitives/docs/components/toggle-group */\nexport const ToggleGroup: FC<ToggleGroupSingleProps> = memo(_ToggleGroup)\n","import { FC, forwardRef, memo, Ref, useCallback } from \"react\"\nimport * as RadixToast from \"@radix-ui/react-toast\"\nimport { Callout, Flex } from \"@radix-ui/themes\"\nimport { Cross2Icon, InfoCircledIcon } from \"@radix-ui/react-icons\"\nimport classNames from \"classnames\"\nimport { IconButton } from \"../Buttons\"\nimport { ToastProps, ToastProviderProps } from \"./typings.ts\"\nimport { useSeverityColor } from \"../utils.ts\"\n\nimport styles from \"./Toast.module.sass\"\n\nconst _Toast = forwardRef(function Toast(\n\t{ title, description, icon, severity = \"primary\", size, onClose, ...rest }: ToastProps,\n\tref: Ref<HTMLLIElement>,\n) {\n\tconst color = useSeverityColor(severity)\n\tconst handleOpenChange = useCallback(\n\t\t(open: boolean) => {\n\t\t\tif (!open && onClose) onClose()\n\t\t},\n\t\t[onClose],\n\t)\n\n\treturn (\n\t\t<RadixToast.Root asChild ref={ref} {...rest} onOpenChange={handleOpenChange}>\n\t\t\t<Callout.Root\n\t\t\t\tclassName={classNames(\"overmap-toast\", styles.wrapper)}\n\t\t\t\tvariant=\"surface\"\n\t\t\t\tcolor={color}\n\t\t\t\tsize={size}\n\t\t\t>\n\t\t\t\t<Flex width=\"100%\" align=\"center\" gap=\"4\" justify=\"between\">\n\t\t\t\t\t<Flex align=\"center\" gap=\"4\">\n\t\t\t\t\t\t<Callout.Icon>{icon || <InfoCircledIcon />}</Callout.Icon>\n\t\t\t\t\t\t<Flex direction=\"column\" gap=\"0\">\n\t\t\t\t\t\t\t<RadixToast.Title asChild>\n\t\t\t\t\t\t\t\t<Callout.Text weight=\"bold\">{title}</Callout.Text>\n\t\t\t\t\t\t\t</RadixToast.Title>\n\t\t\t\t\t\t\t<RadixToast.Description asChild>\n\t\t\t\t\t\t\t\t<Callout.Text weight=\"light\">{description}</Callout.Text>\n\t\t\t\t\t\t\t</RadixToast.Description>\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t</Flex>\n\t\t\t\t\t<RadixToast.Close asChild>\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tclassName={styles.closeButton}\n\t\t\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tseverity={severity}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Cross2Icon />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t</RadixToast.Close>\n\t\t\t\t</Flex>\n\t\t\t</Callout.Root>\n\t\t</RadixToast.Root>\n\t)\n})\n\nexport const ToastProvider: FC<ToastProviderProps> = memo(function ToastProvider({\n\tchildren,\n\t...rest\n}: ToastProviderProps) {\n\treturn (\n\t\t<RadixToast.Provider swipeDirection=\"right\" swipeThreshold={75} {...rest}>\n\t\t\t{children}\n\t\t</RadixToast.Provider>\n\t)\n})\n\nexport const Toast: FC<ToastProps> = memo(_Toast)\nexport const ToastViewport: FC<RadixToast.ToastViewportProps> = RadixToast.Viewport\n","import { memo, createContext, useState, useCallback, FC } from \"react\"\nimport { IToastContext, SimpleToastMessage, ToastContextProviderProps, ToastProps } from \"./typings.ts\"\nimport { Toast, ToastProvider, ToastViewport } from \"./Toast.tsx\"\n\nexport const ToastContext = createContext({} as IToastContext)\n\nexport const ToastContextProvider: FC<ToastContextProviderProps> = memo(function ToastContextProvider({\n\tchildren,\n\t// Use this class to change where the viewport for the toasts should be\n\tviewportClass,\n\thotkey,\n\t// Default duration value for all Toasts\n\tduration = 10000,\n\t...rest\n}: ToastContextProviderProps) {\n\tconst [toasts, setToasts] = useState<ToastProps[]>([])\n\n\tconst showToast = useCallback((toastProps: ToastProps) => {\n\t\tsetToasts((prevToasts) => [...prevToasts, toastProps])\n\t}, [])\n\n\tconst showPrimary = useCallback(\n\t\t(simpleMessage: SimpleToastMessage) => {\n\t\t\tshowToast({ severity: \"primary\", ...simpleMessage })\n\t\t},\n\t\t[showToast],\n\t)\n\n\tconst showSuccess = useCallback(\n\t\t(simpleMessage: SimpleToastMessage) => {\n\t\t\tshowToast({ severity: \"success\", ...simpleMessage })\n\t\t},\n\t\t[showToast],\n\t)\n\n\tconst showError = useCallback(\n\t\t(simpleMessage: SimpleToastMessage) => {\n\t\t\tshowToast({ severity: \"danger\", ...simpleMessage })\n\t\t},\n\t\t[showToast],\n\t)\n\n\tconst showInfo = useCallback(\n\t\t(simpleMessage: SimpleToastMessage) => {\n\t\t\tshowToast({ severity: \"info\", ...simpleMessage })\n\t\t},\n\t\t[showToast],\n\t)\n\n\tconst deleteToastAtIndex = useCallback(\n\t\t(index: number) => {\n\t\t\tconst tempToasts = [...toasts]\n\t\t\ttempToasts.splice(index, 1)\n\t\t\tsetToasts(() => tempToasts)\n\t\t},\n\t\t[toasts],\n\t)\n\n\tconst toastContextValue = {\n\t\tshowToast,\n\t\tshowPrimary,\n\t\tshowSuccess,\n\t\tshowError,\n\t\tshowInfo,\n\t}\n\n\treturn (\n\t\t<ToastContext.Provider value={toastContextValue}>\n\t\t\t<ToastProvider duration={duration} {...rest}>\n\t\t\t\t<ToastViewport className={viewportClass} hotkey={hotkey} />\n\t\t\t\t{toasts.map((toastProps, index) => (\n\t\t\t\t\t<Toast key={index} {...toastProps} onClose={() => deleteToastAtIndex(index)} />\n\t\t\t\t))}\n\t\t\t\t{children}\n\t\t\t</ToastProvider>\n\t\t</ToastContext.Provider>\n\t)\n})\n","import { Theme } from \"@radix-ui/themes\"\nimport { ComponentProps, memo } from \"react\"\n// css file contains updates to the default radix tokens\nimport \"./DefaultTheme.css\"\n\nexport type ThemeProps = ComponentProps<typeof Theme>\n\nexport const DefaultTheme = memo(function DefaultTheme(props: ThemeProps) {\n\treturn <Theme panelBackground=\"solid\" {...props} />\n})\n"],"names":["hasOwn","classNames","classes","arg","argType","inner","key","module","hoverEffectClassNameMapping","styles","applyResponsiveMapping","value","mapping","_value","nonThemeSeverityMapping","useSeverityColor","severity","theme","useThemeContext","SizeMapping","_Button","forwardRef","className","fluid","size","hoverEffects","type","rest","ref","color","hoverEffectClasses","hoverEffect","jsx","RadixButton","Button","React","children","RadixIconButton","IconButton","GhostVariantSizeToGapMapping","_ButtonGroup","merged","gap","direction","variant","Flex","child","index","cloneElement","ButtonGroup","memo","DialogContent","props","title","description","content","closeDialog","jsxs","Dialog","Cross1Icon","onOpen","onCloseInterrupt","contentProps","open","setOpen","useState","handleOpenChange","useCallback","next","options","RadixDialog","Title","AlertDialog","AlertDialogContent","actionText","cancelText","onAction","onCancel","helpers","useMemo","RadixAlertDialog","createContext","initialState","AlertDialogProvider","state","setState","openDialog","useAlertDialog","useContext","_Select","placeholder","side","items","mappedSize","createElement","RadixSelect","label","Select","_Input","leftIcon","rightIcon","showInputLength","computedSize","displayInputLength","valueAsString","RadixTextField","Text","Input","_Popover","defaultOpen","modal","RadixPopover","Popover","_ToggleGroup","orientation","Root","Item","ToggleGroup","_Toast","icon","onClose","RadixToast","Callout","InfoCircledIcon","Cross2Icon","ToastProvider","Toast","ToastViewport","ToastContext","ToastContextProvider","viewportClass","hotkey","duration","toasts","setToasts","showToast","toastProps","prevToasts","showPrimary","simpleMessage","showSuccess","showError","showInfo","deleteToastAtIndex","tempToasts","toastContextValue","DefaultTheme","Theme"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"blocks.js","sources":["../node_modules/classnames/index.js","../src/Buttons/constants.ts","../src/utils.ts","../src/constants.ts","../src/Buttons/Button.tsx","../src/Buttons/IconButton.tsx","../src/ButtonGroup/ButtonGroup.tsx","../src/Dialogs/Dialog/DialogContent.tsx","../src/Dialogs/Dialog/Dialog.tsx","../src/Dialogs/AlertDialog/AlertDialogContent.tsx","../src/Dialogs/AlertDialog/AlertDialog.tsx","../src/Dialogs/AlertDialog/context.tsx","../src/Dialogs/AlertDialog/hooks.ts","../src/Select/Select.tsx","../src/Input/Input.tsx","../src/Popover/Popover.tsx","../src/ToggleGroup/ToggleGroup.tsx","../src/Toast/Toast.tsx","../src/Toast/ToastContext.tsx","../src/Theme/DefaultTheme.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { ButtonHoverEffect } from \"./typings.ts\"\nimport styles from \"./Button.module.sass\"\n\nexport const hoverEffectClassNameMapping: Record<ButtonHoverEffect, string | undefined> = {\n\tspin90Clockwise: styles.hoverSpin90Clockwise,\n\tspin180Clockwise: styles.hoverSpin180Clockwise,\n\tspin360Clockwise: styles.hoverSpin360Clockwise,\n}\n","import { Responsive, useThemeContext } from \"@radix-ui/themes\"\nimport { ThemeProps } from \"Theme\"\nimport { Severity } from \"typings\"\n\n// applyResponsiveMapping is a helper function used to map the keys of a Radix Responsive type that can be understood\n// by a Radix component or primitive. The point of this is to leverage our own custom prop names and values while still\n// using Radix's built in Responsiveness functionality.\n/**\n * Returns an object with mapped key values or a single mapped value\n * @param value an object or string\n * @param mapping a Record mapping the object values of param value\n */\nexport function applyResponsiveMapping<T extends string, K>(value: Responsive<T>, mapping: Record<T, K>) {\n\tif (typeof value === \"object\") {\n\t\tif (!(\"initial\" in value)) {\n\t\t\t// Responsive objects require an 'initial' property to be set that acts as a default\n\t\t\tthrow new Error(\"Expected initial property to be set in Responsive object\")\n\t\t}\n\t\treturn Object.fromEntries(Object.entries(value).map(([key, _value]) => [key, mapping[_value]]))\n\t} else {\n\t\treturn mapping[value]\n\t}\n}\n\nconst nonThemeSeverityMapping = {\n\tsuccess: \"green\",\n\tdanger: \"red\",\n\tinfo: \"gray\",\n} as const\n\nexport type AccentColor = NonNullable<ThemeProps[\"accentColor\"]>\n\n/** Performs theme-sensitive mapping of a severity to radix color */\nexport const useSeverityColor = (severity: Severity): AccentColor => {\n\tconst theme = useThemeContext()\n\tif (severity === \"primary\") return theme.accentColor\n\n\treturn nonThemeSeverityMapping[severity]\n}\n","import { Size } from \"./typings.ts\"\n\n// Mappings\nexport const SizeMapping: Record<Size, \"1\" | \"2\" | \"3\"> = {\n\tsmall: \"1\",\n\tmedium: \"2\",\n\tlarge: \"3\",\n}\n","import React, { FC, forwardRef } from \"react\"\nimport { ButtonProps } from \"./typings.ts\"\nimport styles from \"./Button.module.sass\"\nimport classNames from \"classnames\"\nimport { Button as RadixButton } from \"@radix-ui/themes\"\nimport { hoverEffectClassNameMapping } from \"./constants.ts\"\nimport { applyResponsiveMapping, useSeverityColor } from \"../utils.ts\"\nimport { SizeMapping } from \"../constants.ts\"\n\nconst _Button = forwardRef(function Button(\n\t{ className, fluid, size = \"medium\", severity = \"primary\", hoverEffects, type = \"button\", ...rest }: ButtonProps,\n\tref: React.Ref<HTMLButtonElement>,\n) {\n\tconst color = useSeverityColor(severity)\n\tconst hoverEffectClasses =\n\t\thoverEffects?.map((hoverEffect) => {\n\t\t\treturn hoverEffectClassNameMapping[hoverEffect]\n\t\t}) || []\n\n\treturn (\n\t\t<RadixButton\n\t\t\tref={ref}\n\t\t\tclassName={classNames(className, hoverEffectClasses, {\n\t\t\t\t[styles.fluid!]: fluid,\n\t\t\t})}\n\t\t\tcolor={color}\n\t\t\tsize={applyResponsiveMapping(size, SizeMapping)}\n\t\t\ttype={type}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\n\n// using FC so storybook correctly displays the component props\nconst Button: FC<ButtonProps> = React.memo(_Button)\n\nexport default Button\n","import React, { FC, forwardRef } from \"react\"\nimport { ButtonProps } from \"./typings.ts\"\nimport classNames from \"classnames\"\nimport { IconButton as RadixIconButton } from \"@radix-ui/themes\"\nimport { hoverEffectClassNameMapping } from \"./constants.ts\"\nimport { applyResponsiveMapping, useSeverityColor } from \"../utils.ts\"\nimport { SizeMapping } from \"../constants.ts\"\n\nimport styles from \"./Button.module.sass\"\n\ninterface IconButtonProps extends Omit<ButtonProps, \"fluid\"> {\n\t\"aria-label\": string\n}\n\nconst _Button = forwardRef(function Button(\n\t{\n\t\tclassName,\n\t\tchildren,\n\t\tsize = \"medium\",\n\t\tseverity = \"primary\",\n\t\thoverEffects,\n\t\ttype = \"button\",\n\t\t...rest\n\t}: IconButtonProps,\n\tref: React.Ref<HTMLButtonElement>,\n) {\n\tconst color = useSeverityColor(severity)\n\tconst hoverEffectClasses =\n\t\thoverEffects?.map((hoverEffect) => {\n\t\t\treturn hoverEffectClassNameMapping[hoverEffect]\n\t\t}) || []\n\n\treturn (\n\t\t<RadixIconButton\n\t\t\tclassName={classNames(className, hoverEffectClasses, styles.default)}\n\t\t\tref={ref}\n\t\t\tcolor={color}\n\t\t\tsize={applyResponsiveMapping(size, SizeMapping)}\n\t\t\ttype={type}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</RadixIconButton>\n\t)\n})\n\n// using FC so storybook correctly displays the component props\n/** The `IconButton` is a `Button` variant specifically designed for single icons. */\nconst IconButton: FC<IconButtonProps> = React.memo(_Button)\n\nexport default IconButton\n","import { FC, forwardRef, memo, Ref, cloneElement } from \"react\"\nimport { Flex } from \"@radix-ui/themes\"\nimport classNames from \"classnames\"\nimport { ButtonGroupProps } from \"./typings.ts\"\n\nimport styles from \"./ButtonGroup.module.sass\"\nimport { Size } from \"../typings.ts\"\nimport { applyResponsiveMapping } from \"../utils.ts\"\nimport { Button, IconButton } from \"../Buttons\"\n\nconst GhostVariantSizeToGapMapping: Record<\"row\" | \"column\", Record<Size, ButtonGroupProps[\"gap\"]>> = {\n\trow: { small: \"4\", medium: \"4\", large: \"5\" },\n\tcolumn: { small: \"2\", medium: \"3\", large: \"4\" },\n}\n\nconst _ButtonGroup = forwardRef(function ButtonGroup(\n\t{\n\t\tclassName,\n\t\tmerged = false,\n\t\tchildren,\n\t\tgap = \"2\",\n\t\tdirection = \"row\",\n\t\tseverity = \"primary\",\n\t\tsize = \"medium\",\n\t\tvariant = \"solid\",\n\t\thoverEffects,\n\t\t...rest\n\t}: ButtonGroupProps,\n\tref: Ref<HTMLDivElement>,\n) {\n\treturn (\n\t\t<Flex\n\t\t\tclassName={classNames(\"overmap-button-group\", className, {\n\t\t\t\t[styles.merged!]: merged,\n\t\t\t})}\n\t\t\tref={ref}\n\t\t\tgap={\n\t\t\t\tmerged\n\t\t\t\t\t? variant === \"ghost\"\n\t\t\t\t\t\t? applyResponsiveMapping(size, GhostVariantSizeToGapMapping[direction])\n\t\t\t\t\t\t: \"0\"\n\t\t\t\t\t: gap\n\t\t\t}\n\t\t\tdirection={direction}\n\t\t\tdata-direction={direction}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children.map((child, index) => {\n\t\t\t\tif (child.type === Button || child.type === IconButton) {\n\t\t\t\t\treturn cloneElement(child, { key: index, size, severity, variant, hoverEffects })\n\t\t\t\t} else {\n\t\t\t\t\treturn child\n\t\t\t\t}\n\t\t\t})}\n\t\t</Flex>\n\t)\n})\n\n/** The ButtonGroup Component is a user interface element that groups multiple buttons together for improved user\n * interaction and visual clarity. It is commonly used to present related actions or options in a compact and organized\n * manner. The ButtonGroup supports all props of the RadixUI Flex layout component besides MarginProps,\n * further documentation for the Flex layout component can be found here https://www.radix-ui.com/themes/docs/components/flex */\nexport const ButtonGroup: FC<ButtonGroupProps> = memo(_ButtonGroup)\n","import { memo } from \"react\"\nimport { Dialog, Flex, IconButton } from \"@radix-ui/themes\"\nimport { Cross1Icon } from \"@radix-ui/react-icons\"\nimport { DialogContentProps } from \"./typings\"\n\nexport const DialogContent = memo(function DialogContent(props: DialogContentProps) {\n\tconst { title, description, content, closeDialog } = props\n\treturn (\n\t\t<Flex direction=\"column\" gap=\"2\">\n\t\t\t<Flex direction=\"column\" gap=\"1\">\n\t\t\t\t<Flex justify=\"between\">\n\t\t\t\t\t<Dialog.Title mb=\"0\">{title}</Dialog.Title>\n\t\t\t\t\t<Dialog.Close>\n\t\t\t\t\t\t<IconButton color=\"gray\" variant=\"ghost\" aria-label=\"Close\">\n\t\t\t\t\t\t\t<Cross1Icon />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t</Dialog.Close>\n\t\t\t\t</Flex>\n\t\t\t\t<Dialog.Description>{description}</Dialog.Description>\n\t\t\t</Flex>\n\t\t\t{content(closeDialog)}\n\t\t</Flex>\n\t)\n})\n","import { memo, useState, useCallback } from \"react\"\nimport { Dialog as RadixDialog } from \"@radix-ui/themes\"\nimport { DialogContent } from \"./DialogContent\"\nimport { CloseDialogWithOptions, DialogProps } from \"./typings\"\n\n/**\n * Display or collect information in a modal. Unlike the `AlertDialog`, the `Dialog`'s can be nested\n * and close when clicking outside of the dialog content.\n */\nexport const Dialog = memo(function Dialog(props: DialogProps) {\n\tconst { children, size, onOpen, onCloseInterrupt, ...contentProps } = props\n\tconst [open, setOpen] = useState(false)\n\n\tconst handleOpenChange = useCallback(\n\t\t(next: boolean) => {\n\t\t\tif (next && onOpen) {\n\t\t\t\tonOpen()\n\t\t\t} else if (!next && onCloseInterrupt) {\n\t\t\t\t// closes the dialog, bypassing the checks in `handleOpenChange`\n\t\t\t\tconst confirmClose = () => setOpen(false)\n\n\t\t\t\t// if onCloseInterrupt is passed, bypass the standard close behavior and require\n\t\t\t\t// the passed `confirmClose` to close the dialog\n\t\t\t\treturn onCloseInterrupt(confirmClose)\n\t\t\t}\n\n\t\t\tsetOpen(next)\n\t\t},\n\t\t[onOpen, onCloseInterrupt],\n\t)\n\n\tconst closeDialog = useCallback<CloseDialogWithOptions>(\n\t\t(options) => {\n\t\t\tif (options?.force) {\n\t\t\t\t// bypass the checks in the `handleOpenChange` function\n\t\t\t\treturn setOpen(false)\n\t\t\t}\n\n\t\t\thandleOpenChange(false)\n\t\t},\n\t\t[handleOpenChange],\n\t)\n\n\treturn (\n\t\t<RadixDialog.Root open={open} onOpenChange={handleOpenChange}>\n\t\t\t<RadixDialog.Content size={size}>\n\t\t\t\t<DialogContent closeDialog={closeDialog} {...contentProps} />\n\t\t\t</RadixDialog.Content>\n\n\t\t\t{children(RadixDialog.Trigger)}\n\t\t</RadixDialog.Root>\n\t)\n})\n","import { AlertDialog, Flex } from \"@radix-ui/themes\"\nimport { AlertDialogStandardContent } from \"./typings\"\nimport { Button } from \"../../Buttons\"\n\n// remove the margin-bottom from the title so that Flex works as expected\nexport const Title: typeof AlertDialog.Title = ((props) => (\n\t<AlertDialog.Title mb=\"0\" {...props} />\n)) as typeof AlertDialog.Title\n\nexport const AlertDialogContent = (props: AlertDialogStandardContent) => {\n\tconst { title, description, actionText = \"Confirm\", cancelText = \"Cancel\", onAction, onCancel, severity } = props\n\treturn (\n\t\t<Flex direction=\"column\" gap=\"2\">\n\t\t\t<Flex direction=\"column\" gap=\"1\">\n\t\t\t\t<Title>{title}</Title>\n\t\t\t\t<AlertDialog.Description>{description}</AlertDialog.Description>\n\t\t\t</Flex>\n\n\t\t\t<Flex gap=\"3\" mt=\"4\" justify=\"end\">\n\t\t\t\t<AlertDialog.Cancel>\n\t\t\t\t\t<Button variant=\"soft\" severity=\"info\" onClick={onCancel}>\n\t\t\t\t\t\t{cancelText}\n\t\t\t\t\t</Button>\n\t\t\t\t</AlertDialog.Cancel>\n\t\t\t\t<AlertDialog.Action>\n\t\t\t\t\t<Button variant=\"solid\" severity={severity} onClick={onAction}>\n\t\t\t\t\t\t{actionText}\n\t\t\t\t\t</Button>\n\t\t\t\t</AlertDialog.Action>\n\t\t\t</Flex>\n\t\t</Flex>\n\t)\n}\n","import { memo, useMemo } from \"react\"\nimport { AlertDialog as RadixAlertDialog } from \"@radix-ui/themes\"\nimport { AlertDialogContentHelpers, AlertDialogProps } from \"./typings\"\nimport { AlertDialogContent, Title } from \"./AlertDialogContent\"\n\n/**\n * The AlertDialog is used to confirm an action or prompt the user for a decision.\n * Unlike the Dialog, the AlertDialog is not dismissible by clicking outside of the dialog, nor can it be nested.\n *\n * To use, place the `AlertDialogProvider` at the root of your app and use the `useAlertDialog` hook to open the dialog.\n *\n * To set the content of the dialog, use the `content` prop or pass values for the `title`, `description`, and `onAction` props.\n */\nexport const AlertDialog = memo(function AlertDialog(props: AlertDialogProps) {\n\tconst { open, setOpen, children, ...contentProps } = props\n\n\tconst helpers: AlertDialogContentHelpers = useMemo(() => {\n\t\treturn {\n\t\t\tclose: () => setOpen(false),\n\t\t\tTitle,\n\t\t\tDescription: RadixAlertDialog.Description,\n\t\t}\n\t}, [setOpen])\n\n\treturn (\n\t\t<RadixAlertDialog.Root open={open} onOpenChange={setOpen}>\n\t\t\t<RadixAlertDialog.Content>\n\t\t\t\t{\"content\" in contentProps ? contentProps.content(helpers) : <AlertDialogContent {...contentProps} />}\n\t\t\t</RadixAlertDialog.Content>\n\t\t\t{children}\n\t\t</RadixAlertDialog.Root>\n\t)\n})\n","import { createContext, memo, useState, useCallback } from \"react\"\nimport { AlertDialogContextType, AlertDialogOptions } from \"./typings\"\nimport { AlertDialog } from \"./AlertDialog\"\n\ninterface AlertDialogProviderProps {\n\tchildren: React.ReactNode\n}\n\nexport const AlertDialogContent = createContext<AlertDialogContextType>(() => {\n\tthrow new Error(\"No AlertDialogProvider found\")\n})\n\nconst initialState: AlertDialogOptions = {\n\tcontent: () => null,\n}\n\nexport const AlertDialogProvider = memo(function AlertDialogProvider({ children }: AlertDialogProviderProps) {\n\tconst [open, setOpen] = useState(false)\n\tconst [state, setState] = useState<AlertDialogOptions>(initialState)\n\n\tconst openDialog = useCallback<AlertDialogContextType>(\n\t\t(options) => {\n\t\t\tif (open) throw new Error(\"AlertDialog is already open\")\n\n\t\t\tsetState(options)\n\t\t\tsetOpen(true)\n\t\t},\n\t\t[open],\n\t)\n\n\treturn (\n\t\t<AlertDialog open={open} setOpen={setOpen} {...state}>\n\t\t\t<AlertDialogContent.Provider value={openDialog}>{children}</AlertDialogContent.Provider>\n\t\t</AlertDialog>\n\t)\n})\n","import { useContext } from \"react\"\nimport { AlertDialogContent } from \"./context\"\n\nexport const useAlertDialog = () => {\n\treturn useContext(AlertDialogContent)\n}\n","import React, { FC, forwardRef, useMemo } from \"react\"\nimport { Select as RadixSelect } from \"@radix-ui/themes\"\nimport classNames from \"classnames\"\nimport { applyResponsiveMapping, useSeverityColor } from \"../utils.ts\"\nimport { SizeMapping } from \"../constants.ts\"\nimport { SelectItemProps, SelectProps } from \"./typings.ts\"\n\nimport styles from \"./Select.module.sass\"\n\nconst _Select = forwardRef(function Select(\n\t{\n\t\tclassName,\n\t\tfluid,\n\t\tsize = \"medium\",\n\t\tvariant = \"surface\",\n\t\tseverity = \"primary\",\n\t\tplaceholder = \"Select\",\n\t\tside,\n\t\titems = [],\n\t\tvalue,\n\t\t...rest\n\t}: SelectProps,\n\tref: React.Ref<HTMLButtonElement>,\n) {\n\tconst mappedSize = useMemo(() => {\n\t\treturn applyResponsiveMapping(size, SizeMapping)\n\t}, [size])\n\tconst color = useSeverityColor(severity)\n\n\t// TODO: extend functionality to support grouping of items\n\t// TODO: remove key change based on value once placeholder issue it fixed in radix-ui/themes\n\treturn (\n\t\t<RadixSelect.Root size={mappedSize} {...rest} key={value === undefined ? 1 : 0} value={value}>\n\t\t\t<RadixSelect.Trigger\n\t\t\t\tclassName={classNames(className, {\n\t\t\t\t\t[styles.fluid!]: fluid,\n\t\t\t\t})}\n\t\t\t\tref={ref}\n\t\t\t\tvariant={variant}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tcolor={color}\n\t\t\t/>\n\t\t\t<RadixSelect.Content\n\t\t\t\tside={side}\n\t\t\t\tposition=\"popper\"\n\t\t\t\tvariant={variant !== \"surface\" ? \"soft\" : \"solid\"}\n\t\t\t\tcolor={color}\n\t\t\t>\n\t\t\t\t{items.map(({ label, value, ...rest }: SelectItemProps) => (\n\t\t\t\t\t<RadixSelect.Item key={value} value={value} {...rest}>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</RadixSelect.Item>\n\t\t\t\t))}\n\t\t\t</RadixSelect.Content>\n\t\t</RadixSelect.Root>\n\t)\n})\nexport const Select: FC<SelectProps> = React.memo(_Select)\n","import React, { FC, forwardRef, useMemo } from \"react\"\nimport { Text, TextField as RadixTextField } from \"@radix-ui/themes\"\nimport classNames from \"classnames\"\nimport { applyResponsiveMapping, useSeverityColor } from \"../utils.ts\"\nimport { SizeMapping } from \"../constants.ts\"\nimport { InputProps } from \"./typings.ts\"\n\nimport styles from \"./Input.module.sass\"\n\nconst _Input = forwardRef(function Input(\n\t{\n\t\tclassName,\n\t\tleftIcon,\n\t\trightIcon,\n\t\tsize = \"medium\",\n\t\tshowInputLength,\n\t\tvalue,\n\t\tvariant,\n\t\tseverity = \"primary\",\n\t\t...rest\n\t}: InputProps,\n\tref: React.Ref<HTMLInputElement>,\n) {\n\tconst computedSize = useMemo(() => {\n\t\treturn applyResponsiveMapping(size, SizeMapping)\n\t}, [size])\n\n\tconst color = useSeverityColor(severity)\n\n\tconst displayInputLength = showInputLength || (showInputLength === undefined && rest.maxLength !== undefined)\n\tconst valueAsString = value !== undefined ? value.toString() : undefined\n\n\treturn (\n\t\t<RadixTextField.Root\n\t\t\tclassName={classNames({\n\t\t\t\t[styles.accommodateCharCount!]: displayInputLength,\n\t\t\t})}\n\t\t\tsize={computedSize}\n\t\t\tvariant={variant}\n\t\t\tcolor={color}\n\t\t>\n\t\t\t<RadixTextField.Slot>{leftIcon}</RadixTextField.Slot>\n\t\t\t<RadixTextField.Input\n\t\t\t\tclassName={classNames(styles.default, className, {\n\t\t\t\t\t[styles.noLeftIcon!]: !leftIcon,\n\t\t\t\t\t[styles.noRightIcon!]: !rightIcon,\n\t\t\t\t})}\n\t\t\t\tref={ref}\n\t\t\t\tsize={computedSize}\n\t\t\t\tvariant={variant}\n\t\t\t\tcolor={color}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t\t<RadixTextField.Slot>{rightIcon}</RadixTextField.Slot>\n\t\t\t{displayInputLength && (\n\t\t\t\t<Text as=\"p\" className={styles.charCount} size=\"1\" color=\"gray\">\n\t\t\t\t\t{rest.maxLength !== undefined\n\t\t\t\t\t\t? `${valueAsString?.length}/${rest.maxLength}`\n\t\t\t\t\t\t: `${valueAsString?.length}`}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</RadixTextField.Root>\n\t)\n})\nexport const Input: FC<InputProps> = React.memo(_Input)\n","import React, { forwardRef, FC } from \"react\"\nimport { Popover as RadixPopover } from \"@radix-ui/themes\"\nimport { PopoverProps } from \"./typings.ts\"\n\nconst _Popover = forwardRef(function Popover(\n\t{ defaultOpen = false, modal = false, content, children, ...rest }: PopoverProps,\n\tref: React.Ref<HTMLDivElement>,\n) {\n\treturn (\n\t\t<RadixPopover.Root defaultOpen={defaultOpen} modal={modal}>\n\t\t\t<RadixPopover.Trigger>{children}</RadixPopover.Trigger>\n\t\t\t<RadixPopover.Content ref={ref} {...rest}>\n\t\t\t\t{content(RadixPopover.Close)}\n\t\t\t</RadixPopover.Content>\n\t\t</RadixPopover.Root>\n\t)\n})\nexport const Popover: FC<PopoverProps> = React.memo(_Popover)\n","import { FC, forwardRef, memo, Ref } from \"react\"\nimport { Item, Root } from \"@radix-ui/react-toggle-group\"\nimport { ToggleGroupItemProps, ToggleGroupSingleProps } from \"./typings.ts\"\nimport { IconButton } from \"../Buttons\"\nimport classNames from \"classnames\"\nimport { ButtonGroup } from \"../ButtonGroup\"\n\nconst _ToggleGroup = forwardRef(function ToggleGroup(\n\t{\n\t\tclassName,\n\t\titems,\n\t\torientation = \"horizontal\",\n\t\tmerged = true,\n\t\tvalue,\n\t\tseverity,\n\t\tgap,\n\t\tsize,\n\t\t...rest\n\t}: ToggleGroupSingleProps,\n\tref: Ref<HTMLDivElement>,\n) {\n\treturn (\n\t\t<Root\n\t\t\tclassName={classNames(\"overmap-toggle-group\", className)}\n\t\t\tref={ref}\n\t\t\tvalue={value}\n\t\t\torientation={orientation}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<ButtonGroup\n\t\t\t\twidth=\"min-content\"\n\t\t\t\theight=\"min-content\"\n\t\t\t\tmerged={merged}\n\t\t\t\tdirection={orientation === \"vertical\" ? \"column\" : \"row\"}\n\t\t\t\tgap={gap}\n\t\t\t>\n\t\t\t\t{items.map(({ children, ...rest }: ToggleGroupItemProps) => (\n\t\t\t\t\t<Item asChild {...rest} key={rest.value}>\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tclassName={classNames(\"overmap-toggle-group-button\")}\n\t\t\t\t\t\t\taria-label={rest.value}\n\t\t\t\t\t\t\tseverity={severity}\n\t\t\t\t\t\t\tvariant={rest.value === value ? \"solid\" : \"soft\"}\n\t\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t</Item>\n\t\t\t\t))}\n\t\t\t</ButtonGroup>\n\t\t</Root>\n\t)\n})\n\n/** The Toggle Group Component is a user interface element that allows users to select a single option from a set of\n * mutually exclusive choices. It is commonly used in situations where users need to make a single selection from a\n * predefined list of options. This component is built using the ButtonGroup and IconButton components in combination\n * with the Radix Toggle Group primitive found here https://www.radix-ui.com/primitives/docs/components/toggle-group */\nexport const ToggleGroup: FC<ToggleGroupSingleProps> = memo(_ToggleGroup)\n","import { FC, forwardRef, memo, Ref, useCallback } from \"react\"\nimport * as RadixToast from \"@radix-ui/react-toast\"\nimport { Callout, Flex } from \"@radix-ui/themes\"\nimport { Cross2Icon, InfoCircledIcon } from \"@radix-ui/react-icons\"\nimport classNames from \"classnames\"\nimport { IconButton } from \"../Buttons\"\nimport { ToastProps, ToastProviderProps } from \"./typings.ts\"\nimport { useSeverityColor } from \"../utils.ts\"\n\nimport styles from \"./Toast.module.sass\"\n\nconst _Toast = forwardRef(function Toast(\n\t{ title, description, icon, severity = \"primary\", size, onClose, ...rest }: ToastProps,\n\tref: Ref<HTMLLIElement>,\n) {\n\tconst color = useSeverityColor(severity)\n\tconst handleOpenChange = useCallback(\n\t\t(open: boolean) => {\n\t\t\tif (!open && onClose) onClose()\n\t\t},\n\t\t[onClose],\n\t)\n\n\treturn (\n\t\t<RadixToast.Root asChild ref={ref} {...rest} onOpenChange={handleOpenChange}>\n\t\t\t<Callout.Root\n\t\t\t\tclassName={classNames(\"overmap-toast\", styles.wrapper)}\n\t\t\t\tvariant=\"surface\"\n\t\t\t\tcolor={color}\n\t\t\t\tsize={size}\n\t\t\t>\n\t\t\t\t<Flex width=\"100%\" align=\"center\" gap=\"4\" justify=\"between\">\n\t\t\t\t\t<Flex align=\"center\" gap=\"4\">\n\t\t\t\t\t\t<Callout.Icon>{icon || <InfoCircledIcon />}</Callout.Icon>\n\t\t\t\t\t\t<Flex direction=\"column\" gap=\"0\">\n\t\t\t\t\t\t\t<RadixToast.Title asChild>\n\t\t\t\t\t\t\t\t<Callout.Text weight=\"bold\">{title}</Callout.Text>\n\t\t\t\t\t\t\t</RadixToast.Title>\n\t\t\t\t\t\t\t<RadixToast.Description asChild>\n\t\t\t\t\t\t\t\t<Callout.Text weight=\"light\">{description}</Callout.Text>\n\t\t\t\t\t\t\t</RadixToast.Description>\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t</Flex>\n\t\t\t\t\t<RadixToast.Close asChild>\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tclassName={styles.closeButton}\n\t\t\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tseverity={severity}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Cross2Icon />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t</RadixToast.Close>\n\t\t\t\t</Flex>\n\t\t\t</Callout.Root>\n\t\t</RadixToast.Root>\n\t)\n})\n\nexport const ToastProvider: FC<ToastProviderProps> = memo(function ToastProvider({\n\tchildren,\n\t...rest\n}: ToastProviderProps) {\n\treturn (\n\t\t<RadixToast.Provider swipeDirection=\"right\" swipeThreshold={75} {...rest}>\n\t\t\t{children}\n\t\t</RadixToast.Provider>\n\t)\n})\n\nexport const Toast: FC<ToastProps> = memo(_Toast)\nexport const ToastViewport: FC<RadixToast.ToastViewportProps> = RadixToast.Viewport\n","import { memo, createContext, useState, useCallback, FC } from \"react\"\nimport { IToastContext, SimpleToastMessage, ToastContextProviderProps, ToastProps } from \"./typings.ts\"\nimport { Toast, ToastProvider, ToastViewport } from \"./Toast.tsx\"\n\nexport const ToastContext = createContext({} as IToastContext)\n\nexport const ToastContextProvider: FC<ToastContextProviderProps> = memo(function ToastContextProvider({\n\tchildren,\n\t// Use this class to change where the viewport for the toasts should be\n\tviewportClass,\n\thotkey,\n\t// Default duration value for all Toasts\n\tduration = 10000,\n\t...rest\n}: ToastContextProviderProps) {\n\tconst [toasts, setToasts] = useState<ToastProps[]>([])\n\n\tconst showToast = useCallback((toastProps: ToastProps) => {\n\t\tsetToasts((prevToasts) => [...prevToasts, toastProps])\n\t}, [])\n\n\tconst showPrimary = useCallback(\n\t\t(simpleMessage: SimpleToastMessage) => {\n\t\t\tshowToast({ severity: \"primary\", ...simpleMessage })\n\t\t},\n\t\t[showToast],\n\t)\n\n\tconst showSuccess = useCallback(\n\t\t(simpleMessage: SimpleToastMessage) => {\n\t\t\tshowToast({ severity: \"success\", ...simpleMessage })\n\t\t},\n\t\t[showToast],\n\t)\n\n\tconst showError = useCallback(\n\t\t(simpleMessage: SimpleToastMessage) => {\n\t\t\tshowToast({ severity: \"danger\", ...simpleMessage })\n\t\t},\n\t\t[showToast],\n\t)\n\n\tconst showInfo = useCallback(\n\t\t(simpleMessage: SimpleToastMessage) => {\n\t\t\tshowToast({ severity: \"info\", ...simpleMessage })\n\t\t},\n\t\t[showToast],\n\t)\n\n\tconst deleteToastAtIndex = useCallback(\n\t\t(index: number) => {\n\t\t\tconst tempToasts = [...toasts]\n\t\t\ttempToasts.splice(index, 1)\n\t\t\tsetToasts(() => tempToasts)\n\t\t},\n\t\t[toasts],\n\t)\n\n\tconst toastContextValue = {\n\t\tshowToast,\n\t\tshowPrimary,\n\t\tshowSuccess,\n\t\tshowError,\n\t\tshowInfo,\n\t}\n\n\treturn (\n\t\t<ToastContext.Provider value={toastContextValue}>\n\t\t\t<ToastProvider duration={duration} {...rest}>\n\t\t\t\t<ToastViewport className={viewportClass} hotkey={hotkey} />\n\t\t\t\t{toasts.map((toastProps, index) => (\n\t\t\t\t\t<Toast key={index} {...toastProps} onClose={() => deleteToastAtIndex(index)} />\n\t\t\t\t))}\n\t\t\t\t{children}\n\t\t\t</ToastProvider>\n\t\t</ToastContext.Provider>\n\t)\n})\n","import { Theme } from \"@radix-ui/themes\"\nimport { ComponentProps, forwardRef, memo } from \"react\"\n// css file contains updates to the default radix tokens\nimport \"./DefaultTheme.css\"\n\nexport type ThemeProps = ComponentProps<typeof Theme>\n\nexport const DefaultTheme = memo(\n\tforwardRef<HTMLDivElement>((props: ThemeProps, ref) => {\n\t\treturn <Theme panelBackground=\"solid\" ref={ref} {...props} />\n\t}),\n)\n"],"names":["hasOwn","classNames","classes","i","arg","argType","inner","key","module","hoverEffectClassNameMapping","styles","applyResponsiveMapping","value","mapping","_value","nonThemeSeverityMapping","useSeverityColor","severity","theme","useThemeContext","SizeMapping","_Button","forwardRef","className","fluid","size","hoverEffects","type","rest","ref","color","hoverEffectClasses","hoverEffect","jsx","RadixButton","Button","React","children","RadixIconButton","IconButton","GhostVariantSizeToGapMapping","_ButtonGroup","merged","gap","direction","variant","Flex","child","index","cloneElement","ButtonGroup","memo","DialogContent","props","title","description","content","closeDialog","jsxs","Dialog","Cross1Icon","onOpen","onCloseInterrupt","contentProps","open","setOpen","useState","handleOpenChange","useCallback","next","options","RadixDialog","Title","AlertDialog","AlertDialogContent","actionText","cancelText","onAction","onCancel","helpers","useMemo","RadixAlertDialog","createContext","initialState","AlertDialogProvider","state","setState","openDialog","useAlertDialog","useContext","_Select","placeholder","side","items","mappedSize","createElement","RadixSelect","label","Select","_Input","leftIcon","rightIcon","showInputLength","computedSize","displayInputLength","valueAsString","RadixTextField","Text","Input","_Popover","defaultOpen","modal","RadixPopover","Popover","_ToggleGroup","orientation","Root","Item","ToggleGroup","_Toast","icon","onClose","RadixToast","Callout","InfoCircledIcon","Cross2Icon","ToastProvider","Toast","ToastViewport","ToastContext","ToastContextProvider","viewportClass","hotkey","duration","toasts","setToasts","showToast","toastProps","prevToasts","showPrimary","simpleMessage","showSuccess","showError","showInfo","deleteToastAtIndex","tempToasts","toastContextValue","DefaultTheme","Theme"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/blocks.umd.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
(function(o,j){typeof exports=="object"&&typeof module<"u"?j(exports,require("@radix-ui/colors"),require("@radix-ui/react-icons"),require("@radix-ui/themes"),require("react/jsx-runtime"),require("react"),require("@radix-ui/react-toggle-group"),require("@radix-ui/react-toast")):typeof define=="function"&&define.amd?define(["exports","@radix-ui/colors","@radix-ui/react-icons","@radix-ui/themes","react/jsx-runtime","react","@radix-ui/react-toggle-group","@radix-ui/react-toast"],j):(o=typeof globalThis<"u"?globalThis:o||self,j(o.blocks={},o.colors,o.reactIcons,o.themes,o.jsxRuntime,o.React,o.reactToggleGroup,o.RadixToast))})(this,function(o,j,h,e,r,l,F,x){"use strict";function K(
|
|
1
|
+
(function(o,j){typeof exports=="object"&&typeof module<"u"?j(exports,require("@radix-ui/colors"),require("@radix-ui/react-icons"),require("@radix-ui/themes"),require("react/jsx-runtime"),require("react"),require("@radix-ui/react-toggle-group"),require("@radix-ui/react-toast")):typeof define=="function"&&define.amd?define(["exports","@radix-ui/colors","@radix-ui/react-icons","@radix-ui/themes","react/jsx-runtime","react","@radix-ui/react-toggle-group","@radix-ui/react-toast"],j):(o=typeof globalThis<"u"?globalThis:o||self,j(o.blocks={},o.colors,o.reactIcons,o.themes,o.jsxRuntime,o.React,o.reactToggleGroup,o.RadixToast))})(this,function(o,j,h,e,r,l,F,x){"use strict";function K(n){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const i in n)if(i!=="default"){const c=Object.getOwnPropertyDescriptor(n,i);Object.defineProperty(a,i,c.get?c:{enumerable:!0,get:()=>n[i]})}}return a.default=n,Object.freeze(a)}const T=K(x),S={fluid:"_fluid_r73gr_1",hoverSpin90Clockwise:"_hoverSpin90Clockwise_r73gr_15",hoverSpin180Clockwise:"_hoverSpin180Clockwise_r73gr_25",hoverSpin360Clockwise:"_hoverSpin360Clockwise_r73gr_35"};function Q(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var N={exports:{}};/*!
|
|
2
2
|
Copyright (c) 2018 Jed Watson.
|
|
3
3
|
Licensed under the MIT License (MIT), see
|
|
4
4
|
http://jedwatson.github.io/classnames
|
|
5
|
-
*/(function(t){(function(){var a={}.hasOwnProperty;function i(){for(var c=[],u=0;u<arguments.length;u++){var n=arguments[u];if(n){var d=typeof n;if(d==="string"||d==="number")c.push(n);else if(Array.isArray(n)){if(n.length){var f=i.apply(null,n);f&&c.push(f)}}else if(d==="object"){if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]")){c.push(n.toString());continue}for(var s in n)a.call(n,s)&&n[s]&&c.push(s)}}}return c.join(" ")}t.exports?(i.default=i,t.exports=i):window.classNames=i})()})(N);var J=N.exports;const v=Q(J),M={spin90Clockwise:S.hoverSpin90Clockwise,spin180Clockwise:S.hoverSpin180Clockwise,spin360Clockwise:S.hoverSpin360Clockwise};function m(t,a){if(typeof t=="object"){if(!("initial"in t))throw new Error("Expected initial property to be set in Responsive object");return Object.fromEntries(Object.entries(t).map(([i,c])=>[i,a[c]]))}else return a[t]}const U={success:"green",danger:"red",info:"gray"},_=t=>{const a=e.useThemeContext();return t==="primary"?a.accentColor:U[t]},k={small:"1",medium:"2",large:"3"},W=l.forwardRef(function({className:a,fluid:i,size:c="medium",severity:u="primary",hoverEffects:n,type:d="button",...f},s){const g=_(u),b=(n==null?void 0:n.map(p=>M[p]))||[];return r.jsx(e.Button,{ref:s,className:v(a,b,{[S.fluid]:i}),color:g,size:m(c,k),type:d,...f})}),A=l.memo(W),X=l.forwardRef(function({className:a,children:i,size:c="medium",severity:u="primary",hoverEffects:n,type:d="button",...f},s){const g=_(u),b=(n==null?void 0:n.map(p=>M[p]))||[];return r.jsx(e.IconButton,{className:v(a,b,S.default),ref:s,color:g,size:m(c,k),type:d,...f,children:i})}),I=l.memo(X),Y={merged:"_merged_f4366_1"},Z={row:{small:"4",medium:"4",large:"5"},column:{small:"2",medium:"3",large:"4"}},R=l.forwardRef(function({className:a,merged:i=!1,children:c,gap:u="2",direction:n="row",severity:d="primary",size:f="medium",variant:s="solid",hoverEffects:g,...b},p){return r.jsx(e.Flex,{className:v("overmap-button-group",a,{[Y.merged]:i}),ref:p,gap:i?s==="ghost"?m(f,Z[n]):"0":u,direction:n,"data-direction":n,...b,children:c.map((C,O)=>C.type===A||C.type===I?l.cloneElement(C,{key:O,size:f,severity:d,variant:s,hoverEffects:g}):C)})}),G=l.memo(R),ee=l.memo(function(a){const{title:i,description:c,content:u,closeDialog:n}=a;return r.jsxs(e.Flex,{direction:"column",gap:"2",children:[r.jsxs(e.Flex,{direction:"column",gap:"1",children:[r.jsxs(e.Flex,{justify:"between",children:[r.jsx(e.Dialog.Title,{mb:"0",children:i}),r.jsx(e.Dialog.Close,{children:r.jsx(e.IconButton,{color:"gray",variant:"ghost","aria-label":"Close",children:r.jsx(h.Cross1Icon,{})})})]}),r.jsx(e.Dialog.Description,{children:c})]}),u(n)]})}),oe=l.memo(function(a){const{children:i,size:c,onOpen:u,onCloseInterrupt:n,...d}=a,[f,s]=l.useState(!1),g=l.useCallback(p=>{if(p&&u)u();else if(!p&&n)return n(()=>s(!1));s(p)},[u,n]),b=l.useCallback(p=>{if(p!=null&&p.force)return s(!1);g(!1)},[g]);return r.jsxs(e.Dialog.Root,{open:f,onOpenChange:g,children:[r.jsx(e.Dialog.Content,{size:c,children:r.jsx(ee,{closeDialog:b,...d})}),i(e.Dialog.Trigger)]})}),$=t=>r.jsx(e.AlertDialog.Title,{mb:"0",...t}),re=t=>{const{title:a,description:i,actionText:c="Confirm",cancelText:u="Cancel",onAction:n,onCancel:d,severity:f}=t;return r.jsxs(e.Flex,{direction:"column",gap:"2",children:[r.jsxs(e.Flex,{direction:"column",gap:"1",children:[r.jsx($,{children:a}),r.jsx(e.AlertDialog.Description,{children:i})]}),r.jsxs(e.Flex,{gap:"3",mt:"4",justify:"end",children:[r.jsx(e.AlertDialog.Cancel,{children:r.jsx(A,{variant:"soft",severity:"info",onClick:d,children:u})}),r.jsx(e.AlertDialog.Action,{children:r.jsx(A,{variant:"solid",severity:f,onClick:n,children:c})})]})]})},z=l.memo(function(a){const{open:i,setOpen:c,children:u,...n}=a,d=l.useMemo(()=>({close:()=>c(!1),Title:$,Description:e.AlertDialog.Description}),[c]);return r.jsxs(e.AlertDialog.Root,{open:i,onOpenChange:c,children:[r.jsx(e.AlertDialog.Content,{children:"content"in n?n.content(d):r.jsx(re,{...n})}),u]})}),B=l.createContext(()=>{throw new Error("No AlertDialogProvider found")}),ne={content:()=>null},te=l.memo(function({children:a}){const[i,c]=l.useState(!1),[u,n]=l.useState(ne),d=l.useCallback(f=>{if(i)throw new Error("AlertDialog is already open");n(f),c(!0)},[i]);return r.jsx(z,{open:i,setOpen:c,...u,children:r.jsx(B.Provider,{value:d,children:a})})}),le=()=>l.useContext(B),ie={fluid:"_fluid_7n1wr_1"},ce=l.forwardRef(function({className:a,fluid:i,size:c="medium",variant:u="surface",severity:n="primary",placeholder:d="Select",side:f,items:s=[],value:g,...b},p){const C=l.useMemo(()=>m(c,k),[c]),O=_(n);return l.createElement(e.Select.Root,{size:C,...b,key:g===void 0?1:0,value:g},r.jsx(e.Select.Trigger,{className:v(a,{[ie.fluid]:i}),ref:p,variant:u,placeholder:d,color:O}),r.jsx(e.Select.Content,{side:f,position:"popper",variant:u!=="surface"?"soft":"solid",color:O,children:s.map(({label:P,value:y,...w})=>r.jsx(e.Select.Item,{value:y,...w,children:P},y))}))}),ae=l.memo(ce),D={accommodateCharCount:"_accommodateCharCount_fni4k_1",default:"_default_fni4k_5",noLeftIcon:"_noLeftIcon_fni4k_9",noRightIcon:"_noRightIcon_fni4k_13",charCount:"_charCount_fni4k_17"},ue=l.forwardRef(function({className:a,leftIcon:i,rightIcon:c,size:u="medium",showInputLength:n,value:d,variant:f,severity:s="primary",...g},b){const p=l.useMemo(()=>m(u,k),[u]),C=_(s),O=n||n===void 0&&g.maxLength!==void 0,P=d!==void 0?d.toString():void 0;return r.jsxs(e.TextField.Root,{className:v({[D.accommodateCharCount]:O}),size:p,variant:f,color:C,children:[r.jsx(e.TextField.Slot,{children:i}),r.jsx(e.TextField.Input,{className:v(D.default,a,{[D.noLeftIcon]:!i,[D.noRightIcon]:!c}),ref:b,size:p,variant:f,color:C,...g}),r.jsx(e.TextField.Slot,{children:c}),O&&r.jsx(e.Text,{as:"p",className:D.charCount,size:"1",color:"gray",children:g.maxLength!==void 0?`${P==null?void 0:P.length}/${g.maxLength}`:`${P==null?void 0:P.length}`})]})}),de=l.memo(ue),se=l.forwardRef(function({defaultOpen:a=!1,modal:i=!1,content:c,children:u,...n},d){return r.jsxs(e.Popover.Root,{defaultOpen:a,modal:i,children:[r.jsx(e.Popover.Trigger,{children:u}),r.jsx(e.Popover.Content,{ref:d,...n,children:c(e.Popover.Close)})]})}),fe=l.memo(se),pe=l.forwardRef(function({className:a,items:i,orientation:c="horizontal",merged:u=!0,value:n,severity:d,gap:f,size:s,...g},b){return r.jsx(F.Root,{className:v("overmap-toggle-group",a),ref:b,value:n,orientation:c,...g,children:r.jsx(G,{width:"min-content",height:"min-content",merged:u,direction:c==="vertical"?"column":"row",gap:f,children:i.map(({children:p,...C})=>l.createElement(F.Item,{asChild:!0,...C,key:C.value},r.jsx(I,{className:v("overmap-toggle-group-button"),"aria-label":C.value,severity:d,variant:C.value===n?"solid":"soft",size:s,children:p})))})})}),ge=l.memo(pe),E={wrapper:"_wrapper_o13vb_1",slideRight:"_slideRight_o13vb_1"},be=l.forwardRef(function({title:a,description:i,icon:c,severity:u="primary",size:n,onClose:d,...f},s){const g=_(u),b=l.useCallback(p=>{!p&&d&&d()},[d]);return r.jsx(T.Root,{asChild:!0,ref:s,...f,onOpenChange:b,children:r.jsx(e.Callout.Root,{className:v("overmap-toast",E.wrapper),variant:"surface",color:g,size:n,children:r.jsxs(e.Flex,{width:"100%",align:"center",gap:"4",justify:"between",children:[r.jsxs(e.Flex,{align:"center",gap:"4",children:[r.jsx(e.Callout.Icon,{children:c||r.jsx(h.InfoCircledIcon,{})}),r.jsxs(e.Flex,{direction:"column",gap:"0",children:[r.jsx(T.Title,{asChild:!0,children:r.jsx(e.Callout.Text,{weight:"bold",children:a})}),r.jsx(T.Description,{asChild:!0,children:r.jsx(e.Callout.Text,{weight:"light",children:i})})]})]}),r.jsx(T.Close,{asChild:!0,children:r.jsx(I,{className:E.closeButton,"aria-label":"Close",variant:"ghost",size:"small",severity:u,children:r.jsx(h.Cross2Icon,{})})})]})})})}),L=l.memo(function({children:a,...i}){return r.jsx(T.Provider,{swipeDirection:"right",swipeThreshold:75,...i,children:a})}),q=l.memo(be),V=T.Viewport,H=l.createContext({}),Ce=l.memo(function({children:a,viewportClass:i,hotkey:c,duration:u=1e4,...n}){const[d,f]=l.useState([]),s=l.useCallback(y=>{f(w=>[...w,y])},[]),g=l.useCallback(y=>{s({severity:"primary",...y})},[s]),b=l.useCallback(y=>{s({severity:"success",...y})},[s]),p=l.useCallback(y=>{s({severity:"danger",...y})},[s]),C=l.useCallback(y=>{s({severity:"info",...y})},[s]),O=l.useCallback(y=>{const w=[...d];w.splice(y,1),f(()=>w)},[d]),P={showToast:s,showPrimary:g,showSuccess:b,showError:p,showInfo:C};return r.jsx(H.Provider,{value:P,children:r.jsxs(L,{duration:u,...n,children:[r.jsx(V,{className:i,hotkey:c}),d.map((y,w)=>r.jsx(q,{...y,onClose:()=>O(w)},w)),a]})})}),Ae="",ye=l.memo(function(a){return r.jsx(e.Theme,{panelBackground:"solid",...a})});Object.defineProperty(o,"AccessibleIcon",{enumerable:!0,get:()=>e.AccessibleIcon}),Object.defineProperty(o,"AspectRatio",{enumerable:!0,get:()=>e.AspectRatio}),Object.defineProperty(o,"Avatar",{enumerable:!0,get:()=>e.Avatar}),Object.defineProperty(o,"Badge",{enumerable:!0,get:()=>e.Badge}),Object.defineProperty(o,"Blockquote",{enumerable:!0,get:()=>e.Blockquote}),Object.defineProperty(o,"Box",{enumerable:!0,get:()=>e.Box}),Object.defineProperty(o,"Callout",{enumerable:!0,get:()=>e.Callout}),Object.defineProperty(o,"Card",{enumerable:!0,get:()=>e.Card}),Object.defineProperty(o,"Checkbox",{enumerable:!0,get:()=>e.Checkbox}),Object.defineProperty(o,"Code",{enumerable:!0,get:()=>e.Code}),Object.defineProperty(o,"Container",{enumerable:!0,get:()=>e.Container}),Object.defineProperty(o,"ContextMenu",{enumerable:!0,get:()=>e.ContextMenu}),Object.defineProperty(o,"DropdownMenu",{enumerable:!0,get:()=>e.DropdownMenu}),Object.defineProperty(o,"Em",{enumerable:!0,get:()=>e.Em}),Object.defineProperty(o,"Flex",{enumerable:!0,get:()=>e.Flex}),Object.defineProperty(o,"Grid",{enumerable:!0,get:()=>e.Grid}),Object.defineProperty(o,"Heading",{enumerable:!0,get:()=>e.Heading}),Object.defineProperty(o,"HoverCard",{enumerable:!0,get:()=>e.HoverCard}),Object.defineProperty(o,"Inset",{enumerable:!0,get:()=>e.Inset}),Object.defineProperty(o,"Kbd",{enumerable:!0,get:()=>e.Kbd}),Object.defineProperty(o,"Link",{enumerable:!0,get:()=>e.Link}),Object.defineProperty(o,"Portal",{enumerable:!0,get:()=>e.Portal}),Object.defineProperty(o,"Quote",{enumerable:!0,get:()=>e.Quote}),Object.defineProperty(o,"RadioGroup",{enumerable:!0,get:()=>e.RadioGroup}),Object.defineProperty(o,"ScrollArea",{enumerable:!0,get:()=>e.ScrollArea}),Object.defineProperty(o,"Section",{enumerable:!0,get:()=>e.Section}),Object.defineProperty(o,"Separator",{enumerable:!0,get:()=>e.Separator}),Object.defineProperty(o,"Slider",{enumerable:!0,get:()=>e.Slider}),Object.defineProperty(o,"Slot",{enumerable:!0,get:()=>e.Slot}),Object.defineProperty(o,"Strong",{enumerable:!0,get:()=>e.Strong}),Object.defineProperty(o,"Switch",{enumerable:!0,get:()=>e.Switch}),Object.defineProperty(o,"Table",{enumerable:!0,get:()=>e.Table}),Object.defineProperty(o,"Tabs",{enumerable:!0,get:()=>e.Tabs}),Object.defineProperty(o,"Text",{enumerable:!0,get:()=>e.Text}),Object.defineProperty(o,"TextArea",{enumerable:!0,get:()=>e.TextArea}),Object.defineProperty(o,"TextField",{enumerable:!0,get:()=>e.TextField}),Object.defineProperty(o,"Theme",{enumerable:!0,get:()=>e.Theme}),Object.defineProperty(o,"Tooltip",{enumerable:!0,get:()=>e.Tooltip}),Object.defineProperty(o,"VisuallyHidden",{enumerable:!0,get:()=>e.VisuallyHidden}),o.AlertDialog=z,o.AlertDialogContent=B,o.AlertDialogProvider=te,o.Button=A,o.ButtonGroup=G,o.DefaultTheme=ye,o.Dialog=oe,o.IconButton=I,o.Input=de,o.Popover=fe,o.Select=ae,o.Toast=q,o.ToastContext=H,o.ToastContextProvider=Ce,o.ToastProvider=L,o.ToastViewport=V,o.ToggleGroup=ge,o.useAlertDialog=le,Object.keys(j).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:()=>j[t]})}),Object.keys(h).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:()=>h[t]})}),Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
|
|
5
|
+
*/(function(n){(function(){var a={}.hasOwnProperty;function i(){for(var c=[],u=0;u<arguments.length;u++){var t=arguments[u];if(t){var d=typeof t;if(d==="string"||d==="number")c.push(t);else if(Array.isArray(t)){if(t.length){var f=i.apply(null,t);f&&c.push(f)}}else if(d==="object"){if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]")){c.push(t.toString());continue}for(var s in t)a.call(t,s)&&t[s]&&c.push(s)}}}return c.join(" ")}n.exports?(i.default=i,n.exports=i):window.classNames=i})()})(N);var J=N.exports;const v=Q(J),M={spin90Clockwise:S.hoverSpin90Clockwise,spin180Clockwise:S.hoverSpin180Clockwise,spin360Clockwise:S.hoverSpin360Clockwise};function m(n,a){if(typeof n=="object"){if(!("initial"in n))throw new Error("Expected initial property to be set in Responsive object");return Object.fromEntries(Object.entries(n).map(([i,c])=>[i,a[c]]))}else return a[n]}const U={success:"green",danger:"red",info:"gray"},_=n=>{const a=e.useThemeContext();return n==="primary"?a.accentColor:U[n]},k={small:"1",medium:"2",large:"3"},W=l.forwardRef(function({className:a,fluid:i,size:c="medium",severity:u="primary",hoverEffects:t,type:d="button",...f},s){const g=_(u),b=(t==null?void 0:t.map(p=>M[p]))||[];return r.jsx(e.Button,{ref:s,className:v(a,b,{[S.fluid]:i}),color:g,size:m(c,k),type:d,...f})}),A=l.memo(W),X=l.forwardRef(function({className:a,children:i,size:c="medium",severity:u="primary",hoverEffects:t,type:d="button",...f},s){const g=_(u),b=(t==null?void 0:t.map(p=>M[p]))||[];return r.jsx(e.IconButton,{className:v(a,b,S.default),ref:s,color:g,size:m(c,k),type:d,...f,children:i})}),I=l.memo(X),Y={merged:"_merged_f4366_1"},Z={row:{small:"4",medium:"4",large:"5"},column:{small:"2",medium:"3",large:"4"}},R=l.forwardRef(function({className:a,merged:i=!1,children:c,gap:u="2",direction:t="row",severity:d="primary",size:f="medium",variant:s="solid",hoverEffects:g,...b},p){return r.jsx(e.Flex,{className:v("overmap-button-group",a,{[Y.merged]:i}),ref:p,gap:i?s==="ghost"?m(f,Z[t]):"0":u,direction:t,"data-direction":t,...b,children:c.map((C,w)=>C.type===A||C.type===I?l.cloneElement(C,{key:w,size:f,severity:d,variant:s,hoverEffects:g}):C)})}),G=l.memo(R),ee=l.memo(function(a){const{title:i,description:c,content:u,closeDialog:t}=a;return r.jsxs(e.Flex,{direction:"column",gap:"2",children:[r.jsxs(e.Flex,{direction:"column",gap:"1",children:[r.jsxs(e.Flex,{justify:"between",children:[r.jsx(e.Dialog.Title,{mb:"0",children:i}),r.jsx(e.Dialog.Close,{children:r.jsx(e.IconButton,{color:"gray",variant:"ghost","aria-label":"Close",children:r.jsx(h.Cross1Icon,{})})})]}),r.jsx(e.Dialog.Description,{children:c})]}),u(t)]})}),oe=l.memo(function(a){const{children:i,size:c,onOpen:u,onCloseInterrupt:t,...d}=a,[f,s]=l.useState(!1),g=l.useCallback(p=>{if(p&&u)u();else if(!p&&t)return t(()=>s(!1));s(p)},[u,t]),b=l.useCallback(p=>{if(p!=null&&p.force)return s(!1);g(!1)},[g]);return r.jsxs(e.Dialog.Root,{open:f,onOpenChange:g,children:[r.jsx(e.Dialog.Content,{size:c,children:r.jsx(ee,{closeDialog:b,...d})}),i(e.Dialog.Trigger)]})}),$=n=>r.jsx(e.AlertDialog.Title,{mb:"0",...n}),re=n=>{const{title:a,description:i,actionText:c="Confirm",cancelText:u="Cancel",onAction:t,onCancel:d,severity:f}=n;return r.jsxs(e.Flex,{direction:"column",gap:"2",children:[r.jsxs(e.Flex,{direction:"column",gap:"1",children:[r.jsx($,{children:a}),r.jsx(e.AlertDialog.Description,{children:i})]}),r.jsxs(e.Flex,{gap:"3",mt:"4",justify:"end",children:[r.jsx(e.AlertDialog.Cancel,{children:r.jsx(A,{variant:"soft",severity:"info",onClick:d,children:u})}),r.jsx(e.AlertDialog.Action,{children:r.jsx(A,{variant:"solid",severity:f,onClick:t,children:c})})]})]})},z=l.memo(function(a){const{open:i,setOpen:c,children:u,...t}=a,d=l.useMemo(()=>({close:()=>c(!1),Title:$,Description:e.AlertDialog.Description}),[c]);return r.jsxs(e.AlertDialog.Root,{open:i,onOpenChange:c,children:[r.jsx(e.AlertDialog.Content,{children:"content"in t?t.content(d):r.jsx(re,{...t})}),u]})}),B=l.createContext(()=>{throw new Error("No AlertDialogProvider found")}),ne={content:()=>null},te=l.memo(function({children:a}){const[i,c]=l.useState(!1),[u,t]=l.useState(ne),d=l.useCallback(f=>{if(i)throw new Error("AlertDialog is already open");t(f),c(!0)},[i]);return r.jsx(z,{open:i,setOpen:c,...u,children:r.jsx(B.Provider,{value:d,children:a})})}),le=()=>l.useContext(B),ie={fluid:"_fluid_7n1wr_1"},ce=l.forwardRef(function({className:a,fluid:i,size:c="medium",variant:u="surface",severity:t="primary",placeholder:d="Select",side:f,items:s=[],value:g,...b},p){const C=l.useMemo(()=>m(c,k),[c]),w=_(t);return l.createElement(e.Select.Root,{size:C,...b,key:g===void 0?1:0,value:g},r.jsx(e.Select.Trigger,{className:v(a,{[ie.fluid]:i}),ref:p,variant:u,placeholder:d,color:w}),r.jsx(e.Select.Content,{side:f,position:"popper",variant:u!=="surface"?"soft":"solid",color:w,children:s.map(({label:P,value:y,...O})=>r.jsx(e.Select.Item,{value:y,...O,children:P},y))}))}),ae=l.memo(ce),D={accommodateCharCount:"_accommodateCharCount_fni4k_1",default:"_default_fni4k_5",noLeftIcon:"_noLeftIcon_fni4k_9",noRightIcon:"_noRightIcon_fni4k_13",charCount:"_charCount_fni4k_17"},ue=l.forwardRef(function({className:a,leftIcon:i,rightIcon:c,size:u="medium",showInputLength:t,value:d,variant:f,severity:s="primary",...g},b){const p=l.useMemo(()=>m(u,k),[u]),C=_(s),w=t||t===void 0&&g.maxLength!==void 0,P=d!==void 0?d.toString():void 0;return r.jsxs(e.TextField.Root,{className:v({[D.accommodateCharCount]:w}),size:p,variant:f,color:C,children:[r.jsx(e.TextField.Slot,{children:i}),r.jsx(e.TextField.Input,{className:v(D.default,a,{[D.noLeftIcon]:!i,[D.noRightIcon]:!c}),ref:b,size:p,variant:f,color:C,...g}),r.jsx(e.TextField.Slot,{children:c}),w&&r.jsx(e.Text,{as:"p",className:D.charCount,size:"1",color:"gray",children:g.maxLength!==void 0?`${P==null?void 0:P.length}/${g.maxLength}`:`${P==null?void 0:P.length}`})]})}),de=l.memo(ue),se=l.forwardRef(function({defaultOpen:a=!1,modal:i=!1,content:c,children:u,...t},d){return r.jsxs(e.Popover.Root,{defaultOpen:a,modal:i,children:[r.jsx(e.Popover.Trigger,{children:u}),r.jsx(e.Popover.Content,{ref:d,...t,children:c(e.Popover.Close)})]})}),fe=l.memo(se),pe=l.forwardRef(function({className:a,items:i,orientation:c="horizontal",merged:u=!0,value:t,severity:d,gap:f,size:s,...g},b){return r.jsx(F.Root,{className:v("overmap-toggle-group",a),ref:b,value:t,orientation:c,...g,children:r.jsx(G,{width:"min-content",height:"min-content",merged:u,direction:c==="vertical"?"column":"row",gap:f,children:i.map(({children:p,...C})=>l.createElement(F.Item,{asChild:!0,...C,key:C.value},r.jsx(I,{className:v("overmap-toggle-group-button"),"aria-label":C.value,severity:d,variant:C.value===t?"solid":"soft",size:s,children:p})))})})}),ge=l.memo(pe),E={wrapper:"_wrapper_o13vb_1",slideRight:"_slideRight_o13vb_1"},be=l.forwardRef(function({title:a,description:i,icon:c,severity:u="primary",size:t,onClose:d,...f},s){const g=_(u),b=l.useCallback(p=>{!p&&d&&d()},[d]);return r.jsx(T.Root,{asChild:!0,ref:s,...f,onOpenChange:b,children:r.jsx(e.Callout.Root,{className:v("overmap-toast",E.wrapper),variant:"surface",color:g,size:t,children:r.jsxs(e.Flex,{width:"100%",align:"center",gap:"4",justify:"between",children:[r.jsxs(e.Flex,{align:"center",gap:"4",children:[r.jsx(e.Callout.Icon,{children:c||r.jsx(h.InfoCircledIcon,{})}),r.jsxs(e.Flex,{direction:"column",gap:"0",children:[r.jsx(T.Title,{asChild:!0,children:r.jsx(e.Callout.Text,{weight:"bold",children:a})}),r.jsx(T.Description,{asChild:!0,children:r.jsx(e.Callout.Text,{weight:"light",children:i})})]})]}),r.jsx(T.Close,{asChild:!0,children:r.jsx(I,{className:E.closeButton,"aria-label":"Close",variant:"ghost",size:"small",severity:u,children:r.jsx(h.Cross2Icon,{})})})]})})})}),L=l.memo(function({children:a,...i}){return r.jsx(T.Provider,{swipeDirection:"right",swipeThreshold:75,...i,children:a})}),q=l.memo(be),V=T.Viewport,H=l.createContext({}),Ce=l.memo(function({children:a,viewportClass:i,hotkey:c,duration:u=1e4,...t}){const[d,f]=l.useState([]),s=l.useCallback(y=>{f(O=>[...O,y])},[]),g=l.useCallback(y=>{s({severity:"primary",...y})},[s]),b=l.useCallback(y=>{s({severity:"success",...y})},[s]),p=l.useCallback(y=>{s({severity:"danger",...y})},[s]),C=l.useCallback(y=>{s({severity:"info",...y})},[s]),w=l.useCallback(y=>{const O=[...d];O.splice(y,1),f(()=>O)},[d]),P={showToast:s,showPrimary:g,showSuccess:b,showError:p,showInfo:C};return r.jsx(H.Provider,{value:P,children:r.jsxs(L,{duration:u,...t,children:[r.jsx(V,{className:i,hotkey:c}),d.map((y,O)=>r.jsx(q,{...y,onClose:()=>w(O)},O)),a]})})}),Ae="",ye=l.memo(l.forwardRef((n,a)=>r.jsx(e.Theme,{panelBackground:"solid",ref:a,...n})));Object.defineProperty(o,"AccessibleIcon",{enumerable:!0,get:()=>e.AccessibleIcon}),Object.defineProperty(o,"AspectRatio",{enumerable:!0,get:()=>e.AspectRatio}),Object.defineProperty(o,"Avatar",{enumerable:!0,get:()=>e.Avatar}),Object.defineProperty(o,"Badge",{enumerable:!0,get:()=>e.Badge}),Object.defineProperty(o,"Blockquote",{enumerable:!0,get:()=>e.Blockquote}),Object.defineProperty(o,"Box",{enumerable:!0,get:()=>e.Box}),Object.defineProperty(o,"Callout",{enumerable:!0,get:()=>e.Callout}),Object.defineProperty(o,"Card",{enumerable:!0,get:()=>e.Card}),Object.defineProperty(o,"Checkbox",{enumerable:!0,get:()=>e.Checkbox}),Object.defineProperty(o,"Code",{enumerable:!0,get:()=>e.Code}),Object.defineProperty(o,"Container",{enumerable:!0,get:()=>e.Container}),Object.defineProperty(o,"ContextMenu",{enumerable:!0,get:()=>e.ContextMenu}),Object.defineProperty(o,"DropdownMenu",{enumerable:!0,get:()=>e.DropdownMenu}),Object.defineProperty(o,"Em",{enumerable:!0,get:()=>e.Em}),Object.defineProperty(o,"Flex",{enumerable:!0,get:()=>e.Flex}),Object.defineProperty(o,"Grid",{enumerable:!0,get:()=>e.Grid}),Object.defineProperty(o,"Heading",{enumerable:!0,get:()=>e.Heading}),Object.defineProperty(o,"HoverCard",{enumerable:!0,get:()=>e.HoverCard}),Object.defineProperty(o,"Inset",{enumerable:!0,get:()=>e.Inset}),Object.defineProperty(o,"Kbd",{enumerable:!0,get:()=>e.Kbd}),Object.defineProperty(o,"Link",{enumerable:!0,get:()=>e.Link}),Object.defineProperty(o,"Portal",{enumerable:!0,get:()=>e.Portal}),Object.defineProperty(o,"Quote",{enumerable:!0,get:()=>e.Quote}),Object.defineProperty(o,"RadioGroup",{enumerable:!0,get:()=>e.RadioGroup}),Object.defineProperty(o,"ScrollArea",{enumerable:!0,get:()=>e.ScrollArea}),Object.defineProperty(o,"Section",{enumerable:!0,get:()=>e.Section}),Object.defineProperty(o,"Separator",{enumerable:!0,get:()=>e.Separator}),Object.defineProperty(o,"Slider",{enumerable:!0,get:()=>e.Slider}),Object.defineProperty(o,"Slot",{enumerable:!0,get:()=>e.Slot}),Object.defineProperty(o,"Strong",{enumerable:!0,get:()=>e.Strong}),Object.defineProperty(o,"Switch",{enumerable:!0,get:()=>e.Switch}),Object.defineProperty(o,"Table",{enumerable:!0,get:()=>e.Table}),Object.defineProperty(o,"Tabs",{enumerable:!0,get:()=>e.Tabs}),Object.defineProperty(o,"Text",{enumerable:!0,get:()=>e.Text}),Object.defineProperty(o,"TextArea",{enumerable:!0,get:()=>e.TextArea}),Object.defineProperty(o,"TextField",{enumerable:!0,get:()=>e.TextField}),Object.defineProperty(o,"Theme",{enumerable:!0,get:()=>e.Theme}),Object.defineProperty(o,"Tooltip",{enumerable:!0,get:()=>e.Tooltip}),Object.defineProperty(o,"VisuallyHidden",{enumerable:!0,get:()=>e.VisuallyHidden}),o.AlertDialog=z,o.AlertDialogContent=B,o.AlertDialogProvider=te,o.Button=A,o.ButtonGroup=G,o.DefaultTheme=ye,o.Dialog=oe,o.IconButton=I,o.Input=de,o.Popover=fe,o.Select=ae,o.Toast=q,o.ToastContext=H,o.ToastContextProvider=Ce,o.ToastProvider=L,o.ToastViewport=V,o.ToggleGroup=ge,o.useAlertDialog=le,Object.keys(j).forEach(n=>{n!=="default"&&!Object.prototype.hasOwnProperty.call(o,n)&&Object.defineProperty(o,n,{enumerable:!0,get:()=>j[n]})}),Object.keys(h).forEach(n=>{n!=="default"&&!Object.prototype.hasOwnProperty.call(o,n)&&Object.defineProperty(o,n,{enumerable:!0,get:()=>h[n]})}),Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
|
|
6
6
|
//# sourceMappingURL=blocks.umd.cjs.map
|
package/dist/blocks.umd.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks.umd.cjs","sources":["../node_modules/classnames/index.js","../src/Buttons/constants.ts","../src/utils.ts","../src/constants.ts","../src/Buttons/Button.tsx","../src/Buttons/IconButton.tsx","../src/ButtonGroup/ButtonGroup.tsx","../src/Dialogs/Dialog/DialogContent.tsx","../src/Dialogs/Dialog/Dialog.tsx","../src/Dialogs/AlertDialog/AlertDialogContent.tsx","../src/Dialogs/AlertDialog/AlertDialog.tsx","../src/Dialogs/AlertDialog/context.tsx","../src/Dialogs/AlertDialog/hooks.ts","../src/Select/Select.tsx","../src/Input/Input.tsx","../src/Popover/Popover.tsx","../src/ToggleGroup/ToggleGroup.tsx","../src/Toast/Toast.tsx","../src/Toast/ToastContext.tsx","../src/Theme/DefaultTheme.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { ButtonHoverEffect } from \"./typings.ts\"\nimport styles from \"./Button.module.sass\"\n\nexport const hoverEffectClassNameMapping: Record<ButtonHoverEffect, string | undefined> = {\n\tspin90Clockwise: styles.hoverSpin90Clockwise,\n\tspin180Clockwise: styles.hoverSpin180Clockwise,\n\tspin360Clockwise: styles.hoverSpin360Clockwise,\n}\n","import { Responsive, useThemeContext } from \"@radix-ui/themes\"\nimport { ThemeProps } from \"Theme\"\nimport { Severity } from \"typings\"\n\n// applyResponsiveMapping is a helper function used to map the keys of a Radix Responsive type that can be understood\n// by a Radix component or primitive. The point of this is to leverage our own custom prop names and values while still\n// using Radix's built in Responsiveness functionality.\n/**\n * Returns an object with mapped key values or a single mapped value\n * @param value an object or string\n * @param mapping a Record mapping the object values of param value\n */\nexport function applyResponsiveMapping<T extends string, K>(value: Responsive<T>, mapping: Record<T, K>) {\n\tif (typeof value === \"object\") {\n\t\tif (!(\"initial\" in value)) {\n\t\t\t// Responsive objects require an 'initial' property to be set that acts as a default\n\t\t\tthrow new Error(\"Expected initial property to be set in Responsive object\")\n\t\t}\n\t\treturn Object.fromEntries(Object.entries(value).map(([key, _value]) => [key, mapping[_value]]))\n\t} else {\n\t\treturn mapping[value]\n\t}\n}\n\nconst nonThemeSeverityMapping = {\n\tsuccess: \"green\",\n\tdanger: \"red\",\n\tinfo: \"gray\",\n} as const\n\nexport type AccentColor = NonNullable<ThemeProps[\"accentColor\"]>\n\n/** Performs theme-sensitive mapping of a severity to radix color */\nexport const useSeverityColor = (severity: Severity): AccentColor => {\n\tconst theme = useThemeContext()\n\tif (severity === \"primary\") return theme.accentColor\n\n\treturn nonThemeSeverityMapping[severity]\n}\n","import { Size } from \"./typings.ts\"\n\n// Mappings\nexport const SizeMapping: Record<Size, \"1\" | \"2\" | \"3\"> = {\n\tsmall: \"1\",\n\tmedium: \"2\",\n\tlarge: \"3\",\n}\n","import React, { FC, forwardRef } from \"react\"\nimport { ButtonProps } from \"./typings.ts\"\nimport styles from \"./Button.module.sass\"\nimport classNames from \"classnames\"\nimport { Button as RadixButton } from \"@radix-ui/themes\"\nimport { hoverEffectClassNameMapping } from \"./constants.ts\"\nimport { applyResponsiveMapping, useSeverityColor } from \"../utils.ts\"\nimport { SizeMapping } from \"../constants.ts\"\n\nconst _Button = forwardRef(function Button(\n\t{ className, fluid, size = \"medium\", severity = \"primary\", hoverEffects, type = \"button\", ...rest }: ButtonProps,\n\tref: React.Ref<HTMLButtonElement>,\n) {\n\tconst color = useSeverityColor(severity)\n\tconst hoverEffectClasses =\n\t\thoverEffects?.map((hoverEffect) => {\n\t\t\treturn hoverEffectClassNameMapping[hoverEffect]\n\t\t}) || []\n\n\treturn (\n\t\t<RadixButton\n\t\t\tref={ref}\n\t\t\tclassName={classNames(className, hoverEffectClasses, {\n\t\t\t\t[styles.fluid!]: fluid,\n\t\t\t})}\n\t\t\tcolor={color}\n\t\t\tsize={applyResponsiveMapping(size, SizeMapping)}\n\t\t\ttype={type}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\n\n// using FC so storybook correctly displays the component props\nconst Button: FC<ButtonProps> = React.memo(_Button)\n\nexport default Button\n","import React, { FC, forwardRef } from \"react\"\nimport { ButtonProps } from \"./typings.ts\"\nimport classNames from \"classnames\"\nimport { IconButton as RadixIconButton } from \"@radix-ui/themes\"\nimport { hoverEffectClassNameMapping } from \"./constants.ts\"\nimport { applyResponsiveMapping, useSeverityColor } from \"../utils.ts\"\nimport { SizeMapping } from \"../constants.ts\"\n\nimport styles from \"./Button.module.sass\"\n\ninterface IconButtonProps extends Omit<ButtonProps, \"fluid\"> {\n\t\"aria-label\": string\n}\n\nconst _Button = forwardRef(function Button(\n\t{\n\t\tclassName,\n\t\tchildren,\n\t\tsize = \"medium\",\n\t\tseverity = \"primary\",\n\t\thoverEffects,\n\t\ttype = \"button\",\n\t\t...rest\n\t}: IconButtonProps,\n\tref: React.Ref<HTMLButtonElement>,\n) {\n\tconst color = useSeverityColor(severity)\n\tconst hoverEffectClasses =\n\t\thoverEffects?.map((hoverEffect) => {\n\t\t\treturn hoverEffectClassNameMapping[hoverEffect]\n\t\t}) || []\n\n\treturn (\n\t\t<RadixIconButton\n\t\t\tclassName={classNames(className, hoverEffectClasses, styles.default)}\n\t\t\tref={ref}\n\t\t\tcolor={color}\n\t\t\tsize={applyResponsiveMapping(size, SizeMapping)}\n\t\t\ttype={type}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</RadixIconButton>\n\t)\n})\n\n// using FC so storybook correctly displays the component props\n/** The `IconButton` is a `Button` variant specifically designed for single icons. */\nconst IconButton: FC<IconButtonProps> = React.memo(_Button)\n\nexport default IconButton\n","import { FC, forwardRef, memo, Ref, cloneElement } from \"react\"\nimport { Flex } from \"@radix-ui/themes\"\nimport classNames from \"classnames\"\nimport { ButtonGroupProps } from \"./typings.ts\"\n\nimport styles from \"./ButtonGroup.module.sass\"\nimport { Size } from \"../typings.ts\"\nimport { applyResponsiveMapping } from \"../utils.ts\"\nimport { Button, IconButton } from \"../Buttons\"\n\nconst GhostVariantSizeToGapMapping: Record<\"row\" | \"column\", Record<Size, ButtonGroupProps[\"gap\"]>> = {\n\trow: { small: \"4\", medium: \"4\", large: \"5\" },\n\tcolumn: { small: \"2\", medium: \"3\", large: \"4\" },\n}\n\nconst _ButtonGroup = forwardRef(function ButtonGroup(\n\t{\n\t\tclassName,\n\t\tmerged = false,\n\t\tchildren,\n\t\tgap = \"2\",\n\t\tdirection = \"row\",\n\t\tseverity = \"primary\",\n\t\tsize = \"medium\",\n\t\tvariant = \"solid\",\n\t\thoverEffects,\n\t\t...rest\n\t}: ButtonGroupProps,\n\tref: Ref<HTMLDivElement>,\n) {\n\treturn (\n\t\t<Flex\n\t\t\tclassName={classNames(\"overmap-button-group\", className, {\n\t\t\t\t[styles.merged!]: merged,\n\t\t\t})}\n\t\t\tref={ref}\n\t\t\tgap={\n\t\t\t\tmerged\n\t\t\t\t\t? variant === \"ghost\"\n\t\t\t\t\t\t? applyResponsiveMapping(size, GhostVariantSizeToGapMapping[direction])\n\t\t\t\t\t\t: \"0\"\n\t\t\t\t\t: gap\n\t\t\t}\n\t\t\tdirection={direction}\n\t\t\tdata-direction={direction}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children.map((child, index) => {\n\t\t\t\tif (child.type === Button || child.type === IconButton) {\n\t\t\t\t\treturn cloneElement(child, { key: index, size, severity, variant, hoverEffects })\n\t\t\t\t} else {\n\t\t\t\t\treturn child\n\t\t\t\t}\n\t\t\t})}\n\t\t</Flex>\n\t)\n})\n\n/** The ButtonGroup Component is a user interface element that groups multiple buttons together for improved user\n * interaction and visual clarity. It is commonly used to present related actions or options in a compact and organized\n * manner. The ButtonGroup supports all props of the RadixUI Flex layout component besides MarginProps,\n * further documentation for the Flex layout component can be found here https://www.radix-ui.com/themes/docs/components/flex */\nexport const ButtonGroup: FC<ButtonGroupProps> = memo(_ButtonGroup)\n","import { memo } from \"react\"\nimport { Dialog, Flex, IconButton } from \"@radix-ui/themes\"\nimport { Cross1Icon } from \"@radix-ui/react-icons\"\nimport { DialogContentProps } from \"./typings\"\n\nexport const DialogContent = memo(function DialogContent(props: DialogContentProps) {\n\tconst { title, description, content, closeDialog } = props\n\treturn (\n\t\t<Flex direction=\"column\" gap=\"2\">\n\t\t\t<Flex direction=\"column\" gap=\"1\">\n\t\t\t\t<Flex justify=\"between\">\n\t\t\t\t\t<Dialog.Title mb=\"0\">{title}</Dialog.Title>\n\t\t\t\t\t<Dialog.Close>\n\t\t\t\t\t\t<IconButton color=\"gray\" variant=\"ghost\" aria-label=\"Close\">\n\t\t\t\t\t\t\t<Cross1Icon />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t</Dialog.Close>\n\t\t\t\t</Flex>\n\t\t\t\t<Dialog.Description>{description}</Dialog.Description>\n\t\t\t</Flex>\n\t\t\t{content(closeDialog)}\n\t\t</Flex>\n\t)\n})\n","import { memo, useState, useCallback } from \"react\"\nimport { Dialog as RadixDialog } from \"@radix-ui/themes\"\nimport { DialogContent } from \"./DialogContent\"\nimport { CloseDialogWithOptions, DialogProps } from \"./typings\"\n\n/**\n * Display or collect information in a modal. Unlike the `AlertDialog`, the `Dialog`'s can be nested\n * and close when clicking outside of the dialog content.\n */\nexport const Dialog = memo(function Dialog(props: DialogProps) {\n\tconst { children, size, onOpen, onCloseInterrupt, ...contentProps } = props\n\tconst [open, setOpen] = useState(false)\n\n\tconst handleOpenChange = useCallback(\n\t\t(next: boolean) => {\n\t\t\tif (next && onOpen) {\n\t\t\t\tonOpen()\n\t\t\t} else if (!next && onCloseInterrupt) {\n\t\t\t\t// closes the dialog, bypassing the checks in `handleOpenChange`\n\t\t\t\tconst confirmClose = () => setOpen(false)\n\n\t\t\t\t// if onCloseInterrupt is passed, bypass the standard close behavior and require\n\t\t\t\t// the passed `confirmClose` to close the dialog\n\t\t\t\treturn onCloseInterrupt(confirmClose)\n\t\t\t}\n\n\t\t\tsetOpen(next)\n\t\t},\n\t\t[onOpen, onCloseInterrupt],\n\t)\n\n\tconst closeDialog = useCallback<CloseDialogWithOptions>(\n\t\t(options) => {\n\t\t\tif (options?.force) {\n\t\t\t\t// bypass the checks in the `handleOpenChange` function\n\t\t\t\treturn setOpen(false)\n\t\t\t}\n\n\t\t\thandleOpenChange(false)\n\t\t},\n\t\t[handleOpenChange],\n\t)\n\n\treturn (\n\t\t<RadixDialog.Root open={open} onOpenChange={handleOpenChange}>\n\t\t\t<RadixDialog.Content size={size}>\n\t\t\t\t<DialogContent closeDialog={closeDialog} {...contentProps} />\n\t\t\t</RadixDialog.Content>\n\n\t\t\t{children(RadixDialog.Trigger)}\n\t\t</RadixDialog.Root>\n\t)\n})\n","import { AlertDialog, Flex } from \"@radix-ui/themes\"\nimport { AlertDialogStandardContent } from \"./typings\"\nimport { Button } from \"../../Buttons\"\n\n// remove the margin-bottom from the title so that Flex works as expected\nexport const Title: typeof AlertDialog.Title = ((props) => (\n\t<AlertDialog.Title mb=\"0\" {...props} />\n)) as typeof AlertDialog.Title\n\nexport const AlertDialogContent = (props: AlertDialogStandardContent) => {\n\tconst { title, description, actionText = \"Confirm\", cancelText = \"Cancel\", onAction, onCancel, severity } = props\n\treturn (\n\t\t<Flex direction=\"column\" gap=\"2\">\n\t\t\t<Flex direction=\"column\" gap=\"1\">\n\t\t\t\t<Title>{title}</Title>\n\t\t\t\t<AlertDialog.Description>{description}</AlertDialog.Description>\n\t\t\t</Flex>\n\n\t\t\t<Flex gap=\"3\" mt=\"4\" justify=\"end\">\n\t\t\t\t<AlertDialog.Cancel>\n\t\t\t\t\t<Button variant=\"soft\" severity=\"info\" onClick={onCancel}>\n\t\t\t\t\t\t{cancelText}\n\t\t\t\t\t</Button>\n\t\t\t\t</AlertDialog.Cancel>\n\t\t\t\t<AlertDialog.Action>\n\t\t\t\t\t<Button variant=\"solid\" severity={severity} onClick={onAction}>\n\t\t\t\t\t\t{actionText}\n\t\t\t\t\t</Button>\n\t\t\t\t</AlertDialog.Action>\n\t\t\t</Flex>\n\t\t</Flex>\n\t)\n}\n","import { memo, useMemo } from \"react\"\nimport { AlertDialog as RadixAlertDialog } from \"@radix-ui/themes\"\nimport { AlertDialogContentHelpers, AlertDialogProps } from \"./typings\"\nimport { AlertDialogContent, Title } from \"./AlertDialogContent\"\n\n/**\n * The AlertDialog is used to confirm an action or prompt the user for a decision.\n * Unlike the Dialog, the AlertDialog is not dismissible by clicking outside of the dialog, nor can it be nested.\n *\n * To use, place the `AlertDialogProvider` at the root of your app and use the `useAlertDialog` hook to open the dialog.\n *\n * To set the content of the dialog, use the `content` prop or pass values for the `title`, `description`, and `onAction` props.\n */\nexport const AlertDialog = memo(function AlertDialog(props: AlertDialogProps) {\n\tconst { open, setOpen, children, ...contentProps } = props\n\n\tconst helpers: AlertDialogContentHelpers = useMemo(() => {\n\t\treturn {\n\t\t\tclose: () => setOpen(false),\n\t\t\tTitle,\n\t\t\tDescription: RadixAlertDialog.Description,\n\t\t}\n\t}, [setOpen])\n\n\treturn (\n\t\t<RadixAlertDialog.Root open={open} onOpenChange={setOpen}>\n\t\t\t<RadixAlertDialog.Content>\n\t\t\t\t{\"content\" in contentProps ? contentProps.content(helpers) : <AlertDialogContent {...contentProps} />}\n\t\t\t</RadixAlertDialog.Content>\n\t\t\t{children}\n\t\t</RadixAlertDialog.Root>\n\t)\n})\n","import { createContext, memo, useState, useCallback } from \"react\"\nimport { AlertDialogContextType, AlertDialogOptions } from \"./typings\"\nimport { AlertDialog } from \"./AlertDialog\"\n\ninterface AlertDialogProviderProps {\n\tchildren: React.ReactNode\n}\n\nexport const AlertDialogContent = createContext<AlertDialogContextType>(() => {\n\tthrow new Error(\"No AlertDialogProvider found\")\n})\n\nconst initialState: AlertDialogOptions = {\n\tcontent: () => null,\n}\n\nexport const AlertDialogProvider = memo(function AlertDialogProvider({ children }: AlertDialogProviderProps) {\n\tconst [open, setOpen] = useState(false)\n\tconst [state, setState] = useState<AlertDialogOptions>(initialState)\n\n\tconst openDialog = useCallback<AlertDialogContextType>(\n\t\t(options) => {\n\t\t\tif (open) throw new Error(\"AlertDialog is already open\")\n\n\t\t\tsetState(options)\n\t\t\tsetOpen(true)\n\t\t},\n\t\t[open],\n\t)\n\n\treturn (\n\t\t<AlertDialog open={open} setOpen={setOpen} {...state}>\n\t\t\t<AlertDialogContent.Provider value={openDialog}>{children}</AlertDialogContent.Provider>\n\t\t</AlertDialog>\n\t)\n})\n","import { useContext } from \"react\"\nimport { AlertDialogContent } from \"./context\"\n\nexport const useAlertDialog = () => {\n\treturn useContext(AlertDialogContent)\n}\n","import React, { FC, forwardRef, useMemo } from \"react\"\nimport { Select as RadixSelect } from \"@radix-ui/themes\"\nimport classNames from \"classnames\"\nimport { applyResponsiveMapping, useSeverityColor } from \"../utils.ts\"\nimport { SizeMapping } from \"../constants.ts\"\nimport { SelectItemProps, SelectProps } from \"./typings.ts\"\n\nimport styles from \"./Select.module.sass\"\n\nconst _Select = forwardRef(function Select(\n\t{\n\t\tclassName,\n\t\tfluid,\n\t\tsize = \"medium\",\n\t\tvariant = \"surface\",\n\t\tseverity = \"primary\",\n\t\tplaceholder = \"Select\",\n\t\tside,\n\t\titems = [],\n\t\tvalue,\n\t\t...rest\n\t}: SelectProps,\n\tref: React.Ref<HTMLButtonElement>,\n) {\n\tconst mappedSize = useMemo(() => {\n\t\treturn applyResponsiveMapping(size, SizeMapping)\n\t}, [size])\n\tconst color = useSeverityColor(severity)\n\n\t// TODO: extend functionality to support grouping of items\n\t// TODO: remove key change based on value once placeholder issue it fixed in radix-ui/themes\n\treturn (\n\t\t<RadixSelect.Root size={mappedSize} {...rest} key={value === undefined ? 1 : 0} value={value}>\n\t\t\t<RadixSelect.Trigger\n\t\t\t\tclassName={classNames(className, {\n\t\t\t\t\t[styles.fluid!]: fluid,\n\t\t\t\t})}\n\t\t\t\tref={ref}\n\t\t\t\tvariant={variant}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tcolor={color}\n\t\t\t/>\n\t\t\t<RadixSelect.Content\n\t\t\t\tside={side}\n\t\t\t\tposition=\"popper\"\n\t\t\t\tvariant={variant !== \"surface\" ? \"soft\" : \"solid\"}\n\t\t\t\tcolor={color}\n\t\t\t>\n\t\t\t\t{items.map(({ label, value, ...rest }: SelectItemProps) => (\n\t\t\t\t\t<RadixSelect.Item key={value} value={value} {...rest}>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</RadixSelect.Item>\n\t\t\t\t))}\n\t\t\t</RadixSelect.Content>\n\t\t</RadixSelect.Root>\n\t)\n})\nexport const Select: FC<SelectProps> = React.memo(_Select)\n","import React, { FC, forwardRef, useMemo } from \"react\"\nimport { Text, TextField as RadixTextField } from \"@radix-ui/themes\"\nimport classNames from \"classnames\"\nimport { applyResponsiveMapping, useSeverityColor } from \"../utils.ts\"\nimport { SizeMapping } from \"../constants.ts\"\nimport { InputProps } from \"./typings.ts\"\n\nimport styles from \"./Input.module.sass\"\n\nconst _Input = forwardRef(function Input(\n\t{\n\t\tclassName,\n\t\tleftIcon,\n\t\trightIcon,\n\t\tsize = \"medium\",\n\t\tshowInputLength,\n\t\tvalue,\n\t\tvariant,\n\t\tseverity = \"primary\",\n\t\t...rest\n\t}: InputProps,\n\tref: React.Ref<HTMLInputElement>,\n) {\n\tconst computedSize = useMemo(() => {\n\t\treturn applyResponsiveMapping(size, SizeMapping)\n\t}, [size])\n\n\tconst color = useSeverityColor(severity)\n\n\tconst displayInputLength = showInputLength || (showInputLength === undefined && rest.maxLength !== undefined)\n\tconst valueAsString = value !== undefined ? value.toString() : undefined\n\n\treturn (\n\t\t<RadixTextField.Root\n\t\t\tclassName={classNames({\n\t\t\t\t[styles.accommodateCharCount!]: displayInputLength,\n\t\t\t})}\n\t\t\tsize={computedSize}\n\t\t\tvariant={variant}\n\t\t\tcolor={color}\n\t\t>\n\t\t\t<RadixTextField.Slot>{leftIcon}</RadixTextField.Slot>\n\t\t\t<RadixTextField.Input\n\t\t\t\tclassName={classNames(styles.default, className, {\n\t\t\t\t\t[styles.noLeftIcon!]: !leftIcon,\n\t\t\t\t\t[styles.noRightIcon!]: !rightIcon,\n\t\t\t\t})}\n\t\t\t\tref={ref}\n\t\t\t\tsize={computedSize}\n\t\t\t\tvariant={variant}\n\t\t\t\tcolor={color}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t\t<RadixTextField.Slot>{rightIcon}</RadixTextField.Slot>\n\t\t\t{displayInputLength && (\n\t\t\t\t<Text as=\"p\" className={styles.charCount} size=\"1\" color=\"gray\">\n\t\t\t\t\t{rest.maxLength !== undefined\n\t\t\t\t\t\t? `${valueAsString?.length}/${rest.maxLength}`\n\t\t\t\t\t\t: `${valueAsString?.length}`}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</RadixTextField.Root>\n\t)\n})\nexport const Input: FC<InputProps> = React.memo(_Input)\n","import React, { forwardRef, FC } from \"react\"\nimport { Popover as RadixPopover } from \"@radix-ui/themes\"\nimport { PopoverProps } from \"./typings.ts\"\n\nconst _Popover = forwardRef(function Popover(\n\t{ defaultOpen = false, modal = false, content, children, ...rest }: PopoverProps,\n\tref: React.Ref<HTMLDivElement>,\n) {\n\treturn (\n\t\t<RadixPopover.Root defaultOpen={defaultOpen} modal={modal}>\n\t\t\t<RadixPopover.Trigger>{children}</RadixPopover.Trigger>\n\t\t\t<RadixPopover.Content ref={ref} {...rest}>\n\t\t\t\t{content(RadixPopover.Close)}\n\t\t\t</RadixPopover.Content>\n\t\t</RadixPopover.Root>\n\t)\n})\nexport const Popover: FC<PopoverProps> = React.memo(_Popover)\n","import { FC, forwardRef, memo, Ref } from \"react\"\nimport { Item, Root } from \"@radix-ui/react-toggle-group\"\nimport { ToggleGroupItemProps, ToggleGroupSingleProps } from \"./typings.ts\"\nimport { IconButton } from \"../Buttons\"\nimport classNames from \"classnames\"\nimport { ButtonGroup } from \"../ButtonGroup\"\n\nconst _ToggleGroup = forwardRef(function ToggleGroup(\n\t{\n\t\tclassName,\n\t\titems,\n\t\torientation = \"horizontal\",\n\t\tmerged = true,\n\t\tvalue,\n\t\tseverity,\n\t\tgap,\n\t\tsize,\n\t\t...rest\n\t}: ToggleGroupSingleProps,\n\tref: Ref<HTMLDivElement>,\n) {\n\treturn (\n\t\t<Root\n\t\t\tclassName={classNames(\"overmap-toggle-group\", className)}\n\t\t\tref={ref}\n\t\t\tvalue={value}\n\t\t\torientation={orientation}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<ButtonGroup\n\t\t\t\twidth=\"min-content\"\n\t\t\t\theight=\"min-content\"\n\t\t\t\tmerged={merged}\n\t\t\t\tdirection={orientation === \"vertical\" ? \"column\" : \"row\"}\n\t\t\t\tgap={gap}\n\t\t\t>\n\t\t\t\t{items.map(({ children, ...rest }: ToggleGroupItemProps) => (\n\t\t\t\t\t<Item asChild {...rest} key={rest.value}>\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tclassName={classNames(\"overmap-toggle-group-button\")}\n\t\t\t\t\t\t\taria-label={rest.value}\n\t\t\t\t\t\t\tseverity={severity}\n\t\t\t\t\t\t\tvariant={rest.value === value ? \"solid\" : \"soft\"}\n\t\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t</Item>\n\t\t\t\t))}\n\t\t\t</ButtonGroup>\n\t\t</Root>\n\t)\n})\n\n/** The Toggle Group Component is a user interface element that allows users to select a single option from a set of\n * mutually exclusive choices. It is commonly used in situations where users need to make a single selection from a\n * predefined list of options. This component is built using the ButtonGroup and IconButton components in combination\n * with the Radix Toggle Group primitive found here https://www.radix-ui.com/primitives/docs/components/toggle-group */\nexport const ToggleGroup: FC<ToggleGroupSingleProps> = memo(_ToggleGroup)\n","import { FC, forwardRef, memo, Ref, useCallback } from \"react\"\nimport * as RadixToast from \"@radix-ui/react-toast\"\nimport { Callout, Flex } from \"@radix-ui/themes\"\nimport { Cross2Icon, InfoCircledIcon } from \"@radix-ui/react-icons\"\nimport classNames from \"classnames\"\nimport { IconButton } from \"../Buttons\"\nimport { ToastProps, ToastProviderProps } from \"./typings.ts\"\nimport { useSeverityColor } from \"../utils.ts\"\n\nimport styles from \"./Toast.module.sass\"\n\nconst _Toast = forwardRef(function Toast(\n\t{ title, description, icon, severity = \"primary\", size, onClose, ...rest }: ToastProps,\n\tref: Ref<HTMLLIElement>,\n) {\n\tconst color = useSeverityColor(severity)\n\tconst handleOpenChange = useCallback(\n\t\t(open: boolean) => {\n\t\t\tif (!open && onClose) onClose()\n\t\t},\n\t\t[onClose],\n\t)\n\n\treturn (\n\t\t<RadixToast.Root asChild ref={ref} {...rest} onOpenChange={handleOpenChange}>\n\t\t\t<Callout.Root\n\t\t\t\tclassName={classNames(\"overmap-toast\", styles.wrapper)}\n\t\t\t\tvariant=\"surface\"\n\t\t\t\tcolor={color}\n\t\t\t\tsize={size}\n\t\t\t>\n\t\t\t\t<Flex width=\"100%\" align=\"center\" gap=\"4\" justify=\"between\">\n\t\t\t\t\t<Flex align=\"center\" gap=\"4\">\n\t\t\t\t\t\t<Callout.Icon>{icon || <InfoCircledIcon />}</Callout.Icon>\n\t\t\t\t\t\t<Flex direction=\"column\" gap=\"0\">\n\t\t\t\t\t\t\t<RadixToast.Title asChild>\n\t\t\t\t\t\t\t\t<Callout.Text weight=\"bold\">{title}</Callout.Text>\n\t\t\t\t\t\t\t</RadixToast.Title>\n\t\t\t\t\t\t\t<RadixToast.Description asChild>\n\t\t\t\t\t\t\t\t<Callout.Text weight=\"light\">{description}</Callout.Text>\n\t\t\t\t\t\t\t</RadixToast.Description>\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t</Flex>\n\t\t\t\t\t<RadixToast.Close asChild>\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tclassName={styles.closeButton}\n\t\t\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tseverity={severity}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Cross2Icon />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t</RadixToast.Close>\n\t\t\t\t</Flex>\n\t\t\t</Callout.Root>\n\t\t</RadixToast.Root>\n\t)\n})\n\nexport const ToastProvider: FC<ToastProviderProps> = memo(function ToastProvider({\n\tchildren,\n\t...rest\n}: ToastProviderProps) {\n\treturn (\n\t\t<RadixToast.Provider swipeDirection=\"right\" swipeThreshold={75} {...rest}>\n\t\t\t{children}\n\t\t</RadixToast.Provider>\n\t)\n})\n\nexport const Toast: FC<ToastProps> = memo(_Toast)\nexport const ToastViewport: FC<RadixToast.ToastViewportProps> = RadixToast.Viewport\n","import { memo, createContext, useState, useCallback, FC } from \"react\"\nimport { IToastContext, SimpleToastMessage, ToastContextProviderProps, ToastProps } from \"./typings.ts\"\nimport { Toast, ToastProvider, ToastViewport } from \"./Toast.tsx\"\n\nexport const ToastContext = createContext({} as IToastContext)\n\nexport const ToastContextProvider: FC<ToastContextProviderProps> = memo(function ToastContextProvider({\n\tchildren,\n\t// Use this class to change where the viewport for the toasts should be\n\tviewportClass,\n\thotkey,\n\t// Default duration value for all Toasts\n\tduration = 10000,\n\t...rest\n}: ToastContextProviderProps) {\n\tconst [toasts, setToasts] = useState<ToastProps[]>([])\n\n\tconst showToast = useCallback((toastProps: ToastProps) => {\n\t\tsetToasts((prevToasts) => [...prevToasts, toastProps])\n\t}, [])\n\n\tconst showPrimary = useCallback(\n\t\t(simpleMessage: SimpleToastMessage) => {\n\t\t\tshowToast({ severity: \"primary\", ...simpleMessage })\n\t\t},\n\t\t[showToast],\n\t)\n\n\tconst showSuccess = useCallback(\n\t\t(simpleMessage: SimpleToastMessage) => {\n\t\t\tshowToast({ severity: \"success\", ...simpleMessage })\n\t\t},\n\t\t[showToast],\n\t)\n\n\tconst showError = useCallback(\n\t\t(simpleMessage: SimpleToastMessage) => {\n\t\t\tshowToast({ severity: \"danger\", ...simpleMessage })\n\t\t},\n\t\t[showToast],\n\t)\n\n\tconst showInfo = useCallback(\n\t\t(simpleMessage: SimpleToastMessage) => {\n\t\t\tshowToast({ severity: \"info\", ...simpleMessage })\n\t\t},\n\t\t[showToast],\n\t)\n\n\tconst deleteToastAtIndex = useCallback(\n\t\t(index: number) => {\n\t\t\tconst tempToasts = [...toasts]\n\t\t\ttempToasts.splice(index, 1)\n\t\t\tsetToasts(() => tempToasts)\n\t\t},\n\t\t[toasts],\n\t)\n\n\tconst toastContextValue = {\n\t\tshowToast,\n\t\tshowPrimary,\n\t\tshowSuccess,\n\t\tshowError,\n\t\tshowInfo,\n\t}\n\n\treturn (\n\t\t<ToastContext.Provider value={toastContextValue}>\n\t\t\t<ToastProvider duration={duration} {...rest}>\n\t\t\t\t<ToastViewport className={viewportClass} hotkey={hotkey} />\n\t\t\t\t{toasts.map((toastProps, index) => (\n\t\t\t\t\t<Toast key={index} {...toastProps} onClose={() => deleteToastAtIndex(index)} />\n\t\t\t\t))}\n\t\t\t\t{children}\n\t\t\t</ToastProvider>\n\t\t</ToastContext.Provider>\n\t)\n})\n","import { Theme } from \"@radix-ui/themes\"\nimport { ComponentProps, memo } from \"react\"\n// css file contains updates to the default radix tokens\nimport \"./DefaultTheme.css\"\n\nexport type ThemeProps = ComponentProps<typeof Theme>\n\nexport const DefaultTheme = memo(function DefaultTheme(props: ThemeProps) {\n\treturn <Theme panelBackground=\"solid\" {...props} />\n})\n"],"names":["hasOwn","classNames","classes","i","arg","argType","inner","key","module","hoverEffectClassNameMapping","styles","applyResponsiveMapping","value","mapping","_value","nonThemeSeverityMapping","useSeverityColor","severity","theme","useThemeContext","SizeMapping","_Button","forwardRef","className","fluid","size","hoverEffects","type","rest","ref","color","hoverEffectClasses","hoverEffect","jsx","RadixButton","Button","React","children","RadixIconButton","IconButton","GhostVariantSizeToGapMapping","_ButtonGroup","merged","gap","direction","variant","Flex","child","index","cloneElement","ButtonGroup","memo","DialogContent","props","title","description","content","closeDialog","jsxs","Dialog","Cross1Icon","onOpen","onCloseInterrupt","contentProps","open","setOpen","useState","handleOpenChange","useCallback","next","options","RadixDialog","Title","AlertDialog","AlertDialogContent","actionText","cancelText","onAction","onCancel","helpers","useMemo","RadixAlertDialog","createContext","initialState","AlertDialogProvider","state","setState","openDialog","useAlertDialog","useContext","_Select","placeholder","side","items","mappedSize","createElement","RadixSelect","label","Select","_Input","leftIcon","rightIcon","showInputLength","computedSize","displayInputLength","valueAsString","RadixTextField","Text","Input","_Popover","defaultOpen","modal","RadixPopover","Popover","_ToggleGroup","orientation","Root","Item","ToggleGroup","_Toast","icon","onClose","RadixToast","Callout","InfoCircledIcon","Cross2Icon","ToastProvider","Toast","ToastViewport","ToastContext","ToastContextProvider","viewportClass","hotkey","duration","toasts","setToasts","showToast","toastProps","prevToasts","showPrimary","simpleMessage","showSuccess","showError","showInfo","deleteToastAtIndex","tempToasts","toastContextValue","DefaultTheme","Theme"],"mappings":";;;;gBAOC,UAAY,CAGZ,IAAIA,EAAS,CAAE,EAAC,eAGhB,SAASC,GAAa,CAGrB,QAFIC,EAAU,CAAA,EAELC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CAC1C,IAAIC,EAAM,UAAUD,CAAC,EACrB,GAAKC,EAEL,KAAIC,EAAU,OAAOD,EAErB,GAAIC,IAAY,UAAYA,IAAY,SACvCH,EAAQ,KAAKE,CAAG,UACN,MAAM,QAAQA,CAAG,GAC3B,GAAIA,EAAI,OAAQ,CACf,IAAIE,EAAQL,EAAW,MAAM,KAAMG,CAAG,EAClCE,GACHJ,EAAQ,KAAKI,CAAK,CAEnB,UACSD,IAAY,SAAU,CAChC,GAAID,EAAI,WAAa,OAAO,UAAU,UAAY,CAACA,EAAI,SAAS,SAAQ,EAAG,SAAS,eAAe,EAAG,CACrGF,EAAQ,KAAKE,EAAI,SAAU,CAAA,EAC3B,QACA,CAED,QAASG,KAAOH,EACXJ,EAAO,KAAKI,EAAKG,CAAG,GAAKH,EAAIG,CAAG,GACnCL,EAAQ,KAAKK,CAAG,CAGlB,EACD,CAED,OAAOL,EAAQ,KAAK,GAAG,CACvB,CAEoCM,EAAO,SAC3CP,EAAW,QAAUA,EACrBO,EAAA,QAAiBP,GAOjB,OAAO,WAAaA,CAEtB,uCCxDaQ,EAA6E,CACzF,gBAAiBC,EAAO,qBACxB,iBAAkBA,EAAO,sBACzB,iBAAkBA,EAAO,qBAC1B,ECKgB,SAAAC,EAA4CC,EAAsBC,EAAuB,CACpG,GAAA,OAAOD,GAAU,SAAU,CAC1B,GAAA,EAAE,YAAaA,GAEZ,MAAA,IAAI,MAAM,0DAA0D,EAE3E,OAAO,OAAO,YAAY,OAAO,QAAQA,CAAK,EAAE,IAAI,CAAC,CAACL,EAAKO,CAAM,IAAM,CAACP,EAAKM,EAAQC,CAAM,CAAC,CAAC,CAAC,CAAA,KAE9F,QAAOD,EAAQD,CAAK,CAEtB,CAEA,MAAMG,EAA0B,CAC/B,QAAS,QACT,OAAQ,MACR,KAAM,MACP,EAKaC,EAAoBC,GAAoC,CACpE,MAAMC,EAAQC,EAAAA,kBACd,OAAIF,IAAa,UAAkBC,EAAM,YAElCH,EAAwBE,CAAQ,CACxC,ECnCaG,EAA6C,CACzD,MAAO,IACP,OAAQ,IACR,MAAO,GACR,ECEMC,EAAUC,EAAW,WAAA,SAC1B,CAAE,UAAAC,EAAW,MAAAC,EAAO,KAAAC,EAAO,SAAU,SAAAR,EAAW,UAAW,aAAAS,EAAc,KAAAC,EAAO,SAAU,GAAGC,GAC7FC,EACC,CACK,MAAAC,EAAQd,EAAiBC,CAAQ,EACjCc,GACLL,GAAA,YAAAA,EAAc,IAAKM,GACXvB,EAA4BuB,CAAW,KACzC,CAAA,EAGN,OAAAC,EAAA,IAACC,EAAA,OAAA,CACA,IAAAL,EACA,UAAW5B,EAAWsB,EAAWQ,EAAoB,CACpD,CAACrB,EAAO,KAAM,EAAGc,CAAA,CACjB,EACD,MAAAM,EACA,KAAMnB,EAAuBc,EAAML,CAAW,EAC9C,KAAAO,EACC,GAAGC,CAAA,CAAA,CAGP,CAAC,EAGKO,EAA0BC,EAAM,KAAKf,CAAO,ECpB5CA,EAAUC,EAAAA,WAAW,SAC1B,CACC,UAAAC,EACA,SAAAc,EACA,KAAAZ,EAAO,SACP,SAAAR,EAAW,UACX,aAAAS,EACA,KAAAC,EAAO,SACP,GAAGC,CACJ,EACAC,EACC,CACK,MAAAC,EAAQd,EAAiBC,CAAQ,EACjCc,GACLL,GAAA,YAAAA,EAAc,IAAKM,GACXvB,EAA4BuB,CAAW,KACzC,CAAA,EAGN,OAAAC,EAAA,IAACK,EAAA,WAAA,CACA,UAAWrC,EAAWsB,EAAWQ,EAAoBrB,EAAO,OAAO,EACnE,IAAAmB,EACA,MAAAC,EACA,KAAMnB,EAAuBc,EAAML,CAAW,EAC9C,KAAAO,EACC,GAAGC,EAEH,SAAAS,CAAA,CAAA,CAGJ,CAAC,EAIKE,EAAkCH,EAAM,KAAKf,CAAO,+BCtCpDmB,EAAgG,CACrG,IAAK,CAAE,MAAO,IAAK,OAAQ,IAAK,MAAO,GAAI,EAC3C,OAAQ,CAAE,MAAO,IAAK,OAAQ,IAAK,MAAO,GAAI,CAC/C,EAEMC,EAAenB,EAAAA,WAAW,SAC/B,CACC,UAAAC,EACA,OAAAmB,EAAS,GACT,SAAAL,EACA,IAAAM,EAAM,IACN,UAAAC,EAAY,MACZ,SAAA3B,EAAW,UACX,KAAAQ,EAAO,SACP,QAAAoB,EAAU,QACV,aAAAnB,EACA,GAAGE,CACJ,EACAC,EACC,CAEA,OAAAI,EAAA,IAACa,EAAA,KAAA,CACA,UAAW7C,EAAW,uBAAwBsB,EAAW,CACxD,CAACb,EAAO,MAAO,EAAGgC,CAAA,CAClB,EACD,IAAAb,EACA,IACCa,EACGG,IAAY,QACXlC,EAAuBc,EAAMe,EAA6BI,CAAS,CAAC,EACpE,IACDD,EAEJ,UAAAC,EACA,iBAAgBA,EACf,GAAGhB,EAEH,SAASS,EAAA,IAAI,CAACU,EAAOC,IACjBD,EAAM,OAASZ,GAAUY,EAAM,OAASR,EACpCU,EAAA,aAAaF,EAAO,CAAE,IAAKC,EAAO,KAAAvB,EAAM,SAAAR,EAAU,QAAA4B,EAAS,aAAAnB,CAAA,CAAc,EAEzEqB,CAER,CAAA,CAAA,CAGJ,CAAC,EAMYG,EAAoCC,OAAKV,CAAY,ECzDrDW,GAAgBD,EAAA,KAAK,SAAuBE,EAA2B,CACnF,KAAM,CAAE,MAAAC,EAAO,YAAAC,EAAa,QAAAC,EAAS,YAAAC,GAAgBJ,EACrD,OACEK,EAAAA,KAAAZ,EAAAA,KAAA,CAAK,UAAU,SAAS,IAAI,IAC5B,SAAA,CAAAY,EAAA,KAACZ,EAAK,KAAA,CAAA,UAAU,SAAS,IAAI,IAC5B,SAAA,CAACY,EAAAA,KAAAZ,EAAAA,KAAA,CAAK,QAAQ,UACb,SAAA,CAAAb,EAAA,IAAC0B,EAAO,OAAA,MAAP,CAAa,GAAG,IAAK,SAAML,EAAA,EAC3BrB,MAAA0B,EAAAA,OAAO,MAAP,CACA,eAACpB,EAAW,WAAA,CAAA,MAAM,OAAO,QAAQ,QAAQ,aAAW,QACnD,SAACN,EAAA,IAAA2B,aAAA,CAAA,CAAW,CACb,CAAA,EACD,CAAA,EACD,EACC3B,EAAAA,IAAA0B,EAAAA,OAAO,YAAP,CAAoB,SAAYJ,CAAA,CAAA,CAAA,EAClC,EACCC,EAAQC,CAAW,CACrB,CAAA,CAAA,CAEF,CAAC,ECdYE,GAASR,EAAA,KAAK,SAAgBE,EAAoB,CAC9D,KAAM,CAAE,SAAAhB,EAAU,KAAAZ,EAAM,OAAAoC,EAAQ,iBAAAC,EAAkB,GAAGC,CAAiB,EAAAV,EAChE,CAACW,EAAMC,CAAO,EAAIC,WAAS,EAAK,EAEhCC,EAAmBC,EAAA,YACvBC,GAAkB,CAClB,GAAIA,GAAQR,EACJA,YACG,CAACQ,GAAQP,EAMnB,OAAOA,EAJc,IAAMG,EAAQ,EAAK,CAIJ,EAGrCA,EAAQI,CAAI,CACb,EACA,CAACR,EAAQC,CAAgB,CAAA,EAGpBL,EAAcW,EAAA,YAClBE,GAAY,CACZ,GAAIA,GAAA,MAAAA,EAAS,MAEZ,OAAOL,EAAQ,EAAK,EAGrBE,EAAiB,EAAK,CACvB,EACA,CAACA,CAAgB,CAAA,EAGlB,cACEI,EAAAA,OAAY,KAAZ,CAAiB,KAAAP,EAAY,aAAcG,EAC3C,SAAA,CAAClC,EAAAA,IAAAsC,EAAA,OAAY,QAAZ,CAAoB,KAAA9C,EACpB,eAAC2B,GAAc,CAAA,YAAAK,EAA2B,GAAGM,CAAA,CAAc,CAC5D,CAAA,EAEC1B,EAASkC,SAAY,OAAO,CAC9B,CAAA,CAAA,CAEF,CAAC,EC/CYC,EAAoCnB,GAC/CpB,EAAA,IAAAwC,cAAY,MAAZ,CAAkB,GAAG,IAAK,GAAGpB,CAAO,CAAA,EAGzBqB,GAAsBrB,GAAsC,CAClE,KAAA,CAAE,MAAAC,EAAO,YAAAC,EAAa,WAAAoB,EAAa,UAAW,WAAAC,EAAa,SAAU,SAAAC,EAAU,SAAAC,EAAU,SAAA7D,CAAA,EAAaoC,EAC5G,OACEK,EAAAA,KAAAZ,EAAAA,KAAA,CAAK,UAAU,SAAS,IAAI,IAC5B,SAAA,CAAAY,EAAA,KAACZ,EAAK,KAAA,CAAA,UAAU,SAAS,IAAI,IAC5B,SAAA,CAAAb,EAAAA,IAACuC,GAAO,SAAMlB,CAAA,CAAA,EACbrB,EAAAA,IAAAwC,EAAAA,YAAY,YAAZ,CAAyB,SAAYlB,CAAA,CAAA,CAAA,EACvC,SAECT,EAAAA,KAAK,CAAA,IAAI,IAAI,GAAG,IAAI,QAAQ,MAC5B,SAAA,CAAAb,EAAA,IAACwC,EAAY,YAAA,OAAZ,CACA,SAAAxC,EAAA,IAACE,EAAO,CAAA,QAAQ,OAAO,SAAS,OAAO,QAAS2C,EAC9C,SAAAF,CACF,CAAA,EACD,EACC3C,EAAA,IAAAwC,EAAA,YAAY,OAAZ,CACA,SAACxC,EAAAA,IAAAE,EAAA,CAAO,QAAQ,QAAQ,SAAAlB,EAAoB,QAAS4D,EACnD,SAAAF,CACF,CAAA,EACD,CAAA,EACD,CACD,CAAA,CAAA,CAEF,ECnBaF,EAActB,EAAA,KAAK,SAAqBE,EAAyB,CAC7E,KAAM,CAAE,KAAAW,EAAM,QAAAC,EAAS,SAAA5B,EAAU,GAAG0B,CAAiB,EAAAV,EAE/C0B,EAAqCC,EAAAA,QAAQ,KAC3C,CACN,MAAO,IAAMf,EAAQ,EAAK,EAC1B,MAAAO,EACA,YAAaS,EAAiB,YAAA,WAAA,GAE7B,CAAChB,CAAO,CAAC,EAEZ,cACEgB,EAAAA,YAAiB,KAAjB,CAAsB,KAAAjB,EAAY,aAAcC,EAChD,SAAA,CAAAhC,EAAA,IAACgD,EAAiB,YAAA,QAAjB,CACC,SAAA,YAAalB,EAAeA,EAAa,QAAQgB,CAAO,EAAI9C,EAAAA,IAACyC,GAAoB,CAAA,GAAGX,CAAc,CAAA,EACpG,EACC1B,CACF,CAAA,CAAA,CAEF,CAAC,ECxBYqC,EAAqBQ,gBAAsC,IAAM,CACvE,MAAA,IAAI,MAAM,8BAA8B,CAC/C,CAAC,EAEKC,GAAmC,CACxC,QAAS,IAAM,IAChB,EAEaC,GAAsBjC,EAAAA,KAAK,SAA6B,CAAE,SAAAd,GAAsC,CAC5G,KAAM,CAAC2B,EAAMC,CAAO,EAAIC,WAAS,EAAK,EAChC,CAACmB,EAAOC,CAAQ,EAAIpB,WAA6BiB,EAAY,EAE7DI,EAAanB,EAAA,YACjBE,GAAY,CACR,GAAAN,EAAY,MAAA,IAAI,MAAM,6BAA6B,EAEvDsB,EAAShB,CAAO,EAChBL,EAAQ,EAAI,CACb,EACA,CAACD,CAAI,CAAA,EAGN,OACE/B,EAAAA,IAAAwC,EAAA,CAAY,KAAAT,EAAY,QAAAC,EAAmB,GAAGoB,EAC9C,SAACpD,EAAA,IAAAyC,EAAmB,SAAnB,CAA4B,MAAOa,EAAa,SAAAlD,EAAS,CAC3D,CAAA,CAEF,CAAC,EChCYmD,GAAiB,IACtBC,EAAAA,WAAWf,CAAkB,8BCK/BgB,GAAUpE,EAAAA,WAAW,SAC1B,CACC,UAAAC,EACA,MAAAC,EACA,KAAAC,EAAO,SACP,QAAAoB,EAAU,UACV,SAAA5B,EAAW,UACX,YAAA0E,EAAc,SACd,KAAAC,EACA,MAAAC,EAAQ,CAAC,EACT,MAAAjF,EACA,GAAGgB,CACJ,EACAC,EACC,CACK,MAAAiE,EAAad,EAAAA,QAAQ,IACnBrE,EAAuBc,EAAML,CAAW,EAC7C,CAACK,CAAI,CAAC,EACHK,EAAQd,EAAiBC,CAAQ,EAIvC,OACE8E,EAAAA,cAAAC,EAAAA,OAAY,KAAZ,CAAiB,KAAMF,EAAa,GAAGlE,EAAM,IAAKhB,IAAU,OAAY,EAAI,EAAG,MAAAA,CAC/E,EAAAqB,EAAA,IAAC+D,EAAAA,OAAY,QAAZ,CACA,UAAW/F,EAAWsB,EAAW,CAChC,CAACb,GAAO,KAAM,EAAGc,CAAA,CACjB,EACD,IAAAK,EACA,QAAAgB,EACA,YAAA8C,EACA,MAAA7D,CAAA,CAAA,EAEDG,EAAA,IAAC+D,EAAAA,OAAY,QAAZ,CACA,KAAAJ,EACA,SAAS,SACT,QAAS/C,IAAY,UAAY,OAAS,QAC1C,MAAAf,EAEC,SAAA+D,EAAM,IAAI,CAAC,CAAE,MAAAI,EAAO,MAAArF,EAAO,GAAGgB,WAC7BoE,EAAAA,OAAY,KAAZ,CAA6B,MAAOpF,EAAQ,GAAGgB,EAC9C,SAAAqE,GADqBrF,CAEvB,CACA,CAAA,CAAA,CAEH,CAEF,CAAC,EACYsF,GAA0B9D,EAAM,KAAKsD,EAAO,2LChDnDS,GAAS7E,EAAAA,WAAW,SACzB,CACC,UAAAC,EACA,SAAA6E,EACA,UAAAC,EACA,KAAA5E,EAAO,SACP,gBAAA6E,EACA,MAAA1F,EACA,QAAAiC,EACA,SAAA5B,EAAW,UACX,GAAGW,CACJ,EACAC,EACC,CACK,MAAA0E,EAAevB,EAAAA,QAAQ,IACrBrE,EAAuBc,EAAML,CAAW,EAC7C,CAACK,CAAI,CAAC,EAEHK,EAAQd,EAAiBC,CAAQ,EAEjCuF,EAAqBF,GAAoBA,IAAoB,QAAa1E,EAAK,YAAc,OAC7F6E,EAAgB7F,IAAU,OAAYA,EAAM,WAAa,OAG9D,OAAA8C,EAAA,KAACgD,EAAAA,UAAe,KAAf,CACA,UAAWzG,EAAW,CACrB,CAACS,EAAO,oBAAqB,EAAG8F,CAAA,CAChC,EACD,KAAMD,EACN,QAAA1D,EACA,MAAAf,EAEA,SAAA,CAACG,EAAAA,IAAAyE,EAAAA,UAAe,KAAf,CAAqB,SAASN,CAAA,CAAA,EAC/BnE,EAAA,IAACyE,EAAAA,UAAe,MAAf,CACA,UAAWzG,EAAWS,EAAO,QAASa,EAAW,CAChD,CAACb,EAAO,UAAW,EAAG,CAAC0F,EACvB,CAAC1F,EAAO,WAAY,EAAG,CAAC2F,CAAA,CACxB,EACD,IAAAxE,EACA,KAAM0E,EACN,QAAA1D,EACA,MAAAf,EACC,GAAGF,CAAA,CACL,EACCK,EAAAA,IAAAyE,EAAAA,UAAe,KAAf,CAAqB,SAAUL,CAAA,CAAA,EAC/BG,GACCvE,EAAAA,IAAA0E,EAAAA,KAAA,CAAK,GAAG,IAAI,UAAWjG,EAAO,UAAW,KAAK,IAAI,MAAM,OACvD,WAAK,YAAc,OACjB,GAAG+F,GAAA,YAAAA,EAAe,MAAM,IAAI7E,EAAK,SAAS,GAC1C,GAAG6E,GAAA,YAAAA,EAAe,MAAM,EAC5B,CAAA,CAAA,CAAA,CAAA,CAIJ,CAAC,EACYG,GAAwBxE,EAAM,KAAK+D,EAAM,EC5DhDU,GAAWvF,EAAAA,WAAW,SAC3B,CAAE,YAAAwF,EAAc,GAAO,MAAAC,EAAQ,GAAO,QAAAvD,EAAS,SAAAnB,EAAU,GAAGT,CAAA,EAC5DC,EACC,CACD,OACE6B,EAAAA,KAAAsD,EAAAA,QAAa,KAAb,CAAkB,YAAAF,EAA0B,MAAAC,EAC5C,SAAA,CAAC9E,EAAAA,IAAA+E,EAAA,QAAa,QAAb,CAAsB,SAAA3E,CAAS,CAAA,EAChCJ,EAAAA,IAAC+E,EAAa,QAAA,QAAb,CAAqB,IAAAnF,EAAW,GAAGD,EAClC,SAAA4B,EAAQwD,UAAa,KAAK,CAC5B,CAAA,CACD,CAAA,CAAA,CAEF,CAAC,EACYC,GAA4B7E,EAAM,KAAKyE,EAAQ,ECVtDK,GAAe5F,EAAAA,WAAW,SAC/B,CACC,UAAAC,EACA,MAAAsE,EACA,YAAAsB,EAAc,aACd,OAAAzE,EAAS,GACT,MAAA9B,EACA,SAAAK,EACA,IAAA0B,EACA,KAAAlB,EACA,GAAGG,CACJ,EACAC,EACC,CAEA,OAAAI,EAAA,IAACmF,EAAA,KAAA,CACA,UAAWnH,EAAW,uBAAwBsB,CAAS,EACvD,IAAAM,EACA,MAAAjB,EACA,YAAAuG,EACC,GAAGvF,EAEJ,SAAAK,EAAA,IAACiB,EAAA,CACA,MAAM,cACN,OAAO,cACP,OAAAR,EACA,UAAWyE,IAAgB,WAAa,SAAW,MACnD,IAAAxE,EAEC,WAAM,IAAI,CAAC,CAAE,SAAAN,EAAU,GAAGT,CAAK,IAC9BmE,EAAA,cAAAsB,EAAA,KAAA,CAAK,QAAO,GAAE,GAAGzF,EAAM,IAAKA,EAAK,KACjC,EAAAK,EAAA,IAACM,EAAA,CACA,UAAWtC,EAAW,6BAA6B,EACnD,aAAY2B,EAAK,MACjB,SAAAX,EACA,QAASW,EAAK,QAAUhB,EAAQ,QAAU,OAC1C,KAAAa,EAEC,SAAAY,CAAA,CAAA,CAEH,CACA,CAAA,CACF,CAAA,CAAA,CAGH,CAAC,EAMYiF,GAA0CnE,OAAK+D,EAAY,kEC/ClEK,GAASjG,EAAAA,WAAW,SACzB,CAAE,MAAAgC,EAAO,YAAAC,EAAa,KAAAiE,EAAM,SAAAvG,EAAW,UAAW,KAAAQ,EAAM,QAAAgG,EAAS,GAAG7F,CAAA,EACpEC,EACC,CACK,MAAAC,EAAQd,EAAiBC,CAAQ,EACjCkD,EAAmBC,EAAA,YACvBJ,GAAkB,CACd,CAACA,GAAQyD,GAAiBA,GAC/B,EACA,CAACA,CAAO,CAAA,EAIR,OAAAxF,MAACyF,EAAW,KAAX,CAAgB,QAAO,GAAC,IAAA7F,EAAW,GAAGD,EAAM,aAAcuC,EAC1D,SAAAlC,EAAA,IAAC0F,EAAAA,QAAQ,KAAR,CACA,UAAW1H,EAAW,gBAAiBS,EAAO,OAAO,EACrD,QAAQ,UACR,MAAAoB,EACA,KAAAL,EAEA,SAAAiC,EAAAA,KAACZ,EAAAA,MAAK,MAAM,OAAO,MAAM,SAAS,IAAI,IAAI,QAAQ,UACjD,SAAA,CAAAY,EAAA,KAACZ,EAAK,KAAA,CAAA,MAAM,SAAS,IAAI,IACxB,SAAA,CAAAb,MAAC0F,EAAAA,QAAQ,KAAR,CAAc,SAAQH,GAAAvF,MAAC2F,EAAAA,iBAAgB,CAAA,EAAG,EAC1ClE,EAAA,KAAAZ,EAAA,KAAA,CAAK,UAAU,SAAS,IAAI,IAC5B,SAAA,CAAAb,EAAA,IAACyF,EAAW,MAAX,CAAiB,QAAO,GACxB,SAAAzF,EAAA,IAAC0F,EAAQ,QAAA,KAAR,CAAa,OAAO,OAAQ,SAAArE,CAAM,CAAA,EACpC,EACCrB,EAAA,IAAAyF,EAAW,YAAX,CAAuB,QAAO,GAC9B,SAACzF,EAAA,IAAA0F,EAAA,QAAQ,KAAR,CAAa,OAAO,QAAS,UAAY,CAAA,EAC3C,CAAA,EACD,CAAA,EACD,EACC1F,EAAA,IAAAyF,EAAW,MAAX,CAAiB,QAAO,GACxB,SAAAzF,EAAA,IAACM,EAAA,CACA,UAAW7B,EAAO,YAClB,aAAW,QACX,QAAQ,QACR,KAAK,QACL,SAAAO,EAEA,eAAC4G,EAAW,WAAA,EAAA,CAAA,CAAA,EAEd,CAAA,EACD,CAAA,CAEF,CAAA,CAAA,CAEF,CAAC,EAEYC,EAAwC3E,EAAAA,KAAK,SAAuB,CAChF,SAAAd,EACA,GAAGT,CACJ,EAAuB,CAErB,OAAAK,MAACyF,EAAW,SAAX,CAAoB,eAAe,QAAQ,eAAgB,GAAK,GAAG9F,EAClE,SAAAS,CACF,CAAA,CAEF,CAAC,EAEY0F,EAAwB5E,OAAKoE,EAAM,EACnCS,EAAmDN,EAAW,SCpE9DO,EAAe/C,EAAc,cAAA,EAAmB,EAEhDgD,GAAsD/E,EAAAA,KAAK,SAA8B,CACrG,SAAAd,EAEA,cAAA8F,EACA,OAAAC,EAEA,SAAAC,EAAW,IACX,GAAGzG,CACJ,EAA8B,CAC7B,KAAM,CAAC0G,EAAQC,CAAS,EAAIrE,EAAA,SAAuB,CAAE,CAAA,EAE/CsE,EAAYpE,cAAaqE,GAA2B,CACzDF,EAAWG,GAAe,CAAC,GAAGA,EAAYD,CAAU,CAAC,CACtD,EAAG,CAAE,CAAA,EAECE,EAAcvE,EAAA,YAClBwE,GAAsC,CACtCJ,EAAU,CAAE,SAAU,UAAW,GAAGI,CAAe,CAAA,CACpD,EACA,CAACJ,CAAS,CAAA,EAGLK,EAAczE,EAAA,YAClBwE,GAAsC,CACtCJ,EAAU,CAAE,SAAU,UAAW,GAAGI,CAAe,CAAA,CACpD,EACA,CAACJ,CAAS,CAAA,EAGLM,EAAY1E,EAAA,YAChBwE,GAAsC,CACtCJ,EAAU,CAAE,SAAU,SAAU,GAAGI,CAAe,CAAA,CACnD,EACA,CAACJ,CAAS,CAAA,EAGLO,EAAW3E,EAAA,YACfwE,GAAsC,CACtCJ,EAAU,CAAE,SAAU,OAAQ,GAAGI,CAAe,CAAA,CACjD,EACA,CAACJ,CAAS,CAAA,EAGLQ,EAAqB5E,EAAA,YACzBpB,GAAkB,CACZ,MAAAiG,EAAa,CAAC,GAAGX,CAAM,EAClBW,EAAA,OAAOjG,EAAO,CAAC,EAC1BuF,EAAU,IAAMU,CAAU,CAC3B,EACA,CAACX,CAAM,CAAA,EAGFY,EAAoB,CACzB,UAAAV,EACA,YAAAG,EACA,YAAAE,EACA,UAAAC,EACA,SAAAC,CAAA,EAIA,OAAA9G,EAAA,IAACgG,EAAa,SAAb,CAAsB,MAAOiB,EAC7B,SAACxF,EAAAA,KAAAoE,EAAA,CAAc,SAAAO,EAAqB,GAAGzG,EACtC,SAAA,CAACK,EAAAA,IAAA+F,EAAA,CAAc,UAAWG,EAAe,OAAAC,CAAgB,CAAA,EACxDE,EAAO,IAAI,CAACG,EAAYzF,IACvBf,EAAAA,IAAA8F,EAAA,CAAmB,GAAGU,EAAY,QAAS,IAAMO,EAAmBhG,CAAK,CAAA,EAA9DA,CAAiE,CAC7E,EACAX,CAAA,CACF,CAAA,CACD,CAAA,CAEF,CAAC,QCtEY8G,GAAehG,EAAA,KAAK,SAAsBE,EAAmB,CACzE,OAAQpB,EAAAA,IAAAmH,EAAAA,MAAA,CAAM,gBAAgB,QAAS,GAAG/F,CAAO,CAAA,CAClD,CAAC","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"blocks.umd.cjs","sources":["../node_modules/classnames/index.js","../src/Buttons/constants.ts","../src/utils.ts","../src/constants.ts","../src/Buttons/Button.tsx","../src/Buttons/IconButton.tsx","../src/ButtonGroup/ButtonGroup.tsx","../src/Dialogs/Dialog/DialogContent.tsx","../src/Dialogs/Dialog/Dialog.tsx","../src/Dialogs/AlertDialog/AlertDialogContent.tsx","../src/Dialogs/AlertDialog/AlertDialog.tsx","../src/Dialogs/AlertDialog/context.tsx","../src/Dialogs/AlertDialog/hooks.ts","../src/Select/Select.tsx","../src/Input/Input.tsx","../src/Popover/Popover.tsx","../src/ToggleGroup/ToggleGroup.tsx","../src/Toast/Toast.tsx","../src/Toast/ToastContext.tsx","../src/Theme/DefaultTheme.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { ButtonHoverEffect } from \"./typings.ts\"\nimport styles from \"./Button.module.sass\"\n\nexport const hoverEffectClassNameMapping: Record<ButtonHoverEffect, string | undefined> = {\n\tspin90Clockwise: styles.hoverSpin90Clockwise,\n\tspin180Clockwise: styles.hoverSpin180Clockwise,\n\tspin360Clockwise: styles.hoverSpin360Clockwise,\n}\n","import { Responsive, useThemeContext } from \"@radix-ui/themes\"\nimport { ThemeProps } from \"Theme\"\nimport { Severity } from \"typings\"\n\n// applyResponsiveMapping is a helper function used to map the keys of a Radix Responsive type that can be understood\n// by a Radix component or primitive. The point of this is to leverage our own custom prop names and values while still\n// using Radix's built in Responsiveness functionality.\n/**\n * Returns an object with mapped key values or a single mapped value\n * @param value an object or string\n * @param mapping a Record mapping the object values of param value\n */\nexport function applyResponsiveMapping<T extends string, K>(value: Responsive<T>, mapping: Record<T, K>) {\n\tif (typeof value === \"object\") {\n\t\tif (!(\"initial\" in value)) {\n\t\t\t// Responsive objects require an 'initial' property to be set that acts as a default\n\t\t\tthrow new Error(\"Expected initial property to be set in Responsive object\")\n\t\t}\n\t\treturn Object.fromEntries(Object.entries(value).map(([key, _value]) => [key, mapping[_value]]))\n\t} else {\n\t\treturn mapping[value]\n\t}\n}\n\nconst nonThemeSeverityMapping = {\n\tsuccess: \"green\",\n\tdanger: \"red\",\n\tinfo: \"gray\",\n} as const\n\nexport type AccentColor = NonNullable<ThemeProps[\"accentColor\"]>\n\n/** Performs theme-sensitive mapping of a severity to radix color */\nexport const useSeverityColor = (severity: Severity): AccentColor => {\n\tconst theme = useThemeContext()\n\tif (severity === \"primary\") return theme.accentColor\n\n\treturn nonThemeSeverityMapping[severity]\n}\n","import { Size } from \"./typings.ts\"\n\n// Mappings\nexport const SizeMapping: Record<Size, \"1\" | \"2\" | \"3\"> = {\n\tsmall: \"1\",\n\tmedium: \"2\",\n\tlarge: \"3\",\n}\n","import React, { FC, forwardRef } from \"react\"\nimport { ButtonProps } from \"./typings.ts\"\nimport styles from \"./Button.module.sass\"\nimport classNames from \"classnames\"\nimport { Button as RadixButton } from \"@radix-ui/themes\"\nimport { hoverEffectClassNameMapping } from \"./constants.ts\"\nimport { applyResponsiveMapping, useSeverityColor } from \"../utils.ts\"\nimport { SizeMapping } from \"../constants.ts\"\n\nconst _Button = forwardRef(function Button(\n\t{ className, fluid, size = \"medium\", severity = \"primary\", hoverEffects, type = \"button\", ...rest }: ButtonProps,\n\tref: React.Ref<HTMLButtonElement>,\n) {\n\tconst color = useSeverityColor(severity)\n\tconst hoverEffectClasses =\n\t\thoverEffects?.map((hoverEffect) => {\n\t\t\treturn hoverEffectClassNameMapping[hoverEffect]\n\t\t}) || []\n\n\treturn (\n\t\t<RadixButton\n\t\t\tref={ref}\n\t\t\tclassName={classNames(className, hoverEffectClasses, {\n\t\t\t\t[styles.fluid!]: fluid,\n\t\t\t})}\n\t\t\tcolor={color}\n\t\t\tsize={applyResponsiveMapping(size, SizeMapping)}\n\t\t\ttype={type}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\n\n// using FC so storybook correctly displays the component props\nconst Button: FC<ButtonProps> = React.memo(_Button)\n\nexport default Button\n","import React, { FC, forwardRef } from \"react\"\nimport { ButtonProps } from \"./typings.ts\"\nimport classNames from \"classnames\"\nimport { IconButton as RadixIconButton } from \"@radix-ui/themes\"\nimport { hoverEffectClassNameMapping } from \"./constants.ts\"\nimport { applyResponsiveMapping, useSeverityColor } from \"../utils.ts\"\nimport { SizeMapping } from \"../constants.ts\"\n\nimport styles from \"./Button.module.sass\"\n\ninterface IconButtonProps extends Omit<ButtonProps, \"fluid\"> {\n\t\"aria-label\": string\n}\n\nconst _Button = forwardRef(function Button(\n\t{\n\t\tclassName,\n\t\tchildren,\n\t\tsize = \"medium\",\n\t\tseverity = \"primary\",\n\t\thoverEffects,\n\t\ttype = \"button\",\n\t\t...rest\n\t}: IconButtonProps,\n\tref: React.Ref<HTMLButtonElement>,\n) {\n\tconst color = useSeverityColor(severity)\n\tconst hoverEffectClasses =\n\t\thoverEffects?.map((hoverEffect) => {\n\t\t\treturn hoverEffectClassNameMapping[hoverEffect]\n\t\t}) || []\n\n\treturn (\n\t\t<RadixIconButton\n\t\t\tclassName={classNames(className, hoverEffectClasses, styles.default)}\n\t\t\tref={ref}\n\t\t\tcolor={color}\n\t\t\tsize={applyResponsiveMapping(size, SizeMapping)}\n\t\t\ttype={type}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</RadixIconButton>\n\t)\n})\n\n// using FC so storybook correctly displays the component props\n/** The `IconButton` is a `Button` variant specifically designed for single icons. */\nconst IconButton: FC<IconButtonProps> = React.memo(_Button)\n\nexport default IconButton\n","import { FC, forwardRef, memo, Ref, cloneElement } from \"react\"\nimport { Flex } from \"@radix-ui/themes\"\nimport classNames from \"classnames\"\nimport { ButtonGroupProps } from \"./typings.ts\"\n\nimport styles from \"./ButtonGroup.module.sass\"\nimport { Size } from \"../typings.ts\"\nimport { applyResponsiveMapping } from \"../utils.ts\"\nimport { Button, IconButton } from \"../Buttons\"\n\nconst GhostVariantSizeToGapMapping: Record<\"row\" | \"column\", Record<Size, ButtonGroupProps[\"gap\"]>> = {\n\trow: { small: \"4\", medium: \"4\", large: \"5\" },\n\tcolumn: { small: \"2\", medium: \"3\", large: \"4\" },\n}\n\nconst _ButtonGroup = forwardRef(function ButtonGroup(\n\t{\n\t\tclassName,\n\t\tmerged = false,\n\t\tchildren,\n\t\tgap = \"2\",\n\t\tdirection = \"row\",\n\t\tseverity = \"primary\",\n\t\tsize = \"medium\",\n\t\tvariant = \"solid\",\n\t\thoverEffects,\n\t\t...rest\n\t}: ButtonGroupProps,\n\tref: Ref<HTMLDivElement>,\n) {\n\treturn (\n\t\t<Flex\n\t\t\tclassName={classNames(\"overmap-button-group\", className, {\n\t\t\t\t[styles.merged!]: merged,\n\t\t\t})}\n\t\t\tref={ref}\n\t\t\tgap={\n\t\t\t\tmerged\n\t\t\t\t\t? variant === \"ghost\"\n\t\t\t\t\t\t? applyResponsiveMapping(size, GhostVariantSizeToGapMapping[direction])\n\t\t\t\t\t\t: \"0\"\n\t\t\t\t\t: gap\n\t\t\t}\n\t\t\tdirection={direction}\n\t\t\tdata-direction={direction}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children.map((child, index) => {\n\t\t\t\tif (child.type === Button || child.type === IconButton) {\n\t\t\t\t\treturn cloneElement(child, { key: index, size, severity, variant, hoverEffects })\n\t\t\t\t} else {\n\t\t\t\t\treturn child\n\t\t\t\t}\n\t\t\t})}\n\t\t</Flex>\n\t)\n})\n\n/** The ButtonGroup Component is a user interface element that groups multiple buttons together for improved user\n * interaction and visual clarity. It is commonly used to present related actions or options in a compact and organized\n * manner. The ButtonGroup supports all props of the RadixUI Flex layout component besides MarginProps,\n * further documentation for the Flex layout component can be found here https://www.radix-ui.com/themes/docs/components/flex */\nexport const ButtonGroup: FC<ButtonGroupProps> = memo(_ButtonGroup)\n","import { memo } from \"react\"\nimport { Dialog, Flex, IconButton } from \"@radix-ui/themes\"\nimport { Cross1Icon } from \"@radix-ui/react-icons\"\nimport { DialogContentProps } from \"./typings\"\n\nexport const DialogContent = memo(function DialogContent(props: DialogContentProps) {\n\tconst { title, description, content, closeDialog } = props\n\treturn (\n\t\t<Flex direction=\"column\" gap=\"2\">\n\t\t\t<Flex direction=\"column\" gap=\"1\">\n\t\t\t\t<Flex justify=\"between\">\n\t\t\t\t\t<Dialog.Title mb=\"0\">{title}</Dialog.Title>\n\t\t\t\t\t<Dialog.Close>\n\t\t\t\t\t\t<IconButton color=\"gray\" variant=\"ghost\" aria-label=\"Close\">\n\t\t\t\t\t\t\t<Cross1Icon />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t</Dialog.Close>\n\t\t\t\t</Flex>\n\t\t\t\t<Dialog.Description>{description}</Dialog.Description>\n\t\t\t</Flex>\n\t\t\t{content(closeDialog)}\n\t\t</Flex>\n\t)\n})\n","import { memo, useState, useCallback } from \"react\"\nimport { Dialog as RadixDialog } from \"@radix-ui/themes\"\nimport { DialogContent } from \"./DialogContent\"\nimport { CloseDialogWithOptions, DialogProps } from \"./typings\"\n\n/**\n * Display or collect information in a modal. Unlike the `AlertDialog`, the `Dialog`'s can be nested\n * and close when clicking outside of the dialog content.\n */\nexport const Dialog = memo(function Dialog(props: DialogProps) {\n\tconst { children, size, onOpen, onCloseInterrupt, ...contentProps } = props\n\tconst [open, setOpen] = useState(false)\n\n\tconst handleOpenChange = useCallback(\n\t\t(next: boolean) => {\n\t\t\tif (next && onOpen) {\n\t\t\t\tonOpen()\n\t\t\t} else if (!next && onCloseInterrupt) {\n\t\t\t\t// closes the dialog, bypassing the checks in `handleOpenChange`\n\t\t\t\tconst confirmClose = () => setOpen(false)\n\n\t\t\t\t// if onCloseInterrupt is passed, bypass the standard close behavior and require\n\t\t\t\t// the passed `confirmClose` to close the dialog\n\t\t\t\treturn onCloseInterrupt(confirmClose)\n\t\t\t}\n\n\t\t\tsetOpen(next)\n\t\t},\n\t\t[onOpen, onCloseInterrupt],\n\t)\n\n\tconst closeDialog = useCallback<CloseDialogWithOptions>(\n\t\t(options) => {\n\t\t\tif (options?.force) {\n\t\t\t\t// bypass the checks in the `handleOpenChange` function\n\t\t\t\treturn setOpen(false)\n\t\t\t}\n\n\t\t\thandleOpenChange(false)\n\t\t},\n\t\t[handleOpenChange],\n\t)\n\n\treturn (\n\t\t<RadixDialog.Root open={open} onOpenChange={handleOpenChange}>\n\t\t\t<RadixDialog.Content size={size}>\n\t\t\t\t<DialogContent closeDialog={closeDialog} {...contentProps} />\n\t\t\t</RadixDialog.Content>\n\n\t\t\t{children(RadixDialog.Trigger)}\n\t\t</RadixDialog.Root>\n\t)\n})\n","import { AlertDialog, Flex } from \"@radix-ui/themes\"\nimport { AlertDialogStandardContent } from \"./typings\"\nimport { Button } from \"../../Buttons\"\n\n// remove the margin-bottom from the title so that Flex works as expected\nexport const Title: typeof AlertDialog.Title = ((props) => (\n\t<AlertDialog.Title mb=\"0\" {...props} />\n)) as typeof AlertDialog.Title\n\nexport const AlertDialogContent = (props: AlertDialogStandardContent) => {\n\tconst { title, description, actionText = \"Confirm\", cancelText = \"Cancel\", onAction, onCancel, severity } = props\n\treturn (\n\t\t<Flex direction=\"column\" gap=\"2\">\n\t\t\t<Flex direction=\"column\" gap=\"1\">\n\t\t\t\t<Title>{title}</Title>\n\t\t\t\t<AlertDialog.Description>{description}</AlertDialog.Description>\n\t\t\t</Flex>\n\n\t\t\t<Flex gap=\"3\" mt=\"4\" justify=\"end\">\n\t\t\t\t<AlertDialog.Cancel>\n\t\t\t\t\t<Button variant=\"soft\" severity=\"info\" onClick={onCancel}>\n\t\t\t\t\t\t{cancelText}\n\t\t\t\t\t</Button>\n\t\t\t\t</AlertDialog.Cancel>\n\t\t\t\t<AlertDialog.Action>\n\t\t\t\t\t<Button variant=\"solid\" severity={severity} onClick={onAction}>\n\t\t\t\t\t\t{actionText}\n\t\t\t\t\t</Button>\n\t\t\t\t</AlertDialog.Action>\n\t\t\t</Flex>\n\t\t</Flex>\n\t)\n}\n","import { memo, useMemo } from \"react\"\nimport { AlertDialog as RadixAlertDialog } from \"@radix-ui/themes\"\nimport { AlertDialogContentHelpers, AlertDialogProps } from \"./typings\"\nimport { AlertDialogContent, Title } from \"./AlertDialogContent\"\n\n/**\n * The AlertDialog is used to confirm an action or prompt the user for a decision.\n * Unlike the Dialog, the AlertDialog is not dismissible by clicking outside of the dialog, nor can it be nested.\n *\n * To use, place the `AlertDialogProvider` at the root of your app and use the `useAlertDialog` hook to open the dialog.\n *\n * To set the content of the dialog, use the `content` prop or pass values for the `title`, `description`, and `onAction` props.\n */\nexport const AlertDialog = memo(function AlertDialog(props: AlertDialogProps) {\n\tconst { open, setOpen, children, ...contentProps } = props\n\n\tconst helpers: AlertDialogContentHelpers = useMemo(() => {\n\t\treturn {\n\t\t\tclose: () => setOpen(false),\n\t\t\tTitle,\n\t\t\tDescription: RadixAlertDialog.Description,\n\t\t}\n\t}, [setOpen])\n\n\treturn (\n\t\t<RadixAlertDialog.Root open={open} onOpenChange={setOpen}>\n\t\t\t<RadixAlertDialog.Content>\n\t\t\t\t{\"content\" in contentProps ? contentProps.content(helpers) : <AlertDialogContent {...contentProps} />}\n\t\t\t</RadixAlertDialog.Content>\n\t\t\t{children}\n\t\t</RadixAlertDialog.Root>\n\t)\n})\n","import { createContext, memo, useState, useCallback } from \"react\"\nimport { AlertDialogContextType, AlertDialogOptions } from \"./typings\"\nimport { AlertDialog } from \"./AlertDialog\"\n\ninterface AlertDialogProviderProps {\n\tchildren: React.ReactNode\n}\n\nexport const AlertDialogContent = createContext<AlertDialogContextType>(() => {\n\tthrow new Error(\"No AlertDialogProvider found\")\n})\n\nconst initialState: AlertDialogOptions = {\n\tcontent: () => null,\n}\n\nexport const AlertDialogProvider = memo(function AlertDialogProvider({ children }: AlertDialogProviderProps) {\n\tconst [open, setOpen] = useState(false)\n\tconst [state, setState] = useState<AlertDialogOptions>(initialState)\n\n\tconst openDialog = useCallback<AlertDialogContextType>(\n\t\t(options) => {\n\t\t\tif (open) throw new Error(\"AlertDialog is already open\")\n\n\t\t\tsetState(options)\n\t\t\tsetOpen(true)\n\t\t},\n\t\t[open],\n\t)\n\n\treturn (\n\t\t<AlertDialog open={open} setOpen={setOpen} {...state}>\n\t\t\t<AlertDialogContent.Provider value={openDialog}>{children}</AlertDialogContent.Provider>\n\t\t</AlertDialog>\n\t)\n})\n","import { useContext } from \"react\"\nimport { AlertDialogContent } from \"./context\"\n\nexport const useAlertDialog = () => {\n\treturn useContext(AlertDialogContent)\n}\n","import React, { FC, forwardRef, useMemo } from \"react\"\nimport { Select as RadixSelect } from \"@radix-ui/themes\"\nimport classNames from \"classnames\"\nimport { applyResponsiveMapping, useSeverityColor } from \"../utils.ts\"\nimport { SizeMapping } from \"../constants.ts\"\nimport { SelectItemProps, SelectProps } from \"./typings.ts\"\n\nimport styles from \"./Select.module.sass\"\n\nconst _Select = forwardRef(function Select(\n\t{\n\t\tclassName,\n\t\tfluid,\n\t\tsize = \"medium\",\n\t\tvariant = \"surface\",\n\t\tseverity = \"primary\",\n\t\tplaceholder = \"Select\",\n\t\tside,\n\t\titems = [],\n\t\tvalue,\n\t\t...rest\n\t}: SelectProps,\n\tref: React.Ref<HTMLButtonElement>,\n) {\n\tconst mappedSize = useMemo(() => {\n\t\treturn applyResponsiveMapping(size, SizeMapping)\n\t}, [size])\n\tconst color = useSeverityColor(severity)\n\n\t// TODO: extend functionality to support grouping of items\n\t// TODO: remove key change based on value once placeholder issue it fixed in radix-ui/themes\n\treturn (\n\t\t<RadixSelect.Root size={mappedSize} {...rest} key={value === undefined ? 1 : 0} value={value}>\n\t\t\t<RadixSelect.Trigger\n\t\t\t\tclassName={classNames(className, {\n\t\t\t\t\t[styles.fluid!]: fluid,\n\t\t\t\t})}\n\t\t\t\tref={ref}\n\t\t\t\tvariant={variant}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tcolor={color}\n\t\t\t/>\n\t\t\t<RadixSelect.Content\n\t\t\t\tside={side}\n\t\t\t\tposition=\"popper\"\n\t\t\t\tvariant={variant !== \"surface\" ? \"soft\" : \"solid\"}\n\t\t\t\tcolor={color}\n\t\t\t>\n\t\t\t\t{items.map(({ label, value, ...rest }: SelectItemProps) => (\n\t\t\t\t\t<RadixSelect.Item key={value} value={value} {...rest}>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</RadixSelect.Item>\n\t\t\t\t))}\n\t\t\t</RadixSelect.Content>\n\t\t</RadixSelect.Root>\n\t)\n})\nexport const Select: FC<SelectProps> = React.memo(_Select)\n","import React, { FC, forwardRef, useMemo } from \"react\"\nimport { Text, TextField as RadixTextField } from \"@radix-ui/themes\"\nimport classNames from \"classnames\"\nimport { applyResponsiveMapping, useSeverityColor } from \"../utils.ts\"\nimport { SizeMapping } from \"../constants.ts\"\nimport { InputProps } from \"./typings.ts\"\n\nimport styles from \"./Input.module.sass\"\n\nconst _Input = forwardRef(function Input(\n\t{\n\t\tclassName,\n\t\tleftIcon,\n\t\trightIcon,\n\t\tsize = \"medium\",\n\t\tshowInputLength,\n\t\tvalue,\n\t\tvariant,\n\t\tseverity = \"primary\",\n\t\t...rest\n\t}: InputProps,\n\tref: React.Ref<HTMLInputElement>,\n) {\n\tconst computedSize = useMemo(() => {\n\t\treturn applyResponsiveMapping(size, SizeMapping)\n\t}, [size])\n\n\tconst color = useSeverityColor(severity)\n\n\tconst displayInputLength = showInputLength || (showInputLength === undefined && rest.maxLength !== undefined)\n\tconst valueAsString = value !== undefined ? value.toString() : undefined\n\n\treturn (\n\t\t<RadixTextField.Root\n\t\t\tclassName={classNames({\n\t\t\t\t[styles.accommodateCharCount!]: displayInputLength,\n\t\t\t})}\n\t\t\tsize={computedSize}\n\t\t\tvariant={variant}\n\t\t\tcolor={color}\n\t\t>\n\t\t\t<RadixTextField.Slot>{leftIcon}</RadixTextField.Slot>\n\t\t\t<RadixTextField.Input\n\t\t\t\tclassName={classNames(styles.default, className, {\n\t\t\t\t\t[styles.noLeftIcon!]: !leftIcon,\n\t\t\t\t\t[styles.noRightIcon!]: !rightIcon,\n\t\t\t\t})}\n\t\t\t\tref={ref}\n\t\t\t\tsize={computedSize}\n\t\t\t\tvariant={variant}\n\t\t\t\tcolor={color}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t\t<RadixTextField.Slot>{rightIcon}</RadixTextField.Slot>\n\t\t\t{displayInputLength && (\n\t\t\t\t<Text as=\"p\" className={styles.charCount} size=\"1\" color=\"gray\">\n\t\t\t\t\t{rest.maxLength !== undefined\n\t\t\t\t\t\t? `${valueAsString?.length}/${rest.maxLength}`\n\t\t\t\t\t\t: `${valueAsString?.length}`}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</RadixTextField.Root>\n\t)\n})\nexport const Input: FC<InputProps> = React.memo(_Input)\n","import React, { forwardRef, FC } from \"react\"\nimport { Popover as RadixPopover } from \"@radix-ui/themes\"\nimport { PopoverProps } from \"./typings.ts\"\n\nconst _Popover = forwardRef(function Popover(\n\t{ defaultOpen = false, modal = false, content, children, ...rest }: PopoverProps,\n\tref: React.Ref<HTMLDivElement>,\n) {\n\treturn (\n\t\t<RadixPopover.Root defaultOpen={defaultOpen} modal={modal}>\n\t\t\t<RadixPopover.Trigger>{children}</RadixPopover.Trigger>\n\t\t\t<RadixPopover.Content ref={ref} {...rest}>\n\t\t\t\t{content(RadixPopover.Close)}\n\t\t\t</RadixPopover.Content>\n\t\t</RadixPopover.Root>\n\t)\n})\nexport const Popover: FC<PopoverProps> = React.memo(_Popover)\n","import { FC, forwardRef, memo, Ref } from \"react\"\nimport { Item, Root } from \"@radix-ui/react-toggle-group\"\nimport { ToggleGroupItemProps, ToggleGroupSingleProps } from \"./typings.ts\"\nimport { IconButton } from \"../Buttons\"\nimport classNames from \"classnames\"\nimport { ButtonGroup } from \"../ButtonGroup\"\n\nconst _ToggleGroup = forwardRef(function ToggleGroup(\n\t{\n\t\tclassName,\n\t\titems,\n\t\torientation = \"horizontal\",\n\t\tmerged = true,\n\t\tvalue,\n\t\tseverity,\n\t\tgap,\n\t\tsize,\n\t\t...rest\n\t}: ToggleGroupSingleProps,\n\tref: Ref<HTMLDivElement>,\n) {\n\treturn (\n\t\t<Root\n\t\t\tclassName={classNames(\"overmap-toggle-group\", className)}\n\t\t\tref={ref}\n\t\t\tvalue={value}\n\t\t\torientation={orientation}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<ButtonGroup\n\t\t\t\twidth=\"min-content\"\n\t\t\t\theight=\"min-content\"\n\t\t\t\tmerged={merged}\n\t\t\t\tdirection={orientation === \"vertical\" ? \"column\" : \"row\"}\n\t\t\t\tgap={gap}\n\t\t\t>\n\t\t\t\t{items.map(({ children, ...rest }: ToggleGroupItemProps) => (\n\t\t\t\t\t<Item asChild {...rest} key={rest.value}>\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tclassName={classNames(\"overmap-toggle-group-button\")}\n\t\t\t\t\t\t\taria-label={rest.value}\n\t\t\t\t\t\t\tseverity={severity}\n\t\t\t\t\t\t\tvariant={rest.value === value ? \"solid\" : \"soft\"}\n\t\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t</Item>\n\t\t\t\t))}\n\t\t\t</ButtonGroup>\n\t\t</Root>\n\t)\n})\n\n/** The Toggle Group Component is a user interface element that allows users to select a single option from a set of\n * mutually exclusive choices. It is commonly used in situations where users need to make a single selection from a\n * predefined list of options. This component is built using the ButtonGroup and IconButton components in combination\n * with the Radix Toggle Group primitive found here https://www.radix-ui.com/primitives/docs/components/toggle-group */\nexport const ToggleGroup: FC<ToggleGroupSingleProps> = memo(_ToggleGroup)\n","import { FC, forwardRef, memo, Ref, useCallback } from \"react\"\nimport * as RadixToast from \"@radix-ui/react-toast\"\nimport { Callout, Flex } from \"@radix-ui/themes\"\nimport { Cross2Icon, InfoCircledIcon } from \"@radix-ui/react-icons\"\nimport classNames from \"classnames\"\nimport { IconButton } from \"../Buttons\"\nimport { ToastProps, ToastProviderProps } from \"./typings.ts\"\nimport { useSeverityColor } from \"../utils.ts\"\n\nimport styles from \"./Toast.module.sass\"\n\nconst _Toast = forwardRef(function Toast(\n\t{ title, description, icon, severity = \"primary\", size, onClose, ...rest }: ToastProps,\n\tref: Ref<HTMLLIElement>,\n) {\n\tconst color = useSeverityColor(severity)\n\tconst handleOpenChange = useCallback(\n\t\t(open: boolean) => {\n\t\t\tif (!open && onClose) onClose()\n\t\t},\n\t\t[onClose],\n\t)\n\n\treturn (\n\t\t<RadixToast.Root asChild ref={ref} {...rest} onOpenChange={handleOpenChange}>\n\t\t\t<Callout.Root\n\t\t\t\tclassName={classNames(\"overmap-toast\", styles.wrapper)}\n\t\t\t\tvariant=\"surface\"\n\t\t\t\tcolor={color}\n\t\t\t\tsize={size}\n\t\t\t>\n\t\t\t\t<Flex width=\"100%\" align=\"center\" gap=\"4\" justify=\"between\">\n\t\t\t\t\t<Flex align=\"center\" gap=\"4\">\n\t\t\t\t\t\t<Callout.Icon>{icon || <InfoCircledIcon />}</Callout.Icon>\n\t\t\t\t\t\t<Flex direction=\"column\" gap=\"0\">\n\t\t\t\t\t\t\t<RadixToast.Title asChild>\n\t\t\t\t\t\t\t\t<Callout.Text weight=\"bold\">{title}</Callout.Text>\n\t\t\t\t\t\t\t</RadixToast.Title>\n\t\t\t\t\t\t\t<RadixToast.Description asChild>\n\t\t\t\t\t\t\t\t<Callout.Text weight=\"light\">{description}</Callout.Text>\n\t\t\t\t\t\t\t</RadixToast.Description>\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t</Flex>\n\t\t\t\t\t<RadixToast.Close asChild>\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tclassName={styles.closeButton}\n\t\t\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tseverity={severity}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Cross2Icon />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t</RadixToast.Close>\n\t\t\t\t</Flex>\n\t\t\t</Callout.Root>\n\t\t</RadixToast.Root>\n\t)\n})\n\nexport const ToastProvider: FC<ToastProviderProps> = memo(function ToastProvider({\n\tchildren,\n\t...rest\n}: ToastProviderProps) {\n\treturn (\n\t\t<RadixToast.Provider swipeDirection=\"right\" swipeThreshold={75} {...rest}>\n\t\t\t{children}\n\t\t</RadixToast.Provider>\n\t)\n})\n\nexport const Toast: FC<ToastProps> = memo(_Toast)\nexport const ToastViewport: FC<RadixToast.ToastViewportProps> = RadixToast.Viewport\n","import { memo, createContext, useState, useCallback, FC } from \"react\"\nimport { IToastContext, SimpleToastMessage, ToastContextProviderProps, ToastProps } from \"./typings.ts\"\nimport { Toast, ToastProvider, ToastViewport } from \"./Toast.tsx\"\n\nexport const ToastContext = createContext({} as IToastContext)\n\nexport const ToastContextProvider: FC<ToastContextProviderProps> = memo(function ToastContextProvider({\n\tchildren,\n\t// Use this class to change where the viewport for the toasts should be\n\tviewportClass,\n\thotkey,\n\t// Default duration value for all Toasts\n\tduration = 10000,\n\t...rest\n}: ToastContextProviderProps) {\n\tconst [toasts, setToasts] = useState<ToastProps[]>([])\n\n\tconst showToast = useCallback((toastProps: ToastProps) => {\n\t\tsetToasts((prevToasts) => [...prevToasts, toastProps])\n\t}, [])\n\n\tconst showPrimary = useCallback(\n\t\t(simpleMessage: SimpleToastMessage) => {\n\t\t\tshowToast({ severity: \"primary\", ...simpleMessage })\n\t\t},\n\t\t[showToast],\n\t)\n\n\tconst showSuccess = useCallback(\n\t\t(simpleMessage: SimpleToastMessage) => {\n\t\t\tshowToast({ severity: \"success\", ...simpleMessage })\n\t\t},\n\t\t[showToast],\n\t)\n\n\tconst showError = useCallback(\n\t\t(simpleMessage: SimpleToastMessage) => {\n\t\t\tshowToast({ severity: \"danger\", ...simpleMessage })\n\t\t},\n\t\t[showToast],\n\t)\n\n\tconst showInfo = useCallback(\n\t\t(simpleMessage: SimpleToastMessage) => {\n\t\t\tshowToast({ severity: \"info\", ...simpleMessage })\n\t\t},\n\t\t[showToast],\n\t)\n\n\tconst deleteToastAtIndex = useCallback(\n\t\t(index: number) => {\n\t\t\tconst tempToasts = [...toasts]\n\t\t\ttempToasts.splice(index, 1)\n\t\t\tsetToasts(() => tempToasts)\n\t\t},\n\t\t[toasts],\n\t)\n\n\tconst toastContextValue = {\n\t\tshowToast,\n\t\tshowPrimary,\n\t\tshowSuccess,\n\t\tshowError,\n\t\tshowInfo,\n\t}\n\n\treturn (\n\t\t<ToastContext.Provider value={toastContextValue}>\n\t\t\t<ToastProvider duration={duration} {...rest}>\n\t\t\t\t<ToastViewport className={viewportClass} hotkey={hotkey} />\n\t\t\t\t{toasts.map((toastProps, index) => (\n\t\t\t\t\t<Toast key={index} {...toastProps} onClose={() => deleteToastAtIndex(index)} />\n\t\t\t\t))}\n\t\t\t\t{children}\n\t\t\t</ToastProvider>\n\t\t</ToastContext.Provider>\n\t)\n})\n","import { Theme } from \"@radix-ui/themes\"\nimport { ComponentProps, forwardRef, memo } from \"react\"\n// css file contains updates to the default radix tokens\nimport \"./DefaultTheme.css\"\n\nexport type ThemeProps = ComponentProps<typeof Theme>\n\nexport const DefaultTheme = memo(\n\tforwardRef<HTMLDivElement>((props: ThemeProps, ref) => {\n\t\treturn <Theme panelBackground=\"solid\" ref={ref} {...props} />\n\t}),\n)\n"],"names":["hasOwn","classNames","classes","i","arg","argType","inner","key","module","hoverEffectClassNameMapping","styles","applyResponsiveMapping","value","mapping","_value","nonThemeSeverityMapping","useSeverityColor","severity","theme","useThemeContext","SizeMapping","_Button","forwardRef","className","fluid","size","hoverEffects","type","rest","ref","color","hoverEffectClasses","hoverEffect","jsx","RadixButton","Button","React","children","RadixIconButton","IconButton","GhostVariantSizeToGapMapping","_ButtonGroup","merged","gap","direction","variant","Flex","child","index","cloneElement","ButtonGroup","memo","DialogContent","props","title","description","content","closeDialog","jsxs","Dialog","Cross1Icon","onOpen","onCloseInterrupt","contentProps","open","setOpen","useState","handleOpenChange","useCallback","next","options","RadixDialog","Title","AlertDialog","AlertDialogContent","actionText","cancelText","onAction","onCancel","helpers","useMemo","RadixAlertDialog","createContext","initialState","AlertDialogProvider","state","setState","openDialog","useAlertDialog","useContext","_Select","placeholder","side","items","mappedSize","createElement","RadixSelect","label","Select","_Input","leftIcon","rightIcon","showInputLength","computedSize","displayInputLength","valueAsString","RadixTextField","Text","Input","_Popover","defaultOpen","modal","RadixPopover","Popover","_ToggleGroup","orientation","Root","Item","ToggleGroup","_Toast","icon","onClose","RadixToast","Callout","InfoCircledIcon","Cross2Icon","ToastProvider","Toast","ToastViewport","ToastContext","ToastContextProvider","viewportClass","hotkey","duration","toasts","setToasts","showToast","toastProps","prevToasts","showPrimary","simpleMessage","showSuccess","showError","showInfo","deleteToastAtIndex","tempToasts","toastContextValue","DefaultTheme","Theme"],"mappings":"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","x_google_ignoreList":[0]}
|