@genai-fi/base 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +18 -0
  3. package/dist/Button-DQwRVw4a.js +1918 -0
  4. package/dist/DefaultPropsProvider-C0Ib4Mye.js +520 -0
  5. package/dist/DialogQR-BU45QB3i.js +1625 -0
  6. package/dist/FileSaver.min-DhePf63e.js +2397 -0
  7. package/dist/FlashWifi-CaAOKd3g.js +33 -0
  8. package/dist/_commonjsHelpers-DaMA6jEr.js +8 -0
  9. package/dist/assets/AlertPara.css +1 -0
  10. package/dist/assets/ConnectionStatus.css +1 -0
  11. package/dist/assets/DialogQR.css +1 -0
  12. package/dist/assets/Motd.css +1 -0
  13. package/dist/assets/Privacy.css +1 -0
  14. package/dist/assets/Spinner.css +1 -0
  15. package/dist/assets/Webcam.css +1 -0
  16. package/dist/assets/style.css +1 -0
  17. package/dist/assets/theme.css +1 -0
  18. package/dist/colours.module.css +19 -0
  19. package/dist/components/AlertPara/AlertPara.d.ts +8 -0
  20. package/dist/components/AlertPara/AlertPara.js +19 -0
  21. package/dist/components/BusyButton/BusyButton.d.ts +7 -0
  22. package/dist/components/BusyButton/BusyButton.js +25 -0
  23. package/dist/components/Button/Button.d.ts +6 -0
  24. package/dist/components/Button/Button.js +6 -0
  25. package/dist/components/ConnectionStatus/ConnectionStatus.d.ts +12 -0
  26. package/dist/components/ConnectionStatus/ConnectionStatus.js +82 -0
  27. package/dist/components/ConnectionStatus/FlashWifi.d.ts +1 -0
  28. package/dist/components/ConnectionStatus/FlashWifi.js +6 -0
  29. package/dist/components/ConnectionStatus/check.d.ts +1 -0
  30. package/dist/components/ConnectionStatus/check.js +10 -0
  31. package/dist/components/ConnectionStatus/ice.d.ts +13 -0
  32. package/dist/components/ConnectionStatus/ice.js +12 -0
  33. package/dist/components/ContentLoader/ContentError.d.ts +5 -0
  34. package/dist/components/ContentLoader/ContentError.js +21 -0
  35. package/dist/components/ContentLoader/ContentLoader.d.ts +8 -0
  36. package/dist/components/ContentLoader/ContentLoader.js +51 -0
  37. package/dist/components/ContentLoader/ContentProgress.d.ts +6 -0
  38. package/dist/components/ContentLoader/ContentProgress.js +31 -0
  39. package/dist/components/Motd/Motd.d.ts +5 -0
  40. package/dist/components/Motd/Motd.js +48 -0
  41. package/dist/components/Privacy/Privacy.d.ts +7 -0
  42. package/dist/components/Privacy/Privacy.js +57 -0
  43. package/dist/components/QRCode/DialogQR.d.ts +7 -0
  44. package/dist/components/QRCode/DialogQR.js +14 -0
  45. package/dist/components/QRCode/QRCode.d.ts +9 -0
  46. package/dist/components/QRCode/QRCode.js +61 -0
  47. package/dist/components/Spinner/Spinner.d.ts +6 -0
  48. package/dist/components/Spinner/Spinner.js +33 -0
  49. package/dist/components/Webcam/Webcam.d.ts +15 -0
  50. package/dist/components/Webcam/Webcam.js +397 -0
  51. package/dist/components/Webcam/webcamClass.d.ts +32 -0
  52. package/dist/components/Webcam/webcamClass.js +76 -0
  53. package/dist/createSvgIcon-BfF8yuCp.js +249 -0
  54. package/dist/createTheme-BIcG8YPQ.js +2895 -0
  55. package/dist/hooks/id.d.ts +1 -0
  56. package/dist/hooks/id.js +16 -0
  57. package/dist/hooks/onlyOnce.d.ts +1 -0
  58. package/dist/hooks/onlyOnce.js +7 -0
  59. package/dist/hooks/peer.d.ts +25 -0
  60. package/dist/hooks/peer.js +70 -0
  61. package/dist/hooks/random.d.ts +1 -0
  62. package/dist/hooks/random.js +9 -0
  63. package/dist/hooks/useTabActive.d.ts +1 -0
  64. package/dist/hooks/useTabActive.js +17 -0
  65. package/dist/index-SOhdqzHq.js +113 -0
  66. package/dist/main.d.ts +21 -0
  67. package/dist/main.js +49 -0
  68. package/dist/react-D-b-Xrzv.js +98 -0
  69. package/dist/services/peer2peer/Incoming.d.ts +13 -0
  70. package/dist/services/peer2peer/Incoming.js +39 -0
  71. package/dist/services/peer2peer/Outgoing.d.ts +25 -0
  72. package/dist/services/peer2peer/Outgoing.js +65 -0
  73. package/dist/services/peer2peer/Peer2Peer.d.ts +80 -0
  74. package/dist/services/peer2peer/Peer2Peer.js +3367 -0
  75. package/dist/services/peer2peer/PeerConnection.d.ts +40 -0
  76. package/dist/services/peer2peer/PeerConnection.js +155 -0
  77. package/dist/services/peer2peer/error.d.ts +2 -0
  78. package/dist/services/peer2peer/error.js +5 -0
  79. package/dist/services/peer2peer/types.d.ts +38 -0
  80. package/dist/services/peer2peer/types.js +1 -0
  81. package/dist/state/webrtcState.d.ts +12 -0
  82. package/dist/state/webrtcState.js +6 -0
  83. package/dist/style/theme.d.ts +1 -0
  84. package/dist/style/theme.js +33 -0
  85. package/dist/style.module-DSFm2eLD.js +9 -0
  86. package/dist/util/backoff.d.ts +1 -0
  87. package/dist/util/backoff.js +6 -0
  88. package/dist/util/base64.d.ts +2 -0
  89. package/dist/util/base64.js +19 -0
  90. package/dist/util/canvas.d.ts +7 -0
  91. package/dist/util/canvas.js +92 -0
  92. package/dist/util/crypto.d.ts +7 -0
  93. package/dist/util/crypto.js +50 -0
  94. package/dist/util/randomId.d.ts +1 -0
  95. package/dist/util/randomId.js +8 -0
  96. package/dist/util/zip.d.ts +13 -0
  97. package/dist/util/zip.js +94 -0
  98. package/dist/webrtcState-D0nJpE9Z.js +406 -0
  99. package/package.json +88 -0
@@ -0,0 +1,1918 @@
1
+ var oe = Object.defineProperty;
2
+ var re = (t, e, o) => e in t ? oe(t, e, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[e] = o;
3
+ var q = (t, e, o) => re(t, typeof e != "symbol" ? e + "" : e, o);
4
+ import { c as T, g as at, u as st, s as B, a as ht, m as gt, r as ie, b as ae } from "./DefaultPropsProvider-C0Ib4Mye.js";
5
+ import * as c from "react";
6
+ import J, { isValidElement as nt, cloneElement as ot, Children as se } from "react";
7
+ import { P as n, g as mt, a as S, b as Z } from "./createTheme-BIcG8YPQ.js";
8
+ import { jsx as C, jsxs as Tt } from "react/jsx-runtime";
9
+ import { keyframes as Q, css as Bt } from "@emotion/react";
10
+ const le = typeof window < "u" ? c.useLayoutEffect : c.useEffect;
11
+ let Ct = 0;
12
+ function ce(t) {
13
+ const [e, o] = c.useState(t), r = t || e;
14
+ return c.useEffect(() => {
15
+ e == null && (Ct += 1, o(`mui-${Ct}`));
16
+ }, [e]), r;
17
+ }
18
+ const ue = {
19
+ ...c
20
+ }, Rt = ue.useId;
21
+ function pe(t) {
22
+ if (Rt !== void 0) {
23
+ const e = Rt();
24
+ return t ?? e;
25
+ }
26
+ return ce(t);
27
+ }
28
+ function rt(t) {
29
+ const e = c.useRef(t);
30
+ return le(() => {
31
+ e.current = t;
32
+ }), c.useRef((...o) => (
33
+ // @ts-expect-error hide `this`
34
+ (0, e.current)(...o)
35
+ )).current;
36
+ }
37
+ function Pt(...t) {
38
+ const e = c.useRef(void 0), o = c.useCallback((r) => {
39
+ const a = t.map((i) => {
40
+ if (i == null)
41
+ return null;
42
+ if (typeof i == "function") {
43
+ const s = i, l = s(r);
44
+ return typeof l == "function" ? l : () => {
45
+ s(null);
46
+ };
47
+ }
48
+ return i.current = r, () => {
49
+ i.current = null;
50
+ };
51
+ });
52
+ return () => {
53
+ a.forEach((i) => i == null ? void 0 : i());
54
+ };
55
+ }, t);
56
+ return c.useMemo(() => t.every((r) => r == null) ? null : (r) => {
57
+ e.current && (e.current(), e.current = void 0), r != null && (e.current = o(r));
58
+ }, t);
59
+ }
60
+ const de = n.oneOfType([n.func, n.object]);
61
+ function $t(t, e) {
62
+ return process.env.NODE_ENV === "production" ? () => null : function(...r) {
63
+ return t(...r) || e(...r);
64
+ };
65
+ }
66
+ function fe(t) {
67
+ const {
68
+ prototype: e = {}
69
+ } = t;
70
+ return !!e.isReactComponent;
71
+ }
72
+ function he(t, e, o, r, a) {
73
+ const i = t[e], s = a || e;
74
+ if (i == null || // When server-side rendering React doesn't warn either.
75
+ // This is not an accurate check for SSR.
76
+ // This is only in place for emotion compat.
77
+ // TODO: Revisit once https://github.com/facebook/react/issues/20047 is resolved.
78
+ typeof window > "u")
79
+ return null;
80
+ let l;
81
+ return typeof i == "function" && !fe(i) && (l = "Did you accidentally provide a plain function component instead?"), l !== void 0 ? new Error(`Invalid ${r} \`${s}\` supplied to \`${o}\`. Expected an element type that can hold a ref. ${l} For more information see https://mui.com/r/caveat-with-refs-guide`) : null;
82
+ }
83
+ const ge = $t(n.elementType, he);
84
+ function Mt(t) {
85
+ try {
86
+ return t.matches(":focus-visible");
87
+ } catch {
88
+ process.env.NODE_ENV !== "production" && !/jsdom/.test(window.navigator.userAgent) && console.warn(["MUI: The `:focus-visible` pseudo class is not supported in this browser.", "Some components rely on this feature to work properly."].join(`
89
+ `));
90
+ }
91
+ return !1;
92
+ }
93
+ const Et = {};
94
+ function zt(t, e) {
95
+ const o = c.useRef(Et);
96
+ return o.current === Et && (o.current = t(e)), o;
97
+ }
98
+ class it {
99
+ constructor() {
100
+ q(this, "mountEffect", () => {
101
+ this.shouldMount && !this.didMount && this.ref.current !== null && (this.didMount = !0, this.mounted.resolve());
102
+ });
103
+ this.ref = {
104
+ current: null
105
+ }, this.mounted = null, this.didMount = !1, this.shouldMount = !1, this.setShouldMount = null;
106
+ }
107
+ /** React ref to the ripple instance */
108
+ /** If the ripple component should be mounted */
109
+ /** Promise that resolves when the ripple component is mounted */
110
+ /** If the ripple component has been mounted */
111
+ /** React state hook setter */
112
+ static create() {
113
+ return new it();
114
+ }
115
+ static use() {
116
+ const e = zt(it.create).current, [o, r] = c.useState(!1);
117
+ return e.shouldMount = o, e.setShouldMount = r, c.useEffect(e.mountEffect, [o]), e;
118
+ }
119
+ mount() {
120
+ return this.mounted || (this.mounted = be(), this.shouldMount = !0, this.setShouldMount(this.shouldMount)), this.mounted;
121
+ }
122
+ /* Ripple API */
123
+ start(...e) {
124
+ this.mount().then(() => {
125
+ var o;
126
+ return (o = this.ref.current) == null ? void 0 : o.start(...e);
127
+ });
128
+ }
129
+ stop(...e) {
130
+ this.mount().then(() => {
131
+ var o;
132
+ return (o = this.ref.current) == null ? void 0 : o.stop(...e);
133
+ });
134
+ }
135
+ pulsate(...e) {
136
+ this.mount().then(() => {
137
+ var o;
138
+ return (o = this.ref.current) == null ? void 0 : o.pulsate(...e);
139
+ });
140
+ }
141
+ }
142
+ function me() {
143
+ return it.use();
144
+ }
145
+ function be() {
146
+ let t, e;
147
+ const o = new Promise((r, a) => {
148
+ t = r, e = a;
149
+ });
150
+ return o.resolve = t, o.reject = e, o;
151
+ }
152
+ function ct() {
153
+ return ct = Object.assign ? Object.assign.bind() : function(t) {
154
+ for (var e = 1; e < arguments.length; e++) {
155
+ var o = arguments[e];
156
+ for (var r in o) ({}).hasOwnProperty.call(o, r) && (t[r] = o[r]);
157
+ }
158
+ return t;
159
+ }, ct.apply(null, arguments);
160
+ }
161
+ function ye(t, e) {
162
+ if (t == null) return {};
163
+ var o = {};
164
+ for (var r in t) if ({}.hasOwnProperty.call(t, r)) {
165
+ if (e.indexOf(r) !== -1) continue;
166
+ o[r] = t[r];
167
+ }
168
+ return o;
169
+ }
170
+ function ut(t, e) {
171
+ return ut = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, r) {
172
+ return o.__proto__ = r, o;
173
+ }, ut(t, e);
174
+ }
175
+ function ve(t, e) {
176
+ t.prototype = Object.create(e.prototype), t.prototype.constructor = t, ut(t, e);
177
+ }
178
+ const It = J.createContext(null);
179
+ function xe(t) {
180
+ if (t === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
181
+ return t;
182
+ }
183
+ function bt(t, e) {
184
+ var o = function(i) {
185
+ return e && nt(i) ? e(i) : i;
186
+ }, r = /* @__PURE__ */ Object.create(null);
187
+ return t && se.map(t, function(a) {
188
+ return a;
189
+ }).forEach(function(a) {
190
+ r[a.key] = o(a);
191
+ }), r;
192
+ }
193
+ function Se(t, e) {
194
+ t = t || {}, e = e || {};
195
+ function o(h) {
196
+ return h in e ? e[h] : t[h];
197
+ }
198
+ var r = /* @__PURE__ */ Object.create(null), a = [];
199
+ for (var i in t)
200
+ i in e ? a.length && (r[i] = a, a = []) : a.push(i);
201
+ var s, l = {};
202
+ for (var p in e) {
203
+ if (r[p])
204
+ for (s = 0; s < r[p].length; s++) {
205
+ var d = r[p][s];
206
+ l[r[p][s]] = o(d);
207
+ }
208
+ l[p] = o(p);
209
+ }
210
+ for (s = 0; s < a.length; s++)
211
+ l[a[s]] = o(a[s]);
212
+ return l;
213
+ }
214
+ function K(t, e, o) {
215
+ return o[e] != null ? o[e] : t.props[e];
216
+ }
217
+ function Ce(t, e) {
218
+ return bt(t.children, function(o) {
219
+ return ot(o, {
220
+ onExited: e.bind(null, o),
221
+ in: !0,
222
+ appear: K(o, "appear", t),
223
+ enter: K(o, "enter", t),
224
+ exit: K(o, "exit", t)
225
+ });
226
+ });
227
+ }
228
+ function Re(t, e, o) {
229
+ var r = bt(t.children), a = Se(e, r);
230
+ return Object.keys(a).forEach(function(i) {
231
+ var s = a[i];
232
+ if (nt(s)) {
233
+ var l = i in e, p = i in r, d = e[i], h = nt(d) && !d.props.in;
234
+ p && (!l || h) ? a[i] = ot(s, {
235
+ onExited: o.bind(null, s),
236
+ in: !0,
237
+ exit: K(s, "exit", t),
238
+ enter: K(s, "enter", t)
239
+ }) : !p && l && !h ? a[i] = ot(s, {
240
+ in: !1
241
+ }) : p && l && nt(d) && (a[i] = ot(s, {
242
+ onExited: o.bind(null, s),
243
+ in: d.props.in,
244
+ exit: K(s, "exit", t),
245
+ enter: K(s, "enter", t)
246
+ }));
247
+ }
248
+ }), a;
249
+ }
250
+ var Pe = Object.values || function(t) {
251
+ return Object.keys(t).map(function(e) {
252
+ return t[e];
253
+ });
254
+ }, Me = {
255
+ component: "div",
256
+ childFactory: function(e) {
257
+ return e;
258
+ }
259
+ }, yt = /* @__PURE__ */ function(t) {
260
+ ve(e, t);
261
+ function e(r, a) {
262
+ var i;
263
+ i = t.call(this, r, a) || this;
264
+ var s = i.handleExited.bind(xe(i));
265
+ return i.state = {
266
+ contextValue: {
267
+ isMounting: !0
268
+ },
269
+ handleExited: s,
270
+ firstRender: !0
271
+ }, i;
272
+ }
273
+ var o = e.prototype;
274
+ return o.componentDidMount = function() {
275
+ this.mounted = !0, this.setState({
276
+ contextValue: {
277
+ isMounting: !1
278
+ }
279
+ });
280
+ }, o.componentWillUnmount = function() {
281
+ this.mounted = !1;
282
+ }, e.getDerivedStateFromProps = function(a, i) {
283
+ var s = i.children, l = i.handleExited, p = i.firstRender;
284
+ return {
285
+ children: p ? Ce(a, l) : Re(a, s, l),
286
+ firstRender: !1
287
+ };
288
+ }, o.handleExited = function(a, i) {
289
+ var s = bt(this.props.children);
290
+ a.key in s || (a.props.onExited && a.props.onExited(i), this.mounted && this.setState(function(l) {
291
+ var p = ct({}, l.children);
292
+ return delete p[a.key], {
293
+ children: p
294
+ };
295
+ }));
296
+ }, o.render = function() {
297
+ var a = this.props, i = a.component, s = a.childFactory, l = ye(a, ["component", "childFactory"]), p = this.state.contextValue, d = Pe(this.state.children).map(s);
298
+ return delete l.appear, delete l.enter, delete l.exit, i === null ? /* @__PURE__ */ J.createElement(It.Provider, {
299
+ value: p
300
+ }, d) : /* @__PURE__ */ J.createElement(It.Provider, {
301
+ value: p
302
+ }, /* @__PURE__ */ J.createElement(i, l, d));
303
+ }, e;
304
+ }(J.Component);
305
+ yt.propTypes = process.env.NODE_ENV !== "production" ? {
306
+ /**
307
+ * `<TransitionGroup>` renders a `<div>` by default. You can change this
308
+ * behavior by providing a `component` prop.
309
+ * If you use React v16+ and would like to avoid a wrapping `<div>` element
310
+ * you can pass in `component={null}`. This is useful if the wrapping div
311
+ * borks your css styles.
312
+ */
313
+ component: n.any,
314
+ /**
315
+ * A set of `<Transition>` components, that are toggled `in` and out as they
316
+ * leave. the `<TransitionGroup>` will inject specific transition props, so
317
+ * remember to spread them through if you are wrapping the `<Transition>` as
318
+ * with our `<Fade>` example.
319
+ *
320
+ * While this component is meant for multiple `Transition` or `CSSTransition`
321
+ * children, sometimes you may want to have a single transition child with
322
+ * content that you want to be transitioned out and in when you change it
323
+ * (e.g. routes, images etc.) In that case you can change the `key` prop of
324
+ * the transition child as you change its content, this will cause
325
+ * `TransitionGroup` to transition the child out and back in.
326
+ */
327
+ children: n.node,
328
+ /**
329
+ * A convenience prop that enables or disables appear animations
330
+ * for all children. Note that specifying this will override any defaults set
331
+ * on individual children Transitions.
332
+ */
333
+ appear: n.bool,
334
+ /**
335
+ * A convenience prop that enables or disables enter animations
336
+ * for all children. Note that specifying this will override any defaults set
337
+ * on individual children Transitions.
338
+ */
339
+ enter: n.bool,
340
+ /**
341
+ * A convenience prop that enables or disables exit animations
342
+ * for all children. Note that specifying this will override any defaults set
343
+ * on individual children Transitions.
344
+ */
345
+ exit: n.bool,
346
+ /**
347
+ * You may need to apply reactive updates to a child as it is exiting.
348
+ * This is generally done by using `cloneElement` however in the case of an exiting
349
+ * child the element has already been removed and not accessible to the consumer.
350
+ *
351
+ * If you do need to update a child as it leaves you can provide a `childFactory`
352
+ * to wrap every child, even the ones that are leaving.
353
+ *
354
+ * @type Function(child: ReactElement) -> ReactElement
355
+ */
356
+ childFactory: n.func
357
+ } : {};
358
+ yt.defaultProps = Me;
359
+ const Ee = [];
360
+ function Ie(t) {
361
+ c.useEffect(t, Ee);
362
+ }
363
+ class vt {
364
+ constructor() {
365
+ q(this, "currentId", null);
366
+ q(this, "clear", () => {
367
+ this.currentId !== null && (clearTimeout(this.currentId), this.currentId = null);
368
+ });
369
+ q(this, "disposeEffect", () => this.clear);
370
+ }
371
+ static create() {
372
+ return new vt();
373
+ }
374
+ /**
375
+ * Executes `fn` after `delay`, clearing any previously scheduled call.
376
+ */
377
+ start(e, o) {
378
+ this.clear(), this.currentId = setTimeout(() => {
379
+ this.currentId = null, o();
380
+ }, e);
381
+ }
382
+ }
383
+ function we() {
384
+ const t = zt(vt.create).current;
385
+ return Ie(t.disposeEffect), t;
386
+ }
387
+ function Ot(t) {
388
+ const {
389
+ className: e,
390
+ classes: o,
391
+ pulsate: r = !1,
392
+ rippleX: a,
393
+ rippleY: i,
394
+ rippleSize: s,
395
+ in: l,
396
+ onExited: p,
397
+ timeout: d
398
+ } = t, [h, g] = c.useState(!1), R = T(e, o.ripple, o.rippleVisible, r && o.ripplePulsate), v = {
399
+ width: s,
400
+ height: s,
401
+ top: -(s / 2) + i,
402
+ left: -(s / 2) + a
403
+ }, m = T(o.child, h && o.childLeaving, r && o.childPulsate);
404
+ return !l && !h && g(!0), c.useEffect(() => {
405
+ if (!l && p != null) {
406
+ const I = setTimeout(p, d);
407
+ return () => {
408
+ clearTimeout(I);
409
+ };
410
+ }
411
+ }, [p, l, d]), /* @__PURE__ */ C("span", {
412
+ className: R,
413
+ style: v,
414
+ children: /* @__PURE__ */ C("span", {
415
+ className: m
416
+ })
417
+ });
418
+ }
419
+ process.env.NODE_ENV !== "production" && (Ot.propTypes = {
420
+ /**
421
+ * Override or extend the styles applied to the component.
422
+ */
423
+ classes: n.object.isRequired,
424
+ className: n.string,
425
+ /**
426
+ * @ignore - injected from TransitionGroup
427
+ */
428
+ in: n.bool,
429
+ /**
430
+ * @ignore - injected from TransitionGroup
431
+ */
432
+ onExited: n.func,
433
+ /**
434
+ * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.
435
+ */
436
+ pulsate: n.bool,
437
+ /**
438
+ * Diameter of the ripple.
439
+ */
440
+ rippleSize: n.number,
441
+ /**
442
+ * Horizontal position of the ripple center.
443
+ */
444
+ rippleX: n.number,
445
+ /**
446
+ * Vertical position of the ripple center.
447
+ */
448
+ rippleY: n.number,
449
+ /**
450
+ * exit delay
451
+ */
452
+ timeout: n.number.isRequired
453
+ });
454
+ const O = at("MuiTouchRipple", ["root", "ripple", "rippleVisible", "ripplePulsate", "child", "childLeaving", "childPulsate"]), pt = 550, Te = 80, Be = Q`
455
+ 0% {
456
+ transform: scale(0);
457
+ opacity: 0.1;
458
+ }
459
+
460
+ 100% {
461
+ transform: scale(1);
462
+ opacity: 0.3;
463
+ }
464
+ `, $e = Q`
465
+ 0% {
466
+ opacity: 1;
467
+ }
468
+
469
+ 100% {
470
+ opacity: 0;
471
+ }
472
+ `, ze = Q`
473
+ 0% {
474
+ transform: scale(1);
475
+ }
476
+
477
+ 50% {
478
+ transform: scale(0.92);
479
+ }
480
+
481
+ 100% {
482
+ transform: scale(1);
483
+ }
484
+ `, Oe = B("span", {
485
+ name: "MuiTouchRipple",
486
+ slot: "Root"
487
+ })({
488
+ overflow: "hidden",
489
+ pointerEvents: "none",
490
+ position: "absolute",
491
+ zIndex: 0,
492
+ top: 0,
493
+ right: 0,
494
+ bottom: 0,
495
+ left: 0,
496
+ borderRadius: "inherit"
497
+ }), Ne = B(Ot, {
498
+ name: "MuiTouchRipple",
499
+ slot: "Ripple"
500
+ })`
501
+ opacity: 0;
502
+ position: absolute;
503
+
504
+ &.${O.rippleVisible} {
505
+ opacity: 0.3;
506
+ transform: scale(1);
507
+ animation-name: ${Be};
508
+ animation-duration: ${pt}ms;
509
+ animation-timing-function: ${({
510
+ theme: t
511
+ }) => t.transitions.easing.easeInOut};
512
+ }
513
+
514
+ &.${O.ripplePulsate} {
515
+ animation-duration: ${({
516
+ theme: t
517
+ }) => t.transitions.duration.shorter}ms;
518
+ }
519
+
520
+ & .${O.child} {
521
+ opacity: 1;
522
+ display: block;
523
+ width: 100%;
524
+ height: 100%;
525
+ border-radius: 50%;
526
+ background-color: currentColor;
527
+ }
528
+
529
+ & .${O.childLeaving} {
530
+ opacity: 0;
531
+ animation-name: ${$e};
532
+ animation-duration: ${pt}ms;
533
+ animation-timing-function: ${({
534
+ theme: t
535
+ }) => t.transitions.easing.easeInOut};
536
+ }
537
+
538
+ & .${O.childPulsate} {
539
+ position: absolute;
540
+ /* @noflip */
541
+ left: 0px;
542
+ top: 0;
543
+ animation-name: ${ze};
544
+ animation-duration: 2500ms;
545
+ animation-timing-function: ${({
546
+ theme: t
547
+ }) => t.transitions.easing.easeInOut};
548
+ animation-iteration-count: infinite;
549
+ animation-delay: 200ms;
550
+ }
551
+ `, Nt = /* @__PURE__ */ c.forwardRef(function(e, o) {
552
+ const r = st({
553
+ props: e,
554
+ name: "MuiTouchRipple"
555
+ }), {
556
+ center: a = !1,
557
+ classes: i = {},
558
+ className: s,
559
+ ...l
560
+ } = r, [p, d] = c.useState([]), h = c.useRef(0), g = c.useRef(null);
561
+ c.useEffect(() => {
562
+ g.current && (g.current(), g.current = null);
563
+ }, [p]);
564
+ const R = c.useRef(!1), v = we(), m = c.useRef(null), I = c.useRef(null), M = c.useCallback((f) => {
565
+ const {
566
+ pulsate: z,
567
+ rippleX: E,
568
+ rippleY: D,
569
+ rippleSize: V,
570
+ cb: _
571
+ } = f;
572
+ d((w) => [...w, /* @__PURE__ */ C(Ne, {
573
+ classes: {
574
+ ripple: T(i.ripple, O.ripple),
575
+ rippleVisible: T(i.rippleVisible, O.rippleVisible),
576
+ ripplePulsate: T(i.ripplePulsate, O.ripplePulsate),
577
+ child: T(i.child, O.child),
578
+ childLeaving: T(i.childLeaving, O.childLeaving),
579
+ childPulsate: T(i.childPulsate, O.childPulsate)
580
+ },
581
+ timeout: pt,
582
+ pulsate: z,
583
+ rippleX: E,
584
+ rippleY: D,
585
+ rippleSize: V
586
+ }, h.current)]), h.current += 1, g.current = _;
587
+ }, [i]), $ = c.useCallback((f = {}, z = {}, E = () => {
588
+ }) => {
589
+ const {
590
+ pulsate: D = !1,
591
+ center: V = a || z.pulsate,
592
+ fakeElement: _ = !1
593
+ // For test purposes
594
+ } = z;
595
+ if ((f == null ? void 0 : f.type) === "mousedown" && R.current) {
596
+ R.current = !1;
597
+ return;
598
+ }
599
+ (f == null ? void 0 : f.type) === "touchstart" && (R.current = !0);
600
+ const w = _ ? null : I.current, N = w ? w.getBoundingClientRect() : {
601
+ width: 0,
602
+ height: 0,
603
+ left: 0,
604
+ top: 0
605
+ };
606
+ let x, b, k;
607
+ if (V || f === void 0 || f.clientX === 0 && f.clientY === 0 || !f.clientX && !f.touches)
608
+ x = Math.round(N.width / 2), b = Math.round(N.height / 2);
609
+ else {
610
+ const {
611
+ clientX: A,
612
+ clientY: L
613
+ } = f.touches && f.touches.length > 0 ? f.touches[0] : f;
614
+ x = Math.round(A - N.left), b = Math.round(L - N.top);
615
+ }
616
+ if (V)
617
+ k = Math.sqrt((2 * N.width ** 2 + N.height ** 2) / 3), k % 2 === 0 && (k += 1);
618
+ else {
619
+ const A = Math.max(Math.abs((w ? w.clientWidth : 0) - x), x) * 2 + 2, L = Math.max(Math.abs((w ? w.clientHeight : 0) - b), b) * 2 + 2;
620
+ k = Math.sqrt(A ** 2 + L ** 2);
621
+ }
622
+ f != null && f.touches ? m.current === null && (m.current = () => {
623
+ M({
624
+ pulsate: D,
625
+ rippleX: x,
626
+ rippleY: b,
627
+ rippleSize: k,
628
+ cb: E
629
+ });
630
+ }, v.start(Te, () => {
631
+ m.current && (m.current(), m.current = null);
632
+ })) : M({
633
+ pulsate: D,
634
+ rippleX: x,
635
+ rippleY: b,
636
+ rippleSize: k,
637
+ cb: E
638
+ });
639
+ }, [a, M, v]), P = c.useCallback(() => {
640
+ $({}, {
641
+ pulsate: !0
642
+ });
643
+ }, [$]), W = c.useCallback((f, z) => {
644
+ if (v.clear(), (f == null ? void 0 : f.type) === "touchend" && m.current) {
645
+ m.current(), m.current = null, v.start(0, () => {
646
+ W(f, z);
647
+ });
648
+ return;
649
+ }
650
+ m.current = null, d((E) => E.length > 0 ? E.slice(1) : E), g.current = z;
651
+ }, [v]);
652
+ return c.useImperativeHandle(o, () => ({
653
+ pulsate: P,
654
+ start: $,
655
+ stop: W
656
+ }), [P, $, W]), /* @__PURE__ */ C(Oe, {
657
+ className: T(O.root, i.root, s),
658
+ ref: I,
659
+ ...l,
660
+ children: /* @__PURE__ */ C(yt, {
661
+ component: null,
662
+ exit: !0,
663
+ children: p
664
+ })
665
+ });
666
+ });
667
+ process.env.NODE_ENV !== "production" && (Nt.propTypes = {
668
+ /**
669
+ * If `true`, the ripple starts at the center of the component
670
+ * rather than at the point of interaction.
671
+ */
672
+ center: n.bool,
673
+ /**
674
+ * Override or extend the styles applied to the component.
675
+ */
676
+ classes: n.object,
677
+ /**
678
+ * @ignore
679
+ */
680
+ className: n.string
681
+ });
682
+ function ke(t) {
683
+ return mt("MuiButtonBase", t);
684
+ }
685
+ const De = at("MuiButtonBase", ["root", "disabled", "focusVisible"]), Ve = (t) => {
686
+ const {
687
+ disabled: e,
688
+ focusVisible: o,
689
+ focusVisibleClassName: r,
690
+ classes: a
691
+ } = t, s = ht({
692
+ root: ["root", e && "disabled", o && "focusVisible"]
693
+ }, ke, a);
694
+ return o && r && (s.root += ` ${r}`), s;
695
+ }, Le = B("button", {
696
+ name: "MuiButtonBase",
697
+ slot: "Root"
698
+ })({
699
+ display: "inline-flex",
700
+ alignItems: "center",
701
+ justifyContent: "center",
702
+ position: "relative",
703
+ boxSizing: "border-box",
704
+ WebkitTapHighlightColor: "transparent",
705
+ backgroundColor: "transparent",
706
+ // Reset default value
707
+ // We disable the focus ring for mouse, touch and keyboard users.
708
+ outline: 0,
709
+ border: 0,
710
+ margin: 0,
711
+ // Remove the margin in Safari
712
+ borderRadius: 0,
713
+ padding: 0,
714
+ // Remove the padding in Firefox
715
+ cursor: "pointer",
716
+ userSelect: "none",
717
+ verticalAlign: "middle",
718
+ MozAppearance: "none",
719
+ // Reset
720
+ WebkitAppearance: "none",
721
+ // Reset
722
+ textDecoration: "none",
723
+ // So we take precedent over the style of a native <a /> element.
724
+ color: "inherit",
725
+ "&::-moz-focus-inner": {
726
+ borderStyle: "none"
727
+ // Remove Firefox dotted outline.
728
+ },
729
+ [`&.${De.disabled}`]: {
730
+ pointerEvents: "none",
731
+ // Disable link interactions
732
+ cursor: "default"
733
+ },
734
+ "@media print": {
735
+ colorAdjust: "exact"
736
+ }
737
+ }), kt = /* @__PURE__ */ c.forwardRef(function(e, o) {
738
+ const r = st({
739
+ props: e,
740
+ name: "MuiButtonBase"
741
+ }), {
742
+ action: a,
743
+ centerRipple: i = !1,
744
+ children: s,
745
+ className: l,
746
+ component: p = "button",
747
+ disabled: d = !1,
748
+ disableRipple: h = !1,
749
+ disableTouchRipple: g = !1,
750
+ focusRipple: R = !1,
751
+ focusVisibleClassName: v,
752
+ LinkComponent: m = "a",
753
+ onBlur: I,
754
+ onClick: M,
755
+ onContextMenu: $,
756
+ onDragLeave: P,
757
+ onFocus: W,
758
+ onFocusVisible: f,
759
+ onKeyDown: z,
760
+ onKeyUp: E,
761
+ onMouseDown: D,
762
+ onMouseLeave: V,
763
+ onMouseUp: _,
764
+ onTouchEnd: w,
765
+ onTouchMove: N,
766
+ onTouchStart: x,
767
+ tabIndex: b = 0,
768
+ TouchRippleProps: k,
769
+ touchRippleRef: A,
770
+ type: L,
771
+ ...F
772
+ } = r, X = c.useRef(null), y = me(), Ft = Pt(y.ref, A), [Y, tt] = c.useState(!1);
773
+ d && Y && tt(!1), c.useImperativeHandle(a, () => ({
774
+ focusVisible: () => {
775
+ tt(!0), X.current.focus();
776
+ }
777
+ }), []);
778
+ const Ut = y.shouldMount && !h && !d;
779
+ c.useEffect(() => {
780
+ Y && R && !h && y.pulsate();
781
+ }, [h, R, Y, y]);
782
+ const _t = j(y, "start", D, g), At = j(y, "stop", $, g), Yt = j(y, "stop", P, g), Gt = j(y, "stop", _, g), Kt = j(y, "stop", (u) => {
783
+ Y && u.preventDefault(), V && V(u);
784
+ }, g), Xt = j(y, "start", x, g), Ht = j(y, "stop", w, g), qt = j(y, "stop", N, g), Zt = j(y, "stop", (u) => {
785
+ Mt(u.target) || tt(!1), I && I(u);
786
+ }, !1), Jt = rt((u) => {
787
+ X.current || (X.current = u.currentTarget), Mt(u.target) && (tt(!0), f && f(u)), W && W(u);
788
+ }), lt = () => {
789
+ const u = X.current;
790
+ return p && p !== "button" && !(u.tagName === "A" && u.href);
791
+ }, Qt = rt((u) => {
792
+ R && !u.repeat && Y && u.key === " " && y.stop(u, () => {
793
+ y.start(u);
794
+ }), u.target === u.currentTarget && lt() && u.key === " " && u.preventDefault(), z && z(u), u.target === u.currentTarget && lt() && u.key === "Enter" && !d && (u.preventDefault(), M && M(u));
795
+ }), te = rt((u) => {
796
+ R && u.key === " " && Y && !u.defaultPrevented && y.stop(u, () => {
797
+ y.pulsate(u);
798
+ }), E && E(u), M && u.target === u.currentTarget && lt() && u.key === " " && !u.defaultPrevented && M(u);
799
+ });
800
+ let et = p;
801
+ et === "button" && (F.href || F.to) && (et = m);
802
+ const H = {};
803
+ et === "button" ? (H.type = L === void 0 ? "button" : L, H.disabled = d) : (!F.href && !F.to && (H.role = "button"), d && (H["aria-disabled"] = d));
804
+ const ee = Pt(o, X), St = {
805
+ ...r,
806
+ centerRipple: i,
807
+ component: p,
808
+ disabled: d,
809
+ disableRipple: h,
810
+ disableTouchRipple: g,
811
+ focusRipple: R,
812
+ tabIndex: b,
813
+ focusVisible: Y
814
+ }, ne = Ve(St);
815
+ return /* @__PURE__ */ Tt(Le, {
816
+ as: et,
817
+ className: T(ne.root, l),
818
+ ownerState: St,
819
+ onBlur: Zt,
820
+ onClick: M,
821
+ onContextMenu: At,
822
+ onFocus: Jt,
823
+ onKeyDown: Qt,
824
+ onKeyUp: te,
825
+ onMouseDown: _t,
826
+ onMouseLeave: Kt,
827
+ onMouseUp: Gt,
828
+ onDragLeave: Yt,
829
+ onTouchEnd: Ht,
830
+ onTouchMove: qt,
831
+ onTouchStart: Xt,
832
+ ref: ee,
833
+ tabIndex: d ? -1 : b,
834
+ type: L,
835
+ ...H,
836
+ ...F,
837
+ children: [s, Ut ? /* @__PURE__ */ C(Nt, {
838
+ ref: Ft,
839
+ center: i,
840
+ ...k
841
+ }) : null]
842
+ });
843
+ });
844
+ function j(t, e, o, r = !1) {
845
+ return rt((a) => (o && o(a), r || t[e](a), !0));
846
+ }
847
+ process.env.NODE_ENV !== "production" && (kt.propTypes = {
848
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
849
+ // │ These PropTypes are generated from the TypeScript type definitions. │
850
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
851
+ // └─────────────────────────────────────────────────────────────────────┘
852
+ /**
853
+ * A ref for imperative actions.
854
+ * It currently only supports `focusVisible()` action.
855
+ */
856
+ action: de,
857
+ /**
858
+ * If `true`, the ripples are centered.
859
+ * They won't start at the cursor interaction position.
860
+ * @default false
861
+ */
862
+ centerRipple: n.bool,
863
+ /**
864
+ * The content of the component.
865
+ */
866
+ children: n.node,
867
+ /**
868
+ * Override or extend the styles applied to the component.
869
+ */
870
+ classes: n.object,
871
+ /**
872
+ * @ignore
873
+ */
874
+ className: n.string,
875
+ /**
876
+ * The component used for the root node.
877
+ * Either a string to use a HTML element or a component.
878
+ */
879
+ component: ge,
880
+ /**
881
+ * If `true`, the component is disabled.
882
+ * @default false
883
+ */
884
+ disabled: n.bool,
885
+ /**
886
+ * If `true`, the ripple effect is disabled.
887
+ *
888
+ * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
889
+ * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
890
+ * @default false
891
+ */
892
+ disableRipple: n.bool,
893
+ /**
894
+ * If `true`, the touch ripple effect is disabled.
895
+ * @default false
896
+ */
897
+ disableTouchRipple: n.bool,
898
+ /**
899
+ * If `true`, the base button will have a keyboard focus ripple.
900
+ * @default false
901
+ */
902
+ focusRipple: n.bool,
903
+ /**
904
+ * This prop can help identify which element has keyboard focus.
905
+ * The class name will be applied when the element gains the focus through keyboard interaction.
906
+ * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).
907
+ * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).
908
+ * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components
909
+ * if needed.
910
+ */
911
+ focusVisibleClassName: n.string,
912
+ /**
913
+ * @ignore
914
+ */
915
+ href: n.any,
916
+ /**
917
+ * The component used to render a link when the `href` prop is provided.
918
+ * @default 'a'
919
+ */
920
+ LinkComponent: n.elementType,
921
+ /**
922
+ * @ignore
923
+ */
924
+ onBlur: n.func,
925
+ /**
926
+ * @ignore
927
+ */
928
+ onClick: n.func,
929
+ /**
930
+ * @ignore
931
+ */
932
+ onContextMenu: n.func,
933
+ /**
934
+ * @ignore
935
+ */
936
+ onDragLeave: n.func,
937
+ /**
938
+ * @ignore
939
+ */
940
+ onFocus: n.func,
941
+ /**
942
+ * Callback fired when the component is focused with a keyboard.
943
+ * We trigger a `onFocus` callback too.
944
+ */
945
+ onFocusVisible: n.func,
946
+ /**
947
+ * @ignore
948
+ */
949
+ onKeyDown: n.func,
950
+ /**
951
+ * @ignore
952
+ */
953
+ onKeyUp: n.func,
954
+ /**
955
+ * @ignore
956
+ */
957
+ onMouseDown: n.func,
958
+ /**
959
+ * @ignore
960
+ */
961
+ onMouseLeave: n.func,
962
+ /**
963
+ * @ignore
964
+ */
965
+ onMouseUp: n.func,
966
+ /**
967
+ * @ignore
968
+ */
969
+ onTouchEnd: n.func,
970
+ /**
971
+ * @ignore
972
+ */
973
+ onTouchMove: n.func,
974
+ /**
975
+ * @ignore
976
+ */
977
+ onTouchStart: n.func,
978
+ /**
979
+ * The system prop that allows defining system overrides as well as additional CSS styles.
980
+ */
981
+ sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
982
+ /**
983
+ * @default 0
984
+ */
985
+ tabIndex: n.number,
986
+ /**
987
+ * Props applied to the `TouchRipple` element.
988
+ */
989
+ TouchRippleProps: n.object,
990
+ /**
991
+ * A ref that points to the `TouchRipple` element.
992
+ */
993
+ touchRippleRef: n.oneOfType([n.func, n.shape({
994
+ current: n.shape({
995
+ pulsate: n.func.isRequired,
996
+ start: n.func.isRequired,
997
+ stop: n.func.isRequired
998
+ })
999
+ })]),
1000
+ /**
1001
+ * @ignore
1002
+ */
1003
+ type: n.oneOfType([n.oneOf(["button", "reset", "submit"]), n.string])
1004
+ });
1005
+ function je(t) {
1006
+ return typeof t.main == "string";
1007
+ }
1008
+ function We(t, e = []) {
1009
+ if (!je(t))
1010
+ return !1;
1011
+ for (const o of e)
1012
+ if (!t.hasOwnProperty(o) || typeof t[o] != "string")
1013
+ return !1;
1014
+ return !0;
1015
+ }
1016
+ function Dt(t = []) {
1017
+ return ([, e]) => e && We(e, t);
1018
+ }
1019
+ function Fe(t) {
1020
+ return mt("MuiCircularProgress", t);
1021
+ }
1022
+ at("MuiCircularProgress", ["root", "determinate", "indeterminate", "colorPrimary", "colorSecondary", "svg", "circle", "circleDeterminate", "circleIndeterminate", "circleDisableShrink"]);
1023
+ const U = 44, dt = Q`
1024
+ 0% {
1025
+ transform: rotate(0deg);
1026
+ }
1027
+
1028
+ 100% {
1029
+ transform: rotate(360deg);
1030
+ }
1031
+ `, ft = Q`
1032
+ 0% {
1033
+ stroke-dasharray: 1px, 200px;
1034
+ stroke-dashoffset: 0;
1035
+ }
1036
+
1037
+ 50% {
1038
+ stroke-dasharray: 100px, 200px;
1039
+ stroke-dashoffset: -15px;
1040
+ }
1041
+
1042
+ 100% {
1043
+ stroke-dasharray: 1px, 200px;
1044
+ stroke-dashoffset: -126px;
1045
+ }
1046
+ `, Ue = typeof dt != "string" ? Bt`
1047
+ animation: ${dt} 1.4s linear infinite;
1048
+ ` : null, _e = typeof ft != "string" ? Bt`
1049
+ animation: ${ft} 1.4s ease-in-out infinite;
1050
+ ` : null, Ae = (t) => {
1051
+ const {
1052
+ classes: e,
1053
+ variant: o,
1054
+ color: r,
1055
+ disableShrink: a
1056
+ } = t, i = {
1057
+ root: ["root", o, `color${S(r)}`],
1058
+ svg: ["svg"],
1059
+ circle: ["circle", `circle${S(o)}`, a && "circleDisableShrink"]
1060
+ };
1061
+ return ht(i, Fe, e);
1062
+ }, Ye = B("span", {
1063
+ name: "MuiCircularProgress",
1064
+ slot: "Root",
1065
+ overridesResolver: (t, e) => {
1066
+ const {
1067
+ ownerState: o
1068
+ } = t;
1069
+ return [e.root, e[o.variant], e[`color${S(o.color)}`]];
1070
+ }
1071
+ })(gt(({
1072
+ theme: t
1073
+ }) => ({
1074
+ display: "inline-block",
1075
+ variants: [{
1076
+ props: {
1077
+ variant: "determinate"
1078
+ },
1079
+ style: {
1080
+ transition: t.transitions.create("transform")
1081
+ }
1082
+ }, {
1083
+ props: {
1084
+ variant: "indeterminate"
1085
+ },
1086
+ style: Ue || {
1087
+ animation: `${dt} 1.4s linear infinite`
1088
+ }
1089
+ }, ...Object.entries(t.palette).filter(Dt()).map(([e]) => ({
1090
+ props: {
1091
+ color: e
1092
+ },
1093
+ style: {
1094
+ color: (t.vars || t).palette[e].main
1095
+ }
1096
+ }))]
1097
+ }))), Ge = B("svg", {
1098
+ name: "MuiCircularProgress",
1099
+ slot: "Svg"
1100
+ })({
1101
+ display: "block"
1102
+ // Keeps the progress centered
1103
+ }), Ke = B("circle", {
1104
+ name: "MuiCircularProgress",
1105
+ slot: "Circle",
1106
+ overridesResolver: (t, e) => {
1107
+ const {
1108
+ ownerState: o
1109
+ } = t;
1110
+ return [e.circle, e[`circle${S(o.variant)}`], o.disableShrink && e.circleDisableShrink];
1111
+ }
1112
+ })(gt(({
1113
+ theme: t
1114
+ }) => ({
1115
+ stroke: "currentColor",
1116
+ variants: [{
1117
+ props: {
1118
+ variant: "determinate"
1119
+ },
1120
+ style: {
1121
+ transition: t.transitions.create("stroke-dashoffset")
1122
+ }
1123
+ }, {
1124
+ props: {
1125
+ variant: "indeterminate"
1126
+ },
1127
+ style: {
1128
+ // Some default value that looks fine waiting for the animation to kicks in.
1129
+ strokeDasharray: "80px, 200px",
1130
+ strokeDashoffset: 0
1131
+ // Add the unit to fix a Edge 16 and below bug.
1132
+ }
1133
+ }, {
1134
+ props: ({
1135
+ ownerState: e
1136
+ }) => e.variant === "indeterminate" && !e.disableShrink,
1137
+ style: _e || {
1138
+ // At runtime for Pigment CSS, `bufferAnimation` will be null and the generated keyframe will be used.
1139
+ animation: `${ft} 1.4s ease-in-out infinite`
1140
+ }
1141
+ }]
1142
+ }))), Vt = /* @__PURE__ */ c.forwardRef(function(e, o) {
1143
+ const r = st({
1144
+ props: e,
1145
+ name: "MuiCircularProgress"
1146
+ }), {
1147
+ className: a,
1148
+ color: i = "primary",
1149
+ disableShrink: s = !1,
1150
+ size: l = 40,
1151
+ style: p,
1152
+ thickness: d = 3.6,
1153
+ value: h = 0,
1154
+ variant: g = "indeterminate",
1155
+ ...R
1156
+ } = r, v = {
1157
+ ...r,
1158
+ color: i,
1159
+ disableShrink: s,
1160
+ size: l,
1161
+ thickness: d,
1162
+ value: h,
1163
+ variant: g
1164
+ }, m = Ae(v), I = {}, M = {}, $ = {};
1165
+ if (g === "determinate") {
1166
+ const P = 2 * Math.PI * ((U - d) / 2);
1167
+ I.strokeDasharray = P.toFixed(3), $["aria-valuenow"] = Math.round(h), I.strokeDashoffset = `${((100 - h) / 100 * P).toFixed(3)}px`, M.transform = "rotate(-90deg)";
1168
+ }
1169
+ return /* @__PURE__ */ C(Ye, {
1170
+ className: T(m.root, a),
1171
+ style: {
1172
+ width: l,
1173
+ height: l,
1174
+ ...M,
1175
+ ...p
1176
+ },
1177
+ ownerState: v,
1178
+ ref: o,
1179
+ role: "progressbar",
1180
+ ...$,
1181
+ ...R,
1182
+ children: /* @__PURE__ */ C(Ge, {
1183
+ className: m.svg,
1184
+ ownerState: v,
1185
+ viewBox: `${U / 2} ${U / 2} ${U} ${U}`,
1186
+ children: /* @__PURE__ */ C(Ke, {
1187
+ className: m.circle,
1188
+ style: I,
1189
+ ownerState: v,
1190
+ cx: U,
1191
+ cy: U,
1192
+ r: (U - d) / 2,
1193
+ fill: "none",
1194
+ strokeWidth: d
1195
+ })
1196
+ })
1197
+ });
1198
+ });
1199
+ process.env.NODE_ENV !== "production" && (Vt.propTypes = {
1200
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1201
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1202
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1203
+ // └─────────────────────────────────────────────────────────────────────┘
1204
+ /**
1205
+ * Override or extend the styles applied to the component.
1206
+ */
1207
+ classes: n.object,
1208
+ /**
1209
+ * @ignore
1210
+ */
1211
+ className: n.string,
1212
+ /**
1213
+ * The color of the component.
1214
+ * It supports both default and custom theme colors, which can be added as shown in the
1215
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
1216
+ * @default 'primary'
1217
+ */
1218
+ color: n.oneOfType([n.oneOf(["inherit", "primary", "secondary", "error", "info", "success", "warning"]), n.string]),
1219
+ /**
1220
+ * If `true`, the shrink animation is disabled.
1221
+ * This only works if variant is `indeterminate`.
1222
+ * @default false
1223
+ */
1224
+ disableShrink: $t(n.bool, (t) => t.disableShrink && t.variant && t.variant !== "indeterminate" ? new Error("MUI: You have provided the `disableShrink` prop with a variant other than `indeterminate`. This will have no effect.") : null),
1225
+ /**
1226
+ * The size of the component.
1227
+ * If using a number, the pixel unit is assumed.
1228
+ * If using a string, you need to provide the CSS unit, for example '3rem'.
1229
+ * @default 40
1230
+ */
1231
+ size: n.oneOfType([n.number, n.string]),
1232
+ /**
1233
+ * @ignore
1234
+ */
1235
+ style: n.object,
1236
+ /**
1237
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1238
+ */
1239
+ sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
1240
+ /**
1241
+ * The thickness of the circle.
1242
+ * @default 3.6
1243
+ */
1244
+ thickness: n.number,
1245
+ /**
1246
+ * The value of the progress indicator for the determinate variant.
1247
+ * Value between 0 and 100.
1248
+ * @default 0
1249
+ */
1250
+ value: n.number,
1251
+ /**
1252
+ * The variant to use.
1253
+ * Use indeterminate when there is no progress value.
1254
+ * @default 'indeterminate'
1255
+ */
1256
+ variant: n.oneOf(["determinate", "indeterminate"])
1257
+ });
1258
+ function Xe(t) {
1259
+ return mt("MuiButton", t);
1260
+ }
1261
+ const G = at("MuiButton", ["root", "text", "textInherit", "textPrimary", "textSecondary", "textSuccess", "textError", "textInfo", "textWarning", "outlined", "outlinedInherit", "outlinedPrimary", "outlinedSecondary", "outlinedSuccess", "outlinedError", "outlinedInfo", "outlinedWarning", "contained", "containedInherit", "containedPrimary", "containedSecondary", "containedSuccess", "containedError", "containedInfo", "containedWarning", "disableElevation", "focusVisible", "disabled", "colorInherit", "colorPrimary", "colorSecondary", "colorSuccess", "colorError", "colorInfo", "colorWarning", "textSizeSmall", "textSizeMedium", "textSizeLarge", "outlinedSizeSmall", "outlinedSizeMedium", "outlinedSizeLarge", "containedSizeSmall", "containedSizeMedium", "containedSizeLarge", "sizeMedium", "sizeSmall", "sizeLarge", "fullWidth", "startIcon", "endIcon", "icon", "iconSizeSmall", "iconSizeMedium", "iconSizeLarge", "loading", "loadingWrapper", "loadingIconPlaceholder", "loadingIndicator", "loadingPositionCenter", "loadingPositionStart", "loadingPositionEnd"]), Lt = /* @__PURE__ */ c.createContext({});
1262
+ process.env.NODE_ENV !== "production" && (Lt.displayName = "ButtonGroupContext");
1263
+ const jt = /* @__PURE__ */ c.createContext(void 0);
1264
+ process.env.NODE_ENV !== "production" && (jt.displayName = "ButtonGroupButtonContext");
1265
+ const He = (t) => {
1266
+ const {
1267
+ color: e,
1268
+ disableElevation: o,
1269
+ fullWidth: r,
1270
+ size: a,
1271
+ variant: i,
1272
+ loading: s,
1273
+ loadingPosition: l,
1274
+ classes: p
1275
+ } = t, d = {
1276
+ root: ["root", s && "loading", i, `${i}${S(e)}`, `size${S(a)}`, `${i}Size${S(a)}`, `color${S(e)}`, o && "disableElevation", r && "fullWidth", s && `loadingPosition${S(l)}`],
1277
+ startIcon: ["icon", "startIcon", `iconSize${S(a)}`],
1278
+ endIcon: ["icon", "endIcon", `iconSize${S(a)}`],
1279
+ loadingIndicator: ["loadingIndicator"],
1280
+ loadingWrapper: ["loadingWrapper"]
1281
+ }, h = ht(d, Xe, p);
1282
+ return {
1283
+ ...p,
1284
+ // forward the focused, disabled, etc. classes to the ButtonBase
1285
+ ...h
1286
+ };
1287
+ }, Wt = [{
1288
+ props: {
1289
+ size: "small"
1290
+ },
1291
+ style: {
1292
+ "& > *:nth-of-type(1)": {
1293
+ fontSize: 18
1294
+ }
1295
+ }
1296
+ }, {
1297
+ props: {
1298
+ size: "medium"
1299
+ },
1300
+ style: {
1301
+ "& > *:nth-of-type(1)": {
1302
+ fontSize: 20
1303
+ }
1304
+ }
1305
+ }, {
1306
+ props: {
1307
+ size: "large"
1308
+ },
1309
+ style: {
1310
+ "& > *:nth-of-type(1)": {
1311
+ fontSize: 22
1312
+ }
1313
+ }
1314
+ }], qe = B(kt, {
1315
+ shouldForwardProp: (t) => ae(t) || t === "classes",
1316
+ name: "MuiButton",
1317
+ slot: "Root",
1318
+ overridesResolver: (t, e) => {
1319
+ const {
1320
+ ownerState: o
1321
+ } = t;
1322
+ return [e.root, e[o.variant], e[`${o.variant}${S(o.color)}`], e[`size${S(o.size)}`], e[`${o.variant}Size${S(o.size)}`], o.color === "inherit" && e.colorInherit, o.disableElevation && e.disableElevation, o.fullWidth && e.fullWidth, o.loading && e.loading];
1323
+ }
1324
+ })(gt(({
1325
+ theme: t
1326
+ }) => {
1327
+ const e = t.palette.mode === "light" ? t.palette.grey[300] : t.palette.grey[800], o = t.palette.mode === "light" ? t.palette.grey.A100 : t.palette.grey[700];
1328
+ return {
1329
+ ...t.typography.button,
1330
+ minWidth: 64,
1331
+ padding: "6px 16px",
1332
+ border: 0,
1333
+ borderRadius: (t.vars || t).shape.borderRadius,
1334
+ transition: t.transitions.create(["background-color", "box-shadow", "border-color", "color"], {
1335
+ duration: t.transitions.duration.short
1336
+ }),
1337
+ "&:hover": {
1338
+ textDecoration: "none"
1339
+ },
1340
+ [`&.${G.disabled}`]: {
1341
+ color: (t.vars || t).palette.action.disabled
1342
+ },
1343
+ variants: [{
1344
+ props: {
1345
+ variant: "contained"
1346
+ },
1347
+ style: {
1348
+ color: "var(--variant-containedColor)",
1349
+ backgroundColor: "var(--variant-containedBg)",
1350
+ boxShadow: (t.vars || t).shadows[2],
1351
+ "&:hover": {
1352
+ boxShadow: (t.vars || t).shadows[4],
1353
+ // Reset on touch devices, it doesn't add specificity
1354
+ "@media (hover: none)": {
1355
+ boxShadow: (t.vars || t).shadows[2]
1356
+ }
1357
+ },
1358
+ "&:active": {
1359
+ boxShadow: (t.vars || t).shadows[8]
1360
+ },
1361
+ [`&.${G.focusVisible}`]: {
1362
+ boxShadow: (t.vars || t).shadows[6]
1363
+ },
1364
+ [`&.${G.disabled}`]: {
1365
+ color: (t.vars || t).palette.action.disabled,
1366
+ boxShadow: (t.vars || t).shadows[0],
1367
+ backgroundColor: (t.vars || t).palette.action.disabledBackground
1368
+ }
1369
+ }
1370
+ }, {
1371
+ props: {
1372
+ variant: "outlined"
1373
+ },
1374
+ style: {
1375
+ padding: "5px 15px",
1376
+ border: "1px solid currentColor",
1377
+ borderColor: "var(--variant-outlinedBorder, currentColor)",
1378
+ backgroundColor: "var(--variant-outlinedBg)",
1379
+ color: "var(--variant-outlinedColor)",
1380
+ [`&.${G.disabled}`]: {
1381
+ border: `1px solid ${(t.vars || t).palette.action.disabledBackground}`
1382
+ }
1383
+ }
1384
+ }, {
1385
+ props: {
1386
+ variant: "text"
1387
+ },
1388
+ style: {
1389
+ padding: "6px 8px",
1390
+ color: "var(--variant-textColor)",
1391
+ backgroundColor: "var(--variant-textBg)"
1392
+ }
1393
+ }, ...Object.entries(t.palette).filter(Dt()).map(([r]) => ({
1394
+ props: {
1395
+ color: r
1396
+ },
1397
+ style: {
1398
+ "--variant-textColor": (t.vars || t).palette[r].main,
1399
+ "--variant-outlinedColor": (t.vars || t).palette[r].main,
1400
+ "--variant-outlinedBorder": t.vars ? `rgba(${t.vars.palette[r].mainChannel} / 0.5)` : Z(t.palette[r].main, 0.5),
1401
+ "--variant-containedColor": (t.vars || t).palette[r].contrastText,
1402
+ "--variant-containedBg": (t.vars || t).palette[r].main,
1403
+ "@media (hover: hover)": {
1404
+ "&:hover": {
1405
+ "--variant-containedBg": (t.vars || t).palette[r].dark,
1406
+ "--variant-textBg": t.vars ? `rgba(${t.vars.palette[r].mainChannel} / ${t.vars.palette.action.hoverOpacity})` : Z(t.palette[r].main, t.palette.action.hoverOpacity),
1407
+ "--variant-outlinedBorder": (t.vars || t).palette[r].main,
1408
+ "--variant-outlinedBg": t.vars ? `rgba(${t.vars.palette[r].mainChannel} / ${t.vars.palette.action.hoverOpacity})` : Z(t.palette[r].main, t.palette.action.hoverOpacity)
1409
+ }
1410
+ }
1411
+ }
1412
+ })), {
1413
+ props: {
1414
+ color: "inherit"
1415
+ },
1416
+ style: {
1417
+ color: "inherit",
1418
+ borderColor: "currentColor",
1419
+ "--variant-containedBg": t.vars ? t.vars.palette.Button.inheritContainedBg : e,
1420
+ "@media (hover: hover)": {
1421
+ "&:hover": {
1422
+ "--variant-containedBg": t.vars ? t.vars.palette.Button.inheritContainedHoverBg : o,
1423
+ "--variant-textBg": t.vars ? `rgba(${t.vars.palette.text.primaryChannel} / ${t.vars.palette.action.hoverOpacity})` : Z(t.palette.text.primary, t.palette.action.hoverOpacity),
1424
+ "--variant-outlinedBg": t.vars ? `rgba(${t.vars.palette.text.primaryChannel} / ${t.vars.palette.action.hoverOpacity})` : Z(t.palette.text.primary, t.palette.action.hoverOpacity)
1425
+ }
1426
+ }
1427
+ }
1428
+ }, {
1429
+ props: {
1430
+ size: "small",
1431
+ variant: "text"
1432
+ },
1433
+ style: {
1434
+ padding: "4px 5px",
1435
+ fontSize: t.typography.pxToRem(13)
1436
+ }
1437
+ }, {
1438
+ props: {
1439
+ size: "large",
1440
+ variant: "text"
1441
+ },
1442
+ style: {
1443
+ padding: "8px 11px",
1444
+ fontSize: t.typography.pxToRem(15)
1445
+ }
1446
+ }, {
1447
+ props: {
1448
+ size: "small",
1449
+ variant: "outlined"
1450
+ },
1451
+ style: {
1452
+ padding: "3px 9px",
1453
+ fontSize: t.typography.pxToRem(13)
1454
+ }
1455
+ }, {
1456
+ props: {
1457
+ size: "large",
1458
+ variant: "outlined"
1459
+ },
1460
+ style: {
1461
+ padding: "7px 21px",
1462
+ fontSize: t.typography.pxToRem(15)
1463
+ }
1464
+ }, {
1465
+ props: {
1466
+ size: "small",
1467
+ variant: "contained"
1468
+ },
1469
+ style: {
1470
+ padding: "4px 10px",
1471
+ fontSize: t.typography.pxToRem(13)
1472
+ }
1473
+ }, {
1474
+ props: {
1475
+ size: "large",
1476
+ variant: "contained"
1477
+ },
1478
+ style: {
1479
+ padding: "8px 22px",
1480
+ fontSize: t.typography.pxToRem(15)
1481
+ }
1482
+ }, {
1483
+ props: {
1484
+ disableElevation: !0
1485
+ },
1486
+ style: {
1487
+ boxShadow: "none",
1488
+ "&:hover": {
1489
+ boxShadow: "none"
1490
+ },
1491
+ [`&.${G.focusVisible}`]: {
1492
+ boxShadow: "none"
1493
+ },
1494
+ "&:active": {
1495
+ boxShadow: "none"
1496
+ },
1497
+ [`&.${G.disabled}`]: {
1498
+ boxShadow: "none"
1499
+ }
1500
+ }
1501
+ }, {
1502
+ props: {
1503
+ fullWidth: !0
1504
+ },
1505
+ style: {
1506
+ width: "100%"
1507
+ }
1508
+ }, {
1509
+ props: {
1510
+ loadingPosition: "center"
1511
+ },
1512
+ style: {
1513
+ transition: t.transitions.create(["background-color", "box-shadow", "border-color"], {
1514
+ duration: t.transitions.duration.short
1515
+ }),
1516
+ [`&.${G.loading}`]: {
1517
+ color: "transparent"
1518
+ }
1519
+ }
1520
+ }]
1521
+ };
1522
+ })), Ze = B("span", {
1523
+ name: "MuiButton",
1524
+ slot: "StartIcon",
1525
+ overridesResolver: (t, e) => {
1526
+ const {
1527
+ ownerState: o
1528
+ } = t;
1529
+ return [e.startIcon, o.loading && e.startIconLoadingStart, e[`iconSize${S(o.size)}`]];
1530
+ }
1531
+ })(({
1532
+ theme: t
1533
+ }) => ({
1534
+ display: "inherit",
1535
+ marginRight: 8,
1536
+ marginLeft: -4,
1537
+ variants: [{
1538
+ props: {
1539
+ size: "small"
1540
+ },
1541
+ style: {
1542
+ marginLeft: -2
1543
+ }
1544
+ }, {
1545
+ props: {
1546
+ loadingPosition: "start",
1547
+ loading: !0
1548
+ },
1549
+ style: {
1550
+ transition: t.transitions.create(["opacity"], {
1551
+ duration: t.transitions.duration.short
1552
+ }),
1553
+ opacity: 0
1554
+ }
1555
+ }, {
1556
+ props: {
1557
+ loadingPosition: "start",
1558
+ loading: !0,
1559
+ fullWidth: !0
1560
+ },
1561
+ style: {
1562
+ marginRight: -8
1563
+ }
1564
+ }, ...Wt]
1565
+ })), Je = B("span", {
1566
+ name: "MuiButton",
1567
+ slot: "EndIcon",
1568
+ overridesResolver: (t, e) => {
1569
+ const {
1570
+ ownerState: o
1571
+ } = t;
1572
+ return [e.endIcon, o.loading && e.endIconLoadingEnd, e[`iconSize${S(o.size)}`]];
1573
+ }
1574
+ })(({
1575
+ theme: t
1576
+ }) => ({
1577
+ display: "inherit",
1578
+ marginRight: -4,
1579
+ marginLeft: 8,
1580
+ variants: [{
1581
+ props: {
1582
+ size: "small"
1583
+ },
1584
+ style: {
1585
+ marginRight: -2
1586
+ }
1587
+ }, {
1588
+ props: {
1589
+ loadingPosition: "end",
1590
+ loading: !0
1591
+ },
1592
+ style: {
1593
+ transition: t.transitions.create(["opacity"], {
1594
+ duration: t.transitions.duration.short
1595
+ }),
1596
+ opacity: 0
1597
+ }
1598
+ }, {
1599
+ props: {
1600
+ loadingPosition: "end",
1601
+ loading: !0,
1602
+ fullWidth: !0
1603
+ },
1604
+ style: {
1605
+ marginLeft: -8
1606
+ }
1607
+ }, ...Wt]
1608
+ })), Qe = B("span", {
1609
+ name: "MuiButton",
1610
+ slot: "LoadingIndicator"
1611
+ })(({
1612
+ theme: t
1613
+ }) => ({
1614
+ display: "none",
1615
+ position: "absolute",
1616
+ visibility: "visible",
1617
+ variants: [{
1618
+ props: {
1619
+ loading: !0
1620
+ },
1621
+ style: {
1622
+ display: "flex"
1623
+ }
1624
+ }, {
1625
+ props: {
1626
+ loadingPosition: "start"
1627
+ },
1628
+ style: {
1629
+ left: 14
1630
+ }
1631
+ }, {
1632
+ props: {
1633
+ loadingPosition: "start",
1634
+ size: "small"
1635
+ },
1636
+ style: {
1637
+ left: 10
1638
+ }
1639
+ }, {
1640
+ props: {
1641
+ variant: "text",
1642
+ loadingPosition: "start"
1643
+ },
1644
+ style: {
1645
+ left: 6
1646
+ }
1647
+ }, {
1648
+ props: {
1649
+ loadingPosition: "center"
1650
+ },
1651
+ style: {
1652
+ left: "50%",
1653
+ transform: "translate(-50%)",
1654
+ color: (t.vars || t).palette.action.disabled
1655
+ }
1656
+ }, {
1657
+ props: {
1658
+ loadingPosition: "end"
1659
+ },
1660
+ style: {
1661
+ right: 14
1662
+ }
1663
+ }, {
1664
+ props: {
1665
+ loadingPosition: "end",
1666
+ size: "small"
1667
+ },
1668
+ style: {
1669
+ right: 10
1670
+ }
1671
+ }, {
1672
+ props: {
1673
+ variant: "text",
1674
+ loadingPosition: "end"
1675
+ },
1676
+ style: {
1677
+ right: 6
1678
+ }
1679
+ }, {
1680
+ props: {
1681
+ loadingPosition: "start",
1682
+ fullWidth: !0
1683
+ },
1684
+ style: {
1685
+ position: "relative",
1686
+ left: -10
1687
+ }
1688
+ }, {
1689
+ props: {
1690
+ loadingPosition: "end",
1691
+ fullWidth: !0
1692
+ },
1693
+ style: {
1694
+ position: "relative",
1695
+ right: -10
1696
+ }
1697
+ }]
1698
+ })), wt = B("span", {
1699
+ name: "MuiButton",
1700
+ slot: "LoadingIconPlaceholder"
1701
+ })({
1702
+ display: "inline-block",
1703
+ width: "1em",
1704
+ height: "1em"
1705
+ }), xt = /* @__PURE__ */ c.forwardRef(function(e, o) {
1706
+ const r = c.useContext(Lt), a = c.useContext(jt), i = ie(r, e), s = st({
1707
+ props: i,
1708
+ name: "MuiButton"
1709
+ }), {
1710
+ children: l,
1711
+ color: p = "primary",
1712
+ component: d = "button",
1713
+ className: h,
1714
+ disabled: g = !1,
1715
+ disableElevation: R = !1,
1716
+ disableFocusRipple: v = !1,
1717
+ endIcon: m,
1718
+ focusVisibleClassName: I,
1719
+ fullWidth: M = !1,
1720
+ id: $,
1721
+ loading: P = null,
1722
+ loadingIndicator: W,
1723
+ loadingPosition: f = "center",
1724
+ size: z = "medium",
1725
+ startIcon: E,
1726
+ type: D,
1727
+ variant: V = "text",
1728
+ ..._
1729
+ } = s, w = pe($), N = W ?? /* @__PURE__ */ C(Vt, {
1730
+ "aria-labelledby": w,
1731
+ color: "inherit",
1732
+ size: 16
1733
+ }), x = {
1734
+ ...s,
1735
+ color: p,
1736
+ component: d,
1737
+ disabled: g,
1738
+ disableElevation: R,
1739
+ disableFocusRipple: v,
1740
+ fullWidth: M,
1741
+ loading: P,
1742
+ loadingIndicator: N,
1743
+ loadingPosition: f,
1744
+ size: z,
1745
+ type: D,
1746
+ variant: V
1747
+ }, b = He(x), k = (E || P && f === "start") && /* @__PURE__ */ C(Ze, {
1748
+ className: b.startIcon,
1749
+ ownerState: x,
1750
+ children: E || /* @__PURE__ */ C(wt, {
1751
+ className: b.loadingIconPlaceholder,
1752
+ ownerState: x
1753
+ })
1754
+ }), A = (m || P && f === "end") && /* @__PURE__ */ C(Je, {
1755
+ className: b.endIcon,
1756
+ ownerState: x,
1757
+ children: m || /* @__PURE__ */ C(wt, {
1758
+ className: b.loadingIconPlaceholder,
1759
+ ownerState: x
1760
+ })
1761
+ }), L = a || "", F = typeof P == "boolean" ? (
1762
+ // use plain HTML span to minimize the runtime overhead
1763
+ /* @__PURE__ */ C("span", {
1764
+ className: b.loadingWrapper,
1765
+ style: {
1766
+ display: "contents"
1767
+ },
1768
+ children: P && /* @__PURE__ */ C(Qe, {
1769
+ className: b.loadingIndicator,
1770
+ ownerState: x,
1771
+ children: N
1772
+ })
1773
+ })
1774
+ ) : null;
1775
+ return /* @__PURE__ */ Tt(qe, {
1776
+ ownerState: x,
1777
+ className: T(r.className, b.root, h, L),
1778
+ component: d,
1779
+ disabled: g || P,
1780
+ focusRipple: !v,
1781
+ focusVisibleClassName: T(b.focusVisible, I),
1782
+ ref: o,
1783
+ type: D,
1784
+ id: P ? w : $,
1785
+ ..._,
1786
+ classes: b,
1787
+ children: [k, f !== "end" && F, l, f === "end" && F, A]
1788
+ });
1789
+ });
1790
+ process.env.NODE_ENV !== "production" && (xt.propTypes = {
1791
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1792
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1793
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1794
+ // └─────────────────────────────────────────────────────────────────────┘
1795
+ /**
1796
+ * The content of the component.
1797
+ */
1798
+ children: n.node,
1799
+ /**
1800
+ * Override or extend the styles applied to the component.
1801
+ */
1802
+ classes: n.object,
1803
+ /**
1804
+ * @ignore
1805
+ */
1806
+ className: n.string,
1807
+ /**
1808
+ * The color of the component.
1809
+ * It supports both default and custom theme colors, which can be added as shown in the
1810
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
1811
+ * @default 'primary'
1812
+ */
1813
+ color: n.oneOfType([n.oneOf(["inherit", "primary", "secondary", "success", "error", "info", "warning"]), n.string]),
1814
+ /**
1815
+ * The component used for the root node.
1816
+ * Either a string to use a HTML element or a component.
1817
+ */
1818
+ component: n.elementType,
1819
+ /**
1820
+ * If `true`, the component is disabled.
1821
+ * @default false
1822
+ */
1823
+ disabled: n.bool,
1824
+ /**
1825
+ * If `true`, no elevation is used.
1826
+ * @default false
1827
+ */
1828
+ disableElevation: n.bool,
1829
+ /**
1830
+ * If `true`, the keyboard focus ripple is disabled.
1831
+ * @default false
1832
+ */
1833
+ disableFocusRipple: n.bool,
1834
+ /**
1835
+ * If `true`, the ripple effect is disabled.
1836
+ *
1837
+ * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
1838
+ * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
1839
+ * @default false
1840
+ */
1841
+ disableRipple: n.bool,
1842
+ /**
1843
+ * Element placed after the children.
1844
+ */
1845
+ endIcon: n.node,
1846
+ /**
1847
+ * @ignore
1848
+ */
1849
+ focusVisibleClassName: n.string,
1850
+ /**
1851
+ * If `true`, the button will take up the full width of its container.
1852
+ * @default false
1853
+ */
1854
+ fullWidth: n.bool,
1855
+ /**
1856
+ * The URL to link to when the button is clicked.
1857
+ * If defined, an `a` element will be used as the root node.
1858
+ */
1859
+ href: n.string,
1860
+ /**
1861
+ * @ignore
1862
+ */
1863
+ id: n.string,
1864
+ /**
1865
+ * If `true`, the loading indicator is visible and the button is disabled.
1866
+ * If `true | false`, the loading wrapper is always rendered before the children to prevent [Google Translation Crash](https://github.com/mui/material-ui/issues/27853).
1867
+ * @default null
1868
+ */
1869
+ loading: n.bool,
1870
+ /**
1871
+ * Element placed before the children if the button is in loading state.
1872
+ * The node should contain an element with `role="progressbar"` with an accessible name.
1873
+ * By default, it renders a `CircularProgress` that is labeled by the button itself.
1874
+ * @default <CircularProgress color="inherit" size={16} />
1875
+ */
1876
+ loadingIndicator: n.node,
1877
+ /**
1878
+ * The loading indicator can be positioned on the start, end, or the center of the button.
1879
+ * @default 'center'
1880
+ */
1881
+ loadingPosition: n.oneOf(["center", "end", "start"]),
1882
+ /**
1883
+ * The size of the component.
1884
+ * `small` is equivalent to the dense button styling.
1885
+ * @default 'medium'
1886
+ */
1887
+ size: n.oneOfType([n.oneOf(["small", "medium", "large"]), n.string]),
1888
+ /**
1889
+ * Element placed before the children.
1890
+ */
1891
+ startIcon: n.node,
1892
+ /**
1893
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1894
+ */
1895
+ sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
1896
+ /**
1897
+ * @ignore
1898
+ */
1899
+ type: n.oneOfType([n.oneOf(["button", "reset", "submit"]), n.string]),
1900
+ /**
1901
+ * The variant to use.
1902
+ * @default 'text'
1903
+ */
1904
+ variant: n.oneOfType([n.oneOf(["contained", "outlined", "text"]), n.string])
1905
+ });
1906
+ const sn = B(xt)({
1907
+ textTransform: "none"
1908
+ }), ln = B(xt)({
1909
+ textTransform: "none",
1910
+ fontWeight: "bold",
1911
+ fontSize: "1.2rem",
1912
+ borderRadius: "10px"
1913
+ });
1914
+ export {
1915
+ sn as B,
1916
+ Vt as C,
1917
+ ln as L
1918
+ };